@pulumi/pulumiservice
Version:
279 lines (278 loc) • 8.74 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as enums from "../types/enums";
export interface AWSOIDCConfigurationArgs {
/**
* Duration of the assume-role session in “XhYmZs” format
*/
duration?: pulumi.Input<string>;
/**
* Optional set of IAM policy ARNs that further restrict the assume-role session
*/
policyARNs?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The ARN of the role to assume using the OIDC token.
*/
roleARN: pulumi.Input<string>;
/**
* The name of the assume-role session.
*/
sessionName: pulumi.Input<string>;
}
export interface AuthPolicyDefinitionArgs {
/**
* The permission level for organization tokens.
*/
authorizedPermissions?: pulumi.Input<pulumi.Input<enums.AuthPolicyPermissionLevel>[]>;
/**
* The rule type of this policy definition
*/
decision: pulumi.Input<enums.AuthPolicyDecision>;
/**
* OIDC rules to set for this policy.
*/
rules: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The runner ID for deployment runner tokens.
*/
runnerID?: pulumi.Input<string>;
/**
* The team name for team tokens.
*/
teamName?: pulumi.Input<string>;
/**
* The token type for this policy definition
*/
tokenType: pulumi.Input<enums.AuthPolicyTokenType>;
/**
* The user login for personal tokens.
*/
userLogin?: pulumi.Input<string>;
}
export interface AzureOIDCConfigurationArgs {
/**
* The client ID of the federated workload identity.
*/
clientId: pulumi.Input<string>;
/**
* The subscription ID of the federated workload identity.
*/
subscriptionId: pulumi.Input<string>;
/**
* The tenant ID of the federated workload identity.
*/
tenantId: pulumi.Input<string>;
}
/**
* Dependency cache settings for the deployment
*/
export interface DeploymentSettingsCacheOptionsArgs {
/**
* Enable dependency caching
*/
enable?: pulumi.Input<boolean>;
}
/**
* deploymentSettingsCacheOptionsArgsProvideDefaults sets the appropriate defaults for DeploymentSettingsCacheOptionsArgs
*/
export declare function deploymentSettingsCacheOptionsArgsProvideDefaults(val: DeploymentSettingsCacheOptionsArgs): DeploymentSettingsCacheOptionsArgs;
/**
* The executor context defines information about the executor where the deployment is executed. If unspecified, the default 'pulumi/pulumi' image is used.
*/
export interface DeploymentSettingsExecutorContextArgs {
/**
* Allows overriding the default executor image with a custom image. E.g. 'pulumi/pulumi-nodejs:latest'
*/
executorImage: pulumi.Input<string>;
}
/**
* Git source settings for a deployment.
*/
export interface DeploymentSettingsGitAuthBasicAuthArgs {
/**
* Password for git basic authentication.
*/
password: pulumi.Input<string>;
/**
* User name for git basic authentication.
*/
username: pulumi.Input<string>;
}
/**
* Git source settings for a deployment.
*/
export interface DeploymentSettingsGitAuthSSHAuthArgs {
/**
* Optional password for SSH authentication.
*/
password?: pulumi.Input<string>;
/**
* SSH private key.
*/
sshPrivateKey: pulumi.Input<string>;
}
/**
* Git source settings for a deployment.
*/
export interface DeploymentSettingsGitSourceArgs {
/**
* The branch to deploy. One of either `branch` or `commit` must be specified.
*/
branch?: pulumi.Input<string>;
/**
* The commit to deploy. One of either `branch` or `commit` must be specified.
*/
commit?: pulumi.Input<string>;
/**
* Git authentication configuration for this deployment. Should not be specified if there are `gitHub` settings for this deployment.
*/
gitAuth?: pulumi.Input<inputs.DeploymentSettingsGitSourceGitAuthArgs>;
/**
* The directory within the repository where the Pulumi.yaml is located.
*/
repoDir?: pulumi.Input<string>;
/**
* The repository URL to use for git settings. Should not be specified if there are `gitHub` settings for this deployment.
*/
repoUrl?: pulumi.Input<string>;
}
/**
* Git source settings for a deployment.
*/
export interface DeploymentSettingsGitSourceGitAuthArgs {
/**
* Basic auth for git authentication. Only one of `personalAccessToken`, `sshAuth`, or `basicAuth` must be defined.
*/
basicAuth?: pulumi.Input<inputs.DeploymentSettingsGitAuthBasicAuthArgs>;
/**
* SSH auth for git authentication. Only one of `personalAccessToken`, `sshAuth`, or `basicAuth` must be defined.
*/
sshAuth?: pulumi.Input<inputs.DeploymentSettingsGitAuthSSHAuthArgs>;
}
/**
* GitHub settings for the deployment.
*/
export interface DeploymentSettingsGithubArgs {
/**
* Trigger a deployment running `pulumi up` on commit.
*/
deployCommits?: pulumi.Input<boolean>;
/**
* The paths within the repo that deployments should be filtered to.
*/
paths?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Trigger a deployment running `pulumi preview` when a PR is opened.
*/
previewPullRequests?: pulumi.Input<boolean>;
/**
* Use this stack as a template for pull request review stacks.
*/
pullRequestTemplate?: pulumi.Input<boolean>;
/**
* The GitHub repository in the format org/repo.
*/
repository?: pulumi.Input<string>;
}
/**
* deploymentSettingsGithubArgsProvideDefaults sets the appropriate defaults for DeploymentSettingsGithubArgs
*/
export declare function deploymentSettingsGithubArgsProvideDefaults(val: DeploymentSettingsGithubArgs): DeploymentSettingsGithubArgs;
/**
* Settings related to the Pulumi operation environment during the deployment.
*/
export interface DeploymentSettingsOperationContextArgs {
/**
* Environment variables to set for the deployment.
*/
environmentVariables?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* OIDC configuration to use during the deployment.
*/
oidc?: pulumi.Input<inputs.OperationContextOIDCArgs>;
/**
* Options to override default behavior during the deployment.
*/
options?: pulumi.Input<inputs.OperationContextOptionsArgs>;
/**
* Shell commands to run before the Pulumi operation executes.
*/
preRunCommands?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
* Settings related to the source of the deployment.
*/
export interface DeploymentSettingsSourceContextArgs {
/**
* Git source settings for a deployment.
*/
git?: pulumi.Input<inputs.DeploymentSettingsGitSourceArgs>;
}
export interface GCPOIDCConfigurationArgs {
/**
* The numerical ID of the GCP project.
*/
projectId: pulumi.Input<string>;
/**
* The ID of the identity provider associated with the workload pool.
*/
providerId: pulumi.Input<string>;
/**
* The region of the GCP project.
*/
region?: pulumi.Input<string>;
/**
* The email address of the service account to use.
*/
serviceAccount: pulumi.Input<string>;
/**
* The lifetime of the temporary credentials in “XhYmZs” format.
*/
tokenLifetime?: pulumi.Input<string>;
/**
* The ID of the workload pool to use.
*/
workloadPoolId: pulumi.Input<string>;
}
export interface OperationContextOIDCArgs {
/**
* AWS-specific OIDC configuration.
*/
aws?: pulumi.Input<inputs.AWSOIDCConfigurationArgs>;
/**
* Azure-specific OIDC configuration.
*/
azure?: pulumi.Input<inputs.AzureOIDCConfigurationArgs>;
/**
* GCP-specific OIDC configuration.
*/
gcp?: pulumi.Input<inputs.GCPOIDCConfigurationArgs>;
}
export interface OperationContextOptionsArgs {
/**
* Whether the stack should be deleted after it is destroyed.
*/
deleteAfterDestroy?: pulumi.Input<boolean>;
/**
* The shell to use to run commands during the deployment. Defaults to 'bash'.
*/
shell?: pulumi.Input<string>;
/**
* Skip the default dependency installation step - use this to customize the dependency installation (e.g. if using yarn or poetry)
*/
skipInstallDependencies?: pulumi.Input<boolean>;
/**
* Skip intermediate deployments (Consolidate multiple deployments of the same type into one deployment)
*/
skipIntermediateDeployments?: pulumi.Input<boolean>;
}
export interface TemplateSourceDestinationArgs {
/**
* Destination URL that gets filled in on new project creation.
*/
url?: pulumi.Input<string>;
}