Pulumi CloudSetup API
The CloudSetup API from Pulumi — 10 operation(s) for cloudsetup.
The CloudSetup API from Pulumi — 10 operation(s) for cloudsetup.
openapi: 3.0.3
info:
description: APIs and Definitions for the Pulumi Cloud product.
title: Pulumi APIs AccessTokens CloudSetup API
version: 1.0.0
tags:
- name: CloudSetup
paths:
/api/esc/cloudsetup/{orgName}/aws/setup:
post:
description: Sets up AWS infrastructure using provided static credentials
operationId: AWSSetup
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AWSSetupRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CloudSetupResult'
description: OK
'400':
description: Failed to setup infrastructure
summary: AWSSetup
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/aws/sso/accounts:
get:
description: Lists AWS accounts accessible with the provided session
operationId: AWSSSOListAccounts
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
- description: The AWS region
in: query
name: region
schema:
type: string
- description: The SSO session identifier
in: query
name: sessionId
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListCloudAccountsResponse'
description: OK
'400':
description: Failed to list accounts
'404':
description: Organization or Session not found
'412':
description: Session not yet authorized
summary: AWSSSOListAccounts
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/aws/sso/initiate:
post:
description: Initiates the AWS SSO flow
operationId: AWSSSOInitiate
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AWSSSOInitiateRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AWSSSOInitiateResponse'
description: OK
'400':
description: Failed to initiate AWS SSO flow
summary: AWSSSOInitiate
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/aws/sso/setup:
post:
description: Sets up AWS infrastructure and ESC environments using AWS SSO
operationId: AWSSSOSetup
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AWSSSOSetupRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CloudSetupResult'
description: OK
'400':
description: Failed to setup infrastructure
'404':
description: Organization or Session not found
summary: AWSSSOSetup
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/oauth/azure/accounts:
get:
description: Lists Azure subscriptions accessible with the provided ARM session
operationId: AzureListAccounts
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
- description: The Azure ARM session identifier
in: query
name: armSessionId
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListCloudAccountsResponse'
description: OK
'400':
description: Failed to list azure subscriptions
'404':
description: Organization or Session not found
summary: AzureListAccounts
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/oauth/azure/setup:
post:
description: Sets up Azure infrastructure and ESC environments using OAuth credentials
operationId: AzureSetup
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureSetupRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CloudSetupResult'
description: OK
'400':
description: Failed to setup infrastructure
'404':
description: Organization or Session not found
summary: AzureSetup
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/oauth/complete:
post:
description: Completes OAuth flow by exchanging authorization code for access token
operationId: CompleteOAuth
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompleteOAuthRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CompleteOAuthResponse'
description: OK
'400':
description: Failed to complete OAuth
summary: CompleteOAuth
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/oauth/gcp/accounts:
get:
description: Lists GCP projects accessible with the provided oauth session
operationId: GCPListAccounts
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
- description: The OAuth session identifier
in: query
name: oauthSessionId
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListCloudAccountsResponse'
description: OK
'400':
description: Failed to list gcp projects
'404':
description: Organization or Session not found
summary: GCPListAccounts
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/oauth/gcp/setup:
post:
description: Sets up GCP infrastructure using OAuth credentials
operationId: GCPSetup
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCPSetupRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CloudSetupResult'
description: OK
'400':
description: Failed to setup infrastructure
'404':
description: Organization or Session not found
summary: GCPSetup
tags:
- CloudSetup
/api/esc/cloudsetup/{orgName}/oauth/initiate:
post:
description: Initiates OAuth flow for a given cloud provider
operationId: InitiateOAuth
parameters:
- description: The organization name
in: path
name: orgName
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InitiateOAuthRequest'
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InitiateOAuthResponse'
description: OK
'400':
description: Failed to initiate oauth
summary: InitiateOAuth
tags:
- CloudSetup
components:
schemas:
CompleteOAuthResponse:
description: Response from OAuth completion
type: object
AWSSSOInitiateResponse:
description: Response of the initialization of the AWS SSO flow
properties:
sessionId:
description: The auth session id
type: string
x-order: 3
url:
description: The AWS SSO Verification URL
type: string
x-order: 1
userCode:
description: The AWS SSO User Code to verify
type: string
x-order: 2
required:
- sessionId
- url
- userCode
type: object
CloudSetupProvider:
description: CloudSetupProvider configuration
properties:
azure:
$ref: '#/components/schemas/AzureOptions'
description: Azure-specific configuration options
x-order: 2
name:
description: CloudSetupProvider name (e.g., 'azure', 'gcp')
type: string
x-order: 1
required:
- name
type: object
GCPSetupRequest:
description: Request to setup GCP OIDC infrastructure
properties:
gcpEnvironmentInfo:
$ref: '#/components/schemas/GCPEnvironmentInfo'
description: GCP environment configuration to create
x-order: 2
oauthSessionId:
description: GCP OAuth session ID
type: string
x-order: 1
required:
- gcpEnvironmentInfo
- oauthSessionId
type: object
CloudAccount:
description: Cloud account information
properties:
id:
description: Account/subscription ID
type: string
x-order: 1
name:
description: Account/subscription name
type: string
x-order: 2
number:
description: Project number (for Azure)
format: int64
type: integer
x-order: 4
roles:
description: Roles
items:
type: string
type: array
x-order: 3
required:
- id
- name
type: object
AzureEnvironmentInfo:
description: Azure environment configuration information
properties:
environmentName:
description: ESC environment name
type: string
x-order: 4
projectName:
description: ESC project name
type: string
x-order: 3
roleID:
description: Azure role ID
type: string
x-order: 2
subscriptionID:
description: Azure subscription ID
type: string
x-order: 1
required:
- environmentName
- projectName
- roleID
- subscriptionID
type: object
InitiateOAuthResponse:
description: Response from OAuth initiation containing authorization URL and session details
properties:
sessionID:
description: Session identifier for tracking the OAuth flow
type: string
x-order: 2
url:
description: Authorization URL to redirect user to
type: string
x-order: 1
required:
- sessionID
- url
type: object
AWSSSOInitiateRequest:
description: Request to initiate AWS SSO flow
properties:
region:
description: The AWS SSO Region
type: string
x-order: 2
startUrl:
description: The AWS SSO Start URL
type: string
x-order: 1
required:
- region
- startUrl
type: object
AzureSetupRequest:
description: Request to setup Azure infrastructure and ESC environments
properties:
armSessionId:
description: ARM (Azure Resource Manager) OAuth session ID
type: string
x-order: 1
azureEnvironmentInfos:
description: List of Azure environment configurations to create
items:
$ref: '#/components/schemas/AzureEnvironmentInfo'
type: array
x-order: 3
graphSessionId:
description: Microsoft Graph OAuth session ID
type: string
x-order: 2
required:
- armSessionId
- azureEnvironmentInfos
- graphSessionId
type: object
GCPEnvironmentInfo:
description: GCP environment configuration information
properties:
environmentName:
description: ESC environment name
type: string
x-order: 5
gcpProjectID:
description: GCP project ID
type: string
x-order: 1
gcpRoleID:
description: GCP role ID
type: string
x-order: 2
gcpServiceAccountName:
description: GCP service account name
type: string
x-order: 3
projectName:
description: ESC project name
type: string
x-order: 4
required:
- environmentName
- gcpProjectID
- gcpRoleID
- gcpServiceAccountName
- projectName
type: object
AWSSetupRequest:
description: Request to setup AWS OIDC infrastructure using static credentials
properties:
accessKeyId:
description: AWS Access Key ID
type: string
x-order: 1
oidcRoleName:
description: Name of IAM Role for OIDC
type: string
x-order: 5
policyArn:
description: ARN of the IAM policy to attach to the role
type: string
x-order: 4
secretAccessKey:
description: AWS Secret Access Key
type: string
x-order: 2
sessionToken:
description: AWS Session Token (for temporary credentials)
type: string
x-order: 3
required:
- accessKeyId
- oidcRoleName
- policyArn
- secretAccessKey
- sessionToken
type: object
AWSSSOSetupRequest:
description: Request to setup AWS from AWS SSO
properties:
accountId:
description: The AWS account id
type: string
x-order: 3
accountRoleName:
description: The AWS account role name
type: string
x-order: 4
oidcRoleName:
description: Name of IAM Role for OIDC
type: string
x-order: 6
policyArn:
description: ARN of the IAM policy to attach to the role
type: string
x-order: 5
region:
description: The AWS SSO Region
type: string
x-order: 2
sessionId:
description: The auth session id
type: string
x-order: 1
required:
- accountId
- accountRoleName
- oidcRoleName
- policyArn
- region
- sessionId
type: object
AzureOptions:
description: Azure provider options
properties:
apiName:
description: Azure API name identifying which Azure service to target.
enum:
- ado
- graph
- arm
type: string
x-order: 2
x-pulumi-model-property:
enumTypeName: AzureApiName
enumComments: Azure API name identifying which Azure service API to target.
enumFieldComments:
- Azure DevOps API
- Microsoft Graph API
- Azure Resource Manager API
tenantId:
description: Azure tenant ID
type: string
x-order: 1
type: object
CompleteOAuthRequest:
description: Request to complete OAuth flow by exchanging authorization code for access token
properties:
code:
description: Authorization code returned from OAuth provider
type: string
x-order: 3
provider:
$ref: '#/components/schemas/CloudSetupProvider'
description: CloudSetupProvider configuration for OAuth authentication
x-order: 1
sessionID:
description: Session identifier from OAuth initiation
type: string
x-order: 2
required:
- code
- provider
- sessionID
type: object
InitiateOAuthRequest:
description: Request to initiate OAuth flow for cloud provider authentication
properties:
provider:
$ref: '#/components/schemas/CloudSetupProvider'
description: CloudSetupProvider configuration for OAuth authentication
x-order: 1
required:
- provider
type: object
CloudSetupResource:
description: A cloud resource that was created or managed during setup
properties:
error:
description: Error message if the resource operation failed
type: string
x-order: 5
id:
description: Unique identifier of the resource
type: string
x-order: 2
name:
description: Name of the resource
type: string
x-order: 3
properties:
additionalProperties:
type: string
description: Additional properties of the resource
type: object
x-order: 6
status:
description: Status of the resource operation
type: string
x-order: 4
type:
description: Type of the resource
type: string
x-order: 1
required:
- id
- name
- status
- type
type: object
ListCloudAccountsResponse:
description: Response containing list of cloud accounts
properties:
accounts:
description: List of cloud accounts/subscriptions
items:
$ref: '#/components/schemas/CloudAccount'
type: array
x-order: 1
required:
- accounts
type: object
CloudSetupResult:
description: Result of a cloud setup operation
properties:
message:
description: Optional message about the setup operation
type: string
x-order: 3
resources:
description: List of resources created or managed during setup
items:
$ref: '#/components/schemas/CloudSetupResource'
type: array
x-order: 2
success:
description: Whether the setup operation was successful
type: boolean
x-order: 1
required:
- resources
- success
type: object