UNPKG

@pulumi/pulumiservice

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