1. Docs
  2. Reference
  3. REST API Docs
  4. Cloud Setup

Cloud Setup

    The Cloud Setup API helps you configure cloud provider credentials and integrations for use with Pulumi. Endpoints cover initial provider setup workflows for AWS, Azure, and GCP.

    AWS Setup

    POST /api/esc/cloudsetup/{orgName}/aws/setup

    Sets up AWS infrastructure using provided static credentials

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • accessKeyId string required
      AWS Access Key ID
    • secretAccessKey string required
      AWS Secret Access Key
    • sessionToken string required
      AWS Session Token (for temporary credentials)
    • policyArn string required
      ARN of the IAM policy to attach to the role
    • oidcRoleName string required
      Name of IAM Role for OIDC

    Responses

    200 OK
    • success boolean required
      Whether the setup operation was successful
    • resources array[CloudSetupResource] required
      List of resources created or managed during setup
    • type string required
      Type of the resource
    • id string required
      Unique identifier of the resource
    • name string required
      Name of the resource
    • status string required
      Status of the resource operation
    • error string optional
      Error message if the resource operation failed
    • properties map[string]string optional
      Additional properties of the resource
    • message string optional
      Optional message about the setup operation
    Errors: 400 Failed to setup infrastructure

    AWSSSO List Accounts

    GET /api/esc/cloudsetup/{orgName}/aws/sso/accounts

    Lists AWS accounts accessible with the provided session

    Request Parameters

    • orgName string path required
      The organization name
    • region string query optional
      The AWS region
    • sessionId string query optional
      The SSO session identifier

    Responses

    200 OK
    • accounts array[CloudAccount] required
      List of cloud accounts/subscriptions
    • id string required
      Account/subscription ID
    • name string required
      Account/subscription name
    • roles array[string] optional
      Roles
    • number integer optional
      Project number (for Azure)
    Errors: 400 Failed to list accounts 404 Organization or Session not found 412 Session not yet authorized

    AWSSSO Initiate

    POST /api/esc/cloudsetup/{orgName}/aws/sso/initiate

    Initiates the AWS SSO flow

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • startUrl string required
      The AWS SSO Start URL
    • region string required
      The AWS SSO Region

    Responses

    200 OK
    • url string required
      The AWS SSO Verification URL
    • userCode string required
      The AWS SSO User Code to verify
    • sessionId string required
      The auth session id
    Errors: 400 Failed to initiate AWS SSO flow

    AWSSSO Setup

    POST /api/esc/cloudsetup/{orgName}/aws/sso/setup

    Sets up AWS infrastructure and ESC environments using AWS SSO

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • sessionId string required
      The auth session id
    • region string required
      The AWS SSO Region
    • accountId string required
      The AWS account id
    • accountRoleName string required
      The AWS account role name
    • policyArn string required
      ARN of the IAM policy to attach to the role
    • oidcRoleName string required
      Name of IAM Role for OIDC

    Responses

    200 OK
    • success boolean required
      Whether the setup operation was successful
    • resources array[CloudSetupResource] required
      List of resources created or managed during setup
    • type string required
      Type of the resource
    • id string required
      Unique identifier of the resource
    • name string required
      Name of the resource
    • status string required
      Status of the resource operation
    • error string optional
      Error message if the resource operation failed
    • properties map[string]string optional
      Additional properties of the resource
    • message string optional
      Optional message about the setup operation
    Errors: 400 Failed to setup infrastructure 404 Organization or Session not found

    Azure List Accounts

    GET /api/esc/cloudsetup/{orgName}/oauth/azure/accounts

    Lists Azure subscriptions accessible with the provided ARM session

    Request Parameters

    • orgName string path required
      The organization name
    • armSessionId string query optional
      The Azure ARM session identifier

    Responses

    200 OK
    • accounts array[CloudAccount] required
      List of cloud accounts/subscriptions
    • id string required
      Account/subscription ID
    • name string required
      Account/subscription name
    • roles array[string] optional
      Roles
    • number integer optional
      Project number (for Azure)
    Errors: 400 Failed to list azure subscriptions 404 Organization or Session not found

    Azure Setup

    POST /api/esc/cloudsetup/{orgName}/oauth/azure/setup

    Sets up Azure infrastructure and ESC environments using OAuth credentials

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • armSessionId string required
      ARM (Azure Resource Manager) OAuth session ID
    • graphSessionId string required
      Microsoft Graph OAuth session ID
    • azureEnvironmentInfos array[AzureEnvironmentInfo] required
      List of Azure environment configurations to create
    • subscriptionID string required
      Azure subscription ID
    • roleID string required
      Azure role ID
    • projectName string required
      ESC project name
    • environmentName string required
      ESC environment name

    Responses

    200 OK
    • success boolean required
      Whether the setup operation was successful
    • resources array[CloudSetupResource] required
      List of resources created or managed during setup
    • type string required
      Type of the resource
    • id string required
      Unique identifier of the resource
    • name string required
      Name of the resource
    • status string required
      Status of the resource operation
    • error string optional
      Error message if the resource operation failed
    • properties map[string]string optional
      Additional properties of the resource
    • message string optional
      Optional message about the setup operation
    Errors: 400 Failed to setup infrastructure 404 Organization or Session not found

    Complete O Auth

    POST /api/esc/cloudsetup/{orgName}/oauth/complete

    Completes OAuth flow by exchanging authorization code for access token

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • provider CloudSetupProvider required
      CloudSetupProvider configuration for OAuth authentication
    • name string required
      CloudSetupProvider name (e.g., ‘azure’, ‘gcp’)
    • azure AzureOptions optional
      Azure-specific configuration options
    • sessionID string required
      Session identifier from OAuth initiation
    • code string required
      Authorization code returned from OAuth provider

    Responses

    200 OK
    Errors: 400 Failed to complete OAuth

    GCP List Accounts

    GET /api/esc/cloudsetup/{orgName}/oauth/gcp/accounts

    Lists GCP projects accessible with the provided oauth session

    Request Parameters

    • orgName string path required
      The organization name
    • oauthSessionId string query optional
      The OAuth session identifier

    Responses

    200 OK
    • accounts array[CloudAccount] required
      List of cloud accounts/subscriptions
    • id string required
      Account/subscription ID
    • name string required
      Account/subscription name
    • roles array[string] optional
      Roles
    • number integer optional
      Project number (for Azure)
    Errors: 400 Failed to list gcp projects 404 Organization or Session not found

    GCP Setup

    POST /api/esc/cloudsetup/{orgName}/oauth/gcp/setup

    Sets up GCP infrastructure using OAuth credentials

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • oauthSessionId string required
      GCP OAuth session ID
    • gcpEnvironmentInfo GCPEnvironmentInfo required
      GCP environment configuration to create
    • gcpProjectID string required
      GCP project ID
    • gcpRoleID string required
      GCP role ID
    • gcpServiceAccountName string required
      GCP service account name
    • projectName string required
      ESC project name
    • environmentName string required
      ESC environment name

    Responses

    200 OK
    • success boolean required
      Whether the setup operation was successful
    • resources array[CloudSetupResource] required
      List of resources created or managed during setup
    • type string required
      Type of the resource
    • id string required
      Unique identifier of the resource
    • name string required
      Name of the resource
    • status string required
      Status of the resource operation
    • error string optional
      Error message if the resource operation failed
    • properties map[string]string optional
      Additional properties of the resource
    • message string optional
      Optional message about the setup operation
    Errors: 400 Failed to setup infrastructure 404 Organization or Session not found

    Initiate O Auth

    POST /api/esc/cloudsetup/{orgName}/oauth/initiate

    Initiates OAuth flow for a given cloud provider

    Request Parameters

    • orgName string path required
      The organization name

    Request Body

    • provider CloudSetupProvider required
      CloudSetupProvider configuration for OAuth authentication
    • name string required
      CloudSetupProvider name (e.g., ‘azure’, ‘gcp’)
    • azure AzureOptions optional
      Azure-specific configuration options

    Responses

    200 OK
    • url string required
      Authorization URL to redirect user to
    • sessionID string required
      Session identifier for tracking the OAuth flow
    Errors: 400 Failed to initiate oauth