Skip to main content

Clouds

A cloud represents a compute environment in which Dremio Cloud engines run. A cloud can be associated with many projects. This API allows you to add, modify, delete, and list clouds.

Clouds Object (AWS Example)
{
"name": "aws-cloud",
"id": "88535550-b138-441f-a705-a46ac1808508",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Thu Aug 19 14:39:52 UTC 2023",
"modifiedAt": "Thu Aug 19 14:40:17 UTC 2023",
"attributes": {
"vendor": "aws",
"region": "US_WEST_2",
"subnets": [
"subnet-f4dec3df",
"subnet-e9a0fedd"
],
"securityGroupIds": [
"sg-03b443cd073634008"
],
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": "secret"
},
"vpcEndpointId": "vpce-020b6e4fc2c494f27"
}
}
Clouds Object (Azure Example)
{
"name": "azure-cloud",
"id": "b913a696-449b-4005-8d99-cdd302c5fe82",
"createdBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"modifiedBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"createdAt": "Thu Oct 19 14:04:22 UTC 2023",
"modifiedAt": "Thu Oct 19 14:04:22 UTC 2023",
"attributes": {
"vendor": "AZURE",
"region": "US_WEST_2",
"virtualNetwork": "vnet-dre-dr-westus2",
"subnets": [
"snet-dre-dr-compute-westus2"
],
"securityGroup": "nsg-secgroup-westus2",
"credentials": {
"type": "AZURE_APP_CLIENT_CREDENTIALS",
"tenantId": "d3ea56da-b0c6-4c36-9faf-42b7fb758ef3",
"clientId": "3e334762-be50-4501-44b1-08bd3f929c9f",
"clientSecret": "secret",
"subscriptionId": "669378eb-5137-43f2-88f7-93800f0d6c71"
},
"resourceGroup": "rg-dre-dr-res-grp-westus2",
"privateEndpoints": [
"test-dremio-cloud-private-endpoint"
]
}
}

Clouds Attributes

name String

The user-defined name for a cloud.

Example: aws-cloud


id String (UUID)

Unique identifier of a cloud.

Example: 035f6176-f785-4cec-a37d-8c2826b71f7c


createdBy String (UUID)

The unique identifier for the user who created the cloud.

Example: de8a47bf-432a-4d83-b60e-90d86cda8d70


modifiedBy String (UUID)

The unique identifier for the user who last modified the cloud.

Example: de8a47bf-432a-4d83-b60e-90d86cda8d70


createdAt String

The date and time that the cloud was created.

Example: Thu Aug 19 14:39:52 UTC 2023


modifiedAt String

The date and time that the cloud was last modified.

Example: Thu Aug 19 14:40:17 UTC 2023


attributes Object

The cloud attributes associated with the cloud account.

Attributes of the attributes Object

vendor String

The cloud provider.

Enum: AWS, AZURE

Example: AWS


region String

The region with which your cloud account is associated. Read supported regions for more information.

Enum: US_WEST, US_EAST_2, US_SOUTH_CENTRAL, US_WEST_2, US_CENTRAL, US_WEST_CENTRAL, EUROPE_NORTH, US_NORTH_CENTRAL, US_EAST, US_WEST_3, EUROPE_WEST

Example: US_WEST_2


subnets Array of String

An array of one or more IDs of subnets that are associated with your Amazon Virtual Private Cloud or Azure Virtual Network. Dremio Cloud uses the subnets to spin up engines for running queries.

Example: ["subnet-f4dec3df"]


securityGroupIds Array of String

For AWS clouds, the IDs of security groups for your Amazon Virtual Private Cloud that have an outbound rule to allow Dremio Cloud engines to connect over TLS. Included only for AWS clouds.

Example: ["sg-03b443cd073634008"]


securityGroup String

For Azure clouds, the name of the security group for your Azure Virtual Network that has an outbound rule to allow Dremio Cloud engines to connect over TLS. Included only for Azure clouds.

Example: nsg-secgroup-westus2


credentials Object

The credentials you are using to configure the compute settings.


vpcEndpointId String

