@spacelift-io/pulumi-spacelift
Version:
A Pulumi package for creating and managing Spacelift resources.
100 lines (99 loc) • 3.98 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* `spacelift.AwsIntegration` represents an integration with an AWS account. This integration is account-level and needs to be explicitly attached to individual stacks in order to take effect.
*
* Note: when assuming credentials for **shared workers**, Spacelift will use `$accountName@$integrationID@$stackID@suffix` or `$accountName@$integrationID@$moduleID@$suffix` as [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) and `$runID@$stackID@$accountName` truncated to 64 characters as [session ID](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole),$suffix will be `read` or `write`.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as spacelift from "@pulumi/spacelift";
*
* const example = spacelift.getAwsIntegration({
* name: "Production",
* });
* ```
*/
export declare function getAwsIntegration(args?: GetAwsIntegrationArgs, opts?: pulumi.InvokeOptions): Promise<GetAwsIntegrationResult>;
/**
* A collection of arguments for invoking getAwsIntegration.
*/
export interface GetAwsIntegrationArgs {
/**
* Immutable ID of the integration. Either `integrationId` or `name` must be specified.
*/
integrationId?: string;
/**
* Name of the AWS integration. Either `integrationId` or `name` must be specified.
*/
name?: string;
}
/**
* A collection of values returned by getAwsIntegration.
*/
export interface GetAwsIntegrationResult {
/**
* Duration in seconds for which the assumed role credentials should be valid
*/
readonly durationSeconds: number;
/**
* Custom external ID (works only for private workers).
*/
readonly externalId: string;
/**
* Generate AWS credentials in the private worker
*/
readonly generateCredentialsInWorker: boolean;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* Immutable ID of the integration. Either `integrationId` or `name` must be specified.
*/
readonly integrationId: string;
readonly labels: string[];
/**
* Name of the AWS integration. Either `integrationId` or `name` must be specified.
*/
readonly name: string;
/**
* ARN of the AWS IAM role to attach
*/
readonly roleArn: string;
/**
* ID (slug) of the space the integration is in
*/
readonly spaceId: string;
}
/**
* `spacelift.AwsIntegration` represents an integration with an AWS account. This integration is account-level and needs to be explicitly attached to individual stacks in order to take effect.
*
* Note: when assuming credentials for **shared workers**, Spacelift will use `$accountName@$integrationID@$stackID@suffix` or `$accountName@$integrationID@$moduleID@$suffix` as [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) and `$runID@$stackID@$accountName` truncated to 64 characters as [session ID](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole),$suffix will be `read` or `write`.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as spacelift from "@pulumi/spacelift";
*
* const example = spacelift.getAwsIntegration({
* name: "Production",
* });
* ```
*/
export declare function getAwsIntegrationOutput(args?: GetAwsIntegrationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAwsIntegrationResult>;
/**
* A collection of arguments for invoking getAwsIntegration.
*/
export interface GetAwsIntegrationOutputArgs {
/**
* Immutable ID of the integration. Either `integrationId` or `name` must be specified.
*/
integrationId?: pulumi.Input<string>;
/**
* Name of the AWS integration. Either `integrationId` or `name` must be specified.
*/
name?: pulumi.Input<string>;
}