REST API - POST Storage Policy Copy

Updated

This operation creates a storage policy copy.

Request

Syntax

Send the request using either XML or JSON:

  • XML

    POST <webservice>/V2/StoragePolicy/{storagePolicyId}/Copy Host: <host name> Accept: application/xml Authtoken: <authentication token> Content-type: application/xml <create_storage_policy_copy.xml>

  • JSON

    POST <webservice>/V2/StoragePolicy/{storagePolicyId}/Copy Host: <host name> Accept: application/json Authtoken: <authentication token> Content-type: application/json <create_storage_policy_copy.json>

where <webservice> is the root path that routes the API requests to the Web Server.

For more information, see Available Web Services for REST API.

Request Body

Download the XML file that is required for this request: create_storage_policy_copy.xml. The following table displays the parameters for the request body. For more information, see Available XML Attributes for Storage Policy Copy Creation.

Name

Description

Element

Parent Element

copyName

The name of the storage policy copy.

App_CreateStoragePolicyCopyReq

storagePolicyId

The system generated ID assigned to the parent storage policy in which the copy must be created. To retrieve the ID, you can use the POST Storage Policy Copy API.

StoragePolicyCopy

App_CreateStoragePolicyCopyReq

storagePolicyName

The name of the parent storage policy in which the copy must be created. To retrieve the name, you can use the POST Storage Policy Copy API .

StoragePolicyCopy

App_CreateStoragePolicyCopyReq

libraryId

The system-generated ID of the library. To retrieve the ID, you can use the GET Library API .

library

StoragePolicyCopy

libraryName

The name of the library. To retrieve the name, you can use the GET Library API.

library

StoragePolicyCopy

mediaAgentId

The system-generated ID of the MediaAgent that is associated with the storage policy copy. To retrieve the ID, you can use GET MediaAgent API.

mediaAgent

storagePolicyCopy

mediaAgentName

The name of the MediaAgent. To retrieve the name, you can use GET MediaAgent API.

mediaAgent

storagePolicyCopy

Request Headers

Name

Description

Host

The host name of the Web Server or the Web Console that is used in the API request.

Accept

The format of the response. Valid values are: application/xml or application/json.

Authtoken

The authentication token that you receive after successfully logging on. For information about receiving an authentication token, see Authentication.

Content-type

The media type that is contained in the request body.

Response

Response Parameters

Parameter

Description

Element

responseType

App_CreateStoragePolicyResp

_type_

archiveGroupCopy

copyId

The system-generated ID of the copy.

archiveGroupCopy

copyName

The name of the storage policy copy.

archiveGroupCopy

storagePolicyId

The system-generated ID of the storage policy.

archiveGroupCopy

storagePolicyName

The name of the storage policy.

archiveGroupCopy

errorCode

The possible error codes.

Valid values are:

  • 0, a successful completion.

  • 1, a failure.

  • a specific error code.

error

Examples

Sample Request

This request creates a storage policy copy.

XML

