UNPKG

@spacelift-io/pulumi-spacelift

Version:

A Pulumi package for creating and managing Spacelift resources.

132 lines (131 loc) 5 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`. * * ## Import * * ```sh * $ pulumi import spacelift:index/awsIntegration:AwsIntegration read_write_integration $INTEGRATION_ID * ``` */ export declare class AwsIntegration extends pulumi.CustomResource { /** * Get an existing AwsIntegration resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AwsIntegrationState, opts?: pulumi.CustomResourceOptions): AwsIntegration; /** * Returns true if the given object is an instance of AwsIntegration. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is AwsIntegration; /** * Duration in seconds for which the assumed role credentials should be valid. Defaults to `900`. */ readonly durationSeconds: pulumi.Output<number | undefined>; /** * Custom external ID (works only for private workers). */ readonly externalId: pulumi.Output<string | undefined>; /** * Generate AWS credentials in the private worker. Defaults to `false`. */ readonly generateCredentialsInWorker: pulumi.Output<boolean | undefined>; /** * Labels to set on the integration */ readonly labels: pulumi.Output<string[] | undefined>; /** * The friendly name of the integration */ readonly name: pulumi.Output<string>; /** * ARN of the AWS IAM role to attach */ readonly roleArn: pulumi.Output<string>; /** * ID (slug) of the space the integration is in */ readonly spaceId: pulumi.Output<string>; /** * Create a AwsIntegration resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: AwsIntegrationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AwsIntegration resources. */ export interface AwsIntegrationState { /** * Duration in seconds for which the assumed role credentials should be valid. Defaults to `900`. */ durationSeconds?: pulumi.Input<number>; /** * Custom external ID (works only for private workers). */ externalId?: pulumi.Input<string>; /** * Generate AWS credentials in the private worker. Defaults to `false`. */ generateCredentialsInWorker?: pulumi.Input<boolean>; /** * Labels to set on the integration */ labels?: pulumi.Input<pulumi.Input<string>[]>; /** * The friendly name of the integration */ name?: pulumi.Input<string>; /** * ARN of the AWS IAM role to attach */ roleArn?: pulumi.Input<string>; /** * ID (slug) of the space the integration is in */ spaceId?: pulumi.Input<string>; } /** * The set of arguments for constructing a AwsIntegration resource. */ export interface AwsIntegrationArgs { /** * Duration in seconds for which the assumed role credentials should be valid. Defaults to `900`. */ durationSeconds?: pulumi.Input<number>; /** * Custom external ID (works only for private workers). */ externalId?: pulumi.Input<string>; /** * Generate AWS credentials in the private worker. Defaults to `false`. */ generateCredentialsInWorker?: pulumi.Input<boolean>; /** * Labels to set on the integration */ labels?: pulumi.Input<pulumi.Input<string>[]>; /** * The friendly name of the integration */ name?: pulumi.Input<string>; /** * ARN of the AWS IAM role to attach */ roleArn: pulumi.Input<string>; /** * ID (slug) of the space the integration is in */ spaceId?: pulumi.Input<string>; }