VirtualNode

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

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new Aws.AppMesh.VirtualNodeArgs
        {
            MeshName = aws_appmesh_mesh.Simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = 
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listener = 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 main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/appmesh"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
            MeshName: pulumi.String(aws_appmesh_mesh.Simple.Id),
            Spec: &appmesh.VirtualNodeSpecArgs{
                Backends: appmesh.VirtualNodeSpecBackendArray{
                    &appmesh.VirtualNodeSpecBackendArgs{
                        VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
                            VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
                        },
                    },
                },
                Listener: &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
    })
}
import pulumi
import pulumi_aws as aws

serviceb1 = aws.appmesh.VirtualNode("serviceb1",
    mesh_name=aws_appmesh_mesh["simple"]["id"],
    spec={
        "backends": [{
            "virtualService": {
                "virtualServiceName": "servicea.simpleapp.local",
            },
        }],
        "listener": {
            "portMapping": {
                "port": 8080,
                "protocol": "http",
            },
        },
        "serviceDiscovery": {
            "dns": {
                "hostname": "serviceb.simpleapp.local",
            },
        },
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
    meshName: aws_appmesh_mesh_simple.id,
    spec: {
        backends: [{
            virtualService: {
                virtualServiceName: "servicea.simpleapp.local",
            },
        }],
        listener: {
            portMapping: {
                port: 8080,
                protocol: "http",
            },
        },
        serviceDiscovery: {
            dns: {
                hostname: "serviceb.simpleapp.local",
            },
        },
    },
});

AWS Cloud Map Service Discovery

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.ServiceDiscovery.HttpNamespace("example", new Aws.ServiceDiscovery.HttpNamespaceArgs
        {
        });
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new Aws.AppMesh.VirtualNodeArgs
        {
            MeshName = aws_appmesh_mesh.Simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = 
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listener = 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" },
                        },
                        NamespaceName = example.Name,
                        ServiceName = "serviceb1",
                    },
                },
            },
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/appmesh"
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/servicediscovery"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        example, err := servicediscovery.NewHttpNamespace(ctx, "example", nil)
        if err != nil {
            return err
        }
        _, err = appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
            MeshName: pulumi.String(aws_appmesh_mesh.Simple.Id),
            Spec: &appmesh.VirtualNodeSpecArgs{
                Backends: appmesh.VirtualNodeSpecBackendArray{
                    &appmesh.VirtualNodeSpecBackendArgs{
                        VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
                            VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
                        },
                    },
                },
                Listener: &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"),
                        },
                        NamespaceName: example.Name,
                        ServiceName:   pulumi.String("serviceb1"),
                    },
                },
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws

example = aws.servicediscovery.HttpNamespace("example")
serviceb1 = aws.appmesh.VirtualNode("serviceb1",
    mesh_name=aws_appmesh_mesh["simple"]["id"],
    spec={
        "backends": [{
            "virtualService": {
                "virtualServiceName": "servicea.simpleapp.local",
            },
        }],
        "listener": {
            "portMapping": {
                "port": 8080,
                "protocol": "http",
            },
        },
        "serviceDiscovery": {
            "awsCloudMap": {
                "attributes": {
                    "stack": "blue",
                },
                "namespaceName": example.name,
                "service_name": "serviceb1",
            },
        },
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.servicediscovery.HttpNamespace("example", {});
const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
    meshName: aws_appmesh_mesh_simple.id,
    spec: {
        backends: [{
            virtualService: {
                virtualServiceName: "servicea.simpleapp.local",
            },
        }],
        listener: {
            portMapping: {
                port: 8080,
                protocol: "http",
            },
        },
        serviceDiscovery: {
            awsCloudMap: {
                attributes: {
                    stack: "blue",
                },
                namespaceName: example.name,
                serviceName: "serviceb1",
            },
        },
    },
});

Listener Health Check

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new Aws.AppMesh.VirtualNodeArgs
        {
            MeshName = aws_appmesh_mesh.Simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = 
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listener = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs
                {
                    HealthCheck = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerHealthCheckArgs
                    {
                        HealthyThreshold = 2,
                        IntervalMillis = 5000,
                        Path = "/ping",
                        Protocol = "http",
                        TimeoutMillis = 2000,
                        UnhealthyThreshold = 2,
                    },
                    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 main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/appmesh"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
            MeshName: pulumi.String(aws_appmesh_mesh.Simple.Id),
            Spec: &appmesh.VirtualNodeSpecArgs{
                Backends: appmesh.VirtualNodeSpecBackendArray{
                    &appmesh.VirtualNodeSpecBackendArgs{
                        VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
                            VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
                        },
                    },
                },
                Listener: &appmesh.VirtualNodeSpecListenerArgs{
                    HealthCheck: &appmesh.VirtualNodeSpecListenerHealthCheckArgs{
                        HealthyThreshold:   pulumi.Int(2),
                        IntervalMillis:     pulumi.Int(5000),
                        Path:               pulumi.String("/ping"),
                        Protocol:           pulumi.String("http"),
                        TimeoutMillis:      pulumi.Int(2000),
                        UnhealthyThreshold: pulumi.Int(2),
                    },
                    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
    })
}
import pulumi
import pulumi_aws as aws

serviceb1 = aws.appmesh.VirtualNode("serviceb1",
    mesh_name=aws_appmesh_mesh["simple"]["id"],
    spec={
        "backends": [{
            "virtualService": {
                "virtualServiceName": "servicea.simpleapp.local",
            },
        }],
        "listener": {
            "health_check": {
                "healthyThreshold": 2,
                "intervalMillis": 5000,
                "path": "/ping",
                "protocol": "http",
                "timeoutMillis": 2000,
                "unhealthyThreshold": 2,
            },
            "portMapping": {
                "port": 8080,
                "protocol": "http",
            },
        },
        "serviceDiscovery": {
            "dns": {
                "hostname": "serviceb.simpleapp.local",
            },
        },
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
    meshName: aws_appmesh_mesh_simple.id,
    spec: {
        backends: [{
            virtualService: {
                virtualServiceName: "servicea.simpleapp.local",
            },
        }],
        listener: {
            healthCheck: {
                healthyThreshold: 2,
                intervalMillis: 5000,
                path: "/ping",
                protocol: "http",
                timeoutMillis: 2000,
                unhealthyThreshold: 2,
            },
            portMapping: {
                port: 8080,
                protocol: "http",
            },
        },
        serviceDiscovery: {
            dns: {
                hostname: "serviceb.simpleapp.local",
            },
        },
    },
});