For AWS clouds, the Amazon Virtual Private Cloud endpoint ID to use to discover the associated AWS PrivateLink Elastic Network Interface (ENI). When this value is empty, Dremio does not attempt discovery of associated AWS PrivateLink ENI and falls back to the configured DNS entry for the Dremio Gateway. If you have set up an AWS PrivateLink endpoint manually and enabled private DNS hostnames, Dremio uses the PrivateLink endpoint identified by the given ID. The default value is null. Included only for AWS clouds.

Example: vpce-020b6e4fc2c494f27


virtualNetwork String

For Azure clouds, the name of the virtual network that is associated with the cloud. Included only for Azure clouds.

Example: vnet-dre-dr-westus2


resourceGroup String

For Azure clouds, the name of the Azure Virtual Network resource group the cloud uses. Included only for Azure clouds.

Example: rg-dre-dr-res-grp-westus2


privateEndpoints Array of String

For Azure clouds, the Azure Private Link endpoints used to connect your Azure Virtual Network to the Dremio virtual network in Azure. The default value is null. Included only for Azure clouds.

Example: ["test-dremio-cloud-private-endpoint"]

Attributes of the credentials Object

type String

The type of credentials you are using to configure the compute settings for the cloud. For AWS clouds, the value is either ACCESS_KEY or IAM_ROLE. For Azure clouds, the value is AZURE_APP_CLIENT_CREDENTIALS.

Example: ACCESS_KEY


accessKeyId String

For AWS clouds, the access key generated from the AWS IAM User you created to provide Dremio Cloud with compute capabilities. This field is required if you selected ACCESS_KEY for credentials.

Example: AKIAJIPU77TQL8LR6OIR


secretAccessKey String

For AWS clouds, the secret key generated from the AWS IAM User you created to provide Dremio Cloud with compute capabilities. This field is required if you selected ACCESS_KEY for credentials.

Example: vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY


roleArn String

For AWS clouds, the cross-account role ARN for the AWS IAM Role you created to provide Dremio Cloud with compute capabilities. To create this IAM Role, you need to provide the Trust Account ID (572051091487). This field is required if you selected IAM_ROLE for credentials.


externalId String

For AWS clouds, the external ID used to create an IAM Role.

Example: 075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890


externalIdSignature String

For AWS clouds, the signature used to validate the externalId when authenticating with an IAM Role. The value is returned as null in API responses.


tenantId String (UUID)

For Azure clouds, the ID of the Azure tenant used for the cloud.

Example: d3ea56da-b0c6-4c36-9faf-42b7fb758ef3


clientId String (UUID)

For Azure clouds, the application (client) ID of the registered app used for compute access.

Example: 3e334762-be50-4501-44b1-08bd3f929c9f


clientSecret String

For Azure clouds, the client secret you created in the registered app used for compute access. To keep the secret secure, Dremio returns the clientSecret value as secret in API responses.

Example: secret


subscriptionId String (UUID)

For Azure clouds, the ID of the Azure subscription used for the cloud.

Example: 669378eb-5137-43f2-88f7-93800f0d6c71

Listing All Clouds

Returns a list of all the clouds and the metadata for each cloud.

