NAME
Paws::AppMesh::CreateRoute - Arguments for method CreateRoute on Paws::AppMesh
DESCRIPTION
This class represents the parameters used for calling the method CreateRoute on the AWS App Mesh service. Use the attributes of this class as arguments to method CreateRoute.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateRoute.
SYNOPSIS
my $appmesh = Paws->service('AppMesh');
my $CreateRouteOutput = $appmesh->CreateRoute(
MeshName => 'MyResourceName',
RouteName => 'MyResourceName',
Spec => {
GrpcRoute => {
Action => {
WeightedTargets => [
{
VirtualNode => 'MyResourceName', # min: 1, max: 255
Weight => 1, # max: 100
},
...
], # min: 1, max: 10
},
Match => {
Metadata => [
{
Name => 'MyHeaderName', # min: 1, max: 50
Invert => 1, # OPTIONAL
Match => {
Exact => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Prefix => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Range => {
End => 1,
Start => 1,
}, # OPTIONAL
Regex => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Suffix => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
}, # OPTIONAL
},
...
], # min: 1, max: 10; OPTIONAL
MethodName => 'MyMethodName', # min: 1, max: 50; OPTIONAL
ServiceName => 'MyServiceName', # OPTIONAL
},
RetryPolicy => {
MaxRetries => 1,
PerRetryTimeout => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
GrpcRetryEvents => [
'cancelled',
... # values: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable
], # min: 1, max: 5; OPTIONAL
HttpRetryEvents => [
'MyHttpRetryPolicyEvent', ... # min: 1, max: 25
], # min: 1, max: 25; OPTIONAL
TcpRetryEvents => [
'connection-error', ... # values: connection-error
], # min: 1, max: 1; OPTIONAL
}, # OPTIONAL
Timeout => {
Idle => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
PerRequest => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
}, # OPTIONAL
}, # OPTIONAL
Http2Route => {
Action => {
WeightedTargets => [
{
VirtualNode => 'MyResourceName', # min: 1, max: 255
Weight => 1, # max: 100
},
...
], # min: 1, max: 10
},
Match => {
Headers => [
{
Name => 'MyHeaderName', # min: 1, max: 50
Invert => 1, # OPTIONAL
Match => {
Exact => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Prefix => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Range => {
End => 1,
Start => 1,
}, # OPTIONAL
Regex => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Suffix => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
}, # OPTIONAL
},
...
], # min: 1, max: 10; OPTIONAL
Method => 'GET'
, # values: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH; OPTIONAL
Path => {
Exact => 'MyHttpPathExact', # min: 1, max: 255; OPTIONAL
Regex => 'MyHttpPathRegex', # min: 1, max: 255; OPTIONAL
}, # OPTIONAL
Prefix => 'MyString', # OPTIONAL
QueryParameters => [
{
Name => 'MyQueryParameterName',
Match => {
Exact => 'MyString', # OPTIONAL
}, # OPTIONAL
},
...
], # min: 1, max: 10; OPTIONAL
Scheme => 'http', # values: http, https; OPTIONAL
},
RetryPolicy => {
MaxRetries => 1,
PerRetryTimeout => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
HttpRetryEvents => [
'MyHttpRetryPolicyEvent', ... # min: 1, max: 25
], # min: 1, max: 25; OPTIONAL
TcpRetryEvents => [
'connection-error', ... # values: connection-error
], # min: 1, max: 1; OPTIONAL
}, # OPTIONAL
Timeout => {
Idle => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
PerRequest => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
}, # OPTIONAL
}, # OPTIONAL
HttpRoute => {
Action => {
WeightedTargets => [
{
VirtualNode => 'MyResourceName', # min: 1, max: 255
Weight => 1, # max: 100
},
...
], # min: 1, max: 10
},
Match => {
Headers => [
{
Name => 'MyHeaderName', # min: 1, max: 50
Invert => 1, # OPTIONAL
Match => {
Exact => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Prefix => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Range => {
End => 1,
Start => 1,
}, # OPTIONAL
Regex => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
Suffix => 'MyHeaderMatch', # min: 1, max: 255; OPTIONAL
}, # OPTIONAL
},
...
], # min: 1, max: 10; OPTIONAL
Method => 'GET'
, # values: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH; OPTIONAL
Path => {
Exact => 'MyHttpPathExact', # min: 1, max: 255; OPTIONAL
Regex => 'MyHttpPathRegex', # min: 1, max: 255; OPTIONAL
}, # OPTIONAL
Prefix => 'MyString', # OPTIONAL
QueryParameters => [
{
Name => 'MyQueryParameterName',
Match => {
Exact => 'MyString', # OPTIONAL
}, # OPTIONAL
},
...
], # min: 1, max: 10; OPTIONAL
Scheme => 'http', # values: http, https; OPTIONAL
},
RetryPolicy => {
MaxRetries => 1,
PerRetryTimeout => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
HttpRetryEvents => [
'MyHttpRetryPolicyEvent', ... # min: 1, max: 25
], # min: 1, max: 25; OPTIONAL
TcpRetryEvents => [
'connection-error', ... # values: connection-error
], # min: 1, max: 1; OPTIONAL
}, # OPTIONAL
Timeout => {
Idle => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
PerRequest => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
}, # OPTIONAL
}, # OPTIONAL
Priority => 1, # max: 1000; OPTIONAL
TcpRoute => {
Action => {
WeightedTargets => [
{
VirtualNode => 'MyResourceName', # min: 1, max: 255
Weight => 1, # max: 100
},
...
], # min: 1, max: 10
},
Timeout => {
Idle => {
Unit => 's', # values: s, ms; OPTIONAL
Value => 1, # OPTIONAL
},
}, # OPTIONAL
}, # OPTIONAL
},
VirtualRouterName => 'MyResourceName',
ClientToken => 'MyString', # OPTIONAL
MeshOwner => 'MyAccountId', # OPTIONAL
Tags => [
{
Key => 'MyTagKey', # min: 1, max: 128
Value => 'MyTagValue', # max: 256
},
...
], # OPTIONAL
);
# Results:
my $Route = $CreateRouteOutput->Route;
# Returns a L<Paws::AppMesh::CreateRouteOutput> object.
Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/appmesh/CreateRoute
ATTRIBUTES
ClientToken => Str
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
REQUIRED MeshName => Str
The name of the service mesh to create the route in.
MeshOwner => Str
The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html).
REQUIRED RouteName => Str
The name to use for the route.
REQUIRED Spec => Paws::AppMesh::RouteSpec
The route specification to apply.
Tags => ArrayRef[Paws::AppMesh::TagRef]
Optional metadata that you can apply to the route to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
REQUIRED VirtualRouterName => Str
The name of the virtual router in which to create the route. If the virtual router is in a shared mesh, then you must be the owner of the virtual router resource.
SEE ALSO
This class forms part of Paws, documenting arguments for method CreateRoute in Paws::AppMesh
BUGS and CONTRIBUTIONS
The source code is located here: https://github.com/pplu/aws-sdk-perl
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues