UNPKG

@spacelift-io/pulumi-spacelift

Version:

A Pulumi package for creating and managing Spacelift resources.

100 lines (99 loc) 3.98 kB
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>; }