POST <webservice>/V2/StoragePolicy/704/Copy HTTP/1.1
 Host: client.mydomain.com
 Accept: application/xml
 Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
 0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
 8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
 40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
 68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
 3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
 Content-type: application/xml
 <App_CreateStoragePolicyCopyReq copyName="SP1">
  <storagePolicyCopyInfo active="1" deferAuxiliaryCopyDays="0" hardWareCompression="0" isDefault="0">
  <StoragePolicyCopy _type_="" copyId="" copyName="SP_Try" storagePolicyId="704" storagePolicyName="SP_01"/>
  <copyFlags autoAddDataPaths="2" auxCopyReencryptData="2" combineStreams="2" demultiplexOnCopy="2" enableMediaRefresh="2" enableParallelCopy="2" inlineAuxCopy="2" markMediaToBeErasedAfterRecycling="2" multiplexSourceStreams="2" noAuxCopyToSameLibrary="2" noInlineCopyToSameLibrary="2" roundRobbinDataPath="2" siloCopy="2" storeKeyOnMedia="2" switchIfBusy="2" switchIfOffline="2" useStreamsOverMultiplexing="2"/>
  <library _type_="9" libraryId="567" libraryName="maglib_01"/>
  <mediaAgent _type_="11" mediaAgentId="181" mediaAgentName="MA_01"/>
  <drivePool _type_="47" drivePoolName="" drivePoolId="" libraryId="" libraryName=""/> 
  <spareMediaGroup _type_="67" libraryId="" libraryName="" spareMediaGroupName="" spareMediaGroupId=""/> 
  <retentionRules retainArchiverDataForDays="-1" retainBackupDataForCycles="-1" retainBackupDataForDays="-1"> <retentionFlags enableDataAging="2" enableManagedDiskSpace="2" extendedRetentionFirst="2" flagsMask="2" grcRemoteCopy="2" jobBasedRetention="2" retainFullAndLastDifferential="2" selectJobsFromPreviousTier="2"/><extendedRetentionRuleOne endDays="90" graceDays="0" isEnabled="2" rule="2"/> <extendedRetentionRuleTwo endDays="365" graceDays="1" isEnabled="2" rule="4"/> <extendedRetentionRuleThree endDays="1825" graceDays="2" isEnabled="2" rule="8"/> <financialCalendarXML calendarId="1" monthStartsOn="1" startingMonthOfYear="0"/> </retentionRules>
  <mediaProperties multiplexingFactor="1"> <mediaRefreshProperties percentage="51"> <refreshFlags enableMediaRetirementThreshold="2"/> <monthsAfterMediaWritten months="12"/> <monthsBeforeMediaAged months="3"/> </mediaRefreshProperties> </mediaProperties> <startTime TimeZoneID="0" _type_="55" time="0"/> 
  <sourceCopy _type_="" copyId="" copyName="" storagePolicyId="704" storagePolicyName=" SP_01"/>
 </storagePolicyCopyInfo>
  <useGlobalPolicy _type_="" storagePolicyId="" storagePolicyName=""/> </App_CreateStoragePolicyCopyReq>
    

JSON

