Module: Aws::AppMesh::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-appmesh/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AccessLog =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'AccessLog')
AccountId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AccountId')
Arn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Arn')
AwsCloudMapInstanceAttribute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AwsCloudMapInstanceAttribute')
AwsCloudMapInstanceAttributeKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AwsCloudMapInstanceAttributeKey')
AwsCloudMapInstanceAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AwsCloudMapInstanceAttributeValue')
AwsCloudMapInstanceAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AwsCloudMapInstanceAttributes')
AwsCloudMapName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AwsCloudMapName')
AwsCloudMapServiceDiscovery =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AwsCloudMapServiceDiscovery')
Backend =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'Backend')
BackendDefaults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BackendDefaults')
Backends =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Backends')
BadRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BadRequestException')
Boolean =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Boolean')
CertificateAuthorityArns =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CertificateAuthorityArns')
ClientPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ClientPolicy')
ClientPolicyTls =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ClientPolicyTls')
ClientTlsCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'ClientTlsCertificate')
ConflictException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConflictException')
CreateGatewayRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGatewayRouteInput')
CreateGatewayRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGatewayRouteOutput')
CreateMeshInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateMeshInput')
CreateMeshOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateMeshOutput')
CreateRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRouteInput')
CreateRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRouteOutput')
CreateVirtualGatewayInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualGatewayInput')
CreateVirtualGatewayOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualGatewayOutput')
CreateVirtualNodeInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualNodeInput')
CreateVirtualNodeOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualNodeOutput')
CreateVirtualRouterInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualRouterInput')
CreateVirtualRouterOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualRouterOutput')
CreateVirtualServiceInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualServiceInput')
CreateVirtualServiceOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateVirtualServiceOutput')
DefaultGatewayRouteRewrite =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DefaultGatewayRouteRewrite')
DeleteGatewayRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGatewayRouteInput')
DeleteGatewayRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGatewayRouteOutput')
DeleteMeshInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteMeshInput')
DeleteMeshOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteMeshOutput')
DeleteRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRouteInput')
DeleteRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRouteOutput')
DeleteVirtualGatewayInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualGatewayInput')
DeleteVirtualGatewayOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualGatewayOutput')
DeleteVirtualNodeInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualNodeInput')
DeleteVirtualNodeOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualNodeOutput')
DeleteVirtualRouterInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualRouterInput')
DeleteVirtualRouterOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualRouterOutput')
DeleteVirtualServiceInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualServiceInput')
DeleteVirtualServiceOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteVirtualServiceOutput')
DescribeGatewayRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGatewayRouteInput')
DescribeGatewayRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeGatewayRouteOutput')
DescribeMeshInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeMeshInput')
DescribeMeshOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeMeshOutput')
DescribeRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeRouteInput')
DescribeRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeRouteOutput')
DescribeVirtualGatewayInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualGatewayInput')
DescribeVirtualGatewayOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualGatewayOutput')
DescribeVirtualNodeInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualNodeInput')
DescribeVirtualNodeOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualNodeOutput')
DescribeVirtualRouterInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualRouterInput')
DescribeVirtualRouterOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualRouterOutput')
DescribeVirtualServiceInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualServiceInput')
DescribeVirtualServiceOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeVirtualServiceOutput')
DnsResponseType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DnsResponseType')
DnsServiceDiscovery =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DnsServiceDiscovery')
Duration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Duration')
DurationUnit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DurationUnit')
DurationValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'DurationValue')
EgressFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EgressFilter')
EgressFilterType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EgressFilterType')
ExactHostName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ExactHostName')
FileAccessLog =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FileAccessLog')
FilePath =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FilePath')
ForbiddenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForbiddenException')
GatewayRouteData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteData')
GatewayRouteHostnameMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteHostnameMatch')
GatewayRouteHostnameRewrite =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteHostnameRewrite')
GatewayRouteList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GatewayRouteList')
GatewayRoutePriority =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'GatewayRoutePriority')
GatewayRouteRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteRef')
GatewayRouteSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteSpec')
GatewayRouteStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteStatus')
GatewayRouteStatusCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GatewayRouteStatusCode')
GatewayRouteTarget =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteTarget')
GatewayRouteVirtualService =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayRouteVirtualService')
GrpcGatewayRoute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcGatewayRoute')
GrpcGatewayRouteAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcGatewayRouteAction')
GrpcGatewayRouteMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcGatewayRouteMatch')
GrpcGatewayRouteMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcGatewayRouteMetadata')
GrpcGatewayRouteMetadataList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GrpcGatewayRouteMetadataList')
GrpcGatewayRouteRewrite =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcGatewayRouteRewrite')
GrpcMetadataMatchMethod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'GrpcMetadataMatchMethod')
GrpcRetryPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcRetryPolicy')
GrpcRetryPolicyEvent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GrpcRetryPolicyEvent')
GrpcRetryPolicyEvents =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GrpcRetryPolicyEvents')
GrpcRoute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcRoute')
GrpcRouteAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcRouteAction')
GrpcRouteMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcRouteMatch')
GrpcRouteMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcRouteMetadata')
GrpcRouteMetadataList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GrpcRouteMetadataList')
GrpcRouteMetadataMatchMethod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'GrpcRouteMetadataMatchMethod')
GrpcTimeout =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrpcTimeout')
HeaderMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HeaderMatch')
HeaderMatchMethod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'HeaderMatchMethod')
HeaderName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HeaderName')
HealthCheckIntervalMillis =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'HealthCheckIntervalMillis')
HealthCheckPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HealthCheckPolicy')
HealthCheckThreshold =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'HealthCheckThreshold')
HealthCheckTimeoutMillis =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'HealthCheckTimeoutMillis')
Hostname =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Hostname')
HttpGatewayRoute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpGatewayRoute')
HttpGatewayRouteAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpGatewayRouteAction')
HttpGatewayRouteHeader =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpGatewayRouteHeader')
HttpGatewayRouteHeaders =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'HttpGatewayRouteHeaders')
HttpGatewayRouteMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpGatewayRouteMatch')
HttpGatewayRoutePathRewrite =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpGatewayRoutePathRewrite')
HttpGatewayRoutePrefix =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpGatewayRoutePrefix')
HttpGatewayRoutePrefixRewrite =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpGatewayRoutePrefixRewrite')
HttpGatewayRouteRewrite =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpGatewayRouteRewrite')
HttpMethod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpMethod')
HttpPathExact =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpPathExact')
HttpPathMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpPathMatch')
HttpPathRegex =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpPathRegex')
HttpQueryParameter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpQueryParameter')
HttpQueryParameters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'HttpQueryParameters')
HttpRetryPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpRetryPolicy')
HttpRetryPolicyEvent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpRetryPolicyEvent')
HttpRetryPolicyEvents =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'HttpRetryPolicyEvents')
HttpRoute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpRoute')
HttpRouteAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpRouteAction')
HttpRouteHeader =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpRouteHeader')
HttpRouteHeaders =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'HttpRouteHeaders')
HttpRouteMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpRouteMatch')
HttpScheme =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpScheme')
HttpTimeout =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HttpTimeout')
InternalServerErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalServerErrorException')
IpPreference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IpPreference')
JsonFormat =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'JsonFormat')
JsonFormatRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'JsonFormatRef')
JsonKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'JsonKey')
JsonValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'JsonValue')
LimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LimitExceededException')
ListGatewayRoutesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGatewayRoutesInput')
ListGatewayRoutesLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListGatewayRoutesLimit')
ListGatewayRoutesOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGatewayRoutesOutput')
ListMeshesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListMeshesInput')
ListMeshesLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListMeshesLimit')
ListMeshesOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListMeshesOutput')
ListRoutesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRoutesInput')
ListRoutesLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListRoutesLimit')
ListRoutesOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRoutesOutput')
ListTagsForResourceInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceInput')
ListTagsForResourceOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceOutput')
ListVirtualGatewaysInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualGatewaysInput')
ListVirtualGatewaysLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListVirtualGatewaysLimit')
ListVirtualGatewaysOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualGatewaysOutput')
ListVirtualNodesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualNodesInput')
ListVirtualNodesLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListVirtualNodesLimit')
ListVirtualNodesOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualNodesOutput')
ListVirtualRoutersInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualRoutersInput')
ListVirtualRoutersLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListVirtualRoutersLimit')
ListVirtualRoutersOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualRoutersOutput')
ListVirtualServicesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualServicesInput')
ListVirtualServicesLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListVirtualServicesLimit')
ListVirtualServicesOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVirtualServicesOutput')
Listener =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Listener')
ListenerPort =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ListenerPort')
ListenerTimeout =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'ListenerTimeout')
ListenerTls =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListenerTls')
ListenerTlsAcmCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListenerTlsAcmCertificate')
ListenerTlsCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'ListenerTlsCertificate')
ListenerTlsFileCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListenerTlsFileCertificate')
ListenerTlsMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListenerTlsMode')
ListenerTlsSdsCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListenerTlsSdsCertificate')
ListenerTlsValidationContext =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListenerTlsValidationContext')
ListenerTlsValidationContextTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'ListenerTlsValidationContextTrust')
Listeners =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Listeners')
Logging =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Logging')
LoggingFormat =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'LoggingFormat')
Long =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Long')
MatchRange =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MatchRange')
MaxConnections =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxConnections')
MaxPendingRequests =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxPendingRequests')
MaxRequests =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxRequests')
MaxRetries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxRetries')
MeshData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MeshData')
MeshList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MeshList')
MeshRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MeshRef')
MeshServiceDiscovery =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MeshServiceDiscovery')
MeshSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MeshSpec')
MeshStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MeshStatus')
MeshStatusCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MeshStatusCode')
MethodName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MethodName')
NotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NotFoundException')
OutlierDetection =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OutlierDetection')
OutlierDetectionMaxEjectionPercent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'OutlierDetectionMaxEjectionPercent')
OutlierDetectionMaxServerErrors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'OutlierDetectionMaxServerErrors')
PercentInt =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PercentInt')
PortMapping =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PortMapping')
PortNumber =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PortNumber')
PortProtocol =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PortProtocol')
PortSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PortSet')
QueryParameterMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'QueryParameterMatch')
QueryParameterName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'QueryParameterName')
ResourceInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceInUseException')
ResourceMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceMetadata')
ResourceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceName')
RouteData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RouteData')
RouteList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RouteList')
RoutePriority =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'RoutePriority')
RouteRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RouteRef')
RouteSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RouteSpec')
RouteStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RouteStatus')
RouteStatusCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RouteStatusCode')
SdsSecretName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SdsSecretName')
ServiceDiscovery =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'ServiceDiscovery')
ServiceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ServiceName')
ServiceUnavailableException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ServiceUnavailableException')
String =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'String')
SubjectAlternativeName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SubjectAlternativeName')
SubjectAlternativeNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SubjectAlternativeNameList')
SubjectAlternativeNameMatchers =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubjectAlternativeNameMatchers')
SubjectAlternativeNames =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubjectAlternativeNames')
SuffixHostname =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SuffixHostname')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagRef')
TagResourceInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceInput')
TagResourceOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceOutput')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
TagsLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'TagsLimit')
TcpRetryPolicyEvent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TcpRetryPolicyEvent')
TcpRetryPolicyEvents =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TcpRetryPolicyEvents')
TcpRoute =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TcpRoute')
TcpRouteAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TcpRouteAction')
TcpRouteMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TcpRouteMatch')
TcpTimeout =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TcpTimeout')
TextFormat =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TextFormat')
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Timestamp')
TlsValidationContext =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TlsValidationContext')
TlsValidationContextAcmTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TlsValidationContextAcmTrust')
TlsValidationContextFileTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TlsValidationContextFileTrust')
TlsValidationContextSdsTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TlsValidationContextSdsTrust')
TlsValidationContextTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'TlsValidationContextTrust')
TooManyRequestsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyRequestsException')
TooManyTagsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyTagsException')
UntagResourceInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceInput')
UntagResourceOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceOutput')
UpdateGatewayRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGatewayRouteInput')
UpdateGatewayRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGatewayRouteOutput')
UpdateMeshInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateMeshInput')
UpdateMeshOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateMeshOutput')
UpdateRouteInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRouteInput')
UpdateRouteOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRouteOutput')
UpdateVirtualGatewayInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualGatewayInput')
UpdateVirtualGatewayOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualGatewayOutput')
UpdateVirtualNodeInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualNodeInput')
UpdateVirtualNodeOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualNodeOutput')
UpdateVirtualRouterInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualRouterInput')
UpdateVirtualRouterOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualRouterOutput')
UpdateVirtualServiceInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualServiceInput')
UpdateVirtualServiceOutput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateVirtualServiceOutput')
VirtualGatewayAccessLog =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualGatewayAccessLog')
VirtualGatewayBackendDefaults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayBackendDefaults')
VirtualGatewayCertificateAuthorityArns =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'VirtualGatewayCertificateAuthorityArns')
VirtualGatewayClientPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayClientPolicy')
VirtualGatewayClientPolicyTls =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayClientPolicyTls')
VirtualGatewayClientTlsCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualGatewayClientTlsCertificate')
VirtualGatewayConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualGatewayConnectionPool')
VirtualGatewayData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayData')
VirtualGatewayFileAccessLog =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayFileAccessLog')
VirtualGatewayGrpcConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayGrpcConnectionPool')
VirtualGatewayHealthCheckIntervalMillis =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'VirtualGatewayHealthCheckIntervalMillis')
VirtualGatewayHealthCheckPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayHealthCheckPolicy')
VirtualGatewayHealthCheckThreshold =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'VirtualGatewayHealthCheckThreshold')
VirtualGatewayHealthCheckTimeoutMillis =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'VirtualGatewayHealthCheckTimeoutMillis')
VirtualGatewayHttp2ConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayHttp2ConnectionPool')
VirtualGatewayHttpConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayHttpConnectionPool')
VirtualGatewayList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'VirtualGatewayList')
VirtualGatewayListener =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayListener')
VirtualGatewayListenerTls =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayListenerTls')
VirtualGatewayListenerTlsAcmCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayListenerTlsAcmCertificate')
VirtualGatewayListenerTlsCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualGatewayListenerTlsCertificate')
VirtualGatewayListenerTlsFileCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayListenerTlsFileCertificate')
VirtualGatewayListenerTlsMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VirtualGatewayListenerTlsMode')
VirtualGatewayListenerTlsSdsCertificate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayListenerTlsSdsCertificate')
VirtualGatewayListenerTlsValidationContext =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayListenerTlsValidationContext')
VirtualGatewayListenerTlsValidationContextTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualGatewayListenerTlsValidationContextTrust')
VirtualGatewayListeners =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'VirtualGatewayListeners')
VirtualGatewayLogging =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayLogging')
VirtualGatewayPortMapping =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayPortMapping')
VirtualGatewayPortProtocol =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VirtualGatewayPortProtocol')
VirtualGatewayRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayRef')
VirtualGatewaySdsSecretName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VirtualGatewaySdsSecretName')
VirtualGatewaySpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewaySpec')
VirtualGatewayStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayStatus')
VirtualGatewayStatusCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VirtualGatewayStatusCode')
VirtualGatewayTlsValidationContext =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayTlsValidationContext')
VirtualGatewayTlsValidationContextAcmTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayTlsValidationContextAcmTrust')
VirtualGatewayTlsValidationContextFileTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayTlsValidationContextFileTrust')
VirtualGatewayTlsValidationContextSdsTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualGatewayTlsValidationContextSdsTrust')
VirtualGatewayTlsValidationContextTrust =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualGatewayTlsValidationContextTrust')
VirtualNodeConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualNodeConnectionPool')
VirtualNodeData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeData')
VirtualNodeGrpcConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeGrpcConnectionPool')
VirtualNodeHttp2ConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeHttp2ConnectionPool')
VirtualNodeHttpConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeHttpConnectionPool')
VirtualNodeList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'VirtualNodeList')
VirtualNodeRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeRef')
VirtualNodeServiceProvider =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeServiceProvider')
VirtualNodeSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeSpec')
VirtualNodeStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeStatus')
VirtualNodeStatusCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VirtualNodeStatusCode')
VirtualNodeTcpConnectionPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualNodeTcpConnectionPool')
VirtualRouterData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualRouterData')
VirtualRouterList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'VirtualRouterList')
VirtualRouterListener =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualRouterListener')
VirtualRouterListeners =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'VirtualRouterListeners')
VirtualRouterRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualRouterRef')
VirtualRouterServiceProvider =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualRouterServiceProvider')
VirtualRouterSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualRouterSpec')
VirtualRouterStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualRouterStatus')
VirtualRouterStatusCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VirtualRouterStatusCode')
VirtualServiceBackend =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualServiceBackend')
VirtualServiceData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualServiceData')
VirtualServiceList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'VirtualServiceList')
VirtualServiceProvider =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::UnionShape.new(name: 'VirtualServiceProvider')
VirtualServiceRef =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualServiceRef')
VirtualServiceSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualServiceSpec')
VirtualServiceStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VirtualServiceStatus')
VirtualServiceStatusCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VirtualServiceStatusCode')
WeightedTarget =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WeightedTarget')
WeightedTargets =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'WeightedTargets')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2019-01-25"

  api. = {
    "apiVersion" => "2019-01-25",
    "endpointPrefix" => "appmesh",
    "jsonVersion" => "1.1",
    "protocol" => "rest-json",
    "serviceFullName" => "AWS App Mesh",
    "serviceId" => "App Mesh",
    "signatureVersion" => "v4",
    "signingName" => "appmesh",
    "uid" => "appmesh-2019-01-25",
  }

  api.add_operation(:create_gateway_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGatewayRoute"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes"
    o.input = Shapes::ShapeRef.new(shape: CreateGatewayRouteInput)
    o.output = Shapes::ShapeRef.new(shape: CreateGatewayRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_mesh, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateMesh"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes"
    o.input = Shapes::ShapeRef.new(shape: CreateMeshInput)
    o.output = Shapes::ShapeRef.new(shape: CreateMeshOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRoute"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes"
    o.input = Shapes::ShapeRef.new(shape: CreateRouteInput)
    o.output = Shapes::ShapeRef.new(shape: CreateRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_virtual_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateVirtualGateway"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateways"
    o.input = Shapes::ShapeRef.new(shape: CreateVirtualGatewayInput)
    o.output = Shapes::ShapeRef.new(shape: CreateVirtualGatewayOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_virtual_node, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateVirtualNode"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualNodes"
    o.input = Shapes::ShapeRef.new(shape: CreateVirtualNodeInput)
    o.output = Shapes::ShapeRef.new(shape: CreateVirtualNodeOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_virtual_router, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateVirtualRouter"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouters"
    o.input = Shapes::ShapeRef.new(shape: CreateVirtualRouterInput)
    o.output = Shapes::ShapeRef.new(shape: CreateVirtualRouterOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_virtual_service, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateVirtualService"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualServices"
    o.input = Shapes::ShapeRef.new(shape: CreateVirtualServiceInput)
    o.output = Shapes::ShapeRef.new(shape: CreateVirtualServiceOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:delete_gateway_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteGatewayRoute"
    o.http_method = "DELETE"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteGatewayRouteInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteGatewayRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:delete_mesh, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteMesh"
    o.http_method = "DELETE"
    o.http_request_uri = "/v20190125/meshes/{meshName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteMeshInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteMeshOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:delete_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRoute"
    o.http_method = "DELETE"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteRouteInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:delete_virtual_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteVirtualGateway"
    o.http_method = "DELETE"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteVirtualGatewayInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteVirtualGatewayOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:delete_virtual_node, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteVirtualNode"
    o.http_method = "DELETE"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteVirtualNodeInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteVirtualNodeOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:delete_virtual_router, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteVirtualRouter"
    o.http_method = "DELETE"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteVirtualRouterInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteVirtualRouterOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:delete_virtual_service, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteVirtualService"
    o.http_method = "DELETE"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteVirtualServiceInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteVirtualServiceOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:describe_gateway_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeGatewayRoute"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}"
    o.input = Shapes::ShapeRef.new(shape: DescribeGatewayRouteInput)
    o.output = Shapes::ShapeRef.new(shape: DescribeGatewayRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:describe_mesh, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeMesh"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}"
    o.input = Shapes::ShapeRef.new(shape: DescribeMeshInput)
    o.output = Shapes::ShapeRef.new(shape: DescribeMeshOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:describe_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeRoute"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}"
    o.input = Shapes::ShapeRef.new(shape: DescribeRouteInput)
    o.output = Shapes::ShapeRef.new(shape: DescribeRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:describe_virtual_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeVirtualGateway"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}"
    o.input = Shapes::ShapeRef.new(shape: DescribeVirtualGatewayInput)
    o.output = Shapes::ShapeRef.new(shape: DescribeVirtualGatewayOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:describe_virtual_node, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeVirtualNode"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}"
    o.input = Shapes::ShapeRef.new(shape: DescribeVirtualNodeInput)
    o.output = Shapes::ShapeRef.new(shape: DescribeVirtualNodeOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:describe_virtual_router, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeVirtualRouter"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}"
    o.input = Shapes::ShapeRef.new(shape: DescribeVirtualRouterInput)
    o.output = Shapes::ShapeRef.new(shape: DescribeVirtualRouterOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:describe_virtual_service, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeVirtualService"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}"
    o.input = Shapes::ShapeRef.new(shape: DescribeVirtualServiceInput)
    o.output = Shapes::ShapeRef.new(shape: DescribeVirtualServiceOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:list_gateway_routes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGatewayRoutes"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes"
    o.input = Shapes::ShapeRef.new(shape: ListGatewayRoutesInput)
    o.output = Shapes::ShapeRef.new(shape: ListGatewayRoutesOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_meshes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListMeshes"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes"
    o.input = Shapes::ShapeRef.new(shape: ListMeshesInput)
    o.output = Shapes::ShapeRef.new(shape: ListMeshesOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_routes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRoutes"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes"
    o.input = Shapes::ShapeRef.new(shape: ListRoutesInput)
    o.output = Shapes::ShapeRef.new(shape: ListRoutesOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/tags"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceInput)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_virtual_gateways, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListVirtualGateways"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateways"
    o.input = Shapes::ShapeRef.new(shape: ListVirtualGatewaysInput)
    o.output = Shapes::ShapeRef.new(shape: ListVirtualGatewaysOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_virtual_nodes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListVirtualNodes"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualNodes"
    o.input = Shapes::ShapeRef.new(shape: ListVirtualNodesInput)
    o.output = Shapes::ShapeRef.new(shape: ListVirtualNodesOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_virtual_routers, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListVirtualRouters"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouters"
    o.input = Shapes::ShapeRef.new(shape: ListVirtualRoutersInput)
    o.output = Shapes::ShapeRef.new(shape: ListVirtualRoutersOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_virtual_services, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListVirtualServices"
    o.http_method = "GET"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualServices"
    o.input = Shapes::ShapeRef.new(shape: ListVirtualServicesInput)
    o.output = Shapes::ShapeRef.new(shape: ListVirtualServicesOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o[:pager] = Aws::Pager.new(
      limit_key: "limit",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/tag"
    o.input = Shapes::ShapeRef.new(shape: TagResourceInput)
    o.output = Shapes::ShapeRef.new(shape: TagResourceOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/untag"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceInput)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:update_gateway_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateGatewayRoute"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateGatewayRouteInput)
    o.output = Shapes::ShapeRef.new(shape: UpdateGatewayRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_mesh, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateMesh"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateMeshInput)
    o.output = Shapes::ShapeRef.new(shape: UpdateMeshOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:update_route, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRoute"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateRouteInput)
    o.output = Shapes::ShapeRef.new(shape: UpdateRouteOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_virtual_gateway, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateVirtualGateway"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateVirtualGatewayInput)
    o.output = Shapes::ShapeRef.new(shape: UpdateVirtualGatewayOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_virtual_node, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateVirtualNode"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateVirtualNodeInput)
    o.output = Shapes::ShapeRef.new(shape: UpdateVirtualNodeOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_virtual_router, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateVirtualRouter"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateVirtualRouterInput)
    o.output = Shapes::ShapeRef.new(shape: UpdateVirtualRouterOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:update_virtual_service, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateVirtualService"
    o.http_method = "PUT"
    o.http_request_uri = "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateVirtualServiceInput)
    o.output = Shapes::ShapeRef.new(shape: UpdateVirtualServiceOutput)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)
end