Method and URL
GET /v0/clouds
Example Request
curl -X GET 'https://api.dremio.cloud/v0/clouds' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
[
{
"name": "Default",
"id": "436d7b40-d665-469a-a7fc-9110d0226488",
"createdBy": "72974047-213c-497d-8ead-281f5ea25812",
"modifiedBy": "f6f25d77-8322-4fa0-96c7-575c9e65c210",
"createdAt": "Thu Jul 01 18:02:38 UTC 2023",
"modifiedAt": "Tue Dec 21 03:38:43 UTC 2023",
"attributes": {
"vendor": "aws",
"region": "US_WEST_2",
"subnets": [
"subnet-f4dec3df",
"subnet-e9a0fedd"
],
"securityGroupIds": [
"sg-0e0f5c5e4b105262d"
],
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::388677480418:role/user-test3-DremioIAMCloudComputeRole-ULX75EXAMPLE",
"externalId": "075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890",
"externalIdSignature": null
},
"vpcEndpointId": null
},
"projectRefs": []
},
{
"name": "docCloud",
"id": "52217be6-9f05-487a-ab2d-c8e38081d683",
"createdBy": "f6f25d77-8322-4fa0-96c7-574c9f65c210",
"modifiedBy": "f6f25d77-8322-4fa0-96c7-574c9f65c210",
"createdAt": "Fri Dec 17 20:36:16 UTC 2023",
"modifiedAt": "Fri Dec 17 20:36:16 UTC 2023",
"attributes": {
"vendor": "aws",
"region": "US_WEST_2",
"subnets": [
"subnet-81e255f9"
],
"securityGroupIds": [
"sg-03b443cd073634008"
],
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIQU77TQL8LR6OIR",
"secretAccessKey": null
},
"vpcEndpointId": null
},
"projectRefs": []
},
{
"name": "azure-cloud",
"id": "b913a696-449b-4005-8d99-cdd302c5fe82",
"createdBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"modifiedBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"createdAt": "Thu Oct 19 14:04:22 UTC 2023",
"modifiedAt": "Thu Oct 19 14:04:22 UTC 2023",
"attributes": {
"vendor": "AZURE",
"region": "US_WEST_2",
"virtualNetwork": "vnet-dre-dr-westus2",
"subnets": [
"snet-dre-dr-compute-westus2"
],
"securityGroup": "nsg-secgroup-westus2",
"credentials": {
"type": "AZURE_APP_CLIENT_CREDENTIALS",
"tenantId": "d3ea56da-b0c6-4c36-9faf-42b7fb758ef3",
"clientId": "3e334762-be50-4501-44b1-08bd3f929c9f",
"clientSecret": "secret",
"subscriptionId": "669378eb-5137-43f2-88f7-93800f0d6c71"
},
"resourceGroup": "rg-dre-dr-res-grp-westus2",
"privateEndpoints": [
"test-dremio-cloud-private-endpoint"
]
}
}
]

Response Status Codes

200   OK

403   Forbidden

Adding a Cloud

Add a cloud.

Method and URL
POST /v0/clouds

Parameters

Cloud

name Body   String

The user-defined name for a cloud.

Example: docCloud


attributes Body   Object

The cloud attributes associated with the cloud account.


requestId Body   String (UUID)   Optional

User-defined idempotency key, which is a unique value generated by the user that the server uses to register consequent retries of the same request. Generate the request ID by using a UUID generator tool. Read idempotent requests for more information.

Example: 302272c0-d357-4bcc-9087-19f3056a9a73

Parameters of the attributes Object

vendor Body   String

The cloud provider.

Enum: AWS, AZURE

Example: AWS


region Body   String

The region with which your cloud account is associated. Read supported regions for more information.

Enum: US_WEST, US_EAST_2, US_SOUTH_CENTRAL, US_WEST_2, US_CENTRAL, US_WEST_CENTRAL, EUROPE_NORTH, US_NORTH_CENTRAL, US_EAST, US_WEST_3, EUROPE_WEST

Example: US_WEST_2


subnets Body   Array of String

An array of one or more IDs of subnets that are associated with your Amazon Virtual Private Cloud or Azure Virtual Network. Dremio Cloud uses the subnets to spin up engines for running queries.

Example: ["subnet-81e255f9"]


securityGroupIds Body   Array of String

For AWS clouds, the IDs of the security groups for your Amazon Virtual Private Cloud that have an outbound rule to allow Dremio Cloud engines to connect over TLS. Valid only for AWS clouds; use the securityGroup parameter for Azure clouds.

Example: ["sg-03b443cd073634008"]


securityGroup Body   String   Optional

For Azure clouds, the name of the security group for your Azure Virtual Network that has an outbound rule to allow Dremio Cloud engines to connect over TLS. Valid only for Azure clouds; use the securityGroupIds parameter for AWS clouds.

Example: nsg-secgroup-westus2


credentials Body   Object

The credentials you are using to configure the compute settings.


vpcEndpointId Body   String

