github.com/aavshr/aws-sdk-go@v1.41.3/models/apis/appmesh/2019-01-25/api-2.json (about)

     1  {
     2    "version":"2.0",
     3    "metadata":{
     4      "apiVersion":"2019-01-25",
     5      "endpointPrefix":"appmesh",
     6      "jsonVersion":"1.1",
     7      "protocol":"rest-json",
     8      "serviceFullName":"AWS App Mesh",
     9      "serviceId":"App Mesh",
    10      "signatureVersion":"v4",
    11      "signingName":"appmesh",
    12      "uid":"appmesh-2019-01-25"
    13    },
    14    "operations":{
    15      "CreateGatewayRoute":{
    16        "name":"CreateGatewayRoute",
    17        "http":{
    18          "method":"PUT",
    19          "requestUri":"/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes",
    20          "responseCode":200
    21        },
    22        "input":{"shape":"CreateGatewayRouteInput"},
    23        "output":{"shape":"CreateGatewayRouteOutput"},
    24        "errors":[
    25          {"shape":"NotFoundException"},
    26          {"shape":"BadRequestException"},
    27          {"shape":"ConflictException"},
    28          {"shape":"TooManyRequestsException"},
    29          {"shape":"ForbiddenException"},
    30          {"shape":"ServiceUnavailableException"},
    31          {"shape":"InternalServerErrorException"},
    32          {"shape":"LimitExceededException"}
    33        ],
    34        "idempotent":true
    35      },
    36      "CreateMesh":{
    37        "name":"CreateMesh",
    38        "http":{
    39          "method":"PUT",
    40          "requestUri":"/v20190125/meshes",
    41          "responseCode":200
    42        },
    43        "input":{"shape":"CreateMeshInput"},
    44        "output":{"shape":"CreateMeshOutput"},
    45        "errors":[
    46          {"shape":"NotFoundException"},
    47          {"shape":"BadRequestException"},
    48          {"shape":"ConflictException"},
    49          {"shape":"TooManyRequestsException"},
    50          {"shape":"ForbiddenException"},
    51          {"shape":"ServiceUnavailableException"},
    52          {"shape":"InternalServerErrorException"},
    53          {"shape":"LimitExceededException"}
    54        ],
    55        "idempotent":true
    56      },
    57      "CreateRoute":{
    58        "name":"CreateRoute",
    59        "http":{
    60          "method":"PUT",
    61          "requestUri":"/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes",
    62          "responseCode":200
    63        },
    64        "input":{"shape":"CreateRouteInput"},
    65        "output":{"shape":"CreateRouteOutput"},
    66        "errors":[
    67          {"shape":"NotFoundException"},
    68          {"shape":"BadRequestException"},
    69          {"shape":"ConflictException"},
    70          {"shape":"TooManyRequestsException"},
    71          {"shape":"ForbiddenException"},
    72          {"shape":"ServiceUnavailableException"},
    73          {"shape":"InternalServerErrorException"},
    74          {"shape":"LimitExceededException"}
    75        ],
    76        "idempotent":true
    77      },
    78      "CreateVirtualGateway":{
    79        "name":"CreateVirtualGateway",
    80        "http":{
    81          "method":"PUT",
    82          "requestUri":"/v20190125/meshes/{meshName}/virtualGateways",
    83          "responseCode":200
    84        },
    85        "input":{"shape":"CreateVirtualGatewayInput"},
    86        "output":{"shape":"CreateVirtualGatewayOutput"},
    87        "errors":[
    88          {"shape":"NotFoundException"},
    89          {"shape":"BadRequestException"},
    90          {"shape":"ConflictException"},
    91          {"shape":"TooManyRequestsException"},
    92          {"shape":"ForbiddenException"},
    93          {"shape":"ServiceUnavailableException"},
    94          {"shape":"InternalServerErrorException"},
    95          {"shape":"LimitExceededException"}
    96        ],
    97        "idempotent":true
    98      },
    99      "CreateVirtualNode":{
   100        "name":"CreateVirtualNode",
   101        "http":{
   102          "method":"PUT",
   103          "requestUri":"/v20190125/meshes/{meshName}/virtualNodes",
   104          "responseCode":200
   105        },
   106        "input":{"shape":"CreateVirtualNodeInput"},
   107        "output":{"shape":"CreateVirtualNodeOutput"},
   108        "errors":[
   109          {"shape":"NotFoundException"},
   110          {"shape":"BadRequestException"},
   111          {"shape":"ConflictException"},
   112          {"shape":"TooManyRequestsException"},
   113          {"shape":"ForbiddenException"},
   114          {"shape":"ServiceUnavailableException"},
   115          {"shape":"InternalServerErrorException"},
   116          {"shape":"LimitExceededException"}
   117        ],
   118        "idempotent":true
   119      },
   120      "CreateVirtualRouter":{
   121        "name":"CreateVirtualRouter",
   122        "http":{
   123          "method":"PUT",
   124          "requestUri":"/v20190125/meshes/{meshName}/virtualRouters",
   125          "responseCode":200
   126        },
   127        "input":{"shape":"CreateVirtualRouterInput"},
   128        "output":{"shape":"CreateVirtualRouterOutput"},
   129        "errors":[
   130          {"shape":"NotFoundException"},
   131          {"shape":"BadRequestException"},
   132          {"shape":"ConflictException"},
   133          {"shape":"TooManyRequestsException"},
   134          {"shape":"ForbiddenException"},
   135          {"shape":"ServiceUnavailableException"},
   136          {"shape":"InternalServerErrorException"},
   137          {"shape":"LimitExceededException"}
   138        ],
   139        "idempotent":true
   140      },
   141      "CreateVirtualService":{
   142        "name":"CreateVirtualService",
   143        "http":{
   144          "method":"PUT",
   145          "requestUri":"/v20190125/meshes/{meshName}/virtualServices",
   146          "responseCode":200
   147        },
   148        "input":{"shape":"CreateVirtualServiceInput"},
   149        "output":{"shape":"CreateVirtualServiceOutput"},
   150        "errors":[
   151          {"shape":"NotFoundException"},
   152          {"shape":"BadRequestException"},
   153          {"shape":"ConflictException"},
   154          {"shape":"TooManyRequestsException"},
   155          {"shape":"ForbiddenException"},
   156          {"shape":"ServiceUnavailableException"},
   157          {"shape":"InternalServerErrorException"},
   158          {"shape":"LimitExceededException"}
   159        ],
   160        "idempotent":true
   161      },
   162      "DeleteGatewayRoute":{
   163        "name":"DeleteGatewayRoute",
   164        "http":{
   165          "method":"DELETE",
   166          "requestUri":"/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
   167          "responseCode":200
   168        },
   169        "input":{"shape":"DeleteGatewayRouteInput"},
   170        "output":{"shape":"DeleteGatewayRouteOutput"},
   171        "errors":[
   172          {"shape":"NotFoundException"},
   173          {"shape":"BadRequestException"},
   174          {"shape":"TooManyRequestsException"},
   175          {"shape":"ForbiddenException"},
   176          {"shape":"ResourceInUseException"},
   177          {"shape":"ServiceUnavailableException"},
   178          {"shape":"InternalServerErrorException"}
   179        ],
   180        "idempotent":true
   181      },
   182      "DeleteMesh":{
   183        "name":"DeleteMesh",
   184        "http":{
   185          "method":"DELETE",
   186          "requestUri":"/v20190125/meshes/{meshName}",
   187          "responseCode":200
   188        },
   189        "input":{"shape":"DeleteMeshInput"},
   190        "output":{"shape":"DeleteMeshOutput"},
   191        "errors":[
   192          {"shape":"NotFoundException"},
   193          {"shape":"BadRequestException"},
   194          {"shape":"TooManyRequestsException"},
   195          {"shape":"ForbiddenException"},
   196          {"shape":"ResourceInUseException"},
   197          {"shape":"ServiceUnavailableException"},
   198          {"shape":"InternalServerErrorException"}
   199        ],
   200        "idempotent":true
   201      },
   202      "DeleteRoute":{
   203        "name":"DeleteRoute",
   204        "http":{
   205          "method":"DELETE",
   206          "requestUri":"/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}",
   207          "responseCode":200
   208        },
   209        "input":{"shape":"DeleteRouteInput"},
   210        "output":{"shape":"DeleteRouteOutput"},
   211        "errors":[
   212          {"shape":"NotFoundException"},
   213          {"shape":"BadRequestException"},
   214          {"shape":"TooManyRequestsException"},
   215          {"shape":"ForbiddenException"},
   216          {"shape":"ResourceInUseException"},
   217          {"shape":"ServiceUnavailableException"},
   218          {"shape":"InternalServerErrorException"}
   219        ],
   220        "idempotent":true
   221      },
   222      "DeleteVirtualGateway":{
   223        "name":"DeleteVirtualGateway",
   224        "http":{
   225          "method":"DELETE",
   226          "requestUri":"/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
   227          "responseCode":200
   228        },
   229        "input":{"shape":"DeleteVirtualGatewayInput"},
   230        "output":{"shape":"DeleteVirtualGatewayOutput"},
   231        "errors":[
   232          {"shape":"NotFoundException"},
   233          {"shape":"BadRequestException"},
   234          {"shape":"TooManyRequestsException"},
   235          {"shape":"ForbiddenException"},
   236          {"shape":"ResourceInUseException"},
   237          {"shape":"ServiceUnavailableException"},
   238          {"shape":"InternalServerErrorException"}
   239        ],
   240        "idempotent":true
   241      },
   242      "DeleteVirtualNode":{
   243        "name":"DeleteVirtualNode",
   244        "http":{
   245          "method":"DELETE",
   246          "requestUri":"/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}",
   247          "responseCode":200
   248        },
   249        "input":{"shape":"DeleteVirtualNodeInput"},
   250        "output":{"shape":"DeleteVirtualNodeOutput"},
   251        "errors":[
   252          {"shape":"NotFoundException"},
   253          {"shape":"BadRequestException"},
   254          {"shape":"TooManyRequestsException"},
   255          {"shape":"ForbiddenException"},
   256          {"shape":"ResourceInUseException"},
   257          {"shape":"ServiceUnavailableException"},
   258          {"shape":"InternalServerErrorException"}
   259        ],
   260        "idempotent":true
   261      },
   262      "DeleteVirtualRouter":{
   263        "name":"DeleteVirtualRouter",
   264        "http":{
   265          "method":"DELETE",
   266          "requestUri":"/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}",
   267          "responseCode":200
   268        },
   269        "input":{"shape":"DeleteVirtualRouterInput"},
   270        "output":{"shape":"DeleteVirtualRouterOutput"},
   271        "errors":[
   272          {"shape":"NotFoundException"},
   273          {"shape":"BadRequestException"},
   274          {"shape":"TooManyRequestsException"},
   275          {"shape":"ForbiddenException"},
   276          {"shape":"ResourceInUseException"},
   277          {"shape":"ServiceUnavailableException"},
   278          {"shape":"InternalServerErrorException"}
   279        ],
   280        "idempotent":true
   281      },
   282      "DeleteVirtualService":{
   283        "name":"DeleteVirtualService",
   284        "http":{
   285          "method":"DELETE",
   286          "requestUri":"/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}",
   287          "responseCode":200
   288        },
   289        "input":{"shape":"DeleteVirtualServiceInput"},
   290        "output":{"shape":"DeleteVirtualServiceOutput"},
   291        "errors":[
   292          {"shape":"NotFoundException"},
   293          {"shape":"BadRequestException"},
   294          {"shape":"TooManyRequestsException"},
   295          {"shape":"ForbiddenException"},
   296          {"shape":"ResourceInUseException"},
   297          {"shape":"ServiceUnavailableException"},
   298          {"shape":"InternalServerErrorException"}
   299        ],
   300        "idempotent":true
   301      },
   302      "DescribeGatewayRoute":{
   303        "name":"DescribeGatewayRoute",
   304        "http":{
   305          "method":"GET",
   306          "requestUri":"/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
   307          "responseCode":200
   308        },
   309        "input":{"shape":"DescribeGatewayRouteInput"},
   310        "output":{"shape":"DescribeGatewayRouteOutput"},
   311        "errors":[
   312          {"shape":"NotFoundException"},
   313          {"shape":"BadRequestException"},
   314          {"shape":"TooManyRequestsException"},
   315          {"shape":"ForbiddenException"},
   316          {"shape":"ServiceUnavailableException"},
   317          {"shape":"InternalServerErrorException"}
   318        ]
   319      },
   320      "DescribeMesh":{
   321        "name":"DescribeMesh",
   322        "http":{
   323          "method":"GET",
   324          "requestUri":"/v20190125/meshes/{meshName}",
   325          "responseCode":200
   326        },
   327        "input":{"shape":"DescribeMeshInput"},
   328        "output":{"shape":"DescribeMeshOutput"},
   329        "errors":[
   330          {"shape":"NotFoundException"},
   331          {"shape":"BadRequestException"},
   332          {"shape":"TooManyRequestsException"},
   333          {"shape":"ForbiddenException"},
   334          {"shape":"ServiceUnavailableException"},
   335          {"shape":"InternalServerErrorException"}
   336        ]
   337      },
   338      "DescribeRoute":{
   339        "name":"DescribeRoute",
   340        "http":{
   341          "method":"GET",
   342          "requestUri":"/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}",
   343          "responseCode":200
   344        },
   345        "input":{"shape":"DescribeRouteInput"},
   346        "output":{"shape":"DescribeRouteOutput"},
   347        "errors":[
   348          {"shape":"NotFoundException"},
   349          {"shape":"BadRequestException"},
   350          {"shape":"TooManyRequestsException"},
   351          {"shape":"ForbiddenException"},
   352          {"shape":"ServiceUnavailableException"},
   353          {"shape":"InternalServerErrorException"}
   354        ]
   355      },
   356      "DescribeVirtualGateway":{
   357        "name":"DescribeVirtualGateway",
   358        "http":{
   359          "method":"GET",
   360          "requestUri":"/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
   361          "responseCode":200
   362        },
   363        "input":{"shape":"DescribeVirtualGatewayInput"},
   364        "output":{"shape":"DescribeVirtualGatewayOutput"},
   365        "errors":[
   366          {"shape":"NotFoundException"},
   367          {"shape":"BadRequestException"},
   368          {"shape":"TooManyRequestsException"},
   369          {"shape":"ForbiddenException"},
   370          {"shape":"ServiceUnavailableException"},
   371          {"shape":"InternalServerErrorException"}
   372        ]
   373      },
   374      "DescribeVirtualNode":{
   375        "name":"DescribeVirtualNode",
   376        "http":{
   377          "method":"GET",
   378          "requestUri":"/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}",
   379          "responseCode":200
   380        },
   381        "input":{"shape":"DescribeVirtualNodeInput"},
   382        "output":{"shape":"DescribeVirtualNodeOutput"},
   383        "errors":[
   384          {"shape":"NotFoundException"},
   385          {"shape":"BadRequestException"},
   386          {"shape":"TooManyRequestsException"},
   387          {"shape":"ForbiddenException"},
   388          {"shape":"ServiceUnavailableException"},
   389          {"shape":"InternalServerErrorException"}
   390        ]
   391      },
   392      "DescribeVirtualRouter":{
   393        "name":"DescribeVirtualRouter",
   394        "http":{
   395          "method":"GET",
   396          "requestUri":"/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}",
   397          "responseCode":200
   398        },
   399        "input":{"shape":"DescribeVirtualRouterInput"},
   400        "output":{"shape":"DescribeVirtualRouterOutput"},
   401        "errors":[
   402          {"shape":"NotFoundException"},
   403          {"shape":"BadRequestException"},
   404          {"shape":"TooManyRequestsException"},
   405          {"shape":"ForbiddenException"},
   406          {"shape":"ServiceUnavailableException"},
   407          {"shape":"InternalServerErrorException"}
   408        ]
   409      },
   410      "DescribeVirtualService":{
   411        "name":"DescribeVirtualService",
   412        "http":{
   413          "method":"GET",
   414          "requestUri":"/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}",
   415          "responseCode":200
   416        },
   417        "input":{"shape":"DescribeVirtualServiceInput"},
   418        "output":{"shape":"DescribeVirtualServiceOutput"},
   419        "errors":[
   420          {"shape":"NotFoundException"},
   421          {"shape":"BadRequestException"},
   422          {"shape":"TooManyRequestsException"},
   423          {"shape":"ForbiddenException"},
   424          {"shape":"ServiceUnavailableException"},
   425          {"shape":"InternalServerErrorException"}
   426        ]
   427      },
   428      "ListGatewayRoutes":{
   429        "name":"ListGatewayRoutes",
   430        "http":{
   431          "method":"GET",
   432          "requestUri":"/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes",
   433          "responseCode":200
   434        },
   435        "input":{"shape":"ListGatewayRoutesInput"},
   436        "output":{"shape":"ListGatewayRoutesOutput"},
   437        "errors":[
   438          {"shape":"NotFoundException"},
   439          {"shape":"BadRequestException"},
   440          {"shape":"TooManyRequestsException"},
   441          {"shape":"ForbiddenException"},
   442          {"shape":"ServiceUnavailableException"},
   443          {"shape":"InternalServerErrorException"}
   444        ]
   445      },
   446      "ListMeshes":{
   447        "name":"ListMeshes",
   448        "http":{
   449          "method":"GET",
   450          "requestUri":"/v20190125/meshes",
   451          "responseCode":200
   452        },
   453        "input":{"shape":"ListMeshesInput"},
   454        "output":{"shape":"ListMeshesOutput"},
   455        "errors":[
   456          {"shape":"NotFoundException"},
   457          {"shape":"BadRequestException"},
   458          {"shape":"TooManyRequestsException"},
   459          {"shape":"ForbiddenException"},
   460          {"shape":"ServiceUnavailableException"},
   461          {"shape":"InternalServerErrorException"}
   462        ]
   463      },
   464      "ListRoutes":{
   465        "name":"ListRoutes",
   466        "http":{
   467          "method":"GET",
   468          "requestUri":"/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes",
   469          "responseCode":200
   470        },
   471        "input":{"shape":"ListRoutesInput"},
   472        "output":{"shape":"ListRoutesOutput"},
   473        "errors":[
   474          {"shape":"NotFoundException"},
   475          {"shape":"BadRequestException"},
   476          {"shape":"TooManyRequestsException"},
   477          {"shape":"ForbiddenException"},
   478          {"shape":"ServiceUnavailableException"},
   479          {"shape":"InternalServerErrorException"}
   480        ]
   481      },
   482      "ListTagsForResource":{
   483        "name":"ListTagsForResource",
   484        "http":{
   485          "method":"GET",
   486          "requestUri":"/v20190125/tags",
   487          "responseCode":200
   488        },
   489        "input":{"shape":"ListTagsForResourceInput"},
   490        "output":{"shape":"ListTagsForResourceOutput"},
   491        "errors":[
   492          {"shape":"NotFoundException"},
   493          {"shape":"BadRequestException"},
   494          {"shape":"TooManyRequestsException"},
   495          {"shape":"ForbiddenException"},
   496          {"shape":"ServiceUnavailableException"},
   497          {"shape":"InternalServerErrorException"}
   498        ]
   499      },
   500      "ListVirtualGateways":{
   501        "name":"ListVirtualGateways",
   502        "http":{
   503          "method":"GET",
   504          "requestUri":"/v20190125/meshes/{meshName}/virtualGateways",
   505          "responseCode":200
   506        },
   507        "input":{"shape":"ListVirtualGatewaysInput"},
   508        "output":{"shape":"ListVirtualGatewaysOutput"},
   509        "errors":[
   510          {"shape":"NotFoundException"},
   511          {"shape":"BadRequestException"},
   512          {"shape":"TooManyRequestsException"},
   513          {"shape":"ForbiddenException"},
   514          {"shape":"ServiceUnavailableException"},
   515          {"shape":"InternalServerErrorException"}
   516        ]
   517      },
   518      "ListVirtualNodes":{
   519        "name":"ListVirtualNodes",
   520        "http":{
   521          "method":"GET",
   522          "requestUri":"/v20190125/meshes/{meshName}/virtualNodes",
   523          "responseCode":200
   524        },
   525        "input":{"shape":"ListVirtualNodesInput"},
   526        "output":{"shape":"ListVirtualNodesOutput"},
   527        "errors":[
   528          {"shape":"NotFoundException"},
   529          {"shape":"BadRequestException"},
   530          {"shape":"TooManyRequestsException"},
   531          {"shape":"ForbiddenException"},
   532          {"shape":"ServiceUnavailableException"},
   533          {"shape":"InternalServerErrorException"}
   534        ]
   535      },
   536      "ListVirtualRouters":{
   537        "name":"ListVirtualRouters",
   538        "http":{
   539          "method":"GET",
   540          "requestUri":"/v20190125/meshes/{meshName}/virtualRouters",
   541          "responseCode":200
   542        },
   543        "input":{"shape":"ListVirtualRoutersInput"},
   544        "output":{"shape":"ListVirtualRoutersOutput"},
   545        "errors":[
   546          {"shape":"NotFoundException"},
   547          {"shape":"BadRequestException"},
   548          {"shape":"TooManyRequestsException"},
   549          {"shape":"ForbiddenException"},
   550          {"shape":"ServiceUnavailableException"},
   551          {"shape":"InternalServerErrorException"}
   552        ]
   553      },
   554      "ListVirtualServices":{
   555        "name":"ListVirtualServices",
   556        "http":{
   557          "method":"GET",
   558          "requestUri":"/v20190125/meshes/{meshName}/virtualServices",
   559          "responseCode":200
   560        },
   561        "input":{"shape":"ListVirtualServicesInput"},
   562        "output":{"shape":"ListVirtualServicesOutput"},
   563        "errors":[
   564          {"shape":"NotFoundException"},
   565          {"shape":"BadRequestException"},
   566          {"shape":"TooManyRequestsException"},
   567          {"shape":"ForbiddenException"},
   568          {"shape":"ServiceUnavailableException"},
   569          {"shape":"InternalServerErrorException"}
   570        ]
   571      },
   572      "TagResource":{
   573        "name":"TagResource",
   574        "http":{
   575          "method":"PUT",
   576          "requestUri":"/v20190125/tag",
   577          "responseCode":200
   578        },
   579        "input":{"shape":"TagResourceInput"},
   580        "output":{"shape":"TagResourceOutput"},
   581        "errors":[
   582          {"shape":"NotFoundException"},
   583          {"shape":"BadRequestException"},
   584          {"shape":"TooManyTagsException"},
   585          {"shape":"TooManyRequestsException"},
   586          {"shape":"ForbiddenException"},
   587          {"shape":"ServiceUnavailableException"},
   588          {"shape":"InternalServerErrorException"}
   589        ],
   590        "idempotent":true
   591      },
   592      "UntagResource":{
   593        "name":"UntagResource",
   594        "http":{
   595          "method":"PUT",
   596          "requestUri":"/v20190125/untag",
   597          "responseCode":200
   598        },
   599        "input":{"shape":"UntagResourceInput"},
   600        "output":{"shape":"UntagResourceOutput"},
   601        "errors":[
   602          {"shape":"NotFoundException"},
   603          {"shape":"BadRequestException"},
   604          {"shape":"TooManyRequestsException"},
   605          {"shape":"ForbiddenException"},
   606          {"shape":"ServiceUnavailableException"},
   607          {"shape":"InternalServerErrorException"}
   608        ],
   609        "idempotent":true
   610      },
   611      "UpdateGatewayRoute":{
   612        "name":"UpdateGatewayRoute",
   613        "http":{
   614          "method":"PUT",
   615          "requestUri":"/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
   616          "responseCode":200
   617        },
   618        "input":{"shape":"UpdateGatewayRouteInput"},
   619        "output":{"shape":"UpdateGatewayRouteOutput"},
   620        "errors":[
   621          {"shape":"NotFoundException"},
   622          {"shape":"BadRequestException"},
   623          {"shape":"ConflictException"},
   624          {"shape":"TooManyRequestsException"},
   625          {"shape":"ForbiddenException"},
   626          {"shape":"ServiceUnavailableException"},
   627          {"shape":"InternalServerErrorException"},
   628          {"shape":"LimitExceededException"}
   629        ],
   630        "idempotent":true
   631      },
   632      "UpdateMesh":{
   633        "name":"UpdateMesh",
   634        "http":{
   635          "method":"PUT",
   636          "requestUri":"/v20190125/meshes/{meshName}",
   637          "responseCode":200
   638        },
   639        "input":{"shape":"UpdateMeshInput"},
   640        "output":{"shape":"UpdateMeshOutput"},
   641        "errors":[
   642          {"shape":"NotFoundException"},
   643          {"shape":"BadRequestException"},
   644          {"shape":"ConflictException"},
   645          {"shape":"TooManyRequestsException"},
   646          {"shape":"ForbiddenException"},
   647          {"shape":"ServiceUnavailableException"},
   648          {"shape":"InternalServerErrorException"}
   649        ],
   650        "idempotent":true
   651      },
   652      "UpdateRoute":{
   653        "name":"UpdateRoute",
   654        "http":{
   655          "method":"PUT",
   656          "requestUri":"/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}",
   657          "responseCode":200
   658        },
   659        "input":{"shape":"UpdateRouteInput"},
   660        "output":{"shape":"UpdateRouteOutput"},
   661        "errors":[
   662          {"shape":"NotFoundException"},
   663          {"shape":"BadRequestException"},
   664          {"shape":"ConflictException"},
   665          {"shape":"TooManyRequestsException"},
   666          {"shape":"ForbiddenException"},
   667          {"shape":"ServiceUnavailableException"},
   668          {"shape":"InternalServerErrorException"},
   669          {"shape":"LimitExceededException"}
   670        ],
   671        "idempotent":true
   672      },
   673      "UpdateVirtualGateway":{
   674        "name":"UpdateVirtualGateway",
   675        "http":{
   676          "method":"PUT",
   677          "requestUri":"/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
   678          "responseCode":200
   679        },
   680        "input":{"shape":"UpdateVirtualGatewayInput"},
   681        "output":{"shape":"UpdateVirtualGatewayOutput"},
   682        "errors":[
   683          {"shape":"NotFoundException"},
   684          {"shape":"BadRequestException"},
   685          {"shape":"ConflictException"},
   686          {"shape":"TooManyRequestsException"},
   687          {"shape":"ForbiddenException"},
   688          {"shape":"ServiceUnavailableException"},
   689          {"shape":"InternalServerErrorException"},
   690          {"shape":"LimitExceededException"}
   691        ],
   692        "idempotent":true
   693      },
   694      "UpdateVirtualNode":{
   695        "name":"UpdateVirtualNode",
   696        "http":{
   697          "method":"PUT",
   698          "requestUri":"/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}",
   699          "responseCode":200
   700        },
   701        "input":{"shape":"UpdateVirtualNodeInput"},
   702        "output":{"shape":"UpdateVirtualNodeOutput"},
   703        "errors":[
   704          {"shape":"NotFoundException"},
   705          {"shape":"BadRequestException"},
   706          {"shape":"ConflictException"},
   707          {"shape":"TooManyRequestsException"},
   708          {"shape":"ForbiddenException"},
   709          {"shape":"ServiceUnavailableException"},
   710          {"shape":"InternalServerErrorException"},
   711          {"shape":"LimitExceededException"}
   712        ],
   713        "idempotent":true
   714      },
   715      "UpdateVirtualRouter":{
   716        "name":"UpdateVirtualRouter",
   717        "http":{
   718          "method":"PUT",
   719          "requestUri":"/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}",
   720          "responseCode":200
   721        },
   722        "input":{"shape":"UpdateVirtualRouterInput"},
   723        "output":{"shape":"UpdateVirtualRouterOutput"},
   724        "errors":[
   725          {"shape":"NotFoundException"},
   726          {"shape":"BadRequestException"},
   727          {"shape":"ConflictException"},
   728          {"shape":"TooManyRequestsException"},
   729          {"shape":"ForbiddenException"},
   730          {"shape":"ServiceUnavailableException"},
   731          {"shape":"InternalServerErrorException"},
   732          {"shape":"LimitExceededException"}
   733        ],
   734        "idempotent":true
   735      },
   736      "UpdateVirtualService":{
   737        "name":"UpdateVirtualService",
   738        "http":{
   739          "method":"PUT",
   740          "requestUri":"/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}",
   741          "responseCode":200
   742        },
   743        "input":{"shape":"UpdateVirtualServiceInput"},
   744        "output":{"shape":"UpdateVirtualServiceOutput"},
   745        "errors":[
   746          {"shape":"NotFoundException"},
   747          {"shape":"BadRequestException"},
   748          {"shape":"ConflictException"},
   749          {"shape":"TooManyRequestsException"},
   750          {"shape":"ForbiddenException"},
   751          {"shape":"ServiceUnavailableException"},
   752          {"shape":"InternalServerErrorException"},
   753          {"shape":"LimitExceededException"}
   754        ],
   755        "idempotent":true
   756      }
   757    },
   758    "shapes":{
   759      "AccessLog":{
   760        "type":"structure",
   761        "members":{
   762          "file":{"shape":"FileAccessLog"}
   763        },
   764        "union":true
   765      },
   766      "AccountId":{
   767        "type":"string",
   768        "max":12,
   769        "min":12
   770      },
   771      "Arn":{"type":"string"},
   772      "AwsCloudMapInstanceAttribute":{
   773        "type":"structure",
   774        "required":[
   775          "key",
   776          "value"
   777        ],
   778        "members":{
   779          "key":{"shape":"AwsCloudMapInstanceAttributeKey"},
   780          "value":{"shape":"AwsCloudMapInstanceAttributeValue"}
   781        }
   782      },
   783      "AwsCloudMapInstanceAttributeKey":{
   784        "type":"string",
   785        "max":255,
   786        "min":1,
   787        "pattern":"^[a-zA-Z0-9!-~]+$"
   788      },
   789      "AwsCloudMapInstanceAttributeValue":{
   790        "type":"string",
   791        "max":1024,
   792        "min":1,
   793        "pattern":"^([a-zA-Z0-9!-~][  a-zA-Z0-9!-~]*){0,1}[a-zA-Z0-9!-~]{0,1}$"
   794      },
   795      "AwsCloudMapInstanceAttributes":{
   796        "type":"list",
   797        "member":{"shape":"AwsCloudMapInstanceAttribute"}
   798      },
   799      "AwsCloudMapName":{
   800        "type":"string",
   801        "max":1024,
   802        "min":1
   803      },
   804      "AwsCloudMapServiceDiscovery":{
   805        "type":"structure",
   806        "required":[
   807          "namespaceName",
   808          "serviceName"
   809        ],
   810        "members":{
   811          "attributes":{"shape":"AwsCloudMapInstanceAttributes"},
   812          "namespaceName":{"shape":"AwsCloudMapName"},
   813          "serviceName":{"shape":"AwsCloudMapName"}
   814        }
   815      },
   816      "Backend":{
   817        "type":"structure",
   818        "members":{
   819          "virtualService":{"shape":"VirtualServiceBackend"}
   820        },
   821        "union":true
   822      },
   823      "BackendDefaults":{
   824        "type":"structure",
   825        "members":{
   826          "clientPolicy":{"shape":"ClientPolicy"}
   827        }
   828      },
   829      "Backends":{
   830        "type":"list",
   831        "member":{"shape":"Backend"}
   832      },
   833      "BadRequestException":{
   834        "type":"structure",
   835        "members":{
   836          "message":{"shape":"String"}
   837        },
   838        "error":{
   839          "httpStatusCode":400,
   840          "senderFault":true
   841        },
   842        "exception":true
   843      },
   844      "Boolean":{
   845        "type":"boolean",
   846        "box":true
   847      },
   848      "CertificateAuthorityArns":{
   849        "type":"list",
   850        "member":{"shape":"Arn"},
   851        "max":3,
   852        "min":1
   853      },
   854      "ClientPolicy":{
   855        "type":"structure",
   856        "members":{
   857          "tls":{"shape":"ClientPolicyTls"}
   858        }
   859      },
   860      "ClientPolicyTls":{
   861        "type":"structure",
   862        "required":["validation"],
   863        "members":{
   864          "certificate":{"shape":"ClientTlsCertificate"},
   865          "enforce":{
   866            "shape":"Boolean",
   867            "box":true
   868          },
   869          "ports":{"shape":"PortSet"},
   870          "validation":{"shape":"TlsValidationContext"}
   871        }
   872      },
   873      "ClientTlsCertificate":{
   874        "type":"structure",
   875        "members":{
   876          "file":{"shape":"ListenerTlsFileCertificate"},
   877          "sds":{"shape":"ListenerTlsSdsCertificate"}
   878        },
   879        "union":true
   880      },
   881      "ConflictException":{
   882        "type":"structure",
   883        "members":{
   884          "message":{"shape":"String"}
   885        },
   886        "error":{
   887          "httpStatusCode":409,
   888          "senderFault":true
   889        },
   890        "exception":true
   891      },
   892      "CreateGatewayRouteInput":{
   893        "type":"structure",
   894        "required":[
   895          "gatewayRouteName",
   896          "meshName",
   897          "spec",
   898          "virtualGatewayName"
   899        ],
   900        "members":{
   901          "clientToken":{
   902            "shape":"String",
   903            "idempotencyToken":true
   904          },
   905          "gatewayRouteName":{"shape":"ResourceName"},
   906          "meshName":{
   907            "shape":"ResourceName",
   908            "location":"uri",
   909            "locationName":"meshName"
   910          },
   911          "meshOwner":{
   912            "shape":"AccountId",
   913            "location":"querystring",
   914            "locationName":"meshOwner"
   915          },
   916          "spec":{"shape":"GatewayRouteSpec"},
   917          "tags":{"shape":"TagList"},
   918          "virtualGatewayName":{
   919            "shape":"ResourceName",
   920            "location":"uri",
   921            "locationName":"virtualGatewayName"
   922          }
   923        }
   924      },
   925      "CreateGatewayRouteOutput":{
   926        "type":"structure",
   927        "required":["gatewayRoute"],
   928        "members":{
   929          "gatewayRoute":{"shape":"GatewayRouteData"}
   930        },
   931        "payload":"gatewayRoute"
   932      },
   933      "CreateMeshInput":{
   934        "type":"structure",
   935        "required":["meshName"],
   936        "members":{
   937          "clientToken":{
   938            "shape":"String",
   939            "idempotencyToken":true
   940          },
   941          "meshName":{"shape":"ResourceName"},
   942          "spec":{"shape":"MeshSpec"},
   943          "tags":{"shape":"TagList"}
   944        }
   945      },
   946      "CreateMeshOutput":{
   947        "type":"structure",
   948        "required":["mesh"],
   949        "members":{
   950          "mesh":{"shape":"MeshData"}
   951        },
   952        "payload":"mesh"
   953      },
   954      "CreateRouteInput":{
   955        "type":"structure",
   956        "required":[
   957          "meshName",
   958          "routeName",
   959          "spec",
   960          "virtualRouterName"
   961        ],
   962        "members":{
   963          "clientToken":{
   964            "shape":"String",
   965            "idempotencyToken":true
   966          },
   967          "meshName":{
   968            "shape":"ResourceName",
   969            "location":"uri",
   970            "locationName":"meshName"
   971          },
   972          "meshOwner":{
   973            "shape":"AccountId",
   974            "location":"querystring",
   975            "locationName":"meshOwner"
   976          },
   977          "routeName":{"shape":"ResourceName"},
   978          "spec":{"shape":"RouteSpec"},
   979          "tags":{"shape":"TagList"},
   980          "virtualRouterName":{
   981            "shape":"ResourceName",
   982            "location":"uri",
   983            "locationName":"virtualRouterName"
   984          }
   985        }
   986      },
   987      "CreateRouteOutput":{
   988        "type":"structure",
   989        "required":["route"],
   990        "members":{
   991          "route":{"shape":"RouteData"}
   992        },
   993        "payload":"route"
   994      },
   995      "CreateVirtualGatewayInput":{
   996        "type":"structure",
   997        "required":[
   998          "meshName",
   999          "spec",
  1000          "virtualGatewayName"
  1001        ],
  1002        "members":{
  1003          "clientToken":{
  1004            "shape":"String",
  1005            "idempotencyToken":true
  1006          },
  1007          "meshName":{
  1008            "shape":"ResourceName",
  1009            "location":"uri",
  1010            "locationName":"meshName"
  1011          },
  1012          "meshOwner":{
  1013            "shape":"AccountId",
  1014            "location":"querystring",
  1015            "locationName":"meshOwner"
  1016          },
  1017          "spec":{"shape":"VirtualGatewaySpec"},
  1018          "tags":{"shape":"TagList"},
  1019          "virtualGatewayName":{"shape":"ResourceName"}
  1020        }
  1021      },
  1022      "CreateVirtualGatewayOutput":{
  1023        "type":"structure",
  1024        "required":["virtualGateway"],
  1025        "members":{
  1026          "virtualGateway":{"shape":"VirtualGatewayData"}
  1027        },
  1028        "payload":"virtualGateway"
  1029      },
  1030      "CreateVirtualNodeInput":{
  1031        "type":"structure",
  1032        "required":[
  1033          "meshName",
  1034          "spec",
  1035          "virtualNodeName"
  1036        ],
  1037        "members":{
  1038          "clientToken":{
  1039            "shape":"String",
  1040            "idempotencyToken":true
  1041          },
  1042          "meshName":{
  1043            "shape":"ResourceName",
  1044            "location":"uri",
  1045            "locationName":"meshName"
  1046          },
  1047          "meshOwner":{
  1048            "shape":"AccountId",
  1049            "location":"querystring",
  1050            "locationName":"meshOwner"
  1051          },
  1052          "spec":{"shape":"VirtualNodeSpec"},
  1053          "tags":{"shape":"TagList"},
  1054          "virtualNodeName":{"shape":"ResourceName"}
  1055        }
  1056      },
  1057      "CreateVirtualNodeOutput":{
  1058        "type":"structure",
  1059        "required":["virtualNode"],
  1060        "members":{
  1061          "virtualNode":{"shape":"VirtualNodeData"}
  1062        },
  1063        "payload":"virtualNode"
  1064      },
  1065      "CreateVirtualRouterInput":{
  1066        "type":"structure",
  1067        "required":[
  1068          "meshName",
  1069          "spec",
  1070          "virtualRouterName"
  1071        ],
  1072        "members":{
  1073          "clientToken":{
  1074            "shape":"String",
  1075            "idempotencyToken":true
  1076          },
  1077          "meshName":{
  1078            "shape":"ResourceName",
  1079            "location":"uri",
  1080            "locationName":"meshName"
  1081          },
  1082          "meshOwner":{
  1083            "shape":"AccountId",
  1084            "location":"querystring",
  1085            "locationName":"meshOwner"
  1086          },
  1087          "spec":{"shape":"VirtualRouterSpec"},
  1088          "tags":{"shape":"TagList"},
  1089          "virtualRouterName":{"shape":"ResourceName"}
  1090        }
  1091      },
  1092      "CreateVirtualRouterOutput":{
  1093        "type":"structure",
  1094        "required":["virtualRouter"],
  1095        "members":{
  1096          "virtualRouter":{"shape":"VirtualRouterData"}
  1097        },
  1098        "payload":"virtualRouter"
  1099      },
  1100      "CreateVirtualServiceInput":{
  1101        "type":"structure",
  1102        "required":[
  1103          "meshName",
  1104          "spec",
  1105          "virtualServiceName"
  1106        ],
  1107        "members":{
  1108          "clientToken":{
  1109            "shape":"String",
  1110            "idempotencyToken":true
  1111          },
  1112          "meshName":{
  1113            "shape":"ResourceName",
  1114            "location":"uri",
  1115            "locationName":"meshName"
  1116          },
  1117          "meshOwner":{
  1118            "shape":"AccountId",
  1119            "location":"querystring",
  1120            "locationName":"meshOwner"
  1121          },
  1122          "spec":{"shape":"VirtualServiceSpec"},
  1123          "tags":{"shape":"TagList"},
  1124          "virtualServiceName":{"shape":"ServiceName"}
  1125        }
  1126      },
  1127      "CreateVirtualServiceOutput":{
  1128        "type":"structure",
  1129        "required":["virtualService"],
  1130        "members":{
  1131          "virtualService":{"shape":"VirtualServiceData"}
  1132        },
  1133        "payload":"virtualService"
  1134      },
  1135      "DefaultGatewayRouteRewrite":{
  1136        "type":"string",
  1137        "enum":[
  1138          "ENABLED",
  1139          "DISABLED"
  1140        ]
  1141      },
  1142      "DeleteGatewayRouteInput":{
  1143        "type":"structure",
  1144        "required":[
  1145          "gatewayRouteName",
  1146          "meshName",
  1147          "virtualGatewayName"
  1148        ],
  1149        "members":{
  1150          "gatewayRouteName":{
  1151            "shape":"ResourceName",
  1152            "location":"uri",
  1153            "locationName":"gatewayRouteName"
  1154          },
  1155          "meshName":{
  1156            "shape":"ResourceName",
  1157            "location":"uri",
  1158            "locationName":"meshName"
  1159          },
  1160          "meshOwner":{
  1161            "shape":"AccountId",
  1162            "location":"querystring",
  1163            "locationName":"meshOwner"
  1164          },
  1165          "virtualGatewayName":{
  1166            "shape":"ResourceName",
  1167            "location":"uri",
  1168            "locationName":"virtualGatewayName"
  1169          }
  1170        }
  1171      },
  1172      "DeleteGatewayRouteOutput":{
  1173        "type":"structure",
  1174        "required":["gatewayRoute"],
  1175        "members":{
  1176          "gatewayRoute":{"shape":"GatewayRouteData"}
  1177        },
  1178        "payload":"gatewayRoute"
  1179      },
  1180      "DeleteMeshInput":{
  1181        "type":"structure",
  1182        "required":["meshName"],
  1183        "members":{
  1184          "meshName":{
  1185            "shape":"ResourceName",
  1186            "location":"uri",
  1187            "locationName":"meshName"
  1188          }
  1189        }
  1190      },
  1191      "DeleteMeshOutput":{
  1192        "type":"structure",
  1193        "required":["mesh"],
  1194        "members":{
  1195          "mesh":{"shape":"MeshData"}
  1196        },
  1197        "payload":"mesh"
  1198      },
  1199      "DeleteRouteInput":{
  1200        "type":"structure",
  1201        "required":[
  1202          "meshName",
  1203          "routeName",
  1204          "virtualRouterName"
  1205        ],
  1206        "members":{
  1207          "meshName":{
  1208            "shape":"ResourceName",
  1209            "location":"uri",
  1210            "locationName":"meshName"
  1211          },
  1212          "meshOwner":{
  1213            "shape":"AccountId",
  1214            "location":"querystring",
  1215            "locationName":"meshOwner"
  1216          },
  1217          "routeName":{
  1218            "shape":"ResourceName",
  1219            "location":"uri",
  1220            "locationName":"routeName"
  1221          },
  1222          "virtualRouterName":{
  1223            "shape":"ResourceName",
  1224            "location":"uri",
  1225            "locationName":"virtualRouterName"
  1226          }
  1227        }
  1228      },
  1229      "DeleteRouteOutput":{
  1230        "type":"structure",
  1231        "required":["route"],
  1232        "members":{
  1233          "route":{"shape":"RouteData"}
  1234        },
  1235        "payload":"route"
  1236      },
  1237      "DeleteVirtualGatewayInput":{
  1238        "type":"structure",
  1239        "required":[
  1240          "meshName",
  1241          "virtualGatewayName"
  1242        ],
  1243        "members":{
  1244          "meshName":{
  1245            "shape":"ResourceName",
  1246            "location":"uri",
  1247            "locationName":"meshName"
  1248          },
  1249          "meshOwner":{
  1250            "shape":"AccountId",
  1251            "location":"querystring",
  1252            "locationName":"meshOwner"
  1253          },
  1254          "virtualGatewayName":{
  1255            "shape":"ResourceName",
  1256            "location":"uri",
  1257            "locationName":"virtualGatewayName"
  1258          }
  1259        }
  1260      },
  1261      "DeleteVirtualGatewayOutput":{
  1262        "type":"structure",
  1263        "required":["virtualGateway"],
  1264        "members":{
  1265          "virtualGateway":{"shape":"VirtualGatewayData"}
  1266        },
  1267        "payload":"virtualGateway"
  1268      },
  1269      "DeleteVirtualNodeInput":{
  1270        "type":"structure",
  1271        "required":[
  1272          "meshName",
  1273          "virtualNodeName"
  1274        ],
  1275        "members":{
  1276          "meshName":{
  1277            "shape":"ResourceName",
  1278            "location":"uri",
  1279            "locationName":"meshName"
  1280          },
  1281          "meshOwner":{
  1282            "shape":"AccountId",
  1283            "location":"querystring",
  1284            "locationName":"meshOwner"
  1285          },
  1286          "virtualNodeName":{
  1287            "shape":"ResourceName",
  1288            "location":"uri",
  1289            "locationName":"virtualNodeName"
  1290          }
  1291        }
  1292      },
  1293      "DeleteVirtualNodeOutput":{
  1294        "type":"structure",
  1295        "required":["virtualNode"],
  1296        "members":{
  1297          "virtualNode":{"shape":"VirtualNodeData"}
  1298        },
  1299        "payload":"virtualNode"
  1300      },
  1301      "DeleteVirtualRouterInput":{
  1302        "type":"structure",
  1303        "required":[
  1304          "meshName",
  1305          "virtualRouterName"
  1306        ],
  1307        "members":{
  1308          "meshName":{
  1309            "shape":"ResourceName",
  1310            "location":"uri",
  1311            "locationName":"meshName"
  1312          },
  1313          "meshOwner":{
  1314            "shape":"AccountId",
  1315            "location":"querystring",
  1316            "locationName":"meshOwner"
  1317          },
  1318          "virtualRouterName":{
  1319            "shape":"ResourceName",
  1320            "location":"uri",
  1321            "locationName":"virtualRouterName"
  1322          }
  1323        }
  1324      },
  1325      "DeleteVirtualRouterOutput":{
  1326        "type":"structure",
  1327        "required":["virtualRouter"],
  1328        "members":{
  1329          "virtualRouter":{"shape":"VirtualRouterData"}
  1330        },
  1331        "payload":"virtualRouter"
  1332      },
  1333      "DeleteVirtualServiceInput":{
  1334        "type":"structure",
  1335        "required":[
  1336          "meshName",
  1337          "virtualServiceName"
  1338        ],
  1339        "members":{
  1340          "meshName":{
  1341            "shape":"ResourceName",
  1342            "location":"uri",
  1343            "locationName":"meshName"
  1344          },
  1345          "meshOwner":{
  1346            "shape":"AccountId",
  1347            "location":"querystring",
  1348            "locationName":"meshOwner"
  1349          },
  1350          "virtualServiceName":{
  1351            "shape":"ServiceName",
  1352            "location":"uri",
  1353            "locationName":"virtualServiceName"
  1354          }
  1355        }
  1356      },
  1357      "DeleteVirtualServiceOutput":{
  1358        "type":"structure",
  1359        "required":["virtualService"],
  1360        "members":{
  1361          "virtualService":{"shape":"VirtualServiceData"}
  1362        },
  1363        "payload":"virtualService"
  1364      },
  1365      "DescribeGatewayRouteInput":{
  1366        "type":"structure",
  1367        "required":[
  1368          "gatewayRouteName",
  1369          "meshName",
  1370          "virtualGatewayName"
  1371        ],
  1372        "members":{
  1373          "gatewayRouteName":{
  1374            "shape":"ResourceName",
  1375            "location":"uri",
  1376            "locationName":"gatewayRouteName"
  1377          },
  1378          "meshName":{
  1379            "shape":"ResourceName",
  1380            "location":"uri",
  1381            "locationName":"meshName"
  1382          },
  1383          "meshOwner":{
  1384            "shape":"AccountId",
  1385            "location":"querystring",
  1386            "locationName":"meshOwner"
  1387          },
  1388          "virtualGatewayName":{
  1389            "shape":"ResourceName",
  1390            "location":"uri",
  1391            "locationName":"virtualGatewayName"
  1392          }
  1393        }
  1394      },
  1395      "DescribeGatewayRouteOutput":{
  1396        "type":"structure",
  1397        "required":["gatewayRoute"],
  1398        "members":{
  1399          "gatewayRoute":{"shape":"GatewayRouteData"}
  1400        },
  1401        "payload":"gatewayRoute"
  1402      },
  1403      "DescribeMeshInput":{
  1404        "type":"structure",
  1405        "required":["meshName"],
  1406        "members":{
  1407          "meshName":{
  1408            "shape":"ResourceName",
  1409            "location":"uri",
  1410            "locationName":"meshName"
  1411          },
  1412          "meshOwner":{
  1413            "shape":"AccountId",
  1414            "location":"querystring",
  1415            "locationName":"meshOwner"
  1416          }
  1417        }
  1418      },
  1419      "DescribeMeshOutput":{
  1420        "type":"structure",
  1421        "required":["mesh"],
  1422        "members":{
  1423          "mesh":{"shape":"MeshData"}
  1424        },
  1425        "payload":"mesh"
  1426      },
  1427      "DescribeRouteInput":{
  1428        "type":"structure",
  1429        "required":[
  1430          "meshName",
  1431          "routeName",
  1432          "virtualRouterName"
  1433        ],
  1434        "members":{
  1435          "meshName":{
  1436            "shape":"ResourceName",
  1437            "location":"uri",
  1438            "locationName":"meshName"
  1439          },
  1440          "meshOwner":{
  1441            "shape":"AccountId",
  1442            "location":"querystring",
  1443            "locationName":"meshOwner"
  1444          },
  1445          "routeName":{
  1446            "shape":"ResourceName",
  1447            "location":"uri",
  1448            "locationName":"routeName"
  1449          },
  1450          "virtualRouterName":{
  1451            "shape":"ResourceName",
  1452            "location":"uri",
  1453            "locationName":"virtualRouterName"
  1454          }
  1455        }
  1456      },
  1457      "DescribeRouteOutput":{
  1458        "type":"structure",
  1459        "required":["route"],
  1460        "members":{
  1461          "route":{"shape":"RouteData"}
  1462        },
  1463        "payload":"route"
  1464      },
  1465      "DescribeVirtualGatewayInput":{
  1466        "type":"structure",
  1467        "required":[
  1468          "meshName",
  1469          "virtualGatewayName"
  1470        ],
  1471        "members":{
  1472          "meshName":{
  1473            "shape":"ResourceName",
  1474            "location":"uri",
  1475            "locationName":"meshName"
  1476          },
  1477          "meshOwner":{
  1478            "shape":"AccountId",
  1479            "location":"querystring",
  1480            "locationName":"meshOwner"
  1481          },
  1482          "virtualGatewayName":{
  1483            "shape":"ResourceName",
  1484            "location":"uri",
  1485            "locationName":"virtualGatewayName"
  1486          }
  1487        }
  1488      },
  1489      "DescribeVirtualGatewayOutput":{
  1490        "type":"structure",
  1491        "required":["virtualGateway"],
  1492        "members":{
  1493          "virtualGateway":{"shape":"VirtualGatewayData"}
  1494        },
  1495        "payload":"virtualGateway"
  1496      },
  1497      "DescribeVirtualNodeInput":{
  1498        "type":"structure",
  1499        "required":[
  1500          "meshName",
  1501          "virtualNodeName"
  1502        ],
  1503        "members":{
  1504          "meshName":{
  1505            "shape":"ResourceName",
  1506            "location":"uri",
  1507            "locationName":"meshName"
  1508          },
  1509          "meshOwner":{
  1510            "shape":"AccountId",
  1511            "location":"querystring",
  1512            "locationName":"meshOwner"
  1513          },
  1514          "virtualNodeName":{
  1515            "shape":"ResourceName",
  1516            "location":"uri",
  1517            "locationName":"virtualNodeName"
  1518          }
  1519        }
  1520      },
  1521      "DescribeVirtualNodeOutput":{
  1522        "type":"structure",
  1523        "required":["virtualNode"],
  1524        "members":{
  1525          "virtualNode":{"shape":"VirtualNodeData"}
  1526        },
  1527        "payload":"virtualNode"
  1528      },
  1529      "DescribeVirtualRouterInput":{
  1530        "type":"structure",
  1531        "required":[
  1532          "meshName",
  1533          "virtualRouterName"
  1534        ],
  1535        "members":{
  1536          "meshName":{
  1537            "shape":"ResourceName",
  1538            "location":"uri",
  1539            "locationName":"meshName"
  1540          },
  1541          "meshOwner":{
  1542            "shape":"AccountId",
  1543            "location":"querystring",
  1544            "locationName":"meshOwner"
  1545          },
  1546          "virtualRouterName":{
  1547            "shape":"ResourceName",
  1548            "location":"uri",
  1549            "locationName":"virtualRouterName"
  1550          }
  1551        }
  1552      },
  1553      "DescribeVirtualRouterOutput":{
  1554        "type":"structure",
  1555        "required":["virtualRouter"],
  1556        "members":{
  1557          "virtualRouter":{"shape":"VirtualRouterData"}
  1558        },
  1559        "payload":"virtualRouter"
  1560      },
  1561      "DescribeVirtualServiceInput":{
  1562        "type":"structure",
  1563        "required":[
  1564          "meshName",
  1565          "virtualServiceName"
  1566        ],
  1567        "members":{
  1568          "meshName":{
  1569            "shape":"ResourceName",
  1570            "location":"uri",
  1571            "locationName":"meshName"
  1572          },
  1573          "meshOwner":{
  1574            "shape":"AccountId",
  1575            "location":"querystring",
  1576            "locationName":"meshOwner"
  1577          },
  1578          "virtualServiceName":{
  1579            "shape":"ServiceName",
  1580            "location":"uri",
  1581            "locationName":"virtualServiceName"
  1582          }
  1583        }
  1584      },
  1585      "DescribeVirtualServiceOutput":{
  1586        "type":"structure",
  1587        "required":["virtualService"],
  1588        "members":{
  1589          "virtualService":{"shape":"VirtualServiceData"}
  1590        },
  1591        "payload":"virtualService"
  1592      },
  1593      "DnsResponseType":{
  1594        "type":"string",
  1595        "enum":[
  1596          "LOADBALANCER",
  1597          "ENDPOINTS"
  1598        ]
  1599      },
  1600      "DnsServiceDiscovery":{
  1601        "type":"structure",
  1602        "required":["hostname"],
  1603        "members":{
  1604          "hostname":{"shape":"Hostname"},
  1605          "responseType":{"shape":"DnsResponseType"}
  1606        }
  1607      },
  1608      "Duration":{
  1609        "type":"structure",
  1610        "members":{
  1611          "unit":{"shape":"DurationUnit"},
  1612          "value":{"shape":"DurationValue"}
  1613        }
  1614      },
  1615      "DurationUnit":{
  1616        "type":"string",
  1617        "enum":[
  1618          "s",
  1619          "ms"
  1620        ]
  1621      },
  1622      "DurationValue":{
  1623        "type":"long",
  1624        "box":true,
  1625        "min":0
  1626      },
  1627      "EgressFilter":{
  1628        "type":"structure",
  1629        "required":["type"],
  1630        "members":{
  1631          "type":{"shape":"EgressFilterType"}
  1632        }
  1633      },
  1634      "EgressFilterType":{
  1635        "type":"string",
  1636        "enum":[
  1637          "ALLOW_ALL",
  1638          "DROP_ALL"
  1639        ]
  1640      },
  1641      "ExactHostName":{
  1642        "type":"string",
  1643        "max":253,
  1644        "min":1
  1645      },
  1646      "FileAccessLog":{
  1647        "type":"structure",
  1648        "required":["path"],
  1649        "members":{
  1650          "path":{"shape":"FilePath"}
  1651        }
  1652      },
  1653      "FilePath":{
  1654        "type":"string",
  1655        "max":255,
  1656        "min":1
  1657      },
  1658      "ForbiddenException":{
  1659        "type":"structure",
  1660        "members":{
  1661          "message":{"shape":"String"}
  1662        },
  1663        "error":{
  1664          "httpStatusCode":403,
  1665          "senderFault":true
  1666        },
  1667        "exception":true
  1668      },
  1669      "GatewayRouteData":{
  1670        "type":"structure",
  1671        "required":[
  1672          "gatewayRouteName",
  1673          "meshName",
  1674          "metadata",
  1675          "spec",
  1676          "status",
  1677          "virtualGatewayName"
  1678        ],
  1679        "members":{
  1680          "gatewayRouteName":{"shape":"ResourceName"},
  1681          "meshName":{"shape":"ResourceName"},
  1682          "metadata":{"shape":"ResourceMetadata"},
  1683          "spec":{"shape":"GatewayRouteSpec"},
  1684          "status":{"shape":"GatewayRouteStatus"},
  1685          "virtualGatewayName":{"shape":"ResourceName"}
  1686        }
  1687      },
  1688      "GatewayRouteHostnameMatch":{
  1689        "type":"structure",
  1690        "members":{
  1691          "exact":{"shape":"ExactHostName"},
  1692          "suffix":{"shape":"SuffixHostname"}
  1693        }
  1694      },
  1695      "GatewayRouteHostnameRewrite":{
  1696        "type":"structure",
  1697        "members":{
  1698          "defaultTargetHostname":{"shape":"DefaultGatewayRouteRewrite"}
  1699        }
  1700      },
  1701      "GatewayRouteList":{
  1702        "type":"list",
  1703        "member":{"shape":"GatewayRouteRef"}
  1704      },
  1705      "GatewayRoutePriority":{
  1706        "type":"integer",
  1707        "box":true,
  1708        "max":1000,
  1709        "min":0
  1710      },
  1711      "GatewayRouteRef":{
  1712        "type":"structure",
  1713        "required":[
  1714          "arn",
  1715          "createdAt",
  1716          "gatewayRouteName",
  1717          "lastUpdatedAt",
  1718          "meshName",
  1719          "meshOwner",
  1720          "resourceOwner",
  1721          "version",
  1722          "virtualGatewayName"
  1723        ],
  1724        "members":{
  1725          "arn":{"shape":"Arn"},
  1726          "createdAt":{"shape":"Timestamp"},
  1727          "gatewayRouteName":{"shape":"ResourceName"},
  1728          "lastUpdatedAt":{"shape":"Timestamp"},
  1729          "meshName":{"shape":"ResourceName"},
  1730          "meshOwner":{"shape":"AccountId"},
  1731          "resourceOwner":{"shape":"AccountId"},
  1732          "version":{"shape":"Long"},
  1733          "virtualGatewayName":{"shape":"ResourceName"}
  1734        }
  1735      },
  1736      "GatewayRouteSpec":{
  1737        "type":"structure",
  1738        "members":{
  1739          "grpcRoute":{"shape":"GrpcGatewayRoute"},
  1740          "http2Route":{"shape":"HttpGatewayRoute"},
  1741          "httpRoute":{"shape":"HttpGatewayRoute"},
  1742          "priority":{"shape":"GatewayRoutePriority"}
  1743        }
  1744      },
  1745      "GatewayRouteStatus":{
  1746        "type":"structure",
  1747        "required":["status"],
  1748        "members":{
  1749          "status":{"shape":"GatewayRouteStatusCode"}
  1750        }
  1751      },
  1752      "GatewayRouteStatusCode":{
  1753        "type":"string",
  1754        "enum":[
  1755          "ACTIVE",
  1756          "INACTIVE",
  1757          "DELETED"
  1758        ]
  1759      },
  1760      "GatewayRouteTarget":{
  1761        "type":"structure",
  1762        "required":["virtualService"],
  1763        "members":{
  1764          "virtualService":{"shape":"GatewayRouteVirtualService"}
  1765        }
  1766      },
  1767      "GatewayRouteVirtualService":{
  1768        "type":"structure",
  1769        "required":["virtualServiceName"],
  1770        "members":{
  1771          "virtualServiceName":{"shape":"ResourceName"}
  1772        }
  1773      },
  1774      "GrpcGatewayRoute":{
  1775        "type":"structure",
  1776        "required":[
  1777          "action",
  1778          "match"
  1779        ],
  1780        "members":{
  1781          "action":{"shape":"GrpcGatewayRouteAction"},
  1782          "match":{"shape":"GrpcGatewayRouteMatch"}
  1783        }
  1784      },
  1785      "GrpcGatewayRouteAction":{
  1786        "type":"structure",
  1787        "required":["target"],
  1788        "members":{
  1789          "rewrite":{"shape":"GrpcGatewayRouteRewrite"},
  1790          "target":{"shape":"GatewayRouteTarget"}
  1791        }
  1792      },
  1793      "GrpcGatewayRouteMatch":{
  1794        "type":"structure",
  1795        "members":{
  1796          "hostname":{"shape":"GatewayRouteHostnameMatch"},
  1797          "metadata":{"shape":"GrpcGatewayRouteMetadataList"},
  1798          "serviceName":{"shape":"ServiceName"}
  1799        }
  1800      },
  1801      "GrpcGatewayRouteMetadata":{
  1802        "type":"structure",
  1803        "required":["name"],
  1804        "members":{
  1805          "invert":{"shape":"Boolean"},
  1806          "match":{"shape":"GrpcMetadataMatchMethod"},
  1807          "name":{"shape":"HeaderName"}
  1808        }
  1809      },
  1810      "GrpcGatewayRouteMetadataList":{
  1811        "type":"list",
  1812        "member":{"shape":"GrpcGatewayRouteMetadata"},
  1813        "max":10,
  1814        "min":1
  1815      },
  1816      "GrpcGatewayRouteRewrite":{
  1817        "type":"structure",
  1818        "members":{
  1819          "hostname":{"shape":"GatewayRouteHostnameRewrite"}
  1820        }
  1821      },
  1822      "GrpcMetadataMatchMethod":{
  1823        "type":"structure",
  1824        "members":{
  1825          "exact":{"shape":"HeaderMatch"},
  1826          "prefix":{"shape":"HeaderMatch"},
  1827          "range":{"shape":"MatchRange"},
  1828          "regex":{"shape":"HeaderMatch"},
  1829          "suffix":{"shape":"HeaderMatch"}
  1830        },
  1831        "union":true
  1832      },
  1833      "GrpcRetryPolicy":{
  1834        "type":"structure",
  1835        "required":[
  1836          "maxRetries",
  1837          "perRetryTimeout"
  1838        ],
  1839        "members":{
  1840          "grpcRetryEvents":{"shape":"GrpcRetryPolicyEvents"},
  1841          "httpRetryEvents":{"shape":"HttpRetryPolicyEvents"},
  1842          "maxRetries":{"shape":"MaxRetries"},
  1843          "perRetryTimeout":{"shape":"Duration"},
  1844          "tcpRetryEvents":{"shape":"TcpRetryPolicyEvents"}
  1845        }
  1846      },
  1847      "GrpcRetryPolicyEvent":{
  1848        "type":"string",
  1849        "enum":[
  1850          "cancelled",
  1851          "deadline-exceeded",
  1852          "internal",
  1853          "resource-exhausted",
  1854          "unavailable"
  1855        ]
  1856      },
  1857      "GrpcRetryPolicyEvents":{
  1858        "type":"list",
  1859        "member":{"shape":"GrpcRetryPolicyEvent"},
  1860        "max":5,
  1861        "min":1
  1862      },
  1863      "GrpcRoute":{
  1864        "type":"structure",
  1865        "required":[
  1866          "action",
  1867          "match"
  1868        ],
  1869        "members":{
  1870          "action":{"shape":"GrpcRouteAction"},
  1871          "match":{"shape":"GrpcRouteMatch"},
  1872          "retryPolicy":{"shape":"GrpcRetryPolicy"},
  1873          "timeout":{"shape":"GrpcTimeout"}
  1874        }
  1875      },
  1876      "GrpcRouteAction":{
  1877        "type":"structure",
  1878        "required":["weightedTargets"],
  1879        "members":{
  1880          "weightedTargets":{"shape":"WeightedTargets"}
  1881        }
  1882      },
  1883      "GrpcRouteMatch":{
  1884        "type":"structure",
  1885        "members":{
  1886          "metadata":{"shape":"GrpcRouteMetadataList"},
  1887          "methodName":{"shape":"MethodName"},
  1888          "serviceName":{"shape":"ServiceName"}
  1889        }
  1890      },
  1891      "GrpcRouteMetadata":{
  1892        "type":"structure",
  1893        "required":["name"],
  1894        "members":{
  1895          "invert":{"shape":"Boolean"},
  1896          "match":{"shape":"GrpcRouteMetadataMatchMethod"},
  1897          "name":{"shape":"HeaderName"}
  1898        }
  1899      },
  1900      "GrpcRouteMetadataList":{
  1901        "type":"list",
  1902        "member":{"shape":"GrpcRouteMetadata"},
  1903        "max":10,
  1904        "min":1
  1905      },
  1906      "GrpcRouteMetadataMatchMethod":{
  1907        "type":"structure",
  1908        "members":{
  1909          "exact":{"shape":"HeaderMatch"},
  1910          "prefix":{"shape":"HeaderMatch"},
  1911          "range":{"shape":"MatchRange"},
  1912          "regex":{"shape":"HeaderMatch"},
  1913          "suffix":{"shape":"HeaderMatch"}
  1914        },
  1915        "union":true
  1916      },
  1917      "GrpcTimeout":{
  1918        "type":"structure",
  1919        "members":{
  1920          "idle":{"shape":"Duration"},
  1921          "perRequest":{"shape":"Duration"}
  1922        }
  1923      },
  1924      "HeaderMatch":{
  1925        "type":"string",
  1926        "max":255,
  1927        "min":1
  1928      },
  1929      "HeaderMatchMethod":{
  1930        "type":"structure",
  1931        "members":{
  1932          "exact":{"shape":"HeaderMatch"},
  1933          "prefix":{"shape":"HeaderMatch"},
  1934          "range":{"shape":"MatchRange"},
  1935          "regex":{"shape":"HeaderMatch"},
  1936          "suffix":{"shape":"HeaderMatch"}
  1937        },
  1938        "union":true
  1939      },
  1940      "HeaderName":{
  1941        "type":"string",
  1942        "max":50,
  1943        "min":1
  1944      },
  1945      "HealthCheckIntervalMillis":{
  1946        "type":"long",
  1947        "box":true,
  1948        "max":300000,
  1949        "min":5000
  1950      },
  1951      "HealthCheckPolicy":{
  1952        "type":"structure",
  1953        "required":[
  1954          "healthyThreshold",
  1955          "intervalMillis",
  1956          "protocol",
  1957          "timeoutMillis",
  1958          "unhealthyThreshold"
  1959        ],
  1960        "members":{
  1961          "healthyThreshold":{"shape":"HealthCheckThreshold"},
  1962          "intervalMillis":{"shape":"HealthCheckIntervalMillis"},
  1963          "path":{"shape":"String"},
  1964          "port":{"shape":"PortNumber"},
  1965          "protocol":{"shape":"PortProtocol"},
  1966          "timeoutMillis":{"shape":"HealthCheckTimeoutMillis"},
  1967          "unhealthyThreshold":{"shape":"HealthCheckThreshold"}
  1968        }
  1969      },
  1970      "HealthCheckThreshold":{
  1971        "type":"integer",
  1972        "max":10,
  1973        "min":2
  1974      },
  1975      "HealthCheckTimeoutMillis":{
  1976        "type":"long",
  1977        "box":true,
  1978        "max":60000,
  1979        "min":2000
  1980      },
  1981      "Hostname":{"type":"string"},
  1982      "HttpGatewayRoute":{
  1983        "type":"structure",
  1984        "required":[
  1985          "action",
  1986          "match"
  1987        ],
  1988        "members":{
  1989          "action":{"shape":"HttpGatewayRouteAction"},
  1990          "match":{"shape":"HttpGatewayRouteMatch"}
  1991        }
  1992      },
  1993      "HttpGatewayRouteAction":{
  1994        "type":"structure",
  1995        "required":["target"],
  1996        "members":{
  1997          "rewrite":{"shape":"HttpGatewayRouteRewrite"},
  1998          "target":{"shape":"GatewayRouteTarget"}
  1999        }
  2000      },
  2001      "HttpGatewayRouteHeader":{
  2002        "type":"structure",
  2003        "required":["name"],
  2004        "members":{
  2005          "invert":{"shape":"Boolean"},
  2006          "match":{"shape":"HeaderMatchMethod"},
  2007          "name":{"shape":"HeaderName"}
  2008        }
  2009      },
  2010      "HttpGatewayRouteHeaders":{
  2011        "type":"list",
  2012        "member":{"shape":"HttpGatewayRouteHeader"},
  2013        "max":10,
  2014        "min":1
  2015      },
  2016      "HttpGatewayRouteMatch":{
  2017        "type":"structure",
  2018        "members":{
  2019          "headers":{"shape":"HttpGatewayRouteHeaders"},
  2020          "hostname":{"shape":"GatewayRouteHostnameMatch"},
  2021          "method":{"shape":"HttpMethod"},
  2022          "path":{"shape":"HttpPathMatch"},
  2023          "prefix":{"shape":"String"},
  2024          "queryParameters":{"shape":"HttpQueryParameters"}
  2025        }
  2026      },
  2027      "HttpGatewayRoutePathRewrite":{
  2028        "type":"structure",
  2029        "members":{
  2030          "exact":{"shape":"HttpPathExact"}
  2031        }
  2032      },
  2033      "HttpGatewayRoutePrefix":{
  2034        "type":"string",
  2035        "max":255,
  2036        "min":1
  2037      },
  2038      "HttpGatewayRoutePrefixRewrite":{
  2039        "type":"structure",
  2040        "members":{
  2041          "defaultPrefix":{"shape":"DefaultGatewayRouteRewrite"},
  2042          "value":{"shape":"HttpGatewayRoutePrefix"}
  2043        }
  2044      },
  2045      "HttpGatewayRouteRewrite":{
  2046        "type":"structure",
  2047        "members":{
  2048          "hostname":{"shape":"GatewayRouteHostnameRewrite"},
  2049          "path":{"shape":"HttpGatewayRoutePathRewrite"},
  2050          "prefix":{"shape":"HttpGatewayRoutePrefixRewrite"}
  2051        }
  2052      },
  2053      "HttpMethod":{
  2054        "type":"string",
  2055        "enum":[
  2056          "GET",
  2057          "HEAD",
  2058          "POST",
  2059          "PUT",
  2060          "DELETE",
  2061          "CONNECT",
  2062          "OPTIONS",
  2063          "TRACE",
  2064          "PATCH"
  2065        ]
  2066      },
  2067      "HttpPathExact":{
  2068        "type":"string",
  2069        "max":255,
  2070        "min":1
  2071      },
  2072      "HttpPathMatch":{
  2073        "type":"structure",
  2074        "members":{
  2075          "exact":{"shape":"HttpPathExact"},
  2076          "regex":{"shape":"HttpPathRegex"}
  2077        }
  2078      },
  2079      "HttpPathRegex":{
  2080        "type":"string",
  2081        "max":255,
  2082        "min":1
  2083      },
  2084      "HttpQueryParameter":{
  2085        "type":"structure",
  2086        "required":["name"],
  2087        "members":{
  2088          "match":{"shape":"QueryParameterMatch"},
  2089          "name":{"shape":"QueryParameterName"}
  2090        }
  2091      },
  2092      "HttpQueryParameters":{
  2093        "type":"list",
  2094        "member":{"shape":"HttpQueryParameter"},
  2095        "max":10,
  2096        "min":1
  2097      },
  2098      "HttpRetryPolicy":{
  2099        "type":"structure",
  2100        "required":[
  2101          "maxRetries",
  2102          "perRetryTimeout"
  2103        ],
  2104        "members":{
  2105          "httpRetryEvents":{"shape":"HttpRetryPolicyEvents"},
  2106          "maxRetries":{"shape":"MaxRetries"},
  2107          "perRetryTimeout":{"shape":"Duration"},
  2108          "tcpRetryEvents":{"shape":"TcpRetryPolicyEvents"}
  2109        }
  2110      },
  2111      "HttpRetryPolicyEvent":{
  2112        "type":"string",
  2113        "max":25,
  2114        "min":1
  2115      },
  2116      "HttpRetryPolicyEvents":{
  2117        "type":"list",
  2118        "member":{"shape":"HttpRetryPolicyEvent"},
  2119        "max":25,
  2120        "min":1
  2121      },
  2122      "HttpRoute":{
  2123        "type":"structure",
  2124        "required":[
  2125          "action",
  2126          "match"
  2127        ],
  2128        "members":{
  2129          "action":{"shape":"HttpRouteAction"},
  2130          "match":{"shape":"HttpRouteMatch"},
  2131          "retryPolicy":{"shape":"HttpRetryPolicy"},
  2132          "timeout":{"shape":"HttpTimeout"}
  2133        }
  2134      },
  2135      "HttpRouteAction":{
  2136        "type":"structure",
  2137        "required":["weightedTargets"],
  2138        "members":{
  2139          "weightedTargets":{"shape":"WeightedTargets"}
  2140        }
  2141      },
  2142      "HttpRouteHeader":{
  2143        "type":"structure",
  2144        "required":["name"],
  2145        "members":{
  2146          "invert":{"shape":"Boolean"},
  2147          "match":{"shape":"HeaderMatchMethod"},
  2148          "name":{"shape":"HeaderName"}
  2149        }
  2150      },
  2151      "HttpRouteHeaders":{
  2152        "type":"list",
  2153        "member":{"shape":"HttpRouteHeader"},
  2154        "max":10,
  2155        "min":1
  2156      },
  2157      "HttpRouteMatch":{
  2158        "type":"structure",
  2159        "members":{
  2160          "headers":{"shape":"HttpRouteHeaders"},
  2161          "method":{"shape":"HttpMethod"},
  2162          "path":{"shape":"HttpPathMatch"},
  2163          "prefix":{"shape":"String"},
  2164          "queryParameters":{"shape":"HttpQueryParameters"},
  2165          "scheme":{"shape":"HttpScheme"}
  2166        }
  2167      },
  2168      "HttpScheme":{
  2169        "type":"string",
  2170        "enum":[
  2171          "http",
  2172          "https"
  2173        ]
  2174      },
  2175      "HttpTimeout":{
  2176        "type":"structure",
  2177        "members":{
  2178          "idle":{"shape":"Duration"},
  2179          "perRequest":{"shape":"Duration"}
  2180        }
  2181      },
  2182      "InternalServerErrorException":{
  2183        "type":"structure",
  2184        "members":{
  2185          "message":{"shape":"String"}
  2186        },
  2187        "error":{"httpStatusCode":500},
  2188        "exception":true,
  2189        "fault":true,
  2190        "retryable":{"throttling":false}
  2191      },
  2192      "LimitExceededException":{
  2193        "type":"structure",
  2194        "members":{
  2195          "message":{"shape":"String"}
  2196        },
  2197        "error":{
  2198          "httpStatusCode":400,
  2199          "senderFault":true
  2200        },
  2201        "exception":true
  2202      },
  2203      "ListGatewayRoutesInput":{
  2204        "type":"structure",
  2205        "required":[
  2206          "meshName",
  2207          "virtualGatewayName"
  2208        ],
  2209        "members":{
  2210          "limit":{
  2211            "shape":"ListGatewayRoutesLimit",
  2212            "location":"querystring",
  2213            "locationName":"limit"
  2214          },
  2215          "meshName":{
  2216            "shape":"ResourceName",
  2217            "location":"uri",
  2218            "locationName":"meshName"
  2219          },
  2220          "meshOwner":{
  2221            "shape":"AccountId",
  2222            "location":"querystring",
  2223            "locationName":"meshOwner"
  2224          },
  2225          "nextToken":{
  2226            "shape":"String",
  2227            "location":"querystring",
  2228            "locationName":"nextToken"
  2229          },
  2230          "virtualGatewayName":{
  2231            "shape":"ResourceName",
  2232            "location":"uri",
  2233            "locationName":"virtualGatewayName"
  2234          }
  2235        }
  2236      },
  2237      "ListGatewayRoutesLimit":{
  2238        "type":"integer",
  2239        "box":true,
  2240        "max":100,
  2241        "min":1
  2242      },
  2243      "ListGatewayRoutesOutput":{
  2244        "type":"structure",
  2245        "required":["gatewayRoutes"],
  2246        "members":{
  2247          "gatewayRoutes":{"shape":"GatewayRouteList"},
  2248          "nextToken":{"shape":"String"}
  2249        }
  2250      },
  2251      "ListMeshesInput":{
  2252        "type":"structure",
  2253        "members":{
  2254          "limit":{
  2255            "shape":"ListMeshesLimit",
  2256            "location":"querystring",
  2257            "locationName":"limit"
  2258          },
  2259          "nextToken":{
  2260            "shape":"String",
  2261            "location":"querystring",
  2262            "locationName":"nextToken"
  2263          }
  2264        }
  2265      },
  2266      "ListMeshesLimit":{
  2267        "type":"integer",
  2268        "box":true,
  2269        "max":100,
  2270        "min":1
  2271      },
  2272      "ListMeshesOutput":{
  2273        "type":"structure",
  2274        "required":["meshes"],
  2275        "members":{
  2276          "meshes":{"shape":"MeshList"},
  2277          "nextToken":{"shape":"String"}
  2278        }
  2279      },
  2280      "ListRoutesInput":{
  2281        "type":"structure",
  2282        "required":[
  2283          "meshName",
  2284          "virtualRouterName"
  2285        ],
  2286        "members":{
  2287          "limit":{
  2288            "shape":"ListRoutesLimit",
  2289            "location":"querystring",
  2290            "locationName":"limit"
  2291          },
  2292          "meshName":{
  2293            "shape":"ResourceName",
  2294            "location":"uri",
  2295            "locationName":"meshName"
  2296          },
  2297          "meshOwner":{
  2298            "shape":"AccountId",
  2299            "location":"querystring",
  2300            "locationName":"meshOwner"
  2301          },
  2302          "nextToken":{
  2303            "shape":"String",
  2304            "location":"querystring",
  2305            "locationName":"nextToken"
  2306          },
  2307          "virtualRouterName":{
  2308            "shape":"ResourceName",
  2309            "location":"uri",
  2310            "locationName":"virtualRouterName"
  2311          }
  2312        }
  2313      },
  2314      "ListRoutesLimit":{
  2315        "type":"integer",
  2316        "box":true,
  2317        "max":100,
  2318        "min":1
  2319      },
  2320      "ListRoutesOutput":{
  2321        "type":"structure",
  2322        "required":["routes"],
  2323        "members":{
  2324          "nextToken":{"shape":"String"},
  2325          "routes":{"shape":"RouteList"}
  2326        }
  2327      },
  2328      "ListTagsForResourceInput":{
  2329        "type":"structure",
  2330        "required":["resourceArn"],
  2331        "members":{
  2332          "limit":{
  2333            "shape":"TagsLimit",
  2334            "location":"querystring",
  2335            "locationName":"limit"
  2336          },
  2337          "nextToken":{
  2338            "shape":"String",
  2339            "location":"querystring",
  2340            "locationName":"nextToken"
  2341          },
  2342          "resourceArn":{
  2343            "shape":"Arn",
  2344            "location":"querystring",
  2345            "locationName":"resourceArn"
  2346          }
  2347        }
  2348      },
  2349      "ListTagsForResourceOutput":{
  2350        "type":"structure",
  2351        "required":["tags"],
  2352        "members":{
  2353          "nextToken":{"shape":"String"},
  2354          "tags":{"shape":"TagList"}
  2355        }
  2356      },
  2357      "ListVirtualGatewaysInput":{
  2358        "type":"structure",
  2359        "required":["meshName"],
  2360        "members":{
  2361          "limit":{
  2362            "shape":"ListVirtualGatewaysLimit",
  2363            "location":"querystring",
  2364            "locationName":"limit"
  2365          },
  2366          "meshName":{
  2367            "shape":"ResourceName",
  2368            "location":"uri",
  2369            "locationName":"meshName"
  2370          },
  2371          "meshOwner":{
  2372            "shape":"AccountId",
  2373            "location":"querystring",
  2374            "locationName":"meshOwner"
  2375          },
  2376          "nextToken":{
  2377            "shape":"String",
  2378            "location":"querystring",
  2379            "locationName":"nextToken"
  2380          }
  2381        }
  2382      },
  2383      "ListVirtualGatewaysLimit":{
  2384        "type":"integer",
  2385        "box":true,
  2386        "max":100,
  2387        "min":1
  2388      },
  2389      "ListVirtualGatewaysOutput":{
  2390        "type":"structure",
  2391        "required":["virtualGateways"],
  2392        "members":{
  2393          "nextToken":{"shape":"String"},
  2394          "virtualGateways":{"shape":"VirtualGatewayList"}
  2395        }
  2396      },
  2397      "ListVirtualNodesInput":{
  2398        "type":"structure",
  2399        "required":["meshName"],
  2400        "members":{
  2401          "limit":{
  2402            "shape":"ListVirtualNodesLimit",
  2403            "location":"querystring",
  2404            "locationName":"limit"
  2405          },
  2406          "meshName":{
  2407            "shape":"ResourceName",
  2408            "location":"uri",
  2409            "locationName":"meshName"
  2410          },
  2411          "meshOwner":{
  2412            "shape":"AccountId",
  2413            "location":"querystring",
  2414            "locationName":"meshOwner"
  2415          },
  2416          "nextToken":{
  2417            "shape":"String",
  2418            "location":"querystring",
  2419            "locationName":"nextToken"
  2420          }
  2421        }
  2422      },
  2423      "ListVirtualNodesLimit":{
  2424        "type":"integer",
  2425        "box":true,
  2426        "max":100,
  2427        "min":1
  2428      },
  2429      "ListVirtualNodesOutput":{
  2430        "type":"structure",
  2431        "required":["virtualNodes"],
  2432        "members":{
  2433          "nextToken":{"shape":"String"},
  2434          "virtualNodes":{"shape":"VirtualNodeList"}
  2435        }
  2436      },
  2437      "ListVirtualRoutersInput":{
  2438        "type":"structure",
  2439        "required":["meshName"],
  2440        "members":{
  2441          "limit":{
  2442            "shape":"ListVirtualRoutersLimit",
  2443            "location":"querystring",
  2444            "locationName":"limit"
  2445          },
  2446          "meshName":{
  2447            "shape":"ResourceName",
  2448            "location":"uri",
  2449            "locationName":"meshName"
  2450          },
  2451          "meshOwner":{
  2452            "shape":"AccountId",
  2453            "location":"querystring",
  2454            "locationName":"meshOwner"
  2455          },
  2456          "nextToken":{
  2457            "shape":"String",
  2458            "location":"querystring",
  2459            "locationName":"nextToken"
  2460          }
  2461        }
  2462      },
  2463      "ListVirtualRoutersLimit":{
  2464        "type":"integer",
  2465        "box":true,
  2466        "max":100,
  2467        "min":1
  2468      },
  2469      "ListVirtualRoutersOutput":{
  2470        "type":"structure",
  2471        "required":["virtualRouters"],
  2472        "members":{
  2473          "nextToken":{"shape":"String"},
  2474          "virtualRouters":{"shape":"VirtualRouterList"}
  2475        }
  2476      },
  2477      "ListVirtualServicesInput":{
  2478        "type":"structure",
  2479        "required":["meshName"],
  2480        "members":{
  2481          "limit":{
  2482            "shape":"ListVirtualServicesLimit",
  2483            "location":"querystring",
  2484            "locationName":"limit"
  2485          },
  2486          "meshName":{
  2487            "shape":"ResourceName",
  2488            "location":"uri",
  2489            "locationName":"meshName"
  2490          },
  2491          "meshOwner":{
  2492            "shape":"AccountId",
  2493            "location":"querystring",
  2494            "locationName":"meshOwner"
  2495          },
  2496          "nextToken":{
  2497            "shape":"String",
  2498            "location":"querystring",
  2499            "locationName":"nextToken"
  2500          }
  2501        }
  2502      },
  2503      "ListVirtualServicesLimit":{
  2504        "type":"integer",
  2505        "box":true,
  2506        "max":100,
  2507        "min":1
  2508      },
  2509      "ListVirtualServicesOutput":{
  2510        "type":"structure",
  2511        "required":["virtualServices"],
  2512        "members":{
  2513          "nextToken":{"shape":"String"},
  2514          "virtualServices":{"shape":"VirtualServiceList"}
  2515        }
  2516      },
  2517      "Listener":{
  2518        "type":"structure",
  2519        "required":["portMapping"],
  2520        "members":{
  2521          "connectionPool":{"shape":"VirtualNodeConnectionPool"},
  2522          "healthCheck":{"shape":"HealthCheckPolicy"},
  2523          "outlierDetection":{"shape":"OutlierDetection"},
  2524          "portMapping":{"shape":"PortMapping"},
  2525          "timeout":{"shape":"ListenerTimeout"},
  2526          "tls":{"shape":"ListenerTls"}
  2527        }
  2528      },
  2529      "ListenerTimeout":{
  2530        "type":"structure",
  2531        "members":{
  2532          "grpc":{"shape":"GrpcTimeout"},
  2533          "http":{"shape":"HttpTimeout"},
  2534          "http2":{"shape":"HttpTimeout"},
  2535          "tcp":{"shape":"TcpTimeout"}
  2536        },
  2537        "union":true
  2538      },
  2539      "ListenerTls":{
  2540        "type":"structure",
  2541        "required":[
  2542          "certificate",
  2543          "mode"
  2544        ],
  2545        "members":{
  2546          "certificate":{"shape":"ListenerTlsCertificate"},
  2547          "mode":{"shape":"ListenerTlsMode"},
  2548          "validation":{"shape":"ListenerTlsValidationContext"}
  2549        }
  2550      },
  2551      "ListenerTlsAcmCertificate":{
  2552        "type":"structure",
  2553        "required":["certificateArn"],
  2554        "members":{
  2555          "certificateArn":{"shape":"Arn"}
  2556        }
  2557      },
  2558      "ListenerTlsCertificate":{
  2559        "type":"structure",
  2560        "members":{
  2561          "acm":{"shape":"ListenerTlsAcmCertificate"},
  2562          "file":{"shape":"ListenerTlsFileCertificate"},
  2563          "sds":{"shape":"ListenerTlsSdsCertificate"}
  2564        },
  2565        "union":true
  2566      },
  2567      "ListenerTlsFileCertificate":{
  2568        "type":"structure",
  2569        "required":[
  2570          "certificateChain",
  2571          "privateKey"
  2572        ],
  2573        "members":{
  2574          "certificateChain":{"shape":"FilePath"},
  2575          "privateKey":{"shape":"FilePath"}
  2576        }
  2577      },
  2578      "ListenerTlsMode":{
  2579        "type":"string",
  2580        "enum":[
  2581          "STRICT",
  2582          "PERMISSIVE",
  2583          "DISABLED"
  2584        ]
  2585      },
  2586      "ListenerTlsSdsCertificate":{
  2587        "type":"structure",
  2588        "required":["secretName"],
  2589        "members":{
  2590          "secretName":{"shape":"SdsSecretName"}
  2591        }
  2592      },
  2593      "ListenerTlsValidationContext":{
  2594        "type":"structure",
  2595        "required":["trust"],
  2596        "members":{
  2597          "subjectAlternativeNames":{"shape":"SubjectAlternativeNames"},
  2598          "trust":{"shape":"ListenerTlsValidationContextTrust"}
  2599        }
  2600      },
  2601      "ListenerTlsValidationContextTrust":{
  2602        "type":"structure",
  2603        "members":{
  2604          "file":{"shape":"TlsValidationContextFileTrust"},
  2605          "sds":{"shape":"TlsValidationContextSdsTrust"}
  2606        },
  2607        "union":true
  2608      },
  2609      "Listeners":{
  2610        "type":"list",
  2611        "member":{"shape":"Listener"},
  2612        "max":1,
  2613        "min":0
  2614      },
  2615      "Logging":{
  2616        "type":"structure",
  2617        "members":{
  2618          "accessLog":{"shape":"AccessLog"}
  2619        }
  2620      },
  2621      "Long":{
  2622        "type":"long",
  2623        "box":true
  2624      },
  2625      "MatchRange":{
  2626        "type":"structure",
  2627        "required":[
  2628          "end",
  2629          "start"
  2630        ],
  2631        "members":{
  2632          "end":{"shape":"Long"},
  2633          "start":{"shape":"Long"}
  2634        }
  2635      },
  2636      "MaxConnections":{
  2637        "type":"integer",
  2638        "min":1
  2639      },
  2640      "MaxPendingRequests":{
  2641        "type":"integer",
  2642        "min":1
  2643      },
  2644      "MaxRequests":{
  2645        "type":"integer",
  2646        "min":1
  2647      },
  2648      "MaxRetries":{
  2649        "type":"long",
  2650        "box":true,
  2651        "min":0
  2652      },
  2653      "MeshData":{
  2654        "type":"structure",
  2655        "required":[
  2656          "meshName",
  2657          "metadata",
  2658          "spec",
  2659          "status"
  2660        ],
  2661        "members":{
  2662          "meshName":{"shape":"ResourceName"},
  2663          "metadata":{"shape":"ResourceMetadata"},
  2664          "spec":{"shape":"MeshSpec"},
  2665          "status":{"shape":"MeshStatus"}
  2666        }
  2667      },
  2668      "MeshList":{
  2669        "type":"list",
  2670        "member":{"shape":"MeshRef"}
  2671      },
  2672      "MeshRef":{
  2673        "type":"structure",
  2674        "required":[
  2675          "arn",
  2676          "createdAt",
  2677          "lastUpdatedAt",
  2678          "meshName",
  2679          "meshOwner",
  2680          "resourceOwner",
  2681          "version"
  2682        ],
  2683        "members":{
  2684          "arn":{"shape":"Arn"},
  2685          "createdAt":{"shape":"Timestamp"},
  2686          "lastUpdatedAt":{"shape":"Timestamp"},
  2687          "meshName":{"shape":"ResourceName"},
  2688          "meshOwner":{"shape":"AccountId"},
  2689          "resourceOwner":{"shape":"AccountId"},
  2690          "version":{"shape":"Long"}
  2691        }
  2692      },
  2693      "MeshSpec":{
  2694        "type":"structure",
  2695        "members":{
  2696          "egressFilter":{"shape":"EgressFilter"}
  2697        }
  2698      },
  2699      "MeshStatus":{
  2700        "type":"structure",
  2701        "members":{
  2702          "status":{"shape":"MeshStatusCode"}
  2703        }
  2704      },
  2705      "MeshStatusCode":{
  2706        "type":"string",
  2707        "enum":[
  2708          "ACTIVE",
  2709          "INACTIVE",
  2710          "DELETED"
  2711        ]
  2712      },
  2713      "MethodName":{
  2714        "type":"string",
  2715        "max":50,
  2716        "min":1
  2717      },
  2718      "NotFoundException":{
  2719        "type":"structure",
  2720        "members":{
  2721          "message":{"shape":"String"}
  2722        },
  2723        "error":{
  2724          "httpStatusCode":404,
  2725          "senderFault":true
  2726        },
  2727        "exception":true
  2728      },
  2729      "OutlierDetection":{
  2730        "type":"structure",
  2731        "required":[
  2732          "baseEjectionDuration",
  2733          "interval",
  2734          "maxEjectionPercent",
  2735          "maxServerErrors"
  2736        ],
  2737        "members":{
  2738          "baseEjectionDuration":{"shape":"Duration"},
  2739          "interval":{"shape":"Duration"},
  2740          "maxEjectionPercent":{"shape":"OutlierDetectionMaxEjectionPercent"},
  2741          "maxServerErrors":{"shape":"OutlierDetectionMaxServerErrors"}
  2742        }
  2743      },
  2744      "OutlierDetectionMaxEjectionPercent":{
  2745        "type":"integer",
  2746        "box":true,
  2747        "max":100,
  2748        "min":0
  2749      },
  2750      "OutlierDetectionMaxServerErrors":{
  2751        "type":"long",
  2752        "box":true,
  2753        "min":1
  2754      },
  2755      "PercentInt":{
  2756        "type":"integer",
  2757        "max":100,
  2758        "min":0
  2759      },
  2760      "PortMapping":{
  2761        "type":"structure",
  2762        "required":[
  2763          "port",
  2764          "protocol"
  2765        ],
  2766        "members":{
  2767          "port":{"shape":"PortNumber"},
  2768          "protocol":{"shape":"PortProtocol"}
  2769        }
  2770      },
  2771      "PortNumber":{
  2772        "type":"integer",
  2773        "max":65535,
  2774        "min":1
  2775      },
  2776      "PortProtocol":{
  2777        "type":"string",
  2778        "enum":[
  2779          "http",
  2780          "tcp",
  2781          "http2",
  2782          "grpc"
  2783        ]
  2784      },
  2785      "PortSet":{
  2786        "type":"list",
  2787        "member":{"shape":"PortNumber"}
  2788      },
  2789      "QueryParameterMatch":{
  2790        "type":"structure",
  2791        "members":{
  2792          "exact":{"shape":"String"}
  2793        }
  2794      },
  2795      "QueryParameterName":{"type":"string"},
  2796      "ResourceInUseException":{
  2797        "type":"structure",
  2798        "members":{
  2799          "message":{"shape":"String"}
  2800        },
  2801        "error":{
  2802          "httpStatusCode":409,
  2803          "senderFault":true
  2804        },
  2805        "exception":true
  2806      },
  2807      "ResourceMetadata":{
  2808        "type":"structure",
  2809        "required":[
  2810          "arn",
  2811          "createdAt",
  2812          "lastUpdatedAt",
  2813          "meshOwner",
  2814          "resourceOwner",
  2815          "uid",
  2816          "version"
  2817        ],
  2818        "members":{
  2819          "arn":{"shape":"Arn"},
  2820          "createdAt":{"shape":"Timestamp"},
  2821          "lastUpdatedAt":{"shape":"Timestamp"},
  2822          "meshOwner":{"shape":"AccountId"},
  2823          "resourceOwner":{"shape":"AccountId"},
  2824          "uid":{"shape":"String"},
  2825          "version":{"shape":"Long"}
  2826        }
  2827      },
  2828      "ResourceName":{
  2829        "type":"string",
  2830        "max":255,
  2831        "min":1
  2832      },
  2833      "RouteData":{
  2834        "type":"structure",
  2835        "required":[
  2836          "meshName",
  2837          "metadata",
  2838          "routeName",
  2839          "spec",
  2840          "status",
  2841          "virtualRouterName"
  2842        ],
  2843        "members":{
  2844          "meshName":{"shape":"ResourceName"},
  2845          "metadata":{"shape":"ResourceMetadata"},
  2846          "routeName":{"shape":"ResourceName"},
  2847          "spec":{"shape":"RouteSpec"},
  2848          "status":{"shape":"RouteStatus"},
  2849          "virtualRouterName":{"shape":"ResourceName"}
  2850        }
  2851      },
  2852      "RouteList":{
  2853        "type":"list",
  2854        "member":{"shape":"RouteRef"}
  2855      },
  2856      "RoutePriority":{
  2857        "type":"integer",
  2858        "box":true,
  2859        "max":1000,
  2860        "min":0
  2861      },
  2862      "RouteRef":{
  2863        "type":"structure",
  2864        "required":[
  2865          "arn",
  2866          "createdAt",
  2867          "lastUpdatedAt",
  2868          "meshName",
  2869          "meshOwner",
  2870          "resourceOwner",
  2871          "routeName",
  2872          "version",
  2873          "virtualRouterName"
  2874        ],
  2875        "members":{
  2876          "arn":{"shape":"Arn"},
  2877          "createdAt":{"shape":"Timestamp"},
  2878          "lastUpdatedAt":{"shape":"Timestamp"},
  2879          "meshName":{"shape":"ResourceName"},
  2880          "meshOwner":{"shape":"AccountId"},
  2881          "resourceOwner":{"shape":"AccountId"},
  2882          "routeName":{"shape":"ResourceName"},
  2883          "version":{"shape":"Long"},
  2884          "virtualRouterName":{"shape":"ResourceName"}
  2885        }
  2886      },
  2887      "RouteSpec":{
  2888        "type":"structure",
  2889        "members":{
  2890          "grpcRoute":{"shape":"GrpcRoute"},
  2891          "http2Route":{"shape":"HttpRoute"},
  2892          "httpRoute":{"shape":"HttpRoute"},
  2893          "priority":{"shape":"RoutePriority"},
  2894          "tcpRoute":{"shape":"TcpRoute"}
  2895        }
  2896      },
  2897      "RouteStatus":{
  2898        "type":"structure",
  2899        "required":["status"],
  2900        "members":{
  2901          "status":{"shape":"RouteStatusCode"}
  2902        }
  2903      },
  2904      "RouteStatusCode":{
  2905        "type":"string",
  2906        "enum":[
  2907          "ACTIVE",
  2908          "INACTIVE",
  2909          "DELETED"
  2910        ]
  2911      },
  2912      "SdsSecretName":{"type":"string"},
  2913      "ServiceDiscovery":{
  2914        "type":"structure",
  2915        "members":{
  2916          "awsCloudMap":{"shape":"AwsCloudMapServiceDiscovery"},
  2917          "dns":{"shape":"DnsServiceDiscovery"}
  2918        },
  2919        "union":true
  2920      },
  2921      "ServiceName":{"type":"string"},
  2922      "ServiceUnavailableException":{
  2923        "type":"structure",
  2924        "members":{
  2925          "message":{"shape":"String"}
  2926        },
  2927        "error":{"httpStatusCode":503},
  2928        "exception":true,
  2929        "fault":true,
  2930        "retryable":{"throttling":false}
  2931      },
  2932      "String":{"type":"string"},
  2933      "SubjectAlternativeName":{
  2934        "type":"string",
  2935        "max":254,
  2936        "min":1
  2937      },
  2938      "SubjectAlternativeNameList":{
  2939        "type":"list",
  2940        "member":{"shape":"SubjectAlternativeName"}
  2941      },
  2942      "SubjectAlternativeNameMatchers":{
  2943        "type":"structure",
  2944        "required":["exact"],
  2945        "members":{
  2946          "exact":{"shape":"SubjectAlternativeNameList"}
  2947        }
  2948      },
  2949      "SubjectAlternativeNames":{
  2950        "type":"structure",
  2951        "required":["match"],
  2952        "members":{
  2953          "match":{"shape":"SubjectAlternativeNameMatchers"}
  2954        }
  2955      },
  2956      "SuffixHostname":{
  2957        "type":"string",
  2958        "max":253,
  2959        "min":1
  2960      },
  2961      "TagKey":{
  2962        "type":"string",
  2963        "max":128,
  2964        "min":1
  2965      },
  2966      "TagKeyList":{
  2967        "type":"list",
  2968        "member":{"shape":"TagKey"},
  2969        "max":50,
  2970        "min":0
  2971      },
  2972      "TagList":{
  2973        "type":"list",
  2974        "member":{"shape":"TagRef"},
  2975        "max":50,
  2976        "min":0
  2977      },
  2978      "TagRef":{
  2979        "type":"structure",
  2980        "required":[
  2981          "key",
  2982          "value"
  2983        ],
  2984        "members":{
  2985          "key":{"shape":"TagKey"},
  2986          "value":{"shape":"TagValue"}
  2987        }
  2988      },
  2989      "TagResourceInput":{
  2990        "type":"structure",
  2991        "required":[
  2992          "resourceArn",
  2993          "tags"
  2994        ],
  2995        "members":{
  2996          "resourceArn":{
  2997            "shape":"Arn",
  2998            "location":"querystring",
  2999            "locationName":"resourceArn"
  3000          },
  3001          "tags":{"shape":"TagList"}
  3002        }
  3003      },
  3004      "TagResourceOutput":{
  3005        "type":"structure",
  3006        "members":{
  3007        }
  3008      },
  3009      "TagValue":{
  3010        "type":"string",
  3011        "max":256,
  3012        "min":0
  3013      },
  3014      "TagsLimit":{
  3015        "type":"integer",
  3016        "box":true,
  3017        "max":50,
  3018        "min":1
  3019      },
  3020      "TcpRetryPolicyEvent":{
  3021        "type":"string",
  3022        "enum":["connection-error"]
  3023      },
  3024      "TcpRetryPolicyEvents":{
  3025        "type":"list",
  3026        "member":{"shape":"TcpRetryPolicyEvent"},
  3027        "max":1,
  3028        "min":1
  3029      },
  3030      "TcpRoute":{
  3031        "type":"structure",
  3032        "required":["action"],
  3033        "members":{
  3034          "action":{"shape":"TcpRouteAction"},
  3035          "timeout":{"shape":"TcpTimeout"}
  3036        }
  3037      },
  3038      "TcpRouteAction":{
  3039        "type":"structure",
  3040        "required":["weightedTargets"],
  3041        "members":{
  3042          "weightedTargets":{"shape":"WeightedTargets"}
  3043        }
  3044      },
  3045      "TcpTimeout":{
  3046        "type":"structure",
  3047        "members":{
  3048          "idle":{"shape":"Duration"}
  3049        }
  3050      },
  3051      "Timestamp":{"type":"timestamp"},
  3052      "TlsValidationContext":{
  3053        "type":"structure",
  3054        "required":["trust"],
  3055        "members":{
  3056          "subjectAlternativeNames":{"shape":"SubjectAlternativeNames"},
  3057          "trust":{"shape":"TlsValidationContextTrust"}
  3058        }
  3059      },
  3060      "TlsValidationContextAcmTrust":{
  3061        "type":"structure",
  3062        "required":["certificateAuthorityArns"],
  3063        "members":{
  3064          "certificateAuthorityArns":{"shape":"CertificateAuthorityArns"}
  3065        }
  3066      },
  3067      "TlsValidationContextFileTrust":{
  3068        "type":"structure",
  3069        "required":["certificateChain"],
  3070        "members":{
  3071          "certificateChain":{"shape":"FilePath"}
  3072        }
  3073      },
  3074      "TlsValidationContextSdsTrust":{
  3075        "type":"structure",
  3076        "required":["secretName"],
  3077        "members":{
  3078          "secretName":{"shape":"SdsSecretName"}
  3079        }
  3080      },
  3081      "TlsValidationContextTrust":{
  3082        "type":"structure",
  3083        "members":{
  3084          "acm":{"shape":"TlsValidationContextAcmTrust"},
  3085          "file":{"shape":"TlsValidationContextFileTrust"},
  3086          "sds":{"shape":"TlsValidationContextSdsTrust"}
  3087        },
  3088        "union":true
  3089      },
  3090      "TooManyRequestsException":{
  3091        "type":"structure",
  3092        "members":{
  3093          "message":{"shape":"String"}
  3094        },
  3095        "error":{
  3096          "httpStatusCode":429,
  3097          "senderFault":true
  3098        },
  3099        "exception":true,
  3100        "retryable":{"throttling":true}
  3101      },
  3102      "TooManyTagsException":{
  3103        "type":"structure",
  3104        "members":{
  3105          "message":{"shape":"String"}
  3106        },
  3107        "error":{
  3108          "httpStatusCode":400,
  3109          "senderFault":true
  3110        },
  3111        "exception":true
  3112      },
  3113      "UntagResourceInput":{
  3114        "type":"structure",
  3115        "required":[
  3116          "resourceArn",
  3117          "tagKeys"
  3118        ],
  3119        "members":{
  3120          "resourceArn":{
  3121            "shape":"Arn",
  3122            "location":"querystring",
  3123            "locationName":"resourceArn"
  3124          },
  3125          "tagKeys":{"shape":"TagKeyList"}
  3126        }
  3127      },
  3128      "UntagResourceOutput":{
  3129        "type":"structure",
  3130        "members":{
  3131        }
  3132      },
  3133      "UpdateGatewayRouteInput":{
  3134        "type":"structure",
  3135        "required":[
  3136          "gatewayRouteName",
  3137          "meshName",
  3138          "spec",
  3139          "virtualGatewayName"
  3140        ],
  3141        "members":{
  3142          "clientToken":{
  3143            "shape":"String",
  3144            "idempotencyToken":true
  3145          },
  3146          "gatewayRouteName":{
  3147            "shape":"ResourceName",
  3148            "location":"uri",
  3149            "locationName":"gatewayRouteName"
  3150          },
  3151          "meshName":{
  3152            "shape":"ResourceName",
  3153            "location":"uri",
  3154            "locationName":"meshName"
  3155          },
  3156          "meshOwner":{
  3157            "shape":"AccountId",
  3158            "location":"querystring",
  3159            "locationName":"meshOwner"
  3160          },
  3161          "spec":{"shape":"GatewayRouteSpec"},
  3162          "virtualGatewayName":{
  3163            "shape":"ResourceName",
  3164            "location":"uri",
  3165            "locationName":"virtualGatewayName"
  3166          }
  3167        }
  3168      },
  3169      "UpdateGatewayRouteOutput":{
  3170        "type":"structure",
  3171        "required":["gatewayRoute"],
  3172        "members":{
  3173          "gatewayRoute":{"shape":"GatewayRouteData"}
  3174        },
  3175        "payload":"gatewayRoute"
  3176      },
  3177      "UpdateMeshInput":{
  3178        "type":"structure",
  3179        "required":["meshName"],
  3180        "members":{
  3181          "clientToken":{
  3182            "shape":"String",
  3183            "idempotencyToken":true
  3184          },
  3185          "meshName":{
  3186            "shape":"ResourceName",
  3187            "location":"uri",
  3188            "locationName":"meshName"
  3189          },
  3190          "spec":{"shape":"MeshSpec"}
  3191        }
  3192      },
  3193      "UpdateMeshOutput":{
  3194        "type":"structure",
  3195        "required":["mesh"],
  3196        "members":{
  3197          "mesh":{"shape":"MeshData"}
  3198        },
  3199        "payload":"mesh"
  3200      },
  3201      "UpdateRouteInput":{
  3202        "type":"structure",
  3203        "required":[
  3204          "meshName",
  3205          "routeName",
  3206          "spec",
  3207          "virtualRouterName"
  3208        ],
  3209        "members":{
  3210          "clientToken":{
  3211            "shape":"String",
  3212            "idempotencyToken":true
  3213          },
  3214          "meshName":{
  3215            "shape":"ResourceName",
  3216            "location":"uri",
  3217            "locationName":"meshName"
  3218          },
  3219          "meshOwner":{
  3220            "shape":"AccountId",
  3221            "location":"querystring",
  3222            "locationName":"meshOwner"
  3223          },
  3224          "routeName":{
  3225            "shape":"ResourceName",
  3226            "location":"uri",
  3227            "locationName":"routeName"
  3228          },
  3229          "spec":{"shape":"RouteSpec"},
  3230          "virtualRouterName":{
  3231            "shape":"ResourceName",
  3232            "location":"uri",
  3233            "locationName":"virtualRouterName"
  3234          }
  3235        }
  3236      },
  3237      "UpdateRouteOutput":{
  3238        "type":"structure",
  3239        "required":["route"],
  3240        "members":{
  3241          "route":{"shape":"RouteData"}
  3242        },
  3243        "payload":"route"
  3244      },
  3245      "UpdateVirtualGatewayInput":{
  3246        "type":"structure",
  3247        "required":[
  3248          "meshName",
  3249          "spec",
  3250          "virtualGatewayName"
  3251        ],
  3252        "members":{
  3253          "clientToken":{
  3254            "shape":"String",
  3255            "idempotencyToken":true
  3256          },
  3257          "meshName":{
  3258            "shape":"ResourceName",
  3259            "location":"uri",
  3260            "locationName":"meshName"
  3261          },
  3262          "meshOwner":{
  3263            "shape":"AccountId",
  3264            "location":"querystring",
  3265            "locationName":"meshOwner"
  3266          },
  3267          "spec":{"shape":"VirtualGatewaySpec"},
  3268          "virtualGatewayName":{
  3269            "shape":"ResourceName",
  3270            "location":"uri",
  3271            "locationName":"virtualGatewayName"
  3272          }
  3273        }
  3274      },
  3275      "UpdateVirtualGatewayOutput":{
  3276        "type":"structure",
  3277        "required":["virtualGateway"],
  3278        "members":{
  3279          "virtualGateway":{"shape":"VirtualGatewayData"}
  3280        },
  3281        "payload":"virtualGateway"
  3282      },
  3283      "UpdateVirtualNodeInput":{
  3284        "type":"structure",
  3285        "required":[
  3286          "meshName",
  3287          "spec",
  3288          "virtualNodeName"
  3289        ],
  3290        "members":{
  3291          "clientToken":{
  3292            "shape":"String",
  3293            "idempotencyToken":true
  3294          },
  3295          "meshName":{
  3296            "shape":"ResourceName",
  3297            "location":"uri",
  3298            "locationName":"meshName"
  3299          },
  3300          "meshOwner":{
  3301            "shape":"AccountId",
  3302            "location":"querystring",
  3303            "locationName":"meshOwner"
  3304          },
  3305          "spec":{"shape":"VirtualNodeSpec"},
  3306          "virtualNodeName":{
  3307            "shape":"ResourceName",
  3308            "location":"uri",
  3309            "locationName":"virtualNodeName"
  3310          }
  3311        }
  3312      },
  3313      "UpdateVirtualNodeOutput":{
  3314        "type":"structure",
  3315        "required":["virtualNode"],
  3316        "members":{
  3317          "virtualNode":{"shape":"VirtualNodeData"}
  3318        },
  3319        "payload":"virtualNode"
  3320      },
  3321      "UpdateVirtualRouterInput":{
  3322        "type":"structure",
  3323        "required":[
  3324          "meshName",
  3325          "spec",
  3326          "virtualRouterName"
  3327        ],
  3328        "members":{
  3329          "clientToken":{
  3330            "shape":"String",
  3331            "idempotencyToken":true
  3332          },
  3333          "meshName":{
  3334            "shape":"ResourceName",
  3335            "location":"uri",
  3336            "locationName":"meshName"
  3337          },
  3338          "meshOwner":{
  3339            "shape":"AccountId",
  3340            "location":"querystring",
  3341            "locationName":"meshOwner"
  3342          },
  3343          "spec":{"shape":"VirtualRouterSpec"},
  3344          "virtualRouterName":{
  3345            "shape":"ResourceName",
  3346            "location":"uri",
  3347            "locationName":"virtualRouterName"
  3348          }
  3349        }
  3350      },
  3351      "UpdateVirtualRouterOutput":{
  3352        "type":"structure",
  3353        "required":["virtualRouter"],
  3354        "members":{
  3355          "virtualRouter":{"shape":"VirtualRouterData"}
  3356        },
  3357        "payload":"virtualRouter"
  3358      },
  3359      "UpdateVirtualServiceInput":{
  3360        "type":"structure",
  3361        "required":[
  3362          "meshName",
  3363          "spec",
  3364          "virtualServiceName"
  3365        ],
  3366        "members":{
  3367          "clientToken":{
  3368            "shape":"String",
  3369            "idempotencyToken":true
  3370          },
  3371          "meshName":{
  3372            "shape":"ResourceName",
  3373            "location":"uri",
  3374            "locationName":"meshName"
  3375          },
  3376          "meshOwner":{
  3377            "shape":"AccountId",
  3378            "location":"querystring",
  3379            "locationName":"meshOwner"
  3380          },
  3381          "spec":{"shape":"VirtualServiceSpec"},
  3382          "virtualServiceName":{
  3383            "shape":"ServiceName",
  3384            "location":"uri",
  3385            "locationName":"virtualServiceName"
  3386          }
  3387        }
  3388      },
  3389      "UpdateVirtualServiceOutput":{
  3390        "type":"structure",
  3391        "required":["virtualService"],
  3392        "members":{
  3393          "virtualService":{"shape":"VirtualServiceData"}
  3394        },
  3395        "payload":"virtualService"
  3396      },
  3397      "VirtualGatewayAccessLog":{
  3398        "type":"structure",
  3399        "members":{
  3400          "file":{"shape":"VirtualGatewayFileAccessLog"}
  3401        },
  3402        "union":true
  3403      },
  3404      "VirtualGatewayBackendDefaults":{
  3405        "type":"structure",
  3406        "members":{
  3407          "clientPolicy":{"shape":"VirtualGatewayClientPolicy"}
  3408        }
  3409      },
  3410      "VirtualGatewayCertificateAuthorityArns":{
  3411        "type":"list",
  3412        "member":{"shape":"Arn"},
  3413        "max":3,
  3414        "min":1
  3415      },
  3416      "VirtualGatewayClientPolicy":{
  3417        "type":"structure",
  3418        "members":{
  3419          "tls":{"shape":"VirtualGatewayClientPolicyTls"}
  3420        }
  3421      },
  3422      "VirtualGatewayClientPolicyTls":{
  3423        "type":"structure",
  3424        "required":["validation"],
  3425        "members":{
  3426          "certificate":{"shape":"VirtualGatewayClientTlsCertificate"},
  3427          "enforce":{
  3428            "shape":"Boolean",
  3429            "box":true
  3430          },
  3431          "ports":{"shape":"PortSet"},
  3432          "validation":{"shape":"VirtualGatewayTlsValidationContext"}
  3433        }
  3434      },
  3435      "VirtualGatewayClientTlsCertificate":{
  3436        "type":"structure",
  3437        "members":{
  3438          "file":{"shape":"VirtualGatewayListenerTlsFileCertificate"},
  3439          "sds":{"shape":"VirtualGatewayListenerTlsSdsCertificate"}
  3440        },
  3441        "union":true
  3442      },
  3443      "VirtualGatewayConnectionPool":{
  3444        "type":"structure",
  3445        "members":{
  3446          "grpc":{"shape":"VirtualGatewayGrpcConnectionPool"},
  3447          "http":{"shape":"VirtualGatewayHttpConnectionPool"},
  3448          "http2":{"shape":"VirtualGatewayHttp2ConnectionPool"}
  3449        },
  3450        "union":true
  3451      },
  3452      "VirtualGatewayData":{
  3453        "type":"structure",
  3454        "required":[
  3455          "meshName",
  3456          "metadata",
  3457          "spec",
  3458          "status",
  3459          "virtualGatewayName"
  3460        ],
  3461        "members":{
  3462          "meshName":{"shape":"ResourceName"},
  3463          "metadata":{"shape":"ResourceMetadata"},
  3464          "spec":{"shape":"VirtualGatewaySpec"},
  3465          "status":{"shape":"VirtualGatewayStatus"},
  3466          "virtualGatewayName":{"shape":"ResourceName"}
  3467        }
  3468      },
  3469      "VirtualGatewayFileAccessLog":{
  3470        "type":"structure",
  3471        "required":["path"],
  3472        "members":{
  3473          "path":{"shape":"FilePath"}
  3474        }
  3475      },
  3476      "VirtualGatewayGrpcConnectionPool":{
  3477        "type":"structure",
  3478        "required":["maxRequests"],
  3479        "members":{
  3480          "maxRequests":{"shape":"MaxRequests"}
  3481        }
  3482      },
  3483      "VirtualGatewayHealthCheckIntervalMillis":{
  3484        "type":"long",
  3485        "box":true,
  3486        "max":300000,
  3487        "min":5000
  3488      },
  3489      "VirtualGatewayHealthCheckPolicy":{
  3490        "type":"structure",
  3491        "required":[
  3492          "healthyThreshold",
  3493          "intervalMillis",
  3494          "protocol",
  3495          "timeoutMillis",
  3496          "unhealthyThreshold"
  3497        ],
  3498        "members":{
  3499          "healthyThreshold":{"shape":"VirtualGatewayHealthCheckThreshold"},
  3500          "intervalMillis":{"shape":"VirtualGatewayHealthCheckIntervalMillis"},
  3501          "path":{"shape":"String"},
  3502          "port":{"shape":"PortNumber"},
  3503          "protocol":{"shape":"VirtualGatewayPortProtocol"},
  3504          "timeoutMillis":{"shape":"VirtualGatewayHealthCheckTimeoutMillis"},
  3505          "unhealthyThreshold":{"shape":"VirtualGatewayHealthCheckThreshold"}
  3506        }
  3507      },
  3508      "VirtualGatewayHealthCheckThreshold":{
  3509        "type":"integer",
  3510        "max":10,
  3511        "min":2
  3512      },
  3513      "VirtualGatewayHealthCheckTimeoutMillis":{
  3514        "type":"long",
  3515        "box":true,
  3516        "max":60000,
  3517        "min":2000
  3518      },
  3519      "VirtualGatewayHttp2ConnectionPool":{
  3520        "type":"structure",
  3521        "required":["maxRequests"],
  3522        "members":{
  3523          "maxRequests":{"shape":"MaxRequests"}
  3524        }
  3525      },
  3526      "VirtualGatewayHttpConnectionPool":{
  3527        "type":"structure",
  3528        "required":["maxConnections"],
  3529        "members":{
  3530          "maxConnections":{"shape":"MaxConnections"},
  3531          "maxPendingRequests":{
  3532            "shape":"MaxPendingRequests",
  3533            "box":true
  3534          }
  3535        }
  3536      },
  3537      "VirtualGatewayList":{
  3538        "type":"list",
  3539        "member":{"shape":"VirtualGatewayRef"}
  3540      },
  3541      "VirtualGatewayListener":{
  3542        "type":"structure",
  3543        "required":["portMapping"],
  3544        "members":{
  3545          "connectionPool":{"shape":"VirtualGatewayConnectionPool"},
  3546          "healthCheck":{"shape":"VirtualGatewayHealthCheckPolicy"},
  3547          "portMapping":{"shape":"VirtualGatewayPortMapping"},
  3548          "tls":{"shape":"VirtualGatewayListenerTls"}
  3549        }
  3550      },
  3551      "VirtualGatewayListenerTls":{
  3552        "type":"structure",
  3553        "required":[
  3554          "certificate",
  3555          "mode"
  3556        ],
  3557        "members":{
  3558          "certificate":{"shape":"VirtualGatewayListenerTlsCertificate"},
  3559          "mode":{"shape":"VirtualGatewayListenerTlsMode"},
  3560          "validation":{"shape":"VirtualGatewayListenerTlsValidationContext"}
  3561        }
  3562      },
  3563      "VirtualGatewayListenerTlsAcmCertificate":{
  3564        "type":"structure",
  3565        "required":["certificateArn"],
  3566        "members":{
  3567          "certificateArn":{"shape":"Arn"}
  3568        }
  3569      },
  3570      "VirtualGatewayListenerTlsCertificate":{
  3571        "type":"structure",
  3572        "members":{
  3573          "acm":{"shape":"VirtualGatewayListenerTlsAcmCertificate"},
  3574          "file":{"shape":"VirtualGatewayListenerTlsFileCertificate"},
  3575          "sds":{"shape":"VirtualGatewayListenerTlsSdsCertificate"}
  3576        },
  3577        "union":true
  3578      },
  3579      "VirtualGatewayListenerTlsFileCertificate":{
  3580        "type":"structure",
  3581        "required":[
  3582          "certificateChain",
  3583          "privateKey"
  3584        ],
  3585        "members":{
  3586          "certificateChain":{"shape":"FilePath"},
  3587          "privateKey":{"shape":"FilePath"}
  3588        }
  3589      },
  3590      "VirtualGatewayListenerTlsMode":{
  3591        "type":"string",
  3592        "enum":[
  3593          "STRICT",
  3594          "PERMISSIVE",
  3595          "DISABLED"
  3596        ]
  3597      },
  3598      "VirtualGatewayListenerTlsSdsCertificate":{
  3599        "type":"structure",
  3600        "required":["secretName"],
  3601        "members":{
  3602          "secretName":{"shape":"VirtualGatewaySdsSecretName"}
  3603        }
  3604      },
  3605      "VirtualGatewayListenerTlsValidationContext":{
  3606        "type":"structure",
  3607        "required":["trust"],
  3608        "members":{
  3609          "subjectAlternativeNames":{"shape":"SubjectAlternativeNames"},
  3610          "trust":{"shape":"VirtualGatewayListenerTlsValidationContextTrust"}
  3611        }
  3612      },
  3613      "VirtualGatewayListenerTlsValidationContextTrust":{
  3614        "type":"structure",
  3615        "members":{
  3616          "file":{"shape":"VirtualGatewayTlsValidationContextFileTrust"},
  3617          "sds":{"shape":"VirtualGatewayTlsValidationContextSdsTrust"}
  3618        },
  3619        "union":true
  3620      },
  3621      "VirtualGatewayListeners":{
  3622        "type":"list",
  3623        "member":{"shape":"VirtualGatewayListener"},
  3624        "max":1,
  3625        "min":0
  3626      },
  3627      "VirtualGatewayLogging":{
  3628        "type":"structure",
  3629        "members":{
  3630          "accessLog":{"shape":"VirtualGatewayAccessLog"}
  3631        }
  3632      },
  3633      "VirtualGatewayPortMapping":{
  3634        "type":"structure",
  3635        "required":[
  3636          "port",
  3637          "protocol"
  3638        ],
  3639        "members":{
  3640          "port":{"shape":"PortNumber"},
  3641          "protocol":{"shape":"VirtualGatewayPortProtocol"}
  3642        }
  3643      },
  3644      "VirtualGatewayPortProtocol":{
  3645        "type":"string",
  3646        "enum":[
  3647          "http",
  3648          "http2",
  3649          "grpc"
  3650        ]
  3651      },
  3652      "VirtualGatewayRef":{
  3653        "type":"structure",
  3654        "required":[
  3655          "arn",
  3656          "createdAt",
  3657          "lastUpdatedAt",
  3658          "meshName",
  3659          "meshOwner",
  3660          "resourceOwner",
  3661          "version",
  3662          "virtualGatewayName"
  3663        ],
  3664        "members":{
  3665          "arn":{"shape":"Arn"},
  3666          "createdAt":{"shape":"Timestamp"},
  3667          "lastUpdatedAt":{"shape":"Timestamp"},
  3668          "meshName":{"shape":"ResourceName"},
  3669          "meshOwner":{"shape":"AccountId"},
  3670          "resourceOwner":{"shape":"AccountId"},
  3671          "version":{"shape":"Long"},
  3672          "virtualGatewayName":{"shape":"ResourceName"}
  3673        }
  3674      },
  3675      "VirtualGatewaySdsSecretName":{"type":"string"},
  3676      "VirtualGatewaySpec":{
  3677        "type":"structure",
  3678        "required":["listeners"],
  3679        "members":{
  3680          "backendDefaults":{"shape":"VirtualGatewayBackendDefaults"},
  3681          "listeners":{"shape":"VirtualGatewayListeners"},
  3682          "logging":{"shape":"VirtualGatewayLogging"}
  3683        }
  3684      },
  3685      "VirtualGatewayStatus":{
  3686        "type":"structure",
  3687        "required":["status"],
  3688        "members":{
  3689          "status":{"shape":"VirtualGatewayStatusCode"}
  3690        }
  3691      },
  3692      "VirtualGatewayStatusCode":{
  3693        "type":"string",
  3694        "enum":[
  3695          "ACTIVE",
  3696          "INACTIVE",
  3697          "DELETED"
  3698        ]
  3699      },
  3700      "VirtualGatewayTlsValidationContext":{
  3701        "type":"structure",
  3702        "required":["trust"],
  3703        "members":{
  3704          "subjectAlternativeNames":{"shape":"SubjectAlternativeNames"},
  3705          "trust":{"shape":"VirtualGatewayTlsValidationContextTrust"}
  3706        }
  3707      },
  3708      "VirtualGatewayTlsValidationContextAcmTrust":{
  3709        "type":"structure",
  3710        "required":["certificateAuthorityArns"],
  3711        "members":{
  3712          "certificateAuthorityArns":{"shape":"VirtualGatewayCertificateAuthorityArns"}
  3713        }
  3714      },
  3715      "VirtualGatewayTlsValidationContextFileTrust":{
  3716        "type":"structure",
  3717        "required":["certificateChain"],
  3718        "members":{
  3719          "certificateChain":{"shape":"FilePath"}
  3720        }
  3721      },
  3722      "VirtualGatewayTlsValidationContextSdsTrust":{
  3723        "type":"structure",
  3724        "required":["secretName"],
  3725        "members":{
  3726          "secretName":{"shape":"VirtualGatewaySdsSecretName"}
  3727        }
  3728      },
  3729      "VirtualGatewayTlsValidationContextTrust":{
  3730        "type":"structure",
  3731        "members":{
  3732          "acm":{"shape":"VirtualGatewayTlsValidationContextAcmTrust"},
  3733          "file":{"shape":"VirtualGatewayTlsValidationContextFileTrust"},
  3734          "sds":{"shape":"VirtualGatewayTlsValidationContextSdsTrust"}
  3735        },
  3736        "union":true
  3737      },
  3738      "VirtualNodeConnectionPool":{
  3739        "type":"structure",
  3740        "members":{
  3741          "grpc":{"shape":"VirtualNodeGrpcConnectionPool"},
  3742          "http":{"shape":"VirtualNodeHttpConnectionPool"},
  3743          "http2":{"shape":"VirtualNodeHttp2ConnectionPool"},
  3744          "tcp":{"shape":"VirtualNodeTcpConnectionPool"}
  3745        },
  3746        "union":true
  3747      },
  3748      "VirtualNodeData":{
  3749        "type":"structure",
  3750        "required":[
  3751          "meshName",
  3752          "metadata",
  3753          "spec",
  3754          "status",
  3755          "virtualNodeName"
  3756        ],
  3757        "members":{
  3758          "meshName":{"shape":"ResourceName"},
  3759          "metadata":{"shape":"ResourceMetadata"},
  3760          "spec":{"shape":"VirtualNodeSpec"},
  3761          "status":{"shape":"VirtualNodeStatus"},
  3762          "virtualNodeName":{"shape":"ResourceName"}
  3763        }
  3764      },
  3765      "VirtualNodeGrpcConnectionPool":{
  3766        "type":"structure",
  3767        "required":["maxRequests"],
  3768        "members":{
  3769          "maxRequests":{"shape":"MaxRequests"}
  3770        }
  3771      },
  3772      "VirtualNodeHttp2ConnectionPool":{
  3773        "type":"structure",
  3774        "required":["maxRequests"],
  3775        "members":{
  3776          "maxRequests":{"shape":"MaxRequests"}
  3777        }
  3778      },
  3779      "VirtualNodeHttpConnectionPool":{
  3780        "type":"structure",
  3781        "required":["maxConnections"],
  3782        "members":{
  3783          "maxConnections":{"shape":"MaxConnections"},
  3784          "maxPendingRequests":{
  3785            "shape":"MaxPendingRequests",
  3786            "box":true
  3787          }
  3788        }
  3789      },
  3790      "VirtualNodeList":{
  3791        "type":"list",
  3792        "member":{"shape":"VirtualNodeRef"}
  3793      },
  3794      "VirtualNodeRef":{
  3795        "type":"structure",
  3796        "required":[
  3797          "arn",
  3798          "createdAt",
  3799          "lastUpdatedAt",
  3800          "meshName",
  3801          "meshOwner",
  3802          "resourceOwner",
  3803          "version",
  3804          "virtualNodeName"
  3805        ],
  3806        "members":{
  3807          "arn":{"shape":"Arn"},
  3808          "createdAt":{"shape":"Timestamp"},
  3809          "lastUpdatedAt":{"shape":"Timestamp"},
  3810          "meshName":{"shape":"ResourceName"},
  3811          "meshOwner":{"shape":"AccountId"},
  3812          "resourceOwner":{"shape":"AccountId"},
  3813          "version":{"shape":"Long"},
  3814          "virtualNodeName":{"shape":"ResourceName"}
  3815        }
  3816      },
  3817      "VirtualNodeServiceProvider":{
  3818        "type":"structure",
  3819        "required":["virtualNodeName"],
  3820        "members":{
  3821          "virtualNodeName":{"shape":"ResourceName"}
  3822        }
  3823      },
  3824      "VirtualNodeSpec":{
  3825        "type":"structure",
  3826        "members":{
  3827          "backendDefaults":{"shape":"BackendDefaults"},
  3828          "backends":{"shape":"Backends"},
  3829          "listeners":{"shape":"Listeners"},
  3830          "logging":{"shape":"Logging"},
  3831          "serviceDiscovery":{"shape":"ServiceDiscovery"}
  3832        }
  3833      },
  3834      "VirtualNodeStatus":{
  3835        "type":"structure",
  3836        "required":["status"],
  3837        "members":{
  3838          "status":{"shape":"VirtualNodeStatusCode"}
  3839        }
  3840      },
  3841      "VirtualNodeStatusCode":{
  3842        "type":"string",
  3843        "enum":[
  3844          "ACTIVE",
  3845          "INACTIVE",
  3846          "DELETED"
  3847        ]
  3848      },
  3849      "VirtualNodeTcpConnectionPool":{
  3850        "type":"structure",
  3851        "required":["maxConnections"],
  3852        "members":{
  3853          "maxConnections":{"shape":"MaxConnections"}
  3854        }
  3855      },
  3856      "VirtualRouterData":{
  3857        "type":"structure",
  3858        "required":[
  3859          "meshName",
  3860          "metadata",
  3861          "spec",
  3862          "status",
  3863          "virtualRouterName"
  3864        ],
  3865        "members":{
  3866          "meshName":{"shape":"ResourceName"},
  3867          "metadata":{"shape":"ResourceMetadata"},
  3868          "spec":{"shape":"VirtualRouterSpec"},
  3869          "status":{"shape":"VirtualRouterStatus"},
  3870          "virtualRouterName":{"shape":"ResourceName"}
  3871        }
  3872      },
  3873      "VirtualRouterList":{
  3874        "type":"list",
  3875        "member":{"shape":"VirtualRouterRef"}
  3876      },
  3877      "VirtualRouterListener":{
  3878        "type":"structure",
  3879        "required":["portMapping"],
  3880        "members":{
  3881          "portMapping":{"shape":"PortMapping"}
  3882        }
  3883      },
  3884      "VirtualRouterListeners":{
  3885        "type":"list",
  3886        "member":{"shape":"VirtualRouterListener"},
  3887        "max":1,
  3888        "min":1
  3889      },
  3890      "VirtualRouterRef":{
  3891        "type":"structure",
  3892        "required":[
  3893          "arn",
  3894          "createdAt",
  3895          "lastUpdatedAt",
  3896          "meshName",
  3897          "meshOwner",
  3898          "resourceOwner",
  3899          "version",
  3900          "virtualRouterName"
  3901        ],
  3902        "members":{
  3903          "arn":{"shape":"Arn"},
  3904          "createdAt":{"shape":"Timestamp"},
  3905          "lastUpdatedAt":{"shape":"Timestamp"},
  3906          "meshName":{"shape":"ResourceName"},
  3907          "meshOwner":{"shape":"AccountId"},
  3908          "resourceOwner":{"shape":"AccountId"},
  3909          "version":{"shape":"Long"},
  3910          "virtualRouterName":{"shape":"ResourceName"}
  3911        }
  3912      },
  3913      "VirtualRouterServiceProvider":{
  3914        "type":"structure",
  3915        "required":["virtualRouterName"],
  3916        "members":{
  3917          "virtualRouterName":{"shape":"ResourceName"}
  3918        }
  3919      },
  3920      "VirtualRouterSpec":{
  3921        "type":"structure",
  3922        "members":{
  3923          "listeners":{"shape":"VirtualRouterListeners"}
  3924        }
  3925      },
  3926      "VirtualRouterStatus":{
  3927        "type":"structure",
  3928        "required":["status"],
  3929        "members":{
  3930          "status":{"shape":"VirtualRouterStatusCode"}
  3931        }
  3932      },
  3933      "VirtualRouterStatusCode":{
  3934        "type":"string",
  3935        "enum":[
  3936          "ACTIVE",
  3937          "INACTIVE",
  3938          "DELETED"
  3939        ]
  3940      },
  3941      "VirtualServiceBackend":{
  3942        "type":"structure",
  3943        "required":["virtualServiceName"],
  3944        "members":{
  3945          "clientPolicy":{"shape":"ClientPolicy"},
  3946          "virtualServiceName":{"shape":"ServiceName"}
  3947        }
  3948      },
  3949      "VirtualServiceData":{
  3950        "type":"structure",
  3951        "required":[
  3952          "meshName",
  3953          "metadata",
  3954          "spec",
  3955          "status",
  3956          "virtualServiceName"
  3957        ],
  3958        "members":{
  3959          "meshName":{"shape":"ResourceName"},
  3960          "metadata":{"shape":"ResourceMetadata"},
  3961          "spec":{"shape":"VirtualServiceSpec"},
  3962          "status":{"shape":"VirtualServiceStatus"},
  3963          "virtualServiceName":{"shape":"ServiceName"}
  3964        }
  3965      },
  3966      "VirtualServiceList":{
  3967        "type":"list",
  3968        "member":{"shape":"VirtualServiceRef"}
  3969      },
  3970      "VirtualServiceProvider":{
  3971        "type":"structure",
  3972        "members":{
  3973          "virtualNode":{"shape":"VirtualNodeServiceProvider"},
  3974          "virtualRouter":{"shape":"VirtualRouterServiceProvider"}
  3975        },
  3976        "union":true
  3977      },
  3978      "VirtualServiceRef":{
  3979        "type":"structure",
  3980        "required":[
  3981          "arn",
  3982          "createdAt",
  3983          "lastUpdatedAt",
  3984          "meshName",
  3985          "meshOwner",
  3986          "resourceOwner",
  3987          "version",
  3988          "virtualServiceName"
  3989        ],
  3990        "members":{
  3991          "arn":{"shape":"Arn"},
  3992          "createdAt":{"shape":"Timestamp"},
  3993          "lastUpdatedAt":{"shape":"Timestamp"},
  3994          "meshName":{"shape":"ResourceName"},
  3995          "meshOwner":{"shape":"AccountId"},
  3996          "resourceOwner":{"shape":"AccountId"},
  3997          "version":{"shape":"Long"},
  3998          "virtualServiceName":{"shape":"ServiceName"}
  3999        }
  4000      },
  4001      "VirtualServiceSpec":{
  4002        "type":"structure",
  4003        "members":{
  4004          "provider":{"shape":"VirtualServiceProvider"}
  4005        }
  4006      },
  4007      "VirtualServiceStatus":{
  4008        "type":"structure",
  4009        "required":["status"],
  4010        "members":{
  4011          "status":{"shape":"VirtualServiceStatusCode"}
  4012        }
  4013      },
  4014      "VirtualServiceStatusCode":{
  4015        "type":"string",
  4016        "enum":[
  4017          "ACTIVE",
  4018          "INACTIVE",
  4019          "DELETED"
  4020        ]
  4021      },
  4022      "WeightedTarget":{
  4023        "type":"structure",
  4024        "required":[
  4025          "virtualNode",
  4026          "weight"
  4027        ],
  4028        "members":{
  4029          "virtualNode":{"shape":"ResourceName"},
  4030          "weight":{"shape":"PercentInt"}
  4031        }
  4032      },
  4033      "WeightedTargets":{
  4034        "type":"list",
  4035        "member":{"shape":"WeightedTarget"},
  4036        "max":10,
  4037        "min":1
  4038      }
  4039    }
  4040  }