1. Packages
  2. AWS Classic
  3. API Docs
  4. appmesh
  5. VirtualNode

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi

aws.appmesh.VirtualNode

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi

    Provides an AWS App Mesh virtual node resource.

    Breaking Changes

    Because of backward incompatible API changes (read here), aws.appmesh.VirtualNode resource definitions created with provider versions earlier than v2.3.0 will need to be modified:

    • Rename the service_name attribute of the dns object to hostname.

    • Replace the backends attribute of the spec object with one or more backend configuration blocks, setting virtual_service_name to the name of the service.

    The state associated with existing resources will automatically be migrated.

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
        name: "serviceBv1",
        meshName: simple.id,
        spec: {
            backends: [{
                virtualService: {
                    virtualServiceName: "servicea.simpleapp.local",
                },
            }],
            listeners: [{
                portMapping: {
                    port: 8080,
                    protocol: "http",
                },
            }],
            serviceDiscovery: {
                dns: {
                    hostname: "serviceb.simpleapp.local",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    serviceb1 = aws.appmesh.VirtualNode("serviceb1",
        name="serviceBv1",
        mesh_name=simple["id"],
        spec=aws.appmesh.VirtualNodeSpecArgs(
            backends=[aws.appmesh.VirtualNodeSpecBackendArgs(
                virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(
                    virtual_service_name="servicea.simpleapp.local",
                ),
            )],
            listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(
                port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(
                    port=8080,
                    protocol="http",
                ),
            )],
            service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(
                dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(
                    hostname="serviceb.simpleapp.local",
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
    			Name:     pulumi.String("serviceBv1"),
    			MeshName: pulumi.Any(simple.Id),
    			Spec: &appmesh.VirtualNodeSpecArgs{
    				Backends: appmesh.VirtualNodeSpecBackendArray{
    					&appmesh.VirtualNodeSpecBackendArgs{
    						VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
    							VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
    						},
    					},
    				},
    				Listeners: appmesh.VirtualNodeSpecListenerArray{
    					&appmesh.VirtualNodeSpecListenerArgs{
    						PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{
    							Port:     pulumi.Int(8080),
    							Protocol: pulumi.String("http"),
    						},
    					},
    				},
    				ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{
    					Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{
    						Hostname: pulumi.String("serviceb.simpleapp.local"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new()
        {
            Name = "serviceBv1",
            MeshName = simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listeners = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs
                    {
                        PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs
                        {
                            Port = 8080,
                            Protocol = "http",
                        },
                    },
                },
                ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs
                {
                    Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs
                    {
                        Hostname = "serviceb.simpleapp.local",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.appmesh.VirtualNode;
    import com.pulumi.aws.appmesh.VirtualNodeArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder()        
                .name("serviceBv1")
                .meshName(simple.id())
                .spec(VirtualNodeSpecArgs.builder()
                    .backends(VirtualNodeSpecBackendArgs.builder()
                        .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()
                            .virtualServiceName("servicea.simpleapp.local")
                            .build())
                        .build())
                    .listeners(VirtualNodeSpecListenerArgs.builder()
                        .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()
                            .port(8080)
                            .protocol("http")
                            .build())
                        .build())
                    .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()
                        .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()
                            .hostname("serviceb.simpleapp.local")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      serviceb1:
        type: aws:appmesh:VirtualNode
        properties:
          name: serviceBv1
          meshName: ${simple.id}
          spec:
            backends:
              - virtualService:
                  virtualServiceName: servicea.simpleapp.local
            listeners:
              - portMapping:
                  port: 8080
                  protocol: http
            serviceDiscovery:
              dns:
                hostname: serviceb.simpleapp.local
    

    AWS Cloud Map Service Discovery

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.servicediscovery.HttpNamespace("example", {name: "example-ns"});
    const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
        name: "serviceBv1",
        meshName: simple.id,
        spec: {
            backends: [{
                virtualService: {
                    virtualServiceName: "servicea.simpleapp.local",
                },
            }],
            listeners: [{
                portMapping: {
                    port: 8080,
                    protocol: "http",
                },
            }],
            serviceDiscovery: {
                awsCloudMap: {
                    attributes: {
                        stack: "blue",
                    },
                    serviceName: "serviceb1",
                    namespaceName: example.name,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.servicediscovery.HttpNamespace("example", name="example-ns")
    serviceb1 = aws.appmesh.VirtualNode("serviceb1",
        name="serviceBv1",
        mesh_name=simple["id"],
        spec=aws.appmesh.VirtualNodeSpecArgs(
            backends=[aws.appmesh.VirtualNodeSpecBackendArgs(
                virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(
                    virtual_service_name="servicea.simpleapp.local",
                ),
            )],
            listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(
                port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(
                    port=8080,
                    protocol="http",
                ),
            )],
            service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(
                aws_cloud_map=aws.appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs(
                    attributes={
                        "stack": "blue",
                    },
                    service_name="serviceb1",
                    namespace_name=example.name,
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh"
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicediscovery"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := servicediscovery.NewHttpNamespace(ctx, "example", &servicediscovery.HttpNamespaceArgs{
    			Name: pulumi.String("example-ns"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
    			Name:     pulumi.String("serviceBv1"),
    			MeshName: pulumi.Any(simple.Id),
    			Spec: &appmesh.VirtualNodeSpecArgs{
    				Backends: appmesh.VirtualNodeSpecBackendArray{
    					&appmesh.VirtualNodeSpecBackendArgs{
    						VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
    							VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
    						},
    					},
    				},
    				Listeners: appmesh.VirtualNodeSpecListenerArray{
    					&appmesh.VirtualNodeSpecListenerArgs{
    						PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{
    							Port:     pulumi.Int(8080),
    							Protocol: pulumi.String("http"),
    						},
    					},
    				},
    				ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{
    					AwsCloudMap: &appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{
    						Attributes: pulumi.StringMap{
    							"stack": pulumi.String("blue"),
    						},
    						ServiceName:   pulumi.String("serviceb1"),
    						NamespaceName: example.Name,
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.ServiceDiscovery.HttpNamespace("example", new()
        {
            Name = "example-ns",
        });
    
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new()
        {
            Name = "serviceBv1",
            MeshName = simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listeners = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs
                    {
                        PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs
                        {
                            Port = 8080,
                            Protocol = "http",
                        },
                    },
                },
                ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs
                {
                    AwsCloudMap = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs
                    {
                        Attributes = 
                        {
                            { "stack", "blue" },
                        },
                        ServiceName = "serviceb1",
                        NamespaceName = example.Name,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.servicediscovery.HttpNamespace;
    import com.pulumi.aws.servicediscovery.HttpNamespaceArgs;
    import com.pulumi.aws.appmesh.VirtualNode;
    import com.pulumi.aws.appmesh.VirtualNodeArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new HttpNamespace("example", HttpNamespaceArgs.builder()        
                .name("example-ns")
                .build());
    
            var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder()        
                .name("serviceBv1")
                .meshName(simple.id())
                .spec(VirtualNodeSpecArgs.builder()
                    .backends(VirtualNodeSpecBackendArgs.builder()
                        .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()
                            .virtualServiceName("servicea.simpleapp.local")
                            .build())
                        .build())
                    .listeners(VirtualNodeSpecListenerArgs.builder()
                        .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()
                            .port(8080)
                            .protocol("http")
                            .build())
                        .build())
                    .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()
                        .awsCloudMap(VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs.builder()
                            .attributes(Map.of("stack", "blue"))
                            .serviceName("serviceb1")
                            .namespaceName(example.name())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:servicediscovery:HttpNamespace
        properties:
          name: example-ns
      serviceb1:
        type: aws:appmesh:VirtualNode
        properties:
          name: serviceBv1
          meshName: ${simple.id}
          spec:
            backends:
              - virtualService:
                  virtualServiceName: servicea.simpleapp.local
            listeners:
              - portMapping:
                  port: 8080
                  protocol: http
            serviceDiscovery:
              awsCloudMap:
                attributes:
                  stack: blue
                serviceName: serviceb1
                namespaceName: ${example.name}
    

    Listener Health Check

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
        name: "serviceBv1",
        meshName: simple.id,
        spec: {
            backends: [{
                virtualService: {
                    virtualServiceName: "servicea.simpleapp.local",
                },
            }],
            listeners: [{
                portMapping: {
                    port: 8080,
                    protocol: "http",
                },
                healthCheck: {
                    protocol: "http",
                    path: "/ping",
                    healthyThreshold: 2,
                    unhealthyThreshold: 2,
                    timeoutMillis: 2000,
                    intervalMillis: 5000,
                },
            }],
            serviceDiscovery: {
                dns: {
                    hostname: "serviceb.simpleapp.local",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    serviceb1 = aws.appmesh.VirtualNode("serviceb1",
        name="serviceBv1",
        mesh_name=simple["id"],
        spec=aws.appmesh.VirtualNodeSpecArgs(
            backends=[aws.appmesh.VirtualNodeSpecBackendArgs(
                virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(
                    virtual_service_name="servicea.simpleapp.local",
                ),
            )],
            listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(
                port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(
                    port=8080,
                    protocol="http",
                ),
                health_check=aws.appmesh.VirtualNodeSpecListenerHealthCheckArgs(
                    protocol="http",
                    path="/ping",
                    healthy_threshold=2,
                    unhealthy_threshold=2,
                    timeout_millis=2000,
                    interval_millis=5000,
                ),
            )],
            service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(
                dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(
                    hostname="serviceb.simpleapp.local",
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
    			Name:     pulumi.String("serviceBv1"),
    			MeshName: pulumi.Any(simple.Id),
    			Spec: &appmesh.VirtualNodeSpecArgs{
    				Backends: appmesh.VirtualNodeSpecBackendArray{
    					&appmesh.VirtualNodeSpecBackendArgs{
    						VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
    							VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
    						},
    					},
    				},
    				Listeners: appmesh.VirtualNodeSpecListenerArray{
    					&appmesh.VirtualNodeSpecListenerArgs{
    						PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{
    							Port:     pulumi.Int(8080),
    							Protocol: pulumi.String("http"),
    						},
    						HealthCheck: &appmesh.VirtualNodeSpecListenerHealthCheckArgs{
    							Protocol:           pulumi.String("http"),
    							Path:               pulumi.String("/ping"),
    							HealthyThreshold:   pulumi.Int(2),
    							UnhealthyThreshold: pulumi.Int(2),
    							TimeoutMillis:      pulumi.Int(2000),
    							IntervalMillis:     pulumi.Int(5000),
    						},
    					},
    				},
    				ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{
    					Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{
    						Hostname: pulumi.String("serviceb.simpleapp.local"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new()
        {
            Name = "serviceBv1",
            MeshName = simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listeners = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs
                    {
                        PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs
                        {
                            Port = 8080,
                            Protocol = "http",
                        },
                        HealthCheck = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerHealthCheckArgs
                        {
                            Protocol = "http",
                            Path = "/ping",
                            HealthyThreshold = 2,
                            UnhealthyThreshold = 2,
                            TimeoutMillis = 2000,
                            IntervalMillis = 5000,
                        },
                    },
                },
                ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs
                {
                    Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs
                    {
                        Hostname = "serviceb.simpleapp.local",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.appmesh.VirtualNode;
    import com.pulumi.aws.appmesh.VirtualNodeArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder()        
                .name("serviceBv1")
                .meshName(simple.id())
                .spec(VirtualNodeSpecArgs.builder()
                    .backends(VirtualNodeSpecBackendArgs.builder()
                        .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()
                            .virtualServiceName("servicea.simpleapp.local")
                            .build())
                        .build())
                    .listeners(VirtualNodeSpecListenerArgs.builder()
                        .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()
                            .port(8080)
                            .protocol("http")
                            .build())
                        .healthCheck(VirtualNodeSpecListenerHealthCheckArgs.builder()
                            .protocol("http")
                            .path("/ping")
                            .healthyThreshold(2)
                            .unhealthyThreshold(2)
                            .timeoutMillis(2000)
                            .intervalMillis(5000)
                            .build())
                        .build())
                    .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()
                        .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()
                            .hostname("serviceb.simpleapp.local")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      serviceb1:
        type: aws:appmesh:VirtualNode
        properties:
          name: serviceBv1
          meshName: ${simple.id}
          spec:
            backends:
              - virtualService:
                  virtualServiceName: servicea.simpleapp.local
            listeners:
              - portMapping:
                  port: 8080
                  protocol: http
                healthCheck:
                  protocol: http
                  path: /ping
                  healthyThreshold: 2
                  unhealthyThreshold: 2
                  timeoutMillis: 2000
                  intervalMillis: 5000
            serviceDiscovery:
              dns:
                hostname: serviceb.simpleapp.local
    

    Logging

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
        name: "serviceBv1",
        meshName: simple.id,
        spec: {
            backends: [{
                virtualService: {
                    virtualServiceName: "servicea.simpleapp.local",
                },
            }],
            listeners: [{
                portMapping: {
                    port: 8080,
                    protocol: "http",
                },
            }],
            serviceDiscovery: {
                dns: {
                    hostname: "serviceb.simpleapp.local",
                },
            },
            logging: {
                accessLog: {
                    file: {
                        path: "/dev/stdout",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    serviceb1 = aws.appmesh.VirtualNode("serviceb1",
        name="serviceBv1",
        mesh_name=simple["id"],
        spec=aws.appmesh.VirtualNodeSpecArgs(
            backends=[aws.appmesh.VirtualNodeSpecBackendArgs(
                virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(
                    virtual_service_name="servicea.simpleapp.local",
                ),
            )],
            listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(
                port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(
                    port=8080,
                    protocol="http",
                ),
            )],
            service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(
                dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(
                    hostname="serviceb.simpleapp.local",
                ),
            ),
            logging=aws.appmesh.VirtualNodeSpecLoggingArgs(
                access_log=aws.appmesh.VirtualNodeSpecLoggingAccessLogArgs(
                    file=aws.appmesh.VirtualNodeSpecLoggingAccessLogFileArgs(
                        path="/dev/stdout",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
    			Name:     pulumi.String("serviceBv1"),
    			MeshName: pulumi.Any(simple.Id),
    			Spec: &appmesh.VirtualNodeSpecArgs{
    				Backends: appmesh.VirtualNodeSpecBackendArray{
    					&appmesh.VirtualNodeSpecBackendArgs{
    						VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
    							VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
    						},
    					},
    				},
    				Listeners: appmesh.VirtualNodeSpecListenerArray{
    					&appmesh.VirtualNodeSpecListenerArgs{
    						PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{
    							Port:     pulumi.Int(8080),
    							Protocol: pulumi.String("http"),
    						},
    					},
    				},
    				ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{
    					Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{
    						Hostname: pulumi.String("serviceb.simpleapp.local"),
    					},
    				},
    				Logging: &appmesh.VirtualNodeSpecLoggingArgs{
    					AccessLog: &appmesh.VirtualNodeSpecLoggingAccessLogArgs{
    						File: &appmesh.VirtualNodeSpecLoggingAccessLogFileArgs{
    							Path: pulumi.String("/dev/stdout"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new()
        {
            Name = "serviceBv1",
            MeshName = simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listeners = new[]
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs
                    {
                        PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs
                        {
                            Port = 8080,
                            Protocol = "http",
                        },
                    },
                },
                ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs
                {
                    Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs
                    {
                        Hostname = "serviceb.simpleapp.local",
                    },
                },
                Logging = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingArgs
                {
                    AccessLog = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogArgs
                    {
                        File = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogFileArgs
                        {
                            Path = "/dev/stdout",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.appmesh.VirtualNode;
    import com.pulumi.aws.appmesh.VirtualNodeArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecServiceDiscoveryDnsArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingAccessLogArgs;
    import com.pulumi.aws.appmesh.inputs.VirtualNodeSpecLoggingAccessLogFileArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var serviceb1 = new VirtualNode("serviceb1", VirtualNodeArgs.builder()        
                .name("serviceBv1")
                .meshName(simple.id())
                .spec(VirtualNodeSpecArgs.builder()
                    .backends(VirtualNodeSpecBackendArgs.builder()
                        .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()
                            .virtualServiceName("servicea.simpleapp.local")
                            .build())
                        .build())
                    .listeners(VirtualNodeSpecListenerArgs.builder()
                        .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()
                            .port(8080)
                            .protocol("http")
                            .build())
                        .build())
                    .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()
                        .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()
                            .hostname("serviceb.simpleapp.local")
                            .build())
                        .build())
                    .logging(VirtualNodeSpecLoggingArgs.builder()
                        .accessLog(VirtualNodeSpecLoggingAccessLogArgs.builder()
                            .file(VirtualNodeSpecLoggingAccessLogFileArgs.builder()
                                .path("/dev/stdout")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      serviceb1:
        type: aws:appmesh:VirtualNode
        properties:
          name: serviceBv1
          meshName: ${simple.id}
          spec:
            backends:
              - virtualService:
                  virtualServiceName: servicea.simpleapp.local
            listeners:
              - portMapping:
                  port: 8080
                  protocol: http
            serviceDiscovery:
              dns:
                hostname: serviceb.simpleapp.local
            logging:
              accessLog:
                file:
                  path: /dev/stdout
    

    Create VirtualNode Resource

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

    Constructor syntax

    new VirtualNode(name: string, args: VirtualNodeArgs, opts?: CustomResourceOptions);
    @overload
    def VirtualNode(resource_name: str,
                    args: VirtualNodeArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def VirtualNode(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    mesh_name: Optional[str] = None,
                    spec: Optional[VirtualNodeSpecArgs] = None,
                    mesh_owner: Optional[str] = None,
                    name: Optional[str] = None,
                    tags: Optional[Mapping[str, str]] = None)
    func NewVirtualNode(ctx *Context, name string, args VirtualNodeArgs, opts ...ResourceOption) (*VirtualNode, error)
    public VirtualNode(string name, VirtualNodeArgs args, CustomResourceOptions? opts = null)
    public VirtualNode(String name, VirtualNodeArgs args)
    public VirtualNode(String name, VirtualNodeArgs args, CustomResourceOptions options)
    
    type: aws:appmesh:VirtualNode
    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 VirtualNodeArgs
    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 VirtualNodeArgs
    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 VirtualNodeArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VirtualNodeArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VirtualNodeArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var virtualNodeResource = new Aws.AppMesh.VirtualNode("virtualNodeResource", new()
    {
        MeshName = "string",
        Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
        {
            BackendDefaults = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsArgs
            {
                ClientPolicy = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyArgs
                {
                    Tls = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs
                    {
                        Validation = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs
                        {
                            Trust = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs
                            {
                                Acm = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs
                                {
                                    CertificateAuthorityArns = new[]
                                    {
                                        "string",
                                    },
                                },
                                File = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs
                                {
                                    CertificateChain = "string",
                                },
                                Sds = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs
                                {
                                    SecretName = "string",
                                },
                            },
                            SubjectAlternativeNames = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs
                            {
                                Match = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs
                                {
                                    Exacts = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                        },
                        Certificate = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs
                        {
                            File = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs
                            {
                                CertificateChain = "string",
                                PrivateKey = "string",
                            },
                            Sds = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs
                            {
                                SecretName = "string",
                            },
                        },
                        Enforce = false,
                        Ports = new[]
                        {
                            0,
                        },
                    },
                },
            },
            Backends = new[]
            {
                new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                {
                    VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                    {
                        VirtualServiceName = "string",
                        ClientPolicy = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyArgs
                        {
                            Tls = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs
                            {
                                Validation = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs
                                {
                                    Trust = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs
                                    {
                                        Acm = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs
                                        {
                                            CertificateAuthorityArns = new[]
                                            {
                                                "string",
                                            },
                                        },
                                        File = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs
                                        {
                                            CertificateChain = "string",
                                        },
                                        Sds = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs
                                        {
                                            SecretName = "string",
                                        },
                                    },
                                    SubjectAlternativeNames = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs
                                    {
                                        Match = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs
                                        {
                                            Exacts = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                },
                                Certificate = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs
                                {
                                    File = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs
                                    {
                                        CertificateChain = "string",
                                        PrivateKey = "string",
                                    },
                                    Sds = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs
                                    {
                                        SecretName = "string",
                                    },
                                },
                                Enforce = false,
                                Ports = new[]
                                {
                                    0,
                                },
                            },
                        },
                    },
                },
            },
            Listeners = new[]
            {
                new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs
                {
                    PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs
                    {
                        Port = 0,
                        Protocol = "string",
                    },
                    ConnectionPool = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerConnectionPoolArgs
                    {
                        Grpc = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerConnectionPoolGrpcArgs
                        {
                            MaxRequests = 0,
                        },
                        Http2s = new[]
                        {
                            new Aws.AppMesh.Inputs.VirtualNodeSpecListenerConnectionPoolHttp2Args
                            {
                                MaxRequests = 0,
                            },
                        },
                        Https = new[]
                        {
                            new Aws.AppMesh.Inputs.VirtualNodeSpecListenerConnectionPoolHttpArgs
                            {
                                MaxConnections = 0,
                                MaxPendingRequests = 0,
                            },
                        },
                        Tcps = new[]
                        {
                            new Aws.AppMesh.Inputs.VirtualNodeSpecListenerConnectionPoolTcpArgs
                            {
                                MaxConnections = 0,
                            },
                        },
                    },
                    HealthCheck = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerHealthCheckArgs
                    {
                        HealthyThreshold = 0,
                        IntervalMillis = 0,
                        Protocol = "string",
                        TimeoutMillis = 0,
                        UnhealthyThreshold = 0,
                        Path = "string",
                        Port = 0,
                    },
                    OutlierDetection = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerOutlierDetectionArgs
                    {
                        BaseEjectionDuration = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs
                        {
                            Unit = "string",
                            Value = 0,
                        },
                        Interval = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerOutlierDetectionIntervalArgs
                        {
                            Unit = "string",
                            Value = 0,
                        },
                        MaxEjectionPercent = 0,
                        MaxServerErrors = 0,
                    },
                    Timeout = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutArgs
                    {
                        Grpc = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutGrpcArgs
                        {
                            Idle = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutGrpcIdleArgs
                            {
                                Unit = "string",
                                Value = 0,
                            },
                            PerRequest = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs
                            {
                                Unit = "string",
                                Value = 0,
                            },
                        },
                        Http = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutHttpArgs
                        {
                            Idle = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutHttpIdleArgs
                            {
                                Unit = "string",
                                Value = 0,
                            },
                            PerRequest = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutHttpPerRequestArgs
                            {
                                Unit = "string",
                                Value = 0,
                            },
                        },
                        Http2 = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutHttp2Args
                        {
                            Idle = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutHttp2IdleArgs
                            {
                                Unit = "string",
                                Value = 0,
                            },
                            PerRequest = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs
                            {
                                Unit = "string",
                                Value = 0,
                            },
                        },
                        Tcp = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutTcpArgs
                        {
                            Idle = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTimeoutTcpIdleArgs
                            {
                                Unit = "string",
                                Value = 0,
                            },
                        },
                    },
                    Tls = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsArgs
                    {
                        Certificate = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsCertificateArgs
                        {
                            Acm = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsCertificateAcmArgs
                            {
                                CertificateArn = "string",
                            },
                            File = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsCertificateFileArgs
                            {
                                CertificateChain = "string",
                                PrivateKey = "string",
                            },
                            Sds = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsCertificateSdsArgs
                            {
                                SecretName = "string",
                            },
                        },
                        Mode = "string",
                        Validation = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsValidationArgs
                        {
                            Trust = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsValidationTrustArgs
                            {
                                File = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsValidationTrustFileArgs
                                {
                                    CertificateChain = "string",
                                },
                                Sds = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsValidationTrustSdsArgs
                                {
                                    SecretName = "string",
                                },
                            },
                            SubjectAlternativeNames = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs
                            {
                                Match = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs
                                {
                                    Exacts = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                        },
                    },
                },
            },
            Logging = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingArgs
            {
                AccessLog = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogArgs
                {
                    File = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogFileArgs
                    {
                        Path = "string",
                        Format = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogFileFormatArgs
                        {
                            Jsons = new[]
                            {
                                new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs
                                {
                                    Key = "string",
                                    Value = "string",
                                },
                            },
                            Text = "string",
                        },
                    },
                },
            },
            ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs
            {
                AwsCloudMap = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs
                {
                    NamespaceName = "string",
                    ServiceName = "string",
                    Attributes = 
                    {
                        { "string", "string" },
                    },
                },
                Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs
                {
                    Hostname = "string",
                    IpPreference = "string",
                    ResponseType = "string",
                },
            },
        },
        MeshOwner = "string",
        Name = "string",
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := appmesh.NewVirtualNode(ctx, "virtualNodeResource", &appmesh.VirtualNodeArgs{
    	MeshName: pulumi.String("string"),
    	Spec: &appmesh.VirtualNodeSpecArgs{
    		BackendDefaults: &appmesh.VirtualNodeSpecBackendDefaultsArgs{
    			ClientPolicy: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyArgs{
    				Tls: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{
    					Validation: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{
    						Trust: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{
    							Acm: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{
    								CertificateAuthorityArns: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    							File: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{
    								CertificateChain: pulumi.String("string"),
    							},
    							Sds: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{
    								SecretName: pulumi.String("string"),
    							},
    						},
    						SubjectAlternativeNames: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{
    							Match: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{
    								Exacts: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    					},
    					Certificate: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs{
    						File: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs{
    							CertificateChain: pulumi.String("string"),
    							PrivateKey:       pulumi.String("string"),
    						},
    						Sds: &appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{
    							SecretName: pulumi.String("string"),
    						},
    					},
    					Enforce: pulumi.Bool(false),
    					Ports: pulumi.IntArray{
    						pulumi.Int(0),
    					},
    				},
    			},
    		},
    		Backends: appmesh.VirtualNodeSpecBackendArray{
    			&appmesh.VirtualNodeSpecBackendArgs{
    				VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
    					VirtualServiceName: pulumi.String("string"),
    					ClientPolicy: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{
    						Tls: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{
    							Validation: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{
    								Trust: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{
    									Acm: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{
    										CertificateAuthorityArns: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    									File: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{
    										CertificateChain: pulumi.String("string"),
    									},
    									Sds: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs{
    										SecretName: pulumi.String("string"),
    									},
    								},
    								SubjectAlternativeNames: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs{
    									Match: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{
    										Exacts: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    							},
    							Certificate: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs{
    								File: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs{
    									CertificateChain: pulumi.String("string"),
    									PrivateKey:       pulumi.String("string"),
    								},
    								Sds: &appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs{
    									SecretName: pulumi.String("string"),
    								},
    							},
    							Enforce: pulumi.Bool(false),
    							Ports: pulumi.IntArray{
    								pulumi.Int(0),
    							},
    						},
    					},
    				},
    			},
    		},
    		Listeners: appmesh.VirtualNodeSpecListenerArray{
    			&appmesh.VirtualNodeSpecListenerArgs{
    				PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{
    					Port:     pulumi.Int(0),
    					Protocol: pulumi.String("string"),
    				},
    				ConnectionPool: &appmesh.VirtualNodeSpecListenerConnectionPoolArgs{
    					Grpc: &appmesh.VirtualNodeSpecListenerConnectionPoolGrpcArgs{
    						MaxRequests: pulumi.Int(0),
    					},
    					Http2s: appmesh.VirtualNodeSpecListenerConnectionPoolHttp2Array{
    						&appmesh.VirtualNodeSpecListenerConnectionPoolHttp2Args{
    							MaxRequests: pulumi.Int(0),
    						},
    					},
    					Https: appmesh.VirtualNodeSpecListenerConnectionPoolHttpArray{
    						&appmesh.VirtualNodeSpecListenerConnectionPoolHttpArgs{
    							MaxConnections:     pulumi.Int(0),
    							MaxPendingRequests: pulumi.Int(0),
    						},
    					},
    					Tcps: appmesh.VirtualNodeSpecListenerConnectionPoolTcpArray{
    						&appmesh.VirtualNodeSpecListenerConnectionPoolTcpArgs{
    							MaxConnections: pulumi.Int(0),
    						},
    					},
    				},
    				HealthCheck: &appmesh.VirtualNodeSpecListenerHealthCheckArgs{
    					HealthyThreshold:   pulumi.Int(0),
    					IntervalMillis:     pulumi.Int(0),
    					Protocol:           pulumi.String("string"),
    					TimeoutMillis:      pulumi.Int(0),
    					UnhealthyThreshold: pulumi.Int(0),
    					Path:               pulumi.String("string"),
    					Port:               pulumi.Int(0),
    				},
    				OutlierDetection: &appmesh.VirtualNodeSpecListenerOutlierDetectionArgs{
    					BaseEjectionDuration: &appmesh.VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{
    						Unit:  pulumi.String("string"),
    						Value: pulumi.Int(0),
    					},
    					Interval: &appmesh.VirtualNodeSpecListenerOutlierDetectionIntervalArgs{
    						Unit:  pulumi.String("string"),
    						Value: pulumi.Int(0),
    					},
    					MaxEjectionPercent: pulumi.Int(0),
    					MaxServerErrors:    pulumi.Int(0),
    				},
    				Timeout: &appmesh.VirtualNodeSpecListenerTimeoutArgs{
    					Grpc: &appmesh.VirtualNodeSpecListenerTimeoutGrpcArgs{
    						Idle: &appmesh.VirtualNodeSpecListenerTimeoutGrpcIdleArgs{
    							Unit:  pulumi.String("string"),
    							Value: pulumi.Int(0),
    						},
    						PerRequest: &appmesh.VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{
    							Unit:  pulumi.String("string"),
    							Value: pulumi.Int(0),
    						},
    					},
    					Http: &appmesh.VirtualNodeSpecListenerTimeoutHttpArgs{
    						Idle: &appmesh.VirtualNodeSpecListenerTimeoutHttpIdleArgs{
    							Unit:  pulumi.String("string"),
    							Value: pulumi.Int(0),
    						},
    						PerRequest: &appmesh.VirtualNodeSpecListenerTimeoutHttpPerRequestArgs{
    							Unit:  pulumi.String("string"),
    							Value: pulumi.Int(0),
    						},
    					},
    					Http2: &appmesh.VirtualNodeSpecListenerTimeoutHttp2Args{
    						Idle: &appmesh.VirtualNodeSpecListenerTimeoutHttp2IdleArgs{
    							Unit:  pulumi.String("string"),
    							Value: pulumi.Int(0),
    						},
    						PerRequest: &appmesh.VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{
    							Unit:  pulumi.String("string"),
    							Value: pulumi.Int(0),
    						},
    					},
    					Tcp: &appmesh.VirtualNodeSpecListenerTimeoutTcpArgs{
    						Idle: &appmesh.VirtualNodeSpecListenerTimeoutTcpIdleArgs{
    							Unit:  pulumi.String("string"),
    							Value: pulumi.Int(0),
    						},
    					},
    				},
    				Tls: &appmesh.VirtualNodeSpecListenerTlsArgs{
    					Certificate: &appmesh.VirtualNodeSpecListenerTlsCertificateArgs{
    						Acm: &appmesh.VirtualNodeSpecListenerTlsCertificateAcmArgs{
    							CertificateArn: pulumi.String("string"),
    						},
    						File: &appmesh.VirtualNodeSpecListenerTlsCertificateFileArgs{
    							CertificateChain: pulumi.String("string"),
    							PrivateKey:       pulumi.String("string"),
    						},
    						Sds: &appmesh.VirtualNodeSpecListenerTlsCertificateSdsArgs{
    							SecretName: pulumi.String("string"),
    						},
    					},
    					Mode: pulumi.String("string"),
    					Validation: &appmesh.VirtualNodeSpecListenerTlsValidationArgs{
    						Trust: &appmesh.VirtualNodeSpecListenerTlsValidationTrustArgs{
    							File: &appmesh.VirtualNodeSpecListenerTlsValidationTrustFileArgs{
    								CertificateChain: pulumi.String("string"),
    							},
    							Sds: &appmesh.VirtualNodeSpecListenerTlsValidationTrustSdsArgs{
    								SecretName: pulumi.String("string"),
    							},
    						},
    						SubjectAlternativeNames: &appmesh.VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs{
    							Match: &appmesh.VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{
    								Exacts: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    					},
    				},
    			},
    		},
    		Logging: &appmesh.VirtualNodeSpecLoggingArgs{
    			AccessLog: &appmesh.VirtualNodeSpecLoggingAccessLogArgs{
    				File: &appmesh.VirtualNodeSpecLoggingAccessLogFileArgs{
    					Path: pulumi.String("string"),
    					Format: &appmesh.VirtualNodeSpecLoggingAccessLogFileFormatArgs{
    						Jsons: appmesh.VirtualNodeSpecLoggingAccessLogFileFormatJsonArray{
    							&appmesh.VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{
    								Key:   pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						Text: pulumi.String("string"),
    					},
    				},
    			},
    		},
    		ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{
    			AwsCloudMap: &appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{
    				NamespaceName: pulumi.String("string"),
    				ServiceName:   pulumi.String("string"),
    				Attributes: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{
    				Hostname:     pulumi.String("string"),
    				IpPreference: pulumi.String("string"),
    				ResponseType: pulumi.String("string"),
    			},
    		},
    	},
    	MeshOwner: pulumi.String("string"),
    	Name:      pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var virtualNodeResource = new VirtualNode("virtualNodeResource", VirtualNodeArgs.builder()        
        .meshName("string")
        .spec(VirtualNodeSpecArgs.builder()
            .backendDefaults(VirtualNodeSpecBackendDefaultsArgs.builder()
                .clientPolicy(VirtualNodeSpecBackendDefaultsClientPolicyArgs.builder()
                    .tls(VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs.builder()
                        .validation(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs.builder()
                            .trust(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs.builder()
                                .acm(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs.builder()
                                    .certificateAuthorityArns("string")
                                    .build())
                                .file(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs.builder()
                                    .certificateChain("string")
                                    .build())
                                .sds(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs.builder()
                                    .secretName("string")
                                    .build())
                                .build())
                            .subjectAlternativeNames(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs.builder()
                                .match(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs.builder()
                                    .exacts("string")
                                    .build())
                                .build())
                            .build())
                        .certificate(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs.builder()
                            .file(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs.builder()
                                .certificateChain("string")
                                .privateKey("string")
                                .build())
                            .sds(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs.builder()
                                .secretName("string")
                                .build())
                            .build())
                        .enforce(false)
                        .ports(0)
                        .build())
                    .build())
                .build())
            .backends(VirtualNodeSpecBackendArgs.builder()
                .virtualService(VirtualNodeSpecBackendVirtualServiceArgs.builder()
                    .virtualServiceName("string")
                    .clientPolicy(VirtualNodeSpecBackendVirtualServiceClientPolicyArgs.builder()
                        .tls(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs.builder()
                            .validation(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs.builder()
                                .trust(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs.builder()
                                    .acm(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs.builder()
                                        .certificateAuthorityArns("string")
                                        .build())
                                    .file(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs.builder()
                                        .certificateChain("string")
                                        .build())
                                    .sds(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs.builder()
                                        .secretName("string")
                                        .build())
                                    .build())
                                .subjectAlternativeNames(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs.builder()
                                    .match(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs.builder()
                                        .exacts("string")
                                        .build())
                                    .build())
                                .build())
                            .certificate(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs.builder()
                                .file(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs.builder()
                                    .certificateChain("string")
                                    .privateKey("string")
                                    .build())
                                .sds(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs.builder()
                                    .secretName("string")
                                    .build())
                                .build())
                            .enforce(false)
                            .ports(0)
                            .build())
                        .build())
                    .build())
                .build())
            .listeners(VirtualNodeSpecListenerArgs.builder()
                .portMapping(VirtualNodeSpecListenerPortMappingArgs.builder()
                    .port(0)
                    .protocol("string")
                    .build())
                .connectionPool(VirtualNodeSpecListenerConnectionPoolArgs.builder()
                    .grpc(VirtualNodeSpecListenerConnectionPoolGrpcArgs.builder()
                        .maxRequests(0)
                        .build())
                    .http2s(VirtualNodeSpecListenerConnectionPoolHttp2Args.builder()
                        .maxRequests(0)
                        .build())
                    .https(VirtualNodeSpecListenerConnectionPoolHttpArgs.builder()
                        .maxConnections(0)
                        .maxPendingRequests(0)
                        .build())
                    .tcps(VirtualNodeSpecListenerConnectionPoolTcpArgs.builder()
                        .maxConnections(0)
                        .build())
                    .build())
                .healthCheck(VirtualNodeSpecListenerHealthCheckArgs.builder()
                    .healthyThreshold(0)
                    .intervalMillis(0)
                    .protocol("string")
                    .timeoutMillis(0)
                    .unhealthyThreshold(0)
                    .path("string")
                    .port(0)
                    .build())
                .outlierDetection(VirtualNodeSpecListenerOutlierDetectionArgs.builder()
                    .baseEjectionDuration(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs.builder()
                        .unit("string")
                        .value(0)
                        .build())
                    .interval(VirtualNodeSpecListenerOutlierDetectionIntervalArgs.builder()
                        .unit("string")
                        .value(0)
                        .build())
                    .maxEjectionPercent(0)
                    .maxServerErrors(0)
                    .build())
                .timeout(VirtualNodeSpecListenerTimeoutArgs.builder()
                    .grpc(VirtualNodeSpecListenerTimeoutGrpcArgs.builder()
                        .idle(VirtualNodeSpecListenerTimeoutGrpcIdleArgs.builder()
                            .unit("string")
                            .value(0)
                            .build())
                        .perRequest(VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs.builder()
                            .unit("string")
                            .value(0)
                            .build())
                        .build())
                    .http(VirtualNodeSpecListenerTimeoutHttpArgs.builder()
                        .idle(VirtualNodeSpecListenerTimeoutHttpIdleArgs.builder()
                            .unit("string")
                            .value(0)
                            .build())
                        .perRequest(VirtualNodeSpecListenerTimeoutHttpPerRequestArgs.builder()
                            .unit("string")
                            .value(0)
                            .build())
                        .build())
                    .http2(VirtualNodeSpecListenerTimeoutHttp2Args.builder()
                        .idle(VirtualNodeSpecListenerTimeoutHttp2IdleArgs.builder()
                            .unit("string")
                            .value(0)
                            .build())
                        .perRequest(VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs.builder()
                            .unit("string")
                            .value(0)
                            .build())
                        .build())
                    .tcp(VirtualNodeSpecListenerTimeoutTcpArgs.builder()
                        .idle(VirtualNodeSpecListenerTimeoutTcpIdleArgs.builder()
                            .unit("string")
                            .value(0)
                            .build())
                        .build())
                    .build())
                .tls(VirtualNodeSpecListenerTlsArgs.builder()
                    .certificate(VirtualNodeSpecListenerTlsCertificateArgs.builder()
                        .acm(VirtualNodeSpecListenerTlsCertificateAcmArgs.builder()
                            .certificateArn("string")
                            .build())
                        .file(VirtualNodeSpecListenerTlsCertificateFileArgs.builder()
                            .certificateChain("string")
                            .privateKey("string")
                            .build())
                        .sds(VirtualNodeSpecListenerTlsCertificateSdsArgs.builder()
                            .secretName("string")
                            .build())
                        .build())
                    .mode("string")
                    .validation(VirtualNodeSpecListenerTlsValidationArgs.builder()
                        .trust(VirtualNodeSpecListenerTlsValidationTrustArgs.builder()
                            .file(VirtualNodeSpecListenerTlsValidationTrustFileArgs.builder()
                                .certificateChain("string")
                                .build())
                            .sds(VirtualNodeSpecListenerTlsValidationTrustSdsArgs.builder()
                                .secretName("string")
                                .build())
                            .build())
                        .subjectAlternativeNames(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs.builder()
                            .match(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs.builder()
                                .exacts("string")
                                .build())
                            .build())
                        .build())
                    .build())
                .build())
            .logging(VirtualNodeSpecLoggingArgs.builder()
                .accessLog(VirtualNodeSpecLoggingAccessLogArgs.builder()
                    .file(VirtualNodeSpecLoggingAccessLogFileArgs.builder()
                        .path("string")
                        .format(VirtualNodeSpecLoggingAccessLogFileFormatArgs.builder()
                            .jsons(VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs.builder()
                                .key("string")
                                .value("string")
                                .build())
                            .text("string")
                            .build())
                        .build())
                    .build())
                .build())
            .serviceDiscovery(VirtualNodeSpecServiceDiscoveryArgs.builder()
                .awsCloudMap(VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs.builder()
                    .namespaceName("string")
                    .serviceName("string")
                    .attributes(Map.of("string", "string"))
                    .build())
                .dns(VirtualNodeSpecServiceDiscoveryDnsArgs.builder()
                    .hostname("string")
                    .ipPreference("string")
                    .responseType("string")
                    .build())
                .build())
            .build())
        .meshOwner("string")
        .name("string")
        .tags(Map.of("string", "string"))
        .build());
    
    virtual_node_resource = aws.appmesh.VirtualNode("virtualNodeResource",
        mesh_name="string",
        spec=aws.appmesh.VirtualNodeSpecArgs(
            backend_defaults=aws.appmesh.VirtualNodeSpecBackendDefaultsArgs(
                client_policy=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyArgs(
                    tls=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs(
                        validation=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs(
                            trust=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs(
                                acm=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs(
                                    certificate_authority_arns=["string"],
                                ),
                                file=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs(
                                    certificate_chain="string",
                                ),
                                sds=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs(
                                    secret_name="string",
                                ),
                            ),
                            subject_alternative_names=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs(
                                match=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs(
                                    exacts=["string"],
                                ),
                            ),
                        ),
                        certificate=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs(
                            file=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs(
                                certificate_chain="string",
                                private_key="string",
                            ),
                            sds=aws.appmesh.VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs(
                                secret_name="string",
                            ),
                        ),
                        enforce=False,
                        ports=[0],
                    ),
                ),
            ),
            backends=[aws.appmesh.VirtualNodeSpecBackendArgs(
                virtual_service=aws.appmesh.VirtualNodeSpecBackendVirtualServiceArgs(
                    virtual_service_name="string",
                    client_policy=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyArgs(
                        tls=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs(
                            validation=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs(
                                trust=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs(
                                    acm=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs(
                                        certificate_authority_arns=["string"],
                                    ),
                                    file=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs(
                                        certificate_chain="string",
                                    ),
                                    sds=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs(
                                        secret_name="string",
                                    ),
                                ),
                                subject_alternative_names=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs(
                                    match=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs(
                                        exacts=["string"],
                                    ),
                                ),
                            ),
                            certificate=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs(
                                file=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs(
                                    certificate_chain="string",
                                    private_key="string",
                                ),
                                sds=aws.appmesh.VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs(
                                    secret_name="string",
                                ),
                            ),
                            enforce=False,
                            ports=[0],
                        ),
                    ),
                ),
            )],
            listeners=[aws.appmesh.VirtualNodeSpecListenerArgs(
                port_mapping=aws.appmesh.VirtualNodeSpecListenerPortMappingArgs(
                    port=0,
                    protocol="string",
                ),
                connection_pool=aws.appmesh.VirtualNodeSpecListenerConnectionPoolArgs(
                    grpc=aws.appmesh.VirtualNodeSpecListenerConnectionPoolGrpcArgs(
                        max_requests=0,
                    ),
                    http2s=[aws.appmesh.VirtualNodeSpecListenerConnectionPoolHttp2Args(
                        max_requests=0,
                    )],
                    https=[aws.appmesh.VirtualNodeSpecListenerConnectionPoolHttpArgs(
                        max_connections=0,
                        max_pending_requests=0,
                    )],
                    tcps=[aws.appmesh.VirtualNodeSpecListenerConnectionPoolTcpArgs(
                        max_connections=0,
                    )],
                ),
                health_check=aws.appmesh.VirtualNodeSpecListenerHealthCheckArgs(
                    healthy_threshold=0,
                    interval_millis=0,
                    protocol="string",
                    timeout_millis=0,
                    unhealthy_threshold=0,
                    path="string",
                    port=0,
                ),
                outlier_detection=aws.appmesh.VirtualNodeSpecListenerOutlierDetectionArgs(
                    base_ejection_duration=aws.appmesh.VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs(
                        unit="string",
                        value=0,
                    ),
                    interval=aws.appmesh.VirtualNodeSpecListenerOutlierDetectionIntervalArgs(
                        unit="string",
                        value=0,
                    ),
                    max_ejection_percent=0,
                    max_server_errors=0,
                ),
                timeout=aws.appmesh.VirtualNodeSpecListenerTimeoutArgs(
                    grpc=aws.appmesh.VirtualNodeSpecListenerTimeoutGrpcArgs(
                        idle=aws.appmesh.VirtualNodeSpecListenerTimeoutGrpcIdleArgs(
                            unit="string",
                            value=0,
                        ),
                        per_request=aws.appmesh.VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs(
                            unit="string",
                            value=0,
                        ),
                    ),
                    http=aws.appmesh.VirtualNodeSpecListenerTimeoutHttpArgs(
                        idle=aws.appmesh.VirtualNodeSpecListenerTimeoutHttpIdleArgs(
                            unit="string",
                            value=0,
                        ),
                        per_request=aws.appmesh.VirtualNodeSpecListenerTimeoutHttpPerRequestArgs(
                            unit="string",
                            value=0,
                        ),
                    ),
                    http2=aws.appmesh.VirtualNodeSpecListenerTimeoutHttp2Args(
                        idle=aws.appmesh.VirtualNodeSpecListenerTimeoutHttp2IdleArgs(
                            unit="string",
                            value=0,
                        ),
                        per_request=aws.appmesh.VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs(
                            unit="string",
                            value=0,
                        ),
                    ),
                    tcp=aws.appmesh.VirtualNodeSpecListenerTimeoutTcpArgs(
                        idle=aws.appmesh.VirtualNodeSpecListenerTimeoutTcpIdleArgs(
                            unit="string",
                            value=0,
                        ),
                    ),
                ),
                tls=aws.appmesh.VirtualNodeSpecListenerTlsArgs(
                    certificate=aws.appmesh.VirtualNodeSpecListenerTlsCertificateArgs(
                        acm=aws.appmesh.VirtualNodeSpecListenerTlsCertificateAcmArgs(
                            certificate_arn="string",
                        ),
                        file=aws.appmesh.VirtualNodeSpecListenerTlsCertificateFileArgs(
                            certificate_chain="string",
                            private_key="string",
                        ),
                        sds=aws.appmesh.VirtualNodeSpecListenerTlsCertificateSdsArgs(
                            secret_name="string",
                        ),
                    ),
                    mode="string",
                    validation=aws.appmesh.VirtualNodeSpecListenerTlsValidationArgs(
                        trust=aws.appmesh.VirtualNodeSpecListenerTlsValidationTrustArgs(
                            file=aws.appmesh.VirtualNodeSpecListenerTlsValidationTrustFileArgs(
                                certificate_chain="string",
                            ),
                            sds=aws.appmesh.VirtualNodeSpecListenerTlsValidationTrustSdsArgs(
                                secret_name="string",
                            ),
                        ),
                        subject_alternative_names=aws.appmesh.VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs(
                            match=aws.appmesh.VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs(
                                exacts=["string"],
                            ),
                        ),
                    ),
                ),
            )],
            logging=aws.appmesh.VirtualNodeSpecLoggingArgs(
                access_log=aws.appmesh.VirtualNodeSpecLoggingAccessLogArgs(
                    file=aws.appmesh.VirtualNodeSpecLoggingAccessLogFileArgs(
                        path="string",
                        format=aws.appmesh.VirtualNodeSpecLoggingAccessLogFileFormatArgs(
                            jsons=[aws.appmesh.VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs(
                                key="string",
                                value="string",
                            )],
                            text="string",
                        ),
                    ),
                ),
            ),
            service_discovery=aws.appmesh.VirtualNodeSpecServiceDiscoveryArgs(
                aws_cloud_map=aws.appmesh.VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs(
                    namespace_name="string",
                    service_name="string",
                    attributes={
                        "string": "string",
                    },
                ),
                dns=aws.appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs(
                    hostname="string",
                    ip_preference="string",
                    response_type="string",
                ),
            ),
        ),
        mesh_owner="string",
        name="string",
        tags={
            "string": "string",
        })
    
    const virtualNodeResource = new aws.appmesh.VirtualNode("virtualNodeResource", {
        meshName: "string",
        spec: {
            backendDefaults: {
                clientPolicy: {
                    tls: {
                        validation: {
                            trust: {
                                acm: {
                                    certificateAuthorityArns: ["string"],
                                },
                                file: {
                                    certificateChain: "string",
                                },
                                sds: {
                                    secretName: "string",
                                },
                            },
                            subjectAlternativeNames: {
                                match: {
                                    exacts: ["string"],
                                },
                            },
                        },
                        certificate: {
                            file: {
                                certificateChain: "string",
                                privateKey: "string",
                            },
                            sds: {
                                secretName: "string",
                            },
                        },
                        enforce: false,
                        ports: [0],
                    },
                },
            },
            backends: [{
                virtualService: {
                    virtualServiceName: "string",
                    clientPolicy: {
                        tls: {
                            validation: {
                                trust: {
                                    acm: {
                                        certificateAuthorityArns: ["string"],
                                    },
                                    file: {
                                        certificateChain: "string",
                                    },
                                    sds: {
                                        secretName: "string",
                                    },
                                },
                                subjectAlternativeNames: {
                                    match: {
                                        exacts: ["string"],
                                    },
                                },
                            },
                            certificate: {
                                file: {
                                    certificateChain: "string",
                                    privateKey: "string",
                                },
                                sds: {
                                    secretName: "string",
                                },
                            },
                            enforce: false,
                            ports: [0],
                        },
                    },
                },
            }],
            listeners: [{
                portMapping: {
                    port: 0,
                    protocol: "string",
                },
                connectionPool: {
                    grpc: {
                        maxRequests: 0,
                    },
                    http2s: [{
                        maxRequests: 0,
                    }],
                    https: [{
                        maxConnections: 0,
                        maxPendingRequests: 0,
                    }],
                    tcps: [{
                        maxConnections: 0,
                    }],
                },
                healthCheck: {
                    healthyThreshold: 0,
                    intervalMillis: 0,
                    protocol: "string",
                    timeoutMillis: 0,
                    unhealthyThreshold: 0,
                    path: "string",
                    port: 0,
                },
                outlierDetection: {
                    baseEjectionDuration: {
                        unit: "string",
                        value: 0,
                    },
                    interval: {
                        unit: "string",
                        value: 0,
                    },
                    maxEjectionPercent: 0,
                    maxServerErrors: 0,
                },
                timeout: {
                    grpc: {
                        idle: {
                            unit: "string",
                            value: 0,
                        },
                        perRequest: {
                            unit: "string",
                            value: 0,
                        },
                    },
                    http: {
                        idle: {
                            unit: "string",
                            value: 0,
                        },
                        perRequest: {
                            unit: "string",
                            value: 0,
                        },
                    },
                    http2: {
                        idle: {
                            unit: "string",
                            value: 0,
                        },
                        perRequest: {
                            unit: "string",
                            value: 0,
                        },
                    },
                    tcp: {
                        idle: {
                            unit: "string",
                            value: 0,
                        },
                    },
                },
                tls: {
                    certificate: {
                        acm: {
                            certificateArn: "string",
                        },
                        file: {
                            certificateChain: "string",
                            privateKey: "string",
                        },
                        sds: {
                            secretName: "string",
                        },
                    },
                    mode: "string",
                    validation: {
                        trust: {
                            file: {
                                certificateChain: "string",
                            },
                            sds: {
                                secretName: "string",
                            },
                        },
                        subjectAlternativeNames: {
                            match: {
                                exacts: ["string"],
                            },
                        },
                    },
                },
            }],
            logging: {
                accessLog: {
                    file: {
                        path: "string",
                        format: {
                            jsons: [{
                                key: "string",
                                value: "string",
                            }],
                            text: "string",
                        },
                    },
                },
            },
            serviceDiscovery: {
                awsCloudMap: {
                    namespaceName: "string",
                    serviceName: "string",
                    attributes: {
                        string: "string",
                    },
                },
                dns: {
                    hostname: "string",
                    ipPreference: "string",
                    responseType: "string",
                },
            },
        },
        meshOwner: "string",
        name: "string",
        tags: {
            string: "string",
        },
    });
    
    type: aws:appmesh:VirtualNode
    properties:
        meshName: string
        meshOwner: string
        name: string
        spec:
            backendDefaults:
                clientPolicy:
                    tls:
                        certificate:
                            file:
                                certificateChain: string
                                privateKey: string
                            sds:
                                secretName: string
                        enforce: false
                        ports:
                            - 0
                        validation:
                            subjectAlternativeNames:
                                match:
                                    exacts:
                                        - string
                            trust:
                                acm:
                                    certificateAuthorityArns:
                                        - string
                                file:
                                    certificateChain: string
                                sds:
                                    secretName: string
            backends:
                - virtualService:
                    clientPolicy:
                        tls:
                            certificate:
                                file:
                                    certificateChain: string
                                    privateKey: string
                                sds:
                                    secretName: string
                            enforce: false
                            ports:
                                - 0
                            validation:
                                subjectAlternativeNames:
                                    match:
                                        exacts:
                                            - string
                                trust:
                                    acm:
                                        certificateAuthorityArns:
                                            - string
                                    file:
                                        certificateChain: string
                                    sds:
                                        secretName: string
                    virtualServiceName: string
            listeners:
                - connectionPool:
                    grpc:
                        maxRequests: 0
                    http2s:
                        - maxRequests: 0
                    https:
                        - maxConnections: 0
                          maxPendingRequests: 0
                    tcps:
                        - maxConnections: 0
                  healthCheck:
                    healthyThreshold: 0
                    intervalMillis: 0
                    path: string
                    port: 0
                    protocol: string
                    timeoutMillis: 0
                    unhealthyThreshold: 0
                  outlierDetection:
                    baseEjectionDuration:
                        unit: string
                        value: 0
                    interval:
                        unit: string
                        value: 0
                    maxEjectionPercent: 0
                    maxServerErrors: 0
                  portMapping:
                    port: 0
                    protocol: string
                  timeout:
                    grpc:
                        idle:
                            unit: string
                            value: 0
                        perRequest:
                            unit: string
                            value: 0
                    http:
                        idle:
                            unit: string
                            value: 0
                        perRequest:
                            unit: string
                            value: 0
                    http2:
                        idle:
                            unit: string
                            value: 0
                        perRequest:
                            unit: string
                            value: 0
                    tcp:
                        idle:
                            unit: string
                            value: 0
                  tls:
                    certificate:
                        acm:
                            certificateArn: string
                        file:
                            certificateChain: string
                            privateKey: string
                        sds:
                            secretName: string
                    mode: string
                    validation:
                        subjectAlternativeNames:
                            match:
                                exacts:
                                    - string
                        trust:
                            file:
                                certificateChain: string
                            sds:
                                secretName: string
            logging:
                accessLog:
                    file:
                        format:
                            jsons:
                                - key: string
                                  value: string
                            text: string
                        path: string
            serviceDiscovery:
                awsCloudMap:
                    attributes:
                        string: string
                    namespaceName: string
                    serviceName: string
                dns:
                    hostname: string
                    ipPreference: string
                    responseType: string
        tags:
            string: string
    

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

    MeshName string
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    Spec VirtualNodeSpec
    Virtual node specification to apply.
    MeshOwner string
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    Name string
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    Tags Dictionary<string, string>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    MeshName string
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    Spec VirtualNodeSpecArgs
    Virtual node specification to apply.
    MeshOwner string
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    Name string
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    Tags map[string]string
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    meshName String
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    spec VirtualNodeSpec
    Virtual node specification to apply.
    meshOwner String
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name String
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    tags Map<String,String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    meshName string
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    spec VirtualNodeSpec
    Virtual node specification to apply.
    meshOwner string
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name string
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    tags {[key: string]: string}
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    mesh_name str
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    spec VirtualNodeSpecArgs
    Virtual node specification to apply.
    mesh_owner str
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name str
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    tags Mapping[str, str]
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    meshName String
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    spec Property Map
    Virtual node specification to apply.
    meshOwner String
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name String
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    tags Map<String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    Outputs

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

    Arn string
    ARN of the virtual node.
    CreatedDate string
    Creation date of the virtual node.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastUpdatedDate string
    Last update date of the virtual node.
    ResourceOwner string
    Resource owner's AWS account ID.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Arn string
    ARN of the virtual node.
    CreatedDate string
    Creation date of the virtual node.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastUpdatedDate string
    Last update date of the virtual node.
    ResourceOwner string
    Resource owner's AWS account ID.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the virtual node.
    createdDate String
    Creation date of the virtual node.
    id String
    The provider-assigned unique ID for this managed resource.
    lastUpdatedDate String
    Last update date of the virtual node.
    resourceOwner String
    Resource owner's AWS account ID.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn string
    ARN of the virtual node.
    createdDate string
    Creation date of the virtual node.
    id string
    The provider-assigned unique ID for this managed resource.
    lastUpdatedDate string
    Last update date of the virtual node.
    resourceOwner string
    Resource owner's AWS account ID.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn str
    ARN of the virtual node.
    created_date str
    Creation date of the virtual node.
    id str
    The provider-assigned unique ID for this managed resource.
    last_updated_date str
    Last update date of the virtual node.
    resource_owner str
    Resource owner's AWS account ID.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the virtual node.
    createdDate String
    Creation date of the virtual node.
    id String
    The provider-assigned unique ID for this managed resource.
    lastUpdatedDate String
    Last update date of the virtual node.
    resourceOwner String
    Resource owner's AWS account ID.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Look up Existing VirtualNode Resource

    Get an existing VirtualNode 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?: VirtualNodeState, opts?: CustomResourceOptions): VirtualNode
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            created_date: Optional[str] = None,
            last_updated_date: Optional[str] = None,
            mesh_name: Optional[str] = None,
            mesh_owner: Optional[str] = None,
            name: Optional[str] = None,
            resource_owner: Optional[str] = None,
            spec: Optional[VirtualNodeSpecArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None) -> VirtualNode
    func GetVirtualNode(ctx *Context, name string, id IDInput, state *VirtualNodeState, opts ...ResourceOption) (*VirtualNode, error)
    public static VirtualNode Get(string name, Input<string> id, VirtualNodeState? state, CustomResourceOptions? opts = null)
    public static VirtualNode get(String name, Output<String> id, VirtualNodeState 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:
    Arn string
    ARN of the virtual node.
    CreatedDate string
    Creation date of the virtual node.
    LastUpdatedDate string
    Last update date of the virtual node.
    MeshName string
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    MeshOwner string
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    Name string
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    ResourceOwner string
    Resource owner's AWS account ID.
    Spec VirtualNodeSpec
    Virtual node specification to apply.
    Tags Dictionary<string, string>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Arn string
    ARN of the virtual node.
    CreatedDate string
    Creation date of the virtual node.
    LastUpdatedDate string
    Last update date of the virtual node.
    MeshName string
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    MeshOwner string
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    Name string
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    ResourceOwner string
    Resource owner's AWS account ID.
    Spec VirtualNodeSpecArgs
    Virtual node specification to apply.
    Tags map[string]string
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the virtual node.
    createdDate String
    Creation date of the virtual node.
    lastUpdatedDate String
    Last update date of the virtual node.
    meshName String
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    meshOwner String
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name String
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    resourceOwner String
    Resource owner's AWS account ID.
    spec VirtualNodeSpec
    Virtual node specification to apply.
    tags Map<String,String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn string
    ARN of the virtual node.
    createdDate string
    Creation date of the virtual node.
    lastUpdatedDate string
    Last update date of the virtual node.
    meshName string
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    meshOwner string
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name string
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    resourceOwner string
    Resource owner's AWS account ID.
    spec VirtualNodeSpec
    Virtual node specification to apply.
    tags {[key: string]: string}
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn str
    ARN of the virtual node.
    created_date str
    Creation date of the virtual node.
    last_updated_date str
    Last update date of the virtual node.
    mesh_name str
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    mesh_owner str
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name str
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    resource_owner str
    Resource owner's AWS account ID.
    spec VirtualNodeSpecArgs
    Virtual node specification to apply.
    tags Mapping[str, str]
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    ARN of the virtual node.
    createdDate String
    Creation date of the virtual node.
    lastUpdatedDate String
    Last update date of the virtual node.
    meshName String
    Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length.
    meshOwner String
    AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.
    name String
    Name to use for the virtual node. Must be between 1 and 255 characters in length.
    resourceOwner String
    Resource owner's AWS account ID.
    spec Property Map
    Virtual node specification to apply.
    tags Map<String>
    Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Supporting Types

    VirtualNodeSpec, VirtualNodeSpecArgs

    BackendDefaults VirtualNodeSpecBackendDefaults
    Defaults for backends.
    Backends List<VirtualNodeSpecBackend>
    Backends to which the virtual node is expected to send outbound traffic.
    Listeners List<VirtualNodeSpecListener>
    Listeners from which the virtual node is expected to receive inbound traffic.
    Logging VirtualNodeSpecLogging
    Inbound and outbound access logging information for the virtual node.
    ServiceDiscovery VirtualNodeSpecServiceDiscovery
    Service discovery information for the virtual node.
    BackendDefaults VirtualNodeSpecBackendDefaults
    Defaults for backends.
    Backends []VirtualNodeSpecBackend
    Backends to which the virtual node is expected to send outbound traffic.
    Listeners []VirtualNodeSpecListener
    Listeners from which the virtual node is expected to receive inbound traffic.
    Logging VirtualNodeSpecLogging
    Inbound and outbound access logging information for the virtual node.
    ServiceDiscovery VirtualNodeSpecServiceDiscovery
    Service discovery information for the virtual node.
    backendDefaults VirtualNodeSpecBackendDefaults
    Defaults for backends.
    backends List<VirtualNodeSpecBackend>
    Backends to which the virtual node is expected to send outbound traffic.
    listeners List<VirtualNodeSpecListener>
    Listeners from which the virtual node is expected to receive inbound traffic.
    logging VirtualNodeSpecLogging
    Inbound and outbound access logging information for the virtual node.
    serviceDiscovery VirtualNodeSpecServiceDiscovery
    Service discovery information for the virtual node.
    backendDefaults VirtualNodeSpecBackendDefaults
    Defaults for backends.
    backends VirtualNodeSpecBackend[]
    Backends to which the virtual node is expected to send outbound traffic.
    listeners VirtualNodeSpecListener[]
    Listeners from which the virtual node is expected to receive inbound traffic.
    logging VirtualNodeSpecLogging
    Inbound and outbound access logging information for the virtual node.
    serviceDiscovery VirtualNodeSpecServiceDiscovery
    Service discovery information for the virtual node.
    backend_defaults VirtualNodeSpecBackendDefaults
    Defaults for backends.
    backends Sequence[VirtualNodeSpecBackend]
    Backends to which the virtual node is expected to send outbound traffic.
    listeners Sequence[VirtualNodeSpecListener]
    Listeners from which the virtual node is expected to receive inbound traffic.
    logging VirtualNodeSpecLogging
    Inbound and outbound access logging information for the virtual node.
    service_discovery VirtualNodeSpecServiceDiscovery
    Service discovery information for the virtual node.
    backendDefaults Property Map
    Defaults for backends.
    backends List<Property Map>
    Backends to which the virtual node is expected to send outbound traffic.
    listeners List<Property Map>
    Listeners from which the virtual node is expected to receive inbound traffic.
    logging Property Map
    Inbound and outbound access logging information for the virtual node.
    serviceDiscovery Property Map
    Service discovery information for the virtual node.

    VirtualNodeSpecBackend, VirtualNodeSpecBackendArgs

    VirtualService VirtualNodeSpecBackendVirtualService
    Virtual service to use as a backend for a virtual node.
    VirtualService VirtualNodeSpecBackendVirtualService
    Virtual service to use as a backend for a virtual node.
    virtualService VirtualNodeSpecBackendVirtualService
    Virtual service to use as a backend for a virtual node.
    virtualService VirtualNodeSpecBackendVirtualService
    Virtual service to use as a backend for a virtual node.
    virtual_service VirtualNodeSpecBackendVirtualService
    Virtual service to use as a backend for a virtual node.
    virtualService Property Map
    Virtual service to use as a backend for a virtual node.

    VirtualNodeSpecBackendDefaults, VirtualNodeSpecBackendDefaultsArgs

    ClientPolicy VirtualNodeSpecBackendDefaultsClientPolicy
    Default client policy for virtual service backends. See above for details.
    ClientPolicy VirtualNodeSpecBackendDefaultsClientPolicy
    Default client policy for virtual service backends. See above for details.
    clientPolicy VirtualNodeSpecBackendDefaultsClientPolicy
    Default client policy for virtual service backends. See above for details.
    clientPolicy VirtualNodeSpecBackendDefaultsClientPolicy
    Default client policy for virtual service backends. See above for details.
    client_policy VirtualNodeSpecBackendDefaultsClientPolicy
    Default client policy for virtual service backends. See above for details.
    clientPolicy Property Map
    Default client policy for virtual service backends. See above for details.

    VirtualNodeSpecBackendDefaultsClientPolicy, VirtualNodeSpecBackendDefaultsClientPolicyArgs

    Tls VirtualNodeSpecBackendDefaultsClientPolicyTls
    Transport Layer Security (TLS) client policy.
    Tls VirtualNodeSpecBackendDefaultsClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls VirtualNodeSpecBackendDefaultsClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls VirtualNodeSpecBackendDefaultsClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls VirtualNodeSpecBackendDefaultsClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls Property Map
    Transport Layer Security (TLS) client policy.

    VirtualNodeSpecBackendDefaultsClientPolicyTls, VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs

    Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    Certificate VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate
    Listener's TLS certificate.
    Enforce bool
    Whether the policy is enforced. Default is true.
    Ports List<int>
    One or more ports that the policy is enforced for.
    Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    Certificate VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate
    Listener's TLS certificate.
    Enforce bool
    Whether the policy is enforced. Default is true.
    Ports []int
    One or more ports that the policy is enforced for.
    validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate
    Listener's TLS certificate.
    enforce Boolean
    Whether the policy is enforced. Default is true.
    ports List<Integer>
    One or more ports that the policy is enforced for.
    validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate
    Listener's TLS certificate.
    enforce boolean
    Whether the policy is enforced. Default is true.
    ports number[]
    One or more ports that the policy is enforced for.
    validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate
    Listener's TLS certificate.
    enforce bool
    Whether the policy is enforced. Default is true.
    ports Sequence[int]
    One or more ports that the policy is enforced for.
    validation Property Map
    Listener's Transport Layer Security (TLS) validation context.
    certificate Property Map
    Listener's TLS certificate.
    enforce Boolean
    Whether the policy is enforced. Default is true.
    ports List<Number>
    One or more ports that the policy is enforced for.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs

    file Property Map
    Local file certificate.
    sds Property Map
    A Secret Discovery Service certificate.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs

    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    PrivateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    PrivateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey String
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificate_chain str
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    private_key str
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey String
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs

    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secret_name str
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs

    trust Property Map
    TLS validation context trust.
    subjectAlternativeNames Property Map
    SANs for a TLS validation context.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs

    match Property Map
    Criteria for determining a SAN's match.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs

    Exacts List<string>
    Values sent must match the specified values exactly.
    Exacts []string
    Values sent must match the specified values exactly.
    exacts List<String>
    Values sent must match the specified values exactly.
    exacts string[]
    Values sent must match the specified values exactly.
    exacts Sequence[str]
    Values sent must match the specified values exactly.
    exacts List<String>
    Values sent must match the specified values exactly.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs

    Acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    File VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    Sds VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    Acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    File VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    Sds VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm Property Map
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file Property Map
    TLS validation context trust for a local file certificate.
    sds Property Map
    TLS validation context trust for a Secret Discovery Service certificate.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs

    CertificateAuthorityArns List<string>
    One or more ACM ARNs.
    CertificateAuthorityArns []string
    One or more ACM ARNs.
    certificateAuthorityArns List<String>
    One or more ACM ARNs.
    certificateAuthorityArns string[]
    One or more ACM ARNs.
    certificate_authority_arns Sequence[str]
    One or more ACM ARNs.
    certificateAuthorityArns List<String>
    One or more ACM ARNs.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs

    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificate_chain str
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.

    VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs

    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secret_name str
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.

    VirtualNodeSpecBackendVirtualService, VirtualNodeSpecBackendVirtualServiceArgs

    VirtualServiceName string
    Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length.
    ClientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicy
    Client policy for the backend.
    VirtualServiceName string
    Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length.
    ClientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicy
    Client policy for the backend.
    virtualServiceName String
    Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length.
    clientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicy
    Client policy for the backend.
    virtualServiceName string
    Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length.
    clientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicy
    Client policy for the backend.
    virtual_service_name str
    Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length.
    client_policy VirtualNodeSpecBackendVirtualServiceClientPolicy
    Client policy for the backend.
    virtualServiceName String
    Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length.
    clientPolicy Property Map
    Client policy for the backend.

    VirtualNodeSpecBackendVirtualServiceClientPolicy, VirtualNodeSpecBackendVirtualServiceClientPolicyArgs

    Tls VirtualNodeSpecBackendVirtualServiceClientPolicyTls
    Transport Layer Security (TLS) client policy.
    Tls VirtualNodeSpecBackendVirtualServiceClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls VirtualNodeSpecBackendVirtualServiceClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls VirtualNodeSpecBackendVirtualServiceClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls VirtualNodeSpecBackendVirtualServiceClientPolicyTls
    Transport Layer Security (TLS) client policy.
    tls Property Map
    Transport Layer Security (TLS) client policy.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTls, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs

    Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    Certificate VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate
    Listener's TLS certificate.
    Enforce bool
    Whether the policy is enforced. Default is true.
    Ports List<int>
    One or more ports that the policy is enforced for.
    Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    Certificate VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate
    Listener's TLS certificate.
    Enforce bool
    Whether the policy is enforced. Default is true.
    Ports []int
    One or more ports that the policy is enforced for.
    validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate
    Listener's TLS certificate.
    enforce Boolean
    Whether the policy is enforced. Default is true.
    ports List<Integer>
    One or more ports that the policy is enforced for.
    validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate
    Listener's TLS certificate.
    enforce boolean
    Whether the policy is enforced. Default is true.
    ports number[]
    One or more ports that the policy is enforced for.
    validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate
    Listener's TLS certificate.
    enforce bool
    Whether the policy is enforced. Default is true.
    ports Sequence[int]
    One or more ports that the policy is enforced for.
    validation Property Map
    Listener's Transport Layer Security (TLS) validation context.
    certificate Property Map
    Listener's TLS certificate.
    enforce Boolean
    Whether the policy is enforced. Default is true.
    ports List<Number>
    One or more ports that the policy is enforced for.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs

    file Property Map
    Local file certificate.
    sds Property Map
    A Secret Discovery Service certificate.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs

    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    PrivateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    PrivateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey String
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificate_chain str
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    private_key str
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey String
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs

    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secret_name str
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs

    trust Property Map
    TLS validation context trust.
    subjectAlternativeNames Property Map
    SANs for a TLS validation context.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs

    match Property Map
    Criteria for determining a SAN's match.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs

    Exacts List<string>
    Values sent must match the specified values exactly.
    Exacts []string
    Values sent must match the specified values exactly.
    exacts List<String>
    Values sent must match the specified values exactly.
    exacts string[]
    Values sent must match the specified values exactly.
    exacts Sequence[str]
    Values sent must match the specified values exactly.
    exacts List<String>
    Values sent must match the specified values exactly.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs

    Acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    Sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    Acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    Sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    acm Property Map
    TLS validation context trust for an AWS Certificate Manager (ACM) certificate.
    file Property Map
    TLS validation context trust for a local file certificate.
    sds Property Map
    TLS validation context trust for a Secret Discovery Service certificate.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs

    CertificateAuthorityArns List<string>
    One or more ACM ARNs.
    CertificateAuthorityArns []string
    One or more ACM ARNs.
    certificateAuthorityArns List<String>
    One or more ACM ARNs.
    certificateAuthorityArns string[]
    One or more ACM ARNs.
    certificate_authority_arns Sequence[str]
    One or more ACM ARNs.
    certificateAuthorityArns List<String>
    One or more ACM ARNs.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs

    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificate_chain str
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.

    VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs

    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secret_name str
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.

    VirtualNodeSpecListener, VirtualNodeSpecListenerArgs

    PortMapping VirtualNodeSpecListenerPortMapping
    Port mapping information for the listener.
    ConnectionPool VirtualNodeSpecListenerConnectionPool
    Connection pool information for the listener.
    HealthCheck VirtualNodeSpecListenerHealthCheck
    Health check information for the listener.
    OutlierDetection VirtualNodeSpecListenerOutlierDetection
    Outlier detection information for the listener.
    Timeout VirtualNodeSpecListenerTimeout
    Timeouts for different protocols.
    Tls VirtualNodeSpecListenerTls
    Transport Layer Security (TLS) properties for the listener
    PortMapping VirtualNodeSpecListenerPortMapping
    Port mapping information for the listener.
    ConnectionPool VirtualNodeSpecListenerConnectionPool
    Connection pool information for the listener.
    HealthCheck VirtualNodeSpecListenerHealthCheck
    Health check information for the listener.
    OutlierDetection VirtualNodeSpecListenerOutlierDetection
    Outlier detection information for the listener.
    Timeout VirtualNodeSpecListenerTimeout
    Timeouts for different protocols.
    Tls VirtualNodeSpecListenerTls
    Transport Layer Security (TLS) properties for the listener
    portMapping VirtualNodeSpecListenerPortMapping
    Port mapping information for the listener.
    connectionPool VirtualNodeSpecListenerConnectionPool
    Connection pool information for the listener.
    healthCheck VirtualNodeSpecListenerHealthCheck
    Health check information for the listener.
    outlierDetection VirtualNodeSpecListenerOutlierDetection
    Outlier detection information for the listener.
    timeout VirtualNodeSpecListenerTimeout
    Timeouts for different protocols.
    tls VirtualNodeSpecListenerTls
    Transport Layer Security (TLS) properties for the listener
    portMapping VirtualNodeSpecListenerPortMapping
    Port mapping information for the listener.
    connectionPool VirtualNodeSpecListenerConnectionPool
    Connection pool information for the listener.
    healthCheck VirtualNodeSpecListenerHealthCheck
    Health check information for the listener.
    outlierDetection VirtualNodeSpecListenerOutlierDetection
    Outlier detection information for the listener.
    timeout VirtualNodeSpecListenerTimeout
    Timeouts for different protocols.
    tls VirtualNodeSpecListenerTls
    Transport Layer Security (TLS) properties for the listener
    port_mapping VirtualNodeSpecListenerPortMapping
    Port mapping information for the listener.
    connection_pool VirtualNodeSpecListenerConnectionPool
    Connection pool information for the listener.
    health_check VirtualNodeSpecListenerHealthCheck
    Health check information for the listener.
    outlier_detection VirtualNodeSpecListenerOutlierDetection
    Outlier detection information for the listener.
    timeout VirtualNodeSpecListenerTimeout
    Timeouts for different protocols.
    tls VirtualNodeSpecListenerTls
    Transport Layer Security (TLS) properties for the listener
    portMapping Property Map
    Port mapping information for the listener.
    connectionPool Property Map
    Connection pool information for the listener.
    healthCheck Property Map
    Health check information for the listener.
    outlierDetection Property Map
    Outlier detection information for the listener.
    timeout Property Map
    Timeouts for different protocols.
    tls Property Map
    Transport Layer Security (TLS) properties for the listener

    VirtualNodeSpecListenerConnectionPool, VirtualNodeSpecListenerConnectionPoolArgs

    Grpc VirtualNodeSpecListenerConnectionPoolGrpc
    Connection pool information for gRPC listeners.
    Http2s List<VirtualNodeSpecListenerConnectionPoolHttp2>
    Connection pool information for HTTP2 listeners.
    Https List<VirtualNodeSpecListenerConnectionPoolHttp>
    Connection pool information for HTTP listeners.
    Tcps List<VirtualNodeSpecListenerConnectionPoolTcp>
    Connection pool information for TCP listeners.
    Grpc VirtualNodeSpecListenerConnectionPoolGrpc
    Connection pool information for gRPC listeners.
    Http2s []VirtualNodeSpecListenerConnectionPoolHttp2
    Connection pool information for HTTP2 listeners.
    Https []VirtualNodeSpecListenerConnectionPoolHttp
    Connection pool information for HTTP listeners.
    Tcps []VirtualNodeSpecListenerConnectionPoolTcp
    Connection pool information for TCP listeners.
    grpc VirtualNodeSpecListenerConnectionPoolGrpc
    Connection pool information for gRPC listeners.
    http2s List<VirtualNodeSpecListenerConnectionPoolHttp2>
    Connection pool information for HTTP2 listeners.
    https List<VirtualNodeSpecListenerConnectionPoolHttp>
    Connection pool information for HTTP listeners.
    tcps List<VirtualNodeSpecListenerConnectionPoolTcp>
    Connection pool information for TCP listeners.
    grpc VirtualNodeSpecListenerConnectionPoolGrpc
    Connection pool information for gRPC listeners.
    http2s VirtualNodeSpecListenerConnectionPoolHttp2[]
    Connection pool information for HTTP2 listeners.
    https VirtualNodeSpecListenerConnectionPoolHttp[]
    Connection pool information for HTTP listeners.
    tcps VirtualNodeSpecListenerConnectionPoolTcp[]
    Connection pool information for TCP listeners.
    grpc VirtualNodeSpecListenerConnectionPoolGrpc
    Connection pool information for gRPC listeners.
    http2s Sequence[VirtualNodeSpecListenerConnectionPoolHttp2]
    Connection pool information for HTTP2 listeners.
    https Sequence[VirtualNodeSpecListenerConnectionPoolHttp]
    Connection pool information for HTTP listeners.
    tcps Sequence[VirtualNodeSpecListenerConnectionPoolTcp]
    Connection pool information for TCP listeners.
    grpc Property Map
    Connection pool information for gRPC listeners.
    http2s List<Property Map>
    Connection pool information for HTTP2 listeners.
    https List<Property Map>
    Connection pool information for HTTP listeners.
    tcps List<Property Map>
    Connection pool information for TCP listeners.

    VirtualNodeSpecListenerConnectionPoolGrpc, VirtualNodeSpecListenerConnectionPoolGrpcArgs

    MaxRequests int
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    MaxRequests int
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    maxRequests Integer
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    maxRequests number
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    max_requests int
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    maxRequests Number
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.

    VirtualNodeSpecListenerConnectionPoolHttp, VirtualNodeSpecListenerConnectionPoolHttpArgs

    MaxConnections int
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    MaxPendingRequests int

    Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1.

    The http2 connection pool object supports the following:

    MaxConnections int
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    MaxPendingRequests int

    Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1.

    The http2 connection pool object supports the following:

    maxConnections Integer
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    maxPendingRequests Integer

    Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1.

    The http2 connection pool object supports the following:

    maxConnections number
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    maxPendingRequests number

    Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1.

    The http2 connection pool object supports the following:

    max_connections int
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    max_pending_requests int

    Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1.

    The http2 connection pool object supports the following:

    maxConnections Number
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    maxPendingRequests Number

    Number of overflowing requests after max_connections Envoy will queue to upstream cluster. Minimum value of 1.

    The http2 connection pool object supports the following:

    VirtualNodeSpecListenerConnectionPoolHttp2, VirtualNodeSpecListenerConnectionPoolHttp2Args

    MaxRequests int
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    MaxRequests int
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    maxRequests Integer
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    maxRequests number
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    max_requests int
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.
    maxRequests Number
    Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of 1.

    VirtualNodeSpecListenerConnectionPoolTcp, VirtualNodeSpecListenerConnectionPoolTcpArgs

    MaxConnections int
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    MaxConnections int
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    maxConnections Integer
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    maxConnections number
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    max_connections int
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.
    maxConnections Number
    Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of 1.

    VirtualNodeSpecListenerHealthCheck, VirtualNodeSpecListenerHealthCheckArgs

    HealthyThreshold int
    Number of consecutive successful health checks that must occur before declaring listener healthy.
    IntervalMillis int
    Time period in milliseconds between each health check execution.
    Protocol string
    Protocol for the health check request. Valid values are http, http2, tcp and grpc.
    TimeoutMillis int
    Amount of time to wait when receiving a response from the health check, in milliseconds.
    UnhealthyThreshold int
    Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.
    Path string
    Destination path for the health check request. This is only required if the specified protocol is http or http2.
    Port int
    Destination port for the health check request. This port must match the port defined in the port_mapping for the listener.
    HealthyThreshold int
    Number of consecutive successful health checks that must occur before declaring listener healthy.
    IntervalMillis int
    Time period in milliseconds between each health check execution.
    Protocol string
    Protocol for the health check request. Valid values are http, http2, tcp and grpc.
    TimeoutMillis int
    Amount of time to wait when receiving a response from the health check, in milliseconds.
    UnhealthyThreshold int
    Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.
    Path string
    Destination path for the health check request. This is only required if the specified protocol is http or http2.
    Port int
    Destination port for the health check request. This port must match the port defined in the port_mapping for the listener.
    healthyThreshold Integer
    Number of consecutive successful health checks that must occur before declaring listener healthy.
    intervalMillis Integer
    Time period in milliseconds between each health check execution.
    protocol String
    Protocol for the health check request. Valid values are http, http2, tcp and grpc.
    timeoutMillis Integer
    Amount of time to wait when receiving a response from the health check, in milliseconds.
    unhealthyThreshold Integer
    Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.
    path String
    Destination path for the health check request. This is only required if the specified protocol is http or http2.
    port Integer
    Destination port for the health check request. This port must match the port defined in the port_mapping for the listener.
    healthyThreshold number
    Number of consecutive successful health checks that must occur before declaring listener healthy.
    intervalMillis number
    Time period in milliseconds between each health check execution.
    protocol string
    Protocol for the health check request. Valid values are http, http2, tcp and grpc.
    timeoutMillis number
    Amount of time to wait when receiving a response from the health check, in milliseconds.
    unhealthyThreshold number
    Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.
    path string
    Destination path for the health check request. This is only required if the specified protocol is http or http2.
    port number
    Destination port for the health check request. This port must match the port defined in the port_mapping for the listener.
    healthy_threshold int
    Number of consecutive successful health checks that must occur before declaring listener healthy.
    interval_millis int
    Time period in milliseconds between each health check execution.
    protocol str
    Protocol for the health check request. Valid values are http, http2, tcp and grpc.
    timeout_millis int
    Amount of time to wait when receiving a response from the health check, in milliseconds.
    unhealthy_threshold int
    Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.
    path str
    Destination path for the health check request. This is only required if the specified protocol is http or http2.
    port int
    Destination port for the health check request. This port must match the port defined in the port_mapping for the listener.
    healthyThreshold Number
    Number of consecutive successful health checks that must occur before declaring listener healthy.
    intervalMillis Number
    Time period in milliseconds between each health check execution.
    protocol String
    Protocol for the health check request. Valid values are http, http2, tcp and grpc.
    timeoutMillis Number
    Amount of time to wait when receiving a response from the health check, in milliseconds.
    unhealthyThreshold Number
    Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.
    path String
    Destination path for the health check request. This is only required if the specified protocol is http or http2.
    port Number
    Destination port for the health check request. This port must match the port defined in the port_mapping for the listener.

    VirtualNodeSpecListenerOutlierDetection, VirtualNodeSpecListenerOutlierDetectionArgs

    BaseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration
    Base amount of time for which a host is ejected.
    Interval VirtualNodeSpecListenerOutlierDetectionInterval
    Time interval between ejection sweep analysis.
    MaxEjectionPercent int
    Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. Minimum value of 0. Maximum value of 100.
    MaxServerErrors int
    Number of consecutive 5xx errors required for ejection. Minimum value of 1.
    BaseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration
    Base amount of time for which a host is ejected.
    Interval VirtualNodeSpecListenerOutlierDetectionInterval
    Time interval between ejection sweep analysis.
    MaxEjectionPercent int
    Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. Minimum value of 0. Maximum value of 100.
    MaxServerErrors int
    Number of consecutive 5xx errors required for ejection. Minimum value of 1.
    baseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration
    Base amount of time for which a host is ejected.
    interval VirtualNodeSpecListenerOutlierDetectionInterval
    Time interval between ejection sweep analysis.
    maxEjectionPercent Integer
    Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. Minimum value of 0. Maximum value of 100.
    maxServerErrors Integer
    Number of consecutive 5xx errors required for ejection. Minimum value of 1.
    baseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration
    Base amount of time for which a host is ejected.
    interval VirtualNodeSpecListenerOutlierDetectionInterval
    Time interval between ejection sweep analysis.
    maxEjectionPercent number
    Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. Minimum value of 0. Maximum value of 100.
    maxServerErrors number
    Number of consecutive 5xx errors required for ejection. Minimum value of 1.
    base_ejection_duration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration
    Base amount of time for which a host is ejected.
    interval VirtualNodeSpecListenerOutlierDetectionInterval
    Time interval between ejection sweep analysis.
    max_ejection_percent int
    Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. Minimum value of 0. Maximum value of 100.
    max_server_errors int
    Number of consecutive 5xx errors required for ejection. Minimum value of 1.
    baseEjectionDuration Property Map
    Base amount of time for which a host is ejected.
    interval Property Map
    Time interval between ejection sweep analysis.
    maxEjectionPercent Number
    Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. Minimum value of 0. Maximum value of 100.
    maxServerErrors Number
    Number of consecutive 5xx errors required for ejection. Minimum value of 1.

    VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration, VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerOutlierDetectionInterval, VirtualNodeSpecListenerOutlierDetectionIntervalArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerPortMapping, VirtualNodeSpecListenerPortMappingArgs

    Port int
    Port used for the port mapping.
    Protocol string
    Protocol used for the port mapping. Valid values are http, http2, tcp and grpc.
    Port int
    Port used for the port mapping.
    Protocol string
    Protocol used for the port mapping. Valid values are http, http2, tcp and grpc.
    port Integer
    Port used for the port mapping.
    protocol String
    Protocol used for the port mapping. Valid values are http, http2, tcp and grpc.
    port number
    Port used for the port mapping.
    protocol string
    Protocol used for the port mapping. Valid values are http, http2, tcp and grpc.
    port int
    Port used for the port mapping.
    protocol str
    Protocol used for the port mapping. Valid values are http, http2, tcp and grpc.
    port Number
    Port used for the port mapping.
    protocol String
    Protocol used for the port mapping. Valid values are http, http2, tcp and grpc.

    VirtualNodeSpecListenerTimeout, VirtualNodeSpecListenerTimeoutArgs

    Grpc VirtualNodeSpecListenerTimeoutGrpc
    Timeouts for gRPC listeners.
    Http VirtualNodeSpecListenerTimeoutHttp
    Timeouts for HTTP listeners.
    Http2 VirtualNodeSpecListenerTimeoutHttp2
    Timeouts for HTTP2 listeners.
    Tcp VirtualNodeSpecListenerTimeoutTcp
    Timeouts for TCP listeners.
    Grpc VirtualNodeSpecListenerTimeoutGrpc
    Timeouts for gRPC listeners.
    Http VirtualNodeSpecListenerTimeoutHttp
    Timeouts for HTTP listeners.
    Http2 VirtualNodeSpecListenerTimeoutHttp2
    Timeouts for HTTP2 listeners.
    Tcp VirtualNodeSpecListenerTimeoutTcp
    Timeouts for TCP listeners.
    grpc VirtualNodeSpecListenerTimeoutGrpc
    Timeouts for gRPC listeners.
    http VirtualNodeSpecListenerTimeoutHttp
    Timeouts for HTTP listeners.
    http2 VirtualNodeSpecListenerTimeoutHttp2
    Timeouts for HTTP2 listeners.
    tcp VirtualNodeSpecListenerTimeoutTcp
    Timeouts for TCP listeners.
    grpc VirtualNodeSpecListenerTimeoutGrpc
    Timeouts for gRPC listeners.
    http VirtualNodeSpecListenerTimeoutHttp
    Timeouts for HTTP listeners.
    http2 VirtualNodeSpecListenerTimeoutHttp2
    Timeouts for HTTP2 listeners.
    tcp VirtualNodeSpecListenerTimeoutTcp
    Timeouts for TCP listeners.
    grpc VirtualNodeSpecListenerTimeoutGrpc
    Timeouts for gRPC listeners.
    http VirtualNodeSpecListenerTimeoutHttp
    Timeouts for HTTP listeners.
    http2 VirtualNodeSpecListenerTimeoutHttp2
    Timeouts for HTTP2 listeners.
    tcp VirtualNodeSpecListenerTimeoutTcp
    Timeouts for TCP listeners.
    grpc Property Map
    Timeouts for gRPC listeners.
    http Property Map
    Timeouts for HTTP listeners.
    http2 Property Map
    Timeouts for HTTP2 listeners.
    tcp Property Map
    Timeouts for TCP listeners.

    VirtualNodeSpecListenerTimeoutGrpc, VirtualNodeSpecListenerTimeoutGrpcArgs

    Idle VirtualNodeSpecListenerTimeoutGrpcIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    PerRequest VirtualNodeSpecListenerTimeoutGrpcPerRequest
    Per request timeout.
    Idle VirtualNodeSpecListenerTimeoutGrpcIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    PerRequest VirtualNodeSpecListenerTimeoutGrpcPerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutGrpcIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest VirtualNodeSpecListenerTimeoutGrpcPerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutGrpcIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest VirtualNodeSpecListenerTimeoutGrpcPerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutGrpcIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    per_request VirtualNodeSpecListenerTimeoutGrpcPerRequest
    Per request timeout.
    idle Property Map
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest Property Map
    Per request timeout.

    VirtualNodeSpecListenerTimeoutGrpcIdle, VirtualNodeSpecListenerTimeoutGrpcIdleArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerTimeoutGrpcPerRequest, VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerTimeoutHttp, VirtualNodeSpecListenerTimeoutHttpArgs

    Idle VirtualNodeSpecListenerTimeoutHttpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    PerRequest VirtualNodeSpecListenerTimeoutHttpPerRequest
    Per request timeout.
    Idle VirtualNodeSpecListenerTimeoutHttpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    PerRequest VirtualNodeSpecListenerTimeoutHttpPerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutHttpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest VirtualNodeSpecListenerTimeoutHttpPerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutHttpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest VirtualNodeSpecListenerTimeoutHttpPerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutHttpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    per_request VirtualNodeSpecListenerTimeoutHttpPerRequest
    Per request timeout.
    idle Property Map
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest Property Map
    Per request timeout.

    VirtualNodeSpecListenerTimeoutHttp2, VirtualNodeSpecListenerTimeoutHttp2Args

    Idle VirtualNodeSpecListenerTimeoutHttp2Idle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    PerRequest VirtualNodeSpecListenerTimeoutHttp2PerRequest
    Per request timeout.
    Idle VirtualNodeSpecListenerTimeoutHttp2Idle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    PerRequest VirtualNodeSpecListenerTimeoutHttp2PerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutHttp2Idle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest VirtualNodeSpecListenerTimeoutHttp2PerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutHttp2Idle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest VirtualNodeSpecListenerTimeoutHttp2PerRequest
    Per request timeout.
    idle VirtualNodeSpecListenerTimeoutHttp2Idle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    per_request VirtualNodeSpecListenerTimeoutHttp2PerRequest
    Per request timeout.
    idle Property Map
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    perRequest Property Map
    Per request timeout.

    VirtualNodeSpecListenerTimeoutHttp2Idle, VirtualNodeSpecListenerTimeoutHttp2IdleArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerTimeoutHttp2PerRequest, VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerTimeoutHttpIdle, VirtualNodeSpecListenerTimeoutHttpIdleArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerTimeoutHttpPerRequest, VirtualNodeSpecListenerTimeoutHttpPerRequestArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerTimeoutTcp, VirtualNodeSpecListenerTimeoutTcpArgs

    Idle VirtualNodeSpecListenerTimeoutTcpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    Idle VirtualNodeSpecListenerTimeoutTcpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    idle VirtualNodeSpecListenerTimeoutTcpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    idle VirtualNodeSpecListenerTimeoutTcpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    idle VirtualNodeSpecListenerTimeoutTcpIdle
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.
    idle Property Map
    Idle timeout. An idle timeout bounds the amount of time that a connection may be idle.

    VirtualNodeSpecListenerTimeoutTcpIdle, VirtualNodeSpecListenerTimeoutTcpIdleArgs

    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    Unit string
    Unit of time. Valid values: ms, s.
    Value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Integer
    Number of time units. Minimum value of 0.
    unit string
    Unit of time. Valid values: ms, s.
    value number
    Number of time units. Minimum value of 0.
    unit str
    Unit of time. Valid values: ms, s.
    value int
    Number of time units. Minimum value of 0.
    unit String
    Unit of time. Valid values: ms, s.
    value Number
    Number of time units. Minimum value of 0.

    VirtualNodeSpecListenerTls, VirtualNodeSpecListenerTlsArgs

    Certificate VirtualNodeSpecListenerTlsCertificate
    Listener's TLS certificate.
    Mode string
    Listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT.
    Validation VirtualNodeSpecListenerTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    Certificate VirtualNodeSpecListenerTlsCertificate
    Listener's TLS certificate.
    Mode string
    Listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT.
    Validation VirtualNodeSpecListenerTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecListenerTlsCertificate
    Listener's TLS certificate.
    mode String
    Listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT.
    validation VirtualNodeSpecListenerTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecListenerTlsCertificate
    Listener's TLS certificate.
    mode string
    Listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT.
    validation VirtualNodeSpecListenerTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate VirtualNodeSpecListenerTlsCertificate
    Listener's TLS certificate.
    mode str
    Listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT.
    validation VirtualNodeSpecListenerTlsValidation
    Listener's Transport Layer Security (TLS) validation context.
    certificate Property Map
    Listener's TLS certificate.
    mode String
    Listener's TLS mode. Valid values: DISABLED, PERMISSIVE, STRICT.
    validation Property Map
    Listener's Transport Layer Security (TLS) validation context.

    VirtualNodeSpecListenerTlsCertificate, VirtualNodeSpecListenerTlsCertificateArgs

    acm Property Map
    An AWS Certificate Manager (ACM) certificate.
    file Property Map
    Local file certificate.
    sds Property Map
    A Secret Discovery Service certificate.

    VirtualNodeSpecListenerTlsCertificateAcm, VirtualNodeSpecListenerTlsCertificateAcmArgs

    CertificateArn string
    ARN for the certificate.
    CertificateArn string
    ARN for the certificate.
    certificateArn String
    ARN for the certificate.
    certificateArn string
    ARN for the certificate.
    certificate_arn str
    ARN for the certificate.
    certificateArn String
    ARN for the certificate.

    VirtualNodeSpecListenerTlsCertificateFile, VirtualNodeSpecListenerTlsCertificateFileArgs

    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    PrivateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    PrivateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey String
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey string
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificate_chain str
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    private_key str
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    privateKey String
    Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length.

    VirtualNodeSpecListenerTlsCertificateSds, VirtualNodeSpecListenerTlsCertificateSdsArgs

    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secret_name str
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.

    VirtualNodeSpecListenerTlsValidation, VirtualNodeSpecListenerTlsValidationArgs

    trust Property Map
    TLS validation context trust.
    subjectAlternativeNames Property Map
    SANs for a TLS validation context.

    VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames, VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs

    match Property Map
    Criteria for determining a SAN's match.

    VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch, VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs

    Exacts List<string>
    Values sent must match the specified values exactly.
    Exacts []string
    Values sent must match the specified values exactly.
    exacts List<String>
    Values sent must match the specified values exactly.
    exacts string[]
    Values sent must match the specified values exactly.
    exacts Sequence[str]
    Values sent must match the specified values exactly.
    exacts List<String>
    Values sent must match the specified values exactly.

    VirtualNodeSpecListenerTlsValidationTrust, VirtualNodeSpecListenerTlsValidationTrustArgs

    File VirtualNodeSpecListenerTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    Sds VirtualNodeSpecListenerTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    File VirtualNodeSpecListenerTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    Sds VirtualNodeSpecListenerTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    file VirtualNodeSpecListenerTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecListenerTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    file VirtualNodeSpecListenerTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecListenerTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    file VirtualNodeSpecListenerTlsValidationTrustFile
    TLS validation context trust for a local file certificate.
    sds VirtualNodeSpecListenerTlsValidationTrustSds
    TLS validation context trust for a Secret Discovery Service certificate.
    file Property Map
    TLS validation context trust for a local file certificate.
    sds Property Map
    TLS validation context trust for a Secret Discovery Service certificate.

    VirtualNodeSpecListenerTlsValidationTrustFile, VirtualNodeSpecListenerTlsValidationTrustFileArgs

    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    CertificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain string
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificate_chain str
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.
    certificateChain String
    Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.

    VirtualNodeSpecListenerTlsValidationTrustSds, VirtualNodeSpecListenerTlsValidationTrustSdsArgs

    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    SecretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName string
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secret_name str
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.
    secretName String
    Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust.

    VirtualNodeSpecLogging, VirtualNodeSpecLoggingArgs

    AccessLog VirtualNodeSpecLoggingAccessLog
    Access log configuration for a virtual node.
    AccessLog VirtualNodeSpecLoggingAccessLog
    Access log configuration for a virtual node.
    accessLog VirtualNodeSpecLoggingAccessLog
    Access log configuration for a virtual node.
    accessLog VirtualNodeSpecLoggingAccessLog
    Access log configuration for a virtual node.
    access_log VirtualNodeSpecLoggingAccessLog
    Access log configuration for a virtual node.
    accessLog Property Map
    Access log configuration for a virtual node.

    VirtualNodeSpecLoggingAccessLog, VirtualNodeSpecLoggingAccessLogArgs

    File VirtualNodeSpecLoggingAccessLogFile
    File object to send virtual node access logs to.
    File VirtualNodeSpecLoggingAccessLogFile
    File object to send virtual node access logs to.
    file VirtualNodeSpecLoggingAccessLogFile
    File object to send virtual node access logs to.
    file VirtualNodeSpecLoggingAccessLogFile
    File object to send virtual node access logs to.
    file VirtualNodeSpecLoggingAccessLogFile
    File object to send virtual node access logs to.
    file Property Map
    File object to send virtual node access logs to.

    VirtualNodeSpecLoggingAccessLogFile, VirtualNodeSpecLoggingAccessLogFileArgs

    Path string
    File path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length.
    Format VirtualNodeSpecLoggingAccessLogFileFormat
    The specified format for the logs.
    Path string
    File path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length.
    Format VirtualNodeSpecLoggingAccessLogFileFormat
    The specified format for the logs.
    path String
    File path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length.
    format VirtualNodeSpecLoggingAccessLogFileFormat
    The specified format for the logs.
    path string
    File path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length.
    format VirtualNodeSpecLoggingAccessLogFileFormat
    The specified format for the logs.
    path str
    File path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length.
    format VirtualNodeSpecLoggingAccessLogFileFormat
    The specified format for the logs.
    path String
    File path to write access logs to. You can use /dev/stdout to send access logs to standard out. Must be between 1 and 255 characters in length.
    format Property Map
    The specified format for the logs.

    VirtualNodeSpecLoggingAccessLogFileFormat, VirtualNodeSpecLoggingAccessLogFileFormatArgs

    Jsons List<VirtualNodeSpecLoggingAccessLogFileFormatJson>
    The logging format for JSON.
    Text string
    The logging format for text. Must be between 1 and 1000 characters in length.
    Jsons []VirtualNodeSpecLoggingAccessLogFileFormatJson
    The logging format for JSON.
    Text string
    The logging format for text. Must be between 1 and 1000 characters in length.
    jsons List<VirtualNodeSpecLoggingAccessLogFileFormatJson>
    The logging format for JSON.
    text String
    The logging format for text. Must be between 1 and 1000 characters in length.
    jsons VirtualNodeSpecLoggingAccessLogFileFormatJson[]
    The logging format for JSON.
    text string
    The logging format for text. Must be between 1 and 1000 characters in length.
    jsons Sequence[VirtualNodeSpecLoggingAccessLogFileFormatJson]
    The logging format for JSON.
    text str
    The logging format for text. Must be between 1 and 1000 characters in length.
    jsons List<Property Map>
    The logging format for JSON.
    text String
    The logging format for text. Must be between 1 and 1000 characters in length.

    VirtualNodeSpecLoggingAccessLogFileFormatJson, VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs

    Key string
    The specified key for the JSON. Must be between 1 and 100 characters in length.
    Value string
    The specified value for the JSON. Must be between 1 and 100 characters in length.
    Key string
    The specified key for the JSON. Must be between 1 and 100 characters in length.
    Value string
    The specified value for the JSON. Must be between 1 and 100 characters in length.
    key String
    The specified key for the JSON. Must be between 1 and 100 characters in length.
    value String
    The specified value for the JSON. Must be between 1 and 100 characters in length.
    key string
    The specified key for the JSON. Must be between 1 and 100 characters in length.
    value string
    The specified value for the JSON. Must be between 1 and 100 characters in length.
    key str
    The specified key for the JSON. Must be between 1 and 100 characters in length.
    value str
    The specified value for the JSON. Must be between 1 and 100 characters in length.
    key String
    The specified key for the JSON. Must be between 1 and 100 characters in length.
    value String
    The specified value for the JSON. Must be between 1 and 100 characters in length.

    VirtualNodeSpecServiceDiscovery, VirtualNodeSpecServiceDiscoveryArgs

    AwsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMap
    Any AWS Cloud Map information for the virtual node.
    Dns VirtualNodeSpecServiceDiscoveryDns
    DNS service name for the virtual node.
    AwsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMap
    Any AWS Cloud Map information for the virtual node.
    Dns VirtualNodeSpecServiceDiscoveryDns
    DNS service name for the virtual node.
    awsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMap
    Any AWS Cloud Map information for the virtual node.
    dns VirtualNodeSpecServiceDiscoveryDns
    DNS service name for the virtual node.
    awsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMap
    Any AWS Cloud Map information for the virtual node.
    dns VirtualNodeSpecServiceDiscoveryDns
    DNS service name for the virtual node.
    aws_cloud_map VirtualNodeSpecServiceDiscoveryAwsCloudMap
    Any AWS Cloud Map information for the virtual node.
    dns VirtualNodeSpecServiceDiscoveryDns
    DNS service name for the virtual node.
    awsCloudMap Property Map
    Any AWS Cloud Map information for the virtual node.
    dns Property Map
    DNS service name for the virtual node.

    VirtualNodeSpecServiceDiscoveryAwsCloudMap, VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs

    NamespaceName string
    Name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
    ServiceName string
    Name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
    Attributes Dictionary<string, string>
    String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
    NamespaceName string
    Name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
    ServiceName string
    Name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
    Attributes map[string]string
    String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
    namespaceName String
    Name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
    serviceName String
    Name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
    attributes Map<String,String>
    String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
    namespaceName string
    Name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
    serviceName string
    Name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
    attributes {[key: string]: string}
    String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
    namespace_name str
    Name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
    service_name str
    Name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
    attributes Mapping[str, str]
    String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.
    namespaceName String
    Name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length.
    serviceName String
    Name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length.
    attributes Map<String>
    String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.

    VirtualNodeSpecServiceDiscoveryDns, VirtualNodeSpecServiceDiscoveryDnsArgs

    Hostname string
    DNS host name for your virtual node.
    IpPreference string
    The preferred IP version that this virtual node uses. Valid values: IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY.
    ResponseType string
    The DNS response type for the virtual node. Valid values: LOADBALANCER, ENDPOINTS.
    Hostname string
    DNS host name for your virtual node.
    IpPreference string
    The preferred IP version that this virtual node uses. Valid values: IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY.
    ResponseType string
    The DNS response type for the virtual node. Valid values: LOADBALANCER, ENDPOINTS.
    hostname String
    DNS host name for your virtual node.
    ipPreference String
    The preferred IP version that this virtual node uses. Valid values: IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY.
    responseType String
    The DNS response type for the virtual node. Valid values: LOADBALANCER, ENDPOINTS.
    hostname string
    DNS host name for your virtual node.
    ipPreference string
    The preferred IP version that this virtual node uses. Valid values: IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY.
    responseType string
    The DNS response type for the virtual node. Valid values: LOADBALANCER, ENDPOINTS.
    hostname str
    DNS host name for your virtual node.
    ip_preference str
    The preferred IP version that this virtual node uses. Valid values: IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY.
    response_type str
    The DNS response type for the virtual node. Valid values: LOADBALANCER, ENDPOINTS.
    hostname String
    DNS host name for your virtual node.
    ipPreference String
    The preferred IP version that this virtual node uses. Valid values: IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY.
    responseType String
    The DNS response type for the virtual node. Valid values: LOADBALANCER, ENDPOINTS.

    Import

    Using pulumi import, import App Mesh virtual nodes using mesh_name together with the virtual node’s name. For example:

    $ pulumi import aws:appmesh/virtualNode:VirtualNode serviceb1 simpleapp/serviceBv1
    

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

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi