VirtualService

class VirtualService : KotlinCustomResource

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,
},
},
},
});
import pulumi
import pulumi_aws as aws
servicea = aws.appmesh.VirtualService("servicea",
name="servicea.simpleapp.local",
mesh_name=simple["id"],
spec={
"provider": {
"virtual_node": {
"virtual_node_name": serviceb1["name"],
},
},
})
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,
},
},
},
});
});
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
})
}
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());
}
}
resources:
servicea:
type: aws:appmesh:VirtualService
properties:
name: servicea.simpleapp.local
meshName: ${simple.id}
spec:
provider:
virtualNode:
virtualNodeName: ${serviceb1.name}

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,
},
},
},
});
import pulumi
import pulumi_aws as aws
servicea = aws.appmesh.VirtualService("servicea",
name="servicea.simpleapp.local",
mesh_name=simple["id"],
spec={
"provider": {
"virtual_router": {
"virtual_router_name": serviceb["name"],
},
},
})
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,
},
},
},
});
});
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
})
}
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());
}
}
resources:
servicea:
type: aws:appmesh:VirtualService
properties:
name: servicea.simpleapp.local
meshName: ${simple.id}
spec:
provider:
virtualRouter:
virtualRouterName: ${serviceb.name}

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.local

Properties

Link copied to clipboard
val arn: Output<String>

ARN of the virtual service.

Link copied to clipboard
val createdDate: Output<String>

Creation date of the virtual service.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val lastUpdatedDate: Output<String>

Last update date of the virtual service.

Link copied to clipboard
val meshName: Output<String>

Name of the service mesh in which to create the virtual service. Must be between 1 and 255 characters in length.

Link copied to clipboard
val meshOwner: Output<String>

AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to.

Link copied to clipboard
val name: Output<String>

Name to use for the virtual service. Must be between 1 and 255 characters in length.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceOwner: Output<String>

Resource owner's AWS account ID.

Link copied to clipboard

Virtual service specification to apply.

Link copied to clipboard
val tags: Output<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.

Link copied to clipboard
val tagsAll: Output<Map<String, String>>

Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Link copied to clipboard
val urn: Output<String>