1. Packages
  2. Harness Provider
  3. API Docs
  4. platform
  5. Environment
Harness v0.7.1 published on Saturday, Mar 29, 2025 by Pulumi

harness.platform.Environment

Explore with Pulumi AI

Resource for creating a Harness environment.

Example to create Environment at different levels (Org, Project, Account)

Account Level

import * as pulumi from "@pulumi/pulumi";
import * as harness from "@pulumi/harness";

const example = new harness.platform.Environment("example", {
    identifier: "identifier",
    name: "name",
    tags: [
        "foo:bar",
        "bar:foo",
    ],
    type: "PreProduction",
    description: "env description",
    yaml: `environment:
   name: name
   identifier: identifier
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
`,
});
Copy
import pulumi
import pulumi_harness as harness

example = harness.platform.Environment("example",
    identifier="identifier",
    name="name",
    tags=[
        "foo:bar",
        "bar:foo",
    ],
    type="PreProduction",
    description="env description",
    yaml="""environment:
   name: name
   identifier: identifier
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
""")
Copy
package main

import (
	"github.com/pulumi/pulumi-harness/sdk/go/harness/platform"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := platform.NewEnvironment(ctx, "example", &platform.EnvironmentArgs{
			Identifier: pulumi.String("identifier"),
			Name:       pulumi.String("name"),
			Tags: pulumi.StringArray{
				pulumi.String("foo:bar"),
				pulumi.String("bar:foo"),
			},
			Type:        pulumi.String("PreProduction"),
			Description: pulumi.String("env description"),
			Yaml: pulumi.String(`environment:
   name: name
   identifier: identifier
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
`),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Harness = Pulumi.Harness;

return await Deployment.RunAsync(() => 
{
    var example = new Harness.Platform.Environment("example", new()
    {
        Identifier = "identifier",
        Name = "name",
        Tags = new[]
        {
            "foo:bar",
            "bar:foo",
        },
        Type = "PreProduction",
        Description = "env description",
        Yaml = @"environment:
   name: name
   identifier: identifier
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: """"
     - name: envVar2
       type: String
       value: v2
       description: """"
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.harness.platform.Environment;
import com.pulumi.harness.platform.EnvironmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Environment("example", EnvironmentArgs.builder()
            .identifier("identifier")
            .name("name")
            .tags(            
                "foo:bar",
                "bar:foo")
            .type("PreProduction")
            .description("env description")
            .yaml("""
environment:
   name: name
   identifier: identifier
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
            """)
            .build());

    }
}
Copy
resources:
  example:
    type: harness:platform:Environment
    properties:
      identifier: identifier
      name: name
      tags:
        - foo:bar
        - bar:foo
      type: PreProduction
      description: env description
      yaml: |
        environment:
           name: name
           identifier: identifier
           type: PreProduction
           tags:
             foo: bar
             bar: foo
           variables:
             - name: envVar1
               type: String
               value: v1
               description: ""
             - name: envVar2
               type: String
               value: v2
               description: ""
           overrides:
             manifests:
               - manifest:
                   identifier: manifestEnv
                   type: Values
                   spec:
                     store:
                       type: Git
                       spec:
                         connectorRef: <+input>
                         gitFetchType: Branch
                         paths:
                           - file1
                         repoName: <+input>
                         branch: master
             configFiles:
               - configFile:
                   identifier: configFileEnv
                   spec:
                     store:
                       type: Harness
                       spec:
                         files:
                           - account:/Add-ons/svcOverrideTest
                         secretFiles: []        
Copy

Org Level

import * as pulumi from "@pulumi/pulumi";
import * as harness from "@pulumi/harness";

const example = new harness.platform.Environment("example", {
    identifier: "identifier",
    name: "name",
    orgId: "org_id",
    tags: [
        "foo:bar",
        "bar:foo",
    ],
    type: "PreProduction",
    description: "env description",
    yaml: `environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
`,
});
Copy
import pulumi
import pulumi_harness as harness

example = harness.platform.Environment("example",
    identifier="identifier",
    name="name",
    org_id="org_id",
    tags=[
        "foo:bar",
        "bar:foo",
    ],
    type="PreProduction",
    description="env description",
    yaml="""environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
""")
Copy
package main

import (
	"github.com/pulumi/pulumi-harness/sdk/go/harness/platform"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := platform.NewEnvironment(ctx, "example", &platform.EnvironmentArgs{
			Identifier: pulumi.String("identifier"),
			Name:       pulumi.String("name"),
			OrgId:      pulumi.String("org_id"),
			Tags: pulumi.StringArray{
				pulumi.String("foo:bar"),
				pulumi.String("bar:foo"),
			},
			Type:        pulumi.String("PreProduction"),
			Description: pulumi.String("env description"),
			Yaml: pulumi.String(`environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
`),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Harness = Pulumi.Harness;

return await Deployment.RunAsync(() => 
{
    var example = new Harness.Platform.Environment("example", new()
    {
        Identifier = "identifier",
        Name = "name",
        OrgId = "org_id",
        Tags = new[]
        {
            "foo:bar",
            "bar:foo",
        },
        Type = "PreProduction",
        Description = "env description",
        Yaml = @"environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: """"
     - name: envVar2
       type: String
       value: v2
       description: """"
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.harness.platform.Environment;
import com.pulumi.harness.platform.EnvironmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Environment("example", EnvironmentArgs.builder()
            .identifier("identifier")
            .name("name")
            .orgId("org_id")
            .tags(            
                "foo:bar",
                "bar:foo")
            .type("PreProduction")
            .description("env description")
            .yaml("""
environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
            """)
            .build());

    }
}
Copy
resources:
  example:
    type: harness:platform:Environment
    properties:
      identifier: identifier
      name: name
      orgId: org_id
      tags:
        - foo:bar
        - bar:foo
      type: PreProduction
      description: env description
      yaml: |
        environment:
           name: name
           identifier: identifier
           orgIdentifier: org_id
           type: PreProduction
           tags:
             foo: bar
             bar: foo
           variables:
             - name: envVar1
               type: String
               value: v1
               description: ""
             - name: envVar2
               type: String
               value: v2
               description: ""
           overrides:
             manifests:
               - manifest:
                   identifier: manifestEnv
                   type: Values
                   spec:
                     store:
                       type: Git
                       spec:
                         connectorRef: <+input>
                         gitFetchType: Branch
                         paths:
                           - file1
                         repoName: <+input>
                         branch: master
             configFiles:
               - configFile:
                   identifier: configFileEnv
                   spec:
                     store:
                       type: Harness
                       spec:
                         files:
                           - account:/Add-ons/svcOverrideTest
                         secretFiles: []        
Copy

Project Level

import * as pulumi from "@pulumi/pulumi";
import * as harness from "@pulumi/harness";

const example = new harness.platform.Environment("example", {
    identifier: "identifier",
    name: "name",
    orgId: "org_id",
    projectId: "project_id",
    tags: [
        "foo:bar",
        "bar:foo",
    ],
    type: "PreProduction",
    description: "env description",
    yaml: `environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   projectIdentifier: project_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
`,
});
Copy
import pulumi
import pulumi_harness as harness

example = harness.platform.Environment("example",
    identifier="identifier",
    name="name",
    org_id="org_id",
    project_id="project_id",
    tags=[
        "foo:bar",
        "bar:foo",
    ],
    type="PreProduction",
    description="env description",
    yaml="""environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   projectIdentifier: project_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
""")
Copy
package main

import (
	"github.com/pulumi/pulumi-harness/sdk/go/harness/platform"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := platform.NewEnvironment(ctx, "example", &platform.EnvironmentArgs{
			Identifier: pulumi.String("identifier"),
			Name:       pulumi.String("name"),
			OrgId:      pulumi.String("org_id"),
			ProjectId:  pulumi.String("project_id"),
			Tags: pulumi.StringArray{
				pulumi.String("foo:bar"),
				pulumi.String("bar:foo"),
			},
			Type:        pulumi.String("PreProduction"),
			Description: pulumi.String("env description"),
			Yaml: pulumi.String(`environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   projectIdentifier: project_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
`),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Harness = Pulumi.Harness;

return await Deployment.RunAsync(() => 
{
    var example = new Harness.Platform.Environment("example", new()
    {
        Identifier = "identifier",
        Name = "name",
        OrgId = "org_id",
        ProjectId = "project_id",
        Tags = new[]
        {
            "foo:bar",
            "bar:foo",
        },
        Type = "PreProduction",
        Description = "env description",
        Yaml = @"environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   projectIdentifier: project_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: """"
     - name: envVar2
       type: String
       value: v2
       description: """"
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.harness.platform.Environment;
import com.pulumi.harness.platform.EnvironmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Environment("example", EnvironmentArgs.builder()
            .identifier("identifier")
            .name("name")
            .orgId("org_id")
            .projectId("project_id")
            .tags(            
                "foo:bar",
                "bar:foo")
            .type("PreProduction")
            .description("env description")
            .yaml("""
environment:
   name: name
   identifier: identifier
   orgIdentifier: org_id
   projectIdentifier: project_id
   type: PreProduction
   tags:
     foo: bar
     bar: foo
   variables:
     - name: envVar1
       type: String
       value: v1
       description: ""
     - name: envVar2
       type: String
       value: v2
       description: ""
   overrides:
     manifests:
       - manifest:
           identifier: manifestEnv
           type: Values
           spec:
             store:
               type: Git
               spec:
                 connectorRef: <+input>
                 gitFetchType: Branch
                 paths:
                   - file1
                 repoName: <+input>
                 branch: master
     configFiles:
       - configFile:
           identifier: configFileEnv
           spec:
             store:
               type: Harness
               spec:
                 files:
                   - account:/Add-ons/svcOverrideTest
                 secretFiles: []
            """)
            .build());

    }
}
Copy
resources:
  example:
    type: harness:platform:Environment
    properties:
      identifier: identifier
      name: name
      orgId: org_id
      projectId: project_id
      tags:
        - foo:bar
        - bar:foo
      type: PreProduction
      description: env description
      yaml: |
        environment:
           name: name
           identifier: identifier
           orgIdentifier: org_id
           projectIdentifier: project_id
           type: PreProduction
           tags:
             foo: bar
             bar: foo
           variables:
             - name: envVar1
               type: String
               value: v1
               description: ""
             - name: envVar2
               type: String
               value: v2
               description: ""
           overrides:
             manifests:
               - manifest:
                   identifier: manifestEnv
                   type: Values
                   spec:
                     store:
                       type: Git
                       spec:
                         connectorRef: <+input>
                         gitFetchType: Branch
                         paths:
                           - file1
                         repoName: <+input>
                         branch: master
             configFiles:
               - configFile:
                   identifier: configFileEnv
                   spec:
                     store:
                       type: Harness
                       spec:
                         files:
                           - account:/Add-ons/svcOverrideTest
                         secretFiles: []        
Copy

Creating Remote Environment

import * as pulumi from "@pulumi/pulumi";
import * as harness from "@pulumi/harness";

const example = new harness.platform.Environment("example", {
    identifier: "identifier",
    name: "name",
    description: "test",
    orgId: "org_id",
    projectId: "project_id",
    gitDetails: {
        storeType: "REMOTE",
        connectorRef: "connector_ref",
        repoName: "repo_name",
        filePath: "file_path",
        branch: "branch",
    },
    yaml: `environment:
  name: env
  identifier: env
  tags:
    test: ""
  type: PreProduction
  orgIdentifier: default
  projectIdentifier: proj1
  variables:
    - name: var1
      type: String
      value: abc
      description: ""
      required: false
  overrides:
    manifests:
      - manifest:
          identifier: Manifest1
          type: Values
          spec:
            store:
              type: Github
              spec:
                connectorRef: <+input>
                gitFetchType: Branch
                paths:
                  - .harness/
                repoName: <+input>
                branch: <+input>
`,
});
Copy
import pulumi
import pulumi_harness as harness

example = harness.platform.Environment("example",
    identifier="identifier",
    name="name",
    description="test",
    org_id="org_id",
    project_id="project_id",
    git_details={
        "store_type": "REMOTE",
        "connector_ref": "connector_ref",
        "repo_name": "repo_name",
        "file_path": "file_path",
        "branch": "branch",
    },
    yaml="""environment:
  name: env
  identifier: env
  tags:
    test: ""
  type: PreProduction
  orgIdentifier: default
  projectIdentifier: proj1
  variables:
    - name: var1
      type: String
      value: abc
      description: ""
      required: false
  overrides:
    manifests:
      - manifest:
          identifier: Manifest1
          type: Values
          spec:
            store:
              type: Github
              spec:
                connectorRef: <+input>
                gitFetchType: Branch
                paths:
                  - .harness/
                repoName: <+input>
                branch: <+input>
""")
Copy
package main

import (
	"github.com/pulumi/pulumi-harness/sdk/go/harness/platform"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := platform.NewEnvironment(ctx, "example", &platform.EnvironmentArgs{
			Identifier:  pulumi.String("identifier"),
			Name:        pulumi.String("name"),
			Description: pulumi.String("test"),
			OrgId:       pulumi.String("org_id"),
			ProjectId:   pulumi.String("project_id"),
			GitDetails: &platform.EnvironmentGitDetailsArgs{
				StoreType:    pulumi.String("REMOTE"),
				ConnectorRef: pulumi.String("connector_ref"),
				RepoName:     pulumi.String("repo_name"),
				FilePath:     pulumi.String("file_path"),
				Branch:       pulumi.String("branch"),
			},
			Yaml: pulumi.String(`environment:
  name: env
  identifier: env
  tags:
    test: ""
  type: PreProduction
  orgIdentifier: default
  projectIdentifier: proj1
  variables:
    - name: var1
      type: String
      value: abc
      description: ""
      required: false
  overrides:
    manifests:
      - manifest:
          identifier: Manifest1
          type: Values
          spec:
            store:
              type: Github
              spec:
                connectorRef: <+input>
                gitFetchType: Branch
                paths:
                  - .harness/
                repoName: <+input>
                branch: <+input>
`),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Harness = Pulumi.Harness;

return await Deployment.RunAsync(() => 
{
    var example = new Harness.Platform.Environment("example", new()
    {
        Identifier = "identifier",
        Name = "name",
        Description = "test",
        OrgId = "org_id",
        ProjectId = "project_id",
        GitDetails = new Harness.Platform.Inputs.EnvironmentGitDetailsArgs
        {
            StoreType = "REMOTE",
            ConnectorRef = "connector_ref",
            RepoName = "repo_name",
            FilePath = "file_path",
            Branch = "branch",
        },
        Yaml = @"environment:
  name: env
  identifier: env
  tags:
    test: """"
  type: PreProduction
  orgIdentifier: default
  projectIdentifier: proj1
  variables:
    - name: var1
      type: String
      value: abc
      description: """"
      required: false
  overrides:
    manifests:
      - manifest:
          identifier: Manifest1
          type: Values
          spec:
            store:
              type: Github
              spec:
                connectorRef: <+input>
                gitFetchType: Branch
                paths:
                  - .harness/
                repoName: <+input>
                branch: <+input>
",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.harness.platform.Environment;
import com.pulumi.harness.platform.EnvironmentArgs;
import com.pulumi.harness.platform.inputs.EnvironmentGitDetailsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Environment("example", EnvironmentArgs.builder()
            .identifier("identifier")
            .name("name")
            .description("test")
            .orgId("org_id")
            .projectId("project_id")
            .gitDetails(EnvironmentGitDetailsArgs.builder()
                .storeType("REMOTE")
                .connectorRef("connector_ref")
                .repoName("repo_name")
                .filePath("file_path")
                .branch("branch")
                .build())
            .yaml("""
environment:
  name: env
  identifier: env
  tags:
    test: ""
  type: PreProduction
  orgIdentifier: default
  projectIdentifier: proj1
  variables:
    - name: var1
      type: String
      value: abc
      description: ""
      required: false
  overrides:
    manifests:
      - manifest:
          identifier: Manifest1
          type: Values
          spec:
            store:
              type: Github
              spec:
                connectorRef: <+input>
                gitFetchType: Branch
                paths:
                  - .harness/
                repoName: <+input>
                branch: <+input>
            """)
            .build());

    }
}
Copy
resources:
  example:
    type: harness:platform:Environment
    properties:
      identifier: identifier
      name: name
      description: test
      orgId: org_id
      projectId: project_id
      gitDetails:
        storeType: REMOTE
        connectorRef: connector_ref
        repoName: repo_name
        filePath: file_path
        branch: branch
      yaml: |
        environment:
          name: env
          identifier: env
          tags:
            test: ""
          type: PreProduction
          orgIdentifier: default
          projectIdentifier: proj1
          variables:
            - name: var1
              type: String
              value: abc
              description: ""
              required: false
          overrides:
            manifests:
              - manifest:
                  identifier: Manifest1
                  type: Values
                  spec:
                    store:
                      type: Github
                      spec:
                        connectorRef: <+input>
                        gitFetchType: Branch
                        paths:
                          - .harness/
                        repoName: <+input>
                        branch: <+input>        
Copy

Importing Environment From Git

import * as pulumi from "@pulumi/pulumi";
import * as harness from "@pulumi/harness";

const example = new harness.platform.Environment("example", {
    identifier: "identifier",
    name: "name",
    type: "PreProduction",
    gitDetails: {
        storeType: "REMOTE",
        connectorRef: "connector_ref",
        repoName: "repo_name",
        filePath: "file_path",
        branch: "branch",
        importFromGit: true,
    },
});
Copy
import pulumi
import pulumi_harness as harness

example = harness.platform.Environment("example",
    identifier="identifier",
    name="name",
    type="PreProduction",
    git_details={
        "store_type": "REMOTE",
        "connector_ref": "connector_ref",
        "repo_name": "repo_name",
        "file_path": "file_path",
        "branch": "branch",
        "import_from_git": True,
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-harness/sdk/go/harness/platform"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := platform.NewEnvironment(ctx, "example", &platform.EnvironmentArgs{
			Identifier: pulumi.String("identifier"),
			Name:       pulumi.String("name"),
			Type:       pulumi.String("PreProduction"),
			GitDetails: &platform.EnvironmentGitDetailsArgs{
				StoreType:     pulumi.String("REMOTE"),
				ConnectorRef:  pulumi.String("connector_ref"),
				RepoName:      pulumi.String("repo_name"),
				FilePath:      pulumi.String("file_path"),
				Branch:        pulumi.String("branch"),
				ImportFromGit: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Harness = Pulumi.Harness;

return await Deployment.RunAsync(() => 
{
    var example = new Harness.Platform.Environment("example", new()
    {
        Identifier = "identifier",
        Name = "name",
        Type = "PreProduction",
        GitDetails = new Harness.Platform.Inputs.EnvironmentGitDetailsArgs
        {
            StoreType = "REMOTE",
            ConnectorRef = "connector_ref",
            RepoName = "repo_name",
            FilePath = "file_path",
            Branch = "branch",
            ImportFromGit = true,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.harness.platform.Environment;
import com.pulumi.harness.platform.EnvironmentArgs;
import com.pulumi.harness.platform.inputs.EnvironmentGitDetailsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Environment("example", EnvironmentArgs.builder()
            .identifier("identifier")
            .name("name")
            .type("PreProduction")
            .gitDetails(EnvironmentGitDetailsArgs.builder()
                .storeType("REMOTE")
                .connectorRef("connector_ref")
                .repoName("repo_name")
                .filePath("file_path")
                .branch("branch")
                .importFromGit("true")
                .build())
            .build());

    }
}
Copy
resources:
  example:
    type: harness:platform:Environment
    properties:
      identifier: identifier
      name: name
      type: PreProduction
      gitDetails:
        storeType: REMOTE
        connectorRef: connector_ref
        repoName: repo_name
        filePath: file_path
        branch: branch
        importFromGit: 'true'
Copy

Create Environment Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Environment(name: string, args: EnvironmentArgs, opts?: CustomResourceOptions);
@overload
def Environment(resource_name: str,
                args: EnvironmentArgs,
                opts: Optional[ResourceOptions] = None)

@overload
def Environment(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                identifier: Optional[str] = None,
                type: Optional[str] = None,
                color: Optional[str] = None,
                description: Optional[str] = None,
                force_delete: Optional[bool] = None,
                git_details: Optional[EnvironmentGitDetailsArgs] = None,
                name: Optional[str] = None,
                org_id: Optional[str] = None,
                project_id: Optional[str] = None,
                tags: Optional[Sequence[str]] = None,
                yaml: Optional[str] = None)
func NewEnvironment(ctx *Context, name string, args EnvironmentArgs, opts ...ResourceOption) (*Environment, error)
public Environment(string name, EnvironmentArgs args, CustomResourceOptions? opts = null)
public Environment(String name, EnvironmentArgs args)
public Environment(String name, EnvironmentArgs args, CustomResourceOptions options)
type: harness:platform:Environment
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. EnvironmentArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. EnvironmentArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. EnvironmentArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. EnvironmentArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. EnvironmentArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var harnessEnvironmentResource = new Harness.Platform.Environment("harnessEnvironmentResource", new()
{
    Identifier = "string",
    Type = "string",
    Color = "string",
    Description = "string",
    ForceDelete = false,
    GitDetails = new Harness.Platform.Inputs.EnvironmentGitDetailsArgs
    {
        BaseBranch = "string",
        Branch = "string",
        CommitMessage = "string",
        ConnectorRef = "string",
        FilePath = "string",
        ImportFromGit = false,
        IsForceImport = false,
        IsHarnesscodeRepo = false,
        IsNewBranch = false,
        LastCommitId = "string",
        LastObjectId = "string",
        LoadFromCache = "string",
        LoadFromFallbackBranch = false,
        ParentEntityConnectorRef = "string",
        ParentEntityRepoName = "string",
        RepoName = "string",
        StoreType = "string",
    },
    Name = "string",
    OrgId = "string",
    ProjectId = "string",
    Tags = new[]
    {
        "string",
    },
    Yaml = "string",
});
Copy
example, err := platform.NewEnvironment(ctx, "harnessEnvironmentResource", &platform.EnvironmentArgs{
	Identifier:  pulumi.String("string"),
	Type:        pulumi.String("string"),
	Color:       pulumi.String("string"),
	Description: pulumi.String("string"),
	ForceDelete: pulumi.Bool(false),
	GitDetails: &platform.EnvironmentGitDetailsArgs{
		BaseBranch:               pulumi.String("string"),
		Branch:                   pulumi.String("string"),
		CommitMessage:            pulumi.String("string"),
		ConnectorRef:             pulumi.String("string"),
		FilePath:                 pulumi.String("string"),
		ImportFromGit:            pulumi.Bool(false),
		IsForceImport:            pulumi.Bool(false),
		IsHarnesscodeRepo:        pulumi.Bool(false),
		IsNewBranch:              pulumi.Bool(false),
		LastCommitId:             pulumi.String("string"),
		LastObjectId:             pulumi.String("string"),
		LoadFromCache:            pulumi.String("string"),
		LoadFromFallbackBranch:   pulumi.Bool(false),
		ParentEntityConnectorRef: pulumi.String("string"),
		ParentEntityRepoName:     pulumi.String("string"),
		RepoName:                 pulumi.String("string"),
		StoreType:                pulumi.String("string"),
	},
	Name:      pulumi.String("string"),
	OrgId:     pulumi.String("string"),
	ProjectId: pulumi.String("string"),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	Yaml: pulumi.String("string"),
})
Copy
var harnessEnvironmentResource = new Environment("harnessEnvironmentResource", EnvironmentArgs.builder()
    .identifier("string")
    .type("string")
    .color("string")
    .description("string")
    .forceDelete(false)
    .gitDetails(EnvironmentGitDetailsArgs.builder()
        .baseBranch("string")
        .branch("string")
        .commitMessage("string")
        .connectorRef("string")
        .filePath("string")
        .importFromGit(false)
        .isForceImport(false)
        .isHarnesscodeRepo(false)
        .isNewBranch(false)
        .lastCommitId("string")
        .lastObjectId("string")
        .loadFromCache("string")
        .loadFromFallbackBranch(false)
        .parentEntityConnectorRef("string")
        .parentEntityRepoName("string")
        .repoName("string")
        .storeType("string")
        .build())
    .name("string")
    .orgId("string")
    .projectId("string")
    .tags("string")
    .yaml("string")
    .build());
Copy
harness_environment_resource = harness.platform.Environment("harnessEnvironmentResource",
    identifier="string",
    type="string",
    color="string",
    description="string",
    force_delete=False,
    git_details={
        "base_branch": "string",
        "branch": "string",
        "commit_message": "string",
        "connector_ref": "string",
        "file_path": "string",
        "import_from_git": False,
        "is_force_import": False,
        "is_harnesscode_repo": False,
        "is_new_branch": False,
        "last_commit_id": "string",
        "last_object_id": "string",
        "load_from_cache": "string",
        "load_from_fallback_branch": False,
        "parent_entity_connector_ref": "string",
        "parent_entity_repo_name": "string",
        "repo_name": "string",
        "store_type": "string",
    },
    name="string",
    org_id="string",
    project_id="string",
    tags=["string"],
    yaml="string")
Copy
const harnessEnvironmentResource = new harness.platform.Environment("harnessEnvironmentResource", {
    identifier: "string",
    type: "string",
    color: "string",
    description: "string",
    forceDelete: false,
    gitDetails: {
        baseBranch: "string",
        branch: "string",
        commitMessage: "string",
        connectorRef: "string",
        filePath: "string",
        importFromGit: false,
        isForceImport: false,
        isHarnesscodeRepo: false,
        isNewBranch: false,
        lastCommitId: "string",
        lastObjectId: "string",
        loadFromCache: "string",
        loadFromFallbackBranch: false,
        parentEntityConnectorRef: "string",
        parentEntityRepoName: "string",
        repoName: "string",
        storeType: "string",
    },
    name: "string",
    orgId: "string",
    projectId: "string",
    tags: ["string"],
    yaml: "string",
});
Copy
type: harness:platform:Environment
properties:
    color: string
    description: string
    forceDelete: false
    gitDetails:
        baseBranch: string
        branch: string
        commitMessage: string
        connectorRef: string
        filePath: string
        importFromGit: false
        isForceImport: false
        isHarnesscodeRepo: false
        isNewBranch: false
        lastCommitId: string
        lastObjectId: string
        loadFromCache: string
        loadFromFallbackBranch: false
        parentEntityConnectorRef: string
        parentEntityRepoName: string
        repoName: string
        storeType: string
    identifier: string
    name: string
    orgId: string
    projectId: string
    tags:
        - string
    type: string
    yaml: string
Copy

Environment Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Environment resource accepts the following input properties:

Identifier
This property is required.
Changes to this property will trigger replacement.
string
Unique identifier of the resource.
Type This property is required. string
The type of environment. Valid values are PreProduction, Production
Color string
Color of the environment.
Description string
Description of the resource.
ForceDelete bool
When set to true, enables force deletion of environments.
GitDetails EnvironmentGitDetails
Contains Git Information for remote entities from Git for Create/Update/Import
Name string
Name of the resource.
OrgId string
Unique identifier of the organization.
ProjectId string
Unique identifier of the project.
Tags List<string>
Tags to associate with the resource.
Yaml string
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
Identifier
This property is required.
Changes to this property will trigger replacement.
string
Unique identifier of the resource.
Type This property is required. string
The type of environment. Valid values are PreProduction, Production
Color string
Color of the environment.
Description string
Description of the resource.
ForceDelete bool
When set to true, enables force deletion of environments.
GitDetails EnvironmentGitDetailsArgs
Contains Git Information for remote entities from Git for Create/Update/Import
Name string
Name of the resource.
OrgId string
Unique identifier of the organization.
ProjectId string
Unique identifier of the project.
Tags []string
Tags to associate with the resource.
Yaml string
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
identifier
This property is required.
Changes to this property will trigger replacement.
String
Unique identifier of the resource.
type This property is required. String
The type of environment. Valid values are PreProduction, Production
color String
Color of the environment.
description String
Description of the resource.
forceDelete Boolean
When set to true, enables force deletion of environments.
gitDetails EnvironmentGitDetails
Contains Git Information for remote entities from Git for Create/Update/Import
name String
Name of the resource.
orgId String
Unique identifier of the organization.
projectId String
Unique identifier of the project.
tags List<String>
Tags to associate with the resource.
yaml String
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
identifier
This property is required.
Changes to this property will trigger replacement.
string
Unique identifier of the resource.
type This property is required. string
The type of environment. Valid values are PreProduction, Production
color string
Color of the environment.
description string
Description of the resource.
forceDelete boolean
When set to true, enables force deletion of environments.
gitDetails EnvironmentGitDetails
Contains Git Information for remote entities from Git for Create/Update/Import
name string
Name of the resource.
orgId string
Unique identifier of the organization.
projectId string
Unique identifier of the project.
tags string[]
Tags to associate with the resource.
yaml string
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
identifier
This property is required.
Changes to this property will trigger replacement.
str
Unique identifier of the resource.
type This property is required. str
The type of environment. Valid values are PreProduction, Production
color str
Color of the environment.
description str
Description of the resource.
force_delete bool
When set to true, enables force deletion of environments.
git_details EnvironmentGitDetailsArgs
Contains Git Information for remote entities from Git for Create/Update/Import
name str
Name of the resource.
org_id str
Unique identifier of the organization.
project_id str
Unique identifier of the project.
tags Sequence[str]
Tags to associate with the resource.
yaml str
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
identifier
This property is required.
Changes to this property will trigger replacement.
String
Unique identifier of the resource.
type This property is required. String
The type of environment. Valid values are PreProduction, Production
color String
Color of the environment.
description String
Description of the resource.
forceDelete Boolean
When set to true, enables force deletion of environments.
gitDetails Property Map
Contains Git Information for remote entities from Git for Create/Update/Import
name String
Name of the resource.
orgId String
Unique identifier of the organization.
projectId String
Unique identifier of the project.
tags List<String>
Tags to associate with the resource.
yaml String
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.

Outputs

All input properties are implicitly available as output properties. Additionally, the Environment resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing Environment Resource

Get an existing Environment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: EnvironmentState, opts?: CustomResourceOptions): Environment
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        color: Optional[str] = None,
        description: Optional[str] = None,
        force_delete: Optional[bool] = None,
        git_details: Optional[EnvironmentGitDetailsArgs] = None,
        identifier: Optional[str] = None,
        name: Optional[str] = None,
        org_id: Optional[str] = None,
        project_id: Optional[str] = None,
        tags: Optional[Sequence[str]] = None,
        type: Optional[str] = None,
        yaml: Optional[str] = None) -> Environment
func GetEnvironment(ctx *Context, name string, id IDInput, state *EnvironmentState, opts ...ResourceOption) (*Environment, error)
public static Environment Get(string name, Input<string> id, EnvironmentState? state, CustomResourceOptions? opts = null)
public static Environment get(String name, Output<String> id, EnvironmentState state, CustomResourceOptions options)
resources:  _:    type: harness:platform:Environment    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Color string
Color of the environment.
Description string
Description of the resource.
ForceDelete bool
When set to true, enables force deletion of environments.
GitDetails EnvironmentGitDetails
Contains Git Information for remote entities from Git for Create/Update/Import
Identifier Changes to this property will trigger replacement. string
Unique identifier of the resource.
Name string
Name of the resource.
OrgId string
Unique identifier of the organization.
ProjectId string
Unique identifier of the project.
Tags List<string>
Tags to associate with the resource.
Type string
The type of environment. Valid values are PreProduction, Production
Yaml string
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
Color string
Color of the environment.
Description string
Description of the resource.
ForceDelete bool
When set to true, enables force deletion of environments.
GitDetails EnvironmentGitDetailsArgs
Contains Git Information for remote entities from Git for Create/Update/Import
Identifier Changes to this property will trigger replacement. string
Unique identifier of the resource.
Name string
Name of the resource.
OrgId string
Unique identifier of the organization.
ProjectId string
Unique identifier of the project.
Tags []string
Tags to associate with the resource.
Type string
The type of environment. Valid values are PreProduction, Production
Yaml string
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
color String
Color of the environment.
description String
Description of the resource.
forceDelete Boolean
When set to true, enables force deletion of environments.
gitDetails EnvironmentGitDetails
Contains Git Information for remote entities from Git for Create/Update/Import
identifier Changes to this property will trigger replacement. String
Unique identifier of the resource.
name String
Name of the resource.
orgId String
Unique identifier of the organization.
projectId String
Unique identifier of the project.
tags List<String>
Tags to associate with the resource.
type String
The type of environment. Valid values are PreProduction, Production
yaml String
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
color string
Color of the environment.
description string
Description of the resource.
forceDelete boolean
When set to true, enables force deletion of environments.
gitDetails EnvironmentGitDetails
Contains Git Information for remote entities from Git for Create/Update/Import
identifier Changes to this property will trigger replacement. string
Unique identifier of the resource.
name string
Name of the resource.
orgId string
Unique identifier of the organization.
projectId string
Unique identifier of the project.
tags string[]
Tags to associate with the resource.
type string
The type of environment. Valid values are PreProduction, Production
yaml string
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
color str
Color of the environment.
description str
Description of the resource.
force_delete bool
When set to true, enables force deletion of environments.
git_details EnvironmentGitDetailsArgs
Contains Git Information for remote entities from Git for Create/Update/Import
identifier Changes to this property will trigger replacement. str
Unique identifier of the resource.
name str
Name of the resource.
org_id str
Unique identifier of the organization.
project_id str
Unique identifier of the project.
tags Sequence[str]
Tags to associate with the resource.
type str
The type of environment. Valid values are PreProduction, Production
yaml str
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.
color String
Color of the environment.
description String
Description of the resource.
forceDelete Boolean
When set to true, enables force deletion of environments.
gitDetails Property Map
Contains Git Information for remote entities from Git for Create/Update/Import
identifier Changes to this property will trigger replacement. String
Unique identifier of the resource.
name String
Name of the resource.
orgId String
Unique identifier of the organization.
projectId String
Unique identifier of the project.
tags List<String>
Tags to associate with the resource.
type String
The type of environment. Valid values are PreProduction, Production
yaml String
Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org. connectorId.

Supporting Types

EnvironmentGitDetails
, EnvironmentGitDetailsArgs

BaseBranch string
Name of the default branch (this checks out a new branch titled by branch_name).
Branch string
Name of the branch.
CommitMessage string
message for the commit in Git Repo.
ConnectorRef string
Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
FilePath string
File path of the Entity in the repository.
ImportFromGit bool
Flag to set if importing from Git
IsForceImport bool
Flag to set if force importing from Git
IsHarnesscodeRepo bool
If the gitProvider is HarnessCode
IsNewBranch bool
If a new branch creation is requested.
LastCommitId string
Last commit identifier (for Git Repositories other than Github). To be provided only when updating Environment.
LastObjectId string
Last object identifier (for Github). To be provided only when updating Environment.
LoadFromCache string
If the Entity is to be fetched from cache
LoadFromFallbackBranch bool
Whether the file has to be get from fallback_branch.
ParentEntityConnectorRef string
Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
ParentEntityRepoName string
Name of the repository where parent entity lies.
RepoName string
Name of the repository.
StoreType string
store type of the entity.
BaseBranch string
Name of the default branch (this checks out a new branch titled by branch_name).
Branch string
Name of the branch.
CommitMessage string
message for the commit in Git Repo.
ConnectorRef string
Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
FilePath string
File path of the Entity in the repository.
ImportFromGit bool
Flag to set if importing from Git
IsForceImport bool
Flag to set if force importing from Git
IsHarnesscodeRepo bool
If the gitProvider is HarnessCode
IsNewBranch bool
If a new branch creation is requested.
LastCommitId string
Last commit identifier (for Git Repositories other than Github). To be provided only when updating Environment.
LastObjectId string
Last object identifier (for Github). To be provided only when updating Environment.
LoadFromCache string
If the Entity is to be fetched from cache
LoadFromFallbackBranch bool
Whether the file has to be get from fallback_branch.
ParentEntityConnectorRef string
Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
ParentEntityRepoName string
Name of the repository where parent entity lies.
RepoName string
Name of the repository.
StoreType string
store type of the entity.
baseBranch String
Name of the default branch (this checks out a new branch titled by branch_name).
branch String
Name of the branch.
commitMessage String
message for the commit in Git Repo.
connectorRef String
Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
filePath String
File path of the Entity in the repository.
importFromGit Boolean
Flag to set if importing from Git
isForceImport Boolean
Flag to set if force importing from Git
isHarnesscodeRepo Boolean
If the gitProvider is HarnessCode
isNewBranch Boolean
If a new branch creation is requested.
lastCommitId String
Last commit identifier (for Git Repositories other than Github). To be provided only when updating Environment.
lastObjectId String
Last object identifier (for Github). To be provided only when updating Environment.
loadFromCache String
If the Entity is to be fetched from cache
loadFromFallbackBranch Boolean
Whether the file has to be get from fallback_branch.
parentEntityConnectorRef String
Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
parentEntityRepoName String
Name of the repository where parent entity lies.
repoName String
Name of the repository.
storeType String
store type of the entity.
baseBranch string
Name of the default branch (this checks out a new branch titled by branch_name).
branch string
Name of the branch.
commitMessage string
message for the commit in Git Repo.
connectorRef string
Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
filePath string
File path of the Entity in the repository.
importFromGit boolean
Flag to set if importing from Git
isForceImport boolean
Flag to set if force importing from Git
isHarnesscodeRepo boolean
If the gitProvider is HarnessCode
isNewBranch boolean
If a new branch creation is requested.
lastCommitId string
Last commit identifier (for Git Repositories other than Github). To be provided only when updating Environment.
lastObjectId string
Last object identifier (for Github). To be provided only when updating Environment.
loadFromCache string
If the Entity is to be fetched from cache
loadFromFallbackBranch boolean
Whether the file has to be get from fallback_branch.
parentEntityConnectorRef string
Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
parentEntityRepoName string
Name of the repository where parent entity lies.
repoName string
Name of the repository.
storeType string
store type of the entity.
base_branch str
Name of the default branch (this checks out a new branch titled by branch_name).
branch str
Name of the branch.
commit_message str
message for the commit in Git Repo.
connector_ref str
Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
file_path str
File path of the Entity in the repository.
import_from_git bool
Flag to set if importing from Git
is_force_import bool
Flag to set if force importing from Git
is_harnesscode_repo bool
If the gitProvider is HarnessCode
is_new_branch bool
If a new branch creation is requested.
last_commit_id str
Last commit identifier (for Git Repositories other than Github). To be provided only when updating Environment.
last_object_id str
Last object identifier (for Github). To be provided only when updating Environment.
load_from_cache str
If the Entity is to be fetched from cache
load_from_fallback_branch bool
Whether the file has to be get from fallback_branch.
parent_entity_connector_ref str
Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
parent_entity_repo_name str
Name of the repository where parent entity lies.
repo_name str
Name of the repository.
store_type str
store type of the entity.
baseBranch String
Name of the default branch (this checks out a new branch titled by branch_name).
branch String
Name of the branch.
commitMessage String
message for the commit in Git Repo.
connectorRef String
Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
filePath String
File path of the Entity in the repository.
importFromGit Boolean
Flag to set if importing from Git
isForceImport Boolean
Flag to set if force importing from Git
isHarnesscodeRepo Boolean
If the gitProvider is HarnessCode
isNewBranch Boolean
If a new branch creation is requested.
lastCommitId String
Last commit identifier (for Git Repositories other than Github). To be provided only when updating Environment.
lastObjectId String
Last object identifier (for Github). To be provided only when updating Environment.
loadFromCache String
If the Entity is to be fetched from cache
loadFromFallbackBranch Boolean
Whether the file has to be get from fallback_branch.
parentEntityConnectorRef String
Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}.
parentEntityRepoName String
Name of the repository where parent entity lies.
repoName String
Name of the repository.
storeType String
store type of the entity.

Import

Import account level environment id

$ pulumi import harness:platform/environment:Environment example <environment_id>
Copy

Import org level environment id

$ pulumi import harness:platform/environment:Environment example <org_id>/<environment_id>
Copy

Import project level environment id

$ pulumi import harness:platform/environment:Environment example <org_id>/<project_id>/<environment_id>
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
harness pulumi/pulumi-harness
License
Apache-2.0
Notes
This Pulumi package is based on the harness Terraform Provider.