1. Packages
  2. Harness
  3. API Docs
  4. InfrastructureDefinition
Harness v0.3.2 published on Monday, Sep 16, 2024 by Pulumi

harness.InfrastructureDefinition

Explore with Pulumi AI

harness logo
Harness v0.3.2 published on Monday, Sep 16, 2024 by Pulumi

    Resource for creating am infrastructure definition. This resource uses the config-as-code API’s. When updating the name or path of this resource you should typically also set the create_before_destroy = true lifecycle setting.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as harness from "@pulumi/harness";
    
    // Creating a Kubernetes infrastructure definition
    const dev = new harness.cloudprovider.Kubernetes("dev", {
        name: "k8s-dev",
        authentication: {
            delegateSelectors: ["k8s"],
        },
    });
    const example = new harness.Application("example", {name: "example"});
    const devEnvironment = new harness.Environment("dev", {
        name: "dev",
        appId: example.id,
        type: "NON_PROD",
    });
    // Creating a infrastructure of type KUBERNETES
    const k8s = new harness.InfrastructureDefinition("k8s", {
        name: "k8s-eks-us-east-1",
        appId: example.id,
        envId: devEnvironment.id,
        cloudProviderType: "KUBERNETES_CLUSTER",
        deploymentType: "KUBERNETES",
        kubernetes: {
            cloudProviderName: dev.name,
            namespace: "dev",
            releaseName: "${service.name}",
        },
    });
    // Creating a Deployment Template for CUSTOM infrastructure type
    const exampleYaml = new harness.YamlConfig("example_yaml", {
        path: "Setup/Template Library/Example Folder/deployment_template.yaml",
        content: `harnessApiVersion: '1.0'
    type: CUSTOM_DEPLOYMENT_TYPE
    fetchInstanceScript: |-
      set -ex
      curl http://\${url}/\${file_name} > \${INSTANCE_OUTPUT_PATH}
    hostAttributes:
      hostname: host
    hostObjectArrayPath: hosts
    variables:
    - name: url
    - name: file_name
    `,
    });
    // Creating a infrastructure of type CUSTOM
    const custom = new harness.InfrastructureDefinition("custom", {
        name: "custom-infra",
        appId: example.id,
        envId: devEnvironment.id,
        cloudProviderType: "CUSTOM",
        deploymentType: "CUSTOM",
        deploymentTemplateUri: pulumi.interpolate`Example Folder/${exampleYaml.name}`,
        custom: {
            deploymentTypeTemplateVersion: "1",
            variables: [
                {
                    name: "url",
                    value: "localhost:8081",
                },
                {
                    name: "file_name",
                    value: "instances.json",
                },
            ],
        },
    });
    
    import pulumi
    import pulumi_harness as harness
    
    # Creating a Kubernetes infrastructure definition
    dev = harness.cloudprovider.Kubernetes("dev",
        name="k8s-dev",
        authentication={
            "delegate_selectors": ["k8s"],
        })
    example = harness.Application("example", name="example")
    dev_environment = harness.Environment("dev",
        name="dev",
        app_id=example.id,
        type="NON_PROD")
    # Creating a infrastructure of type KUBERNETES
    k8s = harness.InfrastructureDefinition("k8s",
        name="k8s-eks-us-east-1",
        app_id=example.id,
        env_id=dev_environment.id,
        cloud_provider_type="KUBERNETES_CLUSTER",
        deployment_type="KUBERNETES",
        kubernetes={
            "cloud_provider_name": dev.name,
            "namespace": "dev",
            "release_name": "${service.name}",
        })
    # Creating a Deployment Template for CUSTOM infrastructure type
    example_yaml = harness.YamlConfig("example_yaml",
        path="Setup/Template Library/Example Folder/deployment_template.yaml",
        content="""harnessApiVersion: '1.0'
    type: CUSTOM_DEPLOYMENT_TYPE
    fetchInstanceScript: |-
      set -ex
      curl http://${url}/${file_name} > ${INSTANCE_OUTPUT_PATH}
    hostAttributes:
      hostname: host
    hostObjectArrayPath: hosts
    variables:
    - name: url
    - name: file_name
    """)
    # Creating a infrastructure of type CUSTOM
    custom = harness.InfrastructureDefinition("custom",
        name="custom-infra",
        app_id=example.id,
        env_id=dev_environment.id,
        cloud_provider_type="CUSTOM",
        deployment_type="CUSTOM",
        deployment_template_uri=example_yaml.name.apply(lambda name: f"Example Folder/{name}"),
        custom={
            "deployment_type_template_version": "1",
            "variables": [
                {
                    "name": "url",
                    "value": "localhost:8081",
                },
                {
                    "name": "file_name",
                    "value": "instances.json",
                },
            ],
        })
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-harness/sdk/go/harness"
    	"github.com/pulumi/pulumi-harness/sdk/go/harness/cloudprovider"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Creating a Kubernetes infrastructure definition
    		dev, err := cloudprovider.NewKubernetes(ctx, "dev", &cloudprovider.KubernetesArgs{
    			Name: pulumi.String("k8s-dev"),
    			Authentication: &cloudprovider.KubernetesAuthenticationArgs{
    				DelegateSelectors: pulumi.StringArray{
    					pulumi.String("k8s"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		example, err := harness.NewApplication(ctx, "example", &harness.ApplicationArgs{
    			Name: pulumi.String("example"),
    		})
    		if err != nil {
    			return err
    		}
    		devEnvironment, err := harness.NewEnvironment(ctx, "dev", &harness.EnvironmentArgs{
    			Name:  pulumi.String("dev"),
    			AppId: example.ID(),
    			Type:  pulumi.String("NON_PROD"),
    		})
    		if err != nil {
    			return err
    		}
    		// Creating a infrastructure of type KUBERNETES
    		_, err = harness.NewInfrastructureDefinition(ctx, "k8s", &harness.InfrastructureDefinitionArgs{
    			Name:              pulumi.String("k8s-eks-us-east-1"),
    			AppId:             example.ID(),
    			EnvId:             devEnvironment.ID(),
    			CloudProviderType: pulumi.String("KUBERNETES_CLUSTER"),
    			DeploymentType:    pulumi.String("KUBERNETES"),
    			Kubernetes: &harness.InfrastructureDefinitionKubernetesArgs{
    				CloudProviderName: dev.Name,
    				Namespace:         pulumi.String("dev"),
    				ReleaseName:       pulumi.String("${service.name}"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Creating a Deployment Template for CUSTOM infrastructure type
    		exampleYaml, err := harness.NewYamlConfig(ctx, "example_yaml", &harness.YamlConfigArgs{
    			Path: pulumi.String("Setup/Template Library/Example Folder/deployment_template.yaml"),
    			Content: pulumi.String(`harnessApiVersion: '1.0'
    type: CUSTOM_DEPLOYMENT_TYPE
    fetchInstanceScript: |-
      set -ex
      curl http://${url}/${file_name} > ${INSTANCE_OUTPUT_PATH}
    hostAttributes:
      hostname: host
    hostObjectArrayPath: hosts
    variables:
    - name: url
    - name: file_name
    `),
    		})
    		if err != nil {
    			return err
    		}
    		// Creating a infrastructure of type CUSTOM
    		_, err = harness.NewInfrastructureDefinition(ctx, "custom", &harness.InfrastructureDefinitionArgs{
    			Name:              pulumi.String("custom-infra"),
    			AppId:             example.ID(),
    			EnvId:             devEnvironment.ID(),
    			CloudProviderType: pulumi.String("CUSTOM"),
    			DeploymentType:    pulumi.String("CUSTOM"),
    			DeploymentTemplateUri: exampleYaml.Name.ApplyT(func(name string) (string, error) {
    				return fmt.Sprintf("Example Folder/%v", name), nil
    			}).(pulumi.StringOutput),
    			Custom: &harness.InfrastructureDefinitionCustomArgs{
    				DeploymentTypeTemplateVersion: pulumi.String("1"),
    				Variables: harness.InfrastructureDefinitionCustomVariableArray{
    					&harness.InfrastructureDefinitionCustomVariableArgs{
    						Name:  pulumi.String("url"),
    						Value: pulumi.String("localhost:8081"),
    					},
    					&harness.InfrastructureDefinitionCustomVariableArgs{
    						Name:  pulumi.String("file_name"),
    						Value: pulumi.String("instances.json"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Harness = Pulumi.Harness;
    
    return await Deployment.RunAsync(() => 
    {
        // Creating a Kubernetes infrastructure definition
        var dev = new Harness.Cloudprovider.Kubernetes("dev", new()
        {
            Name = "k8s-dev",
            Authentication = new Harness.Cloudprovider.Inputs.KubernetesAuthenticationArgs
            {
                DelegateSelectors = new[]
                {
                    "k8s",
                },
            },
        });
    
        var example = new Harness.Application("example", new()
        {
            Name = "example",
        });
    
        var devEnvironment = new Harness.Environment("dev", new()
        {
            Name = "dev",
            AppId = example.Id,
            Type = "NON_PROD",
        });
    
        // Creating a infrastructure of type KUBERNETES
        var k8s = new Harness.InfrastructureDefinition("k8s", new()
        {
            Name = "k8s-eks-us-east-1",
            AppId = example.Id,
            EnvId = devEnvironment.Id,
            CloudProviderType = "KUBERNETES_CLUSTER",
            DeploymentType = "KUBERNETES",
            Kubernetes = new Harness.Inputs.InfrastructureDefinitionKubernetesArgs
            {
                CloudProviderName = dev.Name,
                Namespace = "dev",
                ReleaseName = "${service.name}",
            },
        });
    
        // Creating a Deployment Template for CUSTOM infrastructure type
        var exampleYaml = new Harness.YamlConfig("example_yaml", new()
        {
            Path = "Setup/Template Library/Example Folder/deployment_template.yaml",
            Content = @"harnessApiVersion: '1.0'
    type: CUSTOM_DEPLOYMENT_TYPE
    fetchInstanceScript: |-
      set -ex
      curl http://${url}/${file_name} > ${INSTANCE_OUTPUT_PATH}
    hostAttributes:
      hostname: host
    hostObjectArrayPath: hosts
    variables:
    - name: url
    - name: file_name
    ",
        });
    
        // Creating a infrastructure of type CUSTOM
        var custom = new Harness.InfrastructureDefinition("custom", new()
        {
            Name = "custom-infra",
            AppId = example.Id,
            EnvId = devEnvironment.Id,
            CloudProviderType = "CUSTOM",
            DeploymentType = "CUSTOM",
            DeploymentTemplateUri = exampleYaml.Name.Apply(name => $"Example Folder/{name}"),
            Custom = new Harness.Inputs.InfrastructureDefinitionCustomArgs
            {
                DeploymentTypeTemplateVersion = "1",
                Variables = new[]
                {
                    new Harness.Inputs.InfrastructureDefinitionCustomVariableArgs
                    {
                        Name = "url",
                        Value = "localhost:8081",
                    },
                    new Harness.Inputs.InfrastructureDefinitionCustomVariableArgs
                    {
                        Name = "file_name",
                        Value = "instances.json",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.harness.cloudprovider.Kubernetes;
    import com.pulumi.harness.cloudprovider.KubernetesArgs;
    import com.pulumi.harness.cloudprovider.inputs.KubernetesAuthenticationArgs;
    import com.pulumi.harness.Application;
    import com.pulumi.harness.ApplicationArgs;
    import com.pulumi.harness.Environment;
    import com.pulumi.harness.EnvironmentArgs;
    import com.pulumi.harness.InfrastructureDefinition;
    import com.pulumi.harness.InfrastructureDefinitionArgs;
    import com.pulumi.harness.inputs.InfrastructureDefinitionKubernetesArgs;
    import com.pulumi.harness.YamlConfig;
    import com.pulumi.harness.YamlConfigArgs;
    import com.pulumi.harness.inputs.InfrastructureDefinitionCustomArgs;
    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) {
            // Creating a Kubernetes infrastructure definition
            var dev = new Kubernetes("dev", KubernetesArgs.builder()
                .name("k8s-dev")
                .authentication(KubernetesAuthenticationArgs.builder()
                    .delegateSelectors("k8s")
                    .build())
                .build());
    
            var example = new Application("example", ApplicationArgs.builder()
                .name("example")
                .build());
    
            var devEnvironment = new Environment("devEnvironment", EnvironmentArgs.builder()
                .name("dev")
                .appId(example.id())
                .type("NON_PROD")
                .build());
    
            // Creating a infrastructure of type KUBERNETES
            var k8s = new InfrastructureDefinition("k8s", InfrastructureDefinitionArgs.builder()
                .name("k8s-eks-us-east-1")
                .appId(example.id())
                .envId(devEnvironment.id())
                .cloudProviderType("KUBERNETES_CLUSTER")
                .deploymentType("KUBERNETES")
                .kubernetes(InfrastructureDefinitionKubernetesArgs.builder()
                    .cloudProviderName(dev.name())
                    .namespace("dev")
                    .releaseName("${service.name}")
                    .build())
                .build());
    
            // Creating a Deployment Template for CUSTOM infrastructure type
            var exampleYaml = new YamlConfig("exampleYaml", YamlConfigArgs.builder()
                .path("Setup/Template Library/Example Folder/deployment_template.yaml")
                .content("""
    harnessApiVersion: '1.0'
    type: CUSTOM_DEPLOYMENT_TYPE
    fetchInstanceScript: |-
      set -ex
      curl http://${url}/${file_name} > ${INSTANCE_OUTPUT_PATH}
    hostAttributes:
      hostname: host
    hostObjectArrayPath: hosts
    variables:
    - name: url
    - name: file_name
                """)
                .build());
    
            // Creating a infrastructure of type CUSTOM
            var custom = new InfrastructureDefinition("custom", InfrastructureDefinitionArgs.builder()
                .name("custom-infra")
                .appId(example.id())
                .envId(devEnvironment.id())
                .cloudProviderType("CUSTOM")
                .deploymentType("CUSTOM")
                .deploymentTemplateUri(exampleYaml.name().applyValue(name -> String.format("Example Folder/%s", name)))
                .custom(InfrastructureDefinitionCustomArgs.builder()
                    .deploymentTypeTemplateVersion("1")
                    .variables(                
                        InfrastructureDefinitionCustomVariableArgs.builder()
                            .name("url")
                            .value("localhost:8081")
                            .build(),
                        InfrastructureDefinitionCustomVariableArgs.builder()
                            .name("file_name")
                            .value("instances.json")
                            .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Creating a Kubernetes infrastructure definition
      dev:
        type: harness:cloudprovider:Kubernetes
        properties:
          name: k8s-dev
          authentication:
            delegateSelectors:
              - k8s
      example:
        type: harness:Application
        properties:
          name: example
      devEnvironment:
        type: harness:Environment
        name: dev
        properties:
          name: dev
          appId: ${example.id}
          type: NON_PROD
      # Creating a infrastructure of type KUBERNETES
      k8s:
        type: harness:InfrastructureDefinition
        properties:
          name: k8s-eks-us-east-1
          appId: ${example.id}
          envId: ${devEnvironment.id}
          cloudProviderType: KUBERNETES_CLUSTER
          deploymentType: KUBERNETES
          kubernetes:
            cloudProviderName: ${dev.name}
            namespace: dev
            releaseName: ${service.name}
      # Creating a Deployment Template for CUSTOM infrastructure type
      exampleYaml:
        type: harness:YamlConfig
        name: example_yaml
        properties:
          path: Setup/Template Library/Example Folder/deployment_template.yaml
          content: |
            harnessApiVersion: '1.0'
            type: CUSTOM_DEPLOYMENT_TYPE
            fetchInstanceScript: |-
              set -ex
              curl http://${url}/${file_name} > ${INSTANCE_OUTPUT_PATH}
            hostAttributes:
              hostname: host
            hostObjectArrayPath: hosts
            variables:
            - name: url
            - name: file_name        
      # Creating a infrastructure of type CUSTOM
      custom:
        type: harness:InfrastructureDefinition
        properties:
          name: custom-infra
          appId: ${example.id}
          envId: ${devEnvironment.id}
          cloudProviderType: CUSTOM
          deploymentType: CUSTOM
          deploymentTemplateUri: Example Folder/${exampleYaml.name}
          custom:
            deploymentTypeTemplateVersion: '1'
            variables:
              - name: url
                value: localhost:8081
              - name: file_name
                value: instances.json
    

    Create InfrastructureDefinition Resource

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

    Constructor syntax

    new InfrastructureDefinition(name: string, args: InfrastructureDefinitionArgs, opts?: CustomResourceOptions);
    @overload
    def InfrastructureDefinition(resource_name: str,
                                 args: InfrastructureDefinitionArgs,
                                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def InfrastructureDefinition(resource_name: str,
                                 opts: Optional[ResourceOptions] = None,
                                 cloud_provider_type: Optional[str] = None,
                                 env_id: Optional[str] = None,
                                 deployment_type: Optional[str] = None,
                                 app_id: Optional[str] = None,
                                 datacenter_ssh: Optional[InfrastructureDefinitionDatacenterSshArgs] = None,
                                 aws_ecs: Optional[InfrastructureDefinitionAwsEcsArgs] = None,
                                 azure_vmss: Optional[InfrastructureDefinitionAzureVmssArgs] = None,
                                 azure_webapp: Optional[InfrastructureDefinitionAzureWebappArgs] = None,
                                 aws_ssh: Optional[InfrastructureDefinitionAwsSshArgs] = None,
                                 custom: Optional[InfrastructureDefinitionCustomArgs] = None,
                                 aws_lambda: Optional[InfrastructureDefinitionAwsLambdaArgs] = None,
                                 datacenter_winrm: Optional[InfrastructureDefinitionDatacenterWinrmArgs] = None,
                                 deployment_template_uri: Optional[str] = None,
                                 aws_winrm: Optional[InfrastructureDefinitionAwsWinrmArgs] = None,
                                 aws_ami: Optional[InfrastructureDefinitionAwsAmiArgs] = None,
                                 kubernetes: Optional[InfrastructureDefinitionKubernetesArgs] = None,
                                 kubernetes_gcp: Optional[InfrastructureDefinitionKubernetesGcpArgs] = None,
                                 name: Optional[str] = None,
                                 provisioner_name: Optional[str] = None,
                                 scoped_services: Optional[Sequence[str]] = None,
                                 tanzu: Optional[InfrastructureDefinitionTanzuArgs] = None)
    func NewInfrastructureDefinition(ctx *Context, name string, args InfrastructureDefinitionArgs, opts ...ResourceOption) (*InfrastructureDefinition, error)
    public InfrastructureDefinition(string name, InfrastructureDefinitionArgs args, CustomResourceOptions? opts = null)
    public InfrastructureDefinition(String name, InfrastructureDefinitionArgs args)
    public InfrastructureDefinition(String name, InfrastructureDefinitionArgs args, CustomResourceOptions options)
    
    type: harness:InfrastructureDefinition
    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 InfrastructureDefinitionArgs
    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 InfrastructureDefinitionArgs
    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 InfrastructureDefinitionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InfrastructureDefinitionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InfrastructureDefinitionArgs
    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 infrastructureDefinitionResource = new Harness.InfrastructureDefinition("infrastructureDefinitionResource", new()
    {
        CloudProviderType = "string",
        EnvId = "string",
        DeploymentType = "string",
        AppId = "string",
        DatacenterSsh = new Harness.Inputs.InfrastructureDefinitionDatacenterSshArgs
        {
            CloudProviderName = "string",
            HostConnectionAttributesName = "string",
            Hostnames = new[]
            {
                "string",
            },
        },
        AwsEcs = new Harness.Inputs.InfrastructureDefinitionAwsEcsArgs
        {
            CloudProviderName = "string",
            ClusterName = "string",
            LaunchType = "string",
            Region = "string",
            AssignPublicIp = false,
            ExecutionRole = "string",
            SecurityGroupIds = new[]
            {
                "string",
            },
            SubnetIds = new[]
            {
                "string",
            },
            VpcId = "string",
        },
        AzureVmss = new Harness.Inputs.InfrastructureDefinitionAzureVmssArgs
        {
            AuthType = "string",
            BaseName = "string",
            CloudProviderName = "string",
            DeploymentType = "string",
            ResourceGroupName = "string",
            SubscriptionId = "string",
            Username = "string",
            HostConnectionAttrsName = "string",
        },
        AzureWebapp = new Harness.Inputs.InfrastructureDefinitionAzureWebappArgs
        {
            CloudProviderName = "string",
            ResourceGroup = "string",
            SubscriptionId = "string",
        },
        AwsSsh = new Harness.Inputs.InfrastructureDefinitionAwsSshArgs
        {
            CloudProviderName = "string",
            HostConnectionType = "string",
            Region = "string",
            AutoscalingGroupName = "string",
            DesiredCapacity = 0,
            HostConnectionAttrsName = "string",
            HostnameConvention = "string",
            LoadbalancerName = "string",
            Tags = new[]
            {
                new Harness.Inputs.InfrastructureDefinitionAwsSshTagArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            VpcIds = new[]
            {
                "string",
            },
        },
        Custom = new Harness.Inputs.InfrastructureDefinitionCustomArgs
        {
            DeploymentTypeTemplateVersion = "string",
            Variables = new[]
            {
                new Harness.Inputs.InfrastructureDefinitionCustomVariableArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
        },
        AwsLambda = new Harness.Inputs.InfrastructureDefinitionAwsLambdaArgs
        {
            CloudProviderName = "string",
            Region = "string",
            IamRole = "string",
            SecurityGroupIds = new[]
            {
                "string",
            },
            SubnetIds = new[]
            {
                "string",
            },
            VpcId = "string",
        },
        DatacenterWinrm = new Harness.Inputs.InfrastructureDefinitionDatacenterWinrmArgs
        {
            CloudProviderName = "string",
            Hostnames = new[]
            {
                "string",
            },
            WinrmConnectionAttributesName = "string",
        },
        DeploymentTemplateUri = "string",
        AwsWinrm = new Harness.Inputs.InfrastructureDefinitionAwsWinrmArgs
        {
            AutoscalingGroupName = "string",
            CloudProviderName = "string",
            HostConnectionAttrsName = "string",
            HostConnectionType = "string",
            Region = "string",
            DesiredCapacity = 0,
            HostnameConvention = "string",
            LoadbalancerName = "string",
        },
        AwsAmi = new Harness.Inputs.InfrastructureDefinitionAwsAmiArgs
        {
            AmiDeploymentType = "string",
            Region = "string",
            CloudProviderName = "string",
            ClassicLoadbalancers = new[]
            {
                "string",
            },
            AutoscalingGroupName = "string",
            HostnameConvention = "string",
            AsgIdentifiesWorkload = false,
            SpotinstCloudProviderName = "string",
            SpotinstConfigJson = "string",
            StageClassicLoadbalancers = new[]
            {
                "string",
            },
            StageTargetGroupArns = new[]
            {
                "string",
            },
            TargetGroupArns = new[]
            {
                "string",
            },
            UseTrafficShift = false,
        },
        Kubernetes = new Harness.Inputs.InfrastructureDefinitionKubernetesArgs
        {
            CloudProviderName = "string",
            Namespace = "string",
            ReleaseName = "string",
        },
        KubernetesGcp = new Harness.Inputs.InfrastructureDefinitionKubernetesGcpArgs
        {
            CloudProviderName = "string",
            ClusterName = "string",
            Namespace = "string",
            ReleaseName = "string",
        },
        Name = "string",
        ProvisionerName = "string",
        ScopedServices = new[]
        {
            "string",
        },
        Tanzu = new Harness.Inputs.InfrastructureDefinitionTanzuArgs
        {
            CloudProviderName = "string",
            Organization = "string",
            Space = "string",
        },
    });
    
    example, err := harness.NewInfrastructureDefinition(ctx, "infrastructureDefinitionResource", &harness.InfrastructureDefinitionArgs{
    	CloudProviderType: pulumi.String("string"),
    	EnvId:             pulumi.String("string"),
    	DeploymentType:    pulumi.String("string"),
    	AppId:             pulumi.String("string"),
    	DatacenterSsh: &harness.InfrastructureDefinitionDatacenterSshArgs{
    		CloudProviderName:            pulumi.String("string"),
    		HostConnectionAttributesName: pulumi.String("string"),
    		Hostnames: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	AwsEcs: &harness.InfrastructureDefinitionAwsEcsArgs{
    		CloudProviderName: pulumi.String("string"),
    		ClusterName:       pulumi.String("string"),
    		LaunchType:        pulumi.String("string"),
    		Region:            pulumi.String("string"),
    		AssignPublicIp:    pulumi.Bool(false),
    		ExecutionRole:     pulumi.String("string"),
    		SecurityGroupIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		VpcId: pulumi.String("string"),
    	},
    	AzureVmss: &harness.InfrastructureDefinitionAzureVmssArgs{
    		AuthType:                pulumi.String("string"),
    		BaseName:                pulumi.String("string"),
    		CloudProviderName:       pulumi.String("string"),
    		DeploymentType:          pulumi.String("string"),
    		ResourceGroupName:       pulumi.String("string"),
    		SubscriptionId:          pulumi.String("string"),
    		Username:                pulumi.String("string"),
    		HostConnectionAttrsName: pulumi.String("string"),
    	},
    	AzureWebapp: &harness.InfrastructureDefinitionAzureWebappArgs{
    		CloudProviderName: pulumi.String("string"),
    		ResourceGroup:     pulumi.String("string"),
    		SubscriptionId:    pulumi.String("string"),
    	},
    	AwsSsh: &harness.InfrastructureDefinitionAwsSshArgs{
    		CloudProviderName:       pulumi.String("string"),
    		HostConnectionType:      pulumi.String("string"),
    		Region:                  pulumi.String("string"),
    		AutoscalingGroupName:    pulumi.String("string"),
    		DesiredCapacity:         pulumi.Int(0),
    		HostConnectionAttrsName: pulumi.String("string"),
    		HostnameConvention:      pulumi.String("string"),
    		LoadbalancerName:        pulumi.String("string"),
    		Tags: harness.InfrastructureDefinitionAwsSshTagArray{
    			&harness.InfrastructureDefinitionAwsSshTagArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		VpcIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Custom: &harness.InfrastructureDefinitionCustomArgs{
    		DeploymentTypeTemplateVersion: pulumi.String("string"),
    		Variables: harness.InfrastructureDefinitionCustomVariableArray{
    			&harness.InfrastructureDefinitionCustomVariableArgs{
    				Name:  pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    	},
    	AwsLambda: &harness.InfrastructureDefinitionAwsLambdaArgs{
    		CloudProviderName: pulumi.String("string"),
    		Region:            pulumi.String("string"),
    		IamRole:           pulumi.String("string"),
    		SecurityGroupIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		VpcId: pulumi.String("string"),
    	},
    	DatacenterWinrm: &harness.InfrastructureDefinitionDatacenterWinrmArgs{
    		CloudProviderName: pulumi.String("string"),
    		Hostnames: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		WinrmConnectionAttributesName: pulumi.String("string"),
    	},
    	DeploymentTemplateUri: pulumi.String("string"),
    	AwsWinrm: &harness.InfrastructureDefinitionAwsWinrmArgs{
    		AutoscalingGroupName:    pulumi.String("string"),
    		CloudProviderName:       pulumi.String("string"),
    		HostConnectionAttrsName: pulumi.String("string"),
    		HostConnectionType:      pulumi.String("string"),
    		Region:                  pulumi.String("string"),
    		DesiredCapacity:         pulumi.Int(0),
    		HostnameConvention:      pulumi.String("string"),
    		LoadbalancerName:        pulumi.String("string"),
    	},
    	AwsAmi: &harness.InfrastructureDefinitionAwsAmiArgs{
    		AmiDeploymentType: pulumi.String("string"),
    		Region:            pulumi.String("string"),
    		CloudProviderName: pulumi.String("string"),
    		ClassicLoadbalancers: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		AutoscalingGroupName:      pulumi.String("string"),
    		HostnameConvention:        pulumi.String("string"),
    		AsgIdentifiesWorkload:     pulumi.Bool(false),
    		SpotinstCloudProviderName: pulumi.String("string"),
    		SpotinstConfigJson:        pulumi.String("string"),
    		StageClassicLoadbalancers: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		StageTargetGroupArns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		TargetGroupArns: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		UseTrafficShift: pulumi.Bool(false),
    	},
    	Kubernetes: &harness.InfrastructureDefinitionKubernetesArgs{
    		CloudProviderName: pulumi.String("string"),
    		Namespace:         pulumi.String("string"),
    		ReleaseName:       pulumi.String("string"),
    	},
    	KubernetesGcp: &harness.InfrastructureDefinitionKubernetesGcpArgs{
    		CloudProviderName: pulumi.String("string"),
    		ClusterName:       pulumi.String("string"),
    		Namespace:         pulumi.String("string"),
    		ReleaseName:       pulumi.String("string"),
    	},
    	Name:            pulumi.String("string"),
    	ProvisionerName: pulumi.String("string"),
    	ScopedServices: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Tanzu: &harness.InfrastructureDefinitionTanzuArgs{
    		CloudProviderName: pulumi.String("string"),
    		Organization:      pulumi.String("string"),
    		Space:             pulumi.String("string"),
    	},
    })
    
    var infrastructureDefinitionResource = new InfrastructureDefinition("infrastructureDefinitionResource", InfrastructureDefinitionArgs.builder()
        .cloudProviderType("string")
        .envId("string")
        .deploymentType("string")
        .appId("string")
        .datacenterSsh(InfrastructureDefinitionDatacenterSshArgs.builder()
            .cloudProviderName("string")
            .hostConnectionAttributesName("string")
            .hostnames("string")
            .build())
        .awsEcs(InfrastructureDefinitionAwsEcsArgs.builder()
            .cloudProviderName("string")
            .clusterName("string")
            .launchType("string")
            .region("string")
            .assignPublicIp(false)
            .executionRole("string")
            .securityGroupIds("string")
            .subnetIds("string")
            .vpcId("string")
            .build())
        .azureVmss(InfrastructureDefinitionAzureVmssArgs.builder()
            .authType("string")
            .baseName("string")
            .cloudProviderName("string")
            .deploymentType("string")
            .resourceGroupName("string")
            .subscriptionId("string")
            .username("string")
            .hostConnectionAttrsName("string")
            .build())
        .azureWebapp(InfrastructureDefinitionAzureWebappArgs.builder()
            .cloudProviderName("string")
            .resourceGroup("string")
            .subscriptionId("string")
            .build())
        .awsSsh(InfrastructureDefinitionAwsSshArgs.builder()
            .cloudProviderName("string")
            .hostConnectionType("string")
            .region("string")
            .autoscalingGroupName("string")
            .desiredCapacity(0)
            .hostConnectionAttrsName("string")
            .hostnameConvention("string")
            .loadbalancerName("string")
            .tags(InfrastructureDefinitionAwsSshTagArgs.builder()
                .key("string")
                .value("string")
                .build())
            .vpcIds("string")
            .build())
        .custom(InfrastructureDefinitionCustomArgs.builder()
            .deploymentTypeTemplateVersion("string")
            .variables(InfrastructureDefinitionCustomVariableArgs.builder()
                .name("string")
                .value("string")
                .build())
            .build())
        .awsLambda(InfrastructureDefinitionAwsLambdaArgs.builder()
            .cloudProviderName("string")
            .region("string")
            .iamRole("string")
            .securityGroupIds("string")
            .subnetIds("string")
            .vpcId("string")
            .build())
        .datacenterWinrm(InfrastructureDefinitionDatacenterWinrmArgs.builder()
            .cloudProviderName("string")
            .hostnames("string")
            .winrmConnectionAttributesName("string")
            .build())
        .deploymentTemplateUri("string")
        .awsWinrm(InfrastructureDefinitionAwsWinrmArgs.builder()
            .autoscalingGroupName("string")
            .cloudProviderName("string")
            .hostConnectionAttrsName("string")
            .hostConnectionType("string")
            .region("string")
            .desiredCapacity(0)
            .hostnameConvention("string")
            .loadbalancerName("string")
            .build())
        .awsAmi(InfrastructureDefinitionAwsAmiArgs.builder()
            .amiDeploymentType("string")
            .region("string")
            .cloudProviderName("string")
            .classicLoadbalancers("string")
            .autoscalingGroupName("string")
            .hostnameConvention("string")
            .asgIdentifiesWorkload(false)
            .spotinstCloudProviderName("string")
            .spotinstConfigJson("string")
            .stageClassicLoadbalancers("string")
            .stageTargetGroupArns("string")
            .targetGroupArns("string")
            .useTrafficShift(false)
            .build())
        .kubernetes(InfrastructureDefinitionKubernetesArgs.builder()
            .cloudProviderName("string")
            .namespace("string")
            .releaseName("string")
            .build())
        .kubernetesGcp(InfrastructureDefinitionKubernetesGcpArgs.builder()
            .cloudProviderName("string")
            .clusterName("string")
            .namespace("string")
            .releaseName("string")
            .build())
        .name("string")
        .provisionerName("string")
        .scopedServices("string")
        .tanzu(InfrastructureDefinitionTanzuArgs.builder()
            .cloudProviderName("string")
            .organization("string")
            .space("string")
            .build())
        .build());
    
    infrastructure_definition_resource = harness.InfrastructureDefinition("infrastructureDefinitionResource",
        cloud_provider_type="string",
        env_id="string",
        deployment_type="string",
        app_id="string",
        datacenter_ssh=harness.InfrastructureDefinitionDatacenterSshArgs(
            cloud_provider_name="string",
            host_connection_attributes_name="string",
            hostnames=["string"],
        ),
        aws_ecs=harness.InfrastructureDefinitionAwsEcsArgs(
            cloud_provider_name="string",
            cluster_name="string",
            launch_type="string",
            region="string",
            assign_public_ip=False,
            execution_role="string",
            security_group_ids=["string"],
            subnet_ids=["string"],
            vpc_id="string",
        ),
        azure_vmss=harness.InfrastructureDefinitionAzureVmssArgs(
            auth_type="string",
            base_name="string",
            cloud_provider_name="string",
            deployment_type="string",
            resource_group_name="string",
            subscription_id="string",
            username="string",
            host_connection_attrs_name="string",
        ),
        azure_webapp=harness.InfrastructureDefinitionAzureWebappArgs(
            cloud_provider_name="string",
            resource_group="string",
            subscription_id="string",
        ),
        aws_ssh=harness.InfrastructureDefinitionAwsSshArgs(
            cloud_provider_name="string",
            host_connection_type="string",
            region="string",
            autoscaling_group_name="string",
            desired_capacity=0,
            host_connection_attrs_name="string",
            hostname_convention="string",
            loadbalancer_name="string",
            tags=[harness.InfrastructureDefinitionAwsSshTagArgs(
                key="string",
                value="string",
            )],
            vpc_ids=["string"],
        ),
        custom=harness.InfrastructureDefinitionCustomArgs(
            deployment_type_template_version="string",
            variables=[harness.InfrastructureDefinitionCustomVariableArgs(
                name="string",
                value="string",
            )],
        ),
        aws_lambda=harness.InfrastructureDefinitionAwsLambdaArgs(
            cloud_provider_name="string",
            region="string",
            iam_role="string",
            security_group_ids=["string"],
            subnet_ids=["string"],
            vpc_id="string",
        ),
        datacenter_winrm=harness.InfrastructureDefinitionDatacenterWinrmArgs(
            cloud_provider_name="string",
            hostnames=["string"],
            winrm_connection_attributes_name="string",
        ),
        deployment_template_uri="string",
        aws_winrm=harness.InfrastructureDefinitionAwsWinrmArgs(
            autoscaling_group_name="string",
            cloud_provider_name="string",
            host_connection_attrs_name="string",
            host_connection_type="string",
            region="string",
            desired_capacity=0,
            hostname_convention="string",
            loadbalancer_name="string",
        ),
        aws_ami=harness.InfrastructureDefinitionAwsAmiArgs(
            ami_deployment_type="string",
            region="string",
            cloud_provider_name="string",
            classic_loadbalancers=["string"],
            autoscaling_group_name="string",
            hostname_convention="string",
            asg_identifies_workload=False,
            spotinst_cloud_provider_name="string",
            spotinst_config_json="string",
            stage_classic_loadbalancers=["string"],
            stage_target_group_arns=["string"],
            target_group_arns=["string"],
            use_traffic_shift=False,
        ),
        kubernetes=harness.InfrastructureDefinitionKubernetesArgs(
            cloud_provider_name="string",
            namespace="string",
            release_name="string",
        ),
        kubernetes_gcp=harness.InfrastructureDefinitionKubernetesGcpArgs(
            cloud_provider_name="string",
            cluster_name="string",
            namespace="string",
            release_name="string",
        ),
        name="string",
        provisioner_name="string",
        scoped_services=["string"],
        tanzu=harness.InfrastructureDefinitionTanzuArgs(
            cloud_provider_name="string",
            organization="string",
            space="string",
        ))
    
    const infrastructureDefinitionResource = new harness.InfrastructureDefinition("infrastructureDefinitionResource", {
        cloudProviderType: "string",
        envId: "string",
        deploymentType: "string",
        appId: "string",
        datacenterSsh: {
            cloudProviderName: "string",
            hostConnectionAttributesName: "string",
            hostnames: ["string"],
        },
        awsEcs: {
            cloudProviderName: "string",
            clusterName: "string",
            launchType: "string",
            region: "string",
            assignPublicIp: false,
            executionRole: "string",
            securityGroupIds: ["string"],
            subnetIds: ["string"],
            vpcId: "string",
        },
        azureVmss: {
            authType: "string",
            baseName: "string",
            cloudProviderName: "string",
            deploymentType: "string",
            resourceGroupName: "string",
            subscriptionId: "string",
            username: "string",
            hostConnectionAttrsName: "string",
        },
        azureWebapp: {
            cloudProviderName: "string",
            resourceGroup: "string",
            subscriptionId: "string",
        },
        awsSsh: {
            cloudProviderName: "string",
            hostConnectionType: "string",
            region: "string",
            autoscalingGroupName: "string",
            desiredCapacity: 0,
            hostConnectionAttrsName: "string",
            hostnameConvention: "string",
            loadbalancerName: "string",
            tags: [{
                key: "string",
                value: "string",
            }],
            vpcIds: ["string"],
        },
        custom: {
            deploymentTypeTemplateVersion: "string",
            variables: [{
                name: "string",
                value: "string",
            }],
        },
        awsLambda: {
            cloudProviderName: "string",
            region: "string",
            iamRole: "string",
            securityGroupIds: ["string"],
            subnetIds: ["string"],
            vpcId: "string",
        },
        datacenterWinrm: {
            cloudProviderName: "string",
            hostnames: ["string"],
            winrmConnectionAttributesName: "string",
        },
        deploymentTemplateUri: "string",
        awsWinrm: {
            autoscalingGroupName: "string",
            cloudProviderName: "string",
            hostConnectionAttrsName: "string",
            hostConnectionType: "string",
            region: "string",
            desiredCapacity: 0,
            hostnameConvention: "string",
            loadbalancerName: "string",
        },
        awsAmi: {
            amiDeploymentType: "string",
            region: "string",
            cloudProviderName: "string",
            classicLoadbalancers: ["string"],
            autoscalingGroupName: "string",
            hostnameConvention: "string",
            asgIdentifiesWorkload: false,
            spotinstCloudProviderName: "string",
            spotinstConfigJson: "string",
            stageClassicLoadbalancers: ["string"],
            stageTargetGroupArns: ["string"],
            targetGroupArns: ["string"],
            useTrafficShift: false,
        },
        kubernetes: {
            cloudProviderName: "string",
            namespace: "string",
            releaseName: "string",
        },
        kubernetesGcp: {
            cloudProviderName: "string",
            clusterName: "string",
            namespace: "string",
            releaseName: "string",
        },
        name: "string",
        provisionerName: "string",
        scopedServices: ["string"],
        tanzu: {
            cloudProviderName: "string",
            organization: "string",
            space: "string",
        },
    });
    
    type: harness:InfrastructureDefinition
    properties:
        appId: string
        awsAmi:
            amiDeploymentType: string
            asgIdentifiesWorkload: false
            autoscalingGroupName: string
            classicLoadbalancers:
                - string
            cloudProviderName: string
            hostnameConvention: string
            region: string
            spotinstCloudProviderName: string
            spotinstConfigJson: string
            stageClassicLoadbalancers:
                - string
            stageTargetGroupArns:
                - string
            targetGroupArns:
                - string
            useTrafficShift: false
        awsEcs:
            assignPublicIp: false
            cloudProviderName: string
            clusterName: string
            executionRole: string
            launchType: string
            region: string
            securityGroupIds:
                - string
            subnetIds:
                - string
            vpcId: string
        awsLambda:
            cloudProviderName: string
            iamRole: string
            region: string
            securityGroupIds:
                - string
            subnetIds:
                - string
            vpcId: string
        awsSsh:
            autoscalingGroupName: string
            cloudProviderName: string
            desiredCapacity: 0
            hostConnectionAttrsName: string
            hostConnectionType: string
            hostnameConvention: string
            loadbalancerName: string
            region: string
            tags:
                - key: string
                  value: string
            vpcIds:
                - string
        awsWinrm:
            autoscalingGroupName: string
            cloudProviderName: string
            desiredCapacity: 0
            hostConnectionAttrsName: string
            hostConnectionType: string
            hostnameConvention: string
            loadbalancerName: string
            region: string
        azureVmss:
            authType: string
            baseName: string
            cloudProviderName: string
            deploymentType: string
            hostConnectionAttrsName: string
            resourceGroupName: string
            subscriptionId: string
            username: string
        azureWebapp:
            cloudProviderName: string
            resourceGroup: string
            subscriptionId: string
        cloudProviderType: string
        custom:
            deploymentTypeTemplateVersion: string
            variables:
                - name: string
                  value: string
        datacenterSsh:
            cloudProviderName: string
            hostConnectionAttributesName: string
            hostnames:
                - string
        datacenterWinrm:
            cloudProviderName: string
            hostnames:
                - string
            winrmConnectionAttributesName: string
        deploymentTemplateUri: string
        deploymentType: string
        envId: string
        kubernetes:
            cloudProviderName: string
            namespace: string
            releaseName: string
        kubernetesGcp:
            cloudProviderName: string
            clusterName: string
            namespace: string
            releaseName: string
        name: string
        provisionerName: string
        scopedServices:
            - string
        tanzu:
            cloudProviderName: string
            organization: string
            space: string
    

    InfrastructureDefinition Resource Properties

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

    Inputs

    The InfrastructureDefinition resource accepts the following input properties:

    AppId string
    The id of the application the infrastructure definition belongs to.
    CloudProviderType string
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    DeploymentType string
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    EnvId string
    The id of the environment the infrastructure definition belongs to.
    AwsAmi InfrastructureDefinitionAwsAmi
    The configuration details for Aws AMI deployments.
    AwsEcs InfrastructureDefinitionAwsEcs
    The configuration details for Aws AMI deployments.
    AwsLambda InfrastructureDefinitionAwsLambda
    The configuration details for Aws Lambda deployments.
    AwsSsh InfrastructureDefinitionAwsSsh
    The configuration details for AWS SSH deployments.
    AwsWinrm InfrastructureDefinitionAwsWinrm
    The configuration details for AWS WinRM deployments.
    AzureVmss InfrastructureDefinitionAzureVmss
    The configuration details for Azure VMSS deployments.
    AzureWebapp InfrastructureDefinitionAzureWebapp
    The configuration details for Azure WebApp deployments.
    Custom InfrastructureDefinitionCustom
    The configuration details for Custom deployments.
    DatacenterSsh InfrastructureDefinitionDatacenterSsh
    The configuration details for SSH datacenter deployments.
    DatacenterWinrm InfrastructureDefinitionDatacenterWinrm
    The configuration details for WinRM datacenter deployments.
    DeploymentTemplateUri string
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    Kubernetes InfrastructureDefinitionKubernetes
    The configuration details for Kubernetes deployments.
    KubernetesGcp InfrastructureDefinitionKubernetesGcp
    The configuration details for Kubernetes on GCP deployments.
    Name string
    The name of the infrastructure definition
    ProvisionerName string
    The name of the infrastructure provisioner to use.
    ScopedServices List<string>
    The list of service names to scope this infrastructure definition to.
    Tanzu InfrastructureDefinitionTanzu
    The configuration details for PCF deployments.
    AppId string
    The id of the application the infrastructure definition belongs to.
    CloudProviderType string
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    DeploymentType string
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    EnvId string
    The id of the environment the infrastructure definition belongs to.
    AwsAmi InfrastructureDefinitionAwsAmiArgs
    The configuration details for Aws AMI deployments.
    AwsEcs InfrastructureDefinitionAwsEcsArgs
    The configuration details for Aws AMI deployments.
    AwsLambda InfrastructureDefinitionAwsLambdaArgs
    The configuration details for Aws Lambda deployments.
    AwsSsh InfrastructureDefinitionAwsSshArgs
    The configuration details for AWS SSH deployments.
    AwsWinrm InfrastructureDefinitionAwsWinrmArgs
    The configuration details for AWS WinRM deployments.
    AzureVmss InfrastructureDefinitionAzureVmssArgs
    The configuration details for Azure VMSS deployments.
    AzureWebapp InfrastructureDefinitionAzureWebappArgs
    The configuration details for Azure WebApp deployments.
    Custom InfrastructureDefinitionCustomArgs
    The configuration details for Custom deployments.
    DatacenterSsh InfrastructureDefinitionDatacenterSshArgs
    The configuration details for SSH datacenter deployments.
    DatacenterWinrm InfrastructureDefinitionDatacenterWinrmArgs
    The configuration details for WinRM datacenter deployments.
    DeploymentTemplateUri string
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    Kubernetes InfrastructureDefinitionKubernetesArgs
    The configuration details for Kubernetes deployments.
    KubernetesGcp InfrastructureDefinitionKubernetesGcpArgs
    The configuration details for Kubernetes on GCP deployments.
    Name string
    The name of the infrastructure definition
    ProvisionerName string
    The name of the infrastructure provisioner to use.
    ScopedServices []string
    The list of service names to scope this infrastructure definition to.
    Tanzu InfrastructureDefinitionTanzuArgs
    The configuration details for PCF deployments.
    appId String
    The id of the application the infrastructure definition belongs to.
    cloudProviderType String
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    deploymentType String
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    envId String
    The id of the environment the infrastructure definition belongs to.
    awsAmi InfrastructureDefinitionAwsAmi
    The configuration details for Aws AMI deployments.
    awsEcs InfrastructureDefinitionAwsEcs
    The configuration details for Aws AMI deployments.
    awsLambda InfrastructureDefinitionAwsLambda
    The configuration details for Aws Lambda deployments.
    awsSsh InfrastructureDefinitionAwsSsh
    The configuration details for AWS SSH deployments.
    awsWinrm InfrastructureDefinitionAwsWinrm
    The configuration details for AWS WinRM deployments.
    azureVmss InfrastructureDefinitionAzureVmss
    The configuration details for Azure VMSS deployments.
    azureWebapp InfrastructureDefinitionAzureWebapp
    The configuration details for Azure WebApp deployments.
    custom InfrastructureDefinitionCustom
    The configuration details for Custom deployments.
    datacenterSsh InfrastructureDefinitionDatacenterSsh
    The configuration details for SSH datacenter deployments.
    datacenterWinrm InfrastructureDefinitionDatacenterWinrm
    The configuration details for WinRM datacenter deployments.
    deploymentTemplateUri String
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    kubernetes InfrastructureDefinitionKubernetes
    The configuration details for Kubernetes deployments.
    kubernetesGcp InfrastructureDefinitionKubernetesGcp
    The configuration details for Kubernetes on GCP deployments.
    name String
    The name of the infrastructure definition
    provisionerName String
    The name of the infrastructure provisioner to use.
    scopedServices List<String>
    The list of service names to scope this infrastructure definition to.
    tanzu InfrastructureDefinitionTanzu
    The configuration details for PCF deployments.
    appId string
    The id of the application the infrastructure definition belongs to.
    cloudProviderType string
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    deploymentType string
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    envId string
    The id of the environment the infrastructure definition belongs to.
    awsAmi InfrastructureDefinitionAwsAmi
    The configuration details for Aws AMI deployments.
    awsEcs InfrastructureDefinitionAwsEcs
    The configuration details for Aws AMI deployments.
    awsLambda InfrastructureDefinitionAwsLambda
    The configuration details for Aws Lambda deployments.
    awsSsh InfrastructureDefinitionAwsSsh
    The configuration details for AWS SSH deployments.
    awsWinrm InfrastructureDefinitionAwsWinrm
    The configuration details for AWS WinRM deployments.
    azureVmss InfrastructureDefinitionAzureVmss
    The configuration details for Azure VMSS deployments.
    azureWebapp InfrastructureDefinitionAzureWebapp
    The configuration details for Azure WebApp deployments.
    custom InfrastructureDefinitionCustom
    The configuration details for Custom deployments.
    datacenterSsh InfrastructureDefinitionDatacenterSsh
    The configuration details for SSH datacenter deployments.
    datacenterWinrm InfrastructureDefinitionDatacenterWinrm
    The configuration details for WinRM datacenter deployments.
    deploymentTemplateUri string
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    kubernetes InfrastructureDefinitionKubernetes
    The configuration details for Kubernetes deployments.
    kubernetesGcp InfrastructureDefinitionKubernetesGcp
    The configuration details for Kubernetes on GCP deployments.
    name string
    The name of the infrastructure definition
    provisionerName string
    The name of the infrastructure provisioner to use.
    scopedServices string[]
    The list of service names to scope this infrastructure definition to.
    tanzu InfrastructureDefinitionTanzu
    The configuration details for PCF deployments.
    app_id str
    The id of the application the infrastructure definition belongs to.
    cloud_provider_type str
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    deployment_type str
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    env_id str
    The id of the environment the infrastructure definition belongs to.
    aws_ami InfrastructureDefinitionAwsAmiArgs
    The configuration details for Aws AMI deployments.
    aws_ecs InfrastructureDefinitionAwsEcsArgs
    The configuration details for Aws AMI deployments.
    aws_lambda InfrastructureDefinitionAwsLambdaArgs
    The configuration details for Aws Lambda deployments.
    aws_ssh InfrastructureDefinitionAwsSshArgs
    The configuration details for AWS SSH deployments.
    aws_winrm InfrastructureDefinitionAwsWinrmArgs
    The configuration details for AWS WinRM deployments.
    azure_vmss InfrastructureDefinitionAzureVmssArgs
    The configuration details for Azure VMSS deployments.
    azure_webapp InfrastructureDefinitionAzureWebappArgs
    The configuration details for Azure WebApp deployments.
    custom InfrastructureDefinitionCustomArgs
    The configuration details for Custom deployments.
    datacenter_ssh InfrastructureDefinitionDatacenterSshArgs
    The configuration details for SSH datacenter deployments.
    datacenter_winrm InfrastructureDefinitionDatacenterWinrmArgs
    The configuration details for WinRM datacenter deployments.
    deployment_template_uri str
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    kubernetes InfrastructureDefinitionKubernetesArgs
    The configuration details for Kubernetes deployments.
    kubernetes_gcp InfrastructureDefinitionKubernetesGcpArgs
    The configuration details for Kubernetes on GCP deployments.
    name str
    The name of the infrastructure definition
    provisioner_name str
    The name of the infrastructure provisioner to use.
    scoped_services Sequence[str]
    The list of service names to scope this infrastructure definition to.
    tanzu InfrastructureDefinitionTanzuArgs
    The configuration details for PCF deployments.
    appId String
    The id of the application the infrastructure definition belongs to.
    cloudProviderType String
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    deploymentType String
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    envId String
    The id of the environment the infrastructure definition belongs to.
    awsAmi Property Map
    The configuration details for Aws AMI deployments.
    awsEcs Property Map
    The configuration details for Aws AMI deployments.
    awsLambda Property Map
    The configuration details for Aws Lambda deployments.
    awsSsh Property Map
    The configuration details for AWS SSH deployments.
    awsWinrm Property Map
    The configuration details for AWS WinRM deployments.
    azureVmss Property Map
    The configuration details for Azure VMSS deployments.
    azureWebapp Property Map
    The configuration details for Azure WebApp deployments.
    custom Property Map
    The configuration details for Custom deployments.
    datacenterSsh Property Map
    The configuration details for SSH datacenter deployments.
    datacenterWinrm Property Map
    The configuration details for WinRM datacenter deployments.
    deploymentTemplateUri String
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    kubernetes Property Map
    The configuration details for Kubernetes deployments.
    kubernetesGcp Property Map
    The configuration details for Kubernetes on GCP deployments.
    name String
    The name of the infrastructure definition
    provisionerName String
    The name of the infrastructure provisioner to use.
    scopedServices List<String>
    The list of service names to scope this infrastructure definition to.
    tanzu Property Map
    The configuration details for PCF deployments.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the InfrastructureDefinition 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 InfrastructureDefinition Resource

    Get an existing InfrastructureDefinition 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?: InfrastructureDefinitionState, opts?: CustomResourceOptions): InfrastructureDefinition
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            app_id: Optional[str] = None,
            aws_ami: Optional[InfrastructureDefinitionAwsAmiArgs] = None,
            aws_ecs: Optional[InfrastructureDefinitionAwsEcsArgs] = None,
            aws_lambda: Optional[InfrastructureDefinitionAwsLambdaArgs] = None,
            aws_ssh: Optional[InfrastructureDefinitionAwsSshArgs] = None,
            aws_winrm: Optional[InfrastructureDefinitionAwsWinrmArgs] = None,
            azure_vmss: Optional[InfrastructureDefinitionAzureVmssArgs] = None,
            azure_webapp: Optional[InfrastructureDefinitionAzureWebappArgs] = None,
            cloud_provider_type: Optional[str] = None,
            custom: Optional[InfrastructureDefinitionCustomArgs] = None,
            datacenter_ssh: Optional[InfrastructureDefinitionDatacenterSshArgs] = None,
            datacenter_winrm: Optional[InfrastructureDefinitionDatacenterWinrmArgs] = None,
            deployment_template_uri: Optional[str] = None,
            deployment_type: Optional[str] = None,
            env_id: Optional[str] = None,
            kubernetes: Optional[InfrastructureDefinitionKubernetesArgs] = None,
            kubernetes_gcp: Optional[InfrastructureDefinitionKubernetesGcpArgs] = None,
            name: Optional[str] = None,
            provisioner_name: Optional[str] = None,
            scoped_services: Optional[Sequence[str]] = None,
            tanzu: Optional[InfrastructureDefinitionTanzuArgs] = None) -> InfrastructureDefinition
    func GetInfrastructureDefinition(ctx *Context, name string, id IDInput, state *InfrastructureDefinitionState, opts ...ResourceOption) (*InfrastructureDefinition, error)
    public static InfrastructureDefinition Get(string name, Input<string> id, InfrastructureDefinitionState? state, CustomResourceOptions? opts = null)
    public static InfrastructureDefinition get(String name, Output<String> id, InfrastructureDefinitionState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    AppId string
    The id of the application the infrastructure definition belongs to.
    AwsAmi InfrastructureDefinitionAwsAmi
    The configuration details for Aws AMI deployments.
    AwsEcs InfrastructureDefinitionAwsEcs
    The configuration details for Aws AMI deployments.
    AwsLambda InfrastructureDefinitionAwsLambda
    The configuration details for Aws Lambda deployments.
    AwsSsh InfrastructureDefinitionAwsSsh
    The configuration details for AWS SSH deployments.
    AwsWinrm InfrastructureDefinitionAwsWinrm
    The configuration details for AWS WinRM deployments.
    AzureVmss InfrastructureDefinitionAzureVmss
    The configuration details for Azure VMSS deployments.
    AzureWebapp InfrastructureDefinitionAzureWebapp
    The configuration details for Azure WebApp deployments.
    CloudProviderType string
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    Custom InfrastructureDefinitionCustom
    The configuration details for Custom deployments.
    DatacenterSsh InfrastructureDefinitionDatacenterSsh
    The configuration details for SSH datacenter deployments.
    DatacenterWinrm InfrastructureDefinitionDatacenterWinrm
    The configuration details for WinRM datacenter deployments.
    DeploymentTemplateUri string
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    DeploymentType string
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    EnvId string
    The id of the environment the infrastructure definition belongs to.
    Kubernetes InfrastructureDefinitionKubernetes
    The configuration details for Kubernetes deployments.
    KubernetesGcp InfrastructureDefinitionKubernetesGcp
    The configuration details for Kubernetes on GCP deployments.
    Name string
    The name of the infrastructure definition
    ProvisionerName string
    The name of the infrastructure provisioner to use.
    ScopedServices List<string>
    The list of service names to scope this infrastructure definition to.
    Tanzu InfrastructureDefinitionTanzu
    The configuration details for PCF deployments.
    AppId string
    The id of the application the infrastructure definition belongs to.
    AwsAmi InfrastructureDefinitionAwsAmiArgs
    The configuration details for Aws AMI deployments.
    AwsEcs InfrastructureDefinitionAwsEcsArgs
    The configuration details for Aws AMI deployments.
    AwsLambda InfrastructureDefinitionAwsLambdaArgs
    The configuration details for Aws Lambda deployments.
    AwsSsh InfrastructureDefinitionAwsSshArgs
    The configuration details for AWS SSH deployments.
    AwsWinrm InfrastructureDefinitionAwsWinrmArgs
    The configuration details for AWS WinRM deployments.
    AzureVmss InfrastructureDefinitionAzureVmssArgs
    The configuration details for Azure VMSS deployments.
    AzureWebapp InfrastructureDefinitionAzureWebappArgs
    The configuration details for Azure WebApp deployments.
    CloudProviderType string
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    Custom InfrastructureDefinitionCustomArgs
    The configuration details for Custom deployments.
    DatacenterSsh InfrastructureDefinitionDatacenterSshArgs
    The configuration details for SSH datacenter deployments.
    DatacenterWinrm InfrastructureDefinitionDatacenterWinrmArgs
    The configuration details for WinRM datacenter deployments.
    DeploymentTemplateUri string
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    DeploymentType string
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    EnvId string
    The id of the environment the infrastructure definition belongs to.
    Kubernetes InfrastructureDefinitionKubernetesArgs
    The configuration details for Kubernetes deployments.
    KubernetesGcp InfrastructureDefinitionKubernetesGcpArgs
    The configuration details for Kubernetes on GCP deployments.
    Name string
    The name of the infrastructure definition
    ProvisionerName string
    The name of the infrastructure provisioner to use.
    ScopedServices []string
    The list of service names to scope this infrastructure definition to.
    Tanzu InfrastructureDefinitionTanzuArgs
    The configuration details for PCF deployments.
    appId String
    The id of the application the infrastructure definition belongs to.
    awsAmi InfrastructureDefinitionAwsAmi
    The configuration details for Aws AMI deployments.
    awsEcs InfrastructureDefinitionAwsEcs
    The configuration details for Aws AMI deployments.
    awsLambda InfrastructureDefinitionAwsLambda
    The configuration details for Aws Lambda deployments.
    awsSsh InfrastructureDefinitionAwsSsh
    The configuration details for AWS SSH deployments.
    awsWinrm InfrastructureDefinitionAwsWinrm
    The configuration details for AWS WinRM deployments.
    azureVmss InfrastructureDefinitionAzureVmss
    The configuration details for Azure VMSS deployments.
    azureWebapp InfrastructureDefinitionAzureWebapp
    The configuration details for Azure WebApp deployments.
    cloudProviderType String
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    custom InfrastructureDefinitionCustom
    The configuration details for Custom deployments.
    datacenterSsh InfrastructureDefinitionDatacenterSsh
    The configuration details for SSH datacenter deployments.
    datacenterWinrm InfrastructureDefinitionDatacenterWinrm
    The configuration details for WinRM datacenter deployments.
    deploymentTemplateUri String
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    deploymentType String
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    envId String
    The id of the environment the infrastructure definition belongs to.
    kubernetes InfrastructureDefinitionKubernetes
    The configuration details for Kubernetes deployments.
    kubernetesGcp InfrastructureDefinitionKubernetesGcp
    The configuration details for Kubernetes on GCP deployments.
    name String
    The name of the infrastructure definition
    provisionerName String
    The name of the infrastructure provisioner to use.
    scopedServices List<String>
    The list of service names to scope this infrastructure definition to.
    tanzu InfrastructureDefinitionTanzu
    The configuration details for PCF deployments.
    appId string
    The id of the application the infrastructure definition belongs to.
    awsAmi InfrastructureDefinitionAwsAmi
    The configuration details for Aws AMI deployments.
    awsEcs InfrastructureDefinitionAwsEcs
    The configuration details for Aws AMI deployments.
    awsLambda InfrastructureDefinitionAwsLambda
    The configuration details for Aws Lambda deployments.
    awsSsh InfrastructureDefinitionAwsSsh
    The configuration details for AWS SSH deployments.
    awsWinrm InfrastructureDefinitionAwsWinrm
    The configuration details for AWS WinRM deployments.
    azureVmss InfrastructureDefinitionAzureVmss
    The configuration details for Azure VMSS deployments.
    azureWebapp InfrastructureDefinitionAzureWebapp
    The configuration details for Azure WebApp deployments.
    cloudProviderType string
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    custom InfrastructureDefinitionCustom
    The configuration details for Custom deployments.
    datacenterSsh InfrastructureDefinitionDatacenterSsh
    The configuration details for SSH datacenter deployments.
    datacenterWinrm InfrastructureDefinitionDatacenterWinrm
    The configuration details for WinRM datacenter deployments.
    deploymentTemplateUri string
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    deploymentType string
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    envId string
    The id of the environment the infrastructure definition belongs to.
    kubernetes InfrastructureDefinitionKubernetes
    The configuration details for Kubernetes deployments.
    kubernetesGcp InfrastructureDefinitionKubernetesGcp
    The configuration details for Kubernetes on GCP deployments.
    name string
    The name of the infrastructure definition
    provisionerName string
    The name of the infrastructure provisioner to use.
    scopedServices string[]
    The list of service names to scope this infrastructure definition to.
    tanzu InfrastructureDefinitionTanzu
    The configuration details for PCF deployments.
    app_id str
    The id of the application the infrastructure definition belongs to.
    aws_ami InfrastructureDefinitionAwsAmiArgs
    The configuration details for Aws AMI deployments.
    aws_ecs InfrastructureDefinitionAwsEcsArgs
    The configuration details for Aws AMI deployments.
    aws_lambda InfrastructureDefinitionAwsLambdaArgs
    The configuration details for Aws Lambda deployments.
    aws_ssh InfrastructureDefinitionAwsSshArgs
    The configuration details for AWS SSH deployments.
    aws_winrm InfrastructureDefinitionAwsWinrmArgs
    The configuration details for AWS WinRM deployments.
    azure_vmss InfrastructureDefinitionAzureVmssArgs
    The configuration details for Azure VMSS deployments.
    azure_webapp InfrastructureDefinitionAzureWebappArgs
    The configuration details for Azure WebApp deployments.
    cloud_provider_type str
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    custom InfrastructureDefinitionCustomArgs
    The configuration details for Custom deployments.
    datacenter_ssh InfrastructureDefinitionDatacenterSshArgs
    The configuration details for SSH datacenter deployments.
    datacenter_winrm InfrastructureDefinitionDatacenterWinrmArgs
    The configuration details for WinRM datacenter deployments.
    deployment_template_uri str
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    deployment_type str
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    env_id str
    The id of the environment the infrastructure definition belongs to.
    kubernetes InfrastructureDefinitionKubernetesArgs
    The configuration details for Kubernetes deployments.
    kubernetes_gcp InfrastructureDefinitionKubernetesGcpArgs
    The configuration details for Kubernetes on GCP deployments.
    name str
    The name of the infrastructure definition
    provisioner_name str
    The name of the infrastructure provisioner to use.
    scoped_services Sequence[str]
    The list of service names to scope this infrastructure definition to.
    tanzu InfrastructureDefinitionTanzuArgs
    The configuration details for PCF deployments.
    appId String
    The id of the application the infrastructure definition belongs to.
    awsAmi Property Map
    The configuration details for Aws AMI deployments.
    awsEcs Property Map
    The configuration details for Aws AMI deployments.
    awsLambda Property Map
    The configuration details for Aws Lambda deployments.
    awsSsh Property Map
    The configuration details for AWS SSH deployments.
    awsWinrm Property Map
    The configuration details for AWS WinRM deployments.
    azureVmss Property Map
    The configuration details for Azure VMSS deployments.
    azureWebapp Property Map
    The configuration details for Azure WebApp deployments.
    cloudProviderType String
    The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICALDATACENTER, KUBERNETESCLUSTER, PCF, SPOTINST
    custom Property Map
    The configuration details for Custom deployments.
    datacenterSsh Property Map
    The configuration details for SSH datacenter deployments.
    datacenterWinrm Property Map
    The configuration details for WinRM datacenter deployments.
    deploymentTemplateUri String
    The URI of the deployment template to use. Only used if deployment_type is CUSTOM.
    deploymentType String
    The type of the deployment to use. Valid options are AMI, AWSCODEDEPLOY, AWSLAMBDA, AZUREVMSS, AZUREWEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
    envId String
    The id of the environment the infrastructure definition belongs to.
    kubernetes Property Map
    The configuration details for Kubernetes deployments.
    kubernetesGcp Property Map
    The configuration details for Kubernetes on GCP deployments.
    name String
    The name of the infrastructure definition
    provisionerName String
    The name of the infrastructure provisioner to use.
    scopedServices List<String>
    The list of service names to scope this infrastructure definition to.
    tanzu Property Map
    The configuration details for PCF deployments.

    Supporting Types

    InfrastructureDefinitionAwsAmi, InfrastructureDefinitionAwsAmiArgs

    AmiDeploymentType string
    The ami deployment type to use. Valid options are AWS_ASG, SPOTINST
    CloudProviderName string
    The name of the cloud provider to connect with.
    Region string
    The region to deploy to.
    AsgIdentifiesWorkload bool
    Flag to indicate whether the autoscaling group identifies the workload.
    AutoscalingGroupName string
    The name of the autoscaling group.
    ClassicLoadbalancers List<string>
    The classic load balancers to use.
    HostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    SpotinstCloudProviderName string
    The name of the SpotInst cloud provider to connect with.
    SpotinstConfigJson string
    The SpotInst configuration to use.
    StageClassicLoadbalancers List<string>
    The staging classic load balancers to use.
    StageTargetGroupArns List<string>
    The staging classic load balancers to use.
    TargetGroupArns List<string>
    The ARN's of the target groups.
    UseTrafficShift bool
    Flag to enable traffic shifting.
    AmiDeploymentType string
    The ami deployment type to use. Valid options are AWS_ASG, SPOTINST
    CloudProviderName string
    The name of the cloud provider to connect with.
    Region string
    The region to deploy to.
    AsgIdentifiesWorkload bool
    Flag to indicate whether the autoscaling group identifies the workload.
    AutoscalingGroupName string
    The name of the autoscaling group.
    ClassicLoadbalancers []string
    The classic load balancers to use.
    HostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    SpotinstCloudProviderName string
    The name of the SpotInst cloud provider to connect with.
    SpotinstConfigJson string
    The SpotInst configuration to use.
    StageClassicLoadbalancers []string
    The staging classic load balancers to use.
    StageTargetGroupArns []string
    The staging classic load balancers to use.
    TargetGroupArns []string
    The ARN's of the target groups.
    UseTrafficShift bool
    Flag to enable traffic shifting.
    amiDeploymentType String
    The ami deployment type to use. Valid options are AWS_ASG, SPOTINST
    cloudProviderName String
    The name of the cloud provider to connect with.
    region String
    The region to deploy to.
    asgIdentifiesWorkload Boolean
    Flag to indicate whether the autoscaling group identifies the workload.
    autoscalingGroupName String
    The name of the autoscaling group.
    classicLoadbalancers List<String>
    The classic load balancers to use.
    hostnameConvention String
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    spotinstCloudProviderName String
    The name of the SpotInst cloud provider to connect with.
    spotinstConfigJson String
    The SpotInst configuration to use.
    stageClassicLoadbalancers List<String>
    The staging classic load balancers to use.
    stageTargetGroupArns List<String>
    The staging classic load balancers to use.
    targetGroupArns List<String>
    The ARN's of the target groups.
    useTrafficShift Boolean
    Flag to enable traffic shifting.
    amiDeploymentType string
    The ami deployment type to use. Valid options are AWS_ASG, SPOTINST
    cloudProviderName string
    The name of the cloud provider to connect with.
    region string
    The region to deploy to.
    asgIdentifiesWorkload boolean
    Flag to indicate whether the autoscaling group identifies the workload.
    autoscalingGroupName string
    The name of the autoscaling group.
    classicLoadbalancers string[]
    The classic load balancers to use.
    hostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    spotinstCloudProviderName string
    The name of the SpotInst cloud provider to connect with.
    spotinstConfigJson string
    The SpotInst configuration to use.
    stageClassicLoadbalancers string[]
    The staging classic load balancers to use.
    stageTargetGroupArns string[]
    The staging classic load balancers to use.
    targetGroupArns string[]
    The ARN's of the target groups.
    useTrafficShift boolean
    Flag to enable traffic shifting.
    ami_deployment_type str
    The ami deployment type to use. Valid options are AWS_ASG, SPOTINST
    cloud_provider_name str
    The name of the cloud provider to connect with.
    region str
    The region to deploy to.
    asg_identifies_workload bool
    Flag to indicate whether the autoscaling group identifies the workload.
    autoscaling_group_name str
    The name of the autoscaling group.
    classic_loadbalancers Sequence[str]
    The classic load balancers to use.
    hostname_convention str
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    spotinst_cloud_provider_name str
    The name of the SpotInst cloud provider to connect with.
    spotinst_config_json str
    The SpotInst configuration to use.
    stage_classic_loadbalancers Sequence[str]
    The staging classic load balancers to use.
    stage_target_group_arns Sequence[str]
    The staging classic load balancers to use.
    target_group_arns Sequence[str]
    The ARN's of the target groups.
    use_traffic_shift bool
    Flag to enable traffic shifting.
    amiDeploymentType String
    The ami deployment type to use. Valid options are AWS_ASG, SPOTINST
    cloudProviderName String
    The name of the cloud provider to connect with.
    region String
    The region to deploy to.
    asgIdentifiesWorkload Boolean
    Flag to indicate whether the autoscaling group identifies the workload.
    autoscalingGroupName String
    The name of the autoscaling group.
    classicLoadbalancers List<String>
    The classic load balancers to use.
    hostnameConvention String
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    spotinstCloudProviderName String
    The name of the SpotInst cloud provider to connect with.
    spotinstConfigJson String
    The SpotInst configuration to use.
    stageClassicLoadbalancers List<String>
    The staging classic load balancers to use.
    stageTargetGroupArns List<String>
    The staging classic load balancers to use.
    targetGroupArns List<String>
    The ARN's of the target groups.
    useTrafficShift Boolean
    Flag to enable traffic shifting.

    InfrastructureDefinitionAwsEcs, InfrastructureDefinitionAwsEcsArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    ClusterName string
    The name of the ECS cluster to use.
    LaunchType string
    The type of launch configuration to use. Valid options are FARGATE
    Region string
    The region to deploy to.
    AssignPublicIp bool
    Flag to assign a public IP address.
    ExecutionRole string
    The ARN of the role to use for execution.
    SecurityGroupIds List<string>
    The security group ids to apply to the ecs service.
    SubnetIds List<string>
    The subnet ids to apply to the ecs service.
    VpcId string
    The VPC ids to use when selecting the instances.
    CloudProviderName string
    The name of the cloud provider to connect with.
    ClusterName string
    The name of the ECS cluster to use.
    LaunchType string
    The type of launch configuration to use. Valid options are FARGATE
    Region string
    The region to deploy to.
    AssignPublicIp bool
    Flag to assign a public IP address.
    ExecutionRole string
    The ARN of the role to use for execution.
    SecurityGroupIds []string
    The security group ids to apply to the ecs service.
    SubnetIds []string
    The subnet ids to apply to the ecs service.
    VpcId string
    The VPC ids to use when selecting the instances.
    cloudProviderName String
    The name of the cloud provider to connect with.
    clusterName String
    The name of the ECS cluster to use.
    launchType String
    The type of launch configuration to use. Valid options are FARGATE
    region String
    The region to deploy to.
    assignPublicIp Boolean
    Flag to assign a public IP address.
    executionRole String
    The ARN of the role to use for execution.
    securityGroupIds List<String>
    The security group ids to apply to the ecs service.
    subnetIds List<String>
    The subnet ids to apply to the ecs service.
    vpcId String
    The VPC ids to use when selecting the instances.
    cloudProviderName string
    The name of the cloud provider to connect with.
    clusterName string
    The name of the ECS cluster to use.
    launchType string
    The type of launch configuration to use. Valid options are FARGATE
    region string
    The region to deploy to.
    assignPublicIp boolean
    Flag to assign a public IP address.
    executionRole string
    The ARN of the role to use for execution.
    securityGroupIds string[]
    The security group ids to apply to the ecs service.
    subnetIds string[]
    The subnet ids to apply to the ecs service.
    vpcId string
    The VPC ids to use when selecting the instances.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    cluster_name str
    The name of the ECS cluster to use.
    launch_type str
    The type of launch configuration to use. Valid options are FARGATE
    region str
    The region to deploy to.
    assign_public_ip bool
    Flag to assign a public IP address.
    execution_role str
    The ARN of the role to use for execution.
    security_group_ids Sequence[str]
    The security group ids to apply to the ecs service.
    subnet_ids Sequence[str]
    The subnet ids to apply to the ecs service.
    vpc_id str
    The VPC ids to use when selecting the instances.
    cloudProviderName String
    The name of the cloud provider to connect with.
    clusterName String
    The name of the ECS cluster to use.
    launchType String
    The type of launch configuration to use. Valid options are FARGATE
    region String
    The region to deploy to.
    assignPublicIp Boolean
    Flag to assign a public IP address.
    executionRole String
    The ARN of the role to use for execution.
    securityGroupIds List<String>
    The security group ids to apply to the ecs service.
    subnetIds List<String>
    The subnet ids to apply to the ecs service.
    vpcId String
    The VPC ids to use when selecting the instances.

    InfrastructureDefinitionAwsLambda, InfrastructureDefinitionAwsLambdaArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    Region string
    The region to deploy to.
    IamRole string
    The IAM role to use.
    SecurityGroupIds List<string>
    The security group ids to apply to the ecs service.
    SubnetIds List<string>
    The subnet ids to apply to the ecs service.
    VpcId string
    The VPC ids to use when selecting the instances.
    CloudProviderName string
    The name of the cloud provider to connect with.
    Region string
    The region to deploy to.
    IamRole string
    The IAM role to use.
    SecurityGroupIds []string
    The security group ids to apply to the ecs service.
    SubnetIds []string
    The subnet ids to apply to the ecs service.
    VpcId string
    The VPC ids to use when selecting the instances.
    cloudProviderName String
    The name of the cloud provider to connect with.
    region String
    The region to deploy to.
    iamRole String
    The IAM role to use.
    securityGroupIds List<String>
    The security group ids to apply to the ecs service.
    subnetIds List<String>
    The subnet ids to apply to the ecs service.
    vpcId String
    The VPC ids to use when selecting the instances.
    cloudProviderName string
    The name of the cloud provider to connect with.
    region string
    The region to deploy to.
    iamRole string
    The IAM role to use.
    securityGroupIds string[]
    The security group ids to apply to the ecs service.
    subnetIds string[]
    The subnet ids to apply to the ecs service.
    vpcId string
    The VPC ids to use when selecting the instances.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    region str
    The region to deploy to.
    iam_role str
    The IAM role to use.
    security_group_ids Sequence[str]
    The security group ids to apply to the ecs service.
    subnet_ids Sequence[str]
    The subnet ids to apply to the ecs service.
    vpc_id str
    The VPC ids to use when selecting the instances.
    cloudProviderName String
    The name of the cloud provider to connect with.
    region String
    The region to deploy to.
    iamRole String
    The IAM role to use.
    securityGroupIds List<String>
    The security group ids to apply to the ecs service.
    subnetIds List<String>
    The subnet ids to apply to the ecs service.
    vpcId String
    The VPC ids to use when selecting the instances.

    InfrastructureDefinitionAwsSsh, InfrastructureDefinitionAwsSshArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    HostConnectionType string
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    Region string
    The region to deploy to.
    AutoscalingGroupName string
    The name of the autoscaling group.
    DesiredCapacity int
    The desired capacity of the auto scaling group.
    HostConnectionAttrsName string
    The name of the host connection attributes to use.
    HostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    LoadbalancerName string
    The name of the load balancer to use.
    Tags List<InfrastructureDefinitionAwsSshTag>
    The tags to use when selecting the instances.
    VpcIds List<string>
    The VPC ids to use when selecting the instances.
    CloudProviderName string
    The name of the cloud provider to connect with.
    HostConnectionType string
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    Region string
    The region to deploy to.
    AutoscalingGroupName string
    The name of the autoscaling group.
    DesiredCapacity int
    The desired capacity of the auto scaling group.
    HostConnectionAttrsName string
    The name of the host connection attributes to use.
    HostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    LoadbalancerName string
    The name of the load balancer to use.
    Tags []InfrastructureDefinitionAwsSshTag
    The tags to use when selecting the instances.
    VpcIds []string
    The VPC ids to use when selecting the instances.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostConnectionType String
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region String
    The region to deploy to.
    autoscalingGroupName String
    The name of the autoscaling group.
    desiredCapacity Integer
    The desired capacity of the auto scaling group.
    hostConnectionAttrsName String
    The name of the host connection attributes to use.
    hostnameConvention String
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancerName String
    The name of the load balancer to use.
    tags List<InfrastructureDefinitionAwsSshTag>
    The tags to use when selecting the instances.
    vpcIds List<String>
    The VPC ids to use when selecting the instances.
    cloudProviderName string
    The name of the cloud provider to connect with.
    hostConnectionType string
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region string
    The region to deploy to.
    autoscalingGroupName string
    The name of the autoscaling group.
    desiredCapacity number
    The desired capacity of the auto scaling group.
    hostConnectionAttrsName string
    The name of the host connection attributes to use.
    hostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancerName string
    The name of the load balancer to use.
    tags InfrastructureDefinitionAwsSshTag[]
    The tags to use when selecting the instances.
    vpcIds string[]
    The VPC ids to use when selecting the instances.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    host_connection_type str
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region str
    The region to deploy to.
    autoscaling_group_name str
    The name of the autoscaling group.
    desired_capacity int
    The desired capacity of the auto scaling group.
    host_connection_attrs_name str
    The name of the host connection attributes to use.
    hostname_convention str
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancer_name str
    The name of the load balancer to use.
    tags Sequence[InfrastructureDefinitionAwsSshTag]
    The tags to use when selecting the instances.
    vpc_ids Sequence[str]
    The VPC ids to use when selecting the instances.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostConnectionType String
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region String
    The region to deploy to.
    autoscalingGroupName String
    The name of the autoscaling group.
    desiredCapacity Number
    The desired capacity of the auto scaling group.
    hostConnectionAttrsName String
    The name of the host connection attributes to use.
    hostnameConvention String
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancerName String
    The name of the load balancer to use.
    tags List<Property Map>
    The tags to use when selecting the instances.
    vpcIds List<String>
    The VPC ids to use when selecting the instances.

    InfrastructureDefinitionAwsSshTag, InfrastructureDefinitionAwsSshTagArgs

    Key string
    The key of the tag.
    Value string
    The value of the tag.
    Key string
    The key of the tag.
    Value string
    The value of the tag.
    key String
    The key of the tag.
    value String
    The value of the tag.
    key string
    The key of the tag.
    value string
    The value of the tag.
    key str
    The key of the tag.
    value str
    The value of the tag.
    key String
    The key of the tag.
    value String
    The value of the tag.

    InfrastructureDefinitionAwsWinrm, InfrastructureDefinitionAwsWinrmArgs

    AutoscalingGroupName string
    The name of the autoscaling group.
    CloudProviderName string
    The name of the cloud provider to connect with.
    HostConnectionAttrsName string
    The name of the host connection attributes to use.
    HostConnectionType string
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    Region string
    The region to deploy to.
    DesiredCapacity int
    The desired capacity of the autoscaling group.
    HostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    LoadbalancerName string
    The name of the load balancer to use.
    AutoscalingGroupName string
    The name of the autoscaling group.
    CloudProviderName string
    The name of the cloud provider to connect with.
    HostConnectionAttrsName string
    The name of the host connection attributes to use.
    HostConnectionType string
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    Region string
    The region to deploy to.
    DesiredCapacity int
    The desired capacity of the autoscaling group.
    HostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    LoadbalancerName string
    The name of the load balancer to use.
    autoscalingGroupName String
    The name of the autoscaling group.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostConnectionAttrsName String
    The name of the host connection attributes to use.
    hostConnectionType String
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region String
    The region to deploy to.
    desiredCapacity Integer
    The desired capacity of the autoscaling group.
    hostnameConvention String
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancerName String
    The name of the load balancer to use.
    autoscalingGroupName string
    The name of the autoscaling group.
    cloudProviderName string
    The name of the cloud provider to connect with.
    hostConnectionAttrsName string
    The name of the host connection attributes to use.
    hostConnectionType string
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region string
    The region to deploy to.
    desiredCapacity number
    The desired capacity of the autoscaling group.
    hostnameConvention string
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancerName string
    The name of the load balancer to use.
    autoscaling_group_name str
    The name of the autoscaling group.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    host_connection_attrs_name str
    The name of the host connection attributes to use.
    host_connection_type str
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region str
    The region to deploy to.
    desired_capacity int
    The desired capacity of the autoscaling group.
    hostname_convention str
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancer_name str
    The name of the load balancer to use.
    autoscalingGroupName String
    The name of the autoscaling group.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostConnectionAttrsName String
    The name of the host connection attributes to use.
    hostConnectionType String
    The type of host connection to use. Valid options are PRIVATEDNS, PUBLICDNS, PRIVATEIP, PUBLICIP
    region String
    The region to deploy to.
    desiredCapacity Number
    The desired capacity of the autoscaling group.
    hostnameConvention String
    The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}
    loadbalancerName String
    The name of the load balancer to use.

    InfrastructureDefinitionAzureVmss, InfrastructureDefinitionAzureVmssArgs

    AuthType string
    The type of authentication to use. Valid options are SSHPUBLICKEY.
    BaseName string
    Base name.
    CloudProviderName string
    The name of the cloud provider to connect with.
    DeploymentType string
    The type of deployment. Valid options are NATIVE_VMSS
    ResourceGroupName string
    The name of the resource group.
    SubscriptionId string
    The unique id of the azure subscription.
    Username string
    The username to connect with.
    HostConnectionAttrsName string
    The name of the host connection attributes to use.
    AuthType string
    The type of authentication to use. Valid options are SSHPUBLICKEY.
    BaseName string
    Base name.
    CloudProviderName string
    The name of the cloud provider to connect with.
    DeploymentType string
    The type of deployment. Valid options are NATIVE_VMSS
    ResourceGroupName string
    The name of the resource group.
    SubscriptionId string
    The unique id of the azure subscription.
    Username string
    The username to connect with.
    HostConnectionAttrsName string
    The name of the host connection attributes to use.
    authType String
    The type of authentication to use. Valid options are SSHPUBLICKEY.
    baseName String
    Base name.
    cloudProviderName String
    The name of the cloud provider to connect with.
    deploymentType String
    The type of deployment. Valid options are NATIVE_VMSS
    resourceGroupName String
    The name of the resource group.
    subscriptionId String
    The unique id of the azure subscription.
    username String
    The username to connect with.
    hostConnectionAttrsName String
    The name of the host connection attributes to use.
    authType string
    The type of authentication to use. Valid options are SSHPUBLICKEY.
    baseName string
    Base name.
    cloudProviderName string
    The name of the cloud provider to connect with.
    deploymentType string
    The type of deployment. Valid options are NATIVE_VMSS
    resourceGroupName string
    The name of the resource group.
    subscriptionId string
    The unique id of the azure subscription.
    username string
    The username to connect with.
    hostConnectionAttrsName string
    The name of the host connection attributes to use.
    auth_type str
    The type of authentication to use. Valid options are SSHPUBLICKEY.
    base_name str
    Base name.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    deployment_type str
    The type of deployment. Valid options are NATIVE_VMSS
    resource_group_name str
    The name of the resource group.
    subscription_id str
    The unique id of the azure subscription.
    username str
    The username to connect with.
    host_connection_attrs_name str
    The name of the host connection attributes to use.
    authType String
    The type of authentication to use. Valid options are SSHPUBLICKEY.
    baseName String
    Base name.
    cloudProviderName String
    The name of the cloud provider to connect with.
    deploymentType String
    The type of deployment. Valid options are NATIVE_VMSS
    resourceGroupName String
    The name of the resource group.
    subscriptionId String
    The unique id of the azure subscription.
    username String
    The username to connect with.
    hostConnectionAttrsName String
    The name of the host connection attributes to use.

    InfrastructureDefinitionAzureWebapp, InfrastructureDefinitionAzureWebappArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    ResourceGroup string
    The name of the resource group.
    SubscriptionId string
    The unique id of the azure subscription.
    CloudProviderName string
    The name of the cloud provider to connect with.
    ResourceGroup string
    The name of the resource group.
    SubscriptionId string
    The unique id of the azure subscription.
    cloudProviderName String
    The name of the cloud provider to connect with.
    resourceGroup String
    The name of the resource group.
    subscriptionId String
    The unique id of the azure subscription.
    cloudProviderName string
    The name of the cloud provider to connect with.
    resourceGroup string
    The name of the resource group.
    subscriptionId string
    The unique id of the azure subscription.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    resource_group str
    The name of the resource group.
    subscription_id str
    The unique id of the azure subscription.
    cloudProviderName String
    The name of the cloud provider to connect with.
    resourceGroup String
    The name of the resource group.
    subscriptionId String
    The unique id of the azure subscription.

    InfrastructureDefinitionCustom, InfrastructureDefinitionCustomArgs

    DeploymentTypeTemplateVersion string
    The template version
    Variables List<InfrastructureDefinitionCustomVariable>
    Variables to be used in the service
    DeploymentTypeTemplateVersion string
    The template version
    Variables []InfrastructureDefinitionCustomVariable
    Variables to be used in the service
    deploymentTypeTemplateVersion String
    The template version
    variables List<InfrastructureDefinitionCustomVariable>
    Variables to be used in the service
    deploymentTypeTemplateVersion string
    The template version
    variables InfrastructureDefinitionCustomVariable[]
    Variables to be used in the service
    deployment_type_template_version str
    The template version
    variables Sequence[InfrastructureDefinitionCustomVariable]
    Variables to be used in the service
    deploymentTypeTemplateVersion String
    The template version
    variables List<Property Map>
    Variables to be used in the service

    InfrastructureDefinitionCustomVariable, InfrastructureDefinitionCustomVariableArgs

    Name string
    Name of the variable
    Value string
    Value of the variable
    Name string
    Name of the variable
    Value string
    Value of the variable
    name String
    Name of the variable
    value String
    Value of the variable
    name string
    Name of the variable
    value string
    Value of the variable
    name str
    Name of the variable
    value str
    Value of the variable
    name String
    Name of the variable
    value String
    Value of the variable

    InfrastructureDefinitionDatacenterSsh, InfrastructureDefinitionDatacenterSshArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    HostConnectionAttributesName string
    The name of the SSH connection attributes to use.
    Hostnames List<string>
    A list of hosts to deploy to.
    CloudProviderName string
    The name of the cloud provider to connect with.
    HostConnectionAttributesName string
    The name of the SSH connection attributes to use.
    Hostnames []string
    A list of hosts to deploy to.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostConnectionAttributesName String
    The name of the SSH connection attributes to use.
    hostnames List<String>
    A list of hosts to deploy to.
    cloudProviderName string
    The name of the cloud provider to connect with.
    hostConnectionAttributesName string
    The name of the SSH connection attributes to use.
    hostnames string[]
    A list of hosts to deploy to.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    host_connection_attributes_name str
    The name of the SSH connection attributes to use.
    hostnames Sequence[str]
    A list of hosts to deploy to.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostConnectionAttributesName String
    The name of the SSH connection attributes to use.
    hostnames List<String>
    A list of hosts to deploy to.

    InfrastructureDefinitionDatacenterWinrm, InfrastructureDefinitionDatacenterWinrmArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    Hostnames List<string>
    A list of hosts to deploy to.
    WinrmConnectionAttributesName string
    The name of the WinRM connection attributes to use.
    CloudProviderName string
    The name of the cloud provider to connect with.
    Hostnames []string
    A list of hosts to deploy to.
    WinrmConnectionAttributesName string
    The name of the WinRM connection attributes to use.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostnames List<String>
    A list of hosts to deploy to.
    winrmConnectionAttributesName String
    The name of the WinRM connection attributes to use.
    cloudProviderName string
    The name of the cloud provider to connect with.
    hostnames string[]
    A list of hosts to deploy to.
    winrmConnectionAttributesName string
    The name of the WinRM connection attributes to use.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    hostnames Sequence[str]
    A list of hosts to deploy to.
    winrm_connection_attributes_name str
    The name of the WinRM connection attributes to use.
    cloudProviderName String
    The name of the cloud provider to connect with.
    hostnames List<String>
    A list of hosts to deploy to.
    winrmConnectionAttributesName String
    The name of the WinRM connection attributes to use.

    InfrastructureDefinitionKubernetes, InfrastructureDefinitionKubernetesArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    Namespace string
    The namespace in Kubernetes to deploy to.
    ReleaseName string
    The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId}
    CloudProviderName string
    The name of the cloud provider to connect with.
    Namespace string
    The namespace in Kubernetes to deploy to.
    ReleaseName string
    The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId}
    cloudProviderName String
    The name of the cloud provider to connect with.
    namespace String
    The namespace in Kubernetes to deploy to.
    releaseName String
    The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId}
    cloudProviderName string
    The name of the cloud provider to connect with.
    namespace string
    The namespace in Kubernetes to deploy to.
    releaseName string
    The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId}
    cloud_provider_name str
    The name of the cloud provider to connect with.
    namespace str
    The namespace in Kubernetes to deploy to.
    release_name str
    The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId}
    cloudProviderName String
    The name of the cloud provider to connect with.
    namespace String
    The namespace in Kubernetes to deploy to.
    releaseName String
    The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId}

    InfrastructureDefinitionKubernetesGcp, InfrastructureDefinitionKubernetesGcpArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    ClusterName string
    The name of the cluster being deployed to.
    Namespace string
    The namespace in Kubernetes to deploy to.
    ReleaseName string
    The naming convention of the release.
    CloudProviderName string
    The name of the cloud provider to connect with.
    ClusterName string
    The name of the cluster being deployed to.
    Namespace string
    The namespace in Kubernetes to deploy to.
    ReleaseName string
    The naming convention of the release.
    cloudProviderName String
    The name of the cloud provider to connect with.
    clusterName String
    The name of the cluster being deployed to.
    namespace String
    The namespace in Kubernetes to deploy to.
    releaseName String
    The naming convention of the release.
    cloudProviderName string
    The name of the cloud provider to connect with.
    clusterName string
    The name of the cluster being deployed to.
    namespace string
    The namespace in Kubernetes to deploy to.
    releaseName string
    The naming convention of the release.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    cluster_name str
    The name of the cluster being deployed to.
    namespace str
    The namespace in Kubernetes to deploy to.
    release_name str
    The naming convention of the release.
    cloudProviderName String
    The name of the cloud provider to connect with.
    clusterName String
    The name of the cluster being deployed to.
    namespace String
    The namespace in Kubernetes to deploy to.
    releaseName String
    The naming convention of the release.

    InfrastructureDefinitionTanzu, InfrastructureDefinitionTanzuArgs

    CloudProviderName string
    The name of the cloud provider to connect with.
    Organization string
    The PCF organization to use.
    Space string
    The PCF space to deploy to.
    CloudProviderName string
    The name of the cloud provider to connect with.
    Organization string
    The PCF organization to use.
    Space string
    The PCF space to deploy to.
    cloudProviderName String
    The name of the cloud provider to connect with.
    organization String
    The PCF organization to use.
    space String
    The PCF space to deploy to.
    cloudProviderName string
    The name of the cloud provider to connect with.
    organization string
    The PCF organization to use.
    space string
    The PCF space to deploy to.
    cloud_provider_name str
    The name of the cloud provider to connect with.
    organization str
    The PCF organization to use.
    space str
    The PCF space to deploy to.
    cloudProviderName String
    The name of the cloud provider to connect with.
    organization String
    The PCF organization to use.
    space String
    The PCF space to deploy to.

    Import

    Import using the Harness application id, environment id, and infrastructure definition id

    $ pulumi import harness:index/infrastructureDefinition:InfrastructureDefinition example <app_id>/<env_id>/<infradef_id>
    

    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
    Harness v0.3.2 published on Monday, Sep 16, 2024 by Pulumi