Logging

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var serviceb1 = new Aws.AppMesh.VirtualNode("serviceb1", new Aws.AppMesh.VirtualNodeArgs
        {
            MeshName = aws_appmesh_mesh.Simple.Id,
            Spec = new Aws.AppMesh.Inputs.VirtualNodeSpecArgs
            {
                Backends = 
                {
                    new Aws.AppMesh.Inputs.VirtualNodeSpecBackendArgs
                    {
                        VirtualService = new Aws.AppMesh.Inputs.VirtualNodeSpecBackendVirtualServiceArgs
                        {
                            VirtualServiceName = "servicea.simpleapp.local",
                        },
                    },
                },
                Listener = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerArgs
                {
                    PortMapping = new Aws.AppMesh.Inputs.VirtualNodeSpecListenerPortMappingArgs
                    {
                        Port = 8080,
                        Protocol = "http",
                    },
                },
                Logging = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingArgs
                {
                    AccessLog = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogArgs
                    {
                        File = new Aws.AppMesh.Inputs.VirtualNodeSpecLoggingAccessLogFileArgs
                        {
                            Path = "/dev/stdout",
                        },
                    },
                },
                ServiceDiscovery = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryArgs
                {
                    Dns = new Aws.AppMesh.Inputs.VirtualNodeSpecServiceDiscoveryDnsArgs
                    {
                        Hostname = "serviceb.simpleapp.local",
                    },
                },
            },
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/appmesh"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := appmesh.NewVirtualNode(ctx, "serviceb1", &appmesh.VirtualNodeArgs{
            MeshName: pulumi.String(aws_appmesh_mesh.Simple.Id),
            Spec: &appmesh.VirtualNodeSpecArgs{
                Backends: appmesh.VirtualNodeSpecBackendArray{
                    &appmesh.VirtualNodeSpecBackendArgs{
                        VirtualService: &appmesh.VirtualNodeSpecBackendVirtualServiceArgs{
                            VirtualServiceName: pulumi.String("servicea.simpleapp.local"),
                        },
                    },
                },
                Listener: &appmesh.VirtualNodeSpecListenerArgs{
                    PortMapping: &appmesh.VirtualNodeSpecListenerPortMappingArgs{
                        Port:     pulumi.Int(8080),
                        Protocol: pulumi.String("http"),
                    },
                },
                Logging: &appmesh.VirtualNodeSpecLoggingArgs{
                    AccessLog: &appmesh.VirtualNodeSpecLoggingAccessLogArgs{
                        File: &appmesh.VirtualNodeSpecLoggingAccessLogFileArgs{
                            Path: pulumi.String("/dev/stdout"),
                        },
                    },
                },
                ServiceDiscovery: &appmesh.VirtualNodeSpecServiceDiscoveryArgs{
                    Dns: &appmesh.VirtualNodeSpecServiceDiscoveryDnsArgs{
                        Hostname: pulumi.String("serviceb.simpleapp.local"),
                    },
                },
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws

serviceb1 = aws.appmesh.VirtualNode("serviceb1",
    mesh_name=aws_appmesh_mesh["simple"]["id"],
    spec={
        "backends": [{
            "virtualService": {
                "virtualServiceName": "servicea.simpleapp.local",
            },
        }],
        "listener": {
            "portMapping": {
                "port": 8080,
                "protocol": "http",
            },
        },
        "logging": {
            "accessLog": {
                "file": {
                    "path": "/dev/stdout",
                },
            },
        },
        "serviceDiscovery": {
            "dns": {
                "hostname": "serviceb.simpleapp.local",
            },
        },
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const serviceb1 = new aws.appmesh.VirtualNode("serviceb1", {
    meshName: aws_appmesh_mesh_simple.id,
    spec: {
        backends: [{
            virtualService: {
                virtualServiceName: "servicea.simpleapp.local",
            },
        }],
        listener: {
            portMapping: {
                port: 8080,
                protocol: "http",
            },
        },
        logging: {
            accessLog: {
                file: {
                    path: "/dev/stdout",
                },
            },
        },
        serviceDiscovery: {
            dns: {
                hostname: "serviceb.simpleapp.local",
            },
        },
    },
});

Create a VirtualNode Resource

def VirtualNode(resource_name, opts=None, mesh_name=None, name=None, spec=None, tags=None, __props__=None);
func NewVirtualNode(ctx *Context, name string, args VirtualNodeArgs, opts ...ResourceOption) (*VirtualNode, error)
public VirtualNode(string name, VirtualNodeArgs args, CustomResourceOptions? opts = null)
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.
opts ResourceOptions
A bag of options that control this 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.

VirtualNode Resource Properties

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

Inputs

The VirtualNode resource accepts the following input properties:

MeshName string

The name of the service mesh in which to create the virtual node.

Spec VirtualNodeSpecArgs

The virtual node specification to apply.

Name string

The name to use for the virtual node.

Tags Dictionary<string, string>

A map of tags to assign to the resource.

MeshName string

The name of the service mesh in which to create the virtual node.

Spec VirtualNodeSpec

The virtual node specification to apply.

Name string

The name to use for the virtual node.

Tags map[string]string

A map of tags to assign to the resource.

meshName string

The name of the service mesh in which to create the virtual node.

spec VirtualNodeSpec

The virtual node specification to apply.

name string

The name to use for the virtual node.

tags {[key: string]: string}

A map of tags to assign to the resource.

mesh_name str

The name of the service mesh in which to create the virtual node.

spec Dict[VirtualNodeSpec]

The virtual node specification to apply.

name str

The name to use for the virtual node.

tags Dict[str, str]

A map of tags to assign to the resource.

Outputs

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

Arn string

The ARN of the virtual node.

CreatedDate string

The creation date of the virtual node.

Id string
The provider-assigned unique ID for this managed resource.
LastUpdatedDate string

The last update date of the virtual node.

Arn string

The ARN of the virtual node.

CreatedDate string

The creation date of the virtual node.

Id string
The provider-assigned unique ID for this managed resource.
LastUpdatedDate string

The last update date of the virtual node.

arn string

The ARN of the virtual node.

createdDate string

The creation date of the virtual node.

id string
The provider-assigned unique ID for this managed resource.
lastUpdatedDate string

The last update date of the virtual node.

arn str

The ARN of the virtual node.

created_date str

The creation date of the virtual node.

id str
The provider-assigned unique ID for this managed resource.
last_updated_date str

The last update date of the virtual node.

Look up an 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
static get(resource_name, id, opts=None, arn=None, created_date=None, last_updated_date=None, mesh_name=None, name=None, spec=None, tags=None, __props__=None);
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)
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.

The following state arguments are supported:

Arn string

The ARN of the virtual node.

CreatedDate string

The creation date of the virtual node.

LastUpdatedDate string

The last update date of the virtual node.

MeshName string

The name of the service mesh in which to create the virtual node.

Name string

The name to use for the virtual node.

Spec VirtualNodeSpecArgs

The virtual node specification to apply.

Tags Dictionary<string, string>

A map of tags to assign to the resource.

Arn string

The ARN of the virtual node.

CreatedDate string

The creation date of the virtual node.

LastUpdatedDate string

The last update date of the virtual node.

MeshName string

The name of the service mesh in which to create the virtual node.

Name string

The name to use for the virtual node.

Spec VirtualNodeSpec

The virtual node specification to apply.

Tags map[string]string

A map of tags to assign to the resource.

arn string

The ARN of the virtual node.

createdDate string

The creation date of the virtual node.

lastUpdatedDate string

The last update date of the virtual node.

meshName string

The name of the service mesh in which to create the virtual node.

name string

The name to use for the virtual node.

spec VirtualNodeSpec

The virtual node specification to apply.

tags {[key: string]: string}

A map of tags to assign to the resource.

arn str

The ARN of the virtual node.

created_date str

The creation date of the virtual node.

last_updated_date str

The last update date of the virtual node.

mesh_name str

The name of the service mesh in which to create the virtual node.

name str

The name to use for the virtual node.

spec Dict[VirtualNodeSpec]

The virtual node specification to apply.

tags Dict[str, str]

A map of tags to assign to the resource.

Supporting Types

VirtualNodeSpec

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Backends List<VirtualNodeSpecBackendArgs>

The backends to which the virtual node is expected to send outbound traffic.

Listener VirtualNodeSpecListenerArgs

The listeners from which the virtual node is expected to receive inbound traffic.

Logging VirtualNodeSpecLoggingArgs

The inbound and outbound access logging information for the virtual node.

ServiceDiscovery VirtualNodeSpecServiceDiscoveryArgs

The service discovery information for the virtual node.

Backends []VirtualNodeSpecBackend

The backends to which the virtual node is expected to send outbound traffic.

Listener VirtualNodeSpecListener

The listeners from which the virtual node is expected to receive inbound traffic.

Logging VirtualNodeSpecLogging

The inbound and outbound access logging information for the virtual node.

ServiceDiscovery VirtualNodeSpecServiceDiscovery

The service discovery information for the virtual node.

backends VirtualNodeSpecBackend[]

The backends to which the virtual node is expected to send outbound traffic.

listener VirtualNodeSpecListener

The listeners from which the virtual node is expected to receive inbound traffic.

logging VirtualNodeSpecLogging

The inbound and outbound access logging information for the virtual node.

serviceDiscovery VirtualNodeSpecServiceDiscovery

The service discovery information for the virtual node.

backends List[VirtualNodeSpecBackend]

The backends to which the virtual node is expected to send outbound traffic.

listener Dict[VirtualNodeSpecListener]

The listeners from which the virtual node is expected to receive inbound traffic.

logging Dict[VirtualNodeSpecLogging]

The inbound and outbound access logging information for the virtual node.

serviceDiscovery Dict[VirtualNodeSpecServiceDiscovery]

The service discovery information for the virtual node.

VirtualNodeSpecBackend

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

VirtualService VirtualNodeSpecBackendVirtualServiceArgs

Specifies a virtual service to use as a backend for a virtual node.

VirtualService VirtualNodeSpecBackendVirtualService

Specifies a virtual service to use as a backend for a virtual node.

virtualService VirtualNodeSpecBackendVirtualService

Specifies a virtual service to use as a backend for a virtual node.

virtualService Dict[VirtualNodeSpecBackendVirtualService]

Specifies a virtual service to use as a backend for a virtual node.

VirtualNodeSpecBackendVirtualService

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

VirtualServiceName string

The name of the virtual service that is acting as a virtual node backend.

VirtualServiceName string

The name of the virtual service that is acting as a virtual node backend.

virtualServiceName string

The name of the virtual service that is acting as a virtual node backend.

virtualServiceName str

The name of the virtual service that is acting as a virtual node backend.

VirtualNodeSpecListener

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

PortMapping VirtualNodeSpecListenerPortMappingArgs

The port mapping information for the listener.

HealthCheck VirtualNodeSpecListenerHealthCheckArgs

The health check information for the listener.

PortMapping VirtualNodeSpecListenerPortMapping

The port mapping information for the listener.

HealthCheck VirtualNodeSpecListenerHealthCheck

The health check information for the listener.

portMapping VirtualNodeSpecListenerPortMapping

The port mapping information for the listener.

healthCheck VirtualNodeSpecListenerHealthCheck

The health check information for the listener.

portMapping Dict[VirtualNodeSpecListenerPortMapping]

The port mapping information for the listener.

health_check Dict[VirtualNodeSpecListenerHealthCheck]

The health check information for the listener.

VirtualNodeSpecListenerHealthCheck

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

HealthyThreshold int

The number of consecutive successful health checks that must occur before declaring listener healthy.

IntervalMillis int

The time period in milliseconds between each health check execution.

Protocol string

The protocol for the health check request. Valid values are http and tcp.

TimeoutMillis int

The amount of time to wait when receiving a response from the health check, in milliseconds.

UnhealthyThreshold int

The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.

Path string

The destination path for the health check request. This is only required if the specified protocol is http.

Port int

The destination port for the health check request. This port must match the port defined in the port_mapping for the listener.

HealthyThreshold int

The number of consecutive successful health checks that must occur before declaring listener healthy.

IntervalMillis int

The time period in milliseconds between each health check execution.

Protocol string

The protocol for the health check request. Valid values are http and tcp.

TimeoutMillis int

The amount of time to wait when receiving a response from the health check, in milliseconds.

UnhealthyThreshold int

The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.

Path string

The destination path for the health check request. This is only required if the specified protocol is http.

Port int

The destination port for the health check request. This port must match the port defined in the port_mapping for the listener.

healthyThreshold number

The number of consecutive successful health checks that must occur before declaring listener healthy.

intervalMillis number

The time period in milliseconds between each health check execution.

protocol string

The protocol for the health check request. Valid values are http and tcp.

timeoutMillis number

The amount of time to wait when receiving a response from the health check, in milliseconds.

unhealthyThreshold number

The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.

path string

The destination path for the health check request. This is only required if the specified protocol is http.

port number

The destination port for the health check request. This port must match the port defined in the port_mapping for the listener.

healthyThreshold float

The number of consecutive successful health checks that must occur before declaring listener healthy.

intervalMillis float

The time period in milliseconds between each health check execution.

protocol str

The protocol for the health check request. Valid values are http and tcp.

timeoutMillis float

The amount of time to wait when receiving a response from the health check, in milliseconds.

unhealthyThreshold float

The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.

path str

The destination path for the health check request. This is only required if the specified protocol is http.

port float

The destination port for the health check request. This port must match the port defined in the port_mapping for the listener.

VirtualNodeSpecListenerPortMapping

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Port int

The port used for the port mapping.

Protocol string

The protocol used for the port mapping. Valid values are http and tcp.

Port int

The port used for the port mapping.

Protocol string

The protocol used for the port mapping. Valid values are http and tcp.

port number

The port used for the port mapping.

protocol string

The protocol used for the port mapping. Valid values are http and tcp.

port float

The port used for the port mapping.

protocol str

The protocol used for the port mapping. Valid values are http and tcp.

VirtualNodeSpecLogging

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

AccessLog VirtualNodeSpecLoggingAccessLogArgs

The access log configuration for a virtual node.

AccessLog VirtualNodeSpecLoggingAccessLog

The access log configuration for a virtual node.

accessLog VirtualNodeSpecLoggingAccessLog

The access log configuration for a virtual node.

accessLog Dict[VirtualNodeSpecLoggingAccessLog]

The access log configuration for a virtual node.

VirtualNodeSpecLoggingAccessLog

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

File VirtualNodeSpecLoggingAccessLogFileArgs

The file object to send virtual node access logs to.

File VirtualNodeSpecLoggingAccessLogFile

The file object to send virtual node access logs to.

file VirtualNodeSpecLoggingAccessLogFile

The file object to send virtual node access logs to.

file Dict[VirtualNodeSpecLoggingAccessLogFile]

The file object to send virtual node access logs to.

VirtualNodeSpecLoggingAccessLogFile

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Path string

The file path to write access logs to. You can use /dev/stdout to send access logs to standard out.

Path string

The file path to write access logs to. You can use /dev/stdout to send access logs to standard out.

path string

The file path to write access logs to. You can use /dev/stdout to send access logs to standard out.

path str

The file path to write access logs to. You can use /dev/stdout to send access logs to standard out.

VirtualNodeSpecServiceDiscovery

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

AwsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs

Specifies any AWS Cloud Map information for the virtual node.

Dns VirtualNodeSpecServiceDiscoveryDnsArgs

Specifies the DNS service name for the virtual node.

AwsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMap

Specifies any AWS Cloud Map information for the virtual node.

Dns VirtualNodeSpecServiceDiscoveryDns

Specifies the DNS service name for the virtual node.

awsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMap

Specifies any AWS Cloud Map information for the virtual node.

dns VirtualNodeSpecServiceDiscoveryDns

Specifies the DNS service name for the virtual node.

awsCloudMap Dict[VirtualNodeSpecServiceDiscoveryAwsCloudMap]

Specifies any AWS Cloud Map information for the virtual node.

dns Dict[VirtualNodeSpecServiceDiscoveryDns]

Specifies the DNS service name for the virtual node.

VirtualNodeSpecServiceDiscoveryAwsCloudMap

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

NamespaceName string

The name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace.

ServiceName string

The name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service.

Attributes Dictionary<string, string>

A 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

The name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace.

ServiceName string

The name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service.

Attributes map[string]string

A 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

The name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace.

serviceName string

The name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service.

attributes {[key: string]: string}

A 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 str

The name of the AWS Cloud Map namespace to use. Use the aws.servicediscovery.HttpNamespace resource to configure a Cloud Map namespace.

service_name str

The name of the AWS Cloud Map service to use. Use the aws.servicediscovery.Service resource to configure a Cloud Map service.

attributes Dict[str, str]

A 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

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Hostname string

The DNS host name for your virtual node.

Hostname string

The DNS host name for your virtual node.

hostname string

The DNS host name for your virtual node.

hostname str

The DNS host name for your virtual node.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.