The VPC endpoint ID to use to discover the associated AWS PrivateLink Elastic Network Interface (ENI). When this value is empty, Dremio does not attempt discovery of associated AWS PrivateLink ENI and falls back to the configured DNS entry for the Dremio Gateway. If you have set up an AWS PrivateLink endpoint manually and enabled private DNS hostnames, Dremio uses the PrivateLink endpoint identified by the given ID. The default value is null.

Example: vpce-020b6e4fc2c494f27


virtualNetwork Body   String

For Azure clouds, the name of the virtual network to associate with the cloud. Required only for Azure clouds.

Example: vnet-dre-dr-westus2


resourceGroup Body   String

For Azure clouds, the name of the Azure Virtual Network resource group for the cloud to use. Required only for Azure clouds.

Example: rg-dre-dr-res-grp-westus2


privateEndpoints Body   Array of String   Optional

For Azure clouds, the Azure Private Link endpoints to use to connect your Azure Virtual Network to the Dremio virtual network in Azure. Valid only for Azure clouds.

Example: ["test-dremio-cloud-private-endpoint"]

Parameters of the credentials Object

type Body   String

The type of credentials you are using to configure the compute settings for the cloud. For AWS clouds, select from ACCESS_KEY or IAM_ROLE. For Azure clouds, the value must be AZURE_APP_CLIENT_CREDENTIALS.


accessKeyID Body   String   Optional

For AWS clouds, the access key generated from the AWS IAM User you created to provide Dremio Cloud with compute capabilities. This field is required if you selected ACCESS_KEY for credentials.


secretAccessKey Body   String   Optional

For AWS clouds, the secret key generated from the AWS IAM User you created to provide Dremio Cloud with compute capabilities. This field is required if you selected ACCESS_KEY for credentials.


roleArn Body   String   Optional

For AWS clouds, the cross-account role ARN for the AWS IAM Role you created to provide Dremio Cloud with compute capabilities. To create this IAM Role, you need to provide the Trust Account ID (572051091487). This field is required if you selected IAM_ROLE for credentials.


externalId Body   String   Optional

For AWS clouds, the external ID to use to create an IAM Role. This field is required if you selected IAM_ROLE for credentials. Use the endpoint for generating an external ID and signature to generate the externalId.

Example: 075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890


externalIdSignature Body   String   Optional

For AWS clouds, the signature to use to validate the externalId when authenticating with an IAM Role. This field is required if you selected IAM_ROLE for credentials. The value is returned as null in API responses.

Use the endpoint for generating an external ID and signature to generate the externalIdSignature.

Example: 1-x6e8rhWR2A+o7kepPZJPX6CLw+1PFeAq7f69EXAMPLE=


tenantId Body   String (UUID)

For Azure clouds, the ID of the Azure tenant to use for the cloud.

Example: d3ea56da-b0c6-4c36-9faf-42b7fb758ef3


clientId Body   String (UUID)

For Azure clouds, the application (client) ID of the registered app used for compute access.

Example: 3e334762-be50-4501-44b1-08bd3f929c9f


clientSecret Body   String

For Azure clouds, the client secret you created in the registered app used for compute access.

Example: secret


subscriptionId Body   String (UUID)

For Azure clouds, the ID of the Azure subscription to use for the cloud.

Example: 669378eb-5137-43f2-88f7-93800f0d6c71

