Virtual Service
    Provides an AWS App Mesh virtual service resource.
Example Usage
Virtual Node Provider
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const servicea = new aws.appmesh.VirtualService("servicea", {
    name: "servicea.simpleapp.local",
    meshName: simple.id,
    spec: {
        provider: {
            virtualNode: {
                virtualNodeName: serviceb1.name,
            },
        },
    },
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
servicea = aws.appmesh.VirtualService("servicea",
    name="servicea.simpleapp.local",
    mesh_name=simple["id"],
    spec=aws.appmesh.VirtualServiceSpecArgs(
        provider=aws.appmesh.VirtualServiceSpecProviderArgs(
            virtual_node=aws.appmesh.VirtualServiceSpecProviderVirtualNodeArgs(
                virtual_node_name=serviceb1["name"],
            ),
        ),
    ))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var servicea = new Aws.AppMesh.VirtualService("servicea", new()
    {
        Name = "servicea.simpleapp.local",
        MeshName = simple.Id,
        Spec = new Aws.AppMesh.Inputs.VirtualServiceSpecArgs
        {
            Provider = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderArgs
            {
                VirtualNode = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderVirtualNodeArgs
                {
                    VirtualNodeName = serviceb1.Name,
                },
            },
        },
    });
});Content copied to clipboard
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.NewVirtualService(ctx, "servicea", &appmesh.VirtualServiceArgs{
			Name:     pulumi.String("servicea.simpleapp.local"),
			MeshName: pulumi.Any(simple.Id),
			Spec: &appmesh.VirtualServiceSpecArgs{
				Provider: &appmesh.VirtualServiceSpecProviderArgs{
					VirtualNode: &appmesh.VirtualServiceSpecProviderVirtualNodeArgs{
						VirtualNodeName: pulumi.Any(serviceb1.Name),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.appmesh.VirtualService;
import com.pulumi.aws.appmesh.VirtualServiceArgs;
import com.pulumi.aws.appmesh.inputs.VirtualServiceSpecArgs;
import com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderArgs;
import com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderVirtualNodeArgs;
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 servicea = new VirtualService("servicea", VirtualServiceArgs.builder()
            .name("servicea.simpleapp.local")
            .meshName(simple.id())
            .spec(VirtualServiceSpecArgs.builder()
                .provider(VirtualServiceSpecProviderArgs.builder()
                    .virtualNode(VirtualServiceSpecProviderVirtualNodeArgs.builder()
                        .virtualNodeName(serviceb1.name())
                        .build())
                    .build())
                .build())
            .build());
    }
}Content copied to clipboard
resources:
  servicea:
    type: aws:appmesh:VirtualService
    properties:
      name: servicea.simpleapp.local
      meshName: ${simple.id}
      spec:
        provider:
          virtualNode:
            virtualNodeName: ${serviceb1.name}Content copied to clipboard
Virtual Router Provider
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const servicea = new aws.appmesh.VirtualService("servicea", {
    name: "servicea.simpleapp.local",
    meshName: simple.id,
    spec: {
        provider: {
            virtualRouter: {
                virtualRouterName: serviceb.name,
            },
        },
    },
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
servicea = aws.appmesh.VirtualService("servicea",
    name="servicea.simpleapp.local",
    mesh_name=simple["id"],
    spec=aws.appmesh.VirtualServiceSpecArgs(
        provider=aws.appmesh.VirtualServiceSpecProviderArgs(
            virtual_router=aws.appmesh.VirtualServiceSpecProviderVirtualRouterArgs(
                virtual_router_name=serviceb["name"],
            ),
        ),
    ))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var servicea = new Aws.AppMesh.VirtualService("servicea", new()
    {
        Name = "servicea.simpleapp.local",
        MeshName = simple.Id,
        Spec = new Aws.AppMesh.Inputs.VirtualServiceSpecArgs
        {
            Provider = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderArgs
            {
                VirtualRouter = new Aws.AppMesh.Inputs.VirtualServiceSpecProviderVirtualRouterArgs
                {
                    VirtualRouterName = serviceb.Name,
                },
            },
        },
    });
});Content copied to clipboard
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.NewVirtualService(ctx, "servicea", &appmesh.VirtualServiceArgs{
			Name:     pulumi.String("servicea.simpleapp.local"),
			MeshName: pulumi.Any(simple.Id),
			Spec: &appmesh.VirtualServiceSpecArgs{
				Provider: &appmesh.VirtualServiceSpecProviderArgs{
					VirtualRouter: &appmesh.VirtualServiceSpecProviderVirtualRouterArgs{
						VirtualRouterName: pulumi.Any(serviceb.Name),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.appmesh.VirtualService;
import com.pulumi.aws.appmesh.VirtualServiceArgs;
import com.pulumi.aws.appmesh.inputs.VirtualServiceSpecArgs;
import com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderArgs;
import com.pulumi.aws.appmesh.inputs.VirtualServiceSpecProviderVirtualRouterArgs;
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 servicea = new VirtualService("servicea", VirtualServiceArgs.builder()
            .name("servicea.simpleapp.local")
            .meshName(simple.id())
            .spec(VirtualServiceSpecArgs.builder()
                .provider(VirtualServiceSpecProviderArgs.builder()
                    .virtualRouter(VirtualServiceSpecProviderVirtualRouterArgs.builder()
                        .virtualRouterName(serviceb.name())
                        .build())
                    .build())
                .build())
            .build());
    }
}Content copied to clipboard
resources:
  servicea:
    type: aws:appmesh:VirtualService
    properties:
      name: servicea.simpleapp.local
      meshName: ${simple.id}
      spec:
        provider:
          virtualRouter:
            virtualRouterName: ${serviceb.name}Content copied to clipboard
Import
Using pulumi import, import App Mesh virtual services using mesh_name together with the virtual service's name. For example:
$ pulumi import aws:appmesh/virtualService:VirtualService servicea simpleapp/servicea.simpleapp.localContent copied to clipboard