swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector ProtectionIntent API schemes: - https tags: - name: ProtectionIntent paths: /Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection: post: tags: - ProtectionIntent summary: "Microsoft Azure It Will Validate Followings\r\n1 Vault Capacity\r\n2 Vm Is Already Protected\r\n3 Any Vm Related Configuration Passed In Properties" operationId: microsoftAzureProtectionintentValidate 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' x-ms-examples: Validate Enable Protection on Azure Vm: $ref: ./examples/AzureIaasVm/ProtectionIntent_Validate.json description: Needs a more full description created. ? /Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName} : get: tags: - ProtectionIntent description: Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,
call the GetItemOperationResult API. operationId: microsoftAzureProtectionintentGet 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 backed up item. required: true type: string - name: intentObjectName in: path description: Backed up item name whose details are to be fetched. required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/ProtectionIntentResource' x-ms-examples: Get ProtectionIntent for an item: $ref: ./examples/AzureWorkload/BackupProtectionIntent_Get.json summary: Microsoft Azure Get 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: microsoftAzureProtectionintentCreateorupdate 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' x-ms-examples: Create or Update Azure Vm Protection Intent: $ref: ./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json summary: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Recoveryservices Vaults Vaultname Backupfabrics Fabricname Backupprotectionintent Intentobjectname delete: tags: - ProtectionIntent description: Used to remove intent from an item operationId: microsoftAzureProtectionintentDelete 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 intent. required: true type: string - name: intentObjectName in: path description: Intent to be deleted. required: true type: string responses: '204': description: NoContent x-ms-examples: Delete Protection intent from item: $ref: ./examples/AzureWorkload/BackupProtectionIntent_Delete.json summary: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Recoveryservices Vaults Vaultname Backupfabrics Fabricname Backupprotectionintent Intentobjectname definitions: 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\r\nfor portal" type: string protectedItemName: description: Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal type: string ProtectionIntentResource: description: Base class for backup ProtectionIntent. allOf: - $ref: '#/definitions/Resource' properties: properties: $ref: '#/definitions/ProtectionIntent' description: ProtectionIntentResource properties PreValidateEnableBackupRequest: description: "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties." type: object properties: resourceType: description: ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc enum: - Invalid - VM - FileFolder - AzureSqlDb - SQLDB - Exchange - Sharepoint - VMwareVM - SystemState - Client - GenericDataSource - SQLDataBase - AzureFileShare - SAPHanaDatabase - SAPAseDatabase - SAPHanaDBInstance type: string x-ms-enum: name: DataSourceType modelAsString: true resourceId: description: ARM Virtual Machine Id type: string vaultId: description: ARM id of the Recovery Services Vault type: string properties: description: Configuration of VM if any needs to be validated like OS type etc type: string 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 ProtectionIntent: description: Base class for backup ProtectionIntent. required: - protectionIntentItemType type: object properties: protectionIntentItemType: description: backup protectionIntent type. enum: - Invalid - AzureResourceItem - RecoveryServiceVaultItem - AzureWorkloadContainerAutoProtectionIntent - AzureWorkloadAutoProtectionIntent - AzureWorkloadSQLAutoProtectionIntent type: string x-ms-enum: name: ProtectionIntentItemType modelAsString: true backupManagementType: description: Type of backup management 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 parameters: ResourceGroupName: name: resourceGroupName in: path description: The name of the resource group where the recovery services vault is present. required: true type: string x-ms-parameter-location: method VaultName: name: vaultName in: path description: The name of the recovery services vault. required: true type: string x-ms-parameter-location: method AzureRegion: name: azureRegion in: path description: Azure region to hit Api required: true type: string x-ms-parameter-location: method ApiVersion: name: api-version in: query description: Client Api Version. required: true type: string SubscriptionId: name: subscriptionId in: path description: The subscription Id. required: true type: string x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'