Example Request to Add an AWS Cloud
curl -X POST 'https://api.dremio.cloud/v0/clouds' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "docCloud",
"attributes": {
"vendor": "AWS",
"region": "US_WEST_2",
"subnets": [
"subnet-81e255f9"
],
"securityGroupIds": [
"sg-03b443cd073634008"
],
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": "vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY"
},
"vpcEndpointId": "vpce-020b6e4fc2c494f27"
},
"requestId": "302272c0-d357-4bcc-9087-19f3056a9a73"
}'
Example Response for an AWS Cloud
{
"id": "e43e8505-8a44-4dc5-8181-75be1067cf99"
}
Example Request to Add an Azure Cloud
curl -X POST 'https://api.dremio.cloud/v0/clouds' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"requestId": "7676163d-55f5-46c6-bfbd-l2",
"name": "azure-cloud",
"attributes": {
"vendor": "AZURE",
"credentials": {
"type": "AZURE_APP_CLIENT_CREDENTIALS",
"clientId": "3e334762-be50-4501-44b1-08bd3f929c9f",
"clientSecret": "PrNE2C~.pkd9RzEX5yHrZ6CgqDe_~VD32EXAMPLE",
"tenantId": "d3ea56da-b0c6-4c36-9faf-42b7fb758ef3",
"subscriptionId": "669378eb-5137-43f2-88f7-93800f0d6c71"
},
"region": "US_WEST_2",
"subnets": [
"snet-dcs-dp-compute-westus2"
],
"virtualNetwork": "vnet-dcs-dp-westus2",
"resourceGroup": "rg-dcs-dp-dev-dev-westus2"
}
}'
Example Response for an Azure Cloud
{
"name": "azure-cloud",
"id": "b913a696-449b-4005-8d99-cdd302c5fe82",
"createdBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"modifiedBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"createdAt": "Thu Oct 19 14:04:22 UTC 2023",
"modifiedAt": "Thu Oct 19 14:04:22 UTC 2023",
"attributes": {
"vendor": "AZURE",
"region": "US_WEST_2",
"virtualNetwork": "vnet-dre-dr-westus2",
"subnets": [
"snet-dre-dr-compute-westus2"
],
"securityGroup": "nsg-secgroup-westus2",
"credentials": {
"type": "AZURE_APP_CLIENT_CREDENTIALS",
"tenantId": "d3ea56da-b0c6-4c36-9faf-42b7fb758ef3",
"clientId": "3e334762-be50-4501-44b1-08bd3f929c9f",
"clientSecret": "secret",
"subscriptionId": "669378eb-5137-43f2-88f7-93800f0d6c71"
},
"resourceGroup": "rg-dre-dr-res-grp-westus2",
"privateEndpoints": [
"test-dremio-cloud-private-endpoint"
]
}
}

Response Status Codes

200   OK

400   Bad Request

401   Unauthorized

403   Forbidden

500   Internal Server Error

Retrieving a Cloud

Get the cloud metadata for an existing cloud by providing the cloud ID that was returned on creation of the cloud.

Method and URL
GET /v0/clouds/{id}

Parameters

id Path   String

The ID of the cloud for which you want to retrieve metadata.

Example: e43e8505-8a44-4dc5-8181-75be1067cf99

Example Request
curl -X GET 'https://api.dremio.cloud/v0/clouds/e43e8505-8a44-4dc5-8181-75be1067cf99' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
  {
"name": "docCloud",
"id": "e43e8505-8a44-4dc5-8181-75be1067cf99",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Sat Aug 21 16:37:18 UTC 2023",
"modifiedAt": "Sat Aug 21 16:37:18 UTC 2023",
"attributes": {
"vendor": "aws",
"region": "US_WEST_2",
"subnets": [
"subnet-f4dec3df",
"subnet-e9a0fedd"
],
"securityGroupIds": [
"sg-03b443cd073634008"
],
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": null
},
"vpcEndpointId": "vpce-020b6e4fc2c494f27"
}
}

Response Status Codes

200   OK

400   Bad Request

401   Unauthorized

403   Forbidden

500   Internal Server Error

Modifying a Cloud

Modify the cloud by providing the cloud ID that was returned on creation of the cloud. Parameters that are not provided will be left unchanged.

Method and URL
PUT /v0/clouds/{id}

Parameters

Cloud

id Path   String

The ID of the cloud you want to modify.

Example: 290f1ee-6c54-4b01-90e6-d701748f0851


name Body   String

The user-defined name for the cloud you want to modify.

Example: myCloud


attributes Body   Object

The cloud attributes associated with the cloud account.

Parameters of the attributes Object

vendor Body   String

The cloud provider.

Enum: AWS, AZURE

Example: AWS


region Body   String   Optional

The region with which your cloud account is associated. Read supported regions for more information.

