openapi: 3.2.0 info: title: Onboarding Azure 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: Azure Cloud Account paths: /v2/AzureCloudAccount/{id}/DeleteForce: delete: tags: - Azure Cloud Account summary: Delete Force operationId: AzureCloudAccount_DeleteForce_delete_/v2/AzureCloudAccount/{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 Azure account from a Dome9 account (the Azure account is not deleted from Azure) and linked entities /v2/AzureCloudAccount/OnboardingExecutionPreview: get: tags: - Azure Cloud Account summary: Get Onboarding Script For Preview operationId: AzureCloudAccount_GetOnboardingScriptForPreviewAsync_get_/v2/AzureCloudAccount/OnboardingExecutionPreview responses: '200': description: OK description: Get the script that performs Azure account onboarding /v2/AzureCloudAccount/OnboardingExecutionCommand: post: tags: - Azure Cloud Account summary: Generate Onboarding Execution Command operationId: AzureCloudAccount_GenerateOnboardingExecutionCommand_post_/v2/AzureCloudAccount/OnboardingExecutionCommand responses: '200': description: OK requestBody: content: application/json: schema: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.AzureSimplifiedOnboardingExecCmdRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.AzureSimplifiedOnboardingExecCmdRequest' required: true description: 'Get the cloud account command line execution for Azure shell Details for Azure cloud account.' /v2/AzureCloudAccount/MissingPermissions: get: tags: - Azure Cloud Account summary: Get Missing Permissions operationId: AzureCloudAccount_GetMissingPermissions_get_/v2/AzureCloudAccount/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 (required by Dome9) for all Azure accounts in a Dome9 account /v2/AzureCloudAccount/{id}/MissingPermissions: get: tags: - Azure Cloud Account summary: Get Missing Permissions operationId: AzureCloudAccount_GetMissingPermissionsAsync_get_/v2/AzureCloudAccount/{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: - Azure Cloud Account summary: Update Ignorable Missing Permissions operationId: AzureCloudAccount_UpdateIgnorableMissingPermissionsAsync_put_/v2/AzureCloudAccount/{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/AzureCloudAccount/{id}/MissingPermissions/EntityType: get: tags: - Azure Cloud Account summary: Get Missing Permissions By Entity Type operationId: AzureCloudAccount_GetMissingPermissionsByEntityTypeAsync_get_/v2/AzureCloudAccount/{id}/MissingPermissions/EntityType parameters: - name: id in: path description: the account id for the Azure account in Dome9 required: true schema: type: string format: uuid - name: entityType in: query description: the entity type required: true schema: type: string - name: subType in: query description: the entity subtype 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 a list of missing permissions for a specific cloud entity type and Azure cloud account /v2/AzureCloudAccount/{id}/MissingPermissions/Reset: put: tags: - Azure Cloud Account summary: Reset Missing Permissions operationId: AzureCloudAccount_ResetMissingPermissions_put_/v2/AzureCloudAccount/{id}/MissingPermissions/Reset parameters: - name: id in: path description: the account id for the Azure account in Dome9 required: true schema: type: string format: uuid responses: '204': description: No Content description: Reset (re-validate) the missing permissions indication for an Azure account in Dome9 /v2/AzureCloudAccount/{id}/OperationMode: put: tags: - Azure Cloud Account summary: Update Operation Mode operationId: AzureCloudAccount_UpdateOperationModeAsync_put_/v2/AzureCloudAccount/{id}/OperationMode parameters: - name: id in: path description: the account id for the Azure account in Dome9 required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Azure.Accounts.AzureAccountOperationModeViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.Web.Api.Azure.Accounts.AzureAccountOperationModeViewModel' description: updated details for the account, including the operations mode required: true description: Update the operations mode for an Azure account in Dome9. Modes can be Read-Only or Manage /v2/AzureCloudAccount/{id}/AccountName: put: tags: - Azure Cloud Account summary: Update Account Name operationId: AzureCloudAccount_UpdateAccountName_put_/v2/AzureCloudAccount/{id}/AccountName parameters: - name: id in: path description: the account id in Dome9 required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Azure.Accounts.AzureAccountNameModeViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.Web.Api.Azure.Accounts.AzureAccountNameModeViewModel' description: the new name for the account required: true description: Update the account name (in Dome9) for an Azure account /v2/AzureCloudAccount/{id}/Credentials: put: tags: - Azure Cloud Account operationId: AzureCloudAccount_UpdateCloudAccountCredentials_put_/v2/AzureCloudAccount/{id}/Credentials parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: object requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Azure.Accounts.AzureCloudAccountCredentialsPutViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.Web.Api.Azure.Accounts.AzureCloudAccountCredentialsPutViewModel' required: true description: '' summary: Update Cloud Account Credentials /v2/AzureCloudAccount/{id}/SyncNow: post: tags: - Azure Cloud Account operationId: AzureCloudAccount_SyncNow_post_/v2/AzureCloudAccount/{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.Models.AzureCloudAccountViewModel' description: '' summary: Sync Now /v2/AzureCloudAccount/{id}/CredentialsServicePrincipalId: get: tags: - Azure Cloud Account operationId: AzureCloudAccount_GetCredentialsServicePrincipalIdAsync_get_/v2/AzureCloudAccount/{id}/CredentialsServicePrincipalId parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: string description: '' summary: Get Credentials Service Principal Id /v2/AzureCloudAccount/{id}/organizationalUnit: put: tags: - Azure Cloud Account summary: Update Organizational Id operationId: AzureCloudAccount_UpdateOrganizationalId_put_/v2/AzureCloudAccount/{id}/organizationalUnit parameters: - name: id in: path description: The Dome9 Guid ID of the Azure cloud account required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' 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/AzureCloudAccount/organizationalUnit/move: put: tags: - Azure Cloud Account summary: Move Cloud Accounts To Organizational Unit operationId: AzureCloudAccount_MoveCloudAccountsToOrganizationalUnit_put_/v2/AzureCloudAccount/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/AzureCloudAccount/organizationalUnit/moveAll: put: tags: - Azure Cloud Account summary: Move All Cloud Accounts To Organizational Unit operationId: AzureCloudAccount_MoveAllCloudAccountsToOrganizationalUnit_put_/v2/AzureCloudAccount/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/AzureCloudAccount/organizationalUnit/attach: post: tags: - Azure Cloud Account summary: Post Attach Multi operationId: AzureCloudAccount_PostAttachMulti_post_/v2/AzureCloudAccount/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/AzureCloudAccount/{id}: get: tags: - Azure Cloud Account summary: Get operationId: AzureCloudAccount_Get_get_/v2/AzureCloudAccount/{id} parameters: - name: id in: path description: the Dome9 account id for the Azure account required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' description: Get details for a specific Azure account delete: tags: - Azure Cloud Account summary: Delete operationId: AzureCloudAccount_Delete_delete_/v2/AzureCloudAccount/{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 Azure account from a Dome9 account (the Azure account is not deleted from Azure) /v2/AzureCloudAccount: get: tags: - Azure Cloud Account summary: Get operationId: AzureCloudAccount_Get_get_/v2/AzureCloudAccount responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' description: Get details for all Azure accounts for the Dome9 user post: tags: - Azure Cloud Account summary: Post operationId: AzureCloudAccount_Post_post_/v2/AzureCloudAccount responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' requestBody: content: application/json: schema: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureCloudAccountViewModel' description: details for the Azure account required: true description: Add (onboard) an Azure account to the user's Dome9 account components: schemas: Dome9.Web.Api.Azure.Accounts.AzureAccountOperationModeViewModel: required: - operationMode type: object properties: operationMode: enum: - Read - Manage type: string Dome9.Web.Api.Models.AzureCloudAccountViewModel: description: account details required: - subscriptionId - tenantId - credentials - operationMode type: object properties: id: format: uuid description: account id in Dome9 type: string example: 00000000-0000-0000-0000-000000000000 name: description: account name (in Dome9) type: string subscriptionId: description: Azure subscription id type: string managementGroupId: description: Azure management group id type: string tenantId: description: Azure tenant id type: string credentials: $ref: '#/components/schemas/Dome9.Web.Api.Models.AzureAccountCredentialsViewModel' description: Azure account credentials operationMode: description: Dome9 operation mode for the Azure account (Read-Only or Managed) enum: - Read - Manage type: string error: description: Error status for the account onboarding process to Dome9 type: string creationDate: format: date-time description: date Azure account was onboarded to a Dome9 account type: string isMultiTenant: description: Indicates whether the cloud account is managed under a multi-tenant account type: boolean 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 onboardingManagementMethod: enum: - Undefined - OrganizationOnboarding - DetachedFromOrganizationOnboarding - UnifiedOnboarding - SimplifiedOnboarding - ManualOnboarding type: string magellan: type: boolean missingPermissions: type: array items: type: string Dome9.Web.Api.Azure.Accounts.AzureCloudAccountCredentialsPutViewModel: required: - applicationId - applicationKey type: object properties: applicationId: type: string applicationKey: 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.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 CGN.Common.Model.CloudAccounts.Onboarding.Blades.Blades: required: - awp - serverless - cdr - postureManagement type: object properties: awp: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.Blades.AwpConfiguration' serverless: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.Blades.ServerlessConfiguration' cdr: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.Blades.CdrConfiguration' postureManagement: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.Blades.PostureManagement' CGN.Common.Model.CloudAccounts.Onboarding.Blades.CdrConfiguration: type: object properties: accounts: type: array items: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.Blades.StorageAccount' isEnabled: type: boolean Dome9.Web.Api.Shared.Permissions.CloudAccountActionFailureViewModel: type: object properties: code: type: string message: type: string CGN.Common.Model.CloudAccounts.Onboarding.AzureSimplifiedOnboardingExecCmdRequest: required: - activeBlades type: object properties: workflowId: format: uuid type: string example: 00000000-0000-0000-0000-000000000000 subscriptionId: type: string managementGroupIdOrTenantId: type: string useCloudGuardManagedApp: type: boolean validatePermission: type: boolean appId: type: string appName: type: string appRegistrationId: type: string accountType: 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 activeBlades: $ref: '#/components/schemas/CGN.Common.Model.CloudAccounts.Onboarding.Blades.Blades' Dome9.Web.Api.Azure.Accounts.AzureAccountNameModeViewModel: type: object properties: name: type: string Dome9.Web.Api.Models.AzureAccountCredentialsViewModel: required: - clientId - clientPassword type: object properties: clientId: description: Azure account id type: string clientPassword: description: Password for account 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 CGN.Common.Model.CloudAccounts.Onboarding.Blades.AwpConfiguration: type: object properties: onboardingMode: enum: - saas - inAccount - inAccountHub type: string centralizedSubscriptionId: type: string withFunctionAppsScan: type: boolean withSseCmkEncryptedDisksScan: type: boolean isEnabled: type: boolean CGN.Common.Model.CloudAccounts.Onboarding.Blades.ServerlessConfiguration: type: object properties: isEnabled: type: boolean 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 CGN.Common.Model.CloudAccounts.Onboarding.Blades.StorageAccount: type: object properties: storageId: type: string logTypes: type: array items: type: string CGN.Common.Model.CloudAccounts.Onboarding.Blades.PostureManagement: type: object properties: onboardingMode: enum: - read-only - manage 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' 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 securitySchemes: basic: type: http scheme: basic x-readme: explorer-enabled: true proxy-enabled: true