@spacelift-io/pulumi-spacelift
Version:
A Pulumi package for creating and managing Spacelift resources.
324 lines (323 loc) • 9.16 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
* `spacelift.Stack` combines source code and configuration to create a runtime environment where resources are managed. In this way it's similar to a stack in AWS CloudFormation, or a project on generic CI/CD platforms.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as spacelift from "@pulumi/spacelift";
*
* const k8s-core = spacelift.getStack({
* stackId: "k8s-core",
* });
* ```
*/
export declare function getStack(args: GetStackArgs, opts?: pulumi.InvokeOptions): Promise<GetStackResult>;
/**
* A collection of arguments for invoking getStack.
*/
export interface GetStackArgs {
/**
* Project globs is an optional list of paths to track changes of in addition to the project root.
*/
additionalProjectGlobs?: string[];
/**
* List of after-apply scripts
*/
afterApplies?: string[];
/**
* List of after-destroy scripts
*/
afterDestroys?: string[];
/**
* List of after-init scripts
*/
afterInits?: string[];
/**
* List of after-perform scripts
*/
afterPerforms?: string[];
/**
* List of after-plan scripts
*/
afterPlans?: string[];
/**
* List of after-run scripts
*/
afterRuns?: string[];
/**
* List of before-apply scripts
*/
beforeApplies?: string[];
/**
* List of before-destroy scripts
*/
beforeDestroys?: string[];
/**
* List of before-init scripts
*/
beforeInits?: string[];
/**
* List of before-perform scripts
*/
beforePerforms?: string[];
/**
* List of before-plan scripts
*/
beforePlans?: string[];
/**
* ID (slug) of the stack
*/
stackId: string;
}
/**
* A collection of values returned by getStack.
*/
export interface GetStackResult {
/**
* Project globs is an optional list of paths to track changes of in addition to the project root.
*/
readonly additionalProjectGlobs?: string[];
/**
* indicates whether this stack can administer others
*/
readonly administrative: boolean;
/**
* List of after-apply scripts
*/
readonly afterApplies: string[];
/**
* List of after-destroy scripts
*/
readonly afterDestroys: string[];
/**
* List of after-init scripts
*/
readonly afterInits: string[];
/**
* List of after-perform scripts
*/
readonly afterPerforms: string[];
/**
* List of after-plan scripts
*/
readonly afterPlans: string[];
/**
* List of after-run scripts
*/
readonly afterRuns?: string[];
/**
* Ansible-specific configuration. Presence means this Stack is an Ansible Stack.
*/
readonly ansibles: outputs.GetStackAnsible[];
/**
* indicates whether changes to this stack can be automatically deployed
*/
readonly autodeploy: boolean;
/**
* indicates whether obsolete proposed changes should automatically be retried
*/
readonly autoretry: boolean;
/**
* AWS IAM assume role policy statement setting up trust relationship
*/
readonly awsAssumeRolePolicyStatement: string;
/**
* Azure DevOps VCS settings
*/
readonly azureDevops: outputs.GetStackAzureDevop[];
/**
* List of before-apply scripts
*/
readonly beforeApplies: string[];
/**
* List of before-destroy scripts
*/
readonly beforeDestroys: string[];
/**
* List of before-init scripts
*/
readonly beforeInits: string[];
/**
* List of before-perform scripts
*/
readonly beforePerforms: string[];
/**
* List of before-plan scripts
*/
readonly beforePlans: string[];
/**
* Bitbucket Cloud VCS settings
*/
readonly bitbucketClouds: outputs.GetStackBitbucketCloud[];
/**
* Bitbucket Datacenter VCS settings
*/
readonly bitbucketDatacenters: outputs.GetStackBitbucketDatacenter[];
/**
* Repository branch to treat as the default 'main' branch
*/
readonly branch: string;
/**
* CloudFormation-specific configuration. Presence means this Stack is a CloudFormation Stack.
*/
readonly cloudformations: outputs.GetStackCloudformation[];
/**
* free-form stack description for users
*/
readonly description: string;
/**
* Indicates whether local preview runs can be triggered on this Stack.
*/
readonly enableLocalPreview: boolean;
/**
* GitHub Enterprise (self-hosted) VCS settings
*/
readonly githubEnterprises: outputs.GetStackGithubEnterprise[];
/**
* GitLab VCS settings
*/
readonly gitlabs: outputs.GetStackGitlab[];
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* Kubernetes-specific configuration. Presence means this Stack is a Kubernetes Stack.
*/
readonly kubernetes: outputs.GetStackKubernete[];
readonly labels: string[];
/**
* Determines if Spacelift should manage state for this stack
*/
readonly manageState: boolean;
/**
* Name of the stack - should be unique in one account
*/
readonly name: string;
/**
* Project root is the optional directory relative to the workspace root containing the entrypoint to the Stack.
*/
readonly projectRoot: string;
/**
* Protect this stack from accidental deletion. If set, attempts to delete this stack will fail.
*/
readonly protectFromDeletion: boolean;
/**
* Pulumi-specific configuration. Presence means this Stack is a Pulumi Stack.
*/
readonly pulumis: outputs.GetStackPulumi[];
/**
* One-way VCS integration using a raw Git repository link
*/
readonly rawGits: outputs.GetStackRawGit[];
/**
* Name of the repository, without the owner part
*/
readonly repository: string;
/**
* Name of the Docker image used to process Runs
*/
readonly runnerImage: string;
/**
* Showcase-related attributes
*/
readonly showcases: outputs.GetStackShowcase[];
/**
* ID (slug) of the space the stack is in
*/
readonly spaceId: string;
/**
* ID (slug) of the stack
*/
readonly stackId: string;
/**
* Indicates whether you can access the Stack state file from other stacks or outside of Spacelift.
*/
readonly terraformExternalStateAccess: boolean;
readonly terraformSmartSanitization: boolean;
readonly terraformVersion: string;
/**
* Defines the tool that will be used to execute the workflow. This can be one of `OPEN_TOFU`, `TERRAFORM_FOSS` or `CUSTOM`.
*/
readonly terraformWorkflowTool: string;
readonly terraformWorkspace: string;
/**
* ID of the worker pool to use
*/
readonly workerPoolId: string;
}
/**
* `spacelift.Stack` combines source code and configuration to create a runtime environment where resources are managed. In this way it's similar to a stack in AWS CloudFormation, or a project on generic CI/CD platforms.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as spacelift from "@pulumi/spacelift";
*
* const k8s-core = spacelift.getStack({
* stackId: "k8s-core",
* });
* ```
*/
export declare function getStackOutput(args: GetStackOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetStackResult>;
/**
* A collection of arguments for invoking getStack.
*/
export interface GetStackOutputArgs {
/**
* Project globs is an optional list of paths to track changes of in addition to the project root.
*/
additionalProjectGlobs?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of after-apply scripts
*/
afterApplies?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of after-destroy scripts
*/
afterDestroys?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of after-init scripts
*/
afterInits?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of after-perform scripts
*/
afterPerforms?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of after-plan scripts
*/
afterPlans?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of after-run scripts
*/
afterRuns?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of before-apply scripts
*/
beforeApplies?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of before-destroy scripts
*/
beforeDestroys?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of before-init scripts
*/
beforeInits?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of before-perform scripts
*/
beforePerforms?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of before-plan scripts
*/
beforePlans?: pulumi.Input<pulumi.Input<string>[]>;
/**
* ID (slug) of the stack
*/
stackId: pulumi.Input<string>;
}