diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json index e8d3927349b5..4d965a2cfaf9 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/examples/ListOperations.json @@ -5,1332 +5,455 @@ "responses": { "200": { "body": { - "Value": [ - { - "Name": "Microsoft.RecoveryServices/Vaults/usages/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "VaultUsage", - "Operation": "Recovery Services Vault usage details.", - "Description": "Returnsusage details for a Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupUsages Summaries", - "Operation": "Recovery Services Protected Items and ProtectedServers usage summaries details.", - "Description": "Returns summaries for ProtectedItems and Protected Servers for a Recovery Services ." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/storageConfig/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "VaultStorage Config", - "Operation": "Get Resource Storage Config", - "Description": "ReturnsStorage Configuration for Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/storageConfig/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "VaultStorage Config", - "Operation": "Write Resource Storage Config", - "Description": "UpdatesStorage Configuration for Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "VaultConfig", - "Operation": "Get Resource Config", - "Description": "Returns Configurationfor Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "VaultConfig", - "Operation": "Update Resource Config", - "Description": "Updates Configurationfor Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "TokenInfo", - "Operation": "Get Vault Token Info", - "Description": "Returns token informationfor Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "SecurityPINInfo", - "Operation": "GetSecurity PIN Info", - "Description": "Returns Security PIN Information for RecoveryServices Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupManagement Metadata", - "Operation": "Get Backup Management Metadata", - "Description": "ReturnsBackup Management Metadata for Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupOperation Results", - "Operation": "Get Backup Operation Result", - "Description": "ReturnsBackup Operation Result for Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupOperations/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupOperation Status", - "Operation": "Get Backup Operation Status", - "Description": "ReturnsBackup Operation Status for Recovery Services Vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupJobs", - "Operation": "Get Jobs", - "Description": "Returns all Job Objects" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupJobs", - "Operation": "Cancel Jobs", - "Description": "Cancel the Job" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ExportBackup Jobs", - "Operation": "Export Jobs", - "Description": "Export Jobs" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupJobs Operation Results", - "Operation": "Get Job Operation Result", - "Description": "Returnsthe Result of Job Operation." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ExportBackup Jobs Operation Results", - "Operation": "Get Export Job Operation Result", - "Description": "Returnsthe Result of Export Job Operation." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "RecoveryPoints", - "Operation": "Get Recovery Points", - "Description": "Get Recovery Pointsfor Protected Items." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "RecoveryPoints", - "Operation": "Restore Recovery Points", - "Description": "Restore RecoveryPoints for Protected Items." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "RecoveryPoints", - "Operation": "Provision Instant Item Recovery for Protected Item", - "Description": "ProvisionInstant Item Recovery for Protected Item" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "RecoveryPoints", - "Operation": "Revoke Instant Item Recovery for Protected Item", - "Description": "RevokeInstant Item Recovery for Protected Item" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupPolicies", - "Operation": "Get Protection Policy", - "Description": "Returns all ProtectionPolicies" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupPolicies", - "Operation": "Create Protection Policy", - "Description": "Creates ProtectionPolicy" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupPolicies", - "Operation": "Delete Protection Policy", - "Description": "Delete a ProtectionPolicy" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupPolicy Operation Results", - "Operation": "Get Policy Operation Results", - "Description": "GetResults of Policy Operation." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupPolicy Operation Status", - "Operation": "Get Policy Operation Status", - "Description": "GetStatus of Policy Operation." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectedItems", - "Operation": "Get Protected Item Details", - "Description": "Returns objectdetails of the Protected Item" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectedItems", - "Operation": "Get All Protected Items", - "Description": "Returns the listof all Protected Items." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectedItems", - "Operation": "Create Backup Protected Item", - "Description": "Create abackup Protected Item" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectedItems", - "Operation": "Delete Protected Items", - "Description": "Deletes ProtectedItem" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectedItem Operation Results", - "Operation": "Get Protected Items Operation Results", - "Description": "GetsResult of Operation Performed on Protected Items." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectedItem Operation Status", - "Operation": "Get Protected Items operation status", - "Description": "Returnsthe status of Operation performed on Protected Items." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectedItems", - "Operation": "Backup Protected Item", - "Description": "Performs Backupfor Protected Item." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupProtectable Items", - "Operation": "Get Protectable Items", - "Description": "Returnslist of all Protectable Items." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "RefreshContainers", - "Operation": "Refresh container", - "Description": "Refreshes the containerlist" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "RefreshContainers Operation Results", - "Operation": "Get Operation Results", - "Description": "Returnsstatus of the operation" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupProtection Containers", - "Operation": "Get Containers In Subscription", - "Description": "Returnsall containers belonging to the subscription" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectionContainers", - "Operation": "Get Registered Container", - "Description": "Returnsall registered containers" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "ProtectionContainers Operation Results", - "Operation": "Get Container Operation Results", - "Description": "Getsresult of Operation performed on Protection Container." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupEngines", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupEngines", - "Operation": "List of backup management servers.", - "Description": "Returnsall the backup management servers registered with vault." - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/Vaults/backupStatus", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "BackupStatus", - "Operation": "Check Backup Status for Vault", - "Description": "Check BackupStatus for Recovery Services Vaults" - }, - "Origin": "user" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Alerts Settings", - "Operation": "Read Alerts Settings", - "Description": "ReadAny Alerts Settings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Alerts Settings", - "Operation": "Create or UpdateAlerts Settings", - "Description": "Create or Update Any Alerts Settings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationEvents/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Events", - "Operation": "Read Events", - "Description": "ReadAny Events" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Networks", - "Operation": "Read Networks", - "Description": "ReadAny Networks" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Network Mappings", - "Operation": "Read NetworkMappings", - "Description": "Read Any Network Mappings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Network Mappings", - "Operation": "Create or UpdateNetwork Mappings", - "Description": "Create or Update Any Network Mappings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Network Mappings", - "Operation": "Delete NetworkMappings", - "Description": "Delete Any Network Mappings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protectable Items", - "Operation": "Read ProtectableItems", - "Description": "Read Any Protectable Items" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Container Mappings", - "Operation": "ReadProtection Container Mappings", - "Description": "Read Any Protection ContainerMappings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Container Mappings", - "Operation": "Createor Update Protection Container Mappings", - "Description": "Create or Update AnyProtection Container Mappings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Container Mappings", - "Operation": "RemoveProtection Container Mapping", - "Description": "Remove Protection Container Mapping" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Container Mappings", - "Operation": "DeleteProtection Container Mappings", - "Description": "Delete Any Protection ContainerMappings" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Replication Recovery Points", - "Operation": "ReadReplication Recovery Points", - "Description": "Read Any Replication RecoveryPoints" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Read ProtectedItems", - "Description": "Read Any Protected Items" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Create or UpdateProtected Items", - "Description": "Create or Update Any Protected Items" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Delete ProtectedItems", - "Description": "Delete Any Protected Items" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Remove ProtectedItem", - "Description": "Remove Protected Item" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Planned Failover", - "Description": "PlannedFailover" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Failover", - "Description": "Failover" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Test Failover", - "Description": "TestFailover" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Test FailoverCleanup", - "Description": "Test Failover Cleanup" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Failover Commit", - "Description": "FailoverCommit" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "ReProtect ProtectedItem", - "Description": "ReProtect Protected Item" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Update MobilityService", - "Description": "Update Mobility Service" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Repair replication", - "Description": "Repairreplication" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protected Items", - "Operation": "Apply RecoveryPoint", - "Description": "Apply Recovery Point" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Jobs", - "Operation": "Read Jobs", - "Description": "ReadAny Jobs" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Jobs", - "Operation": "Cancel Job", - "Description": "CancelJob" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Jobs", - "Operation": "Restart job", - "Description": "Restartjob" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Jobs", - "Operation": "Resume Job", - "Description": "ResumeJob" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Containers", - "Operation": "Read ProtectionContainers", - "Description": "Read Any Protection Containers" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Containers", - "Operation": "DiscoverProtectable Item", - "Description": "Discover Protectable Item" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Containers", - "Operation": "Createor Update Protection Containers", - "Description": "Create or Update Any ProtectionContainers" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Containers", - "Operation": "RemoveProtection Container", - "Description": "Remove Protection Container" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Protection Containers", - "Operation": "SwitchProtection Container", - "Description": "Switch Protection Container" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Policies", - "Operation": "Read Policies", - "Description": "ReadAny Policies" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Policies", - "Operation": "Create or Update Policies", - "Description": "Createor Update Any Policies" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Policies", - "Operation": "Delete Policies", - "Description": "DeleteAny Policies" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Read RecoveryPlans", - "Description": "Read Any Recovery Plans" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Create or UpdateRecovery Plans", - "Description": "Create or Update Any Recovery Plans" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Delete RecoveryPlans", - "Description": "Delete Any Recovery Plans" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Planned FailoverRecovery Plan", - "Description": "Planned Failover Recovery Plan" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Failover RecoveryPlan", - "Description": "Failover Recovery Plan" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Test FailoverRecovery Plan", - "Description": "Test Failover Recovery Plan" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Test FailoverCleanup Recovery Plan", - "Description": "Test Failover Cleanup Recovery Plan" - }, - "Origin": "user,system" - }, - { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "Failover CommitRecovery Plan", - "Description": "Failover Commit Recovery Plan" + "value": [{ + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Plans", - "Operation": "ReProtect RecoveryPlan", - "Description": "ReProtect Recovery Plan" + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Services Providers", - "Operation": "ReadRecovery Services Providers", - "Description": "Read Any Recovery Services Providers" + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Services Providers", - "Operation": "RemoveRecovery Services Provider", - "Description": "Remove Recovery Services Provider" + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Services Providers", - "Operation": "DeleteRecovery Services Providers", - "Description": "Delete Any Recovery Services Providers" + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Recovery Services Providers", - "Operation": "RefreshProvider", - "Description": "Refresh Provider" + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Read Fabrics", - "Description": "ReadAny Fabrics" + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Create or Update Fabrics", - "Description": "Createor Update Any Fabrics" + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Remove Fabric", - "Description": "RemoveFabric" + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Checks Consistency ofthe Fabric", - "Description": "Checks Consistency of the Fabric" + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Delete Fabrics", - "Description": "DeleteAny Fabrics" + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Renew Certificate forFabric", - "Description": "Renew Certificate for Fabric" + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Deploy Process ServerImage", - "Description": "Deploy Process Server Image" + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Fabrics", - "Operation": "Reassociate Gateway", - "Description": "ReassociateGateway" + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Storage Classifications", - "Operation": "ReadStorage Classifications", - "Description": "Read Any Storage Classifications" + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Storage Classification Mappings", - "Operation": "ReadStorage Classification Mappings", - "Description": "Read Any Storage ClassificationMappings" + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Storage Classification Mappings", - "Operation": "Createor Update Storage Classification Mappings", - "Description": "Create or UpdateAny Storage Classification Mappings" + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Storage Classification Mappings", - "Operation": "DeleteStorage Classification Mappings", - "Description": "Delete Any Storage ClassificationMappings" + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/usages/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Vault Usages", - "Operation": "Read Vault Usages", - "Description": "ReadAny Vault Usages" + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Jobs", - "Operation": "Read Jobs", - "Description": "ReadAny Jobs" + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Jobs", - "Operation": "Create or Update Jobs", - "Description": "Createor Update Any Jobs" + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete", - "Display": { - "Provider": "MicrosoftRecovery Services", - "Resource": "Jobs", - "Operation": "Delete Jobs", - "Description": "DeleteAny Jobs" + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "VaultToken", - "Description": "The Vault Token operation can be used to get Vault Tokenfor vault level backend operations." + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "RegisterService Container", - "Description": "The Register Service Container operationcan be used to register a container with Recovery Service." + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "GetOperation Results", - "Description": "The Get Operation Results operation canbe used get the operation status and result for the asynchronously submittedoperation" + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "GetContainers", - "Description": "The Get Containers operation can be used get thecontainers registered for a resource." + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "UnregisterService Container", - "Description": "The UnRegister Container operation can beused to unregister a container." + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." }, - "Origin": "user,system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/certificates/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "UpdateResource Certificate", - "Description": "The Update Resource Certificate operationupdates the resource/vault credential certificate." + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "Getalerts", - "Description": "Gets the alerts for the Recovery services vault." + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/{uniqueAlertId}/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "Getalert details", - "Description": "Gets the details of the alert." + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/monitoringAlerts/{uniqueAlertId}/patch", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "Resolvealert", - "Description": "Resolves the alert." + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "Getconfiguration", - "Description": "Gets the Recovery services vault notificationconfiguration." + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/patch", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "Configuree-mail notification", - "Description": "Configures e-mail notifications to Recoveryservices vault." + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/logDefinitions/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "AzureBackup Logs", - "Description": "Azure Backup Logs" + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" }, - "Origin": "system", - "Properties": { - "serviceSpecification": { - "logSpecifications": [ - { - "name": "AzureBackupReport", - "displayName": "AzureBackup Reporting Data", - "blobDuration": "PT1H" - }, - { - "name": "AzureSiteRecoveryJobs", - "displayName": "AzureSite Recovery Jobs", - "blobDuration": "PT1H" - }, - { - "name": "AzureSiteRecoveryEvents", - "displayName": "AzureSite Recovery Events", - "blobDuration": "PT1H" - }, - { - "name": "AzureSiteRecoveryReplicatedItems", - "displayName": "AzureSite Recovery Replicated Items", - "blobDuration": "PT1H" - } - ] - } - } + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/metricDefinitions/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "AzureBackup Metrics", - "Description": "Azure Backup Metrics" + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" }, - "Origin": "system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/diagnosticSettings/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "AzureBackup Diagnostics", - "Description": "Azure Backup Diagnostics" + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" }, - "Origin": "system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/providers/Microsoft.Insights/diagnosticSettings/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "AzureBackup Diagnostics", - "Description": "Azure Backup Diagnostics" + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" }, - "Origin": "system" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "CreateVault", - "Description": "Create Vault operation creates an Azure resource oftype ''vault''" + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "GetVault", - "Description": "The Get Vault operation gets an object representingthe Azure resource of type ''vault''" + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/delete", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "DeleteVault", - "Description": "The Delete Vault operation deletes the specified Azureresource of type ''vault''" + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "GetExtended Info", - "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?" + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "GetExtended Info", - "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?" + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "Vaults", - "Operation": "GetExtended Info", - "Description": "The Get Extended Info operation gets an object''sExtended Info representing the Azure resource of type ?vault?" + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/locations/allocatedStamp/read", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "locations/allocatedStamp", - "Operation": "GetAllocated Stamp", - "Description": "GetAllocatedStamp is internal operation usedby service" + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" }, - "Origin": "user" + "origin": "user" }, { - "Name": "Microsoft.RecoveryServices/locations/allocateStamp/action", - "Display": { - "Provider": "Microsoft.RecoveryServices", - "Resource": "locations/allocateStamp", - "Operation": "AllocatedStamp Action", - "Description": "AllocateStamp is internal operation used by service" + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" }, - "Origin": "user" + "origin": "user" } ] } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json index ba8e180ae7b1..c5a189dc033a 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/operations.json @@ -40,8 +40,8 @@ }, "deprecated": false, "x-ms-pageable": { - "nextLinkName": "NextLink", - "itemName": "Value" + "nextLinkName": "nextLink", + "itemName": "value" }, "x-ms-examples": { "ListOperations": { @@ -56,20 +56,20 @@ "description": "Localized display information of an operation.", "type": "object", "properties": { - "Provider": { + "provider": { "description": "Name of the provider for display purposes", "type": "string" }, - "Resource": { - "description": "Name of the resource type for display purposes", + "resource": { + "description": "ResourceType for which this Operation can be performed.", "type": "string" }, - "Operation": { - "description": "Name of the operation for display purposes", + "operation": { + "description": "Operations Name itself.", "type": "string" }, - "Description": { - "description": "Description of the operation for display purposes", + "description": { + "description": "Description of the operation having details of what operation is about.", "type": "string" } } @@ -79,7 +79,7 @@ "type": "object", "properties": { "name": { - "description": "Name", + "description": "Name for shoebox log specification.", "type": "string" }, "displayName": { @@ -87,7 +87,7 @@ "type": "string" }, "blobDuration": { - "description": "blob duration", + "description": "blob duration of shoebox log specification", "type": "string" } } @@ -119,15 +119,15 @@ "description": "Operations List response which contains list of available APIs.", "type": "object", "properties": { - "Value": { + "value": { "description": "List of available operationss.", "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" } }, - "NextLink": { - "description": "NextLink", + "nextLink": { + "description": "Link to the next chunk of Response.", "type": "string" } } @@ -136,21 +136,21 @@ "description": "Available operation details.", "type": "object", "properties": { - "Name": { - "description": "Name", + "name": { + "description": "Name of the Operation.", "type": "string" }, - "Display": { + "display": { "$ref": "#/definitions/ClientDiscoveryDisplay", "description": "Contains the localized display information for this particular operation" }, - "Origin": { + "origin": { "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", "type": "string" }, - "Properties": { + "properties": { "$ref": "#/definitions/ClientDiscoveryForProperties", - "description": "Properties" + "description": "ShoeBox properties for the given operation." } } } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json similarity index 70% rename from specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json rename to specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json index d822c7cf2c4f..e83845e36c58 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/bms.json @@ -50,7 +50,12 @@ } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json" + } + } }, "patch": { "tags": [ @@ -92,7 +97,12 @@ } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + } + } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { @@ -145,6 +155,11 @@ "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" + } } } }, @@ -202,7 +217,12 @@ } }, "deprecated": false, - "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject" + "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", + "x-ms-examples": { + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" + } + } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { @@ -251,16 +271,21 @@ "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { "get": { "tags": [ - "ProtectionContainers" + "ProtectableContainers" ], - "description": "Gets details of the specific container registered to your Recovery Services Vault.", - "operationId": "ProtectionContainers_Get", + "description": "Lists the containers registered to Recovery Services Vault.", + "operationId": "ProtectableContainers_List", "produces": [ "application/json" ], @@ -280,15 +305,15 @@ { "name": "fabricName", "in": "path", - "description": "Name of the fabric where the container belongs.", + "description": "Fabric name associated with the container.", "required": true, "type": "string" }, { - "name": "containerName", - "in": "path", - "description": "Name of the container whose details need to be fetched.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], @@ -296,20 +321,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerResource" + "$ref": "#/definitions/ProtectableContainerResourceList" } } }, - "deprecated": false + "deprecated": false, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureStorage": { + "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { "get": { "tags": [ - "ProtectionContainerOperationResults" + "ProtectionContainers" ], - "description": "Fetches the result of any operation on the container.", - "operationId": "ProtectionContainerOperationResults_Get", + "description": "Gets details of the specific container registered to your Recovery Services Vault.", + "operationId": "ProtectionContainers_Get", "produces": [ "application/json" ], @@ -329,21 +363,14 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the container.", + "description": "Name of the fabric where the container belongs.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name whose information should be fetched.", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", + "description": "Name of the container whose details need to be fetched.", "required": true, "type": "string" } @@ -354,24 +381,21 @@ "schema": { "$ref": "#/definitions/ProtectionContainerResource" } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, - "deprecated": false - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { - "get": { + "deprecated": false, + "x-ms-examples": { + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + } + } + }, + "put": { "tags": [ - "ProtectedItems" + "ProtectionContainers" ], - "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_Get", + "description": "Registers the container with Recovery Services vault.\r\n This is an asynchronous operation. To track the operation status, use location header to call get latest status of the operation.", + "operationId": "ProtectionContainers_Register", "produces": [ "application/json" ], @@ -391,49 +415,51 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "Fabric name associated with the container.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", + "description": "Name of the container to be registered.", "required": true, "type": "string" }, { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item name whose details are to be fetched.", + "name": "parameters", + "in": "body", + "description": "Request body for operation", "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/ProtectionContainerResource" } + }, + "202": { + "description": "Accepted" } }, "deprecated": false, - "x-ms-odata": "#/definitions/GetProtectedItemQueryObject" + "x-ms-examples": { + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + } + } }, - "put": { + "delete": { "tags": [ - "ProtectedItems" + "ProtectionContainers" ], - "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_CreateOrUpdate", + "description": "Unregisters the given container from your Recovery Services Vault.\r\n This is an asynchronous operation. To determine whether the backend service has finished processing the request, call Get Container Operation Result API.", + "operationId": "ProtectionContainers_Unregister", "produces": [ "application/json" ], @@ -453,47 +479,42 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "Name of the fabric where the container belongs.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Item name to be backed up.", + "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", "required": true, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource backed up item", - "required": true, - "schema": { - "$ref": "#/definitions/ProtectedItemResource" - } } ], "responses": { "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "deprecated": false - }, - "delete": { + "deprecated": false, + "x-ms-examples": { + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "post": { "tags": [ - "ProtectedItems" + "ProtectionContainers" ], - "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the request, call the GetItemOperationResult API.", - "operationId": "ProtectedItems_Delete", + "summary": "Inquires all the protectable item in the given container that can be protected.", + "description": "Inquires all the protectable items that are protectable under the given container.", + "operationId": "ProtectionContainers_Inquire", "produces": [ "application/json" ], @@ -513,21 +534,14 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "Fabric Name associated with the container.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backed up item to be deleted.", + "description": "Name of the container in which inquiry needs to be triggered.", "required": true, "type": "string" } @@ -535,21 +549,23 @@ "responses": { "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "get": { "tags": [ - "Backups" + "BackupWorkloadItems" ], - "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the operation, call GetProtectedItemOperationResult API.", - "operationId": "Backups_Trigger", + "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination parameters.", + "operationId": "BackupWorkloadItems_List", "produces": [ "application/json" ], @@ -569,49 +585,59 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "Fabric name associated with the container.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backup item.", + "description": "Name of the container.", "required": true, "type": "string" }, { - "name": "protectedItemName", - "in": "path", - "description": "Backup item for which backup needs to be triggered.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "resource backup request", - "required": true, - "schema": { - "$ref": "#/definitions/BackupRequestResource" - } + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadItemResourceList" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { "get": { "tags": [ - "ProtectedItemOperationResults" + "ProtectionContainerOperationResults" ], - "description": "Fetches the result of any operation on the backup item.", - "operationId": "ProtectedItemOperationResults_Get", + "description": "Fetches the result of any operation on the container.", + "operationId": "ProtectionContainerOperationResults_Get", "produces": [ "application/json" ], @@ -631,28 +657,21 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "Fabric name associated with the container.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backup item.", - "required": true, - "type": "string" - }, - { - "name": "protectedItemName", - "in": "path", - "description": "Backup item name whose details are to be fetched.", + "description": "Container name whose information should be fetched.", "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "description": "OperationID which represents the operation whose result needs to be fetched.", + "description": "Operation ID which represents the operation whose result needs to be fetched.", "required": true, "type": "string" } @@ -661,7 +680,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResource" + "$ref": "#/definitions/ProtectionContainerResource" } }, "202": { @@ -671,16 +690,21 @@ "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Azure Storage Protection Container Operation Result": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}": { "get": { "tags": [ - "ProtectedItemOperationStatuses" + "ProtectedItems" ], - "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations create jobs. This method returns the list of jobs associated with the operation.", - "operationId": "ProtectedItemOperationStatuses_Get", + "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_Get", "produces": [ "application/json" ], @@ -700,29 +724,29 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backup item.", + "description": "Fabric name associated with the backed up item.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backup item.", + "description": "Container name associated with the backed up item.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backup item name whose details are to be fetched.", + "description": "Backed up item name whose details are to be fetched.", "required": true, "type": "string" }, { - "name": "operationId", - "in": "path", - "description": "OperationID represents the operation whose status needs to be fetched.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], @@ -730,20 +754,27 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/ProtectedItemResource" } } }, - "deprecated": false - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { - "get": { + "deprecated": false, + "x-ms-odata": "#/definitions/GetProtectedItemQueryObject", + "x-ms-examples": { + "Get Protected Classic Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json" + }, + "Get Protected Virtual Machine Details": { + "$ref": "./examples/AzureIaasVm/Compute_ProtectedItem_Get.json" + } + } + }, + "put": { "tags": [ - "RecoveryPoints" + "ProtectedItems" ], - "description": "Lists the backup copies for the backed up item.", - "operationId": "RecoveryPoints_List", + "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_CreateOrUpdate", "produces": [ "application/json" ], @@ -763,54 +794,52 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up item.", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up item.", + "description": "Container name associated with the backup item.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item whose backup copies are to be fetched.", + "description": "Item name to be backed up.", "required": true, "type": "string" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResourceList" - } + "202": { + "description": "Accepted" } }, "deprecated": false, - "x-ms-odata": "#/definitions/BMSRPQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "Enable Protection on Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/ConfigureProtection.json" + } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { - "get": { + }, + "delete": { "tags": [ - "RecoveryPoints" + "ProtectedItems" ], - "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. To know the status of the operation, call the GetProtectedItemOperationResult API.", - "operationId": "RecoveryPoints_Get", + "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the request, call the GetItemOperationResult API.", + "operationId": "ProtectedItems_Delete", "produces": [ "application/json" ], @@ -830,50 +859,48 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with backed up item.", + "description": "Fabric name associated with the backed up item.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with backed up item.", + "description": "Container name associated with the backed up item.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item name whose backup data needs to be fetched.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "RecoveryPointID represents the backed up data to be fetched.", + "description": "Backed up item to be deleted.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPointResource" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Delete Protection from Azure Virtual Machine": { + "$ref": "./examples/Common/ProtectedItem_Delete.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { "post": { "tags": [ - "ItemLevelRecoveryConnections" + "Backups" ], - "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of provisioning, call GetProtectedItemOperationResult API.", - "operationId": "ItemLevelRecoveryConnections_Provision", + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the operation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", "produces": [ "application/json" ], @@ -893,38 +920,31 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up items.", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up items.", + "description": "Container name associated with the backup item.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", - "required": true, - "type": "string" - }, - { - "name": "recoveryPointId", - "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned for this backed up data.", + "description": "Backup item for which backup needs to be triggered.", "required": true, "type": "string" }, { "name": "parameters", "in": "body", - "description": "resource ILR request", + "description": "resource backup request", "required": true, "schema": { - "$ref": "#/definitions/ILRRequestResource" + "$ref": "#/definitions/BackupRequestResource" } } ], @@ -933,16 +953,21 @@ "description": "Accepted" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}": { + "get": { "tags": [ - "Restores" + "ProtectedItemOperationResults" ], - "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use GetProtectedItemOperationResult API.", - "operationId": "Restores_Trigger", + "description": "Fetches the result of any operation on the backup item.", + "operationId": "ProtectedItemOperationResults_Get", "produces": [ "application/json" ], @@ -962,56 +987,61 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up items.", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up items.", + "description": "Container name associated with the backup item.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item to be restored.", + "description": "Backup item name whose details are to be fetched.", "required": true, "type": "string" }, { - "name": "recoveryPointId", + "name": "operationId", "in": "path", - "description": "Recovery point ID which represents the backed up data to be restored.", + "description": "OperationID which represents the operation whose result needs to be fetched.", "required": true, "type": "string" - }, - { - "name": "parameters", - "in": "body", - "description": "resource restore request", - "required": true, - "schema": { - "$ref": "#/definitions/RestoreRequestResource" - } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResource" + } + }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Operation Results of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "get": { "tags": [ - "ItemLevelRecoveryConnections" + "ProtectedItemOperationStatuses" ], - "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer displaying all recoverable files and folders. This is an asynchronous operation.", - "operationId": "ItemLevelRecoveryConnections_Revoke", + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations create jobs. This method returns the list of jobs associated with the operation.", + "operationId": "ProtectedItemOperationStatuses_Get", "produces": [ "application/json" ], @@ -1031,47 +1061,55 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated with the backed up items.", + "description": "Fabric name associated with the backup item.", "required": true, "type": "string" }, { "name": "containerName", "in": "path", - "description": "Container name associated with the backed up items.", + "description": "Container name associated with the backup item.", "required": true, "type": "string" }, { "name": "protectedItemName", "in": "path", - "description": "Backed up item name whose files/folders are to be restored.", + "description": "Backup item name whose details are to be fetched.", "required": true, "type": "string" }, { - "name": "recoveryPointId", + "name": "operationId", "in": "path", - "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for this backed up data.", + "description": "OperationID represents the operation whose status needs to be fetched.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { - "post": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints": { + "get": { "tags": [ - "ProtectionContainers" + "RecoveryPoints" ], - "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", - "operationId": "ProtectionContainers_Refresh", + "description": "Lists the backup copies for the backed up item.", + "operationId": "RecoveryPoints_List", "produces": [ "application/json" ], @@ -1091,65 +1129,59 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name associated the container.", + "description": "Fabric name associated with the backed up item.", "required": true, "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - } - }, - "deprecated": false - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { - "post": { - "tags": [ - "JobCancellations" - ], - "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call GetCancelOperationResult API.", - "operationId": "JobCancellations_Trigger", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up item.", + "required": true, + "type": "string" }, { - "name": "jobName", + "name": "protectedItemName", "in": "path", - "description": "Name of the job to cancel.", + "description": "Backed up item whose backup copies are to be fetched.", "required": true, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { - "202": { - "description": "Accepted" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-odata": "#/definitions/BMSRPQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_List.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}": { "get": { "tags": [ - "JobOperationResults" + "RecoveryPoints" ], - "description": "Fetches the result of any operation.\r\n the operation.", - "operationId": "JobOperationResults_Get", + "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation. To know the status of the operation, call the GetProtectedItemOperationResult API.", + "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -1167,61 +1199,30 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Job name whose operation result has to be fetched.", + "description": "Fabric name associated with backed up item.", "required": true, "type": "string" }, { - "name": "operationId", + "name": "containerName", "in": "path", - "description": "OperationID which represents the operation whose result has to be fetched.", + "description": "Container name associated with backed up item.", "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "deprecated": false - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { - "get": { - "tags": [ - "ExportJobsOperationResults" - ], - "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", - "operationId": "ExportJobsOperationResults_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose backup data needs to be fetched.", + "required": true, + "type": "string" }, { - "name": "operationId", + "name": "recoveryPointId", "in": "path", - "description": "OperationID which represents the export job.", + "description": "RecoveryPointID represents the backed up data to be fetched.", "required": true, "type": "string" } @@ -1230,23 +1231,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationResultInfoBaseResource" + "$ref": "#/definitions/RecoveryPointResource" } - }, - "202": { - "description": "Accepted" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Azure Vm Recovery Point Details": { + "$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { "post": { "tags": [ - "Jobs" + "ItemLevelRecoveryConnections" ], - "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", - "operationId": "Jobs_Export", + "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of provisioning, call GetProtectedItemOperationResult API.", + "operationId": "ItemLevelRecoveryConnections_Provision", "produces": [ "application/json" ], @@ -1264,11 +1267,41 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned for this backed up data.", + "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource ILR request", + "required": true, + "schema": { + "$ref": "#/definitions/ILRRequestResource" + } } ], "responses": { @@ -1277,16 +1310,20 @@ } }, "deprecated": false, - "x-ms-odata": "#/definitions/JobQueryObject" + "x-ms-examples": { + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore": { + "post": { "tags": [ - "BackupOperationResults" + "Restores" ], - "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is part of the Location header of the operation response.", - "operationId": "BackupOperationResults_Get", + "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use GetProtectedItemOperationResult API.", + "operationId": "Restores_Trigger", "produces": [ "application/json" ], @@ -1304,34 +1341,66 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", "in": "path", - "description": "OperationID which represents the operation.", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents the backed up data to be restored.", "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource restore request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequestResource" + } } ], "responses": { - "200": { - "description": "OK" - }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Restore to New Azure IaasVm": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json" + }, + "Restore Disks": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "post": { "tags": [ - "BackupOperationStatuses" + "ItemLevelRecoveryConnections" ], - "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs when the operation is complete.", - "operationId": "BackupOperationStatuses_Get", + "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer displaying all recoverable files and folders. This is an asynchronous operation.", + "operationId": "ItemLevelRecoveryConnections_Revoke", "produces": [ "application/json" ], @@ -1349,31 +1418,54 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "operationId", + "name": "fabricName", "in": "path", - "description": "OperationID which represents the operation.", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for this backed up data.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatus" - } + "202": { + "description": "Accepted" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { "tags": [ - "BackupPolicies" + "ProtectionContainers" ], - "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch scoped results.", - "operationId": "BackupPolicies_List", + "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", + "operationId": "ProtectionContainers_Refresh", "produces": [ "application/json" ], @@ -1390,6 +1482,13 @@ { "$ref": "#/parameters/SubscriptionId" }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated the container.", + "required": true, + "type": "string" + }, { "name": "$filter", "in": "query", @@ -1399,27 +1498,26 @@ } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResourceList" - } + "202": { + "description": "Accepted" } }, "deprecated": false, - "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", + "x-ms-examples": { + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" + } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { - "get": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel": { + "post": { "tags": [ - "ProtectionPolicies" + "JobCancellations" ], - "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Get", + "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call GetCancelOperationResult API.", + "operationId": "JobCancellations_Trigger", "produces": [ "application/json" ], @@ -1437,29 +1535,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "jobName", "in": "path", - "description": "Backup policy information to be fetched.", + "description": "Name of the job to cancel.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } + "202": { + "description": "Accepted" } }, - "deprecated": false - }, - "put": { + "deprecated": false, + "x-ms-examples": { + "Cancel Job": { + "$ref": "./examples/Common/TriggerCancelJob.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}": { + "get": { "tags": [ - "ProtectionPolicies" + "JobOperationResults" ], - "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_CreateOrUpdate", + "description": "Fetches the result of any operation.\r\n the operation.", + "operationId": "JobOperationResults_Get", "produces": [ "application/json" ], @@ -1477,41 +1579,46 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "jobName", "in": "path", - "description": "Backup policy to be created.", + "description": "Job name whose operation result has to be fetched.", "required": true, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "resource backup policy", + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result has to be fetched.", "required": true, - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } + "type": "string" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionPolicyResource" - } + "description": "OK" }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "deprecated": false - }, - "delete": { + "deprecated": false, + "x-ms-examples": { + "Cancel Job Operation Result": { + "$ref": "./examples/Common/CancelJobOperationResult.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { + "get": { "tags": [ - "ProtectionPolicies" + "BackupOperationResults" ], - "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.", - "operationId": "ProtectionPolicies_Delete", + "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is part of the Location header of the operation response.", + "operationId": "BackupOperationResults_Get", "produces": [ "application/json" ], @@ -1529,9 +1636,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "operationId", "in": "path", - "description": "Backup policy to be deleted.", + "description": "OperationID which represents the operation.", "required": true, "type": "string" } @@ -1540,20 +1647,75 @@ "200": { "description": "OK" }, + "202": { + "description": "Accepted" + }, "204": { "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Result for Protected Item Delete Operation": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { "get": { "tags": [ - "ProtectionPolicyOperationResults" + "BackupOperationStatuses" ], - "description": "Provides the result of an operation.", - "operationId": "ProtectionPolicyOperationResults_Get", + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs when the operation is complete.", + "operationId": "BackupOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}": { + "get": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Get", "produces": [ "application/json" ], @@ -1573,16 +1735,63 @@ { "name": "policyName", "in": "path", - "description": "Backup policy name whose operation's result needs to be fetched.", + "description": "Backup policy information to be fetched.", "required": true, "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, { - "name": "operationId", + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", "in": "path", - "description": "Operation ID which represents the operation whose result needs to be fetched.", + "description": "Backup policy to be created.", "required": true, "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup policy", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } } ], "responses": { @@ -1591,18 +1800,77 @@ "schema": { "$ref": "#/definitions/ProtectionPolicyResource" } + }, + "202": { + "description": "Accepted" + } + }, + "deprecated": false, + "x-ms-examples": { + "Create or Update Simple Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json" + }, + "Create or Update Full Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the operation can be fetched using GetPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { "get": { "tags": [ - "ProtectionPolicyOperationStatuses" + "ProtectionPolicyOperationResults" ], - "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs associated with operation.", - "operationId": "ProtectionPolicyOperationStatuses_Get", + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", "produces": [ "application/json" ], @@ -1622,14 +1890,14 @@ { "name": "policyName", "in": "path", - "description": "Backup policy name whose operation's status needs to be fetched.", + "description": "Backup policy name whose operation's result needs to be fetched.", "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "description": "Operation ID which represents an operation whose status needs to be fetched.", + "description": "Operation ID which represents the operation whose result needs to be fetched.", "required": true, "type": "string" } @@ -1638,20 +1906,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatus" + "$ref": "#/definitions/ProtectionPolicyResource" } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Protection Policy Operation Results": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json" + } + } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { "get": { "tags": [ - "BackupProtectableItems" + "ProtectionPolicyOperationStatuses" ], - "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the pagination parameters.", - "operationId": "BackupProtectableItems_List", + "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations create jobs. This method returns the list of jobs associated with operation.", + "operationId": "ProtectionPolicyOperationStatuses_Get", "produces": [ "application/json" ], @@ -1669,17 +1942,17 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's status needs to be fetched.", + "required": true, "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, + "name": "operationId", + "in": "path", + "description": "Operation ID which represents an operation whose status needs to be fetched.", + "required": true, "type": "string" } ], @@ -1687,24 +1960,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkloadProtectableItemResourceList" + "$ref": "#/definitions/OperationStatus" } } }, "deprecated": false, - "x-ms-odata": "#/definitions/BMSPOQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "Get Protection Policy Operation Status": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" + } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { "get": { "tags": [ - "BackupProtectedItems" + "BackupProtectableItems" ], - "description": "Provides a pageable list of all items that are backed up within a vault.", - "operationId": "BackupProtectedItems_List", + "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the pagination parameters.", + "operationId": "BackupProtectableItems_List", "produces": [ "application/json" ], @@ -1740,14 +2014,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectedItemResourceList" + "$ref": "#/definitions/WorkloadProtectableItemResourceList" } } }, "deprecated": false, - "x-ms-odata": "#/definitions/ProtectedItemQueryObject", + "x-ms-odata": "#/definitions/BMSPOQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" + } } } }, @@ -1794,6 +2073,11 @@ "x-ms-odata": "#/definitions/BMSContainerQueryObject", "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Backup Protection Containers": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_List.json" + } } } }, @@ -1829,7 +2113,12 @@ } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" + } + } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { @@ -1864,7 +2153,12 @@ } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Get.json" + } + } }, "patch": { "tags": [ @@ -1884,66 +2178,27 @@ }, { "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "204": { - "description": "NoContent" - } - }, - "deprecated": false - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { - "get": { - "tags": [ - "BackupUsageSummaries" - ], - "description": "Fetches the backup management usage summaries of the vault.", - "operationId": "BackupUsageSummaries_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupManagementUsageList" - } + "204": { + "description": "NoContent" } }, "deprecated": false, - "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", - "x-ms-pageable": { - "nextLinkName": null + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Patch.json" + } } } } @@ -1975,14 +2230,14 @@ "description": "Backup engine Agent version", "type": "string" }, - "DPMServers": { + "dpmServers": { "description": "List of BackupEngines protecting the container", "type": "array", "items": { "type": "string" } }, - "UpgradeAvailable": { + "upgradeAvailable": { "description": "To check if upgrade available", "type": "boolean" }, @@ -2007,6 +2262,260 @@ ], "x-ms-discriminator-value": "AzureBackupServerEngine" }, + "AzureFileShareBackupRequest": { + "description": "AzureFileShare workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" + }, + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentContainerFabricId": { + "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", + "type": "string" + }, + "parentContainerFriendlyName": { + "description": "Friendly name of container to which this protectable item belongs.", + "type": "string" + }, + "azureFileShareType": { + "description": "File Share type XSync or XSMB.", + "enum": [ + "Invalid", + "XSMB", + "XSync" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureFileShareType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureFileShare" + }, + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "backups running status for this backup item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + } + } + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureFileShareRecoveryPoint": { + "description": "Azure File Share workload specific backup copy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointType": { + "description": "Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string" + } + } + }, + "AzureFileShareRestoreRequest": { + "description": "AzureFileShare Restore Request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "Type of this recovery.", + "enum": [ + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "Source storage account ARM Id", + "type": "string" + }, + "copyOptions": { + "description": "Options to resolve copy conflicts.", + "enum": [ + "Invalid", + "CreateCopy", + "Skip", + "Overwrite", + "FailOnConflict" + ], + "type": "string", + "x-ms-enum": { + "name": "CopyOptions", + "modelAsString": true + } + }, + "restoreRequestType": { + "description": "Restore Type (FullShareRestore or ItemLevelRestore)", + "enum": [ + "Invalid", + "FullShareRestore", + "ItemLevelRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "RestoreRequestType", + "modelAsString": true + } + }, + "restoreFileSpecs": { + "description": "List of Source Files/Folders(which need to recover) and TargetFolderPath details", + "type": "array", + "items": { + "$ref": "#/definitions/RestoreFileSpecs" + } + }, + "targetDetails": { + "$ref": "#/definitions/TargetAFSRestoreInfo", + "description": "Target File Share Details" + } + }, + "x-ms-discriminator-value": "AzureFileShareRestoreRequest" + }, "AzureIaaSClassicComputeVMContainer": { "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", "type": "object", @@ -2102,200 +2611,793 @@ } ], "properties": { - "friendlyName": { - "description": "Friendly name of the VM represented by this backup item.", - "type": "string" - }, - "virtualMachineId": { - "description": "Fully qualified ARM ID of the virtual machine represented by this item.", - "type": "string" - }, - "protectionStatus": { - "description": "Backup status of this backup item.", + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyInconsistent": { + "description": "Specifies if backup policy associated with the backup item is inconsistent.", + "type": "boolean" + } + } + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureIaasVM" + }, + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + }, + "AzureSqlContainer": { + "description": "Azure Sql workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "AzureSqlContainer" + }, + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "protectedItemDataId": { + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "State of the backup policy associated with this backup item.", + "type": "string" + } + } + }, + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageContainer": { + "description": "Azure Storage Account workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "Fully qualified ARM url.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Storage account version.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureStorageProtectableContainer": { + "description": "Azure Storage-specific protectable containers", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureVMAppContainerProtectableContainer": { + "description": "Azure workload-specific container", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVMAppContainerProtectionContainer": { + "description": "Container for SQL workloads under Azure Virtual Machines.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVmWorkloadItem": { + "description": "Azure VM workload-specific workload item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if workload item is auto-protectable", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subWorkloadItemCount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + } + } + }, + "AzureVmWorkloadProtectableItem": { + "description": "Azure VM workload-specific protectable item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "parentUniqueName": { + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent \r\n Only Applicable for data bases where the parent would be either Instance or a SQL AG.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if protectable item is auto-protectable", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subprotectableitemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + } + } + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "description": "Additional information on Azure Workload for SQL specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + } + } + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" + }, + "AzureVmWorkloadSQLDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of DB, SQLAG or StandAlone", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, + "AzureVmWorkloadSQLDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLInstanceProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureVmWorkloadSQLInstanceWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "properties": { + "dataDirectoryPaths": { + "description": "Data Directory Paths for default directories", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + } + } + }, + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull" + ], + "type": "string", + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" + }, + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + }, + "AzureWorkloadContainer": { + "description": "Container for the workloads running inside Azure Compute or Classic Compute.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "ARM ID of the virtual machine represented by this Azure Workload Container", + "type": "string" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "Time stamp when this container was updated.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." + } + } + }, + "AzureWorkloadContainerExtendedInfo": { + "description": "Extended information of the container.", + "type": "object", + "properties": { + "hostServerName": { + "description": "Host Os Name in case of Stand Alone and \r\n Cluster Name in case of distributed container.", + "type": "string" + }, + "inquiryInfo": { + "$ref": "#/definitions/InquiryInfo", + "description": "Inquiry Status for the container." + }, + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + } + } + } + }, + "AzureWorkloadRecoveryPoint": { + "description": "Workload specific recoverypoint, specifcally encaspulates full/diff recoverypoint", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPoint" + } + ], + "properties": { + "recoveryPointTimeInUTC": { + "format": "date-time", + "description": "UTC time at which recoverypoint was created", "type": "string" }, - "protectionState": { - "description": "Backup state of this backup item.", + "type": { + "description": "Type of restore point", "enum": [ "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" + "Full", + "Log", + "Differential" ], "type": "string", "x-ms-enum": { - "name": "ProtectionState", + "name": "RestorePointType", "modelAsString": true } - }, - "healthStatus": { - "description": "Health status of protected item", + } + }, + "x-ms-discriminator-value": "AzureWorkloadRecoveryPoint" + }, + "AzureWorkloadRestoreRequest": { + "description": "AzureWorkload-specific restore.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RestoreRequest" + } + ], + "properties": { + "recoveryType": { + "description": "OLR/ALR, RestoreDisks is invalid option", "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" + "Invalid", + "OriginalLocation", + "AlternateLocation", + "RestoreDisks" ], "type": "string", "x-ms-enum": { - "name": "HealthStatus", + "name": "RecoveryType", "modelAsString": true } }, - "healthDetails": { - "description": "Health details on this backup item.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } - }, - "lastBackupStatus": { - "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", - "type": "string" - }, - "lastBackupTime": { - "format": "date-time", - "description": "Timestamp of the last backup operation on this backup item.", - "type": "string" - }, - "protectedItemDataId": { - "description": "Data ID of the protected item.", + "sourceResourceId": { + "description": "Fully qualified ARM ID of the VM on which workload that was running is being recovered.", "type": "string" }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", - "description": "Additional information for this backup item." + "propertyBag": { + "description": "Workload specific property bag.", + "type": "object", + "additionalProperties": { + "type": "string" + } } }, - "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" - }, - "AzureIaaSVMProtectedItemExtendedInfo": { - "description": "Additional information on Azure IaaS VM specific backup item.", - "type": "object", - "properties": { - "oldestRecoveryPoint": { - "format": "date-time", - "description": "The oldest backup copy available for this backup item.", - "type": "string" - }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of backup copies available for this backup item.", - "type": "integer" - }, - "policyInconsistent": { - "description": "Specifies if backup policy associated with the backup item is inconsistent.", - "type": "boolean" - } - } + "x-ms-discriminator-value": "AzureWorkloadRestoreRequest" }, - "AzureIaaSVMProtectionPolicy": { - "description": "IaaS VM workload-specific backup policy.", + "AzureWorkloadSQLPointInTimeRecoveryPoint": { + "description": "Recovery point specific to PointInTime", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPoint" } ], "properties": { - "schedulePolicy": { - "$ref": "#/definitions/SchedulePolicy", - "description": "Backup schedule specified as part of backup policy." - }, - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy with the details on backup copy retention ranges." - }, - "timeZone": { - "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", - "type": "string" + "timeRanges": { + "description": "List of log ranges", + "type": "array", + "items": { + "$ref": "#/definitions/PointInTimeRange" + } } }, - "x-ms-discriminator-value": "AzureIaasVM" + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" }, - "AzureSqlContainer": { - "description": "Azure Sql workload-specific container.", + "AzureWorkloadSQLPointInTimeRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for PointInTime/Log restore", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" } ], - "x-ms-discriminator-value": "AzureSqlContainer" + "properties": { + "pointInTime": { + "format": "date-time", + "description": "PointInTime value", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreRequest" }, - "AzureSqlProtectedItem": { - "description": "Azure SQL workload-specific backup item.", + "AzureWorkloadSQLRecoveryPoint": { + "description": "SQL specific recoverypoint, specifcally encaspulates full/diff recoverypoint alongwith extended info", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectedItem" + "$ref": "#/definitions/AzureWorkloadRecoveryPoint" } ], "properties": { - "protectedItemDataId": { - "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", - "type": "string" - }, - "protectionState": { - "description": "Backup state of the backed up item.", - "enum": [ - "Invalid", - "IRPending", - "Protected", - "ProtectionError", - "ProtectionStopped", - "ProtectionPaused" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectedItemState", - "modelAsString": true - } - }, "extendedInfo": { - "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", - "description": "Additional information for this backup item." + "$ref": "#/definitions/AzureWorkloadSQLRecoveryPointExtendedInfo", + "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\n When a specific recovery point is accessed using GetRecoveryPoint\r\n Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter" } }, - "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + "x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint" }, - "AzureSqlProtectedItemExtendedInfo": { - "description": "Additional information on Azure Sql specific protected item.", + "AzureWorkloadSQLRecoveryPointExtendedInfo": { + "description": "Extended info class details", "type": "object", "properties": { - "oldestRecoveryPoint": { + "dataDirectoryTimeInUTC": { "format": "date-time", - "description": "The oldest backup copy available for this item in the service.", + "description": "UTC time at which data directory info was captured", "type": "string" }, - "recoveryPointCount": { - "format": "int32", - "description": "Number of available backup copies associated with this backup item.", - "type": "integer" - }, - "policyState": { - "description": "State of the backup policy associated with this backup item.", - "type": "string" + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + } } } }, - "AzureSqlProtectionPolicy": { - "description": "Azure SQL workload-specific backup policy.", + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProtectionPolicy" + "$ref": "#/definitions/AzureWorkloadRestoreRequest" } ], "properties": { - "retentionPolicy": { - "$ref": "#/definitions/RetentionPolicy", - "description": "Retention policy details." + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "targetInfo": { + "$ref": "#/definitions/TargetRestoreInfo", + "description": "Details of target database" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + } } }, - "x-ms-discriminator-value": "AzureSql" + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" }, "BackupEngineBase": { "description": "The base backup engine class. All workload specific backup engines derive from this class.", @@ -2313,7 +3415,10 @@ "MAB", "DPM", "AzureBackupServer", - "AzureSql" + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { @@ -2366,7 +3471,7 @@ "description": "To check if backup agent upgrade available", "type": "boolean" }, - "isDPMUpgradeAvailable": { + "isDpmUpgradeAvailable": { "description": "To check if backup engine upgrade available", "type": "boolean" }, @@ -2454,64 +3559,6 @@ } } }, - "BackupManagementUsage": { - "description": "Backup management usages of a vault.", - "type": "object", - "properties": { - "unit": { - "description": "Unit of the usage.", - "enum": [ - "Count", - "Bytes", - "Seconds", - "Percent", - "CountPerSecond", - "BytesPerSecond" - ], - "type": "string", - "x-ms-enum": { - "name": "UsagesUnit", - "modelAsString": true - } - }, - "quotaPeriod": { - "description": "Quota period of usage.", - "type": "string" - }, - "nextResetTime": { - "format": "date-time", - "description": "Next reset time of usage.", - "type": "string" - }, - "currentValue": { - "format": "int64", - "description": "Current value of usage.", - "type": "integer" - }, - "limit": { - "format": "int64", - "description": "Limit of usage.", - "type": "integer" - }, - "name": { - "$ref": "#/definitions/NameInfo", - "description": "Name of usage." - } - } - }, - "BackupManagementUsageList": { - "description": "Backup management usage for vault.", - "type": "object", - "properties": { - "value": { - "description": "The list of backup management usages for the given vault.", - "type": "array", - "items": { - "$ref": "#/definitions/BackupManagementUsage" - } - } - } - }, "BackupRequest": { "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", "required": [ @@ -2544,6 +3591,19 @@ "description": "The resource storage details.", "type": "object", "properties": { + "storageModelType": { + "description": "Storage type", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, "storageType": { "description": "Storage type.", "enum": [ @@ -2590,6 +3650,19 @@ "description": "Backup resource vault config details.", "type": "object", "properties": { + "storageModelType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, "storageType": { "description": "Storage type.", "enum": [ @@ -2683,42 +3756,26 @@ "Invalid", "AzureIaasVM", "MAB", - "DPM", - "AzureBackupServer", - "AzureSql" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "friendlyName": { - "description": "Friendly name of the backup engine.", - "type": "string" - }, - "expand": { - "description": "Attribute to add extended info.", - "type": "string" - } - } - }, - "BMSBackupSummariesQueryObject": { - "description": "Query parameters to fetch backup summaries.", - "type": "object", - "properties": { - "type": { - "description": "Backup management type for this container.", - "enum": [ - "Invalid", - "BackupProtectedItemCountSummary", - "BackupProtectionContainerCountSummary" + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { - "name": "Type", + "name": "BackupManagementType", "modelAsString": true } + }, + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "expand": { + "description": "Attribute to add extended info.", + "type": "string" } } }, @@ -2737,7 +3794,10 @@ "MAB", "DPM", "AzureBackupServer", - "AzureSql" + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { @@ -2758,7 +3818,11 @@ "Cluster", "AzureSqlContainer", "Windows", - "VCenter" + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" ], "type": "string", "x-ms-enum": { @@ -2770,6 +3834,10 @@ "description": "Backup engine name", "type": "string" }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, "status": { "description": "Status of registration of this container with the Recovery Services Vault.", "type": "string" @@ -2791,8 +3859,11 @@ "AzureIaasVM", "MAB", "DPM", + "AzureSql", "AzureBackupServer", - "AzureSql" + "AzureWorkload", + "AzureStorage", + "DefaultBackup" ], "type": "string", "x-ms-enum": { @@ -2800,6 +3871,33 @@ "modelAsString": true } }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "containerName": { + "description": "Full name of the container whose Protectable Objects should be returned.", + "type": "string" + }, "status": { "description": "Backup status query parameter.", "type": "string" @@ -2810,6 +3908,31 @@ } } }, + "BMSRefreshContainersQueryObject": { + "description": "The query filters that can be used with the list containers API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + } + } + }, "BMSRPQueryObject": { "description": "Filters to list backup copies.", "type": "object", @@ -2823,6 +3946,102 @@ "format": "date-time", "description": "Backup copies created before this time.", "type": "string" + }, + "restorePointQueryType": { + "description": "RestorePoint type", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "FullAndDifferential", + "All" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointQueryType", + "modelAsString": true + } + }, + "extendedInfo": { + "description": "In Get Recovery Point, it tells whether extended information about recovery point is asked.", + "type": "boolean" + } + } + }, + "BMSWorkloadItemQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadItemType": { + "description": "Workload Item type", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "protectionStatus": { + "description": "Backup status query parameter.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } } } }, @@ -2852,6 +4071,28 @@ } } }, + "ContainerIdentityInfo": { + "description": "Container identity information", + "type": "object", + "properties": { + "uniqueName": { + "description": "Unique name of the container", + "type": "string" + }, + "aadTenantId": { + "description": "Protection container identity - AAD Tenant", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "Protection container identity - AAD Service Principal", + "type": "string" + }, + "audience": { + "description": "Protection container identity - Audience", + "type": "string" + } + } + }, "DailyRetentionFormat": { "description": "Daily retention format.", "type": "object", @@ -2898,6 +4139,24 @@ } } }, + "DistributedNodesInfo": { + "description": "This is used to represent the various nodes of the distributed container.", + "type": "object", + "properties": { + "nodeName": { + "description": "Name of the node under a distributed container.", + "type": "string" + }, + "status": { + "description": "Status of this Node.\r\n Failed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + } + } + }, "DpmBackupEngine": { "description": "Data Protection Manager (DPM) specific backup engine.", "type": "object", @@ -2934,14 +4193,14 @@ "description": "Backup engine Agent version", "type": "string" }, - "DPMServers": { + "dpmServers": { "description": "List of BackupEngines protecting the container", "type": "array", "items": { "type": "string" } }, - "UpgradeAvailable": { + "upgradeAvailable": { "description": "To check if upgrade available", "type": "boolean" }, @@ -3108,25 +4367,146 @@ } } }, - "ExportJobsOperationResultInfo": { - "description": "This class is used to send blob details after exporting jobs.", + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error Message related to the Code.", + "type": "string" + }, + "recommendations": { + "description": "List of recommendation strings.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GenericContainer": { + "description": "Base class for generic container of backup items", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "fabricName": { + "description": "Name of the container's fabric", + "type": "string" + }, + "extendedInformation": { + "$ref": "#/definitions/GenericContainerExtendedInfo", + "description": "Extended information (not returned in List container API calls)" + } + }, + "x-ms-discriminator-value": "GenericContainer" + }, + "GenericContainerExtendedInfo": { + "description": "Container extended information", + "type": "object", + "properties": { + "rawCertData": { + "description": "Public key of container cert", + "type": "string" + }, + "containerIdentityInfo": { + "$ref": "#/definitions/ContainerIdentityInfo", + "description": "Container identity information" + }, + "serviceEndpoints": { + "description": "Azure Backup Service Endpoints for the container", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GenericProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "protectedItemId": { + "format": "int64", + "description": "Data Plane Service ID of the protected item.", + "type": "integer" + }, + "sourceAssociations": { + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "fabricName": { + "description": "Name of this backup item's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectedItem" + }, + "GenericProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", "type": "object", "allOf": [ { - "$ref": "#/definitions/OperationResultInfoBase" + "$ref": "#/definitions/ProtectionPolicy" } ], "properties": { - "blobUrl": { - "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", "type": "string" }, - "blobSasKey": { - "description": "SAS key to access the blob. It expires in 15 mins.", + "fabricName": { + "description": "Name of this policy's fabric.", "type": "string" } }, - "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + "x-ms-discriminator-value": "GenericProtectionPolicy" }, "GenericRecoveryPoint": { "description": "Generic backup copy.", @@ -3285,7 +4665,7 @@ "$ref": "#/definitions/KeyAndSecretDetails", "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." }, - "isInstantILRSessionActive": { + "isInstantIlrSessionActive": { "description": "Is the session to recover items from this backup copy still active.", "type": "boolean" }, @@ -3379,6 +4759,7 @@ "type": "boolean" }, "originalStorageAccountOption": { + "description": "Original SA Option", "type": "boolean" }, "encryptionDetails": { @@ -3408,11 +4789,46 @@ { "$ref": "#/definitions/Resource" } - ], + ], + "properties": { + "properties": { + "$ref": "#/definitions/ILRRequest", + "description": "ILRRequestResource properties" + } + } + }, + "InquiryInfo": { + "description": "Details about inquired protectable items under a given container.", + "type": "object", + "properties": { + "status": { + "description": "Inquiry Status for this container such as \r\n InProgress | Failed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "inquiryDetails": { + "description": "Inquiry Details which will have workload specific details. \r\n For e.g. - For SQL and oracle this will contain different details.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadInquiryDetails" + } + } + } + }, + "InquiryValidation": { + "description": "Validation for inquired protectable items under a given container.", + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/ILRRequest", - "description": "ILRRequestResource properties" + "status": { + "description": "Status for the Inquiry Validation.", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Detail in case the status is non-success." } } }, @@ -3429,77 +4845,6 @@ } } }, - "JobQueryObject": { - "description": "Filters to list the jobs.", - "type": "object", - "properties": { - "status": { - "description": "Status of the job.", - "enum": [ - "Invalid", - "InProgress", - "Completed", - "Failed", - "CompletedWithWarnings", - "Cancelled", - "Cancelling" - ], - "type": "string", - "x-ms-enum": { - "name": "JobStatus", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Type of backup managmenent for the job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "operation": { - "description": "Type of operation.", - "enum": [ - "Invalid", - "Register", - "UnRegister", - "ConfigureBackup", - "Backup", - "Restore", - "DisableBackup", - "DeleteBackupData" - ], - "type": "string", - "x-ms-enum": { - "name": "JobOperationType", - "modelAsString": true - } - }, - "jobId": { - "description": "JobID represents the job uniquely.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "Job has started at this time. Value is in UTC.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", - "type": "string" - } - } - }, "KEKDetails": { "description": "KEK is encryption key for BEK.", "type": "object", @@ -3532,6 +4877,23 @@ } } }, + "LogSchedulePolicy": { + "description": "Log policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleFrequencyInMins": { + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" + }, "LongTermRetentionPolicy": { "description": "Long term retention policy.", "type": "object", @@ -3599,6 +4961,17 @@ "extendedInfo": { "$ref": "#/definitions/MabContainerExtendedInfo", "description": "Additional information for this container" + }, + "mabContainerHealthDetails": { + "description": "Health details on this mab container.", + "type": "array", + "items": { + "$ref": "#/definitions/MABContainerHealthDetails" + } + }, + "containerHealthState": { + "description": "Health state of mab container.", + "type": "string" } }, "x-ms-discriminator-value": "MABWindowsContainer" @@ -3625,7 +4998,9 @@ "VMwareVM", "SystemState", "Client", - "GenericDataSource" + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" ], "type": "string", "x-ms-enum": { @@ -3650,6 +5025,32 @@ } } }, + "MABContainerHealthDetails": { + "description": "MAB workload-specific Health Details.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer" + }, + "title": { + "description": "Health Title", + "type": "string" + }, + "message": { + "description": "Health Message", + "type": "string" + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + } + } + } + }, "MabFileFolderProtectedItem": { "description": "MAB workload-specific backup item.", "type": "object", @@ -3771,71 +5172,10 @@ } } }, - "NameInfo": { - "description": "The name of usage.", - "type": "object", - "properties": { - "value": { - "description": "Value of usage.", - "type": "string" - }, - "localizedValue": { - "description": "Localized value of usage.", - "type": "string" - } - } - }, "Object": { "description": "Base of all objects.", "type": "object" }, - "OperationResultInfo": { - "description": "Operation result info.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/OperationResultInfoBase" - } - ], - "properties": { - "jobList": { - "description": "List of jobs created by this operation.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-discriminator-value": "OperationResultInfo" - }, - "OperationResultInfoBase": { - "description": "Base class for operation result info.", - "required": [ - "objectType" - ], - "type": "object", - "properties": { - "objectType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", - "type": "string" - } - }, - "discriminator": "objectType" - }, - "OperationResultInfoBaseResource": { - "description": "Base class for operation result info.", - "allOf": [ - { - "$ref": "#/definitions/OperationWorkerResponse" - } - ], - "properties": { - "operation": { - "$ref": "#/definitions/OperationResultInfoBase", - "description": "OperationResultInfoBaseResource operation" - } - } - }, "OperationStatus": { "description": "Operation status.", "type": "object", @@ -3969,96 +5309,69 @@ }, "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" }, - "OperationWorkerResponse": { - "description": "This is the base class for operation result responses.", + "PointInTimeRange": { + "description": "Provides details for log ranges", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the time range for log recovery.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the time range for log recovery.", + "type": "string" + } + } + }, + "PreBackupValidation": { + "description": "Pre-backup validation for Azure VM Workload provider.", "type": "object", "properties": { - "statusCode": { - "description": "HTTP Status Code of the operation.", + "status": { + "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", "enum": [ - "Continue", - "SwitchingProtocols", - "OK", - "Created", - "Accepted", - "NonAuthoritativeInformation", - "NoContent", - "ResetContent", - "PartialContent", - "MultipleChoices", - "Ambiguous", - "MovedPermanently", - "Moved", - "Found", - "Redirect", - "SeeOther", - "RedirectMethod", - "NotModified", - "UseProxy", - "Unused", - "TemporaryRedirect", - "RedirectKeepVerb", - "BadRequest", - "Unauthorized", - "PaymentRequired", - "Forbidden", - "NotFound", - "MethodNotAllowed", - "NotAcceptable", - "ProxyAuthenticationRequired", - "RequestTimeout", - "Conflict", - "Gone", - "LengthRequired", - "PreconditionFailed", - "RequestEntityTooLarge", - "RequestUriTooLong", - "UnsupportedMediaType", - "RequestedRangeNotSatisfiable", - "ExpectationFailed", - "UpgradeRequired", - "InternalServerError", - "NotImplemented", - "BadGateway", - "ServiceUnavailable", - "GatewayTimeout", - "HttpVersionNotSupported" + "Invalid", + "Success", + "Failed" ], "type": "string", "x-ms-enum": { - "name": "HttpStatusCode", - "modelAsString": false + "name": "InquiryStatus", + "modelAsString": true } }, - "Headers": { - "description": "HTTP headers associated with this operation.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } + "code": { + "description": "Error code of protectable item", + "type": "string" + }, + "message": { + "description": "Message corresponding to the error code for the protectable item", + "type": "string" } } }, - "ProtectedItem": { - "description": "Base class for backup items.", + "ProtectableContainer": { + "description": "Protectable Container Class.", "type": "object", "properties": { - "protectedItemType": { - "description": "backup item type.", + "friendlyName": { + "description": "Friendly name of the container.", "type": "string" }, "backupManagementType": { - "description": "Type of backup managemenent for the backed up item.", + "description": "Type of backup managemenent for the container.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", - "AzureSql" + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { @@ -4066,74 +5379,95 @@ "modelAsString": true } }, - "workloadType": { - "description": "Type of workload this item represents.", + "protectableContainerType": { + "description": "Type of the container. The value of this property for\r\n 1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", "enum": [ "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource" + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "DataSourceType", - "modelAsString": true + "name": "ContainerType", + "modelAsString": false } }, - "containerName": { - "description": "Unique name of container", - "type": "string" - }, - "sourceResourceId": { - "description": "ARM ID of the resource to be backed up.", - "type": "string" - }, - "policyId": { - "description": "ID of the backup policy with which this item is backed up.", + "healthStatus": { + "description": "Status of health of the container.", "type": "string" }, - "lastRecoveryPoint": { - "format": "date-time", - "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "containerId": { + "description": "Fabric Id of the container such as ARM Id.", "type": "string" } }, - "discriminator": "protectedItemType" + "discriminator": "protectableContainerType" }, - "ProtectedItemQueryObject": { - "description": "Filters to list backup items.", + "ProtectableContainerResource": { + "description": "Protectable Container Class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableContainer", + "description": "ProtectableContainerResource properties" + } + } + }, + "ProtectableContainerResourceList": { + "description": "List of ProtectableContainer resources", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], "properties": { - "healthState": { - "description": "Health State for the backed up item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthState", - "modelAsString": true + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableContainerResource" } + } + } + }, + "ProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "properties": { + "protectedItemType": { + "description": "backup item type.", + "type": "string" }, "backupManagementType": { - "description": "Backup management type for the backed up item.", + "description": "Type of backup managemenent for the backed up item.", "enum": [ "Invalid", "AzureIaasVM", "MAB", "DPM", "AzureBackupServer", - "AzureSql" + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { @@ -4141,7 +5475,7 @@ "modelAsString": true } }, - "itemType": { + "workloadType": { "description": "Type of workload this item represents.", "enum": [ "Invalid", @@ -4154,7 +5488,9 @@ "VMwareVM", "SystemState", "Client", - "GenericDataSource" + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" ], "type": "string", "x-ms-enum": { @@ -4162,23 +5498,29 @@ "modelAsString": true } }, - "policyName": { - "description": "Backup policy name associated with the backup item.", + "containerName": { + "description": "Unique name of container", "type": "string" }, - "containerName": { - "description": "Name of the container.", + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", "type": "string" }, - "backupEngineName": { - "description": "Backup Engine name", + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", "type": "string" }, - "friendlyName": { - "description": "Friendly name of protected item", + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set the backup item belongs to", "type": "string" } - } + }, + "discriminator": "protectedItemType" }, "ProtectedItemResource": { "description": "Base class for backup items.", @@ -4194,24 +5536,6 @@ } } }, - "ProtectedItemResourceList": { - "description": "List of ProtectedItem resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectedItemResource" - } - } - } - }, "ProtectionContainer": { "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", "type": "object", @@ -4228,7 +5552,10 @@ "MAB", "DPM", "AzureBackupServer", - "AzureSql" + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" ], "type": "string", "x-ms-enum": { @@ -4245,7 +5572,7 @@ "type": "string" }, "containerType": { - "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer.", + "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload Backup is VMAppContainer", "enum": [ "Invalid", "Unknown", @@ -4257,38 +5584,20 @@ "Cluster", "AzureSqlContainer", "Windows", - "VCenter" + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" ], "type": "string", - "readOnly": true, "x-ms-enum": { "name": "ContainerType", "modelAsString": true } - }, - "protectableObjectType": { - "description": "Type of the protectable object associated with this container.", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter" - ], - "type": "string", - "x-ms-enum": { - "name": "ProtectableObjectType", - "modelAsString": true - } } }, - "discriminator": "protectableObjectType" + "discriminator": "containerType" }, "ProtectionContainerResource": { "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", @@ -4341,28 +5650,6 @@ }, "discriminator": "backupManagementType" }, - "ProtectionPolicyQueryObject": { - "description": "Filters the list backup policies API.", - "type": "object", - "properties": { - "backupManagementType": { - "description": "Backup management type for the backup policy.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - } - } - }, "ProtectionPolicyResource": { "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", "allOf": [ @@ -4377,24 +5664,6 @@ } } }, - "ProtectionPolicyResourceList": { - "description": "List of ProtectionPolicy resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionPolicyResource" - } - } - } - }, "RecoveryPoint": { "description": "Base class for backup copies. Workload-specific backup copies are derived from this class.", "required": [ @@ -4521,6 +5790,24 @@ } } }, + "RestoreFileSpecs": { + "description": "Restore file specs like file path, type and target folder path info.", + "type": "object", + "properties": { + "path": { + "description": "Source File/Folder path", + "type": "string" + }, + "fileSpecType": { + "description": "Indicates what the Path variable stands for", + "type": "string" + }, + "targetFolderPath": { + "description": "Destination folder path in target FileShare", + "type": "string" + } + } + }, "RestoreRequest": { "description": "Base class for restore request. Workload-specific restore requests are derived from this class.", "required": [ @@ -4555,7 +5842,7 @@ "properties": { "count": { "format": "int32", - "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times. \r\n For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\n For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", "type": "integer" }, "durationType": { @@ -4603,6 +5890,20 @@ }, "discriminator": "schedulePolicyType" }, + "Settings": { + "description": "Common settings field for backup management", + "type": "object", + "properties": { + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" + } + } + }, "SimpleRetentionPolicy": { "description": "Simple policy retention.", "type": "object", @@ -4677,6 +5978,123 @@ }, "x-ms-discriminator-value": "SimpleSchedulePolicy" }, + "SQLDataDirectory": { + "description": "SQLDataDirectory info", + "type": "object", + "properties": { + "type": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "path": { + "description": "File path", + "type": "string" + }, + "logicalName": { + "description": "Logical name of the file", + "type": "string" + } + } + }, + "SQLDataDirectoryMapping": { + "description": "Encapsulates information regarding data directory", + "type": "object", + "properties": { + "mappingType": { + "description": "Type of data directory mapping", + "enum": [ + "Invalid", + "Data", + "Log" + ], + "type": "string", + "x-ms-enum": { + "name": "SQLDataDirectoryType", + "modelAsString": true + } + }, + "sourceLogicalName": { + "description": "Restore source logical name path", + "type": "string" + }, + "sourcePath": { + "description": "Restore source path", + "type": "string" + }, + "targetPath": { + "description": "Target path", + "type": "string" + } + } + }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "type": "string" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + } + } + }, + "TargetAFSRestoreInfo": { + "description": "Target Azure File Share Info.", + "type": "object", + "properties": { + "name": { + "description": "File share name", + "type": "string" + }, + "targetResourceId": { + "description": "Target file share resource ARM ID", + "type": "string" + } + } + }, + "TargetRestoreInfo": { + "description": "Details about target workload during restore operation.", + "type": "object", + "properties": { + "overwriteOption": { + "description": "Can Overwrite if Target DataBase already exists", + "enum": [ + "Invalid", + "FailOnConflict", + "Overwrite" + ], + "type": "string", + "x-ms-enum": { + "name": "OverwriteOptions", + "modelAsString": true + } + }, + "containerId": { + "description": "Resource Id name of the container in which Target DataBase resides", + "type": "string" + }, + "databaseName": { + "description": "Database name SQL InstanceName/DataBaseName", + "type": "string" + } + } + }, "TokenInformation": { "description": "The token information details.", "type": "object", @@ -4778,6 +6196,95 @@ } } }, + "WorkloadInquiryDetails": { + "description": "Details of an inquired protectable item.", + "type": "object", + "properties": { + "type": { + "description": "Type of the Workload such as SQL, Oracle etc.", + "type": "string" + }, + "itemCount": { + "format": "int64", + "description": "Contains the protectable item Count inside this Container.", + "type": "integer" + }, + "inquiryValidation": { + "$ref": "#/definitions/InquiryValidation", + "description": "Inquiry validation such as permissions and other backup validations." + } + } + }, + "WorkloadItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Type of backup managemenent to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "workloadItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "workloadItemType" + }, + "WorkloadItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadItem", + "description": "WorkloadItemResource properties" + } + } + }, + "WorkloadItemResourceList": { + "description": "List of WorkloadItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadItemResource" + } + } + } + }, "WorkloadProtectableItem": { "description": "Base class for backup item. Workload-specific backup items are derived from this class.", "type": "object", @@ -4786,6 +6293,10 @@ "description": "Type of backup managemenent to backup an item.", "type": "string" }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, "protectableItemType": { "description": "Type of the backup item.", "type": "string" @@ -4800,7 +6311,8 @@ "Invalid", "NotProtected", "Protecting", - "Protected" + "Protected", + "ProtectionFailed" ], "type": "string", "x-ms-enum": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/BackupProtectableItems_List.json new file mode 100644 index 000000000000..0174649c13d7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2016-06-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionState": "NotProtected", + "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json new file mode 100644 index 000000000000..65308045dd57 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json new file mode 100644 index 000000000000..c0723d0e5547 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json new file mode 100644 index 000000000000..b99c2a74ba2e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ConfigureProtection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json new file mode 100644 index 000000000000..576cbb12a519 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationResults.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json new file mode 100644 index 000000000000..ab46b68e3e7e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusJobExtendedInfo", + "jobId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..54fd76d0b2b5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2016-06-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json new file mode 100644 index 000000000000..204fc3a0e718 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2016-06-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..b8d69f978276 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2016-06-01" + }, + "responses": { + "200": { + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json new file mode 100644 index 000000000000..42c2c507d70a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2016-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json new file mode 100644 index 000000000000..09d3e895a218 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 1 + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json new file mode 100644 index 000000000000..e0a10121c762 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-06-01" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "GetProtectionPolicyOperationStatus", + "status": "Succeeded", + "startTime": "2018-01-24T12:57:32.1142968Z", + "endTime": "2018-01-24T12:57:32.1142968Z", + "properties": { + "objectType": "OperationStatusJobsExtendedInfo", + "jobIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "failedJobsError": {} + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Provision_Ilr.json new file mode 100644 index 000000000000..628989cbe826 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Provision_Ilr.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "initiatorName": "Hello World", + "recoveryPointId": "38823086363464", + "renewExistingRegistration": true, + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1", + "objectType": "IaasVMILRRegistrationRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json new file mode 100644 index 000000000000..2e50b69963dc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "recoveryPointId": "26083826328862", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", + "name": "26083826328862", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": 2, + "status": 1 + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json new file mode 100644 index 000000000000..0004f3af7822 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/RecoveryPoints_List.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rshhtestmdvmrg", + "vaultName": "rshvault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "protectedItemName": "VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/22244821112382", + "name": "22244821112382", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-21T22:48:25.4353958Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": 1, + "status": 1 + }, + { + "type": 2, + "status": 1 + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/24977149827250", + "name": "24977149827250", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-12-20T22:49:44.3317945Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": 1, + "status": 1 + }, + { + "type": 2, + "status": 1 + } + ], + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false + } + } + ] + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Revoke_Ilr.json new file mode 100644 index 000000000000..3387f4e52591 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/Revoke_Ilr.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json new file mode 100644 index 000000000000..9d9f5af3a0db --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_ALR.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2016-12-01", + "parameters": { + "recoveryPointId": "348916168024334", + "recoveryType": "AlternateLocation", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2/providers/Microsoft.Compute/virtualmachines/RSMDALRVM981435", + "targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg2", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount", + "virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default", + "region": "southeastasia", + "createNewCloudService": false, + "originalStorageAccountOption": false, + "api-version": "2016-12-01", + "encryptionDetails": { + "encryptionEnabled": false + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json new file mode 100644 index 000000000000..66ad351c02e8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "netsdktestrg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "recoveryPointId": "348916168024334", + "api-version": "2016-12-01", + "parameters": { + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "api-version": "2016-12-01", + "encryptionDetails": { + "encryptionEnabled": false + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/protectedItems/vm;iaasVMContainerV2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectableContainers_List.json new file mode 100644 index 000000000000..c71aee44cb3f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectableContainers_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "vaultName": "testvault", + "fabricName": "Azure", + "api-version": "2017-07-01", + "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", + "name": "StorageContainer;storage;test-rg;testst", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", + "name": "StorageContainer;ClassicStorage;test-rg;teststorage", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire.json new file mode 100644 index 000000000000..6d847ab29f93 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "api-version": "2017-07-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json new file mode 100644 index 000000000000..7088f33d918f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2017-07-01" + }, + "responses": { + "204": { + "headers": {}, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Register.json new file mode 100644 index 000000000000..9090de3a0851 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureStorage/ProtectionContainers_Register.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "api-version": "2017-07-01", + "parameters": { + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage", + "containerType": "StorageContainer" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/BackupWorkloadItems_List.json new file mode 100644 index 000000000000..a2fb4b3635d5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/BackupWorkloadItems_List.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2016-12-01", + "$filter": "backupManagementType eq 'AzureWorkload'", + "backupFabrics": "Azure", + "protectionContainers": "VMAppContainer;Compute;testRG;testSQL" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "backupManagementType": "AzureWorkload", + "dataDirectoryPaths": [ + { + "type": "Data", + "path": "F:\\Data\\", + "logicalName": null + }, + { + "type": "Log", + "path": "F:\\Log\\", + "logicalName": null + } + ], + "name": null, + "id": null, + "status": { + "name": null, + "displayName": null, + "infoText": null, + "severity": null, + "operationState": null + }, + "type": null, + "location": null, + "friendlyName": "MSSQLSERVER", + "resourceGroup": null, + "resourceName": null, + "subscriptionId": null, + "providerName": null, + "resourceType": null + } + ], + "nextLink": null + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Get.json new file mode 100644 index 000000000000..167edab5153f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Get.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2016-12-01", + "protectionContainers": "VMAppContainer;Compute;testRG;testSQL", + "backupFabrics": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "resultArray": [ + { + "hostServerName": "testsql", + "backupReadiness": "Success", + "backupReadinessText": "Ready", + "registrationStatus": "Registered", + "details": "14 DB(s) Found", + "nodeList": [], + "inquiryInfo": { + "status": "Success", + "errorDetails": { + "errorCode": "Success", + "errorString": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "workloadInquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetails": { + "errorCode": "Success", + "errorString": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + }, + "inquiryErrorDetails": null, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "sourceResourceRG": "testRG", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "containerId": null, + "containerName": null, + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "status": null, + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "location": null, + "friendlyName": "testSQL", + "resourceGroup": "testRg", + "resourceName": "testVault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "providerName": "Microsoft.RecoveryServices", + "resourceType": "vaults" + } + ], + "totalCount": 0, + "continuationToken": null + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_List.json new file mode 100644 index 000000000000..0e161879a745 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_List.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2016-12-01", + "backupFabrics": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "resultArray": [ + { + "hostServerName": "testsql", + "backupReadiness": "Success", + "backupReadinessText": "Ready", + "registrationStatus": "Registered", + "details": "14 DB(s) Found", + "nodeList": [], + "inquiryInfo": { + "status": "Success", + "errorDetails": { + "errorCode": "Success", + "errorString": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "workloadInquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetails": { + "errorCode": "Success", + "errorString": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + }, + "inquiryErrorDetails": null, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "sourceResourceRG": "testRG", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "containerId": null, + "containerName": null, + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "status": null, + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "location": null, + "friendlyName": "testSQL", + "resourceGroup": "testRg", + "resourceName": "testVault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "providerName": "Microsoft.RecoveryServices", + "resourceType": "vaults" + } + ], + "totalCount": 0, + "continuationToken": null + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Unregister.json new file mode 100644 index 000000000000..5fc473533894 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2016-12-01", + "backupFabrics": "Azure", + "protectionContainers": "VMAppContainer;Compute;testRG;testSQL" + }, + "responses": { + "200": { + "body": { + "name": "testVault", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "status": { + "name": null, + "displayName": null, + "infoText": null, + "severity": null, + "operationState": "InProgress" + }, + "type": null, + "location": null, + "friendlyName": "testVault", + "resourceGroup": "testRg", + "resourceName": "testVault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "providerName": "Microsoft.RecoveryServices", + "resourceType": "vaults" + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..787d14953a62 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json @@ -0,0 +1,261 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2016-06-01", + "parameters": { + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Friday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json new file mode 100644 index 000000000000..0721b809f1e0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json new file mode 100644 index 000000000000..5d29d3ca4939 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..6f6cedcb1d36 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupSecurityPin_Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "token": "200432", + "expiryTimeInUtcTicks": 636495150137443121, + "securityPIN": "200432" + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..b5cb409e9db9 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..31f994191f35 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": { + "headers": {}, + "body": null + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json new file mode 100644 index 000000000000..25b7250ef94e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/CancelJobOperationResult.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2017-07-01" + }, + "responses": { + "204": { + "headers": {}, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json new file mode 100644 index 000000000000..6434eef94b95 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..0cc2c93ab587 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": null + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..1ff5ed0ee182 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "InProgress", + "startTime": "2017-08-03T06:52:53.886027Z", + "endTime": "0001-01-01T00:00:00" + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers.json new file mode 100644 index 000000000000..ef41f6d124d0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..6f166c68b87f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/RefreshContainers_OperationResults.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2016-12-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": null + }, + "204": { + "headers": {}, + "body": null + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..470fcf0e23c1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerBackup_Post.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "linuxRsVaultRG", + "vaultName": "linuxRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "api-version": "2016-12-01", + "parameters": { + "properties": { + "objectType": "IaasVMBackupRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json new file mode 100644 index 000000000000..ba3a2b2c7242 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/TriggerCancelJob.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2017-07-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + }, + "body": {} + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_Get.json new file mode 100644 index 000000000000..8af1364bae5d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "backupEngineName": "testServer", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", + "name": "testServer", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_List.json new file mode 100644 index 000000000000..bb9b2a235a90 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Dpm/BackupEngines_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2016-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", + "name": "testServer1", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer1", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", + "name": "testServer5", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9530.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer5", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json new file mode 100644 index 000000000000..3fbee179c06c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/bms.json @@ -0,0 +1,3595 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-07-01", + "title": "RecoveryServicesBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "post": { + "tags": [ + "ProtectionIntent" + ], + "summary": "It will validate followings\r\n 1. Vault capacity\r\n 2. VM is already protected\r\n 3. Any VM related configuration passed in properties.", + "operationId": "ProtectionIntent_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Enable backup validation request on Virtual Machine", + "required": true, + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Validate Enable Protection on Azure Vm": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { + "post": { + "tags": [ + "BackupStatus" + ], + "summary": "Get the container backup status", + "operationId": "BackupStatus_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Container Backup Status Request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupStatusResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get Azure Virtual Machine Backup Status": { + "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { + "post": { + "tags": [ + "FeatureSupport" + ], + "summary": "It will validate if given feature with resource properties is supported in service", + "operationId": "FeatureSupport_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Feature support request object", + "required": true, + "schema": { + "$ref": "#/definitions/FeatureSupportRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { + "put": { + "tags": [ + "ProtectionIntent" + ], + "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", + "operationId": "ProtectionIntent_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent object name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Create or Update Azure Vm Protection Intent": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { + "get": { + "tags": [ + "BackupJobs" + ], + "description": "Provides a pageable list of jobs.", + "operationId": "BackupJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + } + }, + "deprecated": false, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List All Jobs": { + "$ref": "./examples/Common/ListJobs.json" + }, + "List Jobs With Filters": { + "$ref": "./examples/Common/ListJobsWithAllSupportedFilters.json" + }, + "List Jobs With Time Filter": { + "$ref": "./examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { + "get": { + "tags": [ + "JobDetails" + ], + "description": "Gets exteded information associated with the job.", + "operationId": "JobDetails_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Name of the job whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResource" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get Job Details": { + "$ref": "./examples/Common/GetJobDetails.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}": { + "get": { + "tags": [ + "ExportJobsOperationResults" + ], + "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.", + "operationId": "ExportJobsOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the export job.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResultInfoBaseResource" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Export Jobs Operation Results": { + "$ref": "./examples/Common/ExportJobsOperationResult.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Triggers export of jobs specified by filters and returns an OperationID to track.", + "operationId": "Jobs_Export", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + } + }, + "deprecated": false, + "x-ms-odata": "#/definitions/JobQueryObject", + "x-ms-examples": { + "Export Jobs": { + "$ref": "./examples/Common/TriggerExoprtJobs.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies": { + "get": { + "tags": [ + "BackupPolicies" + ], + "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch scoped results.", + "operationId": "BackupPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResourceList" + } + } + }, + "deprecated": false, + "x-ms-odata": "#/definitions/ProtectionPolicyQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection policies with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupPolicies_List.json" + }, + "List protection policies with backupManagementType filter as AzureWorkload": { + "$ref": "./examples/AzureWorkload/BackupPolicies_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems": { + "get": { + "tags": [ + "BackupProtectedItems" + ], + "description": "Provides a pageable list of all items that are backed up within a vault.", + "operationId": "BackupProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectedItemResourceList" + } + } + }, + "deprecated": false, + "x-ms-odata": "#/definitions/ProtectedItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protected items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectedItems_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { + "get": { + "tags": [ + "BackupUsageSummaries" + ], + "description": "Fetches the backup management usage summaries of the vault.", + "operationId": "BackupUsageSummaries_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupManagementUsageList" + } + } + }, + "deprecated": false, + "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Get Protected Items Usages Summary": { + "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" + }, + "Get Protected Containers Usages Summary": { + "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" + } + } + } + } + }, + "definitions": { + "AzureFileshareProtectedItem": { + "description": "Azure File Share workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the fileshare represented by this backup item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "backups running status for this backup item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "AzureFileShareProtectedItem" + }, + "AzureFileshareProtectedItemExtendedInfo": { + "description": "Additional information about Azure File Share backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + } + } + }, + "AzureFileShareProtectionPolicy": { + "description": "AzureStorage backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureStorage" + }, + "AzureIaaSClassicComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMProtectedItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureIaaSVMProtectedItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSVMErrorInfo": { + "description": "Azure IaaS VM workload-specific error information.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer" + }, + "title": { + "description": "Health Title", + "type": "string" + }, + "message": { + "description": "Health Message", + "type": "string" + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureIaaSVMJob": { + "description": "Azure IaaS VM workload-specifc job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMErrorInfo" + } + }, + "virtualMachineVersion": { + "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJob" + }, + "AzureIaaSVMJobExtendedInfo": { + "description": "Azure IaaS VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "progressPercentage": { + "format": "double", + "description": "Indicates progress of the job. Null if it has not started or completed.", + "type": "number" + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureIaaSVMJobTaskDetails": { + "description": "Azure IaaS VM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "instanceId": { + "description": "The instanceId.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + }, + "progressPercentage": { + "format": "double", + "description": "Progress of the task.", + "type": "number" + } + } + }, + "AzureIaaSVMProtectedItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine represented by this item.", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "healthStatus": { + "description": "Health status of protected item", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "healthDetails": { + "description": "Health details on this backup item.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureIaaSVMHealthDetails" + } + }, + "lastBackupStatus": { + "description": "Last backup operation status.", + "type": "string" + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "protectedItemDataId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureIaaSVMProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "AzureIaaSVMProtectedItem" + }, + "AzureIaaSVMProtectedItemExtendedInfo": { + "description": "Additional information on Azure IaaS VM specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyInconsistent": { + "description": "Specifies if backup policy associated with the backup item is inconsistent.", + "type": "boolean" + } + } + }, + "AzureIaaSVMProtectionPolicy": { + "description": "IaaS VM workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureIaasVM" + }, + "AzureResourceProtectionIntent": { + "description": "IaaS VM specific backup protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureResourceItem" + }, + "AzureSqlProtectedItem": { + "description": "Azure SQL workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "protectedItemDataId": { + "description": "Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of the backed up item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureSqlProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "Microsoft.Sql/servers/databases" + }, + "AzureSqlProtectedItemExtendedInfo": { + "description": "Additional information on Azure Sql specific protected item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this item in the service.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of available backup copies associated with this backup item.", + "type": "integer" + }, + "policyState": { + "description": "State of the backup policy associated with this backup item.", + "type": "string" + } + } + }, + "AzureSqlProtectionPolicy": { + "description": "Azure SQL workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "AzureSql" + }, + "AzureStorageErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureStorageJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageErrorInfo" + } + }, + "storageAccountName": { + "description": "Specifies friendly name of the storage account.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Specifies whether the Storage account is a Classic or an Azure Resource Manager Storage account.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureStorageJobExtendedInfo", + "description": "Additional information about the job." + } + } + }, + "AzureStorageJobExtendedInfo": { + "description": "Azure Storage workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureStorageJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureStorageJobTaskDetails": { + "description": "Azure storage workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "AzureVMResourceFeatureSupportRequest": { + "description": "AzureResource(IaaS VM) Specific feature support request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "properties": { + "vmSize": { + "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", + "type": "string" + }, + "vmSku": { + "description": "SKUs (Premium/Managed etc) in case of IaasVM", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureVMResourceBackup" + }, + "AzureVMResourceFeatureSupportResponse": { + "description": "Response for feature support requests for Azure IaasVm", + "type": "object", + "properties": { + "supportStatus": { + "description": "Support status of feature", + "enum": [ + "Invalid", + "Supported", + "DefaultOFF", + "DefaultON", + "NotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportStatus", + "modelAsString": true + } + } + } + }, + "AzureVmWorkloadProtectedItemExtendedInfo": { + "description": "Additional information on Azure Workload for SQL specific backup item.", + "type": "object", + "properties": { + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies available for this backup item.", + "type": "integer" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + } + } + }, + "AzureVmWorkloadProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "workLoadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "settings": { + "$ref": "#/definitions/Settings", + "description": "Common settings for the backup management" + }, + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + } + }, + "x-ms-discriminator-value": "AzureWorkload" + }, + "AzureVmWorkloadSQLDatabaseProtectedItem": { + "description": "Azure VM workload-specific protected item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the DB represented by this backup item.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "parentName": { + "description": "Parent name of the DB such as Instance or Availability Group.", + "type": "string" + }, + "parentType": { + "description": "Parent type of DB, SQLAG or StandAlone", + "type": "string" + }, + "protectionStatus": { + "description": "Backup status of this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "lastBackupStatus": { + "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "LastBackupStatus", + "modelAsString": true + } + }, + "lastBackupTime": { + "format": "date-time", + "description": "Timestamp of the last backup operation on this backup item.", + "type": "string" + }, + "lastBackupErrorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error details in last backup" + }, + "protectedItemDataSourceId": { + "description": "Data ID of the protected item.", + "type": "string" + }, + "protectedItemHealthStatus": { + "description": "Health status of the backup item, evaluated based on last heartbeat received", + "enum": [ + "Invalid", + "Healthy", + "Unhealthy", + "NotReachable", + "IRPending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemHealthStatus", + "modelAsString": true + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", + "description": "Additional information for this backup item." + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadSQLDatabase" + }, + "AzureWorkloadErrorInfo": { + "description": "Azure storage specific error information", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "Error code.", + "type": "integer" + }, + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "errorTitle": { + "description": "Title: Typically, the entity that the error pertains to.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalDetails": { + "description": "Additional details for above error code.", + "type": "string" + } + } + }, + "AzureWorkloadJob": { + "description": "Azure storage specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "actionsInfo": { + "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "Error details on execution of this job.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", + "description": "Additional information about the job." + } + } + }, + "AzureWorkloadJobExtendedInfo": { + "description": "Azure VM workload-specific additional information for job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job", + "type": "array", + "items": { + "$ref": "#/definitions/AzureWorkloadJobTaskDetails" + } + }, + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "AzureWorkloadJobTaskDetails": { + "description": "Azure VM workload specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "BackupManagementUsage": { + "description": "Backup management usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "BackupManagementUsageList": { + "description": "Backup management usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of backup management usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupManagementUsage" + } + } + } + }, + "BackupStatusRequest": { + "description": "BackupStatus request.", + "type": "object", + "properties": { + "resourceType": { + "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "poLogicalName": { + "description": "Protectable Item Logical Name", + "type": "string" + } + } + }, + "BackupStatusResponse": { + "description": "BackupStatus response.", + "type": "object", + "properties": { + "protectionStatus": { + "description": "Specifies whether the container is registered or not", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + }, + "vaultId": { + "description": "Specifies the arm resource id of the vault", + "type": "string" + }, + "fabricName": { + "description": "Specifies the fabric name - Azure or AAD", + "enum": [ + "Invalid", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "FabricName", + "modelAsString": true + } + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname. This is required for portal", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname. This is required for portal", + "type": "string" + }, + "errorCode": { + "description": "ErrorCode in case of intent failed", + "type": "string" + }, + "errorMessage": { + "description": "ErrorMessage in case of intent failed.", + "type": "string" + }, + "policyName": { + "description": "Specifies the policy name which is used for protection", + "type": "string" + }, + "registrationStatus": { + "description": "Container registration status", + "type": "string" + } + } + }, + "BMSBackupSummariesQueryObject": { + "description": "Query parameters to fetch backup summaries.", + "type": "object", + "properties": { + "type": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "BackupProtectedItemCountSummary", + "BackupProtectionContainerCountSummary" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "DailyRetentionFormat": { + "description": "Daily retention format.", + "type": "object", + "properties": { + "daysOfTheMonth": { + "description": "List of days of the month.", + "type": "array", + "items": { + "$ref": "#/definitions/Day" + } + } + } + }, + "DailyRetentionSchedule": { + "description": "Daily retention schedule.", + "type": "object", + "properties": { + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "Day": { + "description": "Day of the week.", + "type": "object", + "properties": { + "date": { + "format": "int32", + "description": "Date of the month", + "type": "integer" + }, + "isLast": { + "description": "Whether Date is last date of month", + "type": "boolean" + } + } + }, + "DpmErrorInfo": { + "description": "DPM workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations for above error code.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DpmJob": { + "description": "DPM workload-specifc job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time elapsed for job.", + "type": "string" + }, + "dpmServerName": { + "description": "DPM server name managing the backup item or backup job.", + "type": "string" + }, + "containerName": { + "description": "Name of cluster/server protecting current backup item, if any.", + "type": "string" + }, + "containerType": { + "description": "Type of container.", + "type": "string" + }, + "workloadType": { + "description": "Type of backup item.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on this job like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/DpmJobExtendedInfo", + "description": "Additional information for this job." + } + }, + "x-ms-discriminator-value": "DpmJob" + }, + "DpmJobExtendedInfo": { + "description": "Additional information on the DPM workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks associated with this job.", + "type": "array", + "items": { + "$ref": "#/definitions/DpmJobTaskDetails" + } + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message on job execution.", + "type": "string" + } + } + }, + "DpmJobTaskDetails": { + "description": "DPM workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "DPMProtectedItem": { + "description": "Additional information on Backup engine specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the managed item", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Management server protecting this backup item", + "type": "string" + }, + "protectionState": { + "description": "Protection state of the backupengine", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectedItemState", + "modelAsString": true + } + }, + "isScheduledForDeferredDelete": { + "description": "To check if backup item is scheduled for deferred delete", + "type": "boolean" + }, + "extendedInfo": { + "$ref": "#/definitions/DPMProtectedItemExtendedInfo", + "description": "Extended info of the backup item." + } + }, + "x-ms-discriminator-value": "DPMProtectedItem" + }, + "DPMProtectedItemExtendedInfo": { + "description": "Additional information of DPM Protected item.", + "type": "object", + "properties": { + "protectableObjectLoadPath": { + "description": "Attribute to provide information on various DBs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protected": { + "description": "To check if backup item is disk protected.", + "type": "boolean" + }, + "isPresentOnCloud": { + "description": "To check if backup item is cloud protected.", + "type": "boolean" + }, + "lastBackupStatus": { + "description": "Last backup status information on backup item.", + "type": "string" + }, + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time on backup item.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest cloud recovery point time.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "cloud recovery point count.", + "type": "integer" + }, + "onPremiseOldestRecoveryPoint": { + "format": "date-time", + "description": "Oldest disk recovery point time.", + "type": "string" + }, + "onPremiseLatestRecoveryPoint": { + "format": "date-time", + "description": "latest disk recovery point time.", + "type": "string" + }, + "onPremiseRecoveryPointCount": { + "format": "int32", + "description": "disk recovery point count.", + "type": "integer" + }, + "isCollocated": { + "description": "To check if backup item is collocated.", + "type": "boolean" + }, + "protectionGroupName": { + "description": "Protection group name of the backup item.", + "type": "string" + }, + "diskStorageUsedInBytes": { + "description": "Used Disk storage in bytes.", + "type": "string" + }, + "totalDiskStorageSizeInBytes": { + "description": "total Disk storage in bytes.", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "Error Detail class which encapsulates Code, Message and Recommendations.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error Message related to the Code.", + "type": "string" + }, + "recommendations": { + "description": "List of recommendation strings.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ExportJobsOperationResultInfo": { + "description": "This class is used to send blob details after exporting jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "blobUrl": { + "description": "URL of the blob into which the serialized string of list of jobs is exported.", + "type": "string" + }, + "blobSasKey": { + "description": "SAS key to access the blob. It expires in 15 mins.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobsOperationResultInfo" + }, + "FeatureSupportRequest": { + "description": "Base class for feature request", + "type": "object", + "properties": { + "featureType": { + "description": "backup support feature type.", + "type": "string" + } + }, + "discriminator": "featureType" + }, + "GenericProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "policyState": { + "description": "Indicates consistency of policy object and policy applied to this backup item.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "IRPending", + "Protected", + "ProtectionError", + "ProtectionStopped", + "ProtectionPaused" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionState", + "modelAsString": true + } + }, + "protectedItemId": { + "format": "int64", + "description": "Data Plane Service ID of the protected item.", + "type": "integer" + }, + "sourceAssociations": { + "description": "Loosely coupled (type, value) associations (example - parent of a protected item)", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "fabricName": { + "description": "Name of this backup item's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectedItem" + }, + "GenericProtectionPolicy": { + "description": "Azure VM (Mercury) workload-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "subProtectionPolicy": { + "description": "List of sub-protection policies which includes schedule and retention", + "type": "array", + "items": { + "$ref": "#/definitions/SubProtectionPolicy" + } + }, + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "fabricName": { + "description": "Name of this policy's fabric.", + "type": "string" + } + }, + "x-ms-discriminator-value": "GenericProtectionPolicy" + }, + "Job": { + "description": "Defines workload agnostic properties for a job.", + "required": [ + "jobType" + ], + "type": "object", + "properties": { + "entityFriendlyName": { + "description": "Friendly name of the entity on which the current job is executing.", + "type": "string" + }, + "backupManagementType": { + "description": "Backup management type to execute the current job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "The operation name.", + "type": "string" + }, + "status": { + "description": "Job status.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "activityId": { + "description": "ActivityId of job.", + "type": "string" + }, + "jobType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", + "type": "string" + } + }, + "discriminator": "jobType" + }, + "JobQueryObject": { + "description": "Filters to list the jobs.", + "type": "object", + "properties": { + "status": { + "description": "Status of the job.", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed", + "CompletedWithWarnings", + "Cancelled", + "Cancelling" + ], + "type": "string", + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup managmenent for the job.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "operation": { + "description": "Type of operation.", + "enum": [ + "Invalid", + "Register", + "UnRegister", + "ConfigureBackup", + "Backup", + "Restore", + "DisableBackup", + "DeleteBackupData" + ], + "type": "string", + "x-ms-enum": { + "name": "JobOperationType", + "modelAsString": true + } + }, + "jobId": { + "description": "JobID represents the job uniquely.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Job has started at this time. Value is in UTC.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Job has ended at this time. Value is in UTC.", + "type": "string" + } + } + }, + "JobResource": { + "description": "Defines workload agnostic properties for a job.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/Job", + "description": "JobResource properties" + } + } + }, + "JobResourceList": { + "description": "List of Job resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + } + } + }, + "LogSchedulePolicy": { + "description": "Log policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleFrequencyInMins": { + "format": "int32", + "description": "Frequency of the log schedule operation of this policy in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "LogSchedulePolicy" + }, + "LongTermRetentionPolicy": { + "description": "Long term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "dailySchedule": { + "$ref": "#/definitions/DailyRetentionSchedule", + "description": "Daily retention schedule of the protection policy." + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklyRetentionSchedule", + "description": "Weekly retention schedule of the protection policy." + }, + "monthlySchedule": { + "$ref": "#/definitions/MonthlyRetentionSchedule", + "description": "Monthly retention schedule of the protection policy." + }, + "yearlySchedule": { + "$ref": "#/definitions/YearlyRetentionSchedule", + "description": "Yearly retention schedule of the protection policy." + } + }, + "x-ms-discriminator-value": "LongTermRetentionPolicy" + }, + "LongTermSchedulePolicy": { + "description": "Long term policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ] + }, + "MabErrorInfo": { + "description": "MAB workload-specific error information.", + "type": "object", + "properties": { + "errorString": { + "description": "Localized error string.", + "type": "string" + }, + "recommendations": { + "description": "List of localized recommendations.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "MabFileFolderProtectedItem": { + "description": "MAB workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectedItem" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of this backup item.", + "type": "string" + }, + "computerName": { + "description": "Name of the computer associated with this backup item.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Status of last backup operation.", + "type": "string" + }, + "protectionState": { + "description": "Protected, ProtectionStopped, IRPending or ProtectionError", + "type": "string" + }, + "isScheduledForDeferredDelete": { + "description": "Specifies if the item is scheduled for deferred deletion.", + "type": "boolean" + }, + "deferredDeleteSyncTimeInUTC": { + "format": "int64", + "description": "Sync time for deferred deletion.", + "type": "integer" + }, + "extendedInfo": { + "$ref": "#/definitions/MabFileFolderProtectedItemExtendedInfo", + "description": "Additional information with this backup item." + } + }, + "x-ms-discriminator-value": "MabFileFolderProtectedItem" + }, + "MabFileFolderProtectedItemExtendedInfo": { + "description": "Additional information on the backed up item.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last time when the agent data synced to service.", + "type": "string" + }, + "oldestRecoveryPoint": { + "format": "date-time", + "description": "The oldest backup copy available.", + "type": "string" + }, + "recoveryPointCount": { + "format": "int32", + "description": "Number of backup copies associated with the backup item.", + "type": "integer" + } + } + }, + "MabJob": { + "description": "MAB workload-specific job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "duration": { + "format": "duration", + "description": "Time taken by job to run.", + "type": "string" + }, + "actionsInfo": { + "description": "The state/actions applicable on jobs like cancel/retry.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "Cancellable", + "Retriable" + ], + "type": "string", + "x-ms-enum": { + "name": "JobSupportedAction", + "modelAsString": false + } + } + }, + "mabServerName": { + "description": "Name of server protecting the DS.", + "type": "string" + }, + "mabServerType": { + "description": "Server type of MAB container.", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "MabServerType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type of backup item.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "errorDetails": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/MabErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/MabJobExtendedInfo", + "description": "Additional information on the job." + } + }, + "x-ms-discriminator-value": "MabJob" + }, + "MabJobExtendedInfo": { + "description": "Additional information for the MAB workload-specific job.", + "type": "object", + "properties": { + "tasksList": { + "description": "List of tasks for this job.", + "type": "array", + "items": { + "$ref": "#/definitions/MabJobTaskDetails" + } + }, + "propertyBag": { + "description": "The job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "dynamicErrorMessage": { + "description": "Non localized error message specific to this job.", + "type": "string" + } + } + }, + "MabJobTaskDetails": { + "description": "MAB workload-specific job task details.", + "type": "object", + "properties": { + "taskId": { + "description": "The task display name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed for task.", + "type": "string" + }, + "status": { + "description": "The status.", + "type": "string" + } + } + }, + "MabProtectionPolicy": { + "description": "Mab container-specific backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionPolicy" + } + ], + "properties": { + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy details." + } + }, + "x-ms-discriminator-value": "MAB" + }, + "MonthlyRetentionSchedule": { + "description": "Monthly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format type for monthly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for monthly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for monthly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + }, + "Object": { + "description": "Base of all objects.", + "type": "object" + }, + "OperationResultInfo": { + "description": "Operation result info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationResultInfoBase" + } + ], + "properties": { + "jobList": { + "description": "List of jobs created by this operation.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationResultInfo" + }, + "OperationResultInfoBase": { + "description": "Base class for operation result info.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "OperationResultInfoBaseResource": { + "description": "Base class for operation result info.", + "allOf": [ + { + "$ref": "#/definitions/OperationWorkerResponse" + } + ], + "properties": { + "operation": { + "$ref": "#/definitions/OperationResultInfoBase", + "description": "OperationResultInfoBaseResource operation" + } + } + }, + "OperationWorkerResponse": { + "description": "This is the base class for operation result responses.", + "type": "object", + "properties": { + "statusCode": { + "description": "HTTP Status Code of the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false + } + }, + "headers": { + "description": "HTTP headers associated with this operation.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "PreValidateEnableBackupRequest": { + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\n It will validate followings\r\n 1. Vault capacity\r\n 2. VM is already protected\r\n 3. Any VM related configuration passed in properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "Container Type - VM, SQLPaaS, DPM etc", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "Entire ARM VM Id", + "type": "string" + }, + "vaultId": { + "description": "Entire vault id of the resource", + "type": "string" + }, + "properties": { + "description": "Configuration of VM if any needs to be validated like OS type etc", + "type": "string" + } + } + }, + "PreValidateEnableBackupResponse": { + "description": "Response contract for enable backup validation request", + "type": "object", + "properties": { + "status": { + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + }, + "errorCode": { + "description": "Response error code", + "type": "string" + }, + "errorMessage": { + "description": "Response error message", + "type": "string" + }, + "recommendation": { + "description": "Recommended action for user", + "type": "string" + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required for portal", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", + "type": "string" + } + } + }, + "ProtectedItem": { + "description": "Base class for backup items.", + "type": "object", + "properties": { + "protectedItemType": { + "description": "backup item type.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup managemenent for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "containerName": { + "description": "Unique name of container", + "type": "string" + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "lastRecoveryPoint": { + "format": "date-time", + "description": "Timestamp when the last (latest) backup copy was created for this backup item.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set the backup item belongs to", + "type": "string" + } + }, + "discriminator": "protectedItemType" + }, + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "healthState": { + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Backup management type for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "policyName": { + "description": "Backup policy name associated with the backup item.", + "type": "string" + }, + "containerName": { + "description": "Name of the container.", + "type": "string" + }, + "backupEngineName": { + "description": "Backup Engine name", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of protected item", + "type": "string" + }, + "fabricName": { + "description": "Name of the fabric.", + "type": "string" + }, + "backupSetName": { + "description": "Name of the backup set.", + "type": "string" + } + } + }, + "ProtectedItemResource": { + "description": "Base class for backup items.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectedItem", + "description": "ProtectedItemResource properties" + } + } + }, + "ProtectedItemResourceList": { + "description": "List of ProtectedItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectedItemResource" + } + } + } + }, + "ProtectionIntent": { + "description": "Base class for backup ProtectionIntent.", + "type": "object", + "properties": { + "protectionIntentItemType": { + "description": "backup protectionIntent type.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup managemenent for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "itemId": { + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectionIntentItemType" + }, + "ProtectionIntentResource": { + "description": "Base class for backup ProtectionIntent.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionIntent", + "description": "ProtectionIntentResource properties" + } + } + }, + "ProtectionPolicy": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "protectedItemsCount": { + "format": "int32", + "description": "Number of items associated with this policy.", + "type": "integer" + }, + "backupManagementType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", + "type": "string" + } + }, + "discriminator": "backupManagementType" + }, + "ProtectionPolicyQueryObject": { + "description": "Filters the list backup policies API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup policy.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + } + } + }, + "ProtectionPolicyResource": { + "description": "Base class for backup policy. Workload-specific backup policies are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionPolicy", + "description": "ProtectionPolicyResource properties" + } + } + }, + "ProtectionPolicyResourceList": { + "description": "List of ProtectionPolicy resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + } + } + }, + "Resource": { + "description": "ARM Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceList": { + "description": "Base for all lists of resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", + "type": "string" + } + } + }, + "RetentionDuration": { + "description": "Retention duration.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\n For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type of retention policy.", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } + }, + "RetentionPolicy": { + "description": "Base class for retention policy.", + "required": [ + "retentionPolicyType" + ], + "type": "object", + "properties": { + "retentionPolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", + "type": "string" + } + }, + "discriminator": "retentionPolicyType" + }, + "SchedulePolicy": { + "description": "Base class for backup schedule.", + "required": [ + "schedulePolicyType" + ], + "type": "object", + "properties": { + "schedulePolicyType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", + "type": "string" + } + }, + "discriminator": "schedulePolicyType" + }, + "Settings": { + "description": "Common settings field for backup management", + "type": "object", + "properties": { + "timeZone": { + "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", + "type": "string" + }, + "issqlcompression": { + "description": "SQL compression flag", + "type": "boolean" + } + } + }, + "SimpleRetentionPolicy": { + "description": "Simple policy retention.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + } + ], + "properties": { + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of the protection policy." + } + }, + "x-ms-discriminator-value": "SimpleRetentionPolicy" + }, + "SimpleSchedulePolicy": { + "description": "Simple policy schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "scheduleRunDays": { + "description": "List of days of week this schedule has to be run.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SubProtectionPolicy": { + "description": "Sub-protection policy which includes schedule and retention", + "type": "object", + "properties": { + "policyType": { + "description": "Type of backup policy type", + "type": "string" + }, + "schedulePolicy": { + "$ref": "#/definitions/SchedulePolicy", + "description": "Backup schedule specified as part of backup policy." + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicy", + "description": "Retention policy with the details on backup copy retention ranges." + } + } + }, + "WeeklyRetentionFormat": { + "description": "Weekly retention format.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of the week.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "weeksOfTheMonth": { + "description": "List of weeks of month.", + "type": "array", + "items": { + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last" + ], + "type": "string", + "x-ms-enum": { + "name": "WeekOfMonth", + "modelAsString": false + } + } + } + } + }, + "WeeklyRetentionSchedule": { + "description": "Weekly retention schedule.", + "type": "object", + "properties": { + "daysOfTheWeek": { + "description": "List of days of week for weekly retention policy.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + }, + "YearlyRetentionSchedule": { + "description": "Yearly retention schedule.", + "type": "object", + "properties": { + "retentionScheduleFormatType": { + "description": "Retention schedule format for yearly retention policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionScheduleFormat", + "modelAsString": true + } + }, + "monthsOfYear": { + "description": "List of months of year of yearly retention policy.", + "type": "array", + "items": { + "enum": [ + "Invalid", + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "type": "string", + "x-ms-enum": { + "name": "MonthOfYear", + "modelAsString": false + } + } + }, + "retentionScheduleDaily": { + "$ref": "#/definitions/DailyRetentionFormat", + "description": "Daily retention format for yearly retention policy." + }, + "retentionScheduleWeekly": { + "$ref": "#/definitions/WeeklyRetentionFormat", + "description": "Weekly retention format for yearly retention policy." + }, + "retentionTimes": { + "description": "Retention times of retention policy.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + }, + "retentionDuration": { + "$ref": "#/definitions/RetentionDuration", + "description": "Retention duration of retention Policy." + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "AzureRegion": { + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupFeature_Validate.json new file mode 100644 index 000000000000..82d4aeffd753 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupFeature_Validate.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2017-07-01", + "parameters": { + "featureType": "AzureVMResourceBackup", + "vmSize": "Basic_A0", + "vmSku": "Premium" + } + }, + "responses": { + "200": { + "body": { + "supportStatus": "DefaultOFF" + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json new file mode 100644 index 000000000000..98c4302a01bc --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2017-07-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json new file mode 100644 index 000000000000..7354bf7b189d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2017-07-01", + "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/GetBackupStatus.json new file mode 100644 index 000000000000..c37237ed1ee7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/GetBackupStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2017-07-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "resourceType": "VM" + } + }, + "responses": { + "200": { + "body": { + "protectionStatus": "Protected", + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm", + "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", + "policyName": "myPolicy", + "errorCode": "Success", + "errorMessage": "ErrorMessage" + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json new file mode 100644 index 000000000000..219a4ac3a7c0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "api-version": "2017-07-01", + "parameters": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel", + "protectionIntentItemType": "AzureResourceItem", + "friendlyName": "oneboxTestVmIntent", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "friendlyName": "", + "backupManagementType": "AzureIaasVM", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionState": "Protected" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_Validate.json new file mode 100644 index 000000000000..786708c58978 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureIaasVm/ProtectionIntent_Validate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2017-07-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1", + "resourceType": "VM", + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault", + "properties": "" + } + }, + "responses": { + "200": { + "body": { + "status": "Failed", + "errorCode": "VirtualMachineAlreadyProtected", + "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault", + "recommendation": "Please do not enable protection again.", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", + "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1" + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json new file mode 100644 index 000000000000..3b5aa09916b8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/AzureWorkload/BackupPolicies_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2017-07-01", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", + "name": "HourlyLogBackup", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "UTC", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json new file mode 100644 index 000000000000..1ce7ecd13d9b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2017-07-01", + "$filter": "type eq 'BackupProtectedItemCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 7, + "limit": -1, + "name": { + "value": "AzureIaasVM", + "localizedValue": "Azure Virtual Machine" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureStorage", + "localizedValue": "Azure Storage (Azure Files)" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json new file mode 100644 index 000000000000..1d3eb436c2c2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2017-07-01", + "$filter": "type eq 'BackupProtectionContainerCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json new file mode 100644 index 000000000000..8f822f3971ad --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ExportJobsOperationResult.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2017-07-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo", + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", + "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r" + }, + "headers": {} + } + }, + "202": { + "headers": { + "Retry-After": 60, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + }, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo" + }, + "headers": { + "Location": [ + "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + ], + "Retry-After": [ + "60" + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json new file mode 100644 index 000000000000..d300b927db96 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/GetJobDetails.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2017-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT9.8782791S", + "virtualMachineVersion": "Compute", + "extendedInfo": { + "tasksList": [ + { + "taskId": "Take Snapshot", + "duration": "PT0S", + "status": "InProgress" + }, + { + "taskId": "Transfer data to vault", + "duration": "PT0S", + "status": "NotStarted" + } + ], + "propertyBag": { + "VM Name": "testvm" + } + }, + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json new file mode 100644 index 000000000000..8e93628c7c6d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobs.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2017-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json new file mode 100644 index 000000000000..1395fa3a45c4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithAllSupportedFilters.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2017-07-01", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM' and operation eq 'Backup' and backupManagementType eq 'AzureIaasVM' and status eq 'InProgress'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json new file mode 100644 index 000000000000..007c752611d8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2017-07-01", + "$filter": "startTime eq '2016-01-01 00:00:00 AM' and endTime eq '2017-11-29 00:00:00 AM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT12.4272909S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "Backup", + "status": "InProgress", + "startTime": "2017-08-03T05:31:07.014604Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.RecoveryServices/vaults/backupJobs", + "properties": { + "jobType": "AzureIaaSVMJob", + "duration": "PT31.3066291S", + "virtualMachineVersion": "Compute", + "entityFriendlyName": "testvm", + "backupManagementType": "AzureIaasVM", + "operation": "ConfigureBackup", + "status": "Completed", + "startTime": "2017-08-03T05:30:32.4487085Z", + "endTime": "2017-08-03T05:31:03.7553376Z", + "activityId": "00000000-0000-0000-0000-000000000000" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs?api-version=2017-07-01&%24filter=startTime+eq+%272016-01-01+00%3a00%3a00+AM%27+and+endTime+eq+%272017-11-29+00%3a00%3a00+AM%27&%24skiptoken=%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-16%22%3f%3e%0d%0a%3cContinuationToken%3e%0d%0a++%3cContinuationToken%3e%0d%0a++++%3cVersion%3e2.0%3c%2fVersion%3e%0d%0a++++%3cType%3eTable%3c%2fType%3e%0d%0a++++%3cNextPartitionKey%3e1!28!NzI5MTk0OTM1MDkwNjEwODQzMA--%3c%2fNextPartitionKey%3e%0d%0a++++%3cNextRowKey%3e1!108!am9ic3N0YXJ0dGltZWluZGV4XzBfMjUxODkxNDYzNTI2NjE5Nzg5OF8wXzYwOWZkM2JmLTU4MzctNDFkYi1iMjExLTY1MzliNDNlZjM1OA--%3c%2fNextRowKey%3e%0d%0a++++%3cTargetLocation%3ePrimary%3c%2fTargetLocation%3e%0d%0a++%3c%2fContinuationToken%3e%0d%0a%3c%2fContinuationToken%3e" + } + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExoprtJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExoprtJobs.json new file mode 100644 index 000000000000..95d02c7cef50 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/Common/TriggerExoprtJobs.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2017-07-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + }, + "body": null + } + } +} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/GetJobDetails.json deleted file mode 100644 index f366ec4cbf8b..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/GetJobDetails.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "jobName": "cb7120f5-a787-4c2a-a793-19ad03776ad1", - "api-version": "2017-07-01" - }, - "responses": { - "200": { - "body": { - "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/cb7120f5-a787-4c2a-a793-19ad03776ad1", - "name": "cb7120f5-a787-4c2a-a793-19ad03776ad1", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT9.8782791S", - "virtualMachineVersion": "Compute", - "extendedInfo": { - "tasksList": [ - { - "taskId": "Take Snapshot", - "duration": "PT0S", - "status": "InProgress" - }, - { - "taskId": "Transfer data to vault", - "duration": "PT0S", - "status": "NotStarted" - } - ], - "propertyBag": { - "VM Name": "iaasvmtestv2vm1" - } - }, - "entityFriendlyName": "iaasvmtestv2vm1", - "backupManagementType": "AzureIaasVM", - "operation": "Backup", - "status": "InProgress", - "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "5417abaf-8cb7-41d8-a497-dee2ff4b930b" - } - } - } - } -} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/ListJobs.json deleted file mode 100644 index 1b6d01799b97..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/examples/ListJobs.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "SwaggerTestRg", - "vaultName": "NetSDKTestRsVault", - "api-version": "2017-07-01" - }, - "responses": { - "200": { - "body": { - "value": [{ - "id": "/Subscriptions/f7424430-103b-4ba3-bd9e-b6f0986f848a/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/cb7120f5-a787-4c2a-a793-19ad03776ad1", - "name": "cb7120f5-a787-4c2a-a793-19ad03776ad1", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT12.4272909S", - "virtualMachineVersion": "Compute", - "entityFriendlyName": "iaasvmtestv2vm1", - "backupManagementType": "AzureIaasVM", - "operation": "Backup", - "status": "InProgress", - "startTime": "2017-08-03T05:31:07.014604Z", - "activityId": "5417abaf-8cb7-41d8-a497-dee2ff4b930b" - } - }, - { - "id": "/Subscriptions/f7424430-103b-4ba3-bd9e-b6f0986f848a/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/947d792d-e27f-4139-af05-d3c598dc5cc6", - "name": "947d792d-e27f-4139-af05-d3c598dc5cc6", - "type": "Microsoft.RecoveryServices/vaults/backupJobs", - "properties": { - "jobType": "AzureIaaSVMJob", - "duration": "PT31.3066291S", - "virtualMachineVersion": "Compute", - "entityFriendlyName": "iaasvmtestv2vm1", - "backupManagementType": "AzureIaasVM", - "operation": "ConfigureBackup", - "status": "Completed", - "startTime": "2017-08-03T05:30:32.4487085Z", - "endTime": "2017-08-03T05:31:03.7553376Z", - "activityId": "e202d134-0286-4fdc-83ce-9426a213bd81" - } - } - ] - } - } - } -} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/jobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/jobs.json deleted file mode 100644 index d4177670188f..000000000000 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2017-07-01/jobs.json +++ /dev/null @@ -1,820 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2017-07-01", - "title": "RecoveryServicesBackupClient", - "x-ms-code-generation-settings": { - "internalConstructors": false - } - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs": { - "get": { - "tags": [ - "BackupJobs" - ], - "description": "Provides a pageable list of jobs.", - "operationId": "BackupJobs_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" - }, - { - "name": "$skipToken", - "in": "query", - "description": "skipToken Filter.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JobResourceList" - } - } - }, - "deprecated": false, - "x-ms-odata": "#/definitions/JobQueryObject", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "ListJobs": { - "$ref": "./examples/ListJobs.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}": { - "get": { - "tags": [ - "JobDetails" - ], - "description": "Gets exteded information associated with the job.", - "operationId": "JobDetails_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/VaultName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "jobName", - "in": "path", - "description": "Name of the job whose details are to be fetched.", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JobResource" - } - } - }, - "deprecated": false, - "x-ms-examples": { - "GetJobDetails": { - "$ref": "./examples/GetJobDetails.json" - } - } - } - } - }, - "definitions": { - "AzureIaaSVMErrorInfo": { - "description": "Azure IaaS VM workload-specific error information.", - "type": "object", - "properties": { - "errorCode": { - "format": "int32", - "description": "Error code.", - "type": "integer" - }, - "errorTitle": { - "description": "Title: Typically, the entity that the error pertains to.", - "type": "string" - }, - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "AzureIaaSVMJob": { - "description": "Azure IaaS VM workload-specifc job object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed during the execution of this job.", - "type": "string" - }, - "actionsInfo": { - "description": "Gets or sets the state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "Error details on execution of this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMErrorInfo" - } - }, - "virtualMachineVersion": { - "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", - "type": "string" - }, - "extendedInfo": { - "$ref": "#/definitions/AzureIaaSVMJobExtendedInfo", - "description": "Additional information for this job." - } - }, - "x-ms-discriminator-value": "AzureIaaSVMJob" - }, - "AzureIaaSVMJobExtendedInfo": { - "description": "Azure IaaS VM workload-specific additional information for job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks associated with this job.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" - } - }, - "propertyBag": { - "description": "Job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "progressPercentage": { - "format": "double", - "description": "Indicates progress of the job. Null if it has not started or completed.", - "type": "number" - }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "AzureIaaSVMJobTaskDetails": { - "description": "Azure IaaS VM workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "instanceId": { - "description": "The instanceId.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - }, - "progressPercentage": { - "format": "double", - "description": "Progress of the task.", - "type": "number" - } - } - }, - "DpmErrorInfo": { - "description": "DPM workload-specific error information.", - "type": "object", - "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations for above error code.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DpmJob": { - "description": "DPM workload-specifc job object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time elapsed for job.", - "type": "string" - }, - "dpmServerName": { - "description": "DPM server name managing the backup item or backup job.", - "type": "string" - }, - "containerName": { - "description": "Name of cluster/server protecting current backup item, if any.", - "type": "string" - }, - "containerType": { - "description": "Type of container.", - "type": "string" - }, - "workloadType": { - "description": "Type of backup item.", - "type": "string" - }, - "actionsInfo": { - "description": "The state/actions applicable on this job like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/DpmErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/DpmJobExtendedInfo", - "description": "Additional information for this job." - } - }, - "x-ms-discriminator-value": "DpmJob" - }, - "DpmJobExtendedInfo": { - "description": "Additional information on the DPM workload-specific job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks associated with this job.", - "type": "array", - "items": { - "$ref": "#/definitions/DpmJobTaskDetails" - } - }, - "propertyBag": { - "description": "The job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dynamicErrorMessage": { - "description": "Non localized error message on job execution.", - "type": "string" - } - } - }, - "DpmJobTaskDetails": { - "description": "DPM workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "Job": { - "description": "Defines workload agnostic properties for a job.", - "required": [ - "jobType" - ], - "type": "object", - "properties": { - "entityFriendlyName": { - "description": "Friendly name of the entity on which the current job is executing.", - "type": "string" - }, - "backupManagementType": { - "description": "Backup management type to execute the current job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "operation": { - "description": "The operation name.", - "type": "string" - }, - "status": { - "description": "Job status.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "activityId": { - "description": "ActivityId of job.", - "type": "string" - }, - "jobType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", - "type": "string" - } - }, - "discriminator": "jobType" - }, - "JobQueryObject": { - "description": "Filters to list the jobs.", - "type": "object", - "properties": { - "status": { - "description": "Status of the job.", - "enum": [ - "Invalid", - "InProgress", - "Completed", - "Failed", - "CompletedWithWarnings", - "Cancelled", - "Cancelling" - ], - "type": "string", - "x-ms-enum": { - "name": "JobStatus", - "modelAsString": true - } - }, - "backupManagementType": { - "description": "Type of backup managmenent for the job.", - "enum": [ - "Invalid", - "AzureIaasVM", - "MAB", - "DPM", - "AzureBackupServer", - "AzureSql" - ], - "type": "string", - "x-ms-enum": { - "name": "BackupManagementType", - "modelAsString": true - } - }, - "operation": { - "description": "Type of operation.", - "enum": [ - "Invalid", - "Register", - "UnRegister", - "ConfigureBackup", - "Backup", - "Restore", - "DisableBackup", - "DeleteBackupData" - ], - "type": "string", - "x-ms-enum": { - "name": "JobOperationType", - "modelAsString": true - } - }, - "jobId": { - "description": "JobID represents the job uniquely.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "Job has started at this time. Value is in UTC.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "Job has ended at this time. Value is in UTC.", - "type": "string" - } - } - }, - "JobResource": { - "description": "Defines workload agnostic properties for a job.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/Job", - "description": "JobResource properties" - } - } - }, - "JobResourceList": { - "description": "List of Job resources", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ResourceList" - } - ], - "properties": { - "value": { - "description": "List of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/JobResource" - } - } - } - }, - "MabErrorInfo": { - "description": "MAB workload-specific error information.", - "type": "object", - "properties": { - "errorString": { - "description": "Localized error string.", - "type": "string" - }, - "recommendations": { - "description": "List of localized recommendations.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "MabJob": { - "description": "MAB workload-specific job.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Job" - } - ], - "properties": { - "duration": { - "format": "duration", - "description": "Time taken by job to run.", - "type": "string" - }, - "actionsInfo": { - "description": "The state/actions applicable on jobs like cancel/retry.", - "type": "array", - "items": { - "enum": [ - "Invalid", - "Cancellable", - "Retriable" - ], - "type": "string", - "x-ms-enum": { - "name": "JobSupportedAction", - "modelAsString": false - } - } - }, - "mabServerName": { - "description": "Name of server protecting the DS.", - "type": "string" - }, - "mabServerType": { - "description": "Server type of MAB container.", - "enum": [ - "Invalid", - "Unknown", - "IaasVMContainer", - "IaasVMServiceContainer", - "DPMContainer", - "AzureBackupServerContainer", - "MABContainer", - "Cluster", - "AzureSqlContainer", - "Windows", - "VCenter" - ], - "type": "string", - "x-ms-enum": { - "name": "MabServerType", - "modelAsString": true - } - }, - "workloadType": { - "description": "Workload type of backup item.", - "enum": [ - "Invalid", - "VM", - "FileFolder", - "AzureSqlDb", - "SQLDB", - "Exchange", - "Sharepoint", - "VMwareVM", - "SystemState", - "Client", - "GenericDataSource" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkloadType", - "modelAsString": true - } - }, - "errorDetails": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/MabErrorInfo" - } - }, - "extendedInfo": { - "$ref": "#/definitions/MabJobExtendedInfo", - "description": "Additional information on the job." - } - }, - "x-ms-discriminator-value": "MabJob" - }, - "MabJobExtendedInfo": { - "description": "Additional information for the MAB workload-specific job.", - "type": "object", - "properties": { - "tasksList": { - "description": "List of tasks for this job.", - "type": "array", - "items": { - "$ref": "#/definitions/MabJobTaskDetails" - } - }, - "propertyBag": { - "description": "The job properties.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "dynamicErrorMessage": { - "description": "Non localized error message specific to this job.", - "type": "string" - } - } - }, - "MabJobTaskDetails": { - "description": "MAB workload-specific job task details.", - "type": "object", - "properties": { - "taskId": { - "description": "The task display name.", - "type": "string" - }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" - }, - "endTime": { - "format": "date-time", - "description": "The end time.", - "type": "string" - }, - "duration": { - "format": "duration", - "description": "Time elapsed for task.", - "type": "string" - }, - "status": { - "description": "The status.", - "type": "string" - } - } - }, - "Object": { - "description": "Base of all objects.", - "type": "object" - }, - "Resource": { - "description": "ARM Resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource Id represents the complete path to the resource.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource name associated with the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", - "type": "string", - "readOnly": true - }, - "location": { - "description": "Resource location.", - "type": "string" - }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "eTag": { - "description": "Optional ETag.", - "type": "string" - } - }, - "x-ms-azure-resource": true - }, - "ResourceList": { - "description": "Base for all lists of resources.", - "type": "object", - "properties": { - "nextLink": { - "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.", - "type": "string" - } - } - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "description": "The subscription Id.", - "required": true, - "type": "string" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group where the recovery services vault is present.", - "required": true, - "x-ms-parameter-location": "method", - "type": "string" - }, - "VaultName": { - "name": "vaultName", - "in": "path", - "description": "The name of the recovery services vault.", - "required": true, - "x-ms-parameter-location": "method", - "type": "string" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "description": "Client Api Version.", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account." - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} \ No newline at end of file diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index db1e597c103d..5efe230f4c66 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -30,10 +30,21 @@ description: Open API 2.0 Specs for Azure RecoveryServices Backup service openapi-type: arm tag: package-2017-07 csharp-sdks-folder: ./Generated/CSharp +python-sdks-folder: ./Generated/Python +go-sdk-folder: ./Generated/Golang license-header: MICROSOFT_MIT ``` +### Validations +Run validations when `--validate` is specified on command line + +``` yaml $(validate) +azure-validator: true +model-validator: true +semantic-validator: true +message-format: json +``` ### Tag: package-2017-07 @@ -41,8 +52,8 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma ``` yaml $(tag) == 'package-2017-07' input-file: -- Microsoft.RecoveryServices/stable/2017-07-01/jobs.json -- Microsoft.RecoveryServices/stable/2016-12-01/backupManagement.json +- Microsoft.RecoveryServices/stable/2017-07-01/bms.json +- Microsoft.RecoveryServices/stable/2016-12-01/bms.json - Microsoft.RecoveryServices/stable/2016-08-10/operations.json ``` @@ -102,17 +113,6 @@ python: output-folder: $(python-sdks-folder)/azure-mgmt-recoveryservicesbackup ``` ---- -# Validation - -## Suppression - -``` yaml -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - reason: Autorest invalidates two letter acronyms as well and changes in data contracts require service wide changes and require more time -``` - ## Go These settings apply only when `--go` is specified on the command line.