POST <webservice>/V2/StoragePolicy/704/Copy HTTP/1.1
 Host: client.mydomain.com
 Accept: application/json
 Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
 0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
 8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
 40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
 68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
 3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
 Content-type: application/json
{"copyName":"SP1","filePath":"","generateXML":false,"storagePolicyCopyInfo":{"vFilerName":"","isSnapCopy":0,"provisioningPolicyName":"","isMirrorCopy":0,"hardWareCompression":0,"deferAuxiliaryCopyDays":0,"selectiveCopyRules":{"doNotAutomaticallySelectJobs":2},"spareMediaGroup":{"libraryName":"","spareMediaGroupName":""},"dataPathConfiguration":{"resourcesOfflineWaitTimeInHoursMinutes":{},"resourcesBusyWaitTimeInHoursMinutes":{}},"mediaProperties":{"multiplexingFactor":0,"mediaRefreshProperties":{"percentage":51,"monthsBeforeMediaAged":{"months":3},"refreshFlags":{"enableMediaRetirementThreshold":2},"monthsAfterMediaWritten":{"months":12}}},"sourceCopy":{"copyName":"","storagePolicyName":""},"dedupeFlags":{"minimumPartitionsToBeAvailableForJobsToRun":2,"enableDASHFull":2,"pauseAndRecoverCurrentDDB":2,"backupSiloEnabled":2,"enableSIDBArchive":2,"isSilosToBeKeptInCache":2,"enableSourceSideDiskCache":2,"useGlobalDedupStore":2,"temporarilyDisableDeduplication":2,"useDDBPrimingOption":2,"markClientCacheDbDirty":2,"enableSiloDiskSpaceManagement":2,"optimizeHighLatencyNetwork":2,"hostGlobalDedupStore":2,"automaticallyPauseAndRecoverDDB":2,"enableDeduplication":2,"enableClientSideDedup":2},"retentionRules":{"retainBackupDataForCycles":-1,"retainArchiverDataForDays":-1,"retainBackupDataForDays":-1,"extendedRetentionRuleOne":{"graceDays":0,"isEnabled":2,"rule":2,"endDays":90},"extendedRetentionRuleThree":{"graceDays":2,"isEnabled":2,"rule":8,"endDays":1825},"financialCalendarXML":{"monthStartsOn":1,"calendarId":1,"startingMonthOfYear":0,"weekStartsOn":5},"retentionFlags":{"retainFullAndLastDifferential":2,"selectJobsFromPreviousTier":2,"flagsMask":2,"enableDataAging":2,"jobBasedRetention":2,"grcRemoteCopy":2,"extendedRetentionFirst":2,"enableManagedDiskSpace":2},"extendedRetentionRuleTwo":{"graceDays":1,"isEnabled":2,"rule":4,"endDays":365}},"DDBPartitionInfo":{"maInfoList":[{"mediaAgent":{"mediaAgentName":""},"subStoreList":[{"diskFreeWarningThreshholdMB":10240,"diskFreeThresholdMB":5120,"accessPath":{"path":""}}]}],"sidbStoreInfo":{"numberOfSilosToBeKeptInCache":1,"copyName":"","enableNumberOfSilosToBeKeptInCache":2,"operation":1,"destinationClientForSiloRestores":{"mediaAgentName":""},"sidbStoreFlags":{"enableSoftwareCompression":2},"mediaAgentForSiloRestores":{"mediaAgentName":""}}},"StoragePolicyCopy":{"storagePolicyName":"53274_sp"},"extendedFlags":{"chunkLevelAuxCopy":2,"dynamicStreamAllocation":2,"secondarySiloCopy":2},"associations":{},"drivePool":{"libraryName":"","drivePoolName":""},"copyFlags":{"wormCopy":2,"enableMediaRefresh":2,"archiveCheckAll":2,"inlineAuxCopy":2,"noAuxCopyToSameLibrary":2,"sourceCopyForSnapToTape":2,"enableLanFreeReservationOnly":2,"roundRobbinDataPath":2,"lastFullWait":2,"useDirectAttachedNASDrivePool":2,"enableParallelCopy":2,"demultiplexOnCopy":2,"combineStreams":2,"switchIfOffline":2,"auxCopyReencryptData":2,"switchIfBusy":2,"useStreamsOverMultiplexing":2,"deleteCopyAfterJobsAreDeleted":2,"storeKeyOnMedia":2,"multiplexSourceStreams":2,"archiveCheckBitmap":2,"siloCopy":2,"autoAddDataPaths":2,"lastFull":2,"markMediaToBeErasedAfterRecycling":2,"archiveCheckFull":2,"noInlineCopyToSameLibrary":2,"useHardwareSnapshot":2},"library":{"libraryName":"new_auto"},"resourcePoolsList":[{"operation":1,"resourcePoolName":""}],"startTime":{"timeValue":""},"dataEncryption":{"encryptData":2,"keyProviderName":""},"createNewDDBOptions":{"months":1,"createNewDDBeveryXmonths":2,"days":30,"createNewDDBeveryXdays":2,"createNewDDBeveryXtb":2,"tb":100,"startingFromDate":{"timeValue":""}},"auxCopyFallenBehind":{"enableToBeCopiedDataTB":25,"enableAuxCopyFallenBehindAlert":1,"enableDaysOldJobs":2,"enableHoursToCopyData":2},"mediaAgent":{"mediaAgentName":"autov11ma"},"dataVerification":{"allFullJobs":2,"allJobs":2,"jobsOnOrAfterDate":{"timeValue":""}},"useGlobalPolicy":{"storagePolicyName":""}}}
    

Sample Response

XML

?xml version="1.0" encoding="UTF-8" standalone="no" ?>
  <App_CreateStoragePolicyCopyResp isAuxCopyScheduleAvailable="0"><archiveGroupCopy _type_="18" copyId="887" copyName="Copy1"/> <error errorCode="0"/>
 </App_CreateStoragePolicyCopyResp>
    

JSON

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<App_CreateStoragePolicyCopyResp isAuxCopyScheduleAvailable="0">
    <archiveGroupCopy _type_="18" copyId="2080" copyName="Copy1"/>
    <error errorCode="0"/>
</App_CreateStoragePolicyCopyResp>