Enum: US_WEST, US_EAST_2, US_SOUTH_CENTRAL, US_WEST_2, US_CENTRAL, US_WEST_CENTRAL, EUROPE_NORTH, US_NORTH_CENTRAL, US_EAST, US_WEST_3, EUROPE_WEST

Example: US_WEST_2


subnets Body   Array of String   Optional

An array of one or more IDs of subnets that are associated with your Amazon Virtual Private Cloud or Azure Virtual Network. Dremio Cloud uses the subnets to spin up engines for running queries.

Example: ["subnet-81e255f9"]


securityGroupIds Body   Array of String

For AWS clouds, the IDs of the security groups for your Amazon Virtual Private Cloud that have an outbound rule to allow Dremio Cloud engines to connect over TLS. Valid only for AWS clouds.

Example: ["sg-00507c41e91010ebf"]


securityGroup Body   Array of String   Optional

For Azure clouds, the name of the security group for your Azure Virtual Network that has an outbound rule to allow Dremio Cloud engines to connect over TLS. Valid only for Azure clouds.

Example: ["nsg-secgroup-westus2"]


credentials Body   Object   Optional

The credentials you are using to configure the compute settings.


vpcEndpointId Body   String

For AWS clouds, the VPC endpoint ID to use to discover the associated AWS PrivateLink Elastic Network Interface (ENI). When this value is empty, Dremio does not attempt discovery of associated AWS PrivateLink ENI and falls back to the configured DNS entry for the Dremio Gateway. If you have set up an AWS PrivateLink endpoint manually and enabled private DNS hostnames, Dremio uses the PrivateLink endpoint identified by the given ID. The default value is null. Valid only for AWS clouds.

Example: vpce-020b6e4fc2c494f27


virtualNetwork Body   String   Optional

For Azure clouds, the name of the virtual network to associate with the cloud. Valid only for Azure clouds.

Example: vnet-dre-dr-westus2


resourceGroup Body   String   Optional

For Azure clouds, the name of the Azure Virtual Network resource group for the cloud to use. Valid only for Azure clouds.

Example: vpce-020b6e4fc2c494f27


privateEndpoints Body   Array of String   Optional

For Azure clouds, the Azure Private Link endpoints to use to connect your Azure Virtual Network to the Dremio virtual network in Azure. The default value is null. Valid only for Azure clouds.

Example: ["test-dremio-cloud-private-endpoint"]

Parameters of the credentials Object

type Body   String   Optional

The type of credentials to use to configure the compute settings for the cloud. For AWS clouds, the value is either ACCESS_KEY or IAM_ROLE. For Azure clouds, the value is AZURE_APP_CLIENT_CREDENTIALS.

Example: ACCESS_KEY


accessKeyId Body   String   Optional

For AWS clouds with ACCESS_KEY credentials, the access key generated from the AWS IAM User you created to provide Dremio Cloud with compute capabilities.

Example: AKIAJIPU77TQL8LR6OIR


secretAccessKey Body   String   Optional

For AWS clouds with ACCESS_KEY credentials, the secret key generated from the AWS IAM User you created to provide Dremio Cloud with compute capabilities.

Example: vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY


roleArn Body   String   Optional

For AWS clouds with IAM_ROLE credentials, the cross-account role ARN for the AWS IAM Role you created to provide Dremio Cloud with compute capabilities. To create this IAM Role, you need to provide the Trust Account ID (572051091487).


externalId Body   String   Optional

For AWS clouds, the external ID to use to create an IAM Role. This field is required if you selected IAM_ROLE for credentials. Use the endpoint for generating an external ID and signature to generate the externalId.

Example: 075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890


externalIdSignature Body   String   Optional

For AWS clouds, the signature to use to validate the externalId when authenticating with an IAM Role. This field is required if you selected IAM_ROLE for credentials. The value is returned as null in API responses.

Use the endpoint for generating an external ID and signature to generate the externalIdSignature.

Example: 1-x6e8rhWR2A+o7kepPZJPX6CLw+1PFeAq7f69EXAMPLE=


tenantId Body   String (UUID)   Optional

For Azure clouds, the ID of the Azure tenant to use for the cloud.

Example: d3ea56da-b0c6-4c36-9faf-42b7fb758ef3


clientId Body   String (UUID)   Optional

For Azure clouds, the application (client) ID of the registered app used for compute access.

Example: 3e334762-be50-4501-44b1-08bd3f929c9f


clientSecret Body   String   Optional

For Azure clouds, the client secret you created in the registered app used for compute access.

Example: secret


subscriptionId Body   String (UUID)   Optional

For Azure clouds, the ID of the Azure subscription used for the cloud.

Example: 669378eb-5137-43f2-88f7-93800f0d6c71

Example Request to Modify an AWS Cloud
curl -X PUT 'https://api.dremio.cloud/v0/clouds/290f1ee-6c54-4b01-90e6-d701748f0851' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "myCloud",
"attributes": {
"vendor": "AWS",
"region": "US_WEST_2",
"subnets": [
"subnet-81e255f9"
],
"securityGroupIds": [
"sg-00507c41e91010ebf"
],
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": "vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY"
},
"vpcEndpointId": "vpce-020b6e4fc2c494f27"
}
}'
Example Response for an AWS Cloud
No response
Example Request to Modify an Azure Cloud
curl -X PUT 'https://api.dremio.cloud/v0/clouds/290f1ee-6c54-4b01-90e6-d701748f0851' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "azure-cloud",
"attributes": {
"vendor": "AZURE",
"securityGroup": "nsg-newsecgroup-westus2"
}
}'
Example Response for an AWS Cloud
{
"name": "azure-cloud",
"id": "b913a696-449b-4005-8d99-cdd302c5fe82",
"createdBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"modifiedBy": "65f9a3d6-6bab-4fe5-bcf6-30483019687f",
"createdAt": "Thu Oct 19 14:04:22 UTC 2023",
"modifiedAt": "Fri Oct 20 11:31:25 UTC 2023",
"attributes": {
"vendor": "AZURE",
"region": "US_WEST_2",
"virtualNetwork": "vnet-dre-dr-westus2",
"subnets": [
"snet-dre-dr-compute-westus2"
],
"securityGroup": "nsg-newsecgroup-westus2",
"credentials": {
"type": "AZURE_APP_CLIENT_CREDENTIALS",
"tenantId": "d3ea56da-b0c6-4c36-9faf-42b7fb758ef3",
"clientId": "3e334762-be50-4501-44b1-08bd3f929c9f",
"clientSecret": "secret",
"subscriptionId": "669378eb-5137-43f2-88f7-93800f0d6c71"
},
"resourceGroup": "rg-dre-dr-res-grp-westus2",
"privateEndpoints": [
"test-dremio-cloud-private-endpoint"
]
}
}

Response Status Codes

204   No Content

400   Bad Request

401   Unauthorized

403   Forbidden

Deleting a Cloud

Delete the cloud by providing the cloud ID that was returned on creation of the cloud.

Method and URL
DELETE /v0/clouds/{id}

Parameters

id Path   String

The ID of the cloud that you want to delete.

Example: 290f1ee-6c54-4b01-90e6-d701748f0851

Example Request
curl -X DELETE 'https://api.dremio.cloud/v0/clouds/290f1ee-6c54-4b01-90e6-d701748f0851' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
No response

Response Status Codes

204   No Content

400   Bad Request

401   Unauthorized

403   Forbidden

500   Internal Server Error

Generating an External ID and Signature

Generate an externalId for use in adding an AWS cloud that is authenticated with an IAM Role, as well as an externalIdSignature to use to validate the externalId. The externalId and externalIdSignature are valid for 90 minutes after they are generated.

Generating an External ID and Signature
GET /v0/clouds/externalId
Example Request
curl -X GET 'https://api.dremio.cloud/v0/clouds/externalId' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
{
"externalId": "075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890",
"externalIdSignature": "1-x6e8rhWR2A+o7kepPZJPX6CLw+1PFeAq7f69EXAMPLE="
}

Responses

204   No Content

400   Bad Request

401   Unauthorized

403   Forbidden

500   Internal Server Error