openapi: 3.0.0 info: version: 1.0-rev0 title: Veeam Backup for AWS public API 1.0 Agents Credentials API description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery. security: - Bearer: [] tags: - description: The Credentials section defines paths and operations for managing credentials records that are added to the backup server. name: Credentials paths: /api/v1/cloudCredentials: get: description: The HTTP GET request to the `/api/v1/cloudCredentials` path allows you to get an array of credentials records used to connect to cloud services. operationId: GetAllCloudCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: Number of cloud credentials records to skip. in: query name: skip schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/CloudCredentialsFilters' - description: Maximum number of cloud credentials records to return. in: query name: limit schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/CloudCredentialsFilters' - description: Sorts cloud credentials by one of the cloud credentials parameters. in: query name: orderColumn schema: $ref: '#/components/schemas/ECloudCredentialsFiltersOrderColumn' x-veeam-spec: $ref: '#/components/schemas/CloudCredentialsFilters' - description: Sorts cloud credentials in the ascending order by the `orderColumn` parameter. in: query name: orderAsc schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/CloudCredentialsFilters' - description: Filters cloud credentials by the `nameFilter` pattern. The pattern can match any cloud credentials parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. in: query name: nameFilter schema: type: string x-veeam-spec: $ref: '#/components/schemas/CloudCredentialsFilters' - in: query name: typeFilter schema: $ref: '#/components/schemas/ECloudCredentialsType' x-veeam-spec: $ref: '#/components/schemas/CloudCredentialsFilters' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsResult' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get All Cloud Credentials tags: - Credentials x-veeam-authorize: claims: - ViewCloudCredentials post: description: The HTTP POST request to the `/api/v1/cloudCredentials` path allows you to add a credentials record used to connect to cloud services. operationId: CreateCloudCreds parameters: - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsModel' description: Cloud credentials record has been created. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Add Cloud Credentials Record tags: - Credentials x-veeam-authorize: claims: - CreateCloudCredentials /api/v1/cloudCredentials/appRegistration: post: description: The HTTP POST request to the `/api/v1/cloudCredentials/appRegistration` path allows you to get a single-use verification code required to register a new Azure Active Directory application. operationId: RequestAppRegistrationByDeviceCode parameters: - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudDeviceCodeSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CloudDeviceCodeModel' description: Verification code has been received. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get Verification Code tags: - Credentials x-veeam-authorize: claims: - CreateCloudCredentials /api/v1/cloudCredentials/appRegistration/{verificationCode}: post: description: The HTTP POST request to the `/api/v1/cloudCredentials/appRegistration/{verificationCode}` path allows you to register a new Azure Active Directory application using the specified `verificationCode`. operationId: FinishAppRegistrationByDeviceCode parameters: - $ref: '#/components/parameters/apiVersionParam' - description: Verification code. To obtain the code, use the [Get Verification Code](#tag/Credentials/operation/RequestAppRegistrationByDeviceCode) request. in: path name: verificationCode required: true schema: type: string responses: '201': content: application/json: schema: $ref: '#/components/schemas/CloudNativeApplicationModel' description: Azure Active Directory application has been registered. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Register Azure AD Application tags: - Credentials x-veeam-authorize: claims: - CreateCloudCredentials /api/v1/cloudCredentials/{id}: delete: description: The HTTP DELETE request to the `/api/v1/cloudCredentials/{id}` path allows you to remove a cloud credentials record that has the specified `id`. operationId: DeleteCloudCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the cloud credentials record. in: path name: id required: true schema: format: uuid type: string responses: '204': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Cloud credentials record has been removed. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Remove Cloud Credentials Record tags: - Credentials x-veeam-authorize: claims: - DeleteCloudCredentials get: description: The HTTP GET request to the `/api/v1/cloudCredentials/{id}` path allows you to get a cloud credentials record that has the specified `id`. operationId: GetCloudCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the cloud credentials record. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Get Cloud Credentials Record tags: - Credentials x-veeam-authorize: claims: - ViewCloudCredentials put: description: The HTTP PUT request to the `/api/v1/cloudCredentials/{id}` path allows you to edit a cloud credentials record that has the specified `id`. operationId: UpdateCloudCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the cloud credentials record. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsModel' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsModel' description: Cloud credentials record has been updated. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Edit Cloud Credentials Record tags: - Credentials x-veeam-authorize: claims: - UpdateCloudCredentials /api/v1/cloudCredentials/{id}/changeCertificate: post: description: The HTTP POST request to the `/api/v1/cloudCredentials/{id}/changeCertificate` path allows you to change a certificate used for authentication in your Azure Active Directory application associated with an Azure compute account that has the specified `id`. operationId: ChangeCloudCertificate parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the Azure compute account. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CertificateUploadSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsModel' description: Certificate has been changed. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Change Certificate tags: - Credentials x-veeam-authorize: claims: - ChangeCloudCertificate /api/v1/cloudCredentials/{id}/changeSecretKey: post: description: The HTTP POST request to the `/api/v1/cloudCredentials/{id}/changeSecretKey` path allows you to change a secret key of a cloud credentials record that has the specified `id`. operationId: ChangeCloudCredsSecretKey parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the cloud credentials record. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsPasswordSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CloudCredentialsModel' description: Secret key has been changed. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Change Secret Key tags: - Credentials x-veeam-authorize: claims: - ChangeCloudSecretKey /api/v1/cloudCredentials/{id}/helperAppliances: get: description: The HTTP GET request to the `/api/v1/cloudCredentials/{id}/helperAppliances` path allows you to get an array of Lunux-based helper appliances of a Microsoft Azure compute account that has the specified `id`. operationId: GetAllCredsHelperAppliances parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the Microsoft Azure compute account. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CloudHelperApplianceResult' description: OK '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get All Helper Appliances tags: - Credentials x-veeam-authorize: claims: - ViewCredentials post: description: The HTTP POST request to the `/api/v1/cloudCredentials/{id}/helperAppliances` path allows you to create a new Lunux-based helper appliance or edit settings of an existing one for a Microsoft Azure compute account that has the specified `id`. operationId: CreateCloudCredsHelperAppliance parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the Microsoft Azure compute account. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CloudHelperApplianceSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/SessionModel' description: AzureApplianceDeploy session has been created. To check the progress, track the session `state`. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Add or Edit Helper Appliance tags: - Credentials x-veeam-authorize: claims: - CreateCloudCredentials /api/v1/cloudCredentials/{id}/helperAppliances/{applianceId}: delete: description: The HTTP DELETE request to the `/api/v1/cloudCredentials/{id}/helperAppliances/{applianceId}` path allows you to remove a Lunux-based helper appliance with the `applianceId` of a Microsoft Azure compute account that has the specified `id`. operationId: DeleteCloudCredsHelperAppliance parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the Microsoft Azure compute account. in: path name: id required: true schema: format: uuid type: string - description: ID of the helper appliance. in: path name: applianceId required: true schema: format: uuid type: string responses: '204': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Helper appliance has been removed. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Remove Helper Appliance tags: - Credentials x-veeam-authorize: claims: - DeleteCloudCredentials get: description: The HTTP GET request to the `/api/v1/cloudCredentials/{id}/helperAppliances/{applianceId}` path allows you to get a Lunux-based helper appliance with the `applianceId` of a Microsoft Azure compute account that has the specified `id`. operationId: GetCloudCredsHelperAppliance parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the Microsoft Azure compute account. in: path name: id required: true schema: format: uuid type: string - description: ID of the helper appliance. in: path name: applianceId required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CloudHelperApplianceModel' description: OK '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get Helper Appliance tags: - Credentials x-veeam-authorize: claims: - UpdateCloudCredentials /api/v1/credentials: get: description: The HTTP GET request to the `/api/v1/credentials` path allows you to get an array of credentials records that are added to the backup server. operationId: GetAllCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: Number of credentials records to skip. in: query name: skip schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/CredentialsFilters' - description: Maximum number of credentials records to return. in: query name: limit schema: format: int32 type: integer x-veeam-spec: $ref: '#/components/schemas/CredentialsFilters' - description: Sorts credentials by one of the credentials parameters. in: query name: orderColumn schema: $ref: '#/components/schemas/ECredentialsFiltersOrderColumn' x-veeam-spec: $ref: '#/components/schemas/CredentialsFilters' - description: Sorts credentials in the ascending order by the `orderColumn` parameter. in: query name: orderAsc schema: type: boolean x-veeam-spec: $ref: '#/components/schemas/CredentialsFilters' - description: Filters credentials by the `nameFilter` pattern. The pattern can match any credentials parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. in: query name: nameFilter schema: type: string x-veeam-spec: $ref: '#/components/schemas/CredentialsFilters' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CredentialsResult' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get All Credentials tags: - Credentials x-veeam-authorize: claims: - ViewCredentials post: description: The HTTP POST request to the `/api/v1/credentials` path allows you to add a credentials record. operationId: CreateCreds parameters: - $ref: '#/components/parameters/apiVersionParam' requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialsSpec' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/CredentialsModel' description: Account has been added. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Add Credentials Record tags: - Credentials x-veeam-authorize: claims: - CreateCredentials /api/v1/credentials/{id}: delete: description: The HTTP DELETE request to the `/api/v1/credentials/{id}` path allows you to remove a credentials record that has the specified `id`. operationId: DeleteCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the credentials record. in: path name: id required: true schema: format: uuid type: string responses: '204': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Credentials record has been removed. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Remove Credentials Record tags: - Credentials x-veeam-authorize: claims: - DeleteCredentials get: description: The HTTP GET request to the `/api/v1/credentials/{id}` path allows you to get a credentials record that has the specified `id`. operationId: GetCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the credentials record. in: path name: id required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CredentialsModel' description: OK '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Get Credentials Record tags: - Credentials x-veeam-authorize: claims: - ViewCredentials put: description: The HTTP PUT request to the `/api/v1/credentials/{id}` path allows you to edit a credentials record that has the specified `id`. operationId: UpdateCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the credentials record. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialsModel' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CredentialsModel' description: Credentials record has been updated. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Edit Credentials Record tags: - Credentials x-veeam-authorize: claims: - UpdateCredentials /api/v1/credentials/{id}/changepassword: post: description: The HTTP POST request to the `/api/v1/credentials/{id}/changepassword` path allows you to change a password of the credentials record that has the specified `id`. operationId: ChangePasswordForCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the credentials record. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialsPasswordChangeSpec' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Password has been changed. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Change Password tags: - Credentials x-veeam-authorize: claims: - ChangeAccountPassword /api/v1/credentials/{id}/changeprivatekey: post: description: The HTTP POST request to the `/api/v1/credentials/{id}/changeprivatekey` path allows you to change a Linux private key of the credentials record that has the specified `id`. operationId: ChangePrivateKeyForCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the credentials record. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PrivateKeyChangeSpec' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Private key has been changed. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Change Linux Private Key tags: - Credentials x-veeam-authorize: claims: - ChangeLinuxPrivateKey /api/v1/credentials/{id}/changerootpassword: post: description: The HTTP POST request to the `/api/v1/credentials/{id}/changerootpassword` path allows you to change a Linux root password of the credentials record that has the specified `id`. operationId: ChangeRootPasswordForCreds parameters: - $ref: '#/components/parameters/apiVersionParam' - description: ID of the credentials record. in: path name: id required: true schema: format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialsPasswordChangeSpec' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/EmptySuccessResponse' description: Root password has been changed. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' summary: Change Linux Root Password tags: - Credentials x-veeam-authorize: claims: - ChangeLinuxRootPassword components: schemas: StandardCredentialsSpec: allOf: - $ref: '#/components/schemas/BaseCredentialsSpec' - properties: tag: description: Tag used to identify the credentials record. type: string type: object BaseCredentialsModel: properties: creationTime: description: Date and time when the credentials were created. format: date-time type: string description: description: Description of the credentials record. type: string id: description: ID of the credentials record. format: uuid type: string type: $ref: '#/components/schemas/ECredentialsType' username: description: User name. type: string type: object CloudHelperApplianceResult: properties: data: description: Array of Lunux-based helper appliances. items: $ref: '#/components/schemas/CloudHelperApplianceModel' type: array pagination: $ref: '#/components/schemas/PaginationResult' required: - data - pagination type: object EAzureComputeCredentialsCreationMode: description: Mode that defines whether you want to connect to Azure Active Directory using an existing or a newly created Azure Active Directory application. enum: - NewAccount - ExistingAccount type: string EAzureComputeCredentialsDeploymentType: description: Deployment type (global Microsoft Azure or Microsoft Azure Stack Hub). enum: - MicrosoftAzure - MicrosoftAzureStack type: string GoogleCloudCredentialsSpec: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsSpec' - properties: accessKey: description: Access ID of a Google HMAC key. type: string secretKey: description: Secret linked to the access ID. type: string tag: description: Tag used to identify the cloud credentials record. type: string required: - accessKey - secretKey type: object GoogleCloudCredentialsModel: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsModel' - properties: accessKey: description: Access ID of a Google HMAC key. type: string tag: description: Tag used to identify the cloud credentials record. type: string required: - accessKey type: object AzureComputeCloudDeviceCodeSpec: allOf: - $ref: '#/components/schemas/BaseCloudDeviceCodeSpec' - properties: region: $ref: '#/components/schemas/EAzureRegionType' required: - region type: object AzureLinuxHelperApplianceModel: allOf: - $ref: '#/components/schemas/BaseCloudHelperApplianceModel' - description: Lunux-based helper appliance for Microsoft Azure account. properties: SSHPort: description: Port over which Veeam Backup & Replication communicates with the helper appliance. type: integer id: description: Helper appliance ID. format: uuid type: string location: description: Storage account location where the helper appliance is configured. type: string resourceGroup: description: Resource group associated with the helper appliance. type: string storageAccount: description: Azure storage account whose resources are used to store disks of the helper appliance. type: string subnet: description: Subnet for the helper appliance. type: string subscriptionId: description: ID that Veeam Backup & Replication assigned to the Azure subscription. format: uuid type: string virtualNetwork: description: Network to which the helper appliance is connected. type: string vmName: description: VM name of the helper appliance. type: string required: - id - subscriptionId type: object AzureComputeCloudCredentialsModel: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsModel' - properties: connectionName: description: Name under which the cloud credentials record is shown in Veeam Backup & Replication. type: string deployment: $ref: '#/components/schemas/AzureComputeCloudCredentialsDeploymentModel' subscription: $ref: '#/components/schemas/AzureComputeCloudCredentialsSubscriptionModel' tag: description: Tag used to identify the cloud credentials record. type: string required: - connectionName - deployment - subscription type: object description: Microsoft Azure compute account. AzureLinuxHelperApplianceSpec: allOf: - $ref: '#/components/schemas/BaseCloudHelperApplianceSpec' properties: SSHPort: description: Port over which Veeam Backup & Replication communicates with the helper appliance. type: integer location: description: Storage account location where you want to configure the helper appliance. type: string resourceGroup: description: Resource group associated with the helper appliance. type: string storageAccount: description: Name of the Azure storage account whose resources are used to store the helper appliance. type: string subnet: description: Subnet for the helper appliance. type: string subscriptionId: description: ID that Veeam Backup & Replication assigned to the Azure subscription. format: uuid type: string virtualNetwork: description: Network to which the helper appliance is connected. type: string required: - subscriptionId type: object CloudNativeApplicationModel: allOf: - discriminator: mapping: AzureCompute: '#/components/schemas/AzureComputeCloudNativeApplicationModel' propertyName: type oneOf: - $ref: '#/components/schemas/AzureComputeCloudNativeApplicationModel' - $ref: '#/components/schemas/BaseCloudNativeApplicationModel' BaseCloudDeviceCodeSpec: properties: type: $ref: '#/components/schemas/ECloudCredentialsType' type: object CloudCredentialsResult: properties: data: description: Array of cloud credentials. items: $ref: '#/components/schemas/CloudCredentialsModel' type: array pagination: $ref: '#/components/schemas/PaginationResult' required: - data - pagination type: object Error: properties: errorCode: description: The error code is a string that uniquely identifies an error condition and should be understood by programs that detect and handle errors by type enum: - AccessDenied - ExpiredToken - InvalidToken - InvalidURI - MethodNotAllowed - NotFound - NotImplemented - ServiceUnavailable - UnexpectedContent - UnknownError type: string message: description: The error message contains a generic description of the error condition in English. It is intended for a human audience type: string resourceId: description: ID of the object that is involved in the error (or empty) type: string required: - errorCode - message type: object CloudDeviceCodeModel: allOf: - discriminator: mapping: AzureCompute: '#/components/schemas/AzureComputeCloudDeviceCodeModel' propertyName: type oneOf: - $ref: '#/components/schemas/AzureComputeCloudDeviceCodeModel' - $ref: '#/components/schemas/BaseCloudDeviceCodeModel' CertificateUploadSpec: description: Certificate settings (for certificate-based authentication). properties: certificate: description: Base64-encoded string of the content of a PFX certificate file. type: string formatType: $ref: '#/components/schemas/ECertificateFileFormatType' password: description: Decryption password for the certificate file. type: string required: - certificate - formatType type: object LinuxCredentialsModel: allOf: - $ref: '#/components/schemas/BaseCredentialsModel' - properties: SSHPort: description: SSH port used to connect to a Linux server. type: integer addToSudoers: description: If *true*, the account is automatically added to the sudoers file. type: boolean autoElevated: description: If *true*, the permissions of the account are automatically elevated to the root user. type: boolean passphrase: description: Passphrase that protects the private key. type: string privateKey: description: Private key. type: string tag: description: Tag used to identify the credentials record. type: string useSu: description: If *true*, the `su` command is used for Linux distributions where the `sudo` command is not available. type: boolean type: object BaseCloudDeviceCodeModel: properties: type: $ref: '#/components/schemas/ECloudCredentialsType' type: object BaseCloudNativeApplicationModel: properties: type: $ref: '#/components/schemas/ECloudCredentialsType' type: object AzureComputeCloudCredentialsSpec: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsSpec' - properties: connectionName: description: Name under which the cloud credentials record will be shown in Veeam Backup & Replication. type: string creationMode: $ref: '#/components/schemas/EAzureComputeCredentialsCreationMode' existingAccount: $ref: '#/components/schemas/AzureComputeCredentialsExistingAccountSpec' newAccount: $ref: '#/components/schemas/AzureComputeCredentialsNewAccountSpec' tag: description: Tag used to identify the cloud credentials record. type: string required: - connectionName - creationMode type: object CloudCredentialsModel: allOf: - discriminator: mapping: Amazon: '#/components/schemas/AmazonCloudCredentialsModel' AzureCompute: '#/components/schemas/AzureComputeCloudCredentialsModel' AzureStorage: '#/components/schemas/AzureStorageCloudCredentialsModel' Google: '#/components/schemas/GoogleCloudCredentialsModel' propertyName: type oneOf: - $ref: '#/components/schemas/AmazonCloudCredentialsModel' - $ref: '#/components/schemas/AzureStorageCloudCredentialsModel' - $ref: '#/components/schemas/AzureComputeCloudCredentialsModel' - $ref: '#/components/schemas/GoogleCloudCredentialsModel' - $ref: '#/components/schemas/BaseCloudCredentialsModel' BaseCloudHelperApplianceSpec: properties: type: $ref: '#/components/schemas/ECloudCredentialsType' type: object EmptySuccessResponse: description: Empty success response (200, 201, 204). type: object CredentialsModel: allOf: - discriminator: mapping: Linux: '#/components/schemas/LinuxCredentialsModel' Standard: '#/components/schemas/StandardCredentialsModel' propertyName: type oneOf: - $ref: '#/components/schemas/StandardCredentialsModel' - $ref: '#/components/schemas/LinuxCredentialsModel' - $ref: '#/components/schemas/BaseCredentialsModel' SessionModel: properties: activityId: description: ID of the activity. format: uuid type: string creationTime: description: Date and time when the session was created. format: date-time type: string endTime: description: Date and time when the session was ended. format: date-time type: string id: description: ID of the session. format: uuid type: string name: description: Name of the session. type: string parentSessionId: description: ID of the parent session. format: uuid type: string progressPercent: description: Progress percentage of the session. type: integer resourceId: description: ID of the resource. format: uuid type: string resourceReference: description: URI of the resource. type: string result: $ref: '#/components/schemas/SessionResultModel' sessionType: $ref: '#/components/schemas/ESessionType' state: $ref: '#/components/schemas/ESessionState' usn: description: Update sequence number. format: int64 type: integer required: - activityId - creationTime - id - name - sessionType - state - usn type: object AzureComputeCloudCredentialsDeploymentModel: description: Environment to restore workloads to. properties: deploymentType: $ref: '#/components/schemas/EAzureComputeCredentialsDeploymentType' region: $ref: '#/components/schemas/EAzureRegionType' required: - deploymentType type: object PaginationResult: description: Pagination settings. properties: count: description: Number of returned results. format: int32 type: integer limit: description: Maximum number of results to return. format: int32 type: integer skip: description: Number of skipped results. format: int32 type: integer total: description: Total number of results. format: int32 type: integer required: - total - count type: object StandardCredentialsModel: allOf: - $ref: '#/components/schemas/BaseCredentialsModel' - properties: tag: description: Tag used to identify the credentials record. type: string type: object ECertificateFileFormatType: description: Certificate file format. enum: - pfx type: string AzureComputeCredentialsExistingAccountSpec: description: Existing Azure Active Directory application. properties: deployment: $ref: '#/components/schemas/AzureComputeCloudCredentialsDeploymentModel' subscription: $ref: '#/components/schemas/AzureComputeCloudCredentialsSubscriptionSpec' required: - deployment - subscription type: object CloudCredentialsFilters: properties: limit: description: Maximum number of cloud credentials records to return. format: int32 type: integer nameFilter: description: Filters cloud credentials by the `nameFilter` pattern. The pattern can match any cloud credentials parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. type: string orderAsc: description: Sorts cloud credentials in the ascending order by the `orderColumn` parameter. type: boolean orderColumn: $ref: '#/components/schemas/ECloudCredentialsFiltersOrderColumn' skip: description: Number of cloud credentials records to skip. format: int32 type: integer typeFilter: $ref: '#/components/schemas/ECloudCredentialsType' type: object AmazonCloudCredentialsModel: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsModel' - properties: accessKey: description: ID of the access key. type: string tag: description: Tag used to identify the cloud credentials record. type: string required: - accessKey type: object EAzureRegionType: description: Region where your Microsoft Azure container is located. enum: - China - Germany - Global - Government type: string BaseCredentialsSpec: properties: description: description: Description of the credentials record. type: string password: description: Password. type: string type: $ref: '#/components/schemas/ECredentialsType' username: description: User name. type: string type: object ESessionResult: description: Result status. enum: - None - Success - Warning - Failed type: string AzureComputeCloudCredentialsSubscriptionModel: description: Microsoft Azure tenant settings. properties: applicationId: description: Client ID assigned to the Azure Active Directory application. type: string secret: description: (For password-based authentication) Client secret assigned to the Azure Active Directory application. type: string subscriptions: description: Array of Azure subscriptions associated with the account. items: $ref: '#/components/schemas/AzureComputeCloudCredentialsSubscriptionInfo' type: array tenantId: description: ID of a tenant where the Azure Active Directory application is registered in. type: string required: - tenantId - applicationId type: object CredentialsResult: properties: data: description: Array of credentials. items: $ref: '#/components/schemas/CredentialsModel' type: array pagination: $ref: '#/components/schemas/PaginationResult' required: - data - pagination type: object SessionResultModel: description: Session result. properties: isCanceled: description: If *true*, the session has been canceled. type: boolean message: description: Message that explains the session result. type: string result: $ref: '#/components/schemas/ESessionResult' required: - result type: object CloudCredentialsPasswordSpec: properties: newSecretKey: description: New secret key. type: string required: - newSecretKey type: object ECloudCredentialsType: description: Cloud credentials type. enum: - AzureStorage - AzureCompute - Amazon - Google type: string CloudCredentialsSpec: allOf: - discriminator: mapping: Amazon: '#/components/schemas/AmazonCloudCredentialsSpec' AzureCompute: '#/components/schemas/AzureComputeCloudCredentialsSpec' AzureStorage: '#/components/schemas/AzureStorageCloudCredentialsSpec' Google: '#/components/schemas/GoogleCloudCredentialsSpec' propertyName: type oneOf: - $ref: '#/components/schemas/AmazonCloudCredentialsSpec' - $ref: '#/components/schemas/AzureStorageCloudCredentialsSpec' - $ref: '#/components/schemas/AzureComputeCloudCredentialsSpec' - $ref: '#/components/schemas/GoogleCloudCredentialsSpec' - $ref: '#/components/schemas/BaseCloudCredentialsSpec' CloudHelperApplianceModel: allOf: - discriminator: mapping: AzureCompute: '#/components/schemas/AzureLinuxHelperApplianceModel' propertyName: type oneOf: - $ref: '#/components/schemas/AzureLinuxHelperApplianceModel' - $ref: '#/components/schemas/BaseCloudHelperApplianceModel' AzureComputeCloudCredentialsSubscriptionSpec: description: Microsoft Azure compute account. For password-based authentication, specify client secret. For certificate-based authentication, specify certificate and password. properties: applicationId: description: Client ID assigned to the Azure Active Directory application. type: string certificate: $ref: '#/components/schemas/CertificateUploadSpec' secret: description: (For password-based authentication) Client secret assigned to the Azure Active Directory application. type: string tenantId: description: ID of a tenant where the Azure Active Directory application is registered in. type: string required: - tenantId - applicationId type: object BaseCloudHelperApplianceModel: properties: type: $ref: '#/components/schemas/ECloudCredentialsType' type: object AzureStorageCloudCredentialsSpec: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsSpec' - example: account: williamfox sharedKey: 0sF53pZ/c8cVk+sEMby1lGZzA4SJezapyrFysdjlfLlUwMESTW6dEnkC3x62USr4cwHgPxarsBCE+ASt1Zjmwg== tag: createdbysheiladcory description: Azure storage account type: AzureStorage properties: account: description: Name of the Azure storage account. type: string sharedKey: description: Shared key of the Azure storage account. type: string tag: description: Tag used to identify the cloud credentials record. type: string required: - account - sharedKey type: object AzureComputeCloudDeviceCodeModel: allOf: - $ref: '#/components/schemas/BaseCloudDeviceCodeModel' - properties: expirationTime: description: Expiration date and time of the verification code. By default, the code is valid for 15 minutes. format: date-time type: string url: description: Verification URI. type: string verificationCode: description: Verification code. type: string required: - url - verificationCode - expirationTime type: object AzureComputeCloudNativeApplicationModel: allOf: - $ref: '#/components/schemas/BaseCloudNativeApplicationModel' - properties: applicationId: description: Client ID assigned to the Azure Active Directory application. type: string secret: description: Client secret assigned to the Azure Active Directory application. type: string tenantId: description: ID of a tenant where the Azure Active Directory application is registered in. type: string required: - applicationId - secret - tenantId type: object ECloudCredentialsFiltersOrderColumn: description: Sorts cloud credentials by one of the cloud credentials parameters. enum: - Name - Description type: string LinuxCredentialsSpec: allOf: - $ref: '#/components/schemas/BaseCredentialsSpec' - properties: SSHPort: description: SSH port used to connect to a Linux server. type: integer addToSudoers: description: If *true*, the account is automatically added to the sudoers file. type: boolean autoElevated: description: If *true*, the permissions of the account are automatically elevated to the root user. type: boolean passphrase: description: Passphrase that protects the private key. type: string privateKey: description: Private key. type: string rootPassword: description: Password for the root account. type: string tag: description: Tag used to identify the credentials record. type: string useSu: description: If *true*, the `su` command is used for Linux distributions where the `sudo` command is not available. type: boolean type: object CloudDeviceCodeSpec: allOf: - discriminator: mapping: AzureCompute: '#/components/schemas/AzureComputeCloudDeviceCodeSpec' propertyName: type oneOf: - $ref: '#/components/schemas/AzureComputeCloudDeviceCodeSpec' - $ref: '#/components/schemas/BaseCloudDeviceCodeSpec' CredentialsSpec: allOf: - discriminator: mapping: Linux: '#/components/schemas/LinuxCredentialsSpec' Standard: '#/components/schemas/StandardCredentialsSpec' propertyName: type oneOf: - $ref: '#/components/schemas/StandardCredentialsSpec' - $ref: '#/components/schemas/LinuxCredentialsSpec' - $ref: '#/components/schemas/BaseCredentialsSpec' BaseCloudCredentialsSpec: properties: description: description: Description of the cloud credentials record. type: string type: $ref: '#/components/schemas/ECloudCredentialsType' type: object AmazonCloudCredentialsSpec: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsSpec' - properties: accessKey: description: ID of the access key. type: string secretKey: description: Secret key. type: string tag: description: Tag used to identify the cloud credentials record. type: string required: - accessKey - secretKey type: object AzureStorageCloudCredentialsModel: allOf: - $ref: '#/components/schemas/BaseCloudCredentialsModel' - properties: account: description: Name of the Azure storage account. type: string tag: description: Tag used to identify the cloud credentials record. type: string required: - account type: object ESessionState: description: State of the session. enum: - Stopped - Starting - Stopping - Working - Pausing - Resuming - WaitingTape - Idle - Postprocessing - WaitingRepository - WaitingSlot type: string PrivateKeyChangeSpec: properties: passphrase: description: Passphrase that protects the private key. type: string privateKey: description: New private key. type: string required: - privateKey type: object CredentialsPasswordChangeSpec: properties: password: description: New password. type: string required: - password type: object ESessionType: description: Type of the session. enum: - Infrastructure - Job - Automation - ConfigurationBackup - RepositoryMaintenance - RepositoryEvacuate - InfrastructureItemDeletion - RestoreVm - InstantRecovery - FirstClassDiskInstantRestore - AzureApplianceDeploy - QuickMigration type: string ECredentialsType: description: Credentials type. enum: - Standard - Linux type: string AzureComputeCloudCredentialsSubscriptionInfo: properties: azureSubscriptionId: description: Original Azure subscription ID. type: string azureSubscriptionName: description: Azure subscription name. type: string id: description: ID that Veeam Backup & Replication assigned to the Azure subscription. format: uuid type: string required: - id - azureSubscriptionId type: object CredentialsFilters: properties: limit: description: Maximum number of credentials records to return. format: int32 type: integer nameFilter: description: Filters credentials by the `nameFilter` pattern. The pattern can match any credentials parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end. type: string orderAsc: description: Sorts credentials in the ascending order by the `orderColumn` parameter. type: boolean orderColumn: $ref: '#/components/schemas/ECredentialsFiltersOrderColumn' skip: description: Number of credentials records to skip. format: int32 type: integer type: object CloudHelperApplianceSpec: allOf: - discriminator: mapping: AzureCompute: '#/components/schemas/AzureLinuxHelperApplianceSpec' propertyName: type oneOf: - $ref: '#/components/schemas/AzureLinuxHelperApplianceSpec' - $ref: '#/components/schemas/BaseCloudHelperApplianceSpec' BaseCloudCredentialsModel: properties: description: description: Description of the cloud credentials record. type: string id: description: ID of the cloud credentials record. format: uuid type: string type: $ref: '#/components/schemas/ECloudCredentialsType' type: object AzureComputeCredentialsNewAccountSpec: description: New Azure Active Directory application. properties: region: $ref: '#/components/schemas/EAzureRegionType' verificationCode: description: Single-use verification code. Use this code to sign in on the https://microsoft.com/devicelogin page. type: string required: - region - verificationCode type: object ECredentialsFiltersOrderColumn: enum: - Username - Description type: string responses: Forbidden: content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request. Unauthorized: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized. The authorization header has been expected but not found (or found but is expired). NotFound: content: application/json: schema: $ref: '#/components/schemas/Error' description: Not found. No object was found with the path parameter specified in the request. InternalServerError: content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. The request has been received but could not be completed because of an internal error at the server side. BadRequest: content: application/json: schema: $ref: '#/components/schemas/Error' description: Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid. parameters: apiVersionParam: description: Version and revision of the client REST API. Must be in the following format: `-`. in: header name: x-api-version required: true schema: default: 1.1-rev0 type: string securitySchemes: Bearer: name: Authorization in: header type: apiKey description: Bearer \