1. Packages
  2. Packages
  3. Harness Provider
  4. API Docs
  5. chaos
  6. Experiment
Viewing docs for Harness v0.12.0
published on Tuesday, Apr 21, 2026 by Pulumi
harness logo
Viewing docs for Harness v0.12.0
published on Tuesday, Apr 21, 2026 by Pulumi

    Resource for creating chaos experiments from experiment templates.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as harness from "@pulumi/harness";
    
    // ============================================================================
    // Harness Chaos Experiment Resource Examples
    // ============================================================================
    //
    // Chaos Experiments are INSTANCES created FROM Experiment Templates.
    // These examples are based on TESTED configurations from the e2e-test suite.
    //
    // Key Points:
    // - Experiments are created by "launching" an experiment template
    // - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)
    // - Hub scope can be different from experiment scope (cross-scope support)
    // - import_type: "REFERENCE" (default) or "LOCAL" (full copy)
    // ============================================================================
    // ----------------------------------------------------------------------------
    // Example 1: Basic Experiment with REFERENCE Import
    // ----------------------------------------------------------------------------
    // Most common pattern: project-level experiment from project-level template
    const basic = new harness.chaos.Experiment("basic", {
        orgId: "my_org",
        projectId: "my_project",
        hubOrgId: "my_org",
        hubProjectId: "my_project",
        hubIdentity: "my-chaos-hub",
        templateIdentity: "my-template",
        infraRef: "my-env/my-infra",
        name: "My Chaos Experiment",
        identity: "my-chaos-experiment",
        description: "Basic chaos experiment with REFERENCE import",
        importType: "REFERENCE",
        tags: [
            "chaos",
            "kubernetes",
            "resilience",
        ],
    }, {
        dependsOn: [
            myTemplate,
            myInfra,
        ],
    });
    // ----------------------------------------------------------------------------
    // Example 2: Experiment with LOCAL Import
    // ----------------------------------------------------------------------------
    // LOCAL import creates a full copy - independent of template changes
    const localCopy = new harness.chaos.Experiment("local_copy", {
        orgId: "my_org",
        projectId: "my_project",
        hubOrgId: "my_org",
        hubProjectId: "my_project",
        hubIdentity: "my-chaos-hub",
        templateIdentity: "my-template",
        infraRef: "my-env/my-infra",
        name: "My Independent Experiment",
        identity: "my-independent-experiment",
        description: "Experiment with LOCAL import (independent copy)",
        importType: "LOCAL",
        tags: [
            "chaos",
            "local",
            "independent",
        ],
    }, {
        dependsOn: [
            myTemplate,
            myInfra,
        ],
    });
    // ----------------------------------------------------------------------------
    // Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)
    // ----------------------------------------------------------------------------
    // Create project experiment from org-level template (cross-scope)
    const crossScope = new harness.chaos.Experiment("cross_scope", {
        orgId: "my_org",
        projectId: "my_project",
        hubOrgId: "my_org",
        hubIdentity: "my-chaos-hub",
        templateIdentity: "my-template",
        infraRef: "my-env/my-infra",
        name: "Cross-Scope Experiment",
        identity: "cross-scope-experiment",
        description: "Project experiment from org-level template",
        importType: "REFERENCE",
        tags: [
            "chaos",
            "cross-scope",
            "org-template",
        ],
    }, {
        dependsOn: [
            orgTemplate,
            myInfra,
        ],
    });
    
    import pulumi
    import pulumi_harness as harness
    
    # ============================================================================
    # Harness Chaos Experiment Resource Examples
    # ============================================================================
    #
    # Chaos Experiments are INSTANCES created FROM Experiment Templates.
    # These examples are based on TESTED configurations from the e2e-test suite.
    #
    # Key Points:
    # - Experiments are created by "launching" an experiment template
    # - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)
    # - Hub scope can be different from experiment scope (cross-scope support)
    # - import_type: "REFERENCE" (default) or "LOCAL" (full copy)
    # ============================================================================
    # ----------------------------------------------------------------------------
    # Example 1: Basic Experiment with REFERENCE Import
    # ----------------------------------------------------------------------------
    # Most common pattern: project-level experiment from project-level template
    basic = harness.chaos.Experiment("basic",
        org_id="my_org",
        project_id="my_project",
        hub_org_id="my_org",
        hub_project_id="my_project",
        hub_identity="my-chaos-hub",
        template_identity="my-template",
        infra_ref="my-env/my-infra",
        name="My Chaos Experiment",
        identity="my-chaos-experiment",
        description="Basic chaos experiment with REFERENCE import",
        import_type="REFERENCE",
        tags=[
            "chaos",
            "kubernetes",
            "resilience",
        ],
        opts = pulumi.ResourceOptions(depends_on=[
                my_template,
                my_infra,
            ]))
    # ----------------------------------------------------------------------------
    # Example 2: Experiment with LOCAL Import
    # ----------------------------------------------------------------------------
    # LOCAL import creates a full copy - independent of template changes
    local_copy = harness.chaos.Experiment("local_copy",
        org_id="my_org",
        project_id="my_project",
        hub_org_id="my_org",
        hub_project_id="my_project",
        hub_identity="my-chaos-hub",
        template_identity="my-template",
        infra_ref="my-env/my-infra",
        name="My Independent Experiment",
        identity="my-independent-experiment",
        description="Experiment with LOCAL import (independent copy)",
        import_type="LOCAL",
        tags=[
            "chaos",
            "local",
            "independent",
        ],
        opts = pulumi.ResourceOptions(depends_on=[
                my_template,
                my_infra,
            ]))
    # ----------------------------------------------------------------------------
    # Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)
    # ----------------------------------------------------------------------------
    # Create project experiment from org-level template (cross-scope)
    cross_scope = harness.chaos.Experiment("cross_scope",
        org_id="my_org",
        project_id="my_project",
        hub_org_id="my_org",
        hub_identity="my-chaos-hub",
        template_identity="my-template",
        infra_ref="my-env/my-infra",
        name="Cross-Scope Experiment",
        identity="cross-scope-experiment",
        description="Project experiment from org-level template",
        import_type="REFERENCE",
        tags=[
            "chaos",
            "cross-scope",
            "org-template",
        ],
        opts = pulumi.ResourceOptions(depends_on=[
                org_template,
                my_infra,
            ]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// ============================================================================
    		// Harness Chaos Experiment Resource Examples
    		// ============================================================================
    		//
    		// Chaos Experiments are INSTANCES created FROM Experiment Templates.
    		// These examples are based on TESTED configurations from the e2e-test suite.
    		//
    		// Key Points:
    		// - Experiments are created by "launching" an experiment template
    		// - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)
    		// - Hub scope can be different from experiment scope (cross-scope support)
    		// - import_type: "REFERENCE" (default) or "LOCAL" (full copy)
    		// ============================================================================
    		// ----------------------------------------------------------------------------
    		// Example 1: Basic Experiment with REFERENCE Import
    		// ----------------------------------------------------------------------------
    		// Most common pattern: project-level experiment from project-level template
    		_, err := chaos.NewExperiment(ctx, "basic", &chaos.ExperimentArgs{
    			OrgId:            pulumi.String("my_org"),
    			ProjectId:        pulumi.String("my_project"),
    			HubOrgId:         pulumi.String("my_org"),
    			HubProjectId:     pulumi.String("my_project"),
    			HubIdentity:      pulumi.String("my-chaos-hub"),
    			TemplateIdentity: pulumi.String("my-template"),
    			InfraRef:         pulumi.String("my-env/my-infra"),
    			Name:             pulumi.String("My Chaos Experiment"),
    			Identity:         pulumi.String("my-chaos-experiment"),
    			Description:      pulumi.String("Basic chaos experiment with REFERENCE import"),
    			ImportType:       pulumi.String("REFERENCE"),
    			Tags: pulumi.StringArray{
    				pulumi.String("chaos"),
    				pulumi.String("kubernetes"),
    				pulumi.String("resilience"),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			myTemplate,
    			myInfra,
    		}))
    		if err != nil {
    			return err
    		}
    		// ----------------------------------------------------------------------------
    		// Example 2: Experiment with LOCAL Import
    		// ----------------------------------------------------------------------------
    		// LOCAL import creates a full copy - independent of template changes
    		_, err = chaos.NewExperiment(ctx, "local_copy", &chaos.ExperimentArgs{
    			OrgId:            pulumi.String("my_org"),
    			ProjectId:        pulumi.String("my_project"),
    			HubOrgId:         pulumi.String("my_org"),
    			HubProjectId:     pulumi.String("my_project"),
    			HubIdentity:      pulumi.String("my-chaos-hub"),
    			TemplateIdentity: pulumi.String("my-template"),
    			InfraRef:         pulumi.String("my-env/my-infra"),
    			Name:             pulumi.String("My Independent Experiment"),
    			Identity:         pulumi.String("my-independent-experiment"),
    			Description:      pulumi.String("Experiment with LOCAL import (independent copy)"),
    			ImportType:       pulumi.String("LOCAL"),
    			Tags: pulumi.StringArray{
    				pulumi.String("chaos"),
    				pulumi.String("local"),
    				pulumi.String("independent"),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			myTemplate,
    			myInfra,
    		}))
    		if err != nil {
    			return err
    		}
    		// ----------------------------------------------------------------------------
    		// Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)
    		// ----------------------------------------------------------------------------
    		// Create project experiment from org-level template (cross-scope)
    		_, err = chaos.NewExperiment(ctx, "cross_scope", &chaos.ExperimentArgs{
    			OrgId:            pulumi.String("my_org"),
    			ProjectId:        pulumi.String("my_project"),
    			HubOrgId:         pulumi.String("my_org"),
    			HubIdentity:      pulumi.String("my-chaos-hub"),
    			TemplateIdentity: pulumi.String("my-template"),
    			InfraRef:         pulumi.String("my-env/my-infra"),
    			Name:             pulumi.String("Cross-Scope Experiment"),
    			Identity:         pulumi.String("cross-scope-experiment"),
    			Description:      pulumi.String("Project experiment from org-level template"),
    			ImportType:       pulumi.String("REFERENCE"),
    			Tags: pulumi.StringArray{
    				pulumi.String("chaos"),
    				pulumi.String("cross-scope"),
    				pulumi.String("org-template"),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			orgTemplate,
    			myInfra,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Harness = Pulumi.Harness;
    
    return await Deployment.RunAsync(() => 
    {
        // ============================================================================
        // Harness Chaos Experiment Resource Examples
        // ============================================================================
        //
        // Chaos Experiments are INSTANCES created FROM Experiment Templates.
        // These examples are based on TESTED configurations from the e2e-test suite.
        //
        // Key Points:
        // - Experiments are created by "launching" an experiment template
        // - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)
        // - Hub scope can be different from experiment scope (cross-scope support)
        // - import_type: "REFERENCE" (default) or "LOCAL" (full copy)
        // ============================================================================
        // ----------------------------------------------------------------------------
        // Example 1: Basic Experiment with REFERENCE Import
        // ----------------------------------------------------------------------------
        // Most common pattern: project-level experiment from project-level template
        var basic = new Harness.Chaos.Experiment("basic", new()
        {
            OrgId = "my_org",
            ProjectId = "my_project",
            HubOrgId = "my_org",
            HubProjectId = "my_project",
            HubIdentity = "my-chaos-hub",
            TemplateIdentity = "my-template",
            InfraRef = "my-env/my-infra",
            Name = "My Chaos Experiment",
            Identity = "my-chaos-experiment",
            Description = "Basic chaos experiment with REFERENCE import",
            ImportType = "REFERENCE",
            Tags = new[]
            {
                "chaos",
                "kubernetes",
                "resilience",
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                myTemplate,
                myInfra,
            },
        });
    
        // ----------------------------------------------------------------------------
        // Example 2: Experiment with LOCAL Import
        // ----------------------------------------------------------------------------
        // LOCAL import creates a full copy - independent of template changes
        var localCopy = new Harness.Chaos.Experiment("local_copy", new()
        {
            OrgId = "my_org",
            ProjectId = "my_project",
            HubOrgId = "my_org",
            HubProjectId = "my_project",
            HubIdentity = "my-chaos-hub",
            TemplateIdentity = "my-template",
            InfraRef = "my-env/my-infra",
            Name = "My Independent Experiment",
            Identity = "my-independent-experiment",
            Description = "Experiment with LOCAL import (independent copy)",
            ImportType = "LOCAL",
            Tags = new[]
            {
                "chaos",
                "local",
                "independent",
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                myTemplate,
                myInfra,
            },
        });
    
        // ----------------------------------------------------------------------------
        // Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)
        // ----------------------------------------------------------------------------
        // Create project experiment from org-level template (cross-scope)
        var crossScope = new Harness.Chaos.Experiment("cross_scope", new()
        {
            OrgId = "my_org",
            ProjectId = "my_project",
            HubOrgId = "my_org",
            HubIdentity = "my-chaos-hub",
            TemplateIdentity = "my-template",
            InfraRef = "my-env/my-infra",
            Name = "Cross-Scope Experiment",
            Identity = "cross-scope-experiment",
            Description = "Project experiment from org-level template",
            ImportType = "REFERENCE",
            Tags = new[]
            {
                "chaos",
                "cross-scope",
                "org-template",
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                orgTemplate,
                myInfra,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.harness.chaos.Experiment;
    import com.pulumi.harness.chaos.ExperimentArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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) {
            // ============================================================================
            // Harness Chaos Experiment Resource Examples
            // ============================================================================
            //
            // Chaos Experiments are INSTANCES created FROM Experiment Templates.
            // These examples are based on TESTED configurations from the e2e-test suite.
            //
            // Key Points:
            // - Experiments are created by "launching" an experiment template
            // - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)
            // - Hub scope can be different from experiment scope (cross-scope support)
            // - import_type: "REFERENCE" (default) or "LOCAL" (full copy)
            // ============================================================================
            // ----------------------------------------------------------------------------
            // Example 1: Basic Experiment with REFERENCE Import
            // ----------------------------------------------------------------------------
            // Most common pattern: project-level experiment from project-level template
            var basic = new Experiment("basic", ExperimentArgs.builder()
                .orgId("my_org")
                .projectId("my_project")
                .hubOrgId("my_org")
                .hubProjectId("my_project")
                .hubIdentity("my-chaos-hub")
                .templateIdentity("my-template")
                .infraRef("my-env/my-infra")
                .name("My Chaos Experiment")
                .identity("my-chaos-experiment")
                .description("Basic chaos experiment with REFERENCE import")
                .importType("REFERENCE")
                .tags(            
                    "chaos",
                    "kubernetes",
                    "resilience")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        myTemplate,
                        myInfra)
                    .build());
    
            // ----------------------------------------------------------------------------
            // Example 2: Experiment with LOCAL Import
            // ----------------------------------------------------------------------------
            // LOCAL import creates a full copy - independent of template changes
            var localCopy = new Experiment("localCopy", ExperimentArgs.builder()
                .orgId("my_org")
                .projectId("my_project")
                .hubOrgId("my_org")
                .hubProjectId("my_project")
                .hubIdentity("my-chaos-hub")
                .templateIdentity("my-template")
                .infraRef("my-env/my-infra")
                .name("My Independent Experiment")
                .identity("my-independent-experiment")
                .description("Experiment with LOCAL import (independent copy)")
                .importType("LOCAL")
                .tags(            
                    "chaos",
                    "local",
                    "independent")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        myTemplate,
                        myInfra)
                    .build());
    
            // ----------------------------------------------------------------------------
            // Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)
            // ----------------------------------------------------------------------------
            // Create project experiment from org-level template (cross-scope)
            var crossScope = new Experiment("crossScope", ExperimentArgs.builder()
                .orgId("my_org")
                .projectId("my_project")
                .hubOrgId("my_org")
                .hubIdentity("my-chaos-hub")
                .templateIdentity("my-template")
                .infraRef("my-env/my-infra")
                .name("Cross-Scope Experiment")
                .identity("cross-scope-experiment")
                .description("Project experiment from org-level template")
                .importType("REFERENCE")
                .tags(            
                    "chaos",
                    "cross-scope",
                    "org-template")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        orgTemplate,
                        myInfra)
                    .build());
    
        }
    }
    
    resources:
      # ============================================================================
      # Harness Chaos Experiment Resource Examples
      # ============================================================================
      #
      # Chaos Experiments are INSTANCES created FROM Experiment Templates.
      # These examples are based on TESTED configurations from the e2e-test suite.
      #
      # Key Points:
      # - Experiments are created by "launching" an experiment template
      # - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)
      # - Hub scope can be different from experiment scope (cross-scope support)
      # - import_type: "REFERENCE" (default) or "LOCAL" (full copy)
      # ============================================================================
    
      # ----------------------------------------------------------------------------
      # Example 1: Basic Experiment with REFERENCE Import
      # ----------------------------------------------------------------------------
      # Most common pattern: project-level experiment from project-level template
      basic:
        type: harness:chaos:Experiment
        properties:
          orgId: my_org
          projectId: my_project
          hubOrgId: my_org
          hubProjectId: my_project
          hubIdentity: my-chaos-hub
          templateIdentity: my-template
          infraRef: my-env/my-infra
          name: My Chaos Experiment
          identity: my-chaos-experiment
          description: Basic chaos experiment with REFERENCE import
          importType: REFERENCE
          tags:
            - chaos
            - kubernetes
            - resilience
        options:
          dependsOn:
            - ${myTemplate}
            - ${myInfra}
      # ----------------------------------------------------------------------------
      # Example 2: Experiment with LOCAL Import
      # ----------------------------------------------------------------------------
      # LOCAL import creates a full copy - independent of template changes
      localCopy:
        type: harness:chaos:Experiment
        name: local_copy
        properties:
          orgId: my_org
          projectId: my_project
          hubOrgId: my_org
          hubProjectId: my_project
          hubIdentity: my-chaos-hub
          templateIdentity: my-template
          infraRef: my-env/my-infra
          name: My Independent Experiment
          identity: my-independent-experiment
          description: Experiment with LOCAL import (independent copy)
          importType: LOCAL
          tags:
            - chaos
            - local
            - independent
        options:
          dependsOn:
            - ${myTemplate}
            - ${myInfra}
      # ----------------------------------------------------------------------------
      # Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)
      # ----------------------------------------------------------------------------
      # Create project experiment from org-level template (cross-scope)
      crossScope:
        type: harness:chaos:Experiment
        name: cross_scope
        properties:
          orgId: my_org
          projectId: my_project
          hubOrgId: my_org
          hubIdentity: my-chaos-hub
          templateIdentity: my-template
          infraRef: my-env/my-infra
          name: Cross-Scope Experiment
          identity: cross-scope-experiment
          description: Project experiment from org-level template
          importType: REFERENCE
          tags:
            - chaos
            - cross-scope
            - org-template
        options:
          dependsOn:
            - ${orgTemplate}
            - ${myInfra}
    

    Create Experiment Resource

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

    Constructor syntax

    new Experiment(name: string, args: ExperimentArgs, opts?: CustomResourceOptions);
    @overload
    def Experiment(resource_name: str,
                   args: ExperimentArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Experiment(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   project_id: Optional[str] = None,
                   hub_identity: Optional[str] = None,
                   infra_ref: Optional[str] = None,
                   org_id: Optional[str] = None,
                   template_identity: Optional[str] = None,
                   hub_org_id: Optional[str] = None,
                   hub_project_id: Optional[str] = None,
                   identity: Optional[str] = None,
                   import_type: Optional[str] = None,
                   name: Optional[str] = None,
                   description: Optional[str] = None,
                   revision: Optional[str] = None,
                   tags: Optional[Sequence[str]] = None)
    func NewExperiment(ctx *Context, name string, args ExperimentArgs, opts ...ResourceOption) (*Experiment, error)
    public Experiment(string name, ExperimentArgs args, CustomResourceOptions? opts = null)
    public Experiment(String name, ExperimentArgs args)
    public Experiment(String name, ExperimentArgs args, CustomResourceOptions options)
    
    type: harness:chaos:Experiment
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ExperimentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ExperimentArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ExperimentArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ExperimentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ExperimentArgs
    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 experimentResource = new Harness.Chaos.Experiment("experimentResource", new()
    {
        ProjectId = "string",
        HubIdentity = "string",
        InfraRef = "string",
        OrgId = "string",
        TemplateIdentity = "string",
        HubOrgId = "string",
        HubProjectId = "string",
        Identity = "string",
        ImportType = "string",
        Name = "string",
        Description = "string",
        Revision = "string",
        Tags = new[]
        {
            "string",
        },
    });
    
    example, err := chaos.NewExperiment(ctx, "experimentResource", &chaos.ExperimentArgs{
    	ProjectId:        pulumi.String("string"),
    	HubIdentity:      pulumi.String("string"),
    	InfraRef:         pulumi.String("string"),
    	OrgId:            pulumi.String("string"),
    	TemplateIdentity: pulumi.String("string"),
    	HubOrgId:         pulumi.String("string"),
    	HubProjectId:     pulumi.String("string"),
    	Identity:         pulumi.String("string"),
    	ImportType:       pulumi.String("string"),
    	Name:             pulumi.String("string"),
    	Description:      pulumi.String("string"),
    	Revision:         pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var experimentResource = new Experiment("experimentResource", ExperimentArgs.builder()
        .projectId("string")
        .hubIdentity("string")
        .infraRef("string")
        .orgId("string")
        .templateIdentity("string")
        .hubOrgId("string")
        .hubProjectId("string")
        .identity("string")
        .importType("string")
        .name("string")
        .description("string")
        .revision("string")
        .tags("string")
        .build());
    
    experiment_resource = harness.chaos.Experiment("experimentResource",
        project_id="string",
        hub_identity="string",
        infra_ref="string",
        org_id="string",
        template_identity="string",
        hub_org_id="string",
        hub_project_id="string",
        identity="string",
        import_type="string",
        name="string",
        description="string",
        revision="string",
        tags=["string"])
    
    const experimentResource = new harness.chaos.Experiment("experimentResource", {
        projectId: "string",
        hubIdentity: "string",
        infraRef: "string",
        orgId: "string",
        templateIdentity: "string",
        hubOrgId: "string",
        hubProjectId: "string",
        identity: "string",
        importType: "string",
        name: "string",
        description: "string",
        revision: "string",
        tags: ["string"],
    });
    
    type: harness:chaos:Experiment
    properties:
        description: string
        hubIdentity: string
        hubOrgId: string
        hubProjectId: string
        identity: string
        importType: string
        infraRef: string
        name: string
        orgId: string
        projectId: string
        revision: string
        tags:
            - string
        templateIdentity: string
    

    Experiment 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 Experiment resource accepts the following input properties:

    HubIdentity string
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    InfraRef string
    Infrastructure reference (ID or identity) to bind the experiment to
    OrgId string
    Organization identifier where the experiment will be created
    ProjectId string
    Project identifier where the experiment will be created
    TemplateIdentity string
    Identity of the experiment template to launch from
    Description string
    Description of the chaos experiment
    HubOrgId string
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    HubProjectId string
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    Identity string
    Unique identifier for the experiment (auto-generated if not provided)
    ImportType string
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    Name string
    Name of the chaos experiment
    Revision string
    Template revision to use (default: v1)
    Tags List<string>
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    HubIdentity string
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    InfraRef string
    Infrastructure reference (ID or identity) to bind the experiment to
    OrgId string
    Organization identifier where the experiment will be created
    ProjectId string
    Project identifier where the experiment will be created
    TemplateIdentity string
    Identity of the experiment template to launch from
    Description string
    Description of the chaos experiment
    HubOrgId string
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    HubProjectId string
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    Identity string
    Unique identifier for the experiment (auto-generated if not provided)
    ImportType string
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    Name string
    Name of the chaos experiment
    Revision string
    Template revision to use (default: v1)
    Tags []string
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    hubIdentity String
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    infraRef String
    Infrastructure reference (ID or identity) to bind the experiment to
    orgId String
    Organization identifier where the experiment will be created
    projectId String
    Project identifier where the experiment will be created
    templateIdentity String
    Identity of the experiment template to launch from
    description String
    Description of the chaos experiment
    hubOrgId String
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hubProjectId String
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity String
    Unique identifier for the experiment (auto-generated if not provided)
    importType String
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    name String
    Name of the chaos experiment
    revision String
    Template revision to use (default: v1)
    tags List<String>
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    hubIdentity string
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    infraRef string
    Infrastructure reference (ID or identity) to bind the experiment to
    orgId string
    Organization identifier where the experiment will be created
    projectId string
    Project identifier where the experiment will be created
    templateIdentity string
    Identity of the experiment template to launch from
    description string
    Description of the chaos experiment
    hubOrgId string
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hubProjectId string
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity string
    Unique identifier for the experiment (auto-generated if not provided)
    importType string
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    name string
    Name of the chaos experiment
    revision string
    Template revision to use (default: v1)
    tags string[]
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    hub_identity str
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    infra_ref str
    Infrastructure reference (ID or identity) to bind the experiment to
    org_id str
    Organization identifier where the experiment will be created
    project_id str
    Project identifier where the experiment will be created
    template_identity str
    Identity of the experiment template to launch from
    description str
    Description of the chaos experiment
    hub_org_id str
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hub_project_id str
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity str
    Unique identifier for the experiment (auto-generated if not provided)
    import_type str
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    name str
    Name of the chaos experiment
    revision str
    Template revision to use (default: v1)
    tags Sequence[str]
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    hubIdentity String
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    infraRef String
    Infrastructure reference (ID or identity) to bind the experiment to
    orgId String
    Organization identifier where the experiment will be created
    projectId String
    Project identifier where the experiment will be created
    templateIdentity String
    Identity of the experiment template to launch from
    description String
    Description of the chaos experiment
    hubOrgId String
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hubProjectId String
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity String
    Unique identifier for the experiment (auto-generated if not provided)
    importType String
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    name String
    Name of the chaos experiment
    revision String
    Template revision to use (default: v1)
    tags List<String>
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.

    Outputs

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

    CreatedAt int
    Creation timestamp (Unix)
    CreatedBy string
    Username of the creator
    CronSyntax string
    Cron expression for scheduled execution
    ExperimentId string
    Full experiment ID
    ExperimentType string
    Type of the experiment
    FaultIds List<string>
    List of fault IDs used in the experiment
    Id string
    The provider-assigned unique ID for this managed resource.
    InfraId string
    Resolved infrastructure ID
    InfraType string
    Infrastructure type (e.g., KubernetesV2)
    IsCronEnabled bool
    Whether cron scheduling is enabled
    IsCustomExperiment bool
    Whether this is a custom experiment
    IsSingleRunCronEnabled bool
    Whether single-run cron is enabled
    LastExecutedAt int
    Timestamp of last execution
    Manifest string
    Full experiment manifest YAML (populated for LOCAL imports)
    TargetNetworkMapId string
    Target network map ID
    TemplateDetails List<ExperimentTemplateDetail>
    Details about the experiment template used
    TotalExperimentRuns int
    Total number of experiment runs
    UpdatedAt int
    Last update timestamp (Unix)
    UpdatedBy string
    Username of the last updater
    CreatedAt int
    Creation timestamp (Unix)
    CreatedBy string
    Username of the creator
    CronSyntax string
    Cron expression for scheduled execution
    ExperimentId string
    Full experiment ID
    ExperimentType string
    Type of the experiment
    FaultIds []string
    List of fault IDs used in the experiment
    Id string
    The provider-assigned unique ID for this managed resource.
    InfraId string
    Resolved infrastructure ID
    InfraType string
    Infrastructure type (e.g., KubernetesV2)
    IsCronEnabled bool
    Whether cron scheduling is enabled
    IsCustomExperiment bool
    Whether this is a custom experiment
    IsSingleRunCronEnabled bool
    Whether single-run cron is enabled
    LastExecutedAt int
    Timestamp of last execution
    Manifest string
    Full experiment manifest YAML (populated for LOCAL imports)
    TargetNetworkMapId string
    Target network map ID
    TemplateDetails []ExperimentTemplateDetail
    Details about the experiment template used
    TotalExperimentRuns int
    Total number of experiment runs
    UpdatedAt int
    Last update timestamp (Unix)
    UpdatedBy string
    Username of the last updater
    createdAt Integer
    Creation timestamp (Unix)
    createdBy String
    Username of the creator
    cronSyntax String
    Cron expression for scheduled execution
    experimentId String
    Full experiment ID
    experimentType String
    Type of the experiment
    faultIds List<String>
    List of fault IDs used in the experiment
    id String
    The provider-assigned unique ID for this managed resource.
    infraId String
    Resolved infrastructure ID
    infraType String
    Infrastructure type (e.g., KubernetesV2)
    isCronEnabled Boolean
    Whether cron scheduling is enabled
    isCustomExperiment Boolean
    Whether this is a custom experiment
    isSingleRunCronEnabled Boolean
    Whether single-run cron is enabled
    lastExecutedAt Integer
    Timestamp of last execution
    manifest String
    Full experiment manifest YAML (populated for LOCAL imports)
    targetNetworkMapId String
    Target network map ID
    templateDetails List<ExperimentTemplateDetail>
    Details about the experiment template used
    totalExperimentRuns Integer
    Total number of experiment runs
    updatedAt Integer
    Last update timestamp (Unix)
    updatedBy String
    Username of the last updater
    createdAt number
    Creation timestamp (Unix)
    createdBy string
    Username of the creator
    cronSyntax string
    Cron expression for scheduled execution
    experimentId string
    Full experiment ID
    experimentType string
    Type of the experiment
    faultIds string[]
    List of fault IDs used in the experiment
    id string
    The provider-assigned unique ID for this managed resource.
    infraId string
    Resolved infrastructure ID
    infraType string
    Infrastructure type (e.g., KubernetesV2)
    isCronEnabled boolean
    Whether cron scheduling is enabled
    isCustomExperiment boolean
    Whether this is a custom experiment
    isSingleRunCronEnabled boolean
    Whether single-run cron is enabled
    lastExecutedAt number
    Timestamp of last execution
    manifest string
    Full experiment manifest YAML (populated for LOCAL imports)
    targetNetworkMapId string
    Target network map ID
    templateDetails ExperimentTemplateDetail[]
    Details about the experiment template used
    totalExperimentRuns number
    Total number of experiment runs
    updatedAt number
    Last update timestamp (Unix)
    updatedBy string
    Username of the last updater
    created_at int
    Creation timestamp (Unix)
    created_by str
    Username of the creator
    cron_syntax str
    Cron expression for scheduled execution
    experiment_id str
    Full experiment ID
    experiment_type str
    Type of the experiment
    fault_ids Sequence[str]
    List of fault IDs used in the experiment
    id str
    The provider-assigned unique ID for this managed resource.
    infra_id str
    Resolved infrastructure ID
    infra_type str
    Infrastructure type (e.g., KubernetesV2)
    is_cron_enabled bool
    Whether cron scheduling is enabled
    is_custom_experiment bool
    Whether this is a custom experiment
    is_single_run_cron_enabled bool
    Whether single-run cron is enabled
    last_executed_at int
    Timestamp of last execution
    manifest str
    Full experiment manifest YAML (populated for LOCAL imports)
    target_network_map_id str
    Target network map ID
    template_details Sequence[ExperimentTemplateDetail]
    Details about the experiment template used
    total_experiment_runs int
    Total number of experiment runs
    updated_at int
    Last update timestamp (Unix)
    updated_by str
    Username of the last updater
    createdAt Number
    Creation timestamp (Unix)
    createdBy String
    Username of the creator
    cronSyntax String
    Cron expression for scheduled execution
    experimentId String
    Full experiment ID
    experimentType String
    Type of the experiment
    faultIds List<String>
    List of fault IDs used in the experiment
    id String
    The provider-assigned unique ID for this managed resource.
    infraId String
    Resolved infrastructure ID
    infraType String
    Infrastructure type (e.g., KubernetesV2)
    isCronEnabled Boolean
    Whether cron scheduling is enabled
    isCustomExperiment Boolean
    Whether this is a custom experiment
    isSingleRunCronEnabled Boolean
    Whether single-run cron is enabled
    lastExecutedAt Number
    Timestamp of last execution
    manifest String
    Full experiment manifest YAML (populated for LOCAL imports)
    targetNetworkMapId String
    Target network map ID
    templateDetails List<Property Map>
    Details about the experiment template used
    totalExperimentRuns Number
    Total number of experiment runs
    updatedAt Number
    Last update timestamp (Unix)
    updatedBy String
    Username of the last updater

    Look up Existing Experiment Resource

    Get an existing Experiment 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?: ExperimentState, opts?: CustomResourceOptions): Experiment
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            created_at: Optional[int] = None,
            created_by: Optional[str] = None,
            cron_syntax: Optional[str] = None,
            description: Optional[str] = None,
            experiment_id: Optional[str] = None,
            experiment_type: Optional[str] = None,
            fault_ids: Optional[Sequence[str]] = None,
            hub_identity: Optional[str] = None,
            hub_org_id: Optional[str] = None,
            hub_project_id: Optional[str] = None,
            identity: Optional[str] = None,
            import_type: Optional[str] = None,
            infra_id: Optional[str] = None,
            infra_ref: Optional[str] = None,
            infra_type: Optional[str] = None,
            is_cron_enabled: Optional[bool] = None,
            is_custom_experiment: Optional[bool] = None,
            is_single_run_cron_enabled: Optional[bool] = None,
            last_executed_at: Optional[int] = None,
            manifest: Optional[str] = None,
            name: Optional[str] = None,
            org_id: Optional[str] = None,
            project_id: Optional[str] = None,
            revision: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            target_network_map_id: Optional[str] = None,
            template_details: Optional[Sequence[ExperimentTemplateDetailArgs]] = None,
            template_identity: Optional[str] = None,
            total_experiment_runs: Optional[int] = None,
            updated_at: Optional[int] = None,
            updated_by: Optional[str] = None) -> Experiment
    func GetExperiment(ctx *Context, name string, id IDInput, state *ExperimentState, opts ...ResourceOption) (*Experiment, error)
    public static Experiment Get(string name, Input<string> id, ExperimentState? state, CustomResourceOptions? opts = null)
    public static Experiment get(String name, Output<String> id, ExperimentState state, CustomResourceOptions options)
    resources:  _:    type: harness:chaos:Experiment    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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:
    CreatedAt int
    Creation timestamp (Unix)
    CreatedBy string
    Username of the creator
    CronSyntax string
    Cron expression for scheduled execution
    Description string
    Description of the chaos experiment
    ExperimentId string
    Full experiment ID
    ExperimentType string
    Type of the experiment
    FaultIds List<string>
    List of fault IDs used in the experiment
    HubIdentity string
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    HubOrgId string
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    HubProjectId string
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    Identity string
    Unique identifier for the experiment (auto-generated if not provided)
    ImportType string
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    InfraId string
    Resolved infrastructure ID
    InfraRef string
    Infrastructure reference (ID or identity) to bind the experiment to
    InfraType string
    Infrastructure type (e.g., KubernetesV2)
    IsCronEnabled bool
    Whether cron scheduling is enabled
    IsCustomExperiment bool
    Whether this is a custom experiment
    IsSingleRunCronEnabled bool
    Whether single-run cron is enabled
    LastExecutedAt int
    Timestamp of last execution
    Manifest string
    Full experiment manifest YAML (populated for LOCAL imports)
    Name string
    Name of the chaos experiment
    OrgId string
    Organization identifier where the experiment will be created
    ProjectId string
    Project identifier where the experiment will be created
    Revision string
    Template revision to use (default: v1)
    Tags List<string>
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    TargetNetworkMapId string
    Target network map ID
    TemplateDetails List<ExperimentTemplateDetail>
    Details about the experiment template used
    TemplateIdentity string
    Identity of the experiment template to launch from
    TotalExperimentRuns int
    Total number of experiment runs
    UpdatedAt int
    Last update timestamp (Unix)
    UpdatedBy string
    Username of the last updater
    CreatedAt int
    Creation timestamp (Unix)
    CreatedBy string
    Username of the creator
    CronSyntax string
    Cron expression for scheduled execution
    Description string
    Description of the chaos experiment
    ExperimentId string
    Full experiment ID
    ExperimentType string
    Type of the experiment
    FaultIds []string
    List of fault IDs used in the experiment
    HubIdentity string
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    HubOrgId string
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    HubProjectId string
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    Identity string
    Unique identifier for the experiment (auto-generated if not provided)
    ImportType string
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    InfraId string
    Resolved infrastructure ID
    InfraRef string
    Infrastructure reference (ID or identity) to bind the experiment to
    InfraType string
    Infrastructure type (e.g., KubernetesV2)
    IsCronEnabled bool
    Whether cron scheduling is enabled
    IsCustomExperiment bool
    Whether this is a custom experiment
    IsSingleRunCronEnabled bool
    Whether single-run cron is enabled
    LastExecutedAt int
    Timestamp of last execution
    Manifest string
    Full experiment manifest YAML (populated for LOCAL imports)
    Name string
    Name of the chaos experiment
    OrgId string
    Organization identifier where the experiment will be created
    ProjectId string
    Project identifier where the experiment will be created
    Revision string
    Template revision to use (default: v1)
    Tags []string
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    TargetNetworkMapId string
    Target network map ID
    TemplateDetails []ExperimentTemplateDetailArgs
    Details about the experiment template used
    TemplateIdentity string
    Identity of the experiment template to launch from
    TotalExperimentRuns int
    Total number of experiment runs
    UpdatedAt int
    Last update timestamp (Unix)
    UpdatedBy string
    Username of the last updater
    createdAt Integer
    Creation timestamp (Unix)
    createdBy String
    Username of the creator
    cronSyntax String
    Cron expression for scheduled execution
    description String
    Description of the chaos experiment
    experimentId String
    Full experiment ID
    experimentType String
    Type of the experiment
    faultIds List<String>
    List of fault IDs used in the experiment
    hubIdentity String
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    hubOrgId String
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hubProjectId String
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity String
    Unique identifier for the experiment (auto-generated if not provided)
    importType String
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    infraId String
    Resolved infrastructure ID
    infraRef String
    Infrastructure reference (ID or identity) to bind the experiment to
    infraType String
    Infrastructure type (e.g., KubernetesV2)
    isCronEnabled Boolean
    Whether cron scheduling is enabled
    isCustomExperiment Boolean
    Whether this is a custom experiment
    isSingleRunCronEnabled Boolean
    Whether single-run cron is enabled
    lastExecutedAt Integer
    Timestamp of last execution
    manifest String
    Full experiment manifest YAML (populated for LOCAL imports)
    name String
    Name of the chaos experiment
    orgId String
    Organization identifier where the experiment will be created
    projectId String
    Project identifier where the experiment will be created
    revision String
    Template revision to use (default: v1)
    tags List<String>
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    targetNetworkMapId String
    Target network map ID
    templateDetails List<ExperimentTemplateDetail>
    Details about the experiment template used
    templateIdentity String
    Identity of the experiment template to launch from
    totalExperimentRuns Integer
    Total number of experiment runs
    updatedAt Integer
    Last update timestamp (Unix)
    updatedBy String
    Username of the last updater
    createdAt number
    Creation timestamp (Unix)
    createdBy string
    Username of the creator
    cronSyntax string
    Cron expression for scheduled execution
    description string
    Description of the chaos experiment
    experimentId string
    Full experiment ID
    experimentType string
    Type of the experiment
    faultIds string[]
    List of fault IDs used in the experiment
    hubIdentity string
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    hubOrgId string
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hubProjectId string
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity string
    Unique identifier for the experiment (auto-generated if not provided)
    importType string
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    infraId string
    Resolved infrastructure ID
    infraRef string
    Infrastructure reference (ID or identity) to bind the experiment to
    infraType string
    Infrastructure type (e.g., KubernetesV2)
    isCronEnabled boolean
    Whether cron scheduling is enabled
    isCustomExperiment boolean
    Whether this is a custom experiment
    isSingleRunCronEnabled boolean
    Whether single-run cron is enabled
    lastExecutedAt number
    Timestamp of last execution
    manifest string
    Full experiment manifest YAML (populated for LOCAL imports)
    name string
    Name of the chaos experiment
    orgId string
    Organization identifier where the experiment will be created
    projectId string
    Project identifier where the experiment will be created
    revision string
    Template revision to use (default: v1)
    tags string[]
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    targetNetworkMapId string
    Target network map ID
    templateDetails ExperimentTemplateDetail[]
    Details about the experiment template used
    templateIdentity string
    Identity of the experiment template to launch from
    totalExperimentRuns number
    Total number of experiment runs
    updatedAt number
    Last update timestamp (Unix)
    updatedBy string
    Username of the last updater
    created_at int
    Creation timestamp (Unix)
    created_by str
    Username of the creator
    cron_syntax str
    Cron expression for scheduled execution
    description str
    Description of the chaos experiment
    experiment_id str
    Full experiment ID
    experiment_type str
    Type of the experiment
    fault_ids Sequence[str]
    List of fault IDs used in the experiment
    hub_identity str
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    hub_org_id str
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hub_project_id str
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity str
    Unique identifier for the experiment (auto-generated if not provided)
    import_type str
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    infra_id str
    Resolved infrastructure ID
    infra_ref str
    Infrastructure reference (ID or identity) to bind the experiment to
    infra_type str
    Infrastructure type (e.g., KubernetesV2)
    is_cron_enabled bool
    Whether cron scheduling is enabled
    is_custom_experiment bool
    Whether this is a custom experiment
    is_single_run_cron_enabled bool
    Whether single-run cron is enabled
    last_executed_at int
    Timestamp of last execution
    manifest str
    Full experiment manifest YAML (populated for LOCAL imports)
    name str
    Name of the chaos experiment
    org_id str
    Organization identifier where the experiment will be created
    project_id str
    Project identifier where the experiment will be created
    revision str
    Template revision to use (default: v1)
    tags Sequence[str]
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    target_network_map_id str
    Target network map ID
    template_details Sequence[ExperimentTemplateDetailArgs]
    Details about the experiment template used
    template_identity str
    Identity of the experiment template to launch from
    total_experiment_runs int
    Total number of experiment runs
    updated_at int
    Last update timestamp (Unix)
    updated_by str
    Username of the last updater
    createdAt Number
    Creation timestamp (Unix)
    createdBy String
    Username of the creator
    cronSyntax String
    Cron expression for scheduled execution
    description String
    Description of the chaos experiment
    experimentId String
    Full experiment ID
    experimentType String
    Type of the experiment
    faultIds List<String>
    List of fault IDs used in the experiment
    hubIdentity String
    Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)
    hubOrgId String
    Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.
    hubProjectId String
    Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.
    identity String
    Unique identifier for the experiment (auto-generated if not provided)
    importType String
    Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE
    infraId String
    Resolved infrastructure ID
    infraRef String
    Infrastructure reference (ID or identity) to bind the experiment to
    infraType String
    Infrastructure type (e.g., KubernetesV2)
    isCronEnabled Boolean
    Whether cron scheduling is enabled
    isCustomExperiment Boolean
    Whether this is a custom experiment
    isSingleRunCronEnabled Boolean
    Whether single-run cron is enabled
    lastExecutedAt Number
    Timestamp of last execution
    manifest String
    Full experiment manifest YAML (populated for LOCAL imports)
    name String
    Name of the chaos experiment
    orgId String
    Organization identifier where the experiment will be created
    projectId String
    Project identifier where the experiment will be created
    revision String
    Template revision to use (default: v1)
    tags List<String>
    Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.
    targetNetworkMapId String
    Target network map ID
    templateDetails List<Property Map>
    Details about the experiment template used
    templateIdentity String
    Identity of the experiment template to launch from
    totalExperimentRuns Number
    Total number of experiment runs
    updatedAt Number
    Last update timestamp (Unix)
    updatedBy String
    Username of the last updater

    Supporting Types

    ExperimentTemplateDetail, ExperimentTemplateDetailArgs

    HubReference string
    Hub reference where template resides
    Identity string
    Template identity
    Reference string
    Full template reference
    Revision string
    Template revision used
    HubReference string
    Hub reference where template resides
    Identity string
    Template identity
    Reference string
    Full template reference
    Revision string
    Template revision used
    hubReference String
    Hub reference where template resides
    identity String
    Template identity
    reference String
    Full template reference
    revision String
    Template revision used
    hubReference string
    Hub reference where template resides
    identity string
    Template identity
    reference string
    Full template reference
    revision string
    Template revision used
    hub_reference str
    Hub reference where template resides
    identity str
    Template identity
    reference str
    Full template reference
    revision str
    Template revision used
    hubReference String
    Hub reference where template resides
    identity String
    Template identity
    reference String
    Full template reference
    revision String
    Template revision used

    Import

    The pulumi import command can be used, for example:

    !/bin/bash

    Harness Chaos Experiment Import Examples

    Import Format: org_id/project_id/experiment_identity

    ============================================================================


    Example 1: Import Project-Level Experiment

    $ pulumi import harness:chaos/experiment:Experiment basic my_org/my_project/my-chaos-experiment
    

    After Import

    1. Run terraform state show harness_chaos_experiment.example to see imported values
    2. Run pulumi preview to check for configuration drift
    3. Update your .tf file to match the imported state

    Required configuration after import:

    • org_id, projectId
    • hub_org_id, hub_project_id, hubIdentity
    • templateIdentity
    • name, infraRef
    • importType (default: “REFERENCE”)

    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.
    harness logo
    Viewing docs for Harness v0.12.0
    published on Tuesday, Apr 21, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.