import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for managing Workspaces * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@pulumi/harness"; * * const example = new harness.platform.Workspace("example", { * name: "example", * identifier: "example", * orgId: testHarnessPlatformOrganization.id, * projectId: testHarnessPlatformProject.id, * provisionerType: "terraform", * provisionerVersion: "1.5.6", * repository: "https://github.com/org/repo", * repositoryBranch: "main", * repositoryPath: "tf/aws/basic", * costEstimationEnabled: true, * providerConnector: test.id, * repositoryConnector: test.id, * tags: [ * "tag1", * "tag2", * ], * terraformVariables: [ * { * key: "key1", * value: "val1", * valueType: "string", * }, * { * key: "key2", * value: "val2", * valueType: "string", * }, * ], * environmentVariables: [ * { * key: "key1", * value: "val1", * valueType: "string", * }, * { * key: "key2", * value: "val2", * valueType: "string", * }, * ], * terraformVariableFiles: [ * { * repository: "https://github.com/org/repo", * repositoryBranch: "main", * repositoryPath: "tf/gcp/basic", * repositoryConnector: test.id, * }, * { * repository: "https://github.com/org/repo", * repositoryCommit: "v1.0.0", * repositoryPath: "tf/aws/basic", * repositoryConnector: test.id, * }, * { * repository: "https://github.com/org/repo", * repositorySha: "349d90bb9c90f4a3482981c259080de31609e6f6", * repositoryPath: "tf/aws/basic", * repositoryConnector: test.id, * }, * ], * variableSets: [testHarnessPlatformInfraVariableSet.id], * defaultPipelines: { * destroy: "destroy_pipeline_id", * drift: "drift_pipeline_id", * plan: "plan_pipeline_id", * apply: "apply_pipeline_id", * }, * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import harness:platform/workspace:Workspace example // * ``` */ export declare class Workspace extends pulumi.CustomResource { /** * Get an existing Workspace 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, state?: WorkspaceState, opts?: pulumi.CustomResourceOptions): Workspace; /** * Returns true if the given object is an instance of Workspace. 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 Workspace; /** * Provider connectors configured on the Workspace. Only one connector of a type is supported */ readonly connectors: pulumi.Output; /** * Cost estimation enabled determines if cost estimation operations are performed. */ readonly costEstimationEnabled: pulumi.Output; /** * Default pipelines associated with this workspace */ readonly defaultPipelines: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Description of the resource. */ readonly description: pulumi.Output; /** * Environment variables configured on the workspace */ readonly environmentVariables: pulumi.Output; /** * Unique identifier of the resource. */ readonly identifier: pulumi.Output; /** * Name of the resource. */ readonly name: pulumi.Output; /** * Unique identifier of the organization. */ readonly orgId: pulumi.Output; /** * Unique identifier of the project. */ readonly projectId: pulumi.Output; /** * Provider connector is the reference to the connector for the infrastructure provider */ readonly providerConnector: pulumi.Output; /** * Provisioner configuration for awscdk provisioner type. Required when provisionerType is awscdk. */ readonly provisionerConfig: pulumi.Output; /** * Provisioner type defines the provisioning tool to use (terraform or opentofu) */ readonly provisionerType: pulumi.Output; /** * Provisioner version defines the provisioner version to use. The latest version of Opentofu should always be supported, Terraform is only supported up to version 1.5.7. */ readonly provisionerVersion: pulumi.Output; /** * Repository is the name of the repository to fetch the code from. */ readonly repository: pulumi.Output; /** * Repository branch is the name of the branch to fetch the code from. This cannot be set if repository commit or sha is set. */ readonly repositoryBranch: pulumi.Output; /** * Repository commit is tag to fetch the code from. This cannot be set if repository branch or sha is set. */ readonly repositoryCommit: pulumi.Output; /** * Repository connector is the reference to the connector used to fetch the code. */ readonly repositoryConnector: pulumi.Output; /** * Repository path is the path in which the code resides. */ readonly repositoryPath: pulumi.Output; /** * Repository commit is commit SHA to fetch the code from. This cannot be set if repository branch or commit is set. */ readonly repositorySha: pulumi.Output; /** * Boolean flag for run-all terragrunt modules */ readonly runAll: pulumi.Output; /** * Tags to associate with the resource. */ readonly tags: pulumi.Output; /** * Terraform variables files configured on the workspace (see below for nested schema) */ readonly terraformVariableFiles: pulumi.Output; /** * Terraform variables configured on the workspace. Terraform variable keys must be unique within the workspace. (see below for nested schema) */ readonly terraformVariables: pulumi.Output; /** * Set to true to enable Terragrunt mode */ readonly terragruntProvider: pulumi.Output; /** * Terragrunt version to use (e.g., 0.45.0) */ readonly terragruntVersion: pulumi.Output; /** * Variable sets to use. */ readonly variableSets: pulumi.Output; /** * Create a Workspace 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: WorkspaceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Workspace resources. */ export interface WorkspaceState { /** * Provider connectors configured on the Workspace. Only one connector of a type is supported */ connectors?: pulumi.Input[] | undefined>; /** * Cost estimation enabled determines if cost estimation operations are performed. */ costEstimationEnabled?: pulumi.Input; /** * Default pipelines associated with this workspace */ defaultPipelines?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Description of the resource. */ description?: pulumi.Input; /** * Environment variables configured on the workspace */ environmentVariables?: pulumi.Input[] | undefined>; /** * Unique identifier of the resource. */ identifier?: pulumi.Input; /** * Name of the resource. */ name?: pulumi.Input; /** * Unique identifier of the organization. */ orgId?: pulumi.Input; /** * Unique identifier of the project. */ projectId?: pulumi.Input; /** * Provider connector is the reference to the connector for the infrastructure provider */ providerConnector?: pulumi.Input; /** * Provisioner configuration for awscdk provisioner type. Required when provisionerType is awscdk. */ provisionerConfig?: pulumi.Input; /** * Provisioner type defines the provisioning tool to use (terraform or opentofu) */ provisionerType?: pulumi.Input; /** * Provisioner version defines the provisioner version to use. The latest version of Opentofu should always be supported, Terraform is only supported up to version 1.5.7. */ provisionerVersion?: pulumi.Input; /** * Repository is the name of the repository to fetch the code from. */ repository?: pulumi.Input; /** * Repository branch is the name of the branch to fetch the code from. This cannot be set if repository commit or sha is set. */ repositoryBranch?: pulumi.Input; /** * Repository commit is tag to fetch the code from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: pulumi.Input; /** * Repository connector is the reference to the connector used to fetch the code. */ repositoryConnector?: pulumi.Input; /** * Repository path is the path in which the code resides. */ repositoryPath?: pulumi.Input; /** * Repository commit is commit SHA to fetch the code from. This cannot be set if repository branch or commit is set. */ repositorySha?: pulumi.Input; /** * Boolean flag for run-all terragrunt modules */ runAll?: pulumi.Input; /** * Tags to associate with the resource. */ tags?: pulumi.Input[] | undefined>; /** * Terraform variables files configured on the workspace (see below for nested schema) */ terraformVariableFiles?: pulumi.Input[] | undefined>; /** * Terraform variables configured on the workspace. Terraform variable keys must be unique within the workspace. (see below for nested schema) */ terraformVariables?: pulumi.Input[] | undefined>; /** * Set to true to enable Terragrunt mode */ terragruntProvider?: pulumi.Input; /** * Terragrunt version to use (e.g., 0.45.0) */ terragruntVersion?: pulumi.Input; /** * Variable sets to use. */ variableSets?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a Workspace resource. */ export interface WorkspaceArgs { /** * Provider connectors configured on the Workspace. Only one connector of a type is supported */ connectors?: pulumi.Input[] | undefined>; /** * Cost estimation enabled determines if cost estimation operations are performed. */ costEstimationEnabled: pulumi.Input; /** * Default pipelines associated with this workspace */ defaultPipelines?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Description of the resource. */ description?: pulumi.Input; /** * Environment variables configured on the workspace */ environmentVariables?: pulumi.Input[] | undefined>; /** * Unique identifier of the resource. */ identifier: pulumi.Input; /** * Name of the resource. */ name?: pulumi.Input; /** * Unique identifier of the organization. */ orgId: pulumi.Input; /** * Unique identifier of the project. */ projectId: pulumi.Input; /** * Provider connector is the reference to the connector for the infrastructure provider */ providerConnector?: pulumi.Input; /** * Provisioner configuration for awscdk provisioner type. Required when provisionerType is awscdk. */ provisionerConfig?: pulumi.Input; /** * Provisioner type defines the provisioning tool to use (terraform or opentofu) */ provisionerType: pulumi.Input; /** * Provisioner version defines the provisioner version to use. The latest version of Opentofu should always be supported, Terraform is only supported up to version 1.5.7. */ provisionerVersion: pulumi.Input; /** * Repository is the name of the repository to fetch the code from. */ repository: pulumi.Input; /** * Repository branch is the name of the branch to fetch the code from. This cannot be set if repository commit or sha is set. */ repositoryBranch?: pulumi.Input; /** * Repository commit is tag to fetch the code from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: pulumi.Input; /** * Repository connector is the reference to the connector used to fetch the code. */ repositoryConnector: pulumi.Input; /** * Repository path is the path in which the code resides. */ repositoryPath: pulumi.Input; /** * Repository commit is commit SHA to fetch the code from. This cannot be set if repository branch or commit is set. */ repositorySha?: pulumi.Input; /** * Boolean flag for run-all terragrunt modules */ runAll?: pulumi.Input; /** * Tags to associate with the resource. */ tags?: pulumi.Input[] | undefined>; /** * Terraform variables files configured on the workspace (see below for nested schema) */ terraformVariableFiles?: pulumi.Input[] | undefined>; /** * Terraform variables configured on the workspace. Terraform variable keys must be unique within the workspace. (see below for nested schema) */ terraformVariables?: pulumi.Input[] | undefined>; /** * Set to true to enable Terragrunt mode */ terragruntProvider?: pulumi.Input; /** * Terragrunt version to use (e.g., 0.45.0) */ terragruntVersion?: pulumi.Input; /** * Variable sets to use. */ variableSets?: pulumi.Input[] | undefined>; } //# sourceMappingURL=workspace.d.ts.map