import * as pulumi from "@pulumi/pulumi";
/**
 * `spacelift.getAwsIntegrationAttachmentExternalId` is used to generate the external ID that would be used for role assumption when an AWS integration is attached to a stack or module.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as spacelift from "@pulumi/spacelift";
 *
 * const myStack = spacelift.getAwsIntegrationAttachmentExternalId({
 *     integrationId: spacelift_aws_integration["this"].id,
 *     stackId: "my-stack-id",
 *     read: true,
 *     write: true,
 * });
 * const myModule = spacelift.getAwsIntegrationAttachmentExternalId({
 *     integrationId: spacelift_aws_integration["this"].id,
 *     moduleId: "my-module-id",
 *     read: true,
 *     write: true,
 * });
 * ```
 */
export declare function getAwsIntegrationAttachmentExternalId(args: GetAwsIntegrationAttachmentExternalIdArgs, opts?: pulumi.InvokeOptions): Promise<GetAwsIntegrationAttachmentExternalIdResult>;
/**
 * A collection of arguments for invoking getAwsIntegrationAttachmentExternalId.
 */
export interface GetAwsIntegrationAttachmentExternalIdArgs {
    /**
     * immutable ID (slug) of the AWS integration
     */
    integrationId: string;
    /**
     * immutable ID (slug) of the module
     */
    moduleId?: string;
    /**
     * whether the integration will be used for read operations
     */
    read?: boolean;
    /**
     * immutable ID (slug) of the stack
     */
    stackId?: string;
    /**
     * whether the integration will be used for write operations
     */
    write?: boolean;
}
/**
 * A collection of values returned by getAwsIntegrationAttachmentExternalId.
 */
export interface GetAwsIntegrationAttachmentExternalIdResult {
    /**
     * An assume role policy statement that can be attached to your role to allow Spacelift to assume it
     */
    readonly assumeRolePolicyStatement: string;
    /**
     * The external ID that will be used during role assumption
     */
    readonly externalId: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * immutable ID (slug) of the AWS integration
     */
    readonly integrationId: string;
    /**
     * immutable ID (slug) of the module
     */
    readonly moduleId?: string;
    /**
     * whether the integration will be used for read operations
     */
    readonly read?: boolean;
    /**
     * immutable ID (slug) of the stack
     */
    readonly stackId?: string;
    /**
     * whether the integration will be used for write operations
     */
    readonly write?: boolean;
}
/**
 * `spacelift.getAwsIntegrationAttachmentExternalId` is used to generate the external ID that would be used for role assumption when an AWS integration is attached to a stack or module.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as spacelift from "@pulumi/spacelift";
 *
 * const myStack = spacelift.getAwsIntegrationAttachmentExternalId({
 *     integrationId: spacelift_aws_integration["this"].id,
 *     stackId: "my-stack-id",
 *     read: true,
 *     write: true,
 * });
 * const myModule = spacelift.getAwsIntegrationAttachmentExternalId({
 *     integrationId: spacelift_aws_integration["this"].id,
 *     moduleId: "my-module-id",
 *     read: true,
 *     write: true,
 * });
 * ```
 */
export declare function getAwsIntegrationAttachmentExternalIdOutput(args: GetAwsIntegrationAttachmentExternalIdOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAwsIntegrationAttachmentExternalIdResult>;
/**
 * A collection of arguments for invoking getAwsIntegrationAttachmentExternalId.
 */
export interface GetAwsIntegrationAttachmentExternalIdOutputArgs {
    /**
     * immutable ID (slug) of the AWS integration
     */
    integrationId: pulumi.Input<string>;
    /**
     * immutable ID (slug) of the module
     */
    moduleId?: pulumi.Input<string>;
    /**
     * whether the integration will be used for read operations
     */
    read?: pulumi.Input<boolean>;
    /**
     * immutable ID (slug) of the stack
     */
    stackId?: pulumi.Input<string>;
    /**
     * whether the integration will be used for write operations
     */
    write?: pulumi.Input<boolean>;
}
