aws.appmesh.Mesh
Explore with Pulumi AI
Provides an AWS App Mesh service mesh resource.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const simple = new aws.appmesh.Mesh("simple", {name: "simpleapp"});
import pulumi
import pulumi_aws as aws
simple = aws.appmesh.Mesh("simple", name="simpleapp")
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.NewMesh(ctx, "simple", &appmesh.MeshArgs{
			Name: pulumi.String("simpleapp"),
		})
		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 simple = new Aws.AppMesh.Mesh("simple", new()
    {
        Name = "simpleapp",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.appmesh.Mesh;
import com.pulumi.aws.appmesh.MeshArgs;
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 simple = new Mesh("simple", MeshArgs.builder()
            .name("simpleapp")
            .build());
    }
}
resources:
  simple:
    type: aws:appmesh:Mesh
    properties:
      name: simpleapp
Egress Filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const simple = new aws.appmesh.Mesh("simple", {
    name: "simpleapp",
    spec: {
        egressFilter: {
            type: "ALLOW_ALL",
        },
    },
});
import pulumi
import pulumi_aws as aws
simple = aws.appmesh.Mesh("simple",
    name="simpleapp",
    spec={
        "egress_filter": {
            "type": "ALLOW_ALL",
        },
    })
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.NewMesh(ctx, "simple", &appmesh.MeshArgs{
			Name: pulumi.String("simpleapp"),
			Spec: &appmesh.MeshSpecArgs{
				EgressFilter: &appmesh.MeshSpecEgressFilterArgs{
					Type: pulumi.String("ALLOW_ALL"),
				},
			},
		})
		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 simple = new Aws.AppMesh.Mesh("simple", new()
    {
        Name = "simpleapp",
        Spec = new Aws.AppMesh.Inputs.MeshSpecArgs
        {
            EgressFilter = new Aws.AppMesh.Inputs.MeshSpecEgressFilterArgs
            {
                Type = "ALLOW_ALL",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.appmesh.Mesh;
import com.pulumi.aws.appmesh.MeshArgs;
import com.pulumi.aws.appmesh.inputs.MeshSpecArgs;
import com.pulumi.aws.appmesh.inputs.MeshSpecEgressFilterArgs;
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 simple = new Mesh("simple", MeshArgs.builder()
            .name("simpleapp")
            .spec(MeshSpecArgs.builder()
                .egressFilter(MeshSpecEgressFilterArgs.builder()
                    .type("ALLOW_ALL")
                    .build())
                .build())
            .build());
    }
}
resources:
  simple:
    type: aws:appmesh:Mesh
    properties:
      name: simpleapp
      spec:
        egressFilter:
          type: ALLOW_ALL
Create Mesh Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Mesh(name: string, args?: MeshArgs, opts?: CustomResourceOptions);@overload
def Mesh(resource_name: str,
         args: Optional[MeshArgs] = None,
         opts: Optional[ResourceOptions] = None)
@overload
def Mesh(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         name: Optional[str] = None,
         spec: Optional[MeshSpecArgs] = None,
         tags: Optional[Mapping[str, str]] = None)func NewMesh(ctx *Context, name string, args *MeshArgs, opts ...ResourceOption) (*Mesh, error)public Mesh(string name, MeshArgs? args = null, CustomResourceOptions? opts = null)type: aws:appmesh:Mesh
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 MeshArgs
- 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 MeshArgs
- 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 MeshArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args MeshArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args MeshArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var meshResource = new Aws.AppMesh.Mesh("meshResource", new()
{
    Name = "string",
    Spec = new Aws.AppMesh.Inputs.MeshSpecArgs
    {
        EgressFilter = new Aws.AppMesh.Inputs.MeshSpecEgressFilterArgs
        {
            Type = "string",
        },
        ServiceDiscovery = new Aws.AppMesh.Inputs.MeshSpecServiceDiscoveryArgs
        {
            IpPreference = "string",
        },
    },
    Tags = 
    {
        { "string", "string" },
    },
});
example, err := appmesh.NewMesh(ctx, "meshResource", &appmesh.MeshArgs{
	Name: pulumi.String("string"),
	Spec: &appmesh.MeshSpecArgs{
		EgressFilter: &appmesh.MeshSpecEgressFilterArgs{
			Type: pulumi.String("string"),
		},
		ServiceDiscovery: &appmesh.MeshSpecServiceDiscoveryArgs{
			IpPreference: pulumi.String("string"),
		},
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
var meshResource = new Mesh("meshResource", MeshArgs.builder()
    .name("string")
    .spec(MeshSpecArgs.builder()
        .egressFilter(MeshSpecEgressFilterArgs.builder()
            .type("string")
            .build())
        .serviceDiscovery(MeshSpecServiceDiscoveryArgs.builder()
            .ipPreference("string")
            .build())
        .build())
    .tags(Map.of("string", "string"))
    .build());
mesh_resource = aws.appmesh.Mesh("meshResource",
    name="string",
    spec={
        "egress_filter": {
            "type": "string",
        },
        "service_discovery": {
            "ip_preference": "string",
        },
    },
    tags={
        "string": "string",
    })
const meshResource = new aws.appmesh.Mesh("meshResource", {
    name: "string",
    spec: {
        egressFilter: {
            type: "string",
        },
        serviceDiscovery: {
            ipPreference: "string",
        },
    },
    tags: {
        string: "string",
    },
});
type: aws:appmesh:Mesh
properties:
    name: string
    spec:
        egressFilter:
            type: string
        serviceDiscovery:
            ipPreference: string
    tags:
        string: string
Mesh Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Mesh resource accepts the following input properties:
- Name string
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- Spec
MeshSpec 
- Service mesh specification to apply.
- Dictionary<string, string>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Name string
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- Spec
MeshSpec Args 
- Service mesh specification to apply.
- map[string]string
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- name String
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- spec
MeshSpec 
- Service mesh specification to apply.
- Map<String,String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- name string
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- spec
MeshSpec 
- Service mesh specification to apply.
- {[key: string]: string}
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- name str
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- spec
MeshSpec Args 
- Service mesh specification to apply.
- Mapping[str, str]
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- name String
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- spec Property Map
- Service mesh specification to apply.
- Map<String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration 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 Mesh resource produces the following output properties:
- Arn string
- ARN of the service mesh.
- CreatedDate string
- Creation date of the service mesh.
- Id string
- The provider-assigned unique ID for this managed resource.
- LastUpdated stringDate 
- Last update date of the service mesh.
- MeshOwner string
- AWS account ID of the service mesh's owner.
- ResourceOwner string
- Resource owner's AWS account ID.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Arn string
- ARN of the service mesh.
- CreatedDate string
- Creation date of the service mesh.
- Id string
- The provider-assigned unique ID for this managed resource.
- LastUpdated stringDate 
- Last update date of the service mesh.
- MeshOwner string
- AWS account ID of the service mesh's owner.
- ResourceOwner string
- Resource owner's AWS account ID.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the service mesh.
- createdDate String
- Creation date of the service mesh.
- id String
- The provider-assigned unique ID for this managed resource.
- lastUpdated StringDate 
- Last update date of the service mesh.
- meshOwner String
- AWS account ID of the service mesh's owner.
- resourceOwner String
- Resource owner's AWS account ID.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn string
- ARN of the service mesh.
- createdDate string
- Creation date of the service mesh.
- id string
- The provider-assigned unique ID for this managed resource.
- lastUpdated stringDate 
- Last update date of the service mesh.
- meshOwner string
- AWS account ID of the service mesh's owner.
- resourceOwner string
- Resource owner's AWS account ID.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn str
- ARN of the service mesh.
- created_date str
- Creation date of the service mesh.
- id str
- The provider-assigned unique ID for this managed resource.
- last_updated_ strdate 
- Last update date of the service mesh.
- mesh_owner str
- AWS account ID of the service mesh's owner.
- resource_owner str
- Resource owner's AWS account ID.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the service mesh.
- createdDate String
- Creation date of the service mesh.
- id String
- The provider-assigned unique ID for this managed resource.
- lastUpdated StringDate 
- Last update date of the service mesh.
- meshOwner String
- AWS account ID of the service mesh's owner.
- resourceOwner String
- Resource owner's AWS account ID.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Look up Existing Mesh Resource
Get an existing Mesh 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?: MeshState, opts?: CustomResourceOptions): Mesh@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_owner: Optional[str] = None,
        name: Optional[str] = None,
        resource_owner: Optional[str] = None,
        spec: Optional[MeshSpecArgs] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> Meshfunc GetMesh(ctx *Context, name string, id IDInput, state *MeshState, opts ...ResourceOption) (*Mesh, error)public static Mesh Get(string name, Input<string> id, MeshState? state, CustomResourceOptions? opts = null)public static Mesh get(String name, Output<String> id, MeshState state, CustomResourceOptions options)resources:  _:    type: aws:appmesh:Mesh    get:      id: ${id}- 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.
- Arn string
- ARN of the service mesh.
- CreatedDate string
- Creation date of the service mesh.
- LastUpdated stringDate 
- Last update date of the service mesh.
- MeshOwner string
- AWS account ID of the service mesh's owner.
- Name string
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- ResourceOwner string
- Resource owner's AWS account ID.
- Spec
MeshSpec 
- Service mesh specification to apply.
- Dictionary<string, string>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Arn string
- ARN of the service mesh.
- CreatedDate string
- Creation date of the service mesh.
- LastUpdated stringDate 
- Last update date of the service mesh.
- MeshOwner string
- AWS account ID of the service mesh's owner.
- Name string
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- ResourceOwner string
- Resource owner's AWS account ID.
- Spec
MeshSpec Args 
- Service mesh specification to apply.
- map[string]string
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the service mesh.
- createdDate String
- Creation date of the service mesh.
- lastUpdated StringDate 
- Last update date of the service mesh.
- meshOwner String
- AWS account ID of the service mesh's owner.
- name String
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- resourceOwner String
- Resource owner's AWS account ID.
- spec
MeshSpec 
- Service mesh specification to apply.
- Map<String,String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn string
- ARN of the service mesh.
- createdDate string
- Creation date of the service mesh.
- lastUpdated stringDate 
- Last update date of the service mesh.
- meshOwner string
- AWS account ID of the service mesh's owner.
- name string
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- resourceOwner string
- Resource owner's AWS account ID.
- spec
MeshSpec 
- Service mesh specification to apply.
- {[key: string]: string}
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn str
- ARN of the service mesh.
- created_date str
- Creation date of the service mesh.
- last_updated_ strdate 
- Last update date of the service mesh.
- mesh_owner str
- AWS account ID of the service mesh's owner.
- name str
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- resource_owner str
- Resource owner's AWS account ID.
- spec
MeshSpec Args 
- Service mesh specification to apply.
- Mapping[str, str]
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the service mesh.
- createdDate String
- Creation date of the service mesh.
- lastUpdated StringDate 
- Last update date of the service mesh.
- meshOwner String
- AWS account ID of the service mesh's owner.
- name String
- Name to use for the service mesh. Must be between 1 and 255 characters in length.
- resourceOwner String
- Resource owner's AWS account ID.
- spec Property Map
- Service mesh specification to apply.
- Map<String>
- Map of tags to assign to the resource. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Supporting Types
MeshSpec, MeshSpecArgs    
- EgressFilter MeshSpec Egress Filter 
- Egress filter rules for the service mesh.
- ServiceDiscovery MeshSpec Service Discovery 
- The service discovery information for the service mesh.
- EgressFilter MeshSpec Egress Filter 
- Egress filter rules for the service mesh.
- ServiceDiscovery MeshSpec Service Discovery 
- The service discovery information for the service mesh.
- egressFilter MeshSpec Egress Filter 
- Egress filter rules for the service mesh.
- serviceDiscovery MeshSpec Service Discovery 
- The service discovery information for the service mesh.
- egressFilter MeshSpec Egress Filter 
- Egress filter rules for the service mesh.
- serviceDiscovery MeshSpec Service Discovery 
- The service discovery information for the service mesh.
- egress_filter MeshSpec Egress Filter 
- Egress filter rules for the service mesh.
- service_discovery MeshSpec Service Discovery 
- The service discovery information for the service mesh.
- egressFilter Property Map
- Egress filter rules for the service mesh.
- serviceDiscovery Property Map
- The service discovery information for the service mesh.
MeshSpecEgressFilter, MeshSpecEgressFilterArgs        
- Type string
- Egress filter type. By default, the type is DROP_ALL. Valid values areALLOW_ALLandDROP_ALL.
- Type string
- Egress filter type. By default, the type is DROP_ALL. Valid values areALLOW_ALLandDROP_ALL.
- type String
- Egress filter type. By default, the type is DROP_ALL. Valid values areALLOW_ALLandDROP_ALL.
- type string
- Egress filter type. By default, the type is DROP_ALL. Valid values areALLOW_ALLandDROP_ALL.
- type str
- Egress filter type. By default, the type is DROP_ALL. Valid values areALLOW_ALLandDROP_ALL.
- type String
- Egress filter type. By default, the type is DROP_ALL. Valid values areALLOW_ALLandDROP_ALL.
MeshSpecServiceDiscovery, MeshSpecServiceDiscoveryArgs        
- IpPreference string
- The IP version to use to control traffic within the mesh. Valid values are IPv6_PREFERRED,IPv4_PREFERRED,IPv4_ONLY, andIPv6_ONLY.
- IpPreference string
- The IP version to use to control traffic within the mesh. Valid values are IPv6_PREFERRED,IPv4_PREFERRED,IPv4_ONLY, andIPv6_ONLY.
- ipPreference String
- The IP version to use to control traffic within the mesh. Valid values are IPv6_PREFERRED,IPv4_PREFERRED,IPv4_ONLY, andIPv6_ONLY.
- ipPreference string
- The IP version to use to control traffic within the mesh. Valid values are IPv6_PREFERRED,IPv4_PREFERRED,IPv4_ONLY, andIPv6_ONLY.
- ip_preference str
- The IP version to use to control traffic within the mesh. Valid values are IPv6_PREFERRED,IPv4_PREFERRED,IPv4_ONLY, andIPv6_ONLY.
- ipPreference String
- The IP version to use to control traffic within the mesh. Valid values are IPv6_PREFERRED,IPv4_PREFERRED,IPv4_ONLY, andIPv6_ONLY.
Import
Using pulumi import, import App Mesh service meshes using the name. For example:
$ pulumi import aws:appmesh/mesh:Mesh simple simpleapp
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 awsTerraform Provider.