openapi: 3.2.0 info: title: Onboarding Alibaba Cloud Account API version: v2 servers: - url: https://api.dome9.com/ description: US region - url: https://api.{region}.dome9.com/ description: Other regions variables: region: enum: - eu1 - ap1 - ap2 - ap3 - cace1 default: eu1 security: - basic: [] tags: - name: Alibaba Cloud Account paths: /v2/AlibabaCloudAccount/{id}/DeleteForce: delete: tags: - Alibaba Cloud Account summary: Delete Force operationId: AlibabaCloudAccount_DeleteForceAsync_delete_/v2/AlibabaCloudAccount/{id}/DeleteForce parameters: - name: id in: path description: the Dome9 account id for the account or the Subscription id required: true schema: type: string format: uuid responses: '204': description: No Content description: Delete an Alibaba account from a Dome9 account (the Alibaba account is not deleted from Alibaba) and linked entities /v2/AlibabaCloudAccount/{cloudAccountId}/account-stats: get: tags: - Alibaba Cloud Account summary: Get Cloud Account Stats operationId: AlibabaCloudAccount_GetCloudAccountStatsAsync_get_/v2/AlibabaCloudAccount/{cloudAccountId}/account-stats parameters: - name: cloudAccountId in: path description: The Id of the Alibaba cloud account required: true schema: type: string format: uuid - name: withData in: query description: Include raw data of networks, security groups and vms, default = false required: false schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountStatsViewModel' description: Gets Cloud Account network statistics on cloud account page /v2/AlibabaCloudAccount/MissingPermissions: get: tags: - Alibaba Cloud Account summary: Get Missing Permissions operationId: AlibabaCloudAccount_GetMissingPermissions_get_/v2/AlibabaCloudAccount/MissingPermissions responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.CloudAccountMissingPermissionsViewModel' description: Get a list of missing permissions (needed by Dome9 to manage the accounts) for all Alibaba accounts in Dome9 /v2/AlibabaCloudAccount/{id}/MissingPermissions: get: tags: - Alibaba Cloud Account summary: Get Missing Permissions operationId: AlibabaCloudAccount_GetMissingPermissionsAsync_get_/v2/AlibabaCloudAccount/{id}/MissingPermissions parameters: - name: id in: path description: '' required: true schema: type: string format: uuid - name: showIgnored in: query description: '' required: false schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.CloudAccountMissingPermissionsIgnorableViewModel' description: Get a list of missing permissions for a specific account. These permissions are needed by Dome9 to manage accounts. put: tags: - Alibaba Cloud Account summary: Update Ignorable Missing Permissions operationId: AlibabaCloudAccount_UpdateIgnorableMissingPermissionsAsync_put_/v2/AlibabaCloudAccount/{id}/MissingPermissions parameters: - name: id in: path description: CloudAccountId required: true schema: type: string format: uuid responses: '204': description: No Content requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.MissingPermissionsIgnorableUpdateViewModel' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.MissingPermissionsIgnorableUpdateViewModel' description: List of permissions to set ignore or restore flag to required: true description: Get a list of missing permissions for a specific account. These are permissions needed by Dome9 to manage accounts. /v2/AlibabaCloudAccount/{id}/MissingPermissions/EntityType: get: tags: - Alibaba Cloud Account summary: Get Missing Permissions By Entity Type operationId: AlibabaCloudAccount_GetMissingPermissionsByEntityTypeAsync_get_/v2/AlibabaCloudAccount/{id}/MissingPermissions/EntityType parameters: - name: id in: path description: The Dome9 Alibaba Cloud Account Id required: true schema: type: string format: uuid - name: entityType in: query description: The entity type for which to get permission issues required: true schema: type: string - name: subType in: query description: '' required: false schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.MissingPermissionViewModel' description: Get missing permissions for a specific entity type for a specific Alibaba Cloud account /v2/AlibabaCloudAccount/{id}/MissingPermissions/Reset: put: tags: - Alibaba Cloud Account summary: Reset Missing Permissions operationId: AlibabaCloudAccount_ResetMissingPermissionsAsync_put_/v2/AlibabaCloudAccount/{id}/MissingPermissions/Reset parameters: - name: id in: path description: the account id required: true schema: type: string format: uuid responses: '204': description: No Content description: 'Reset (re-validate) a Alibaba Cloud account credentials in Dome9. Will cause all entities to retry fetching from the Alibaba cloud account.' /v2/AlibabaCloudAccount/{id}/AccountName: put: tags: - Alibaba Cloud Account summary: Update Account Name operationId: AlibabaCloudAccount_UpdateAccountNameAsync_put_/v2/AlibabaCloudAccount/{id}/AccountName parameters: - name: id in: path description: the account id required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel' requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountNameViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountNameViewModel' description: the updated name as it will appear in Dome9 required: true description: Update a Alibaba Cloud account name (as it appears in Dome9) /v2/AlibabaCloudAccount/{id}/Credentials: put: tags: - Alibaba Cloud Account operationId: AlibabaCloudAccount_UpdateAlibabaCloudAccountCredentialsAsync_put_/v2/AlibabaCloudAccount/{id}/Credentials parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel' requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountCredentialsViewPostModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountCredentialsViewPostModel' required: true description: '' summary: Update Alibaba Cloud Account Credentials /v2/AlibabaCloudAccount/{id}/SyncNow: post: tags: - Alibaba Cloud Account operationId: AlibabaCloudAccount_SyncNow_post_/v2/AlibabaCloudAccount/{id}/SyncNow parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel' description: '' summary: Sync Now /v2/AlibabaCloudAccount/{id}/organizationalUnit: put: tags: - Alibaba Cloud Account summary: Update Organizational Id operationId: AlibabaCloudAccount_UpdateOrganizationalId_put_/v2/AlibabaCloudAccount/{id}/organizationalUnit parameters: - name: id in: path description: The Dome9 Guid ID of the Alibaba cloud account required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel' requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.UpdateIdViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.UpdateIdViewModel' description: The Guid ID of the Organizational Unit to attach to. Use 'null' to attach to the root Organizational Unit required: true description: 'Update the ID of the Organizational Unit that this cloud account will be attached to. Use ''null'' for the root organizational unit' /v2/AlibabaCloudAccount/organizationalUnit/move: put: tags: - Alibaba Cloud Account summary: Move Cloud Accounts To Organizational Unit operationId: AlibabaCloudAccount_MoveCloudAccountsToOrganizationalUnit_put_/v2/AlibabaCloudAccount/organizationalUnit/move responses: '200': description: OK content: application/json: schema: type: object requestBody: $ref: '#/components/requestBodies/Dome9.BL.Std.Services.OrganizationalUnit.MoveOrganizationalUnitViewModel' description: 'Detach cloud accounts from an Organizational unit and attach them to another Organizational unit. Use ''null'' for root organizational unit' /v2/AlibabaCloudAccount/organizationalUnit/moveAll: put: tags: - Alibaba Cloud Account summary: Move All Cloud Accounts To Organizational Unit operationId: AlibabaCloudAccount_MoveAllCloudAccountsToOrganizationalUnit_put_/v2/AlibabaCloudAccount/organizationalUnit/moveAll responses: '200': description: OK content: application/json: schema: type: object requestBody: $ref: '#/components/requestBodies/Dome9.BL.Std.Services.OrganizationalUnit.UpdateIdViewModel2' description: Detach all cloud accounts from their current organizational unit and attach them to a new one. Default is to root organizational unit /v2/AlibabaCloudAccount/organizationalUnit/attach: post: tags: - Alibaba Cloud Account summary: Post Attach Multi operationId: AlibabaCloudAccount_PostAttachMulti_post_/v2/AlibabaCloudAccount/organizationalUnit/attach responses: '200': description: OK content: application/json: schema: type: object requestBody: $ref: '#/components/requestBodies/Dome9.BL.Std.Services.OrganizationalUnit.AttachCloudAccountsViewModel' description: Attach several cloud accounts to a specific Organizational Unit. User 'null' as root Organizational Unit as target /v2/AlibabaCloudAccount: get: tags: - Alibaba Cloud Account summary: Get operationId: AlibabaCloudAccount_Get_get_/v2/AlibabaCloudAccount responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel' description: Get a list of all Alibaba cloud accounts post: tags: - Alibaba Cloud Account summary: Post operationId: AlibabaCloudAccount_Post_post_/v2/AlibabaCloudAccount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel' requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountPostViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountPostViewModel' description: details for the new account required: true description: Add (onboard) a new Alibaba cloud account to Dome9 /v2/AlibabaCloudAccount/{id}: get: tags: - Alibaba Cloud Account summary: Get operationId: AlibabaCloudAccount_Get_get_/v2/AlibabaCloudAccount/{id} parameters: - name: id in: path description: the Alibaba cloud account id required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel' description: Get details for a specific Alibaba Cloud Account delete: tags: - Alibaba Cloud Account summary: Delete operationId: AlibabaCloudAccount_Delete_delete_/v2/AlibabaCloudAccount/{id} parameters: - name: id in: path description: the Dome9 account id for the account or the Subscription id required: true schema: type: string format: uuid responses: '204': description: No Content description: Delete an Alibaba account from a Dome9 account (the Alibaba account is not deleted from Alibaba) components: requestBodies: Dome9.BL.Std.Services.OrganizationalUnit.MoveOrganizationalUnitViewModel: content: application/json: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.MoveOrganizationalUnitViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.MoveOrganizationalUnitViewModel' description: The guids of the source organizational unit to detach from and the target organizational unit to attach to. Use null for root organizational unit. required: true Dome9.BL.Std.Services.OrganizationalUnit.AttachCloudAccountsViewModel: content: application/json: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.AttachCloudAccountsViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.AttachCloudAccountsViewModel' required: true Dome9.BL.Std.Services.OrganizationalUnit.UpdateIdViewModel2: content: application/json: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.UpdateIdViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.BL.Std.Services.OrganizationalUnit.UpdateIdViewModel' required: true schemas: Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountPostViewModel: required: - name - credentials type: object properties: name: type: string credentials: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountCredentialsViewPostModel' organizationalUnitId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountNameViewModel: type: object properties: name: type: string Dome9.Web.Api.Shared.Permissions.CloudAccountMissingPermissionsViewModel: type: object properties: id: format: uuid description: account id type: string example: 00000000-0000-0000-0000-000000000000 actions: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.CloudAccountExternalActionStatusViewModel' Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountCredentialsViewGetModel: required: - accessKey type: object properties: accessKey: description: Alibaba access key type: string Dome9.Web.Api.Shared.Permissions.MissingPermissionViewModel: type: object properties: srl: description: internal use type: string consecutiveFails: format: int32 description: number of consecutive failures due to missing permissions type: integer lastFail: format: date-time description: time of last failure type: string lastSuccess: format: date-time description: time of last successful attempt type: string firstFail: format: date-time description: time of first successful attempt type: string lastFailErrorCode: description: error code for last failed attempt type: string lastFailMessage: description: error message for last failed attempt type: string id: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 retryMetadata: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.MissingPermissionMetadataViewModel' cloudAccountId: format: uuid description: Cloud account id type: string example: 00000000-0000-0000-0000-000000000000 vendor: description: cloud account provider (AWS, Azure, GCP) enum: - aws - hp - mellanox - awsgov - azure - google - awschina - azuregov - kubernetes - azurechina - terraform - generic - kubernetesruntimeassurance - shiftleft - sourcecodeassurance - imageassurance - alibaba - cft - containerregistry - oci - ocigov - ocigovuk - CIEM type: string Dome9.Web.Api.Shared.Permissions.CloudAccountExternalActionStatusViewModel: type: object properties: type: type: string subType: type: string total: format: int64 type: integer error: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.CloudAccountActionFailureViewModel' Dome9.BL.Std.Services.OrganizationalUnit.UpdateIdViewModel: type: object properties: organizationalUnitId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 Dome9.Web.Api.Shared.Permissions.CloudAccountActionFailureViewModel: type: object properties: code: type: string message: type: string Dome9.Web.Api.Alibaba.Accounts.AlibabaCloudAccountGetViewModel: required: - credentials type: object properties: id: format: uuid description: Alibaba id type: string example: 00000000-0000-0000-0000-000000000000 name: description: Alibaba account name in Dome9 type: string creationDate: format: date-time description: creation date for project in Alibaba type: string alibabaAccountId: description: the Alibaba account id (that will be onboarded) type: string credentials: $ref: '#/components/schemas/Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountCredentialsViewGetModel' description: ALibaba account credentials organizationalUnitId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 organizationalUnitPath: type: string organizationalUnitName: type: string vendor: enum: - aws - hp - mellanox - awsgov - azure - google - awschina - azuregov - kubernetes - azurechina - terraform - generic - kubernetesruntimeassurance - shiftleft - sourcecodeassurance - imageassurance - alibaba - cft - containerregistry - oci - ocigov - ocigovuk - CIEM type: string Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountStatsViewModel: type: object properties: cloudAccountId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 name: type: string creationDate: format: date-time type: string alibabaAccountId: type: string organizationalUnitId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 vendor: enum: - aws - hp - mellanox - awsgov - azure - google - awschina - azuregov - kubernetes - azurechina - terraform - generic - kubernetesruntimeassurance - shiftleft - sourcecodeassurance - imageassurance - alibaba - cft - containerregistry - oci - ocigov - ocigovuk - CIEM type: string Dome9.Web.Api.Shared.Permissions.CloudAccountMissingPermissionsIgnorableViewModel: type: object properties: id: format: uuid description: account id type: string example: 00000000-0000-0000-0000-000000000000 actions: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.MissingPermissionsIgnorableViewModel' Dome9.BL.Std.Services.OrganizationalUnit.AttachCloudAccountsViewModel: type: object properties: entries: type: array items: type: string organizationalUnitId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 Dome9.Web.Api.Shared.Permissions.MissingPermissionMetadataViewModel: type: object properties: permissions: description: list of missing permissions type: array items: type: string entityType: type: string subType: type: string Dome9.Web.Api.Alibaba.Accounts.AlibabaAccountCredentialsViewPostModel: required: - accessKey - accessSecret type: object properties: accessKey: description: Alibaba access key type: string accessSecret: description: Password for account type: string Dome9.BL.Std.Services.OrganizationalUnit.MoveOrganizationalUnitViewModel: type: object properties: sourceOrganizationalUnitId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 targetOrganizationalUnitId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 Dome9.Web.Api.Shared.Permissions.MissingPermissionsIgnorableUpdateViewModel: required: - isIgnored type: object properties: cloudAccountId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 permissionId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 isIgnored: type: boolean type: type: string subType: type: string errorCode: type: string errorMessage: type: string Dome9.Web.Api.Shared.Permissions.MissingPermissionsIgnorableViewModel: type: object properties: permissionId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 isIgnored: type: boolean type: type: string subType: type: string total: format: int64 type: integer error: $ref: '#/components/schemas/Dome9.Web.Api.Shared.Permissions.CloudAccountActionFailureViewModel' securitySchemes: basic: type: http scheme: basic x-readme: explorer-enabled: true proxy-enabled: true