Introduction
The IBM Cloud Backup and Recovery API is a REST-based API to back up either application-consistent workloads. It uses IBM Cloud® Identity and Access Management for authentication/authorization.
For details about using IBM Cloud Backup and Recovery, see the IBM Cloud docs.
IBM Cloud Backup and Recovery is a regional service. The location of data is determined by the region where the instance is created, and subsequent requests to that instance must be sent to the corresponding instance service endpoint. For more details about selecting endpoints for IBM Cloud Backup and Recovery, see the IBM Cloud docs.
Go developers can use this SDK to interact with IBM Cloud Backup and Recovery. For more information, see the Go SDK API Reference.
The Backup and Recovery service uses standard HTTP response codes to indicate if a method completes successfully. A 2xx
response always indicates success. A 4xx
type response is some sort of failure, and a 5xx
type response usually indicates an internal system error.
For more details about response codes for Backup and Recovery, see the IBM Cloud docs.
The code examples on this tab use the client library that is provided for Go.
go get -u github.com/IBM/ibm-backup-recovery-sdk-go
GitHub
Methods
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies agent details
Specifies the platform for which agent needs to be downloaded
Allowable values: [
kWindows
,kLinux
]Linux agent parameters
linuxAgentParams := &backupRecovery.LinuxAgentParams{ PackageType: core.StringPtr("kRPm"), } downloadAgentOptions := &backupRecovery.DownloadAgentOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), Platform: core.StringPtr("kLinux"), LinuxParams: linuxAgentParams, } result, response, _ := service.DownloadAgent(downloadAgentOptions) fmt.Println(result) fmt.Println(response)
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Query Parameters
Specifies IDs of tasks to be fetched
getUpgradeTasksOptions := &backupRecovery.GetUpgradeTasksOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), } result, response, _ := service.GetUpgradeTasks(getUpgradeTasksOptions) fmt.Println(result) fmt.Println(response)
Create an upgrade task
Create a schedule-based agent upgrade task
POST /data-protect/agents/upgrade-tasks
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies parameters to create a schedule-based agent upgrade task
Specifies agent IDs to be upgraded in the task
Specifies the description of the task
Specifies the name of the task
Specifies the task that needs to be retried
Specifies the time before which the upgrade task should start execution as a Unix epoch Timestamp (in microseconds). If this is not specified the task will start anytime after scheduleTimeUsecs
Specifies the start time of the task specified by the user as a Unix epoch Timestamp (in microseconds). If no schedule is specified, the agents will be upgraded immediately
createUpgradeTaskOptions := &backupRecovery.CreateUpgradeTaskOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), AgentIDs: []int64{4}, } result, response, _ := service.CreateUpgradeTask(createUpgradeTaskOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the state of an agent upgrade task
Specifies the agents upgraded in the task
Specifies the upgrade information for each agent
Specifies the version to which agents are upgraded
Specifies the description of the task
Specifies the time when the upgrade task completed execution as a Unix epoch Timestamp (in microseconds)
Object that holds the error object
Specifies the ID of the task
Specifies if a task can be retried
Specifies the name of the task
Specifies ID of a task which was retried if type is 'Retry'
Specifies the time before which the upgrade task should start execution as a Unix epoch Timestamp (in microseconds). If this is not specified the task will start anytime after scheduleTimeUsecs
Specifies the time when the task should start execution as a Unix epoch Timestamp (in microseconds). If no schedule is specified, the task will start immediately
Specifies the time, as a Unix epoch timestamp in microseconds, when the task started execution
Specifies the status of the task.
'Scheduled' indicates that the upgrade task is yet to start.
'Running' indicates that the upgrade task has started execution.
'Succeeded' indicates that the upgrade task completed without an error.
'Failed' indicates that upgrade has failed for all agents. 'PartiallyFailed' indicates that upgrade has failed for some agentsPossible values: [
Scheduled
,Running
,Succeeded
,Failed
,PartiallyFailed
,Canceled
]Specifes the type of task.
'Auto' indicates an auto agent upgrade task which is started after a cluster upgrade.
'Manual' indicates a schedule based agent upgrade task.
'Retry' indicates an agent upgrade task which was retriedPossible values: [
Auto
,Manual
,Retry
]
Status Code
Success
Error
No Sample Response
List the snapshots for a given object
List the snapshots for a given object
GET /data-protect/objects/{id}/snapshots
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the id of the Object
Query Parameters
Specifies the timestamp in Unix time epoch in microseconds to filter Object's snapshots which were taken after this value
Specifies the timestamp in Unix time epoch in microseconds to filter Object's snapshots which were taken before this value
Specifies the timestamp in Unix time epoch in microseconds to filter Object's snapshots which were run after this value
Specifies the timestamp in Unix time epoch in microseconds to filter Object's snapshots which were run before this value
Specifies a list of recovery actions. Only snapshots that apply to these actions will be returned
Allowable values: [
RecoverVMs
,RecoverFiles
,InstantVolumeMount
,RecoverVmDisks
,MountVolumes
,RecoverVApps
,RecoverRDS
,RecoverAurora
,RecoverS3Buckets
,RecoverApps
,RecoverNasVolume
,RecoverPhysicalVolumes
,RecoverSystem
,RecoverSanVolumes
,RecoverNamespaces
,RecoverObjects
,DownloadFilesAndFolders
,RecoverPublicFolders
,RecoverVAppTemplates
,RecoverMailbox
,RecoverOneDrive
,RecoverMsTeam
,RecoverMsGroup
,RecoverSharePoint
,ConvertToPst
,RecoverSfdcRecords
,RecoverAzureSQL
,DownloadChats
,RecoverRDSPostgres
,RecoverMailboxCSM
,RecoverOneDriveCSM
,RecoverSharePointCSM
]Possible values: contains only unique items
Filter by run type. Only protection runs matching the specified types will be returned. By default, CDP hydration snapshots are not included unless explicitly queried using this field
Allowable values: [
kRegular
,kFull
,kLog
,kSystem
,kHydrateCDP
,kStorageArraySnapshot
]Possible values: contains only unique items
If specified, this returns only the snapshots of the specified object ID, which belong to the provided protection group IDs
Filter by a list of run instance IDs. If specified, only snapshots created by these protection runs will be returned
Filter by a list of region IDs
Filter by ObjectActionKey, which uniquely represents the protection of an object. An object can be protected in multiple ways but at most once for a given combination of ObjectActionKey. When specified, only snapshots matching the given action keys are returned for the corresponding object
Allowable values: [
kVMware
,kHyperV
,kVCD
,kAzure
,kGCP
,kKVM
,kAcropolis
,kAWS
,kAWSNative
,kAwsS3
,kAWSSnapshotManager
,kRDSSnapshotManager
,kAuroraSnapshotManager
,kAwsRDSPostgresBackup
,kAwsRDSPostgres
,kAwsAuroraPostgres
,kAzureNative
,kAzureSQL
,kAzureSnapshotManager
,kPhysical
,kPhysicalFiles
,kGPFS
,kElastifile
,kNetapp
,kGenericNas
,kIsilon
,kFlashBlade
,kPure
,kIbmFlashSystem
,kSQL
,kExchange
,kAD
,kOracle
,kView
,kRemoteAdapter
,kO365
,kO365PublicFolders
,kO365Teams
,kO365Group
,kO365Exchange
,kO365OneDrive
,kO365Sharepoint
,kKubernetes
,kCassandra
,kMongoDB
,kCouchbase
,kHdfs
,kHive
,kHBase
,kSAPHANA
,kUDA
,kSfdc
,kO365ExchangeCSM
,kO365OneDriveCSM
,kO365SharepointCSM
]
getObjectSnapshotsOptions := &backupRecovery.GetObjectSnapshotsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.Int64Ptr(1), } result, response, _ := service.GetObjectSnapshots(getObjectSnapshotsOptions) fmt.Println(result) fmt.Println(response)
List Protection Policies based on provided filtering parameters
Lists protection policies based on filtering query parameters
GET /data-protect/policies
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Query Parameters
Filter policies by a list of policy ids
Filter policies by a list of policy names
Types specifies the policy type of policies to be returned
Allowable values: [
Regular
,Internal
]If excludeLinkedPolicies is set to true then only local policies created on cluster will be returned. The result will exclude all linked policies created from policy templates
If includeReplicatedPolicies is set to true, then response will also contain replicated policies. By default, replication policies are not included in the response
If includeStats is set to true, then response will return number of protection groups and objects. By default, the protection stats are not included in the response
getProtectionPoliciesOptions := &backupRecovery.GetProtectionPoliciesOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), } result, response, _ := service.GetProtectionPolicies(getProtectionPoliciesOptions) fmt.Println(result) fmt.Println(response)
Create a Protection Policy
Create the Protection Policy and returns the newly created policy object
POST /data-protect/policies
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Request to create a Protection Policy
Specifies the name of the Protection Policy
Specifies the backup schedule and retentions of a Protection Policy
Specifies the description of the Protection Policy
List of Blackout Windows. If specified, this field defines blackout periods when new Group Runs are not started. If a Group Run has been scheduled but not yet executed and the blackout period starts, the behavior depends on the policy field AbortInBlackoutPeriod
Specifies additional retention policies that should be applied to the backup snapshots. A backup snapshot will be retained up to a time that is the maximum of all retention policies that are applicable to it
Specifies the replication, archival and cloud spin targets of Protection Policy
Specifies the configuration for cascaded replications. Using cascaded replication, replication cluster(Rx) can further replicate and archive the snapshot copies to further targets. Its recommended to create cascaded configuration where protection group will be created
Retry Options of a Protection Policy when a Protection Group run fails
This field is now deprecated. Please use the DataLockConfig in the backup retention
Allowable values: [
Compliance
,Administrative
]Specifies the current policy verison. Policy version is incremented for optionally supporting new features and differentialting across releases
Specifies true if Calender Based Schedule is supported by client Default value is assumed as false for this feature
Specifies the last time this Policy was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the policy was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies the parent policy template id to which the policy is linked to
runScheduleOptions := &backupRecovery.IncrementalSchedule{ Unit: core.StringPtr("Minutes"), MinuteSchedule: &backupRecovery.MinuteSchedule{ Frequency: core.Int64Ptr(2), }, } incrementalFullRetentionPolicyOptions := &backupRecovery.IncrementalBackupPolicy{ Schedule: runScheduleOptions, } retentionOptions := &backupRecovery.Retention{ Unit: core.StringPtr("Weeks"), Duration: core.Int64Ptr(1), } regularBackupPolicyOptions := &backupRecovery.RegularBackupPolicy{ Incremental: incrementalFullRetentionPolicyOptions, Retention: retentionOptions, } backupPolicyOptions := &backupRecovery.BackupPolicy{ Regular: regularBackupPolicyOptions, } createProtectionPolicyOptions := &backupRecovery.CreateProtectionPolicyOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), Name: core.StringPtr('create-protection-policy-name'), BackupPolicy: backupPolicyOptions, Description: core.StringPtr('<Policy Description>'), Version: core.Int64Ptr(1), } result, response, _ := service.CreateProtectionPolicy(createProtectionPolicyOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the details about the Protection Policy
Specifies the name of the Protection Policy
Specifies the backup schedule and retentions of a Protection Policy
Specifies the description of the Protection Policy
List of Blackout Windows. If specified, this field defines blackout periods when new Group Runs are not started. If a Group Run has been scheduled but not yet executed and the blackout period starts, the behavior depends on the policy field AbortInBlackoutPeriod
Specifies additional retention policies that should be applied to the backup snapshots. A backup snapshot will be retained up to a time that is the maximum of all retention policies that are applicable to it
Specifies the replication, archival and cloud spin targets of Protection Policy
Specifies the configuration for cascaded replications. Using cascaded replication, replication cluster(Rx) can further replicate and archive the snapshot copies to further targets. Its recommended to create cascaded configuration where protection group will be created
Retry Options of a Protection Policy when a Protection Group run fails
This field is now deprecated. Please use the DataLockConfig in the backup retention
Possible values: [
Compliance
,Administrative
]Specifies the current policy verison. Policy version is incremented for optionally supporting new features and differentialting across releases
Specifies true if Calender Based Schedule is supported by client Default value is assumed as false for this feature
Specifies the last time this Policy was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the policy was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a unique Policy id assigned by the Cohesity Cluster
Specifies the parent policy template id to which the policy is linked to. This field is set only when policy is created from template
This field is set to true if the linked policy which is internally created from a policy templates qualifies as usable to create more policies on the cluster. If the linked policy is partially filled and can not create a working policy then this field will be set to false. In case of normal policy created on the cluster, this field wont be populated
This field is set to true when policy is the replicated policy
Specifies the number of protection groups using the protection policy
Specifies the number of protected objects using the protection policy
Status Code
Success
Error
No Sample Response
List details about a single Protection Policy
Returns the Protection Policy details based on provided Policy Id
GET /data-protect/policies/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Path Parameters
Specifies a unique id of the Protection Policy to return
getProtectionPolicyByIdOptions := &backupRecovery.GetProtectionPolicyByIdOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxx"), } result, response, _ := service.GetProtectionPolicyByID(getProtectionPolicyByIdOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the details about the Protection Policy
Specifies the name of the Protection Policy
Specifies the backup schedule and retentions of a Protection Policy
Specifies the description of the Protection Policy
List of Blackout Windows. If specified, this field defines blackout periods when new Group Runs are not started. If a Group Run has been scheduled but not yet executed and the blackout period starts, the behavior depends on the policy field AbortInBlackoutPeriod
Specifies additional retention policies that should be applied to the backup snapshots. A backup snapshot will be retained up to a time that is the maximum of all retention policies that are applicable to it
Specifies the replication, archival and cloud spin targets of Protection Policy
Specifies the configuration for cascaded replications. Using cascaded replication, replication cluster(Rx) can further replicate and archive the snapshot copies to further targets. Its recommended to create cascaded configuration where protection group will be created
Retry Options of a Protection Policy when a Protection Group run fails
This field is now deprecated. Please use the DataLockConfig in the backup retention
Possible values: [
Compliance
,Administrative
]Specifies the current policy verison. Policy version is incremented for optionally supporting new features and differentialting across releases
Specifies true if Calender Based Schedule is supported by client Default value is assumed as false for this feature
Specifies the last time this Policy was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the policy was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a unique Policy id assigned by the Cohesity Cluster
Specifies the parent policy template id to which the policy is linked to. This field is set only when policy is created from template
This field is set to true if the linked policy which is internally created from a policy templates qualifies as usable to create more policies on the cluster. If the linked policy is partially filled and can not create a working policy then this field will be set to false. In case of normal policy created on the cluster, this field wont be populated
This field is set to true when policy is the replicated policy
Specifies the number of protection groups using the protection policy
Specifies the number of protected objects using the protection policy
Status Code
Success
Error
No Sample Response
Update a Protection Policy
Specifies the request to update the existing Protection Policy. On successful update, returns the updated policy object
PUT /data-protect/policies/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies a unique id of the Protection Policy to update
Request to update a Protection Policy
Specifies the name of the Protection Policy
Specifies the backup schedule and retentions of a Protection Policy
Specifies the description of the Protection Policy
List of Blackout Windows. If specified, this field defines blackout periods when new Group Runs are not started. If a Group Run has been scheduled but not yet executed and the blackout period starts, the behavior depends on the policy field AbortInBlackoutPeriod
Specifies additional retention policies that should be applied to the backup snapshots. A backup snapshot will be retained up to a time that is the maximum of all retention policies that are applicable to it
Specifies the replication, archival and cloud spin targets of Protection Policy
Specifies the configuration for cascaded replications. Using cascaded replication, replication cluster(Rx) can further replicate and archive the snapshot copies to further targets. Its recommended to create cascaded configuration where protection group will be created
Retry Options of a Protection Policy when a Protection Group run fails
This field is now deprecated. Please use the DataLockConfig in the backup retention
Allowable values: [
Compliance
,Administrative
]Specifies the current policy verison. Policy version is incremented for optionally supporting new features and differentialting across releases
Specifies true if Calender Based Schedule is supported by client Default value is assumed as false for this feature
Specifies the last time this Policy was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the policy was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies the parent policy template id to which the policy is linked to
runScheduleOptions := &backupRecovery.IncrementalSchedule{ Unit: core.StringPtr("Minutes"), MinuteSchedule: &backupRecovery.MinuteSchedule{ Frequency: core.Int64Ptr(2), }, } incrementalFullRetentionPolicyOptions := &backupRecovery.IncrementalBackupPolicy{ Schedule: runScheduleOptions, } retentionOptions := &backupRecovery.Retention{ Unit: core.StringPtr("Weeks"), Duration: core.Int64Ptr(2), } regularBackupPolicyOptions := &backupRecovery.RegularBackupPolicy{ Incremental: incrementalFullRetentionPolicyOptions, Retention: retentionOptions, } backupPolicyOptions := &backupRecovery.BackupPolicy{ Regular: regularBackupPolicyOptions, } updateProtectionPolicyByIdOptions := &backupRecovery.UpdateProtectionPolicyOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxx"), Name: core.StringPtr("sdk-test-create-protection-policy-1"), Description: core.StringPtr("sdk-test-create-protection-policy-1-update"), BackupPolicy: backupPolicyOptions, } result, response, _ := service.UpdateProtectionPolicy(updateProtectionPolicyByIdOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the details about the Protection Policy
Specifies the name of the Protection Policy
Specifies the backup schedule and retentions of a Protection Policy
Specifies the description of the Protection Policy
List of Blackout Windows. If specified, this field defines blackout periods when new Group Runs are not started. If a Group Run has been scheduled but not yet executed and the blackout period starts, the behavior depends on the policy field AbortInBlackoutPeriod
Specifies additional retention policies that should be applied to the backup snapshots. A backup snapshot will be retained up to a time that is the maximum of all retention policies that are applicable to it
Specifies the replication, archival and cloud spin targets of Protection Policy
Specifies the configuration for cascaded replications. Using cascaded replication, replication cluster(Rx) can further replicate and archive the snapshot copies to further targets. Its recommended to create cascaded configuration where protection group will be created
Retry Options of a Protection Policy when a Protection Group run fails
This field is now deprecated. Please use the DataLockConfig in the backup retention
Possible values: [
Compliance
,Administrative
]Specifies the current policy verison. Policy version is incremented for optionally supporting new features and differentialting across releases
Specifies true if Calender Based Schedule is supported by client Default value is assumed as false for this feature
Specifies the last time this Policy was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the policy was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a unique Policy id assigned by the Cohesity Cluster
Specifies the parent policy template id to which the policy is linked to. This field is set only when policy is created from template
This field is set to true if the linked policy which is internally created from a policy templates qualifies as usable to create more policies on the cluster. If the linked policy is partially filled and can not create a working policy then this field will be set to false. In case of normal policy created on the cluster, this field wont be populated
This field is set to true when policy is the replicated policy
Specifies the number of protection groups using the protection policy
Specifies the number of protected objects using the protection policy
Status Code
Success
Error
No Sample Response
Delete a Protection Policy
Deletes a Protection Policy based on given policy id
DELETE /data-protect/policies/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies a unique id of the Protection Policy to delete
deleteProtectionPolicyOptions := &backupRecovery.DeleteProtectionPolicyOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxx"), } response, _ := service.DeleteProtectionPolicy(deleteProtectionPolicyOptions) fmt.Println(response)
Get the list of Protection Groups
Get the list of Protection Groups
GET /data-protect/protection-groups
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Query Parameters
Filter by a list of Protection Group ids
Filter by a list of Protection Group names
Filter by Policy ids that are associated with Protection Groups. Only Protection Groups associated with the specified Policy ids, are returned
Whether to only return Protection Groups with a datalock
Filter by environment types such as 'kVMware', 'kView', etc. Only Protection Groups protecting the specified environment types are returned
Allowable values: [
kPhysical
,kSQL
]Filter by Inactive or Active Protection Groups. If not set, all Inactive and Active Protection Groups are returned. If true, only Active Protection Groups are returned. If false, only Inactive Protection Groups are returned. When you create a Protection Group on a Primary Cluster with a replication schedule, the Cluster creates an Inactive copy of the Protection Group on the Remote Cluster. In addition, when an Active and running Protection Group is deactivated, the Protection Group becomes Inactive
If true, return only Protection Groups that have been deleted but still have Snapshots associated with them. If false, return all Protection Groups except those Protection Groups that have been deleted and still have Snapshots associated with them. A Protection Group that is deleted with all its Snapshots is not returned for either of these cases
Filter by paused or non paused Protection Groups, If not set, all paused and non paused Protection Groups are returned. If true, only paused Protection Groups are returned. If false, only non paused Protection Groups are returned
Filter by last local backup run status.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Filter by last remote replication run status.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Filter by last cloud archival run status.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Filter by last cloud spin run status.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Filter by last any run status.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]If true, return Protection Groups for which last run SLA was violated
If true, the response will include last run info. If it is false or not specified, the last run info won't be returned
If true, the response will not include the list of excluded source IDs in groups that contain this field. This can be set to true in order to improve performance if excluded source IDs are not needed by the user
If true, the response will exclude the list of source IDs within the group specified
Specifies whether we can serve the GET request from the read replica cache. There is a lag of 15 seconds between the read replica and primary data source
Filter by Source ids that are associated with Protection Groups Only Protection Groups associated with the specified Source ids, are returned
getProtectionGroups := &backupRecovery.GetProtectionGroupsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), } result, response, _ := service.GetProtectionGroups(getProtectionGroups) fmt.Println(result) fmt.Println(response)
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the parameters to create a Protection Group
Specifies the name of the Protection Group
Specifies the unique id of the Protection Policy associated with the Protection Group. The Policy provides retry settings Protection Schedules, Priority, SLA, etc
Specifies the environment type of the Protection Group
Allowable values: [
kPhysical
,kSQL
]Specifies the priority of the Protection Group
Allowable values: [
kLow
,kMedium
,kHigh
]Specifies a description of the Protection Group
Specifies the time of day. Used for scheduling purposes
Specifies the end time in micro seconds for this Protection Group. If this is not specified, the Protection Group won't be ended
Specifies the last time this protection group was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the protection group was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a policy for alerting users of the status of a Protection Group
Specifies the SLA parameters for this Protection Group
Specifies whether the Protection Group will be written to HDD or SSD
Allowable values: [
kBackupHDD
,kBackupSSD
,kTestAndDevHigh
,kBackupAll
]Specifies whether currently executing jobs should abort if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false This field should not be set to true if 'pauseInBlackouts' is set to true
Specifies whether currently executing jobs should be paused if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false This field should not be set to true if 'abortInBlackouts' is sent as true
Specifies if the the Protection Group is paused. New runs are not scheduled for the paused Protection Groups. Active run if any is not impacted
Specifies the advanced configuration for a protection job
Specifies the parameters specific to MSSQL Protection Group
physicalFileBackupPathOptions := &backupRecovery.PhysicalFileBackupPathParams{ IncludedPath: core.StringPtr("/"), } fileProtectionGroupObjectOptions := &backupRecovery.PhysicalFileProtectionGroupObjectParams{ ID: core.Int64Ptr(1), Name: core.StringPtr("file-protection-group-object"), FilePaths: []backupRecovery.PhysicalFileBackupPathParams{*physicalFileBackupPathOptions}, } fileProtectionGroupOptions := &backupRecovery.PhysicalFileProtectionGroupParams{ Objects: []backupRecovery.PhysicalFileProtectionGroupObjectParams{*fileProtectionGroupObjectOptions}, } physicalParamsOptions := &backupRecovery.PhysicalProtectionGroupParams{ ProtectionType: core.StringPtr("kFile"), FileProtectionTypeParams: fileProtectionGroupOptions, } createProtectionGroupOptions := &backupRecovery.CreateProtectionGroupOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), Name: core.StringPtr("create-protection-group-options"), PolicyID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xx"), Environment: core.StringPtr("kPhysical"), StorageDomainID: core.Int64Ptr(xxxx), PhysicalParams: physicalParamsOptions, Priority: core.StringPtr("kMedium"), } getProtectionGroups := &backupRecovery.GetProtectionGroupsOptions{} result, response, _ := service.CreateProtectionGroup(createProtectionGroupOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the parameters which are common between all Protection Group responses
Specifies the ID of the Protection Group
Specifies the name of the Protection Group
Specifies the cluster ID
Specifies the region ID
Specifies the unique id of the Protection Policy associated with the Protection Group. The Policy provides retry settings Protection Schedules, Priority, SLA, etc
Specifies the priority of the Protection Group
Possible values: [
kLow
,kMedium
,kHigh
]Specifies a description of the Protection Group
Specifies the time of day. Used for scheduling purposes
Specifies the end time in micro seconds for this Protection Group. If this is not specified, the Protection Group won't be ended
Specifies the last time this protection group was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the protection group was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a policy for alerting users of the status of a Protection Group
Specifies the SLA parameters for this Protection Group
Specifies whether the Protection Group will be written to HDD or SSD
Possible values: [
kBackupHDD
,kBackupSSD
,kTestAndDevHigh
,kBackupAll
]Specifies whether currently executing jobs should abort if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false
Specifies whether currently executing jobs should be paused if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false This field should not be set to true if 'abortInBlackouts' is sent as true
Specifies if the Protection Group is active or not
Specifies if the Protection Group has been deleted
Specifies if the the Protection Group is paused. New runs are not scheduled for the paused Protection Groups. Active run if any is not impacted
Specifies the environment of the Protection Group
Possible values: [
kPhysical
,kSQL
]Specifies the parameters which are common between Protection Group runs of all Protection Groups
Specifies the list of tenants that have permissions for this protection group
Specifies if the the Protection Group is using a protect once type of policy. This field is helpful to identify run happen for this group
Specifies the Information about missing entities
Specifies the Information about invalid entities. An entity will be considered invalid if it is part of an active protection group but has lost compatibility for the given backup type
Specifies the number of protected objects of the Protection Group
Specifies the advanced configuration for a protection job
Specifies the parameters specific to MSSQL Protection Group
Status Code
Success
Error
No Sample Response
List details about single Protection Group
Returns the Protection Group corresponding to the specified Group id
GET /data-protect/protection-groups/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Path Parameters
Specifies a unique id of the Protection Group
Query Parameters
If true, the response will include last run info. If it is false or not specified, the last run info won't be returned
If true, the response will not include the list of excluded source IDs in groups that contain this field. This can be set to true in order to improve performance if excluded source IDs are not needed by the user
If true, the response will exclude the list of source IDs within the group specified
getProtectionGroupByIdOptions := &backupRecovery.GetProtectionGroupByIdOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxxx"), } result, response, _ := service.GetProtectionGroupByID(getProtectionGroupByIdOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the parameters which are common between all Protection Group responses
Specifies the ID of the Protection Group
Specifies the name of the Protection Group
Specifies the cluster ID
Specifies the region ID
Specifies the unique id of the Protection Policy associated with the Protection Group. The Policy provides retry settings Protection Schedules, Priority, SLA, etc
Specifies the priority of the Protection Group
Possible values: [
kLow
,kMedium
,kHigh
]Specifies a description of the Protection Group
Specifies the time of day. Used for scheduling purposes
Specifies the end time in micro seconds for this Protection Group. If this is not specified, the Protection Group won't be ended
Specifies the last time this protection group was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the protection group was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a policy for alerting users of the status of a Protection Group
Specifies the SLA parameters for this Protection Group
Specifies whether the Protection Group will be written to HDD or SSD
Possible values: [
kBackupHDD
,kBackupSSD
,kTestAndDevHigh
,kBackupAll
]Specifies whether currently executing jobs should abort if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false
Specifies whether currently executing jobs should be paused if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false This field should not be set to true if 'abortInBlackouts' is sent as true
Specifies if the Protection Group is active or not
Specifies if the Protection Group has been deleted
Specifies if the the Protection Group is paused. New runs are not scheduled for the paused Protection Groups. Active run if any is not impacted
Specifies the environment of the Protection Group
Possible values: [
kPhysical
,kSQL
]Specifies the parameters which are common between Protection Group runs of all Protection Groups
Specifies the list of tenants that have permissions for this protection group
Specifies if the the Protection Group is using a protect once type of policy. This field is helpful to identify run happen for this group
Specifies the Information about missing entities
Specifies the Information about invalid entities. An entity will be considered invalid if it is part of an active protection group but has lost compatibility for the given backup type
Specifies the number of protected objects of the Protection Group
Specifies the advanced configuration for a protection job
Specifies the parameters specific to MSSQL Protection Group
Status Code
Success
Error
No Sample Response
Update a Protection Group
Update the specified Protection Group
PUT /data-protect/protection-groups/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the id of the Protection Group
Specifies the parameters to update a Protection Group
Specifies the name of the Protection Group
Specifies the unique id of the Protection Policy associated with the Protection Group. The Policy provides retry settings Protection Schedules, Priority, SLA, etc
Specifies the environment type of the Protection Group
Allowable values: [
kPhysical
,kSQL
]Specifies the priority of the Protection Group
Allowable values: [
kLow
,kMedium
,kHigh
]Specifies a description of the Protection Group
Specifies the time of day. Used for scheduling purposes
Specifies the end time in micro seconds for this Protection Group. If this is not specified, the Protection Group won't be ended
Specifies the last time this protection group was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the protection group was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a policy for alerting users of the status of a Protection Group
Specifies the SLA parameters for this Protection Group
Specifies whether the Protection Group will be written to HDD or SSD
Allowable values: [
kBackupHDD
,kBackupSSD
,kTestAndDevHigh
,kBackupAll
]Specifies whether currently executing jobs should abort if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false This field should not be set to true if 'pauseInBlackouts' is set to true
Specifies whether currently executing jobs should be paused if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false This field should not be set to true if 'abortInBlackouts' is sent as true
Specifies if the the Protection Group is paused. New runs are not scheduled for the paused Protection Groups. Active run if any is not impacted
Specifies the advanced configuration for a protection job
Specifies the parameters specific to MSSQL Protection Group
physicalFileBackupPathOptions := &backupRecovery.PhysicalFileBackupPathParams{ IncludedPath: core.StringPtr("/"), } fileProtectionGroupObjectOptions := &backupRecovery.PhysicalFileProtectionGroupObjectParams{ ID: core.Int64Ptr(1), Name: core.StringPtr("update-file-protection-group-object"), FilePaths: []backupRecovery.PhysicalFileBackupPathParams{*physicalFileBackupPathOptions}, } fileProtectionGroupOptions := &backupRecovery.PhysicalFileProtectionGroupParams{ Objects: []backupRecovery.PhysicalFileProtectionGroupObjectParams{*fileProtectionGroupObjectOptions}, } physicalParamsOptions := &backupRecovery.PhysicalProtectionGroupParams{ ProtectionType: core.StringPtr("kFile"), FileProtectionTypeParams: fileProtectionGroupOptions, } updateProtectionGroupOptions := &backupRecovery.UpdateProtectionGroupOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxxx"), Name: core.StringPtr("update-protection-group-options"), PolicyID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xx"), Environment: core.StringPtr("kPhysical"), StorageDomainID: core.Int64Ptr(xxxx), PhysicalParams: physicalParamsOptions, } result, response, _ := service.UpdateProtectionGroup(updateProtectionGroupOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the parameters which are common between all Protection Group responses
Specifies the ID of the Protection Group
Specifies the name of the Protection Group
Specifies the cluster ID
Specifies the region ID
Specifies the unique id of the Protection Policy associated with the Protection Group. The Policy provides retry settings Protection Schedules, Priority, SLA, etc
Specifies the priority of the Protection Group
Possible values: [
kLow
,kMedium
,kHigh
]Specifies a description of the Protection Group
Specifies the time of day. Used for scheduling purposes
Specifies the end time in micro seconds for this Protection Group. If this is not specified, the Protection Group won't be ended
Specifies the last time this protection group was updated. If this is passed into a PUT request, then the backend will validate that the timestamp passed in matches the time that the protection group was actually last modified. If the two timestamps do not match, then the request will be rejected with a stale error
Specifies a policy for alerting users of the status of a Protection Group
Specifies the SLA parameters for this Protection Group
Specifies whether the Protection Group will be written to HDD or SSD
Possible values: [
kBackupHDD
,kBackupSSD
,kTestAndDevHigh
,kBackupAll
]Specifies whether currently executing jobs should abort if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false
Specifies whether currently executing jobs should be paused if a blackout period specified by a policy starts. Available only if the selected policy has at least one blackout period. Default value is false This field should not be set to true if 'abortInBlackouts' is sent as true
Specifies if the Protection Group is active or not
Specifies if the Protection Group has been deleted
Specifies if the the Protection Group is paused. New runs are not scheduled for the paused Protection Groups. Active run if any is not impacted
Specifies the environment of the Protection Group
Possible values: [
kPhysical
,kSQL
]Specifies the parameters which are common between Protection Group runs of all Protection Groups
Specifies the list of tenants that have permissions for this protection group
Specifies if the the Protection Group is using a protect once type of policy. This field is helpful to identify run happen for this group
Specifies the Information about missing entities
Specifies the Information about invalid entities. An entity will be considered invalid if it is part of an active protection group but has lost compatibility for the given backup type
Specifies the number of protected objects of the Protection Group
Specifies the advanced configuration for a protection job
Specifies the parameters specific to MSSQL Protection Group
Status Code
Success
Error
No Sample Response
Delete a Protection Group
Returns Success if the Protection Group is deleted
DELETE /data-protect/protection-groups/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies a unique id of the Protection Group
Query Parameters
Specifies if Snapshots generated by the Protection Group should also be deleted when the Protection Group is deleted
deleteProtectionGroupOptions := &backupRecovery.DeleteProtectionGroupOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxxx"), } response, _ := service.DeleteProtectionGroup(deleteProtectionGroupOptions) fmt.Println(response)
Get the list of runs for a Protection Group
Get the runs for a particular Protection Group
GET /data-protect/protection-groups/{id}/runs
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Path Parameters
Specifies a unique id of the Protection Group
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Query Parameters
Specifies the protection run id
Possible values: Value must match regular expression
^\d+:\d+$
Start time for time range filter. Specify the start time as a Unix epoch Timestamp (in microseconds), only runs executing after this time will be returned. By default it is endTimeUsecs minus an hour
End time for time range filter. Specify the end time as a Unix epoch Timestamp (in microseconds), only runs executing before this time will be returned. By default it is current time
Filter by run type. Only protection run matching the specified types will be returned
Allowable values: [
kAll
,kHydrateCDP
,kSystem
,kStorageArraySnapshot
,kIncremental
,kFull
,kLog
]Possible values: contains only unique items
Specifies if the result includes the object details for each protection run. If set to true, details of the protected object will be returned. If set to false or not specified, details will not be returned
Specifies a list of local backup status, runs matching the status will be returned.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Specifies a list of replication status, runs matching the status will be returned.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Specifies a list of archival status, runs matching the status will be returned.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Specifies a list of cloud spin status, runs matching the status will be returned.
'Running' indicates that the run is still running.
'Canceled' indicates that the run has been canceled.
'Canceling' indicates that the run is in the process of being canceled.
'Failed' indicates that the run has failed.
'Missed' indicates that the run was unable to take place at the scheduled time because the previous run was still happening.
'Succeeded' indicates that the run has finished successfully.
'SucceededWithWarning' indicates that the run finished successfully, but there were some warning messages.
'Paused' indicates that the ongoing run has been paused.
'Skipped' indicates that the run was skippedAllowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,Paused
]Specifies the max number of runs. If not specified, at most 100 runs will be returned
Specifies whether to exclude non restorable runs. Run is treated restorable only if there is atleast one object snapshot (which may be either a local or an archival snapshot) which is not deleted or expired. Default value is false
Default:
false
Specifies a list of tags for protection runs. If this is specified, only the runs which match these tags will be returned
Specifies whether we can serve the GET request from the read replica cache. There is a lag of 15 seconds between the read replica and primary data source
If true, the runs with backup end time within the specified time range will be returned. Otherwise, the runs with start time in the time range are returned
Specifies the snapshot's target type which should be filtered
Allowable values: [
Local
,Archival
,RpaasArchival
,StorageArraySnapshot
,Remote
]Possible values: contains only unique items
only successful copyruns are returned
If true, then the details of the runs for which any copyTask completed in the given timerange will be returned. Only one of filterByEndTime and filterByCopyTaskEndTime can be set
getProtectionGroupRunsOptions := &backupRecovery.GetProtectionGroupRunsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxxx"), } result, response, _ := service.GetProtectionGroupRuns(getProtectionGroupRunsOptions) fmt.Println(result) fmt.Println(response)
Response
Protection runs
Specifies the list of Protection Group runs
Specifies the count of total runs exist for the given set of filters. The number of runs in single API call are limited and this count can be used to estimate query filter values to get next set of remaining runs. Please note that this field will only be populated if startTimeUsecs or endTimeUsecs or both are specified in query parameters
Status Code
Success
Error
No Sample Response
Update runs for a particular Protection Group
Update runs for a particular Protection Group. A user can perform the following actions: 1. Extend or reduce retention of a local, replication and archival snapshots. 2. Can perform resync operation on failed copy snapshots attempts in this Run. 3. Add new replication and archival snapshot targets to the Run. 4. Add or remove legal hold on the snapshots. Only a user with DSO role can perform this operation. 5. Delete the snapshots that were created as a part of this Run. 6. Apply datalock on existing snapshots where a user cannot manually delete snapshots before the expiry time.
PUT /data-protect/protection-groups/{id}/runs
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies a unique id of the Protection Group
Specifies the parameters to update a Protection Group Run
Specifies the params to update a Protection Group Run
Possible values: number of items ≥ 1
localSnapshotConfigOptions := &backupRecovery.UpdateLocalSnapshotConfig{ EnableLegalHold: core.BoolPtr(false), } updateProtectionGroupRunParamsOptions := &backupRecovery.UpdateProtectionGroupRunParams{ RunID: core.StringPtr("xxxxx:xxxxxxxxxxxxxxxx"), LocalSnapshotConfig: localSnapshotConfigOptions, } updateProectionGroupRunOptions := &backupRecovery.UpdateProtectionGroupRunOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxxx"), UpdateProtectionGroupRunParams: []backupRecovery.UpdateProtectionGroupRunParams{*updateProtectionGroupRunParamsOptions}, } result, response, _ := service.UpdateProtectionGroupRun(updateProectionGroupRunOptions) fmt.Println(result) fmt.Println(response)
Create a new protection run
Create a new protection run. This can be used to start a run for a Protection Group on demand, ignoring the schedule and retention specified in the protection policy
POST /data-protect/protection-groups/{id}/runs
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies a unique id of the Protection Group
Specifies the parameters to start a protection run
Type of protection run. 'kRegular' indicates an incremental (CBT) backup. Incremental backups utilizing CBT (if supported) are captured of the target protection objects. The first run of a kRegular schedule captures all the blocks. 'kFull' indicates a full (no CBT) backup. A complete backup (all blocks) of the target protection objects are always captured and Change Block Tracking (CBT) is not utilized. 'kLog' indicates a Database Log backup. Capture the database transaction logs to allow rolling back to a specific point in time. 'kSystem' indicates system volume backup It produces an image for bare metal recovery
Allowable values: [
kRegular
,kFull
,kLog
,kSystem
,kHydrateCDP
,kStorageArraySnapshot
]Specifies the list of objects to be protected by this Protection Group run. These can be leaf objects or non-leaf objects in the protection hierarchy. This must be specified only if a subset of objects from the Protection Groups needs to be protected
Specifies the replication and archival targets
createProtectionGroupRunOptions := &backupRecovery.CreateProtectionGroupRunOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxxx"), RunType: core.StringPtr("kRegular"), } result, response, _ := service.CreateProtectionGroupRun(createProtectionGroupRunOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the response for create a protection run. On success, the system will accept the request and return the Protection Group id for which the run is supposed to start. The actual run may start at a later time if the system is busy. Consumers must query the Protection Group to see the run
Specifies id of the Protection Group which must be polled for seeing the new run
Status Code
Accepted
Error
No Sample Response
Actions on protection group run
Perform various actions on a Protection Group run
POST /data-protect/protection-groups/{id}/runs/actions
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies a unique id of the Protection Group
Specifies the parameters to perform an action on a protection run
Specifies the type of the action which will be performed on protection runs
Allowable values: [
Pause
,Resume
,Cancel
]Specifies the pause action params for a protection run
Specifies the resume action params for a protection run
Specifies the cancel action params for a protection run
pauseProtectionRunActionParamsOptions := &backupRecovery.PauseProtectionRunActionParams{ RunID: core.StringPtr("xxxxx:xxxxxxxxxxxxxxxx"), } performActionOnProtectionGroupRunOptions := &backupRecovery.PerformActionOnProtectionGroupRunOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxxxx"), Action: core.StringPtr("Pause"), PauseParams: []backupRecovery.PauseProtectionRunActionParams{*pauseProtectionRunActionParamsOptions}, } result, response, _ := service.PerformActionOnProtectionGroupRun(performActionOnProtectionGroupRunOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the response of the performed run action
Specifies the type of the action is performed on protection runs
Possible values: [
Pause
,Resume
,Cancel
]Specifies the pause action response params
Specifies the resume action response params
Specifies the cancel action response params
Status Code
Accepted
Error
No Sample Response
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Query Parameters
Filter Recoveries for given ids
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Returns only child recoveries if passed as true. This filter should always be used along with 'ids' filter.
Returns the recoveries which are started after the specific time This value should be in Unix timestamp epoch in microseconds
Returns the recoveries which are started before the specific time. This value should be in Unix timestamp epoch in microseconds
Specifies the snapshot's target type from which recovery has been performed
Allowable values: [
Local
,Archival
,RpaasArchival
,StorageArraySnapshot
,Remote
]Possible values: contains only unique items
Specifies the snapshot's archival target type from which recovery has been performed. This parameter applies only if 'snapshotTargetType' is 'Archival'
Allowable values: [
Tape
,Cloud
,Nas
]Possible values: contains only unique items
Specifies the list of snapshot environment types to filter Recoveries. If empty, Recoveries related to all environments will be returned
Allowable values: [
kPhysical
,kSQL
]Possible values: contains only unique items
Specifies the list of run status to filter Recoveries. If empty, Recoveries with all run status will be returned
Allowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,LegalHold
]Possible values: contains only unique items
Specifies the list of recovery actions to filter Recoveries. If empty, Recoveries related to all actions will be returned
Allowable values: [
RecoverVMs
,RecoverFiles
,InstantVolumeMount
,RecoverVmDisks
,RecoverVApps
,RecoverVAppTemplates
,UptierSnapshot
,RecoverRDS
,RecoverAurora
,RecoverS3Buckets
,RecoverRDSPostgres
,RecoverAzureSQL
,RecoverApps
,CloneApps
,RecoverNasVolume
,RecoverPhysicalVolumes
,RecoverSystem
,RecoverExchangeDbs
,CloneAppView
,RecoverSanVolumes
,RecoverSanGroup
,RecoverMailbox
,RecoverOneDrive
,RecoverSharePoint
,RecoverPublicFolders
,RecoverMsGroup
,RecoverMsTeam
,ConvertToPst
,DownloadChats
,RecoverMailboxCSM
,RecoverOneDriveCSM
,RecoverSharePointCSM
,RecoverNamespaces
,RecoverObjects
,RecoverSfdcObjects
,RecoverSfdcOrg
,RecoverSfdcRecords
,DownloadFilesAndFolders
,CloneVMs
,CloneView
,CloneRefreshApp
,CloneVMsToView
,ConvertAndDeployVMs
,DeployVMs
]
getRecoveriesOptions := &backupRecovery.GetRecoveriesOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), } result, response, _ := service.GetRecoveries(getRecoveriesOptions) fmt.Println(result) fmt.Println(response)
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Specifies the parameters to create a Recovery
Specifies the name of the Recovery
Specifies the type of environment of snapshots for which the Recovery has to be performed
Allowable values: [
kPhysical
,kSQL
]Specifies the recovery options specific to Physical environment
Specifies the recovery options specific to Sql environment
commonRecoveryObjectSnapshotParams := &backupRecovery.CommonRecoverObjectSnapshotParams{ SnapshotID: core.StringPtr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), } physicalTargetParamsForRecoverVolumeMountTarget := &backupRecovery.PhysicalTargetParamsForRecoverVolumeMountTarget{ ID: core.Int64Ptr(1), Name: core.StringPtr("physical-target-name"), } recoverVolumeMapping := &backupRecovery.RecoverVolumeMapping{ SourceVolumeGuid: core.StringPtr("recovery-volume-mapping-source-name"), DestinationVolumeGuid: core.StringPtr("recovery-volume-mapping-destination-name"), } recoverPhysicalVolumeParamsPhysicalTargetParams := &backupRecovery.RecoverPhysicalVolumeParamsPhysicalTargetParams{ MountTarget: physicalTargetParamsForRecoverVolumeMountTarget, VolumeMapping: []backupRecovery.RecoverVolumeMapping{*recoverVolumeMapping}, } recoverPhysicalParamsRecoverVolumeParams := &backupRecovery.RecoverPhysicalParamsRecoverVolumeParams{ TargetEnvironment: core.StringPtr("kPhysical"), PhysicalTargetParams: recoverPhysicalVolumeParamsPhysicalTargetParams, } recoveryPhysicalParams := &backupRecovery.RecoverPhysicalParams{ Objects: []backupRecovery.CommonRecoverObjectSnapshotParams{*commonRecoveryObjectSnapshotParams}, RecoveryAction: core.StringPtr("RecoverPhysicalVolumes"), RecoverVolumeParams: recoverPhysicalParamsRecoverVolumeParams, } createRecoveryOptions := &backupRecovery.CreateRecoveryOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), Name: core.StringPtr("create-recovery-options-name"), SnapshotEnvironment: core.StringPtr("kPhysical"), PhysicalParams: recoveryPhysicalParams, } result, response, _ := service.CreateRecovery(createRecoveryOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the common response parameters to create a Recovery
Specifies the id of the Recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Specifies the name of the Recovery
Specifies the start time of the Recovery in Unix timestamp epoch in microseconds
Specifies the end time of the Recovery in Unix timestamp epoch in microseconds. This field will be populated only after Recovery is finished
Status of the Recovery. 'Running' indicates that the Recovery is still running. 'Canceled' indicates that the Recovery has been cancelled. 'Canceling' indicates that the Recovery is in the process of being cancelled. 'Failed' indicates that the Recovery has failed. 'Succeeded' indicates that the Recovery has finished successfully. 'SucceededWithWarning' indicates that the Recovery finished successfully, but there were some warning messages. 'Skipped' indicates that the Recovery task was skipped
Possible values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,LegalHold
]Progress monitor task id for Recovery
Specifies the type of snapshot environment for which the Recovery was performed
Possible values: [
kPhysical
,kSQL
]Specifies the type of recover action
Possible values: [
RecoverVMs
,RecoverFiles
,InstantVolumeMount
,RecoverVmDisks
,RecoverVApps
,RecoverVAppTemplates
,UptierSnapshot
,RecoverRDS
,RecoverAurora
,RecoverS3Buckets
,RecoverRDSPostgres
,RecoverAzureSQL
,RecoverApps
,CloneApps
,RecoverNasVolume
,RecoverPhysicalVolumes
,RecoverSystem
,RecoverExchangeDbs
,CloneAppView
,RecoverSanVolumes
,RecoverSanGroup
,RecoverMailbox
,RecoverOneDrive
,RecoverSharePoint
,RecoverPublicFolders
,RecoverMsGroup
,RecoverMsTeam
,ConvertToPst
,DownloadChats
,RecoverMailboxCSM
,RecoverOneDriveCSM
,RecoverSharePointCSM
,RecoverNamespaces
,RecoverObjects
,RecoverSfdcObjects
,RecoverSfdcOrg
,RecoverSfdcRecords
,DownloadFilesAndFolders
,CloneVMs
,CloneView
,CloneRefreshApp
,CloneVMsToView
,ConvertAndDeployVMs
,DeployVMs
]Specifies the list of tenants that have permissions for this recovery
Specifies the information about the creation of the protection group or recovery
Specifies whether it's possible to tear down the objects created by the recovery
Specifies the status of the tear down operation. This is only set when the canTearDown is set to true. 'DestroyScheduled' indicates that the tear down is ready to schedule. 'Destroying' indicates that the tear down is still running. 'Destroyed' indicates that the tear down succeeded 'DestroyError' indicates that the tear down failed
Possible values: [
DestroyScheduled
,Destroying
,Destroyed
,DestroyError
]Specifies the error message about the tear down operation if it fails
Specifies messages about the recovery
Specifies whether the current recovery operation has created child recoveries. This is currently used in SQL recovery where multiple child recoveries can be tracked under a common/parent recovery
If current recovery is child recovery triggered by another parent recovery operation, then this field willt specify the id of the parent recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Specifies the list of persistent state of a retrieve of an archive task
Specifies whether the current recovery operation is a multi-stage restore operation. This is currently used by VMware recoveres for the migration/hot-standby use case
Specifies the recovery options specific to Physical environment
Specifies the recovery options specific to Sql environment
Status Code
Success
Error
No Sample Response
Create a download files and folders recovery
Creates a download files and folders recovery
POST /data-protect/recoveries/download-files-folders
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the parameters to create a download files and folder recovery
Specifies the name of the recovery task. This field must be set and must be a unique name
Specifies the common snapshot parameters for a protected object
Specifies the list of files and folders to download
Possible values: number of items ≥ 1
Specifies the list of documents to download using item ids. Only one of filesAndFolders or documents should be used. Currently only files are supported by documents
Possible values: number of items ≥ 1
If current recovery is child task triggered through another parent recovery operation, then this field will specify the id of the parent recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Specifies the glacier retrieval type when restoring or downloding files or folders from a Glacier-based cloud snapshot
Allowable values: [
kStandard
,kExpeditedNoPCU
,kExpeditedWithPCU
]
commonRecoveryObjectSnapshotParams := &backupRecovery.CommonRecoverObjectSnapshotParams{ SnapshotID: core.StringPtr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), } filesAndFoldersObjectOptions := &backupRecovery.FilesAndFoldersObject{ AbsolutePath: core.StringPtr("/"), } createDownloadFilesAndFoldersRecoveryOptions := &backupRecovery.CreateDownloadFilesAndFoldersRecoveryOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), Name: core.StringPtr("create-download-files-and-folders-recovery-name"), Object: commonRecoveryObjectSnapshotParams, FilesAndFolders: []backupRecovery.FilesAndFoldersObject{*filesAndFoldersObjectOptions}, } result, response, _ := service.CreateDownloadFilesAndFoldersRecovery(createDownloadFilesAndFoldersRecoveryOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the common response parameters to create a Recovery
Specifies the id of the Recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Specifies the name of the Recovery
Specifies the start time of the Recovery in Unix timestamp epoch in microseconds
Specifies the end time of the Recovery in Unix timestamp epoch in microseconds. This field will be populated only after Recovery is finished
Status of the Recovery. 'Running' indicates that the Recovery is still running. 'Canceled' indicates that the Recovery has been cancelled. 'Canceling' indicates that the Recovery is in the process of being cancelled. 'Failed' indicates that the Recovery has failed. 'Succeeded' indicates that the Recovery has finished successfully. 'SucceededWithWarning' indicates that the Recovery finished successfully, but there were some warning messages. 'Skipped' indicates that the Recovery task was skipped
Possible values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,LegalHold
]Progress monitor task id for Recovery
Specifies the type of snapshot environment for which the Recovery was performed
Possible values: [
kPhysical
,kSQL
]Specifies the type of recover action
Possible values: [
RecoverVMs
,RecoverFiles
,InstantVolumeMount
,RecoverVmDisks
,RecoverVApps
,RecoverVAppTemplates
,UptierSnapshot
,RecoverRDS
,RecoverAurora
,RecoverS3Buckets
,RecoverRDSPostgres
,RecoverAzureSQL
,RecoverApps
,CloneApps
,RecoverNasVolume
,RecoverPhysicalVolumes
,RecoverSystem
,RecoverExchangeDbs
,CloneAppView
,RecoverSanVolumes
,RecoverSanGroup
,RecoverMailbox
,RecoverOneDrive
,RecoverSharePoint
,RecoverPublicFolders
,RecoverMsGroup
,RecoverMsTeam
,ConvertToPst
,DownloadChats
,RecoverMailboxCSM
,RecoverOneDriveCSM
,RecoverSharePointCSM
,RecoverNamespaces
,RecoverObjects
,RecoverSfdcObjects
,RecoverSfdcOrg
,RecoverSfdcRecords
,DownloadFilesAndFolders
,CloneVMs
,CloneView
,CloneRefreshApp
,CloneVMsToView
,ConvertAndDeployVMs
,DeployVMs
]Specifies the list of tenants that have permissions for this recovery
Specifies the information about the creation of the protection group or recovery
Specifies whether it's possible to tear down the objects created by the recovery
Specifies the status of the tear down operation. This is only set when the canTearDown is set to true. 'DestroyScheduled' indicates that the tear down is ready to schedule. 'Destroying' indicates that the tear down is still running. 'Destroyed' indicates that the tear down succeeded 'DestroyError' indicates that the tear down failed
Possible values: [
DestroyScheduled
,Destroying
,Destroyed
,DestroyError
]Specifies the error message about the tear down operation if it fails
Specifies messages about the recovery
Specifies whether the current recovery operation has created child recoveries. This is currently used in SQL recovery where multiple child recoveries can be tracked under a common/parent recovery
If current recovery is child recovery triggered by another parent recovery operation, then this field willt specify the id of the parent recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Specifies the list of persistent state of a retrieve of an archive task
Specifies whether the current recovery operation is a multi-stage restore operation. This is currently used by VMware recoveres for the migration/hot-standby use case
Specifies the recovery options specific to Physical environment
Specifies the recovery options specific to Sql environment
Status Code
Success
Error
No Sample Response
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the id of a Recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
getRecoveryByIdOptions := &backupRecovery.GetRecoveryByIdOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxx"), } result, response, _ := service.GetRecoveryByID(getRecoveryByIdOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the common response parameters to create a Recovery
Specifies the id of the Recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Specifies the name of the Recovery
Specifies the start time of the Recovery in Unix timestamp epoch in microseconds
Specifies the end time of the Recovery in Unix timestamp epoch in microseconds. This field will be populated only after Recovery is finished
Status of the Recovery. 'Running' indicates that the Recovery is still running. 'Canceled' indicates that the Recovery has been cancelled. 'Canceling' indicates that the Recovery is in the process of being cancelled. 'Failed' indicates that the Recovery has failed. 'Succeeded' indicates that the Recovery has finished successfully. 'SucceededWithWarning' indicates that the Recovery finished successfully, but there were some warning messages. 'Skipped' indicates that the Recovery task was skipped
Possible values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,LegalHold
]Progress monitor task id for Recovery
Specifies the type of snapshot environment for which the Recovery was performed
Possible values: [
kPhysical
,kSQL
]Specifies the type of recover action
Possible values: [
RecoverVMs
,RecoverFiles
,InstantVolumeMount
,RecoverVmDisks
,RecoverVApps
,RecoverVAppTemplates
,UptierSnapshot
,RecoverRDS
,RecoverAurora
,RecoverS3Buckets
,RecoverRDSPostgres
,RecoverAzureSQL
,RecoverApps
,CloneApps
,RecoverNasVolume
,RecoverPhysicalVolumes
,RecoverSystem
,RecoverExchangeDbs
,CloneAppView
,RecoverSanVolumes
,RecoverSanGroup
,RecoverMailbox
,RecoverOneDrive
,RecoverSharePoint
,RecoverPublicFolders
,RecoverMsGroup
,RecoverMsTeam
,ConvertToPst
,DownloadChats
,RecoverMailboxCSM
,RecoverOneDriveCSM
,RecoverSharePointCSM
,RecoverNamespaces
,RecoverObjects
,RecoverSfdcObjects
,RecoverSfdcOrg
,RecoverSfdcRecords
,DownloadFilesAndFolders
,CloneVMs
,CloneView
,CloneRefreshApp
,CloneVMsToView
,ConvertAndDeployVMs
,DeployVMs
]Specifies the list of tenants that have permissions for this recovery
Specifies the information about the creation of the protection group or recovery
Specifies whether it's possible to tear down the objects created by the recovery
Specifies the status of the tear down operation. This is only set when the canTearDown is set to true. 'DestroyScheduled' indicates that the tear down is ready to schedule. 'Destroying' indicates that the tear down is still running. 'Destroyed' indicates that the tear down succeeded 'DestroyError' indicates that the tear down failed
Possible values: [
DestroyScheduled
,Destroying
,Destroyed
,DestroyError
]Specifies the error message about the tear down operation if it fails
Specifies messages about the recovery
Specifies whether the current recovery operation has created child recoveries. This is currently used in SQL recovery where multiple child recoveries can be tracked under a common/parent recovery
If current recovery is child recovery triggered by another parent recovery operation, then this field willt specify the id of the parent recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Specifies the list of persistent state of a retrieve of an archive task
Specifies whether the current recovery operation is a multi-stage restore operation. This is currently used by VMware recoveres for the migration/hot-standby use case
Specifies the recovery options specific to Physical environment
Specifies the recovery options specific to Sql environment
Status Code
Success
Error
No Sample Response
Download files from the given download file recovery
Download files from the given download file recovery
GET /data-protect/recoveries/{id}/download-files
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the id of a Recovery
Possible values: Value must match regular expression
^\d+:\d+:\d+$
Query Parameters
Specifies the start offset of file chunk to be downloaded
Specifies the length of bytes to download. This can not be greater than 8MB (8388608 byets)
Specifies the downloaded type, i.e: error, success_files_list
Specifies the name of the source on which restore is done
Specifies the start time of restore task
Specifies if objects of all the organizations under the hierarchy of the logged in user's organization should be returned
downloadFilesFromRecoveryOptions := &backupRecovery.DownloadFilesFromRecoveryOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.StringPtr("xxxxxxxxxxxxxxxx:xxxxxxxxxxxxx:xxx"), } response, _ := service.DownloadFilesFromRecovery(downloadFilesFromRecoveryOptions) fmt.Println(response)
List Restore Points in a given time range
List Restore Points i.e. returns the snapshots in in a given time range
POST /data-protect/snapshots/restore-points
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the parameters to search for indexed objects
Specifies the end time specified as a Unix epoch Timestamp in microseconds
Specifies the protection source environment type
Allowable values: [
kVMware
,kHyperV
,kAzure
,kGCP
,kKVM
,kAcropolis
,kAWS
,kPhysical
,kGPFS
,kElastifile
,kNetapp
,kGenericNas
,kIsilon
,kFlashBlade
,kPure
,kIbmFlashSystem
,kSQL
,kExchange
,kAD
,kOracle
,kView
,kRemoteAdapter
,kO365
,kKubernetes
,kCassandra
,kMongoDB
,kCouchbase
,kHdfs
,kHive
,kSAPHANA
,kHBase
,kUDA
,kSfdc
]Specifies the jobs for which to get the full snapshot information
Specifies the start time specified as a Unix epoch Timestamp in microseconds
Specifies the id of the Protection Source which is to be restored
getRestorePointsInTimeRangeOptions := &backupRecovery.GetRestorePointsInTimeRangeOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), StartTimeUsecs: core.Int64Ptr(1), EndTimeUsecs: core.Int64Ptr(10), ProtectionGroupIds: []string{"protection-group-id-1"} } result, response, _ := service.GetRestorePointsInTimeRange(getRestorePointsInTimeRangeOptions) fmt.Println(result) fmt.Println(response)
Download an indexed file
Download an indexed file from a snapshot
GET /data-protect/snapshots/{snapshotsId}/download-file
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the snapshot id to download from
Query Parameters
Specifies the path to the file to download. If no path is specified and snapshot environment is kVMWare, VMX file for VMware will be downloaded. For other snapshot environments, this field must be specified
Specifies if NVRAM file for VMware should be downloaded
Specifies the number of attempts the protection run took to create this file
Specifies the start offset of file chunk to be downloaded
Specifies the length of bytes to download. This can not be greater than 8MB (8388608 byets)
downloadIndexedFileOptions := &backupRecovery.DownloadIndexedFileOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), SnapshotsID: core.StringPtr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), FilePath: core.StringPtr("./"), } response, _ := service.DownloadIndexedFile(downloadIndexedFileOptions) fmt.Println(response)
List indexed objects
List all the indexed objects like files and folders, emails, mailboxes etc., that match the specified search and filter criteria from protected objects
POST /data-protect/search/indexed-objects
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the parameters to search for indexed objects
Specifies the object type to be searched for
Allowable values: [
Emails
,Files
,CassandraObjects
,CouchbaseObjects
,HbaseObjects
,HiveObjects
,MongoObjects
,HDFSObjects
,ExchangeObjects
,PublicFolders
,GroupsObjects
,TeamsObjects
,SharepointObjects
,OneDriveObjects
,UdaObjects
,SfdcRecords
]Specifies a list of Protection Group ids to filter the indexed objects. If specified, the objects indexed by specified Protection Group ids will be returned
Specifies the Storage Domain ids to filter indexed objects for which Protection Groups are writing data to Cohesity Views on the specified Storage Domains
TenantId contains id of the tenant for which objects are to be returned
If true, the response will include objects which belongs to all tenants which the current user has permission to see. Default value is false
Default:
false
"This field is deprecated. Please use mightHaveTagIds."
Possible values: contains only unique items
"This field is deprecated. Please use mightHaveSnapshotTagIds."
Specifies tags which must be all present in the document
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies list of tags, one or more of which might be present in the document. These are OR'ed together and the resulting criteria AND'ed with the rest of the query
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies snapshot tags which must be all present in the document
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies list of snapshot tags, one or more of which might be present in the document. These are OR'ed together and the resulting criteria AND'ed with the rest of the query
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies the pagination cookie with which subsequent parts of the response can be fetched
Specifies the number of indexed objects to be fetched for the specified pagination cookie
Specifies whether we can serve the GET request from the read replica cache. There is a lag of 15 seconds between the read replica and primary data source
Parameters required to search Cassandra on a cluster
Parameters required to search CouchBase on a cluster
Specifies the request parameters to search for emails and email folders
Specifies the parameters which are specific for searching Exchange mailboxes
Specifies the request parameters to search for files and file folders
Parameters required to search Hbase on a cluster
Parameters required to search HDFS on a cluster
Parameters required to search Hive on a cluster
Parameters required to search Mongo DB on a cluster
Specifies the request params to search for Groups items
Specifies the request params to search for Teams items
Specifies the request parameters to search for files/folders in document libraries
Specifies the request parameters to search for Public Folder items
Specifies the parameters which are specific for searching Salesforce records
Specifies the request parameters to search for files/folders in document libraries
Parameters required to search Universal Data Adapter objects
searchFileRequestParams := &backupRecovery.SearchFileRequestParams{ SearchString: core.StringPtr("search-string-name"), } searchIndexedObjectsOptions := &backupRecovery.SearchIndexedObjectsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ObjectType: core.StringPtr("Files"), FileParams: searchFileRequestParams, } result, response, _ := service.SearchIndexedObjects(searchIndexedObjectsOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the common search indexed objects response params
Specifies the object type
Possible values: [
Emails
,Files
,CassandraObjects
,CouchbaseObjects
,HbaseObjects
,HiveObjects
,MongoObjects
,HDFSObjects
,ExchangeObjects
,PublicFolders
,GroupsObjects
,TeamsObjects
,SharepointObjects
,OneDriveObjects
,UdaObjects
,SfdcRecords
]Specifies the total number of indexed objects that match the filter and search criteria. Use this value to determine how many additional requests are required to get the full result
Specifies cookie for resuming search if pagination is being used
Specifies the indexed Cassandra objects
Specifies the indexed Couchbase objects
Specifies the indexed emails and email folders
Specifies the indexed HDFS objects
Specifies the indexed files
Specifies the indexed Hbase objects
Specifies the indexed HDFS objects
Specifies the indexed Hive objects
Specifies the indexed Mongo objects
Specifies the indexed M365 Groups items like group mail items, files etc.
Specifies the indexed one drive items
Specifies the indexed Public folder items
Specifies the list of salesforce records
Specifies the indexed Sharepoint items
Specifies the indexed M365 Teams items like channels, files etc.
Specifies the indexed Universal Data Adapter objects
Status Code
Success
Error
No Sample Response
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Query Parameters
Specifies the search string to filter the objects. This search string will be applicable for objectnames. User can specify a wildcard character '' as a suffix to a string where all object names are matched with the prefix string. For example, if vm1 and vm2 are the names of objects, user can specify vm to list the objects. If not specified, then all the objects will be returned which will match other filtering criteria
Specifies the environment type to filter objects
Allowable values: [
kPhysical
,kSQL
]Possible values: contains only unique items
Specifies the protection type to filter objects
Allowable values: [
kAgent
,kNative
,kSnapshotManager
,kRDSSnapshotManager
,kAuroraSnapshotManager
,kAwsS3
,kAwsRDSPostgresBackup
,kAwsAuroraPostgres
,kAwsRDSPostgres
,kAzureSQL
,kFile
,kVolume
]Possible values: contains only unique items
Specifies a list of Protection Group ids to filter the objects. If specified, the objects protected by specified Protection Group ids will be returned
Specifies a list of Object ids to filter
Specifies the operating system types to filter objects on
Allowable values: [
kLinux
,kWindows
]Specifies a list of Protection Source object ids to filter the objects. If specified, the object which are present in those Sources will be returned
Specifies a list of Protection Source object uuids to filter the objects. If specified, the object which are present in those Sources will be returned
Specifies the protection status of objects. If set to true, only protected objects will be returned. If set to false, only unprotected objects will be returned. If not specified, all objects will be returned
If set to true, then objects which are deleted on atleast one cluster will be returned. If not set or set to false then objects which are registered on atleast one cluster are returned
Specifies a list of status of the object's last protection run Only objects with last run status of these will be returned
Allowable values: [
Accepted
,Running
,Canceled
,Canceling
,Failed
,Missed
,Succeeded
,SucceededWithWarning
,OnHold
,Finalizing
,Skipped
,LegalHold
]Specifies the list of cluster identifiers. Format is clusterId:clusterIncarnationId Only records from clusters having these identifiers will be returned
Specifies whether to include deleted objects in response. These objects can't be protected but can be recovered. This field is deprecated
Specifies the pagination cookie with which subsequent parts of the response can be fetched
Specifies the number of objects to be fetched for the specified pagination cookie
Specifies tags which must be all present in the document
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies list of tags, one or more of which might be present in the document. These are OR'ed together and the resulting criteria AND'ed with the rest of the query
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies snapshot tags which must be all present in the document
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies list of snapshot tags, one or more of which might be present in the document. These are OR'ed together and the resulting criteria AND'ed with the rest of the query
Possible values: contains only unique items, Value must match regular expression
^\d+:\d+:[A-Z0-9-]+$
Specifies the tag name to filter the tagged objects and snapshots User can specify a wildcard character '*' as a suffix to a string where all object's tag names are matched with the prefix string
Specifies the tag names to filter the tagged objects and snapshots
Specifies the tag names to filter the tagged objects and snapshots
Allowable values: [
System
,Custom
,ThirdParty
]Specifies the tag category to filter the objects and snapshots
Allowable values: [
Security
]Specifies the tag subcategory to filter the objects and snapshots
Allowable values: [
Classification
,Threats
,Anomalies
,Dspm
]pecifies whether to include helios tags information for objects in response. Default value is false
Specifies the key-value pairs to filtering the results for the search. Each filter is of the form 'key:value'. The filter 'externalFilters:k1:v1&externalFilters:k2:v2&externalFilters:k2:v3' returns the documents where each document will match the query (k1=v1) AND (k2=v2 OR k2 = v3). Allowed keys: - vmBiosUuid - graphUuid - arn - instanceId - bucketName - azureId
searchOjectsOptions := &backupRecovery.SearchObjectsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), SearchString: core.StringPtr("*"), } result, response, _ := service.SearchObjects(searchOjectsOptions) fmt.Println(result) fmt.Println(response)
List Protected Objects
List protected objects and corresponding detail information from registered sources filtered by specified query parameters. If no search pattern or filter parameters are specified, all protected objects currently found are returned
GET /data-protect/search/protected-objects
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Query Parameters
Specifies the search string to filter the objects. This search string will be applicable for objectnames and Protection Group names. User can specify a wildcard character '' as a suffix to a string where all object and their Protection Group names are matched with the prefix string. For example, if vm1 and vm2 are the names of objects, user can specify vm to list the objects. If not specified, then all the objects with Protection Groups will be returned which will match other filtering criteria
Specifies the environment type to filter objects
Allowable values: [
kPhysical
,kSQL
]Possible values: contains only unique items
Specifies a list of recovery actions. Only snapshots that applies to these actions will be returned
Allowable values: [
RecoverVMs
,RecoverFiles
,InstantVolumeMount
,RecoverVmDisks
,MountVolumes
,RecoverVApps
,RecoverRDS
,RecoverAurora
,RecoverS3Buckets
,RecoverApps
,RecoverNasVolume
,RecoverPhysicalVolumes
,RecoverSystem
,RecoverSanVolumes
,RecoverNamespaces
,RecoverObjects
,DownloadFilesAndFolders
,RecoverPublicFolders
,RecoverVAppTemplates
,RecoverMailbox
,RecoverOneDrive
,RecoverMsTeam
,RecoverMsGroup
,RecoverSharePoint
,ConvertToPst
,RecoverSfdcRecords
,RecoverAzureSQL
,DownloadChats
,RecoverRDSPostgres
,RecoverMailboxCSM
,RecoverOneDriveCSM
,RecoverSharePointCSM
]Possible values: contains only unique items
Filter by ObjectActionKey, which uniquely represents protection of an object. An object can be protected in multiple ways but atmost once for a given combination of ObjectActionKey. When specified, latest snapshot info matching the objectActionKey is for corresponding object
Allowable values: [
kPhysical
,kSQL
]Specifies a list of Protection Group ids to filter the objects. If specified, the objects protected by specified Protection Group ids will be returned
Specifies a list of Object ids to filter
Specifies the size of objects to be fetched for a single subresult
Specifies the timestamp in Unix time epoch in microseconds to filter the objects if the Object has a successful snapshot after this value
Specifies the timestamp in Unix time epoch in microseconds to filter the objects if the Object has a successful snapshot before this value
Specifies the operating system types to filter objects on
Allowable values: [
kLinux
,kWindows
]Specifies a list of Protection Source object ids to filter the objects. If specified, the object which are present in those Sources will be returned
Specifies a list of run instance ids. If specified only objects belonging to the provided run id will be retunrned
Specifies whether to only return the CDP protected objects
Specifies whether we can serve the GET request to the read replica cache cache. There is a lag of 15 seconds between the read replica and primary data source
searchProtectedObjectsOptions := &backupRecovery.SearchProtectedObjectsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), SearchString: core.StringPtr("*"), } result, response, _ := service.SearchProtectedObjects(searchProtectedObjectsOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the Protected Objects search result
Specifies the list of Protected Objects
Specifies the metadata information about the Protection Groups, Protection Policy etc., for search result
- metadata
Specifies the list of unique Protection Group identifiers for all the Objects returned in the response
Specifies the total number of search results which matches the search criteria
Status Code
Success
Error
No Sample Response
Get the list of Protection Source registrations
Get the list of Protection Source registrations
GET /data-protect/sources/registrations
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Query Parameters
Ids specifies the list of source registration ids to return. If left empty, every source registration will be returned by default
If true, the encrypted crednetial for the registered sources will be included. Credential is first encrypted with internal key and then reencrypted with user supplied encryption key
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies whether we can serve the GET request from the read replica cache. There is a lag of 15 seconds between the read replica and primary data source
If true, the external entity metadata like maintenance mode config for the registered sources will be included
If true, tenant migration check will be ignored
getSourceRegistrationOptions := &backupRecovery.GetSourceRegistrationsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), } result, response, _ := service.GetSourceRegistrations(getSourceRegistrationOptions) fmt.Println(result) fmt.Println(response)
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the parameters to register a Protection Source
Specifies the environment type of the Protection Source
Allowable values: [
kPhysical
,kSQL
]A user specified name for this source
Specifies if credentials are encrypted by internal key
Specifies the key that user has encrypted the credential with
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user
Specfies the list of connections for the source
Specifies the connector group id of connector groups
Specifies the advanced configuration for a protection source
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. Also, this is the 'string' of connectionId. This property was added to accommodate for ID values that exceed 2^53 - 1, which is the max value for which JS maintains precision
Specifies parameters to register physical server
physicalParamsOptions := &backupRecovery.PhysicalParams{ Endpoint: core.StringPtr("xxx.xx.xx.xx"), HostType: core.StringPtr("kWindows"), PhysicalType: core.StringPtr("kHost"), Applications: []string{"kSQL"}, } registerSourceRegistrationOptions := &backupRecovery.RegisterProtectionSourceOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), Environment: core.StringPtr("kPhysical"), Name: core.StringPtr("register-protection-source-name"), PhysicalParams: physicalParamsOptions, } result, response, _ := service.RegisterProtectionSource(registerSourceRegistrationOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the parameters which are common between all Protection Source registrations
Source Registration ID. This can be used to retrieve, edit or delete the source registration
ID of top level source object discovered after the registration
Specifies information about an object
Specifies the environment type of the Protection Source
Possible values: [
kPhysical
,kSQL
]The user specified name for this source
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. This field will be depricated in future. Use connections field
Specfies the list of connections for the source
Specifies the connector group id of connector groups
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. Also, this is the 'string' of connectionId. This property was added to accommodate for ID values that exceed 2^53 - 1, which is the max value for which JS maintains precision
Specifies the advanced configuration for a protection source
Specifies the status of the authentication during the registration of a Protection Source 'Pending' indicates the authentication is in progress 'Scheduled' indicates the authentication is scheduled 'Finished' indicates the authentication is completed 'RefreshInProgress' indicates the refresh is in progress
Possible values: [
Pending
,Scheduled
,Finished
,RefreshInProgress
]Specifies the time when the source was registered in milliseconds
Specifies the time when the source was last refreshed in milliseconds
Specifies the External metadata of an entity
Specifies parameters to register physical server
Status Code
Success
Error
No Sample Response
Get a Protection Source registration
Get a Protection Source registration
GET /data-protect/sources/registrations/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Specifies the type of request from UI, which is used for services like magneto to determine the priority of requests
Allowable values: [
UIUser
,UIAuto
,Helios
]
Path Parameters
Specifies the id of the Protection Source registration
getProtectionSourceByIdOptions := &backupRecovery.GetProtectionSourceRegistrationOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.Int64Ptr(1), } result, response, _ := service.GetProtectionSourceRegistration(getProtectionSourceByIdOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the parameters which are common between all Protection Source registrations
Source Registration ID. This can be used to retrieve, edit or delete the source registration
ID of top level source object discovered after the registration
Specifies information about an object
Specifies the environment type of the Protection Source
Possible values: [
kPhysical
,kSQL
]The user specified name for this source
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. This field will be depricated in future. Use connections field
Specfies the list of connections for the source
Specifies the connector group id of connector groups
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. Also, this is the 'string' of connectionId. This property was added to accommodate for ID values that exceed 2^53 - 1, which is the max value for which JS maintains precision
Specifies the advanced configuration for a protection source
Specifies the status of the authentication during the registration of a Protection Source 'Pending' indicates the authentication is in progress 'Scheduled' indicates the authentication is scheduled 'Finished' indicates the authentication is completed 'RefreshInProgress' indicates the refresh is in progress
Possible values: [
Pending
,Scheduled
,Finished
,RefreshInProgress
]Specifies the time when the source was registered in milliseconds
Specifies the time when the source was last refreshed in milliseconds
Specifies the External metadata of an entity
Specifies parameters to register physical server
Status Code
Success
Error
No Sample Response
Update Protection Source registration
Update Protection Source registration
PUT /data-protect/sources/registrations/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the id of the Protection Source registration
Specifies the parameters to update the registration
Specifies the environment type of the Protection Source
Allowable values: [
kPhysical
,kSQL
]A user specified name for this source
Specifies if credentials are encrypted by internal key
Specifies the key that user has encrypted the credential with
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user
Specfies the list of connections for the source
Specifies the connector group id of connector groups
Specifies the advanced configuration for a protection source
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. Also, this is the 'string' of connectionId. This property was added to accommodate for ID values that exceed 2^53 - 1, which is the max value for which JS maintains precision
Specifies the end time of attempt in Unix epoch Timestamp(in microseconds) for an object
Specifies parameters to register physical server
physicalParamsOptions := &backupRecovery.PhysicalParams{ Endpoint: core.StringPtr("xxx.xx.xx.xx"), HostType: core.StringPtr("kLinux"), PhysicalType: core.StringPtr("kHost"), Applications: []string{"kSQL"}, } updateSourceRegistrationOptions := &backupRecovery.UpdateProtectionSourceRegistrationOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.Int64Ptr(1), Environment: core.StringPtr("kPhysical"), Name: core.StringPtr("update-protection-source-name"), PhysicalParams: physicalParamsOptions, } result, response, _ := service.UpdateProtectionSourceRegistration(updateSourceRegistrationOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the parameters which are common between all Protection Source registrations
Source Registration ID. This can be used to retrieve, edit or delete the source registration
ID of top level source object discovered after the registration
Specifies information about an object
Specifies the environment type of the Protection Source
Possible values: [
kPhysical
,kSQL
]The user specified name for this source
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. This field will be depricated in future. Use connections field
Specfies the list of connections for the source
Specifies the connector group id of connector groups
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. Also, this is the 'string' of connectionId. This property was added to accommodate for ID values that exceed 2^53 - 1, which is the max value for which JS maintains precision
Specifies the advanced configuration for a protection source
Specifies the status of the authentication during the registration of a Protection Source 'Pending' indicates the authentication is in progress 'Scheduled' indicates the authentication is scheduled 'Finished' indicates the authentication is completed 'RefreshInProgress' indicates the refresh is in progress
Possible values: [
Pending
,Scheduled
,Finished
,RefreshInProgress
]Specifies the time when the source was registered in milliseconds
Specifies the time when the source was last refreshed in milliseconds
Specifies the External metadata of an entity
Specifies parameters to register physical server
Status Code
Success
Error
No Sample Response
Patches a Protection Source
Patches a Protection Source
PATCH /data-protect/sources/registrations/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the id of the Protection Source registration
Specifies the parameters to partially update the registration
Specifies the environment type of the Protection Source to be patched. Currently the only environment supported is kCassandra
Allowable values: [
kPhysical
,kSQL
]
patchDataSourceConnectionOptions := &backupRecovery.PatchDataSourceConnectionOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ConnectionID: core.StringPtr("connection-id"), ConnectionName: core.StringPtr("connection-name"), } result, response, _ := service.PatchDataSourceConnection(patchDataSourceConnectionOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies the parameters which are common between all Protection Source registrations
Source Registration ID. This can be used to retrieve, edit or delete the source registration
ID of top level source object discovered after the registration
Specifies information about an object
Specifies the environment type of the Protection Source
Possible values: [
kPhysical
,kSQL
]The user specified name for this source
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. This field will be depricated in future. Use connections field
Specfies the list of connections for the source
Specifies the connector group id of connector groups
Specifies the id of the connection from where this source is reachable. This should only be set for a source being registered by a tenant user. Also, this is the 'string' of connectionId. This property was added to accommodate for ID values that exceed 2^53 - 1, which is the max value for which JS maintains precision
Specifies the advanced configuration for a protection source
Specifies the status of the authentication during the registration of a Protection Source 'Pending' indicates the authentication is in progress 'Scheduled' indicates the authentication is scheduled 'Finished' indicates the authentication is completed 'RefreshInProgress' indicates the refresh is in progress
Possible values: [
Pending
,Scheduled
,Finished
,RefreshInProgress
]Specifies the time when the source was registered in milliseconds
Specifies the time when the source was last refreshed in milliseconds
Specifies the External metadata of an entity
Specifies parameters to register physical server
Status Code
Success
Error
No Sample Response
Delete Protection Source Registration
Delete Protection Source Registration
DELETE /data-protect/sources/registrations/{id}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the ID of the Protection Source Registration
deleteProtectionSourceOptions := &backupRecovery.DeleteProtectionSourceRegistrationOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.Int64Ptr(1), } response, _ := service.DeleteProtectionSourceRegistration(deleteProtectionSourceOptions) fmt.Println(response)
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the id of the Protection Source
refreshProtectionSourceByIdOptions := &backupRecovery.RefreshProtectionSourceByIdOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ID: core.Int64Ptr(1), } response, _ := service.RefreshProtectionSourceByID(refreshProtectionSourceByIdOptions) fmt.Println(response)
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Query Parameters
Specifies the unique IDs of the connections which are to be fetched
Specifies the names of the connections which are to be fetched
getDataSourceConnectionsOptions := &backupRecovery.GetDataSourceConnectionsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), } result, response, _ := service.GetDataSourceConnections(getDataSourceConnectionsOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies a list of data-source connections
Specifies all the properties of the data-source connection. A connection is specified by an ID that's guaranteed to be unique. A connection is associated with exactly one tenant. A connection can be thought of as a subset of its tenant's connectors and can contain 0 or more connectors within it. A connector can only be associated with one connection at max at a given time
Status Code
Success
Error
No Sample Response
Create a data-source connection
Creates a data-source connection which can be used to register and protect sources, to access filer services, etc
POST /data-source-connections
Request
Custom Headers
Id of the tenant accessing the cluster
Specifies the request parameters to create a connection
Specifies the name of the connection being created. For a given tenant, different connections can't have the same name. However, two (or more) different tenants can each have a connection with the same name.
createDataSourceConnectionOptions := &backupRecovery.CreateDataSourceConnectionOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ConnectionName: core.StringPtr("data-connection-name"), } result, response, _ := service.CreateDataSourceConnection(createDataSourceConnectionOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies all the properties of the data-source connection. A connection is specified by an ID that's guaranteed to be unique. A connection is associated with exactly one tenant. A connection can be thought of as a subset of its tenant's connectors and can contain 0 or more connectors within it. A connector can only be associated with one connection at max at a given time
Specifies the unique ID of the connection
Specifies the name of the connection. For a given tenant, different connections can't have the same name. However, two (or more) different tenants can each have a connection with the same name
Specifies the IDs of the connectors in this connection
Specifies a token that can be used to register a connector against this connection
Specifies the tenant ID of the connection
Specifies the connector ID that is currently in upgrade
Status Code
Success
Error
No Sample Response
Delete the data-source connection specified by the ID in the request path
Delete a data-source connection using its ID. After deleting a connection, any connectors within it won't be able to connect to the cluster A connection should only be deleted after ensuring that no sources are using it
DELETE /data-source-connections/{connectionId}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the ID of the connection, connectors belonging to which are to be fetched
deleteDataSourceConnectionOptions := &backupRecovery.DeleteDataSourceConnectionOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ConnectionID: core.StringPtr("connection-id"), } response, _ := service.DeleteDataSourceConnection(deleteDataSourceConnectionOptions) fmt.Println(response)
Patch a data-source connection using its ID
Patch the data-source connection specified by the ID in the request path
PATCH /data-source-connections/{connectionId}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the ID of the connection, connectors belonging to which are to be fetched
Specifies the connection resource with the properties that can be patched
New name for the connection being patched
patchDataSourceConnectionOptions := &backupRecovery.PatchDataSourceConnectionOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ConnectionID: core.StringPtr("connection-id"), ConnectionName: core.StringPtr("connection-name"), } result, response, _ := service.PatchDataSourceConnection(patchDataSourceConnectionOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies all the properties of the data-source connection. A connection is specified by an ID that's guaranteed to be unique. A connection is associated with exactly one tenant. A connection can be thought of as a subset of its tenant's connectors and can contain 0 or more connectors within it. A connector can only be associated with one connection at max at a given time
Specifies the unique ID of the connection
Specifies the name of the connection. For a given tenant, different connections can't have the same name. However, two (or more) different tenants can each have a connection with the same name
Specifies the IDs of the connectors in this connection
Specifies a token that can be used to register a connector against this connection
Specifies the tenant ID of the connection
Specifies the connector ID that is currently in upgrade
Status Code
Success
Error
No Sample Response
Generate registration token for a data-source connection
Generate a token to register connectors against the data-source connection specified by the ID in the request path. The same token can be used to register multiple connectors as long as the token is valid. Once the token expires, typically in a day, this API can be hit again to generate another token
POST /data-source-connections/{connectionId}/registrationToken
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the ID of the connection, connectors belonging to which are to be fetched
generateDataSourceConnectionRegistrationTokenOptions := &backupRecovery.GenerateDataSourceConnectionRegistrationTokenOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ConnectionID: core.StringPtr("connection-id"), } result, response, _ := service.GenerateDataSourceConnectionRegistrationToken(generateDataSourceConnectionRegistrationTokenOptions) fmt.Println(result) fmt.Println(response)
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Query Parameters
Specifies the unique IDs of the connectors which are to be fetched
Specifies the names of the connectors which are to be fetched
Specifies the ID of the connection, connectors belonging to which are to be fetched
getDataSourceConnectorOptions := &backupRecovery.GetDataSourceConnectorsOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), TenantID: core.StringPtr("tenantId/"), ConnectionID: core.StringPtr("xxxxxxxxxxxxxxxxxxx"), } result, response, _ := service.GetDataSourceConnectors(getDataSourceConnectorOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies a list of data-source connectors
Specifies all the properties of the data-source connector. A connector is uniquely identified by a 'connectorId' for a given tenant. A connector resource is created internally by the system when a connector is registered with the cluster and thus, a POST API doesn't exist and isn't needed for creating a connector resource. An active connector is always associated with a data-source connection belonging to its tenant. A connector can never be associated with more than one connection/tenant/cluster at a given time. A connector also has a name which can be updated by the user. Names of connectors for a tenant or across tenants needn't be unique. Also, a connector constituent can optionally have two actively used NICs (dual-homed connectors)
Status Code
Success
Error
No Sample Response
Get information about the available connectors
Get information about the available connectors
GET /data-source-connectors/metadata
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
getConnectorMetadataOptions := &backupRecovery.GetConnectorMetadataOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), } result, response, _ := service.GetConnectorMetadata(getConnectorMetadataOptions) fmt.Println(result) fmt.Println(response)
Delete a data-source connector using its ID
Delete the data-source connector specified by the ID in the request path
DELETE /data-source-connectors/{connectorId}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the unique ID of the connector which is to be deleted
deleteDataSourceConnectorOptions := &backupRecovery.DeleteDataSourceConnectorOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ConnectorID: core.StringPtr("connector-id"), } response, _ := service.DeleteDataSourceConnector(deleteDataSourceConnectorOptions) fmt.Println(response)
Patch a data-source connector using its ID
Patch the data-source connector specified by the ID in the request path
PATCH /data-source-connectors/{connectorId}
Request
Custom Headers
Specifies the key to be used to encrypt the source credential If includeSourceCredentials is set to true this key must be specified
Path Parameters
Specifies the unique ID of the connector which is to be deleted
Specifies the properties of a data-source connector to patch
Name of the connector
patchDataSourceConnectorOptions := &backupRecovery.PatchDataSourceConnectorOptions{ XIBMTenantID: core.StringPtr("xxxxxxxxxx/"), ConnectorID: core.StringPtr("connector-id"), } result, response, _ := service.PatchDataSourceConnector(patchDataSourceConnectorOptions) fmt.Println(result) fmt.Println(response)
Response
Specifies all the properties of the data-source connector. A connector is uniquely identified by a 'connectorId' for a given tenant. A connector resource is created internally by the system when a connector is registered with the cluster and thus, a POST API doesn't exist and isn't needed for creating a connector resource. An active connector is always associated with a data-source connection belonging to its tenant. A connector can never be associated with more than one connection/tenant/cluster at a given time. A connector also has a name which can be updated by the user. Names of connectors for a tenant or across tenants needn't be unique. Also, a connector constituent can optionally have two actively used NICs (dual-homed connectors)
Specifies the ID of the connection to which this connector belongs
Specifies the unique ID of the connector
Specifies the IP of the connector's NIC facing the cluster
Specifies the name of the connector. The name of a connector need not be unique within a tenant or across tenants. The name of the connector can be updated as needed
Specifies status information for the data-source connector. For example if it's currently connected to the cluster, when it last connected to the cluster successfully, etc
- connectivityStatus
Specifies whether the connector is currently connected to the cluster
Specifies the last timestamp in UNIX time (seconds) when the connector had successfully connected to the cluster. This property can be present even if the connector is currently disconnected
Specifies error message when the connector is unable to connect to the cluster
Specifies the connector's software version
Specifies the IP of the connector's NIC facing the sources of the tenant to which the connector belongs
Specifies upgrade status for the data-source connector. For example when the upgrade started, current status of the upgrade, errors for upgrade failure etc.
- upgradeStatus
Specifies the last fetched upgrade status of the connector
Possible values: [
NotStarted
,InProgress
,Succeeded
,Failed
]Specifies the last timestamp in UNIX time (milliseconds) when the connector upgrade status was fetched
Specifies error message for upgrade failure
Specifies the last timestamp in UNIX time (milliseconds) when the connector upgrade was triggered
Status Code
Success
Error