💾 Archived View for gmi.noulin.net › gitRepositories › git-off › file › src › node_modules › aws-sdk… captured on 2024-09-29 at 00:43:31. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

git-off

Log

Files

Refs

README

aws-sdk.js (2479012B)

     1 // AWS SDK for JavaScript v2.7.7
     2 // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
     3 // License at https://sdk.amazonaws.com/js/BUNDLE_LICENSE.txt
     4 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
     5 module.exports={
     6   "version": "2.0",
     7   "metadata": {
     8     "apiVersion": "2015-12-08",
     9     "endpointPrefix": "acm",
    10     "jsonVersion": "1.1",
    11     "protocol": "json",
    12     "serviceAbbreviation": "ACM",
    13     "serviceFullName": "AWS Certificate Manager",
    14     "signatureVersion": "v4",
    15     "targetPrefix": "CertificateManager"
    16   },
    17   "operations": {
    18     "AddTagsToCertificate": {
    19       "input": {
    20         "type": "structure",
    21         "required": [
    22           "CertificateArn",
    23           "Tags"
    24         ],
    25         "members": {
    26           "CertificateArn": {},
    27           "Tags": {
    28             "shape": "S3"
    29           }
    30         }
    31       }
    32     },
    33     "DeleteCertificate": {
    34       "input": {
    35         "type": "structure",
    36         "required": [
    37           "CertificateArn"
    38         ],
    39         "members": {
    40           "CertificateArn": {}
    41         }
    42       }
    43     },
    44     "DescribeCertificate": {
    45       "input": {
    46         "type": "structure",
    47         "required": [
    48           "CertificateArn"
    49         ],
    50         "members": {
    51           "CertificateArn": {}
    52         }
    53       },
    54       "output": {
    55         "type": "structure",
    56         "members": {
    57           "Certificate": {
    58             "type": "structure",
    59             "members": {
    60               "CertificateArn": {},
    61               "DomainName": {},
    62               "SubjectAlternativeNames": {
    63                 "shape": "Sc"
    64               },
    65               "DomainValidationOptions": {
    66                 "type": "list",
    67                 "member": {
    68                   "type": "structure",
    69                   "required": [
    70                     "DomainName"
    71                   ],
    72                   "members": {
    73                     "DomainName": {},
    74                     "ValidationEmails": {
    75                       "type": "list",
    76                       "member": {}
    77                     },
    78                     "ValidationDomain": {}
    79                   }
    80                 }
    81               },
    82               "Serial": {},
    83               "Subject": {},
    84               "Issuer": {},
    85               "CreatedAt": {
    86                 "type": "timestamp"
    87               },
    88               "IssuedAt": {
    89                 "type": "timestamp"
    90               },
    91               "ImportedAt": {
    92                 "type": "timestamp"
    93               },
    94               "Status": {},
    95               "RevokedAt": {
    96                 "type": "timestamp"
    97               },
    98               "RevocationReason": {},
    99               "NotBefore": {
   100                 "type": "timestamp"
   101               },
   102               "NotAfter": {
   103                 "type": "timestamp"
   104               },
   105               "KeyAlgorithm": {},
   106               "SignatureAlgorithm": {},
   107               "InUseBy": {
   108                 "type": "list",
   109                 "member": {}
   110               },
   111               "FailureReason": {},
   112               "Type": {}
   113             }
   114           }
   115         }
   116       }
   117     },
   118     "GetCertificate": {
   119       "input": {
   120         "type": "structure",
   121         "required": [
   122           "CertificateArn"
   123         ],
   124         "members": {
   125           "CertificateArn": {}
   126         }
   127       },
   128       "output": {
   129         "type": "structure",
   130         "members": {
   131           "Certificate": {},
   132           "CertificateChain": {}
   133         }
   134       }
   135     },
   136     "ImportCertificate": {
   137       "input": {
   138         "type": "structure",
   139         "required": [
   140           "Certificate",
   141           "PrivateKey"
   142         ],
   143         "members": {
   144           "CertificateArn": {},
   145           "Certificate": {
   146             "type": "blob"
   147           },
   148           "PrivateKey": {
   149             "type": "blob",
   150             "sensitive": true
   151           },
   152           "CertificateChain": {
   153             "type": "blob"
   154           }
   155         }
   156       },
   157       "output": {
   158         "type": "structure",
   159         "members": {
   160           "CertificateArn": {}
   161         }
   162       }
   163     },
   164     "ListCertificates": {
   165       "input": {
   166         "type": "structure",
   167         "members": {
   168           "CertificateStatuses": {
   169             "type": "list",
   170             "member": {}
   171           },
   172           "NextToken": {},
   173           "MaxItems": {
   174             "type": "integer"
   175           }
   176         }
   177       },
   178       "output": {
   179         "type": "structure",
   180         "members": {
   181           "NextToken": {},
   182           "CertificateSummaryList": {
   183             "type": "list",
   184             "member": {
   185               "type": "structure",
   186               "members": {
   187                 "CertificateArn": {},
   188                 "DomainName": {}
   189               }
   190             }
   191           }
   192         }
   193       }
   194     },
   195     "ListTagsForCertificate": {
   196       "input": {
   197         "type": "structure",
   198         "required": [
   199           "CertificateArn"
   200         ],
   201         "members": {
   202           "CertificateArn": {}
   203         }
   204       },
   205       "output": {
   206         "type": "structure",
   207         "members": {
   208           "Tags": {
   209             "shape": "S3"
   210           }
   211         }
   212       }
   213     },
   214     "RemoveTagsFromCertificate": {
   215       "input": {
   216         "type": "structure",
   217         "required": [
   218           "CertificateArn",
   219           "Tags"
   220         ],
   221         "members": {
   222           "CertificateArn": {},
   223           "Tags": {
   224             "shape": "S3"
   225           }
   226         }
   227       }
   228     },
   229     "RequestCertificate": {
   230       "input": {
   231         "type": "structure",
   232         "required": [
   233           "DomainName"
   234         ],
   235         "members": {
   236           "DomainName": {},
   237           "SubjectAlternativeNames": {
   238             "shape": "Sc"
   239           },
   240           "IdempotencyToken": {},
   241           "DomainValidationOptions": {
   242             "type": "list",
   243             "member": {
   244               "type": "structure",
   245               "required": [
   246                 "DomainName",
   247                 "ValidationDomain"
   248               ],
   249               "members": {
   250                 "DomainName": {},
   251                 "ValidationDomain": {}
   252               }
   253             }
   254           }
   255         }
   256       },
   257       "output": {
   258         "type": "structure",
   259         "members": {
   260           "CertificateArn": {}
   261         }
   262       }
   263     },
   264     "ResendValidationEmail": {
   265       "input": {
   266         "type": "structure",
   267         "required": [
   268           "CertificateArn",
   269           "Domain",
   270           "ValidationDomain"
   271         ],
   272         "members": {
   273           "CertificateArn": {},
   274           "Domain": {},
   275           "ValidationDomain": {}
   276         }
   277       }
   278     }
   279   },
   280   "shapes": {
   281     "S3": {
   282       "type": "list",
   283       "member": {
   284         "type": "structure",
   285         "required": [
   286           "Key"
   287         ],
   288         "members": {
   289           "Key": {},
   290           "Value": {}
   291         }
   292       }
   293     },
   294     "Sc": {
   295       "type": "list",
   296       "member": {}
   297     }
   298   }
   299 }
   300 },{}],2:[function(require,module,exports){
   301 module.exports={
   302   "pagination": {
   303     "ListCertificates": {
   304       "limit_key": "MaxItems",
   305       "input_token": "NextToken",
   306       "output_token": "NextToken",
   307       "result_key": "CertificateSummaryList"
   308     }
   309   }
   310 }
   311 
   312 },{}],3:[function(require,module,exports){
   313 module.exports={
   314   "version": "2.0",
   315   "metadata": {
   316     "apiVersion": "2015-07-09",
   317     "endpointPrefix": "apigateway",
   318     "protocol": "rest-json",
   319     "serviceFullName": "Amazon API Gateway",
   320     "signatureVersion": "v4"
   321   },
   322   "operations": {
   323     "CreateApiKey": {
   324       "http": {
   325         "requestUri": "/apikeys",
   326         "responseCode": 201
   327       },
   328       "input": {
   329         "type": "structure",
   330         "members": {
   331           "name": {},
   332           "description": {},
   333           "enabled": {
   334             "type": "boolean"
   335           },
   336           "generateDistinctId": {
   337             "type": "boolean"
   338           },
   339           "value": {},
   340           "stageKeys": {
   341             "type": "list",
   342             "member": {
   343               "type": "structure",
   344               "members": {
   345                 "restApiId": {},
   346                 "stageName": {}
   347               }
   348             }
   349           }
   350         }
   351       },
   352       "output": {
   353         "shape": "S6"
   354       }
   355     },
   356     "CreateAuthorizer": {
   357       "http": {
   358         "requestUri": "/restapis/{restapi_id}/authorizers",
   359         "responseCode": 201
   360       },
   361       "input": {
   362         "type": "structure",
   363         "required": [
   364           "restApiId",
   365           "name",
   366           "type",
   367           "identitySource"
   368         ],
   369         "members": {
   370           "restApiId": {
   371             "location": "uri",
   372             "locationName": "restapi_id"
   373           },
   374           "name": {},
   375           "type": {},
   376           "providerARNs": {
   377             "shape": "Sb"
   378           },
   379           "authType": {},
   380           "authorizerUri": {},
   381           "authorizerCredentials": {},
   382           "identitySource": {},
   383           "identityValidationExpression": {},
   384           "authorizerResultTtlInSeconds": {
   385             "type": "integer"
   386           }
   387         }
   388       },
   389       "output": {
   390         "shape": "Se"
   391       }
   392     },
   393     "CreateBasePathMapping": {
   394       "http": {
   395         "requestUri": "/domainnames/{domain_name}/basepathmappings",
   396         "responseCode": 201
   397       },
   398       "input": {
   399         "type": "structure",
   400         "required": [
   401           "domainName",
   402           "restApiId"
   403         ],
   404         "members": {
   405           "domainName": {
   406             "location": "uri",
   407             "locationName": "domain_name"
   408           },
   409           "basePath": {},
   410           "restApiId": {},
   411           "stage": {}
   412         }
   413       },
   414       "output": {
   415         "shape": "Sg"
   416       }
   417     },
   418     "CreateDeployment": {
   419       "http": {
   420         "requestUri": "/restapis/{restapi_id}/deployments",
   421         "responseCode": 201
   422       },
   423       "input": {
   424         "type": "structure",
   425         "required": [
   426           "restApiId"
   427         ],
   428         "members": {
   429           "restApiId": {
   430             "location": "uri",
   431             "locationName": "restapi_id"
   432           },
   433           "stageName": {},
   434           "stageDescription": {},
   435           "description": {},
   436           "cacheClusterEnabled": {
   437             "type": "boolean"
   438           },
   439           "cacheClusterSize": {},
   440           "variables": {
   441             "shape": "Sk"
   442           }
   443         }
   444       },
   445       "output": {
   446         "shape": "Sl"
   447       }
   448     },
   449     "CreateDomainName": {
   450       "http": {
   451         "requestUri": "/domainnames",
   452         "responseCode": 201
   453       },
   454       "input": {
   455         "type": "structure",
   456         "required": [
   457           "domainName",
   458           "certificateName",
   459           "certificateBody",
   460           "certificatePrivateKey",
   461           "certificateChain"
   462         ],
   463         "members": {
   464           "domainName": {},
   465           "certificateName": {},
   466           "certificateBody": {},
   467           "certificatePrivateKey": {},
   468           "certificateChain": {}
   469         }
   470       },
   471       "output": {
   472         "shape": "Sq"
   473       }
   474     },
   475     "CreateModel": {
   476       "http": {
   477         "requestUri": "/restapis/{restapi_id}/models",
   478         "responseCode": 201
   479       },
   480       "input": {
   481         "type": "structure",
   482         "required": [
   483           "restApiId",
   484           "name",
   485           "contentType"
   486         ],
   487         "members": {
   488           "restApiId": {
   489             "location": "uri",
   490             "locationName": "restapi_id"
   491           },
   492           "name": {},
   493           "description": {},
   494           "schema": {},
   495           "contentType": {}
   496         }
   497       },
   498       "output": {
   499         "shape": "Ss"
   500       }
   501     },
   502     "CreateResource": {
   503       "http": {
   504         "requestUri": "/restapis/{restapi_id}/resources/{parent_id}",
   505         "responseCode": 201
   506       },
   507       "input": {
   508         "type": "structure",
   509         "required": [
   510           "restApiId",
   511           "parentId",
   512           "pathPart"
   513         ],
   514         "members": {
   515           "restApiId": {
   516             "location": "uri",
   517             "locationName": "restapi_id"
   518           },
   519           "parentId": {
   520             "location": "uri",
   521             "locationName": "parent_id"
   522           },
   523           "pathPart": {}
   524         }
   525       },
   526       "output": {
   527         "shape": "Su"
   528       }
   529     },
   530     "CreateRestApi": {
   531       "http": {
   532         "requestUri": "/restapis",
   533         "responseCode": 201
   534       },
   535       "input": {
   536         "type": "structure",
   537         "required": [
   538           "name"
   539         ],
   540         "members": {
   541           "name": {},
   542           "description": {},
   543           "cloneFrom": {},
   544           "binaryMediaTypes": {
   545             "shape": "S8"
   546           }
   547         }
   548       },
   549       "output": {
   550         "shape": "S17"
   551       }
   552     },
   553     "CreateStage": {
   554       "http": {
   555         "requestUri": "/restapis/{restapi_id}/stages",
   556         "responseCode": 201
   557       },
   558       "input": {
   559         "type": "structure",
   560         "required": [
   561           "restApiId",
   562           "stageName",
   563           "deploymentId"
   564         ],
   565         "members": {
   566           "restApiId": {
   567             "location": "uri",
   568             "locationName": "restapi_id"
   569           },
   570           "stageName": {},
   571           "deploymentId": {},
   572           "description": {},
   573           "cacheClusterEnabled": {
   574             "type": "boolean"
   575           },
   576           "cacheClusterSize": {},
   577           "variables": {
   578             "shape": "Sk"
   579           }
   580         }
   581       },
   582       "output": {
   583         "shape": "S19"
   584       }
   585     },
   586     "CreateUsagePlan": {
   587       "http": {
   588         "requestUri": "/usageplans",
   589         "responseCode": 201
   590       },
   591       "input": {
   592         "type": "structure",
   593         "required": [
   594           "name"
   595         ],
   596         "members": {
   597           "name": {},
   598           "description": {},
   599           "apiStages": {
   600             "shape": "S1h"
   601           },
   602           "throttle": {
   603             "shape": "S1j"
   604           },
   605           "quota": {
   606             "shape": "S1k"
   607           }
   608         }
   609       },
   610       "output": {
   611         "shape": "S1m"
   612       }
   613     },
   614     "CreateUsagePlanKey": {
   615       "http": {
   616         "requestUri": "/usageplans/{usageplanId}/keys",
   617         "responseCode": 201
   618       },
   619       "input": {
   620         "type": "structure",
   621         "required": [
   622           "usagePlanId",
   623           "keyId",
   624           "keyType"
   625         ],
   626         "members": {
   627           "usagePlanId": {
   628             "location": "uri",
   629             "locationName": "usageplanId"
   630           },
   631           "keyId": {},
   632           "keyType": {}
   633         }
   634       },
   635       "output": {
   636         "shape": "S1o"
   637       }
   638     },
   639     "DeleteApiKey": {
   640       "http": {
   641         "method": "DELETE",
   642         "requestUri": "/apikeys/{api_Key}",
   643         "responseCode": 202
   644       },
   645       "input": {
   646         "type": "structure",
   647         "required": [
   648           "apiKey"
   649         ],
   650         "members": {
   651           "apiKey": {
   652             "location": "uri",
   653             "locationName": "api_Key"
   654           }
   655         }
   656       }
   657     },
   658     "DeleteAuthorizer": {
   659       "http": {
   660         "method": "DELETE",
   661         "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}",
   662         "responseCode": 202
   663       },
   664       "input": {
   665         "type": "structure",
   666         "required": [
   667           "restApiId",
   668           "authorizerId"
   669         ],
   670         "members": {
   671           "restApiId": {
   672             "location": "uri",
   673             "locationName": "restapi_id"
   674           },
   675           "authorizerId": {
   676             "location": "uri",
   677             "locationName": "authorizer_id"
   678           }
   679         }
   680       }
   681     },
   682     "DeleteBasePathMapping": {
   683       "http": {
   684         "method": "DELETE",
   685         "requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}",
   686         "responseCode": 202
   687       },
   688       "input": {
   689         "type": "structure",
   690         "required": [
   691           "domainName",
   692           "basePath"
   693         ],
   694         "members": {
   695           "domainName": {
   696             "location": "uri",
   697             "locationName": "domain_name"
   698           },
   699           "basePath": {
   700             "location": "uri",
   701             "locationName": "base_path"
   702           }
   703         }
   704       }
   705     },
   706     "DeleteClientCertificate": {
   707       "http": {
   708         "method": "DELETE",
   709         "requestUri": "/clientcertificates/{clientcertificate_id}",
   710         "responseCode": 202
   711       },
   712       "input": {
   713         "type": "structure",
   714         "required": [
   715           "clientCertificateId"
   716         ],
   717         "members": {
   718           "clientCertificateId": {
   719             "location": "uri",
   720             "locationName": "clientcertificate_id"
   721           }
   722         }
   723       }
   724     },
   725     "DeleteDeployment": {
   726       "http": {
   727         "method": "DELETE",
   728         "requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}",
   729         "responseCode": 202
   730       },
   731       "input": {
   732         "type": "structure",
   733         "required": [
   734           "restApiId",
   735           "deploymentId"
   736         ],
   737         "members": {
   738           "restApiId": {
   739             "location": "uri",
   740             "locationName": "restapi_id"
   741           },
   742           "deploymentId": {
   743             "location": "uri",
   744             "locationName": "deployment_id"
   745           }
   746         }
   747       }
   748     },
   749     "DeleteDomainName": {
   750       "http": {
   751         "method": "DELETE",
   752         "requestUri": "/domainnames/{domain_name}",
   753         "responseCode": 202
   754       },
   755       "input": {
   756         "type": "structure",
   757         "required": [
   758           "domainName"
   759         ],
   760         "members": {
   761           "domainName": {
   762             "location": "uri",
   763             "locationName": "domain_name"
   764           }
   765         }
   766       }
   767     },
   768     "DeleteIntegration": {
   769       "http": {
   770         "method": "DELETE",
   771         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
   772         "responseCode": 204
   773       },
   774       "input": {
   775         "type": "structure",
   776         "required": [
   777           "restApiId",
   778           "resourceId",
   779           "httpMethod"
   780         ],
   781         "members": {
   782           "restApiId": {
   783             "location": "uri",
   784             "locationName": "restapi_id"
   785           },
   786           "resourceId": {
   787             "location": "uri",
   788             "locationName": "resource_id"
   789           },
   790           "httpMethod": {
   791             "location": "uri",
   792             "locationName": "http_method"
   793           }
   794         }
   795       }
   796     },
   797     "DeleteIntegrationResponse": {
   798       "http": {
   799         "method": "DELETE",
   800         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
   801         "responseCode": 204
   802       },
   803       "input": {
   804         "type": "structure",
   805         "required": [
   806           "restApiId",
   807           "resourceId",
   808           "httpMethod",
   809           "statusCode"
   810         ],
   811         "members": {
   812           "restApiId": {
   813             "location": "uri",
   814             "locationName": "restapi_id"
   815           },
   816           "resourceId": {
   817             "location": "uri",
   818             "locationName": "resource_id"
   819           },
   820           "httpMethod": {
   821             "location": "uri",
   822             "locationName": "http_method"
   823           },
   824           "statusCode": {
   825             "location": "uri",
   826             "locationName": "status_code"
   827           }
   828         }
   829       }
   830     },
   831     "DeleteMethod": {
   832       "http": {
   833         "method": "DELETE",
   834         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
   835         "responseCode": 204
   836       },
   837       "input": {
   838         "type": "structure",
   839         "required": [
   840           "restApiId",
   841           "resourceId",
   842           "httpMethod"
   843         ],
   844         "members": {
   845           "restApiId": {
   846             "location": "uri",
   847             "locationName": "restapi_id"
   848           },
   849           "resourceId": {
   850             "location": "uri",
   851             "locationName": "resource_id"
   852           },
   853           "httpMethod": {
   854             "location": "uri",
   855             "locationName": "http_method"
   856           }
   857         }
   858       }
   859     },
   860     "DeleteMethodResponse": {
   861       "http": {
   862         "method": "DELETE",
   863         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
   864         "responseCode": 204
   865       },
   866       "input": {
   867         "type": "structure",
   868         "required": [
   869           "restApiId",
   870           "resourceId",
   871           "httpMethod",
   872           "statusCode"
   873         ],
   874         "members": {
   875           "restApiId": {
   876             "location": "uri",
   877             "locationName": "restapi_id"
   878           },
   879           "resourceId": {
   880             "location": "uri",
   881             "locationName": "resource_id"
   882           },
   883           "httpMethod": {
   884             "location": "uri",
   885             "locationName": "http_method"
   886           },
   887           "statusCode": {
   888             "location": "uri",
   889             "locationName": "status_code"
   890           }
   891         }
   892       }
   893     },
   894     "DeleteModel": {
   895       "http": {
   896         "method": "DELETE",
   897         "requestUri": "/restapis/{restapi_id}/models/{model_name}",
   898         "responseCode": 202
   899       },
   900       "input": {
   901         "type": "structure",
   902         "required": [
   903           "restApiId",
   904           "modelName"
   905         ],
   906         "members": {
   907           "restApiId": {
   908             "location": "uri",
   909             "locationName": "restapi_id"
   910           },
   911           "modelName": {
   912             "location": "uri",
   913             "locationName": "model_name"
   914           }
   915         }
   916       }
   917     },
   918     "DeleteResource": {
   919       "http": {
   920         "method": "DELETE",
   921         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}",
   922         "responseCode": 202
   923       },
   924       "input": {
   925         "type": "structure",
   926         "required": [
   927           "restApiId",
   928           "resourceId"
   929         ],
   930         "members": {
   931           "restApiId": {
   932             "location": "uri",
   933             "locationName": "restapi_id"
   934           },
   935           "resourceId": {
   936             "location": "uri",
   937             "locationName": "resource_id"
   938           }
   939         }
   940       }
   941     },
   942     "DeleteRestApi": {
   943       "http": {
   944         "method": "DELETE",
   945         "requestUri": "/restapis/{restapi_id}",
   946         "responseCode": 202
   947       },
   948       "input": {
   949         "type": "structure",
   950         "required": [
   951           "restApiId"
   952         ],
   953         "members": {
   954           "restApiId": {
   955             "location": "uri",
   956             "locationName": "restapi_id"
   957           }
   958         }
   959       }
   960     },
   961     "DeleteStage": {
   962       "http": {
   963         "method": "DELETE",
   964         "requestUri": "/restapis/{restapi_id}/stages/{stage_name}",
   965         "responseCode": 202
   966       },
   967       "input": {
   968         "type": "structure",
   969         "required": [
   970           "restApiId",
   971           "stageName"
   972         ],
   973         "members": {
   974           "restApiId": {
   975             "location": "uri",
   976             "locationName": "restapi_id"
   977           },
   978           "stageName": {
   979             "location": "uri",
   980             "locationName": "stage_name"
   981           }
   982         }
   983       }
   984     },
   985     "DeleteUsagePlan": {
   986       "http": {
   987         "method": "DELETE",
   988         "requestUri": "/usageplans/{usageplanId}",
   989         "responseCode": 202
   990       },
   991       "input": {
   992         "type": "structure",
   993         "required": [
   994           "usagePlanId"
   995         ],
   996         "members": {
   997           "usagePlanId": {
   998             "location": "uri",
   999             "locationName": "usageplanId"
  1000           }
  1001         }
  1002       }
  1003     },
  1004     "DeleteUsagePlanKey": {
  1005       "http": {
  1006         "method": "DELETE",
  1007         "requestUri": "/usageplans/{usageplanId}/keys/{keyId}",
  1008         "responseCode": 202
  1009       },
  1010       "input": {
  1011         "type": "structure",
  1012         "required": [
  1013           "usagePlanId",
  1014           "keyId"
  1015         ],
  1016         "members": {
  1017           "usagePlanId": {
  1018             "location": "uri",
  1019             "locationName": "usageplanId"
  1020           },
  1021           "keyId": {
  1022             "location": "uri",
  1023             "locationName": "keyId"
  1024           }
  1025         }
  1026       }
  1027     },
  1028     "FlushStageAuthorizersCache": {
  1029       "http": {
  1030         "method": "DELETE",
  1031         "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers",
  1032         "responseCode": 202
  1033       },
  1034       "input": {
  1035         "type": "structure",
  1036         "required": [
  1037           "restApiId",
  1038           "stageName"
  1039         ],
  1040         "members": {
  1041           "restApiId": {
  1042             "location": "uri",
  1043             "locationName": "restapi_id"
  1044           },
  1045           "stageName": {
  1046             "location": "uri",
  1047             "locationName": "stage_name"
  1048           }
  1049         }
  1050       }
  1051     },
  1052     "FlushStageCache": {
  1053       "http": {
  1054         "method": "DELETE",
  1055         "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/cache/data",
  1056         "responseCode": 202
  1057       },
  1058       "input": {
  1059         "type": "structure",
  1060         "required": [
  1061           "restApiId",
  1062           "stageName"
  1063         ],
  1064         "members": {
  1065           "restApiId": {
  1066             "location": "uri",
  1067             "locationName": "restapi_id"
  1068           },
  1069           "stageName": {
  1070             "location": "uri",
  1071             "locationName": "stage_name"
  1072           }
  1073         }
  1074       }
  1075     },
  1076     "GenerateClientCertificate": {
  1077       "http": {
  1078         "requestUri": "/clientcertificates",
  1079         "responseCode": 201
  1080       },
  1081       "input": {
  1082         "type": "structure",
  1083         "members": {
  1084           "description": {}
  1085         }
  1086       },
  1087       "output": {
  1088         "shape": "S28"
  1089       }
  1090     },
  1091     "GetAccount": {
  1092       "http": {
  1093         "method": "GET",
  1094         "requestUri": "/account"
  1095       },
  1096       "input": {
  1097         "type": "structure",
  1098         "members": {}
  1099       },
  1100       "output": {
  1101         "shape": "S2a"
  1102       }
  1103     },
  1104     "GetApiKey": {
  1105       "http": {
  1106         "method": "GET",
  1107         "requestUri": "/apikeys/{api_Key}"
  1108       },
  1109       "input": {
  1110         "type": "structure",
  1111         "required": [
  1112           "apiKey"
  1113         ],
  1114         "members": {
  1115           "apiKey": {
  1116             "location": "uri",
  1117             "locationName": "api_Key"
  1118           },
  1119           "includeValue": {
  1120             "location": "querystring",
  1121             "locationName": "includeValue",
  1122             "type": "boolean"
  1123           }
  1124         }
  1125       },
  1126       "output": {
  1127         "shape": "S6"
  1128       }
  1129     },
  1130     "GetApiKeys": {
  1131       "http": {
  1132         "method": "GET",
  1133         "requestUri": "/apikeys"
  1134       },
  1135       "input": {
  1136         "type": "structure",
  1137         "members": {
  1138           "position": {
  1139             "location": "querystring",
  1140             "locationName": "position"
  1141           },
  1142           "limit": {
  1143             "location": "querystring",
  1144             "locationName": "limit",
  1145             "type": "integer"
  1146           },
  1147           "nameQuery": {
  1148             "location": "querystring",
  1149             "locationName": "name"
  1150           },
  1151           "customerId": {
  1152             "location": "querystring",
  1153             "locationName": "customerId"
  1154           },
  1155           "includeValues": {
  1156             "location": "querystring",
  1157             "locationName": "includeValues",
  1158             "type": "boolean"
  1159           }
  1160         }
  1161       },
  1162       "output": {
  1163         "type": "structure",
  1164         "members": {
  1165           "warnings": {
  1166             "shape": "S8"
  1167           },
  1168           "position": {},
  1169           "items": {
  1170             "locationName": "item",
  1171             "type": "list",
  1172             "member": {
  1173               "shape": "S6"
  1174             }
  1175           }
  1176         }
  1177       }
  1178     },
  1179     "GetAuthorizer": {
  1180       "http": {
  1181         "method": "GET",
  1182         "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
  1183       },
  1184       "input": {
  1185         "type": "structure",
  1186         "required": [
  1187           "restApiId",
  1188           "authorizerId"
  1189         ],
  1190         "members": {
  1191           "restApiId": {
  1192             "location": "uri",
  1193             "locationName": "restapi_id"
  1194           },
  1195           "authorizerId": {
  1196             "location": "uri",
  1197             "locationName": "authorizer_id"
  1198           }
  1199         }
  1200       },
  1201       "output": {
  1202         "shape": "Se"
  1203       }
  1204     },
  1205     "GetAuthorizers": {
  1206       "http": {
  1207         "method": "GET",
  1208         "requestUri": "/restapis/{restapi_id}/authorizers"
  1209       },
  1210       "input": {
  1211         "type": "structure",
  1212         "required": [
  1213           "restApiId"
  1214         ],
  1215         "members": {
  1216           "restApiId": {
  1217             "location": "uri",
  1218             "locationName": "restapi_id"
  1219           },
  1220           "position": {
  1221             "location": "querystring",
  1222             "locationName": "position"
  1223           },
  1224           "limit": {
  1225             "location": "querystring",
  1226             "locationName": "limit",
  1227             "type": "integer"
  1228           }
  1229         }
  1230       },
  1231       "output": {
  1232         "type": "structure",
  1233         "members": {
  1234           "position": {},
  1235           "items": {
  1236             "locationName": "item",
  1237             "type": "list",
  1238             "member": {
  1239               "shape": "Se"
  1240             }
  1241           }
  1242         }
  1243       }
  1244     },
  1245     "GetBasePathMapping": {
  1246       "http": {
  1247         "method": "GET",
  1248         "requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}"
  1249       },
  1250       "input": {
  1251         "type": "structure",
  1252         "required": [
  1253           "domainName",
  1254           "basePath"
  1255         ],
  1256         "members": {
  1257           "domainName": {
  1258             "location": "uri",
  1259             "locationName": "domain_name"
  1260           },
  1261           "basePath": {
  1262             "location": "uri",
  1263             "locationName": "base_path"
  1264           }
  1265         }
  1266       },
  1267       "output": {
  1268         "shape": "Sg"
  1269       }
  1270     },
  1271     "GetBasePathMappings": {
  1272       "http": {
  1273         "method": "GET",
  1274         "requestUri": "/domainnames/{domain_name}/basepathmappings"
  1275       },
  1276       "input": {
  1277         "type": "structure",
  1278         "required": [
  1279           "domainName"
  1280         ],
  1281         "members": {
  1282           "domainName": {
  1283             "location": "uri",
  1284             "locationName": "domain_name"
  1285           },
  1286           "position": {
  1287             "location": "querystring",
  1288             "locationName": "position"
  1289           },
  1290           "limit": {
  1291             "location": "querystring",
  1292             "locationName": "limit",
  1293             "type": "integer"
  1294           }
  1295         }
  1296       },
  1297       "output": {
  1298         "type": "structure",
  1299         "members": {
  1300           "position": {},
  1301           "items": {
  1302             "locationName": "item",
  1303             "type": "list",
  1304             "member": {
  1305               "shape": "Sg"
  1306             }
  1307           }
  1308         }
  1309       }
  1310     },
  1311     "GetClientCertificate": {
  1312       "http": {
  1313         "method": "GET",
  1314         "requestUri": "/clientcertificates/{clientcertificate_id}"
  1315       },
  1316       "input": {
  1317         "type": "structure",
  1318         "required": [
  1319           "clientCertificateId"
  1320         ],
  1321         "members": {
  1322           "clientCertificateId": {
  1323             "location": "uri",
  1324             "locationName": "clientcertificate_id"
  1325           }
  1326         }
  1327       },
  1328       "output": {
  1329         "shape": "S28"
  1330       }
  1331     },
  1332     "GetClientCertificates": {
  1333       "http": {
  1334         "method": "GET",
  1335         "requestUri": "/clientcertificates"
  1336       },
  1337       "input": {
  1338         "type": "structure",
  1339         "members": {
  1340           "position": {
  1341             "location": "querystring",
  1342             "locationName": "position"
  1343           },
  1344           "limit": {
  1345             "location": "querystring",
  1346             "locationName": "limit",
  1347             "type": "integer"
  1348           }
  1349         }
  1350       },
  1351       "output": {
  1352         "type": "structure",
  1353         "members": {
  1354           "position": {},
  1355           "items": {
  1356             "locationName": "item",
  1357             "type": "list",
  1358             "member": {
  1359               "shape": "S28"
  1360             }
  1361           }
  1362         }
  1363       }
  1364     },
  1365     "GetDeployment": {
  1366       "http": {
  1367         "method": "GET",
  1368         "requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}"
  1369       },
  1370       "input": {
  1371         "type": "structure",
  1372         "required": [
  1373           "restApiId",
  1374           "deploymentId"
  1375         ],
  1376         "members": {
  1377           "restApiId": {
  1378             "location": "uri",
  1379             "locationName": "restapi_id"
  1380           },
  1381           "deploymentId": {
  1382             "location": "uri",
  1383             "locationName": "deployment_id"
  1384           }
  1385         }
  1386       },
  1387       "output": {
  1388         "shape": "Sl"
  1389       }
  1390     },
  1391     "GetDeployments": {
  1392       "http": {
  1393         "method": "GET",
  1394         "requestUri": "/restapis/{restapi_id}/deployments"
  1395       },
  1396       "input": {
  1397         "type": "structure",
  1398         "required": [
  1399           "restApiId"
  1400         ],
  1401         "members": {
  1402           "restApiId": {
  1403             "location": "uri",
  1404             "locationName": "restapi_id"
  1405           },
  1406           "position": {
  1407             "location": "querystring",
  1408             "locationName": "position"
  1409           },
  1410           "limit": {
  1411             "location": "querystring",
  1412             "locationName": "limit",
  1413             "type": "integer"
  1414           }
  1415         }
  1416       },
  1417       "output": {
  1418         "type": "structure",
  1419         "members": {
  1420           "position": {},
  1421           "items": {
  1422             "locationName": "item",
  1423             "type": "list",
  1424             "member": {
  1425               "shape": "Sl"
  1426             }
  1427           }
  1428         }
  1429       }
  1430     },
  1431     "GetDomainName": {
  1432       "http": {
  1433         "method": "GET",
  1434         "requestUri": "/domainnames/{domain_name}"
  1435       },
  1436       "input": {
  1437         "type": "structure",
  1438         "required": [
  1439           "domainName"
  1440         ],
  1441         "members": {
  1442           "domainName": {
  1443             "location": "uri",
  1444             "locationName": "domain_name"
  1445           }
  1446         }
  1447       },
  1448       "output": {
  1449         "shape": "Sq"
  1450       }
  1451     },
  1452     "GetDomainNames": {
  1453       "http": {
  1454         "method": "GET",
  1455         "requestUri": "/domainnames"
  1456       },
  1457       "input": {
  1458         "type": "structure",
  1459         "members": {
  1460           "position": {
  1461             "location": "querystring",
  1462             "locationName": "position"
  1463           },
  1464           "limit": {
  1465             "location": "querystring",
  1466             "locationName": "limit",
  1467             "type": "integer"
  1468           }
  1469         }
  1470       },
  1471       "output": {
  1472         "type": "structure",
  1473         "members": {
  1474           "position": {},
  1475           "items": {
  1476             "locationName": "item",
  1477             "type": "list",
  1478             "member": {
  1479               "shape": "Sq"
  1480             }
  1481           }
  1482         }
  1483       }
  1484     },
  1485     "GetExport": {
  1486       "http": {
  1487         "method": "GET",
  1488         "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}",
  1489         "responseCode": 200
  1490       },
  1491       "input": {
  1492         "type": "structure",
  1493         "required": [
  1494           "restApiId",
  1495           "stageName",
  1496           "exportType"
  1497         ],
  1498         "members": {
  1499           "restApiId": {
  1500             "location": "uri",
  1501             "locationName": "restapi_id"
  1502           },
  1503           "stageName": {
  1504             "location": "uri",
  1505             "locationName": "stage_name"
  1506           },
  1507           "exportType": {
  1508             "location": "uri",
  1509             "locationName": "export_type"
  1510           },
  1511           "parameters": {
  1512             "shape": "Sk",
  1513             "location": "querystring"
  1514           },
  1515           "accepts": {
  1516             "location": "header",
  1517             "locationName": "Accept"
  1518           }
  1519         }
  1520       },
  1521       "output": {
  1522         "type": "structure",
  1523         "members": {
  1524           "contentType": {
  1525             "location": "header",
  1526             "locationName": "Content-Type"
  1527           },
  1528           "contentDisposition": {
  1529             "location": "header",
  1530             "locationName": "Content-Disposition"
  1531           },
  1532           "body": {
  1533             "type": "blob"
  1534           }
  1535         },
  1536         "payload": "body"
  1537       }
  1538     },
  1539     "GetIntegration": {
  1540       "http": {
  1541         "method": "GET",
  1542         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
  1543       },
  1544       "input": {
  1545         "type": "structure",
  1546         "required": [
  1547           "restApiId",
  1548           "resourceId",
  1549           "httpMethod"
  1550         ],
  1551         "members": {
  1552           "restApiId": {
  1553             "location": "uri",
  1554             "locationName": "restapi_id"
  1555           },
  1556           "resourceId": {
  1557             "location": "uri",
  1558             "locationName": "resource_id"
  1559           },
  1560           "httpMethod": {
  1561             "location": "uri",
  1562             "locationName": "http_method"
  1563           }
  1564         }
  1565       },
  1566       "output": {
  1567         "shape": "S11"
  1568       }
  1569     },
  1570     "GetIntegrationResponse": {
  1571       "http": {
  1572         "method": "GET",
  1573         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
  1574       },
  1575       "input": {
  1576         "type": "structure",
  1577         "required": [
  1578           "restApiId",
  1579           "resourceId",
  1580           "httpMethod",
  1581           "statusCode"
  1582         ],
  1583         "members": {
  1584           "restApiId": {
  1585             "location": "uri",
  1586             "locationName": "restapi_id"
  1587           },
  1588           "resourceId": {
  1589             "location": "uri",
  1590             "locationName": "resource_id"
  1591           },
  1592           "httpMethod": {
  1593             "location": "uri",
  1594             "locationName": "http_method"
  1595           },
  1596           "statusCode": {
  1597             "location": "uri",
  1598             "locationName": "status_code"
  1599           }
  1600         }
  1601       },
  1602       "output": {
  1603         "shape": "S15"
  1604       }
  1605     },
  1606     "GetMethod": {
  1607       "http": {
  1608         "method": "GET",
  1609         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
  1610       },
  1611       "input": {
  1612         "type": "structure",
  1613         "required": [
  1614           "restApiId",
  1615           "resourceId",
  1616           "httpMethod"
  1617         ],
  1618         "members": {
  1619           "restApiId": {
  1620             "location": "uri",
  1621             "locationName": "restapi_id"
  1622           },
  1623           "resourceId": {
  1624             "location": "uri",
  1625             "locationName": "resource_id"
  1626           },
  1627           "httpMethod": {
  1628             "location": "uri",
  1629             "locationName": "http_method"
  1630           }
  1631         }
  1632       },
  1633       "output": {
  1634         "shape": "Sw"
  1635       }
  1636     },
  1637     "GetMethodResponse": {
  1638       "http": {
  1639         "method": "GET",
  1640         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}"
  1641       },
  1642       "input": {
  1643         "type": "structure",
  1644         "required": [
  1645           "restApiId",
  1646           "resourceId",
  1647           "httpMethod",
  1648           "statusCode"
  1649         ],
  1650         "members": {
  1651           "restApiId": {
  1652             "location": "uri",
  1653             "locationName": "restapi_id"
  1654           },
  1655           "resourceId": {
  1656             "location": "uri",
  1657             "locationName": "resource_id"
  1658           },
  1659           "httpMethod": {
  1660             "location": "uri",
  1661             "locationName": "http_method"
  1662           },
  1663           "statusCode": {
  1664             "location": "uri",
  1665             "locationName": "status_code"
  1666           }
  1667         }
  1668       },
  1669       "output": {
  1670         "shape": "Sz"
  1671       }
  1672     },
  1673     "GetModel": {
  1674       "http": {
  1675         "method": "GET",
  1676         "requestUri": "/restapis/{restapi_id}/models/{model_name}"
  1677       },
  1678       "input": {
  1679         "type": "structure",
  1680         "required": [
  1681           "restApiId",
  1682           "modelName"
  1683         ],
  1684         "members": {
  1685           "restApiId": {
  1686             "location": "uri",
  1687             "locationName": "restapi_id"
  1688           },
  1689           "modelName": {
  1690             "location": "uri",
  1691             "locationName": "model_name"
  1692           },
  1693           "flatten": {
  1694             "location": "querystring",
  1695             "locationName": "flatten",
  1696             "type": "boolean"
  1697           }
  1698         }
  1699       },
  1700       "output": {
  1701         "shape": "Ss"
  1702       }
  1703     },
  1704     "GetModelTemplate": {
  1705       "http": {
  1706         "method": "GET",
  1707         "requestUri": "/restapis/{restapi_id}/models/{model_name}/default_template"
  1708       },
  1709       "input": {
  1710         "type": "structure",
  1711         "required": [
  1712           "restApiId",
  1713           "modelName"
  1714         ],
  1715         "members": {
  1716           "restApiId": {
  1717             "location": "uri",
  1718             "locationName": "restapi_id"
  1719           },
  1720           "modelName": {
  1721             "location": "uri",
  1722             "locationName": "model_name"
  1723           }
  1724         }
  1725       },
  1726       "output": {
  1727         "type": "structure",
  1728         "members": {
  1729           "value": {}
  1730         }
  1731       }
  1732     },
  1733     "GetModels": {
  1734       "http": {
  1735         "method": "GET",
  1736         "requestUri": "/restapis/{restapi_id}/models"
  1737       },
  1738       "input": {
  1739         "type": "structure",
  1740         "required": [
  1741           "restApiId"
  1742         ],
  1743         "members": {
  1744           "restApiId": {
  1745             "location": "uri",
  1746             "locationName": "restapi_id"
  1747           },
  1748           "position": {
  1749             "location": "querystring",
  1750             "locationName": "position"
  1751           },
  1752           "limit": {
  1753             "location": "querystring",
  1754             "locationName": "limit",
  1755             "type": "integer"
  1756           }
  1757         }
  1758       },
  1759       "output": {
  1760         "type": "structure",
  1761         "members": {
  1762           "position": {},
  1763           "items": {
  1764             "locationName": "item",
  1765             "type": "list",
  1766             "member": {
  1767               "shape": "Ss"
  1768             }
  1769           }
  1770         }
  1771       }
  1772     },
  1773     "GetResource": {
  1774       "http": {
  1775         "method": "GET",
  1776         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}"
  1777       },
  1778       "input": {
  1779         "type": "structure",
  1780         "required": [
  1781           "restApiId",
  1782           "resourceId"
  1783         ],
  1784         "members": {
  1785           "restApiId": {
  1786             "location": "uri",
  1787             "locationName": "restapi_id"
  1788           },
  1789           "resourceId": {
  1790             "location": "uri",
  1791             "locationName": "resource_id"
  1792           }
  1793         }
  1794       },
  1795       "output": {
  1796         "shape": "Su"
  1797       }
  1798     },
  1799     "GetResources": {
  1800       "http": {
  1801         "method": "GET",
  1802         "requestUri": "/restapis/{restapi_id}/resources"
  1803       },
  1804       "input": {
  1805         "type": "structure",
  1806         "required": [
  1807           "restApiId"
  1808         ],
  1809         "members": {
  1810           "restApiId": {
  1811             "location": "uri",
  1812             "locationName": "restapi_id"
  1813           },
  1814           "position": {
  1815             "location": "querystring",
  1816             "locationName": "position"
  1817           },
  1818           "limit": {
  1819             "location": "querystring",
  1820             "locationName": "limit",
  1821             "type": "integer"
  1822           }
  1823         }
  1824       },
  1825       "output": {
  1826         "type": "structure",
  1827         "members": {
  1828           "position": {},
  1829           "items": {
  1830             "locationName": "item",
  1831             "type": "list",
  1832             "member": {
  1833               "shape": "Su"
  1834             }
  1835           }
  1836         }
  1837       }
  1838     },
  1839     "GetRestApi": {
  1840       "http": {
  1841         "method": "GET",
  1842         "requestUri": "/restapis/{restapi_id}"
  1843       },
  1844       "input": {
  1845         "type": "structure",
  1846         "required": [
  1847           "restApiId"
  1848         ],
  1849         "members": {
  1850           "restApiId": {
  1851             "location": "uri",
  1852             "locationName": "restapi_id"
  1853           }
  1854         }
  1855       },
  1856       "output": {
  1857         "shape": "S17"
  1858       }
  1859     },
  1860     "GetRestApis": {
  1861       "http": {
  1862         "method": "GET",
  1863         "requestUri": "/restapis"
  1864       },
  1865       "input": {
  1866         "type": "structure",
  1867         "members": {
  1868           "position": {
  1869             "location": "querystring",
  1870             "locationName": "position"
  1871           },
  1872           "limit": {
  1873             "location": "querystring",
  1874             "locationName": "limit",
  1875             "type": "integer"
  1876           }
  1877         }
  1878       },
  1879       "output": {
  1880         "type": "structure",
  1881         "members": {
  1882           "position": {},
  1883           "items": {
  1884             "locationName": "item",
  1885             "type": "list",
  1886             "member": {
  1887               "shape": "S17"
  1888             }
  1889           }
  1890         }
  1891       }
  1892     },
  1893     "GetSdk": {
  1894       "http": {
  1895         "method": "GET",
  1896         "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
  1897         "responseCode": 200
  1898       },
  1899       "input": {
  1900         "type": "structure",
  1901         "required": [
  1902           "restApiId",
  1903           "stageName",
  1904           "sdkType"
  1905         ],
  1906         "members": {
  1907           "restApiId": {
  1908             "location": "uri",
  1909             "locationName": "restapi_id"
  1910           },
  1911           "stageName": {
  1912             "location": "uri",
  1913             "locationName": "stage_name"
  1914           },
  1915           "sdkType": {
  1916             "location": "uri",
  1917             "locationName": "sdk_type"
  1918           },
  1919           "parameters": {
  1920             "shape": "Sk",
  1921             "location": "querystring"
  1922           }
  1923         }
  1924       },
  1925       "output": {
  1926         "type": "structure",
  1927         "members": {
  1928           "contentType": {
  1929             "location": "header",
  1930             "locationName": "Content-Type"
  1931           },
  1932           "contentDisposition": {
  1933             "location": "header",
  1934             "locationName": "Content-Disposition"
  1935           },
  1936           "body": {
  1937             "type": "blob"
  1938           }
  1939         },
  1940         "payload": "body"
  1941       }
  1942     },
  1943     "GetStage": {
  1944       "http": {
  1945         "method": "GET",
  1946         "requestUri": "/restapis/{restapi_id}/stages/{stage_name}"
  1947       },
  1948       "input": {
  1949         "type": "structure",
  1950         "required": [
  1951           "restApiId",
  1952           "stageName"
  1953         ],
  1954         "members": {
  1955           "restApiId": {
  1956             "location": "uri",
  1957             "locationName": "restapi_id"
  1958           },
  1959           "stageName": {
  1960             "location": "uri",
  1961             "locationName": "stage_name"
  1962           }
  1963         }
  1964       },
  1965       "output": {
  1966         "shape": "S19"
  1967       }
  1968     },
  1969     "GetStages": {
  1970       "http": {
  1971         "method": "GET",
  1972         "requestUri": "/restapis/{restapi_id}/stages"
  1973       },
  1974       "input": {
  1975         "type": "structure",
  1976         "required": [
  1977           "restApiId"
  1978         ],
  1979         "members": {
  1980           "restApiId": {
  1981             "location": "uri",
  1982             "locationName": "restapi_id"
  1983           },
  1984           "deploymentId": {
  1985             "location": "querystring",
  1986             "locationName": "deploymentId"
  1987           }
  1988         }
  1989       },
  1990       "output": {
  1991         "type": "structure",
  1992         "members": {
  1993           "item": {
  1994             "type": "list",
  1995             "member": {
  1996               "shape": "S19"
  1997             }
  1998           }
  1999         }
  2000       }
  2001     },
  2002     "GetUsage": {
  2003       "http": {
  2004         "method": "GET",
  2005         "requestUri": "/usageplans/{usageplanId}/usage"
  2006       },
  2007       "input": {
  2008         "type": "structure",
  2009         "required": [
  2010           "usagePlanId",
  2011           "startDate",
  2012           "endDate"
  2013         ],
  2014         "members": {
  2015           "usagePlanId": {
  2016             "location": "uri",
  2017             "locationName": "usageplanId"
  2018           },
  2019           "keyId": {
  2020             "location": "querystring",
  2021             "locationName": "keyId"
  2022           },
  2023           "startDate": {
  2024             "location": "querystring",
  2025             "locationName": "startDate"
  2026           },
  2027           "endDate": {
  2028             "location": "querystring",
  2029             "locationName": "endDate"
  2030           },
  2031           "position": {
  2032             "location": "querystring",
  2033             "locationName": "position"
  2034           },
  2035           "limit": {
  2036             "location": "querystring",
  2037             "locationName": "limit",
  2038             "type": "integer"
  2039           }
  2040         }
  2041       },
  2042       "output": {
  2043         "shape": "S3r"
  2044       }
  2045     },
  2046     "GetUsagePlan": {
  2047       "http": {
  2048         "method": "GET",
  2049         "requestUri": "/usageplans/{usageplanId}"
  2050       },
  2051       "input": {
  2052         "type": "structure",
  2053         "required": [
  2054           "usagePlanId"
  2055         ],
  2056         "members": {
  2057           "usagePlanId": {
  2058             "location": "uri",
  2059             "locationName": "usageplanId"
  2060           }
  2061         }
  2062       },
  2063       "output": {
  2064         "shape": "S1m"
  2065       }
  2066     },
  2067     "GetUsagePlanKey": {
  2068       "http": {
  2069         "method": "GET",
  2070         "requestUri": "/usageplans/{usageplanId}/keys/{keyId}",
  2071         "responseCode": 200
  2072       },
  2073       "input": {
  2074         "type": "structure",
  2075         "required": [
  2076           "usagePlanId",
  2077           "keyId"
  2078         ],
  2079         "members": {
  2080           "usagePlanId": {
  2081             "location": "uri",
  2082             "locationName": "usageplanId"
  2083           },
  2084           "keyId": {
  2085             "location": "uri",
  2086             "locationName": "keyId"
  2087           }
  2088         }
  2089       },
  2090       "output": {
  2091         "shape": "S1o"
  2092       }
  2093     },
  2094     "GetUsagePlanKeys": {
  2095       "http": {
  2096         "method": "GET",
  2097         "requestUri": "/usageplans/{usageplanId}/keys"
  2098       },
  2099       "input": {
  2100         "type": "structure",
  2101         "required": [
  2102           "usagePlanId"
  2103         ],
  2104         "members": {
  2105           "usagePlanId": {
  2106             "location": "uri",
  2107             "locationName": "usageplanId"
  2108           },
  2109           "position": {
  2110             "location": "querystring",
  2111             "locationName": "position"
  2112           },
  2113           "limit": {
  2114             "location": "querystring",
  2115             "locationName": "limit",
  2116             "type": "integer"
  2117           },
  2118           "nameQuery": {
  2119             "location": "querystring",
  2120             "locationName": "name"
  2121           }
  2122         }
  2123       },
  2124       "output": {
  2125         "type": "structure",
  2126         "members": {
  2127           "position": {},
  2128           "items": {
  2129             "locationName": "item",
  2130             "type": "list",
  2131             "member": {
  2132               "shape": "S1o"
  2133             }
  2134           }
  2135         }
  2136       }
  2137     },
  2138     "GetUsagePlans": {
  2139       "http": {
  2140         "method": "GET",
  2141         "requestUri": "/usageplans"
  2142       },
  2143       "input": {
  2144         "type": "structure",
  2145         "members": {
  2146           "position": {
  2147             "location": "querystring",
  2148             "locationName": "position"
  2149           },
  2150           "keyId": {
  2151             "location": "querystring",
  2152             "locationName": "keyId"
  2153           },
  2154           "limit": {
  2155             "location": "querystring",
  2156             "locationName": "limit",
  2157             "type": "integer"
  2158           }
  2159         }
  2160       },
  2161       "output": {
  2162         "type": "structure",
  2163         "members": {
  2164           "position": {},
  2165           "items": {
  2166             "locationName": "item",
  2167             "type": "list",
  2168             "member": {
  2169               "shape": "S1m"
  2170             }
  2171           }
  2172         }
  2173       }
  2174     },
  2175     "ImportApiKeys": {
  2176       "http": {
  2177         "requestUri": "/apikeys?mode=import",
  2178         "responseCode": 201
  2179       },
  2180       "input": {
  2181         "type": "structure",
  2182         "required": [
  2183           "body",
  2184           "format"
  2185         ],
  2186         "members": {
  2187           "body": {
  2188             "type": "blob"
  2189           },
  2190           "format": {
  2191             "location": "querystring",
  2192             "locationName": "format"
  2193           },
  2194           "failOnWarnings": {
  2195             "location": "querystring",
  2196             "locationName": "failonwarnings",
  2197             "type": "boolean"
  2198           }
  2199         },
  2200         "payload": "body"
  2201       },
  2202       "output": {
  2203         "type": "structure",
  2204         "members": {
  2205           "ids": {
  2206             "shape": "S8"
  2207           },
  2208           "warnings": {
  2209             "shape": "S8"
  2210           }
  2211         }
  2212       }
  2213     },
  2214     "ImportRestApi": {
  2215       "http": {
  2216         "requestUri": "/restapis?mode=import",
  2217         "responseCode": 201
  2218       },
  2219       "input": {
  2220         "type": "structure",
  2221         "required": [
  2222           "body"
  2223         ],
  2224         "members": {
  2225           "failOnWarnings": {
  2226             "location": "querystring",
  2227             "locationName": "failonwarnings",
  2228             "type": "boolean"
  2229           },
  2230           "parameters": {
  2231             "shape": "Sk",
  2232             "location": "querystring"
  2233           },
  2234           "body": {
  2235             "type": "blob"
  2236           }
  2237         },
  2238         "payload": "body"
  2239       },
  2240       "output": {
  2241         "shape": "S17"
  2242       }
  2243     },
  2244     "PutIntegration": {
  2245       "http": {
  2246         "method": "PUT",
  2247         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
  2248         "responseCode": 201
  2249       },
  2250       "input": {
  2251         "type": "structure",
  2252         "required": [
  2253           "restApiId",
  2254           "resourceId",
  2255           "httpMethod",
  2256           "type"
  2257         ],
  2258         "members": {
  2259           "restApiId": {
  2260             "location": "uri",
  2261             "locationName": "restapi_id"
  2262           },
  2263           "resourceId": {
  2264             "location": "uri",
  2265             "locationName": "resource_id"
  2266           },
  2267           "httpMethod": {
  2268             "location": "uri",
  2269             "locationName": "http_method"
  2270           },
  2271           "type": {},
  2272           "integrationHttpMethod": {
  2273             "locationName": "httpMethod"
  2274           },
  2275           "uri": {},
  2276           "credentials": {},
  2277           "requestParameters": {
  2278             "shape": "Sk"
  2279           },
  2280           "requestTemplates": {
  2281             "shape": "Sk"
  2282           },
  2283           "passthroughBehavior": {},
  2284           "cacheNamespace": {},
  2285           "cacheKeyParameters": {
  2286             "shape": "S8"
  2287           },
  2288           "contentHandling": {}
  2289         }
  2290       },
  2291       "output": {
  2292         "shape": "S11"
  2293       }
  2294     },
  2295     "PutIntegrationResponse": {
  2296       "http": {
  2297         "method": "PUT",
  2298         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
  2299         "responseCode": 201
  2300       },
  2301       "input": {
  2302         "type": "structure",
  2303         "required": [
  2304           "restApiId",
  2305           "resourceId",
  2306           "httpMethod",
  2307           "statusCode"
  2308         ],
  2309         "members": {
  2310           "restApiId": {
  2311             "location": "uri",
  2312             "locationName": "restapi_id"
  2313           },
  2314           "resourceId": {
  2315             "location": "uri",
  2316             "locationName": "resource_id"
  2317           },
  2318           "httpMethod": {
  2319             "location": "uri",
  2320             "locationName": "http_method"
  2321           },
  2322           "statusCode": {
  2323             "location": "uri",
  2324             "locationName": "status_code"
  2325           },
  2326           "selectionPattern": {},
  2327           "responseParameters": {
  2328             "shape": "Sk"
  2329           },
  2330           "responseTemplates": {
  2331             "shape": "Sk"
  2332           },
  2333           "contentHandling": {}
  2334         }
  2335       },
  2336       "output": {
  2337         "shape": "S15"
  2338       }
  2339     },
  2340     "PutMethod": {
  2341       "http": {
  2342         "method": "PUT",
  2343         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
  2344         "responseCode": 201
  2345       },
  2346       "input": {
  2347         "type": "structure",
  2348         "required": [
  2349           "restApiId",
  2350           "resourceId",
  2351           "httpMethod",
  2352           "authorizationType"
  2353         ],
  2354         "members": {
  2355           "restApiId": {
  2356             "location": "uri",
  2357             "locationName": "restapi_id"
  2358           },
  2359           "resourceId": {
  2360             "location": "uri",
  2361             "locationName": "resource_id"
  2362           },
  2363           "httpMethod": {
  2364             "location": "uri",
  2365             "locationName": "http_method"
  2366           },
  2367           "authorizationType": {},
  2368           "authorizerId": {},
  2369           "apiKeyRequired": {
  2370             "type": "boolean"
  2371           },
  2372           "requestParameters": {
  2373             "shape": "Sx"
  2374           },
  2375           "requestModels": {
  2376             "shape": "Sk"
  2377           }
  2378         }
  2379       },
  2380       "output": {
  2381         "shape": "Sw"
  2382       }
  2383     },
  2384     "PutMethodResponse": {
  2385       "http": {
  2386         "method": "PUT",
  2387         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
  2388         "responseCode": 201
  2389       },
  2390       "input": {
  2391         "type": "structure",
  2392         "required": [
  2393           "restApiId",
  2394           "resourceId",
  2395           "httpMethod",
  2396           "statusCode"
  2397         ],
  2398         "members": {
  2399           "restApiId": {
  2400             "location": "uri",
  2401             "locationName": "restapi_id"
  2402           },
  2403           "resourceId": {
  2404             "location": "uri",
  2405             "locationName": "resource_id"
  2406           },
  2407           "httpMethod": {
  2408             "location": "uri",
  2409             "locationName": "http_method"
  2410           },
  2411           "statusCode": {
  2412             "location": "uri",
  2413             "locationName": "status_code"
  2414           },
  2415           "responseParameters": {
  2416             "shape": "Sx"
  2417           },
  2418           "responseModels": {
  2419             "shape": "Sk"
  2420           }
  2421         }
  2422       },
  2423       "output": {
  2424         "shape": "Sz"
  2425       }
  2426     },
  2427     "PutRestApi": {
  2428       "http": {
  2429         "method": "PUT",
  2430         "requestUri": "/restapis/{restapi_id}"
  2431       },
  2432       "input": {
  2433         "type": "structure",
  2434         "required": [
  2435           "restApiId",
  2436           "body"
  2437         ],
  2438         "members": {
  2439           "restApiId": {
  2440             "location": "uri",
  2441             "locationName": "restapi_id"
  2442           },
  2443           "mode": {
  2444             "location": "querystring",
  2445             "locationName": "mode"
  2446           },
  2447           "failOnWarnings": {
  2448             "location": "querystring",
  2449             "locationName": "failonwarnings",
  2450             "type": "boolean"
  2451           },
  2452           "parameters": {
  2453             "shape": "Sk",
  2454             "location": "querystring"
  2455           },
  2456           "body": {
  2457             "type": "blob"
  2458           }
  2459         },
  2460         "payload": "body"
  2461       },
  2462       "output": {
  2463         "shape": "S17"
  2464       }
  2465     },
  2466     "TestInvokeAuthorizer": {
  2467       "http": {
  2468         "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
  2469       },
  2470       "input": {
  2471         "type": "structure",
  2472         "required": [
  2473           "restApiId",
  2474           "authorizerId"
  2475         ],
  2476         "members": {
  2477           "restApiId": {
  2478             "location": "uri",
  2479             "locationName": "restapi_id"
  2480           },
  2481           "authorizerId": {
  2482             "location": "uri",
  2483             "locationName": "authorizer_id"
  2484           },
  2485           "headers": {
  2486             "shape": "S4f"
  2487           },
  2488           "pathWithQueryString": {},
  2489           "body": {},
  2490           "stageVariables": {
  2491             "shape": "Sk"
  2492           },
  2493           "additionalContext": {
  2494             "shape": "Sk"
  2495           }
  2496         }
  2497       },
  2498       "output": {
  2499         "type": "structure",
  2500         "members": {
  2501           "clientStatus": {
  2502             "type": "integer"
  2503           },
  2504           "log": {},
  2505           "latency": {
  2506             "type": "long"
  2507           },
  2508           "principalId": {},
  2509           "policy": {},
  2510           "authorization": {
  2511             "type": "map",
  2512             "key": {},
  2513             "value": {
  2514               "shape": "S8"
  2515             }
  2516           },
  2517           "claims": {
  2518             "shape": "Sk"
  2519           }
  2520         }
  2521       }
  2522     },
  2523     "TestInvokeMethod": {
  2524       "http": {
  2525         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
  2526       },
  2527       "input": {
  2528         "type": "structure",
  2529         "required": [
  2530           "restApiId",
  2531           "resourceId",
  2532           "httpMethod"
  2533         ],
  2534         "members": {
  2535           "restApiId": {
  2536             "location": "uri",
  2537             "locationName": "restapi_id"
  2538           },
  2539           "resourceId": {
  2540             "location": "uri",
  2541             "locationName": "resource_id"
  2542           },
  2543           "httpMethod": {
  2544             "location": "uri",
  2545             "locationName": "http_method"
  2546           },
  2547           "pathWithQueryString": {},
  2548           "body": {},
  2549           "headers": {
  2550             "shape": "S4f"
  2551           },
  2552           "clientCertificateId": {},
  2553           "stageVariables": {
  2554             "shape": "Sk"
  2555           }
  2556         }
  2557       },
  2558       "output": {
  2559         "type": "structure",
  2560         "members": {
  2561           "status": {
  2562             "type": "integer"
  2563           },
  2564           "body": {},
  2565           "headers": {
  2566             "shape": "S4f"
  2567           },
  2568           "log": {},
  2569           "latency": {
  2570             "type": "long"
  2571           }
  2572         }
  2573       }
  2574     },
  2575     "UpdateAccount": {
  2576       "http": {
  2577         "method": "PATCH",
  2578         "requestUri": "/account"
  2579       },
  2580       "input": {
  2581         "type": "structure",
  2582         "members": {
  2583           "patchOperations": {
  2584             "shape": "S4l"
  2585           }
  2586         }
  2587       },
  2588       "output": {
  2589         "shape": "S2a"
  2590       }
  2591     },
  2592     "UpdateApiKey": {
  2593       "http": {
  2594         "method": "PATCH",
  2595         "requestUri": "/apikeys/{api_Key}"
  2596       },
  2597       "input": {
  2598         "type": "structure",
  2599         "required": [
  2600           "apiKey"
  2601         ],
  2602         "members": {
  2603           "apiKey": {
  2604             "location": "uri",
  2605             "locationName": "api_Key"
  2606           },
  2607           "patchOperations": {
  2608             "shape": "S4l"
  2609           }
  2610         }
  2611       },
  2612       "output": {
  2613         "shape": "S6"
  2614       }
  2615     },
  2616     "UpdateAuthorizer": {
  2617       "http": {
  2618         "method": "PATCH",
  2619         "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
  2620       },
  2621       "input": {
  2622         "type": "structure",
  2623         "required": [
  2624           "restApiId",
  2625           "authorizerId"
  2626         ],
  2627         "members": {
  2628           "restApiId": {
  2629             "location": "uri",
  2630             "locationName": "restapi_id"
  2631           },
  2632           "authorizerId": {
  2633             "location": "uri",
  2634             "locationName": "authorizer_id"
  2635           },
  2636           "patchOperations": {
  2637             "shape": "S4l"
  2638           }
  2639         }
  2640       },
  2641       "output": {
  2642         "shape": "Se"
  2643       }
  2644     },
  2645     "UpdateBasePathMapping": {
  2646       "http": {
  2647         "method": "PATCH",
  2648         "requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}"
  2649       },
  2650       "input": {
  2651         "type": "structure",
  2652         "required": [
  2653           "domainName",
  2654           "basePath"
  2655         ],
  2656         "members": {
  2657           "domainName": {
  2658             "location": "uri",
  2659             "locationName": "domain_name"
  2660           },
  2661           "basePath": {
  2662             "location": "uri",
  2663             "locationName": "base_path"
  2664           },
  2665           "patchOperations": {
  2666             "shape": "S4l"
  2667           }
  2668         }
  2669       },
  2670       "output": {
  2671         "shape": "Sg"
  2672       }
  2673     },
  2674     "UpdateClientCertificate": {
  2675       "http": {
  2676         "method": "PATCH",
  2677         "requestUri": "/clientcertificates/{clientcertificate_id}"
  2678       },
  2679       "input": {
  2680         "type": "structure",
  2681         "required": [
  2682           "clientCertificateId"
  2683         ],
  2684         "members": {
  2685           "clientCertificateId": {
  2686             "location": "uri",
  2687             "locationName": "clientcertificate_id"
  2688           },
  2689           "patchOperations": {
  2690             "shape": "S4l"
  2691           }
  2692         }
  2693       },
  2694       "output": {
  2695         "shape": "S28"
  2696       }
  2697     },
  2698     "UpdateDeployment": {
  2699       "http": {
  2700         "method": "PATCH",
  2701         "requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}"
  2702       },
  2703       "input": {
  2704         "type": "structure",
  2705         "required": [
  2706           "restApiId",
  2707           "deploymentId"
  2708         ],
  2709         "members": {
  2710           "restApiId": {
  2711             "location": "uri",
  2712             "locationName": "restapi_id"
  2713           },
  2714           "deploymentId": {
  2715             "location": "uri",
  2716             "locationName": "deployment_id"
  2717           },
  2718           "patchOperations": {
  2719             "shape": "S4l"
  2720           }
  2721         }
  2722       },
  2723       "output": {
  2724         "shape": "Sl"
  2725       }
  2726     },
  2727     "UpdateDomainName": {
  2728       "http": {
  2729         "method": "PATCH",
  2730         "requestUri": "/domainnames/{domain_name}"
  2731       },
  2732       "input": {
  2733         "type": "structure",
  2734         "required": [
  2735           "domainName"
  2736         ],
  2737         "members": {
  2738           "domainName": {
  2739             "location": "uri",
  2740             "locationName": "domain_name"
  2741           },
  2742           "patchOperations": {
  2743             "shape": "S4l"
  2744           }
  2745         }
  2746       },
  2747       "output": {
  2748         "shape": "Sq"
  2749       }
  2750     },
  2751     "UpdateIntegration": {
  2752       "http": {
  2753         "method": "PATCH",
  2754         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
  2755       },
  2756       "input": {
  2757         "type": "structure",
  2758         "required": [
  2759           "restApiId",
  2760           "resourceId",
  2761           "httpMethod"
  2762         ],
  2763         "members": {
  2764           "restApiId": {
  2765             "location": "uri",
  2766             "locationName": "restapi_id"
  2767           },
  2768           "resourceId": {
  2769             "location": "uri",
  2770             "locationName": "resource_id"
  2771           },
  2772           "httpMethod": {
  2773             "location": "uri",
  2774             "locationName": "http_method"
  2775           },
  2776           "patchOperations": {
  2777             "shape": "S4l"
  2778           }
  2779         }
  2780       },
  2781       "output": {
  2782         "shape": "S11"
  2783       }
  2784     },
  2785     "UpdateIntegrationResponse": {
  2786       "http": {
  2787         "method": "PATCH",
  2788         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
  2789       },
  2790       "input": {
  2791         "type": "structure",
  2792         "required": [
  2793           "restApiId",
  2794           "resourceId",
  2795           "httpMethod",
  2796           "statusCode"
  2797         ],
  2798         "members": {
  2799           "restApiId": {
  2800             "location": "uri",
  2801             "locationName": "restapi_id"
  2802           },
  2803           "resourceId": {
  2804             "location": "uri",
  2805             "locationName": "resource_id"
  2806           },
  2807           "httpMethod": {
  2808             "location": "uri",
  2809             "locationName": "http_method"
  2810           },
  2811           "statusCode": {
  2812             "location": "uri",
  2813             "locationName": "status_code"
  2814           },
  2815           "patchOperations": {
  2816             "shape": "S4l"
  2817           }
  2818         }
  2819       },
  2820       "output": {
  2821         "shape": "S15"
  2822       }
  2823     },
  2824     "UpdateMethod": {
  2825       "http": {
  2826         "method": "PATCH",
  2827         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
  2828       },
  2829       "input": {
  2830         "type": "structure",
  2831         "required": [
  2832           "restApiId",
  2833           "resourceId",
  2834           "httpMethod"
  2835         ],
  2836         "members": {
  2837           "restApiId": {
  2838             "location": "uri",
  2839             "locationName": "restapi_id"
  2840           },
  2841           "resourceId": {
  2842             "location": "uri",
  2843             "locationName": "resource_id"
  2844           },
  2845           "httpMethod": {
  2846             "location": "uri",
  2847             "locationName": "http_method"
  2848           },
  2849           "patchOperations": {
  2850             "shape": "S4l"
  2851           }
  2852         }
  2853       },
  2854       "output": {
  2855         "shape": "Sw"
  2856       }
  2857     },
  2858     "UpdateMethodResponse": {
  2859       "http": {
  2860         "method": "PATCH",
  2861         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
  2862         "responseCode": 201
  2863       },
  2864       "input": {
  2865         "type": "structure",
  2866         "required": [
  2867           "restApiId",
  2868           "resourceId",
  2869           "httpMethod",
  2870           "statusCode"
  2871         ],
  2872         "members": {
  2873           "restApiId": {
  2874             "location": "uri",
  2875             "locationName": "restapi_id"
  2876           },
  2877           "resourceId": {
  2878             "location": "uri",
  2879             "locationName": "resource_id"
  2880           },
  2881           "httpMethod": {
  2882             "location": "uri",
  2883             "locationName": "http_method"
  2884           },
  2885           "statusCode": {
  2886             "location": "uri",
  2887             "locationName": "status_code"
  2888           },
  2889           "patchOperations": {
  2890             "shape": "S4l"
  2891           }
  2892         }
  2893       },
  2894       "output": {
  2895         "shape": "Sz"
  2896       }
  2897     },
  2898     "UpdateModel": {
  2899       "http": {
  2900         "method": "PATCH",
  2901         "requestUri": "/restapis/{restapi_id}/models/{model_name}"
  2902       },
  2903       "input": {
  2904         "type": "structure",
  2905         "required": [
  2906           "restApiId",
  2907           "modelName"
  2908         ],
  2909         "members": {
  2910           "restApiId": {
  2911             "location": "uri",
  2912             "locationName": "restapi_id"
  2913           },
  2914           "modelName": {
  2915             "location": "uri",
  2916             "locationName": "model_name"
  2917           },
  2918           "patchOperations": {
  2919             "shape": "S4l"
  2920           }
  2921         }
  2922       },
  2923       "output": {
  2924         "shape": "Ss"
  2925       }
  2926     },
  2927     "UpdateResource": {
  2928       "http": {
  2929         "method": "PATCH",
  2930         "requestUri": "/restapis/{restapi_id}/resources/{resource_id}"
  2931       },
  2932       "input": {
  2933         "type": "structure",
  2934         "required": [
  2935           "restApiId",
  2936           "resourceId"
  2937         ],
  2938         "members": {
  2939           "restApiId": {
  2940             "location": "uri",
  2941             "locationName": "restapi_id"
  2942           },
  2943           "resourceId": {
  2944             "location": "uri",
  2945             "locationName": "resource_id"
  2946           },
  2947           "patchOperations": {
  2948             "shape": "S4l"
  2949           }
  2950         }
  2951       },
  2952       "output": {
  2953         "shape": "Su"
  2954       }
  2955     },
  2956     "UpdateRestApi": {
  2957       "http": {
  2958         "method": "PATCH",
  2959         "requestUri": "/restapis/{restapi_id}"
  2960       },
  2961       "input": {
  2962         "type": "structure",
  2963         "required": [
  2964           "restApiId"
  2965         ],
  2966         "members": {
  2967           "restApiId": {
  2968             "location": "uri",
  2969             "locationName": "restapi_id"
  2970           },
  2971           "patchOperations": {
  2972             "shape": "S4l"
  2973           }
  2974         }
  2975       },
  2976       "output": {
  2977         "shape": "S17"
  2978       }
  2979     },
  2980     "UpdateStage": {
  2981       "http": {
  2982         "method": "PATCH",
  2983         "requestUri": "/restapis/{restapi_id}/stages/{stage_name}"
  2984       },
  2985       "input": {
  2986         "type": "structure",
  2987         "required": [
  2988           "restApiId",
  2989           "stageName"
  2990         ],
  2991         "members": {
  2992           "restApiId": {
  2993             "location": "uri",
  2994             "locationName": "restapi_id"
  2995           },
  2996           "stageName": {
  2997             "location": "uri",
  2998             "locationName": "stage_name"
  2999           },
  3000           "patchOperations": {
  3001             "shape": "S4l"
  3002           }
  3003         }
  3004       },
  3005       "output": {
  3006         "shape": "S19"
  3007       }
  3008     },
  3009     "UpdateUsage": {
  3010       "http": {
  3011         "method": "PATCH",
  3012         "requestUri": "/usageplans/{usageplanId}/keys/{keyId}/usage"
  3013       },
  3014       "input": {
  3015         "type": "structure",
  3016         "required": [
  3017           "usagePlanId",
  3018           "keyId"
  3019         ],
  3020         "members": {
  3021           "usagePlanId": {
  3022             "location": "uri",
  3023             "locationName": "usageplanId"
  3024           },
  3025           "keyId": {
  3026             "location": "uri",
  3027             "locationName": "keyId"
  3028           },
  3029           "patchOperations": {
  3030             "shape": "S4l"
  3031           }
  3032         }
  3033       },
  3034       "output": {
  3035         "shape": "S3r"
  3036       }
  3037     },
  3038     "UpdateUsagePlan": {
  3039       "http": {
  3040         "method": "PATCH",
  3041         "requestUri": "/usageplans/{usageplanId}"
  3042       },
  3043       "input": {
  3044         "type": "structure",
  3045         "required": [
  3046           "usagePlanId"
  3047         ],
  3048         "members": {
  3049           "usagePlanId": {
  3050             "location": "uri",
  3051             "locationName": "usageplanId"
  3052           },
  3053           "patchOperations": {
  3054             "shape": "S4l"
  3055           }
  3056         }
  3057       },
  3058       "output": {
  3059         "shape": "S1m"
  3060       }
  3061     }
  3062   },
  3063   "shapes": {
  3064     "S6": {
  3065       "type": "structure",
  3066       "members": {
  3067         "id": {},
  3068         "value": {},
  3069         "name": {},
  3070         "description": {},
  3071         "enabled": {
  3072           "type": "boolean"
  3073         },
  3074         "createdDate": {
  3075           "type": "timestamp"
  3076         },
  3077         "lastUpdatedDate": {
  3078           "type": "timestamp"
  3079         },
  3080         "stageKeys": {
  3081           "shape": "S8"
  3082         }
  3083       }
  3084     },
  3085     "S8": {
  3086       "type": "list",
  3087       "member": {}
  3088     },
  3089     "Sb": {
  3090       "type": "list",
  3091       "member": {}
  3092     },
  3093     "Se": {
  3094       "type": "structure",
  3095       "members": {
  3096         "id": {},
  3097         "name": {},
  3098         "type": {},
  3099         "providerARNs": {
  3100           "shape": "Sb"
  3101         },
  3102         "authType": {},
  3103         "authorizerUri": {},
  3104         "authorizerCredentials": {},
  3105         "identitySource": {},
  3106         "identityValidationExpression": {},
  3107         "authorizerResultTtlInSeconds": {
  3108           "type": "integer"
  3109         }
  3110       }
  3111     },
  3112     "Sg": {
  3113       "type": "structure",
  3114       "members": {
  3115         "basePath": {},
  3116         "restApiId": {},
  3117         "stage": {}
  3118       }
  3119     },
  3120     "Sk": {
  3121       "type": "map",
  3122       "key": {},
  3123       "value": {}
  3124     },
  3125     "Sl": {
  3126       "type": "structure",
  3127       "members": {
  3128         "id": {},
  3129         "description": {},
  3130         "createdDate": {
  3131           "type": "timestamp"
  3132         },
  3133         "apiSummary": {
  3134           "type": "map",
  3135           "key": {},
  3136           "value": {
  3137             "type": "map",
  3138             "key": {},
  3139             "value": {
  3140               "type": "structure",
  3141               "members": {
  3142                 "authorizationType": {},
  3143                 "apiKeyRequired": {
  3144                   "type": "boolean"
  3145                 }
  3146               }
  3147             }
  3148           }
  3149         }
  3150       }
  3151     },
  3152     "Sq": {
  3153       "type": "structure",
  3154       "members": {
  3155         "domainName": {},
  3156         "certificateName": {},
  3157         "certificateUploadDate": {
  3158           "type": "timestamp"
  3159         },
  3160         "distributionDomainName": {}
  3161       }
  3162     },
  3163     "Ss": {
  3164       "type": "structure",
  3165       "members": {
  3166         "id": {},
  3167         "name": {},
  3168         "description": {},
  3169         "schema": {},
  3170         "contentType": {}
  3171       }
  3172     },
  3173     "Su": {
  3174       "type": "structure",
  3175       "members": {
  3176         "id": {},
  3177         "parentId": {},
  3178         "pathPart": {},
  3179         "path": {},
  3180         "resourceMethods": {
  3181           "type": "map",
  3182           "key": {},
  3183           "value": {
  3184             "shape": "Sw"
  3185           }
  3186         }
  3187       }
  3188     },
  3189     "Sw": {
  3190       "type": "structure",
  3191       "members": {
  3192         "httpMethod": {},
  3193         "authorizationType": {},
  3194         "authorizerId": {},
  3195         "apiKeyRequired": {
  3196           "type": "boolean"
  3197         },
  3198         "requestParameters": {
  3199           "shape": "Sx"
  3200         },
  3201         "requestModels": {
  3202           "shape": "Sk"
  3203         },
  3204         "methodResponses": {
  3205           "type": "map",
  3206           "key": {},
  3207           "value": {
  3208             "shape": "Sz"
  3209           }
  3210         },
  3211         "methodIntegration": {
  3212           "shape": "S11"
  3213         }
  3214       }
  3215     },
  3216     "Sx": {
  3217       "type": "map",
  3218       "key": {},
  3219       "value": {
  3220         "type": "boolean"
  3221       }
  3222     },
  3223     "Sz": {
  3224       "type": "structure",
  3225       "members": {
  3226         "statusCode": {},
  3227         "responseParameters": {
  3228           "shape": "Sx"
  3229         },
  3230         "responseModels": {
  3231           "shape": "Sk"
  3232         }
  3233       }
  3234     },
  3235     "S11": {
  3236       "type": "structure",
  3237       "members": {
  3238         "type": {},
  3239         "httpMethod": {},
  3240         "uri": {},
  3241         "credentials": {},
  3242         "requestParameters": {
  3243           "shape": "Sk"
  3244         },
  3245         "requestTemplates": {
  3246           "shape": "Sk"
  3247         },
  3248         "passthroughBehavior": {},
  3249         "contentHandling": {},
  3250         "cacheNamespace": {},
  3251         "cacheKeyParameters": {
  3252           "shape": "S8"
  3253         },
  3254         "integrationResponses": {
  3255           "type": "map",
  3256           "key": {},
  3257           "value": {
  3258             "shape": "S15"
  3259           }
  3260         }
  3261       }
  3262     },
  3263     "S15": {
  3264       "type": "structure",
  3265       "members": {
  3266         "statusCode": {},
  3267         "selectionPattern": {},
  3268         "responseParameters": {
  3269           "shape": "Sk"
  3270         },
  3271         "responseTemplates": {
  3272           "shape": "Sk"
  3273         },
  3274         "contentHandling": {}
  3275       }
  3276     },
  3277     "S17": {
  3278       "type": "structure",
  3279       "members": {
  3280         "id": {},
  3281         "name": {},
  3282         "description": {},
  3283         "createdDate": {
  3284           "type": "timestamp"
  3285         },
  3286         "warnings": {
  3287           "shape": "S8"
  3288         },
  3289         "binaryMediaTypes": {
  3290           "shape": "S8"
  3291         }
  3292       }
  3293     },
  3294     "S19": {
  3295       "type": "structure",
  3296       "members": {
  3297         "deploymentId": {},
  3298         "clientCertificateId": {},
  3299         "stageName": {},
  3300         "description": {},
  3301         "cacheClusterEnabled": {
  3302           "type": "boolean"
  3303         },
  3304         "cacheClusterSize": {},
  3305         "cacheClusterStatus": {},
  3306         "methodSettings": {
  3307           "type": "map",
  3308           "key": {},
  3309           "value": {
  3310             "type": "structure",
  3311             "members": {
  3312               "metricsEnabled": {
  3313                 "type": "boolean"
  3314               },
  3315               "loggingLevel": {},
  3316               "dataTraceEnabled": {
  3317                 "type": "boolean"
  3318               },
  3319               "throttlingBurstLimit": {
  3320                 "type": "integer"
  3321               },
  3322               "throttlingRateLimit": {
  3323                 "type": "double"
  3324               },
  3325               "cachingEnabled": {
  3326                 "type": "boolean"
  3327               },
  3328               "cacheTtlInSeconds": {
  3329                 "type": "integer"
  3330               },
  3331               "cacheDataEncrypted": {
  3332                 "type": "boolean"
  3333               },
  3334               "requireAuthorizationForCacheControl": {
  3335                 "type": "boolean"
  3336               },
  3337               "unauthorizedCacheControlHeaderStrategy": {}
  3338             }
  3339           }
  3340         },
  3341         "variables": {
  3342           "shape": "Sk"
  3343         },
  3344         "createdDate": {
  3345           "type": "timestamp"
  3346         },
  3347         "lastUpdatedDate": {
  3348           "type": "timestamp"
  3349         }
  3350       }
  3351     },
  3352     "S1h": {
  3353       "type": "list",
  3354       "member": {
  3355         "type": "structure",
  3356         "members": {
  3357           "apiId": {},
  3358           "stage": {}
  3359         }
  3360       }
  3361     },
  3362     "S1j": {
  3363       "type": "structure",
  3364       "members": {
  3365         "burstLimit": {
  3366           "type": "integer"
  3367         },
  3368         "rateLimit": {
  3369           "type": "double"
  3370         }
  3371       }
  3372     },
  3373     "S1k": {
  3374       "type": "structure",
  3375       "members": {
  3376         "limit": {
  3377           "type": "integer"
  3378         },
  3379         "offset": {
  3380           "type": "integer"
  3381         },
  3382         "period": {}
  3383       }
  3384     },
  3385     "S1m": {
  3386       "type": "structure",
  3387       "members": {
  3388         "id": {},
  3389         "name": {},
  3390         "description": {},
  3391         "apiStages": {
  3392           "shape": "S1h"
  3393         },
  3394         "throttle": {
  3395           "shape": "S1j"
  3396         },
  3397         "quota": {
  3398           "shape": "S1k"
  3399         }
  3400       }
  3401     },
  3402     "S1o": {
  3403       "type": "structure",
  3404       "members": {
  3405         "id": {},
  3406         "type": {},
  3407         "value": {},
  3408         "name": {}
  3409       }
  3410     },
  3411     "S28": {
  3412       "type": "structure",
  3413       "members": {
  3414         "clientCertificateId": {},
  3415         "description": {},
  3416         "pemEncodedCertificate": {},
  3417         "createdDate": {
  3418           "type": "timestamp"
  3419         },
  3420         "expirationDate": {
  3421           "type": "timestamp"
  3422         }
  3423       }
  3424     },
  3425     "S2a": {
  3426       "type": "structure",
  3427       "members": {
  3428         "cloudwatchRoleArn": {},
  3429         "throttleSettings": {
  3430           "shape": "S1j"
  3431         },
  3432         "features": {
  3433           "shape": "S8"
  3434         },
  3435         "apiKeyVersion": {}
  3436       }
  3437     },
  3438     "S3r": {
  3439       "type": "structure",
  3440       "members": {
  3441         "usagePlanId": {},
  3442         "startDate": {},
  3443         "endDate": {},
  3444         "position": {},
  3445         "items": {
  3446           "locationName": "values",
  3447           "type": "map",
  3448           "key": {},
  3449           "value": {
  3450             "type": "list",
  3451             "member": {
  3452               "type": "list",
  3453               "member": {
  3454                 "type": "long"
  3455               }
  3456             }
  3457           }
  3458         }
  3459       }
  3460     },
  3461     "S4f": {
  3462       "type": "map",
  3463       "key": {},
  3464       "value": {}
  3465     },
  3466     "S4l": {
  3467       "type": "list",
  3468       "member": {
  3469         "type": "structure",
  3470         "members": {
  3471           "op": {},
  3472           "path": {},
  3473           "value": {},
  3474           "from": {}
  3475         }
  3476       }
  3477     }
  3478   }
  3479 }
  3480 },{}],4:[function(require,module,exports){
  3481 module.exports={
  3482   "pagination": {
  3483     "GetApiKeys": {
  3484       "input_token": "position",
  3485       "output_token": "position",
  3486       "limit_key": "limit",
  3487       "result_key": "items"
  3488     },
  3489     "GetBasePathMappings": {
  3490       "input_token": "position",
  3491       "output_token": "position",
  3492       "limit_key": "limit",
  3493       "result_key": "items"
  3494     },
  3495     "GetClientCertificates": {
  3496       "input_token": "position",
  3497       "output_token": "position",
  3498       "limit_key": "limit",
  3499       "result_key": "items"
  3500     },
  3501     "GetDeployments": {
  3502       "input_token": "position",
  3503       "output_token": "position",
  3504       "limit_key": "limit",
  3505       "result_key": "items"
  3506     },
  3507     "GetDomainNames": {
  3508       "input_token": "position",
  3509       "output_token": "position",
  3510       "limit_key": "limit",
  3511       "result_key": "items"
  3512     },
  3513     "GetModels": {
  3514       "input_token": "position",
  3515       "output_token": "position",
  3516       "limit_key": "limit",
  3517       "result_key": "items"
  3518     },
  3519     "GetResources": {
  3520       "input_token": "position",
  3521       "output_token": "position",
  3522       "limit_key": "limit",
  3523       "result_key": "items"
  3524     },
  3525     "GetRestApis": {
  3526       "input_token": "position",
  3527       "output_token": "position",
  3528       "limit_key": "limit",
  3529       "result_key": "items"
  3530     },
  3531     "GetUsage": {
  3532       "input_token": "position",
  3533       "output_token": "position",
  3534       "limit_key": "limit",
  3535       "result_key": "items"
  3536     },
  3537     "GetUsagePlans": {
  3538       "input_token": "position",
  3539       "output_token": "position",
  3540       "limit_key": "limit",
  3541       "result_key": "items"
  3542     },
  3543     "GetUsagePlanKeys": {
  3544       "input_token": "position",
  3545       "output_token": "position",
  3546       "limit_key": "limit",
  3547       "result_key": "items"
  3548     }
  3549   }
  3550 }
  3551 
  3552 },{}],5:[function(require,module,exports){
  3553 module.exports={
  3554   "version": "2.0",
  3555   "metadata": {
  3556     "apiVersion": "2016-02-06",
  3557     "endpointPrefix": "autoscaling",
  3558     "jsonVersion": "1.1",
  3559     "protocol": "json",
  3560     "serviceFullName": "Application Auto Scaling",
  3561     "signatureVersion": "v4",
  3562     "signingName": "application-autoscaling",
  3563     "targetPrefix": "AnyScaleFrontendService"
  3564   },
  3565   "operations": {
  3566     "DeleteScalingPolicy": {
  3567       "input": {
  3568         "type": "structure",
  3569         "required": [
  3570           "PolicyName",
  3571           "ServiceNamespace",
  3572           "ResourceId",
  3573           "ScalableDimension"
  3574         ],
  3575         "members": {
  3576           "PolicyName": {},
  3577           "ServiceNamespace": {},
  3578           "ResourceId": {},
  3579           "ScalableDimension": {}
  3580         }
  3581       },
  3582       "output": {
  3583         "type": "structure",
  3584         "members": {}
  3585       }
  3586     },
  3587     "DeregisterScalableTarget": {
  3588       "input": {
  3589         "type": "structure",
  3590         "required": [
  3591           "ServiceNamespace",
  3592           "ResourceId",
  3593           "ScalableDimension"
  3594         ],
  3595         "members": {
  3596           "ServiceNamespace": {},
  3597           "ResourceId": {},
  3598           "ScalableDimension": {}
  3599         }
  3600       },
  3601       "output": {
  3602         "type": "structure",
  3603         "members": {}
  3604       }
  3605     },
  3606     "DescribeScalableTargets": {
  3607       "input": {
  3608         "type": "structure",
  3609         "required": [
  3610           "ServiceNamespace"
  3611         ],
  3612         "members": {
  3613           "ServiceNamespace": {},
  3614           "ResourceIds": {
  3615             "shape": "S9"
  3616           },
  3617           "ScalableDimension": {},
  3618           "MaxResults": {
  3619             "type": "integer"
  3620           },
  3621           "NextToken": {}
  3622         }
  3623       },
  3624       "output": {
  3625         "type": "structure",
  3626         "members": {
  3627           "ScalableTargets": {
  3628             "type": "list",
  3629             "member": {
  3630               "type": "structure",
  3631               "required": [
  3632                 "ServiceNamespace",
  3633                 "ResourceId",
  3634                 "ScalableDimension",
  3635                 "MinCapacity",
  3636                 "MaxCapacity",
  3637                 "RoleARN",
  3638                 "CreationTime"
  3639               ],
  3640               "members": {
  3641                 "ServiceNamespace": {},
  3642                 "ResourceId": {},
  3643                 "ScalableDimension": {},
  3644                 "MinCapacity": {
  3645                   "type": "integer"
  3646                 },
  3647                 "MaxCapacity": {
  3648                   "type": "integer"
  3649                 },
  3650                 "RoleARN": {},
  3651                 "CreationTime": {
  3652                   "type": "timestamp"
  3653                 }
  3654               }
  3655             }
  3656           },
  3657           "NextToken": {}
  3658         }
  3659       }
  3660     },
  3661     "DescribeScalingActivities": {
  3662       "input": {
  3663         "type": "structure",
  3664         "required": [
  3665           "ServiceNamespace"
  3666         ],
  3667         "members": {
  3668           "ServiceNamespace": {},
  3669           "ResourceId": {},
  3670           "ScalableDimension": {},
  3671           "MaxResults": {
  3672             "type": "integer"
  3673           },
  3674           "NextToken": {}
  3675         }
  3676       },
  3677       "output": {
  3678         "type": "structure",
  3679         "members": {
  3680           "ScalingActivities": {
  3681             "type": "list",
  3682             "member": {
  3683               "type": "structure",
  3684               "required": [
  3685                 "ActivityId",
  3686                 "ServiceNamespace",
  3687                 "ResourceId",
  3688                 "ScalableDimension",
  3689                 "Description",
  3690                 "Cause",
  3691                 "StartTime",
  3692                 "StatusCode"
  3693               ],
  3694               "members": {
  3695                 "ActivityId": {},
  3696                 "ServiceNamespace": {},
  3697                 "ResourceId": {},
  3698                 "ScalableDimension": {},
  3699                 "Description": {},
  3700                 "Cause": {},
  3701                 "StartTime": {
  3702                   "type": "timestamp"
  3703                 },
  3704                 "EndTime": {
  3705                   "type": "timestamp"
  3706                 },
  3707                 "StatusCode": {},
  3708                 "StatusMessage": {},
  3709                 "Details": {}
  3710               }
  3711             }
  3712           },
  3713           "NextToken": {}
  3714         }
  3715       }
  3716     },
  3717     "DescribeScalingPolicies": {
  3718       "input": {
  3719         "type": "structure",
  3720         "required": [
  3721           "ServiceNamespace"
  3722         ],
  3723         "members": {
  3724           "PolicyNames": {
  3725             "shape": "S9"
  3726           },
  3727           "ServiceNamespace": {},
  3728           "ResourceId": {},
  3729           "ScalableDimension": {},
  3730           "MaxResults": {
  3731             "type": "integer"
  3732           },
  3733           "NextToken": {}
  3734         }
  3735       },
  3736       "output": {
  3737         "type": "structure",
  3738         "members": {
  3739           "ScalingPolicies": {
  3740             "type": "list",
  3741             "member": {
  3742               "type": "structure",
  3743               "required": [
  3744                 "PolicyARN",
  3745                 "PolicyName",
  3746                 "ServiceNamespace",
  3747                 "ResourceId",
  3748                 "ScalableDimension",
  3749                 "PolicyType",
  3750                 "CreationTime"
  3751               ],
  3752               "members": {
  3753                 "PolicyARN": {},
  3754                 "PolicyName": {},
  3755                 "ServiceNamespace": {},
  3756                 "ResourceId": {},
  3757                 "ScalableDimension": {},
  3758                 "PolicyType": {},
  3759                 "StepScalingPolicyConfiguration": {
  3760                   "shape": "St"
  3761                 },
  3762                 "Alarms": {
  3763                   "type": "list",
  3764                   "member": {
  3765                     "type": "structure",
  3766                     "required": [
  3767                       "AlarmName",
  3768                       "AlarmARN"
  3769                     ],
  3770                     "members": {
  3771                       "AlarmName": {},
  3772                       "AlarmARN": {}
  3773                     }
  3774                   }
  3775                 },
  3776                 "CreationTime": {
  3777                   "type": "timestamp"
  3778                 }
  3779               }
  3780             }
  3781           },
  3782           "NextToken": {}
  3783         }
  3784       }
  3785     },
  3786     "PutScalingPolicy": {
  3787       "input": {
  3788         "type": "structure",
  3789         "required": [
  3790           "PolicyName",
  3791           "ServiceNamespace",
  3792           "ResourceId",
  3793           "ScalableDimension"
  3794         ],
  3795         "members": {
  3796           "PolicyName": {},
  3797           "ServiceNamespace": {},
  3798           "ResourceId": {},
  3799           "ScalableDimension": {},
  3800           "PolicyType": {},
  3801           "StepScalingPolicyConfiguration": {
  3802             "shape": "St"
  3803           }
  3804         }
  3805       },
  3806       "output": {
  3807         "type": "structure",
  3808         "required": [
  3809           "PolicyARN"
  3810         ],
  3811         "members": {
  3812           "PolicyARN": {}
  3813         }
  3814       }
  3815     },
  3816     "RegisterScalableTarget": {
  3817       "input": {
  3818         "type": "structure",
  3819         "required": [
  3820           "ServiceNamespace",
  3821           "ResourceId",
  3822           "ScalableDimension"
  3823         ],
  3824         "members": {
  3825           "ServiceNamespace": {},
  3826           "ResourceId": {},
  3827           "ScalableDimension": {},
  3828           "MinCapacity": {
  3829             "type": "integer"
  3830           },
  3831           "MaxCapacity": {
  3832             "type": "integer"
  3833           },
  3834           "RoleARN": {}
  3835         }
  3836       },
  3837       "output": {
  3838         "type": "structure",
  3839         "members": {}
  3840       }
  3841     }
  3842   },
  3843   "shapes": {
  3844     "S9": {
  3845       "type": "list",
  3846       "member": {}
  3847     },
  3848     "St": {
  3849       "type": "structure",
  3850       "members": {
  3851         "AdjustmentType": {},
  3852         "StepAdjustments": {
  3853           "type": "list",
  3854           "member": {
  3855             "type": "structure",
  3856             "required": [
  3857               "ScalingAdjustment"
  3858             ],
  3859             "members": {
  3860               "MetricIntervalLowerBound": {
  3861                 "type": "double"
  3862               },
  3863               "MetricIntervalUpperBound": {
  3864                 "type": "double"
  3865               },
  3866               "ScalingAdjustment": {
  3867                 "type": "integer"
  3868               }
  3869             }
  3870           }
  3871         },
  3872         "MinAdjustmentMagnitude": {
  3873           "type": "integer"
  3874         },
  3875         "Cooldown": {
  3876           "type": "integer"
  3877         },
  3878         "MetricAggregationType": {}
  3879       }
  3880     }
  3881   }
  3882 }
  3883 },{}],6:[function(require,module,exports){
  3884 module.exports={
  3885   "pagination": {
  3886     "DescribeScalableTargets": {
  3887       "input_token": "NextToken",
  3888       "output_token": "NextToken",
  3889       "limit_key": "MaxResults",
  3890       "result_key": "ScalableTargets"
  3891     },
  3892     "DescribeScalingPolicies": {
  3893       "input_token": "NextToken",
  3894       "output_token": "NextToken",
  3895       "limit_key": "MaxResults",
  3896       "result_key": "ScalingPolicies"
  3897     },
  3898     "DescribeScalingActivities": {
  3899       "input_token": "NextToken",
  3900       "output_token": "NextToken",
  3901       "limit_key": "MaxResults",
  3902       "result_key": "ScalingActivities"
  3903     }
  3904   }
  3905 }
  3906 
  3907 },{}],7:[function(require,module,exports){
  3908 module.exports={
  3909   "version": "2.0",
  3910   "metadata": {
  3911     "apiVersion": "2011-01-01",
  3912     "endpointPrefix": "autoscaling",
  3913     "protocol": "query",
  3914     "serviceFullName": "Auto Scaling",
  3915     "signatureVersion": "v4",
  3916     "xmlNamespace": "http://autoscaling.amazonaws.com/doc/2011-01-01/"
  3917   },
  3918   "operations": {
  3919     "AttachInstances": {
  3920       "input": {
  3921         "type": "structure",
  3922         "required": [
  3923           "AutoScalingGroupName"
  3924         ],
  3925         "members": {
  3926           "InstanceIds": {
  3927             "shape": "S2"
  3928           },
  3929           "AutoScalingGroupName": {}
  3930         }
  3931       }
  3932     },
  3933     "AttachLoadBalancerTargetGroups": {
  3934       "input": {
  3935         "type": "structure",
  3936         "required": [
  3937           "AutoScalingGroupName",
  3938           "TargetGroupARNs"
  3939         ],
  3940         "members": {
  3941           "AutoScalingGroupName": {},
  3942           "TargetGroupARNs": {
  3943             "shape": "S6"
  3944           }
  3945         }
  3946       },
  3947       "output": {
  3948         "resultWrapper": "AttachLoadBalancerTargetGroupsResult",
  3949         "type": "structure",
  3950         "members": {}
  3951       }
  3952     },
  3953     "AttachLoadBalancers": {
  3954       "input": {
  3955         "type": "structure",
  3956         "required": [
  3957           "AutoScalingGroupName",
  3958           "LoadBalancerNames"
  3959         ],
  3960         "members": {
  3961           "AutoScalingGroupName": {},
  3962           "LoadBalancerNames": {
  3963             "shape": "Sa"
  3964           }
  3965         }
  3966       },
  3967       "output": {
  3968         "resultWrapper": "AttachLoadBalancersResult",
  3969         "type": "structure",
  3970         "members": {}
  3971       }
  3972     },
  3973     "CompleteLifecycleAction": {
  3974       "input": {
  3975         "type": "structure",
  3976         "required": [
  3977           "LifecycleHookName",
  3978           "AutoScalingGroupName",
  3979           "LifecycleActionResult"
  3980         ],
  3981         "members": {
  3982           "LifecycleHookName": {},
  3983           "AutoScalingGroupName": {},
  3984           "LifecycleActionToken": {},
  3985           "LifecycleActionResult": {},
  3986           "InstanceId": {}
  3987         }
  3988       },
  3989       "output": {
  3990         "resultWrapper": "CompleteLifecycleActionResult",
  3991         "type": "structure",
  3992         "members": {}
  3993       }
  3994     },
  3995     "CreateAutoScalingGroup": {
  3996       "input": {
  3997         "type": "structure",
  3998         "required": [
  3999           "AutoScalingGroupName",
  4000           "MinSize",
  4001           "MaxSize"
  4002         ],
  4003         "members": {
  4004           "AutoScalingGroupName": {},
  4005           "LaunchConfigurationName": {},
  4006           "InstanceId": {},
  4007           "MinSize": {
  4008             "type": "integer"
  4009           },
  4010           "MaxSize": {
  4011             "type": "integer"
  4012           },
  4013           "DesiredCapacity": {
  4014             "type": "integer"
  4015           },
  4016           "DefaultCooldown": {
  4017             "type": "integer"
  4018           },
  4019           "AvailabilityZones": {
  4020             "shape": "Sn"
  4021           },
  4022           "LoadBalancerNames": {
  4023             "shape": "Sa"
  4024           },
  4025           "TargetGroupARNs": {
  4026             "shape": "S6"
  4027           },
  4028           "HealthCheckType": {},
  4029           "HealthCheckGracePeriod": {
  4030             "type": "integer"
  4031           },
  4032           "PlacementGroup": {},
  4033           "VPCZoneIdentifier": {},
  4034           "TerminationPolicies": {
  4035             "shape": "Sr"
  4036           },
  4037           "NewInstancesProtectedFromScaleIn": {
  4038             "type": "boolean"
  4039           },
  4040           "Tags": {
  4041             "shape": "Su"
  4042           }
  4043         }
  4044       }
  4045     },
  4046     "CreateLaunchConfiguration": {
  4047       "input": {
  4048         "type": "structure",
  4049         "required": [
  4050           "LaunchConfigurationName"
  4051         ],
  4052         "members": {
  4053           "LaunchConfigurationName": {},
  4054           "ImageId": {},
  4055           "KeyName": {},
  4056           "SecurityGroups": {
  4057             "shape": "S11"
  4058           },
  4059           "ClassicLinkVPCId": {},
  4060           "ClassicLinkVPCSecurityGroups": {
  4061             "shape": "S12"
  4062           },
  4063           "UserData": {},
  4064           "InstanceId": {},
  4065           "InstanceType": {},
  4066           "KernelId": {},
  4067           "RamdiskId": {},
  4068           "BlockDeviceMappings": {
  4069             "shape": "S14"
  4070           },
  4071           "InstanceMonitoring": {
  4072             "shape": "S1d"
  4073           },
  4074           "SpotPrice": {},
  4075           "IamInstanceProfile": {},
  4076           "EbsOptimized": {
  4077             "type": "boolean"
  4078           },
  4079           "AssociatePublicIpAddress": {
  4080             "type": "boolean"
  4081           },
  4082           "PlacementTenancy": {}
  4083         }
  4084       }
  4085     },
  4086     "CreateOrUpdateTags": {
  4087       "input": {
  4088         "type": "structure",
  4089         "required": [
  4090           "Tags"
  4091         ],
  4092         "members": {
  4093           "Tags": {
  4094             "shape": "Su"
  4095           }
  4096         }
  4097       }
  4098     },
  4099     "DeleteAutoScalingGroup": {
  4100       "input": {
  4101         "type": "structure",
  4102         "required": [
  4103           "AutoScalingGroupName"
  4104         ],
  4105         "members": {
  4106           "AutoScalingGroupName": {},
  4107           "ForceDelete": {
  4108             "type": "boolean"
  4109           }
  4110         }
  4111       }
  4112     },
  4113     "DeleteLaunchConfiguration": {
  4114       "input": {
  4115         "type": "structure",
  4116         "required": [
  4117           "LaunchConfigurationName"
  4118         ],
  4119         "members": {
  4120           "LaunchConfigurationName": {}
  4121         }
  4122       }
  4123     },
  4124     "DeleteLifecycleHook": {
  4125       "input": {
  4126         "type": "structure",
  4127         "required": [
  4128           "LifecycleHookName",
  4129           "AutoScalingGroupName"
  4130         ],
  4131         "members": {
  4132           "LifecycleHookName": {},
  4133           "AutoScalingGroupName": {}
  4134         }
  4135       },
  4136       "output": {
  4137         "resultWrapper": "DeleteLifecycleHookResult",
  4138         "type": "structure",
  4139         "members": {}
  4140       }
  4141     },
  4142     "DeleteNotificationConfiguration": {
  4143       "input": {
  4144         "type": "structure",
  4145         "required": [
  4146           "AutoScalingGroupName",
  4147           "TopicARN"
  4148         ],
  4149         "members": {
  4150           "AutoScalingGroupName": {},
  4151           "TopicARN": {}
  4152         }
  4153       }
  4154     },
  4155     "DeletePolicy": {
  4156       "input": {
  4157         "type": "structure",
  4158         "required": [
  4159           "PolicyName"
  4160         ],
  4161         "members": {
  4162           "AutoScalingGroupName": {},
  4163           "PolicyName": {}
  4164         }
  4165       }
  4166     },
  4167     "DeleteScheduledAction": {
  4168       "input": {
  4169         "type": "structure",
  4170         "required": [
  4171           "AutoScalingGroupName",
  4172           "ScheduledActionName"
  4173         ],
  4174         "members": {
  4175           "AutoScalingGroupName": {},
  4176           "ScheduledActionName": {}
  4177         }
  4178       }
  4179     },
  4180     "DeleteTags": {
  4181       "input": {
  4182         "type": "structure",
  4183         "required": [
  4184           "Tags"
  4185         ],
  4186         "members": {
  4187           "Tags": {
  4188             "shape": "Su"
  4189           }
  4190         }
  4191       }
  4192     },
  4193     "DescribeAccountLimits": {
  4194       "output": {
  4195         "resultWrapper": "DescribeAccountLimitsResult",
  4196         "type": "structure",
  4197         "members": {
  4198           "MaxNumberOfAutoScalingGroups": {
  4199             "type": "integer"
  4200           },
  4201           "MaxNumberOfLaunchConfigurations": {
  4202             "type": "integer"
  4203           },
  4204           "NumberOfAutoScalingGroups": {
  4205             "type": "integer"
  4206           },
  4207           "NumberOfLaunchConfigurations": {
  4208             "type": "integer"
  4209           }
  4210         }
  4211       }
  4212     },
  4213     "DescribeAdjustmentTypes": {
  4214       "output": {
  4215         "resultWrapper": "DescribeAdjustmentTypesResult",
  4216         "type": "structure",
  4217         "members": {
  4218           "AdjustmentTypes": {
  4219             "type": "list",
  4220             "member": {
  4221               "type": "structure",
  4222               "members": {
  4223                 "AdjustmentType": {}
  4224               }
  4225             }
  4226           }
  4227         }
  4228       }
  4229     },
  4230     "DescribeAutoScalingGroups": {
  4231       "input": {
  4232         "type": "structure",
  4233         "members": {
  4234           "AutoScalingGroupNames": {
  4235             "shape": "S22"
  4236           },
  4237           "NextToken": {},
  4238           "MaxRecords": {
  4239             "type": "integer"
  4240           }
  4241         }
  4242       },
  4243       "output": {
  4244         "resultWrapper": "DescribeAutoScalingGroupsResult",
  4245         "type": "structure",
  4246         "required": [
  4247           "AutoScalingGroups"
  4248         ],
  4249         "members": {
  4250           "AutoScalingGroups": {
  4251             "type": "list",
  4252             "member": {
  4253               "type": "structure",
  4254               "required": [
  4255                 "AutoScalingGroupName",
  4256                 "MinSize",
  4257                 "MaxSize",
  4258                 "DesiredCapacity",
  4259                 "DefaultCooldown",
  4260                 "AvailabilityZones",
  4261                 "HealthCheckType",
  4262                 "CreatedTime"
  4263               ],
  4264               "members": {
  4265                 "AutoScalingGroupName": {},
  4266                 "AutoScalingGroupARN": {},
  4267                 "LaunchConfigurationName": {},
  4268                 "MinSize": {
  4269                   "type": "integer"
  4270                 },
  4271                 "MaxSize": {
  4272                   "type": "integer"
  4273                 },
  4274                 "DesiredCapacity": {
  4275                   "type": "integer"
  4276                 },
  4277                 "DefaultCooldown": {
  4278                   "type": "integer"
  4279                 },
  4280                 "AvailabilityZones": {
  4281                   "shape": "Sn"
  4282                 },
  4283                 "LoadBalancerNames": {
  4284                   "shape": "Sa"
  4285                 },
  4286                 "TargetGroupARNs": {
  4287                   "shape": "S6"
  4288                 },
  4289                 "HealthCheckType": {},
  4290                 "HealthCheckGracePeriod": {
  4291                   "type": "integer"
  4292                 },
  4293                 "Instances": {
  4294                   "type": "list",
  4295                   "member": {
  4296                     "type": "structure",
  4297                     "required": [
  4298                       "InstanceId",
  4299                       "AvailabilityZone",
  4300                       "LifecycleState",
  4301                       "HealthStatus",
  4302                       "LaunchConfigurationName",
  4303                       "ProtectedFromScaleIn"
  4304                     ],
  4305                     "members": {
  4306                       "InstanceId": {},
  4307                       "AvailabilityZone": {},
  4308                       "LifecycleState": {},
  4309                       "HealthStatus": {},
  4310                       "LaunchConfigurationName": {},
  4311                       "ProtectedFromScaleIn": {
  4312                         "type": "boolean"
  4313                       }
  4314                     }
  4315                   }
  4316                 },
  4317                 "CreatedTime": {
  4318                   "type": "timestamp"
  4319                 },
  4320                 "SuspendedProcesses": {
  4321                   "type": "list",
  4322                   "member": {
  4323                     "type": "structure",
  4324                     "members": {
  4325                       "ProcessName": {},
  4326                       "SuspensionReason": {}
  4327                     }
  4328                   }
  4329                 },
  4330                 "PlacementGroup": {},
  4331                 "VPCZoneIdentifier": {},
  4332                 "EnabledMetrics": {
  4333                   "type": "list",
  4334                   "member": {
  4335                     "type": "structure",
  4336                     "members": {
  4337                       "Metric": {},
  4338                       "Granularity": {}
  4339                     }
  4340                   }
  4341                 },
  4342                 "Status": {},
  4343                 "Tags": {
  4344                   "shape": "S2f"
  4345                 },
  4346                 "TerminationPolicies": {
  4347                   "shape": "Sr"
  4348                 },
  4349                 "NewInstancesProtectedFromScaleIn": {
  4350                   "type": "boolean"
  4351                 }
  4352               }
  4353             }
  4354           },
  4355           "NextToken": {}
  4356         }
  4357       }
  4358     },
  4359     "DescribeAutoScalingInstances": {
  4360       "input": {
  4361         "type": "structure",
  4362         "members": {
  4363           "InstanceIds": {
  4364             "shape": "S2"
  4365           },
  4366           "MaxRecords": {
  4367             "type": "integer"
  4368           },
  4369           "NextToken": {}
  4370         }
  4371       },
  4372       "output": {
  4373         "resultWrapper": "DescribeAutoScalingInstancesResult",
  4374         "type": "structure",
  4375         "members": {
  4376           "AutoScalingInstances": {
  4377             "type": "list",
  4378             "member": {
  4379               "type": "structure",
  4380               "required": [
  4381                 "InstanceId",
  4382                 "AutoScalingGroupName",
  4383                 "AvailabilityZone",
  4384                 "LifecycleState",
  4385                 "HealthStatus",
  4386                 "LaunchConfigurationName",
  4387                 "ProtectedFromScaleIn"
  4388               ],
  4389               "members": {
  4390                 "InstanceId": {},
  4391                 "AutoScalingGroupName": {},
  4392                 "AvailabilityZone": {},
  4393                 "LifecycleState": {},
  4394                 "HealthStatus": {},
  4395                 "LaunchConfigurationName": {},
  4396                 "ProtectedFromScaleIn": {
  4397                   "type": "boolean"
  4398                 }
  4399               }
  4400             }
  4401           },
  4402           "NextToken": {}
  4403         }
  4404       }
  4405     },
  4406     "DescribeAutoScalingNotificationTypes": {
  4407       "output": {
  4408         "resultWrapper": "DescribeAutoScalingNotificationTypesResult",
  4409         "type": "structure",
  4410         "members": {
  4411           "AutoScalingNotificationTypes": {
  4412             "shape": "S2m"
  4413           }
  4414         }
  4415       }
  4416     },
  4417     "DescribeLaunchConfigurations": {
  4418       "input": {
  4419         "type": "structure",
  4420         "members": {
  4421           "LaunchConfigurationNames": {
  4422             "type": "list",
  4423             "member": {}
  4424           },
  4425           "NextToken": {},
  4426           "MaxRecords": {
  4427             "type": "integer"
  4428           }
  4429         }
  4430       },
  4431       "output": {
  4432         "resultWrapper": "DescribeLaunchConfigurationsResult",
  4433         "type": "structure",
  4434         "required": [
  4435           "LaunchConfigurations"
  4436         ],
  4437         "members": {
  4438           "LaunchConfigurations": {
  4439             "type": "list",
  4440             "member": {
  4441               "type": "structure",
  4442               "required": [
  4443                 "LaunchConfigurationName",
  4444                 "ImageId",
  4445                 "InstanceType",
  4446                 "CreatedTime"
  4447               ],
  4448               "members": {
  4449                 "LaunchConfigurationName": {},
  4450                 "LaunchConfigurationARN": {},
  4451                 "ImageId": {},
  4452                 "KeyName": {},
  4453                 "SecurityGroups": {
  4454                   "shape": "S11"
  4455                 },
  4456                 "ClassicLinkVPCId": {},
  4457                 "ClassicLinkVPCSecurityGroups": {
  4458                   "shape": "S12"
  4459                 },
  4460                 "UserData": {},
  4461                 "InstanceType": {},
  4462                 "KernelId": {},
  4463                 "RamdiskId": {},
  4464                 "BlockDeviceMappings": {
  4465                   "shape": "S14"
  4466                 },
  4467                 "InstanceMonitoring": {
  4468                   "shape": "S1d"
  4469                 },
  4470                 "SpotPrice": {},
  4471                 "IamInstanceProfile": {},
  4472                 "CreatedTime": {
  4473                   "type": "timestamp"
  4474                 },
  4475                 "EbsOptimized": {
  4476                   "type": "boolean"
  4477                 },
  4478                 "AssociatePublicIpAddress": {
  4479                   "type": "boolean"
  4480                 },
  4481                 "PlacementTenancy": {}
  4482               }
  4483             }
  4484           },
  4485           "NextToken": {}
  4486         }
  4487       }
  4488     },
  4489     "DescribeLifecycleHookTypes": {
  4490       "output": {
  4491         "resultWrapper": "DescribeLifecycleHookTypesResult",
  4492         "type": "structure",
  4493         "members": {
  4494           "LifecycleHookTypes": {
  4495             "shape": "S2m"
  4496           }
  4497         }
  4498       }
  4499     },
  4500     "DescribeLifecycleHooks": {
  4501       "input": {
  4502         "type": "structure",
  4503         "required": [
  4504           "AutoScalingGroupName"
  4505         ],
  4506         "members": {
  4507           "AutoScalingGroupName": {},
  4508           "LifecycleHookNames": {
  4509             "type": "list",
  4510             "member": {}
  4511           }
  4512         }
  4513       },
  4514       "output": {
  4515         "resultWrapper": "DescribeLifecycleHooksResult",
  4516         "type": "structure",
  4517         "members": {
  4518           "LifecycleHooks": {
  4519             "type": "list",
  4520             "member": {
  4521               "type": "structure",
  4522               "members": {
  4523                 "LifecycleHookName": {},
  4524                 "AutoScalingGroupName": {},
  4525                 "LifecycleTransition": {},
  4526                 "NotificationTargetARN": {},
  4527                 "RoleARN": {},
  4528                 "NotificationMetadata": {},
  4529                 "HeartbeatTimeout": {
  4530                   "type": "integer"
  4531                 },
  4532                 "GlobalTimeout": {
  4533                   "type": "integer"
  4534                 },
  4535                 "DefaultResult": {}
  4536               }
  4537             }
  4538           }
  4539         }
  4540       }
  4541     },
  4542     "DescribeLoadBalancerTargetGroups": {
  4543       "input": {
  4544         "type": "structure",
  4545         "required": [
  4546           "AutoScalingGroupName"
  4547         ],
  4548         "members": {
  4549           "AutoScalingGroupName": {},
  4550           "NextToken": {},
  4551           "MaxRecords": {
  4552             "type": "integer"
  4553           }
  4554         }
  4555       },
  4556       "output": {
  4557         "resultWrapper": "DescribeLoadBalancerTargetGroupsResult",
  4558         "type": "structure",
  4559         "members": {
  4560           "LoadBalancerTargetGroups": {
  4561             "type": "list",
  4562             "member": {
  4563               "type": "structure",
  4564               "members": {
  4565                 "LoadBalancerTargetGroupARN": {},
  4566                 "State": {}
  4567               }
  4568             }
  4569           },
  4570           "NextToken": {}
  4571         }
  4572       }
  4573     },
  4574     "DescribeLoadBalancers": {
  4575       "input": {
  4576         "type": "structure",
  4577         "required": [
  4578           "AutoScalingGroupName"
  4579         ],
  4580         "members": {
  4581           "AutoScalingGroupName": {},
  4582           "NextToken": {},
  4583           "MaxRecords": {
  4584             "type": "integer"
  4585           }
  4586         }
  4587       },
  4588       "output": {
  4589         "resultWrapper": "DescribeLoadBalancersResult",
  4590         "type": "structure",
  4591         "members": {
  4592           "LoadBalancers": {
  4593             "type": "list",
  4594             "member": {
  4595               "type": "structure",
  4596               "members": {
  4597                 "LoadBalancerName": {},
  4598                 "State": {}
  4599               }
  4600             }
  4601           },
  4602           "NextToken": {}
  4603         }
  4604       }
  4605     },
  4606     "DescribeMetricCollectionTypes": {
  4607       "output": {
  4608         "resultWrapper": "DescribeMetricCollectionTypesResult",
  4609         "type": "structure",
  4610         "members": {
  4611           "Metrics": {
  4612             "type": "list",
  4613             "member": {
  4614               "type": "structure",
  4615               "members": {
  4616                 "Metric": {}
  4617               }
  4618             }
  4619           },
  4620           "Granularities": {
  4621             "type": "list",
  4622             "member": {
  4623               "type": "structure",
  4624               "members": {
  4625                 "Granularity": {}
  4626               }
  4627             }
  4628           }
  4629         }
  4630       }
  4631     },
  4632     "DescribeNotificationConfigurations": {
  4633       "input": {
  4634         "type": "structure",
  4635         "members": {
  4636           "AutoScalingGroupNames": {
  4637             "shape": "S22"
  4638           },
  4639           "NextToken": {},
  4640           "MaxRecords": {
  4641             "type": "integer"
  4642           }
  4643         }
  4644       },
  4645       "output": {
  4646         "resultWrapper": "DescribeNotificationConfigurationsResult",
  4647         "type": "structure",
  4648         "required": [
  4649           "NotificationConfigurations"
  4650         ],
  4651         "members": {
  4652           "NotificationConfigurations": {
  4653             "type": "list",
  4654             "member": {
  4655               "type": "structure",
  4656               "members": {
  4657                 "AutoScalingGroupName": {},
  4658                 "TopicARN": {},
  4659                 "NotificationType": {}
  4660               }
  4661             }
  4662           },
  4663           "NextToken": {}
  4664         }
  4665       }
  4666     },
  4667     "DescribePolicies": {
  4668       "input": {
  4669         "type": "structure",
  4670         "members": {
  4671           "AutoScalingGroupName": {},
  4672           "PolicyNames": {
  4673             "type": "list",
  4674             "member": {}
  4675           },
  4676           "PolicyTypes": {
  4677             "type": "list",
  4678             "member": {}
  4679           },
  4680           "NextToken": {},
  4681           "MaxRecords": {
  4682             "type": "integer"
  4683           }
  4684         }
  4685       },
  4686       "output": {
  4687         "resultWrapper": "DescribePoliciesResult",
  4688         "type": "structure",
  4689         "members": {
  4690           "ScalingPolicies": {
  4691             "type": "list",
  4692             "member": {
  4693               "type": "structure",
  4694               "members": {
  4695                 "AutoScalingGroupName": {},
  4696                 "PolicyName": {},
  4697                 "PolicyARN": {},
  4698                 "PolicyType": {},
  4699                 "AdjustmentType": {},
  4700                 "MinAdjustmentStep": {
  4701                   "shape": "S3p"
  4702                 },
  4703                 "MinAdjustmentMagnitude": {
  4704                   "type": "integer"
  4705                 },
  4706                 "ScalingAdjustment": {
  4707                   "type": "integer"
  4708                 },
  4709                 "Cooldown": {
  4710                   "type": "integer"
  4711                 },
  4712                 "StepAdjustments": {
  4713                   "shape": "S3s"
  4714                 },
  4715                 "MetricAggregationType": {},
  4716                 "EstimatedInstanceWarmup": {
  4717                   "type": "integer"
  4718                 },
  4719                 "Alarms": {
  4720                   "type": "list",
  4721                   "member": {
  4722                     "type": "structure",
  4723                     "members": {
  4724                       "AlarmName": {},
  4725                       "AlarmARN": {}
  4726                     }
  4727                   }
  4728                 }
  4729               }
  4730             }
  4731           },
  4732           "NextToken": {}
  4733         }
  4734       }
  4735     },
  4736     "DescribeScalingActivities": {
  4737       "input": {
  4738         "type": "structure",
  4739         "members": {
  4740           "ActivityIds": {
  4741             "type": "list",
  4742             "member": {}
  4743           },
  4744           "AutoScalingGroupName": {},
  4745           "MaxRecords": {
  4746             "type": "integer"
  4747           },
  4748           "NextToken": {}
  4749         }
  4750       },
  4751       "output": {
  4752         "resultWrapper": "DescribeScalingActivitiesResult",
  4753         "type": "structure",
  4754         "required": [
  4755           "Activities"
  4756         ],
  4757         "members": {
  4758           "Activities": {
  4759             "shape": "S41"
  4760           },
  4761           "NextToken": {}
  4762         }
  4763       }
  4764     },
  4765     "DescribeScalingProcessTypes": {
  4766       "output": {
  4767         "resultWrapper": "DescribeScalingProcessTypesResult",
  4768         "type": "structure",
  4769         "members": {
  4770           "Processes": {
  4771             "type": "list",
  4772             "member": {
  4773               "type": "structure",
  4774               "required": [
  4775                 "ProcessName"
  4776               ],
  4777               "members": {
  4778                 "ProcessName": {}
  4779               }
  4780             }
  4781           }
  4782         }
  4783       }
  4784     },
  4785     "DescribeScheduledActions": {
  4786       "input": {
  4787         "type": "structure",
  4788         "members": {
  4789           "AutoScalingGroupName": {},
  4790           "ScheduledActionNames": {
  4791             "type": "list",
  4792             "member": {}
  4793           },
  4794           "StartTime": {
  4795             "type": "timestamp"
  4796           },
  4797           "EndTime": {
  4798             "type": "timestamp"
  4799           },
  4800           "NextToken": {},
  4801           "MaxRecords": {
  4802             "type": "integer"
  4803           }
  4804         }
  4805       },
  4806       "output": {
  4807         "resultWrapper": "DescribeScheduledActionsResult",
  4808         "type": "structure",
  4809         "members": {
  4810           "ScheduledUpdateGroupActions": {
  4811             "type": "list",
  4812             "member": {
  4813               "type": "structure",
  4814               "members": {
  4815                 "AutoScalingGroupName": {},
  4816                 "ScheduledActionName": {},
  4817                 "ScheduledActionARN": {},
  4818                 "Time": {
  4819                   "type": "timestamp"
  4820                 },
  4821                 "StartTime": {
  4822                   "type": "timestamp"
  4823                 },
  4824                 "EndTime": {
  4825                   "type": "timestamp"
  4826                 },
  4827                 "Recurrence": {},
  4828                 "MinSize": {
  4829                   "type": "integer"
  4830                 },
  4831                 "MaxSize": {
  4832                   "type": "integer"
  4833                 },
  4834                 "DesiredCapacity": {
  4835                   "type": "integer"
  4836                 }
  4837               }
  4838             }
  4839           },
  4840           "NextToken": {}
  4841         }
  4842       }
  4843     },
  4844     "DescribeTags": {
  4845       "input": {
  4846         "type": "structure",
  4847         "members": {
  4848           "Filters": {
  4849             "type": "list",
  4850             "member": {
  4851               "type": "structure",
  4852               "members": {
  4853                 "Name": {},
  4854                 "Values": {
  4855                   "type": "list",
  4856                   "member": {}
  4857                 }
  4858               }
  4859             }
  4860           },
  4861           "NextToken": {},
  4862           "MaxRecords": {
  4863             "type": "integer"
  4864           }
  4865         }
  4866       },
  4867       "output": {
  4868         "resultWrapper": "DescribeTagsResult",
  4869         "type": "structure",
  4870         "members": {
  4871           "Tags": {
  4872             "shape": "S2f"
  4873           },
  4874           "NextToken": {}
  4875         }
  4876       }
  4877     },
  4878     "DescribeTerminationPolicyTypes": {
  4879       "output": {
  4880         "resultWrapper": "DescribeTerminationPolicyTypesResult",
  4881         "type": "structure",
  4882         "members": {
  4883           "TerminationPolicyTypes": {
  4884             "shape": "Sr"
  4885           }
  4886         }
  4887       }
  4888     },
  4889     "DetachInstances": {
  4890       "input": {
  4891         "type": "structure",
  4892         "required": [
  4893           "AutoScalingGroupName",
  4894           "ShouldDecrementDesiredCapacity"
  4895         ],
  4896         "members": {
  4897           "InstanceIds": {
  4898             "shape": "S2"
  4899           },
  4900           "AutoScalingGroupName": {},
  4901           "ShouldDecrementDesiredCapacity": {
  4902             "type": "boolean"
  4903           }
  4904         }
  4905       },
  4906       "output": {
  4907         "resultWrapper": "DetachInstancesResult",
  4908         "type": "structure",
  4909         "members": {
  4910           "Activities": {
  4911             "shape": "S41"
  4912           }
  4913         }
  4914       }
  4915     },
  4916     "DetachLoadBalancerTargetGroups": {
  4917       "input": {
  4918         "type": "structure",
  4919         "required": [
  4920           "AutoScalingGroupName",
  4921           "TargetGroupARNs"
  4922         ],
  4923         "members": {
  4924           "AutoScalingGroupName": {},
  4925           "TargetGroupARNs": {
  4926             "shape": "S6"
  4927           }
  4928         }
  4929       },
  4930       "output": {
  4931         "resultWrapper": "DetachLoadBalancerTargetGroupsResult",
  4932         "type": "structure",
  4933         "members": {}
  4934       }
  4935     },
  4936     "DetachLoadBalancers": {
  4937       "input": {
  4938         "type": "structure",
  4939         "required": [
  4940           "AutoScalingGroupName",
  4941           "LoadBalancerNames"
  4942         ],
  4943         "members": {
  4944           "AutoScalingGroupName": {},
  4945           "LoadBalancerNames": {
  4946             "shape": "Sa"
  4947           }
  4948         }
  4949       },
  4950       "output": {
  4951         "resultWrapper": "DetachLoadBalancersResult",
  4952         "type": "structure",
  4953         "members": {}
  4954       }
  4955     },
  4956     "DisableMetricsCollection": {
  4957       "input": {
  4958         "type": "structure",
  4959         "required": [
  4960           "AutoScalingGroupName"
  4961         ],
  4962         "members": {
  4963           "AutoScalingGroupName": {},
  4964           "Metrics": {
  4965             "shape": "S4r"
  4966           }
  4967         }
  4968       }
  4969     },
  4970     "EnableMetricsCollection": {
  4971       "input": {
  4972         "type": "structure",
  4973         "required": [
  4974           "AutoScalingGroupName",
  4975           "Granularity"
  4976         ],
  4977         "members": {
  4978           "AutoScalingGroupName": {},
  4979           "Metrics": {
  4980             "shape": "S4r"
  4981           },
  4982           "Granularity": {}
  4983         }
  4984       }
  4985     },
  4986     "EnterStandby": {
  4987       "input": {
  4988         "type": "structure",
  4989         "required": [
  4990           "AutoScalingGroupName",
  4991           "ShouldDecrementDesiredCapacity"
  4992         ],
  4993         "members": {
  4994           "InstanceIds": {
  4995             "shape": "S2"
  4996           },
  4997           "AutoScalingGroupName": {},
  4998           "ShouldDecrementDesiredCapacity": {
  4999             "type": "boolean"
  5000           }
  5001         }
  5002       },
  5003       "output": {
  5004         "resultWrapper": "EnterStandbyResult",
  5005         "type": "structure",
  5006         "members": {
  5007           "Activities": {
  5008             "shape": "S41"
  5009           }
  5010         }
  5011       }
  5012     },
  5013     "ExecutePolicy": {
  5014       "input": {
  5015         "type": "structure",
  5016         "required": [
  5017           "PolicyName"
  5018         ],
  5019         "members": {
  5020           "AutoScalingGroupName": {},
  5021           "PolicyName": {},
  5022           "HonorCooldown": {
  5023             "type": "boolean"
  5024           },
  5025           "MetricValue": {
  5026             "type": "double"
  5027           },
  5028           "BreachThreshold": {
  5029             "type": "double"
  5030           }
  5031         }
  5032       }
  5033     },
  5034     "ExitStandby": {
  5035       "input": {
  5036         "type": "structure",
  5037         "required": [
  5038           "AutoScalingGroupName"
  5039         ],
  5040         "members": {
  5041           "InstanceIds": {
  5042             "shape": "S2"
  5043           },
  5044           "AutoScalingGroupName": {}
  5045         }
  5046       },
  5047       "output": {
  5048         "resultWrapper": "ExitStandbyResult",
  5049         "type": "structure",
  5050         "members": {
  5051           "Activities": {
  5052             "shape": "S41"
  5053           }
  5054         }
  5055       }
  5056     },
  5057     "PutLifecycleHook": {
  5058       "input": {
  5059         "type": "structure",
  5060         "required": [
  5061           "LifecycleHookName",
  5062           "AutoScalingGroupName"
  5063         ],
  5064         "members": {
  5065           "LifecycleHookName": {},
  5066           "AutoScalingGroupName": {},
  5067           "LifecycleTransition": {},
  5068           "RoleARN": {},
  5069           "NotificationTargetARN": {},
  5070           "NotificationMetadata": {},
  5071           "HeartbeatTimeout": {
  5072             "type": "integer"
  5073           },
  5074           "DefaultResult": {}
  5075         }
  5076       },
  5077       "output": {
  5078         "resultWrapper": "PutLifecycleHookResult",
  5079         "type": "structure",
  5080         "members": {}
  5081       }
  5082     },
  5083     "PutNotificationConfiguration": {
  5084       "input": {
  5085         "type": "structure",
  5086         "required": [
  5087           "AutoScalingGroupName",
  5088           "TopicARN",
  5089           "NotificationTypes"
  5090         ],
  5091         "members": {
  5092           "AutoScalingGroupName": {},
  5093           "TopicARN": {},
  5094           "NotificationTypes": {
  5095             "shape": "S2m"
  5096           }
  5097         }
  5098       }
  5099     },
  5100     "PutScalingPolicy": {
  5101       "input": {
  5102         "type": "structure",
  5103         "required": [
  5104           "AutoScalingGroupName",
  5105           "PolicyName",
  5106           "AdjustmentType"
  5107         ],
  5108         "members": {
  5109           "AutoScalingGroupName": {},
  5110           "PolicyName": {},
  5111           "PolicyType": {},
  5112           "AdjustmentType": {},
  5113           "MinAdjustmentStep": {
  5114             "shape": "S3p"
  5115           },
  5116           "MinAdjustmentMagnitude": {
  5117             "type": "integer"
  5118           },
  5119           "ScalingAdjustment": {
  5120             "type": "integer"
  5121           },
  5122           "Cooldown": {
  5123             "type": "integer"
  5124           },
  5125           "MetricAggregationType": {},
  5126           "StepAdjustments": {
  5127             "shape": "S3s"
  5128           },
  5129           "EstimatedInstanceWarmup": {
  5130             "type": "integer"
  5131           }
  5132         }
  5133       },
  5134       "output": {
  5135         "resultWrapper": "PutScalingPolicyResult",
  5136         "type": "structure",
  5137         "members": {
  5138           "PolicyARN": {}
  5139         }
  5140       }
  5141     },
  5142     "PutScheduledUpdateGroupAction": {
  5143       "input": {
  5144         "type": "structure",
  5145         "required": [
  5146           "AutoScalingGroupName",
  5147           "ScheduledActionName"
  5148         ],
  5149         "members": {
  5150           "AutoScalingGroupName": {},
  5151           "ScheduledActionName": {},
  5152           "Time": {
  5153             "type": "timestamp"
  5154           },
  5155           "StartTime": {
  5156             "type": "timestamp"
  5157           },
  5158           "EndTime": {
  5159             "type": "timestamp"
  5160           },
  5161           "Recurrence": {},
  5162           "MinSize": {
  5163             "type": "integer"
  5164           },
  5165           "MaxSize": {
  5166             "type": "integer"
  5167           },
  5168           "DesiredCapacity": {
  5169             "type": "integer"
  5170           }
  5171         }
  5172       }
  5173     },
  5174     "RecordLifecycleActionHeartbeat": {
  5175       "input": {
  5176         "type": "structure",
  5177         "required": [
  5178           "LifecycleHookName",
  5179           "AutoScalingGroupName"
  5180         ],
  5181         "members": {
  5182           "LifecycleHookName": {},
  5183           "AutoScalingGroupName": {},
  5184           "LifecycleActionToken": {},
  5185           "InstanceId": {}
  5186         }
  5187       },
  5188       "output": {
  5189         "resultWrapper": "RecordLifecycleActionHeartbeatResult",
  5190         "type": "structure",
  5191         "members": {}
  5192       }
  5193     },
  5194     "ResumeProcesses": {
  5195       "input": {
  5196         "shape": "S58"
  5197       }
  5198     },
  5199     "SetDesiredCapacity": {
  5200       "input": {
  5201         "type": "structure",
  5202         "required": [
  5203           "AutoScalingGroupName",
  5204           "DesiredCapacity"
  5205         ],
  5206         "members": {
  5207           "AutoScalingGroupName": {},
  5208           "DesiredCapacity": {
  5209             "type": "integer"
  5210           },
  5211           "HonorCooldown": {
  5212             "type": "boolean"
  5213           }
  5214         }
  5215       }
  5216     },
  5217     "SetInstanceHealth": {
  5218       "input": {
  5219         "type": "structure",
  5220         "required": [
  5221           "InstanceId",
  5222           "HealthStatus"
  5223         ],
  5224         "members": {
  5225           "InstanceId": {},
  5226           "HealthStatus": {},
  5227           "ShouldRespectGracePeriod": {
  5228             "type": "boolean"
  5229           }
  5230         }
  5231       }
  5232     },
  5233     "SetInstanceProtection": {
  5234       "input": {
  5235         "type": "structure",
  5236         "required": [
  5237           "InstanceIds",
  5238           "AutoScalingGroupName",
  5239           "ProtectedFromScaleIn"
  5240         ],
  5241         "members": {
  5242           "InstanceIds": {
  5243             "shape": "S2"
  5244           },
  5245           "AutoScalingGroupName": {},
  5246           "ProtectedFromScaleIn": {
  5247             "type": "boolean"
  5248           }
  5249         }
  5250       },
  5251       "output": {
  5252         "resultWrapper": "SetInstanceProtectionResult",
  5253         "type": "structure",
  5254         "members": {}
  5255       }
  5256     },
  5257     "SuspendProcesses": {
  5258       "input": {
  5259         "shape": "S58"
  5260       }
  5261     },
  5262     "TerminateInstanceInAutoScalingGroup": {
  5263       "input": {
  5264         "type": "structure",
  5265         "required": [
  5266           "InstanceId",
  5267           "ShouldDecrementDesiredCapacity"
  5268         ],
  5269         "members": {
  5270           "InstanceId": {},
  5271           "ShouldDecrementDesiredCapacity": {
  5272             "type": "boolean"
  5273           }
  5274         }
  5275       },
  5276       "output": {
  5277         "resultWrapper": "TerminateInstanceInAutoScalingGroupResult",
  5278         "type": "structure",
  5279         "members": {
  5280           "Activity": {
  5281             "shape": "S42"
  5282           }
  5283         }
  5284       }
  5285     },
  5286     "UpdateAutoScalingGroup": {
  5287       "input": {
  5288         "type": "structure",
  5289         "required": [
  5290           "AutoScalingGroupName"
  5291         ],
  5292         "members": {
  5293           "AutoScalingGroupName": {},
  5294           "LaunchConfigurationName": {},
  5295           "MinSize": {
  5296             "type": "integer"
  5297           },
  5298           "MaxSize": {
  5299             "type": "integer"
  5300           },
  5301           "DesiredCapacity": {
  5302             "type": "integer"
  5303           },
  5304           "DefaultCooldown": {
  5305             "type": "integer"
  5306           },
  5307           "AvailabilityZones": {
  5308             "shape": "Sn"
  5309           },
  5310           "HealthCheckType": {},
  5311           "HealthCheckGracePeriod": {
  5312             "type": "integer"
  5313           },
  5314           "PlacementGroup": {},
  5315           "VPCZoneIdentifier": {},
  5316           "TerminationPolicies": {
  5317             "shape": "Sr"
  5318           },
  5319           "NewInstancesProtectedFromScaleIn": {
  5320             "type": "boolean"
  5321           }
  5322         }
  5323       }
  5324     }
  5325   },
  5326   "shapes": {
  5327     "S2": {
  5328       "type": "list",
  5329       "member": {}
  5330     },
  5331     "S6": {
  5332       "type": "list",
  5333       "member": {}
  5334     },
  5335     "Sa": {
  5336       "type": "list",
  5337       "member": {}
  5338     },
  5339     "Sn": {
  5340       "type": "list",
  5341       "member": {}
  5342     },
  5343     "Sr": {
  5344       "type": "list",
  5345       "member": {}
  5346     },
  5347     "Su": {
  5348       "type": "list",
  5349       "member": {
  5350         "type": "structure",
  5351         "required": [
  5352           "Key"
  5353         ],
  5354         "members": {
  5355           "ResourceId": {},
  5356           "ResourceType": {},
  5357           "Key": {},
  5358           "Value": {},
  5359           "PropagateAtLaunch": {
  5360             "type": "boolean"
  5361           }
  5362         }
  5363       }
  5364     },
  5365     "S11": {
  5366       "type": "list",
  5367       "member": {}
  5368     },
  5369     "S12": {
  5370       "type": "list",
  5371       "member": {}
  5372     },
  5373     "S14": {
  5374       "type": "list",
  5375       "member": {
  5376         "type": "structure",
  5377         "required": [
  5378           "DeviceName"
  5379         ],
  5380         "members": {
  5381           "VirtualName": {},
  5382           "DeviceName": {},
  5383           "Ebs": {
  5384             "type": "structure",
  5385             "members": {
  5386               "SnapshotId": {},
  5387               "VolumeSize": {
  5388                 "type": "integer"
  5389               },
  5390               "VolumeType": {},
  5391               "DeleteOnTermination": {
  5392                 "type": "boolean"
  5393               },
  5394               "Iops": {
  5395                 "type": "integer"
  5396               },
  5397               "Encrypted": {
  5398                 "type": "boolean"
  5399               }
  5400             }
  5401           },
  5402           "NoDevice": {
  5403             "type": "boolean"
  5404           }
  5405         }
  5406       }
  5407     },
  5408     "S1d": {
  5409       "type": "structure",
  5410       "members": {
  5411         "Enabled": {
  5412           "type": "boolean"
  5413         }
  5414       }
  5415     },
  5416     "S22": {
  5417       "type": "list",
  5418       "member": {}
  5419     },
  5420     "S2f": {
  5421       "type": "list",
  5422       "member": {
  5423         "type": "structure",
  5424         "members": {
  5425           "ResourceId": {},
  5426           "ResourceType": {},
  5427           "Key": {},
  5428           "Value": {},
  5429           "PropagateAtLaunch": {
  5430             "type": "boolean"
  5431           }
  5432         }
  5433       }
  5434     },
  5435     "S2m": {
  5436       "type": "list",
  5437       "member": {}
  5438     },
  5439     "S3p": {
  5440       "type": "integer",
  5441       "deprecated": true
  5442     },
  5443     "S3s": {
  5444       "type": "list",
  5445       "member": {
  5446         "type": "structure",
  5447         "required": [
  5448           "ScalingAdjustment"
  5449         ],
  5450         "members": {
  5451           "MetricIntervalLowerBound": {
  5452             "type": "double"
  5453           },
  5454           "MetricIntervalUpperBound": {
  5455             "type": "double"
  5456           },
  5457           "ScalingAdjustment": {
  5458             "type": "integer"
  5459           }
  5460         }
  5461       }
  5462     },
  5463     "S41": {
  5464       "type": "list",
  5465       "member": {
  5466         "shape": "S42"
  5467       }
  5468     },
  5469     "S42": {
  5470       "type": "structure",
  5471       "required": [
  5472         "ActivityId",
  5473         "AutoScalingGroupName",
  5474         "Cause",
  5475         "StartTime",
  5476         "StatusCode"
  5477       ],
  5478       "members": {
  5479         "ActivityId": {},
  5480         "AutoScalingGroupName": {},
  5481         "Description": {},
  5482         "Cause": {},
  5483         "StartTime": {
  5484           "type": "timestamp"
  5485         },
  5486         "EndTime": {
  5487           "type": "timestamp"
  5488         },
  5489         "StatusCode": {},
  5490         "StatusMessage": {},
  5491         "Progress": {
  5492           "type": "integer"
  5493         },
  5494         "Details": {}
  5495       }
  5496     },
  5497     "S4r": {
  5498       "type": "list",
  5499       "member": {}
  5500     },
  5501     "S58": {
  5502       "type": "structure",
  5503       "required": [
  5504         "AutoScalingGroupName"
  5505       ],
  5506       "members": {
  5507         "AutoScalingGroupName": {},
  5508         "ScalingProcesses": {
  5509           "type": "list",
  5510           "member": {}
  5511         }
  5512       }
  5513     }
  5514   }
  5515 }
  5516 },{}],8:[function(require,module,exports){
  5517 module.exports={
  5518   "pagination": {
  5519     "DescribeAutoScalingGroups": {
  5520       "input_token": "NextToken",
  5521       "output_token": "NextToken",
  5522       "limit_key": "MaxRecords",
  5523       "result_key": "AutoScalingGroups"
  5524     },
  5525     "DescribeAutoScalingInstances": {
  5526       "input_token": "NextToken",
  5527       "output_token": "NextToken",
  5528       "limit_key": "MaxRecords",
  5529       "result_key": "AutoScalingInstances"
  5530     },
  5531     "DescribeLaunchConfigurations": {
  5532       "input_token": "NextToken",
  5533       "output_token": "NextToken",
  5534       "limit_key": "MaxRecords",
  5535       "result_key": "LaunchConfigurations"
  5536     },
  5537     "DescribeNotificationConfigurations": {
  5538       "input_token": "NextToken",
  5539       "output_token": "NextToken",
  5540       "limit_key": "MaxRecords",
  5541       "result_key": "NotificationConfigurations"
  5542     },
  5543     "DescribePolicies": {
  5544       "input_token": "NextToken",
  5545       "output_token": "NextToken",
  5546       "limit_key": "MaxRecords",
  5547       "result_key": "ScalingPolicies"
  5548     },
  5549     "DescribeScalingActivities": {
  5550       "input_token": "NextToken",
  5551       "output_token": "NextToken",
  5552       "limit_key": "MaxRecords",
  5553       "result_key": "Activities"
  5554     },
  5555     "DescribeScheduledActions": {
  5556       "input_token": "NextToken",
  5557       "output_token": "NextToken",
  5558       "limit_key": "MaxRecords",
  5559       "result_key": "ScheduledUpdateGroupActions"
  5560     },
  5561     "DescribeTags": {
  5562       "input_token": "NextToken",
  5563       "output_token": "NextToken",
  5564       "limit_key": "MaxRecords",
  5565       "result_key": "Tags"
  5566     }
  5567   }
  5568 }
  5569 
  5570 },{}],9:[function(require,module,exports){
  5571 module.exports={
  5572   "version": "2.0",
  5573   "metadata": {
  5574     "apiVersion": "2010-05-15",
  5575     "endpointPrefix": "cloudformation",
  5576     "protocol": "query",
  5577     "serviceFullName": "AWS CloudFormation",
  5578     "signatureVersion": "v4",
  5579     "uid": "cloudformation-2010-05-15",
  5580     "xmlNamespace": "http://cloudformation.amazonaws.com/doc/2010-05-15/"
  5581   },
  5582   "operations": {
  5583     "CancelUpdateStack": {
  5584       "input": {
  5585         "type": "structure",
  5586         "required": [
  5587           "StackName"
  5588         ],
  5589         "members": {
  5590           "StackName": {}
  5591         }
  5592       }
  5593     },
  5594     "ContinueUpdateRollback": {
  5595       "input": {
  5596         "type": "structure",
  5597         "required": [
  5598           "StackName"
  5599         ],
  5600         "members": {
  5601           "StackName": {},
  5602           "RoleARN": {},
  5603           "ResourcesToSkip": {
  5604             "type": "list",
  5605             "member": {}
  5606           }
  5607         }
  5608       },
  5609       "output": {
  5610         "resultWrapper": "ContinueUpdateRollbackResult",
  5611         "type": "structure",
  5612         "members": {}
  5613       }
  5614     },
  5615     "CreateChangeSet": {
  5616       "input": {
  5617         "type": "structure",
  5618         "required": [
  5619           "StackName",
  5620           "ChangeSetName"
  5621         ],
  5622         "members": {
  5623           "StackName": {},
  5624           "TemplateBody": {},
  5625           "TemplateURL": {},
  5626           "UsePreviousTemplate": {
  5627             "type": "boolean"
  5628           },
  5629           "Parameters": {
  5630             "shape": "Sd"
  5631           },
  5632           "Capabilities": {
  5633             "shape": "Si"
  5634           },
  5635           "ResourceTypes": {
  5636             "shape": "Sk"
  5637           },
  5638           "RoleARN": {},
  5639           "NotificationARNs": {
  5640             "shape": "Sm"
  5641           },
  5642           "Tags": {
  5643             "shape": "So"
  5644           },
  5645           "ChangeSetName": {},
  5646           "ClientToken": {},
  5647           "Description": {},
  5648           "ChangeSetType": {}
  5649         }
  5650       },
  5651       "output": {
  5652         "resultWrapper": "CreateChangeSetResult",
  5653         "type": "structure",
  5654         "members": {
  5655           "Id": {},
  5656           "StackId": {}
  5657         }
  5658       }
  5659     },
  5660     "CreateStack": {
  5661       "input": {
  5662         "type": "structure",
  5663         "required": [
  5664           "StackName"
  5665         ],
  5666         "members": {
  5667           "StackName": {},
  5668           "TemplateBody": {},
  5669           "TemplateURL": {},
  5670           "Parameters": {
  5671             "shape": "Sd"
  5672           },
  5673           "DisableRollback": {
  5674             "type": "boolean"
  5675           },
  5676           "TimeoutInMinutes": {
  5677             "type": "integer"
  5678           },
  5679           "NotificationARNs": {
  5680             "shape": "Sm"
  5681           },
  5682           "Capabilities": {
  5683             "shape": "Si"
  5684           },
  5685           "ResourceTypes": {
  5686             "shape": "Sk"
  5687           },
  5688           "RoleARN": {},
  5689           "OnFailure": {},
  5690           "StackPolicyBody": {},
  5691           "StackPolicyURL": {},
  5692           "Tags": {
  5693             "shape": "So"
  5694           }
  5695         }
  5696       },
  5697       "output": {
  5698         "resultWrapper": "CreateStackResult",
  5699         "type": "structure",
  5700         "members": {
  5701           "StackId": {}
  5702         }
  5703       }
  5704     },
  5705     "DeleteChangeSet": {
  5706       "input": {
  5707         "type": "structure",
  5708         "required": [
  5709           "ChangeSetName"
  5710         ],
  5711         "members": {
  5712           "ChangeSetName": {},
  5713           "StackName": {}
  5714         }
  5715       },
  5716       "output": {
  5717         "resultWrapper": "DeleteChangeSetResult",
  5718         "type": "structure",
  5719         "members": {}
  5720       }
  5721     },
  5722     "DeleteStack": {
  5723       "input": {
  5724         "type": "structure",
  5725         "required": [
  5726           "StackName"
  5727         ],
  5728         "members": {
  5729           "StackName": {},
  5730           "RetainResources": {
  5731             "type": "list",
  5732             "member": {}
  5733           },
  5734           "RoleARN": {}
  5735         }
  5736       }
  5737     },
  5738     "DescribeAccountLimits": {
  5739       "input": {
  5740         "type": "structure",
  5741         "members": {
  5742           "NextToken": {}
  5743         }
  5744       },
  5745       "output": {
  5746         "resultWrapper": "DescribeAccountLimitsResult",
  5747         "type": "structure",
  5748         "members": {
  5749           "AccountLimits": {
  5750             "type": "list",
  5751             "member": {
  5752               "type": "structure",
  5753               "members": {
  5754                 "Name": {},
  5755                 "Value": {
  5756                   "type": "integer"
  5757                 }
  5758               }
  5759             }
  5760           },
  5761           "NextToken": {}
  5762         }
  5763       }
  5764     },
  5765     "DescribeChangeSet": {
  5766       "input": {
  5767         "type": "structure",
  5768         "required": [
  5769           "ChangeSetName"
  5770         ],
  5771         "members": {
  5772           "ChangeSetName": {},
  5773           "StackName": {},
  5774           "NextToken": {}
  5775         }
  5776       },
  5777       "output": {
  5778         "resultWrapper": "DescribeChangeSetResult",
  5779         "type": "structure",
  5780         "members": {
  5781           "ChangeSetName": {},
  5782           "ChangeSetId": {},
  5783           "StackId": {},
  5784           "StackName": {},
  5785           "Description": {},
  5786           "Parameters": {
  5787             "shape": "Sd"
  5788           },
  5789           "CreationTime": {
  5790             "type": "timestamp"
  5791           },
  5792           "ExecutionStatus": {},
  5793           "Status": {},
  5794           "StatusReason": {},
  5795           "NotificationARNs": {
  5796             "shape": "Sm"
  5797           },
  5798           "Capabilities": {
  5799             "shape": "Si"
  5800           },
  5801           "Tags": {
  5802             "shape": "So"
  5803           },
  5804           "Changes": {
  5805             "type": "list",
  5806             "member": {
  5807               "type": "structure",
  5808               "members": {
  5809                 "Type": {},
  5810                 "ResourceChange": {
  5811                   "type": "structure",
  5812                   "members": {
  5813                     "Action": {},
  5814                     "LogicalResourceId": {},
  5815                     "PhysicalResourceId": {},
  5816                     "ResourceType": {},
  5817                     "Replacement": {},
  5818                     "Scope": {
  5819                       "type": "list",
  5820                       "member": {}
  5821                     },
  5822                     "Details": {
  5823                       "type": "list",
  5824                       "member": {
  5825                         "type": "structure",
  5826                         "members": {
  5827                           "Target": {
  5828                             "type": "structure",
  5829                             "members": {
  5830                               "Attribute": {},
  5831                               "Name": {},
  5832                               "RequiresRecreation": {}
  5833                             }
  5834                           },
  5835                           "Evaluation": {},
  5836                           "ChangeSource": {},
  5837                           "CausingEntity": {}
  5838                         }
  5839                       }
  5840                     }
  5841                   }
  5842                 }
  5843               }
  5844             }
  5845           },
  5846           "NextToken": {}
  5847         }
  5848       }
  5849     },
  5850     "DescribeStackEvents": {
  5851       "input": {
  5852         "type": "structure",
  5853         "members": {
  5854           "StackName": {},
  5855           "NextToken": {}
  5856         }
  5857       },
  5858       "output": {
  5859         "resultWrapper": "DescribeStackEventsResult",
  5860         "type": "structure",
  5861         "members": {
  5862           "StackEvents": {
  5863             "type": "list",
  5864             "member": {
  5865               "type": "structure",
  5866               "required": [
  5867                 "StackId",
  5868                 "EventId",
  5869                 "StackName",
  5870                 "Timestamp"
  5871               ],
  5872               "members": {
  5873                 "StackId": {},
  5874                 "EventId": {},
  5875                 "StackName": {},
  5876                 "LogicalResourceId": {},
  5877                 "PhysicalResourceId": {},
  5878                 "ResourceType": {},
  5879                 "Timestamp": {
  5880                   "type": "timestamp"
  5881                 },
  5882                 "ResourceStatus": {},
  5883                 "ResourceStatusReason": {},
  5884                 "ResourceProperties": {}
  5885               }
  5886             }
  5887           },
  5888           "NextToken": {}
  5889         }
  5890       }
  5891     },
  5892     "DescribeStackResource": {
  5893       "input": {
  5894         "type": "structure",
  5895         "required": [
  5896           "StackName",
  5897           "LogicalResourceId"
  5898         ],
  5899         "members": {
  5900           "StackName": {},
  5901           "LogicalResourceId": {}
  5902         }
  5903       },
  5904       "output": {
  5905         "resultWrapper": "DescribeStackResourceResult",
  5906         "type": "structure",
  5907         "members": {
  5908           "StackResourceDetail": {
  5909             "type": "structure",
  5910             "required": [
  5911               "LogicalResourceId",
  5912               "ResourceType",
  5913               "LastUpdatedTimestamp",
  5914               "ResourceStatus"
  5915             ],
  5916             "members": {
  5917               "StackName": {},
  5918               "StackId": {},
  5919               "LogicalResourceId": {},
  5920               "PhysicalResourceId": {},
  5921               "ResourceType": {},
  5922               "LastUpdatedTimestamp": {
  5923                 "type": "timestamp"
  5924               },
  5925               "ResourceStatus": {},
  5926               "ResourceStatusReason": {},
  5927               "Description": {},
  5928               "Metadata": {}
  5929             }
  5930           }
  5931         }
  5932       }
  5933     },
  5934     "DescribeStackResources": {
  5935       "input": {
  5936         "type": "structure",
  5937         "members": {
  5938           "StackName": {},
  5939           "LogicalResourceId": {},
  5940           "PhysicalResourceId": {}
  5941         }
  5942       },
  5943       "output": {
  5944         "resultWrapper": "DescribeStackResourcesResult",
  5945         "type": "structure",
  5946         "members": {
  5947           "StackResources": {
  5948             "type": "list",
  5949             "member": {
  5950               "type": "structure",
  5951               "required": [
  5952                 "LogicalResourceId",
  5953                 "ResourceType",
  5954                 "Timestamp",
  5955                 "ResourceStatus"
  5956               ],
  5957               "members": {
  5958                 "StackName": {},
  5959                 "StackId": {},
  5960                 "LogicalResourceId": {},
  5961                 "PhysicalResourceId": {},
  5962                 "ResourceType": {},
  5963                 "Timestamp": {
  5964                   "type": "timestamp"
  5965                 },
  5966                 "ResourceStatus": {},
  5967                 "ResourceStatusReason": {},
  5968                 "Description": {}
  5969               }
  5970             }
  5971           }
  5972         }
  5973       }
  5974     },
  5975     "DescribeStacks": {
  5976       "input": {
  5977         "type": "structure",
  5978         "members": {
  5979           "StackName": {},
  5980           "NextToken": {}
  5981         }
  5982       },
  5983       "output": {
  5984         "resultWrapper": "DescribeStacksResult",
  5985         "type": "structure",
  5986         "members": {
  5987           "Stacks": {
  5988             "type": "list",
  5989             "member": {
  5990               "type": "structure",
  5991               "required": [
  5992                 "StackName",
  5993                 "CreationTime",
  5994                 "StackStatus"
  5995               ],
  5996               "members": {
  5997                 "StackId": {},
  5998                 "StackName": {},
  5999                 "ChangeSetId": {},
  6000                 "Description": {},
  6001                 "Parameters": {
  6002                   "shape": "Sd"
  6003                 },
  6004                 "CreationTime": {
  6005                   "type": "timestamp"
  6006                 },
  6007                 "LastUpdatedTime": {
  6008                   "type": "timestamp"
  6009                 },
  6010                 "StackStatus": {},
  6011                 "StackStatusReason": {},
  6012                 "DisableRollback": {
  6013                   "type": "boolean"
  6014                 },
  6015                 "NotificationARNs": {
  6016                   "shape": "Sm"
  6017                 },
  6018                 "TimeoutInMinutes": {
  6019                   "type": "integer"
  6020                 },
  6021                 "Capabilities": {
  6022                   "shape": "Si"
  6023                 },
  6024                 "Outputs": {
  6025                   "type": "list",
  6026                   "member": {
  6027                     "type": "structure",
  6028                     "members": {
  6029                       "OutputKey": {},
  6030                       "OutputValue": {},
  6031                       "Description": {}
  6032                     }
  6033                   }
  6034                 },
  6035                 "RoleARN": {},
  6036                 "Tags": {
  6037                   "shape": "So"
  6038                 }
  6039               }
  6040             }
  6041           },
  6042           "NextToken": {}
  6043         }
  6044       }
  6045     },
  6046     "EstimateTemplateCost": {
  6047       "input": {
  6048         "type": "structure",
  6049         "members": {
  6050           "TemplateBody": {},
  6051           "TemplateURL": {},
  6052           "Parameters": {
  6053             "shape": "Sd"
  6054           }
  6055         }
  6056       },
  6057       "output": {
  6058         "resultWrapper": "EstimateTemplateCostResult",
  6059         "type": "structure",
  6060         "members": {
  6061           "Url": {}
  6062         }
  6063       }
  6064     },
  6065     "ExecuteChangeSet": {
  6066       "input": {
  6067         "type": "structure",
  6068         "required": [
  6069           "ChangeSetName"
  6070         ],
  6071         "members": {
  6072           "ChangeSetName": {},
  6073           "StackName": {}
  6074         }
  6075       },
  6076       "output": {
  6077         "resultWrapper": "ExecuteChangeSetResult",
  6078         "type": "structure",
  6079         "members": {}
  6080       }
  6081     },
  6082     "GetStackPolicy": {
  6083       "input": {
  6084         "type": "structure",
  6085         "required": [
  6086           "StackName"
  6087         ],
  6088         "members": {
  6089           "StackName": {}
  6090         }
  6091       },
  6092       "output": {
  6093         "resultWrapper": "GetStackPolicyResult",
  6094         "type": "structure",
  6095         "members": {
  6096           "StackPolicyBody": {}
  6097         }
  6098       }
  6099     },
  6100     "GetTemplate": {
  6101       "input": {
  6102         "type": "structure",
  6103         "members": {
  6104           "StackName": {},
  6105           "ChangeSetName": {},
  6106           "TemplateStage": {}
  6107         }
  6108       },
  6109       "output": {
  6110         "resultWrapper": "GetTemplateResult",
  6111         "type": "structure",
  6112         "members": {
  6113           "TemplateBody": {},
  6114           "StagesAvailable": {
  6115             "type": "list",
  6116             "member": {}
  6117           }
  6118         }
  6119       }
  6120     },
  6121     "GetTemplateSummary": {
  6122       "input": {
  6123         "type": "structure",
  6124         "members": {
  6125           "TemplateBody": {},
  6126           "TemplateURL": {},
  6127           "StackName": {}
  6128         }
  6129       },
  6130       "output": {
  6131         "resultWrapper": "GetTemplateSummaryResult",
  6132         "type": "structure",
  6133         "members": {
  6134           "Parameters": {
  6135             "type": "list",
  6136             "member": {
  6137               "type": "structure",
  6138               "members": {
  6139                 "ParameterKey": {},
  6140                 "DefaultValue": {},
  6141                 "ParameterType": {},
  6142                 "NoEcho": {
  6143                   "type": "boolean"
  6144                 },
  6145                 "Description": {},
  6146                 "ParameterConstraints": {
  6147                   "type": "structure",
  6148                   "members": {
  6149                     "AllowedValues": {
  6150                       "type": "list",
  6151                       "member": {}
  6152                     }
  6153                   }
  6154                 }
  6155               }
  6156             }
  6157           },
  6158           "Description": {},
  6159           "Capabilities": {
  6160             "shape": "Si"
  6161           },
  6162           "CapabilitiesReason": {},
  6163           "ResourceTypes": {
  6164             "shape": "Sk"
  6165           },
  6166           "Version": {},
  6167           "Metadata": {},
  6168           "DeclaredTransforms": {
  6169             "shape": "S3k"
  6170           }
  6171         }
  6172       }
  6173     },
  6174     "ListChangeSets": {
  6175       "input": {
  6176         "type": "structure",
  6177         "required": [
  6178           "StackName"
  6179         ],
  6180         "members": {
  6181           "StackName": {},
  6182           "NextToken": {}
  6183         }
  6184       },
  6185       "output": {
  6186         "resultWrapper": "ListChangeSetsResult",
  6187         "type": "structure",
  6188         "members": {
  6189           "Summaries": {
  6190             "type": "list",
  6191             "member": {
  6192               "type": "structure",
  6193               "members": {
  6194                 "StackId": {},
  6195                 "StackName": {},
  6196                 "ChangeSetId": {},
  6197                 "ChangeSetName": {},
  6198                 "ExecutionStatus": {},
  6199                 "Status": {},
  6200                 "StatusReason": {},
  6201                 "CreationTime": {
  6202                   "type": "timestamp"
  6203                 },
  6204                 "Description": {}
  6205               }
  6206             }
  6207           },
  6208           "NextToken": {}
  6209         }
  6210       }
  6211     },
  6212     "ListExports": {
  6213       "input": {
  6214         "type": "structure",
  6215         "members": {
  6216           "NextToken": {}
  6217         }
  6218       },
  6219       "output": {
  6220         "resultWrapper": "ListExportsResult",
  6221         "type": "structure",
  6222         "members": {
  6223           "Exports": {
  6224             "type": "list",
  6225             "member": {
  6226               "type": "structure",
  6227               "members": {
  6228                 "ExportingStackId": {},
  6229                 "Name": {},
  6230                 "Value": {}
  6231               }
  6232             }
  6233           },
  6234           "NextToken": {}
  6235         }
  6236       }
  6237     },
  6238     "ListImports": {
  6239       "input": {
  6240         "type": "structure",
  6241         "required": [
  6242           "ExportName"
  6243         ],
  6244         "members": {
  6245           "ExportName": {},
  6246           "NextToken": {}
  6247         }
  6248       },
  6249       "output": {
  6250         "resultWrapper": "ListImportsResult",
  6251         "type": "structure",
  6252         "members": {
  6253           "Imports": {
  6254             "type": "list",
  6255             "member": {}
  6256           },
  6257           "NextToken": {}
  6258         }
  6259       }
  6260     },
  6261     "ListStackResources": {
  6262       "input": {
  6263         "type": "structure",
  6264         "required": [
  6265           "StackName"
  6266         ],
  6267         "members": {
  6268           "StackName": {},
  6269           "NextToken": {}
  6270         }
  6271       },
  6272       "output": {
  6273         "resultWrapper": "ListStackResourcesResult",
  6274         "type": "structure",
  6275         "members": {
  6276           "StackResourceSummaries": {
  6277             "type": "list",
  6278             "member": {
  6279               "type": "structure",
  6280               "required": [
  6281                 "LogicalResourceId",
  6282                 "ResourceType",
  6283                 "LastUpdatedTimestamp",
  6284                 "ResourceStatus"
  6285               ],
  6286               "members": {
  6287                 "LogicalResourceId": {},
  6288                 "PhysicalResourceId": {},
  6289                 "ResourceType": {},
  6290                 "LastUpdatedTimestamp": {
  6291                   "type": "timestamp"
  6292                 },
  6293                 "ResourceStatus": {},
  6294                 "ResourceStatusReason": {}
  6295               }
  6296             }
  6297           },
  6298           "NextToken": {}
  6299         }
  6300       }
  6301     },
  6302     "ListStacks": {
  6303       "input": {
  6304         "type": "structure",
  6305         "members": {
  6306           "NextToken": {},
  6307           "StackStatusFilter": {
  6308             "type": "list",
  6309             "member": {}
  6310           }
  6311         }
  6312       },
  6313       "output": {
  6314         "resultWrapper": "ListStacksResult",
  6315         "type": "structure",
  6316         "members": {
  6317           "StackSummaries": {
  6318             "type": "list",
  6319             "member": {
  6320               "type": "structure",
  6321               "required": [
  6322                 "StackName",
  6323                 "CreationTime",
  6324                 "StackStatus"
  6325               ],
  6326               "members": {
  6327                 "StackId": {},
  6328                 "StackName": {},
  6329                 "TemplateDescription": {},
  6330                 "CreationTime": {
  6331                   "type": "timestamp"
  6332                 },
  6333                 "LastUpdatedTime": {
  6334                   "type": "timestamp"
  6335                 },
  6336                 "DeletionTime": {
  6337                   "type": "timestamp"
  6338                 },
  6339                 "StackStatus": {},
  6340                 "StackStatusReason": {}
  6341               }
  6342             }
  6343           },
  6344           "NextToken": {}
  6345         }
  6346       }
  6347     },
  6348     "SetStackPolicy": {
  6349       "input": {
  6350         "type": "structure",
  6351         "required": [
  6352           "StackName"
  6353         ],
  6354         "members": {
  6355           "StackName": {},
  6356           "StackPolicyBody": {},
  6357           "StackPolicyURL": {}
  6358         }
  6359       }
  6360     },
  6361     "SignalResource": {
  6362       "input": {
  6363         "type": "structure",
  6364         "required": [
  6365           "StackName",
  6366           "LogicalResourceId",
  6367           "UniqueId",
  6368           "Status"
  6369         ],
  6370         "members": {
  6371           "StackName": {},
  6372           "LogicalResourceId": {},
  6373           "UniqueId": {},
  6374           "Status": {}
  6375         }
  6376       }
  6377     },
  6378     "UpdateStack": {
  6379       "input": {
  6380         "type": "structure",
  6381         "required": [
  6382           "StackName"
  6383         ],
  6384         "members": {
  6385           "StackName": {},
  6386           "TemplateBody": {},
  6387           "TemplateURL": {},
  6388           "UsePreviousTemplate": {
  6389             "type": "boolean"
  6390           },
  6391           "StackPolicyDuringUpdateBody": {},
  6392           "StackPolicyDuringUpdateURL": {},
  6393           "Parameters": {
  6394             "shape": "Sd"
  6395           },
  6396           "Capabilities": {
  6397             "shape": "Si"
  6398           },
  6399           "ResourceTypes": {
  6400             "shape": "Sk"
  6401           },
  6402           "RoleARN": {},
  6403           "StackPolicyBody": {},
  6404           "StackPolicyURL": {},
  6405           "NotificationARNs": {
  6406             "shape": "Sm"
  6407           },
  6408           "Tags": {
  6409             "shape": "So"
  6410           }
  6411         }
  6412       },
  6413       "output": {
  6414         "resultWrapper": "UpdateStackResult",
  6415         "type": "structure",
  6416         "members": {
  6417           "StackId": {}
  6418         }
  6419       }
  6420     },
  6421     "ValidateTemplate": {
  6422       "input": {
  6423         "type": "structure",
  6424         "members": {
  6425           "TemplateBody": {},
  6426           "TemplateURL": {}
  6427         }
  6428       },
  6429       "output": {
  6430         "resultWrapper": "ValidateTemplateResult",
  6431         "type": "structure",
  6432         "members": {
  6433           "Parameters": {
  6434             "type": "list",
  6435             "member": {
  6436               "type": "structure",
  6437               "members": {
  6438                 "ParameterKey": {},
  6439                 "DefaultValue": {},
  6440                 "NoEcho": {
  6441                   "type": "boolean"
  6442                 },
  6443                 "Description": {}
  6444               }
  6445             }
  6446           },
  6447           "Description": {},
  6448           "Capabilities": {
  6449             "shape": "Si"
  6450           },
  6451           "CapabilitiesReason": {},
  6452           "DeclaredTransforms": {
  6453             "shape": "S3k"
  6454           }
  6455         }
  6456       }
  6457     }
  6458   },
  6459   "shapes": {
  6460     "Sd": {
  6461       "type": "list",
  6462       "member": {
  6463         "type": "structure",
  6464         "members": {
  6465           "ParameterKey": {},
  6466           "ParameterValue": {},
  6467           "UsePreviousValue": {
  6468             "type": "boolean"
  6469           }
  6470         }
  6471       }
  6472     },
  6473     "Si": {
  6474       "type": "list",
  6475       "member": {}
  6476     },
  6477     "Sk": {
  6478       "type": "list",
  6479       "member": {}
  6480     },
  6481     "Sm": {
  6482       "type": "list",
  6483       "member": {}
  6484     },
  6485     "So": {
  6486       "type": "list",
  6487       "member": {
  6488         "type": "structure",
  6489         "members": {
  6490           "Key": {},
  6491           "Value": {}
  6492         }
  6493       }
  6494     },
  6495     "S3k": {
  6496       "type": "list",
  6497       "member": {}
  6498     }
  6499   }
  6500 }
  6501 },{}],10:[function(require,module,exports){
  6502 module.exports={
  6503   "pagination": {
  6504     "DescribeStackEvents": {
  6505       "input_token": "NextToken",
  6506       "output_token": "NextToken",
  6507       "result_key": "StackEvents"
  6508     },
  6509     "DescribeStackResources": {
  6510       "result_key": "StackResources"
  6511     },
  6512     "DescribeStacks": {
  6513       "input_token": "NextToken",
  6514       "output_token": "NextToken",
  6515       "result_key": "Stacks"
  6516     },
  6517     "ListStackResources": {
  6518       "input_token": "NextToken",
  6519       "output_token": "NextToken",
  6520       "result_key": "StackResourceSummaries"
  6521     },
  6522     "ListStacks": {
  6523       "input_token": "NextToken",
  6524       "output_token": "NextToken",
  6525       "result_key": "StackSummaries"
  6526     }
  6527   }
  6528 }
  6529 
  6530 },{}],11:[function(require,module,exports){
  6531 module.exports={
  6532   "version": 2,
  6533   "waiters": {
  6534     "StackExists": {
  6535       "delay": 5,
  6536       "operation": "DescribeStacks",
  6537       "maxAttempts": 20,
  6538       "acceptors": [
  6539         {
  6540           "matcher": "status",
  6541           "expected": 200,
  6542           "state": "success"
  6543         },
  6544         {
  6545           "matcher": "error",
  6546           "expected": "ValidationError",
  6547           "state": "retry"
  6548         }
  6549       ]
  6550     },
  6551     "StackCreateComplete": {
  6552       "delay": 30,
  6553       "operation": "DescribeStacks",
  6554       "maxAttempts": 120,
  6555       "description": "Wait until stack status is CREATE_COMPLETE.",
  6556       "acceptors": [
  6557         {
  6558           "argument": "Stacks[].StackStatus",
  6559           "expected": "CREATE_COMPLETE",
  6560           "matcher": "pathAll",
  6561           "state": "success"
  6562         },
  6563         {
  6564           "argument": "Stacks[].StackStatus",
  6565           "expected": "CREATE_FAILED",
  6566           "matcher": "pathAny",
  6567           "state": "failure"
  6568         },
  6569         {
  6570           "argument": "Stacks[].StackStatus",
  6571           "expected": "DELETE_COMPLETE",
  6572           "matcher": "pathAny",
  6573           "state": "failure"
  6574         },
  6575         {
  6576           "argument": "Stacks[].StackStatus",
  6577           "expected": "DELETE_FAILED",
  6578           "matcher": "pathAny",
  6579           "state": "failure"
  6580         },
  6581         {
  6582           "argument": "Stacks[].StackStatus",
  6583           "expected": "ROLLBACK_FAILED",
  6584           "matcher": "pathAny",
  6585           "state": "failure"
  6586         },
  6587         {
  6588           "argument": "Stacks[].StackStatus",
  6589           "expected": "ROLLBACK_COMPLETE",
  6590           "matcher": "pathAny",
  6591           "state": "failure"
  6592         },
  6593         {
  6594           "expected": "ValidationError",
  6595           "matcher": "error",
  6596           "state": "failure"
  6597         }
  6598       ]
  6599     },
  6600     "StackDeleteComplete": {
  6601       "delay": 30,
  6602       "operation": "DescribeStacks",
  6603       "maxAttempts": 120,
  6604       "description": "Wait until stack status is DELETE_COMPLETE.",
  6605       "acceptors": [
  6606         {
  6607           "argument": "Stacks[].StackStatus",
  6608           "expected": "DELETE_COMPLETE",
  6609           "matcher": "pathAll",
  6610           "state": "success"
  6611         },
  6612         {
  6613           "expected": "ValidationError",
  6614           "matcher": "error",
  6615           "state": "success"
  6616         },
  6617         {
  6618           "argument": "Stacks[].StackStatus",
  6619           "expected": "DELETE_FAILED",
  6620           "matcher": "pathAny",
  6621           "state": "failure"
  6622         },
  6623         {
  6624           "argument": "Stacks[].StackStatus",
  6625           "expected": "CREATE_FAILED",
  6626           "matcher": "pathAny",
  6627           "state": "failure"
  6628         },
  6629         {
  6630           "argument": "Stacks[].StackStatus",
  6631           "expected": "ROLLBACK_FAILED",
  6632           "matcher": "pathAny",
  6633           "state": "failure"
  6634         },
  6635         {
  6636           "argument": "Stacks[].StackStatus",
  6637           "expected": "UPDATE_ROLLBACK_FAILED",
  6638           "matcher": "pathAny",
  6639           "state": "failure"
  6640         },
  6641         {
  6642           "argument": "Stacks[].StackStatus",
  6643           "expected": "UPDATE_ROLLBACK_IN_PROGRESS",
  6644           "matcher": "pathAny",
  6645           "state": "failure"
  6646         }
  6647       ]
  6648     },
  6649     "StackUpdateComplete": {
  6650       "delay": 30,
  6651       "maxAttempts": 120,
  6652       "operation": "DescribeStacks",
  6653       "description": "Wait until stack status is UPDATE_COMPLETE.",
  6654       "acceptors": [
  6655         {
  6656           "argument": "Stacks[].StackStatus",
  6657           "expected": "UPDATE_COMPLETE",
  6658           "matcher": "pathAll",
  6659           "state": "success"
  6660         },
  6661         {
  6662           "expected": "UPDATE_FAILED",
  6663           "matcher": "pathAny",
  6664           "state": "failure",
  6665           "argument": "Stacks[].StackStatus"
  6666         },
  6667         {
  6668           "argument": "Stacks[].StackStatus",
  6669           "expected": "UPDATE_ROLLBACK_FAILED",
  6670           "matcher": "pathAny",
  6671           "state": "failure"
  6672         },
  6673         {
  6674           "expected": "UPDATE_ROLLBACK_COMPLETE",
  6675           "matcher": "pathAny",
  6676           "state": "failure",
  6677           "argument": "Stacks[].StackStatus"
  6678         },
  6679         {
  6680           "expected": "ValidationError",
  6681           "matcher": "error",
  6682           "state": "failure"
  6683         }
  6684       ]
  6685     }
  6686   }
  6687 }
  6688 
  6689 },{}],12:[function(require,module,exports){
  6690 module.exports={
  6691   "version": "2.0",
  6692   "metadata": {
  6693     "apiVersion": "2016-09-29",
  6694     "endpointPrefix": "cloudfront",
  6695     "globalEndpoint": "cloudfront.amazonaws.com",
  6696     "protocol": "rest-xml",
  6697     "serviceAbbreviation": "CloudFront",
  6698     "serviceFullName": "Amazon CloudFront",
  6699     "signatureVersion": "v4"
  6700   },
  6701   "operations": {
  6702     "CreateCloudFrontOriginAccessIdentity": {
  6703       "http": {
  6704         "requestUri": "/2016-09-29/origin-access-identity/cloudfront",
  6705         "responseCode": 201
  6706       },
  6707       "input": {
  6708         "type": "structure",
  6709         "required": [
  6710           "CloudFrontOriginAccessIdentityConfig"
  6711         ],
  6712         "members": {
  6713           "CloudFrontOriginAccessIdentityConfig": {
  6714             "shape": "S2",
  6715             "locationName": "CloudFrontOriginAccessIdentityConfig",
  6716             "xmlNamespace": {
  6717               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  6718             }
  6719           }
  6720         },
  6721         "payload": "CloudFrontOriginAccessIdentityConfig"
  6722       },
  6723       "output": {
  6724         "type": "structure",
  6725         "members": {
  6726           "CloudFrontOriginAccessIdentity": {
  6727             "shape": "S5"
  6728           },
  6729           "Location": {
  6730             "location": "header",
  6731             "locationName": "Location"
  6732           },
  6733           "ETag": {
  6734             "location": "header",
  6735             "locationName": "ETag"
  6736           }
  6737         },
  6738         "payload": "CloudFrontOriginAccessIdentity"
  6739       }
  6740     },
  6741     "CreateDistribution": {
  6742       "http": {
  6743         "requestUri": "/2016-09-29/distribution",
  6744         "responseCode": 201
  6745       },
  6746       "input": {
  6747         "type": "structure",
  6748         "required": [
  6749           "DistributionConfig"
  6750         ],
  6751         "members": {
  6752           "DistributionConfig": {
  6753             "shape": "S7",
  6754             "locationName": "DistributionConfig",
  6755             "xmlNamespace": {
  6756               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  6757             }
  6758           }
  6759         },
  6760         "payload": "DistributionConfig"
  6761       },
  6762       "output": {
  6763         "type": "structure",
  6764         "members": {
  6765           "Distribution": {
  6766             "shape": "S1o"
  6767           },
  6768           "Location": {
  6769             "location": "header",
  6770             "locationName": "Location"
  6771           },
  6772           "ETag": {
  6773             "location": "header",
  6774             "locationName": "ETag"
  6775           }
  6776         },
  6777         "payload": "Distribution"
  6778       }
  6779     },
  6780     "CreateDistributionWithTags": {
  6781       "http": {
  6782         "requestUri": "/2016-09-29/distribution?WithTags",
  6783         "responseCode": 201
  6784       },
  6785       "input": {
  6786         "type": "structure",
  6787         "required": [
  6788           "DistributionConfigWithTags"
  6789         ],
  6790         "members": {
  6791           "DistributionConfigWithTags": {
  6792             "locationName": "DistributionConfigWithTags",
  6793             "xmlNamespace": {
  6794               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  6795             },
  6796             "type": "structure",
  6797             "required": [
  6798               "DistributionConfig",
  6799               "Tags"
  6800             ],
  6801             "members": {
  6802               "DistributionConfig": {
  6803                 "shape": "S7"
  6804               },
  6805               "Tags": {
  6806                 "shape": "S1x"
  6807               }
  6808             }
  6809           }
  6810         },
  6811         "payload": "DistributionConfigWithTags"
  6812       },
  6813       "output": {
  6814         "type": "structure",
  6815         "members": {
  6816           "Distribution": {
  6817             "shape": "S1o"
  6818           },
  6819           "Location": {
  6820             "location": "header",
  6821             "locationName": "Location"
  6822           },
  6823           "ETag": {
  6824             "location": "header",
  6825             "locationName": "ETag"
  6826           }
  6827         },
  6828         "payload": "Distribution"
  6829       }
  6830     },
  6831     "CreateInvalidation": {
  6832       "http": {
  6833         "requestUri": "/2016-09-29/distribution/{DistributionId}/invalidation",
  6834         "responseCode": 201
  6835       },
  6836       "input": {
  6837         "type": "structure",
  6838         "required": [
  6839           "DistributionId",
  6840           "InvalidationBatch"
  6841         ],
  6842         "members": {
  6843           "DistributionId": {
  6844             "location": "uri",
  6845             "locationName": "DistributionId"
  6846           },
  6847           "InvalidationBatch": {
  6848             "shape": "S24",
  6849             "locationName": "InvalidationBatch",
  6850             "xmlNamespace": {
  6851               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  6852             }
  6853           }
  6854         },
  6855         "payload": "InvalidationBatch"
  6856       },
  6857       "output": {
  6858         "type": "structure",
  6859         "members": {
  6860           "Location": {
  6861             "location": "header",
  6862             "locationName": "Location"
  6863           },
  6864           "Invalidation": {
  6865             "shape": "S28"
  6866           }
  6867         },
  6868         "payload": "Invalidation"
  6869       }
  6870     },
  6871     "CreateStreamingDistribution": {
  6872       "http": {
  6873         "requestUri": "/2016-09-29/streaming-distribution",
  6874         "responseCode": 201
  6875       },
  6876       "input": {
  6877         "type": "structure",
  6878         "required": [
  6879           "StreamingDistributionConfig"
  6880         ],
  6881         "members": {
  6882           "StreamingDistributionConfig": {
  6883             "shape": "S2a",
  6884             "locationName": "StreamingDistributionConfig",
  6885             "xmlNamespace": {
  6886               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  6887             }
  6888           }
  6889         },
  6890         "payload": "StreamingDistributionConfig"
  6891       },
  6892       "output": {
  6893         "type": "structure",
  6894         "members": {
  6895           "StreamingDistribution": {
  6896             "shape": "S2e"
  6897           },
  6898           "Location": {
  6899             "location": "header",
  6900             "locationName": "Location"
  6901           },
  6902           "ETag": {
  6903             "location": "header",
  6904             "locationName": "ETag"
  6905           }
  6906         },
  6907         "payload": "StreamingDistribution"
  6908       }
  6909     },
  6910     "CreateStreamingDistributionWithTags": {
  6911       "http": {
  6912         "requestUri": "/2016-09-29/streaming-distribution?WithTags",
  6913         "responseCode": 201
  6914       },
  6915       "input": {
  6916         "type": "structure",
  6917         "required": [
  6918           "StreamingDistributionConfigWithTags"
  6919         ],
  6920         "members": {
  6921           "StreamingDistributionConfigWithTags": {
  6922             "locationName": "StreamingDistributionConfigWithTags",
  6923             "xmlNamespace": {
  6924               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  6925             },
  6926             "type": "structure",
  6927             "required": [
  6928               "StreamingDistributionConfig",
  6929               "Tags"
  6930             ],
  6931             "members": {
  6932               "StreamingDistributionConfig": {
  6933                 "shape": "S2a"
  6934               },
  6935               "Tags": {
  6936                 "shape": "S1x"
  6937               }
  6938             }
  6939           }
  6940         },
  6941         "payload": "StreamingDistributionConfigWithTags"
  6942       },
  6943       "output": {
  6944         "type": "structure",
  6945         "members": {
  6946           "StreamingDistribution": {
  6947             "shape": "S2e"
  6948           },
  6949           "Location": {
  6950             "location": "header",
  6951             "locationName": "Location"
  6952           },
  6953           "ETag": {
  6954             "location": "header",
  6955             "locationName": "ETag"
  6956           }
  6957         },
  6958         "payload": "StreamingDistribution"
  6959       }
  6960     },
  6961     "DeleteCloudFrontOriginAccessIdentity": {
  6962       "http": {
  6963         "method": "DELETE",
  6964         "requestUri": "/2016-09-29/origin-access-identity/cloudfront/{Id}",
  6965         "responseCode": 204
  6966       },
  6967       "input": {
  6968         "type": "structure",
  6969         "required": [
  6970           "Id"
  6971         ],
  6972         "members": {
  6973           "Id": {
  6974             "location": "uri",
  6975             "locationName": "Id"
  6976           },
  6977           "IfMatch": {
  6978             "location": "header",
  6979             "locationName": "If-Match"
  6980           }
  6981         }
  6982       }
  6983     },
  6984     "DeleteDistribution": {
  6985       "http": {
  6986         "method": "DELETE",
  6987         "requestUri": "/2016-09-29/distribution/{Id}",
  6988         "responseCode": 204
  6989       },
  6990       "input": {
  6991         "type": "structure",
  6992         "required": [
  6993           "Id"
  6994         ],
  6995         "members": {
  6996           "Id": {
  6997             "location": "uri",
  6998             "locationName": "Id"
  6999           },
  7000           "IfMatch": {
  7001             "location": "header",
  7002             "locationName": "If-Match"
  7003           }
  7004         }
  7005       }
  7006     },
  7007     "DeleteStreamingDistribution": {
  7008       "http": {
  7009         "method": "DELETE",
  7010         "requestUri": "/2016-09-29/streaming-distribution/{Id}",
  7011         "responseCode": 204
  7012       },
  7013       "input": {
  7014         "type": "structure",
  7015         "required": [
  7016           "Id"
  7017         ],
  7018         "members": {
  7019           "Id": {
  7020             "location": "uri",
  7021             "locationName": "Id"
  7022           },
  7023           "IfMatch": {
  7024             "location": "header",
  7025             "locationName": "If-Match"
  7026           }
  7027         }
  7028       }
  7029     },
  7030     "GetCloudFrontOriginAccessIdentity": {
  7031       "http": {
  7032         "method": "GET",
  7033         "requestUri": "/2016-09-29/origin-access-identity/cloudfront/{Id}"
  7034       },
  7035       "input": {
  7036         "type": "structure",
  7037         "required": [
  7038           "Id"
  7039         ],
  7040         "members": {
  7041           "Id": {
  7042             "location": "uri",
  7043             "locationName": "Id"
  7044           }
  7045         }
  7046       },
  7047       "output": {
  7048         "type": "structure",
  7049         "members": {
  7050           "CloudFrontOriginAccessIdentity": {
  7051             "shape": "S5"
  7052           },
  7053           "ETag": {
  7054             "location": "header",
  7055             "locationName": "ETag"
  7056           }
  7057         },
  7058         "payload": "CloudFrontOriginAccessIdentity"
  7059       }
  7060     },
  7061     "GetCloudFrontOriginAccessIdentityConfig": {
  7062       "http": {
  7063         "method": "GET",
  7064         "requestUri": "/2016-09-29/origin-access-identity/cloudfront/{Id}/config"
  7065       },
  7066       "input": {
  7067         "type": "structure",
  7068         "required": [
  7069           "Id"
  7070         ],
  7071         "members": {
  7072           "Id": {
  7073             "location": "uri",
  7074             "locationName": "Id"
  7075           }
  7076         }
  7077       },
  7078       "output": {
  7079         "type": "structure",
  7080         "members": {
  7081           "CloudFrontOriginAccessIdentityConfig": {
  7082             "shape": "S2"
  7083           },
  7084           "ETag": {
  7085             "location": "header",
  7086             "locationName": "ETag"
  7087           }
  7088         },
  7089         "payload": "CloudFrontOriginAccessIdentityConfig"
  7090       }
  7091     },
  7092     "GetDistribution": {
  7093       "http": {
  7094         "method": "GET",
  7095         "requestUri": "/2016-09-29/distribution/{Id}"
  7096       },
  7097       "input": {
  7098         "type": "structure",
  7099         "required": [
  7100           "Id"
  7101         ],
  7102         "members": {
  7103           "Id": {
  7104             "location": "uri",
  7105             "locationName": "Id"
  7106           }
  7107         }
  7108       },
  7109       "output": {
  7110         "type": "structure",
  7111         "members": {
  7112           "Distribution": {
  7113             "shape": "S1o"
  7114           },
  7115           "ETag": {
  7116             "location": "header",
  7117             "locationName": "ETag"
  7118           }
  7119         },
  7120         "payload": "Distribution"
  7121       }
  7122     },
  7123     "GetDistributionConfig": {
  7124       "http": {
  7125         "method": "GET",
  7126         "requestUri": "/2016-09-29/distribution/{Id}/config"
  7127       },
  7128       "input": {
  7129         "type": "structure",
  7130         "required": [
  7131           "Id"
  7132         ],
  7133         "members": {
  7134           "Id": {
  7135             "location": "uri",
  7136             "locationName": "Id"
  7137           }
  7138         }
  7139       },
  7140       "output": {
  7141         "type": "structure",
  7142         "members": {
  7143           "DistributionConfig": {
  7144             "shape": "S7"
  7145           },
  7146           "ETag": {
  7147             "location": "header",
  7148             "locationName": "ETag"
  7149           }
  7150         },
  7151         "payload": "DistributionConfig"
  7152       }
  7153     },
  7154     "GetInvalidation": {
  7155       "http": {
  7156         "method": "GET",
  7157         "requestUri": "/2016-09-29/distribution/{DistributionId}/invalidation/{Id}"
  7158       },
  7159       "input": {
  7160         "type": "structure",
  7161         "required": [
  7162           "DistributionId",
  7163           "Id"
  7164         ],
  7165         "members": {
  7166           "DistributionId": {
  7167             "location": "uri",
  7168             "locationName": "DistributionId"
  7169           },
  7170           "Id": {
  7171             "location": "uri",
  7172             "locationName": "Id"
  7173           }
  7174         }
  7175       },
  7176       "output": {
  7177         "type": "structure",
  7178         "members": {
  7179           "Invalidation": {
  7180             "shape": "S28"
  7181           }
  7182         },
  7183         "payload": "Invalidation"
  7184       }
  7185     },
  7186     "GetStreamingDistribution": {
  7187       "http": {
  7188         "method": "GET",
  7189         "requestUri": "/2016-09-29/streaming-distribution/{Id}"
  7190       },
  7191       "input": {
  7192         "type": "structure",
  7193         "required": [
  7194           "Id"
  7195         ],
  7196         "members": {
  7197           "Id": {
  7198             "location": "uri",
  7199             "locationName": "Id"
  7200           }
  7201         }
  7202       },
  7203       "output": {
  7204         "type": "structure",
  7205         "members": {
  7206           "StreamingDistribution": {
  7207             "shape": "S2e"
  7208           },
  7209           "ETag": {
  7210             "location": "header",
  7211             "locationName": "ETag"
  7212           }
  7213         },
  7214         "payload": "StreamingDistribution"
  7215       }
  7216     },
  7217     "GetStreamingDistributionConfig": {
  7218       "http": {
  7219         "method": "GET",
  7220         "requestUri": "/2016-09-29/streaming-distribution/{Id}/config"
  7221       },
  7222       "input": {
  7223         "type": "structure",
  7224         "required": [
  7225           "Id"
  7226         ],
  7227         "members": {
  7228           "Id": {
  7229             "location": "uri",
  7230             "locationName": "Id"
  7231           }
  7232         }
  7233       },
  7234       "output": {
  7235         "type": "structure",
  7236         "members": {
  7237           "StreamingDistributionConfig": {
  7238             "shape": "S2a"
  7239           },
  7240           "ETag": {
  7241             "location": "header",
  7242             "locationName": "ETag"
  7243           }
  7244         },
  7245         "payload": "StreamingDistributionConfig"
  7246       }
  7247     },
  7248     "ListCloudFrontOriginAccessIdentities": {
  7249       "http": {
  7250         "method": "GET",
  7251         "requestUri": "/2016-09-29/origin-access-identity/cloudfront"
  7252       },
  7253       "input": {
  7254         "type": "structure",
  7255         "members": {
  7256           "Marker": {
  7257             "location": "querystring",
  7258             "locationName": "Marker"
  7259           },
  7260           "MaxItems": {
  7261             "location": "querystring",
  7262             "locationName": "MaxItems"
  7263           }
  7264         }
  7265       },
  7266       "output": {
  7267         "type": "structure",
  7268         "members": {
  7269           "CloudFrontOriginAccessIdentityList": {
  7270             "type": "structure",
  7271             "required": [
  7272               "Marker",
  7273               "MaxItems",
  7274               "IsTruncated",
  7275               "Quantity"
  7276             ],
  7277             "members": {
  7278               "Marker": {},
  7279               "NextMarker": {},
  7280               "MaxItems": {
  7281                 "type": "integer"
  7282               },
  7283               "IsTruncated": {
  7284                 "type": "boolean"
  7285               },
  7286               "Quantity": {
  7287                 "type": "integer"
  7288               },
  7289               "Items": {
  7290                 "type": "list",
  7291                 "member": {
  7292                   "locationName": "CloudFrontOriginAccessIdentitySummary",
  7293                   "type": "structure",
  7294                   "required": [
  7295                     "Id",
  7296                     "S3CanonicalUserId",
  7297                     "Comment"
  7298                   ],
  7299                   "members": {
  7300                     "Id": {},
  7301                     "S3CanonicalUserId": {},
  7302                     "Comment": {}
  7303                   }
  7304                 }
  7305               }
  7306             }
  7307           }
  7308         },
  7309         "payload": "CloudFrontOriginAccessIdentityList"
  7310       }
  7311     },
  7312     "ListDistributions": {
  7313       "http": {
  7314         "method": "GET",
  7315         "requestUri": "/2016-09-29/distribution"
  7316       },
  7317       "input": {
  7318         "type": "structure",
  7319         "members": {
  7320           "Marker": {
  7321             "location": "querystring",
  7322             "locationName": "Marker"
  7323           },
  7324           "MaxItems": {
  7325             "location": "querystring",
  7326             "locationName": "MaxItems"
  7327           }
  7328         }
  7329       },
  7330       "output": {
  7331         "type": "structure",
  7332         "members": {
  7333           "DistributionList": {
  7334             "shape": "S36"
  7335           }
  7336         },
  7337         "payload": "DistributionList"
  7338       }
  7339     },
  7340     "ListDistributionsByWebACLId": {
  7341       "http": {
  7342         "method": "GET",
  7343         "requestUri": "/2016-09-29/distributionsByWebACLId/{WebACLId}"
  7344       },
  7345       "input": {
  7346         "type": "structure",
  7347         "required": [
  7348           "WebACLId"
  7349         ],
  7350         "members": {
  7351           "Marker": {
  7352             "location": "querystring",
  7353             "locationName": "Marker"
  7354           },
  7355           "MaxItems": {
  7356             "location": "querystring",
  7357             "locationName": "MaxItems"
  7358           },
  7359           "WebACLId": {
  7360             "location": "uri",
  7361             "locationName": "WebACLId"
  7362           }
  7363         }
  7364       },
  7365       "output": {
  7366         "type": "structure",
  7367         "members": {
  7368           "DistributionList": {
  7369             "shape": "S36"
  7370           }
  7371         },
  7372         "payload": "DistributionList"
  7373       }
  7374     },
  7375     "ListInvalidations": {
  7376       "http": {
  7377         "method": "GET",
  7378         "requestUri": "/2016-09-29/distribution/{DistributionId}/invalidation"
  7379       },
  7380       "input": {
  7381         "type": "structure",
  7382         "required": [
  7383           "DistributionId"
  7384         ],
  7385         "members": {
  7386           "DistributionId": {
  7387             "location": "uri",
  7388             "locationName": "DistributionId"
  7389           },
  7390           "Marker": {
  7391             "location": "querystring",
  7392             "locationName": "Marker"
  7393           },
  7394           "MaxItems": {
  7395             "location": "querystring",
  7396             "locationName": "MaxItems"
  7397           }
  7398         }
  7399       },
  7400       "output": {
  7401         "type": "structure",
  7402         "members": {
  7403           "InvalidationList": {
  7404             "type": "structure",
  7405             "required": [
  7406               "Marker",
  7407               "MaxItems",
  7408               "IsTruncated",
  7409               "Quantity"
  7410             ],
  7411             "members": {
  7412               "Marker": {},
  7413               "NextMarker": {},
  7414               "MaxItems": {
  7415                 "type": "integer"
  7416               },
  7417               "IsTruncated": {
  7418                 "type": "boolean"
  7419               },
  7420               "Quantity": {
  7421                 "type": "integer"
  7422               },
  7423               "Items": {
  7424                 "type": "list",
  7425                 "member": {
  7426                   "locationName": "InvalidationSummary",
  7427                   "type": "structure",
  7428                   "required": [
  7429                     "Id",
  7430                     "CreateTime",
  7431                     "Status"
  7432                   ],
  7433                   "members": {
  7434                     "Id": {},
  7435                     "CreateTime": {
  7436                       "type": "timestamp"
  7437                     },
  7438                     "Status": {}
  7439                   }
  7440                 }
  7441               }
  7442             }
  7443           }
  7444         },
  7445         "payload": "InvalidationList"
  7446       }
  7447     },
  7448     "ListStreamingDistributions": {
  7449       "http": {
  7450         "method": "GET",
  7451         "requestUri": "/2016-09-29/streaming-distribution"
  7452       },
  7453       "input": {
  7454         "type": "structure",
  7455         "members": {
  7456           "Marker": {
  7457             "location": "querystring",
  7458             "locationName": "Marker"
  7459           },
  7460           "MaxItems": {
  7461             "location": "querystring",
  7462             "locationName": "MaxItems"
  7463           }
  7464         }
  7465       },
  7466       "output": {
  7467         "type": "structure",
  7468         "members": {
  7469           "StreamingDistributionList": {
  7470             "type": "structure",
  7471             "required": [
  7472               "Marker",
  7473               "MaxItems",
  7474               "IsTruncated",
  7475               "Quantity"
  7476             ],
  7477             "members": {
  7478               "Marker": {},
  7479               "NextMarker": {},
  7480               "MaxItems": {
  7481                 "type": "integer"
  7482               },
  7483               "IsTruncated": {
  7484                 "type": "boolean"
  7485               },
  7486               "Quantity": {
  7487                 "type": "integer"
  7488               },
  7489               "Items": {
  7490                 "type": "list",
  7491                 "member": {
  7492                   "locationName": "StreamingDistributionSummary",
  7493                   "type": "structure",
  7494                   "required": [
  7495                     "Id",
  7496                     "ARN",
  7497                     "Status",
  7498                     "LastModifiedTime",
  7499                     "DomainName",
  7500                     "S3Origin",
  7501                     "Aliases",
  7502                     "TrustedSigners",
  7503                     "Comment",
  7504                     "PriceClass",
  7505                     "Enabled"
  7506                   ],
  7507                   "members": {
  7508                     "Id": {},
  7509                     "ARN": {},
  7510                     "Status": {},
  7511                     "LastModifiedTime": {
  7512                       "type": "timestamp"
  7513                     },
  7514                     "DomainName": {},
  7515                     "S3Origin": {
  7516                       "shape": "S2b"
  7517                     },
  7518                     "Aliases": {
  7519                       "shape": "S8"
  7520                     },
  7521                     "TrustedSigners": {
  7522                       "shape": "Sy"
  7523                     },
  7524                     "Comment": {},
  7525                     "PriceClass": {},
  7526                     "Enabled": {
  7527                       "type": "boolean"
  7528                     }
  7529                   }
  7530                 }
  7531               }
  7532             }
  7533           }
  7534         },
  7535         "payload": "StreamingDistributionList"
  7536       }
  7537     },
  7538     "ListTagsForResource": {
  7539       "http": {
  7540         "method": "GET",
  7541         "requestUri": "/2016-09-29/tagging"
  7542       },
  7543       "input": {
  7544         "type": "structure",
  7545         "required": [
  7546           "Resource"
  7547         ],
  7548         "members": {
  7549           "Resource": {
  7550             "location": "querystring",
  7551             "locationName": "Resource"
  7552           }
  7553         }
  7554       },
  7555       "output": {
  7556         "type": "structure",
  7557         "required": [
  7558           "Tags"
  7559         ],
  7560         "members": {
  7561           "Tags": {
  7562             "shape": "S1x"
  7563           }
  7564         },
  7565         "payload": "Tags"
  7566       }
  7567     },
  7568     "TagResource": {
  7569       "http": {
  7570         "requestUri": "/2016-09-29/tagging?Operation=Tag",
  7571         "responseCode": 204
  7572       },
  7573       "input": {
  7574         "type": "structure",
  7575         "required": [
  7576           "Resource",
  7577           "Tags"
  7578         ],
  7579         "members": {
  7580           "Resource": {
  7581             "location": "querystring",
  7582             "locationName": "Resource"
  7583           },
  7584           "Tags": {
  7585             "shape": "S1x",
  7586             "locationName": "Tags",
  7587             "xmlNamespace": {
  7588               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  7589             }
  7590           }
  7591         },
  7592         "payload": "Tags"
  7593       }
  7594     },
  7595     "UntagResource": {
  7596       "http": {
  7597         "requestUri": "/2016-09-29/tagging?Operation=Untag",
  7598         "responseCode": 204
  7599       },
  7600       "input": {
  7601         "type": "structure",
  7602         "required": [
  7603           "Resource",
  7604           "TagKeys"
  7605         ],
  7606         "members": {
  7607           "Resource": {
  7608             "location": "querystring",
  7609             "locationName": "Resource"
  7610           },
  7611           "TagKeys": {
  7612             "locationName": "TagKeys",
  7613             "xmlNamespace": {
  7614               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  7615             },
  7616             "type": "structure",
  7617             "members": {
  7618               "Items": {
  7619                 "type": "list",
  7620                 "member": {
  7621                   "locationName": "Key"
  7622                 }
  7623               }
  7624             }
  7625           }
  7626         },
  7627         "payload": "TagKeys"
  7628       }
  7629     },
  7630     "UpdateCloudFrontOriginAccessIdentity": {
  7631       "http": {
  7632         "method": "PUT",
  7633         "requestUri": "/2016-09-29/origin-access-identity/cloudfront/{Id}/config"
  7634       },
  7635       "input": {
  7636         "type": "structure",
  7637         "required": [
  7638           "CloudFrontOriginAccessIdentityConfig",
  7639           "Id"
  7640         ],
  7641         "members": {
  7642           "CloudFrontOriginAccessIdentityConfig": {
  7643             "shape": "S2",
  7644             "locationName": "CloudFrontOriginAccessIdentityConfig",
  7645             "xmlNamespace": {
  7646               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  7647             }
  7648           },
  7649           "Id": {
  7650             "location": "uri",
  7651             "locationName": "Id"
  7652           },
  7653           "IfMatch": {
  7654             "location": "header",
  7655             "locationName": "If-Match"
  7656           }
  7657         },
  7658         "payload": "CloudFrontOriginAccessIdentityConfig"
  7659       },
  7660       "output": {
  7661         "type": "structure",
  7662         "members": {
  7663           "CloudFrontOriginAccessIdentity": {
  7664             "shape": "S5"
  7665           },
  7666           "ETag": {
  7667             "location": "header",
  7668             "locationName": "ETag"
  7669           }
  7670         },
  7671         "payload": "CloudFrontOriginAccessIdentity"
  7672       }
  7673     },
  7674     "UpdateDistribution": {
  7675       "http": {
  7676         "method": "PUT",
  7677         "requestUri": "/2016-09-29/distribution/{Id}/config"
  7678       },
  7679       "input": {
  7680         "type": "structure",
  7681         "required": [
  7682           "DistributionConfig",
  7683           "Id"
  7684         ],
  7685         "members": {
  7686           "DistributionConfig": {
  7687             "shape": "S7",
  7688             "locationName": "DistributionConfig",
  7689             "xmlNamespace": {
  7690               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  7691             }
  7692           },
  7693           "Id": {
  7694             "location": "uri",
  7695             "locationName": "Id"
  7696           },
  7697           "IfMatch": {
  7698             "location": "header",
  7699             "locationName": "If-Match"
  7700           }
  7701         },
  7702         "payload": "DistributionConfig"
  7703       },
  7704       "output": {
  7705         "type": "structure",
  7706         "members": {
  7707           "Distribution": {
  7708             "shape": "S1o"
  7709           },
  7710           "ETag": {
  7711             "location": "header",
  7712             "locationName": "ETag"
  7713           }
  7714         },
  7715         "payload": "Distribution"
  7716       }
  7717     },
  7718     "UpdateStreamingDistribution": {
  7719       "http": {
  7720         "method": "PUT",
  7721         "requestUri": "/2016-09-29/streaming-distribution/{Id}/config"
  7722       },
  7723       "input": {
  7724         "type": "structure",
  7725         "required": [
  7726           "StreamingDistributionConfig",
  7727           "Id"
  7728         ],
  7729         "members": {
  7730           "StreamingDistributionConfig": {
  7731             "shape": "S2a",
  7732             "locationName": "StreamingDistributionConfig",
  7733             "xmlNamespace": {
  7734               "uri": "http://cloudfront.amazonaws.com/doc/2016-09-29/"
  7735             }
  7736           },
  7737           "Id": {
  7738             "location": "uri",
  7739             "locationName": "Id"
  7740           },
  7741           "IfMatch": {
  7742             "location": "header",
  7743             "locationName": "If-Match"
  7744           }
  7745         },
  7746         "payload": "StreamingDistributionConfig"
  7747       },
  7748       "output": {
  7749         "type": "structure",
  7750         "members": {
  7751           "StreamingDistribution": {
  7752             "shape": "S2e"
  7753           },
  7754           "ETag": {
  7755             "location": "header",
  7756             "locationName": "ETag"
  7757           }
  7758         },
  7759         "payload": "StreamingDistribution"
  7760       }
  7761     }
  7762   },
  7763   "shapes": {
  7764     "S2": {
  7765       "type": "structure",
  7766       "required": [
  7767         "CallerReference",
  7768         "Comment"
  7769       ],
  7770       "members": {
  7771         "CallerReference": {},
  7772         "Comment": {}
  7773       }
  7774     },
  7775     "S5": {
  7776       "type": "structure",
  7777       "required": [
  7778         "Id",
  7779         "S3CanonicalUserId"
  7780       ],
  7781       "members": {
  7782         "Id": {},
  7783         "S3CanonicalUserId": {},
  7784         "CloudFrontOriginAccessIdentityConfig": {
  7785           "shape": "S2"
  7786         }
  7787       }
  7788     },
  7789     "S7": {
  7790       "type": "structure",
  7791       "required": [
  7792         "CallerReference",
  7793         "Origins",
  7794         "DefaultCacheBehavior",
  7795         "Comment",
  7796         "Enabled"
  7797       ],
  7798       "members": {
  7799         "CallerReference": {},
  7800         "Aliases": {
  7801           "shape": "S8"
  7802         },
  7803         "DefaultRootObject": {},
  7804         "Origins": {
  7805           "shape": "Sb"
  7806         },
  7807         "DefaultCacheBehavior": {
  7808           "shape": "Sn"
  7809         },
  7810         "CacheBehaviors": {
  7811           "shape": "S16"
  7812         },
  7813         "CustomErrorResponses": {
  7814           "shape": "S19"
  7815         },
  7816         "Comment": {},
  7817         "Logging": {
  7818           "type": "structure",
  7819           "required": [
  7820             "Enabled",
  7821             "IncludeCookies",
  7822             "Bucket",
  7823             "Prefix"
  7824           ],
  7825           "members": {
  7826             "Enabled": {
  7827               "type": "boolean"
  7828             },
  7829             "IncludeCookies": {
  7830               "type": "boolean"
  7831             },
  7832             "Bucket": {},
  7833             "Prefix": {}
  7834           }
  7835         },
  7836         "PriceClass": {},
  7837         "Enabled": {
  7838           "type": "boolean"
  7839         },
  7840         "ViewerCertificate": {
  7841           "shape": "S1e"
  7842         },
  7843         "Restrictions": {
  7844           "shape": "S1i"
  7845         },
  7846         "WebACLId": {},
  7847         "HttpVersion": {},
  7848         "IsIPV6Enabled": {
  7849           "type": "boolean"
  7850         }
  7851       }
  7852     },
  7853     "S8": {
  7854       "type": "structure",
  7855       "required": [
  7856         "Quantity"
  7857       ],
  7858       "members": {
  7859         "Quantity": {
  7860           "type": "integer"
  7861         },
  7862         "Items": {
  7863           "type": "list",
  7864           "member": {
  7865             "locationName": "CNAME"
  7866           }
  7867         }
  7868       }
  7869     },
  7870     "Sb": {
  7871       "type": "structure",
  7872       "required": [
  7873         "Quantity"
  7874       ],
  7875       "members": {
  7876         "Quantity": {
  7877           "type": "integer"
  7878         },
  7879         "Items": {
  7880           "type": "list",
  7881           "member": {
  7882             "locationName": "Origin",
  7883             "type": "structure",
  7884             "required": [
  7885               "Id",
  7886               "DomainName"
  7887             ],
  7888             "members": {
  7889               "Id": {},
  7890               "DomainName": {},
  7891               "OriginPath": {},
  7892               "CustomHeaders": {
  7893                 "type": "structure",
  7894                 "required": [
  7895                   "Quantity"
  7896                 ],
  7897                 "members": {
  7898                   "Quantity": {
  7899                     "type": "integer"
  7900                   },
  7901                   "Items": {
  7902                     "type": "list",
  7903                     "member": {
  7904                       "locationName": "OriginCustomHeader",
  7905                       "type": "structure",
  7906                       "required": [
  7907                         "HeaderName",
  7908                         "HeaderValue"
  7909                       ],
  7910                       "members": {
  7911                         "HeaderName": {},
  7912                         "HeaderValue": {}
  7913                       }
  7914                     }
  7915                   }
  7916                 }
  7917               },
  7918               "S3OriginConfig": {
  7919                 "type": "structure",
  7920                 "required": [
  7921                   "OriginAccessIdentity"
  7922                 ],
  7923                 "members": {
  7924                   "OriginAccessIdentity": {}
  7925                 }
  7926               },
  7927               "CustomOriginConfig": {
  7928                 "type": "structure",
  7929                 "required": [
  7930                   "HTTPPort",
  7931                   "HTTPSPort",
  7932                   "OriginProtocolPolicy"
  7933                 ],
  7934                 "members": {
  7935                   "HTTPPort": {
  7936                     "type": "integer"
  7937                   },
  7938                   "HTTPSPort": {
  7939                     "type": "integer"
  7940                   },
  7941                   "OriginProtocolPolicy": {},
  7942                   "OriginSslProtocols": {
  7943                     "type": "structure",
  7944                     "required": [
  7945                       "Quantity",
  7946                       "Items"
  7947                     ],
  7948                     "members": {
  7949                       "Quantity": {
  7950                         "type": "integer"
  7951                       },
  7952                       "Items": {
  7953                         "type": "list",
  7954                         "member": {
  7955                           "locationName": "SslProtocol"
  7956                         }
  7957                       }
  7958                     }
  7959                   }
  7960                 }
  7961               }
  7962             }
  7963           }
  7964         }
  7965       }
  7966     },
  7967     "Sn": {
  7968       "type": "structure",
  7969       "required": [
  7970         "TargetOriginId",
  7971         "ForwardedValues",
  7972         "TrustedSigners",
  7973         "ViewerProtocolPolicy",
  7974         "MinTTL"
  7975       ],
  7976       "members": {
  7977         "TargetOriginId": {},
  7978         "ForwardedValues": {
  7979           "shape": "So"
  7980         },
  7981         "TrustedSigners": {
  7982           "shape": "Sy"
  7983         },
  7984         "ViewerProtocolPolicy": {},
  7985         "MinTTL": {
  7986           "type": "long"
  7987         },
  7988         "AllowedMethods": {
  7989           "shape": "S12"
  7990         },
  7991         "SmoothStreaming": {
  7992           "type": "boolean"
  7993         },
  7994         "DefaultTTL": {
  7995           "type": "long"
  7996         },
  7997         "MaxTTL": {
  7998           "type": "long"
  7999         },
  8000         "Compress": {
  8001           "type": "boolean"
  8002         }
  8003       }
  8004     },
  8005     "So": {
  8006       "type": "structure",
  8007       "required": [
  8008         "QueryString",
  8009         "Cookies"
  8010       ],
  8011       "members": {
  8012         "QueryString": {
  8013           "type": "boolean"
  8014         },
  8015         "Cookies": {
  8016           "type": "structure",
  8017           "required": [
  8018             "Forward"
  8019           ],
  8020           "members": {
  8021             "Forward": {},
  8022             "WhitelistedNames": {
  8023               "type": "structure",
  8024               "required": [
  8025                 "Quantity"
  8026               ],
  8027               "members": {
  8028                 "Quantity": {
  8029                   "type": "integer"
  8030                 },
  8031                 "Items": {
  8032                   "type": "list",
  8033                   "member": {
  8034                     "locationName": "Name"
  8035                   }
  8036                 }
  8037               }
  8038             }
  8039           }
  8040         },
  8041         "Headers": {
  8042           "type": "structure",
  8043           "required": [
  8044             "Quantity"
  8045           ],
  8046           "members": {
  8047             "Quantity": {
  8048               "type": "integer"
  8049             },
  8050             "Items": {
  8051               "type": "list",
  8052               "member": {
  8053                 "locationName": "Name"
  8054               }
  8055             }
  8056           }
  8057         },
  8058         "QueryStringCacheKeys": {
  8059           "type": "structure",
  8060           "required": [
  8061             "Quantity"
  8062           ],
  8063           "members": {
  8064             "Quantity": {
  8065               "type": "integer"
  8066             },
  8067             "Items": {
  8068               "type": "list",
  8069               "member": {
  8070                 "locationName": "Name"
  8071               }
  8072             }
  8073           }
  8074         }
  8075       }
  8076     },
  8077     "Sy": {
  8078       "type": "structure",
  8079       "required": [
  8080         "Enabled",
  8081         "Quantity"
  8082       ],
  8083       "members": {
  8084         "Enabled": {
  8085           "type": "boolean"
  8086         },
  8087         "Quantity": {
  8088           "type": "integer"
  8089         },
  8090         "Items": {
  8091           "type": "list",
  8092           "member": {
  8093             "locationName": "AwsAccountNumber"
  8094           }
  8095         }
  8096       }
  8097     },
  8098     "S12": {
  8099       "type": "structure",
  8100       "required": [
  8101         "Quantity",
  8102         "Items"
  8103       ],
  8104       "members": {
  8105         "Quantity": {
  8106           "type": "integer"
  8107         },
  8108         "Items": {
  8109           "shape": "S13"
  8110         },
  8111         "CachedMethods": {
  8112           "type": "structure",
  8113           "required": [
  8114             "Quantity",
  8115             "Items"
  8116           ],
  8117           "members": {
  8118             "Quantity": {
  8119               "type": "integer"
  8120             },
  8121             "Items": {
  8122               "shape": "S13"
  8123             }
  8124           }
  8125         }
  8126       }
  8127     },
  8128     "S13": {
  8129       "type": "list",
  8130       "member": {
  8131         "locationName": "Method"
  8132       }
  8133     },
  8134     "S16": {
  8135       "type": "structure",
  8136       "required": [
  8137         "Quantity"
  8138       ],
  8139       "members": {
  8140         "Quantity": {
  8141           "type": "integer"
  8142         },
  8143         "Items": {
  8144           "type": "list",
  8145           "member": {
  8146             "locationName": "CacheBehavior",
  8147             "type": "structure",
  8148             "required": [
  8149               "PathPattern",
  8150               "TargetOriginId",
  8151               "ForwardedValues",
  8152               "TrustedSigners",
  8153               "ViewerProtocolPolicy",
  8154               "MinTTL"
  8155             ],
  8156             "members": {
  8157               "PathPattern": {},
  8158               "TargetOriginId": {},
  8159               "ForwardedValues": {
  8160                 "shape": "So"
  8161               },
  8162               "TrustedSigners": {
  8163                 "shape": "Sy"
  8164               },
  8165               "ViewerProtocolPolicy": {},
  8166               "MinTTL": {
  8167                 "type": "long"
  8168               },
  8169               "AllowedMethods": {
  8170                 "shape": "S12"
  8171               },
  8172               "SmoothStreaming": {
  8173                 "type": "boolean"
  8174               },
  8175               "DefaultTTL": {
  8176                 "type": "long"
  8177               },
  8178               "MaxTTL": {
  8179                 "type": "long"
  8180               },
  8181               "Compress": {
  8182                 "type": "boolean"
  8183               }
  8184             }
  8185           }
  8186         }
  8187       }
  8188     },
  8189     "S19": {
  8190       "type": "structure",
  8191       "required": [
  8192         "Quantity"
  8193       ],
  8194       "members": {
  8195         "Quantity": {
  8196           "type": "integer"
  8197         },
  8198         "Items": {
  8199           "type": "list",
  8200           "member": {
  8201             "locationName": "CustomErrorResponse",
  8202             "type": "structure",
  8203             "required": [
  8204               "ErrorCode"
  8205             ],
  8206             "members": {
  8207               "ErrorCode": {
  8208                 "type": "integer"
  8209               },
  8210               "ResponsePagePath": {},
  8211               "ResponseCode": {},
  8212               "ErrorCachingMinTTL": {
  8213                 "type": "long"
  8214               }
  8215             }
  8216           }
  8217         }
  8218       }
  8219     },
  8220     "S1e": {
  8221       "type": "structure",
  8222       "members": {
  8223         "CloudFrontDefaultCertificate": {
  8224           "type": "boolean"
  8225         },
  8226         "IAMCertificateId": {},
  8227         "ACMCertificateArn": {},
  8228         "SSLSupportMethod": {},
  8229         "MinimumProtocolVersion": {},
  8230         "Certificate": {
  8231           "deprecated": true
  8232         },
  8233         "CertificateSource": {
  8234           "deprecated": true
  8235         }
  8236       }
  8237     },
  8238     "S1i": {
  8239       "type": "structure",
  8240       "required": [
  8241         "GeoRestriction"
  8242       ],
  8243       "members": {
  8244         "GeoRestriction": {
  8245           "type": "structure",
  8246           "required": [
  8247             "RestrictionType",
  8248             "Quantity"
  8249           ],
  8250           "members": {
  8251             "RestrictionType": {},
  8252             "Quantity": {
  8253               "type": "integer"
  8254             },
  8255             "Items": {
  8256               "type": "list",
  8257               "member": {
  8258                 "locationName": "Location"
  8259               }
  8260             }
  8261           }
  8262         }
  8263       }
  8264     },
  8265     "S1o": {
  8266       "type": "structure",
  8267       "required": [
  8268         "Id",
  8269         "ARN",
  8270         "Status",
  8271         "LastModifiedTime",
  8272         "InProgressInvalidationBatches",
  8273         "DomainName",
  8274         "ActiveTrustedSigners",
  8275         "DistributionConfig"
  8276       ],
  8277       "members": {
  8278         "Id": {},
  8279         "ARN": {},
  8280         "Status": {},
  8281         "LastModifiedTime": {
  8282           "type": "timestamp"
  8283         },
  8284         "InProgressInvalidationBatches": {
  8285           "type": "integer"
  8286         },
  8287         "DomainName": {},
  8288         "ActiveTrustedSigners": {
  8289           "shape": "S1q"
  8290         },
  8291         "DistributionConfig": {
  8292           "shape": "S7"
  8293         }
  8294       }
  8295     },
  8296     "S1q": {
  8297       "type": "structure",
  8298       "required": [
  8299         "Enabled",
  8300         "Quantity"
  8301       ],
  8302       "members": {
  8303         "Enabled": {
  8304           "type": "boolean"
  8305         },
  8306         "Quantity": {
  8307           "type": "integer"
  8308         },
  8309         "Items": {
  8310           "type": "list",
  8311           "member": {
  8312             "locationName": "Signer",
  8313             "type": "structure",
  8314             "members": {
  8315               "AwsAccountNumber": {},
  8316               "KeyPairIds": {
  8317                 "type": "structure",
  8318                 "required": [
  8319                   "Quantity"
  8320                 ],
  8321                 "members": {
  8322                   "Quantity": {
  8323                     "type": "integer"
  8324                   },
  8325                   "Items": {
  8326                     "type": "list",
  8327                     "member": {
  8328                       "locationName": "KeyPairId"
  8329                     }
  8330                   }
  8331                 }
  8332               }
  8333             }
  8334           }
  8335         }
  8336       }
  8337     },
  8338     "S1x": {
  8339       "type": "structure",
  8340       "members": {
  8341         "Items": {
  8342           "type": "list",
  8343           "member": {
  8344             "locationName": "Tag",
  8345             "type": "structure",
  8346             "required": [
  8347               "Key"
  8348             ],
  8349             "members": {
  8350               "Key": {},
  8351               "Value": {}
  8352             }
  8353           }
  8354         }
  8355       }
  8356     },
  8357     "S24": {
  8358       "type": "structure",
  8359       "required": [
  8360         "Paths",
  8361         "CallerReference"
  8362       ],
  8363       "members": {
  8364         "Paths": {
  8365           "type": "structure",
  8366           "required": [
  8367             "Quantity"
  8368           ],
  8369           "members": {
  8370             "Quantity": {
  8371               "type": "integer"
  8372             },
  8373             "Items": {
  8374               "type": "list",
  8375               "member": {
  8376                 "locationName": "Path"
  8377               }
  8378             }
  8379           }
  8380         },
  8381         "CallerReference": {}
  8382       }
  8383     },
  8384     "S28": {
  8385       "type": "structure",
  8386       "required": [
  8387         "Id",
  8388         "Status",
  8389         "CreateTime",
  8390         "InvalidationBatch"
  8391       ],
  8392       "members": {
  8393         "Id": {},
  8394         "Status": {},
  8395         "CreateTime": {
  8396           "type": "timestamp"
  8397         },
  8398         "InvalidationBatch": {
  8399           "shape": "S24"
  8400         }
  8401       }
  8402     },
  8403     "S2a": {
  8404       "type": "structure",
  8405       "required": [
  8406         "CallerReference",
  8407         "S3Origin",
  8408         "Comment",
  8409         "TrustedSigners",
  8410         "Enabled"
  8411       ],
  8412       "members": {
  8413         "CallerReference": {},
  8414         "S3Origin": {
  8415           "shape": "S2b"
  8416         },
  8417         "Aliases": {
  8418           "shape": "S8"
  8419         },
  8420         "Comment": {},
  8421         "Logging": {
  8422           "type": "structure",
  8423           "required": [
  8424             "Enabled",
  8425             "Bucket",
  8426             "Prefix"
  8427           ],
  8428           "members": {
  8429             "Enabled": {
  8430               "type": "boolean"
  8431             },
  8432             "Bucket": {},
  8433             "Prefix": {}
  8434           }
  8435         },
  8436         "TrustedSigners": {
  8437           "shape": "Sy"
  8438         },
  8439         "PriceClass": {},
  8440         "Enabled": {
  8441           "type": "boolean"
  8442         }
  8443       }
  8444     },
  8445     "S2b": {
  8446       "type": "structure",
  8447       "required": [
  8448         "DomainName",
  8449         "OriginAccessIdentity"
  8450       ],
  8451       "members": {
  8452         "DomainName": {},
  8453         "OriginAccessIdentity": {}
  8454       }
  8455     },
  8456     "S2e": {
  8457       "type": "structure",
  8458       "required": [
  8459         "Id",
  8460         "ARN",
  8461         "Status",
  8462         "DomainName",
  8463         "ActiveTrustedSigners",
  8464         "StreamingDistributionConfig"
  8465       ],
  8466       "members": {
  8467         "Id": {},
  8468         "ARN": {},
  8469         "Status": {},
  8470         "LastModifiedTime": {
  8471           "type": "timestamp"
  8472         },
  8473         "DomainName": {},
  8474         "ActiveTrustedSigners": {
  8475           "shape": "S1q"
  8476         },
  8477         "StreamingDistributionConfig": {
  8478           "shape": "S2a"
  8479         }
  8480       }
  8481     },
  8482     "S36": {
  8483       "type": "structure",
  8484       "required": [
  8485         "Marker",
  8486         "MaxItems",
  8487         "IsTruncated",
  8488         "Quantity"
  8489       ],
  8490       "members": {
  8491         "Marker": {},
  8492         "NextMarker": {},
  8493         "MaxItems": {
  8494           "type": "integer"
  8495         },
  8496         "IsTruncated": {
  8497           "type": "boolean"
  8498         },
  8499         "Quantity": {
  8500           "type": "integer"
  8501         },
  8502         "Items": {
  8503           "type": "list",
  8504           "member": {
  8505             "locationName": "DistributionSummary",
  8506             "type": "structure",
  8507             "required": [
  8508               "Id",
  8509               "ARN",
  8510               "Status",
  8511               "LastModifiedTime",
  8512               "DomainName",
  8513               "Aliases",
  8514               "Origins",
  8515               "DefaultCacheBehavior",
  8516               "CacheBehaviors",
  8517               "CustomErrorResponses",
  8518               "Comment",
  8519               "PriceClass",
  8520               "Enabled",
  8521               "ViewerCertificate",
  8522               "Restrictions",
  8523               "WebACLId",
  8524               "HttpVersion",
  8525               "IsIPV6Enabled"
  8526             ],
  8527             "members": {
  8528               "Id": {},
  8529               "ARN": {},
  8530               "Status": {},
  8531               "LastModifiedTime": {
  8532                 "type": "timestamp"
  8533               },
  8534               "DomainName": {},
  8535               "Aliases": {
  8536                 "shape": "S8"
  8537               },
  8538               "Origins": {
  8539                 "shape": "Sb"
  8540               },
  8541               "DefaultCacheBehavior": {
  8542                 "shape": "Sn"
  8543               },
  8544               "CacheBehaviors": {
  8545                 "shape": "S16"
  8546               },
  8547               "CustomErrorResponses": {
  8548                 "shape": "S19"
  8549               },
  8550               "Comment": {},
  8551               "PriceClass": {},
  8552               "Enabled": {
  8553                 "type": "boolean"
  8554               },
  8555               "ViewerCertificate": {
  8556                 "shape": "S1e"
  8557               },
  8558               "Restrictions": {
  8559                 "shape": "S1i"
  8560               },
  8561               "WebACLId": {},
  8562               "HttpVersion": {},
  8563               "IsIPV6Enabled": {
  8564                 "type": "boolean"
  8565               }
  8566             }
  8567           }
  8568         }
  8569       }
  8570     }
  8571   }
  8572 }
  8573 },{}],13:[function(require,module,exports){
  8574 module.exports={
  8575   "pagination": {
  8576     "ListCloudFrontOriginAccessIdentities": {
  8577       "input_token": "Marker",
  8578       "output_token": "CloudFrontOriginAccessIdentityList.NextMarker",
  8579       "limit_key": "MaxItems",
  8580       "more_results": "CloudFrontOriginAccessIdentityList.IsTruncated",
  8581       "result_key": "CloudFrontOriginAccessIdentityList.Items"
  8582     },
  8583     "ListDistributions": {
  8584       "input_token": "Marker",
  8585       "output_token": "DistributionList.NextMarker",
  8586       "limit_key": "MaxItems",
  8587       "more_results": "DistributionList.IsTruncated",
  8588       "result_key": "DistributionList.Items"
  8589     },
  8590     "ListInvalidations": {
  8591       "input_token": "Marker",
  8592       "output_token": "InvalidationList.NextMarker",
  8593       "limit_key": "MaxItems",
  8594       "more_results": "InvalidationList.IsTruncated",
  8595       "result_key": "InvalidationList.Items"
  8596     },
  8597     "ListStreamingDistributions": {
  8598       "input_token": "Marker",
  8599       "output_token": "StreamingDistributionList.NextMarker",
  8600       "limit_key": "MaxItems",
  8601       "more_results": "StreamingDistributionList.IsTruncated",
  8602       "result_key": "StreamingDistributionList.Items"
  8603     }
  8604   }
  8605 }
  8606 
  8607 },{}],14:[function(require,module,exports){
  8608 module.exports={
  8609   "version": 2,
  8610   "waiters": {
  8611     "DistributionDeployed": {
  8612       "delay": 60,
  8613       "operation": "GetDistribution",
  8614       "maxAttempts": 25,
  8615       "description": "Wait until a distribution is deployed.",
  8616       "acceptors": [
  8617         {
  8618           "expected": "Deployed",
  8619           "matcher": "path",
  8620           "state": "success",
  8621           "argument": "Distribution.Status"
  8622         }
  8623       ]
  8624     },
  8625     "InvalidationCompleted": {
  8626       "delay": 20,
  8627       "operation": "GetInvalidation",
  8628       "maxAttempts": 30,
  8629       "description": "Wait until an invalidation has completed.",
  8630       "acceptors": [
  8631         {
  8632           "expected": "Completed",
  8633           "matcher": "path",
  8634           "state": "success",
  8635           "argument": "Invalidation.Status"
  8636         }
  8637       ]
  8638     },
  8639     "StreamingDistributionDeployed": {
  8640       "delay": 60,
  8641       "operation": "GetStreamingDistribution",
  8642       "maxAttempts": 25,
  8643       "description": "Wait until a streaming distribution is deployed.",
  8644       "acceptors": [
  8645         {
  8646           "expected": "Deployed",
  8647           "matcher": "path",
  8648           "state": "success",
  8649           "argument": "StreamingDistribution.Status"
  8650         }
  8651       ]
  8652     }
  8653   }
  8654 }
  8655 
  8656 },{}],15:[function(require,module,exports){
  8657 module.exports={
  8658   "version": "2.0",
  8659   "metadata": {
  8660     "apiVersion": "2014-05-30",
  8661     "endpointPrefix": "cloudhsm",
  8662     "jsonVersion": "1.1",
  8663     "protocol": "json",
  8664     "serviceAbbreviation": "CloudHSM",
  8665     "serviceFullName": "Amazon CloudHSM",
  8666     "signatureVersion": "v4",
  8667     "targetPrefix": "CloudHsmFrontendService"
  8668   },
  8669   "operations": {
  8670     "AddTagsToResource": {
  8671       "input": {
  8672         "type": "structure",
  8673         "required": [
  8674           "ResourceArn",
  8675           "TagList"
  8676         ],
  8677         "members": {
  8678           "ResourceArn": {},
  8679           "TagList": {
  8680             "shape": "S3"
  8681           }
  8682         }
  8683       },
  8684       "output": {
  8685         "type": "structure",
  8686         "required": [
  8687           "Status"
  8688         ],
  8689         "members": {
  8690           "Status": {}
  8691         }
  8692       }
  8693     },
  8694     "CreateHapg": {
  8695       "input": {
  8696         "type": "structure",
  8697         "required": [
  8698           "Label"
  8699         ],
  8700         "members": {
  8701           "Label": {}
  8702         }
  8703       },
  8704       "output": {
  8705         "type": "structure",
  8706         "members": {
  8707           "HapgArn": {}
  8708         }
  8709       }
  8710     },
  8711     "CreateHsm": {
  8712       "input": {
  8713         "type": "structure",
  8714         "required": [
  8715           "SubnetId",
  8716           "SshKey",
  8717           "IamRoleArn",
  8718           "SubscriptionType"
  8719         ],
  8720         "members": {
  8721           "SubnetId": {
  8722             "locationName": "SubnetId"
  8723           },
  8724           "SshKey": {
  8725             "locationName": "SshKey"
  8726           },
  8727           "EniIp": {
  8728             "locationName": "EniIp"
  8729           },
  8730           "IamRoleArn": {
  8731             "locationName": "IamRoleArn"
  8732           },
  8733           "ExternalId": {
  8734             "locationName": "ExternalId"
  8735           },
  8736           "SubscriptionType": {
  8737             "locationName": "SubscriptionType"
  8738           },
  8739           "ClientToken": {
  8740             "locationName": "ClientToken"
  8741           },
  8742           "SyslogIp": {
  8743             "locationName": "SyslogIp"
  8744           }
  8745         },
  8746         "locationName": "CreateHsmRequest"
  8747       },
  8748       "output": {
  8749         "type": "structure",
  8750         "members": {
  8751           "HsmArn": {}
  8752         }
  8753       }
  8754     },
  8755     "CreateLunaClient": {
  8756       "input": {
  8757         "type": "structure",
  8758         "required": [
  8759           "Certificate"
  8760         ],
  8761         "members": {
  8762           "Label": {},
  8763           "Certificate": {}
  8764         }
  8765       },
  8766       "output": {
  8767         "type": "structure",
  8768         "members": {
  8769           "ClientArn": {}
  8770         }
  8771       }
  8772     },
  8773     "DeleteHapg": {
  8774       "input": {
  8775         "type": "structure",
  8776         "required": [
  8777           "HapgArn"
  8778         ],
  8779         "members": {
  8780           "HapgArn": {}
  8781         }
  8782       },
  8783       "output": {
  8784         "type": "structure",
  8785         "required": [
  8786           "Status"
  8787         ],
  8788         "members": {
  8789           "Status": {}
  8790         }
  8791       }
  8792     },
  8793     "DeleteHsm": {
  8794       "input": {
  8795         "type": "structure",
  8796         "required": [
  8797           "HsmArn"
  8798         ],
  8799         "members": {
  8800           "HsmArn": {
  8801             "locationName": "HsmArn"
  8802           }
  8803         },
  8804         "locationName": "DeleteHsmRequest"
  8805       },
  8806       "output": {
  8807         "type": "structure",
  8808         "required": [
  8809           "Status"
  8810         ],
  8811         "members": {
  8812           "Status": {}
  8813         }
  8814       }
  8815     },
  8816     "DeleteLunaClient": {
  8817       "input": {
  8818         "type": "structure",
  8819         "required": [
  8820           "ClientArn"
  8821         ],
  8822         "members": {
  8823           "ClientArn": {}
  8824         }
  8825       },
  8826       "output": {
  8827         "type": "structure",
  8828         "required": [
  8829           "Status"
  8830         ],
  8831         "members": {
  8832           "Status": {}
  8833         }
  8834       }
  8835     },
  8836     "DescribeHapg": {
  8837       "input": {
  8838         "type": "structure",
  8839         "required": [
  8840           "HapgArn"
  8841         ],
  8842         "members": {
  8843           "HapgArn": {}
  8844         }
  8845       },
  8846       "output": {
  8847         "type": "structure",
  8848         "members": {
  8849           "HapgArn": {},
  8850           "HapgSerial": {},
  8851           "HsmsLastActionFailed": {
  8852             "shape": "Sz"
  8853           },
  8854           "HsmsPendingDeletion": {
  8855             "shape": "Sz"
  8856           },
  8857           "HsmsPendingRegistration": {
  8858             "shape": "Sz"
  8859           },
  8860           "Label": {},
  8861           "LastModifiedTimestamp": {},
  8862           "PartitionSerialList": {
  8863             "shape": "S11"
  8864           },
  8865           "State": {}
  8866         }
  8867       }
  8868     },
  8869     "DescribeHsm": {
  8870       "input": {
  8871         "type": "structure",
  8872         "members": {
  8873           "HsmArn": {},
  8874           "HsmSerialNumber": {}
  8875         }
  8876       },
  8877       "output": {
  8878         "type": "structure",
  8879         "members": {
  8880           "HsmArn": {},
  8881           "Status": {},
  8882           "StatusDetails": {},
  8883           "AvailabilityZone": {},
  8884           "EniId": {},
  8885           "EniIp": {},
  8886           "SubscriptionType": {},
  8887           "SubscriptionStartDate": {},
  8888           "SubscriptionEndDate": {},
  8889           "VpcId": {},
  8890           "SubnetId": {},
  8891           "IamRoleArn": {},
  8892           "SerialNumber": {},
  8893           "VendorName": {},
  8894           "HsmType": {},
  8895           "SoftwareVersion": {},
  8896           "SshPublicKey": {},
  8897           "SshKeyLastUpdated": {},
  8898           "ServerCertUri": {},
  8899           "ServerCertLastUpdated": {},
  8900           "Partitions": {
  8901             "type": "list",
  8902             "member": {}
  8903           }
  8904         }
  8905       }
  8906     },
  8907     "DescribeLunaClient": {
  8908       "input": {
  8909         "type": "structure",
  8910         "members": {
  8911           "ClientArn": {},
  8912           "CertificateFingerprint": {}
  8913         }
  8914       },
  8915       "output": {
  8916         "type": "structure",
  8917         "members": {
  8918           "ClientArn": {},
  8919           "Certificate": {},
  8920           "CertificateFingerprint": {},
  8921           "LastModifiedTimestamp": {},
  8922           "Label": {}
  8923         }
  8924       }
  8925     },
  8926     "GetConfig": {
  8927       "input": {
  8928         "type": "structure",
  8929         "required": [
  8930           "ClientArn",
  8931           "ClientVersion",
  8932           "HapgList"
  8933         ],
  8934         "members": {
  8935           "ClientArn": {},
  8936           "ClientVersion": {},
  8937           "HapgList": {
  8938             "shape": "S1i"
  8939           }
  8940         }
  8941       },
  8942       "output": {
  8943         "type": "structure",
  8944         "members": {
  8945           "ConfigType": {},
  8946           "ConfigFile": {},
  8947           "ConfigCred": {}
  8948         }
  8949       }
  8950     },
  8951     "ListAvailableZones": {
  8952       "input": {
  8953         "type": "structure",
  8954         "members": {}
  8955       },
  8956       "output": {
  8957         "type": "structure",
  8958         "members": {
  8959           "AZList": {
  8960             "type": "list",
  8961             "member": {}
  8962           }
  8963         }
  8964       }
  8965     },
  8966     "ListHapgs": {
  8967       "input": {
  8968         "type": "structure",
  8969         "members": {
  8970           "NextToken": {}
  8971         }
  8972       },
  8973       "output": {
  8974         "type": "structure",
  8975         "required": [
  8976           "HapgList"
  8977         ],
  8978         "members": {
  8979           "HapgList": {
  8980             "shape": "S1i"
  8981           },
  8982           "NextToken": {}
  8983         }
  8984       }
  8985     },
  8986     "ListHsms": {
  8987       "input": {
  8988         "type": "structure",
  8989         "members": {
  8990           "NextToken": {}
  8991         }
  8992       },
  8993       "output": {
  8994         "type": "structure",
  8995         "members": {
  8996           "HsmList": {
  8997             "shape": "Sz"
  8998           },
  8999           "NextToken": {}
  9000         }
  9001       }
  9002     },
  9003     "ListLunaClients": {
  9004       "input": {
  9005         "type": "structure",
  9006         "members": {
  9007           "NextToken": {}
  9008         }
  9009       },
  9010       "output": {
  9011         "type": "structure",
  9012         "required": [
  9013           "ClientList"
  9014         ],
  9015         "members": {
  9016           "ClientList": {
  9017             "type": "list",
  9018             "member": {}
  9019           },
  9020           "NextToken": {}
  9021         }
  9022       }
  9023     },
  9024     "ListTagsForResource": {
  9025       "input": {
  9026         "type": "structure",
  9027         "required": [
  9028           "ResourceArn"
  9029         ],
  9030         "members": {
  9031           "ResourceArn": {}
  9032         }
  9033       },
  9034       "output": {
  9035         "type": "structure",
  9036         "required": [
  9037           "TagList"
  9038         ],
  9039         "members": {
  9040           "TagList": {
  9041             "shape": "S3"
  9042           }
  9043         }
  9044       }
  9045     },
  9046     "ModifyHapg": {
  9047       "input": {
  9048         "type": "structure",
  9049         "required": [
  9050           "HapgArn"
  9051         ],
  9052         "members": {
  9053           "HapgArn": {},
  9054           "Label": {},
  9055           "PartitionSerialList": {
  9056             "shape": "S11"
  9057           }
  9058         }
  9059       },
  9060       "output": {
  9061         "type": "structure",
  9062         "members": {
  9063           "HapgArn": {}
  9064         }
  9065       }
  9066     },
  9067     "ModifyHsm": {
  9068       "input": {
  9069         "type": "structure",
  9070         "required": [
  9071           "HsmArn"
  9072         ],
  9073         "members": {
  9074           "HsmArn": {
  9075             "locationName": "HsmArn"
  9076           },
  9077           "SubnetId": {
  9078             "locationName": "SubnetId"
  9079           },
  9080           "EniIp": {
  9081             "locationName": "EniIp"
  9082           },
  9083           "IamRoleArn": {
  9084             "locationName": "IamRoleArn"
  9085           },
  9086           "ExternalId": {
  9087             "locationName": "ExternalId"
  9088           },
  9089           "SyslogIp": {
  9090             "locationName": "SyslogIp"
  9091           }
  9092         },
  9093         "locationName": "ModifyHsmRequest"
  9094       },
  9095       "output": {
  9096         "type": "structure",
  9097         "members": {
  9098           "HsmArn": {}
  9099         }
  9100       }
  9101     },
  9102     "ModifyLunaClient": {
  9103       "input": {
  9104         "type": "structure",
  9105         "required": [
  9106           "ClientArn",
  9107           "Certificate"
  9108         ],
  9109         "members": {
  9110           "ClientArn": {},
  9111           "Certificate": {}
  9112         }
  9113       },
  9114       "output": {
  9115         "type": "structure",
  9116         "members": {
  9117           "ClientArn": {}
  9118         }
  9119       }
  9120     },
  9121     "RemoveTagsFromResource": {
  9122       "input": {
  9123         "type": "structure",
  9124         "required": [
  9125           "ResourceArn",
  9126           "TagKeyList"
  9127         ],
  9128         "members": {
  9129           "ResourceArn": {},
  9130           "TagKeyList": {
  9131             "type": "list",
  9132             "member": {}
  9133           }
  9134         }
  9135       },
  9136       "output": {
  9137         "type": "structure",
  9138         "required": [
  9139           "Status"
  9140         ],
  9141         "members": {
  9142           "Status": {}
  9143         }
  9144       }
  9145     }
  9146   },
  9147   "shapes": {
  9148     "S3": {
  9149       "type": "list",
  9150       "member": {
  9151         "type": "structure",
  9152         "required": [
  9153           "Key",
  9154           "Value"
  9155         ],
  9156         "members": {
  9157           "Key": {},
  9158           "Value": {}
  9159         }
  9160       }
  9161     },
  9162     "Sz": {
  9163       "type": "list",
  9164       "member": {}
  9165     },
  9166     "S11": {
  9167       "type": "list",
  9168       "member": {}
  9169     },
  9170     "S1i": {
  9171       "type": "list",
  9172       "member": {}
  9173     }
  9174   }
  9175 }
  9176 },{}],16:[function(require,module,exports){
  9177 module.exports={
  9178   "version": "2.0",
  9179   "metadata": {
  9180     "apiVersion": "2013-11-01",
  9181     "endpointPrefix": "cloudtrail",
  9182     "jsonVersion": "1.1",
  9183     "protocol": "json",
  9184     "serviceAbbreviation": "CloudTrail",
  9185     "serviceFullName": "AWS CloudTrail",
  9186     "signatureVersion": "v4",
  9187     "targetPrefix": "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101"
  9188   },
  9189   "operations": {
  9190     "AddTags": {
  9191       "input": {
  9192         "type": "structure",
  9193         "required": [
  9194           "ResourceId"
  9195         ],
  9196         "members": {
  9197           "ResourceId": {},
  9198           "TagsList": {
  9199             "shape": "S3"
  9200           }
  9201         }
  9202       },
  9203       "output": {
  9204         "type": "structure",
  9205         "members": {}
  9206       },
  9207       "idempotent": true
  9208     },
  9209     "CreateTrail": {
  9210       "input": {
  9211         "type": "structure",
  9212         "required": [
  9213           "Name",
  9214           "S3BucketName"
  9215         ],
  9216         "members": {
  9217           "Name": {},
  9218           "S3BucketName": {},
  9219           "S3KeyPrefix": {},
  9220           "SnsTopicName": {},
  9221           "IncludeGlobalServiceEvents": {
  9222             "type": "boolean"
  9223           },
  9224           "IsMultiRegionTrail": {
  9225             "type": "boolean"
  9226           },
  9227           "EnableLogFileValidation": {
  9228             "type": "boolean"
  9229           },
  9230           "CloudWatchLogsLogGroupArn": {},
  9231           "CloudWatchLogsRoleArn": {},
  9232           "KmsKeyId": {}
  9233         }
  9234       },
  9235       "output": {
  9236         "type": "structure",
  9237         "members": {
  9238           "Name": {},
  9239           "S3BucketName": {},
  9240           "S3KeyPrefix": {},
  9241           "SnsTopicName": {
  9242             "deprecated": true
  9243           },
  9244           "SnsTopicARN": {},
  9245           "IncludeGlobalServiceEvents": {
  9246             "type": "boolean"
  9247           },
  9248           "IsMultiRegionTrail": {
  9249             "type": "boolean"
  9250           },
  9251           "TrailARN": {},
  9252           "LogFileValidationEnabled": {
  9253             "type": "boolean"
  9254           },
  9255           "CloudWatchLogsLogGroupArn": {},
  9256           "CloudWatchLogsRoleArn": {},
  9257           "KmsKeyId": {}
  9258         }
  9259       },
  9260       "idempotent": true
  9261     },
  9262     "DeleteTrail": {
  9263       "input": {
  9264         "type": "structure",
  9265         "required": [
  9266           "Name"
  9267         ],
  9268         "members": {
  9269           "Name": {}
  9270         }
  9271       },
  9272       "output": {
  9273         "type": "structure",
  9274         "members": {}
  9275       },
  9276       "idempotent": true
  9277     },
  9278     "DescribeTrails": {
  9279       "input": {
  9280         "type": "structure",
  9281         "members": {
  9282           "trailNameList": {
  9283             "type": "list",
  9284             "member": {}
  9285           },
  9286           "includeShadowTrails": {
  9287             "type": "boolean"
  9288           }
  9289         }
  9290       },
  9291       "output": {
  9292         "type": "structure",
  9293         "members": {
  9294           "trailList": {
  9295             "type": "list",
  9296             "member": {
  9297               "type": "structure",
  9298               "members": {
  9299                 "Name": {},
  9300                 "S3BucketName": {},
  9301                 "S3KeyPrefix": {},
  9302                 "SnsTopicName": {
  9303                   "deprecated": true
  9304                 },
  9305                 "SnsTopicARN": {},
  9306                 "IncludeGlobalServiceEvents": {
  9307                   "type": "boolean"
  9308                 },
  9309                 "IsMultiRegionTrail": {
  9310                   "type": "boolean"
  9311                 },
  9312                 "HomeRegion": {},
  9313                 "TrailARN": {},
  9314                 "LogFileValidationEnabled": {
  9315                   "type": "boolean"
  9316                 },
  9317                 "CloudWatchLogsLogGroupArn": {},
  9318                 "CloudWatchLogsRoleArn": {},
  9319                 "KmsKeyId": {},
  9320                 "HasCustomEventSelectors": {
  9321                   "type": "boolean"
  9322                 }
  9323               }
  9324             }
  9325           }
  9326         }
  9327       },
  9328       "idempotent": true
  9329     },
  9330     "GetEventSelectors": {
  9331       "input": {
  9332         "type": "structure",
  9333         "members": {
  9334           "TrailName": {}
  9335         }
  9336       },
  9337       "output": {
  9338         "type": "structure",
  9339         "members": {
  9340           "TrailARN": {},
  9341           "EventSelectors": {
  9342             "shape": "Si"
  9343           }
  9344         }
  9345       },
  9346       "idempotent": true
  9347     },
  9348     "GetTrailStatus": {
  9349       "input": {
  9350         "type": "structure",
  9351         "required": [
  9352           "Name"
  9353         ],
  9354         "members": {
  9355           "Name": {}
  9356         }
  9357       },
  9358       "output": {
  9359         "type": "structure",
  9360         "members": {
  9361           "IsLogging": {
  9362             "type": "boolean"
  9363           },
  9364           "LatestDeliveryError": {},
  9365           "LatestNotificationError": {},
  9366           "LatestDeliveryTime": {
  9367             "type": "timestamp"
  9368           },
  9369           "LatestNotificationTime": {
  9370             "type": "timestamp"
  9371           },
  9372           "StartLoggingTime": {
  9373             "type": "timestamp"
  9374           },
  9375           "StopLoggingTime": {
  9376             "type": "timestamp"
  9377           },
  9378           "LatestCloudWatchLogsDeliveryError": {},
  9379           "LatestCloudWatchLogsDeliveryTime": {
  9380             "type": "timestamp"
  9381           },
  9382           "LatestDigestDeliveryTime": {
  9383             "type": "timestamp"
  9384           },
  9385           "LatestDigestDeliveryError": {},
  9386           "LatestDeliveryAttemptTime": {},
  9387           "LatestNotificationAttemptTime": {},
  9388           "LatestNotificationAttemptSucceeded": {},
  9389           "LatestDeliveryAttemptSucceeded": {},
  9390           "TimeLoggingStarted": {},
  9391           "TimeLoggingStopped": {}
  9392         }
  9393       },
  9394       "idempotent": true
  9395     },
  9396     "ListPublicKeys": {
  9397       "input": {
  9398         "type": "structure",
  9399         "members": {
  9400           "StartTime": {
  9401             "type": "timestamp"
  9402           },
  9403           "EndTime": {
  9404             "type": "timestamp"
  9405           },
  9406           "NextToken": {}
  9407         }
  9408       },
  9409       "output": {
  9410         "type": "structure",
  9411         "members": {
  9412           "PublicKeyList": {
  9413             "type": "list",
  9414             "member": {
  9415               "type": "structure",
  9416               "members": {
  9417                 "Value": {
  9418                   "type": "blob"
  9419                 },
  9420                 "ValidityStartTime": {
  9421                   "type": "timestamp"
  9422                 },
  9423                 "ValidityEndTime": {
  9424                   "type": "timestamp"
  9425                 },
  9426                 "Fingerprint": {}
  9427               }
  9428             }
  9429           },
  9430           "NextToken": {}
  9431         }
  9432       },
  9433       "idempotent": true
  9434     },
  9435     "ListTags": {
  9436       "input": {
  9437         "type": "structure",
  9438         "required": [
  9439           "ResourceIdList"
  9440         ],
  9441         "members": {
  9442           "ResourceIdList": {
  9443             "type": "list",
  9444             "member": {}
  9445           },
  9446           "NextToken": {}
  9447         }
  9448       },
  9449       "output": {
  9450         "type": "structure",
  9451         "members": {
  9452           "ResourceTagList": {
  9453             "type": "list",
  9454             "member": {
  9455               "type": "structure",
  9456               "members": {
  9457                 "ResourceId": {},
  9458                 "TagsList": {
  9459                   "shape": "S3"
  9460                 }
  9461               }
  9462             }
  9463           },
  9464           "NextToken": {}
  9465         }
  9466       },
  9467       "idempotent": true
  9468     },
  9469     "LookupEvents": {
  9470       "input": {
  9471         "type": "structure",
  9472         "members": {
  9473           "LookupAttributes": {
  9474             "type": "list",
  9475             "member": {
  9476               "type": "structure",
  9477               "required": [
  9478                 "AttributeKey",
  9479                 "AttributeValue"
  9480               ],
  9481               "members": {
  9482                 "AttributeKey": {},
  9483                 "AttributeValue": {}
  9484               }
  9485             }
  9486           },
  9487           "StartTime": {
  9488             "type": "timestamp"
  9489           },
  9490           "EndTime": {
  9491             "type": "timestamp"
  9492           },
  9493           "MaxResults": {
  9494             "type": "integer"
  9495           },
  9496           "NextToken": {}
  9497         }
  9498       },
  9499       "output": {
  9500         "type": "structure",
  9501         "members": {
  9502           "Events": {
  9503             "type": "list",
  9504             "member": {
  9505               "type": "structure",
  9506               "members": {
  9507                 "EventId": {},
  9508                 "EventName": {},
  9509                 "EventTime": {
  9510                   "type": "timestamp"
  9511                 },
  9512                 "EventSource": {},
  9513                 "Username": {},
  9514                 "Resources": {
  9515                   "type": "list",
  9516                   "member": {
  9517                     "type": "structure",
  9518                     "members": {
  9519                       "ResourceType": {},
  9520                       "ResourceName": {}
  9521                     }
  9522                   }
  9523                 },
  9524                 "CloudTrailEvent": {}
  9525               }
  9526             }
  9527           },
  9528           "NextToken": {}
  9529         }
  9530       },
  9531       "idempotent": true
  9532     },
  9533     "PutEventSelectors": {
  9534       "input": {
  9535         "type": "structure",
  9536         "members": {
  9537           "TrailName": {},
  9538           "EventSelectors": {
  9539             "shape": "Si"
  9540           }
  9541         }
  9542       },
  9543       "output": {
  9544         "type": "structure",
  9545         "members": {
  9546           "TrailARN": {},
  9547           "EventSelectors": {
  9548             "shape": "Si"
  9549           }
  9550         }
  9551       },
  9552       "idempotent": true
  9553     },
  9554     "RemoveTags": {
  9555       "input": {
  9556         "type": "structure",
  9557         "required": [
  9558           "ResourceId"
  9559         ],
  9560         "members": {
  9561           "ResourceId": {},
  9562           "TagsList": {
  9563             "shape": "S3"
  9564           }
  9565         }
  9566       },
  9567       "output": {
  9568         "type": "structure",
  9569         "members": {}
  9570       },
  9571       "idempotent": true
  9572     },
  9573     "StartLogging": {
  9574       "input": {
  9575         "type": "structure",
  9576         "required": [
  9577           "Name"
  9578         ],
  9579         "members": {
  9580           "Name": {}
  9581         }
  9582       },
  9583       "output": {
  9584         "type": "structure",
  9585         "members": {}
  9586       },
  9587       "idempotent": true
  9588     },
  9589     "StopLogging": {
  9590       "input": {
  9591         "type": "structure",
  9592         "required": [
  9593           "Name"
  9594         ],
  9595         "members": {
  9596           "Name": {}
  9597         }
  9598       },
  9599       "output": {
  9600         "type": "structure",
  9601         "members": {}
  9602       },
  9603       "idempotent": true
  9604     },
  9605     "UpdateTrail": {
  9606       "input": {
  9607         "type": "structure",
  9608         "required": [
  9609           "Name"
  9610         ],
  9611         "members": {
  9612           "Name": {},
  9613           "S3BucketName": {},
  9614           "S3KeyPrefix": {},
  9615           "SnsTopicName": {},
  9616           "IncludeGlobalServiceEvents": {
  9617             "type": "boolean"
  9618           },
  9619           "IsMultiRegionTrail": {
  9620             "type": "boolean"
  9621           },
  9622           "EnableLogFileValidation": {
  9623             "type": "boolean"
  9624           },
  9625           "CloudWatchLogsLogGroupArn": {},
  9626           "CloudWatchLogsRoleArn": {},
  9627           "KmsKeyId": {}
  9628         }
  9629       },
  9630       "output": {
  9631         "type": "structure",
  9632         "members": {
  9633           "Name": {},
  9634           "S3BucketName": {},
  9635           "S3KeyPrefix": {},
  9636           "SnsTopicName": {
  9637             "deprecated": true
  9638           },
  9639           "SnsTopicARN": {},
  9640           "IncludeGlobalServiceEvents": {
  9641             "type": "boolean"
  9642           },
  9643           "IsMultiRegionTrail": {
  9644             "type": "boolean"
  9645           },
  9646           "TrailARN": {},
  9647           "LogFileValidationEnabled": {
  9648             "type": "boolean"
  9649           },
  9650           "CloudWatchLogsLogGroupArn": {},
  9651           "CloudWatchLogsRoleArn": {},
  9652           "KmsKeyId": {}
  9653         }
  9654       },
  9655       "idempotent": true
  9656     }
  9657   },
  9658   "shapes": {
  9659     "S3": {
  9660       "type": "list",
  9661       "member": {
  9662         "type": "structure",
  9663         "required": [
  9664           "Key"
  9665         ],
  9666         "members": {
  9667           "Key": {},
  9668           "Value": {}
  9669         }
  9670       }
  9671     },
  9672     "Si": {
  9673       "type": "list",
  9674       "member": {
  9675         "type": "structure",
  9676         "members": {
  9677           "ReadWriteType": {},
  9678           "IncludeManagementEvents": {
  9679             "type": "boolean"
  9680           },
  9681           "DataResources": {
  9682             "type": "list",
  9683             "member": {
  9684               "type": "structure",
  9685               "members": {
  9686                 "Type": {},
  9687                 "Values": {
  9688                   "type": "list",
  9689                   "member": {}
  9690                 }
  9691               }
  9692             }
  9693           }
  9694         }
  9695       }
  9696     }
  9697   }
  9698 }
  9699 },{}],17:[function(require,module,exports){
  9700 module.exports={
  9701   "pagination": {
  9702     "DescribeTrails": {
  9703       "result_key": "trailList"
  9704     }
  9705   }
  9706 }
  9707 
  9708 },{}],18:[function(require,module,exports){
  9709 module.exports={
  9710   "version": "2.0",
  9711   "metadata": {
  9712     "apiVersion": "2015-04-13",
  9713     "endpointPrefix": "codecommit",
  9714     "jsonVersion": "1.1",
  9715     "protocol": "json",
  9716     "serviceAbbreviation": "CodeCommit",
  9717     "serviceFullName": "AWS CodeCommit",
  9718     "signatureVersion": "v4",
  9719     "targetPrefix": "CodeCommit_20150413"
  9720   },
  9721   "operations": {
  9722     "BatchGetRepositories": {
  9723       "input": {
  9724         "type": "structure",
  9725         "required": [
  9726           "repositoryNames"
  9727         ],
  9728         "members": {
  9729           "repositoryNames": {
  9730             "type": "list",
  9731             "member": {}
  9732           }
  9733         }
  9734       },
  9735       "output": {
  9736         "type": "structure",
  9737         "members": {
  9738           "repositories": {
  9739             "type": "list",
  9740             "member": {
  9741               "shape": "S6"
  9742             }
  9743           },
  9744           "repositoriesNotFound": {
  9745             "type": "list",
  9746             "member": {}
  9747           }
  9748         }
  9749       }
  9750     },
  9751     "CreateBranch": {
  9752       "input": {
  9753         "type": "structure",
  9754         "required": [
  9755           "repositoryName",
  9756           "branchName",
  9757           "commitId"
  9758         ],
  9759         "members": {
  9760           "repositoryName": {},
  9761           "branchName": {},
  9762           "commitId": {}
  9763         }
  9764       }
  9765     },
  9766     "CreateRepository": {
  9767       "input": {
  9768         "type": "structure",
  9769         "required": [
  9770           "repositoryName"
  9771         ],
  9772         "members": {
  9773           "repositoryName": {},
  9774           "repositoryDescription": {}
  9775         }
  9776       },
  9777       "output": {
  9778         "type": "structure",
  9779         "members": {
  9780           "repositoryMetadata": {
  9781             "shape": "S6"
  9782           }
  9783         }
  9784       }
  9785     },
  9786     "DeleteRepository": {
  9787       "input": {
  9788         "type": "structure",
  9789         "required": [
  9790           "repositoryName"
  9791         ],
  9792         "members": {
  9793           "repositoryName": {}
  9794         }
  9795       },
  9796       "output": {
  9797         "type": "structure",
  9798         "members": {
  9799           "repositoryId": {}
  9800         }
  9801       }
  9802     },
  9803     "GetBranch": {
  9804       "input": {
  9805         "type": "structure",
  9806         "members": {
  9807           "repositoryName": {},
  9808           "branchName": {}
  9809         }
  9810       },
  9811       "output": {
  9812         "type": "structure",
  9813         "members": {
  9814           "branch": {
  9815             "type": "structure",
  9816             "members": {
  9817               "branchName": {},
  9818               "commitId": {}
  9819             }
  9820           }
  9821         }
  9822       }
  9823     },
  9824     "GetCommit": {
  9825       "input": {
  9826         "type": "structure",
  9827         "required": [
  9828           "repositoryName",
  9829           "commitId"
  9830         ],
  9831         "members": {
  9832           "repositoryName": {},
  9833           "commitId": {}
  9834         }
  9835       },
  9836       "output": {
  9837         "type": "structure",
  9838         "required": [
  9839           "commit"
  9840         ],
  9841         "members": {
  9842           "commit": {
  9843             "type": "structure",
  9844             "members": {
  9845               "treeId": {},
  9846               "parents": {
  9847                 "type": "list",
  9848                 "member": {}
  9849               },
  9850               "message": {},
  9851               "author": {
  9852                 "shape": "Sw"
  9853               },
  9854               "committer": {
  9855                 "shape": "Sw"
  9856               },
  9857               "additionalData": {}
  9858             }
  9859           }
  9860         }
  9861       }
  9862     },
  9863     "GetRepository": {
  9864       "input": {
  9865         "type": "structure",
  9866         "required": [
  9867           "repositoryName"
  9868         ],
  9869         "members": {
  9870           "repositoryName": {}
  9871         }
  9872       },
  9873       "output": {
  9874         "type": "structure",
  9875         "members": {
  9876           "repositoryMetadata": {
  9877             "shape": "S6"
  9878           }
  9879         }
  9880       }
  9881     },
  9882     "GetRepositoryTriggers": {
  9883       "input": {
  9884         "type": "structure",
  9885         "members": {
  9886           "repositoryName": {}
  9887         }
  9888       },
  9889       "output": {
  9890         "type": "structure",
  9891         "members": {
  9892           "configurationId": {},
  9893           "triggers": {
  9894             "shape": "S16"
  9895           }
  9896         }
  9897       }
  9898     },
  9899     "ListBranches": {
  9900       "input": {
  9901         "type": "structure",
  9902         "required": [
  9903           "repositoryName"
  9904         ],
  9905         "members": {
  9906           "repositoryName": {},
  9907           "nextToken": {}
  9908         }
  9909       },
  9910       "output": {
  9911         "type": "structure",
  9912         "members": {
  9913           "branches": {
  9914             "shape": "S1a"
  9915           },
  9916           "nextToken": {}
  9917         }
  9918       }
  9919     },
  9920     "ListRepositories": {
  9921       "input": {
  9922         "type": "structure",
  9923         "members": {
  9924           "nextToken": {},
  9925           "sortBy": {},
  9926           "order": {}
  9927         }
  9928       },
  9929       "output": {
  9930         "type": "structure",
  9931         "members": {
  9932           "repositories": {
  9933             "type": "list",
  9934             "member": {
  9935               "type": "structure",
  9936               "members": {
  9937                 "repositoryName": {},
  9938                 "repositoryId": {}
  9939               }
  9940             }
  9941           },
  9942           "nextToken": {}
  9943         }
  9944       }
  9945     },
  9946     "PutRepositoryTriggers": {
  9947       "input": {
  9948         "type": "structure",
  9949         "members": {
  9950           "repositoryName": {},
  9951           "triggers": {
  9952             "shape": "S16"
  9953           }
  9954         }
  9955       },
  9956       "output": {
  9957         "type": "structure",
  9958         "members": {
  9959           "configurationId": {}
  9960         }
  9961       }
  9962     },
  9963     "TestRepositoryTriggers": {
  9964       "input": {
  9965         "type": "structure",
  9966         "members": {
  9967           "repositoryName": {},
  9968           "triggers": {
  9969             "shape": "S16"
  9970           }
  9971         }
  9972       },
  9973       "output": {
  9974         "type": "structure",
  9975         "members": {
  9976           "successfulExecutions": {
  9977             "type": "list",
  9978             "member": {}
  9979           },
  9980           "failedExecutions": {
  9981             "type": "list",
  9982             "member": {
  9983               "type": "structure",
  9984               "members": {
  9985                 "trigger": {},
  9986                 "failureMessage": {}
  9987               }
  9988             }
  9989           }
  9990         }
  9991       }
  9992     },
  9993     "UpdateDefaultBranch": {
  9994       "input": {
  9995         "type": "structure",
  9996         "required": [
  9997           "repositoryName",
  9998           "defaultBranchName"
  9999         ],
 10000         "members": {
 10001           "repositoryName": {},
 10002           "defaultBranchName": {}
 10003         }
 10004       }
 10005     },
 10006     "UpdateRepositoryDescription": {
 10007       "input": {
 10008         "type": "structure",
 10009         "required": [
 10010           "repositoryName"
 10011         ],
 10012         "members": {
 10013           "repositoryName": {},
 10014           "repositoryDescription": {}
 10015         }
 10016       }
 10017     },
 10018     "UpdateRepositoryName": {
 10019       "input": {
 10020         "type": "structure",
 10021         "required": [
 10022           "oldName",
 10023           "newName"
 10024         ],
 10025         "members": {
 10026           "oldName": {},
 10027           "newName": {}
 10028         }
 10029       }
 10030     }
 10031   },
 10032   "shapes": {
 10033     "S6": {
 10034       "type": "structure",
 10035       "members": {
 10036         "accountId": {},
 10037         "repositoryId": {},
 10038         "repositoryName": {},
 10039         "repositoryDescription": {},
 10040         "defaultBranch": {},
 10041         "lastModifiedDate": {
 10042           "type": "timestamp"
 10043         },
 10044         "creationDate": {
 10045           "type": "timestamp"
 10046         },
 10047         "cloneUrlHttp": {},
 10048         "cloneUrlSsh": {},
 10049         "Arn": {}
 10050       }
 10051     },
 10052     "Sw": {
 10053       "type": "structure",
 10054       "members": {
 10055         "name": {},
 10056         "email": {},
 10057         "date": {}
 10058       }
 10059     },
 10060     "S16": {
 10061       "type": "list",
 10062       "member": {
 10063         "type": "structure",
 10064         "members": {
 10065           "name": {},
 10066           "destinationArn": {},
 10067           "customData": {},
 10068           "branches": {
 10069             "shape": "S1a"
 10070           },
 10071           "events": {
 10072             "type": "list",
 10073             "member": {}
 10074           }
 10075         }
 10076       }
 10077     },
 10078     "S1a": {
 10079       "type": "list",
 10080       "member": {}
 10081     }
 10082   }
 10083 }
 10084 },{}],19:[function(require,module,exports){
 10085 module.exports={
 10086     "pagination": {
 10087         "ListBranches": {
 10088             "input_token": "nextToken",
 10089             "output_token": "nextToken",
 10090             "result_key": "branches"
 10091         },
 10092         "ListRepositories": {
 10093             "input_token": "nextToken",
 10094             "output_token": "nextToken",
 10095             "result_key": "repositories"
 10096         }
 10097     }
 10098 }
 10099 },{}],20:[function(require,module,exports){
 10100 module.exports={
 10101   "version": "2.0",
 10102   "metadata": {
 10103     "apiVersion": "2014-10-06",
 10104     "endpointPrefix": "codedeploy",
 10105     "jsonVersion": "1.1",
 10106     "protocol": "json",
 10107     "serviceAbbreviation": "CodeDeploy",
 10108     "serviceFullName": "AWS CodeDeploy",
 10109     "signatureVersion": "v4",
 10110     "targetPrefix": "CodeDeploy_20141006",
 10111     "timestampFormat": "unixTimestamp"
 10112   },
 10113   "operations": {
 10114     "AddTagsToOnPremisesInstances": {
 10115       "input": {
 10116         "type": "structure",
 10117         "required": [
 10118           "tags",
 10119           "instanceNames"
 10120         ],
 10121         "members": {
 10122           "tags": {
 10123             "shape": "S2"
 10124           },
 10125           "instanceNames": {
 10126             "shape": "S6"
 10127           }
 10128         }
 10129       }
 10130     },
 10131     "BatchGetApplicationRevisions": {
 10132       "input": {
 10133         "type": "structure",
 10134         "required": [
 10135           "applicationName",
 10136           "revisions"
 10137         ],
 10138         "members": {
 10139           "applicationName": {},
 10140           "revisions": {
 10141             "shape": "Sa"
 10142           }
 10143         }
 10144       },
 10145       "output": {
 10146         "type": "structure",
 10147         "members": {
 10148           "applicationName": {},
 10149           "errorMessage": {},
 10150           "revisions": {
 10151             "type": "list",
 10152             "member": {
 10153               "type": "structure",
 10154               "members": {
 10155                 "revisionLocation": {
 10156                   "shape": "Sb"
 10157                 },
 10158                 "genericRevisionInfo": {
 10159                   "shape": "Sq"
 10160                 }
 10161               }
 10162             }
 10163           }
 10164         }
 10165       }
 10166     },
 10167     "BatchGetApplications": {
 10168       "input": {
 10169         "type": "structure",
 10170         "members": {
 10171           "applicationNames": {
 10172             "shape": "Sw"
 10173           }
 10174         }
 10175       },
 10176       "output": {
 10177         "type": "structure",
 10178         "members": {
 10179           "applicationsInfo": {
 10180             "type": "list",
 10181             "member": {
 10182               "shape": "Sz"
 10183             }
 10184           }
 10185         }
 10186       }
 10187     },
 10188     "BatchGetDeploymentGroups": {
 10189       "input": {
 10190         "type": "structure",
 10191         "required": [
 10192           "applicationName",
 10193           "deploymentGroupNames"
 10194         ],
 10195         "members": {
 10196           "applicationName": {},
 10197           "deploymentGroupNames": {
 10198             "shape": "Ss"
 10199           }
 10200         }
 10201       },
 10202       "output": {
 10203         "type": "structure",
 10204         "members": {
 10205           "deploymentGroupsInfo": {
 10206             "type": "list",
 10207             "member": {
 10208               "shape": "S15"
 10209             }
 10210           },
 10211           "errorMessage": {}
 10212         }
 10213       }
 10214     },
 10215     "BatchGetDeploymentInstances": {
 10216       "input": {
 10217         "type": "structure",
 10218         "required": [
 10219           "deploymentId",
 10220           "instanceIds"
 10221         ],
 10222         "members": {
 10223           "deploymentId": {},
 10224           "instanceIds": {
 10225             "shape": "S1y"
 10226           }
 10227         }
 10228       },
 10229       "output": {
 10230         "type": "structure",
 10231         "members": {
 10232           "instancesSummary": {
 10233             "type": "list",
 10234             "member": {
 10235               "shape": "S22"
 10236             }
 10237           },
 10238           "errorMessage": {}
 10239         }
 10240       }
 10241     },
 10242     "BatchGetDeployments": {
 10243       "input": {
 10244         "type": "structure",
 10245         "members": {
 10246           "deploymentIds": {
 10247             "shape": "S2e"
 10248           }
 10249         }
 10250       },
 10251       "output": {
 10252         "type": "structure",
 10253         "members": {
 10254           "deploymentsInfo": {
 10255             "type": "list",
 10256             "member": {
 10257               "shape": "S2h"
 10258             }
 10259           }
 10260         }
 10261       }
 10262     },
 10263     "BatchGetOnPremisesInstances": {
 10264       "input": {
 10265         "type": "structure",
 10266         "members": {
 10267           "instanceNames": {
 10268             "shape": "S6"
 10269           }
 10270         }
 10271       },
 10272       "output": {
 10273         "type": "structure",
 10274         "members": {
 10275           "instanceInfos": {
 10276             "type": "list",
 10277             "member": {
 10278               "shape": "S2s"
 10279             }
 10280           }
 10281         }
 10282       }
 10283     },
 10284     "CreateApplication": {
 10285       "input": {
 10286         "type": "structure",
 10287         "required": [
 10288           "applicationName"
 10289         ],
 10290         "members": {
 10291           "applicationName": {}
 10292         }
 10293       },
 10294       "output": {
 10295         "type": "structure",
 10296         "members": {
 10297           "applicationId": {}
 10298         }
 10299       }
 10300     },
 10301     "CreateDeployment": {
 10302       "input": {
 10303         "type": "structure",
 10304         "required": [
 10305           "applicationName"
 10306         ],
 10307         "members": {
 10308           "applicationName": {},
 10309           "deploymentGroupName": {},
 10310           "revision": {
 10311             "shape": "Sb"
 10312           },
 10313           "deploymentConfigName": {},
 10314           "description": {},
 10315           "ignoreApplicationStopFailures": {
 10316             "type": "boolean"
 10317           },
 10318           "autoRollbackConfiguration": {
 10319             "shape": "S1t"
 10320           },
 10321           "updateOutdatedInstancesOnly": {
 10322             "type": "boolean"
 10323           }
 10324         }
 10325       },
 10326       "output": {
 10327         "type": "structure",
 10328         "members": {
 10329           "deploymentId": {}
 10330         }
 10331       }
 10332     },
 10333     "CreateDeploymentConfig": {
 10334       "input": {
 10335         "type": "structure",
 10336         "required": [
 10337           "deploymentConfigName"
 10338         ],
 10339         "members": {
 10340           "deploymentConfigName": {},
 10341           "minimumHealthyHosts": {
 10342             "shape": "S30"
 10343           }
 10344         }
 10345       },
 10346       "output": {
 10347         "type": "structure",
 10348         "members": {
 10349           "deploymentConfigId": {}
 10350         }
 10351       }
 10352     },
 10353     "CreateDeploymentGroup": {
 10354       "input": {
 10355         "type": "structure",
 10356         "required": [
 10357           "applicationName",
 10358           "deploymentGroupName",
 10359           "serviceRoleArn"
 10360         ],
 10361         "members": {
 10362           "applicationName": {},
 10363           "deploymentGroupName": {},
 10364           "deploymentConfigName": {},
 10365           "ec2TagFilters": {
 10366             "shape": "S18"
 10367           },
 10368           "onPremisesInstanceTagFilters": {
 10369             "shape": "S1b"
 10370           },
 10371           "autoScalingGroups": {
 10372             "shape": "S36"
 10373           },
 10374           "serviceRoleArn": {},
 10375           "triggerConfigurations": {
 10376             "shape": "S1j"
 10377           },
 10378           "alarmConfiguration": {
 10379             "shape": "S1p"
 10380           },
 10381           "autoRollbackConfiguration": {
 10382             "shape": "S1t"
 10383           }
 10384         }
 10385       },
 10386       "output": {
 10387         "type": "structure",
 10388         "members": {
 10389           "deploymentGroupId": {}
 10390         }
 10391       }
 10392     },
 10393     "DeleteApplication": {
 10394       "input": {
 10395         "type": "structure",
 10396         "required": [
 10397           "applicationName"
 10398         ],
 10399         "members": {
 10400           "applicationName": {}
 10401         }
 10402       }
 10403     },
 10404     "DeleteDeploymentConfig": {
 10405       "input": {
 10406         "type": "structure",
 10407         "required": [
 10408           "deploymentConfigName"
 10409         ],
 10410         "members": {
 10411           "deploymentConfigName": {}
 10412         }
 10413       }
 10414     },
 10415     "DeleteDeploymentGroup": {
 10416       "input": {
 10417         "type": "structure",
 10418         "required": [
 10419           "applicationName",
 10420           "deploymentGroupName"
 10421         ],
 10422         "members": {
 10423           "applicationName": {},
 10424           "deploymentGroupName": {}
 10425         }
 10426       },
 10427       "output": {
 10428         "type": "structure",
 10429         "members": {
 10430           "hooksNotCleanedUp": {
 10431             "shape": "S1e"
 10432           }
 10433         }
 10434       }
 10435     },
 10436     "DeregisterOnPremisesInstance": {
 10437       "input": {
 10438         "type": "structure",
 10439         "required": [
 10440           "instanceName"
 10441         ],
 10442         "members": {
 10443           "instanceName": {}
 10444         }
 10445       }
 10446     },
 10447     "GetApplication": {
 10448       "input": {
 10449         "type": "structure",
 10450         "required": [
 10451           "applicationName"
 10452         ],
 10453         "members": {
 10454           "applicationName": {}
 10455         }
 10456       },
 10457       "output": {
 10458         "type": "structure",
 10459         "members": {
 10460           "application": {
 10461             "shape": "Sz"
 10462           }
 10463         }
 10464       }
 10465     },
 10466     "GetApplicationRevision": {
 10467       "input": {
 10468         "type": "structure",
 10469         "required": [
 10470           "applicationName",
 10471           "revision"
 10472         ],
 10473         "members": {
 10474           "applicationName": {},
 10475           "revision": {
 10476             "shape": "Sb"
 10477           }
 10478         }
 10479       },
 10480       "output": {
 10481         "type": "structure",
 10482         "members": {
 10483           "applicationName": {},
 10484           "revision": {
 10485             "shape": "Sb"
 10486           },
 10487           "revisionInfo": {
 10488             "shape": "Sq"
 10489           }
 10490         }
 10491       }
 10492     },
 10493     "GetDeployment": {
 10494       "input": {
 10495         "type": "structure",
 10496         "required": [
 10497           "deploymentId"
 10498         ],
 10499         "members": {
 10500           "deploymentId": {}
 10501         }
 10502       },
 10503       "output": {
 10504         "type": "structure",
 10505         "members": {
 10506           "deploymentInfo": {
 10507             "shape": "S2h"
 10508           }
 10509         }
 10510       }
 10511     },
 10512     "GetDeploymentConfig": {
 10513       "input": {
 10514         "type": "structure",
 10515         "required": [
 10516           "deploymentConfigName"
 10517         ],
 10518         "members": {
 10519           "deploymentConfigName": {}
 10520         }
 10521       },
 10522       "output": {
 10523         "type": "structure",
 10524         "members": {
 10525           "deploymentConfigInfo": {
 10526             "type": "structure",
 10527             "members": {
 10528               "deploymentConfigId": {},
 10529               "deploymentConfigName": {},
 10530               "minimumHealthyHosts": {
 10531                 "shape": "S30"
 10532               },
 10533               "createTime": {
 10534                 "type": "timestamp"
 10535               }
 10536             }
 10537           }
 10538         }
 10539       }
 10540     },
 10541     "GetDeploymentGroup": {
 10542       "input": {
 10543         "type": "structure",
 10544         "required": [
 10545           "applicationName",
 10546           "deploymentGroupName"
 10547         ],
 10548         "members": {
 10549           "applicationName": {},
 10550           "deploymentGroupName": {}
 10551         }
 10552       },
 10553       "output": {
 10554         "type": "structure",
 10555         "members": {
 10556           "deploymentGroupInfo": {
 10557             "shape": "S15"
 10558           }
 10559         }
 10560       }
 10561     },
 10562     "GetDeploymentInstance": {
 10563       "input": {
 10564         "type": "structure",
 10565         "required": [
 10566           "deploymentId",
 10567           "instanceId"
 10568         ],
 10569         "members": {
 10570           "deploymentId": {},
 10571           "instanceId": {}
 10572         }
 10573       },
 10574       "output": {
 10575         "type": "structure",
 10576         "members": {
 10577           "instanceSummary": {
 10578             "shape": "S22"
 10579           }
 10580         }
 10581       }
 10582     },
 10583     "GetOnPremisesInstance": {
 10584       "input": {
 10585         "type": "structure",
 10586         "required": [
 10587           "instanceName"
 10588         ],
 10589         "members": {
 10590           "instanceName": {}
 10591         }
 10592       },
 10593       "output": {
 10594         "type": "structure",
 10595         "members": {
 10596           "instanceInfo": {
 10597             "shape": "S2s"
 10598           }
 10599         }
 10600       }
 10601     },
 10602     "ListApplicationRevisions": {
 10603       "input": {
 10604         "type": "structure",
 10605         "required": [
 10606           "applicationName"
 10607         ],
 10608         "members": {
 10609           "applicationName": {},
 10610           "sortBy": {},
 10611           "sortOrder": {},
 10612           "s3Bucket": {},
 10613           "s3KeyPrefix": {},
 10614           "deployed": {},
 10615           "nextToken": {}
 10616         }
 10617       },
 10618       "output": {
 10619         "type": "structure",
 10620         "members": {
 10621           "revisions": {
 10622             "shape": "Sa"
 10623           },
 10624           "nextToken": {}
 10625         }
 10626       }
 10627     },
 10628     "ListApplications": {
 10629       "input": {
 10630         "type": "structure",
 10631         "members": {
 10632           "nextToken": {}
 10633         }
 10634       },
 10635       "output": {
 10636         "type": "structure",
 10637         "members": {
 10638           "applications": {
 10639             "shape": "Sw"
 10640           },
 10641           "nextToken": {}
 10642         }
 10643       }
 10644     },
 10645     "ListDeploymentConfigs": {
 10646       "input": {
 10647         "type": "structure",
 10648         "members": {
 10649           "nextToken": {}
 10650         }
 10651       },
 10652       "output": {
 10653         "type": "structure",
 10654         "members": {
 10655           "deploymentConfigsList": {
 10656             "type": "list",
 10657             "member": {}
 10658           },
 10659           "nextToken": {}
 10660         }
 10661       }
 10662     },
 10663     "ListDeploymentGroups": {
 10664       "input": {
 10665         "type": "structure",
 10666         "required": [
 10667           "applicationName"
 10668         ],
 10669         "members": {
 10670           "applicationName": {},
 10671           "nextToken": {}
 10672         }
 10673       },
 10674       "output": {
 10675         "type": "structure",
 10676         "members": {
 10677           "applicationName": {},
 10678           "deploymentGroups": {
 10679             "shape": "Ss"
 10680           },
 10681           "nextToken": {}
 10682         }
 10683       }
 10684     },
 10685     "ListDeploymentInstances": {
 10686       "input": {
 10687         "type": "structure",
 10688         "required": [
 10689           "deploymentId"
 10690         ],
 10691         "members": {
 10692           "deploymentId": {},
 10693           "nextToken": {},
 10694           "instanceStatusFilter": {
 10695             "type": "list",
 10696             "member": {}
 10697           }
 10698         }
 10699       },
 10700       "output": {
 10701         "type": "structure",
 10702         "members": {
 10703           "instancesList": {
 10704             "shape": "S1y"
 10705           },
 10706           "nextToken": {}
 10707         }
 10708       }
 10709     },
 10710     "ListDeployments": {
 10711       "input": {
 10712         "type": "structure",
 10713         "members": {
 10714           "applicationName": {},
 10715           "deploymentGroupName": {},
 10716           "includeOnlyStatuses": {
 10717             "type": "list",
 10718             "member": {}
 10719           },
 10720           "createTimeRange": {
 10721             "type": "structure",
 10722             "members": {
 10723               "start": {
 10724                 "type": "timestamp"
 10725               },
 10726               "end": {
 10727                 "type": "timestamp"
 10728               }
 10729             }
 10730           },
 10731           "nextToken": {}
 10732         }
 10733       },
 10734       "output": {
 10735         "type": "structure",
 10736         "members": {
 10737           "deployments": {
 10738             "shape": "S2e"
 10739           },
 10740           "nextToken": {}
 10741         }
 10742       }
 10743     },
 10744     "ListOnPremisesInstances": {
 10745       "input": {
 10746         "type": "structure",
 10747         "members": {
 10748           "registrationStatus": {},
 10749           "tagFilters": {
 10750             "shape": "S1b"
 10751           },
 10752           "nextToken": {}
 10753         }
 10754       },
 10755       "output": {
 10756         "type": "structure",
 10757         "members": {
 10758           "instanceNames": {
 10759             "shape": "S6"
 10760           },
 10761           "nextToken": {}
 10762         }
 10763       }
 10764     },
 10765     "RegisterApplicationRevision": {
 10766       "input": {
 10767         "type": "structure",
 10768         "required": [
 10769           "applicationName",
 10770           "revision"
 10771         ],
 10772         "members": {
 10773           "applicationName": {},
 10774           "description": {},
 10775           "revision": {
 10776             "shape": "Sb"
 10777           }
 10778         }
 10779       }
 10780     },
 10781     "RegisterOnPremisesInstance": {
 10782       "input": {
 10783         "type": "structure",
 10784         "required": [
 10785           "instanceName",
 10786           "iamUserArn"
 10787         ],
 10788         "members": {
 10789           "instanceName": {},
 10790           "iamUserArn": {}
 10791         }
 10792       }
 10793     },
 10794     "RemoveTagsFromOnPremisesInstances": {
 10795       "input": {
 10796         "type": "structure",
 10797         "required": [
 10798           "tags",
 10799           "instanceNames"
 10800         ],
 10801         "members": {
 10802           "tags": {
 10803             "shape": "S2"
 10804           },
 10805           "instanceNames": {
 10806             "shape": "S6"
 10807           }
 10808         }
 10809       }
 10810     },
 10811     "StopDeployment": {
 10812       "input": {
 10813         "type": "structure",
 10814         "required": [
 10815           "deploymentId"
 10816         ],
 10817         "members": {
 10818           "deploymentId": {},
 10819           "autoRollbackEnabled": {
 10820             "type": "boolean"
 10821           }
 10822         }
 10823       },
 10824       "output": {
 10825         "type": "structure",
 10826         "members": {
 10827           "status": {},
 10828           "statusMessage": {}
 10829         }
 10830       }
 10831     },
 10832     "UpdateApplication": {
 10833       "input": {
 10834         "type": "structure",
 10835         "members": {
 10836           "applicationName": {},
 10837           "newApplicationName": {}
 10838         }
 10839       }
 10840     },
 10841     "UpdateDeploymentGroup": {
 10842       "input": {
 10843         "type": "structure",
 10844         "required": [
 10845           "applicationName",
 10846           "currentDeploymentGroupName"
 10847         ],
 10848         "members": {
 10849           "applicationName": {},
 10850           "currentDeploymentGroupName": {},
 10851           "newDeploymentGroupName": {},
 10852           "deploymentConfigName": {},
 10853           "ec2TagFilters": {
 10854             "shape": "S18"
 10855           },
 10856           "onPremisesInstanceTagFilters": {
 10857             "shape": "S1b"
 10858           },
 10859           "autoScalingGroups": {
 10860             "shape": "S36"
 10861           },
 10862           "serviceRoleArn": {},
 10863           "triggerConfigurations": {
 10864             "shape": "S1j"
 10865           },
 10866           "alarmConfiguration": {
 10867             "shape": "S1p"
 10868           },
 10869           "autoRollbackConfiguration": {
 10870             "shape": "S1t"
 10871           }
 10872         }
 10873       },
 10874       "output": {
 10875         "type": "structure",
 10876         "members": {
 10877           "hooksNotCleanedUp": {
 10878             "shape": "S1e"
 10879           }
 10880         }
 10881       }
 10882     }
 10883   },
 10884   "shapes": {
 10885     "S2": {
 10886       "type": "list",
 10887       "member": {
 10888         "type": "structure",
 10889         "members": {
 10890           "Key": {},
 10891           "Value": {}
 10892         }
 10893       }
 10894     },
 10895     "S6": {
 10896       "type": "list",
 10897       "member": {}
 10898     },
 10899     "Sa": {
 10900       "type": "list",
 10901       "member": {
 10902         "shape": "Sb"
 10903       }
 10904     },
 10905     "Sb": {
 10906       "type": "structure",
 10907       "members": {
 10908         "revisionType": {},
 10909         "s3Location": {
 10910           "type": "structure",
 10911           "members": {
 10912             "bucket": {},
 10913             "key": {},
 10914             "bundleType": {},
 10915             "version": {},
 10916             "eTag": {}
 10917           }
 10918         },
 10919         "gitHubLocation": {
 10920           "type": "structure",
 10921           "members": {
 10922             "repository": {},
 10923             "commitId": {}
 10924           }
 10925         }
 10926       }
 10927     },
 10928     "Sq": {
 10929       "type": "structure",
 10930       "members": {
 10931         "description": {},
 10932         "deploymentGroups": {
 10933           "shape": "Ss"
 10934         },
 10935         "firstUsedTime": {
 10936           "type": "timestamp"
 10937         },
 10938         "lastUsedTime": {
 10939           "type": "timestamp"
 10940         },
 10941         "registerTime": {
 10942           "type": "timestamp"
 10943         }
 10944       }
 10945     },
 10946     "Ss": {
 10947       "type": "list",
 10948       "member": {}
 10949     },
 10950     "Sw": {
 10951       "type": "list",
 10952       "member": {}
 10953     },
 10954     "Sz": {
 10955       "type": "structure",
 10956       "members": {
 10957         "applicationId": {},
 10958         "applicationName": {},
 10959         "createTime": {
 10960           "type": "timestamp"
 10961         },
 10962         "linkedToGitHub": {
 10963           "type": "boolean"
 10964         }
 10965       }
 10966     },
 10967     "S15": {
 10968       "type": "structure",
 10969       "members": {
 10970         "applicationName": {},
 10971         "deploymentGroupId": {},
 10972         "deploymentGroupName": {},
 10973         "deploymentConfigName": {},
 10974         "ec2TagFilters": {
 10975           "shape": "S18"
 10976         },
 10977         "onPremisesInstanceTagFilters": {
 10978           "shape": "S1b"
 10979         },
 10980         "autoScalingGroups": {
 10981           "shape": "S1e"
 10982         },
 10983         "serviceRoleArn": {},
 10984         "targetRevision": {
 10985           "shape": "Sb"
 10986         },
 10987         "triggerConfigurations": {
 10988           "shape": "S1j"
 10989         },
 10990         "alarmConfiguration": {
 10991           "shape": "S1p"
 10992         },
 10993         "autoRollbackConfiguration": {
 10994           "shape": "S1t"
 10995         }
 10996       }
 10997     },
 10998     "S18": {
 10999       "type": "list",
 11000       "member": {
 11001         "type": "structure",
 11002         "members": {
 11003           "Key": {},
 11004           "Value": {},
 11005           "Type": {}
 11006         }
 11007       }
 11008     },
 11009     "S1b": {
 11010       "type": "list",
 11011       "member": {
 11012         "type": "structure",
 11013         "members": {
 11014           "Key": {},
 11015           "Value": {},
 11016           "Type": {}
 11017         }
 11018       }
 11019     },
 11020     "S1e": {
 11021       "type": "list",
 11022       "member": {
 11023         "type": "structure",
 11024         "members": {
 11025           "name": {},
 11026           "hook": {}
 11027         }
 11028       }
 11029     },
 11030     "S1j": {
 11031       "type": "list",
 11032       "member": {
 11033         "type": "structure",
 11034         "members": {
 11035           "triggerName": {},
 11036           "triggerTargetArn": {},
 11037           "triggerEvents": {
 11038             "type": "list",
 11039             "member": {}
 11040           }
 11041         }
 11042       }
 11043     },
 11044     "S1p": {
 11045       "type": "structure",
 11046       "members": {
 11047         "enabled": {
 11048           "type": "boolean"
 11049         },
 11050         "ignorePollAlarmFailure": {
 11051           "type": "boolean"
 11052         },
 11053         "alarms": {
 11054           "type": "list",
 11055           "member": {
 11056             "type": "structure",
 11057             "members": {
 11058               "name": {}
 11059             }
 11060           }
 11061         }
 11062       }
 11063     },
 11064     "S1t": {
 11065       "type": "structure",
 11066       "members": {
 11067         "enabled": {
 11068           "type": "boolean"
 11069         },
 11070         "events": {
 11071           "type": "list",
 11072           "member": {}
 11073         }
 11074       }
 11075     },
 11076     "S1y": {
 11077       "type": "list",
 11078       "member": {}
 11079     },
 11080     "S22": {
 11081       "type": "structure",
 11082       "members": {
 11083         "deploymentId": {},
 11084         "instanceId": {},
 11085         "status": {},
 11086         "lastUpdatedAt": {
 11087           "type": "timestamp"
 11088         },
 11089         "lifecycleEvents": {
 11090           "type": "list",
 11091           "member": {
 11092             "type": "structure",
 11093             "members": {
 11094               "lifecycleEventName": {},
 11095               "diagnostics": {
 11096                 "type": "structure",
 11097                 "members": {
 11098                   "errorCode": {},
 11099                   "scriptName": {},
 11100                   "message": {},
 11101                   "logTail": {}
 11102                 }
 11103               },
 11104               "startTime": {
 11105                 "type": "timestamp"
 11106               },
 11107               "endTime": {
 11108                 "type": "timestamp"
 11109               },
 11110               "status": {}
 11111             }
 11112           }
 11113         }
 11114       }
 11115     },
 11116     "S2e": {
 11117       "type": "list",
 11118       "member": {}
 11119     },
 11120     "S2h": {
 11121       "type": "structure",
 11122       "members": {
 11123         "applicationName": {},
 11124         "deploymentGroupName": {},
 11125         "deploymentConfigName": {},
 11126         "deploymentId": {},
 11127         "revision": {
 11128           "shape": "Sb"
 11129         },
 11130         "status": {},
 11131         "errorInformation": {
 11132           "type": "structure",
 11133           "members": {
 11134             "code": {},
 11135             "message": {}
 11136           }
 11137         },
 11138         "createTime": {
 11139           "type": "timestamp"
 11140         },
 11141         "startTime": {
 11142           "type": "timestamp"
 11143         },
 11144         "completeTime": {
 11145           "type": "timestamp"
 11146         },
 11147         "deploymentOverview": {
 11148           "type": "structure",
 11149           "members": {
 11150             "Pending": {
 11151               "type": "long"
 11152             },
 11153             "InProgress": {
 11154               "type": "long"
 11155             },
 11156             "Succeeded": {
 11157               "type": "long"
 11158             },
 11159             "Failed": {
 11160               "type": "long"
 11161             },
 11162             "Skipped": {
 11163               "type": "long"
 11164             }
 11165           }
 11166         },
 11167         "description": {},
 11168         "creator": {},
 11169         "ignoreApplicationStopFailures": {
 11170           "type": "boolean"
 11171         },
 11172         "autoRollbackConfiguration": {
 11173           "shape": "S1t"
 11174         },
 11175         "updateOutdatedInstancesOnly": {
 11176           "type": "boolean"
 11177         },
 11178         "rollbackInfo": {
 11179           "type": "structure",
 11180           "members": {
 11181             "rollbackDeploymentId": {},
 11182             "rollbackTriggeringDeploymentId": {},
 11183             "rollbackMessage": {}
 11184           }
 11185         }
 11186       }
 11187     },
 11188     "S2s": {
 11189       "type": "structure",
 11190       "members": {
 11191         "instanceName": {},
 11192         "iamUserArn": {},
 11193         "instanceArn": {},
 11194         "registerTime": {
 11195           "type": "timestamp"
 11196         },
 11197         "deregisterTime": {
 11198           "type": "timestamp"
 11199         },
 11200         "tags": {
 11201           "shape": "S2"
 11202         }
 11203       }
 11204     },
 11205     "S30": {
 11206       "type": "structure",
 11207       "members": {
 11208         "value": {
 11209           "type": "integer"
 11210         },
 11211         "type": {}
 11212       }
 11213     },
 11214     "S36": {
 11215       "type": "list",
 11216       "member": {}
 11217     }
 11218   }
 11219 }
 11220 },{}],21:[function(require,module,exports){
 11221 module.exports={
 11222   "pagination": {
 11223     "ListApplicationRevisions": {
 11224       "input_token": "nextToken",
 11225       "output_token": "nextToken",
 11226       "result_key": "revisions"
 11227     },
 11228     "ListApplications": {
 11229       "input_token": "nextToken",
 11230       "output_token": "nextToken",
 11231       "result_key": "applications"
 11232     },
 11233     "ListDeploymentConfigs": {
 11234       "input_token": "nextToken",
 11235       "output_token": "nextToken",
 11236       "result_key": "deploymentConfigsList"
 11237     },
 11238     "ListDeploymentGroups": {
 11239       "input_token": "nextToken",
 11240       "output_token": "nextToken",
 11241       "result_key": "deploymentGroups"
 11242     },
 11243     "ListDeploymentInstances": {
 11244       "input_token": "nextToken",
 11245       "output_token": "nextToken",
 11246       "result_key": "instancesList"
 11247     },
 11248     "ListDeployments": {
 11249       "input_token": "nextToken",
 11250       "output_token": "nextToken",
 11251       "result_key": "deployments"
 11252     }
 11253   }
 11254 }
 11255 
 11256 },{}],22:[function(require,module,exports){
 11257 module.exports={
 11258   "version": 2,
 11259   "waiters": {
 11260     "DeploymentSuccessful": {
 11261       "delay": 15,
 11262       "operation": "GetDeployment",
 11263       "maxAttempts": 120,
 11264       "acceptors": [
 11265         {
 11266           "expected": "Succeeded",
 11267           "matcher": "path",
 11268           "state": "success",
 11269           "argument": "deploymentInfo.status"
 11270         },
 11271         {
 11272           "expected": "Failed",
 11273           "matcher": "path",
 11274           "state": "failure",
 11275           "argument": "deploymentInfo.status"
 11276         },
 11277         {
 11278           "expected": "Stopped",
 11279           "matcher": "path",
 11280           "state": "failure",
 11281           "argument": "deploymentInfo.status"
 11282         }
 11283       ]
 11284     }
 11285   }
 11286 }
 11287 
 11288 },{}],23:[function(require,module,exports){
 11289 module.exports={
 11290   "version": "2.0",
 11291   "metadata": {
 11292     "apiVersion": "2015-07-09",
 11293     "endpointPrefix": "codepipeline",
 11294     "jsonVersion": "1.1",
 11295     "protocol": "json",
 11296     "serviceAbbreviation": "CodePipeline",
 11297     "serviceFullName": "AWS CodePipeline",
 11298     "signatureVersion": "v4",
 11299     "targetPrefix": "CodePipeline_20150709"
 11300   },
 11301   "operations": {
 11302     "AcknowledgeJob": {
 11303       "input": {
 11304         "type": "structure",
 11305         "required": [
 11306           "jobId",
 11307           "nonce"
 11308         ],
 11309         "members": {
 11310           "jobId": {},
 11311           "nonce": {}
 11312         }
 11313       },
 11314       "output": {
 11315         "type": "structure",
 11316         "members": {
 11317           "status": {}
 11318         }
 11319       }
 11320     },
 11321     "AcknowledgeThirdPartyJob": {
 11322       "input": {
 11323         "type": "structure",
 11324         "required": [
 11325           "jobId",
 11326           "nonce",
 11327           "clientToken"
 11328         ],
 11329         "members": {
 11330           "jobId": {},
 11331           "nonce": {},
 11332           "clientToken": {}
 11333         }
 11334       },
 11335       "output": {
 11336         "type": "structure",
 11337         "members": {
 11338           "status": {}
 11339         }
 11340       }
 11341     },
 11342     "CreateCustomActionType": {
 11343       "input": {
 11344         "type": "structure",
 11345         "required": [
 11346           "category",
 11347           "provider",
 11348           "version",
 11349           "inputArtifactDetails",
 11350           "outputArtifactDetails"
 11351         ],
 11352         "members": {
 11353           "category": {},
 11354           "provider": {},
 11355           "version": {},
 11356           "settings": {
 11357             "shape": "Se"
 11358           },
 11359           "configurationProperties": {
 11360             "shape": "Sh"
 11361           },
 11362           "inputArtifactDetails": {
 11363             "shape": "Sn"
 11364           },
 11365           "outputArtifactDetails": {
 11366             "shape": "Sn"
 11367           }
 11368         }
 11369       },
 11370       "output": {
 11371         "type": "structure",
 11372         "required": [
 11373           "actionType"
 11374         ],
 11375         "members": {
 11376           "actionType": {
 11377             "shape": "Sr"
 11378           }
 11379         }
 11380       }
 11381     },
 11382     "CreatePipeline": {
 11383       "input": {
 11384         "type": "structure",
 11385         "required": [
 11386           "pipeline"
 11387         ],
 11388         "members": {
 11389           "pipeline": {
 11390             "shape": "Sv"
 11391           }
 11392         }
 11393       },
 11394       "output": {
 11395         "type": "structure",
 11396         "members": {
 11397           "pipeline": {
 11398             "shape": "Sv"
 11399           }
 11400         }
 11401       }
 11402     },
 11403     "DeleteCustomActionType": {
 11404       "input": {
 11405         "type": "structure",
 11406         "required": [
 11407           "category",
 11408           "provider",
 11409           "version"
 11410         ],
 11411         "members": {
 11412           "category": {},
 11413           "provider": {},
 11414           "version": {}
 11415         }
 11416       }
 11417     },
 11418     "DeletePipeline": {
 11419       "input": {
 11420         "type": "structure",
 11421         "required": [
 11422           "name"
 11423         ],
 11424         "members": {
 11425           "name": {}
 11426         }
 11427       }
 11428     },
 11429     "DisableStageTransition": {
 11430       "input": {
 11431         "type": "structure",
 11432         "required": [
 11433           "pipelineName",
 11434           "stageName",
 11435           "transitionType",
 11436           "reason"
 11437         ],
 11438         "members": {
 11439           "pipelineName": {},
 11440           "stageName": {},
 11441           "transitionType": {},
 11442           "reason": {}
 11443         }
 11444       }
 11445     },
 11446     "EnableStageTransition": {
 11447       "input": {
 11448         "type": "structure",
 11449         "required": [
 11450           "pipelineName",
 11451           "stageName",
 11452           "transitionType"
 11453         ],
 11454         "members": {
 11455           "pipelineName": {},
 11456           "stageName": {},
 11457           "transitionType": {}
 11458         }
 11459       }
 11460     },
 11461     "GetJobDetails": {
 11462       "input": {
 11463         "type": "structure",
 11464         "required": [
 11465           "jobId"
 11466         ],
 11467         "members": {
 11468           "jobId": {}
 11469         }
 11470       },
 11471       "output": {
 11472         "type": "structure",
 11473         "members": {
 11474           "jobDetails": {
 11475             "type": "structure",
 11476             "members": {
 11477               "id": {},
 11478               "data": {
 11479                 "shape": "S1x"
 11480               },
 11481               "accountId": {}
 11482             }
 11483           }
 11484         }
 11485       }
 11486     },
 11487     "GetPipeline": {
 11488       "input": {
 11489         "type": "structure",
 11490         "required": [
 11491           "name"
 11492         ],
 11493         "members": {
 11494           "name": {},
 11495           "version": {
 11496             "type": "integer"
 11497           }
 11498         }
 11499       },
 11500       "output": {
 11501         "type": "structure",
 11502         "members": {
 11503           "pipeline": {
 11504             "shape": "Sv"
 11505           }
 11506         }
 11507       }
 11508     },
 11509     "GetPipelineExecution": {
 11510       "input": {
 11511         "type": "structure",
 11512         "required": [
 11513           "pipelineName",
 11514           "pipelineExecutionId"
 11515         ],
 11516         "members": {
 11517           "pipelineName": {},
 11518           "pipelineExecutionId": {}
 11519         }
 11520       },
 11521       "output": {
 11522         "type": "structure",
 11523         "members": {
 11524           "pipelineExecution": {
 11525             "type": "structure",
 11526             "members": {
 11527               "pipelineName": {},
 11528               "pipelineVersion": {
 11529                 "type": "integer"
 11530               },
 11531               "pipelineExecutionId": {},
 11532               "status": {},
 11533               "artifactRevisions": {
 11534                 "type": "list",
 11535                 "member": {
 11536                   "type": "structure",
 11537                   "members": {
 11538                     "name": {},
 11539                     "revisionId": {},
 11540                     "revisionChangeIdentifier": {},
 11541                     "revisionSummary": {},
 11542                     "created": {
 11543                       "type": "timestamp"
 11544                     },
 11545                     "revisionUrl": {}
 11546                   }
 11547                 }
 11548               }
 11549             }
 11550           }
 11551         }
 11552       }
 11553     },
 11554     "GetPipelineState": {
 11555       "input": {
 11556         "type": "structure",
 11557         "required": [
 11558           "name"
 11559         ],
 11560         "members": {
 11561           "name": {}
 11562         }
 11563       },
 11564       "output": {
 11565         "type": "structure",
 11566         "members": {
 11567           "pipelineName": {},
 11568           "pipelineVersion": {
 11569             "type": "integer"
 11570           },
 11571           "stageStates": {
 11572             "type": "list",
 11573             "member": {
 11574               "type": "structure",
 11575               "members": {
 11576                 "stageName": {},
 11577                 "inboundTransitionState": {
 11578                   "type": "structure",
 11579                   "members": {
 11580                     "enabled": {
 11581                       "type": "boolean"
 11582                     },
 11583                     "lastChangedBy": {},
 11584                     "lastChangedAt": {
 11585                       "type": "timestamp"
 11586                     },
 11587                     "disabledReason": {}
 11588                   }
 11589                 },
 11590                 "actionStates": {
 11591                   "type": "list",
 11592                   "member": {
 11593                     "type": "structure",
 11594                     "members": {
 11595                       "actionName": {},
 11596                       "currentRevision": {
 11597                         "shape": "S32"
 11598                       },
 11599                       "latestExecution": {
 11600                         "type": "structure",
 11601                         "members": {
 11602                           "status": {},
 11603                           "summary": {},
 11604                           "lastStatusChange": {
 11605                             "type": "timestamp"
 11606                           },
 11607                           "token": {},
 11608                           "lastUpdatedBy": {},
 11609                           "externalExecutionId": {},
 11610                           "externalExecutionUrl": {},
 11611                           "percentComplete": {
 11612                             "type": "integer"
 11613                           },
 11614                           "errorDetails": {
 11615                             "type": "structure",
 11616                             "members": {
 11617                               "code": {},
 11618                               "message": {}
 11619                             }
 11620                           }
 11621                         }
 11622                       },
 11623                       "entityUrl": {},
 11624                       "revisionUrl": {}
 11625                     }
 11626                   }
 11627                 },
 11628                 "latestExecution": {
 11629                   "type": "structure",
 11630                   "required": [
 11631                     "pipelineExecutionId",
 11632                     "status"
 11633                   ],
 11634                   "members": {
 11635                     "pipelineExecutionId": {},
 11636                     "status": {}
 11637                   }
 11638                 }
 11639               }
 11640             }
 11641           },
 11642           "created": {
 11643             "type": "timestamp"
 11644           },
 11645           "updated": {
 11646             "type": "timestamp"
 11647           }
 11648         }
 11649       }
 11650     },
 11651     "GetThirdPartyJobDetails": {
 11652       "input": {
 11653         "type": "structure",
 11654         "required": [
 11655           "jobId",
 11656           "clientToken"
 11657         ],
 11658         "members": {
 11659           "jobId": {},
 11660           "clientToken": {}
 11661         }
 11662       },
 11663       "output": {
 11664         "type": "structure",
 11665         "members": {
 11666           "jobDetails": {
 11667             "type": "structure",
 11668             "members": {
 11669               "id": {},
 11670               "data": {
 11671                 "type": "structure",
 11672                 "members": {
 11673                   "actionTypeId": {
 11674                     "shape": "Ss"
 11675                   },
 11676                   "actionConfiguration": {
 11677                     "shape": "S1y"
 11678                   },
 11679                   "pipelineContext": {
 11680                     "shape": "S1z"
 11681                   },
 11682                   "inputArtifacts": {
 11683                     "shape": "S22"
 11684                   },
 11685                   "outputArtifacts": {
 11686                     "shape": "S22"
 11687                   },
 11688                   "artifactCredentials": {
 11689                     "shape": "S2a"
 11690                   },
 11691                   "continuationToken": {},
 11692                   "encryptionKey": {
 11693                     "shape": "S11"
 11694                   }
 11695                 }
 11696               },
 11697               "nonce": {}
 11698             }
 11699           }
 11700         }
 11701       }
 11702     },
 11703     "ListActionTypes": {
 11704       "input": {
 11705         "type": "structure",
 11706         "members": {
 11707           "actionOwnerFilter": {},
 11708           "nextToken": {}
 11709         }
 11710       },
 11711       "output": {
 11712         "type": "structure",
 11713         "required": [
 11714           "actionTypes"
 11715         ],
 11716         "members": {
 11717           "actionTypes": {
 11718             "type": "list",
 11719             "member": {
 11720               "shape": "Sr"
 11721             }
 11722           },
 11723           "nextToken": {}
 11724         }
 11725       }
 11726     },
 11727     "ListPipelines": {
 11728       "input": {
 11729         "type": "structure",
 11730         "members": {
 11731           "nextToken": {}
 11732         }
 11733       },
 11734       "output": {
 11735         "type": "structure",
 11736         "members": {
 11737           "pipelines": {
 11738             "type": "list",
 11739             "member": {
 11740               "type": "structure",
 11741               "members": {
 11742                 "name": {},
 11743                 "version": {
 11744                   "type": "integer"
 11745                 },
 11746                 "created": {
 11747                   "type": "timestamp"
 11748                 },
 11749                 "updated": {
 11750                   "type": "timestamp"
 11751                 }
 11752               }
 11753             }
 11754           },
 11755           "nextToken": {}
 11756         }
 11757       }
 11758     },
 11759     "PollForJobs": {
 11760       "input": {
 11761         "type": "structure",
 11762         "required": [
 11763           "actionTypeId"
 11764         ],
 11765         "members": {
 11766           "actionTypeId": {
 11767             "shape": "Ss"
 11768           },
 11769           "maxBatchSize": {
 11770             "type": "integer"
 11771           },
 11772           "queryParam": {
 11773             "type": "map",
 11774             "key": {},
 11775             "value": {}
 11776           }
 11777         }
 11778       },
 11779       "output": {
 11780         "type": "structure",
 11781         "members": {
 11782           "jobs": {
 11783             "type": "list",
 11784             "member": {
 11785               "type": "structure",
 11786               "members": {
 11787                 "id": {},
 11788                 "data": {
 11789                   "shape": "S1x"
 11790                 },
 11791                 "nonce": {},
 11792                 "accountId": {}
 11793               }
 11794             }
 11795           }
 11796         }
 11797       }
 11798     },
 11799     "PollForThirdPartyJobs": {
 11800       "input": {
 11801         "type": "structure",
 11802         "required": [
 11803           "actionTypeId"
 11804         ],
 11805         "members": {
 11806           "actionTypeId": {
 11807             "shape": "Ss"
 11808           },
 11809           "maxBatchSize": {
 11810             "type": "integer"
 11811           }
 11812         }
 11813       },
 11814       "output": {
 11815         "type": "structure",
 11816         "members": {
 11817           "jobs": {
 11818             "type": "list",
 11819             "member": {
 11820               "type": "structure",
 11821               "members": {
 11822                 "clientId": {},
 11823                 "jobId": {}
 11824               }
 11825             }
 11826           }
 11827         }
 11828       }
 11829     },
 11830     "PutActionRevision": {
 11831       "input": {
 11832         "type": "structure",
 11833         "required": [
 11834           "pipelineName",
 11835           "stageName",
 11836           "actionName",
 11837           "actionRevision"
 11838         ],
 11839         "members": {
 11840           "pipelineName": {},
 11841           "stageName": {},
 11842           "actionName": {},
 11843           "actionRevision": {
 11844             "shape": "S32"
 11845           }
 11846         }
 11847       },
 11848       "output": {
 11849         "type": "structure",
 11850         "members": {
 11851           "newRevision": {
 11852             "type": "boolean"
 11853           },
 11854           "pipelineExecutionId": {}
 11855         }
 11856       }
 11857     },
 11858     "PutApprovalResult": {
 11859       "input": {
 11860         "type": "structure",
 11861         "required": [
 11862           "pipelineName",
 11863           "stageName",
 11864           "actionName",
 11865           "result",
 11866           "token"
 11867         ],
 11868         "members": {
 11869           "pipelineName": {},
 11870           "stageName": {},
 11871           "actionName": {},
 11872           "result": {
 11873             "type": "structure",
 11874             "required": [
 11875               "summary",
 11876               "status"
 11877             ],
 11878             "members": {
 11879               "summary": {},
 11880               "status": {}
 11881             }
 11882           },
 11883           "token": {}
 11884         }
 11885       },
 11886       "output": {
 11887         "type": "structure",
 11888         "members": {
 11889           "approvedAt": {
 11890             "type": "timestamp"
 11891           }
 11892         }
 11893       }
 11894     },
 11895     "PutJobFailureResult": {
 11896       "input": {
 11897         "type": "structure",
 11898         "required": [
 11899           "jobId",
 11900           "failureDetails"
 11901         ],
 11902         "members": {
 11903           "jobId": {},
 11904           "failureDetails": {
 11905             "shape": "S4c"
 11906           }
 11907         }
 11908       }
 11909     },
 11910     "PutJobSuccessResult": {
 11911       "input": {
 11912         "type": "structure",
 11913         "required": [
 11914           "jobId"
 11915         ],
 11916         "members": {
 11917           "jobId": {},
 11918           "currentRevision": {
 11919             "shape": "S4f"
 11920           },
 11921           "continuationToken": {},
 11922           "executionDetails": {
 11923             "shape": "S4h"
 11924           }
 11925         }
 11926       }
 11927     },
 11928     "PutThirdPartyJobFailureResult": {
 11929       "input": {
 11930         "type": "structure",
 11931         "required": [
 11932           "jobId",
 11933           "clientToken",
 11934           "failureDetails"
 11935         ],
 11936         "members": {
 11937           "jobId": {},
 11938           "clientToken": {},
 11939           "failureDetails": {
 11940             "shape": "S4c"
 11941           }
 11942         }
 11943       }
 11944     },
 11945     "PutThirdPartyJobSuccessResult": {
 11946       "input": {
 11947         "type": "structure",
 11948         "required": [
 11949           "jobId",
 11950           "clientToken"
 11951         ],
 11952         "members": {
 11953           "jobId": {},
 11954           "clientToken": {},
 11955           "currentRevision": {
 11956             "shape": "S4f"
 11957           },
 11958           "continuationToken": {},
 11959           "executionDetails": {
 11960             "shape": "S4h"
 11961           }
 11962         }
 11963       }
 11964     },
 11965     "RetryStageExecution": {
 11966       "input": {
 11967         "type": "structure",
 11968         "required": [
 11969           "pipelineName",
 11970           "stageName",
 11971           "pipelineExecutionId",
 11972           "retryMode"
 11973         ],
 11974         "members": {
 11975           "pipelineName": {},
 11976           "stageName": {},
 11977           "pipelineExecutionId": {},
 11978           "retryMode": {}
 11979         }
 11980       },
 11981       "output": {
 11982         "type": "structure",
 11983         "members": {
 11984           "pipelineExecutionId": {}
 11985         }
 11986       }
 11987     },
 11988     "StartPipelineExecution": {
 11989       "input": {
 11990         "type": "structure",
 11991         "required": [
 11992           "name"
 11993         ],
 11994         "members": {
 11995           "name": {}
 11996         }
 11997       },
 11998       "output": {
 11999         "type": "structure",
 12000         "members": {
 12001           "pipelineExecutionId": {}
 12002         }
 12003       }
 12004     },
 12005     "UpdatePipeline": {
 12006       "input": {
 12007         "type": "structure",
 12008         "required": [
 12009           "pipeline"
 12010         ],
 12011         "members": {
 12012           "pipeline": {
 12013             "shape": "Sv"
 12014           }
 12015         }
 12016       },
 12017       "output": {
 12018         "type": "structure",
 12019         "members": {
 12020           "pipeline": {
 12021             "shape": "Sv"
 12022           }
 12023         }
 12024       }
 12025     }
 12026   },
 12027   "shapes": {
 12028     "Se": {
 12029       "type": "structure",
 12030       "members": {
 12031         "thirdPartyConfigurationUrl": {},
 12032         "entityUrlTemplate": {},
 12033         "executionUrlTemplate": {},
 12034         "revisionUrlTemplate": {}
 12035       }
 12036     },
 12037     "Sh": {
 12038       "type": "list",
 12039       "member": {
 12040         "type": "structure",
 12041         "required": [
 12042           "name",
 12043           "required",
 12044           "key",
 12045           "secret"
 12046         ],
 12047         "members": {
 12048           "name": {},
 12049           "required": {
 12050             "type": "boolean"
 12051           },
 12052           "key": {
 12053             "type": "boolean"
 12054           },
 12055           "secret": {
 12056             "type": "boolean"
 12057           },
 12058           "queryable": {
 12059             "type": "boolean"
 12060           },
 12061           "description": {},
 12062           "type": {}
 12063         }
 12064       }
 12065     },
 12066     "Sn": {
 12067       "type": "structure",
 12068       "required": [
 12069         "minimumCount",
 12070         "maximumCount"
 12071       ],
 12072       "members": {
 12073         "minimumCount": {
 12074           "type": "integer"
 12075         },
 12076         "maximumCount": {
 12077           "type": "integer"
 12078         }
 12079       }
 12080     },
 12081     "Sr": {
 12082       "type": "structure",
 12083       "required": [
 12084         "id",
 12085         "inputArtifactDetails",
 12086         "outputArtifactDetails"
 12087       ],
 12088       "members": {
 12089         "id": {
 12090           "shape": "Ss"
 12091         },
 12092         "settings": {
 12093           "shape": "Se"
 12094         },
 12095         "actionConfigurationProperties": {
 12096           "shape": "Sh"
 12097         },
 12098         "inputArtifactDetails": {
 12099           "shape": "Sn"
 12100         },
 12101         "outputArtifactDetails": {
 12102           "shape": "Sn"
 12103         }
 12104       }
 12105     },
 12106     "Ss": {
 12107       "type": "structure",
 12108       "required": [
 12109         "category",
 12110         "owner",
 12111         "provider",
 12112         "version"
 12113       ],
 12114       "members": {
 12115         "category": {},
 12116         "owner": {},
 12117         "provider": {},
 12118         "version": {}
 12119       }
 12120     },
 12121     "Sv": {
 12122       "type": "structure",
 12123       "required": [
 12124         "name",
 12125         "roleArn",
 12126         "artifactStore",
 12127         "stages"
 12128       ],
 12129       "members": {
 12130         "name": {},
 12131         "roleArn": {},
 12132         "artifactStore": {
 12133           "type": "structure",
 12134           "required": [
 12135             "type",
 12136             "location"
 12137           ],
 12138           "members": {
 12139             "type": {},
 12140             "location": {},
 12141             "encryptionKey": {
 12142               "shape": "S11"
 12143             }
 12144           }
 12145         },
 12146         "stages": {
 12147           "type": "list",
 12148           "member": {
 12149             "type": "structure",
 12150             "required": [
 12151               "name",
 12152               "actions"
 12153             ],
 12154             "members": {
 12155               "name": {},
 12156               "blockers": {
 12157                 "type": "list",
 12158                 "member": {
 12159                   "type": "structure",
 12160                   "required": [
 12161                     "name",
 12162                     "type"
 12163                   ],
 12164                   "members": {
 12165                     "name": {},
 12166                     "type": {}
 12167                   }
 12168                 }
 12169               },
 12170               "actions": {
 12171                 "type": "list",
 12172                 "member": {
 12173                   "type": "structure",
 12174                   "required": [
 12175                     "name",
 12176                     "actionTypeId"
 12177                   ],
 12178                   "members": {
 12179                     "name": {},
 12180                     "actionTypeId": {
 12181                       "shape": "Ss"
 12182                     },
 12183                     "runOrder": {
 12184                       "type": "integer"
 12185                     },
 12186                     "configuration": {
 12187                       "shape": "S1f"
 12188                     },
 12189                     "outputArtifacts": {
 12190                       "type": "list",
 12191                       "member": {
 12192                         "type": "structure",
 12193                         "required": [
 12194                           "name"
 12195                         ],
 12196                         "members": {
 12197                           "name": {}
 12198                         }
 12199                       }
 12200                     },
 12201                     "inputArtifacts": {
 12202                       "type": "list",
 12203                       "member": {
 12204                         "type": "structure",
 12205                         "required": [
 12206                           "name"
 12207                         ],
 12208                         "members": {
 12209                           "name": {}
 12210                         }
 12211                       }
 12212                     },
 12213                     "roleArn": {}
 12214                   }
 12215                 }
 12216               }
 12217             }
 12218           }
 12219         },
 12220         "version": {
 12221           "type": "integer"
 12222         }
 12223       }
 12224     },
 12225     "S11": {
 12226       "type": "structure",
 12227       "required": [
 12228         "id",
 12229         "type"
 12230       ],
 12231       "members": {
 12232         "id": {},
 12233         "type": {}
 12234       }
 12235     },
 12236     "S1f": {
 12237       "type": "map",
 12238       "key": {},
 12239       "value": {}
 12240     },
 12241     "S1x": {
 12242       "type": "structure",
 12243       "members": {
 12244         "actionTypeId": {
 12245           "shape": "Ss"
 12246         },
 12247         "actionConfiguration": {
 12248           "shape": "S1y"
 12249         },
 12250         "pipelineContext": {
 12251           "shape": "S1z"
 12252         },
 12253         "inputArtifacts": {
 12254           "shape": "S22"
 12255         },
 12256         "outputArtifacts": {
 12257           "shape": "S22"
 12258         },
 12259         "artifactCredentials": {
 12260           "shape": "S2a"
 12261         },
 12262         "continuationToken": {},
 12263         "encryptionKey": {
 12264           "shape": "S11"
 12265         }
 12266       }
 12267     },
 12268     "S1y": {
 12269       "type": "structure",
 12270       "members": {
 12271         "configuration": {
 12272           "shape": "S1f"
 12273         }
 12274       }
 12275     },
 12276     "S1z": {
 12277       "type": "structure",
 12278       "members": {
 12279         "pipelineName": {},
 12280         "stage": {
 12281           "type": "structure",
 12282           "members": {
 12283             "name": {}
 12284           }
 12285         },
 12286         "action": {
 12287           "type": "structure",
 12288           "members": {
 12289             "name": {}
 12290           }
 12291         }
 12292       }
 12293     },
 12294     "S22": {
 12295       "type": "list",
 12296       "member": {
 12297         "type": "structure",
 12298         "members": {
 12299           "name": {},
 12300           "revision": {},
 12301           "location": {
 12302             "type": "structure",
 12303             "members": {
 12304               "type": {},
 12305               "s3Location": {
 12306                 "type": "structure",
 12307                 "required": [
 12308                   "bucketName",
 12309                   "objectKey"
 12310                 ],
 12311                 "members": {
 12312                   "bucketName": {},
 12313                   "objectKey": {}
 12314                 }
 12315               }
 12316             }
 12317           }
 12318         }
 12319       }
 12320     },
 12321     "S2a": {
 12322       "type": "structure",
 12323       "required": [
 12324         "accessKeyId",
 12325         "secretAccessKey",
 12326         "sessionToken"
 12327       ],
 12328       "members": {
 12329         "accessKeyId": {},
 12330         "secretAccessKey": {},
 12331         "sessionToken": {}
 12332       },
 12333       "sensitive": true
 12334     },
 12335     "S32": {
 12336       "type": "structure",
 12337       "required": [
 12338         "revisionId",
 12339         "revisionChangeId",
 12340         "created"
 12341       ],
 12342       "members": {
 12343         "revisionId": {},
 12344         "revisionChangeId": {},
 12345         "created": {
 12346           "type": "timestamp"
 12347         }
 12348       }
 12349     },
 12350     "S4c": {
 12351       "type": "structure",
 12352       "required": [
 12353         "type",
 12354         "message"
 12355       ],
 12356       "members": {
 12357         "type": {},
 12358         "message": {},
 12359         "externalExecutionId": {}
 12360       }
 12361     },
 12362     "S4f": {
 12363       "type": "structure",
 12364       "required": [
 12365         "revision",
 12366         "changeIdentifier"
 12367       ],
 12368       "members": {
 12369         "revision": {},
 12370         "changeIdentifier": {},
 12371         "created": {
 12372           "type": "timestamp"
 12373         },
 12374         "revisionSummary": {}
 12375       }
 12376     },
 12377     "S4h": {
 12378       "type": "structure",
 12379       "members": {
 12380         "summary": {},
 12381         "externalExecutionId": {},
 12382         "percentComplete": {
 12383           "type": "integer"
 12384         }
 12385       }
 12386     }
 12387   }
 12388 }
 12389 },{}],24:[function(require,module,exports){
 12390 module.exports={
 12391   "version": "2.0",
 12392   "metadata": {
 12393     "apiVersion": "2014-06-30",
 12394     "endpointPrefix": "cognito-identity",
 12395     "jsonVersion": "1.1",
 12396     "protocol": "json",
 12397     "serviceFullName": "Amazon Cognito Identity",
 12398     "signatureVersion": "v4",
 12399     "targetPrefix": "AWSCognitoIdentityService"
 12400   },
 12401   "operations": {
 12402     "CreateIdentityPool": {
 12403       "input": {
 12404         "type": "structure",
 12405         "required": [
 12406           "IdentityPoolName",
 12407           "AllowUnauthenticatedIdentities"
 12408         ],
 12409         "members": {
 12410           "IdentityPoolName": {},
 12411           "AllowUnauthenticatedIdentities": {
 12412             "type": "boolean"
 12413           },
 12414           "SupportedLoginProviders": {
 12415             "shape": "S4"
 12416           },
 12417           "DeveloperProviderName": {},
 12418           "OpenIdConnectProviderARNs": {
 12419             "shape": "S8"
 12420           },
 12421           "CognitoIdentityProviders": {
 12422             "shape": "Sa"
 12423           },
 12424           "SamlProviderARNs": {
 12425             "shape": "Se"
 12426           }
 12427         }
 12428       },
 12429       "output": {
 12430         "shape": "Sf"
 12431       }
 12432     },
 12433     "DeleteIdentities": {
 12434       "input": {
 12435         "type": "structure",
 12436         "required": [
 12437           "IdentityIdsToDelete"
 12438         ],
 12439         "members": {
 12440           "IdentityIdsToDelete": {
 12441             "type": "list",
 12442             "member": {}
 12443           }
 12444         }
 12445       },
 12446       "output": {
 12447         "type": "structure",
 12448         "members": {
 12449           "UnprocessedIdentityIds": {
 12450             "type": "list",
 12451             "member": {
 12452               "type": "structure",
 12453               "members": {
 12454                 "IdentityId": {},
 12455                 "ErrorCode": {}
 12456               }
 12457             }
 12458           }
 12459         }
 12460       }
 12461     },
 12462     "DeleteIdentityPool": {
 12463       "input": {
 12464         "type": "structure",
 12465         "required": [
 12466           "IdentityPoolId"
 12467         ],
 12468         "members": {
 12469           "IdentityPoolId": {}
 12470         }
 12471       }
 12472     },
 12473     "DescribeIdentity": {
 12474       "input": {
 12475         "type": "structure",
 12476         "required": [
 12477           "IdentityId"
 12478         ],
 12479         "members": {
 12480           "IdentityId": {}
 12481         }
 12482       },
 12483       "output": {
 12484         "shape": "Sq"
 12485       }
 12486     },
 12487     "DescribeIdentityPool": {
 12488       "input": {
 12489         "type": "structure",
 12490         "required": [
 12491           "IdentityPoolId"
 12492         ],
 12493         "members": {
 12494           "IdentityPoolId": {}
 12495         }
 12496       },
 12497       "output": {
 12498         "shape": "Sf"
 12499       }
 12500     },
 12501     "GetCredentialsForIdentity": {
 12502       "input": {
 12503         "type": "structure",
 12504         "required": [
 12505           "IdentityId"
 12506         ],
 12507         "members": {
 12508           "IdentityId": {},
 12509           "Logins": {
 12510             "shape": "Sv"
 12511           },
 12512           "CustomRoleArn": {}
 12513         }
 12514       },
 12515       "output": {
 12516         "type": "structure",
 12517         "members": {
 12518           "IdentityId": {},
 12519           "Credentials": {
 12520             "type": "structure",
 12521             "members": {
 12522               "AccessKeyId": {},
 12523               "SecretKey": {},
 12524               "SessionToken": {},
 12525               "Expiration": {
 12526                 "type": "timestamp"
 12527               }
 12528             }
 12529           }
 12530         }
 12531       }
 12532     },
 12533     "GetId": {
 12534       "input": {
 12535         "type": "structure",
 12536         "required": [
 12537           "IdentityPoolId"
 12538         ],
 12539         "members": {
 12540           "AccountId": {},
 12541           "IdentityPoolId": {},
 12542           "Logins": {
 12543             "shape": "Sv"
 12544           }
 12545         }
 12546       },
 12547       "output": {
 12548         "type": "structure",
 12549         "members": {
 12550           "IdentityId": {}
 12551         }
 12552       }
 12553     },
 12554     "GetIdentityPoolRoles": {
 12555       "input": {
 12556         "type": "structure",
 12557         "required": [
 12558           "IdentityPoolId"
 12559         ],
 12560         "members": {
 12561           "IdentityPoolId": {}
 12562         }
 12563       },
 12564       "output": {
 12565         "type": "structure",
 12566         "members": {
 12567           "IdentityPoolId": {},
 12568           "Roles": {
 12569             "shape": "S17"
 12570           }
 12571         }
 12572       }
 12573     },
 12574     "GetOpenIdToken": {
 12575       "input": {
 12576         "type": "structure",
 12577         "required": [
 12578           "IdentityId"
 12579         ],
 12580         "members": {
 12581           "IdentityId": {},
 12582           "Logins": {
 12583             "shape": "Sv"
 12584           }
 12585         }
 12586       },
 12587       "output": {
 12588         "type": "structure",
 12589         "members": {
 12590           "IdentityId": {},
 12591           "Token": {}
 12592         }
 12593       }
 12594     },
 12595     "GetOpenIdTokenForDeveloperIdentity": {
 12596       "input": {
 12597         "type": "structure",
 12598         "required": [
 12599           "IdentityPoolId",
 12600           "Logins"
 12601         ],
 12602         "members": {
 12603           "IdentityPoolId": {},
 12604           "IdentityId": {},
 12605           "Logins": {
 12606             "shape": "Sv"
 12607           },
 12608           "TokenDuration": {
 12609             "type": "long"
 12610           }
 12611         }
 12612       },
 12613       "output": {
 12614         "type": "structure",
 12615         "members": {
 12616           "IdentityId": {},
 12617           "Token": {}
 12618         }
 12619       }
 12620     },
 12621     "ListIdentities": {
 12622       "input": {
 12623         "type": "structure",
 12624         "required": [
 12625           "IdentityPoolId",
 12626           "MaxResults"
 12627         ],
 12628         "members": {
 12629           "IdentityPoolId": {},
 12630           "MaxResults": {
 12631             "type": "integer"
 12632           },
 12633           "NextToken": {},
 12634           "HideDisabled": {
 12635             "type": "boolean"
 12636           }
 12637         }
 12638       },
 12639       "output": {
 12640         "type": "structure",
 12641         "members": {
 12642           "IdentityPoolId": {},
 12643           "Identities": {
 12644             "type": "list",
 12645             "member": {
 12646               "shape": "Sq"
 12647             }
 12648           },
 12649           "NextToken": {}
 12650         }
 12651       }
 12652     },
 12653     "ListIdentityPools": {
 12654       "input": {
 12655         "type": "structure",
 12656         "required": [
 12657           "MaxResults"
 12658         ],
 12659         "members": {
 12660           "MaxResults": {
 12661             "type": "integer"
 12662           },
 12663           "NextToken": {}
 12664         }
 12665       },
 12666       "output": {
 12667         "type": "structure",
 12668         "members": {
 12669           "IdentityPools": {
 12670             "type": "list",
 12671             "member": {
 12672               "type": "structure",
 12673               "members": {
 12674                 "IdentityPoolId": {},
 12675                 "IdentityPoolName": {}
 12676               }
 12677             }
 12678           },
 12679           "NextToken": {}
 12680         }
 12681       }
 12682     },
 12683     "LookupDeveloperIdentity": {
 12684       "input": {
 12685         "type": "structure",
 12686         "required": [
 12687           "IdentityPoolId"
 12688         ],
 12689         "members": {
 12690           "IdentityPoolId": {},
 12691           "IdentityId": {},
 12692           "DeveloperUserIdentifier": {},
 12693           "MaxResults": {
 12694             "type": "integer"
 12695           },
 12696           "NextToken": {}
 12697         }
 12698       },
 12699       "output": {
 12700         "type": "structure",
 12701         "members": {
 12702           "IdentityId": {},
 12703           "DeveloperUserIdentifierList": {
 12704             "type": "list",
 12705             "member": {}
 12706           },
 12707           "NextToken": {}
 12708         }
 12709       }
 12710     },
 12711     "MergeDeveloperIdentities": {
 12712       "input": {
 12713         "type": "structure",
 12714         "required": [
 12715           "SourceUserIdentifier",
 12716           "DestinationUserIdentifier",
 12717           "DeveloperProviderName",
 12718           "IdentityPoolId"
 12719         ],
 12720         "members": {
 12721           "SourceUserIdentifier": {},
 12722           "DestinationUserIdentifier": {},
 12723           "DeveloperProviderName": {},
 12724           "IdentityPoolId": {}
 12725         }
 12726       },
 12727       "output": {
 12728         "type": "structure",
 12729         "members": {
 12730           "IdentityId": {}
 12731         }
 12732       }
 12733     },
 12734     "SetIdentityPoolRoles": {
 12735       "input": {
 12736         "type": "structure",
 12737         "required": [
 12738           "IdentityPoolId",
 12739           "Roles"
 12740         ],
 12741         "members": {
 12742           "IdentityPoolId": {},
 12743           "Roles": {
 12744             "shape": "S17"
 12745           }
 12746         }
 12747       }
 12748     },
 12749     "UnlinkDeveloperIdentity": {
 12750       "input": {
 12751         "type": "structure",
 12752         "required": [
 12753           "IdentityId",
 12754           "IdentityPoolId",
 12755           "DeveloperProviderName",
 12756           "DeveloperUserIdentifier"
 12757         ],
 12758         "members": {
 12759           "IdentityId": {},
 12760           "IdentityPoolId": {},
 12761           "DeveloperProviderName": {},
 12762           "DeveloperUserIdentifier": {}
 12763         }
 12764       }
 12765     },
 12766     "UnlinkIdentity": {
 12767       "input": {
 12768         "type": "structure",
 12769         "required": [
 12770           "IdentityId",
 12771           "Logins",
 12772           "LoginsToRemove"
 12773         ],
 12774         "members": {
 12775           "IdentityId": {},
 12776           "Logins": {
 12777             "shape": "Sv"
 12778           },
 12779           "LoginsToRemove": {
 12780             "shape": "Sr"
 12781           }
 12782         }
 12783       }
 12784     },
 12785     "UpdateIdentityPool": {
 12786       "input": {
 12787         "shape": "Sf"
 12788       },
 12789       "output": {
 12790         "shape": "Sf"
 12791       }
 12792     }
 12793   },
 12794   "shapes": {
 12795     "S4": {
 12796       "type": "map",
 12797       "key": {},
 12798       "value": {}
 12799     },
 12800     "S8": {
 12801       "type": "list",
 12802       "member": {}
 12803     },
 12804     "Sa": {
 12805       "type": "list",
 12806       "member": {
 12807         "type": "structure",
 12808         "members": {
 12809           "ProviderName": {},
 12810           "ClientId": {}
 12811         }
 12812       }
 12813     },
 12814     "Se": {
 12815       "type": "list",
 12816       "member": {}
 12817     },
 12818     "Sf": {
 12819       "type": "structure",
 12820       "required": [
 12821         "IdentityPoolId",
 12822         "IdentityPoolName",
 12823         "AllowUnauthenticatedIdentities"
 12824       ],
 12825       "members": {
 12826         "IdentityPoolId": {},
 12827         "IdentityPoolName": {},
 12828         "AllowUnauthenticatedIdentities": {
 12829           "type": "boolean"
 12830         },
 12831         "SupportedLoginProviders": {
 12832           "shape": "S4"
 12833         },
 12834         "DeveloperProviderName": {},
 12835         "OpenIdConnectProviderARNs": {
 12836           "shape": "S8"
 12837         },
 12838         "CognitoIdentityProviders": {
 12839           "shape": "Sa"
 12840         },
 12841         "SamlProviderARNs": {
 12842           "shape": "Se"
 12843         }
 12844       }
 12845     },
 12846     "Sq": {
 12847       "type": "structure",
 12848       "members": {
 12849         "IdentityId": {},
 12850         "Logins": {
 12851           "shape": "Sr"
 12852         },
 12853         "CreationDate": {
 12854           "type": "timestamp"
 12855         },
 12856         "LastModifiedDate": {
 12857           "type": "timestamp"
 12858         }
 12859       }
 12860     },
 12861     "Sr": {
 12862       "type": "list",
 12863       "member": {}
 12864     },
 12865     "Sv": {
 12866       "type": "map",
 12867       "key": {},
 12868       "value": {}
 12869     },
 12870     "S17": {
 12871       "type": "map",
 12872       "key": {},
 12873       "value": {}
 12874     }
 12875   }
 12876 }
 12877 },{}],25:[function(require,module,exports){
 12878 module.exports={
 12879   "version": "2.0",
 12880   "metadata": {
 12881     "apiVersion": "2016-04-18",
 12882     "endpointPrefix": "cognito-idp",
 12883     "jsonVersion": "1.1",
 12884     "protocol": "json",
 12885     "serviceFullName": "Amazon Cognito Identity Provider",
 12886     "signatureVersion": "v4",
 12887     "targetPrefix": "AWSCognitoIdentityProviderService"
 12888   },
 12889   "operations": {
 12890     "AddCustomAttributes": {
 12891       "input": {
 12892         "type": "structure",
 12893         "required": [
 12894           "UserPoolId",
 12895           "CustomAttributes"
 12896         ],
 12897         "members": {
 12898           "UserPoolId": {},
 12899           "CustomAttributes": {
 12900             "type": "list",
 12901             "member": {
 12902               "shape": "S4"
 12903             }
 12904           }
 12905         }
 12906       },
 12907       "output": {
 12908         "type": "structure",
 12909         "members": {}
 12910       }
 12911     },
 12912     "AdminConfirmSignUp": {
 12913       "input": {
 12914         "type": "structure",
 12915         "required": [
 12916           "UserPoolId",
 12917           "Username"
 12918         ],
 12919         "members": {
 12920           "UserPoolId": {},
 12921           "Username": {
 12922             "shape": "Sd"
 12923           }
 12924         }
 12925       },
 12926       "output": {
 12927         "type": "structure",
 12928         "members": {}
 12929       }
 12930     },
 12931     "AdminCreateUser": {
 12932       "input": {
 12933         "type": "structure",
 12934         "required": [
 12935           "UserPoolId",
 12936           "Username"
 12937         ],
 12938         "members": {
 12939           "UserPoolId": {},
 12940           "Username": {
 12941             "shape": "Sd"
 12942           },
 12943           "UserAttributes": {
 12944             "shape": "Sg"
 12945           },
 12946           "ValidationData": {
 12947             "shape": "Sg"
 12948           },
 12949           "TemporaryPassword": {
 12950             "shape": "Sk"
 12951           },
 12952           "ForceAliasCreation": {
 12953             "type": "boolean"
 12954           },
 12955           "MessageAction": {},
 12956           "DesiredDeliveryMediums": {
 12957             "type": "list",
 12958             "member": {}
 12959           }
 12960         }
 12961       },
 12962       "output": {
 12963         "type": "structure",
 12964         "members": {
 12965           "User": {
 12966             "shape": "Sq"
 12967           }
 12968         }
 12969       }
 12970     },
 12971     "AdminDeleteUser": {
 12972       "input": {
 12973         "type": "structure",
 12974         "required": [
 12975           "UserPoolId",
 12976           "Username"
 12977         ],
 12978         "members": {
 12979           "UserPoolId": {},
 12980           "Username": {
 12981             "shape": "Sd"
 12982           }
 12983         }
 12984       }
 12985     },
 12986     "AdminDeleteUserAttributes": {
 12987       "input": {
 12988         "type": "structure",
 12989         "required": [
 12990           "UserPoolId",
 12991           "Username",
 12992           "UserAttributeNames"
 12993         ],
 12994         "members": {
 12995           "UserPoolId": {},
 12996           "Username": {
 12997             "shape": "Sd"
 12998           },
 12999           "UserAttributeNames": {
 13000             "shape": "Sx"
 13001           }
 13002         }
 13003       },
 13004       "output": {
 13005         "type": "structure",
 13006         "members": {}
 13007       }
 13008     },
 13009     "AdminDisableUser": {
 13010       "input": {
 13011         "type": "structure",
 13012         "required": [
 13013           "UserPoolId",
 13014           "Username"
 13015         ],
 13016         "members": {
 13017           "UserPoolId": {},
 13018           "Username": {
 13019             "shape": "Sd"
 13020           }
 13021         }
 13022       },
 13023       "output": {
 13024         "type": "structure",
 13025         "members": {}
 13026       }
 13027     },
 13028     "AdminEnableUser": {
 13029       "input": {
 13030         "type": "structure",
 13031         "required": [
 13032           "UserPoolId",
 13033           "Username"
 13034         ],
 13035         "members": {
 13036           "UserPoolId": {},
 13037           "Username": {
 13038             "shape": "Sd"
 13039           }
 13040         }
 13041       },
 13042       "output": {
 13043         "type": "structure",
 13044         "members": {}
 13045       }
 13046     },
 13047     "AdminForgetDevice": {
 13048       "input": {
 13049         "type": "structure",
 13050         "required": [
 13051           "UserPoolId",
 13052           "Username",
 13053           "DeviceKey"
 13054         ],
 13055         "members": {
 13056           "UserPoolId": {},
 13057           "Username": {
 13058             "shape": "Sd"
 13059           },
 13060           "DeviceKey": {}
 13061         }
 13062       }
 13063     },
 13064     "AdminGetDevice": {
 13065       "input": {
 13066         "type": "structure",
 13067         "required": [
 13068           "DeviceKey",
 13069           "UserPoolId",
 13070           "Username"
 13071         ],
 13072         "members": {
 13073           "DeviceKey": {},
 13074           "UserPoolId": {},
 13075           "Username": {
 13076             "shape": "Sd"
 13077           }
 13078         }
 13079       },
 13080       "output": {
 13081         "type": "structure",
 13082         "required": [
 13083           "Device"
 13084         ],
 13085         "members": {
 13086           "Device": {
 13087             "shape": "S17"
 13088           }
 13089         }
 13090       }
 13091     },
 13092     "AdminGetUser": {
 13093       "input": {
 13094         "type": "structure",
 13095         "required": [
 13096           "UserPoolId",
 13097           "Username"
 13098         ],
 13099         "members": {
 13100           "UserPoolId": {},
 13101           "Username": {
 13102             "shape": "Sd"
 13103           }
 13104         }
 13105       },
 13106       "output": {
 13107         "type": "structure",
 13108         "required": [
 13109           "Username"
 13110         ],
 13111         "members": {
 13112           "Username": {
 13113             "shape": "Sd"
 13114           },
 13115           "UserAttributes": {
 13116             "shape": "Sg"
 13117           },
 13118           "UserCreateDate": {
 13119             "type": "timestamp"
 13120           },
 13121           "UserLastModifiedDate": {
 13122             "type": "timestamp"
 13123           },
 13124           "Enabled": {
 13125             "type": "boolean"
 13126           },
 13127           "UserStatus": {},
 13128           "MFAOptions": {
 13129             "shape": "St"
 13130           }
 13131         }
 13132       }
 13133     },
 13134     "AdminInitiateAuth": {
 13135       "input": {
 13136         "type": "structure",
 13137         "required": [
 13138           "UserPoolId",
 13139           "ClientId",
 13140           "AuthFlow"
 13141         ],
 13142         "members": {
 13143           "UserPoolId": {},
 13144           "ClientId": {
 13145             "shape": "S1b"
 13146           },
 13147           "AuthFlow": {},
 13148           "AuthParameters": {
 13149             "shape": "S1d"
 13150           },
 13151           "ClientMetadata": {
 13152             "shape": "S1e"
 13153           }
 13154         }
 13155       },
 13156       "output": {
 13157         "type": "structure",
 13158         "members": {
 13159           "ChallengeName": {},
 13160           "Session": {},
 13161           "ChallengeParameters": {
 13162             "shape": "S1i"
 13163           },
 13164           "AuthenticationResult": {
 13165             "shape": "S1j"
 13166           }
 13167         }
 13168       }
 13169     },
 13170     "AdminListDevices": {
 13171       "input": {
 13172         "type": "structure",
 13173         "required": [
 13174           "UserPoolId",
 13175           "Username"
 13176         ],
 13177         "members": {
 13178           "UserPoolId": {},
 13179           "Username": {
 13180             "shape": "Sd"
 13181           },
 13182           "Limit": {
 13183             "type": "integer"
 13184           },
 13185           "PaginationToken": {}
 13186         }
 13187       },
 13188       "output": {
 13189         "type": "structure",
 13190         "members": {
 13191           "Devices": {
 13192             "shape": "S1r"
 13193           },
 13194           "PaginationToken": {}
 13195         }
 13196       }
 13197     },
 13198     "AdminResetUserPassword": {
 13199       "input": {
 13200         "type": "structure",
 13201         "required": [
 13202           "UserPoolId",
 13203           "Username"
 13204         ],
 13205         "members": {
 13206           "UserPoolId": {},
 13207           "Username": {
 13208             "shape": "Sd"
 13209           }
 13210         }
 13211       },
 13212       "output": {
 13213         "type": "structure",
 13214         "members": {}
 13215       }
 13216     },
 13217     "AdminRespondToAuthChallenge": {
 13218       "input": {
 13219         "type": "structure",
 13220         "required": [
 13221           "UserPoolId",
 13222           "ClientId",
 13223           "ChallengeName"
 13224         ],
 13225         "members": {
 13226           "UserPoolId": {},
 13227           "ClientId": {
 13228             "shape": "S1b"
 13229           },
 13230           "ChallengeName": {},
 13231           "ChallengeResponses": {
 13232             "shape": "S1v"
 13233           },
 13234           "Session": {}
 13235         }
 13236       },
 13237       "output": {
 13238         "type": "structure",
 13239         "members": {
 13240           "ChallengeName": {},
 13241           "Session": {},
 13242           "ChallengeParameters": {
 13243             "shape": "S1i"
 13244           },
 13245           "AuthenticationResult": {
 13246             "shape": "S1j"
 13247           }
 13248         }
 13249       }
 13250     },
 13251     "AdminSetUserSettings": {
 13252       "input": {
 13253         "type": "structure",
 13254         "required": [
 13255           "UserPoolId",
 13256           "Username",
 13257           "MFAOptions"
 13258         ],
 13259         "members": {
 13260           "UserPoolId": {},
 13261           "Username": {
 13262             "shape": "Sd"
 13263           },
 13264           "MFAOptions": {
 13265             "shape": "St"
 13266           }
 13267         }
 13268       },
 13269       "output": {
 13270         "type": "structure",
 13271         "members": {}
 13272       }
 13273     },
 13274     "AdminUpdateDeviceStatus": {
 13275       "input": {
 13276         "type": "structure",
 13277         "required": [
 13278           "UserPoolId",
 13279           "Username",
 13280           "DeviceKey"
 13281         ],
 13282         "members": {
 13283           "UserPoolId": {},
 13284           "Username": {
 13285             "shape": "Sd"
 13286           },
 13287           "DeviceKey": {},
 13288           "DeviceRememberedStatus": {}
 13289         }
 13290       },
 13291       "output": {
 13292         "type": "structure",
 13293         "members": {}
 13294       }
 13295     },
 13296     "AdminUpdateUserAttributes": {
 13297       "input": {
 13298         "type": "structure",
 13299         "required": [
 13300           "UserPoolId",
 13301           "Username",
 13302           "UserAttributes"
 13303         ],
 13304         "members": {
 13305           "UserPoolId": {},
 13306           "Username": {
 13307             "shape": "Sd"
 13308           },
 13309           "UserAttributes": {
 13310             "shape": "Sg"
 13311           }
 13312         }
 13313       },
 13314       "output": {
 13315         "type": "structure",
 13316         "members": {}
 13317       }
 13318     },
 13319     "AdminUserGlobalSignOut": {
 13320       "input": {
 13321         "type": "structure",
 13322         "required": [
 13323           "UserPoolId",
 13324           "Username"
 13325         ],
 13326         "members": {
 13327           "UserPoolId": {},
 13328           "Username": {
 13329             "shape": "Sd"
 13330           }
 13331         }
 13332       },
 13333       "output": {
 13334         "type": "structure",
 13335         "members": {}
 13336       }
 13337     },
 13338     "ChangePassword": {
 13339       "input": {
 13340         "type": "structure",
 13341         "required": [
 13342           "PreviousPassword",
 13343           "ProposedPassword"
 13344         ],
 13345         "members": {
 13346           "PreviousPassword": {
 13347             "shape": "Sk"
 13348           },
 13349           "ProposedPassword": {
 13350             "shape": "Sk"
 13351           },
 13352           "AccessToken": {
 13353             "shape": "S1k"
 13354           }
 13355         }
 13356       },
 13357       "output": {
 13358         "type": "structure",
 13359         "members": {}
 13360       },
 13361       "authtype": "none"
 13362     },
 13363     "ConfirmDevice": {
 13364       "input": {
 13365         "type": "structure",
 13366         "required": [
 13367           "AccessToken",
 13368           "DeviceKey"
 13369         ],
 13370         "members": {
 13371           "AccessToken": {
 13372             "shape": "S1k"
 13373           },
 13374           "DeviceKey": {},
 13375           "DeviceSecretVerifierConfig": {
 13376             "type": "structure",
 13377             "members": {
 13378               "PasswordVerifier": {},
 13379               "Salt": {}
 13380             }
 13381           },
 13382           "DeviceName": {}
 13383         }
 13384       },
 13385       "output": {
 13386         "type": "structure",
 13387         "members": {
 13388           "UserConfirmationNecessary": {
 13389             "type": "boolean"
 13390           }
 13391         }
 13392       }
 13393     },
 13394     "ConfirmForgotPassword": {
 13395       "input": {
 13396         "type": "structure",
 13397         "required": [
 13398           "ClientId",
 13399           "Username",
 13400           "ConfirmationCode",
 13401           "Password"
 13402         ],
 13403         "members": {
 13404           "ClientId": {
 13405             "shape": "S1b"
 13406           },
 13407           "SecretHash": {
 13408             "shape": "S2d"
 13409           },
 13410           "Username": {
 13411             "shape": "Sd"
 13412           },
 13413           "ConfirmationCode": {},
 13414           "Password": {
 13415             "shape": "Sk"
 13416           }
 13417         }
 13418       },
 13419       "output": {
 13420         "type": "structure",
 13421         "members": {}
 13422       },
 13423       "authtype": "none"
 13424     },
 13425     "ConfirmSignUp": {
 13426       "input": {
 13427         "type": "structure",
 13428         "required": [
 13429           "ClientId",
 13430           "Username",
 13431           "ConfirmationCode"
 13432         ],
 13433         "members": {
 13434           "ClientId": {
 13435             "shape": "S1b"
 13436           },
 13437           "SecretHash": {
 13438             "shape": "S2d"
 13439           },
 13440           "Username": {
 13441             "shape": "Sd"
 13442           },
 13443           "ConfirmationCode": {},
 13444           "ForceAliasCreation": {
 13445             "type": "boolean"
 13446           }
 13447         }
 13448       },
 13449       "output": {
 13450         "type": "structure",
 13451         "members": {}
 13452       },
 13453       "authtype": "none"
 13454     },
 13455     "CreateUserImportJob": {
 13456       "input": {
 13457         "type": "structure",
 13458         "required": [
 13459           "JobName",
 13460           "UserPoolId",
 13461           "CloudWatchLogsRoleArn"
 13462         ],
 13463         "members": {
 13464           "JobName": {},
 13465           "UserPoolId": {},
 13466           "CloudWatchLogsRoleArn": {}
 13467         }
 13468       },
 13469       "output": {
 13470         "type": "structure",
 13471         "members": {
 13472           "UserImportJob": {
 13473             "shape": "S2m"
 13474           }
 13475         }
 13476       }
 13477     },
 13478     "CreateUserPool": {
 13479       "input": {
 13480         "type": "structure",
 13481         "required": [
 13482           "PoolName"
 13483         ],
 13484         "members": {
 13485           "PoolName": {},
 13486           "Policies": {
 13487             "shape": "S2u"
 13488           },
 13489           "LambdaConfig": {
 13490             "shape": "S2x"
 13491           },
 13492           "AutoVerifiedAttributes": {
 13493             "shape": "S2y"
 13494           },
 13495           "AliasAttributes": {
 13496             "shape": "S30"
 13497           },
 13498           "SmsVerificationMessage": {},
 13499           "EmailVerificationMessage": {},
 13500           "EmailVerificationSubject": {},
 13501           "SmsAuthenticationMessage": {},
 13502           "MfaConfiguration": {},
 13503           "DeviceConfiguration": {
 13504             "shape": "S36"
 13505           },
 13506           "EmailConfiguration": {
 13507             "shape": "S37"
 13508           },
 13509           "SmsConfiguration": {
 13510             "shape": "S39"
 13511           },
 13512           "AdminCreateUserConfig": {
 13513             "shape": "S3a"
 13514           },
 13515           "Schema": {
 13516             "shape": "S3d"
 13517           }
 13518         }
 13519       },
 13520       "output": {
 13521         "type": "structure",
 13522         "members": {
 13523           "UserPool": {
 13524             "shape": "S3f"
 13525           }
 13526         }
 13527       }
 13528     },
 13529     "CreateUserPoolClient": {
 13530       "input": {
 13531         "type": "structure",
 13532         "required": [
 13533           "UserPoolId",
 13534           "ClientName"
 13535         ],
 13536         "members": {
 13537           "UserPoolId": {},
 13538           "ClientName": {},
 13539           "GenerateSecret": {
 13540             "type": "boolean"
 13541           },
 13542           "RefreshTokenValidity": {
 13543             "type": "integer"
 13544           },
 13545           "ReadAttributes": {
 13546             "shape": "S3l"
 13547           },
 13548           "WriteAttributes": {
 13549             "shape": "S3l"
 13550           },
 13551           "ExplicitAuthFlows": {
 13552             "shape": "S3n"
 13553           }
 13554         }
 13555       },
 13556       "output": {
 13557         "type": "structure",
 13558         "members": {
 13559           "UserPoolClient": {
 13560             "shape": "S3q"
 13561           }
 13562         }
 13563       }
 13564     },
 13565     "DeleteUser": {
 13566       "input": {
 13567         "type": "structure",
 13568         "members": {
 13569           "AccessToken": {
 13570             "shape": "S1k"
 13571           }
 13572         }
 13573       },
 13574       "authtype": "none"
 13575     },
 13576     "DeleteUserAttributes": {
 13577       "input": {
 13578         "type": "structure",
 13579         "required": [
 13580           "UserAttributeNames"
 13581         ],
 13582         "members": {
 13583           "UserAttributeNames": {
 13584             "shape": "Sx"
 13585           },
 13586           "AccessToken": {
 13587             "shape": "S1k"
 13588           }
 13589         }
 13590       },
 13591       "output": {
 13592         "type": "structure",
 13593         "members": {}
 13594       },
 13595       "authtype": "none"
 13596     },
 13597     "DeleteUserPool": {
 13598       "input": {
 13599         "type": "structure",
 13600         "required": [
 13601           "UserPoolId"
 13602         ],
 13603         "members": {
 13604           "UserPoolId": {}
 13605         }
 13606       }
 13607     },
 13608     "DeleteUserPoolClient": {
 13609       "input": {
 13610         "type": "structure",
 13611         "required": [
 13612           "UserPoolId",
 13613           "ClientId"
 13614         ],
 13615         "members": {
 13616           "UserPoolId": {},
 13617           "ClientId": {
 13618             "shape": "S1b"
 13619           }
 13620         }
 13621       }
 13622     },
 13623     "DescribeUserImportJob": {
 13624       "input": {
 13625         "type": "structure",
 13626         "required": [
 13627           "UserPoolId",
 13628           "JobId"
 13629         ],
 13630         "members": {
 13631           "UserPoolId": {},
 13632           "JobId": {}
 13633         }
 13634       },
 13635       "output": {
 13636         "type": "structure",
 13637         "members": {
 13638           "UserImportJob": {
 13639             "shape": "S2m"
 13640           }
 13641         }
 13642       }
 13643     },
 13644     "DescribeUserPool": {
 13645       "input": {
 13646         "type": "structure",
 13647         "required": [
 13648           "UserPoolId"
 13649         ],
 13650         "members": {
 13651           "UserPoolId": {}
 13652         }
 13653       },
 13654       "output": {
 13655         "type": "structure",
 13656         "members": {
 13657           "UserPool": {
 13658             "shape": "S3f"
 13659           }
 13660         }
 13661       }
 13662     },
 13663     "DescribeUserPoolClient": {
 13664       "input": {
 13665         "type": "structure",
 13666         "required": [
 13667           "UserPoolId",
 13668           "ClientId"
 13669         ],
 13670         "members": {
 13671           "UserPoolId": {},
 13672           "ClientId": {
 13673             "shape": "S1b"
 13674           }
 13675         }
 13676       },
 13677       "output": {
 13678         "type": "structure",
 13679         "members": {
 13680           "UserPoolClient": {
 13681             "shape": "S3q"
 13682           }
 13683         }
 13684       }
 13685     },
 13686     "ForgetDevice": {
 13687       "input": {
 13688         "type": "structure",
 13689         "required": [
 13690           "DeviceKey"
 13691         ],
 13692         "members": {
 13693           "AccessToken": {
 13694             "shape": "S1k"
 13695           },
 13696           "DeviceKey": {}
 13697         }
 13698       }
 13699     },
 13700     "ForgotPassword": {
 13701       "input": {
 13702         "type": "structure",
 13703         "required": [
 13704           "ClientId",
 13705           "Username"
 13706         ],
 13707         "members": {
 13708           "ClientId": {
 13709             "shape": "S1b"
 13710           },
 13711           "SecretHash": {
 13712             "shape": "S2d"
 13713           },
 13714           "Username": {
 13715             "shape": "Sd"
 13716           }
 13717         }
 13718       },
 13719       "output": {
 13720         "type": "structure",
 13721         "members": {
 13722           "CodeDeliveryDetails": {
 13723             "shape": "S46"
 13724           }
 13725         }
 13726       },
 13727       "authtype": "none"
 13728     },
 13729     "GetCSVHeader": {
 13730       "input": {
 13731         "type": "structure",
 13732         "required": [
 13733           "UserPoolId"
 13734         ],
 13735         "members": {
 13736           "UserPoolId": {}
 13737         }
 13738       },
 13739       "output": {
 13740         "type": "structure",
 13741         "members": {
 13742           "UserPoolId": {},
 13743           "CSVHeader": {
 13744             "type": "list",
 13745             "member": {}
 13746           }
 13747         }
 13748       }
 13749     },
 13750     "GetDevice": {
 13751       "input": {
 13752         "type": "structure",
 13753         "required": [
 13754           "DeviceKey"
 13755         ],
 13756         "members": {
 13757           "DeviceKey": {},
 13758           "AccessToken": {
 13759             "shape": "S1k"
 13760           }
 13761         }
 13762       },
 13763       "output": {
 13764         "type": "structure",
 13765         "required": [
 13766           "Device"
 13767         ],
 13768         "members": {
 13769           "Device": {
 13770             "shape": "S17"
 13771           }
 13772         }
 13773       }
 13774     },
 13775     "GetUser": {
 13776       "input": {
 13777         "type": "structure",
 13778         "members": {
 13779           "AccessToken": {
 13780             "shape": "S1k"
 13781           }
 13782         }
 13783       },
 13784       "output": {
 13785         "type": "structure",
 13786         "required": [
 13787           "Username",
 13788           "UserAttributes"
 13789         ],
 13790         "members": {
 13791           "Username": {
 13792             "shape": "Sd"
 13793           },
 13794           "UserAttributes": {
 13795             "shape": "Sg"
 13796           },
 13797           "MFAOptions": {
 13798             "shape": "St"
 13799           }
 13800         }
 13801       },
 13802       "authtype": "none"
 13803     },
 13804     "GetUserAttributeVerificationCode": {
 13805       "input": {
 13806         "type": "structure",
 13807         "required": [
 13808           "AttributeName"
 13809         ],
 13810         "members": {
 13811           "AccessToken": {
 13812             "shape": "S1k"
 13813           },
 13814           "AttributeName": {}
 13815         }
 13816       },
 13817       "output": {
 13818         "type": "structure",
 13819         "members": {
 13820           "CodeDeliveryDetails": {
 13821             "shape": "S46"
 13822           }
 13823         }
 13824       },
 13825       "authtype": "none"
 13826     },
 13827     "GlobalSignOut": {
 13828       "input": {
 13829         "type": "structure",
 13830         "members": {
 13831           "AccessToken": {
 13832             "shape": "S1k"
 13833           }
 13834         }
 13835       },
 13836       "output": {
 13837         "type": "structure",
 13838         "members": {}
 13839       }
 13840     },
 13841     "InitiateAuth": {
 13842       "input": {
 13843         "type": "structure",
 13844         "required": [
 13845           "AuthFlow",
 13846           "ClientId"
 13847         ],
 13848         "members": {
 13849           "AuthFlow": {},
 13850           "AuthParameters": {
 13851             "shape": "S1d"
 13852           },
 13853           "ClientMetadata": {
 13854             "shape": "S1e"
 13855           },
 13856           "ClientId": {
 13857             "shape": "S1b"
 13858           }
 13859         }
 13860       },
 13861       "output": {
 13862         "type": "structure",
 13863         "members": {
 13864           "ChallengeName": {},
 13865           "Session": {},
 13866           "ChallengeParameters": {
 13867             "shape": "S1i"
 13868           },
 13869           "AuthenticationResult": {
 13870             "shape": "S1j"
 13871           }
 13872         }
 13873       }
 13874     },
 13875     "ListDevices": {
 13876       "input": {
 13877         "type": "structure",
 13878         "required": [
 13879           "AccessToken"
 13880         ],
 13881         "members": {
 13882           "AccessToken": {
 13883             "shape": "S1k"
 13884           },
 13885           "Limit": {
 13886             "type": "integer"
 13887           },
 13888           "PaginationToken": {}
 13889         }
 13890       },
 13891       "output": {
 13892         "type": "structure",
 13893         "members": {
 13894           "Devices": {
 13895             "shape": "S1r"
 13896           },
 13897           "PaginationToken": {}
 13898         }
 13899       }
 13900     },
 13901     "ListUserImportJobs": {
 13902       "input": {
 13903         "type": "structure",
 13904         "required": [
 13905           "UserPoolId",
 13906           "MaxResults"
 13907         ],
 13908         "members": {
 13909           "UserPoolId": {},
 13910           "MaxResults": {
 13911             "type": "integer"
 13912           },
 13913           "PaginationToken": {}
 13914         }
 13915       },
 13916       "output": {
 13917         "type": "structure",
 13918         "members": {
 13919           "UserImportJobs": {
 13920             "type": "list",
 13921             "member": {
 13922               "shape": "S2m"
 13923             }
 13924           },
 13925           "PaginationToken": {}
 13926         }
 13927       }
 13928     },
 13929     "ListUserPoolClients": {
 13930       "input": {
 13931         "type": "structure",
 13932         "required": [
 13933           "UserPoolId"
 13934         ],
 13935         "members": {
 13936           "UserPoolId": {},
 13937           "MaxResults": {
 13938             "type": "integer"
 13939           },
 13940           "NextToken": {}
 13941         }
 13942       },
 13943       "output": {
 13944         "type": "structure",
 13945         "members": {
 13946           "UserPoolClients": {
 13947             "type": "list",
 13948             "member": {
 13949               "type": "structure",
 13950               "members": {
 13951                 "ClientId": {
 13952                   "shape": "S1b"
 13953                 },
 13954                 "UserPoolId": {},
 13955                 "ClientName": {}
 13956               }
 13957             }
 13958           },
 13959           "NextToken": {}
 13960         }
 13961       }
 13962     },
 13963     "ListUserPools": {
 13964       "input": {
 13965         "type": "structure",
 13966         "required": [
 13967           "MaxResults"
 13968         ],
 13969         "members": {
 13970           "NextToken": {},
 13971           "MaxResults": {
 13972             "type": "integer"
 13973           }
 13974         }
 13975       },
 13976       "output": {
 13977         "type": "structure",
 13978         "members": {
 13979           "UserPools": {
 13980             "type": "list",
 13981             "member": {
 13982               "type": "structure",
 13983               "members": {
 13984                 "Id": {},
 13985                 "Name": {},
 13986                 "LambdaConfig": {
 13987                   "shape": "S2x"
 13988                 },
 13989                 "Status": {},
 13990                 "LastModifiedDate": {
 13991                   "type": "timestamp"
 13992                 },
 13993                 "CreationDate": {
 13994                   "type": "timestamp"
 13995                 }
 13996               }
 13997             }
 13998           },
 13999           "NextToken": {}
 14000         }
 14001       }
 14002     },
 14003     "ListUsers": {
 14004       "input": {
 14005         "type": "structure",
 14006         "required": [
 14007           "UserPoolId"
 14008         ],
 14009         "members": {
 14010           "UserPoolId": {},
 14011           "AttributesToGet": {
 14012             "type": "list",
 14013             "member": {}
 14014           },
 14015           "Limit": {
 14016             "type": "integer"
 14017           },
 14018           "PaginationToken": {},
 14019           "Filter": {}
 14020         }
 14021       },
 14022       "output": {
 14023         "type": "structure",
 14024         "members": {
 14025           "Users": {
 14026             "type": "list",
 14027             "member": {
 14028               "shape": "Sq"
 14029             }
 14030           },
 14031           "PaginationToken": {}
 14032         }
 14033       }
 14034     },
 14035     "ResendConfirmationCode": {
 14036       "input": {
 14037         "type": "structure",
 14038         "required": [
 14039           "ClientId",
 14040           "Username"
 14041         ],
 14042         "members": {
 14043           "ClientId": {
 14044             "shape": "S1b"
 14045           },
 14046           "SecretHash": {
 14047             "shape": "S2d"
 14048           },
 14049           "Username": {
 14050             "shape": "Sd"
 14051           }
 14052         }
 14053       },
 14054       "output": {
 14055         "type": "structure",
 14056         "members": {
 14057           "CodeDeliveryDetails": {
 14058             "shape": "S46"
 14059           }
 14060         }
 14061       },
 14062       "authtype": "none"
 14063     },
 14064     "RespondToAuthChallenge": {
 14065       "input": {
 14066         "type": "structure",
 14067         "required": [
 14068           "ClientId",
 14069           "ChallengeName"
 14070         ],
 14071         "members": {
 14072           "ClientId": {
 14073             "shape": "S1b"
 14074           },
 14075           "ChallengeName": {},
 14076           "Session": {},
 14077           "ChallengeResponses": {
 14078             "shape": "S1v"
 14079           }
 14080         }
 14081       },
 14082       "output": {
 14083         "type": "structure",
 14084         "members": {
 14085           "ChallengeName": {},
 14086           "Session": {},
 14087           "ChallengeParameters": {
 14088             "shape": "S1i"
 14089           },
 14090           "AuthenticationResult": {
 14091             "shape": "S1j"
 14092           }
 14093         }
 14094       }
 14095     },
 14096     "SetUserSettings": {
 14097       "input": {
 14098         "type": "structure",
 14099         "required": [
 14100           "AccessToken",
 14101           "MFAOptions"
 14102         ],
 14103         "members": {
 14104           "AccessToken": {
 14105             "shape": "S1k"
 14106           },
 14107           "MFAOptions": {
 14108             "shape": "St"
 14109           }
 14110         }
 14111       },
 14112       "output": {
 14113         "type": "structure",
 14114         "members": {}
 14115       },
 14116       "authtype": "none"
 14117     },
 14118     "SignUp": {
 14119       "input": {
 14120         "type": "structure",
 14121         "required": [
 14122           "ClientId",
 14123           "Username",
 14124           "Password"
 14125         ],
 14126         "members": {
 14127           "ClientId": {
 14128             "shape": "S1b"
 14129           },
 14130           "SecretHash": {
 14131             "shape": "S2d"
 14132           },
 14133           "Username": {
 14134             "shape": "Sd"
 14135           },
 14136           "Password": {
 14137             "shape": "Sk"
 14138           },
 14139           "UserAttributes": {
 14140             "shape": "Sg"
 14141           },
 14142           "ValidationData": {
 14143             "shape": "Sg"
 14144           }
 14145         }
 14146       },
 14147       "output": {
 14148         "type": "structure",
 14149         "members": {
 14150           "UserConfirmed": {
 14151             "type": "boolean"
 14152           },
 14153           "CodeDeliveryDetails": {
 14154             "shape": "S46"
 14155           }
 14156         }
 14157       },
 14158       "authtype": "none"
 14159     },
 14160     "StartUserImportJob": {
 14161       "input": {
 14162         "type": "structure",
 14163         "required": [
 14164           "UserPoolId",
 14165           "JobId"
 14166         ],
 14167         "members": {
 14168           "UserPoolId": {},
 14169           "JobId": {}
 14170         }
 14171       },
 14172       "output": {
 14173         "type": "structure",
 14174         "members": {
 14175           "UserImportJob": {
 14176             "shape": "S2m"
 14177           }
 14178         }
 14179       }
 14180     },
 14181     "StopUserImportJob": {
 14182       "input": {
 14183         "type": "structure",
 14184         "required": [
 14185           "UserPoolId",
 14186           "JobId"
 14187         ],
 14188         "members": {
 14189           "UserPoolId": {},
 14190           "JobId": {}
 14191         }
 14192       },
 14193       "output": {
 14194         "type": "structure",
 14195         "members": {
 14196           "UserImportJob": {
 14197             "shape": "S2m"
 14198           }
 14199         }
 14200       }
 14201     },
 14202     "UpdateDeviceStatus": {
 14203       "input": {
 14204         "type": "structure",
 14205         "required": [
 14206           "AccessToken",
 14207           "DeviceKey"
 14208         ],
 14209         "members": {
 14210           "AccessToken": {
 14211             "shape": "S1k"
 14212           },
 14213           "DeviceKey": {},
 14214           "DeviceRememberedStatus": {}
 14215         }
 14216       },
 14217       "output": {
 14218         "type": "structure",
 14219         "members": {}
 14220       }
 14221     },
 14222     "UpdateUserAttributes": {
 14223       "input": {
 14224         "type": "structure",
 14225         "required": [
 14226           "UserAttributes"
 14227         ],
 14228         "members": {
 14229           "UserAttributes": {
 14230             "shape": "Sg"
 14231           },
 14232           "AccessToken": {
 14233             "shape": "S1k"
 14234           }
 14235         }
 14236       },
 14237       "output": {
 14238         "type": "structure",
 14239         "members": {
 14240           "CodeDeliveryDetailsList": {
 14241             "type": "list",
 14242             "member": {
 14243               "shape": "S46"
 14244             }
 14245           }
 14246         }
 14247       },
 14248       "authtype": "none"
 14249     },
 14250     "UpdateUserPool": {
 14251       "input": {
 14252         "type": "structure",
 14253         "required": [
 14254           "UserPoolId"
 14255         ],
 14256         "members": {
 14257           "UserPoolId": {},
 14258           "Policies": {
 14259             "shape": "S2u"
 14260           },
 14261           "LambdaConfig": {
 14262             "shape": "S2x"
 14263           },
 14264           "AutoVerifiedAttributes": {
 14265             "shape": "S2y"
 14266           },
 14267           "SmsVerificationMessage": {},
 14268           "EmailVerificationMessage": {},
 14269           "EmailVerificationSubject": {},
 14270           "SmsAuthenticationMessage": {},
 14271           "MfaConfiguration": {},
 14272           "DeviceConfiguration": {
 14273             "shape": "S36"
 14274           },
 14275           "EmailConfiguration": {
 14276             "shape": "S37"
 14277           },
 14278           "SmsConfiguration": {
 14279             "shape": "S39"
 14280           },
 14281           "AdminCreateUserConfig": {
 14282             "shape": "S3a"
 14283           }
 14284         }
 14285       },
 14286       "output": {
 14287         "type": "structure",
 14288         "members": {}
 14289       }
 14290     },
 14291     "UpdateUserPoolClient": {
 14292       "input": {
 14293         "type": "structure",
 14294         "required": [
 14295           "UserPoolId",
 14296           "ClientId"
 14297         ],
 14298         "members": {
 14299           "UserPoolId": {},
 14300           "ClientId": {
 14301             "shape": "S1b"
 14302           },
 14303           "ClientName": {},
 14304           "RefreshTokenValidity": {
 14305             "type": "integer"
 14306           },
 14307           "ReadAttributes": {
 14308             "shape": "S3l"
 14309           },
 14310           "WriteAttributes": {
 14311             "shape": "S3l"
 14312           },
 14313           "ExplicitAuthFlows": {
 14314             "shape": "S3n"
 14315           }
 14316         }
 14317       },
 14318       "output": {
 14319         "type": "structure",
 14320         "members": {
 14321           "UserPoolClient": {
 14322             "shape": "S3q"
 14323           }
 14324         }
 14325       }
 14326     },
 14327     "VerifyUserAttribute": {
 14328       "input": {
 14329         "type": "structure",
 14330         "required": [
 14331           "AttributeName",
 14332           "Code"
 14333         ],
 14334         "members": {
 14335           "AccessToken": {
 14336             "shape": "S1k"
 14337           },
 14338           "AttributeName": {},
 14339           "Code": {}
 14340         }
 14341       },
 14342       "output": {
 14343         "type": "structure",
 14344         "members": {}
 14345       },
 14346       "authtype": "none"
 14347     }
 14348   },
 14349   "shapes": {
 14350     "S4": {
 14351       "type": "structure",
 14352       "members": {
 14353         "Name": {},
 14354         "AttributeDataType": {},
 14355         "DeveloperOnlyAttribute": {
 14356           "type": "boolean"
 14357         },
 14358         "Mutable": {
 14359           "type": "boolean"
 14360         },
 14361         "Required": {
 14362           "type": "boolean"
 14363         },
 14364         "NumberAttributeConstraints": {
 14365           "type": "structure",
 14366           "members": {
 14367             "MinValue": {},
 14368             "MaxValue": {}
 14369           }
 14370         },
 14371         "StringAttributeConstraints": {
 14372           "type": "structure",
 14373           "members": {
 14374             "MinLength": {},
 14375             "MaxLength": {}
 14376           }
 14377         }
 14378       }
 14379     },
 14380     "Sd": {
 14381       "type": "string",
 14382       "sensitive": true
 14383     },
 14384     "Sg": {
 14385       "type": "list",
 14386       "member": {
 14387         "type": "structure",
 14388         "required": [
 14389           "Name"
 14390         ],
 14391         "members": {
 14392           "Name": {},
 14393           "Value": {
 14394             "type": "string",
 14395             "sensitive": true
 14396           }
 14397         }
 14398       }
 14399     },
 14400     "Sk": {
 14401       "type": "string",
 14402       "sensitive": true
 14403     },
 14404     "Sq": {
 14405       "type": "structure",
 14406       "members": {
 14407         "Username": {
 14408           "shape": "Sd"
 14409         },
 14410         "Attributes": {
 14411           "shape": "Sg"
 14412         },
 14413         "UserCreateDate": {
 14414           "type": "timestamp"
 14415         },
 14416         "UserLastModifiedDate": {
 14417           "type": "timestamp"
 14418         },
 14419         "Enabled": {
 14420           "type": "boolean"
 14421         },
 14422         "UserStatus": {},
 14423         "MFAOptions": {
 14424           "shape": "St"
 14425         }
 14426       }
 14427     },
 14428     "St": {
 14429       "type": "list",
 14430       "member": {
 14431         "type": "structure",
 14432         "members": {
 14433           "DeliveryMedium": {},
 14434           "AttributeName": {}
 14435         }
 14436       }
 14437     },
 14438     "Sx": {
 14439       "type": "list",
 14440       "member": {}
 14441     },
 14442     "S17": {
 14443       "type": "structure",
 14444       "members": {
 14445         "DeviceKey": {},
 14446         "DeviceAttributes": {
 14447           "shape": "Sg"
 14448         },
 14449         "DeviceCreateDate": {
 14450           "type": "timestamp"
 14451         },
 14452         "DeviceLastModifiedDate": {
 14453           "type": "timestamp"
 14454         },
 14455         "DeviceLastAuthenticatedDate": {
 14456           "type": "timestamp"
 14457         }
 14458       }
 14459     },
 14460     "S1b": {
 14461       "type": "string",
 14462       "sensitive": true
 14463     },
 14464     "S1d": {
 14465       "type": "map",
 14466       "key": {},
 14467       "value": {}
 14468     },
 14469     "S1e": {
 14470       "type": "map",
 14471       "key": {},
 14472       "value": {}
 14473     },
 14474     "S1i": {
 14475       "type": "map",
 14476       "key": {},
 14477       "value": {}
 14478     },
 14479     "S1j": {
 14480       "type": "structure",
 14481       "members": {
 14482         "AccessToken": {
 14483           "shape": "S1k"
 14484         },
 14485         "ExpiresIn": {
 14486           "type": "integer"
 14487         },
 14488         "TokenType": {},
 14489         "RefreshToken": {
 14490           "shape": "S1k"
 14491         },
 14492         "IdToken": {
 14493           "shape": "S1k"
 14494         },
 14495         "NewDeviceMetadata": {
 14496           "type": "structure",
 14497           "members": {
 14498             "DeviceKey": {},
 14499             "DeviceGroupKey": {}
 14500           }
 14501         }
 14502       }
 14503     },
 14504     "S1k": {
 14505       "type": "string",
 14506       "sensitive": true
 14507     },
 14508     "S1r": {
 14509       "type": "list",
 14510       "member": {
 14511         "shape": "S17"
 14512       }
 14513     },
 14514     "S1v": {
 14515       "type": "map",
 14516       "key": {},
 14517       "value": {}
 14518     },
 14519     "S2d": {
 14520       "type": "string",
 14521       "sensitive": true
 14522     },
 14523     "S2m": {
 14524       "type": "structure",
 14525       "members": {
 14526         "JobName": {},
 14527         "JobId": {},
 14528         "UserPoolId": {},
 14529         "PreSignedUrl": {},
 14530         "CreationDate": {
 14531           "type": "timestamp"
 14532         },
 14533         "StartDate": {
 14534           "type": "timestamp"
 14535         },
 14536         "CompletionDate": {
 14537           "type": "timestamp"
 14538         },
 14539         "Status": {},
 14540         "CloudWatchLogsRoleArn": {},
 14541         "ImportedUsers": {
 14542           "type": "long"
 14543         },
 14544         "SkippedUsers": {
 14545           "type": "long"
 14546         },
 14547         "FailedUsers": {
 14548           "type": "long"
 14549         },
 14550         "CompletionMessage": {}
 14551       }
 14552     },
 14553     "S2u": {
 14554       "type": "structure",
 14555       "members": {
 14556         "PasswordPolicy": {
 14557           "type": "structure",
 14558           "members": {
 14559             "MinimumLength": {
 14560               "type": "integer"
 14561             },
 14562             "RequireUppercase": {
 14563               "type": "boolean"
 14564             },
 14565             "RequireLowercase": {
 14566               "type": "boolean"
 14567             },
 14568             "RequireNumbers": {
 14569               "type": "boolean"
 14570             },
 14571             "RequireSymbols": {
 14572               "type": "boolean"
 14573             }
 14574           }
 14575         }
 14576       }
 14577     },
 14578     "S2x": {
 14579       "type": "structure",
 14580       "members": {
 14581         "PreSignUp": {},
 14582         "CustomMessage": {},
 14583         "PostConfirmation": {},
 14584         "PreAuthentication": {},
 14585         "PostAuthentication": {},
 14586         "DefineAuthChallenge": {},
 14587         "CreateAuthChallenge": {},
 14588         "VerifyAuthChallengeResponse": {}
 14589       }
 14590     },
 14591     "S2y": {
 14592       "type": "list",
 14593       "member": {}
 14594     },
 14595     "S30": {
 14596       "type": "list",
 14597       "member": {}
 14598     },
 14599     "S36": {
 14600       "type": "structure",
 14601       "members": {
 14602         "ChallengeRequiredOnNewDevice": {
 14603           "type": "boolean"
 14604         },
 14605         "DeviceOnlyRememberedOnUserPrompt": {
 14606           "type": "boolean"
 14607         }
 14608       }
 14609     },
 14610     "S37": {
 14611       "type": "structure",
 14612       "members": {
 14613         "SourceArn": {},
 14614         "ReplyToEmailAddress": {}
 14615       }
 14616     },
 14617     "S39": {
 14618       "type": "structure",
 14619       "required": [
 14620         "SnsCallerArn"
 14621       ],
 14622       "members": {
 14623         "SnsCallerArn": {},
 14624         "ExternalId": {}
 14625       }
 14626     },
 14627     "S3a": {
 14628       "type": "structure",
 14629       "members": {
 14630         "AllowAdminCreateUserOnly": {
 14631           "type": "boolean"
 14632         },
 14633         "UnusedAccountValidityDays": {
 14634           "type": "integer"
 14635         },
 14636         "InviteMessageTemplate": {
 14637           "type": "structure",
 14638           "members": {
 14639             "SMSMessage": {},
 14640             "EmailMessage": {},
 14641             "EmailSubject": {}
 14642           }
 14643         }
 14644       }
 14645     },
 14646     "S3d": {
 14647       "type": "list",
 14648       "member": {
 14649         "shape": "S4"
 14650       }
 14651     },
 14652     "S3f": {
 14653       "type": "structure",
 14654       "members": {
 14655         "Id": {},
 14656         "Name": {},
 14657         "Policies": {
 14658           "shape": "S2u"
 14659         },
 14660         "LambdaConfig": {
 14661           "shape": "S2x"
 14662         },
 14663         "Status": {},
 14664         "LastModifiedDate": {
 14665           "type": "timestamp"
 14666         },
 14667         "CreationDate": {
 14668           "type": "timestamp"
 14669         },
 14670         "SchemaAttributes": {
 14671           "shape": "S3d"
 14672         },
 14673         "AutoVerifiedAttributes": {
 14674           "shape": "S2y"
 14675         },
 14676         "AliasAttributes": {
 14677           "shape": "S30"
 14678         },
 14679         "SmsVerificationMessage": {},
 14680         "EmailVerificationMessage": {},
 14681         "EmailVerificationSubject": {},
 14682         "SmsAuthenticationMessage": {},
 14683         "MfaConfiguration": {},
 14684         "DeviceConfiguration": {
 14685           "shape": "S36"
 14686         },
 14687         "EstimatedNumberOfUsers": {
 14688           "type": "integer"
 14689         },
 14690         "EmailConfiguration": {
 14691           "shape": "S37"
 14692         },
 14693         "SmsConfiguration": {
 14694           "shape": "S39"
 14695         },
 14696         "SmsConfigurationFailure": {},
 14697         "EmailConfigurationFailure": {},
 14698         "AdminCreateUserConfig": {
 14699           "shape": "S3a"
 14700         }
 14701       }
 14702     },
 14703     "S3l": {
 14704       "type": "list",
 14705       "member": {}
 14706     },
 14707     "S3n": {
 14708       "type": "list",
 14709       "member": {}
 14710     },
 14711     "S3q": {
 14712       "type": "structure",
 14713       "members": {
 14714         "UserPoolId": {},
 14715         "ClientName": {},
 14716         "ClientId": {
 14717           "shape": "S1b"
 14718         },
 14719         "ClientSecret": {
 14720           "type": "string",
 14721           "sensitive": true
 14722         },
 14723         "LastModifiedDate": {
 14724           "type": "timestamp"
 14725         },
 14726         "CreationDate": {
 14727           "type": "timestamp"
 14728         },
 14729         "RefreshTokenValidity": {
 14730           "type": "integer"
 14731         },
 14732         "ReadAttributes": {
 14733           "shape": "S3l"
 14734         },
 14735         "WriteAttributes": {
 14736           "shape": "S3l"
 14737         },
 14738         "ExplicitAuthFlows": {
 14739           "shape": "S3n"
 14740         }
 14741       }
 14742     },
 14743     "S46": {
 14744       "type": "structure",
 14745       "members": {
 14746         "Destination": {},
 14747         "DeliveryMedium": {},
 14748         "AttributeName": {}
 14749       }
 14750     }
 14751   }
 14752 }
 14753 },{}],26:[function(require,module,exports){
 14754 module.exports={
 14755   "version": "2.0",
 14756   "metadata": {
 14757     "apiVersion": "2014-06-30",
 14758     "endpointPrefix": "cognito-sync",
 14759     "jsonVersion": "1.1",
 14760     "serviceFullName": "Amazon Cognito Sync",
 14761     "signatureVersion": "v4",
 14762     "protocol": "rest-json"
 14763   },
 14764   "operations": {
 14765     "BulkPublish": {
 14766       "http": {
 14767         "requestUri": "/identitypools/{IdentityPoolId}/bulkpublish",
 14768         "responseCode": 200
 14769       },
 14770       "input": {
 14771         "type": "structure",
 14772         "required": [
 14773           "IdentityPoolId"
 14774         ],
 14775         "members": {
 14776           "IdentityPoolId": {
 14777             "location": "uri",
 14778             "locationName": "IdentityPoolId"
 14779           }
 14780         }
 14781       },
 14782       "output": {
 14783         "type": "structure",
 14784         "members": {
 14785           "IdentityPoolId": {}
 14786         }
 14787       }
 14788     },
 14789     "DeleteDataset": {
 14790       "http": {
 14791         "method": "DELETE",
 14792         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}",
 14793         "responseCode": 200
 14794       },
 14795       "input": {
 14796         "type": "structure",
 14797         "required": [
 14798           "IdentityPoolId",
 14799           "IdentityId",
 14800           "DatasetName"
 14801         ],
 14802         "members": {
 14803           "IdentityPoolId": {
 14804             "location": "uri",
 14805             "locationName": "IdentityPoolId"
 14806           },
 14807           "IdentityId": {
 14808             "location": "uri",
 14809             "locationName": "IdentityId"
 14810           },
 14811           "DatasetName": {
 14812             "location": "uri",
 14813             "locationName": "DatasetName"
 14814           }
 14815         }
 14816       },
 14817       "output": {
 14818         "type": "structure",
 14819         "members": {
 14820           "Dataset": {
 14821             "shape": "S8"
 14822           }
 14823         }
 14824       }
 14825     },
 14826     "DescribeDataset": {
 14827       "http": {
 14828         "method": "GET",
 14829         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}",
 14830         "responseCode": 200
 14831       },
 14832       "input": {
 14833         "type": "structure",
 14834         "required": [
 14835           "IdentityPoolId",
 14836           "IdentityId",
 14837           "DatasetName"
 14838         ],
 14839         "members": {
 14840           "IdentityPoolId": {
 14841             "location": "uri",
 14842             "locationName": "IdentityPoolId"
 14843           },
 14844           "IdentityId": {
 14845             "location": "uri",
 14846             "locationName": "IdentityId"
 14847           },
 14848           "DatasetName": {
 14849             "location": "uri",
 14850             "locationName": "DatasetName"
 14851           }
 14852         }
 14853       },
 14854       "output": {
 14855         "type": "structure",
 14856         "members": {
 14857           "Dataset": {
 14858             "shape": "S8"
 14859           }
 14860         }
 14861       }
 14862     },
 14863     "DescribeIdentityPoolUsage": {
 14864       "http": {
 14865         "method": "GET",
 14866         "requestUri": "/identitypools/{IdentityPoolId}",
 14867         "responseCode": 200
 14868       },
 14869       "input": {
 14870         "type": "structure",
 14871         "required": [
 14872           "IdentityPoolId"
 14873         ],
 14874         "members": {
 14875           "IdentityPoolId": {
 14876             "location": "uri",
 14877             "locationName": "IdentityPoolId"
 14878           }
 14879         }
 14880       },
 14881       "output": {
 14882         "type": "structure",
 14883         "members": {
 14884           "IdentityPoolUsage": {
 14885             "shape": "Sg"
 14886           }
 14887         }
 14888       }
 14889     },
 14890     "DescribeIdentityUsage": {
 14891       "http": {
 14892         "method": "GET",
 14893         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}",
 14894         "responseCode": 200
 14895       },
 14896       "input": {
 14897         "type": "structure",
 14898         "required": [
 14899           "IdentityPoolId",
 14900           "IdentityId"
 14901         ],
 14902         "members": {
 14903           "IdentityPoolId": {
 14904             "location": "uri",
 14905             "locationName": "IdentityPoolId"
 14906           },
 14907           "IdentityId": {
 14908             "location": "uri",
 14909             "locationName": "IdentityId"
 14910           }
 14911         }
 14912       },
 14913       "output": {
 14914         "type": "structure",
 14915         "members": {
 14916           "IdentityUsage": {
 14917             "type": "structure",
 14918             "members": {
 14919               "IdentityId": {},
 14920               "IdentityPoolId": {},
 14921               "LastModifiedDate": {
 14922                 "type": "timestamp"
 14923               },
 14924               "DatasetCount": {
 14925                 "type": "integer"
 14926               },
 14927               "DataStorage": {
 14928                 "type": "long"
 14929               }
 14930             }
 14931           }
 14932         }
 14933       }
 14934     },
 14935     "GetBulkPublishDetails": {
 14936       "http": {
 14937         "requestUri": "/identitypools/{IdentityPoolId}/getBulkPublishDetails",
 14938         "responseCode": 200
 14939       },
 14940       "input": {
 14941         "type": "structure",
 14942         "required": [
 14943           "IdentityPoolId"
 14944         ],
 14945         "members": {
 14946           "IdentityPoolId": {
 14947             "location": "uri",
 14948             "locationName": "IdentityPoolId"
 14949           }
 14950         }
 14951       },
 14952       "output": {
 14953         "type": "structure",
 14954         "members": {
 14955           "IdentityPoolId": {},
 14956           "BulkPublishStartTime": {
 14957             "type": "timestamp"
 14958           },
 14959           "BulkPublishCompleteTime": {
 14960             "type": "timestamp"
 14961           },
 14962           "BulkPublishStatus": {},
 14963           "FailureMessage": {}
 14964         }
 14965       }
 14966     },
 14967     "GetCognitoEvents": {
 14968       "http": {
 14969         "method": "GET",
 14970         "requestUri": "/identitypools/{IdentityPoolId}/events",
 14971         "responseCode": 200
 14972       },
 14973       "input": {
 14974         "type": "structure",
 14975         "required": [
 14976           "IdentityPoolId"
 14977         ],
 14978         "members": {
 14979           "IdentityPoolId": {
 14980             "location": "uri",
 14981             "locationName": "IdentityPoolId"
 14982           }
 14983         }
 14984       },
 14985       "output": {
 14986         "type": "structure",
 14987         "members": {
 14988           "Events": {
 14989             "shape": "Sq"
 14990           }
 14991         }
 14992       }
 14993     },
 14994     "GetIdentityPoolConfiguration": {
 14995       "http": {
 14996         "method": "GET",
 14997         "requestUri": "/identitypools/{IdentityPoolId}/configuration",
 14998         "responseCode": 200
 14999       },
 15000       "input": {
 15001         "type": "structure",
 15002         "required": [
 15003           "IdentityPoolId"
 15004         ],
 15005         "members": {
 15006           "IdentityPoolId": {
 15007             "location": "uri",
 15008             "locationName": "IdentityPoolId"
 15009           }
 15010         }
 15011       },
 15012       "output": {
 15013         "type": "structure",
 15014         "members": {
 15015           "IdentityPoolId": {},
 15016           "PushSync": {
 15017             "shape": "Sv"
 15018           },
 15019           "CognitoStreams": {
 15020             "shape": "Sz"
 15021           }
 15022         }
 15023       }
 15024     },
 15025     "ListDatasets": {
 15026       "http": {
 15027         "method": "GET",
 15028         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets",
 15029         "responseCode": 200
 15030       },
 15031       "input": {
 15032         "type": "structure",
 15033         "required": [
 15034           "IdentityId",
 15035           "IdentityPoolId"
 15036         ],
 15037         "members": {
 15038           "IdentityPoolId": {
 15039             "location": "uri",
 15040             "locationName": "IdentityPoolId"
 15041           },
 15042           "IdentityId": {
 15043             "location": "uri",
 15044             "locationName": "IdentityId"
 15045           },
 15046           "NextToken": {
 15047             "location": "querystring",
 15048             "locationName": "nextToken"
 15049           },
 15050           "MaxResults": {
 15051             "location": "querystring",
 15052             "locationName": "maxResults",
 15053             "type": "integer"
 15054           }
 15055         }
 15056       },
 15057       "output": {
 15058         "type": "structure",
 15059         "members": {
 15060           "Datasets": {
 15061             "type": "list",
 15062             "member": {
 15063               "shape": "S8"
 15064             }
 15065           },
 15066           "Count": {
 15067             "type": "integer"
 15068           },
 15069           "NextToken": {}
 15070         }
 15071       }
 15072     },
 15073     "ListIdentityPoolUsage": {
 15074       "http": {
 15075         "method": "GET",
 15076         "requestUri": "/identitypools",
 15077         "responseCode": 200
 15078       },
 15079       "input": {
 15080         "type": "structure",
 15081         "members": {
 15082           "NextToken": {
 15083             "location": "querystring",
 15084             "locationName": "nextToken"
 15085           },
 15086           "MaxResults": {
 15087             "location": "querystring",
 15088             "locationName": "maxResults",
 15089             "type": "integer"
 15090           }
 15091         }
 15092       },
 15093       "output": {
 15094         "type": "structure",
 15095         "members": {
 15096           "IdentityPoolUsages": {
 15097             "type": "list",
 15098             "member": {
 15099               "shape": "Sg"
 15100             }
 15101           },
 15102           "MaxResults": {
 15103             "type": "integer"
 15104           },
 15105           "Count": {
 15106             "type": "integer"
 15107           },
 15108           "NextToken": {}
 15109         }
 15110       }
 15111     },
 15112     "ListRecords": {
 15113       "http": {
 15114         "method": "GET",
 15115         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/records",
 15116         "responseCode": 200
 15117       },
 15118       "input": {
 15119         "type": "structure",
 15120         "required": [
 15121           "IdentityPoolId",
 15122           "IdentityId",
 15123           "DatasetName"
 15124         ],
 15125         "members": {
 15126           "IdentityPoolId": {
 15127             "location": "uri",
 15128             "locationName": "IdentityPoolId"
 15129           },
 15130           "IdentityId": {
 15131             "location": "uri",
 15132             "locationName": "IdentityId"
 15133           },
 15134           "DatasetName": {
 15135             "location": "uri",
 15136             "locationName": "DatasetName"
 15137           },
 15138           "LastSyncCount": {
 15139             "location": "querystring",
 15140             "locationName": "lastSyncCount",
 15141             "type": "long"
 15142           },
 15143           "NextToken": {
 15144             "location": "querystring",
 15145             "locationName": "nextToken"
 15146           },
 15147           "MaxResults": {
 15148             "location": "querystring",
 15149             "locationName": "maxResults",
 15150             "type": "integer"
 15151           },
 15152           "SyncSessionToken": {
 15153             "location": "querystring",
 15154             "locationName": "syncSessionToken"
 15155           }
 15156         }
 15157       },
 15158       "output": {
 15159         "type": "structure",
 15160         "members": {
 15161           "Records": {
 15162             "shape": "S1c"
 15163           },
 15164           "NextToken": {},
 15165           "Count": {
 15166             "type": "integer"
 15167           },
 15168           "DatasetSyncCount": {
 15169             "type": "long"
 15170           },
 15171           "LastModifiedBy": {},
 15172           "MergedDatasetNames": {
 15173             "type": "list",
 15174             "member": {}
 15175           },
 15176           "DatasetExists": {
 15177             "type": "boolean"
 15178           },
 15179           "DatasetDeletedAfterRequestedSyncCount": {
 15180             "type": "boolean"
 15181           },
 15182           "SyncSessionToken": {}
 15183         }
 15184       }
 15185     },
 15186     "RegisterDevice": {
 15187       "http": {
 15188         "requestUri": "/identitypools/{IdentityPoolId}/identity/{IdentityId}/device",
 15189         "responseCode": 200
 15190       },
 15191       "input": {
 15192         "type": "structure",
 15193         "required": [
 15194           "IdentityPoolId",
 15195           "IdentityId",
 15196           "Platform",
 15197           "Token"
 15198         ],
 15199         "members": {
 15200           "IdentityPoolId": {
 15201             "location": "uri",
 15202             "locationName": "IdentityPoolId"
 15203           },
 15204           "IdentityId": {
 15205             "location": "uri",
 15206             "locationName": "IdentityId"
 15207           },
 15208           "Platform": {},
 15209           "Token": {}
 15210         }
 15211       },
 15212       "output": {
 15213         "type": "structure",
 15214         "members": {
 15215           "DeviceId": {}
 15216         }
 15217       }
 15218     },
 15219     "SetCognitoEvents": {
 15220       "http": {
 15221         "requestUri": "/identitypools/{IdentityPoolId}/events",
 15222         "responseCode": 200
 15223       },
 15224       "input": {
 15225         "type": "structure",
 15226         "required": [
 15227           "IdentityPoolId",
 15228           "Events"
 15229         ],
 15230         "members": {
 15231           "IdentityPoolId": {
 15232             "location": "uri",
 15233             "locationName": "IdentityPoolId"
 15234           },
 15235           "Events": {
 15236             "shape": "Sq"
 15237           }
 15238         }
 15239       }
 15240     },
 15241     "SetIdentityPoolConfiguration": {
 15242       "http": {
 15243         "requestUri": "/identitypools/{IdentityPoolId}/configuration",
 15244         "responseCode": 200
 15245       },
 15246       "input": {
 15247         "type": "structure",
 15248         "required": [
 15249           "IdentityPoolId"
 15250         ],
 15251         "members": {
 15252           "IdentityPoolId": {
 15253             "location": "uri",
 15254             "locationName": "IdentityPoolId"
 15255           },
 15256           "PushSync": {
 15257             "shape": "Sv"
 15258           },
 15259           "CognitoStreams": {
 15260             "shape": "Sz"
 15261           }
 15262         }
 15263       },
 15264       "output": {
 15265         "type": "structure",
 15266         "members": {
 15267           "IdentityPoolId": {},
 15268           "PushSync": {
 15269             "shape": "Sv"
 15270           },
 15271           "CognitoStreams": {
 15272             "shape": "Sz"
 15273           }
 15274         }
 15275       }
 15276     },
 15277     "SubscribeToDataset": {
 15278       "http": {
 15279         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}",
 15280         "responseCode": 200
 15281       },
 15282       "input": {
 15283         "type": "structure",
 15284         "required": [
 15285           "IdentityPoolId",
 15286           "IdentityId",
 15287           "DatasetName",
 15288           "DeviceId"
 15289         ],
 15290         "members": {
 15291           "IdentityPoolId": {
 15292             "location": "uri",
 15293             "locationName": "IdentityPoolId"
 15294           },
 15295           "IdentityId": {
 15296             "location": "uri",
 15297             "locationName": "IdentityId"
 15298           },
 15299           "DatasetName": {
 15300             "location": "uri",
 15301             "locationName": "DatasetName"
 15302           },
 15303           "DeviceId": {
 15304             "location": "uri",
 15305             "locationName": "DeviceId"
 15306           }
 15307         }
 15308       },
 15309       "output": {
 15310         "type": "structure",
 15311         "members": {}
 15312       }
 15313     },
 15314     "UnsubscribeFromDataset": {
 15315       "http": {
 15316         "method": "DELETE",
 15317         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}",
 15318         "responseCode": 200
 15319       },
 15320       "input": {
 15321         "type": "structure",
 15322         "required": [
 15323           "IdentityPoolId",
 15324           "IdentityId",
 15325           "DatasetName",
 15326           "DeviceId"
 15327         ],
 15328         "members": {
 15329           "IdentityPoolId": {
 15330             "location": "uri",
 15331             "locationName": "IdentityPoolId"
 15332           },
 15333           "IdentityId": {
 15334             "location": "uri",
 15335             "locationName": "IdentityId"
 15336           },
 15337           "DatasetName": {
 15338             "location": "uri",
 15339             "locationName": "DatasetName"
 15340           },
 15341           "DeviceId": {
 15342             "location": "uri",
 15343             "locationName": "DeviceId"
 15344           }
 15345         }
 15346       },
 15347       "output": {
 15348         "type": "structure",
 15349         "members": {}
 15350       }
 15351     },
 15352     "UpdateRecords": {
 15353       "http": {
 15354         "requestUri": "/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}",
 15355         "responseCode": 200
 15356       },
 15357       "input": {
 15358         "type": "structure",
 15359         "required": [
 15360           "IdentityPoolId",
 15361           "IdentityId",
 15362           "DatasetName",
 15363           "SyncSessionToken"
 15364         ],
 15365         "members": {
 15366           "IdentityPoolId": {
 15367             "location": "uri",
 15368             "locationName": "IdentityPoolId"
 15369           },
 15370           "IdentityId": {
 15371             "location": "uri",
 15372             "locationName": "IdentityId"
 15373           },
 15374           "DatasetName": {
 15375             "location": "uri",
 15376             "locationName": "DatasetName"
 15377           },
 15378           "DeviceId": {},
 15379           "RecordPatches": {
 15380             "type": "list",
 15381             "member": {
 15382               "type": "structure",
 15383               "required": [
 15384                 "Op",
 15385                 "Key",
 15386                 "SyncCount"
 15387               ],
 15388               "members": {
 15389                 "Op": {},
 15390                 "Key": {},
 15391                 "Value": {},
 15392                 "SyncCount": {
 15393                   "type": "long"
 15394                 },
 15395                 "DeviceLastModifiedDate": {
 15396                   "type": "timestamp"
 15397                 }
 15398               }
 15399             }
 15400           },
 15401           "SyncSessionToken": {},
 15402           "ClientContext": {
 15403             "location": "header",
 15404             "locationName": "x-amz-Client-Context"
 15405           }
 15406         }
 15407       },
 15408       "output": {
 15409         "type": "structure",
 15410         "members": {
 15411           "Records": {
 15412             "shape": "S1c"
 15413           }
 15414         }
 15415       }
 15416     }
 15417   },
 15418   "shapes": {
 15419     "S8": {
 15420       "type": "structure",
 15421       "members": {
 15422         "IdentityId": {},
 15423         "DatasetName": {},
 15424         "CreationDate": {
 15425           "type": "timestamp"
 15426         },
 15427         "LastModifiedDate": {
 15428           "type": "timestamp"
 15429         },
 15430         "LastModifiedBy": {},
 15431         "DataStorage": {
 15432           "type": "long"
 15433         },
 15434         "NumRecords": {
 15435           "type": "long"
 15436         }
 15437       }
 15438     },
 15439     "Sg": {
 15440       "type": "structure",
 15441       "members": {
 15442         "IdentityPoolId": {},
 15443         "SyncSessionsCount": {
 15444           "type": "long"
 15445         },
 15446         "DataStorage": {
 15447           "type": "long"
 15448         },
 15449         "LastModifiedDate": {
 15450           "type": "timestamp"
 15451         }
 15452       }
 15453     },
 15454     "Sq": {
 15455       "type": "map",
 15456       "key": {},
 15457       "value": {}
 15458     },
 15459     "Sv": {
 15460       "type": "structure",
 15461       "members": {
 15462         "ApplicationArns": {
 15463           "type": "list",
 15464           "member": {}
 15465         },
 15466         "RoleArn": {}
 15467       }
 15468     },
 15469     "Sz": {
 15470       "type": "structure",
 15471       "members": {
 15472         "StreamName": {},
 15473         "RoleArn": {},
 15474         "StreamingStatus": {}
 15475       }
 15476     },
 15477     "S1c": {
 15478       "type": "list",
 15479       "member": {
 15480         "type": "structure",
 15481         "members": {
 15482           "Key": {},
 15483           "Value": {},
 15484           "SyncCount": {
 15485             "type": "long"
 15486           },
 15487           "LastModifiedDate": {
 15488             "type": "timestamp"
 15489           },
 15490           "LastModifiedBy": {},
 15491           "DeviceLastModifiedDate": {
 15492             "type": "timestamp"
 15493           }
 15494         }
 15495       }
 15496     }
 15497   },
 15498   "examples": {}
 15499 }
 15500 },{}],27:[function(require,module,exports){
 15501 module.exports={
 15502   "version": "2.0",
 15503   "metadata": {
 15504     "apiVersion": "2014-11-12",
 15505     "endpointPrefix": "config",
 15506     "jsonVersion": "1.1",
 15507     "protocol": "json",
 15508     "serviceAbbreviation": "Config Service",
 15509     "serviceFullName": "AWS Config",
 15510     "signatureVersion": "v4",
 15511     "targetPrefix": "StarlingDoveService"
 15512   },
 15513   "operations": {
 15514     "DeleteConfigRule": {
 15515       "input": {
 15516         "type": "structure",
 15517         "required": [
 15518           "ConfigRuleName"
 15519         ],
 15520         "members": {
 15521           "ConfigRuleName": {}
 15522         }
 15523       }
 15524     },
 15525     "DeleteConfigurationRecorder": {
 15526       "input": {
 15527         "type": "structure",
 15528         "required": [
 15529           "ConfigurationRecorderName"
 15530         ],
 15531         "members": {
 15532           "ConfigurationRecorderName": {}
 15533         }
 15534       }
 15535     },
 15536     "DeleteDeliveryChannel": {
 15537       "input": {
 15538         "type": "structure",
 15539         "required": [
 15540           "DeliveryChannelName"
 15541         ],
 15542         "members": {
 15543           "DeliveryChannelName": {}
 15544         }
 15545       }
 15546     },
 15547     "DeleteEvaluationResults": {
 15548       "input": {
 15549         "type": "structure",
 15550         "required": [
 15551           "ConfigRuleName"
 15552         ],
 15553         "members": {
 15554           "ConfigRuleName": {}
 15555         }
 15556       },
 15557       "output": {
 15558         "type": "structure",
 15559         "members": {}
 15560       }
 15561     },
 15562     "DeliverConfigSnapshot": {
 15563       "input": {
 15564         "type": "structure",
 15565         "required": [
 15566           "deliveryChannelName"
 15567         ],
 15568         "members": {
 15569           "deliveryChannelName": {}
 15570         }
 15571       },
 15572       "output": {
 15573         "type": "structure",
 15574         "members": {
 15575           "configSnapshotId": {}
 15576         }
 15577       }
 15578     },
 15579     "DescribeComplianceByConfigRule": {
 15580       "input": {
 15581         "type": "structure",
 15582         "members": {
 15583           "ConfigRuleNames": {
 15584             "shape": "Sd"
 15585           },
 15586           "ComplianceTypes": {
 15587             "shape": "Se"
 15588           },
 15589           "NextToken": {}
 15590         }
 15591       },
 15592       "output": {
 15593         "type": "structure",
 15594         "members": {
 15595           "ComplianceByConfigRules": {
 15596             "type": "list",
 15597             "member": {
 15598               "type": "structure",
 15599               "members": {
 15600                 "ConfigRuleName": {},
 15601                 "Compliance": {
 15602                   "shape": "Sj"
 15603                 }
 15604               }
 15605             }
 15606           },
 15607           "NextToken": {}
 15608         }
 15609       }
 15610     },
 15611     "DescribeComplianceByResource": {
 15612       "input": {
 15613         "type": "structure",
 15614         "members": {
 15615           "ResourceType": {},
 15616           "ResourceId": {},
 15617           "ComplianceTypes": {
 15618             "shape": "Se"
 15619           },
 15620           "Limit": {
 15621             "type": "integer"
 15622           },
 15623           "NextToken": {}
 15624         }
 15625       },
 15626       "output": {
 15627         "type": "structure",
 15628         "members": {
 15629           "ComplianceByResources": {
 15630             "type": "list",
 15631             "member": {
 15632               "type": "structure",
 15633               "members": {
 15634                 "ResourceType": {},
 15635                 "ResourceId": {},
 15636                 "Compliance": {
 15637                   "shape": "Sj"
 15638                 }
 15639               }
 15640             }
 15641           },
 15642           "NextToken": {}
 15643         }
 15644       }
 15645     },
 15646     "DescribeConfigRuleEvaluationStatus": {
 15647       "input": {
 15648         "type": "structure",
 15649         "members": {
 15650           "ConfigRuleNames": {
 15651             "shape": "Sd"
 15652           }
 15653         }
 15654       },
 15655       "output": {
 15656         "type": "structure",
 15657         "members": {
 15658           "ConfigRulesEvaluationStatus": {
 15659             "type": "list",
 15660             "member": {
 15661               "type": "structure",
 15662               "members": {
 15663                 "ConfigRuleName": {},
 15664                 "ConfigRuleArn": {},
 15665                 "ConfigRuleId": {},
 15666                 "LastSuccessfulInvocationTime": {
 15667                   "type": "timestamp"
 15668                 },
 15669                 "LastFailedInvocationTime": {
 15670                   "type": "timestamp"
 15671                 },
 15672                 "LastSuccessfulEvaluationTime": {
 15673                   "type": "timestamp"
 15674                 },
 15675                 "LastFailedEvaluationTime": {
 15676                   "type": "timestamp"
 15677                 },
 15678                 "FirstActivatedTime": {
 15679                   "type": "timestamp"
 15680                 },
 15681                 "LastErrorCode": {},
 15682                 "LastErrorMessage": {},
 15683                 "FirstEvaluationStarted": {
 15684                   "type": "boolean"
 15685                 }
 15686               }
 15687             }
 15688           }
 15689         }
 15690       }
 15691     },
 15692     "DescribeConfigRules": {
 15693       "input": {
 15694         "type": "structure",
 15695         "members": {
 15696           "ConfigRuleNames": {
 15697             "shape": "Sd"
 15698           },
 15699           "NextToken": {}
 15700         }
 15701       },
 15702       "output": {
 15703         "type": "structure",
 15704         "members": {
 15705           "ConfigRules": {
 15706             "type": "list",
 15707             "member": {
 15708               "shape": "S12"
 15709             }
 15710           },
 15711           "NextToken": {}
 15712         }
 15713       }
 15714     },
 15715     "DescribeConfigurationRecorderStatus": {
 15716       "input": {
 15717         "type": "structure",
 15718         "members": {
 15719           "ConfigurationRecorderNames": {
 15720             "shape": "S1g"
 15721           }
 15722         }
 15723       },
 15724       "output": {
 15725         "type": "structure",
 15726         "members": {
 15727           "ConfigurationRecordersStatus": {
 15728             "type": "list",
 15729             "member": {
 15730               "type": "structure",
 15731               "members": {
 15732                 "name": {},
 15733                 "lastStartTime": {
 15734                   "type": "timestamp"
 15735                 },
 15736                 "lastStopTime": {
 15737                   "type": "timestamp"
 15738                 },
 15739                 "recording": {
 15740                   "type": "boolean"
 15741                 },
 15742                 "lastStatus": {},
 15743                 "lastErrorCode": {},
 15744                 "lastErrorMessage": {},
 15745                 "lastStatusChangeTime": {
 15746                   "type": "timestamp"
 15747                 }
 15748               }
 15749             }
 15750           }
 15751         }
 15752       }
 15753     },
 15754     "DescribeConfigurationRecorders": {
 15755       "input": {
 15756         "type": "structure",
 15757         "members": {
 15758           "ConfigurationRecorderNames": {
 15759             "shape": "S1g"
 15760           }
 15761         }
 15762       },
 15763       "output": {
 15764         "type": "structure",
 15765         "members": {
 15766           "ConfigurationRecorders": {
 15767             "type": "list",
 15768             "member": {
 15769               "shape": "S1o"
 15770             }
 15771           }
 15772         }
 15773       }
 15774     },
 15775     "DescribeDeliveryChannelStatus": {
 15776       "input": {
 15777         "type": "structure",
 15778         "members": {
 15779           "DeliveryChannelNames": {
 15780             "shape": "S1v"
 15781           }
 15782         }
 15783       },
 15784       "output": {
 15785         "type": "structure",
 15786         "members": {
 15787           "DeliveryChannelsStatus": {
 15788             "type": "list",
 15789             "member": {
 15790               "type": "structure",
 15791               "members": {
 15792                 "name": {},
 15793                 "configSnapshotDeliveryInfo": {
 15794                   "shape": "S1z"
 15795                 },
 15796                 "configHistoryDeliveryInfo": {
 15797                   "shape": "S1z"
 15798                 },
 15799                 "configStreamDeliveryInfo": {
 15800                   "type": "structure",
 15801                   "members": {
 15802                     "lastStatus": {},
 15803                     "lastErrorCode": {},
 15804                     "lastErrorMessage": {},
 15805                     "lastStatusChangeTime": {
 15806                       "type": "timestamp"
 15807                     }
 15808                   }
 15809                 }
 15810               }
 15811             }
 15812           }
 15813         }
 15814       }
 15815     },
 15816     "DescribeDeliveryChannels": {
 15817       "input": {
 15818         "type": "structure",
 15819         "members": {
 15820           "DeliveryChannelNames": {
 15821             "shape": "S1v"
 15822           }
 15823         }
 15824       },
 15825       "output": {
 15826         "type": "structure",
 15827         "members": {
 15828           "DeliveryChannels": {
 15829             "type": "list",
 15830             "member": {
 15831               "shape": "S25"
 15832             }
 15833           }
 15834         }
 15835       }
 15836     },
 15837     "GetComplianceDetailsByConfigRule": {
 15838       "input": {
 15839         "type": "structure",
 15840         "required": [
 15841           "ConfigRuleName"
 15842         ],
 15843         "members": {
 15844           "ConfigRuleName": {},
 15845           "ComplianceTypes": {
 15846             "shape": "Se"
 15847           },
 15848           "Limit": {
 15849             "type": "integer"
 15850           },
 15851           "NextToken": {}
 15852         }
 15853       },
 15854       "output": {
 15855         "type": "structure",
 15856         "members": {
 15857           "EvaluationResults": {
 15858             "shape": "S29"
 15859           },
 15860           "NextToken": {}
 15861         }
 15862       }
 15863     },
 15864     "GetComplianceDetailsByResource": {
 15865       "input": {
 15866         "type": "structure",
 15867         "required": [
 15868           "ResourceType",
 15869           "ResourceId"
 15870         ],
 15871         "members": {
 15872           "ResourceType": {},
 15873           "ResourceId": {},
 15874           "ComplianceTypes": {
 15875             "shape": "Se"
 15876           },
 15877           "NextToken": {}
 15878         }
 15879       },
 15880       "output": {
 15881         "type": "structure",
 15882         "members": {
 15883           "EvaluationResults": {
 15884             "shape": "S29"
 15885           },
 15886           "NextToken": {}
 15887         }
 15888       }
 15889     },
 15890     "GetComplianceSummaryByConfigRule": {
 15891       "output": {
 15892         "type": "structure",
 15893         "members": {
 15894           "ComplianceSummary": {
 15895             "shape": "S2g"
 15896           }
 15897         }
 15898       }
 15899     },
 15900     "GetComplianceSummaryByResourceType": {
 15901       "input": {
 15902         "type": "structure",
 15903         "members": {
 15904           "ResourceTypes": {
 15905             "type": "list",
 15906             "member": {}
 15907           }
 15908         }
 15909       },
 15910       "output": {
 15911         "type": "structure",
 15912         "members": {
 15913           "ComplianceSummariesByResourceType": {
 15914             "type": "list",
 15915             "member": {
 15916               "type": "structure",
 15917               "members": {
 15918                 "ResourceType": {},
 15919                 "ComplianceSummary": {
 15920                   "shape": "S2g"
 15921                 }
 15922               }
 15923             }
 15924           }
 15925         }
 15926       }
 15927     },
 15928     "GetResourceConfigHistory": {
 15929       "input": {
 15930         "type": "structure",
 15931         "required": [
 15932           "resourceType",
 15933           "resourceId"
 15934         ],
 15935         "members": {
 15936           "resourceType": {},
 15937           "resourceId": {},
 15938           "laterTime": {
 15939             "type": "timestamp"
 15940           },
 15941           "earlierTime": {
 15942             "type": "timestamp"
 15943           },
 15944           "chronologicalOrder": {},
 15945           "limit": {
 15946             "type": "integer"
 15947           },
 15948           "nextToken": {}
 15949         }
 15950       },
 15951       "output": {
 15952         "type": "structure",
 15953         "members": {
 15954           "configurationItems": {
 15955             "type": "list",
 15956             "member": {
 15957               "type": "structure",
 15958               "members": {
 15959                 "version": {},
 15960                 "accountId": {},
 15961                 "configurationItemCaptureTime": {
 15962                   "type": "timestamp"
 15963                 },
 15964                 "configurationItemStatus": {},
 15965                 "configurationStateId": {},
 15966                 "configurationItemMD5Hash": {},
 15967                 "arn": {},
 15968                 "resourceType": {},
 15969                 "resourceId": {},
 15970                 "resourceName": {},
 15971                 "awsRegion": {},
 15972                 "availabilityZone": {},
 15973                 "resourceCreationTime": {
 15974                   "type": "timestamp"
 15975                 },
 15976                 "tags": {
 15977                   "type": "map",
 15978                   "key": {},
 15979                   "value": {}
 15980                 },
 15981                 "relatedEvents": {
 15982                   "type": "list",
 15983                   "member": {}
 15984                 },
 15985                 "relationships": {
 15986                   "type": "list",
 15987                   "member": {
 15988                     "type": "structure",
 15989                     "members": {
 15990                       "resourceType": {},
 15991                       "resourceId": {},
 15992                       "resourceName": {},
 15993                       "relationshipName": {}
 15994                     }
 15995                   }
 15996                 },
 15997                 "configuration": {},
 15998                 "supplementaryConfiguration": {
 15999                   "type": "map",
 16000                   "key": {},
 16001                   "value": {}
 16002                 }
 16003               }
 16004             }
 16005           },
 16006           "nextToken": {}
 16007         }
 16008       }
 16009     },
 16010     "ListDiscoveredResources": {
 16011       "input": {
 16012         "type": "structure",
 16013         "required": [
 16014           "resourceType"
 16015         ],
 16016         "members": {
 16017           "resourceType": {},
 16018           "resourceIds": {
 16019             "type": "list",
 16020             "member": {}
 16021           },
 16022           "resourceName": {},
 16023           "limit": {
 16024             "type": "integer"
 16025           },
 16026           "includeDeletedResources": {
 16027             "type": "boolean"
 16028           },
 16029           "nextToken": {}
 16030         }
 16031       },
 16032       "output": {
 16033         "type": "structure",
 16034         "members": {
 16035           "resourceIdentifiers": {
 16036             "type": "list",
 16037             "member": {
 16038               "type": "structure",
 16039               "members": {
 16040                 "resourceType": {},
 16041                 "resourceId": {},
 16042                 "resourceName": {},
 16043                 "resourceDeletionTime": {
 16044                   "type": "timestamp"
 16045                 }
 16046               }
 16047             }
 16048           },
 16049           "nextToken": {}
 16050         }
 16051       }
 16052     },
 16053     "PutConfigRule": {
 16054       "input": {
 16055         "type": "structure",
 16056         "required": [
 16057           "ConfigRule"
 16058         ],
 16059         "members": {
 16060           "ConfigRule": {
 16061             "shape": "S12"
 16062           }
 16063         }
 16064       }
 16065     },
 16066     "PutConfigurationRecorder": {
 16067       "input": {
 16068         "type": "structure",
 16069         "required": [
 16070           "ConfigurationRecorder"
 16071         ],
 16072         "members": {
 16073           "ConfigurationRecorder": {
 16074             "shape": "S1o"
 16075           }
 16076         }
 16077       }
 16078     },
 16079     "PutDeliveryChannel": {
 16080       "input": {
 16081         "type": "structure",
 16082         "required": [
 16083           "DeliveryChannel"
 16084         ],
 16085         "members": {
 16086           "DeliveryChannel": {
 16087             "shape": "S25"
 16088           }
 16089         }
 16090       }
 16091     },
 16092     "PutEvaluations": {
 16093       "input": {
 16094         "type": "structure",
 16095         "required": [
 16096           "ResultToken"
 16097         ],
 16098         "members": {
 16099           "Evaluations": {
 16100             "shape": "S3r"
 16101           },
 16102           "ResultToken": {}
 16103         }
 16104       },
 16105       "output": {
 16106         "type": "structure",
 16107         "members": {
 16108           "FailedEvaluations": {
 16109             "shape": "S3r"
 16110           }
 16111         }
 16112       }
 16113     },
 16114     "StartConfigRulesEvaluation": {
 16115       "input": {
 16116         "type": "structure",
 16117         "members": {
 16118           "ConfigRuleNames": {
 16119             "type": "list",
 16120             "member": {}
 16121           }
 16122         }
 16123       },
 16124       "output": {
 16125         "type": "structure",
 16126         "members": {}
 16127       }
 16128     },
 16129     "StartConfigurationRecorder": {
 16130       "input": {
 16131         "type": "structure",
 16132         "required": [
 16133           "ConfigurationRecorderName"
 16134         ],
 16135         "members": {
 16136           "ConfigurationRecorderName": {}
 16137         }
 16138       }
 16139     },
 16140     "StopConfigurationRecorder": {
 16141       "input": {
 16142         "type": "structure",
 16143         "required": [
 16144           "ConfigurationRecorderName"
 16145         ],
 16146         "members": {
 16147           "ConfigurationRecorderName": {}
 16148         }
 16149       }
 16150     }
 16151   },
 16152   "shapes": {
 16153     "Sd": {
 16154       "type": "list",
 16155       "member": {}
 16156     },
 16157     "Se": {
 16158       "type": "list",
 16159       "member": {}
 16160     },
 16161     "Sj": {
 16162       "type": "structure",
 16163       "members": {
 16164         "ComplianceType": {},
 16165         "ComplianceContributorCount": {
 16166           "shape": "Sk"
 16167         }
 16168       }
 16169     },
 16170     "Sk": {
 16171       "type": "structure",
 16172       "members": {
 16173         "CappedCount": {
 16174           "type": "integer"
 16175         },
 16176         "CapExceeded": {
 16177           "type": "boolean"
 16178         }
 16179       }
 16180     },
 16181     "S12": {
 16182       "type": "structure",
 16183       "required": [
 16184         "Source"
 16185       ],
 16186       "members": {
 16187         "ConfigRuleName": {},
 16188         "ConfigRuleArn": {},
 16189         "ConfigRuleId": {},
 16190         "Description": {},
 16191         "Scope": {
 16192           "type": "structure",
 16193           "members": {
 16194             "ComplianceResourceTypes": {
 16195               "type": "list",
 16196               "member": {}
 16197             },
 16198             "TagKey": {},
 16199             "TagValue": {},
 16200             "ComplianceResourceId": {}
 16201           }
 16202         },
 16203         "Source": {
 16204           "type": "structure",
 16205           "members": {
 16206             "Owner": {},
 16207             "SourceIdentifier": {},
 16208             "SourceDetails": {
 16209               "type": "list",
 16210               "member": {
 16211                 "type": "structure",
 16212                 "members": {
 16213                   "EventSource": {},
 16214                   "MessageType": {},
 16215                   "MaximumExecutionFrequency": {}
 16216                 }
 16217               }
 16218             }
 16219           }
 16220         },
 16221         "InputParameters": {},
 16222         "MaximumExecutionFrequency": {},
 16223         "ConfigRuleState": {}
 16224       }
 16225     },
 16226     "S1g": {
 16227       "type": "list",
 16228       "member": {}
 16229     },
 16230     "S1o": {
 16231       "type": "structure",
 16232       "members": {
 16233         "name": {},
 16234         "roleARN": {},
 16235         "recordingGroup": {
 16236           "type": "structure",
 16237           "members": {
 16238             "allSupported": {
 16239               "type": "boolean"
 16240             },
 16241             "includeGlobalResourceTypes": {
 16242               "type": "boolean"
 16243             },
 16244             "resourceTypes": {
 16245               "type": "list",
 16246               "member": {}
 16247             }
 16248           }
 16249         }
 16250       }
 16251     },
 16252     "S1v": {
 16253       "type": "list",
 16254       "member": {}
 16255     },
 16256     "S1z": {
 16257       "type": "structure",
 16258       "members": {
 16259         "lastStatus": {},
 16260         "lastErrorCode": {},
 16261         "lastErrorMessage": {},
 16262         "lastAttemptTime": {
 16263           "type": "timestamp"
 16264         },
 16265         "lastSuccessfulTime": {
 16266           "type": "timestamp"
 16267         },
 16268         "nextDeliveryTime": {
 16269           "type": "timestamp"
 16270         }
 16271       }
 16272     },
 16273     "S25": {
 16274       "type": "structure",
 16275       "members": {
 16276         "name": {},
 16277         "s3BucketName": {},
 16278         "s3KeyPrefix": {},
 16279         "snsTopicARN": {},
 16280         "configSnapshotDeliveryProperties": {
 16281           "type": "structure",
 16282           "members": {
 16283             "deliveryFrequency": {}
 16284           }
 16285         }
 16286       }
 16287     },
 16288     "S29": {
 16289       "type": "list",
 16290       "member": {
 16291         "type": "structure",
 16292         "members": {
 16293           "EvaluationResultIdentifier": {
 16294             "type": "structure",
 16295             "members": {
 16296               "EvaluationResultQualifier": {
 16297                 "type": "structure",
 16298                 "members": {
 16299                   "ConfigRuleName": {},
 16300                   "ResourceType": {},
 16301                   "ResourceId": {}
 16302                 }
 16303               },
 16304               "OrderingTimestamp": {
 16305                 "type": "timestamp"
 16306               }
 16307             }
 16308           },
 16309           "ComplianceType": {},
 16310           "ResultRecordedTime": {
 16311             "type": "timestamp"
 16312           },
 16313           "ConfigRuleInvokedTime": {
 16314             "type": "timestamp"
 16315           },
 16316           "Annotation": {},
 16317           "ResultToken": {}
 16318         }
 16319       }
 16320     },
 16321     "S2g": {
 16322       "type": "structure",
 16323       "members": {
 16324         "CompliantResourceCount": {
 16325           "shape": "Sk"
 16326         },
 16327         "NonCompliantResourceCount": {
 16328           "shape": "Sk"
 16329         },
 16330         "ComplianceSummaryTimestamp": {
 16331           "type": "timestamp"
 16332         }
 16333       }
 16334     },
 16335     "S3r": {
 16336       "type": "list",
 16337       "member": {
 16338         "type": "structure",
 16339         "required": [
 16340           "ComplianceResourceType",
 16341           "ComplianceResourceId",
 16342           "ComplianceType",
 16343           "OrderingTimestamp"
 16344         ],
 16345         "members": {
 16346           "ComplianceResourceType": {},
 16347           "ComplianceResourceId": {},
 16348           "ComplianceType": {},
 16349           "Annotation": {},
 16350           "OrderingTimestamp": {
 16351             "type": "timestamp"
 16352           }
 16353         }
 16354       }
 16355     }
 16356   }
 16357 }
 16358 },{}],28:[function(require,module,exports){
 16359 module.exports={
 16360   "pagination": {
 16361     "GetResourceConfigHistory": {
 16362       "input_token": "nextToken",
 16363       "output_token": "nextToken",
 16364       "limit_key": "limit",
 16365       "result_key": "configurationItems"
 16366     }
 16367   }
 16368 }
 16369 
 16370 },{}],29:[function(require,module,exports){
 16371 module.exports={
 16372   "version": "2.0",
 16373   "metadata": {
 16374     "apiVersion": "2015-06-23",
 16375     "endpointPrefix": "devicefarm",
 16376     "jsonVersion": "1.1",
 16377     "protocol": "json",
 16378     "serviceFullName": "AWS Device Farm",
 16379     "signatureVersion": "v4",
 16380     "targetPrefix": "DeviceFarm_20150623"
 16381   },
 16382   "operations": {
 16383     "CreateDevicePool": {
 16384       "input": {
 16385         "type": "structure",
 16386         "required": [
 16387           "projectArn",
 16388           "name",
 16389           "rules"
 16390         ],
 16391         "members": {
 16392           "projectArn": {},
 16393           "name": {},
 16394           "description": {},
 16395           "rules": {
 16396             "shape": "S5"
 16397           }
 16398         }
 16399       },
 16400       "output": {
 16401         "type": "structure",
 16402         "members": {
 16403           "devicePool": {
 16404             "shape": "Sb"
 16405           }
 16406         }
 16407       }
 16408     },
 16409     "CreateProject": {
 16410       "input": {
 16411         "type": "structure",
 16412         "required": [
 16413           "name"
 16414         ],
 16415         "members": {
 16416           "name": {}
 16417         }
 16418       },
 16419       "output": {
 16420         "type": "structure",
 16421         "members": {
 16422           "project": {
 16423             "shape": "Sf"
 16424           }
 16425         }
 16426       }
 16427     },
 16428     "CreateRemoteAccessSession": {
 16429       "input": {
 16430         "type": "structure",
 16431         "required": [
 16432           "projectArn",
 16433           "deviceArn"
 16434         ],
 16435         "members": {
 16436           "projectArn": {},
 16437           "deviceArn": {},
 16438           "name": {},
 16439           "configuration": {
 16440             "type": "structure",
 16441             "members": {
 16442               "billingMethod": {}
 16443             }
 16444           }
 16445         }
 16446       },
 16447       "output": {
 16448         "type": "structure",
 16449         "members": {
 16450           "remoteAccessSession": {
 16451             "shape": "Sl"
 16452           }
 16453         }
 16454       }
 16455     },
 16456     "CreateUpload": {
 16457       "input": {
 16458         "type": "structure",
 16459         "required": [
 16460           "projectArn",
 16461           "name",
 16462           "type"
 16463         ],
 16464         "members": {
 16465           "projectArn": {},
 16466           "name": {},
 16467           "type": {},
 16468           "contentType": {}
 16469         }
 16470       },
 16471       "output": {
 16472         "type": "structure",
 16473         "members": {
 16474           "upload": {
 16475             "shape": "S12"
 16476           }
 16477         }
 16478       }
 16479     },
 16480     "DeleteDevicePool": {
 16481       "input": {
 16482         "type": "structure",
 16483         "required": [
 16484           "arn"
 16485         ],
 16486         "members": {
 16487           "arn": {}
 16488         }
 16489       },
 16490       "output": {
 16491         "type": "structure",
 16492         "members": {}
 16493       }
 16494     },
 16495     "DeleteProject": {
 16496       "input": {
 16497         "type": "structure",
 16498         "required": [
 16499           "arn"
 16500         ],
 16501         "members": {
 16502           "arn": {}
 16503         }
 16504       },
 16505       "output": {
 16506         "type": "structure",
 16507         "members": {}
 16508       }
 16509     },
 16510     "DeleteRemoteAccessSession": {
 16511       "input": {
 16512         "type": "structure",
 16513         "required": [
 16514           "arn"
 16515         ],
 16516         "members": {
 16517           "arn": {}
 16518         }
 16519       },
 16520       "output": {
 16521         "type": "structure",
 16522         "members": {}
 16523       }
 16524     },
 16525     "DeleteRun": {
 16526       "input": {
 16527         "type": "structure",
 16528         "required": [
 16529           "arn"
 16530         ],
 16531         "members": {
 16532           "arn": {}
 16533         }
 16534       },
 16535       "output": {
 16536         "type": "structure",
 16537         "members": {}
 16538       }
 16539     },
 16540     "DeleteUpload": {
 16541       "input": {
 16542         "type": "structure",
 16543         "required": [
 16544           "arn"
 16545         ],
 16546         "members": {
 16547           "arn": {}
 16548         }
 16549       },
 16550       "output": {
 16551         "type": "structure",
 16552         "members": {}
 16553       }
 16554     },
 16555     "GetAccountSettings": {
 16556       "input": {
 16557         "type": "structure",
 16558         "members": {}
 16559       },
 16560       "output": {
 16561         "type": "structure",
 16562         "members": {
 16563           "accountSettings": {
 16564             "type": "structure",
 16565             "members": {
 16566               "awsAccountNumber": {},
 16567               "unmeteredDevices": {
 16568                 "shape": "S1k"
 16569               },
 16570               "unmeteredRemoteAccessDevices": {
 16571                 "shape": "S1k"
 16572               }
 16573             }
 16574           }
 16575         }
 16576       }
 16577     },
 16578     "GetDevice": {
 16579       "input": {
 16580         "type": "structure",
 16581         "required": [
 16582           "arn"
 16583         ],
 16584         "members": {
 16585           "arn": {}
 16586         }
 16587       },
 16588       "output": {
 16589         "type": "structure",
 16590         "members": {
 16591           "device": {
 16592             "shape": "So"
 16593           }
 16594         }
 16595       }
 16596     },
 16597     "GetDevicePool": {
 16598       "input": {
 16599         "type": "structure",
 16600         "required": [
 16601           "arn"
 16602         ],
 16603         "members": {
 16604           "arn": {}
 16605         }
 16606       },
 16607       "output": {
 16608         "type": "structure",
 16609         "members": {
 16610           "devicePool": {
 16611             "shape": "Sb"
 16612           }
 16613         }
 16614       }
 16615     },
 16616     "GetDevicePoolCompatibility": {
 16617       "input": {
 16618         "type": "structure",
 16619         "required": [
 16620           "devicePoolArn"
 16621         ],
 16622         "members": {
 16623           "devicePoolArn": {},
 16624           "appArn": {},
 16625           "testType": {}
 16626         }
 16627       },
 16628       "output": {
 16629         "type": "structure",
 16630         "members": {
 16631           "compatibleDevices": {
 16632             "shape": "S1s"
 16633           },
 16634           "incompatibleDevices": {
 16635             "shape": "S1s"
 16636           }
 16637         }
 16638       }
 16639     },
 16640     "GetJob": {
 16641       "input": {
 16642         "type": "structure",
 16643         "required": [
 16644           "arn"
 16645         ],
 16646         "members": {
 16647           "arn": {}
 16648         }
 16649       },
 16650       "output": {
 16651         "type": "structure",
 16652         "members": {
 16653           "job": {
 16654             "shape": "S1y"
 16655           }
 16656         }
 16657       }
 16658     },
 16659     "GetOfferingStatus": {
 16660       "input": {
 16661         "type": "structure",
 16662         "members": {
 16663           "nextToken": {}
 16664         }
 16665       },
 16666       "output": {
 16667         "type": "structure",
 16668         "members": {
 16669           "current": {
 16670             "shape": "S23"
 16671           },
 16672           "nextPeriod": {
 16673             "shape": "S23"
 16674           },
 16675           "nextToken": {}
 16676         }
 16677       }
 16678     },
 16679     "GetProject": {
 16680       "input": {
 16681         "type": "structure",
 16682         "required": [
 16683           "arn"
 16684         ],
 16685         "members": {
 16686           "arn": {}
 16687         }
 16688       },
 16689       "output": {
 16690         "type": "structure",
 16691         "members": {
 16692           "project": {
 16693             "shape": "Sf"
 16694           }
 16695         }
 16696       }
 16697     },
 16698     "GetRemoteAccessSession": {
 16699       "input": {
 16700         "type": "structure",
 16701         "required": [
 16702           "arn"
 16703         ],
 16704         "members": {
 16705           "arn": {}
 16706         }
 16707       },
 16708       "output": {
 16709         "type": "structure",
 16710         "members": {
 16711           "remoteAccessSession": {
 16712             "shape": "Sl"
 16713           }
 16714         }
 16715       }
 16716     },
 16717     "GetRun": {
 16718       "input": {
 16719         "type": "structure",
 16720         "required": [
 16721           "arn"
 16722         ],
 16723         "members": {
 16724           "arn": {}
 16725         }
 16726       },
 16727       "output": {
 16728         "type": "structure",
 16729         "members": {
 16730           "run": {
 16731             "shape": "S2k"
 16732           }
 16733         }
 16734       }
 16735     },
 16736     "GetSuite": {
 16737       "input": {
 16738         "type": "structure",
 16739         "required": [
 16740           "arn"
 16741         ],
 16742         "members": {
 16743           "arn": {}
 16744         }
 16745       },
 16746       "output": {
 16747         "type": "structure",
 16748         "members": {
 16749           "suite": {
 16750             "shape": "S2n"
 16751           }
 16752         }
 16753       }
 16754     },
 16755     "GetTest": {
 16756       "input": {
 16757         "type": "structure",
 16758         "required": [
 16759           "arn"
 16760         ],
 16761         "members": {
 16762           "arn": {}
 16763         }
 16764       },
 16765       "output": {
 16766         "type": "structure",
 16767         "members": {
 16768           "test": {
 16769             "shape": "S2q"
 16770           }
 16771         }
 16772       }
 16773     },
 16774     "GetUpload": {
 16775       "input": {
 16776         "type": "structure",
 16777         "required": [
 16778           "arn"
 16779         ],
 16780         "members": {
 16781           "arn": {}
 16782         }
 16783       },
 16784       "output": {
 16785         "type": "structure",
 16786         "members": {
 16787           "upload": {
 16788             "shape": "S12"
 16789           }
 16790         }
 16791       }
 16792     },
 16793     "InstallToRemoteAccessSession": {
 16794       "input": {
 16795         "type": "structure",
 16796         "required": [
 16797           "remoteAccessSessionArn",
 16798           "appArn"
 16799         ],
 16800         "members": {
 16801           "remoteAccessSessionArn": {},
 16802           "appArn": {}
 16803         }
 16804       },
 16805       "output": {
 16806         "type": "structure",
 16807         "members": {
 16808           "appUpload": {
 16809             "shape": "S12"
 16810           }
 16811         }
 16812       }
 16813     },
 16814     "ListArtifacts": {
 16815       "input": {
 16816         "type": "structure",
 16817         "required": [
 16818           "arn",
 16819           "type"
 16820         ],
 16821         "members": {
 16822           "arn": {},
 16823           "type": {},
 16824           "nextToken": {}
 16825         }
 16826       },
 16827       "output": {
 16828         "type": "structure",
 16829         "members": {
 16830           "artifacts": {
 16831             "type": "list",
 16832             "member": {
 16833               "type": "structure",
 16834               "members": {
 16835                 "arn": {},
 16836                 "name": {},
 16837                 "type": {},
 16838                 "extension": {},
 16839                 "url": {}
 16840               }
 16841             }
 16842           },
 16843           "nextToken": {}
 16844         }
 16845       }
 16846     },
 16847     "ListDevicePools": {
 16848       "input": {
 16849         "type": "structure",
 16850         "required": [
 16851           "arn"
 16852         ],
 16853         "members": {
 16854           "arn": {},
 16855           "type": {},
 16856           "nextToken": {}
 16857         }
 16858       },
 16859       "output": {
 16860         "type": "structure",
 16861         "members": {
 16862           "devicePools": {
 16863             "type": "list",
 16864             "member": {
 16865               "shape": "Sb"
 16866             }
 16867           },
 16868           "nextToken": {}
 16869         }
 16870       }
 16871     },
 16872     "ListDevices": {
 16873       "input": {
 16874         "type": "structure",
 16875         "members": {
 16876           "arn": {},
 16877           "nextToken": {}
 16878         }
 16879       },
 16880       "output": {
 16881         "type": "structure",
 16882         "members": {
 16883           "devices": {
 16884             "type": "list",
 16885             "member": {
 16886               "shape": "So"
 16887             }
 16888           },
 16889           "nextToken": {}
 16890         }
 16891       }
 16892     },
 16893     "ListJobs": {
 16894       "input": {
 16895         "type": "structure",
 16896         "required": [
 16897           "arn"
 16898         ],
 16899         "members": {
 16900           "arn": {},
 16901           "nextToken": {}
 16902         }
 16903       },
 16904       "output": {
 16905         "type": "structure",
 16906         "members": {
 16907           "jobs": {
 16908             "type": "list",
 16909             "member": {
 16910               "shape": "S1y"
 16911             }
 16912           },
 16913           "nextToken": {}
 16914         }
 16915       }
 16916     },
 16917     "ListOfferingTransactions": {
 16918       "input": {
 16919         "type": "structure",
 16920         "members": {
 16921           "nextToken": {}
 16922         }
 16923       },
 16924       "output": {
 16925         "type": "structure",
 16926         "members": {
 16927           "offeringTransactions": {
 16928             "type": "list",
 16929             "member": {
 16930               "shape": "S3d"
 16931             }
 16932           },
 16933           "nextToken": {}
 16934         }
 16935       }
 16936     },
 16937     "ListOfferings": {
 16938       "input": {
 16939         "type": "structure",
 16940         "members": {
 16941           "nextToken": {}
 16942         }
 16943       },
 16944       "output": {
 16945         "type": "structure",
 16946         "members": {
 16947           "offerings": {
 16948             "type": "list",
 16949             "member": {
 16950               "shape": "S27"
 16951             }
 16952           },
 16953           "nextToken": {}
 16954         }
 16955       }
 16956     },
 16957     "ListProjects": {
 16958       "input": {
 16959         "type": "structure",
 16960         "members": {
 16961           "arn": {},
 16962           "nextToken": {}
 16963         }
 16964       },
 16965       "output": {
 16966         "type": "structure",
 16967         "members": {
 16968           "projects": {
 16969             "type": "list",
 16970             "member": {
 16971               "shape": "Sf"
 16972             }
 16973           },
 16974           "nextToken": {}
 16975         }
 16976       }
 16977     },
 16978     "ListRemoteAccessSessions": {
 16979       "input": {
 16980         "type": "structure",
 16981         "required": [
 16982           "arn"
 16983         ],
 16984         "members": {
 16985           "arn": {},
 16986           "nextToken": {}
 16987         }
 16988       },
 16989       "output": {
 16990         "type": "structure",
 16991         "members": {
 16992           "remoteAccessSessions": {
 16993             "type": "list",
 16994             "member": {
 16995               "shape": "Sl"
 16996             }
 16997           },
 16998           "nextToken": {}
 16999         }
 17000       }
 17001     },
 17002     "ListRuns": {
 17003       "input": {
 17004         "type": "structure",
 17005         "required": [
 17006           "arn"
 17007         ],
 17008         "members": {
 17009           "arn": {},
 17010           "nextToken": {}
 17011         }
 17012       },
 17013       "output": {
 17014         "type": "structure",
 17015         "members": {
 17016           "runs": {
 17017             "type": "list",
 17018             "member": {
 17019               "shape": "S2k"
 17020             }
 17021           },
 17022           "nextToken": {}
 17023         }
 17024       }
 17025     },
 17026     "ListSamples": {
 17027       "input": {
 17028         "type": "structure",
 17029         "required": [
 17030           "arn"
 17031         ],
 17032         "members": {
 17033           "arn": {},
 17034           "nextToken": {}
 17035         }
 17036       },
 17037       "output": {
 17038         "type": "structure",
 17039         "members": {
 17040           "samples": {
 17041             "type": "list",
 17042             "member": {
 17043               "type": "structure",
 17044               "members": {
 17045                 "arn": {},
 17046                 "type": {},
 17047                 "url": {}
 17048               }
 17049             }
 17050           },
 17051           "nextToken": {}
 17052         }
 17053       }
 17054     },
 17055     "ListSuites": {
 17056       "input": {
 17057         "type": "structure",
 17058         "required": [
 17059           "arn"
 17060         ],
 17061         "members": {
 17062           "arn": {},
 17063           "nextToken": {}
 17064         }
 17065       },
 17066       "output": {
 17067         "type": "structure",
 17068         "members": {
 17069           "suites": {
 17070             "type": "list",
 17071             "member": {
 17072               "shape": "S2n"
 17073             }
 17074           },
 17075           "nextToken": {}
 17076         }
 17077       }
 17078     },
 17079     "ListTests": {
 17080       "input": {
 17081         "type": "structure",
 17082         "required": [
 17083           "arn"
 17084         ],
 17085         "members": {
 17086           "arn": {},
 17087           "nextToken": {}
 17088         }
 17089       },
 17090       "output": {
 17091         "type": "structure",
 17092         "members": {
 17093           "tests": {
 17094             "type": "list",
 17095             "member": {
 17096               "shape": "S2q"
 17097             }
 17098           },
 17099           "nextToken": {}
 17100         }
 17101       }
 17102     },
 17103     "ListUniqueProblems": {
 17104       "input": {
 17105         "type": "structure",
 17106         "required": [
 17107           "arn"
 17108         ],
 17109         "members": {
 17110           "arn": {},
 17111           "nextToken": {}
 17112         }
 17113       },
 17114       "output": {
 17115         "type": "structure",
 17116         "members": {
 17117           "uniqueProblems": {
 17118             "type": "map",
 17119             "key": {},
 17120             "value": {
 17121               "type": "list",
 17122               "member": {
 17123                 "type": "structure",
 17124                 "members": {
 17125                   "message": {},
 17126                   "problems": {
 17127                     "type": "list",
 17128                     "member": {
 17129                       "type": "structure",
 17130                       "members": {
 17131                         "run": {
 17132                           "shape": "S49"
 17133                         },
 17134                         "job": {
 17135                           "shape": "S49"
 17136                         },
 17137                         "suite": {
 17138                           "shape": "S49"
 17139                         },
 17140                         "test": {
 17141                           "shape": "S49"
 17142                         },
 17143                         "device": {
 17144                           "shape": "So"
 17145                         },
 17146                         "result": {},
 17147                         "message": {}
 17148                       }
 17149                     }
 17150                   }
 17151                 }
 17152               }
 17153             }
 17154           },
 17155           "nextToken": {}
 17156         }
 17157       }
 17158     },
 17159     "ListUploads": {
 17160       "input": {
 17161         "type": "structure",
 17162         "required": [
 17163           "arn"
 17164         ],
 17165         "members": {
 17166           "arn": {},
 17167           "nextToken": {}
 17168         }
 17169       },
 17170       "output": {
 17171         "type": "structure",
 17172         "members": {
 17173           "uploads": {
 17174             "type": "list",
 17175             "member": {
 17176               "shape": "S12"
 17177             }
 17178           },
 17179           "nextToken": {}
 17180         }
 17181       }
 17182     },
 17183     "PurchaseOffering": {
 17184       "input": {
 17185         "type": "structure",
 17186         "members": {
 17187           "offeringId": {},
 17188           "quantity": {
 17189             "type": "integer"
 17190           }
 17191         }
 17192       },
 17193       "output": {
 17194         "type": "structure",
 17195         "members": {
 17196           "offeringTransaction": {
 17197             "shape": "S3d"
 17198           }
 17199         }
 17200       }
 17201     },
 17202     "RenewOffering": {
 17203       "input": {
 17204         "type": "structure",
 17205         "members": {
 17206           "offeringId": {},
 17207           "quantity": {
 17208             "type": "integer"
 17209           }
 17210         }
 17211       },
 17212       "output": {
 17213         "type": "structure",
 17214         "members": {
 17215           "offeringTransaction": {
 17216             "shape": "S3d"
 17217           }
 17218         }
 17219       }
 17220     },
 17221     "ScheduleRun": {
 17222       "input": {
 17223         "type": "structure",
 17224         "required": [
 17225           "projectArn",
 17226           "devicePoolArn",
 17227           "test"
 17228         ],
 17229         "members": {
 17230           "projectArn": {},
 17231           "appArn": {},
 17232           "devicePoolArn": {},
 17233           "name": {},
 17234           "test": {
 17235             "type": "structure",
 17236             "required": [
 17237               "type"
 17238             ],
 17239             "members": {
 17240               "type": {},
 17241               "testPackageArn": {},
 17242               "filter": {},
 17243               "parameters": {
 17244                 "type": "map",
 17245                 "key": {},
 17246                 "value": {}
 17247               }
 17248             }
 17249           },
 17250           "configuration": {
 17251             "type": "structure",
 17252             "members": {
 17253               "extraDataPackageArn": {},
 17254               "networkProfileArn": {},
 17255               "locale": {},
 17256               "location": {
 17257                 "type": "structure",
 17258                 "required": [
 17259                   "latitude",
 17260                   "longitude"
 17261                 ],
 17262                 "members": {
 17263                   "latitude": {
 17264                     "type": "double"
 17265                   },
 17266                   "longitude": {
 17267                     "type": "double"
 17268                   }
 17269                 }
 17270               },
 17271               "radios": {
 17272                 "type": "structure",
 17273                 "members": {
 17274                   "wifi": {
 17275                     "type": "boolean"
 17276                   },
 17277                   "bluetooth": {
 17278                     "type": "boolean"
 17279                   },
 17280                   "nfc": {
 17281                     "type": "boolean"
 17282                   },
 17283                   "gps": {
 17284                     "type": "boolean"
 17285                   }
 17286                 }
 17287               },
 17288               "auxiliaryApps": {
 17289                 "type": "list",
 17290                 "member": {}
 17291               },
 17292               "billingMethod": {}
 17293             }
 17294           }
 17295         }
 17296       },
 17297       "output": {
 17298         "type": "structure",
 17299         "members": {
 17300           "run": {
 17301             "shape": "S2k"
 17302           }
 17303         }
 17304       }
 17305     },
 17306     "StopRemoteAccessSession": {
 17307       "input": {
 17308         "type": "structure",
 17309         "required": [
 17310           "arn"
 17311         ],
 17312         "members": {
 17313           "arn": {}
 17314         }
 17315       },
 17316       "output": {
 17317         "type": "structure",
 17318         "members": {
 17319           "remoteAccessSession": {
 17320             "shape": "Sl"
 17321           }
 17322         }
 17323       }
 17324     },
 17325     "StopRun": {
 17326       "input": {
 17327         "type": "structure",
 17328         "required": [
 17329           "arn"
 17330         ],
 17331         "members": {
 17332           "arn": {}
 17333         }
 17334       },
 17335       "output": {
 17336         "type": "structure",
 17337         "members": {
 17338           "run": {
 17339             "shape": "S2k"
 17340           }
 17341         }
 17342       }
 17343     },
 17344     "UpdateDevicePool": {
 17345       "input": {
 17346         "type": "structure",
 17347         "required": [
 17348           "arn"
 17349         ],
 17350         "members": {
 17351           "arn": {},
 17352           "name": {},
 17353           "description": {},
 17354           "rules": {
 17355             "shape": "S5"
 17356           }
 17357         }
 17358       },
 17359       "output": {
 17360         "type": "structure",
 17361         "members": {
 17362           "devicePool": {
 17363             "shape": "Sb"
 17364           }
 17365         }
 17366       }
 17367     },
 17368     "UpdateProject": {
 17369       "input": {
 17370         "type": "structure",
 17371         "required": [
 17372           "arn"
 17373         ],
 17374         "members": {
 17375           "arn": {},
 17376           "name": {}
 17377         }
 17378       },
 17379       "output": {
 17380         "type": "structure",
 17381         "members": {
 17382           "project": {
 17383             "shape": "Sf"
 17384           }
 17385         }
 17386       }
 17387     }
 17388   },
 17389   "shapes": {
 17390     "S5": {
 17391       "type": "list",
 17392       "member": {
 17393         "type": "structure",
 17394         "members": {
 17395           "attribute": {},
 17396           "operator": {},
 17397           "value": {}
 17398         }
 17399       }
 17400     },
 17401     "Sb": {
 17402       "type": "structure",
 17403       "members": {
 17404         "arn": {},
 17405         "name": {},
 17406         "description": {},
 17407         "type": {},
 17408         "rules": {
 17409           "shape": "S5"
 17410         }
 17411       }
 17412     },
 17413     "Sf": {
 17414       "type": "structure",
 17415       "members": {
 17416         "arn": {},
 17417         "name": {},
 17418         "created": {
 17419           "type": "timestamp"
 17420         }
 17421       }
 17422     },
 17423     "Sl": {
 17424       "type": "structure",
 17425       "members": {
 17426         "arn": {},
 17427         "name": {},
 17428         "created": {
 17429           "type": "timestamp"
 17430         },
 17431         "status": {},
 17432         "result": {},
 17433         "message": {},
 17434         "started": {
 17435           "type": "timestamp"
 17436         },
 17437         "stopped": {
 17438           "type": "timestamp"
 17439         },
 17440         "device": {
 17441           "shape": "So"
 17442         },
 17443         "billingMethod": {},
 17444         "deviceMinutes": {
 17445           "shape": "Sx"
 17446         },
 17447         "endpoint": {}
 17448       }
 17449     },
 17450     "So": {
 17451       "type": "structure",
 17452       "members": {
 17453         "arn": {},
 17454         "name": {},
 17455         "manufacturer": {},
 17456         "model": {},
 17457         "formFactor": {},
 17458         "platform": {},
 17459         "os": {},
 17460         "cpu": {
 17461           "type": "structure",
 17462           "members": {
 17463             "frequency": {},
 17464             "architecture": {},
 17465             "clock": {
 17466               "type": "double"
 17467             }
 17468           }
 17469         },
 17470         "resolution": {
 17471           "type": "structure",
 17472           "members": {
 17473             "width": {
 17474               "type": "integer"
 17475             },
 17476             "height": {
 17477               "type": "integer"
 17478             }
 17479           }
 17480         },
 17481         "heapSize": {
 17482           "type": "long"
 17483         },
 17484         "memory": {
 17485           "type": "long"
 17486         },
 17487         "image": {},
 17488         "carrier": {},
 17489         "radio": {},
 17490         "remoteAccessEnabled": {
 17491           "type": "boolean"
 17492         },
 17493         "fleetType": {},
 17494         "fleetName": {}
 17495       }
 17496     },
 17497     "Sx": {
 17498       "type": "structure",
 17499       "members": {
 17500         "total": {
 17501           "type": "double"
 17502         },
 17503         "metered": {
 17504           "type": "double"
 17505         },
 17506         "unmetered": {
 17507           "type": "double"
 17508         }
 17509       }
 17510     },
 17511     "S12": {
 17512       "type": "structure",
 17513       "members": {
 17514         "arn": {},
 17515         "name": {},
 17516         "created": {
 17517           "type": "timestamp"
 17518         },
 17519         "type": {},
 17520         "status": {},
 17521         "url": {},
 17522         "metadata": {},
 17523         "contentType": {},
 17524         "message": {}
 17525       }
 17526     },
 17527     "S1k": {
 17528       "type": "map",
 17529       "key": {},
 17530       "value": {
 17531         "type": "integer"
 17532       }
 17533     },
 17534     "S1s": {
 17535       "type": "list",
 17536       "member": {
 17537         "type": "structure",
 17538         "members": {
 17539           "device": {
 17540             "shape": "So"
 17541           },
 17542           "compatible": {
 17543             "type": "boolean"
 17544           },
 17545           "incompatibilityMessages": {
 17546             "type": "list",
 17547             "member": {
 17548               "type": "structure",
 17549               "members": {
 17550                 "message": {},
 17551                 "type": {}
 17552               }
 17553             }
 17554           }
 17555         }
 17556       }
 17557     },
 17558     "S1y": {
 17559       "type": "structure",
 17560       "members": {
 17561         "arn": {},
 17562         "name": {},
 17563         "type": {},
 17564         "created": {
 17565           "type": "timestamp"
 17566         },
 17567         "status": {},
 17568         "result": {},
 17569         "started": {
 17570           "type": "timestamp"
 17571         },
 17572         "stopped": {
 17573           "type": "timestamp"
 17574         },
 17575         "counters": {
 17576           "shape": "S1z"
 17577         },
 17578         "message": {},
 17579         "device": {
 17580           "shape": "So"
 17581         },
 17582         "deviceMinutes": {
 17583           "shape": "Sx"
 17584         }
 17585       }
 17586     },
 17587     "S1z": {
 17588       "type": "structure",
 17589       "members": {
 17590         "total": {
 17591           "type": "integer"
 17592         },
 17593         "passed": {
 17594           "type": "integer"
 17595         },
 17596         "failed": {
 17597           "type": "integer"
 17598         },
 17599         "warned": {
 17600           "type": "integer"
 17601         },
 17602         "errored": {
 17603           "type": "integer"
 17604         },
 17605         "stopped": {
 17606           "type": "integer"
 17607         },
 17608         "skipped": {
 17609           "type": "integer"
 17610         }
 17611       }
 17612     },
 17613     "S23": {
 17614       "type": "map",
 17615       "key": {},
 17616       "value": {
 17617         "shape": "S25"
 17618       }
 17619     },
 17620     "S25": {
 17621       "type": "structure",
 17622       "members": {
 17623         "type": {},
 17624         "offering": {
 17625           "shape": "S27"
 17626         },
 17627         "quantity": {
 17628           "type": "integer"
 17629         },
 17630         "effectiveOn": {
 17631           "type": "timestamp"
 17632         }
 17633       }
 17634     },
 17635     "S27": {
 17636       "type": "structure",
 17637       "members": {
 17638         "id": {},
 17639         "description": {},
 17640         "type": {},
 17641         "platform": {},
 17642         "recurringCharges": {
 17643           "type": "list",
 17644           "member": {
 17645             "type": "structure",
 17646             "members": {
 17647               "cost": {
 17648                 "shape": "S2b"
 17649               },
 17650               "frequency": {}
 17651             }
 17652           }
 17653         }
 17654       }
 17655     },
 17656     "S2b": {
 17657       "type": "structure",
 17658       "members": {
 17659         "amount": {
 17660           "type": "double"
 17661         },
 17662         "currencyCode": {}
 17663       }
 17664     },
 17665     "S2k": {
 17666       "type": "structure",
 17667       "members": {
 17668         "arn": {},
 17669         "name": {},
 17670         "type": {},
 17671         "platform": {},
 17672         "created": {
 17673           "type": "timestamp"
 17674         },
 17675         "status": {},
 17676         "result": {},
 17677         "started": {
 17678           "type": "timestamp"
 17679         },
 17680         "stopped": {
 17681           "type": "timestamp"
 17682         },
 17683         "counters": {
 17684           "shape": "S1z"
 17685         },
 17686         "message": {},
 17687         "totalJobs": {
 17688           "type": "integer"
 17689         },
 17690         "completedJobs": {
 17691           "type": "integer"
 17692         },
 17693         "billingMethod": {},
 17694         "deviceMinutes": {
 17695           "shape": "Sx"
 17696         }
 17697       }
 17698     },
 17699     "S2n": {
 17700       "type": "structure",
 17701       "members": {
 17702         "arn": {},
 17703         "name": {},
 17704         "type": {},
 17705         "created": {
 17706           "type": "timestamp"
 17707         },
 17708         "status": {},
 17709         "result": {},
 17710         "started": {
 17711           "type": "timestamp"
 17712         },
 17713         "stopped": {
 17714           "type": "timestamp"
 17715         },
 17716         "counters": {
 17717           "shape": "S1z"
 17718         },
 17719         "message": {},
 17720         "deviceMinutes": {
 17721           "shape": "Sx"
 17722         }
 17723       }
 17724     },
 17725     "S2q": {
 17726       "type": "structure",
 17727       "members": {
 17728         "arn": {},
 17729         "name": {},
 17730         "type": {},
 17731         "created": {
 17732           "type": "timestamp"
 17733         },
 17734         "status": {},
 17735         "result": {},
 17736         "started": {
 17737           "type": "timestamp"
 17738         },
 17739         "stopped": {
 17740           "type": "timestamp"
 17741         },
 17742         "counters": {
 17743           "shape": "S1z"
 17744         },
 17745         "message": {},
 17746         "deviceMinutes": {
 17747           "shape": "Sx"
 17748         }
 17749       }
 17750     },
 17751     "S3d": {
 17752       "type": "structure",
 17753       "members": {
 17754         "offeringStatus": {
 17755           "shape": "S25"
 17756         },
 17757         "transactionId": {},
 17758         "createdOn": {
 17759           "type": "timestamp"
 17760         },
 17761         "cost": {
 17762           "shape": "S2b"
 17763         }
 17764       }
 17765     },
 17766     "S49": {
 17767       "type": "structure",
 17768       "members": {
 17769         "arn": {},
 17770         "name": {}
 17771       }
 17772     }
 17773   }
 17774 }
 17775 },{}],30:[function(require,module,exports){
 17776 module.exports={
 17777   "pagination": {
 17778     "GetOfferingStatus": {
 17779       "input_token": "nextToken",
 17780       "output_token": "nextToken",
 17781       "result_key": ["current","nextPeriod"]
 17782     },
 17783     "ListArtifacts": {
 17784       "input_token": "nextToken",
 17785       "output_token": "nextToken",
 17786       "result_key": "artifacts"
 17787     },
 17788     "ListDevicePools": {
 17789       "input_token": "nextToken",
 17790       "output_token": "nextToken",
 17791       "result_key": "devicePools"
 17792     },
 17793     "ListDevices": {
 17794       "input_token": "nextToken",
 17795       "output_token": "nextToken",
 17796       "result_key": "devices"
 17797     },
 17798     "ListJobs": {
 17799       "input_token": "nextToken",
 17800       "output_token": "nextToken",
 17801       "result_key": "jobs"
 17802     },
 17803     "ListOfferingTransactions": {
 17804       "input_token": "nextToken",
 17805       "output_token": "nextToken",
 17806       "result_key": "offeringTransactions"
 17807     },
 17808     "ListOfferings": {
 17809       "input_token": "nextToken",
 17810       "output_token": "nextToken",
 17811       "result_key": "offerings"
 17812     },
 17813     "ListProjects": {
 17814       "input_token": "nextToken",
 17815       "output_token": "nextToken",
 17816       "result_key": "projects"
 17817     },
 17818     "ListRuns": {
 17819       "input_token": "nextToken",
 17820       "output_token": "nextToken",
 17821       "result_key": "runs"
 17822     },
 17823     "ListSamples": {
 17824       "input_token": "nextToken",
 17825       "output_token": "nextToken",
 17826       "result_key": "samples"
 17827     },
 17828     "ListSuites": {
 17829       "input_token": "nextToken",
 17830       "output_token": "nextToken",
 17831       "result_key": "suites"
 17832     },
 17833     "ListTests": {
 17834       "input_token": "nextToken",
 17835       "output_token": "nextToken",
 17836       "result_key": "tests"
 17837     },
 17838     "ListUniqueProblems": {
 17839       "input_token": "nextToken",
 17840       "output_token": "nextToken",
 17841       "result_key": "uniqueProblems"
 17842     },
 17843     "ListUploads": {
 17844       "input_token": "nextToken",
 17845       "output_token": "nextToken",
 17846       "result_key": "uploads"
 17847     }
 17848   }
 17849 }
 17850 
 17851 },{}],31:[function(require,module,exports){
 17852 module.exports={
 17853   "version": "2.0",
 17854   "metadata": {
 17855     "apiVersion": "2012-10-25",
 17856     "endpointPrefix": "directconnect",
 17857     "jsonVersion": "1.1",
 17858     "protocol": "json",
 17859     "serviceFullName": "AWS Direct Connect",
 17860     "signatureVersion": "v4",
 17861     "targetPrefix": "OvertureService"
 17862   },
 17863   "operations": {
 17864     "AllocateConnectionOnInterconnect": {
 17865       "input": {
 17866         "type": "structure",
 17867         "required": [
 17868           "bandwidth",
 17869           "connectionName",
 17870           "ownerAccount",
 17871           "interconnectId",
 17872           "vlan"
 17873         ],
 17874         "members": {
 17875           "bandwidth": {},
 17876           "connectionName": {},
 17877           "ownerAccount": {},
 17878           "interconnectId": {},
 17879           "vlan": {
 17880             "type": "integer"
 17881           }
 17882         }
 17883       },
 17884       "output": {
 17885         "shape": "S7"
 17886       }
 17887     },
 17888     "AllocatePrivateVirtualInterface": {
 17889       "input": {
 17890         "type": "structure",
 17891         "required": [
 17892           "connectionId",
 17893           "ownerAccount",
 17894           "newPrivateVirtualInterfaceAllocation"
 17895         ],
 17896         "members": {
 17897           "connectionId": {},
 17898           "ownerAccount": {},
 17899           "newPrivateVirtualInterfaceAllocation": {
 17900             "type": "structure",
 17901             "required": [
 17902               "virtualInterfaceName",
 17903               "vlan",
 17904               "asn"
 17905             ],
 17906             "members": {
 17907               "virtualInterfaceName": {},
 17908               "vlan": {
 17909                 "type": "integer"
 17910               },
 17911               "asn": {
 17912                 "type": "integer"
 17913               },
 17914               "authKey": {},
 17915               "amazonAddress": {},
 17916               "customerAddress": {}
 17917             }
 17918           }
 17919         }
 17920       },
 17921       "output": {
 17922         "shape": "Sl"
 17923       }
 17924     },
 17925     "AllocatePublicVirtualInterface": {
 17926       "input": {
 17927         "type": "structure",
 17928         "required": [
 17929           "connectionId",
 17930           "ownerAccount",
 17931           "newPublicVirtualInterfaceAllocation"
 17932         ],
 17933         "members": {
 17934           "connectionId": {},
 17935           "ownerAccount": {},
 17936           "newPublicVirtualInterfaceAllocation": {
 17937             "type": "structure",
 17938             "required": [
 17939               "virtualInterfaceName",
 17940               "vlan",
 17941               "asn",
 17942               "amazonAddress",
 17943               "customerAddress",
 17944               "routeFilterPrefixes"
 17945             ],
 17946             "members": {
 17947               "virtualInterfaceName": {},
 17948               "vlan": {
 17949                 "type": "integer"
 17950               },
 17951               "asn": {
 17952                 "type": "integer"
 17953               },
 17954               "authKey": {},
 17955               "amazonAddress": {},
 17956               "customerAddress": {},
 17957               "routeFilterPrefixes": {
 17958                 "shape": "Sr"
 17959               }
 17960             }
 17961           }
 17962         }
 17963       },
 17964       "output": {
 17965         "shape": "Sl"
 17966       }
 17967     },
 17968     "ConfirmConnection": {
 17969       "input": {
 17970         "type": "structure",
 17971         "required": [
 17972           "connectionId"
 17973         ],
 17974         "members": {
 17975           "connectionId": {}
 17976         }
 17977       },
 17978       "output": {
 17979         "type": "structure",
 17980         "members": {
 17981           "connectionState": {}
 17982         }
 17983       }
 17984     },
 17985     "ConfirmPrivateVirtualInterface": {
 17986       "input": {
 17987         "type": "structure",
 17988         "required": [
 17989           "virtualInterfaceId",
 17990           "virtualGatewayId"
 17991         ],
 17992         "members": {
 17993           "virtualInterfaceId": {},
 17994           "virtualGatewayId": {}
 17995         }
 17996       },
 17997       "output": {
 17998         "type": "structure",
 17999         "members": {
 18000           "virtualInterfaceState": {}
 18001         }
 18002       }
 18003     },
 18004     "ConfirmPublicVirtualInterface": {
 18005       "input": {
 18006         "type": "structure",
 18007         "required": [
 18008           "virtualInterfaceId"
 18009         ],
 18010         "members": {
 18011           "virtualInterfaceId": {}
 18012         }
 18013       },
 18014       "output": {
 18015         "type": "structure",
 18016         "members": {
 18017           "virtualInterfaceState": {}
 18018         }
 18019       }
 18020     },
 18021     "CreateConnection": {
 18022       "input": {
 18023         "type": "structure",
 18024         "required": [
 18025           "location",
 18026           "bandwidth",
 18027           "connectionName"
 18028         ],
 18029         "members": {
 18030           "location": {},
 18031           "bandwidth": {},
 18032           "connectionName": {}
 18033         }
 18034       },
 18035       "output": {
 18036         "shape": "S7"
 18037       }
 18038     },
 18039     "CreateInterconnect": {
 18040       "input": {
 18041         "type": "structure",
 18042         "required": [
 18043           "interconnectName",
 18044           "bandwidth",
 18045           "location"
 18046         ],
 18047         "members": {
 18048           "interconnectName": {},
 18049           "bandwidth": {},
 18050           "location": {}
 18051         }
 18052       },
 18053       "output": {
 18054         "shape": "S15"
 18055       }
 18056     },
 18057     "CreatePrivateVirtualInterface": {
 18058       "input": {
 18059         "type": "structure",
 18060         "required": [
 18061           "connectionId",
 18062           "newPrivateVirtualInterface"
 18063         ],
 18064         "members": {
 18065           "connectionId": {},
 18066           "newPrivateVirtualInterface": {
 18067             "type": "structure",
 18068             "required": [
 18069               "virtualInterfaceName",
 18070               "vlan",
 18071               "asn",
 18072               "virtualGatewayId"
 18073             ],
 18074             "members": {
 18075               "virtualInterfaceName": {},
 18076               "vlan": {
 18077                 "type": "integer"
 18078               },
 18079               "asn": {
 18080                 "type": "integer"
 18081               },
 18082               "authKey": {},
 18083               "amazonAddress": {},
 18084               "customerAddress": {},
 18085               "virtualGatewayId": {}
 18086             }
 18087           }
 18088         }
 18089       },
 18090       "output": {
 18091         "shape": "Sl"
 18092       }
 18093     },
 18094     "CreatePublicVirtualInterface": {
 18095       "input": {
 18096         "type": "structure",
 18097         "required": [
 18098           "connectionId",
 18099           "newPublicVirtualInterface"
 18100         ],
 18101         "members": {
 18102           "connectionId": {},
 18103           "newPublicVirtualInterface": {
 18104             "type": "structure",
 18105             "required": [
 18106               "virtualInterfaceName",
 18107               "vlan",
 18108               "asn",
 18109               "amazonAddress",
 18110               "customerAddress",
 18111               "routeFilterPrefixes"
 18112             ],
 18113             "members": {
 18114               "virtualInterfaceName": {},
 18115               "vlan": {
 18116                 "type": "integer"
 18117               },
 18118               "asn": {
 18119                 "type": "integer"
 18120               },
 18121               "authKey": {},
 18122               "amazonAddress": {},
 18123               "customerAddress": {},
 18124               "routeFilterPrefixes": {
 18125                 "shape": "Sr"
 18126               }
 18127             }
 18128           }
 18129         }
 18130       },
 18131       "output": {
 18132         "shape": "Sl"
 18133       }
 18134     },
 18135     "DeleteConnection": {
 18136       "input": {
 18137         "type": "structure",
 18138         "required": [
 18139           "connectionId"
 18140         ],
 18141         "members": {
 18142           "connectionId": {}
 18143         }
 18144       },
 18145       "output": {
 18146         "shape": "S7"
 18147       }
 18148     },
 18149     "DeleteInterconnect": {
 18150       "input": {
 18151         "type": "structure",
 18152         "required": [
 18153           "interconnectId"
 18154         ],
 18155         "members": {
 18156           "interconnectId": {}
 18157         }
 18158       },
 18159       "output": {
 18160         "type": "structure",
 18161         "members": {
 18162           "interconnectState": {}
 18163         }
 18164       }
 18165     },
 18166     "DeleteVirtualInterface": {
 18167       "input": {
 18168         "type": "structure",
 18169         "required": [
 18170           "virtualInterfaceId"
 18171         ],
 18172         "members": {
 18173           "virtualInterfaceId": {}
 18174         }
 18175       },
 18176       "output": {
 18177         "type": "structure",
 18178         "members": {
 18179           "virtualInterfaceState": {}
 18180         }
 18181       }
 18182     },
 18183     "DescribeConnectionLoa": {
 18184       "input": {
 18185         "type": "structure",
 18186         "required": [
 18187           "connectionId"
 18188         ],
 18189         "members": {
 18190           "connectionId": {},
 18191           "providerName": {},
 18192           "loaContentType": {}
 18193         }
 18194       },
 18195       "output": {
 18196         "type": "structure",
 18197         "members": {
 18198           "loa": {
 18199             "shape": "S1k"
 18200           }
 18201         }
 18202       }
 18203     },
 18204     "DescribeConnections": {
 18205       "input": {
 18206         "type": "structure",
 18207         "members": {
 18208           "connectionId": {}
 18209         }
 18210       },
 18211       "output": {
 18212         "shape": "S1n"
 18213       }
 18214     },
 18215     "DescribeConnectionsOnInterconnect": {
 18216       "input": {
 18217         "type": "structure",
 18218         "required": [
 18219           "interconnectId"
 18220         ],
 18221         "members": {
 18222           "interconnectId": {}
 18223         }
 18224       },
 18225       "output": {
 18226         "shape": "S1n"
 18227       }
 18228     },
 18229     "DescribeInterconnectLoa": {
 18230       "input": {
 18231         "type": "structure",
 18232         "required": [
 18233           "interconnectId"
 18234         ],
 18235         "members": {
 18236           "interconnectId": {},
 18237           "providerName": {},
 18238           "loaContentType": {}
 18239         }
 18240       },
 18241       "output": {
 18242         "type": "structure",
 18243         "members": {
 18244           "loa": {
 18245             "shape": "S1k"
 18246           }
 18247         }
 18248       }
 18249     },
 18250     "DescribeInterconnects": {
 18251       "input": {
 18252         "type": "structure",
 18253         "members": {
 18254           "interconnectId": {}
 18255         }
 18256       },
 18257       "output": {
 18258         "type": "structure",
 18259         "members": {
 18260           "interconnects": {
 18261             "type": "list",
 18262             "member": {
 18263               "shape": "S15"
 18264             }
 18265           }
 18266         }
 18267       }
 18268     },
 18269     "DescribeLocations": {
 18270       "output": {
 18271         "type": "structure",
 18272         "members": {
 18273           "locations": {
 18274             "type": "list",
 18275             "member": {
 18276               "type": "structure",
 18277               "members": {
 18278                 "locationCode": {},
 18279                 "locationName": {}
 18280               }
 18281             }
 18282           }
 18283         }
 18284       }
 18285     },
 18286     "DescribeTags": {
 18287       "input": {
 18288         "type": "structure",
 18289         "required": [
 18290           "resourceArns"
 18291         ],
 18292         "members": {
 18293           "resourceArns": {
 18294             "type": "list",
 18295             "member": {}
 18296           }
 18297         }
 18298       },
 18299       "output": {
 18300         "type": "structure",
 18301         "members": {
 18302           "resourceTags": {
 18303             "type": "list",
 18304             "member": {
 18305               "type": "structure",
 18306               "members": {
 18307                 "resourceArn": {},
 18308                 "tags": {
 18309                   "shape": "S25"
 18310                 }
 18311               }
 18312             }
 18313           }
 18314         }
 18315       }
 18316     },
 18317     "DescribeVirtualGateways": {
 18318       "output": {
 18319         "type": "structure",
 18320         "members": {
 18321           "virtualGateways": {
 18322             "type": "list",
 18323             "member": {
 18324               "type": "structure",
 18325               "members": {
 18326                 "virtualGatewayId": {},
 18327                 "virtualGatewayState": {}
 18328               }
 18329             }
 18330           }
 18331         }
 18332       }
 18333     },
 18334     "DescribeVirtualInterfaces": {
 18335       "input": {
 18336         "type": "structure",
 18337         "members": {
 18338           "connectionId": {},
 18339           "virtualInterfaceId": {}
 18340         }
 18341       },
 18342       "output": {
 18343         "type": "structure",
 18344         "members": {
 18345           "virtualInterfaces": {
 18346             "type": "list",
 18347             "member": {
 18348               "shape": "Sl"
 18349             }
 18350           }
 18351         }
 18352       }
 18353     },
 18354     "TagResource": {
 18355       "input": {
 18356         "type": "structure",
 18357         "required": [
 18358           "resourceArn",
 18359           "tags"
 18360         ],
 18361         "members": {
 18362           "resourceArn": {},
 18363           "tags": {
 18364             "shape": "S25"
 18365           }
 18366         }
 18367       },
 18368       "output": {
 18369         "type": "structure",
 18370         "members": {}
 18371       }
 18372     },
 18373     "UntagResource": {
 18374       "input": {
 18375         "type": "structure",
 18376         "required": [
 18377           "resourceArn",
 18378           "tagKeys"
 18379         ],
 18380         "members": {
 18381           "resourceArn": {},
 18382           "tagKeys": {
 18383             "type": "list",
 18384             "member": {}
 18385           }
 18386         }
 18387       },
 18388       "output": {
 18389         "type": "structure",
 18390         "members": {}
 18391       }
 18392     }
 18393   },
 18394   "shapes": {
 18395     "S7": {
 18396       "type": "structure",
 18397       "members": {
 18398         "ownerAccount": {},
 18399         "connectionId": {},
 18400         "connectionName": {},
 18401         "connectionState": {},
 18402         "region": {},
 18403         "location": {},
 18404         "bandwidth": {},
 18405         "vlan": {
 18406           "type": "integer"
 18407         },
 18408         "partnerName": {},
 18409         "loaIssueTime": {
 18410           "type": "timestamp"
 18411         }
 18412       }
 18413     },
 18414     "Sl": {
 18415       "type": "structure",
 18416       "members": {
 18417         "ownerAccount": {},
 18418         "virtualInterfaceId": {},
 18419         "location": {},
 18420         "connectionId": {},
 18421         "virtualInterfaceType": {},
 18422         "virtualInterfaceName": {},
 18423         "vlan": {
 18424           "type": "integer"
 18425         },
 18426         "asn": {
 18427           "type": "integer"
 18428         },
 18429         "authKey": {},
 18430         "amazonAddress": {},
 18431         "customerAddress": {},
 18432         "virtualInterfaceState": {},
 18433         "customerRouterConfig": {},
 18434         "virtualGatewayId": {},
 18435         "routeFilterPrefixes": {
 18436           "shape": "Sr"
 18437         }
 18438       }
 18439     },
 18440     "Sr": {
 18441       "type": "list",
 18442       "member": {
 18443         "type": "structure",
 18444         "members": {
 18445           "cidr": {}
 18446         }
 18447       }
 18448     },
 18449     "S15": {
 18450       "type": "structure",
 18451       "members": {
 18452         "interconnectId": {},
 18453         "interconnectName": {},
 18454         "interconnectState": {},
 18455         "region": {},
 18456         "location": {},
 18457         "bandwidth": {},
 18458         "loaIssueTime": {
 18459           "type": "timestamp"
 18460         }
 18461       }
 18462     },
 18463     "S1k": {
 18464       "type": "structure",
 18465       "members": {
 18466         "loaContent": {
 18467           "type": "blob"
 18468         },
 18469         "loaContentType": {}
 18470       }
 18471     },
 18472     "S1n": {
 18473       "type": "structure",
 18474       "members": {
 18475         "connections": {
 18476           "type": "list",
 18477           "member": {
 18478             "shape": "S7"
 18479           }
 18480         }
 18481       }
 18482     },
 18483     "S25": {
 18484       "type": "list",
 18485       "member": {
 18486         "type": "structure",
 18487         "required": [
 18488           "key"
 18489         ],
 18490         "members": {
 18491           "key": {},
 18492           "value": {}
 18493         }
 18494       }
 18495     }
 18496   }
 18497 }
 18498 },{}],32:[function(require,module,exports){
 18499 module.exports={
 18500   "pagination": {
 18501     "DescribeConnections": {
 18502       "result_key": "connections"
 18503     },
 18504     "DescribeConnectionsOnInterconnect": {
 18505       "result_key": "connections"
 18506     },
 18507     "DescribeInterconnects": {
 18508       "result_key": "interconnects"
 18509     },
 18510     "DescribeLocations": {
 18511       "result_key": "locations"
 18512     },
 18513     "DescribeVirtualGateways": {
 18514       "result_key": "virtualGateways"
 18515     },
 18516     "DescribeVirtualInterfaces": {
 18517       "result_key": "virtualInterfaces"
 18518     }
 18519   }
 18520 }
 18521 
 18522 },{}],33:[function(require,module,exports){
 18523 module.exports={
 18524   "version": "2.0",
 18525   "metadata": {
 18526     "apiVersion": "2011-12-05",
 18527     "endpointPrefix": "dynamodb",
 18528     "jsonVersion": "1.0",
 18529     "protocol": "json",
 18530     "serviceAbbreviation": "DynamoDB",
 18531     "serviceFullName": "Amazon DynamoDB",
 18532     "signatureVersion": "v4",
 18533     "targetPrefix": "DynamoDB_20111205"
 18534   },
 18535   "operations": {
 18536     "BatchGetItem": {
 18537       "input": {
 18538         "type": "structure",
 18539         "required": [
 18540           "RequestItems"
 18541         ],
 18542         "members": {
 18543           "RequestItems": {
 18544             "shape": "S2"
 18545           }
 18546         }
 18547       },
 18548       "output": {
 18549         "type": "structure",
 18550         "members": {
 18551           "Responses": {
 18552             "type": "map",
 18553             "key": {},
 18554             "value": {
 18555               "type": "structure",
 18556               "members": {
 18557                 "Items": {
 18558                   "shape": "Sk"
 18559                 },
 18560                 "ConsumedCapacityUnits": {
 18561                   "type": "double"
 18562                 }
 18563               }
 18564             }
 18565           },
 18566           "UnprocessedKeys": {
 18567             "shape": "S2"
 18568           }
 18569         }
 18570       }
 18571     },
 18572     "BatchWriteItem": {
 18573       "input": {
 18574         "type": "structure",
 18575         "required": [
 18576           "RequestItems"
 18577         ],
 18578         "members": {
 18579           "RequestItems": {
 18580             "shape": "So"
 18581           }
 18582         }
 18583       },
 18584       "output": {
 18585         "type": "structure",
 18586         "members": {
 18587           "Responses": {
 18588             "type": "map",
 18589             "key": {},
 18590             "value": {
 18591               "type": "structure",
 18592               "members": {
 18593                 "ConsumedCapacityUnits": {
 18594                   "type": "double"
 18595                 }
 18596               }
 18597             }
 18598           },
 18599           "UnprocessedItems": {
 18600             "shape": "So"
 18601           }
 18602         }
 18603       }
 18604     },
 18605     "CreateTable": {
 18606       "input": {
 18607         "type": "structure",
 18608         "required": [
 18609           "TableName",
 18610           "KeySchema",
 18611           "ProvisionedThroughput"
 18612         ],
 18613         "members": {
 18614           "TableName": {},
 18615           "KeySchema": {
 18616             "shape": "Sy"
 18617           },
 18618           "ProvisionedThroughput": {
 18619             "shape": "S12"
 18620           }
 18621         }
 18622       },
 18623       "output": {
 18624         "type": "structure",
 18625         "members": {
 18626           "TableDescription": {
 18627             "shape": "S15"
 18628           }
 18629         }
 18630       }
 18631     },
 18632     "DeleteItem": {
 18633       "input": {
 18634         "type": "structure",
 18635         "required": [
 18636           "TableName",
 18637           "Key"
 18638         ],
 18639         "members": {
 18640           "TableName": {},
 18641           "Key": {
 18642             "shape": "S6"
 18643           },
 18644           "Expected": {
 18645             "shape": "S1b"
 18646           },
 18647           "ReturnValues": {}
 18648         }
 18649       },
 18650       "output": {
 18651         "type": "structure",
 18652         "members": {
 18653           "Attributes": {
 18654             "shape": "Sl"
 18655           },
 18656           "ConsumedCapacityUnits": {
 18657             "type": "double"
 18658           }
 18659         }
 18660       }
 18661     },
 18662     "DeleteTable": {
 18663       "input": {
 18664         "type": "structure",
 18665         "required": [
 18666           "TableName"
 18667         ],
 18668         "members": {
 18669           "TableName": {}
 18670         }
 18671       },
 18672       "output": {
 18673         "type": "structure",
 18674         "members": {
 18675           "TableDescription": {
 18676             "shape": "S15"
 18677           }
 18678         }
 18679       }
 18680     },
 18681     "DescribeTable": {
 18682       "input": {
 18683         "type": "structure",
 18684         "required": [
 18685           "TableName"
 18686         ],
 18687         "members": {
 18688           "TableName": {}
 18689         }
 18690       },
 18691       "output": {
 18692         "type": "structure",
 18693         "members": {
 18694           "Table": {
 18695             "shape": "S15"
 18696           }
 18697         }
 18698       }
 18699     },
 18700     "GetItem": {
 18701       "input": {
 18702         "type": "structure",
 18703         "required": [
 18704           "TableName",
 18705           "Key"
 18706         ],
 18707         "members": {
 18708           "TableName": {},
 18709           "Key": {
 18710             "shape": "S6"
 18711           },
 18712           "AttributesToGet": {
 18713             "shape": "Se"
 18714           },
 18715           "ConsistentRead": {
 18716             "type": "boolean"
 18717           }
 18718         }
 18719       },
 18720       "output": {
 18721         "type": "structure",
 18722         "members": {
 18723           "Item": {
 18724             "shape": "Sl"
 18725           },
 18726           "ConsumedCapacityUnits": {
 18727             "type": "double"
 18728           }
 18729         }
 18730       }
 18731     },
 18732     "ListTables": {
 18733       "input": {
 18734         "type": "structure",
 18735         "members": {
 18736           "ExclusiveStartTableName": {},
 18737           "Limit": {
 18738             "type": "integer"
 18739           }
 18740         }
 18741       },
 18742       "output": {
 18743         "type": "structure",
 18744         "members": {
 18745           "TableNames": {
 18746             "type": "list",
 18747             "member": {}
 18748           },
 18749           "LastEvaluatedTableName": {}
 18750         }
 18751       }
 18752     },
 18753     "PutItem": {
 18754       "input": {
 18755         "type": "structure",
 18756         "required": [
 18757           "TableName",
 18758           "Item"
 18759         ],
 18760         "members": {
 18761           "TableName": {},
 18762           "Item": {
 18763             "shape": "Ss"
 18764           },
 18765           "Expected": {
 18766             "shape": "S1b"
 18767           },
 18768           "ReturnValues": {}
 18769         }
 18770       },
 18771       "output": {
 18772         "type": "structure",
 18773         "members": {
 18774           "Attributes": {
 18775             "shape": "Sl"
 18776           },
 18777           "ConsumedCapacityUnits": {
 18778             "type": "double"
 18779           }
 18780         }
 18781       }
 18782     },
 18783     "Query": {
 18784       "input": {
 18785         "type": "structure",
 18786         "required": [
 18787           "TableName",
 18788           "HashKeyValue"
 18789         ],
 18790         "members": {
 18791           "TableName": {},
 18792           "AttributesToGet": {
 18793             "shape": "Se"
 18794           },
 18795           "Limit": {
 18796             "type": "integer"
 18797           },
 18798           "ConsistentRead": {
 18799             "type": "boolean"
 18800           },
 18801           "Count": {
 18802             "type": "boolean"
 18803           },
 18804           "HashKeyValue": {
 18805             "shape": "S7"
 18806           },
 18807           "RangeKeyCondition": {
 18808             "shape": "S1u"
 18809           },
 18810           "ScanIndexForward": {
 18811             "type": "boolean"
 18812           },
 18813           "ExclusiveStartKey": {
 18814             "shape": "S6"
 18815           }
 18816         }
 18817       },
 18818       "output": {
 18819         "type": "structure",
 18820         "members": {
 18821           "Items": {
 18822             "shape": "Sk"
 18823           },
 18824           "Count": {
 18825             "type": "integer"
 18826           },
 18827           "LastEvaluatedKey": {
 18828             "shape": "S6"
 18829           },
 18830           "ConsumedCapacityUnits": {
 18831             "type": "double"
 18832           }
 18833         }
 18834       }
 18835     },
 18836     "Scan": {
 18837       "input": {
 18838         "type": "structure",
 18839         "required": [
 18840           "TableName"
 18841         ],
 18842         "members": {
 18843           "TableName": {},
 18844           "AttributesToGet": {
 18845             "shape": "Se"
 18846           },
 18847           "Limit": {
 18848             "type": "integer"
 18849           },
 18850           "Count": {
 18851             "type": "boolean"
 18852           },
 18853           "ScanFilter": {
 18854             "type": "map",
 18855             "key": {},
 18856             "value": {
 18857               "shape": "S1u"
 18858             }
 18859           },
 18860           "ExclusiveStartKey": {
 18861             "shape": "S6"
 18862           }
 18863         }
 18864       },
 18865       "output": {
 18866         "type": "structure",
 18867         "members": {
 18868           "Items": {
 18869             "shape": "Sk"
 18870           },
 18871           "Count": {
 18872             "type": "integer"
 18873           },
 18874           "ScannedCount": {
 18875             "type": "integer"
 18876           },
 18877           "LastEvaluatedKey": {
 18878             "shape": "S6"
 18879           },
 18880           "ConsumedCapacityUnits": {
 18881             "type": "double"
 18882           }
 18883         }
 18884       }
 18885     },
 18886     "UpdateItem": {
 18887       "input": {
 18888         "type": "structure",
 18889         "required": [
 18890           "TableName",
 18891           "Key",
 18892           "AttributeUpdates"
 18893         ],
 18894         "members": {
 18895           "TableName": {},
 18896           "Key": {
 18897             "shape": "S6"
 18898           },
 18899           "AttributeUpdates": {
 18900             "type": "map",
 18901             "key": {},
 18902             "value": {
 18903               "type": "structure",
 18904               "members": {
 18905                 "Value": {
 18906                   "shape": "S7"
 18907                 },
 18908                 "Action": {}
 18909               }
 18910             }
 18911           },
 18912           "Expected": {
 18913             "shape": "S1b"
 18914           },
 18915           "ReturnValues": {}
 18916         }
 18917       },
 18918       "output": {
 18919         "type": "structure",
 18920         "members": {
 18921           "Attributes": {
 18922             "shape": "Sl"
 18923           },
 18924           "ConsumedCapacityUnits": {
 18925             "type": "double"
 18926           }
 18927         }
 18928       }
 18929     },
 18930     "UpdateTable": {
 18931       "input": {
 18932         "type": "structure",
 18933         "required": [
 18934           "TableName",
 18935           "ProvisionedThroughput"
 18936         ],
 18937         "members": {
 18938           "TableName": {},
 18939           "ProvisionedThroughput": {
 18940             "shape": "S12"
 18941           }
 18942         }
 18943       },
 18944       "output": {
 18945         "type": "structure",
 18946         "members": {
 18947           "TableDescription": {
 18948             "shape": "S15"
 18949           }
 18950         }
 18951       }
 18952     }
 18953   },
 18954   "shapes": {
 18955     "S2": {
 18956       "type": "map",
 18957       "key": {},
 18958       "value": {
 18959         "type": "structure",
 18960         "required": [
 18961           "Keys"
 18962         ],
 18963         "members": {
 18964           "Keys": {
 18965             "type": "list",
 18966             "member": {
 18967               "shape": "S6"
 18968             }
 18969           },
 18970           "AttributesToGet": {
 18971             "shape": "Se"
 18972           },
 18973           "ConsistentRead": {
 18974             "type": "boolean"
 18975           }
 18976         }
 18977       }
 18978     },
 18979     "S6": {
 18980       "type": "structure",
 18981       "required": [
 18982         "HashKeyElement"
 18983       ],
 18984       "members": {
 18985         "HashKeyElement": {
 18986           "shape": "S7"
 18987         },
 18988         "RangeKeyElement": {
 18989           "shape": "S7"
 18990         }
 18991       }
 18992     },
 18993     "S7": {
 18994       "type": "structure",
 18995       "members": {
 18996         "S": {},
 18997         "N": {},
 18998         "B": {
 18999           "type": "blob"
 19000         },
 19001         "SS": {
 19002           "type": "list",
 19003           "member": {}
 19004         },
 19005         "NS": {
 19006           "type": "list",
 19007           "member": {}
 19008         },
 19009         "BS": {
 19010           "type": "list",
 19011           "member": {
 19012             "type": "blob"
 19013           }
 19014         }
 19015       }
 19016     },
 19017     "Se": {
 19018       "type": "list",
 19019       "member": {}
 19020     },
 19021     "Sk": {
 19022       "type": "list",
 19023       "member": {
 19024         "shape": "Sl"
 19025       }
 19026     },
 19027     "Sl": {
 19028       "type": "map",
 19029       "key": {},
 19030       "value": {
 19031         "shape": "S7"
 19032       }
 19033     },
 19034     "So": {
 19035       "type": "map",
 19036       "key": {},
 19037       "value": {
 19038         "type": "list",
 19039         "member": {
 19040           "type": "structure",
 19041           "members": {
 19042             "PutRequest": {
 19043               "type": "structure",
 19044               "required": [
 19045                 "Item"
 19046               ],
 19047               "members": {
 19048                 "Item": {
 19049                   "shape": "Ss"
 19050                 }
 19051               }
 19052             },
 19053             "DeleteRequest": {
 19054               "type": "structure",
 19055               "required": [
 19056                 "Key"
 19057               ],
 19058               "members": {
 19059                 "Key": {
 19060                   "shape": "S6"
 19061                 }
 19062               }
 19063             }
 19064           }
 19065         }
 19066       }
 19067     },
 19068     "Ss": {
 19069       "type": "map",
 19070       "key": {},
 19071       "value": {
 19072         "shape": "S7"
 19073       }
 19074     },
 19075     "Sy": {
 19076       "type": "structure",
 19077       "required": [
 19078         "HashKeyElement"
 19079       ],
 19080       "members": {
 19081         "HashKeyElement": {
 19082           "shape": "Sz"
 19083         },
 19084         "RangeKeyElement": {
 19085           "shape": "Sz"
 19086         }
 19087       }
 19088     },
 19089     "Sz": {
 19090       "type": "structure",
 19091       "required": [
 19092         "AttributeName",
 19093         "AttributeType"
 19094       ],
 19095       "members": {
 19096         "AttributeName": {},
 19097         "AttributeType": {}
 19098       }
 19099     },
 19100     "S12": {
 19101       "type": "structure",
 19102       "required": [
 19103         "ReadCapacityUnits",
 19104         "WriteCapacityUnits"
 19105       ],
 19106       "members": {
 19107         "ReadCapacityUnits": {
 19108           "type": "long"
 19109         },
 19110         "WriteCapacityUnits": {
 19111           "type": "long"
 19112         }
 19113       }
 19114     },
 19115     "S15": {
 19116       "type": "structure",
 19117       "members": {
 19118         "TableName": {},
 19119         "KeySchema": {
 19120           "shape": "Sy"
 19121         },
 19122         "TableStatus": {},
 19123         "CreationDateTime": {
 19124           "type": "timestamp"
 19125         },
 19126         "ProvisionedThroughput": {
 19127           "type": "structure",
 19128           "members": {
 19129             "LastIncreaseDateTime": {
 19130               "type": "timestamp"
 19131             },
 19132             "LastDecreaseDateTime": {
 19133               "type": "timestamp"
 19134             },
 19135             "NumberOfDecreasesToday": {
 19136               "type": "long"
 19137             },
 19138             "ReadCapacityUnits": {
 19139               "type": "long"
 19140             },
 19141             "WriteCapacityUnits": {
 19142               "type": "long"
 19143             }
 19144           }
 19145         },
 19146         "TableSizeBytes": {
 19147           "type": "long"
 19148         },
 19149         "ItemCount": {
 19150           "type": "long"
 19151         }
 19152       }
 19153     },
 19154     "S1b": {
 19155       "type": "map",
 19156       "key": {},
 19157       "value": {
 19158         "type": "structure",
 19159         "members": {
 19160           "Value": {
 19161             "shape": "S7"
 19162           },
 19163           "Exists": {
 19164             "type": "boolean"
 19165           }
 19166         }
 19167       }
 19168     },
 19169     "S1u": {
 19170       "type": "structure",
 19171       "required": [
 19172         "ComparisonOperator"
 19173       ],
 19174       "members": {
 19175         "AttributeValueList": {
 19176           "type": "list",
 19177           "member": {
 19178             "shape": "S7"
 19179           }
 19180         },
 19181         "ComparisonOperator": {}
 19182       }
 19183     }
 19184   }
 19185 }
 19186 },{}],34:[function(require,module,exports){
 19187 module.exports={
 19188   "pagination": {
 19189     "BatchGetItem": {
 19190       "input_token": "RequestItems",
 19191       "output_token": "UnprocessedKeys"
 19192     },
 19193     "ListTables": {
 19194       "input_token": "ExclusiveStartTableName",
 19195       "output_token": "LastEvaluatedTableName",
 19196       "limit_key": "Limit",
 19197       "result_key": "TableNames"
 19198     },
 19199     "Query": {
 19200       "input_token": "ExclusiveStartKey",
 19201       "output_token": "LastEvaluatedKey",
 19202       "limit_key": "Limit",
 19203       "result_key": "Items"
 19204     },
 19205     "Scan": {
 19206       "input_token": "ExclusiveStartKey",
 19207       "output_token": "LastEvaluatedKey",
 19208       "limit_key": "Limit",
 19209       "result_key": "Items"
 19210     }
 19211   }
 19212 }
 19213 
 19214 },{}],35:[function(require,module,exports){
 19215 module.exports={
 19216   "version": 2,
 19217   "waiters": {
 19218     "TableExists": {
 19219       "delay": 20,
 19220       "operation": "DescribeTable",
 19221       "maxAttempts": 25,
 19222       "acceptors": [
 19223         {
 19224           "expected": "ACTIVE",
 19225           "matcher": "path",
 19226           "state": "success",
 19227           "argument": "Table.TableStatus"
 19228         },
 19229         {
 19230           "expected": "ResourceNotFoundException",
 19231           "matcher": "error",
 19232           "state": "retry"
 19233         }
 19234       ]
 19235     },
 19236     "TableNotExists": {
 19237       "delay": 20,
 19238       "operation": "DescribeTable",
 19239       "maxAttempts": 25,
 19240       "acceptors": [
 19241         {
 19242           "expected": "ResourceNotFoundException",
 19243           "matcher": "error",
 19244           "state": "success"
 19245         }
 19246       ]
 19247     }
 19248   }
 19249 }
 19250 
 19251 },{}],36:[function(require,module,exports){
 19252 module.exports={
 19253   "version": "2.0",
 19254   "metadata": {
 19255     "apiVersion": "2012-08-10",
 19256     "endpointPrefix": "dynamodb",
 19257     "jsonVersion": "1.0",
 19258     "protocol": "json",
 19259     "serviceAbbreviation": "DynamoDB",
 19260     "serviceFullName": "Amazon DynamoDB",
 19261     "signatureVersion": "v4",
 19262     "targetPrefix": "DynamoDB_20120810"
 19263   },
 19264   "operations": {
 19265     "BatchGetItem": {
 19266       "input": {
 19267         "type": "structure",
 19268         "required": [
 19269           "RequestItems"
 19270         ],
 19271         "members": {
 19272           "RequestItems": {
 19273             "shape": "S2"
 19274           },
 19275           "ReturnConsumedCapacity": {}
 19276         }
 19277       },
 19278       "output": {
 19279         "type": "structure",
 19280         "members": {
 19281           "Responses": {
 19282             "type": "map",
 19283             "key": {},
 19284             "value": {
 19285               "shape": "Sr"
 19286             }
 19287           },
 19288           "UnprocessedKeys": {
 19289             "shape": "S2"
 19290           },
 19291           "ConsumedCapacity": {
 19292             "shape": "St"
 19293           }
 19294         }
 19295       }
 19296     },
 19297     "BatchWriteItem": {
 19298       "input": {
 19299         "type": "structure",
 19300         "required": [
 19301           "RequestItems"
 19302         ],
 19303         "members": {
 19304           "RequestItems": {
 19305             "shape": "S10"
 19306           },
 19307           "ReturnConsumedCapacity": {},
 19308           "ReturnItemCollectionMetrics": {}
 19309         }
 19310       },
 19311       "output": {
 19312         "type": "structure",
 19313         "members": {
 19314           "UnprocessedItems": {
 19315             "shape": "S10"
 19316           },
 19317           "ItemCollectionMetrics": {
 19318             "type": "map",
 19319             "key": {},
 19320             "value": {
 19321               "type": "list",
 19322               "member": {
 19323                 "shape": "S1a"
 19324               }
 19325             }
 19326           },
 19327           "ConsumedCapacity": {
 19328             "shape": "St"
 19329           }
 19330         }
 19331       }
 19332     },
 19333     "CreateTable": {
 19334       "input": {
 19335         "type": "structure",
 19336         "required": [
 19337           "AttributeDefinitions",
 19338           "TableName",
 19339           "KeySchema",
 19340           "ProvisionedThroughput"
 19341         ],
 19342         "members": {
 19343           "AttributeDefinitions": {
 19344             "shape": "S1f"
 19345           },
 19346           "TableName": {},
 19347           "KeySchema": {
 19348             "shape": "S1j"
 19349           },
 19350           "LocalSecondaryIndexes": {
 19351             "type": "list",
 19352             "member": {
 19353               "type": "structure",
 19354               "required": [
 19355                 "IndexName",
 19356                 "KeySchema",
 19357                 "Projection"
 19358               ],
 19359               "members": {
 19360                 "IndexName": {},
 19361                 "KeySchema": {
 19362                   "shape": "S1j"
 19363                 },
 19364                 "Projection": {
 19365                   "shape": "S1o"
 19366                 }
 19367               }
 19368             }
 19369           },
 19370           "GlobalSecondaryIndexes": {
 19371             "type": "list",
 19372             "member": {
 19373               "type": "structure",
 19374               "required": [
 19375                 "IndexName",
 19376                 "KeySchema",
 19377                 "Projection",
 19378                 "ProvisionedThroughput"
 19379               ],
 19380               "members": {
 19381                 "IndexName": {},
 19382                 "KeySchema": {
 19383                   "shape": "S1j"
 19384                 },
 19385                 "Projection": {
 19386                   "shape": "S1o"
 19387                 },
 19388                 "ProvisionedThroughput": {
 19389                   "shape": "S1u"
 19390                 }
 19391               }
 19392             }
 19393           },
 19394           "ProvisionedThroughput": {
 19395             "shape": "S1u"
 19396           },
 19397           "StreamSpecification": {
 19398             "shape": "S1w"
 19399           }
 19400         }
 19401       },
 19402       "output": {
 19403         "type": "structure",
 19404         "members": {
 19405           "TableDescription": {
 19406             "shape": "S20"
 19407           }
 19408         }
 19409       }
 19410     },
 19411     "DeleteItem": {
 19412       "input": {
 19413         "type": "structure",
 19414         "required": [
 19415           "TableName",
 19416           "Key"
 19417         ],
 19418         "members": {
 19419           "TableName": {},
 19420           "Key": {
 19421             "shape": "S6"
 19422           },
 19423           "Expected": {
 19424             "shape": "S2e"
 19425           },
 19426           "ConditionalOperator": {},
 19427           "ReturnValues": {},
 19428           "ReturnConsumedCapacity": {},
 19429           "ReturnItemCollectionMetrics": {},
 19430           "ConditionExpression": {},
 19431           "ExpressionAttributeNames": {
 19432             "shape": "Sm"
 19433           },
 19434           "ExpressionAttributeValues": {
 19435             "shape": "S2m"
 19436           }
 19437         }
 19438       },
 19439       "output": {
 19440         "type": "structure",
 19441         "members": {
 19442           "Attributes": {
 19443             "shape": "Ss"
 19444           },
 19445           "ConsumedCapacity": {
 19446             "shape": "Su"
 19447           },
 19448           "ItemCollectionMetrics": {
 19449             "shape": "S1a"
 19450           }
 19451         }
 19452       }
 19453     },
 19454     "DeleteTable": {
 19455       "input": {
 19456         "type": "structure",
 19457         "required": [
 19458           "TableName"
 19459         ],
 19460         "members": {
 19461           "TableName": {}
 19462         }
 19463       },
 19464       "output": {
 19465         "type": "structure",
 19466         "members": {
 19467           "TableDescription": {
 19468             "shape": "S20"
 19469           }
 19470         }
 19471       }
 19472     },
 19473     "DescribeLimits": {
 19474       "input": {
 19475         "type": "structure",
 19476         "members": {}
 19477       },
 19478       "output": {
 19479         "type": "structure",
 19480         "members": {
 19481           "AccountMaxReadCapacityUnits": {
 19482             "type": "long"
 19483           },
 19484           "AccountMaxWriteCapacityUnits": {
 19485             "type": "long"
 19486           },
 19487           "TableMaxReadCapacityUnits": {
 19488             "type": "long"
 19489           },
 19490           "TableMaxWriteCapacityUnits": {
 19491             "type": "long"
 19492           }
 19493         }
 19494       }
 19495     },
 19496     "DescribeTable": {
 19497       "input": {
 19498         "type": "structure",
 19499         "required": [
 19500           "TableName"
 19501         ],
 19502         "members": {
 19503           "TableName": {}
 19504         }
 19505       },
 19506       "output": {
 19507         "type": "structure",
 19508         "members": {
 19509           "Table": {
 19510             "shape": "S20"
 19511           }
 19512         }
 19513       }
 19514     },
 19515     "GetItem": {
 19516       "input": {
 19517         "type": "structure",
 19518         "required": [
 19519           "TableName",
 19520           "Key"
 19521         ],
 19522         "members": {
 19523           "TableName": {},
 19524           "Key": {
 19525             "shape": "S6"
 19526           },
 19527           "AttributesToGet": {
 19528             "shape": "Sj"
 19529           },
 19530           "ConsistentRead": {
 19531             "type": "boolean"
 19532           },
 19533           "ReturnConsumedCapacity": {},
 19534           "ProjectionExpression": {},
 19535           "ExpressionAttributeNames": {
 19536             "shape": "Sm"
 19537           }
 19538         }
 19539       },
 19540       "output": {
 19541         "type": "structure",
 19542         "members": {
 19543           "Item": {
 19544             "shape": "Ss"
 19545           },
 19546           "ConsumedCapacity": {
 19547             "shape": "Su"
 19548           }
 19549         }
 19550       }
 19551     },
 19552     "ListTables": {
 19553       "input": {
 19554         "type": "structure",
 19555         "members": {
 19556           "ExclusiveStartTableName": {},
 19557           "Limit": {
 19558             "type": "integer"
 19559           }
 19560         }
 19561       },
 19562       "output": {
 19563         "type": "structure",
 19564         "members": {
 19565           "TableNames": {
 19566             "type": "list",
 19567             "member": {}
 19568           },
 19569           "LastEvaluatedTableName": {}
 19570         }
 19571       }
 19572     },
 19573     "PutItem": {
 19574       "input": {
 19575         "type": "structure",
 19576         "required": [
 19577           "TableName",
 19578           "Item"
 19579         ],
 19580         "members": {
 19581           "TableName": {},
 19582           "Item": {
 19583             "shape": "S14"
 19584           },
 19585           "Expected": {
 19586             "shape": "S2e"
 19587           },
 19588           "ReturnValues": {},
 19589           "ReturnConsumedCapacity": {},
 19590           "ReturnItemCollectionMetrics": {},
 19591           "ConditionalOperator": {},
 19592           "ConditionExpression": {},
 19593           "ExpressionAttributeNames": {
 19594             "shape": "Sm"
 19595           },
 19596           "ExpressionAttributeValues": {
 19597             "shape": "S2m"
 19598           }
 19599         }
 19600       },
 19601       "output": {
 19602         "type": "structure",
 19603         "members": {
 19604           "Attributes": {
 19605             "shape": "Ss"
 19606           },
 19607           "ConsumedCapacity": {
 19608             "shape": "Su"
 19609           },
 19610           "ItemCollectionMetrics": {
 19611             "shape": "S1a"
 19612           }
 19613         }
 19614       }
 19615     },
 19616     "Query": {
 19617       "input": {
 19618         "type": "structure",
 19619         "required": [
 19620           "TableName"
 19621         ],
 19622         "members": {
 19623           "TableName": {},
 19624           "IndexName": {},
 19625           "Select": {},
 19626           "AttributesToGet": {
 19627             "shape": "Sj"
 19628           },
 19629           "Limit": {
 19630             "type": "integer"
 19631           },
 19632           "ConsistentRead": {
 19633             "type": "boolean"
 19634           },
 19635           "KeyConditions": {
 19636             "type": "map",
 19637             "key": {},
 19638             "value": {
 19639               "shape": "S37"
 19640             }
 19641           },
 19642           "QueryFilter": {
 19643             "shape": "S38"
 19644           },
 19645           "ConditionalOperator": {},
 19646           "ScanIndexForward": {
 19647             "type": "boolean"
 19648           },
 19649           "ExclusiveStartKey": {
 19650             "shape": "S6"
 19651           },
 19652           "ReturnConsumedCapacity": {},
 19653           "ProjectionExpression": {},
 19654           "FilterExpression": {},
 19655           "KeyConditionExpression": {},
 19656           "ExpressionAttributeNames": {
 19657             "shape": "Sm"
 19658           },
 19659           "ExpressionAttributeValues": {
 19660             "shape": "S2m"
 19661           }
 19662         }
 19663       },
 19664       "output": {
 19665         "type": "structure",
 19666         "members": {
 19667           "Items": {
 19668             "shape": "Sr"
 19669           },
 19670           "Count": {
 19671             "type": "integer"
 19672           },
 19673           "ScannedCount": {
 19674             "type": "integer"
 19675           },
 19676           "LastEvaluatedKey": {
 19677             "shape": "S6"
 19678           },
 19679           "ConsumedCapacity": {
 19680             "shape": "Su"
 19681           }
 19682         }
 19683       }
 19684     },
 19685     "Scan": {
 19686       "input": {
 19687         "type": "structure",
 19688         "required": [
 19689           "TableName"
 19690         ],
 19691         "members": {
 19692           "TableName": {},
 19693           "IndexName": {},
 19694           "AttributesToGet": {
 19695             "shape": "Sj"
 19696           },
 19697           "Limit": {
 19698             "type": "integer"
 19699           },
 19700           "Select": {},
 19701           "ScanFilter": {
 19702             "shape": "S38"
 19703           },
 19704           "ConditionalOperator": {},
 19705           "ExclusiveStartKey": {
 19706             "shape": "S6"
 19707           },
 19708           "ReturnConsumedCapacity": {},
 19709           "TotalSegments": {
 19710             "type": "integer"
 19711           },
 19712           "Segment": {
 19713             "type": "integer"
 19714           },
 19715           "ProjectionExpression": {},
 19716           "FilterExpression": {},
 19717           "ExpressionAttributeNames": {
 19718             "shape": "Sm"
 19719           },
 19720           "ExpressionAttributeValues": {
 19721             "shape": "S2m"
 19722           },
 19723           "ConsistentRead": {
 19724             "type": "boolean"
 19725           }
 19726         }
 19727       },
 19728       "output": {
 19729         "type": "structure",
 19730         "members": {
 19731           "Items": {
 19732             "shape": "Sr"
 19733           },
 19734           "Count": {
 19735             "type": "integer"
 19736           },
 19737           "ScannedCount": {
 19738             "type": "integer"
 19739           },
 19740           "LastEvaluatedKey": {
 19741             "shape": "S6"
 19742           },
 19743           "ConsumedCapacity": {
 19744             "shape": "Su"
 19745           }
 19746         }
 19747       }
 19748     },
 19749     "UpdateItem": {
 19750       "input": {
 19751         "type": "structure",
 19752         "required": [
 19753           "TableName",
 19754           "Key"
 19755         ],
 19756         "members": {
 19757           "TableName": {},
 19758           "Key": {
 19759             "shape": "S6"
 19760           },
 19761           "AttributeUpdates": {
 19762             "type": "map",
 19763             "key": {},
 19764             "value": {
 19765               "type": "structure",
 19766               "members": {
 19767                 "Value": {
 19768                   "shape": "S8"
 19769                 },
 19770                 "Action": {}
 19771               }
 19772             }
 19773           },
 19774           "Expected": {
 19775             "shape": "S2e"
 19776           },
 19777           "ConditionalOperator": {},
 19778           "ReturnValues": {},
 19779           "ReturnConsumedCapacity": {},
 19780           "ReturnItemCollectionMetrics": {},
 19781           "UpdateExpression": {},
 19782           "ConditionExpression": {},
 19783           "ExpressionAttributeNames": {
 19784             "shape": "Sm"
 19785           },
 19786           "ExpressionAttributeValues": {
 19787             "shape": "S2m"
 19788           }
 19789         }
 19790       },
 19791       "output": {
 19792         "type": "structure",
 19793         "members": {
 19794           "Attributes": {
 19795             "shape": "Ss"
 19796           },
 19797           "ConsumedCapacity": {
 19798             "shape": "Su"
 19799           },
 19800           "ItemCollectionMetrics": {
 19801             "shape": "S1a"
 19802           }
 19803         }
 19804       }
 19805     },
 19806     "UpdateTable": {
 19807       "input": {
 19808         "type": "structure",
 19809         "required": [
 19810           "TableName"
 19811         ],
 19812         "members": {
 19813           "AttributeDefinitions": {
 19814             "shape": "S1f"
 19815           },
 19816           "TableName": {},
 19817           "ProvisionedThroughput": {
 19818             "shape": "S1u"
 19819           },
 19820           "GlobalSecondaryIndexUpdates": {
 19821             "type": "list",
 19822             "member": {
 19823               "type": "structure",
 19824               "members": {
 19825                 "Update": {
 19826                   "type": "structure",
 19827                   "required": [
 19828                     "IndexName",
 19829                     "ProvisionedThroughput"
 19830                   ],
 19831                   "members": {
 19832                     "IndexName": {},
 19833                     "ProvisionedThroughput": {
 19834                       "shape": "S1u"
 19835                     }
 19836                   }
 19837                 },
 19838                 "Create": {
 19839                   "type": "structure",
 19840                   "required": [
 19841                     "IndexName",
 19842                     "KeySchema",
 19843                     "Projection",
 19844                     "ProvisionedThroughput"
 19845                   ],
 19846                   "members": {
 19847                     "IndexName": {},
 19848                     "KeySchema": {
 19849                       "shape": "S1j"
 19850                     },
 19851                     "Projection": {
 19852                       "shape": "S1o"
 19853                     },
 19854                     "ProvisionedThroughput": {
 19855                       "shape": "S1u"
 19856                     }
 19857                   }
 19858                 },
 19859                 "Delete": {
 19860                   "type": "structure",
 19861                   "required": [
 19862                     "IndexName"
 19863                   ],
 19864                   "members": {
 19865                     "IndexName": {}
 19866                   }
 19867                 }
 19868               }
 19869             }
 19870           },
 19871           "StreamSpecification": {
 19872             "shape": "S1w"
 19873           }
 19874         }
 19875       },
 19876       "output": {
 19877         "type": "structure",
 19878         "members": {
 19879           "TableDescription": {
 19880             "shape": "S20"
 19881           }
 19882         }
 19883       }
 19884     }
 19885   },
 19886   "shapes": {
 19887     "S2": {
 19888       "type": "map",
 19889       "key": {},
 19890       "value": {
 19891         "type": "structure",
 19892         "required": [
 19893           "Keys"
 19894         ],
 19895         "members": {
 19896           "Keys": {
 19897             "type": "list",
 19898             "member": {
 19899               "shape": "S6"
 19900             }
 19901           },
 19902           "AttributesToGet": {
 19903             "shape": "Sj"
 19904           },
 19905           "ConsistentRead": {
 19906             "type": "boolean"
 19907           },
 19908           "ProjectionExpression": {},
 19909           "ExpressionAttributeNames": {
 19910             "shape": "Sm"
 19911           }
 19912         }
 19913       }
 19914     },
 19915     "S6": {
 19916       "type": "map",
 19917       "key": {},
 19918       "value": {
 19919         "shape": "S8"
 19920       }
 19921     },
 19922     "S8": {
 19923       "type": "structure",
 19924       "members": {
 19925         "S": {},
 19926         "N": {},
 19927         "B": {
 19928           "type": "blob"
 19929         },
 19930         "SS": {
 19931           "type": "list",
 19932           "member": {}
 19933         },
 19934         "NS": {
 19935           "type": "list",
 19936           "member": {}
 19937         },
 19938         "BS": {
 19939           "type": "list",
 19940           "member": {
 19941             "type": "blob"
 19942           }
 19943         },
 19944         "M": {
 19945           "type": "map",
 19946           "key": {},
 19947           "value": {
 19948             "shape": "S8"
 19949           }
 19950         },
 19951         "L": {
 19952           "type": "list",
 19953           "member": {
 19954             "shape": "S8"
 19955           }
 19956         },
 19957         "NULL": {
 19958           "type": "boolean"
 19959         },
 19960         "BOOL": {
 19961           "type": "boolean"
 19962         }
 19963       }
 19964     },
 19965     "Sj": {
 19966       "type": "list",
 19967       "member": {}
 19968     },
 19969     "Sm": {
 19970       "type": "map",
 19971       "key": {},
 19972       "value": {}
 19973     },
 19974     "Sr": {
 19975       "type": "list",
 19976       "member": {
 19977         "shape": "Ss"
 19978       }
 19979     },
 19980     "Ss": {
 19981       "type": "map",
 19982       "key": {},
 19983       "value": {
 19984         "shape": "S8"
 19985       }
 19986     },
 19987     "St": {
 19988       "type": "list",
 19989       "member": {
 19990         "shape": "Su"
 19991       }
 19992     },
 19993     "Su": {
 19994       "type": "structure",
 19995       "members": {
 19996         "TableName": {},
 19997         "CapacityUnits": {
 19998           "type": "double"
 19999         },
 20000         "Table": {
 20001           "shape": "Sw"
 20002         },
 20003         "LocalSecondaryIndexes": {
 20004           "shape": "Sx"
 20005         },
 20006         "GlobalSecondaryIndexes": {
 20007           "shape": "Sx"
 20008         }
 20009       }
 20010     },
 20011     "Sw": {
 20012       "type": "structure",
 20013       "members": {
 20014         "CapacityUnits": {
 20015           "type": "double"
 20016         }
 20017       }
 20018     },
 20019     "Sx": {
 20020       "type": "map",
 20021       "key": {},
 20022       "value": {
 20023         "shape": "Sw"
 20024       }
 20025     },
 20026     "S10": {
 20027       "type": "map",
 20028       "key": {},
 20029       "value": {
 20030         "type": "list",
 20031         "member": {
 20032           "type": "structure",
 20033           "members": {
 20034             "PutRequest": {
 20035               "type": "structure",
 20036               "required": [
 20037                 "Item"
 20038               ],
 20039               "members": {
 20040                 "Item": {
 20041                   "shape": "S14"
 20042                 }
 20043               }
 20044             },
 20045             "DeleteRequest": {
 20046               "type": "structure",
 20047               "required": [
 20048                 "Key"
 20049               ],
 20050               "members": {
 20051                 "Key": {
 20052                   "shape": "S6"
 20053                 }
 20054               }
 20055             }
 20056           }
 20057         }
 20058       }
 20059     },
 20060     "S14": {
 20061       "type": "map",
 20062       "key": {},
 20063       "value": {
 20064         "shape": "S8"
 20065       }
 20066     },
 20067     "S1a": {
 20068       "type": "structure",
 20069       "members": {
 20070         "ItemCollectionKey": {
 20071           "type": "map",
 20072           "key": {},
 20073           "value": {
 20074             "shape": "S8"
 20075           }
 20076         },
 20077         "SizeEstimateRangeGB": {
 20078           "type": "list",
 20079           "member": {
 20080             "type": "double"
 20081           }
 20082         }
 20083       }
 20084     },
 20085     "S1f": {
 20086       "type": "list",
 20087       "member": {
 20088         "type": "structure",
 20089         "required": [
 20090           "AttributeName",
 20091           "AttributeType"
 20092         ],
 20093         "members": {
 20094           "AttributeName": {},
 20095           "AttributeType": {}
 20096         }
 20097       }
 20098     },
 20099     "S1j": {
 20100       "type": "list",
 20101       "member": {
 20102         "type": "structure",
 20103         "required": [
 20104           "AttributeName",
 20105           "KeyType"
 20106         ],
 20107         "members": {
 20108           "AttributeName": {},
 20109           "KeyType": {}
 20110         }
 20111       }
 20112     },
 20113     "S1o": {
 20114       "type": "structure",
 20115       "members": {
 20116         "ProjectionType": {},
 20117         "NonKeyAttributes": {
 20118           "type": "list",
 20119           "member": {}
 20120         }
 20121       }
 20122     },
 20123     "S1u": {
 20124       "type": "structure",
 20125       "required": [
 20126         "ReadCapacityUnits",
 20127         "WriteCapacityUnits"
 20128       ],
 20129       "members": {
 20130         "ReadCapacityUnits": {
 20131           "type": "long"
 20132         },
 20133         "WriteCapacityUnits": {
 20134           "type": "long"
 20135         }
 20136       }
 20137     },
 20138     "S1w": {
 20139       "type": "structure",
 20140       "members": {
 20141         "StreamEnabled": {
 20142           "type": "boolean"
 20143         },
 20144         "StreamViewType": {}
 20145       }
 20146     },
 20147     "S20": {
 20148       "type": "structure",
 20149       "members": {
 20150         "AttributeDefinitions": {
 20151           "shape": "S1f"
 20152         },
 20153         "TableName": {},
 20154         "KeySchema": {
 20155           "shape": "S1j"
 20156         },
 20157         "TableStatus": {},
 20158         "CreationDateTime": {
 20159           "type": "timestamp"
 20160         },
 20161         "ProvisionedThroughput": {
 20162           "shape": "S23"
 20163         },
 20164         "TableSizeBytes": {
 20165           "type": "long"
 20166         },
 20167         "ItemCount": {
 20168           "type": "long"
 20169         },
 20170         "TableArn": {},
 20171         "LocalSecondaryIndexes": {
 20172           "type": "list",
 20173           "member": {
 20174             "type": "structure",
 20175             "members": {
 20176               "IndexName": {},
 20177               "KeySchema": {
 20178                 "shape": "S1j"
 20179               },
 20180               "Projection": {
 20181                 "shape": "S1o"
 20182               },
 20183               "IndexSizeBytes": {
 20184                 "type": "long"
 20185               },
 20186               "ItemCount": {
 20187                 "type": "long"
 20188               },
 20189               "IndexArn": {}
 20190             }
 20191           }
 20192         },
 20193         "GlobalSecondaryIndexes": {
 20194           "type": "list",
 20195           "member": {
 20196             "type": "structure",
 20197             "members": {
 20198               "IndexName": {},
 20199               "KeySchema": {
 20200                 "shape": "S1j"
 20201               },
 20202               "Projection": {
 20203                 "shape": "S1o"
 20204               },
 20205               "IndexStatus": {},
 20206               "Backfilling": {
 20207                 "type": "boolean"
 20208               },
 20209               "ProvisionedThroughput": {
 20210                 "shape": "S23"
 20211               },
 20212               "IndexSizeBytes": {
 20213                 "type": "long"
 20214               },
 20215               "ItemCount": {
 20216                 "type": "long"
 20217               },
 20218               "IndexArn": {}
 20219             }
 20220           }
 20221         },
 20222         "StreamSpecification": {
 20223           "shape": "S1w"
 20224         },
 20225         "LatestStreamLabel": {},
 20226         "LatestStreamArn": {}
 20227       }
 20228     },
 20229     "S23": {
 20230       "type": "structure",
 20231       "members": {
 20232         "LastIncreaseDateTime": {
 20233           "type": "timestamp"
 20234         },
 20235         "LastDecreaseDateTime": {
 20236           "type": "timestamp"
 20237         },
 20238         "NumberOfDecreasesToday": {
 20239           "type": "long"
 20240         },
 20241         "ReadCapacityUnits": {
 20242           "type": "long"
 20243         },
 20244         "WriteCapacityUnits": {
 20245           "type": "long"
 20246         }
 20247       }
 20248     },
 20249     "S2e": {
 20250       "type": "map",
 20251       "key": {},
 20252       "value": {
 20253         "type": "structure",
 20254         "members": {
 20255           "Value": {
 20256             "shape": "S8"
 20257           },
 20258           "Exists": {
 20259             "type": "boolean"
 20260           },
 20261           "ComparisonOperator": {},
 20262           "AttributeValueList": {
 20263             "shape": "S2i"
 20264           }
 20265         }
 20266       }
 20267     },
 20268     "S2i": {
 20269       "type": "list",
 20270       "member": {
 20271         "shape": "S8"
 20272       }
 20273     },
 20274     "S2m": {
 20275       "type": "map",
 20276       "key": {},
 20277       "value": {
 20278         "shape": "S8"
 20279       }
 20280     },
 20281     "S37": {
 20282       "type": "structure",
 20283       "required": [
 20284         "ComparisonOperator"
 20285       ],
 20286       "members": {
 20287         "AttributeValueList": {
 20288           "shape": "S2i"
 20289         },
 20290         "ComparisonOperator": {}
 20291       }
 20292     },
 20293     "S38": {
 20294       "type": "map",
 20295       "key": {},
 20296       "value": {
 20297         "shape": "S37"
 20298       }
 20299     }
 20300   }
 20301 }
 20302 },{}],37:[function(require,module,exports){
 20303 arguments[4][34][0].apply(exports,arguments)
 20304 },{"dup":34}],38:[function(require,module,exports){
 20305 arguments[4][35][0].apply(exports,arguments)
 20306 },{"dup":35}],39:[function(require,module,exports){
 20307 module.exports={
 20308   "version": "2.0",
 20309   "metadata": {
 20310     "apiVersion": "2016-09-15",
 20311     "endpointPrefix": "ec2",
 20312     "protocol": "ec2",
 20313     "serviceAbbreviation": "Amazon EC2",
 20314     "serviceFullName": "Amazon Elastic Compute Cloud",
 20315     "signatureVersion": "v4",
 20316     "xmlNamespace": "http://ec2.amazonaws.com/doc/2016-09-15"
 20317   },
 20318   "operations": {
 20319     "AcceptReservedInstancesExchangeQuote": {
 20320       "input": {
 20321         "type": "structure",
 20322         "required": [
 20323           "ReservedInstanceIds"
 20324         ],
 20325         "members": {
 20326           "DryRun": {
 20327             "type": "boolean"
 20328           },
 20329           "ReservedInstanceIds": {
 20330             "shape": "S3",
 20331             "locationName": "ReservedInstanceId"
 20332           },
 20333           "TargetConfigurations": {
 20334             "shape": "S5",
 20335             "locationName": "TargetConfiguration"
 20336           }
 20337         }
 20338       },
 20339       "output": {
 20340         "type": "structure",
 20341         "members": {
 20342           "ExchangeId": {
 20343             "locationName": "exchangeId"
 20344           }
 20345         }
 20346       }
 20347     },
 20348     "AcceptVpcPeeringConnection": {
 20349       "input": {
 20350         "type": "structure",
 20351         "members": {
 20352           "DryRun": {
 20353             "locationName": "dryRun",
 20354             "type": "boolean"
 20355           },
 20356           "VpcPeeringConnectionId": {
 20357             "locationName": "vpcPeeringConnectionId"
 20358           }
 20359         }
 20360       },
 20361       "output": {
 20362         "type": "structure",
 20363         "members": {
 20364           "VpcPeeringConnection": {
 20365             "shape": "Sb",
 20366             "locationName": "vpcPeeringConnection"
 20367           }
 20368         }
 20369       }
 20370     },
 20371     "AllocateAddress": {
 20372       "input": {
 20373         "type": "structure",
 20374         "members": {
 20375           "DryRun": {
 20376             "locationName": "dryRun",
 20377             "type": "boolean"
 20378           },
 20379           "Domain": {}
 20380         }
 20381       },
 20382       "output": {
 20383         "type": "structure",
 20384         "members": {
 20385           "PublicIp": {
 20386             "locationName": "publicIp"
 20387           },
 20388           "Domain": {
 20389             "locationName": "domain"
 20390           },
 20391           "AllocationId": {
 20392             "locationName": "allocationId"
 20393           }
 20394         }
 20395       }
 20396     },
 20397     "AllocateHosts": {
 20398       "input": {
 20399         "type": "structure",
 20400         "required": [
 20401           "InstanceType",
 20402           "Quantity",
 20403           "AvailabilityZone"
 20404         ],
 20405         "members": {
 20406           "AutoPlacement": {
 20407             "locationName": "autoPlacement"
 20408           },
 20409           "ClientToken": {
 20410             "locationName": "clientToken"
 20411           },
 20412           "InstanceType": {
 20413             "locationName": "instanceType"
 20414           },
 20415           "Quantity": {
 20416             "locationName": "quantity",
 20417             "type": "integer"
 20418           },
 20419           "AvailabilityZone": {
 20420             "locationName": "availabilityZone"
 20421           }
 20422         }
 20423       },
 20424       "output": {
 20425         "type": "structure",
 20426         "members": {
 20427           "HostIds": {
 20428             "shape": "Sp",
 20429             "locationName": "hostIdSet"
 20430           }
 20431         }
 20432       }
 20433     },
 20434     "AssignPrivateIpAddresses": {
 20435       "input": {
 20436         "type": "structure",
 20437         "required": [
 20438           "NetworkInterfaceId"
 20439         ],
 20440         "members": {
 20441           "NetworkInterfaceId": {
 20442             "locationName": "networkInterfaceId"
 20443           },
 20444           "PrivateIpAddresses": {
 20445             "shape": "Sr",
 20446             "locationName": "privateIpAddress"
 20447           },
 20448           "SecondaryPrivateIpAddressCount": {
 20449             "locationName": "secondaryPrivateIpAddressCount",
 20450             "type": "integer"
 20451           },
 20452           "AllowReassignment": {
 20453             "locationName": "allowReassignment",
 20454             "type": "boolean"
 20455           }
 20456         }
 20457       }
 20458     },
 20459     "AssociateAddress": {
 20460       "input": {
 20461         "type": "structure",
 20462         "members": {
 20463           "DryRun": {
 20464             "locationName": "dryRun",
 20465             "type": "boolean"
 20466           },
 20467           "InstanceId": {},
 20468           "PublicIp": {},
 20469           "AllocationId": {},
 20470           "NetworkInterfaceId": {
 20471             "locationName": "networkInterfaceId"
 20472           },
 20473           "PrivateIpAddress": {
 20474             "locationName": "privateIpAddress"
 20475           },
 20476           "AllowReassociation": {
 20477             "locationName": "allowReassociation",
 20478             "type": "boolean"
 20479           }
 20480         }
 20481       },
 20482       "output": {
 20483         "type": "structure",
 20484         "members": {
 20485           "AssociationId": {
 20486             "locationName": "associationId"
 20487           }
 20488         }
 20489       }
 20490     },
 20491     "AssociateDhcpOptions": {
 20492       "input": {
 20493         "type": "structure",
 20494         "required": [
 20495           "DhcpOptionsId",
 20496           "VpcId"
 20497         ],
 20498         "members": {
 20499           "DryRun": {
 20500             "locationName": "dryRun",
 20501             "type": "boolean"
 20502           },
 20503           "DhcpOptionsId": {},
 20504           "VpcId": {}
 20505         }
 20506       }
 20507     },
 20508     "AssociateRouteTable": {
 20509       "input": {
 20510         "type": "structure",
 20511         "required": [
 20512           "SubnetId",
 20513           "RouteTableId"
 20514         ],
 20515         "members": {
 20516           "DryRun": {
 20517             "locationName": "dryRun",
 20518             "type": "boolean"
 20519           },
 20520           "SubnetId": {
 20521             "locationName": "subnetId"
 20522           },
 20523           "RouteTableId": {
 20524             "locationName": "routeTableId"
 20525           }
 20526         }
 20527       },
 20528       "output": {
 20529         "type": "structure",
 20530         "members": {
 20531           "AssociationId": {
 20532             "locationName": "associationId"
 20533           }
 20534         }
 20535       }
 20536     },
 20537     "AttachClassicLinkVpc": {
 20538       "input": {
 20539         "type": "structure",
 20540         "required": [
 20541           "InstanceId",
 20542           "VpcId",
 20543           "Groups"
 20544         ],
 20545         "members": {
 20546           "DryRun": {
 20547             "locationName": "dryRun",
 20548             "type": "boolean"
 20549           },
 20550           "InstanceId": {
 20551             "locationName": "instanceId"
 20552           },
 20553           "VpcId": {
 20554             "locationName": "vpcId"
 20555           },
 20556           "Groups": {
 20557             "shape": "Sy",
 20558             "locationName": "SecurityGroupId"
 20559           }
 20560         }
 20561       },
 20562       "output": {
 20563         "type": "structure",
 20564         "members": {
 20565           "Return": {
 20566             "locationName": "return",
 20567             "type": "boolean"
 20568           }
 20569         }
 20570       }
 20571     },
 20572     "AttachInternetGateway": {
 20573       "input": {
 20574         "type": "structure",
 20575         "required": [
 20576           "InternetGatewayId",
 20577           "VpcId"
 20578         ],
 20579         "members": {
 20580           "DryRun": {
 20581             "locationName": "dryRun",
 20582             "type": "boolean"
 20583           },
 20584           "InternetGatewayId": {
 20585             "locationName": "internetGatewayId"
 20586           },
 20587           "VpcId": {
 20588             "locationName": "vpcId"
 20589           }
 20590         }
 20591       }
 20592     },
 20593     "AttachNetworkInterface": {
 20594       "input": {
 20595         "type": "structure",
 20596         "required": [
 20597           "NetworkInterfaceId",
 20598           "InstanceId",
 20599           "DeviceIndex"
 20600         ],
 20601         "members": {
 20602           "DryRun": {
 20603             "locationName": "dryRun",
 20604             "type": "boolean"
 20605           },
 20606           "NetworkInterfaceId": {
 20607             "locationName": "networkInterfaceId"
 20608           },
 20609           "InstanceId": {
 20610             "locationName": "instanceId"
 20611           },
 20612           "DeviceIndex": {
 20613             "locationName": "deviceIndex",
 20614             "type": "integer"
 20615           }
 20616         }
 20617       },
 20618       "output": {
 20619         "type": "structure",
 20620         "members": {
 20621           "AttachmentId": {
 20622             "locationName": "attachmentId"
 20623           }
 20624         }
 20625       }
 20626     },
 20627     "AttachVolume": {
 20628       "input": {
 20629         "type": "structure",
 20630         "required": [
 20631           "VolumeId",
 20632           "InstanceId",
 20633           "Device"
 20634         ],
 20635         "members": {
 20636           "DryRun": {
 20637             "locationName": "dryRun",
 20638             "type": "boolean"
 20639           },
 20640           "VolumeId": {},
 20641           "InstanceId": {},
 20642           "Device": {}
 20643         }
 20644       },
 20645       "output": {
 20646         "shape": "S14"
 20647       }
 20648     },
 20649     "AttachVpnGateway": {
 20650       "input": {
 20651         "type": "structure",
 20652         "required": [
 20653           "VpnGatewayId",
 20654           "VpcId"
 20655         ],
 20656         "members": {
 20657           "DryRun": {
 20658             "locationName": "dryRun",
 20659             "type": "boolean"
 20660           },
 20661           "VpnGatewayId": {},
 20662           "VpcId": {}
 20663         }
 20664       },
 20665       "output": {
 20666         "type": "structure",
 20667         "members": {
 20668           "VpcAttachment": {
 20669             "shape": "S18",
 20670             "locationName": "attachment"
 20671           }
 20672         }
 20673       }
 20674     },
 20675     "AuthorizeSecurityGroupEgress": {
 20676       "input": {
 20677         "type": "structure",
 20678         "required": [
 20679           "GroupId"
 20680         ],
 20681         "members": {
 20682           "DryRun": {
 20683             "locationName": "dryRun",
 20684             "type": "boolean"
 20685           },
 20686           "GroupId": {
 20687             "locationName": "groupId"
 20688           },
 20689           "SourceSecurityGroupName": {
 20690             "locationName": "sourceSecurityGroupName"
 20691           },
 20692           "SourceSecurityGroupOwnerId": {
 20693             "locationName": "sourceSecurityGroupOwnerId"
 20694           },
 20695           "IpProtocol": {
 20696             "locationName": "ipProtocol"
 20697           },
 20698           "FromPort": {
 20699             "locationName": "fromPort",
 20700             "type": "integer"
 20701           },
 20702           "ToPort": {
 20703             "locationName": "toPort",
 20704             "type": "integer"
 20705           },
 20706           "CidrIp": {
 20707             "locationName": "cidrIp"
 20708           },
 20709           "IpPermissions": {
 20710             "shape": "S1b",
 20711             "locationName": "ipPermissions"
 20712           }
 20713         }
 20714       }
 20715     },
 20716     "AuthorizeSecurityGroupIngress": {
 20717       "input": {
 20718         "type": "structure",
 20719         "members": {
 20720           "DryRun": {
 20721             "locationName": "dryRun",
 20722             "type": "boolean"
 20723           },
 20724           "GroupName": {},
 20725           "GroupId": {},
 20726           "SourceSecurityGroupName": {},
 20727           "SourceSecurityGroupOwnerId": {},
 20728           "IpProtocol": {},
 20729           "FromPort": {
 20730             "type": "integer"
 20731           },
 20732           "ToPort": {
 20733             "type": "integer"
 20734           },
 20735           "CidrIp": {},
 20736           "IpPermissions": {
 20737             "shape": "S1b"
 20738           }
 20739         }
 20740       }
 20741     },
 20742     "BundleInstance": {
 20743       "input": {
 20744         "type": "structure",
 20745         "required": [
 20746           "InstanceId",
 20747           "Storage"
 20748         ],
 20749         "members": {
 20750           "DryRun": {
 20751             "locationName": "dryRun",
 20752             "type": "boolean"
 20753           },
 20754           "InstanceId": {},
 20755           "Storage": {
 20756             "shape": "S1l"
 20757           }
 20758         }
 20759       },
 20760       "output": {
 20761         "type": "structure",
 20762         "members": {
 20763           "BundleTask": {
 20764             "shape": "S1p",
 20765             "locationName": "bundleInstanceTask"
 20766           }
 20767         }
 20768       }
 20769     },
 20770     "CancelBundleTask": {
 20771       "input": {
 20772         "type": "structure",
 20773         "required": [
 20774           "BundleId"
 20775         ],
 20776         "members": {
 20777           "DryRun": {
 20778             "locationName": "dryRun",
 20779             "type": "boolean"
 20780           },
 20781           "BundleId": {}
 20782         }
 20783       },
 20784       "output": {
 20785         "type": "structure",
 20786         "members": {
 20787           "BundleTask": {
 20788             "shape": "S1p",
 20789             "locationName": "bundleInstanceTask"
 20790           }
 20791         }
 20792       }
 20793     },
 20794     "CancelConversionTask": {
 20795       "input": {
 20796         "type": "structure",
 20797         "required": [
 20798           "ConversionTaskId"
 20799         ],
 20800         "members": {
 20801           "DryRun": {
 20802             "locationName": "dryRun",
 20803             "type": "boolean"
 20804           },
 20805           "ConversionTaskId": {
 20806             "locationName": "conversionTaskId"
 20807           },
 20808           "ReasonMessage": {
 20809             "locationName": "reasonMessage"
 20810           }
 20811         }
 20812       }
 20813     },
 20814     "CancelExportTask": {
 20815       "input": {
 20816         "type": "structure",
 20817         "required": [
 20818           "ExportTaskId"
 20819         ],
 20820         "members": {
 20821           "ExportTaskId": {
 20822             "locationName": "exportTaskId"
 20823           }
 20824         }
 20825       }
 20826     },
 20827     "CancelImportTask": {
 20828       "input": {
 20829         "type": "structure",
 20830         "members": {
 20831           "DryRun": {
 20832             "type": "boolean"
 20833           },
 20834           "ImportTaskId": {},
 20835           "CancelReason": {}
 20836         }
 20837       },
 20838       "output": {
 20839         "type": "structure",
 20840         "members": {
 20841           "ImportTaskId": {
 20842             "locationName": "importTaskId"
 20843           },
 20844           "State": {
 20845             "locationName": "state"
 20846           },
 20847           "PreviousState": {
 20848             "locationName": "previousState"
 20849           }
 20850         }
 20851       }
 20852     },
 20853     "CancelReservedInstancesListing": {
 20854       "input": {
 20855         "type": "structure",
 20856         "required": [
 20857           "ReservedInstancesListingId"
 20858         ],
 20859         "members": {
 20860           "ReservedInstancesListingId": {
 20861             "locationName": "reservedInstancesListingId"
 20862           }
 20863         }
 20864       },
 20865       "output": {
 20866         "type": "structure",
 20867         "members": {
 20868           "ReservedInstancesListings": {
 20869             "shape": "S20",
 20870             "locationName": "reservedInstancesListingsSet"
 20871           }
 20872         }
 20873       }
 20874     },
 20875     "CancelSpotFleetRequests": {
 20876       "input": {
 20877         "type": "structure",
 20878         "required": [
 20879           "SpotFleetRequestIds",
 20880           "TerminateInstances"
 20881         ],
 20882         "members": {
 20883           "DryRun": {
 20884             "locationName": "dryRun",
 20885             "type": "boolean"
 20886           },
 20887           "SpotFleetRequestIds": {
 20888             "shape": "S2c",
 20889             "locationName": "spotFleetRequestId"
 20890           },
 20891           "TerminateInstances": {
 20892             "locationName": "terminateInstances",
 20893             "type": "boolean"
 20894           }
 20895         }
 20896       },
 20897       "output": {
 20898         "type": "structure",
 20899         "members": {
 20900           "UnsuccessfulFleetRequests": {
 20901             "locationName": "unsuccessfulFleetRequestSet",
 20902             "type": "list",
 20903             "member": {
 20904               "locationName": "item",
 20905               "type": "structure",
 20906               "required": [
 20907                 "SpotFleetRequestId",
 20908                 "Error"
 20909               ],
 20910               "members": {
 20911                 "SpotFleetRequestId": {
 20912                   "locationName": "spotFleetRequestId"
 20913                 },
 20914                 "Error": {
 20915                   "locationName": "error",
 20916                   "type": "structure",
 20917                   "required": [
 20918                     "Code",
 20919                     "Message"
 20920                   ],
 20921                   "members": {
 20922                     "Code": {
 20923                       "locationName": "code"
 20924                     },
 20925                     "Message": {
 20926                       "locationName": "message"
 20927                     }
 20928                   }
 20929                 }
 20930               }
 20931             }
 20932           },
 20933           "SuccessfulFleetRequests": {
 20934             "locationName": "successfulFleetRequestSet",
 20935             "type": "list",
 20936             "member": {
 20937               "locationName": "item",
 20938               "type": "structure",
 20939               "required": [
 20940                 "SpotFleetRequestId",
 20941                 "CurrentSpotFleetRequestState",
 20942                 "PreviousSpotFleetRequestState"
 20943               ],
 20944               "members": {
 20945                 "SpotFleetRequestId": {
 20946                   "locationName": "spotFleetRequestId"
 20947                 },
 20948                 "CurrentSpotFleetRequestState": {
 20949                   "locationName": "currentSpotFleetRequestState"
 20950                 },
 20951                 "PreviousSpotFleetRequestState": {
 20952                   "locationName": "previousSpotFleetRequestState"
 20953                 }
 20954               }
 20955             }
 20956           }
 20957         }
 20958       }
 20959     },
 20960     "CancelSpotInstanceRequests": {
 20961       "input": {
 20962         "type": "structure",
 20963         "required": [
 20964           "SpotInstanceRequestIds"
 20965         ],
 20966         "members": {
 20967           "DryRun": {
 20968             "locationName": "dryRun",
 20969             "type": "boolean"
 20970           },
 20971           "SpotInstanceRequestIds": {
 20972             "shape": "S2m",
 20973             "locationName": "SpotInstanceRequestId"
 20974           }
 20975         }
 20976       },
 20977       "output": {
 20978         "type": "structure",
 20979         "members": {
 20980           "CancelledSpotInstanceRequests": {
 20981             "locationName": "spotInstanceRequestSet",
 20982             "type": "list",
 20983             "member": {
 20984               "locationName": "item",
 20985               "type": "structure",
 20986               "members": {
 20987                 "SpotInstanceRequestId": {
 20988                   "locationName": "spotInstanceRequestId"
 20989                 },
 20990                 "State": {
 20991                   "locationName": "state"
 20992                 }
 20993               }
 20994             }
 20995           }
 20996         }
 20997       }
 20998     },
 20999     "ConfirmProductInstance": {
 21000       "input": {
 21001         "type": "structure",
 21002         "required": [
 21003           "ProductCode",
 21004           "InstanceId"
 21005         ],
 21006         "members": {
 21007           "DryRun": {
 21008             "locationName": "dryRun",
 21009             "type": "boolean"
 21010           },
 21011           "ProductCode": {},
 21012           "InstanceId": {}
 21013         }
 21014       },
 21015       "output": {
 21016         "type": "structure",
 21017         "members": {
 21018           "OwnerId": {
 21019             "locationName": "ownerId"
 21020           },
 21021           "Return": {
 21022             "locationName": "return",
 21023             "type": "boolean"
 21024           }
 21025         }
 21026       }
 21027     },
 21028     "CopyImage": {
 21029       "input": {
 21030         "type": "structure",
 21031         "required": [
 21032           "SourceRegion",
 21033           "SourceImageId",
 21034           "Name"
 21035         ],
 21036         "members": {
 21037           "DryRun": {
 21038             "locationName": "dryRun",
 21039             "type": "boolean"
 21040           },
 21041           "SourceRegion": {},
 21042           "SourceImageId": {},
 21043           "Name": {},
 21044           "Description": {},
 21045           "ClientToken": {},
 21046           "Encrypted": {
 21047             "locationName": "encrypted",
 21048             "type": "boolean"
 21049           },
 21050           "KmsKeyId": {
 21051             "locationName": "kmsKeyId"
 21052           }
 21053         }
 21054       },
 21055       "output": {
 21056         "type": "structure",
 21057         "members": {
 21058           "ImageId": {
 21059             "locationName": "imageId"
 21060           }
 21061         }
 21062       }
 21063     },
 21064     "CopySnapshot": {
 21065       "input": {
 21066         "type": "structure",
 21067         "required": [
 21068           "SourceRegion",
 21069           "SourceSnapshotId"
 21070         ],
 21071         "members": {
 21072           "DryRun": {
 21073             "locationName": "dryRun",
 21074             "type": "boolean"
 21075           },
 21076           "SourceRegion": {},
 21077           "SourceSnapshotId": {},
 21078           "Description": {},
 21079           "DestinationRegion": {
 21080             "locationName": "destinationRegion"
 21081           },
 21082           "PresignedUrl": {
 21083             "locationName": "presignedUrl"
 21084           },
 21085           "Encrypted": {
 21086             "locationName": "encrypted",
 21087             "type": "boolean"
 21088           },
 21089           "KmsKeyId": {
 21090             "locationName": "kmsKeyId"
 21091           }
 21092         }
 21093       },
 21094       "output": {
 21095         "type": "structure",
 21096         "members": {
 21097           "SnapshotId": {
 21098             "locationName": "snapshotId"
 21099           }
 21100         }
 21101       }
 21102     },
 21103     "CreateCustomerGateway": {
 21104       "input": {
 21105         "type": "structure",
 21106         "required": [
 21107           "Type",
 21108           "PublicIp",
 21109           "BgpAsn"
 21110         ],
 21111         "members": {
 21112           "DryRun": {
 21113             "locationName": "dryRun",
 21114             "type": "boolean"
 21115           },
 21116           "Type": {},
 21117           "PublicIp": {
 21118             "locationName": "IpAddress"
 21119           },
 21120           "BgpAsn": {
 21121             "type": "integer"
 21122           }
 21123         }
 21124       },
 21125       "output": {
 21126         "type": "structure",
 21127         "members": {
 21128           "CustomerGateway": {
 21129             "shape": "S30",
 21130             "locationName": "customerGateway"
 21131           }
 21132         }
 21133       }
 21134     },
 21135     "CreateDhcpOptions": {
 21136       "input": {
 21137         "type": "structure",
 21138         "required": [
 21139           "DhcpConfigurations"
 21140         ],
 21141         "members": {
 21142           "DryRun": {
 21143             "locationName": "dryRun",
 21144             "type": "boolean"
 21145           },
 21146           "DhcpConfigurations": {
 21147             "locationName": "dhcpConfiguration",
 21148             "type": "list",
 21149             "member": {
 21150               "locationName": "item",
 21151               "type": "structure",
 21152               "members": {
 21153                 "Key": {
 21154                   "locationName": "key"
 21155                 },
 21156                 "Values": {
 21157                   "shape": "S2c",
 21158                   "locationName": "Value"
 21159                 }
 21160               }
 21161             }
 21162           }
 21163         }
 21164       },
 21165       "output": {
 21166         "type": "structure",
 21167         "members": {
 21168           "DhcpOptions": {
 21169             "shape": "S35",
 21170             "locationName": "dhcpOptions"
 21171           }
 21172         }
 21173       }
 21174     },
 21175     "CreateFlowLogs": {
 21176       "input": {
 21177         "type": "structure",
 21178         "required": [
 21179           "ResourceIds",
 21180           "ResourceType",
 21181           "TrafficType",
 21182           "LogGroupName",
 21183           "DeliverLogsPermissionArn"
 21184         ],
 21185         "members": {
 21186           "ResourceIds": {
 21187             "shape": "S2c",
 21188             "locationName": "ResourceId"
 21189           },
 21190           "ResourceType": {},
 21191           "TrafficType": {},
 21192           "LogGroupName": {},
 21193           "DeliverLogsPermissionArn": {},
 21194           "ClientToken": {}
 21195         }
 21196       },
 21197       "output": {
 21198         "type": "structure",
 21199         "members": {
 21200           "FlowLogIds": {
 21201             "shape": "S2c",
 21202             "locationName": "flowLogIdSet"
 21203           },
 21204           "ClientToken": {
 21205             "locationName": "clientToken"
 21206           },
 21207           "Unsuccessful": {
 21208             "shape": "S3e",
 21209             "locationName": "unsuccessful"
 21210           }
 21211         }
 21212       }
 21213     },
 21214     "CreateImage": {
 21215       "input": {
 21216         "type": "structure",
 21217         "required": [
 21218           "InstanceId",
 21219           "Name"
 21220         ],
 21221         "members": {
 21222           "DryRun": {
 21223             "locationName": "dryRun",
 21224             "type": "boolean"
 21225           },
 21226           "InstanceId": {
 21227             "locationName": "instanceId"
 21228           },
 21229           "Name": {
 21230             "locationName": "name"
 21231           },
 21232           "Description": {
 21233             "locationName": "description"
 21234           },
 21235           "NoReboot": {
 21236             "locationName": "noReboot",
 21237             "type": "boolean"
 21238           },
 21239           "BlockDeviceMappings": {
 21240             "shape": "S3i",
 21241             "locationName": "blockDeviceMapping"
 21242           }
 21243         }
 21244       },
 21245       "output": {
 21246         "type": "structure",
 21247         "members": {
 21248           "ImageId": {
 21249             "locationName": "imageId"
 21250           }
 21251         }
 21252       }
 21253     },
 21254     "CreateInstanceExportTask": {
 21255       "input": {
 21256         "type": "structure",
 21257         "required": [
 21258           "InstanceId"
 21259         ],
 21260         "members": {
 21261           "Description": {
 21262             "locationName": "description"
 21263           },
 21264           "InstanceId": {
 21265             "locationName": "instanceId"
 21266           },
 21267           "TargetEnvironment": {
 21268             "locationName": "targetEnvironment"
 21269           },
 21270           "ExportToS3Task": {
 21271             "locationName": "exportToS3",
 21272             "type": "structure",
 21273             "members": {
 21274               "DiskImageFormat": {
 21275                 "locationName": "diskImageFormat"
 21276               },
 21277               "ContainerFormat": {
 21278                 "locationName": "containerFormat"
 21279               },
 21280               "S3Bucket": {
 21281                 "locationName": "s3Bucket"
 21282               },
 21283               "S3Prefix": {
 21284                 "locationName": "s3Prefix"
 21285               }
 21286             }
 21287           }
 21288         }
 21289       },
 21290       "output": {
 21291         "type": "structure",
 21292         "members": {
 21293           "ExportTask": {
 21294             "shape": "S3t",
 21295             "locationName": "exportTask"
 21296           }
 21297         }
 21298       }
 21299     },
 21300     "CreateInternetGateway": {
 21301       "input": {
 21302         "type": "structure",
 21303         "members": {
 21304           "DryRun": {
 21305             "locationName": "dryRun",
 21306             "type": "boolean"
 21307           }
 21308         }
 21309       },
 21310       "output": {
 21311         "type": "structure",
 21312         "members": {
 21313           "InternetGateway": {
 21314             "shape": "S3z",
 21315             "locationName": "internetGateway"
 21316           }
 21317         }
 21318       }
 21319     },
 21320     "CreateKeyPair": {
 21321       "input": {
 21322         "type": "structure",
 21323         "required": [
 21324           "KeyName"
 21325         ],
 21326         "members": {
 21327           "DryRun": {
 21328             "locationName": "dryRun",
 21329             "type": "boolean"
 21330           },
 21331           "KeyName": {}
 21332         }
 21333       },
 21334       "output": {
 21335         "type": "structure",
 21336         "members": {
 21337           "KeyName": {
 21338             "locationName": "keyName"
 21339           },
 21340           "KeyFingerprint": {
 21341             "locationName": "keyFingerprint"
 21342           },
 21343           "KeyMaterial": {
 21344             "locationName": "keyMaterial"
 21345           }
 21346         }
 21347       }
 21348     },
 21349     "CreateNatGateway": {
 21350       "input": {
 21351         "type": "structure",
 21352         "required": [
 21353           "SubnetId",
 21354           "AllocationId"
 21355         ],
 21356         "members": {
 21357           "SubnetId": {},
 21358           "AllocationId": {},
 21359           "ClientToken": {}
 21360         }
 21361       },
 21362       "output": {
 21363         "type": "structure",
 21364         "members": {
 21365           "NatGateway": {
 21366             "shape": "S46",
 21367             "locationName": "natGateway"
 21368           },
 21369           "ClientToken": {
 21370             "locationName": "clientToken"
 21371           }
 21372         }
 21373       }
 21374     },
 21375     "CreateNetworkAcl": {
 21376       "input": {
 21377         "type": "structure",
 21378         "required": [
 21379           "VpcId"
 21380         ],
 21381         "members": {
 21382           "DryRun": {
 21383             "locationName": "dryRun",
 21384             "type": "boolean"
 21385           },
 21386           "VpcId": {
 21387             "locationName": "vpcId"
 21388           }
 21389         }
 21390       },
 21391       "output": {
 21392         "type": "structure",
 21393         "members": {
 21394           "NetworkAcl": {
 21395             "shape": "S4d",
 21396             "locationName": "networkAcl"
 21397           }
 21398         }
 21399       }
 21400     },
 21401     "CreateNetworkAclEntry": {
 21402       "input": {
 21403         "type": "structure",
 21404         "required": [
 21405           "NetworkAclId",
 21406           "RuleNumber",
 21407           "Protocol",
 21408           "RuleAction",
 21409           "Egress",
 21410           "CidrBlock"
 21411         ],
 21412         "members": {
 21413           "DryRun": {
 21414             "locationName": "dryRun",
 21415             "type": "boolean"
 21416           },
 21417           "NetworkAclId": {
 21418             "locationName": "networkAclId"
 21419           },
 21420           "RuleNumber": {
 21421             "locationName": "ruleNumber",
 21422             "type": "integer"
 21423           },
 21424           "Protocol": {
 21425             "locationName": "protocol"
 21426           },
 21427           "RuleAction": {
 21428             "locationName": "ruleAction"
 21429           },
 21430           "Egress": {
 21431             "locationName": "egress",
 21432             "type": "boolean"
 21433           },
 21434           "CidrBlock": {
 21435             "locationName": "cidrBlock"
 21436           },
 21437           "IcmpTypeCode": {
 21438             "shape": "S4h",
 21439             "locationName": "Icmp"
 21440           },
 21441           "PortRange": {
 21442             "shape": "S4i",
 21443             "locationName": "portRange"
 21444           }
 21445         }
 21446       }
 21447     },
 21448     "CreateNetworkInterface": {
 21449       "input": {
 21450         "type": "structure",
 21451         "required": [
 21452           "SubnetId"
 21453         ],
 21454         "members": {
 21455           "SubnetId": {
 21456             "locationName": "subnetId"
 21457           },
 21458           "Description": {
 21459             "locationName": "description"
 21460           },
 21461           "PrivateIpAddress": {
 21462             "locationName": "privateIpAddress"
 21463           },
 21464           "Groups": {
 21465             "shape": "S4n",
 21466             "locationName": "SecurityGroupId"
 21467           },
 21468           "PrivateIpAddresses": {
 21469             "shape": "S4o",
 21470             "locationName": "privateIpAddresses"
 21471           },
 21472           "SecondaryPrivateIpAddressCount": {
 21473             "locationName": "secondaryPrivateIpAddressCount",
 21474             "type": "integer"
 21475           },
 21476           "DryRun": {
 21477             "locationName": "dryRun",
 21478             "type": "boolean"
 21479           }
 21480         }
 21481       },
 21482       "output": {
 21483         "type": "structure",
 21484         "members": {
 21485           "NetworkInterface": {
 21486             "shape": "S4r",
 21487             "locationName": "networkInterface"
 21488           }
 21489         }
 21490       }
 21491     },
 21492     "CreatePlacementGroup": {
 21493       "input": {
 21494         "type": "structure",
 21495         "required": [
 21496           "GroupName",
 21497           "Strategy"
 21498         ],
 21499         "members": {
 21500           "DryRun": {
 21501             "locationName": "dryRun",
 21502             "type": "boolean"
 21503           },
 21504           "GroupName": {
 21505             "locationName": "groupName"
 21506           },
 21507           "Strategy": {
 21508             "locationName": "strategy"
 21509           }
 21510         }
 21511       }
 21512     },
 21513     "CreateReservedInstancesListing": {
 21514       "input": {
 21515         "type": "structure",
 21516         "required": [
 21517           "ReservedInstancesId",
 21518           "InstanceCount",
 21519           "PriceSchedules",
 21520           "ClientToken"
 21521         ],
 21522         "members": {
 21523           "ReservedInstancesId": {
 21524             "locationName": "reservedInstancesId"
 21525           },
 21526           "InstanceCount": {
 21527             "locationName": "instanceCount",
 21528             "type": "integer"
 21529           },
 21530           "PriceSchedules": {
 21531             "locationName": "priceSchedules",
 21532             "type": "list",
 21533             "member": {
 21534               "locationName": "item",
 21535               "type": "structure",
 21536               "members": {
 21537                 "Term": {
 21538                   "locationName": "term",
 21539                   "type": "long"
 21540                 },
 21541                 "Price": {
 21542                   "locationName": "price",
 21543                   "type": "double"
 21544                 },
 21545                 "CurrencyCode": {
 21546                   "locationName": "currencyCode"
 21547                 }
 21548               }
 21549             }
 21550           },
 21551           "ClientToken": {
 21552             "locationName": "clientToken"
 21553           }
 21554         }
 21555       },
 21556       "output": {
 21557         "type": "structure",
 21558         "members": {
 21559           "ReservedInstancesListings": {
 21560             "shape": "S20",
 21561             "locationName": "reservedInstancesListingsSet"
 21562           }
 21563         }
 21564       }
 21565     },
 21566     "CreateRoute": {
 21567       "input": {
 21568         "type": "structure",
 21569         "required": [
 21570           "RouteTableId",
 21571           "DestinationCidrBlock"
 21572         ],
 21573         "members": {
 21574           "DryRun": {
 21575             "locationName": "dryRun",
 21576             "type": "boolean"
 21577           },
 21578           "RouteTableId": {
 21579             "locationName": "routeTableId"
 21580           },
 21581           "DestinationCidrBlock": {
 21582             "locationName": "destinationCidrBlock"
 21583           },
 21584           "GatewayId": {
 21585             "locationName": "gatewayId"
 21586           },
 21587           "InstanceId": {
 21588             "locationName": "instanceId"
 21589           },
 21590           "NetworkInterfaceId": {
 21591             "locationName": "networkInterfaceId"
 21592           },
 21593           "VpcPeeringConnectionId": {
 21594             "locationName": "vpcPeeringConnectionId"
 21595           },
 21596           "NatGatewayId": {
 21597             "locationName": "natGatewayId"
 21598           }
 21599         }
 21600       },
 21601       "output": {
 21602         "type": "structure",
 21603         "members": {
 21604           "Return": {
 21605             "locationName": "return",
 21606             "type": "boolean"
 21607           }
 21608         }
 21609       }
 21610     },
 21611     "CreateRouteTable": {
 21612       "input": {
 21613         "type": "structure",
 21614         "required": [
 21615           "VpcId"
 21616         ],
 21617         "members": {
 21618           "DryRun": {
 21619             "locationName": "dryRun",
 21620             "type": "boolean"
 21621           },
 21622           "VpcId": {
 21623             "locationName": "vpcId"
 21624           }
 21625         }
 21626       },
 21627       "output": {
 21628         "type": "structure",
 21629         "members": {
 21630           "RouteTable": {
 21631             "shape": "S5a",
 21632             "locationName": "routeTable"
 21633           }
 21634         }
 21635       }
 21636     },
 21637     "CreateSecurityGroup": {
 21638       "input": {
 21639         "type": "structure",
 21640         "required": [
 21641           "GroupName",
 21642           "Description"
 21643         ],
 21644         "members": {
 21645           "DryRun": {
 21646             "locationName": "dryRun",
 21647             "type": "boolean"
 21648           },
 21649           "GroupName": {},
 21650           "Description": {
 21651             "locationName": "GroupDescription"
 21652           },
 21653           "VpcId": {}
 21654         }
 21655       },
 21656       "output": {
 21657         "type": "structure",
 21658         "members": {
 21659           "GroupId": {
 21660             "locationName": "groupId"
 21661           }
 21662         }
 21663       }
 21664     },
 21665     "CreateSnapshot": {
 21666       "input": {
 21667         "type": "structure",
 21668         "required": [
 21669           "VolumeId"
 21670         ],
 21671         "members": {
 21672           "DryRun": {
 21673             "locationName": "dryRun",
 21674             "type": "boolean"
 21675           },
 21676           "VolumeId": {},
 21677           "Description": {}
 21678         }
 21679       },
 21680       "output": {
 21681         "shape": "S5m"
 21682       }
 21683     },
 21684     "CreateSpotDatafeedSubscription": {
 21685       "input": {
 21686         "type": "structure",
 21687         "required": [
 21688           "Bucket"
 21689         ],
 21690         "members": {
 21691           "DryRun": {
 21692             "locationName": "dryRun",
 21693             "type": "boolean"
 21694           },
 21695           "Bucket": {
 21696             "locationName": "bucket"
 21697           },
 21698           "Prefix": {
 21699             "locationName": "prefix"
 21700           }
 21701         }
 21702       },
 21703       "output": {
 21704         "type": "structure",
 21705         "members": {
 21706           "SpotDatafeedSubscription": {
 21707             "shape": "S5q",
 21708             "locationName": "spotDatafeedSubscription"
 21709           }
 21710         }
 21711       }
 21712     },
 21713     "CreateSubnet": {
 21714       "input": {
 21715         "type": "structure",
 21716         "required": [
 21717           "VpcId",
 21718           "CidrBlock"
 21719         ],
 21720         "members": {
 21721           "DryRun": {
 21722             "locationName": "dryRun",
 21723             "type": "boolean"
 21724           },
 21725           "VpcId": {},
 21726           "CidrBlock": {},
 21727           "AvailabilityZone": {}
 21728         }
 21729       },
 21730       "output": {
 21731         "type": "structure",
 21732         "members": {
 21733           "Subnet": {
 21734             "shape": "S5v",
 21735             "locationName": "subnet"
 21736           }
 21737         }
 21738       }
 21739     },
 21740     "CreateTags": {
 21741       "input": {
 21742         "type": "structure",
 21743         "required": [
 21744           "Resources",
 21745           "Tags"
 21746         ],
 21747         "members": {
 21748           "DryRun": {
 21749             "locationName": "dryRun",
 21750             "type": "boolean"
 21751           },
 21752           "Resources": {
 21753             "shape": "S5y",
 21754             "locationName": "ResourceId"
 21755           },
 21756           "Tags": {
 21757             "shape": "Sh",
 21758             "locationName": "Tag"
 21759           }
 21760         }
 21761       }
 21762     },
 21763     "CreateVolume": {
 21764       "input": {
 21765         "type": "structure",
 21766         "required": [
 21767           "AvailabilityZone"
 21768         ],
 21769         "members": {
 21770           "DryRun": {
 21771             "locationName": "dryRun",
 21772             "type": "boolean"
 21773           },
 21774           "Size": {
 21775             "type": "integer"
 21776           },
 21777           "SnapshotId": {},
 21778           "AvailabilityZone": {},
 21779           "VolumeType": {},
 21780           "Iops": {
 21781             "type": "integer"
 21782           },
 21783           "Encrypted": {
 21784             "locationName": "encrypted",
 21785             "type": "boolean"
 21786           },
 21787           "KmsKeyId": {}
 21788         }
 21789       },
 21790       "output": {
 21791         "shape": "S60"
 21792       }
 21793     },
 21794     "CreateVpc": {
 21795       "input": {
 21796         "type": "structure",
 21797         "required": [
 21798           "CidrBlock"
 21799         ],
 21800         "members": {
 21801           "DryRun": {
 21802             "locationName": "dryRun",
 21803             "type": "boolean"
 21804           },
 21805           "CidrBlock": {},
 21806           "InstanceTenancy": {
 21807             "locationName": "instanceTenancy"
 21808           }
 21809         }
 21810       },
 21811       "output": {
 21812         "type": "structure",
 21813         "members": {
 21814           "Vpc": {
 21815             "shape": "S66",
 21816             "locationName": "vpc"
 21817           }
 21818         }
 21819       }
 21820     },
 21821     "CreateVpcEndpoint": {
 21822       "input": {
 21823         "type": "structure",
 21824         "required": [
 21825           "VpcId",
 21826           "ServiceName"
 21827         ],
 21828         "members": {
 21829           "DryRun": {
 21830             "type": "boolean"
 21831           },
 21832           "VpcId": {},
 21833           "ServiceName": {},
 21834           "PolicyDocument": {},
 21835           "RouteTableIds": {
 21836             "shape": "S2c",
 21837             "locationName": "RouteTableId"
 21838           },
 21839           "ClientToken": {}
 21840         }
 21841       },
 21842       "output": {
 21843         "type": "structure",
 21844         "members": {
 21845           "VpcEndpoint": {
 21846             "shape": "S6a",
 21847             "locationName": "vpcEndpoint"
 21848           },
 21849           "ClientToken": {
 21850             "locationName": "clientToken"
 21851           }
 21852         }
 21853       }
 21854     },
 21855     "CreateVpcPeeringConnection": {
 21856       "input": {
 21857         "type": "structure",
 21858         "members": {
 21859           "DryRun": {
 21860             "locationName": "dryRun",
 21861             "type": "boolean"
 21862           },
 21863           "VpcId": {
 21864             "locationName": "vpcId"
 21865           },
 21866           "PeerVpcId": {
 21867             "locationName": "peerVpcId"
 21868           },
 21869           "PeerOwnerId": {
 21870             "locationName": "peerOwnerId"
 21871           }
 21872         }
 21873       },
 21874       "output": {
 21875         "type": "structure",
 21876         "members": {
 21877           "VpcPeeringConnection": {
 21878             "shape": "Sb",
 21879             "locationName": "vpcPeeringConnection"
 21880           }
 21881         }
 21882       }
 21883     },
 21884     "CreateVpnConnection": {
 21885       "input": {
 21886         "type": "structure",
 21887         "required": [
 21888           "Type",
 21889           "CustomerGatewayId",
 21890           "VpnGatewayId"
 21891         ],
 21892         "members": {
 21893           "DryRun": {
 21894             "locationName": "dryRun",
 21895             "type": "boolean"
 21896           },
 21897           "Type": {},
 21898           "CustomerGatewayId": {},
 21899           "VpnGatewayId": {},
 21900           "Options": {
 21901             "locationName": "options",
 21902             "type": "structure",
 21903             "members": {
 21904               "StaticRoutesOnly": {
 21905                 "locationName": "staticRoutesOnly",
 21906                 "type": "boolean"
 21907               }
 21908             }
 21909           }
 21910         }
 21911       },
 21912       "output": {
 21913         "type": "structure",
 21914         "members": {
 21915           "VpnConnection": {
 21916             "shape": "S6h",
 21917             "locationName": "vpnConnection"
 21918           }
 21919         }
 21920       }
 21921     },
 21922     "CreateVpnConnectionRoute": {
 21923       "input": {
 21924         "type": "structure",
 21925         "required": [
 21926           "VpnConnectionId",
 21927           "DestinationCidrBlock"
 21928         ],
 21929         "members": {
 21930           "VpnConnectionId": {},
 21931           "DestinationCidrBlock": {}
 21932         }
 21933       }
 21934     },
 21935     "CreateVpnGateway": {
 21936       "input": {
 21937         "type": "structure",
 21938         "required": [
 21939           "Type"
 21940         ],
 21941         "members": {
 21942           "DryRun": {
 21943             "locationName": "dryRun",
 21944             "type": "boolean"
 21945           },
 21946           "Type": {},
 21947           "AvailabilityZone": {}
 21948         }
 21949       },
 21950       "output": {
 21951         "type": "structure",
 21952         "members": {
 21953           "VpnGateway": {
 21954             "shape": "S6t",
 21955             "locationName": "vpnGateway"
 21956           }
 21957         }
 21958       }
 21959     },
 21960     "DeleteCustomerGateway": {
 21961       "input": {
 21962         "type": "structure",
 21963         "required": [
 21964           "CustomerGatewayId"
 21965         ],
 21966         "members": {
 21967           "DryRun": {
 21968             "locationName": "dryRun",
 21969             "type": "boolean"
 21970           },
 21971           "CustomerGatewayId": {}
 21972         }
 21973       }
 21974     },
 21975     "DeleteDhcpOptions": {
 21976       "input": {
 21977         "type": "structure",
 21978         "required": [
 21979           "DhcpOptionsId"
 21980         ],
 21981         "members": {
 21982           "DryRun": {
 21983             "locationName": "dryRun",
 21984             "type": "boolean"
 21985           },
 21986           "DhcpOptionsId": {}
 21987         }
 21988       }
 21989     },
 21990     "DeleteFlowLogs": {
 21991       "input": {
 21992         "type": "structure",
 21993         "required": [
 21994           "FlowLogIds"
 21995         ],
 21996         "members": {
 21997           "FlowLogIds": {
 21998             "shape": "S2c",
 21999             "locationName": "FlowLogId"
 22000           }
 22001         }
 22002       },
 22003       "output": {
 22004         "type": "structure",
 22005         "members": {
 22006           "Unsuccessful": {
 22007             "shape": "S3e",
 22008             "locationName": "unsuccessful"
 22009           }
 22010         }
 22011       }
 22012     },
 22013     "DeleteInternetGateway": {
 22014       "input": {
 22015         "type": "structure",
 22016         "required": [
 22017           "InternetGatewayId"
 22018         ],
 22019         "members": {
 22020           "DryRun": {
 22021             "locationName": "dryRun",
 22022             "type": "boolean"
 22023           },
 22024           "InternetGatewayId": {
 22025             "locationName": "internetGatewayId"
 22026           }
 22027         }
 22028       }
 22029     },
 22030     "DeleteKeyPair": {
 22031       "input": {
 22032         "type": "structure",
 22033         "required": [
 22034           "KeyName"
 22035         ],
 22036         "members": {
 22037           "DryRun": {
 22038             "locationName": "dryRun",
 22039             "type": "boolean"
 22040           },
 22041           "KeyName": {}
 22042         }
 22043       }
 22044     },
 22045     "DeleteNatGateway": {
 22046       "input": {
 22047         "type": "structure",
 22048         "required": [
 22049           "NatGatewayId"
 22050         ],
 22051         "members": {
 22052           "NatGatewayId": {}
 22053         }
 22054       },
 22055       "output": {
 22056         "type": "structure",
 22057         "members": {
 22058           "NatGatewayId": {
 22059             "locationName": "natGatewayId"
 22060           }
 22061         }
 22062       }
 22063     },
 22064     "DeleteNetworkAcl": {
 22065       "input": {
 22066         "type": "structure",
 22067         "required": [
 22068           "NetworkAclId"
 22069         ],
 22070         "members": {
 22071           "DryRun": {
 22072             "locationName": "dryRun",
 22073             "type": "boolean"
 22074           },
 22075           "NetworkAclId": {
 22076             "locationName": "networkAclId"
 22077           }
 22078         }
 22079       }
 22080     },
 22081     "DeleteNetworkAclEntry": {
 22082       "input": {
 22083         "type": "structure",
 22084         "required": [
 22085           "NetworkAclId",
 22086           "RuleNumber",
 22087           "Egress"
 22088         ],
 22089         "members": {
 22090           "DryRun": {
 22091             "locationName": "dryRun",
 22092             "type": "boolean"
 22093           },
 22094           "NetworkAclId": {
 22095             "locationName": "networkAclId"
 22096           },
 22097           "RuleNumber": {
 22098             "locationName": "ruleNumber",
 22099             "type": "integer"
 22100           },
 22101           "Egress": {
 22102             "locationName": "egress",
 22103             "type": "boolean"
 22104           }
 22105         }
 22106       }
 22107     },
 22108     "DeleteNetworkInterface": {
 22109       "input": {
 22110         "type": "structure",
 22111         "required": [
 22112           "NetworkInterfaceId"
 22113         ],
 22114         "members": {
 22115           "DryRun": {
 22116             "locationName": "dryRun",
 22117             "type": "boolean"
 22118           },
 22119           "NetworkInterfaceId": {
 22120             "locationName": "networkInterfaceId"
 22121           }
 22122         }
 22123       }
 22124     },
 22125     "DeletePlacementGroup": {
 22126       "input": {
 22127         "type": "structure",
 22128         "required": [
 22129           "GroupName"
 22130         ],
 22131         "members": {
 22132           "DryRun": {
 22133             "locationName": "dryRun",
 22134             "type": "boolean"
 22135           },
 22136           "GroupName": {
 22137             "locationName": "groupName"
 22138           }
 22139         }
 22140       }
 22141     },
 22142     "DeleteRoute": {
 22143       "input": {
 22144         "type": "structure",
 22145         "required": [
 22146           "RouteTableId",
 22147           "DestinationCidrBlock"
 22148         ],
 22149         "members": {
 22150           "DryRun": {
 22151             "locationName": "dryRun",
 22152             "type": "boolean"
 22153           },
 22154           "RouteTableId": {
 22155             "locationName": "routeTableId"
 22156           },
 22157           "DestinationCidrBlock": {
 22158             "locationName": "destinationCidrBlock"
 22159           }
 22160         }
 22161       }
 22162     },
 22163     "DeleteRouteTable": {
 22164       "input": {
 22165         "type": "structure",
 22166         "required": [
 22167           "RouteTableId"
 22168         ],
 22169         "members": {
 22170           "DryRun": {
 22171             "locationName": "dryRun",
 22172             "type": "boolean"
 22173           },
 22174           "RouteTableId": {
 22175             "locationName": "routeTableId"
 22176           }
 22177         }
 22178       }
 22179     },
 22180     "DeleteSecurityGroup": {
 22181       "input": {
 22182         "type": "structure",
 22183         "members": {
 22184           "DryRun": {
 22185             "locationName": "dryRun",
 22186             "type": "boolean"
 22187           },
 22188           "GroupName": {},
 22189           "GroupId": {}
 22190         }
 22191       }
 22192     },
 22193     "DeleteSnapshot": {
 22194       "input": {
 22195         "type": "structure",
 22196         "required": [
 22197           "SnapshotId"
 22198         ],
 22199         "members": {
 22200           "DryRun": {
 22201             "locationName": "dryRun",
 22202             "type": "boolean"
 22203           },
 22204           "SnapshotId": {}
 22205         }
 22206       }
 22207     },
 22208     "DeleteSpotDatafeedSubscription": {
 22209       "input": {
 22210         "type": "structure",
 22211         "members": {
 22212           "DryRun": {
 22213             "locationName": "dryRun",
 22214             "type": "boolean"
 22215           }
 22216         }
 22217       }
 22218     },
 22219     "DeleteSubnet": {
 22220       "input": {
 22221         "type": "structure",
 22222         "required": [
 22223           "SubnetId"
 22224         ],
 22225         "members": {
 22226           "DryRun": {
 22227             "locationName": "dryRun",
 22228             "type": "boolean"
 22229           },
 22230           "SubnetId": {}
 22231         }
 22232       }
 22233     },
 22234     "DeleteTags": {
 22235       "input": {
 22236         "type": "structure",
 22237         "required": [
 22238           "Resources"
 22239         ],
 22240         "members": {
 22241           "DryRun": {
 22242             "locationName": "dryRun",
 22243             "type": "boolean"
 22244           },
 22245           "Resources": {
 22246             "shape": "S5y",
 22247             "locationName": "resourceId"
 22248           },
 22249           "Tags": {
 22250             "shape": "Sh",
 22251             "locationName": "tag"
 22252           }
 22253         }
 22254       }
 22255     },
 22256     "DeleteVolume": {
 22257       "input": {
 22258         "type": "structure",
 22259         "required": [
 22260           "VolumeId"
 22261         ],
 22262         "members": {
 22263           "DryRun": {
 22264             "locationName": "dryRun",
 22265             "type": "boolean"
 22266           },
 22267           "VolumeId": {}
 22268         }
 22269       }
 22270     },
 22271     "DeleteVpc": {
 22272       "input": {
 22273         "type": "structure",
 22274         "required": [
 22275           "VpcId"
 22276         ],
 22277         "members": {
 22278           "DryRun": {
 22279             "locationName": "dryRun",
 22280             "type": "boolean"
 22281           },
 22282           "VpcId": {}
 22283         }
 22284       }
 22285     },
 22286     "DeleteVpcEndpoints": {
 22287       "input": {
 22288         "type": "structure",
 22289         "required": [
 22290           "VpcEndpointIds"
 22291         ],
 22292         "members": {
 22293           "DryRun": {
 22294             "type": "boolean"
 22295           },
 22296           "VpcEndpointIds": {
 22297             "shape": "S2c",
 22298             "locationName": "VpcEndpointId"
 22299           }
 22300         }
 22301       },
 22302       "output": {
 22303         "type": "structure",
 22304         "members": {
 22305           "Unsuccessful": {
 22306             "shape": "S3e",
 22307             "locationName": "unsuccessful"
 22308           }
 22309         }
 22310       }
 22311     },
 22312     "DeleteVpcPeeringConnection": {
 22313       "input": {
 22314         "type": "structure",
 22315         "required": [
 22316           "VpcPeeringConnectionId"
 22317         ],
 22318         "members": {
 22319           "DryRun": {
 22320             "locationName": "dryRun",
 22321             "type": "boolean"
 22322           },
 22323           "VpcPeeringConnectionId": {
 22324             "locationName": "vpcPeeringConnectionId"
 22325           }
 22326         }
 22327       },
 22328       "output": {
 22329         "type": "structure",
 22330         "members": {
 22331           "Return": {
 22332             "locationName": "return",
 22333             "type": "boolean"
 22334           }
 22335         }
 22336       }
 22337     },
 22338     "DeleteVpnConnection": {
 22339       "input": {
 22340         "type": "structure",
 22341         "required": [
 22342           "VpnConnectionId"
 22343         ],
 22344         "members": {
 22345           "DryRun": {
 22346             "locationName": "dryRun",
 22347             "type": "boolean"
 22348           },
 22349           "VpnConnectionId": {}
 22350         }
 22351       }
 22352     },
 22353     "DeleteVpnConnectionRoute": {
 22354       "input": {
 22355         "type": "structure",
 22356         "required": [
 22357           "VpnConnectionId",
 22358           "DestinationCidrBlock"
 22359         ],
 22360         "members": {
 22361           "VpnConnectionId": {},
 22362           "DestinationCidrBlock": {}
 22363         }
 22364       }
 22365     },
 22366     "DeleteVpnGateway": {
 22367       "input": {
 22368         "type": "structure",
 22369         "required": [
 22370           "VpnGatewayId"
 22371         ],
 22372         "members": {
 22373           "DryRun": {
 22374             "locationName": "dryRun",
 22375             "type": "boolean"
 22376           },
 22377           "VpnGatewayId": {}
 22378         }
 22379       }
 22380     },
 22381     "DeregisterImage": {
 22382       "input": {
 22383         "type": "structure",
 22384         "required": [
 22385           "ImageId"
 22386         ],
 22387         "members": {
 22388           "DryRun": {
 22389             "locationName": "dryRun",
 22390             "type": "boolean"
 22391           },
 22392           "ImageId": {}
 22393         }
 22394       }
 22395     },
 22396     "DescribeAccountAttributes": {
 22397       "input": {
 22398         "type": "structure",
 22399         "members": {
 22400           "DryRun": {
 22401             "locationName": "dryRun",
 22402             "type": "boolean"
 22403           },
 22404           "AttributeNames": {
 22405             "locationName": "attributeName",
 22406             "type": "list",
 22407             "member": {
 22408               "locationName": "attributeName"
 22409             }
 22410           }
 22411         }
 22412       },
 22413       "output": {
 22414         "type": "structure",
 22415         "members": {
 22416           "AccountAttributes": {
 22417             "locationName": "accountAttributeSet",
 22418             "type": "list",
 22419             "member": {
 22420               "locationName": "item",
 22421               "type": "structure",
 22422               "members": {
 22423                 "AttributeName": {
 22424                   "locationName": "attributeName"
 22425                 },
 22426                 "AttributeValues": {
 22427                   "locationName": "attributeValueSet",
 22428                   "type": "list",
 22429                   "member": {
 22430                     "locationName": "item",
 22431                     "type": "structure",
 22432                     "members": {
 22433                       "AttributeValue": {
 22434                         "locationName": "attributeValue"
 22435                       }
 22436                     }
 22437                   }
 22438                 }
 22439               }
 22440             }
 22441           }
 22442         }
 22443       }
 22444     },
 22445     "DescribeAddresses": {
 22446       "input": {
 22447         "type": "structure",
 22448         "members": {
 22449           "DryRun": {
 22450             "locationName": "dryRun",
 22451             "type": "boolean"
 22452           },
 22453           "PublicIps": {
 22454             "locationName": "PublicIp",
 22455             "type": "list",
 22456             "member": {
 22457               "locationName": "PublicIp"
 22458             }
 22459           },
 22460           "Filters": {
 22461             "shape": "S7y",
 22462             "locationName": "Filter"
 22463           },
 22464           "AllocationIds": {
 22465             "locationName": "AllocationId",
 22466             "type": "list",
 22467             "member": {
 22468               "locationName": "AllocationId"
 22469             }
 22470           }
 22471         }
 22472       },
 22473       "output": {
 22474         "type": "structure",
 22475         "members": {
 22476           "Addresses": {
 22477             "locationName": "addressesSet",
 22478             "type": "list",
 22479             "member": {
 22480               "locationName": "item",
 22481               "type": "structure",
 22482               "members": {
 22483                 "InstanceId": {
 22484                   "locationName": "instanceId"
 22485                 },
 22486                 "PublicIp": {
 22487                   "locationName": "publicIp"
 22488                 },
 22489                 "AllocationId": {
 22490                   "locationName": "allocationId"
 22491                 },
 22492                 "AssociationId": {
 22493                   "locationName": "associationId"
 22494                 },
 22495                 "Domain": {
 22496                   "locationName": "domain"
 22497                 },
 22498                 "NetworkInterfaceId": {
 22499                   "locationName": "networkInterfaceId"
 22500                 },
 22501                 "NetworkInterfaceOwnerId": {
 22502                   "locationName": "networkInterfaceOwnerId"
 22503                 },
 22504                 "PrivateIpAddress": {
 22505                   "locationName": "privateIpAddress"
 22506                 }
 22507               }
 22508             }
 22509           }
 22510         }
 22511       }
 22512     },
 22513     "DescribeAvailabilityZones": {
 22514       "input": {
 22515         "type": "structure",
 22516         "members": {
 22517           "DryRun": {
 22518             "locationName": "dryRun",
 22519             "type": "boolean"
 22520           },
 22521           "ZoneNames": {
 22522             "locationName": "ZoneName",
 22523             "type": "list",
 22524             "member": {
 22525               "locationName": "ZoneName"
 22526             }
 22527           },
 22528           "Filters": {
 22529             "shape": "S7y",
 22530             "locationName": "Filter"
 22531           }
 22532         }
 22533       },
 22534       "output": {
 22535         "type": "structure",
 22536         "members": {
 22537           "AvailabilityZones": {
 22538             "locationName": "availabilityZoneInfo",
 22539             "type": "list",
 22540             "member": {
 22541               "locationName": "item",
 22542               "type": "structure",
 22543               "members": {
 22544                 "ZoneName": {
 22545                   "locationName": "zoneName"
 22546                 },
 22547                 "State": {
 22548                   "locationName": "zoneState"
 22549                 },
 22550                 "RegionName": {
 22551                   "locationName": "regionName"
 22552                 },
 22553                 "Messages": {
 22554                   "locationName": "messageSet",
 22555                   "type": "list",
 22556                   "member": {
 22557                     "locationName": "item",
 22558                     "type": "structure",
 22559                     "members": {
 22560                       "Message": {
 22561                         "locationName": "message"
 22562                       }
 22563                     }
 22564                   }
 22565                 }
 22566               }
 22567             }
 22568           }
 22569         }
 22570       }
 22571     },
 22572     "DescribeBundleTasks": {
 22573       "input": {
 22574         "type": "structure",
 22575         "members": {
 22576           "DryRun": {
 22577             "locationName": "dryRun",
 22578             "type": "boolean"
 22579           },
 22580           "BundleIds": {
 22581             "locationName": "BundleId",
 22582             "type": "list",
 22583             "member": {
 22584               "locationName": "BundleId"
 22585             }
 22586           },
 22587           "Filters": {
 22588             "shape": "S7y",
 22589             "locationName": "Filter"
 22590           }
 22591         }
 22592       },
 22593       "output": {
 22594         "type": "structure",
 22595         "members": {
 22596           "BundleTasks": {
 22597             "locationName": "bundleInstanceTasksSet",
 22598             "type": "list",
 22599             "member": {
 22600               "shape": "S1p",
 22601               "locationName": "item"
 22602             }
 22603           }
 22604         }
 22605       }
 22606     },
 22607     "DescribeClassicLinkInstances": {
 22608       "input": {
 22609         "type": "structure",
 22610         "members": {
 22611           "DryRun": {
 22612             "locationName": "dryRun",
 22613             "type": "boolean"
 22614           },
 22615           "InstanceIds": {
 22616             "shape": "S8h",
 22617             "locationName": "InstanceId"
 22618           },
 22619           "Filters": {
 22620             "shape": "S7y",
 22621             "locationName": "Filter"
 22622           },
 22623           "NextToken": {
 22624             "locationName": "nextToken"
 22625           },
 22626           "MaxResults": {
 22627             "locationName": "maxResults",
 22628             "type": "integer"
 22629           }
 22630         }
 22631       },
 22632       "output": {
 22633         "type": "structure",
 22634         "members": {
 22635           "Instances": {
 22636             "locationName": "instancesSet",
 22637             "type": "list",
 22638             "member": {
 22639               "locationName": "item",
 22640               "type": "structure",
 22641               "members": {
 22642                 "InstanceId": {
 22643                   "locationName": "instanceId"
 22644                 },
 22645                 "VpcId": {
 22646                   "locationName": "vpcId"
 22647                 },
 22648                 "Groups": {
 22649                   "shape": "S4t",
 22650                   "locationName": "groupSet"
 22651                 },
 22652                 "Tags": {
 22653                   "shape": "Sh",
 22654                   "locationName": "tagSet"
 22655                 }
 22656               }
 22657             }
 22658           },
 22659           "NextToken": {
 22660             "locationName": "nextToken"
 22661           }
 22662         }
 22663       }
 22664     },
 22665     "DescribeConversionTasks": {
 22666       "input": {
 22667         "type": "structure",
 22668         "members": {
 22669           "DryRun": {
 22670             "locationName": "dryRun",
 22671             "type": "boolean"
 22672           },
 22673           "ConversionTaskIds": {
 22674             "locationName": "conversionTaskId",
 22675             "type": "list",
 22676             "member": {
 22677               "locationName": "item"
 22678             }
 22679           }
 22680         }
 22681       },
 22682       "output": {
 22683         "type": "structure",
 22684         "members": {
 22685           "ConversionTasks": {
 22686             "locationName": "conversionTasks",
 22687             "type": "list",
 22688             "member": {
 22689               "shape": "S8p",
 22690               "locationName": "item"
 22691             }
 22692           }
 22693         }
 22694       }
 22695     },
 22696     "DescribeCustomerGateways": {
 22697       "input": {
 22698         "type": "structure",
 22699         "members": {
 22700           "DryRun": {
 22701             "locationName": "dryRun",
 22702             "type": "boolean"
 22703           },
 22704           "CustomerGatewayIds": {
 22705             "locationName": "CustomerGatewayId",
 22706             "type": "list",
 22707             "member": {
 22708               "locationName": "CustomerGatewayId"
 22709             }
 22710           },
 22711           "Filters": {
 22712             "shape": "S7y",
 22713             "locationName": "Filter"
 22714           }
 22715         }
 22716       },
 22717       "output": {
 22718         "type": "structure",
 22719         "members": {
 22720           "CustomerGateways": {
 22721             "locationName": "customerGatewaySet",
 22722             "type": "list",
 22723             "member": {
 22724               "shape": "S30",
 22725               "locationName": "item"
 22726             }
 22727           }
 22728         }
 22729       }
 22730     },
 22731     "DescribeDhcpOptions": {
 22732       "input": {
 22733         "type": "structure",
 22734         "members": {
 22735           "DryRun": {
 22736             "locationName": "dryRun",
 22737             "type": "boolean"
 22738           },
 22739           "DhcpOptionsIds": {
 22740             "locationName": "DhcpOptionsId",
 22741             "type": "list",
 22742             "member": {
 22743               "locationName": "DhcpOptionsId"
 22744             }
 22745           },
 22746           "Filters": {
 22747             "shape": "S7y",
 22748             "locationName": "Filter"
 22749           }
 22750         }
 22751       },
 22752       "output": {
 22753         "type": "structure",
 22754         "members": {
 22755           "DhcpOptions": {
 22756             "locationName": "dhcpOptionsSet",
 22757             "type": "list",
 22758             "member": {
 22759               "shape": "S35",
 22760               "locationName": "item"
 22761             }
 22762           }
 22763         }
 22764       }
 22765     },
 22766     "DescribeExportTasks": {
 22767       "input": {
 22768         "type": "structure",
 22769         "members": {
 22770           "ExportTaskIds": {
 22771             "locationName": "exportTaskId",
 22772             "type": "list",
 22773             "member": {
 22774               "locationName": "ExportTaskId"
 22775             }
 22776           }
 22777         }
 22778       },
 22779       "output": {
 22780         "type": "structure",
 22781         "members": {
 22782           "ExportTasks": {
 22783             "locationName": "exportTaskSet",
 22784             "type": "list",
 22785             "member": {
 22786               "shape": "S3t",
 22787               "locationName": "item"
 22788             }
 22789           }
 22790         }
 22791       }
 22792     },
 22793     "DescribeFlowLogs": {
 22794       "input": {
 22795         "type": "structure",
 22796         "members": {
 22797           "FlowLogIds": {
 22798             "shape": "S2c",
 22799             "locationName": "FlowLogId"
 22800           },
 22801           "Filter": {
 22802             "shape": "S7y"
 22803           },
 22804           "NextToken": {},
 22805           "MaxResults": {
 22806             "type": "integer"
 22807           }
 22808         }
 22809       },
 22810       "output": {
 22811         "type": "structure",
 22812         "members": {
 22813           "FlowLogs": {
 22814             "locationName": "flowLogSet",
 22815             "type": "list",
 22816             "member": {
 22817               "locationName": "item",
 22818               "type": "structure",
 22819               "members": {
 22820                 "CreationTime": {
 22821                   "locationName": "creationTime",
 22822                   "type": "timestamp"
 22823                 },
 22824                 "FlowLogId": {
 22825                   "locationName": "flowLogId"
 22826                 },
 22827                 "FlowLogStatus": {
 22828                   "locationName": "flowLogStatus"
 22829                 },
 22830                 "ResourceId": {
 22831                   "locationName": "resourceId"
 22832                 },
 22833                 "TrafficType": {
 22834                   "locationName": "trafficType"
 22835                 },
 22836                 "LogGroupName": {
 22837                   "locationName": "logGroupName"
 22838                 },
 22839                 "DeliverLogsStatus": {
 22840                   "locationName": "deliverLogsStatus"
 22841                 },
 22842                 "DeliverLogsErrorMessage": {
 22843                   "locationName": "deliverLogsErrorMessage"
 22844                 },
 22845                 "DeliverLogsPermissionArn": {
 22846                   "locationName": "deliverLogsPermissionArn"
 22847                 }
 22848               }
 22849             }
 22850           },
 22851           "NextToken": {
 22852             "locationName": "nextToken"
 22853           }
 22854         }
 22855       }
 22856     },
 22857     "DescribeHostReservationOfferings": {
 22858       "input": {
 22859         "type": "structure",
 22860         "members": {
 22861           "OfferingId": {},
 22862           "MinDuration": {
 22863             "type": "integer"
 22864           },
 22865           "MaxDuration": {
 22866             "type": "integer"
 22867           },
 22868           "Filter": {
 22869             "shape": "S7y"
 22870           },
 22871           "MaxResults": {
 22872             "type": "integer"
 22873           },
 22874           "NextToken": {}
 22875         }
 22876       },
 22877       "output": {
 22878         "type": "structure",
 22879         "members": {
 22880           "OfferingSet": {
 22881             "locationName": "offeringSet",
 22882             "type": "list",
 22883             "member": {
 22884               "type": "structure",
 22885               "members": {
 22886                 "OfferingId": {
 22887                   "locationName": "offeringId"
 22888                 },
 22889                 "InstanceFamily": {
 22890                   "locationName": "instanceFamily"
 22891                 },
 22892                 "PaymentOption": {
 22893                   "locationName": "paymentOption"
 22894                 },
 22895                 "UpfrontPrice": {
 22896                   "locationName": "upfrontPrice"
 22897                 },
 22898                 "HourlyPrice": {
 22899                   "locationName": "hourlyPrice"
 22900                 },
 22901                 "CurrencyCode": {
 22902                   "locationName": "currencyCode"
 22903                 },
 22904                 "Duration": {
 22905                   "locationName": "duration",
 22906                   "type": "integer"
 22907                 }
 22908               }
 22909             }
 22910           },
 22911           "NextToken": {
 22912             "locationName": "nextToken"
 22913           }
 22914         }
 22915       }
 22916     },
 22917     "DescribeHostReservations": {
 22918       "input": {
 22919         "type": "structure",
 22920         "members": {
 22921           "HostReservationIdSet": {
 22922             "type": "list",
 22923             "member": {
 22924               "locationName": "item"
 22925             }
 22926           },
 22927           "Filter": {
 22928             "shape": "S7y"
 22929           },
 22930           "MaxResults": {
 22931             "type": "integer"
 22932           },
 22933           "NextToken": {}
 22934         }
 22935       },
 22936       "output": {
 22937         "type": "structure",
 22938         "members": {
 22939           "HostReservationSet": {
 22940             "locationName": "hostReservationSet",
 22941             "type": "list",
 22942             "member": {
 22943               "type": "structure",
 22944               "members": {
 22945                 "HostReservationId": {
 22946                   "locationName": "hostReservationId"
 22947                 },
 22948                 "HostIdSet": {
 22949                   "shape": "S9o",
 22950                   "locationName": "hostIdSet"
 22951                 },
 22952                 "OfferingId": {
 22953                   "locationName": "offeringId"
 22954                 },
 22955                 "InstanceFamily": {
 22956                   "locationName": "instanceFamily"
 22957                 },
 22958                 "PaymentOption": {
 22959                   "locationName": "paymentOption"
 22960                 },
 22961                 "HourlyPrice": {
 22962                   "locationName": "hourlyPrice"
 22963                 },
 22964                 "UpfrontPrice": {
 22965                   "locationName": "upfrontPrice"
 22966                 },
 22967                 "CurrencyCode": {
 22968                   "locationName": "currencyCode"
 22969                 },
 22970                 "Count": {
 22971                   "locationName": "count",
 22972                   "type": "integer"
 22973                 },
 22974                 "Duration": {
 22975                   "locationName": "duration",
 22976                   "type": "integer"
 22977                 },
 22978                 "End": {
 22979                   "locationName": "end",
 22980                   "type": "timestamp"
 22981                 },
 22982                 "Start": {
 22983                   "locationName": "start",
 22984                   "type": "timestamp"
 22985                 },
 22986                 "State": {
 22987                   "locationName": "state"
 22988                 }
 22989               }
 22990             }
 22991           },
 22992           "NextToken": {
 22993             "locationName": "nextToken"
 22994           }
 22995         }
 22996       }
 22997     },
 22998     "DescribeHosts": {
 22999       "input": {
 23000         "type": "structure",
 23001         "members": {
 23002           "HostIds": {
 23003             "shape": "S9r",
 23004             "locationName": "hostId"
 23005           },
 23006           "NextToken": {
 23007             "locationName": "nextToken"
 23008           },
 23009           "MaxResults": {
 23010             "locationName": "maxResults",
 23011             "type": "integer"
 23012           },
 23013           "Filter": {
 23014             "shape": "S7y",
 23015             "locationName": "filter"
 23016           }
 23017         }
 23018       },
 23019       "output": {
 23020         "type": "structure",
 23021         "members": {
 23022           "Hosts": {
 23023             "locationName": "hostSet",
 23024             "type": "list",
 23025             "member": {
 23026               "locationName": "item",
 23027               "type": "structure",
 23028               "members": {
 23029                 "HostId": {
 23030                   "locationName": "hostId"
 23031                 },
 23032                 "AutoPlacement": {
 23033                   "locationName": "autoPlacement"
 23034                 },
 23035                 "HostReservationId": {
 23036                   "locationName": "hostReservationId"
 23037                 },
 23038                 "ClientToken": {
 23039                   "locationName": "clientToken"
 23040                 },
 23041                 "HostProperties": {
 23042                   "locationName": "hostProperties",
 23043                   "type": "structure",
 23044                   "members": {
 23045                     "Sockets": {
 23046                       "locationName": "sockets",
 23047                       "type": "integer"
 23048                     },
 23049                     "Cores": {
 23050                       "locationName": "cores",
 23051                       "type": "integer"
 23052                     },
 23053                     "TotalVCpus": {
 23054                       "locationName": "totalVCpus",
 23055                       "type": "integer"
 23056                     },
 23057                     "InstanceType": {
 23058                       "locationName": "instanceType"
 23059                     }
 23060                   }
 23061                 },
 23062                 "State": {
 23063                   "locationName": "state"
 23064                 },
 23065                 "AvailabilityZone": {
 23066                   "locationName": "availabilityZone"
 23067                 },
 23068                 "Instances": {
 23069                   "locationName": "instances",
 23070                   "type": "list",
 23071                   "member": {
 23072                     "locationName": "item",
 23073                     "type": "structure",
 23074                     "members": {
 23075                       "InstanceId": {
 23076                         "locationName": "instanceId"
 23077                       },
 23078                       "InstanceType": {
 23079                         "locationName": "instanceType"
 23080                       }
 23081                     }
 23082                   }
 23083                 },
 23084                 "AvailableCapacity": {
 23085                   "locationName": "availableCapacity",
 23086                   "type": "structure",
 23087                   "members": {
 23088                     "AvailableInstanceCapacity": {
 23089                       "locationName": "availableInstanceCapacity",
 23090                       "type": "list",
 23091                       "member": {
 23092                         "locationName": "item",
 23093                         "type": "structure",
 23094                         "members": {
 23095                           "InstanceType": {
 23096                             "locationName": "instanceType"
 23097                           },
 23098                           "AvailableCapacity": {
 23099                             "locationName": "availableCapacity",
 23100                             "type": "integer"
 23101                           },
 23102                           "TotalCapacity": {
 23103                             "locationName": "totalCapacity",
 23104                             "type": "integer"
 23105                           }
 23106                         }
 23107                       }
 23108                     },
 23109                     "AvailableVCpus": {
 23110                       "locationName": "availableVCpus",
 23111                       "type": "integer"
 23112                     }
 23113                   }
 23114                 }
 23115               }
 23116             }
 23117           },
 23118           "NextToken": {
 23119             "locationName": "nextToken"
 23120           }
 23121         }
 23122       }
 23123     },
 23124     "DescribeIdFormat": {
 23125       "input": {
 23126         "type": "structure",
 23127         "members": {
 23128           "Resource": {}
 23129         }
 23130       },
 23131       "output": {
 23132         "type": "structure",
 23133         "members": {
 23134           "Statuses": {
 23135             "shape": "Sa4",
 23136             "locationName": "statusSet"
 23137           }
 23138         }
 23139       }
 23140     },
 23141     "DescribeIdentityIdFormat": {
 23142       "input": {
 23143         "type": "structure",
 23144         "required": [
 23145           "PrincipalArn"
 23146         ],
 23147         "members": {
 23148           "Resource": {
 23149             "locationName": "resource"
 23150           },
 23151           "PrincipalArn": {
 23152             "locationName": "principalArn"
 23153           }
 23154         }
 23155       },
 23156       "output": {
 23157         "type": "structure",
 23158         "members": {
 23159           "Statuses": {
 23160             "shape": "Sa4",
 23161             "locationName": "statusSet"
 23162           }
 23163         }
 23164       }
 23165     },
 23166     "DescribeImageAttribute": {
 23167       "input": {
 23168         "type": "structure",
 23169         "required": [
 23170           "ImageId",
 23171           "Attribute"
 23172         ],
 23173         "members": {
 23174           "DryRun": {
 23175             "locationName": "dryRun",
 23176             "type": "boolean"
 23177           },
 23178           "ImageId": {},
 23179           "Attribute": {}
 23180         }
 23181       },
 23182       "output": {
 23183         "type": "structure",
 23184         "members": {
 23185           "ImageId": {
 23186             "locationName": "imageId"
 23187           },
 23188           "LaunchPermissions": {
 23189             "shape": "Sab",
 23190             "locationName": "launchPermission"
 23191           },
 23192           "ProductCodes": {
 23193             "shape": "Sae",
 23194             "locationName": "productCodes"
 23195           },
 23196           "KernelId": {
 23197             "shape": "S39",
 23198             "locationName": "kernel"
 23199           },
 23200           "RamdiskId": {
 23201             "shape": "S39",
 23202             "locationName": "ramdisk"
 23203           },
 23204           "Description": {
 23205             "shape": "S39",
 23206             "locationName": "description"
 23207           },
 23208           "SriovNetSupport": {
 23209             "shape": "S39",
 23210             "locationName": "sriovNetSupport"
 23211           },
 23212           "BlockDeviceMappings": {
 23213             "shape": "Sah",
 23214             "locationName": "blockDeviceMapping"
 23215           }
 23216         }
 23217       }
 23218     },
 23219     "DescribeImages": {
 23220       "input": {
 23221         "type": "structure",
 23222         "members": {
 23223           "DryRun": {
 23224             "locationName": "dryRun",
 23225             "type": "boolean"
 23226           },
 23227           "ImageIds": {
 23228             "locationName": "ImageId",
 23229             "type": "list",
 23230             "member": {
 23231               "locationName": "ImageId"
 23232             }
 23233           },
 23234           "Owners": {
 23235             "shape": "Sak",
 23236             "locationName": "Owner"
 23237           },
 23238           "ExecutableUsers": {
 23239             "locationName": "ExecutableBy",
 23240             "type": "list",
 23241             "member": {
 23242               "locationName": "ExecutableBy"
 23243             }
 23244           },
 23245           "Filters": {
 23246             "shape": "S7y",
 23247             "locationName": "Filter"
 23248           }
 23249         }
 23250       },
 23251       "output": {
 23252         "type": "structure",
 23253         "members": {
 23254           "Images": {
 23255             "locationName": "imagesSet",
 23256             "type": "list",
 23257             "member": {
 23258               "locationName": "item",
 23259               "type": "structure",
 23260               "members": {
 23261                 "ImageId": {
 23262                   "locationName": "imageId"
 23263                 },
 23264                 "ImageLocation": {
 23265                   "locationName": "imageLocation"
 23266                 },
 23267                 "State": {
 23268                   "locationName": "imageState"
 23269                 },
 23270                 "OwnerId": {
 23271                   "locationName": "imageOwnerId"
 23272                 },
 23273                 "CreationDate": {
 23274                   "locationName": "creationDate"
 23275                 },
 23276                 "Public": {
 23277                   "locationName": "isPublic",
 23278                   "type": "boolean"
 23279                 },
 23280                 "ProductCodes": {
 23281                   "shape": "Sae",
 23282                   "locationName": "productCodes"
 23283                 },
 23284                 "Architecture": {
 23285                   "locationName": "architecture"
 23286                 },
 23287                 "ImageType": {
 23288                   "locationName": "imageType"
 23289                 },
 23290                 "KernelId": {
 23291                   "locationName": "kernelId"
 23292                 },
 23293                 "RamdiskId": {
 23294                   "locationName": "ramdiskId"
 23295                 },
 23296                 "Platform": {
 23297                   "locationName": "platform"
 23298                 },
 23299                 "SriovNetSupport": {
 23300                   "locationName": "sriovNetSupport"
 23301                 },
 23302                 "EnaSupport": {
 23303                   "locationName": "enaSupport",
 23304                   "type": "boolean"
 23305                 },
 23306                 "StateReason": {
 23307                   "shape": "Sas",
 23308                   "locationName": "stateReason"
 23309                 },
 23310                 "ImageOwnerAlias": {
 23311                   "locationName": "imageOwnerAlias"
 23312                 },
 23313                 "Name": {
 23314                   "locationName": "name"
 23315                 },
 23316                 "Description": {
 23317                   "locationName": "description"
 23318                 },
 23319                 "RootDeviceType": {
 23320                   "locationName": "rootDeviceType"
 23321                 },
 23322                 "RootDeviceName": {
 23323                   "locationName": "rootDeviceName"
 23324                 },
 23325                 "BlockDeviceMappings": {
 23326                   "shape": "Sah",
 23327                   "locationName": "blockDeviceMapping"
 23328                 },
 23329                 "VirtualizationType": {
 23330                   "locationName": "virtualizationType"
 23331                 },
 23332                 "Tags": {
 23333                   "shape": "Sh",
 23334                   "locationName": "tagSet"
 23335                 },
 23336                 "Hypervisor": {
 23337                   "locationName": "hypervisor"
 23338                 }
 23339               }
 23340             }
 23341           }
 23342         }
 23343       }
 23344     },
 23345     "DescribeImportImageTasks": {
 23346       "input": {
 23347         "type": "structure",
 23348         "members": {
 23349           "DryRun": {
 23350             "type": "boolean"
 23351           },
 23352           "ImportTaskIds": {
 23353             "shape": "Sax",
 23354             "locationName": "ImportTaskId"
 23355           },
 23356           "NextToken": {},
 23357           "MaxResults": {
 23358             "type": "integer"
 23359           },
 23360           "Filters": {
 23361             "shape": "S7y"
 23362           }
 23363         }
 23364       },
 23365       "output": {
 23366         "type": "structure",
 23367         "members": {
 23368           "ImportImageTasks": {
 23369             "locationName": "importImageTaskSet",
 23370             "type": "list",
 23371             "member": {
 23372               "locationName": "item",
 23373               "type": "structure",
 23374               "members": {
 23375                 "ImportTaskId": {
 23376                   "locationName": "importTaskId"
 23377                 },
 23378                 "Architecture": {
 23379                   "locationName": "architecture"
 23380                 },
 23381                 "LicenseType": {
 23382                   "locationName": "licenseType"
 23383                 },
 23384                 "Platform": {
 23385                   "locationName": "platform"
 23386                 },
 23387                 "Hypervisor": {
 23388                   "locationName": "hypervisor"
 23389                 },
 23390                 "Description": {
 23391                   "locationName": "description"
 23392                 },
 23393                 "SnapshotDetails": {
 23394                   "shape": "Sb1",
 23395                   "locationName": "snapshotDetailSet"
 23396                 },
 23397                 "ImageId": {
 23398                   "locationName": "imageId"
 23399                 },
 23400                 "Progress": {
 23401                   "locationName": "progress"
 23402                 },
 23403                 "StatusMessage": {
 23404                   "locationName": "statusMessage"
 23405                 },
 23406                 "Status": {
 23407                   "locationName": "status"
 23408                 }
 23409               }
 23410             }
 23411           },
 23412           "NextToken": {
 23413             "locationName": "nextToken"
 23414           }
 23415         }
 23416       }
 23417     },
 23418     "DescribeImportSnapshotTasks": {
 23419       "input": {
 23420         "type": "structure",
 23421         "members": {
 23422           "DryRun": {
 23423             "type": "boolean"
 23424           },
 23425           "ImportTaskIds": {
 23426             "shape": "Sax",
 23427             "locationName": "ImportTaskId"
 23428           },
 23429           "NextToken": {},
 23430           "MaxResults": {
 23431             "type": "integer"
 23432           },
 23433           "Filters": {
 23434             "shape": "S7y"
 23435           }
 23436         }
 23437       },
 23438       "output": {
 23439         "type": "structure",
 23440         "members": {
 23441           "ImportSnapshotTasks": {
 23442             "locationName": "importSnapshotTaskSet",
 23443             "type": "list",
 23444             "member": {
 23445               "locationName": "item",
 23446               "type": "structure",
 23447               "members": {
 23448                 "ImportTaskId": {
 23449                   "locationName": "importTaskId"
 23450                 },
 23451                 "SnapshotTaskDetail": {
 23452                   "shape": "Sb8",
 23453                   "locationName": "snapshotTaskDetail"
 23454                 },
 23455                 "Description": {
 23456                   "locationName": "description"
 23457                 }
 23458               }
 23459             }
 23460           },
 23461           "NextToken": {
 23462             "locationName": "nextToken"
 23463           }
 23464         }
 23465       }
 23466     },
 23467     "DescribeInstanceAttribute": {
 23468       "input": {
 23469         "type": "structure",
 23470         "required": [
 23471           "InstanceId",
 23472           "Attribute"
 23473         ],
 23474         "members": {
 23475           "DryRun": {
 23476             "locationName": "dryRun",
 23477             "type": "boolean"
 23478           },
 23479           "InstanceId": {
 23480             "locationName": "instanceId"
 23481           },
 23482           "Attribute": {
 23483             "locationName": "attribute"
 23484           }
 23485         }
 23486       },
 23487       "output": {
 23488         "type": "structure",
 23489         "members": {
 23490           "InstanceId": {
 23491             "locationName": "instanceId"
 23492           },
 23493           "InstanceType": {
 23494             "shape": "S39",
 23495             "locationName": "instanceType"
 23496           },
 23497           "KernelId": {
 23498             "shape": "S39",
 23499             "locationName": "kernel"
 23500           },
 23501           "RamdiskId": {
 23502             "shape": "S39",
 23503             "locationName": "ramdisk"
 23504           },
 23505           "UserData": {
 23506             "shape": "S39",
 23507             "locationName": "userData"
 23508           },
 23509           "DisableApiTermination": {
 23510             "shape": "Sbc",
 23511             "locationName": "disableApiTermination"
 23512           },
 23513           "InstanceInitiatedShutdownBehavior": {
 23514             "shape": "S39",
 23515             "locationName": "instanceInitiatedShutdownBehavior"
 23516           },
 23517           "RootDeviceName": {
 23518             "shape": "S39",
 23519             "locationName": "rootDeviceName"
 23520           },
 23521           "BlockDeviceMappings": {
 23522             "shape": "Sbd",
 23523             "locationName": "blockDeviceMapping"
 23524           },
 23525           "ProductCodes": {
 23526             "shape": "Sae",
 23527             "locationName": "productCodes"
 23528           },
 23529           "EbsOptimized": {
 23530             "shape": "Sbc",
 23531             "locationName": "ebsOptimized"
 23532           },
 23533           "SriovNetSupport": {
 23534             "shape": "S39",
 23535             "locationName": "sriovNetSupport"
 23536           },
 23537           "EnaSupport": {
 23538             "shape": "Sbc",
 23539             "locationName": "enaSupport"
 23540           },
 23541           "SourceDestCheck": {
 23542             "shape": "Sbc",
 23543             "locationName": "sourceDestCheck"
 23544           },
 23545           "Groups": {
 23546             "shape": "S4t",
 23547             "locationName": "groupSet"
 23548           }
 23549         }
 23550       }
 23551     },
 23552     "DescribeInstanceStatus": {
 23553       "input": {
 23554         "type": "structure",
 23555         "members": {
 23556           "DryRun": {
 23557             "locationName": "dryRun",
 23558             "type": "boolean"
 23559           },
 23560           "InstanceIds": {
 23561             "shape": "S8h",
 23562             "locationName": "InstanceId"
 23563           },
 23564           "Filters": {
 23565             "shape": "S7y",
 23566             "locationName": "Filter"
 23567           },
 23568           "NextToken": {},
 23569           "MaxResults": {
 23570             "type": "integer"
 23571           },
 23572           "IncludeAllInstances": {
 23573             "locationName": "includeAllInstances",
 23574             "type": "boolean"
 23575           }
 23576         }
 23577       },
 23578       "output": {
 23579         "type": "structure",
 23580         "members": {
 23581           "InstanceStatuses": {
 23582             "locationName": "instanceStatusSet",
 23583             "type": "list",
 23584             "member": {
 23585               "locationName": "item",
 23586               "type": "structure",
 23587               "members": {
 23588                 "InstanceId": {
 23589                   "locationName": "instanceId"
 23590                 },
 23591                 "AvailabilityZone": {
 23592                   "locationName": "availabilityZone"
 23593                 },
 23594                 "Events": {
 23595                   "locationName": "eventsSet",
 23596                   "type": "list",
 23597                   "member": {
 23598                     "locationName": "item",
 23599                     "type": "structure",
 23600                     "members": {
 23601                       "Code": {
 23602                         "locationName": "code"
 23603                       },
 23604                       "Description": {
 23605                         "locationName": "description"
 23606                       },
 23607                       "NotBefore": {
 23608                         "locationName": "notBefore",
 23609                         "type": "timestamp"
 23610                       },
 23611                       "NotAfter": {
 23612                         "locationName": "notAfter",
 23613                         "type": "timestamp"
 23614                       }
 23615                     }
 23616                   }
 23617                 },
 23618                 "InstanceState": {
 23619                   "shape": "Sbn",
 23620                   "locationName": "instanceState"
 23621                 },
 23622                 "SystemStatus": {
 23623                   "shape": "Sbp",
 23624                   "locationName": "systemStatus"
 23625                 },
 23626                 "InstanceStatus": {
 23627                   "shape": "Sbp",
 23628                   "locationName": "instanceStatus"
 23629                 }
 23630               }
 23631             }
 23632           },
 23633           "NextToken": {
 23634             "locationName": "nextToken"
 23635           }
 23636         }
 23637       }
 23638     },
 23639     "DescribeInstances": {
 23640       "input": {
 23641         "type": "structure",
 23642         "members": {
 23643           "DryRun": {
 23644             "locationName": "dryRun",
 23645             "type": "boolean"
 23646           },
 23647           "InstanceIds": {
 23648             "shape": "S8h",
 23649             "locationName": "InstanceId"
 23650           },
 23651           "Filters": {
 23652             "shape": "S7y",
 23653             "locationName": "Filter"
 23654           },
 23655           "NextToken": {
 23656             "locationName": "nextToken"
 23657           },
 23658           "MaxResults": {
 23659             "locationName": "maxResults",
 23660             "type": "integer"
 23661           }
 23662         }
 23663       },
 23664       "output": {
 23665         "type": "structure",
 23666         "members": {
 23667           "Reservations": {
 23668             "locationName": "reservationSet",
 23669             "type": "list",
 23670             "member": {
 23671               "shape": "Sby",
 23672               "locationName": "item"
 23673             }
 23674           },
 23675           "NextToken": {
 23676             "locationName": "nextToken"
 23677           }
 23678         }
 23679       }
 23680     },
 23681     "DescribeInternetGateways": {
 23682       "input": {
 23683         "type": "structure",
 23684         "members": {
 23685           "DryRun": {
 23686             "locationName": "dryRun",
 23687             "type": "boolean"
 23688           },
 23689           "InternetGatewayIds": {
 23690             "shape": "S2c",
 23691             "locationName": "internetGatewayId"
 23692           },
 23693           "Filters": {
 23694             "shape": "S7y",
 23695             "locationName": "Filter"
 23696           }
 23697         }
 23698       },
 23699       "output": {
 23700         "type": "structure",
 23701         "members": {
 23702           "InternetGateways": {
 23703             "locationName": "internetGatewaySet",
 23704             "type": "list",
 23705             "member": {
 23706               "shape": "S3z",
 23707               "locationName": "item"
 23708             }
 23709           }
 23710         }
 23711       }
 23712     },
 23713     "DescribeKeyPairs": {
 23714       "input": {
 23715         "type": "structure",
 23716         "members": {
 23717           "DryRun": {
 23718             "locationName": "dryRun",
 23719             "type": "boolean"
 23720           },
 23721           "KeyNames": {
 23722             "locationName": "KeyName",
 23723             "type": "list",
 23724             "member": {
 23725               "locationName": "KeyName"
 23726             }
 23727           },
 23728           "Filters": {
 23729             "shape": "S7y",
 23730             "locationName": "Filter"
 23731           }
 23732         }
 23733       },
 23734       "output": {
 23735         "type": "structure",
 23736         "members": {
 23737           "KeyPairs": {
 23738             "locationName": "keySet",
 23739             "type": "list",
 23740             "member": {
 23741               "locationName": "item",
 23742               "type": "structure",
 23743               "members": {
 23744                 "KeyName": {
 23745                   "locationName": "keyName"
 23746                 },
 23747                 "KeyFingerprint": {
 23748                   "locationName": "keyFingerprint"
 23749                 }
 23750               }
 23751             }
 23752           }
 23753         }
 23754       }
 23755     },
 23756     "DescribeMovingAddresses": {
 23757       "input": {
 23758         "type": "structure",
 23759         "members": {
 23760           "DryRun": {
 23761             "locationName": "dryRun",
 23762             "type": "boolean"
 23763           },
 23764           "PublicIps": {
 23765             "shape": "S2c",
 23766             "locationName": "publicIp"
 23767           },
 23768           "NextToken": {
 23769             "locationName": "nextToken"
 23770           },
 23771           "Filters": {
 23772             "shape": "S7y",
 23773             "locationName": "filter"
 23774           },
 23775           "MaxResults": {
 23776             "locationName": "maxResults",
 23777             "type": "integer"
 23778           }
 23779         }
 23780       },
 23781       "output": {
 23782         "type": "structure",
 23783         "members": {
 23784           "MovingAddressStatuses": {
 23785             "locationName": "movingAddressStatusSet",
 23786             "type": "list",
 23787             "member": {
 23788               "locationName": "item",
 23789               "type": "structure",
 23790               "members": {
 23791                 "PublicIp": {
 23792                   "locationName": "publicIp"
 23793                 },
 23794                 "MoveStatus": {
 23795                   "locationName": "moveStatus"
 23796                 }
 23797               }
 23798             }
 23799           },
 23800           "NextToken": {
 23801             "locationName": "nextToken"
 23802           }
 23803         }
 23804       }
 23805     },
 23806     "DescribeNatGateways": {
 23807       "input": {
 23808         "type": "structure",
 23809         "members": {
 23810           "NatGatewayIds": {
 23811             "shape": "S2c",
 23812             "locationName": "NatGatewayId"
 23813           },
 23814           "Filter": {
 23815             "shape": "S7y"
 23816           },
 23817           "MaxResults": {
 23818             "type": "integer"
 23819           },
 23820           "NextToken": {}
 23821         }
 23822       },
 23823       "output": {
 23824         "type": "structure",
 23825         "members": {
 23826           "NatGateways": {
 23827             "locationName": "natGatewaySet",
 23828             "type": "list",
 23829             "member": {
 23830               "shape": "S46",
 23831               "locationName": "item"
 23832             }
 23833           },
 23834           "NextToken": {
 23835             "locationName": "nextToken"
 23836           }
 23837         }
 23838       }
 23839     },
 23840     "DescribeNetworkAcls": {
 23841       "input": {
 23842         "type": "structure",
 23843         "members": {
 23844           "DryRun": {
 23845             "locationName": "dryRun",
 23846             "type": "boolean"
 23847           },
 23848           "NetworkAclIds": {
 23849             "shape": "S2c",
 23850             "locationName": "NetworkAclId"
 23851           },
 23852           "Filters": {
 23853             "shape": "S7y",
 23854             "locationName": "Filter"
 23855           }
 23856         }
 23857       },
 23858       "output": {
 23859         "type": "structure",
 23860         "members": {
 23861           "NetworkAcls": {
 23862             "locationName": "networkAclSet",
 23863             "type": "list",
 23864             "member": {
 23865               "shape": "S4d",
 23866               "locationName": "item"
 23867             }
 23868           }
 23869         }
 23870       }
 23871     },
 23872     "DescribeNetworkInterfaceAttribute": {
 23873       "input": {
 23874         "type": "structure",
 23875         "required": [
 23876           "NetworkInterfaceId"
 23877         ],
 23878         "members": {
 23879           "DryRun": {
 23880             "locationName": "dryRun",
 23881             "type": "boolean"
 23882           },
 23883           "NetworkInterfaceId": {
 23884             "locationName": "networkInterfaceId"
 23885           },
 23886           "Attribute": {
 23887             "locationName": "attribute"
 23888           }
 23889         }
 23890       },
 23891       "output": {
 23892         "type": "structure",
 23893         "members": {
 23894           "NetworkInterfaceId": {
 23895             "locationName": "networkInterfaceId"
 23896           },
 23897           "Description": {
 23898             "shape": "S39",
 23899             "locationName": "description"
 23900           },
 23901           "SourceDestCheck": {
 23902             "shape": "Sbc",
 23903             "locationName": "sourceDestCheck"
 23904           },
 23905           "Groups": {
 23906             "shape": "S4t",
 23907             "locationName": "groupSet"
 23908           },
 23909           "Attachment": {
 23910             "shape": "S4v",
 23911             "locationName": "attachment"
 23912           }
 23913         }
 23914       }
 23915     },
 23916     "DescribeNetworkInterfaces": {
 23917       "input": {
 23918         "type": "structure",
 23919         "members": {
 23920           "DryRun": {
 23921             "locationName": "dryRun",
 23922             "type": "boolean"
 23923           },
 23924           "NetworkInterfaceIds": {
 23925             "locationName": "NetworkInterfaceId",
 23926             "type": "list",
 23927             "member": {
 23928               "locationName": "item"
 23929             }
 23930           },
 23931           "Filters": {
 23932             "shape": "S7y",
 23933             "locationName": "filter"
 23934           }
 23935         }
 23936       },
 23937       "output": {
 23938         "type": "structure",
 23939         "members": {
 23940           "NetworkInterfaces": {
 23941             "locationName": "networkInterfaceSet",
 23942             "type": "list",
 23943             "member": {
 23944               "shape": "S4r",
 23945               "locationName": "item"
 23946             }
 23947           }
 23948         }
 23949       }
 23950     },
 23951     "DescribePlacementGroups": {
 23952       "input": {
 23953         "type": "structure",
 23954         "members": {
 23955           "DryRun": {
 23956             "locationName": "dryRun",
 23957             "type": "boolean"
 23958           },
 23959           "GroupNames": {
 23960             "locationName": "groupName",
 23961             "type": "list",
 23962             "member": {}
 23963           },
 23964           "Filters": {
 23965             "shape": "S7y",
 23966             "locationName": "Filter"
 23967           }
 23968         }
 23969       },
 23970       "output": {
 23971         "type": "structure",
 23972         "members": {
 23973           "PlacementGroups": {
 23974             "locationName": "placementGroupSet",
 23975             "type": "list",
 23976             "member": {
 23977               "locationName": "item",
 23978               "type": "structure",
 23979               "members": {
 23980                 "GroupName": {
 23981                   "locationName": "groupName"
 23982                 },
 23983                 "Strategy": {
 23984                   "locationName": "strategy"
 23985                 },
 23986                 "State": {
 23987                   "locationName": "state"
 23988                 }
 23989               }
 23990             }
 23991           }
 23992         }
 23993       }
 23994     },
 23995     "DescribePrefixLists": {
 23996       "input": {
 23997         "type": "structure",
 23998         "members": {
 23999           "DryRun": {
 24000             "type": "boolean"
 24001           },
 24002           "PrefixListIds": {
 24003             "shape": "S2c",
 24004             "locationName": "PrefixListId"
 24005           },
 24006           "Filters": {
 24007             "shape": "S7y",
 24008             "locationName": "Filter"
 24009           },
 24010           "MaxResults": {
 24011             "type": "integer"
 24012           },
 24013           "NextToken": {}
 24014         }
 24015       },
 24016       "output": {
 24017         "type": "structure",
 24018         "members": {
 24019           "PrefixLists": {
 24020             "locationName": "prefixListSet",
 24021             "type": "list",
 24022             "member": {
 24023               "locationName": "item",
 24024               "type": "structure",
 24025               "members": {
 24026                 "PrefixListId": {
 24027                   "locationName": "prefixListId"
 24028                 },
 24029                 "PrefixListName": {
 24030                   "locationName": "prefixListName"
 24031                 },
 24032                 "Cidrs": {
 24033                   "shape": "S2c",
 24034                   "locationName": "cidrSet"
 24035                 }
 24036               }
 24037             }
 24038           },
 24039           "NextToken": {
 24040             "locationName": "nextToken"
 24041           }
 24042         }
 24043       }
 24044     },
 24045     "DescribeRegions": {
 24046       "input": {
 24047         "type": "structure",
 24048         "members": {
 24049           "DryRun": {
 24050             "locationName": "dryRun",
 24051             "type": "boolean"
 24052           },
 24053           "RegionNames": {
 24054             "locationName": "RegionName",
 24055             "type": "list",
 24056             "member": {
 24057               "locationName": "RegionName"
 24058             }
 24059           },
 24060           "Filters": {
 24061             "shape": "S7y",
 24062             "locationName": "Filter"
 24063           }
 24064         }
 24065       },
 24066       "output": {
 24067         "type": "structure",
 24068         "members": {
 24069           "Regions": {
 24070             "locationName": "regionInfo",
 24071             "type": "list",
 24072             "member": {
 24073               "locationName": "item",
 24074               "type": "structure",
 24075               "members": {
 24076                 "RegionName": {
 24077                   "locationName": "regionName"
 24078                 },
 24079                 "Endpoint": {
 24080                   "locationName": "regionEndpoint"
 24081                 }
 24082               }
 24083             }
 24084           }
 24085         }
 24086       }
 24087     },
 24088     "DescribeReservedInstances": {
 24089       "input": {
 24090         "type": "structure",
 24091         "members": {
 24092           "DryRun": {
 24093             "locationName": "dryRun",
 24094             "type": "boolean"
 24095           },
 24096           "ReservedInstancesIds": {
 24097             "shape": "Sdj",
 24098             "locationName": "ReservedInstancesId"
 24099           },
 24100           "Filters": {
 24101             "shape": "S7y",
 24102             "locationName": "Filter"
 24103           },
 24104           "OfferingType": {
 24105             "locationName": "offeringType"
 24106           },
 24107           "OfferingClass": {}
 24108         }
 24109       },
 24110       "output": {
 24111         "type": "structure",
 24112         "members": {
 24113           "ReservedInstances": {
 24114             "locationName": "reservedInstancesSet",
 24115             "type": "list",
 24116             "member": {
 24117               "locationName": "item",
 24118               "type": "structure",
 24119               "members": {
 24120                 "ReservedInstancesId": {
 24121                   "locationName": "reservedInstancesId"
 24122                 },
 24123                 "InstanceType": {
 24124                   "locationName": "instanceType"
 24125                 },
 24126                 "AvailabilityZone": {
 24127                   "locationName": "availabilityZone"
 24128                 },
 24129                 "Start": {
 24130                   "locationName": "start",
 24131                   "type": "timestamp"
 24132                 },
 24133                 "End": {
 24134                   "locationName": "end",
 24135                   "type": "timestamp"
 24136                 },
 24137                 "Duration": {
 24138                   "locationName": "duration",
 24139                   "type": "long"
 24140                 },
 24141                 "UsagePrice": {
 24142                   "locationName": "usagePrice",
 24143                   "type": "float"
 24144                 },
 24145                 "FixedPrice": {
 24146                   "locationName": "fixedPrice",
 24147                   "type": "float"
 24148                 },
 24149                 "InstanceCount": {
 24150                   "locationName": "instanceCount",
 24151                   "type": "integer"
 24152                 },
 24153                 "ProductDescription": {
 24154                   "locationName": "productDescription"
 24155                 },
 24156                 "State": {
 24157                   "locationName": "state"
 24158                 },
 24159                 "Tags": {
 24160                   "shape": "Sh",
 24161                   "locationName": "tagSet"
 24162                 },
 24163                 "InstanceTenancy": {
 24164                   "locationName": "instanceTenancy"
 24165                 },
 24166                 "CurrencyCode": {
 24167                   "locationName": "currencyCode"
 24168                 },
 24169                 "OfferingType": {
 24170                   "locationName": "offeringType"
 24171                 },
 24172                 "RecurringCharges": {
 24173                   "shape": "Sds",
 24174                   "locationName": "recurringCharges"
 24175                 },
 24176                 "OfferingClass": {
 24177                   "locationName": "offeringClass"
 24178                 },
 24179                 "Scope": {
 24180                   "locationName": "scope"
 24181                 }
 24182               }
 24183             }
 24184           }
 24185         }
 24186       }
 24187     },
 24188     "DescribeReservedInstancesListings": {
 24189       "input": {
 24190         "type": "structure",
 24191         "members": {
 24192           "ReservedInstancesId": {
 24193             "locationName": "reservedInstancesId"
 24194           },
 24195           "ReservedInstancesListingId": {
 24196             "locationName": "reservedInstancesListingId"
 24197           },
 24198           "Filters": {
 24199             "shape": "S7y",
 24200             "locationName": "Filter"
 24201           }
 24202         }
 24203       },
 24204       "output": {
 24205         "type": "structure",
 24206         "members": {
 24207           "ReservedInstancesListings": {
 24208             "shape": "S20",
 24209             "locationName": "reservedInstancesListingsSet"
 24210           }
 24211         }
 24212       }
 24213     },
 24214     "DescribeReservedInstancesModifications": {
 24215       "input": {
 24216         "type": "structure",
 24217         "members": {
 24218           "ReservedInstancesModificationIds": {
 24219             "locationName": "ReservedInstancesModificationId",
 24220             "type": "list",
 24221             "member": {
 24222               "locationName": "ReservedInstancesModificationId"
 24223             }
 24224           },
 24225           "NextToken": {
 24226             "locationName": "nextToken"
 24227           },
 24228           "Filters": {
 24229             "shape": "S7y",
 24230             "locationName": "Filter"
 24231           }
 24232         }
 24233       },
 24234       "output": {
 24235         "type": "structure",
 24236         "members": {
 24237           "ReservedInstancesModifications": {
 24238             "locationName": "reservedInstancesModificationsSet",
 24239             "type": "list",
 24240             "member": {
 24241               "locationName": "item",
 24242               "type": "structure",
 24243               "members": {
 24244                 "ReservedInstancesModificationId": {
 24245                   "locationName": "reservedInstancesModificationId"
 24246                 },
 24247                 "ReservedInstancesIds": {
 24248                   "locationName": "reservedInstancesSet",
 24249                   "type": "list",
 24250                   "member": {
 24251                     "locationName": "item",
 24252                     "type": "structure",
 24253                     "members": {
 24254                       "ReservedInstancesId": {
 24255                         "locationName": "reservedInstancesId"
 24256                       }
 24257                     }
 24258                   }
 24259                 },
 24260                 "ModificationResults": {
 24261                   "locationName": "modificationResultSet",
 24262                   "type": "list",
 24263                   "member": {
 24264                     "locationName": "item",
 24265                     "type": "structure",
 24266                     "members": {
 24267                       "ReservedInstancesId": {
 24268                         "locationName": "reservedInstancesId"
 24269                       },
 24270                       "TargetConfiguration": {
 24271                         "shape": "Se7",
 24272                         "locationName": "targetConfiguration"
 24273                       }
 24274                     }
 24275                   }
 24276                 },
 24277                 "CreateDate": {
 24278                   "locationName": "createDate",
 24279                   "type": "timestamp"
 24280                 },
 24281                 "UpdateDate": {
 24282                   "locationName": "updateDate",
 24283                   "type": "timestamp"
 24284                 },
 24285                 "EffectiveDate": {
 24286                   "locationName": "effectiveDate",
 24287                   "type": "timestamp"
 24288                 },
 24289                 "Status": {
 24290                   "locationName": "status"
 24291                 },
 24292                 "StatusMessage": {
 24293                   "locationName": "statusMessage"
 24294                 },
 24295                 "ClientToken": {
 24296                   "locationName": "clientToken"
 24297                 }
 24298               }
 24299             }
 24300           },
 24301           "NextToken": {
 24302             "locationName": "nextToken"
 24303           }
 24304         }
 24305       }
 24306     },
 24307     "DescribeReservedInstancesOfferings": {
 24308       "input": {
 24309         "type": "structure",
 24310         "members": {
 24311           "DryRun": {
 24312             "locationName": "dryRun",
 24313             "type": "boolean"
 24314           },
 24315           "ReservedInstancesOfferingIds": {
 24316             "locationName": "ReservedInstancesOfferingId",
 24317             "type": "list",
 24318             "member": {}
 24319           },
 24320           "InstanceType": {},
 24321           "AvailabilityZone": {},
 24322           "ProductDescription": {},
 24323           "Filters": {
 24324             "shape": "S7y",
 24325             "locationName": "Filter"
 24326           },
 24327           "InstanceTenancy": {
 24328             "locationName": "instanceTenancy"
 24329           },
 24330           "OfferingType": {
 24331             "locationName": "offeringType"
 24332           },
 24333           "NextToken": {
 24334             "locationName": "nextToken"
 24335           },
 24336           "MaxResults": {
 24337             "locationName": "maxResults",
 24338             "type": "integer"
 24339           },
 24340           "IncludeMarketplace": {
 24341             "type": "boolean"
 24342           },
 24343           "MinDuration": {
 24344             "type": "long"
 24345           },
 24346           "MaxDuration": {
 24347             "type": "long"
 24348           },
 24349           "MaxInstanceCount": {
 24350             "type": "integer"
 24351           },
 24352           "OfferingClass": {}
 24353         }
 24354       },
 24355       "output": {
 24356         "type": "structure",
 24357         "members": {
 24358           "ReservedInstancesOfferings": {
 24359             "locationName": "reservedInstancesOfferingsSet",
 24360             "type": "list",
 24361             "member": {
 24362               "locationName": "item",
 24363               "type": "structure",
 24364               "members": {
 24365                 "ReservedInstancesOfferingId": {
 24366                   "locationName": "reservedInstancesOfferingId"
 24367                 },
 24368                 "InstanceType": {
 24369                   "locationName": "instanceType"
 24370                 },
 24371                 "AvailabilityZone": {
 24372                   "locationName": "availabilityZone"
 24373                 },
 24374                 "Duration": {
 24375                   "locationName": "duration",
 24376                   "type": "long"
 24377                 },
 24378                 "UsagePrice": {
 24379                   "locationName": "usagePrice",
 24380                   "type": "float"
 24381                 },
 24382                 "FixedPrice": {
 24383                   "locationName": "fixedPrice",
 24384                   "type": "float"
 24385                 },
 24386                 "ProductDescription": {
 24387                   "locationName": "productDescription"
 24388                 },
 24389                 "InstanceTenancy": {
 24390                   "locationName": "instanceTenancy"
 24391                 },
 24392                 "CurrencyCode": {
 24393                   "locationName": "currencyCode"
 24394                 },
 24395                 "OfferingType": {
 24396                   "locationName": "offeringType"
 24397                 },
 24398                 "RecurringCharges": {
 24399                   "shape": "Sds",
 24400                   "locationName": "recurringCharges"
 24401                 },
 24402                 "Marketplace": {
 24403                   "locationName": "marketplace",
 24404                   "type": "boolean"
 24405                 },
 24406                 "PricingDetails": {
 24407                   "locationName": "pricingDetailsSet",
 24408                   "type": "list",
 24409                   "member": {
 24410                     "locationName": "item",
 24411                     "type": "structure",
 24412                     "members": {
 24413                       "Price": {
 24414                         "locationName": "price",
 24415                         "type": "double"
 24416                       },
 24417                       "Count": {
 24418                         "locationName": "count",
 24419                         "type": "integer"
 24420                       }
 24421                     }
 24422                   }
 24423                 },
 24424                 "OfferingClass": {
 24425                   "locationName": "offeringClass"
 24426                 },
 24427                 "Scope": {
 24428                   "locationName": "scope"
 24429                 }
 24430               }
 24431             }
 24432           },
 24433           "NextToken": {
 24434             "locationName": "nextToken"
 24435           }
 24436         }
 24437       }
 24438     },
 24439     "DescribeRouteTables": {
 24440       "input": {
 24441         "type": "structure",
 24442         "members": {
 24443           "DryRun": {
 24444             "locationName": "dryRun",
 24445             "type": "boolean"
 24446           },
 24447           "RouteTableIds": {
 24448             "shape": "S2c",
 24449             "locationName": "RouteTableId"
 24450           },
 24451           "Filters": {
 24452             "shape": "S7y",
 24453             "locationName": "Filter"
 24454           }
 24455         }
 24456       },
 24457       "output": {
 24458         "type": "structure",
 24459         "members": {
 24460           "RouteTables": {
 24461             "locationName": "routeTableSet",
 24462             "type": "list",
 24463             "member": {
 24464               "shape": "S5a",
 24465               "locationName": "item"
 24466             }
 24467           }
 24468         }
 24469       }
 24470     },
 24471     "DescribeScheduledInstanceAvailability": {
 24472       "input": {
 24473         "type": "structure",
 24474         "required": [
 24475           "Recurrence",
 24476           "FirstSlotStartTimeRange"
 24477         ],
 24478         "members": {
 24479           "DryRun": {
 24480             "type": "boolean"
 24481           },
 24482           "Recurrence": {
 24483             "type": "structure",
 24484             "members": {
 24485               "Frequency": {},
 24486               "Interval": {
 24487                 "type": "integer"
 24488               },
 24489               "OccurrenceDays": {
 24490                 "locationName": "OccurrenceDay",
 24491                 "type": "list",
 24492                 "member": {
 24493                   "locationName": "OccurenceDay",
 24494                   "type": "integer"
 24495                 }
 24496               },
 24497               "OccurrenceRelativeToEnd": {
 24498                 "type": "boolean"
 24499               },
 24500               "OccurrenceUnit": {}
 24501             }
 24502           },
 24503           "FirstSlotStartTimeRange": {
 24504             "type": "structure",
 24505             "required": [
 24506               "EarliestTime",
 24507               "LatestTime"
 24508             ],
 24509             "members": {
 24510               "EarliestTime": {
 24511                 "type": "timestamp"
 24512               },
 24513               "LatestTime": {
 24514                 "type": "timestamp"
 24515               }
 24516             }
 24517           },
 24518           "MinSlotDurationInHours": {
 24519             "type": "integer"
 24520           },
 24521           "MaxSlotDurationInHours": {
 24522             "type": "integer"
 24523           },
 24524           "NextToken": {},
 24525           "MaxResults": {
 24526             "type": "integer"
 24527           },
 24528           "Filters": {
 24529             "shape": "S7y",
 24530             "locationName": "Filter"
 24531           }
 24532         }
 24533       },
 24534       "output": {
 24535         "type": "structure",
 24536         "members": {
 24537           "NextToken": {
 24538             "locationName": "nextToken"
 24539           },
 24540           "ScheduledInstanceAvailabilitySet": {
 24541             "locationName": "scheduledInstanceAvailabilitySet",
 24542             "type": "list",
 24543             "member": {
 24544               "locationName": "item",
 24545               "type": "structure",
 24546               "members": {
 24547                 "InstanceType": {
 24548                   "locationName": "instanceType"
 24549                 },
 24550                 "Platform": {
 24551                   "locationName": "platform"
 24552                 },
 24553                 "NetworkPlatform": {
 24554                   "locationName": "networkPlatform"
 24555                 },
 24556                 "AvailabilityZone": {
 24557                   "locationName": "availabilityZone"
 24558                 },
 24559                 "PurchaseToken": {
 24560                   "locationName": "purchaseToken"
 24561                 },
 24562                 "SlotDurationInHours": {
 24563                   "locationName": "slotDurationInHours",
 24564                   "type": "integer"
 24565                 },
 24566                 "Recurrence": {
 24567                   "shape": "Sep",
 24568                   "locationName": "recurrence"
 24569                 },
 24570                 "FirstSlotStartTime": {
 24571                   "locationName": "firstSlotStartTime",
 24572                   "type": "timestamp"
 24573                 },
 24574                 "HourlyPrice": {
 24575                   "locationName": "hourlyPrice"
 24576                 },
 24577                 "TotalScheduledInstanceHours": {
 24578                   "locationName": "totalScheduledInstanceHours",
 24579                   "type": "integer"
 24580                 },
 24581                 "AvailableInstanceCount": {
 24582                   "locationName": "availableInstanceCount",
 24583                   "type": "integer"
 24584                 },
 24585                 "MinTermDurationInDays": {
 24586                   "locationName": "minTermDurationInDays",
 24587                   "type": "integer"
 24588                 },
 24589                 "MaxTermDurationInDays": {
 24590                   "locationName": "maxTermDurationInDays",
 24591                   "type": "integer"
 24592                 }
 24593               }
 24594             }
 24595           }
 24596         }
 24597       }
 24598     },
 24599     "DescribeScheduledInstances": {
 24600       "input": {
 24601         "type": "structure",
 24602         "members": {
 24603           "DryRun": {
 24604             "type": "boolean"
 24605           },
 24606           "ScheduledInstanceIds": {
 24607             "locationName": "ScheduledInstanceId",
 24608             "type": "list",
 24609             "member": {
 24610               "locationName": "ScheduledInstanceId"
 24611             }
 24612           },
 24613           "SlotStartTimeRange": {
 24614             "type": "structure",
 24615             "members": {
 24616               "EarliestTime": {
 24617                 "type": "timestamp"
 24618               },
 24619               "LatestTime": {
 24620                 "type": "timestamp"
 24621               }
 24622             }
 24623           },
 24624           "NextToken": {},
 24625           "MaxResults": {
 24626             "type": "integer"
 24627           },
 24628           "Filters": {
 24629             "shape": "S7y",
 24630             "locationName": "Filter"
 24631           }
 24632         }
 24633       },
 24634       "output": {
 24635         "type": "structure",
 24636         "members": {
 24637           "NextToken": {
 24638             "locationName": "nextToken"
 24639           },
 24640           "ScheduledInstanceSet": {
 24641             "locationName": "scheduledInstanceSet",
 24642             "type": "list",
 24643             "member": {
 24644               "shape": "Sew",
 24645               "locationName": "item"
 24646             }
 24647           }
 24648         }
 24649       }
 24650     },
 24651     "DescribeSecurityGroupReferences": {
 24652       "input": {
 24653         "type": "structure",
 24654         "required": [
 24655           "GroupId"
 24656         ],
 24657         "members": {
 24658           "DryRun": {
 24659             "type": "boolean"
 24660           },
 24661           "GroupId": {
 24662             "type": "list",
 24663             "member": {
 24664               "locationName": "item"
 24665             }
 24666           }
 24667         }
 24668       },
 24669       "output": {
 24670         "type": "structure",
 24671         "members": {
 24672           "SecurityGroupReferenceSet": {
 24673             "locationName": "securityGroupReferenceSet",
 24674             "type": "list",
 24675             "member": {
 24676               "locationName": "item",
 24677               "type": "structure",
 24678               "required": [
 24679                 "GroupId",
 24680                 "ReferencingVpcId"
 24681               ],
 24682               "members": {
 24683                 "GroupId": {
 24684                   "locationName": "groupId"
 24685                 },
 24686                 "ReferencingVpcId": {
 24687                   "locationName": "referencingVpcId"
 24688                 },
 24689                 "VpcPeeringConnectionId": {
 24690                   "locationName": "vpcPeeringConnectionId"
 24691                 }
 24692               }
 24693             }
 24694           }
 24695         }
 24696       }
 24697     },
 24698     "DescribeSecurityGroups": {
 24699       "input": {
 24700         "type": "structure",
 24701         "members": {
 24702           "DryRun": {
 24703             "locationName": "dryRun",
 24704             "type": "boolean"
 24705           },
 24706           "GroupNames": {
 24707             "shape": "Sf3",
 24708             "locationName": "GroupName"
 24709           },
 24710           "GroupIds": {
 24711             "shape": "Sy",
 24712             "locationName": "GroupId"
 24713           },
 24714           "Filters": {
 24715             "shape": "S7y",
 24716             "locationName": "Filter"
 24717           }
 24718         }
 24719       },
 24720       "output": {
 24721         "type": "structure",
 24722         "members": {
 24723           "SecurityGroups": {
 24724             "locationName": "securityGroupInfo",
 24725             "type": "list",
 24726             "member": {
 24727               "locationName": "item",
 24728               "type": "structure",
 24729               "members": {
 24730                 "OwnerId": {
 24731                   "locationName": "ownerId"
 24732                 },
 24733                 "GroupName": {
 24734                   "locationName": "groupName"
 24735                 },
 24736                 "GroupId": {
 24737                   "locationName": "groupId"
 24738                 },
 24739                 "Description": {
 24740                   "locationName": "groupDescription"
 24741                 },
 24742                 "IpPermissions": {
 24743                   "shape": "S1b",
 24744                   "locationName": "ipPermissions"
 24745                 },
 24746                 "IpPermissionsEgress": {
 24747                   "shape": "S1b",
 24748                   "locationName": "ipPermissionsEgress"
 24749                 },
 24750                 "VpcId": {
 24751                   "locationName": "vpcId"
 24752                 },
 24753                 "Tags": {
 24754                   "shape": "Sh",
 24755                   "locationName": "tagSet"
 24756                 }
 24757               }
 24758             }
 24759           }
 24760         }
 24761       }
 24762     },
 24763     "DescribeSnapshotAttribute": {
 24764       "input": {
 24765         "type": "structure",
 24766         "required": [
 24767           "SnapshotId",
 24768           "Attribute"
 24769         ],
 24770         "members": {
 24771           "DryRun": {
 24772             "locationName": "dryRun",
 24773             "type": "boolean"
 24774           },
 24775           "SnapshotId": {},
 24776           "Attribute": {}
 24777         }
 24778       },
 24779       "output": {
 24780         "type": "structure",
 24781         "members": {
 24782           "SnapshotId": {
 24783             "locationName": "snapshotId"
 24784           },
 24785           "CreateVolumePermissions": {
 24786             "shape": "Sfa",
 24787             "locationName": "createVolumePermission"
 24788           },
 24789           "ProductCodes": {
 24790             "shape": "Sae",
 24791             "locationName": "productCodes"
 24792           }
 24793         }
 24794       }
 24795     },
 24796     "DescribeSnapshots": {
 24797       "input": {
 24798         "type": "structure",
 24799         "members": {
 24800           "DryRun": {
 24801             "locationName": "dryRun",
 24802             "type": "boolean"
 24803           },
 24804           "SnapshotIds": {
 24805             "locationName": "SnapshotId",
 24806             "type": "list",
 24807             "member": {
 24808               "locationName": "SnapshotId"
 24809             }
 24810           },
 24811           "OwnerIds": {
 24812             "shape": "Sak",
 24813             "locationName": "Owner"
 24814           },
 24815           "RestorableByUserIds": {
 24816             "locationName": "RestorableBy",
 24817             "type": "list",
 24818             "member": {}
 24819           },
 24820           "Filters": {
 24821             "shape": "S7y",
 24822             "locationName": "Filter"
 24823           },
 24824           "NextToken": {},
 24825           "MaxResults": {
 24826             "type": "integer"
 24827           }
 24828         }
 24829       },
 24830       "output": {
 24831         "type": "structure",
 24832         "members": {
 24833           "Snapshots": {
 24834             "locationName": "snapshotSet",
 24835             "type": "list",
 24836             "member": {
 24837               "shape": "S5m",
 24838               "locationName": "item"
 24839             }
 24840           },
 24841           "NextToken": {
 24842             "locationName": "nextToken"
 24843           }
 24844         }
 24845       }
 24846     },
 24847     "DescribeSpotDatafeedSubscription": {
 24848       "input": {
 24849         "type": "structure",
 24850         "members": {
 24851           "DryRun": {
 24852             "locationName": "dryRun",
 24853             "type": "boolean"
 24854           }
 24855         }
 24856       },
 24857       "output": {
 24858         "type": "structure",
 24859         "members": {
 24860           "SpotDatafeedSubscription": {
 24861             "shape": "S5q",
 24862             "locationName": "spotDatafeedSubscription"
 24863           }
 24864         }
 24865       }
 24866     },
 24867     "DescribeSpotFleetInstances": {
 24868       "input": {
 24869         "type": "structure",
 24870         "required": [
 24871           "SpotFleetRequestId"
 24872         ],
 24873         "members": {
 24874           "DryRun": {
 24875             "locationName": "dryRun",
 24876             "type": "boolean"
 24877           },
 24878           "SpotFleetRequestId": {
 24879             "locationName": "spotFleetRequestId"
 24880           },
 24881           "NextToken": {
 24882             "locationName": "nextToken"
 24883           },
 24884           "MaxResults": {
 24885             "locationName": "maxResults",
 24886             "type": "integer"
 24887           }
 24888         }
 24889       },
 24890       "output": {
 24891         "type": "structure",
 24892         "required": [
 24893           "SpotFleetRequestId",
 24894           "ActiveInstances"
 24895         ],
 24896         "members": {
 24897           "SpotFleetRequestId": {
 24898             "locationName": "spotFleetRequestId"
 24899           },
 24900           "ActiveInstances": {
 24901             "locationName": "activeInstanceSet",
 24902             "type": "list",
 24903             "member": {
 24904               "locationName": "item",
 24905               "type": "structure",
 24906               "members": {
 24907                 "InstanceType": {
 24908                   "locationName": "instanceType"
 24909                 },
 24910                 "InstanceId": {
 24911                   "locationName": "instanceId"
 24912                 },
 24913                 "SpotInstanceRequestId": {
 24914                   "locationName": "spotInstanceRequestId"
 24915                 }
 24916               }
 24917             }
 24918           },
 24919           "NextToken": {
 24920             "locationName": "nextToken"
 24921           }
 24922         }
 24923       }
 24924     },
 24925     "DescribeSpotFleetRequestHistory": {
 24926       "input": {
 24927         "type": "structure",
 24928         "required": [
 24929           "SpotFleetRequestId",
 24930           "StartTime"
 24931         ],
 24932         "members": {
 24933           "DryRun": {
 24934             "locationName": "dryRun",
 24935             "type": "boolean"
 24936           },
 24937           "SpotFleetRequestId": {
 24938             "locationName": "spotFleetRequestId"
 24939           },
 24940           "EventType": {
 24941             "locationName": "eventType"
 24942           },
 24943           "StartTime": {
 24944             "locationName": "startTime",
 24945             "type": "timestamp"
 24946           },
 24947           "NextToken": {
 24948             "locationName": "nextToken"
 24949           },
 24950           "MaxResults": {
 24951             "locationName": "maxResults",
 24952             "type": "integer"
 24953           }
 24954         }
 24955       },
 24956       "output": {
 24957         "type": "structure",
 24958         "required": [
 24959           "SpotFleetRequestId",
 24960           "StartTime",
 24961           "LastEvaluatedTime",
 24962           "HistoryRecords"
 24963         ],
 24964         "members": {
 24965           "SpotFleetRequestId": {
 24966             "locationName": "spotFleetRequestId"
 24967           },
 24968           "StartTime": {
 24969             "locationName": "startTime",
 24970             "type": "timestamp"
 24971           },
 24972           "LastEvaluatedTime": {
 24973             "locationName": "lastEvaluatedTime",
 24974             "type": "timestamp"
 24975           },
 24976           "HistoryRecords": {
 24977             "locationName": "historyRecordSet",
 24978             "type": "list",
 24979             "member": {
 24980               "locationName": "item",
 24981               "type": "structure",
 24982               "required": [
 24983                 "Timestamp",
 24984                 "EventType",
 24985                 "EventInformation"
 24986               ],
 24987               "members": {
 24988                 "Timestamp": {
 24989                   "locationName": "timestamp",
 24990                   "type": "timestamp"
 24991                 },
 24992                 "EventType": {
 24993                   "locationName": "eventType"
 24994                 },
 24995                 "EventInformation": {
 24996                   "locationName": "eventInformation",
 24997                   "type": "structure",
 24998                   "members": {
 24999                     "InstanceId": {
 25000                       "locationName": "instanceId"
 25001                     },
 25002                     "EventSubType": {
 25003                       "locationName": "eventSubType"
 25004                     },
 25005                     "EventDescription": {
 25006                       "locationName": "eventDescription"
 25007                     }
 25008                   }
 25009                 }
 25010               }
 25011             }
 25012           },
 25013           "NextToken": {
 25014             "locationName": "nextToken"
 25015           }
 25016         }
 25017       }
 25018     },
 25019     "DescribeSpotFleetRequests": {
 25020       "input": {
 25021         "type": "structure",
 25022         "members": {
 25023           "DryRun": {
 25024             "locationName": "dryRun",
 25025             "type": "boolean"
 25026           },
 25027           "SpotFleetRequestIds": {
 25028             "shape": "S2c",
 25029             "locationName": "spotFleetRequestId"
 25030           },
 25031           "NextToken": {
 25032             "locationName": "nextToken"
 25033           },
 25034           "MaxResults": {
 25035             "locationName": "maxResults",
 25036             "type": "integer"
 25037           }
 25038         }
 25039       },
 25040       "output": {
 25041         "type": "structure",
 25042         "required": [
 25043           "SpotFleetRequestConfigs"
 25044         ],
 25045         "members": {
 25046           "SpotFleetRequestConfigs": {
 25047             "locationName": "spotFleetRequestConfigSet",
 25048             "type": "list",
 25049             "member": {
 25050               "locationName": "item",
 25051               "type": "structure",
 25052               "required": [
 25053                 "SpotFleetRequestId",
 25054                 "SpotFleetRequestState",
 25055                 "SpotFleetRequestConfig",
 25056                 "CreateTime"
 25057               ],
 25058               "members": {
 25059                 "SpotFleetRequestId": {
 25060                   "locationName": "spotFleetRequestId"
 25061                 },
 25062                 "SpotFleetRequestState": {
 25063                   "locationName": "spotFleetRequestState"
 25064                 },
 25065                 "SpotFleetRequestConfig": {
 25066                   "shape": "Sfx",
 25067                   "locationName": "spotFleetRequestConfig"
 25068                 },
 25069                 "CreateTime": {
 25070                   "locationName": "createTime",
 25071                   "type": "timestamp"
 25072                 },
 25073                 "ActivityStatus": {
 25074                   "locationName": "activityStatus"
 25075                 }
 25076               }
 25077             }
 25078           },
 25079           "NextToken": {
 25080             "locationName": "nextToken"
 25081           }
 25082         }
 25083       }
 25084     },
 25085     "DescribeSpotInstanceRequests": {
 25086       "input": {
 25087         "type": "structure",
 25088         "members": {
 25089           "DryRun": {
 25090             "locationName": "dryRun",
 25091             "type": "boolean"
 25092           },
 25093           "SpotInstanceRequestIds": {
 25094             "shape": "S2m",
 25095             "locationName": "SpotInstanceRequestId"
 25096           },
 25097           "Filters": {
 25098             "shape": "S7y",
 25099             "locationName": "Filter"
 25100           }
 25101         }
 25102       },
 25103       "output": {
 25104         "type": "structure",
 25105         "members": {
 25106           "SpotInstanceRequests": {
 25107             "shape": "Sgb",
 25108             "locationName": "spotInstanceRequestSet"
 25109           }
 25110         }
 25111       }
 25112     },
 25113     "DescribeSpotPriceHistory": {
 25114       "input": {
 25115         "type": "structure",
 25116         "members": {
 25117           "DryRun": {
 25118             "locationName": "dryRun",
 25119             "type": "boolean"
 25120           },
 25121           "StartTime": {
 25122             "locationName": "startTime",
 25123             "type": "timestamp"
 25124           },
 25125           "EndTime": {
 25126             "locationName": "endTime",
 25127             "type": "timestamp"
 25128           },
 25129           "InstanceTypes": {
 25130             "locationName": "InstanceType",
 25131             "type": "list",
 25132             "member": {}
 25133           },
 25134           "ProductDescriptions": {
 25135             "locationName": "ProductDescription",
 25136             "type": "list",
 25137             "member": {}
 25138           },
 25139           "Filters": {
 25140             "shape": "S7y",
 25141             "locationName": "Filter"
 25142           },
 25143           "AvailabilityZone": {
 25144             "locationName": "availabilityZone"
 25145           },
 25146           "MaxResults": {
 25147             "locationName": "maxResults",
 25148             "type": "integer"
 25149           },
 25150           "NextToken": {
 25151             "locationName": "nextToken"
 25152           }
 25153         }
 25154       },
 25155       "output": {
 25156         "type": "structure",
 25157         "members": {
 25158           "SpotPriceHistory": {
 25159             "locationName": "spotPriceHistorySet",
 25160             "type": "list",
 25161             "member": {
 25162               "locationName": "item",
 25163               "type": "structure",
 25164               "members": {
 25165                 "InstanceType": {
 25166                   "locationName": "instanceType"
 25167                 },
 25168                 "ProductDescription": {
 25169                   "locationName": "productDescription"
 25170                 },
 25171                 "SpotPrice": {
 25172                   "locationName": "spotPrice"
 25173                 },
 25174                 "Timestamp": {
 25175                   "locationName": "timestamp",
 25176                   "type": "timestamp"
 25177                 },
 25178                 "AvailabilityZone": {
 25179                   "locationName": "availabilityZone"
 25180                 }
 25181               }
 25182             }
 25183           },
 25184           "NextToken": {
 25185             "locationName": "nextToken"
 25186           }
 25187         }
 25188       }
 25189     },
 25190     "DescribeStaleSecurityGroups": {
 25191       "input": {
 25192         "type": "structure",
 25193         "required": [
 25194           "VpcId"
 25195         ],
 25196         "members": {
 25197           "DryRun": {
 25198             "type": "boolean"
 25199           },
 25200           "VpcId": {},
 25201           "MaxResults": {
 25202             "type": "integer"
 25203           },
 25204           "NextToken": {}
 25205         }
 25206       },
 25207       "output": {
 25208         "type": "structure",
 25209         "members": {
 25210           "StaleSecurityGroupSet": {
 25211             "locationName": "staleSecurityGroupSet",
 25212             "type": "list",
 25213             "member": {
 25214               "locationName": "item",
 25215               "type": "structure",
 25216               "required": [
 25217                 "GroupId"
 25218               ],
 25219               "members": {
 25220                 "GroupId": {
 25221                   "locationName": "groupId"
 25222                 },
 25223                 "GroupName": {
 25224                   "locationName": "groupName"
 25225                 },
 25226                 "Description": {
 25227                   "locationName": "description"
 25228                 },
 25229                 "VpcId": {
 25230                   "locationName": "vpcId"
 25231                 },
 25232                 "StaleIpPermissions": {
 25233                   "shape": "Sgu",
 25234                   "locationName": "staleIpPermissions"
 25235                 },
 25236                 "StaleIpPermissionsEgress": {
 25237                   "shape": "Sgu",
 25238                   "locationName": "staleIpPermissionsEgress"
 25239                 }
 25240               }
 25241             }
 25242           },
 25243           "NextToken": {
 25244             "locationName": "nextToken"
 25245           }
 25246         }
 25247       }
 25248     },
 25249     "DescribeSubnets": {
 25250       "input": {
 25251         "type": "structure",
 25252         "members": {
 25253           "DryRun": {
 25254             "locationName": "dryRun",
 25255             "type": "boolean"
 25256           },
 25257           "SubnetIds": {
 25258             "locationName": "SubnetId",
 25259             "type": "list",
 25260             "member": {
 25261               "locationName": "SubnetId"
 25262             }
 25263           },
 25264           "Filters": {
 25265             "shape": "S7y",
 25266             "locationName": "Filter"
 25267           }
 25268         }
 25269       },
 25270       "output": {
 25271         "type": "structure",
 25272         "members": {
 25273           "Subnets": {
 25274             "locationName": "subnetSet",
 25275             "type": "list",
 25276             "member": {
 25277               "shape": "S5v",
 25278               "locationName": "item"
 25279             }
 25280           }
 25281         }
 25282       }
 25283     },
 25284     "DescribeTags": {
 25285       "input": {
 25286         "type": "structure",
 25287         "members": {
 25288           "DryRun": {
 25289             "locationName": "dryRun",
 25290             "type": "boolean"
 25291           },
 25292           "Filters": {
 25293             "shape": "S7y",
 25294             "locationName": "Filter"
 25295           },
 25296           "MaxResults": {
 25297             "locationName": "maxResults",
 25298             "type": "integer"
 25299           },
 25300           "NextToken": {
 25301             "locationName": "nextToken"
 25302           }
 25303         }
 25304       },
 25305       "output": {
 25306         "type": "structure",
 25307         "members": {
 25308           "Tags": {
 25309             "locationName": "tagSet",
 25310             "type": "list",
 25311             "member": {
 25312               "locationName": "item",
 25313               "type": "structure",
 25314               "members": {
 25315                 "ResourceId": {
 25316                   "locationName": "resourceId"
 25317                 },
 25318                 "ResourceType": {
 25319                   "locationName": "resourceType"
 25320                 },
 25321                 "Key": {
 25322                   "locationName": "key"
 25323                 },
 25324                 "Value": {
 25325                   "locationName": "value"
 25326                 }
 25327               }
 25328             }
 25329           },
 25330           "NextToken": {
 25331             "locationName": "nextToken"
 25332           }
 25333         }
 25334       }
 25335     },
 25336     "DescribeVolumeAttribute": {
 25337       "input": {
 25338         "type": "structure",
 25339         "required": [
 25340           "VolumeId"
 25341         ],
 25342         "members": {
 25343           "DryRun": {
 25344             "locationName": "dryRun",
 25345             "type": "boolean"
 25346           },
 25347           "VolumeId": {},
 25348           "Attribute": {}
 25349         }
 25350       },
 25351       "output": {
 25352         "type": "structure",
 25353         "members": {
 25354           "VolumeId": {
 25355             "locationName": "volumeId"
 25356           },
 25357           "AutoEnableIO": {
 25358             "shape": "Sbc",
 25359             "locationName": "autoEnableIO"
 25360           },
 25361           "ProductCodes": {
 25362             "shape": "Sae",
 25363             "locationName": "productCodes"
 25364           }
 25365         }
 25366       }
 25367     },
 25368     "DescribeVolumeStatus": {
 25369       "input": {
 25370         "type": "structure",
 25371         "members": {
 25372           "DryRun": {
 25373             "locationName": "dryRun",
 25374             "type": "boolean"
 25375           },
 25376           "VolumeIds": {
 25377             "shape": "Shc",
 25378             "locationName": "VolumeId"
 25379           },
 25380           "Filters": {
 25381             "shape": "S7y",
 25382             "locationName": "Filter"
 25383           },
 25384           "NextToken": {},
 25385           "MaxResults": {
 25386             "type": "integer"
 25387           }
 25388         }
 25389       },
 25390       "output": {
 25391         "type": "structure",
 25392         "members": {
 25393           "VolumeStatuses": {
 25394             "locationName": "volumeStatusSet",
 25395             "type": "list",
 25396             "member": {
 25397               "locationName": "item",
 25398               "type": "structure",
 25399               "members": {
 25400                 "VolumeId": {
 25401                   "locationName": "volumeId"
 25402                 },
 25403                 "AvailabilityZone": {
 25404                   "locationName": "availabilityZone"
 25405                 },
 25406                 "VolumeStatus": {
 25407                   "locationName": "volumeStatus",
 25408                   "type": "structure",
 25409                   "members": {
 25410                     "Status": {
 25411                       "locationName": "status"
 25412                     },
 25413                     "Details": {
 25414                       "locationName": "details",
 25415                       "type": "list",
 25416                       "member": {
 25417                         "locationName": "item",
 25418                         "type": "structure",
 25419                         "members": {
 25420                           "Name": {
 25421                             "locationName": "name"
 25422                           },
 25423                           "Status": {
 25424                             "locationName": "status"
 25425                           }
 25426                         }
 25427                       }
 25428                     }
 25429                   }
 25430                 },
 25431                 "Events": {
 25432                   "locationName": "eventsSet",
 25433                   "type": "list",
 25434                   "member": {
 25435                     "locationName": "item",
 25436                     "type": "structure",
 25437                     "members": {
 25438                       "EventType": {
 25439                         "locationName": "eventType"
 25440                       },
 25441                       "Description": {
 25442                         "locationName": "description"
 25443                       },
 25444                       "NotBefore": {
 25445                         "locationName": "notBefore",
 25446                         "type": "timestamp"
 25447                       },
 25448                       "NotAfter": {
 25449                         "locationName": "notAfter",
 25450                         "type": "timestamp"
 25451                       },
 25452                       "EventId": {
 25453                         "locationName": "eventId"
 25454                       }
 25455                     }
 25456                   }
 25457                 },
 25458                 "Actions": {
 25459                   "locationName": "actionsSet",
 25460                   "type": "list",
 25461                   "member": {
 25462                     "locationName": "item",
 25463                     "type": "structure",
 25464                     "members": {
 25465                       "Code": {
 25466                         "locationName": "code"
 25467                       },
 25468                       "Description": {
 25469                         "locationName": "description"
 25470                       },
 25471                       "EventType": {
 25472                         "locationName": "eventType"
 25473                       },
 25474                       "EventId": {
 25475                         "locationName": "eventId"
 25476                       }
 25477                     }
 25478                   }
 25479                 }
 25480               }
 25481             }
 25482           },
 25483           "NextToken": {
 25484             "locationName": "nextToken"
 25485           }
 25486         }
 25487       }
 25488     },
 25489     "DescribeVolumes": {
 25490       "input": {
 25491         "type": "structure",
 25492         "members": {
 25493           "DryRun": {
 25494             "locationName": "dryRun",
 25495             "type": "boolean"
 25496           },
 25497           "VolumeIds": {
 25498             "shape": "Shc",
 25499             "locationName": "VolumeId"
 25500           },
 25501           "Filters": {
 25502             "shape": "S7y",
 25503             "locationName": "Filter"
 25504           },
 25505           "NextToken": {
 25506             "locationName": "nextToken"
 25507           },
 25508           "MaxResults": {
 25509             "locationName": "maxResults",
 25510             "type": "integer"
 25511           }
 25512         }
 25513       },
 25514       "output": {
 25515         "type": "structure",
 25516         "members": {
 25517           "Volumes": {
 25518             "locationName": "volumeSet",
 25519             "type": "list",
 25520             "member": {
 25521               "shape": "S60",
 25522               "locationName": "item"
 25523             }
 25524           },
 25525           "NextToken": {
 25526             "locationName": "nextToken"
 25527           }
 25528         }
 25529       }
 25530     },
 25531     "DescribeVpcAttribute": {
 25532       "input": {
 25533         "type": "structure",
 25534         "required": [
 25535           "VpcId",
 25536           "Attribute"
 25537         ],
 25538         "members": {
 25539           "DryRun": {
 25540             "locationName": "dryRun",
 25541             "type": "boolean"
 25542           },
 25543           "VpcId": {},
 25544           "Attribute": {}
 25545         }
 25546       },
 25547       "output": {
 25548         "type": "structure",
 25549         "members": {
 25550           "VpcId": {
 25551             "locationName": "vpcId"
 25552           },
 25553           "EnableDnsSupport": {
 25554             "shape": "Sbc",
 25555             "locationName": "enableDnsSupport"
 25556           },
 25557           "EnableDnsHostnames": {
 25558             "shape": "Sbc",
 25559             "locationName": "enableDnsHostnames"
 25560           }
 25561         }
 25562       }
 25563     },
 25564     "DescribeVpcClassicLink": {
 25565       "input": {
 25566         "type": "structure",
 25567         "members": {
 25568           "DryRun": {
 25569             "locationName": "dryRun",
 25570             "type": "boolean"
 25571           },
 25572           "VpcIds": {
 25573             "shape": "Shw",
 25574             "locationName": "VpcId"
 25575           },
 25576           "Filters": {
 25577             "shape": "S7y",
 25578             "locationName": "Filter"
 25579           }
 25580         }
 25581       },
 25582       "output": {
 25583         "type": "structure",
 25584         "members": {
 25585           "Vpcs": {
 25586             "locationName": "vpcSet",
 25587             "type": "list",
 25588             "member": {
 25589               "locationName": "item",
 25590               "type": "structure",
 25591               "members": {
 25592                 "VpcId": {
 25593                   "locationName": "vpcId"
 25594                 },
 25595                 "ClassicLinkEnabled": {
 25596                   "locationName": "classicLinkEnabled",
 25597                   "type": "boolean"
 25598                 },
 25599                 "Tags": {
 25600                   "shape": "Sh",
 25601                   "locationName": "tagSet"
 25602                 }
 25603               }
 25604             }
 25605           }
 25606         }
 25607       }
 25608     },
 25609     "DescribeVpcClassicLinkDnsSupport": {
 25610       "input": {
 25611         "type": "structure",
 25612         "members": {
 25613           "VpcIds": {
 25614             "shape": "Shw"
 25615           },
 25616           "MaxResults": {
 25617             "locationName": "maxResults",
 25618             "type": "integer"
 25619           },
 25620           "NextToken": {
 25621             "locationName": "nextToken"
 25622           }
 25623         }
 25624       },
 25625       "output": {
 25626         "type": "structure",
 25627         "members": {
 25628           "Vpcs": {
 25629             "locationName": "vpcs",
 25630             "type": "list",
 25631             "member": {
 25632               "locationName": "item",
 25633               "type": "structure",
 25634               "members": {
 25635                 "VpcId": {
 25636                   "locationName": "vpcId"
 25637                 },
 25638                 "ClassicLinkDnsSupported": {
 25639                   "locationName": "classicLinkDnsSupported",
 25640                   "type": "boolean"
 25641                 }
 25642               }
 25643             }
 25644           },
 25645           "NextToken": {
 25646             "locationName": "nextToken"
 25647           }
 25648         }
 25649       }
 25650     },
 25651     "DescribeVpcEndpointServices": {
 25652       "input": {
 25653         "type": "structure",
 25654         "members": {
 25655           "DryRun": {
 25656             "type": "boolean"
 25657           },
 25658           "MaxResults": {
 25659             "type": "integer"
 25660           },
 25661           "NextToken": {}
 25662         }
 25663       },
 25664       "output": {
 25665         "type": "structure",
 25666         "members": {
 25667           "ServiceNames": {
 25668             "shape": "S2c",
 25669             "locationName": "serviceNameSet"
 25670           },
 25671           "NextToken": {
 25672             "locationName": "nextToken"
 25673           }
 25674         }
 25675       }
 25676     },
 25677     "DescribeVpcEndpoints": {
 25678       "input": {
 25679         "type": "structure",
 25680         "members": {
 25681           "DryRun": {
 25682             "type": "boolean"
 25683           },
 25684           "VpcEndpointIds": {
 25685             "shape": "S2c",
 25686             "locationName": "VpcEndpointId"
 25687           },
 25688           "Filters": {
 25689             "shape": "S7y",
 25690             "locationName": "Filter"
 25691           },
 25692           "MaxResults": {
 25693             "type": "integer"
 25694           },
 25695           "NextToken": {}
 25696         }
 25697       },
 25698       "output": {
 25699         "type": "structure",
 25700         "members": {
 25701           "VpcEndpoints": {
 25702             "locationName": "vpcEndpointSet",
 25703             "type": "list",
 25704             "member": {
 25705               "shape": "S6a",
 25706               "locationName": "item"
 25707             }
 25708           },
 25709           "NextToken": {
 25710             "locationName": "nextToken"
 25711           }
 25712         }
 25713       }
 25714     },
 25715     "DescribeVpcPeeringConnections": {
 25716       "input": {
 25717         "type": "structure",
 25718         "members": {
 25719           "DryRun": {
 25720             "locationName": "dryRun",
 25721             "type": "boolean"
 25722           },
 25723           "VpcPeeringConnectionIds": {
 25724             "shape": "S2c",
 25725             "locationName": "VpcPeeringConnectionId"
 25726           },
 25727           "Filters": {
 25728             "shape": "S7y",
 25729             "locationName": "Filter"
 25730           }
 25731         }
 25732       },
 25733       "output": {
 25734         "type": "structure",
 25735         "members": {
 25736           "VpcPeeringConnections": {
 25737             "locationName": "vpcPeeringConnectionSet",
 25738             "type": "list",
 25739             "member": {
 25740               "shape": "Sb",
 25741               "locationName": "item"
 25742             }
 25743           }
 25744         }
 25745       }
 25746     },
 25747     "DescribeVpcs": {
 25748       "input": {
 25749         "type": "structure",
 25750         "members": {
 25751           "DryRun": {
 25752             "locationName": "dryRun",
 25753             "type": "boolean"
 25754           },
 25755           "VpcIds": {
 25756             "locationName": "VpcId",
 25757             "type": "list",
 25758             "member": {
 25759               "locationName": "VpcId"
 25760             }
 25761           },
 25762           "Filters": {
 25763             "shape": "S7y",
 25764             "locationName": "Filter"
 25765           }
 25766         }
 25767       },
 25768       "output": {
 25769         "type": "structure",
 25770         "members": {
 25771           "Vpcs": {
 25772             "locationName": "vpcSet",
 25773             "type": "list",
 25774             "member": {
 25775               "shape": "S66",
 25776               "locationName": "item"
 25777             }
 25778           }
 25779         }
 25780       }
 25781     },
 25782     "DescribeVpnConnections": {
 25783       "input": {
 25784         "type": "structure",
 25785         "members": {
 25786           "DryRun": {
 25787             "locationName": "dryRun",
 25788             "type": "boolean"
 25789           },
 25790           "VpnConnectionIds": {
 25791             "locationName": "VpnConnectionId",
 25792             "type": "list",
 25793             "member": {
 25794               "locationName": "VpnConnectionId"
 25795             }
 25796           },
 25797           "Filters": {
 25798             "shape": "S7y",
 25799             "locationName": "Filter"
 25800           }
 25801         }
 25802       },
 25803       "output": {
 25804         "type": "structure",
 25805         "members": {
 25806           "VpnConnections": {
 25807             "locationName": "vpnConnectionSet",
 25808             "type": "list",
 25809             "member": {
 25810               "shape": "S6h",
 25811               "locationName": "item"
 25812             }
 25813           }
 25814         }
 25815       }
 25816     },
 25817     "DescribeVpnGateways": {
 25818       "input": {
 25819         "type": "structure",
 25820         "members": {
 25821           "DryRun": {
 25822             "locationName": "dryRun",
 25823             "type": "boolean"
 25824           },
 25825           "VpnGatewayIds": {
 25826             "locationName": "VpnGatewayId",
 25827             "type": "list",
 25828             "member": {
 25829               "locationName": "VpnGatewayId"
 25830             }
 25831           },
 25832           "Filters": {
 25833             "shape": "S7y",
 25834             "locationName": "Filter"
 25835           }
 25836         }
 25837       },
 25838       "output": {
 25839         "type": "structure",
 25840         "members": {
 25841           "VpnGateways": {
 25842             "locationName": "vpnGatewaySet",
 25843             "type": "list",
 25844             "member": {
 25845               "shape": "S6t",
 25846               "locationName": "item"
 25847             }
 25848           }
 25849         }
 25850       }
 25851     },
 25852     "DetachClassicLinkVpc": {
 25853       "input": {
 25854         "type": "structure",
 25855         "required": [
 25856           "InstanceId",
 25857           "VpcId"
 25858         ],
 25859         "members": {
 25860           "DryRun": {
 25861             "locationName": "dryRun",
 25862             "type": "boolean"
 25863           },
 25864           "InstanceId": {
 25865             "locationName": "instanceId"
 25866           },
 25867           "VpcId": {
 25868             "locationName": "vpcId"
 25869           }
 25870         }
 25871       },
 25872       "output": {
 25873         "type": "structure",
 25874         "members": {
 25875           "Return": {
 25876             "locationName": "return",
 25877             "type": "boolean"
 25878           }
 25879         }
 25880       }
 25881     },
 25882     "DetachInternetGateway": {
 25883       "input": {
 25884         "type": "structure",
 25885         "required": [
 25886           "InternetGatewayId",
 25887           "VpcId"
 25888         ],
 25889         "members": {
 25890           "DryRun": {
 25891             "locationName": "dryRun",
 25892             "type": "boolean"
 25893           },
 25894           "InternetGatewayId": {
 25895             "locationName": "internetGatewayId"
 25896           },
 25897           "VpcId": {
 25898             "locationName": "vpcId"
 25899           }
 25900         }
 25901       }
 25902     },
 25903     "DetachNetworkInterface": {
 25904       "input": {
 25905         "type": "structure",
 25906         "required": [
 25907           "AttachmentId"
 25908         ],
 25909         "members": {
 25910           "DryRun": {
 25911             "locationName": "dryRun",
 25912             "type": "boolean"
 25913           },
 25914           "AttachmentId": {
 25915             "locationName": "attachmentId"
 25916           },
 25917           "Force": {
 25918             "locationName": "force",
 25919             "type": "boolean"
 25920           }
 25921         }
 25922       }
 25923     },
 25924     "DetachVolume": {
 25925       "input": {
 25926         "type": "structure",
 25927         "required": [
 25928           "VolumeId"
 25929         ],
 25930         "members": {
 25931           "DryRun": {
 25932             "locationName": "dryRun",
 25933             "type": "boolean"
 25934           },
 25935           "VolumeId": {},
 25936           "InstanceId": {},
 25937           "Device": {},
 25938           "Force": {
 25939             "type": "boolean"
 25940           }
 25941         }
 25942       },
 25943       "output": {
 25944         "shape": "S14"
 25945       }
 25946     },
 25947     "DetachVpnGateway": {
 25948       "input": {
 25949         "type": "structure",
 25950         "required": [
 25951           "VpnGatewayId",
 25952           "VpcId"
 25953         ],
 25954         "members": {
 25955           "DryRun": {
 25956             "locationName": "dryRun",
 25957             "type": "boolean"
 25958           },
 25959           "VpnGatewayId": {},
 25960           "VpcId": {}
 25961         }
 25962       }
 25963     },
 25964     "DisableVgwRoutePropagation": {
 25965       "input": {
 25966         "type": "structure",
 25967         "required": [
 25968           "RouteTableId",
 25969           "GatewayId"
 25970         ],
 25971         "members": {
 25972           "RouteTableId": {},
 25973           "GatewayId": {}
 25974         }
 25975       }
 25976     },
 25977     "DisableVpcClassicLink": {
 25978       "input": {
 25979         "type": "structure",
 25980         "required": [
 25981           "VpcId"
 25982         ],
 25983         "members": {
 25984           "DryRun": {
 25985             "locationName": "dryRun",
 25986             "type": "boolean"
 25987           },
 25988           "VpcId": {
 25989             "locationName": "vpcId"
 25990           }
 25991         }
 25992       },
 25993       "output": {
 25994         "type": "structure",
 25995         "members": {
 25996           "Return": {
 25997             "locationName": "return",
 25998             "type": "boolean"
 25999           }
 26000         }
 26001       }
 26002     },
 26003     "DisableVpcClassicLinkDnsSupport": {
 26004       "input": {
 26005         "type": "structure",
 26006         "members": {
 26007           "VpcId": {}
 26008         }
 26009       },
 26010       "output": {
 26011         "type": "structure",
 26012         "members": {
 26013           "Return": {
 26014             "locationName": "return",
 26015             "type": "boolean"
 26016           }
 26017         }
 26018       }
 26019     },
 26020     "DisassociateAddress": {
 26021       "input": {
 26022         "type": "structure",
 26023         "members": {
 26024           "DryRun": {
 26025             "locationName": "dryRun",
 26026             "type": "boolean"
 26027           },
 26028           "PublicIp": {},
 26029           "AssociationId": {}
 26030         }
 26031       }
 26032     },
 26033     "DisassociateRouteTable": {
 26034       "input": {
 26035         "type": "structure",
 26036         "required": [
 26037           "AssociationId"
 26038         ],
 26039         "members": {
 26040           "DryRun": {
 26041             "locationName": "dryRun",
 26042             "type": "boolean"
 26043           },
 26044           "AssociationId": {
 26045             "locationName": "associationId"
 26046           }
 26047         }
 26048       }
 26049     },
 26050     "EnableVgwRoutePropagation": {
 26051       "input": {
 26052         "type": "structure",
 26053         "required": [
 26054           "RouteTableId",
 26055           "GatewayId"
 26056         ],
 26057         "members": {
 26058           "RouteTableId": {},
 26059           "GatewayId": {}
 26060         }
 26061       }
 26062     },
 26063     "EnableVolumeIO": {
 26064       "input": {
 26065         "type": "structure",
 26066         "required": [
 26067           "VolumeId"
 26068         ],
 26069         "members": {
 26070           "DryRun": {
 26071             "locationName": "dryRun",
 26072             "type": "boolean"
 26073           },
 26074           "VolumeId": {
 26075             "locationName": "volumeId"
 26076           }
 26077         }
 26078       }
 26079     },
 26080     "EnableVpcClassicLink": {
 26081       "input": {
 26082         "type": "structure",
 26083         "required": [
 26084           "VpcId"
 26085         ],
 26086         "members": {
 26087           "DryRun": {
 26088             "locationName": "dryRun",
 26089             "type": "boolean"
 26090           },
 26091           "VpcId": {
 26092             "locationName": "vpcId"
 26093           }
 26094         }
 26095       },
 26096       "output": {
 26097         "type": "structure",
 26098         "members": {
 26099           "Return": {
 26100             "locationName": "return",
 26101             "type": "boolean"
 26102           }
 26103         }
 26104       }
 26105     },
 26106     "EnableVpcClassicLinkDnsSupport": {
 26107       "input": {
 26108         "type": "structure",
 26109         "members": {
 26110           "VpcId": {}
 26111         }
 26112       },
 26113       "output": {
 26114         "type": "structure",
 26115         "members": {
 26116           "Return": {
 26117             "locationName": "return",
 26118             "type": "boolean"
 26119           }
 26120         }
 26121       }
 26122     },
 26123     "GetConsoleOutput": {
 26124       "input": {
 26125         "type": "structure",
 26126         "required": [
 26127           "InstanceId"
 26128         ],
 26129         "members": {
 26130           "DryRun": {
 26131             "locationName": "dryRun",
 26132             "type": "boolean"
 26133           },
 26134           "InstanceId": {}
 26135         }
 26136       },
 26137       "output": {
 26138         "type": "structure",
 26139         "members": {
 26140           "InstanceId": {
 26141             "locationName": "instanceId"
 26142           },
 26143           "Timestamp": {
 26144             "locationName": "timestamp",
 26145             "type": "timestamp"
 26146           },
 26147           "Output": {
 26148             "locationName": "output"
 26149           }
 26150         }
 26151       }
 26152     },
 26153     "GetConsoleScreenshot": {
 26154       "input": {
 26155         "type": "structure",
 26156         "required": [
 26157           "InstanceId"
 26158         ],
 26159         "members": {
 26160           "DryRun": {
 26161             "type": "boolean"
 26162           },
 26163           "InstanceId": {},
 26164           "WakeUp": {
 26165             "type": "boolean"
 26166           }
 26167         }
 26168       },
 26169       "output": {
 26170         "type": "structure",
 26171         "members": {
 26172           "InstanceId": {
 26173             "locationName": "instanceId"
 26174           },
 26175           "ImageData": {
 26176             "locationName": "imageData"
 26177           }
 26178         }
 26179       }
 26180     },
 26181     "GetHostReservationPurchasePreview": {
 26182       "input": {
 26183         "type": "structure",
 26184         "required": [
 26185           "OfferingId",
 26186           "HostIdSet"
 26187         ],
 26188         "members": {
 26189           "OfferingId": {},
 26190           "HostIdSet": {
 26191             "shape": "Sjc"
 26192           }
 26193         }
 26194       },
 26195       "output": {
 26196         "type": "structure",
 26197         "members": {
 26198           "Purchase": {
 26199             "shape": "Sje",
 26200             "locationName": "purchase"
 26201           },
 26202           "TotalUpfrontPrice": {
 26203             "locationName": "totalUpfrontPrice"
 26204           },
 26205           "TotalHourlyPrice": {
 26206             "locationName": "totalHourlyPrice"
 26207           },
 26208           "CurrencyCode": {
 26209             "locationName": "currencyCode"
 26210           }
 26211         }
 26212       }
 26213     },
 26214     "GetPasswordData": {
 26215       "input": {
 26216         "type": "structure",
 26217         "required": [
 26218           "InstanceId"
 26219         ],
 26220         "members": {
 26221           "DryRun": {
 26222             "locationName": "dryRun",
 26223             "type": "boolean"
 26224           },
 26225           "InstanceId": {}
 26226         }
 26227       },
 26228       "output": {
 26229         "type": "structure",
 26230         "members": {
 26231           "InstanceId": {
 26232             "locationName": "instanceId"
 26233           },
 26234           "Timestamp": {
 26235             "locationName": "timestamp",
 26236             "type": "timestamp"
 26237           },
 26238           "PasswordData": {
 26239             "locationName": "passwordData"
 26240           }
 26241         }
 26242       }
 26243     },
 26244     "GetReservedInstancesExchangeQuote": {
 26245       "input": {
 26246         "type": "structure",
 26247         "required": [
 26248           "ReservedInstanceIds"
 26249         ],
 26250         "members": {
 26251           "DryRun": {
 26252             "type": "boolean"
 26253           },
 26254           "ReservedInstanceIds": {
 26255             "shape": "S3",
 26256             "locationName": "ReservedInstanceId"
 26257           },
 26258           "TargetConfigurations": {
 26259             "shape": "S5",
 26260             "locationName": "TargetConfiguration"
 26261           }
 26262         }
 26263       },
 26264       "output": {
 26265         "type": "structure",
 26266         "members": {
 26267           "ReservedInstanceValueSet": {
 26268             "locationName": "reservedInstanceValueSet",
 26269             "type": "list",
 26270             "member": {
 26271               "locationName": "item",
 26272               "type": "structure",
 26273               "members": {
 26274                 "ReservedInstanceId": {
 26275                   "locationName": "reservedInstanceId"
 26276                 },
 26277                 "ReservationValue": {
 26278                   "shape": "Sjm",
 26279                   "locationName": "reservationValue"
 26280                 }
 26281               }
 26282             }
 26283           },
 26284           "ReservedInstanceValueRollup": {
 26285             "shape": "Sjm",
 26286             "locationName": "reservedInstanceValueRollup"
 26287           },
 26288           "TargetConfigurationValueSet": {
 26289             "locationName": "targetConfigurationValueSet",
 26290             "type": "list",
 26291             "member": {
 26292               "locationName": "item",
 26293               "type": "structure",
 26294               "members": {
 26295                 "TargetConfiguration": {
 26296                   "locationName": "targetConfiguration",
 26297                   "type": "structure",
 26298                   "members": {
 26299                     "OfferingId": {
 26300                       "locationName": "offeringId"
 26301                     },
 26302                     "InstanceCount": {
 26303                       "locationName": "instanceCount",
 26304                       "type": "integer"
 26305                     }
 26306                   }
 26307                 },
 26308                 "ReservationValue": {
 26309                   "shape": "Sjm",
 26310                   "locationName": "reservationValue"
 26311                 }
 26312               }
 26313             }
 26314           },
 26315           "TargetConfigurationValueRollup": {
 26316             "shape": "Sjm",
 26317             "locationName": "targetConfigurationValueRollup"
 26318           },
 26319           "PaymentDue": {
 26320             "locationName": "paymentDue"
 26321           },
 26322           "CurrencyCode": {
 26323             "locationName": "currencyCode"
 26324           },
 26325           "OutputReservedInstancesWillExpireAt": {
 26326             "locationName": "outputReservedInstancesWillExpireAt",
 26327             "type": "timestamp"
 26328           },
 26329           "IsValidExchange": {
 26330             "locationName": "isValidExchange",
 26331             "type": "boolean"
 26332           },
 26333           "ValidationFailureReason": {
 26334             "locationName": "validationFailureReason"
 26335           }
 26336         }
 26337       }
 26338     },
 26339     "ImportImage": {
 26340       "input": {
 26341         "type": "structure",
 26342         "members": {
 26343           "DryRun": {
 26344             "type": "boolean"
 26345           },
 26346           "Description": {},
 26347           "DiskContainers": {
 26348             "locationName": "DiskContainer",
 26349             "type": "list",
 26350             "member": {
 26351               "locationName": "item",
 26352               "type": "structure",
 26353               "members": {
 26354                 "Description": {},
 26355                 "Format": {},
 26356                 "Url": {},
 26357                 "UserBucket": {
 26358                   "shape": "Sjt"
 26359                 },
 26360                 "DeviceName": {},
 26361                 "SnapshotId": {}
 26362               }
 26363             }
 26364           },
 26365           "LicenseType": {},
 26366           "Hypervisor": {},
 26367           "Architecture": {},
 26368           "Platform": {},
 26369           "ClientData": {
 26370             "shape": "Sju"
 26371           },
 26372           "ClientToken": {},
 26373           "RoleName": {}
 26374         }
 26375       },
 26376       "output": {
 26377         "type": "structure",
 26378         "members": {
 26379           "ImportTaskId": {
 26380             "locationName": "importTaskId"
 26381           },
 26382           "Architecture": {
 26383             "locationName": "architecture"
 26384           },
 26385           "LicenseType": {
 26386             "locationName": "licenseType"
 26387           },
 26388           "Platform": {
 26389             "locationName": "platform"
 26390           },
 26391           "Hypervisor": {
 26392             "locationName": "hypervisor"
 26393           },
 26394           "Description": {
 26395             "locationName": "description"
 26396           },
 26397           "SnapshotDetails": {
 26398             "shape": "Sb1",
 26399             "locationName": "snapshotDetailSet"
 26400           },
 26401           "ImageId": {
 26402             "locationName": "imageId"
 26403           },
 26404           "Progress": {
 26405             "locationName": "progress"
 26406           },
 26407           "StatusMessage": {
 26408             "locationName": "statusMessage"
 26409           },
 26410           "Status": {
 26411             "locationName": "status"
 26412           }
 26413         }
 26414       }
 26415     },
 26416     "ImportInstance": {
 26417       "input": {
 26418         "type": "structure",
 26419         "required": [
 26420           "Platform"
 26421         ],
 26422         "members": {
 26423           "DryRun": {
 26424             "locationName": "dryRun",
 26425             "type": "boolean"
 26426           },
 26427           "Description": {
 26428             "locationName": "description"
 26429           },
 26430           "LaunchSpecification": {
 26431             "locationName": "launchSpecification",
 26432             "type": "structure",
 26433             "members": {
 26434               "Architecture": {
 26435                 "locationName": "architecture"
 26436               },
 26437               "GroupNames": {
 26438                 "shape": "Sjy",
 26439                 "locationName": "GroupName"
 26440               },
 26441               "GroupIds": {
 26442                 "shape": "S4n",
 26443                 "locationName": "GroupId"
 26444               },
 26445               "AdditionalInfo": {
 26446                 "locationName": "additionalInfo"
 26447               },
 26448               "UserData": {
 26449                 "locationName": "userData",
 26450                 "type": "structure",
 26451                 "members": {
 26452                   "Data": {
 26453                     "locationName": "data"
 26454                   }
 26455                 }
 26456               },
 26457               "InstanceType": {
 26458                 "locationName": "instanceType"
 26459               },
 26460               "Placement": {
 26461                 "shape": "Sc2",
 26462                 "locationName": "placement"
 26463               },
 26464               "Monitoring": {
 26465                 "locationName": "monitoring",
 26466                 "type": "boolean"
 26467               },
 26468               "SubnetId": {
 26469                 "locationName": "subnetId"
 26470               },
 26471               "InstanceInitiatedShutdownBehavior": {
 26472                 "locationName": "instanceInitiatedShutdownBehavior"
 26473               },
 26474               "PrivateIpAddress": {
 26475                 "locationName": "privateIpAddress"
 26476               }
 26477             }
 26478           },
 26479           "DiskImages": {
 26480             "locationName": "diskImage",
 26481             "type": "list",
 26482             "member": {
 26483               "type": "structure",
 26484               "members": {
 26485                 "Image": {
 26486                   "shape": "Sk3"
 26487                 },
 26488                 "Description": {},
 26489                 "Volume": {
 26490                   "shape": "Sk4"
 26491                 }
 26492               }
 26493             }
 26494           },
 26495           "Platform": {
 26496             "locationName": "platform"
 26497           }
 26498         }
 26499       },
 26500       "output": {
 26501         "type": "structure",
 26502         "members": {
 26503           "ConversionTask": {
 26504             "shape": "S8p",
 26505             "locationName": "conversionTask"
 26506           }
 26507         }
 26508       }
 26509     },
 26510     "ImportKeyPair": {
 26511       "input": {
 26512         "type": "structure",
 26513         "required": [
 26514           "KeyName",
 26515           "PublicKeyMaterial"
 26516         ],
 26517         "members": {
 26518           "DryRun": {
 26519             "locationName": "dryRun",
 26520             "type": "boolean"
 26521           },
 26522           "KeyName": {
 26523             "locationName": "keyName"
 26524           },
 26525           "PublicKeyMaterial": {
 26526             "locationName": "publicKeyMaterial",
 26527             "type": "blob"
 26528           }
 26529         }
 26530       },
 26531       "output": {
 26532         "type": "structure",
 26533         "members": {
 26534           "KeyName": {
 26535             "locationName": "keyName"
 26536           },
 26537           "KeyFingerprint": {
 26538             "locationName": "keyFingerprint"
 26539           }
 26540         }
 26541       }
 26542     },
 26543     "ImportSnapshot": {
 26544       "input": {
 26545         "type": "structure",
 26546         "members": {
 26547           "DryRun": {
 26548             "type": "boolean"
 26549           },
 26550           "Description": {},
 26551           "DiskContainer": {
 26552             "type": "structure",
 26553             "members": {
 26554               "Description": {},
 26555               "Format": {},
 26556               "Url": {},
 26557               "UserBucket": {
 26558                 "shape": "Sjt"
 26559               }
 26560             }
 26561           },
 26562           "ClientData": {
 26563             "shape": "Sju"
 26564           },
 26565           "ClientToken": {},
 26566           "RoleName": {}
 26567         }
 26568       },
 26569       "output": {
 26570         "type": "structure",
 26571         "members": {
 26572           "ImportTaskId": {
 26573             "locationName": "importTaskId"
 26574           },
 26575           "SnapshotTaskDetail": {
 26576             "shape": "Sb8",
 26577             "locationName": "snapshotTaskDetail"
 26578           },
 26579           "Description": {
 26580             "locationName": "description"
 26581           }
 26582         }
 26583       }
 26584     },
 26585     "ImportVolume": {
 26586       "input": {
 26587         "type": "structure",
 26588         "required": [
 26589           "AvailabilityZone",
 26590           "Image",
 26591           "Volume"
 26592         ],
 26593         "members": {
 26594           "DryRun": {
 26595             "locationName": "dryRun",
 26596             "type": "boolean"
 26597           },
 26598           "AvailabilityZone": {
 26599             "locationName": "availabilityZone"
 26600           },
 26601           "Image": {
 26602             "shape": "Sk3",
 26603             "locationName": "image"
 26604           },
 26605           "Description": {
 26606             "locationName": "description"
 26607           },
 26608           "Volume": {
 26609             "shape": "Sk4",
 26610             "locationName": "volume"
 26611           }
 26612         }
 26613       },
 26614       "output": {
 26615         "type": "structure",
 26616         "members": {
 26617           "ConversionTask": {
 26618             "shape": "S8p",
 26619             "locationName": "conversionTask"
 26620           }
 26621         }
 26622       }
 26623     },
 26624     "ModifyHosts": {
 26625       "input": {
 26626         "type": "structure",
 26627         "required": [
 26628           "HostIds",
 26629           "AutoPlacement"
 26630         ],
 26631         "members": {
 26632           "HostIds": {
 26633             "shape": "S9r",
 26634             "locationName": "hostId"
 26635           },
 26636           "AutoPlacement": {
 26637             "locationName": "autoPlacement"
 26638           }
 26639         }
 26640       },
 26641       "output": {
 26642         "type": "structure",
 26643         "members": {
 26644           "Successful": {
 26645             "shape": "Sp",
 26646             "locationName": "successful"
 26647           },
 26648           "Unsuccessful": {
 26649             "shape": "Skf",
 26650             "locationName": "unsuccessful"
 26651           }
 26652         }
 26653       }
 26654     },
 26655     "ModifyIdFormat": {
 26656       "input": {
 26657         "type": "structure",
 26658         "required": [
 26659           "Resource",
 26660           "UseLongIds"
 26661         ],
 26662         "members": {
 26663           "Resource": {},
 26664           "UseLongIds": {
 26665             "type": "boolean"
 26666           }
 26667         }
 26668       }
 26669     },
 26670     "ModifyIdentityIdFormat": {
 26671       "input": {
 26672         "type": "structure",
 26673         "required": [
 26674           "Resource",
 26675           "UseLongIds",
 26676           "PrincipalArn"
 26677         ],
 26678         "members": {
 26679           "Resource": {
 26680             "locationName": "resource"
 26681           },
 26682           "UseLongIds": {
 26683             "locationName": "useLongIds",
 26684             "type": "boolean"
 26685           },
 26686           "PrincipalArn": {
 26687             "locationName": "principalArn"
 26688           }
 26689         }
 26690       }
 26691     },
 26692     "ModifyImageAttribute": {
 26693       "input": {
 26694         "type": "structure",
 26695         "required": [
 26696           "ImageId"
 26697         ],
 26698         "members": {
 26699           "DryRun": {
 26700             "locationName": "dryRun",
 26701             "type": "boolean"
 26702           },
 26703           "ImageId": {},
 26704           "Attribute": {},
 26705           "OperationType": {},
 26706           "UserIds": {
 26707             "shape": "Skk",
 26708             "locationName": "UserId"
 26709           },
 26710           "UserGroups": {
 26711             "locationName": "UserGroup",
 26712             "type": "list",
 26713             "member": {
 26714               "locationName": "UserGroup"
 26715             }
 26716           },
 26717           "ProductCodes": {
 26718             "locationName": "ProductCode",
 26719             "type": "list",
 26720             "member": {
 26721               "locationName": "ProductCode"
 26722             }
 26723           },
 26724           "Value": {},
 26725           "LaunchPermission": {
 26726             "type": "structure",
 26727             "members": {
 26728               "Add": {
 26729                 "shape": "Sab"
 26730               },
 26731               "Remove": {
 26732                 "shape": "Sab"
 26733               }
 26734             }
 26735           },
 26736           "Description": {
 26737             "shape": "S39"
 26738           }
 26739         }
 26740       }
 26741     },
 26742     "ModifyInstanceAttribute": {
 26743       "input": {
 26744         "type": "structure",
 26745         "required": [
 26746           "InstanceId"
 26747         ],
 26748         "members": {
 26749           "DryRun": {
 26750             "locationName": "dryRun",
 26751             "type": "boolean"
 26752           },
 26753           "InstanceId": {
 26754             "locationName": "instanceId"
 26755           },
 26756           "Attribute": {
 26757             "locationName": "attribute"
 26758           },
 26759           "Value": {
 26760             "locationName": "value"
 26761           },
 26762           "BlockDeviceMappings": {
 26763             "locationName": "blockDeviceMapping",
 26764             "type": "list",
 26765             "member": {
 26766               "locationName": "item",
 26767               "type": "structure",
 26768               "members": {
 26769                 "DeviceName": {
 26770                   "locationName": "deviceName"
 26771                 },
 26772                 "Ebs": {
 26773                   "locationName": "ebs",
 26774                   "type": "structure",
 26775                   "members": {
 26776                     "VolumeId": {
 26777                       "locationName": "volumeId"
 26778                     },
 26779                     "DeleteOnTermination": {
 26780                       "locationName": "deleteOnTermination",
 26781                       "type": "boolean"
 26782                     }
 26783                   }
 26784                 },
 26785                 "VirtualName": {
 26786                   "locationName": "virtualName"
 26787                 },
 26788                 "NoDevice": {
 26789                   "locationName": "noDevice"
 26790                 }
 26791               }
 26792             }
 26793           },
 26794           "SourceDestCheck": {
 26795             "shape": "Sbc"
 26796           },
 26797           "DisableApiTermination": {
 26798             "shape": "Sbc",
 26799             "locationName": "disableApiTermination"
 26800           },
 26801           "InstanceType": {
 26802             "shape": "S39",
 26803             "locationName": "instanceType"
 26804           },
 26805           "Kernel": {
 26806             "shape": "S39",
 26807             "locationName": "kernel"
 26808           },
 26809           "Ramdisk": {
 26810             "shape": "S39",
 26811             "locationName": "ramdisk"
 26812           },
 26813           "UserData": {
 26814             "locationName": "userData",
 26815             "type": "structure",
 26816             "members": {
 26817               "Value": {
 26818                 "locationName": "value",
 26819                 "type": "blob"
 26820               }
 26821             }
 26822           },
 26823           "InstanceInitiatedShutdownBehavior": {
 26824             "shape": "S39",
 26825             "locationName": "instanceInitiatedShutdownBehavior"
 26826           },
 26827           "Groups": {
 26828             "shape": "Sy",
 26829             "locationName": "GroupId"
 26830           },
 26831           "EbsOptimized": {
 26832             "shape": "Sbc",
 26833             "locationName": "ebsOptimized"
 26834           },
 26835           "SriovNetSupport": {
 26836             "shape": "S39",
 26837             "locationName": "sriovNetSupport"
 26838           },
 26839           "EnaSupport": {
 26840             "shape": "Sbc",
 26841             "locationName": "enaSupport"
 26842           }
 26843         }
 26844       }
 26845     },
 26846     "ModifyInstancePlacement": {
 26847       "input": {
 26848         "type": "structure",
 26849         "required": [
 26850           "InstanceId"
 26851         ],
 26852         "members": {
 26853           "InstanceId": {
 26854             "locationName": "instanceId"
 26855           },
 26856           "Tenancy": {
 26857             "locationName": "tenancy"
 26858           },
 26859           "Affinity": {
 26860             "locationName": "affinity"
 26861           },
 26862           "HostId": {
 26863             "locationName": "hostId"
 26864           }
 26865         }
 26866       },
 26867       "output": {
 26868         "type": "structure",
 26869         "members": {
 26870           "Return": {
 26871             "locationName": "return",
 26872             "type": "boolean"
 26873           }
 26874         }
 26875       }
 26876     },
 26877     "ModifyNetworkInterfaceAttribute": {
 26878       "input": {
 26879         "type": "structure",
 26880         "required": [
 26881           "NetworkInterfaceId"
 26882         ],
 26883         "members": {
 26884           "DryRun": {
 26885             "locationName": "dryRun",
 26886             "type": "boolean"
 26887           },
 26888           "NetworkInterfaceId": {
 26889             "locationName": "networkInterfaceId"
 26890           },
 26891           "Description": {
 26892             "shape": "S39",
 26893             "locationName": "description"
 26894           },
 26895           "SourceDestCheck": {
 26896             "shape": "Sbc",
 26897             "locationName": "sourceDestCheck"
 26898           },
 26899           "Groups": {
 26900             "shape": "S4n",
 26901             "locationName": "SecurityGroupId"
 26902           },
 26903           "Attachment": {
 26904             "locationName": "attachment",
 26905             "type": "structure",
 26906             "members": {
 26907               "AttachmentId": {
 26908                 "locationName": "attachmentId"
 26909               },
 26910               "DeleteOnTermination": {
 26911                 "locationName": "deleteOnTermination",
 26912                 "type": "boolean"
 26913               }
 26914             }
 26915           }
 26916         }
 26917       }
 26918     },
 26919     "ModifyReservedInstances": {
 26920       "input": {
 26921         "type": "structure",
 26922         "required": [
 26923           "ReservedInstancesIds",
 26924           "TargetConfigurations"
 26925         ],
 26926         "members": {
 26927           "ClientToken": {
 26928             "locationName": "clientToken"
 26929           },
 26930           "ReservedInstancesIds": {
 26931             "shape": "Sdj",
 26932             "locationName": "ReservedInstancesId"
 26933           },
 26934           "TargetConfigurations": {
 26935             "locationName": "ReservedInstancesConfigurationSetItemType",
 26936             "type": "list",
 26937             "member": {
 26938               "shape": "Se7",
 26939               "locationName": "item"
 26940             }
 26941           }
 26942         }
 26943       },
 26944       "output": {
 26945         "type": "structure",
 26946         "members": {
 26947           "ReservedInstancesModificationId": {
 26948             "locationName": "reservedInstancesModificationId"
 26949           }
 26950         }
 26951       }
 26952     },
 26953     "ModifySnapshotAttribute": {
 26954       "input": {
 26955         "type": "structure",
 26956         "required": [
 26957           "SnapshotId"
 26958         ],
 26959         "members": {
 26960           "DryRun": {
 26961             "locationName": "dryRun",
 26962             "type": "boolean"
 26963           },
 26964           "SnapshotId": {},
 26965           "Attribute": {},
 26966           "OperationType": {},
 26967           "UserIds": {
 26968             "shape": "Skk",
 26969             "locationName": "UserId"
 26970           },
 26971           "GroupNames": {
 26972             "shape": "Sf3",
 26973             "locationName": "UserGroup"
 26974           },
 26975           "CreateVolumePermission": {
 26976             "type": "structure",
 26977             "members": {
 26978               "Add": {
 26979                 "shape": "Sfa"
 26980               },
 26981               "Remove": {
 26982                 "shape": "Sfa"
 26983               }
 26984             }
 26985           }
 26986         }
 26987       }
 26988     },
 26989     "ModifySpotFleetRequest": {
 26990       "input": {
 26991         "type": "structure",
 26992         "required": [
 26993           "SpotFleetRequestId"
 26994         ],
 26995         "members": {
 26996           "SpotFleetRequestId": {
 26997             "locationName": "spotFleetRequestId"
 26998           },
 26999           "TargetCapacity": {
 27000             "locationName": "targetCapacity",
 27001             "type": "integer"
 27002           },
 27003           "ExcessCapacityTerminationPolicy": {
 27004             "locationName": "excessCapacityTerminationPolicy"
 27005           }
 27006         }
 27007       },
 27008       "output": {
 27009         "type": "structure",
 27010         "members": {
 27011           "Return": {
 27012             "locationName": "return",
 27013             "type": "boolean"
 27014           }
 27015         }
 27016       }
 27017     },
 27018     "ModifySubnetAttribute": {
 27019       "input": {
 27020         "type": "structure",
 27021         "required": [
 27022           "SubnetId"
 27023         ],
 27024         "members": {
 27025           "SubnetId": {
 27026             "locationName": "subnetId"
 27027           },
 27028           "MapPublicIpOnLaunch": {
 27029             "shape": "Sbc"
 27030           }
 27031         }
 27032       }
 27033     },
 27034     "ModifyVolumeAttribute": {
 27035       "input": {
 27036         "type": "structure",
 27037         "required": [
 27038           "VolumeId"
 27039         ],
 27040         "members": {
 27041           "DryRun": {
 27042             "locationName": "dryRun",
 27043             "type": "boolean"
 27044           },
 27045           "VolumeId": {},
 27046           "AutoEnableIO": {
 27047             "shape": "Sbc"
 27048           }
 27049         }
 27050       }
 27051     },
 27052     "ModifyVpcAttribute": {
 27053       "input": {
 27054         "type": "structure",
 27055         "required": [
 27056           "VpcId"
 27057         ],
 27058         "members": {
 27059           "VpcId": {
 27060             "locationName": "vpcId"
 27061           },
 27062           "EnableDnsSupport": {
 27063             "shape": "Sbc"
 27064           },
 27065           "EnableDnsHostnames": {
 27066             "shape": "Sbc"
 27067           }
 27068         }
 27069       }
 27070     },
 27071     "ModifyVpcEndpoint": {
 27072       "input": {
 27073         "type": "structure",
 27074         "required": [
 27075           "VpcEndpointId"
 27076         ],
 27077         "members": {
 27078           "DryRun": {
 27079             "type": "boolean"
 27080           },
 27081           "VpcEndpointId": {},
 27082           "ResetPolicy": {
 27083             "type": "boolean"
 27084           },
 27085           "PolicyDocument": {},
 27086           "AddRouteTableIds": {
 27087             "shape": "S2c",
 27088             "locationName": "AddRouteTableId"
 27089           },
 27090           "RemoveRouteTableIds": {
 27091             "shape": "S2c",
 27092             "locationName": "RemoveRouteTableId"
 27093           }
 27094         }
 27095       },
 27096       "output": {
 27097         "type": "structure",
 27098         "members": {
 27099           "Return": {
 27100             "locationName": "return",
 27101             "type": "boolean"
 27102           }
 27103         }
 27104       }
 27105     },
 27106     "ModifyVpcPeeringConnectionOptions": {
 27107       "input": {
 27108         "type": "structure",
 27109         "required": [
 27110           "VpcPeeringConnectionId"
 27111         ],
 27112         "members": {
 27113           "DryRun": {
 27114             "type": "boolean"
 27115           },
 27116           "VpcPeeringConnectionId": {},
 27117           "RequesterPeeringConnectionOptions": {
 27118             "shape": "Slc"
 27119           },
 27120           "AccepterPeeringConnectionOptions": {
 27121             "shape": "Slc"
 27122           }
 27123         }
 27124       },
 27125       "output": {
 27126         "type": "structure",
 27127         "members": {
 27128           "RequesterPeeringConnectionOptions": {
 27129             "shape": "Sle",
 27130             "locationName": "requesterPeeringConnectionOptions"
 27131           },
 27132           "AccepterPeeringConnectionOptions": {
 27133             "shape": "Sle",
 27134             "locationName": "accepterPeeringConnectionOptions"
 27135           }
 27136         }
 27137       }
 27138     },
 27139     "MonitorInstances": {
 27140       "input": {
 27141         "type": "structure",
 27142         "required": [
 27143           "InstanceIds"
 27144         ],
 27145         "members": {
 27146           "DryRun": {
 27147             "locationName": "dryRun",
 27148             "type": "boolean"
 27149           },
 27150           "InstanceIds": {
 27151             "shape": "S8h",
 27152             "locationName": "InstanceId"
 27153           }
 27154         }
 27155       },
 27156       "output": {
 27157         "type": "structure",
 27158         "members": {
 27159           "InstanceMonitorings": {
 27160             "shape": "Slh",
 27161             "locationName": "instancesSet"
 27162           }
 27163         }
 27164       }
 27165     },
 27166     "MoveAddressToVpc": {
 27167       "input": {
 27168         "type": "structure",
 27169         "required": [
 27170           "PublicIp"
 27171         ],
 27172         "members": {
 27173           "DryRun": {
 27174             "locationName": "dryRun",
 27175             "type": "boolean"
 27176           },
 27177           "PublicIp": {
 27178             "locationName": "publicIp"
 27179           }
 27180         }
 27181       },
 27182       "output": {
 27183         "type": "structure",
 27184         "members": {
 27185           "AllocationId": {
 27186             "locationName": "allocationId"
 27187           },
 27188           "Status": {
 27189             "locationName": "status"
 27190           }
 27191         }
 27192       }
 27193     },
 27194     "PurchaseHostReservation": {
 27195       "input": {
 27196         "type": "structure",
 27197         "required": [
 27198           "OfferingId",
 27199           "HostIdSet"
 27200         ],
 27201         "members": {
 27202           "OfferingId": {},
 27203           "HostIdSet": {
 27204             "shape": "Sjc"
 27205           },
 27206           "LimitPrice": {},
 27207           "CurrencyCode": {},
 27208           "ClientToken": {}
 27209         }
 27210       },
 27211       "output": {
 27212         "type": "structure",
 27213         "members": {
 27214           "Purchase": {
 27215             "shape": "Sje",
 27216             "locationName": "purchase"
 27217           },
 27218           "TotalUpfrontPrice": {
 27219             "locationName": "totalUpfrontPrice"
 27220           },
 27221           "TotalHourlyPrice": {
 27222             "locationName": "totalHourlyPrice"
 27223           },
 27224           "CurrencyCode": {
 27225             "locationName": "currencyCode"
 27226           },
 27227           "ClientToken": {
 27228             "locationName": "clientToken"
 27229           }
 27230         }
 27231       }
 27232     },
 27233     "PurchaseReservedInstancesOffering": {
 27234       "input": {
 27235         "type": "structure",
 27236         "required": [
 27237           "ReservedInstancesOfferingId",
 27238           "InstanceCount"
 27239         ],
 27240         "members": {
 27241           "DryRun": {
 27242             "locationName": "dryRun",
 27243             "type": "boolean"
 27244           },
 27245           "ReservedInstancesOfferingId": {},
 27246           "InstanceCount": {
 27247             "type": "integer"
 27248           },
 27249           "LimitPrice": {
 27250             "locationName": "limitPrice",
 27251             "type": "structure",
 27252             "members": {
 27253               "Amount": {
 27254                 "locationName": "amount",
 27255                 "type": "double"
 27256               },
 27257               "CurrencyCode": {
 27258                 "locationName": "currencyCode"
 27259               }
 27260             }
 27261           }
 27262         }
 27263       },
 27264       "output": {
 27265         "type": "structure",
 27266         "members": {
 27267           "ReservedInstancesId": {
 27268             "locationName": "reservedInstancesId"
 27269           }
 27270         }
 27271       }
 27272     },
 27273     "PurchaseScheduledInstances": {
 27274       "input": {
 27275         "type": "structure",
 27276         "required": [
 27277           "PurchaseRequests"
 27278         ],
 27279         "members": {
 27280           "DryRun": {
 27281             "type": "boolean"
 27282           },
 27283           "ClientToken": {
 27284             "idempotencyToken": true
 27285           },
 27286           "PurchaseRequests": {
 27287             "locationName": "PurchaseRequest",
 27288             "type": "list",
 27289             "member": {
 27290               "locationName": "PurchaseRequest",
 27291               "type": "structure",
 27292               "required": [
 27293                 "PurchaseToken",
 27294                 "InstanceCount"
 27295               ],
 27296               "members": {
 27297                 "PurchaseToken": {},
 27298                 "InstanceCount": {
 27299                   "type": "integer"
 27300                 }
 27301               }
 27302             }
 27303           }
 27304         }
 27305       },
 27306       "output": {
 27307         "type": "structure",
 27308         "members": {
 27309           "ScheduledInstanceSet": {
 27310             "locationName": "scheduledInstanceSet",
 27311             "type": "list",
 27312             "member": {
 27313               "shape": "Sew",
 27314               "locationName": "item"
 27315             }
 27316           }
 27317         }
 27318       }
 27319     },
 27320     "RebootInstances": {
 27321       "input": {
 27322         "type": "structure",
 27323         "required": [
 27324           "InstanceIds"
 27325         ],
 27326         "members": {
 27327           "DryRun": {
 27328             "locationName": "dryRun",
 27329             "type": "boolean"
 27330           },
 27331           "InstanceIds": {
 27332             "shape": "S8h",
 27333             "locationName": "InstanceId"
 27334           }
 27335         }
 27336       }
 27337     },
 27338     "RegisterImage": {
 27339       "input": {
 27340         "type": "structure",
 27341         "required": [
 27342           "Name"
 27343         ],
 27344         "members": {
 27345           "DryRun": {
 27346             "locationName": "dryRun",
 27347             "type": "boolean"
 27348           },
 27349           "ImageLocation": {},
 27350           "Name": {
 27351             "locationName": "name"
 27352           },
 27353           "Description": {
 27354             "locationName": "description"
 27355           },
 27356           "Architecture": {
 27357             "locationName": "architecture"
 27358           },
 27359           "KernelId": {
 27360             "locationName": "kernelId"
 27361           },
 27362           "RamdiskId": {
 27363             "locationName": "ramdiskId"
 27364           },
 27365           "RootDeviceName": {
 27366             "locationName": "rootDeviceName"
 27367           },
 27368           "BlockDeviceMappings": {
 27369             "shape": "S3i",
 27370             "locationName": "BlockDeviceMapping"
 27371           },
 27372           "VirtualizationType": {
 27373             "locationName": "virtualizationType"
 27374           },
 27375           "SriovNetSupport": {
 27376             "locationName": "sriovNetSupport"
 27377           },
 27378           "EnaSupport": {
 27379             "locationName": "enaSupport",
 27380             "type": "boolean"
 27381           }
 27382         }
 27383       },
 27384       "output": {
 27385         "type": "structure",
 27386         "members": {
 27387           "ImageId": {
 27388             "locationName": "imageId"
 27389           }
 27390         }
 27391       }
 27392     },
 27393     "RejectVpcPeeringConnection": {
 27394       "input": {
 27395         "type": "structure",
 27396         "required": [
 27397           "VpcPeeringConnectionId"
 27398         ],
 27399         "members": {
 27400           "DryRun": {
 27401             "locationName": "dryRun",
 27402             "type": "boolean"
 27403           },
 27404           "VpcPeeringConnectionId": {
 27405             "locationName": "vpcPeeringConnectionId"
 27406           }
 27407         }
 27408       },
 27409       "output": {
 27410         "type": "structure",
 27411         "members": {
 27412           "Return": {
 27413             "locationName": "return",
 27414             "type": "boolean"
 27415           }
 27416         }
 27417       }
 27418     },
 27419     "ReleaseAddress": {
 27420       "input": {
 27421         "type": "structure",
 27422         "members": {
 27423           "DryRun": {
 27424             "locationName": "dryRun",
 27425             "type": "boolean"
 27426           },
 27427           "PublicIp": {},
 27428           "AllocationId": {}
 27429         }
 27430       }
 27431     },
 27432     "ReleaseHosts": {
 27433       "input": {
 27434         "type": "structure",
 27435         "required": [
 27436           "HostIds"
 27437         ],
 27438         "members": {
 27439           "HostIds": {
 27440             "shape": "S9r",
 27441             "locationName": "hostId"
 27442           }
 27443         }
 27444       },
 27445       "output": {
 27446         "type": "structure",
 27447         "members": {
 27448           "Successful": {
 27449             "shape": "Sp",
 27450             "locationName": "successful"
 27451           },
 27452           "Unsuccessful": {
 27453             "shape": "Skf",
 27454             "locationName": "unsuccessful"
 27455           }
 27456         }
 27457       }
 27458     },
 27459     "ReplaceNetworkAclAssociation": {
 27460       "input": {
 27461         "type": "structure",
 27462         "required": [
 27463           "AssociationId",
 27464           "NetworkAclId"
 27465         ],
 27466         "members": {
 27467           "DryRun": {
 27468             "locationName": "dryRun",
 27469             "type": "boolean"
 27470           },
 27471           "AssociationId": {
 27472             "locationName": "associationId"
 27473           },
 27474           "NetworkAclId": {
 27475             "locationName": "networkAclId"
 27476           }
 27477         }
 27478       },
 27479       "output": {
 27480         "type": "structure",
 27481         "members": {
 27482           "NewAssociationId": {
 27483             "locationName": "newAssociationId"
 27484           }
 27485         }
 27486       }
 27487     },
 27488     "ReplaceNetworkAclEntry": {
 27489       "input": {
 27490         "type": "structure",
 27491         "required": [
 27492           "NetworkAclId",
 27493           "RuleNumber",
 27494           "Protocol",
 27495           "RuleAction",
 27496           "Egress",
 27497           "CidrBlock"
 27498         ],
 27499         "members": {
 27500           "DryRun": {
 27501             "locationName": "dryRun",
 27502             "type": "boolean"
 27503           },
 27504           "NetworkAclId": {
 27505             "locationName": "networkAclId"
 27506           },
 27507           "RuleNumber": {
 27508             "locationName": "ruleNumber",
 27509             "type": "integer"
 27510           },
 27511           "Protocol": {
 27512             "locationName": "protocol"
 27513           },
 27514           "RuleAction": {
 27515             "locationName": "ruleAction"
 27516           },
 27517           "Egress": {
 27518             "locationName": "egress",
 27519             "type": "boolean"
 27520           },
 27521           "CidrBlock": {
 27522             "locationName": "cidrBlock"
 27523           },
 27524           "IcmpTypeCode": {
 27525             "shape": "S4h",
 27526             "locationName": "Icmp"
 27527           },
 27528           "PortRange": {
 27529             "shape": "S4i",
 27530             "locationName": "portRange"
 27531           }
 27532         }
 27533       }
 27534     },
 27535     "ReplaceRoute": {
 27536       "input": {
 27537         "type": "structure",
 27538         "required": [
 27539           "RouteTableId",
 27540           "DestinationCidrBlock"
 27541         ],
 27542         "members": {
 27543           "DryRun": {
 27544             "locationName": "dryRun",
 27545             "type": "boolean"
 27546           },
 27547           "RouteTableId": {
 27548             "locationName": "routeTableId"
 27549           },
 27550           "DestinationCidrBlock": {
 27551             "locationName": "destinationCidrBlock"
 27552           },
 27553           "GatewayId": {
 27554             "locationName": "gatewayId"
 27555           },
 27556           "InstanceId": {
 27557             "locationName": "instanceId"
 27558           },
 27559           "NetworkInterfaceId": {
 27560             "locationName": "networkInterfaceId"
 27561           },
 27562           "VpcPeeringConnectionId": {
 27563             "locationName": "vpcPeeringConnectionId"
 27564           },
 27565           "NatGatewayId": {
 27566             "locationName": "natGatewayId"
 27567           }
 27568         }
 27569       }
 27570     },
 27571     "ReplaceRouteTableAssociation": {
 27572       "input": {
 27573         "type": "structure",
 27574         "required": [
 27575           "AssociationId",
 27576           "RouteTableId"
 27577         ],
 27578         "members": {
 27579           "DryRun": {
 27580             "locationName": "dryRun",
 27581             "type": "boolean"
 27582           },
 27583           "AssociationId": {
 27584             "locationName": "associationId"
 27585           },
 27586           "RouteTableId": {
 27587             "locationName": "routeTableId"
 27588           }
 27589         }
 27590       },
 27591       "output": {
 27592         "type": "structure",
 27593         "members": {
 27594           "NewAssociationId": {
 27595             "locationName": "newAssociationId"
 27596           }
 27597         }
 27598       }
 27599     },
 27600     "ReportInstanceStatus": {
 27601       "input": {
 27602         "type": "structure",
 27603         "required": [
 27604           "Instances",
 27605           "Status",
 27606           "ReasonCodes"
 27607         ],
 27608         "members": {
 27609           "DryRun": {
 27610             "locationName": "dryRun",
 27611             "type": "boolean"
 27612           },
 27613           "Instances": {
 27614             "shape": "S8h",
 27615             "locationName": "instanceId"
 27616           },
 27617           "Status": {
 27618             "locationName": "status"
 27619           },
 27620           "StartTime": {
 27621             "locationName": "startTime",
 27622             "type": "timestamp"
 27623           },
 27624           "EndTime": {
 27625             "locationName": "endTime",
 27626             "type": "timestamp"
 27627           },
 27628           "ReasonCodes": {
 27629             "locationName": "reasonCode",
 27630             "type": "list",
 27631             "member": {
 27632               "locationName": "item"
 27633             }
 27634           },
 27635           "Description": {
 27636             "locationName": "description"
 27637           }
 27638         }
 27639       }
 27640     },
 27641     "RequestSpotFleet": {
 27642       "input": {
 27643         "type": "structure",
 27644         "required": [
 27645           "SpotFleetRequestConfig"
 27646         ],
 27647         "members": {
 27648           "DryRun": {
 27649             "locationName": "dryRun",
 27650             "type": "boolean"
 27651           },
 27652           "SpotFleetRequestConfig": {
 27653             "shape": "Sfx",
 27654             "locationName": "spotFleetRequestConfig"
 27655           }
 27656         }
 27657       },
 27658       "output": {
 27659         "type": "structure",
 27660         "required": [
 27661           "SpotFleetRequestId"
 27662         ],
 27663         "members": {
 27664           "SpotFleetRequestId": {
 27665             "locationName": "spotFleetRequestId"
 27666           }
 27667         }
 27668       }
 27669     },
 27670     "RequestSpotInstances": {
 27671       "input": {
 27672         "type": "structure",
 27673         "required": [
 27674           "SpotPrice"
 27675         ],
 27676         "members": {
 27677           "DryRun": {
 27678             "locationName": "dryRun",
 27679             "type": "boolean"
 27680           },
 27681           "SpotPrice": {
 27682             "locationName": "spotPrice"
 27683           },
 27684           "ClientToken": {
 27685             "locationName": "clientToken"
 27686           },
 27687           "InstanceCount": {
 27688             "locationName": "instanceCount",
 27689             "type": "integer"
 27690           },
 27691           "Type": {
 27692             "locationName": "type"
 27693           },
 27694           "ValidFrom": {
 27695             "locationName": "validFrom",
 27696             "type": "timestamp"
 27697           },
 27698           "ValidUntil": {
 27699             "locationName": "validUntil",
 27700             "type": "timestamp"
 27701           },
 27702           "LaunchGroup": {
 27703             "locationName": "launchGroup"
 27704           },
 27705           "AvailabilityZoneGroup": {
 27706             "locationName": "availabilityZoneGroup"
 27707           },
 27708           "BlockDurationMinutes": {
 27709             "locationName": "blockDurationMinutes",
 27710             "type": "integer"
 27711           },
 27712           "LaunchSpecification": {
 27713             "type": "structure",
 27714             "members": {
 27715               "ImageId": {
 27716                 "locationName": "imageId"
 27717               },
 27718               "KeyName": {
 27719                 "locationName": "keyName"
 27720               },
 27721               "SecurityGroups": {
 27722                 "shape": "S2c",
 27723                 "locationName": "SecurityGroup"
 27724               },
 27725               "UserData": {
 27726                 "locationName": "userData"
 27727               },
 27728               "AddressingType": {
 27729                 "locationName": "addressingType"
 27730               },
 27731               "InstanceType": {
 27732                 "locationName": "instanceType"
 27733               },
 27734               "Placement": {
 27735                 "shape": "Sg0",
 27736                 "locationName": "placement"
 27737               },
 27738               "KernelId": {
 27739                 "locationName": "kernelId"
 27740               },
 27741               "RamdiskId": {
 27742                 "locationName": "ramdiskId"
 27743               },
 27744               "BlockDeviceMappings": {
 27745                 "shape": "Sah",
 27746                 "locationName": "blockDeviceMapping"
 27747               },
 27748               "SubnetId": {
 27749                 "locationName": "subnetId"
 27750               },
 27751               "NetworkInterfaces": {
 27752                 "shape": "Sg2",
 27753                 "locationName": "NetworkInterface"
 27754               },
 27755               "IamInstanceProfile": {
 27756                 "shape": "Sg4",
 27757                 "locationName": "iamInstanceProfile"
 27758               },
 27759               "EbsOptimized": {
 27760                 "locationName": "ebsOptimized",
 27761                 "type": "boolean"
 27762               },
 27763               "Monitoring": {
 27764                 "shape": "Sgh",
 27765                 "locationName": "monitoring"
 27766               },
 27767               "SecurityGroupIds": {
 27768                 "shape": "S2c",
 27769                 "locationName": "SecurityGroupId"
 27770               }
 27771             }
 27772           }
 27773         }
 27774       },
 27775       "output": {
 27776         "type": "structure",
 27777         "members": {
 27778           "SpotInstanceRequests": {
 27779             "shape": "Sgb",
 27780             "locationName": "spotInstanceRequestSet"
 27781           }
 27782         }
 27783       }
 27784     },
 27785     "ResetImageAttribute": {
 27786       "input": {
 27787         "type": "structure",
 27788         "required": [
 27789           "ImageId",
 27790           "Attribute"
 27791         ],
 27792         "members": {
 27793           "DryRun": {
 27794             "locationName": "dryRun",
 27795             "type": "boolean"
 27796           },
 27797           "ImageId": {},
 27798           "Attribute": {}
 27799         }
 27800       }
 27801     },
 27802     "ResetInstanceAttribute": {
 27803       "input": {
 27804         "type": "structure",
 27805         "required": [
 27806           "InstanceId",
 27807           "Attribute"
 27808         ],
 27809         "members": {
 27810           "DryRun": {
 27811             "locationName": "dryRun",
 27812             "type": "boolean"
 27813           },
 27814           "InstanceId": {
 27815             "locationName": "instanceId"
 27816           },
 27817           "Attribute": {
 27818             "locationName": "attribute"
 27819           }
 27820         }
 27821       }
 27822     },
 27823     "ResetNetworkInterfaceAttribute": {
 27824       "input": {
 27825         "type": "structure",
 27826         "required": [
 27827           "NetworkInterfaceId"
 27828         ],
 27829         "members": {
 27830           "DryRun": {
 27831             "locationName": "dryRun",
 27832             "type": "boolean"
 27833           },
 27834           "NetworkInterfaceId": {
 27835             "locationName": "networkInterfaceId"
 27836           },
 27837           "SourceDestCheck": {
 27838             "locationName": "sourceDestCheck"
 27839           }
 27840         }
 27841       }
 27842     },
 27843     "ResetSnapshotAttribute": {
 27844       "input": {
 27845         "type": "structure",
 27846         "required": [
 27847           "SnapshotId",
 27848           "Attribute"
 27849         ],
 27850         "members": {
 27851           "DryRun": {
 27852             "locationName": "dryRun",
 27853             "type": "boolean"
 27854           },
 27855           "SnapshotId": {},
 27856           "Attribute": {}
 27857         }
 27858       }
 27859     },
 27860     "RestoreAddressToClassic": {
 27861       "input": {
 27862         "type": "structure",
 27863         "required": [
 27864           "PublicIp"
 27865         ],
 27866         "members": {
 27867           "DryRun": {
 27868             "locationName": "dryRun",
 27869             "type": "boolean"
 27870           },
 27871           "PublicIp": {
 27872             "locationName": "publicIp"
 27873           }
 27874         }
 27875       },
 27876       "output": {
 27877         "type": "structure",
 27878         "members": {
 27879           "Status": {
 27880             "locationName": "status"
 27881           },
 27882           "PublicIp": {
 27883             "locationName": "publicIp"
 27884           }
 27885         }
 27886       }
 27887     },
 27888     "RevokeSecurityGroupEgress": {
 27889       "input": {
 27890         "type": "structure",
 27891         "required": [
 27892           "GroupId"
 27893         ],
 27894         "members": {
 27895           "DryRun": {
 27896             "locationName": "dryRun",
 27897             "type": "boolean"
 27898           },
 27899           "GroupId": {
 27900             "locationName": "groupId"
 27901           },
 27902           "SourceSecurityGroupName": {
 27903             "locationName": "sourceSecurityGroupName"
 27904           },
 27905           "SourceSecurityGroupOwnerId": {
 27906             "locationName": "sourceSecurityGroupOwnerId"
 27907           },
 27908           "IpProtocol": {
 27909             "locationName": "ipProtocol"
 27910           },
 27911           "FromPort": {
 27912             "locationName": "fromPort",
 27913             "type": "integer"
 27914           },
 27915           "ToPort": {
 27916             "locationName": "toPort",
 27917             "type": "integer"
 27918           },
 27919           "CidrIp": {
 27920             "locationName": "cidrIp"
 27921           },
 27922           "IpPermissions": {
 27923             "shape": "S1b",
 27924             "locationName": "ipPermissions"
 27925           }
 27926         }
 27927       }
 27928     },
 27929     "RevokeSecurityGroupIngress": {
 27930       "input": {
 27931         "type": "structure",
 27932         "members": {
 27933           "DryRun": {
 27934             "locationName": "dryRun",
 27935             "type": "boolean"
 27936           },
 27937           "GroupName": {},
 27938           "GroupId": {},
 27939           "SourceSecurityGroupName": {},
 27940           "SourceSecurityGroupOwnerId": {},
 27941           "IpProtocol": {},
 27942           "FromPort": {
 27943             "type": "integer"
 27944           },
 27945           "ToPort": {
 27946             "type": "integer"
 27947           },
 27948           "CidrIp": {},
 27949           "IpPermissions": {
 27950             "shape": "S1b"
 27951           }
 27952         }
 27953       }
 27954     },
 27955     "RunInstances": {
 27956       "input": {
 27957         "type": "structure",
 27958         "required": [
 27959           "ImageId",
 27960           "MinCount",
 27961           "MaxCount"
 27962         ],
 27963         "members": {
 27964           "DryRun": {
 27965             "locationName": "dryRun",
 27966             "type": "boolean"
 27967           },
 27968           "ImageId": {},
 27969           "MinCount": {
 27970             "type": "integer"
 27971           },
 27972           "MaxCount": {
 27973             "type": "integer"
 27974           },
 27975           "KeyName": {},
 27976           "SecurityGroups": {
 27977             "shape": "Sjy",
 27978             "locationName": "SecurityGroup"
 27979           },
 27980           "SecurityGroupIds": {
 27981             "shape": "S4n",
 27982             "locationName": "SecurityGroupId"
 27983           },
 27984           "UserData": {},
 27985           "InstanceType": {},
 27986           "Placement": {
 27987             "shape": "Sc2"
 27988           },
 27989           "KernelId": {},
 27990           "RamdiskId": {},
 27991           "BlockDeviceMappings": {
 27992             "shape": "S3i",
 27993             "locationName": "BlockDeviceMapping"
 27994           },
 27995           "Monitoring": {
 27996             "shape": "Sgh"
 27997           },
 27998           "SubnetId": {},
 27999           "DisableApiTermination": {
 28000             "locationName": "disableApiTermination",
 28001             "type": "boolean"
 28002           },
 28003           "InstanceInitiatedShutdownBehavior": {
 28004             "locationName": "instanceInitiatedShutdownBehavior"
 28005           },
 28006           "PrivateIpAddress": {
 28007             "locationName": "privateIpAddress"
 28008           },
 28009           "ClientToken": {
 28010             "locationName": "clientToken"
 28011           },
 28012           "AdditionalInfo": {
 28013             "locationName": "additionalInfo"
 28014           },
 28015           "NetworkInterfaces": {
 28016             "shape": "Sg2",
 28017             "locationName": "networkInterface"
 28018           },
 28019           "IamInstanceProfile": {
 28020             "shape": "Sg4",
 28021             "locationName": "iamInstanceProfile"
 28022           },
 28023           "EbsOptimized": {
 28024             "locationName": "ebsOptimized",
 28025             "type": "boolean"
 28026           }
 28027         }
 28028       },
 28029       "output": {
 28030         "shape": "Sby"
 28031       }
 28032     },
 28033     "RunScheduledInstances": {
 28034       "input": {
 28035         "type": "structure",
 28036         "required": [
 28037           "ScheduledInstanceId",
 28038           "LaunchSpecification"
 28039         ],
 28040         "members": {
 28041           "DryRun": {
 28042             "type": "boolean"
 28043           },
 28044           "ClientToken": {
 28045             "idempotencyToken": true
 28046           },
 28047           "InstanceCount": {
 28048             "type": "integer"
 28049           },
 28050           "ScheduledInstanceId": {},
 28051           "LaunchSpecification": {
 28052             "type": "structure",
 28053             "required": [
 28054               "ImageId"
 28055             ],
 28056             "members": {
 28057               "ImageId": {},
 28058               "KeyName": {},
 28059               "SecurityGroupIds": {
 28060                 "shape": "Smv",
 28061                 "locationName": "SecurityGroupId"
 28062               },
 28063               "UserData": {},
 28064               "Placement": {
 28065                 "type": "structure",
 28066                 "members": {
 28067                   "AvailabilityZone": {},
 28068                   "GroupName": {}
 28069                 }
 28070               },
 28071               "KernelId": {},
 28072               "InstanceType": {},
 28073               "RamdiskId": {},
 28074               "BlockDeviceMappings": {
 28075                 "locationName": "BlockDeviceMapping",
 28076                 "type": "list",
 28077                 "member": {
 28078                   "locationName": "BlockDeviceMapping",
 28079                   "type": "structure",
 28080                   "members": {
 28081                     "DeviceName": {},
 28082                     "NoDevice": {},
 28083                     "VirtualName": {},
 28084                     "Ebs": {
 28085                       "type": "structure",
 28086                       "members": {
 28087                         "SnapshotId": {},
 28088                         "VolumeSize": {
 28089                           "type": "integer"
 28090                         },
 28091                         "DeleteOnTermination": {
 28092                           "type": "boolean"
 28093                         },
 28094                         "VolumeType": {},
 28095                         "Iops": {
 28096                           "type": "integer"
 28097                         },
 28098                         "Encrypted": {
 28099                           "type": "boolean"
 28100                         }
 28101                       }
 28102                     }
 28103                   }
 28104                 }
 28105               },
 28106               "Monitoring": {
 28107                 "type": "structure",
 28108                 "members": {
 28109                   "Enabled": {
 28110                     "type": "boolean"
 28111                   }
 28112                 }
 28113               },
 28114               "SubnetId": {},
 28115               "NetworkInterfaces": {
 28116                 "locationName": "NetworkInterface",
 28117                 "type": "list",
 28118                 "member": {
 28119                   "locationName": "NetworkInterface",
 28120                   "type": "structure",
 28121                   "members": {
 28122                     "NetworkInterfaceId": {},
 28123                     "DeviceIndex": {
 28124                       "type": "integer"
 28125                     },
 28126                     "SubnetId": {},
 28127                     "Description": {},
 28128                     "PrivateIpAddress": {},
 28129                     "PrivateIpAddressConfigs": {
 28130                       "locationName": "PrivateIpAddressConfig",
 28131                       "type": "list",
 28132                       "member": {
 28133                         "locationName": "PrivateIpAddressConfigSet",
 28134                         "type": "structure",
 28135                         "members": {
 28136                           "PrivateIpAddress": {},
 28137                           "Primary": {
 28138                             "type": "boolean"
 28139                           }
 28140                         }
 28141                       }
 28142                     },
 28143                     "SecondaryPrivateIpAddressCount": {
 28144                       "type": "integer"
 28145                     },
 28146                     "AssociatePublicIpAddress": {
 28147                       "type": "boolean"
 28148                     },
 28149                     "Groups": {
 28150                       "shape": "Smv",
 28151                       "locationName": "Group"
 28152                     },
 28153                     "DeleteOnTermination": {
 28154                       "type": "boolean"
 28155                     }
 28156                   }
 28157                 }
 28158               },
 28159               "IamInstanceProfile": {
 28160                 "type": "structure",
 28161                 "members": {
 28162                   "Arn": {},
 28163                   "Name": {}
 28164                 }
 28165               },
 28166               "EbsOptimized": {
 28167                 "type": "boolean"
 28168               }
 28169             }
 28170           }
 28171         }
 28172       },
 28173       "output": {
 28174         "type": "structure",
 28175         "members": {
 28176           "InstanceIdSet": {
 28177             "locationName": "instanceIdSet",
 28178             "type": "list",
 28179             "member": {
 28180               "locationName": "item"
 28181             }
 28182           }
 28183         }
 28184       }
 28185     },
 28186     "StartInstances": {
 28187       "input": {
 28188         "type": "structure",
 28189         "required": [
 28190           "InstanceIds"
 28191         ],
 28192         "members": {
 28193           "InstanceIds": {
 28194             "shape": "S8h",
 28195             "locationName": "InstanceId"
 28196           },
 28197           "AdditionalInfo": {
 28198             "locationName": "additionalInfo"
 28199           },
 28200           "DryRun": {
 28201             "locationName": "dryRun",
 28202             "type": "boolean"
 28203           }
 28204         }
 28205       },
 28206       "output": {
 28207         "type": "structure",
 28208         "members": {
 28209           "StartingInstances": {
 28210             "shape": "Sna",
 28211             "locationName": "instancesSet"
 28212           }
 28213         }
 28214       }
 28215     },
 28216     "StopInstances": {
 28217       "input": {
 28218         "type": "structure",
 28219         "required": [
 28220           "InstanceIds"
 28221         ],
 28222         "members": {
 28223           "DryRun": {
 28224             "locationName": "dryRun",
 28225             "type": "boolean"
 28226           },
 28227           "InstanceIds": {
 28228             "shape": "S8h",
 28229             "locationName": "InstanceId"
 28230           },
 28231           "Force": {
 28232             "locationName": "force",
 28233             "type": "boolean"
 28234           }
 28235         }
 28236       },
 28237       "output": {
 28238         "type": "structure",
 28239         "members": {
 28240           "StoppingInstances": {
 28241             "shape": "Sna",
 28242             "locationName": "instancesSet"
 28243           }
 28244         }
 28245       }
 28246     },
 28247     "TerminateInstances": {
 28248       "input": {
 28249         "type": "structure",
 28250         "required": [
 28251           "InstanceIds"
 28252         ],
 28253         "members": {
 28254           "DryRun": {
 28255             "locationName": "dryRun",
 28256             "type": "boolean"
 28257           },
 28258           "InstanceIds": {
 28259             "shape": "S8h",
 28260             "locationName": "InstanceId"
 28261           }
 28262         }
 28263       },
 28264       "output": {
 28265         "type": "structure",
 28266         "members": {
 28267           "TerminatingInstances": {
 28268             "shape": "Sna",
 28269             "locationName": "instancesSet"
 28270           }
 28271         }
 28272       }
 28273     },
 28274     "UnassignPrivateIpAddresses": {
 28275       "input": {
 28276         "type": "structure",
 28277         "required": [
 28278           "NetworkInterfaceId",
 28279           "PrivateIpAddresses"
 28280         ],
 28281         "members": {
 28282           "NetworkInterfaceId": {
 28283             "locationName": "networkInterfaceId"
 28284           },
 28285           "PrivateIpAddresses": {
 28286             "shape": "Sr",
 28287             "locationName": "privateIpAddress"
 28288           }
 28289         }
 28290       }
 28291     },
 28292     "UnmonitorInstances": {
 28293       "input": {
 28294         "type": "structure",
 28295         "required": [
 28296           "InstanceIds"
 28297         ],
 28298         "members": {
 28299           "DryRun": {
 28300             "locationName": "dryRun",
 28301             "type": "boolean"
 28302           },
 28303           "InstanceIds": {
 28304             "shape": "S8h",
 28305             "locationName": "InstanceId"
 28306           }
 28307         }
 28308       },
 28309       "output": {
 28310         "type": "structure",
 28311         "members": {
 28312           "InstanceMonitorings": {
 28313             "shape": "Slh",
 28314             "locationName": "instancesSet"
 28315           }
 28316         }
 28317       }
 28318     }
 28319   },
 28320   "shapes": {
 28321     "S3": {
 28322       "type": "list",
 28323       "member": {
 28324         "locationName": "ReservedInstanceId"
 28325       }
 28326     },
 28327     "S5": {
 28328       "type": "list",
 28329       "member": {
 28330         "locationName": "TargetConfigurationRequest",
 28331         "type": "structure",
 28332         "required": [
 28333           "OfferingId"
 28334         ],
 28335         "members": {
 28336           "OfferingId": {},
 28337           "InstanceCount": {
 28338             "type": "integer"
 28339           }
 28340         }
 28341       }
 28342     },
 28343     "Sb": {
 28344       "type": "structure",
 28345       "members": {
 28346         "AccepterVpcInfo": {
 28347           "shape": "Sc",
 28348           "locationName": "accepterVpcInfo"
 28349         },
 28350         "ExpirationTime": {
 28351           "locationName": "expirationTime",
 28352           "type": "timestamp"
 28353         },
 28354         "RequesterVpcInfo": {
 28355           "shape": "Sc",
 28356           "locationName": "requesterVpcInfo"
 28357         },
 28358         "Status": {
 28359           "locationName": "status",
 28360           "type": "structure",
 28361           "members": {
 28362             "Code": {
 28363               "locationName": "code"
 28364             },
 28365             "Message": {
 28366               "locationName": "message"
 28367             }
 28368           }
 28369         },
 28370         "Tags": {
 28371           "shape": "Sh",
 28372           "locationName": "tagSet"
 28373         },
 28374         "VpcPeeringConnectionId": {
 28375           "locationName": "vpcPeeringConnectionId"
 28376         }
 28377       }
 28378     },
 28379     "Sc": {
 28380       "type": "structure",
 28381       "members": {
 28382         "CidrBlock": {
 28383           "locationName": "cidrBlock"
 28384         },
 28385         "OwnerId": {
 28386           "locationName": "ownerId"
 28387         },
 28388         "VpcId": {
 28389           "locationName": "vpcId"
 28390         },
 28391         "PeeringOptions": {
 28392           "locationName": "peeringOptions",
 28393           "type": "structure",
 28394           "members": {
 28395             "AllowEgressFromLocalClassicLinkToRemoteVpc": {
 28396               "locationName": "allowEgressFromLocalClassicLinkToRemoteVpc",
 28397               "type": "boolean"
 28398             },
 28399             "AllowEgressFromLocalVpcToRemoteClassicLink": {
 28400               "locationName": "allowEgressFromLocalVpcToRemoteClassicLink",
 28401               "type": "boolean"
 28402             },
 28403             "AllowDnsResolutionFromRemoteVpc": {
 28404               "locationName": "allowDnsResolutionFromRemoteVpc",
 28405               "type": "boolean"
 28406             }
 28407           }
 28408         }
 28409       }
 28410     },
 28411     "Sh": {
 28412       "type": "list",
 28413       "member": {
 28414         "locationName": "item",
 28415         "type": "structure",
 28416         "members": {
 28417           "Key": {
 28418             "locationName": "key"
 28419           },
 28420           "Value": {
 28421             "locationName": "value"
 28422           }
 28423         }
 28424       }
 28425     },
 28426     "Sp": {
 28427       "type": "list",
 28428       "member": {
 28429         "locationName": "item"
 28430       }
 28431     },
 28432     "Sr": {
 28433       "type": "list",
 28434       "member": {
 28435         "locationName": "PrivateIpAddress"
 28436       }
 28437     },
 28438     "Sy": {
 28439       "type": "list",
 28440       "member": {
 28441         "locationName": "groupId"
 28442       }
 28443     },
 28444     "S14": {
 28445       "type": "structure",
 28446       "members": {
 28447         "VolumeId": {
 28448           "locationName": "volumeId"
 28449         },
 28450         "InstanceId": {
 28451           "locationName": "instanceId"
 28452         },
 28453         "Device": {
 28454           "locationName": "device"
 28455         },
 28456         "State": {
 28457           "locationName": "status"
 28458         },
 28459         "AttachTime": {
 28460           "locationName": "attachTime",
 28461           "type": "timestamp"
 28462         },
 28463         "DeleteOnTermination": {
 28464           "locationName": "deleteOnTermination",
 28465           "type": "boolean"
 28466         }
 28467       }
 28468     },
 28469     "S18": {
 28470       "type": "structure",
 28471       "members": {
 28472         "VpcId": {
 28473           "locationName": "vpcId"
 28474         },
 28475         "State": {
 28476           "locationName": "state"
 28477         }
 28478       }
 28479     },
 28480     "S1b": {
 28481       "type": "list",
 28482       "member": {
 28483         "locationName": "item",
 28484         "type": "structure",
 28485         "members": {
 28486           "IpProtocol": {
 28487             "locationName": "ipProtocol"
 28488           },
 28489           "FromPort": {
 28490             "locationName": "fromPort",
 28491             "type": "integer"
 28492           },
 28493           "ToPort": {
 28494             "locationName": "toPort",
 28495             "type": "integer"
 28496           },
 28497           "UserIdGroupPairs": {
 28498             "locationName": "groups",
 28499             "type": "list",
 28500             "member": {
 28501               "shape": "S1e",
 28502               "locationName": "item"
 28503             }
 28504           },
 28505           "IpRanges": {
 28506             "locationName": "ipRanges",
 28507             "type": "list",
 28508             "member": {
 28509               "locationName": "item",
 28510               "type": "structure",
 28511               "members": {
 28512                 "CidrIp": {
 28513                   "locationName": "cidrIp"
 28514                 }
 28515               }
 28516             }
 28517           },
 28518           "PrefixListIds": {
 28519             "locationName": "prefixListIds",
 28520             "type": "list",
 28521             "member": {
 28522               "locationName": "item",
 28523               "type": "structure",
 28524               "members": {
 28525                 "PrefixListId": {
 28526                   "locationName": "prefixListId"
 28527                 }
 28528               }
 28529             }
 28530           }
 28531         }
 28532       }
 28533     },
 28534     "S1e": {
 28535       "type": "structure",
 28536       "members": {
 28537         "UserId": {
 28538           "locationName": "userId"
 28539         },
 28540         "GroupName": {
 28541           "locationName": "groupName"
 28542         },
 28543         "GroupId": {
 28544           "locationName": "groupId"
 28545         },
 28546         "VpcId": {
 28547           "locationName": "vpcId"
 28548         },
 28549         "VpcPeeringConnectionId": {
 28550           "locationName": "vpcPeeringConnectionId"
 28551         },
 28552         "PeeringStatus": {
 28553           "locationName": "peeringStatus"
 28554         }
 28555       }
 28556     },
 28557     "S1l": {
 28558       "type": "structure",
 28559       "members": {
 28560         "S3": {
 28561           "type": "structure",
 28562           "members": {
 28563             "Bucket": {
 28564               "locationName": "bucket"
 28565             },
 28566             "Prefix": {
 28567               "locationName": "prefix"
 28568             },
 28569             "AWSAccessKeyId": {},
 28570             "UploadPolicy": {
 28571               "locationName": "uploadPolicy",
 28572               "type": "blob"
 28573             },
 28574             "UploadPolicySignature": {
 28575               "locationName": "uploadPolicySignature"
 28576             }
 28577           }
 28578         }
 28579       }
 28580     },
 28581     "S1p": {
 28582       "type": "structure",
 28583       "members": {
 28584         "InstanceId": {
 28585           "locationName": "instanceId"
 28586         },
 28587         "BundleId": {
 28588           "locationName": "bundleId"
 28589         },
 28590         "State": {
 28591           "locationName": "state"
 28592         },
 28593         "StartTime": {
 28594           "locationName": "startTime",
 28595           "type": "timestamp"
 28596         },
 28597         "UpdateTime": {
 28598           "locationName": "updateTime",
 28599           "type": "timestamp"
 28600         },
 28601         "Storage": {
 28602           "shape": "S1l",
 28603           "locationName": "storage"
 28604         },
 28605         "Progress": {
 28606           "locationName": "progress"
 28607         },
 28608         "BundleTaskError": {
 28609           "locationName": "error",
 28610           "type": "structure",
 28611           "members": {
 28612             "Code": {
 28613               "locationName": "code"
 28614             },
 28615             "Message": {
 28616               "locationName": "message"
 28617             }
 28618           }
 28619         }
 28620       }
 28621     },
 28622     "S20": {
 28623       "type": "list",
 28624       "member": {
 28625         "locationName": "item",
 28626         "type": "structure",
 28627         "members": {
 28628           "ReservedInstancesListingId": {
 28629             "locationName": "reservedInstancesListingId"
 28630           },
 28631           "ReservedInstancesId": {
 28632             "locationName": "reservedInstancesId"
 28633           },
 28634           "CreateDate": {
 28635             "locationName": "createDate",
 28636             "type": "timestamp"
 28637           },
 28638           "UpdateDate": {
 28639             "locationName": "updateDate",
 28640             "type": "timestamp"
 28641           },
 28642           "Status": {
 28643             "locationName": "status"
 28644           },
 28645           "StatusMessage": {
 28646             "locationName": "statusMessage"
 28647           },
 28648           "InstanceCounts": {
 28649             "locationName": "instanceCounts",
 28650             "type": "list",
 28651             "member": {
 28652               "locationName": "item",
 28653               "type": "structure",
 28654               "members": {
 28655                 "State": {
 28656                   "locationName": "state"
 28657                 },
 28658                 "InstanceCount": {
 28659                   "locationName": "instanceCount",
 28660                   "type": "integer"
 28661                 }
 28662               }
 28663             }
 28664           },
 28665           "PriceSchedules": {
 28666             "locationName": "priceSchedules",
 28667             "type": "list",
 28668             "member": {
 28669               "locationName": "item",
 28670               "type": "structure",
 28671               "members": {
 28672                 "Term": {
 28673                   "locationName": "term",
 28674                   "type": "long"
 28675                 },
 28676                 "Price": {
 28677                   "locationName": "price",
 28678                   "type": "double"
 28679                 },
 28680                 "CurrencyCode": {
 28681                   "locationName": "currencyCode"
 28682                 },
 28683                 "Active": {
 28684                   "locationName": "active",
 28685                   "type": "boolean"
 28686                 }
 28687               }
 28688             }
 28689           },
 28690           "Tags": {
 28691             "shape": "Sh",
 28692             "locationName": "tagSet"
 28693           },
 28694           "ClientToken": {
 28695             "locationName": "clientToken"
 28696           }
 28697         }
 28698       }
 28699     },
 28700     "S2c": {
 28701       "type": "list",
 28702       "member": {
 28703         "locationName": "item"
 28704       }
 28705     },
 28706     "S2m": {
 28707       "type": "list",
 28708       "member": {
 28709         "locationName": "SpotInstanceRequestId"
 28710       }
 28711     },
 28712     "S30": {
 28713       "type": "structure",
 28714       "members": {
 28715         "CustomerGatewayId": {
 28716           "locationName": "customerGatewayId"
 28717         },
 28718         "State": {
 28719           "locationName": "state"
 28720         },
 28721         "Type": {
 28722           "locationName": "type"
 28723         },
 28724         "IpAddress": {
 28725           "locationName": "ipAddress"
 28726         },
 28727         "BgpAsn": {
 28728           "locationName": "bgpAsn"
 28729         },
 28730         "Tags": {
 28731           "shape": "Sh",
 28732           "locationName": "tagSet"
 28733         }
 28734       }
 28735     },
 28736     "S35": {
 28737       "type": "structure",
 28738       "members": {
 28739         "DhcpOptionsId": {
 28740           "locationName": "dhcpOptionsId"
 28741         },
 28742         "DhcpConfigurations": {
 28743           "locationName": "dhcpConfigurationSet",
 28744           "type": "list",
 28745           "member": {
 28746             "locationName": "item",
 28747             "type": "structure",
 28748             "members": {
 28749               "Key": {
 28750                 "locationName": "key"
 28751               },
 28752               "Values": {
 28753                 "locationName": "valueSet",
 28754                 "type": "list",
 28755                 "member": {
 28756                   "shape": "S39",
 28757                   "locationName": "item"
 28758                 }
 28759               }
 28760             }
 28761           }
 28762         },
 28763         "Tags": {
 28764           "shape": "Sh",
 28765           "locationName": "tagSet"
 28766         }
 28767       }
 28768     },
 28769     "S39": {
 28770       "type": "structure",
 28771       "members": {
 28772         "Value": {
 28773           "locationName": "value"
 28774         }
 28775       }
 28776     },
 28777     "S3e": {
 28778       "type": "list",
 28779       "member": {
 28780         "shape": "S3f",
 28781         "locationName": "item"
 28782       }
 28783     },
 28784     "S3f": {
 28785       "type": "structure",
 28786       "required": [
 28787         "Error"
 28788       ],
 28789       "members": {
 28790         "Error": {
 28791           "locationName": "error",
 28792           "type": "structure",
 28793           "required": [
 28794             "Code",
 28795             "Message"
 28796           ],
 28797           "members": {
 28798             "Code": {
 28799               "locationName": "code"
 28800             },
 28801             "Message": {
 28802               "locationName": "message"
 28803             }
 28804           }
 28805         },
 28806         "ResourceId": {
 28807           "locationName": "resourceId"
 28808         }
 28809       }
 28810     },
 28811     "S3i": {
 28812       "type": "list",
 28813       "member": {
 28814         "shape": "S3j",
 28815         "locationName": "BlockDeviceMapping"
 28816       }
 28817     },
 28818     "S3j": {
 28819       "type": "structure",
 28820       "members": {
 28821         "VirtualName": {
 28822           "locationName": "virtualName"
 28823         },
 28824         "DeviceName": {
 28825           "locationName": "deviceName"
 28826         },
 28827         "Ebs": {
 28828           "locationName": "ebs",
 28829           "type": "structure",
 28830           "members": {
 28831             "SnapshotId": {
 28832               "locationName": "snapshotId"
 28833             },
 28834             "VolumeSize": {
 28835               "locationName": "volumeSize",
 28836               "type": "integer"
 28837             },
 28838             "DeleteOnTermination": {
 28839               "locationName": "deleteOnTermination",
 28840               "type": "boolean"
 28841             },
 28842             "VolumeType": {
 28843               "locationName": "volumeType"
 28844             },
 28845             "Iops": {
 28846               "locationName": "iops",
 28847               "type": "integer"
 28848             },
 28849             "Encrypted": {
 28850               "locationName": "encrypted",
 28851               "type": "boolean"
 28852             }
 28853           }
 28854         },
 28855         "NoDevice": {
 28856           "locationName": "noDevice"
 28857         }
 28858       }
 28859     },
 28860     "S3t": {
 28861       "type": "structure",
 28862       "members": {
 28863         "ExportTaskId": {
 28864           "locationName": "exportTaskId"
 28865         },
 28866         "Description": {
 28867           "locationName": "description"
 28868         },
 28869         "State": {
 28870           "locationName": "state"
 28871         },
 28872         "StatusMessage": {
 28873           "locationName": "statusMessage"
 28874         },
 28875         "InstanceExportDetails": {
 28876           "locationName": "instanceExport",
 28877           "type": "structure",
 28878           "members": {
 28879             "InstanceId": {
 28880               "locationName": "instanceId"
 28881             },
 28882             "TargetEnvironment": {
 28883               "locationName": "targetEnvironment"
 28884             }
 28885           }
 28886         },
 28887         "ExportToS3Task": {
 28888           "locationName": "exportToS3",
 28889           "type": "structure",
 28890           "members": {
 28891             "DiskImageFormat": {
 28892               "locationName": "diskImageFormat"
 28893             },
 28894             "ContainerFormat": {
 28895               "locationName": "containerFormat"
 28896             },
 28897             "S3Bucket": {
 28898               "locationName": "s3Bucket"
 28899             },
 28900             "S3Key": {
 28901               "locationName": "s3Key"
 28902             }
 28903           }
 28904         }
 28905       }
 28906     },
 28907     "S3z": {
 28908       "type": "structure",
 28909       "members": {
 28910         "InternetGatewayId": {
 28911           "locationName": "internetGatewayId"
 28912         },
 28913         "Attachments": {
 28914           "locationName": "attachmentSet",
 28915           "type": "list",
 28916           "member": {
 28917             "locationName": "item",
 28918             "type": "structure",
 28919             "members": {
 28920               "VpcId": {
 28921                 "locationName": "vpcId"
 28922               },
 28923               "State": {
 28924                 "locationName": "state"
 28925               }
 28926             }
 28927           }
 28928         },
 28929         "Tags": {
 28930           "shape": "Sh",
 28931           "locationName": "tagSet"
 28932         }
 28933       }
 28934     },
 28935     "S46": {
 28936       "type": "structure",
 28937       "members": {
 28938         "VpcId": {
 28939           "locationName": "vpcId"
 28940         },
 28941         "SubnetId": {
 28942           "locationName": "subnetId"
 28943         },
 28944         "NatGatewayId": {
 28945           "locationName": "natGatewayId"
 28946         },
 28947         "CreateTime": {
 28948           "locationName": "createTime",
 28949           "type": "timestamp"
 28950         },
 28951         "DeleteTime": {
 28952           "locationName": "deleteTime",
 28953           "type": "timestamp"
 28954         },
 28955         "NatGatewayAddresses": {
 28956           "locationName": "natGatewayAddressSet",
 28957           "type": "list",
 28958           "member": {
 28959             "locationName": "item",
 28960             "type": "structure",
 28961             "members": {
 28962               "PublicIp": {
 28963                 "locationName": "publicIp"
 28964               },
 28965               "AllocationId": {
 28966                 "locationName": "allocationId"
 28967               },
 28968               "PrivateIp": {
 28969                 "locationName": "privateIp"
 28970               },
 28971               "NetworkInterfaceId": {
 28972                 "locationName": "networkInterfaceId"
 28973               }
 28974             }
 28975           }
 28976         },
 28977         "State": {
 28978           "locationName": "state"
 28979         },
 28980         "FailureCode": {
 28981           "locationName": "failureCode"
 28982         },
 28983         "FailureMessage": {
 28984           "locationName": "failureMessage"
 28985         },
 28986         "ProvisionedBandwidth": {
 28987           "locationName": "provisionedBandwidth",
 28988           "type": "structure",
 28989           "members": {
 28990             "Provisioned": {
 28991               "locationName": "provisioned"
 28992             },
 28993             "Requested": {
 28994               "locationName": "requested"
 28995             },
 28996             "RequestTime": {
 28997               "locationName": "requestTime",
 28998               "type": "timestamp"
 28999             },
 29000             "ProvisionTime": {
 29001               "locationName": "provisionTime",
 29002               "type": "timestamp"
 29003             },
 29004             "Status": {
 29005               "locationName": "status"
 29006             }
 29007           }
 29008         }
 29009       }
 29010     },
 29011     "S4d": {
 29012       "type": "structure",
 29013       "members": {
 29014         "NetworkAclId": {
 29015           "locationName": "networkAclId"
 29016         },
 29017         "VpcId": {
 29018           "locationName": "vpcId"
 29019         },
 29020         "IsDefault": {
 29021           "locationName": "default",
 29022           "type": "boolean"
 29023         },
 29024         "Entries": {
 29025           "locationName": "entrySet",
 29026           "type": "list",
 29027           "member": {
 29028             "locationName": "item",
 29029             "type": "structure",
 29030             "members": {
 29031               "RuleNumber": {
 29032                 "locationName": "ruleNumber",
 29033                 "type": "integer"
 29034               },
 29035               "Protocol": {
 29036                 "locationName": "protocol"
 29037               },
 29038               "RuleAction": {
 29039                 "locationName": "ruleAction"
 29040               },
 29041               "Egress": {
 29042                 "locationName": "egress",
 29043                 "type": "boolean"
 29044               },
 29045               "CidrBlock": {
 29046                 "locationName": "cidrBlock"
 29047               },
 29048               "IcmpTypeCode": {
 29049                 "shape": "S4h",
 29050                 "locationName": "icmpTypeCode"
 29051               },
 29052               "PortRange": {
 29053                 "shape": "S4i",
 29054                 "locationName": "portRange"
 29055               }
 29056             }
 29057           }
 29058         },
 29059         "Associations": {
 29060           "locationName": "associationSet",
 29061           "type": "list",
 29062           "member": {
 29063             "locationName": "item",
 29064             "type": "structure",
 29065             "members": {
 29066               "NetworkAclAssociationId": {
 29067                 "locationName": "networkAclAssociationId"
 29068               },
 29069               "NetworkAclId": {
 29070                 "locationName": "networkAclId"
 29071               },
 29072               "SubnetId": {
 29073                 "locationName": "subnetId"
 29074               }
 29075             }
 29076           }
 29077         },
 29078         "Tags": {
 29079           "shape": "Sh",
 29080           "locationName": "tagSet"
 29081         }
 29082       }
 29083     },
 29084     "S4h": {
 29085       "type": "structure",
 29086       "members": {
 29087         "Type": {
 29088           "locationName": "type",
 29089           "type": "integer"
 29090         },
 29091         "Code": {
 29092           "locationName": "code",
 29093           "type": "integer"
 29094         }
 29095       }
 29096     },
 29097     "S4i": {
 29098       "type": "structure",
 29099       "members": {
 29100         "From": {
 29101           "locationName": "from",
 29102           "type": "integer"
 29103         },
 29104         "To": {
 29105           "locationName": "to",
 29106           "type": "integer"
 29107         }
 29108       }
 29109     },
 29110     "S4n": {
 29111       "type": "list",
 29112       "member": {
 29113         "locationName": "SecurityGroupId"
 29114       }
 29115     },
 29116     "S4o": {
 29117       "type": "list",
 29118       "member": {
 29119         "locationName": "item",
 29120         "type": "structure",
 29121         "required": [
 29122           "PrivateIpAddress"
 29123         ],
 29124         "members": {
 29125           "PrivateIpAddress": {
 29126             "locationName": "privateIpAddress"
 29127           },
 29128           "Primary": {
 29129             "locationName": "primary",
 29130             "type": "boolean"
 29131           }
 29132         }
 29133       }
 29134     },
 29135     "S4r": {
 29136       "type": "structure",
 29137       "members": {
 29138         "NetworkInterfaceId": {
 29139           "locationName": "networkInterfaceId"
 29140         },
 29141         "SubnetId": {
 29142           "locationName": "subnetId"
 29143         },
 29144         "VpcId": {
 29145           "locationName": "vpcId"
 29146         },
 29147         "AvailabilityZone": {
 29148           "locationName": "availabilityZone"
 29149         },
 29150         "Description": {
 29151           "locationName": "description"
 29152         },
 29153         "OwnerId": {
 29154           "locationName": "ownerId"
 29155         },
 29156         "RequesterId": {
 29157           "locationName": "requesterId"
 29158         },
 29159         "RequesterManaged": {
 29160           "locationName": "requesterManaged",
 29161           "type": "boolean"
 29162         },
 29163         "Status": {
 29164           "locationName": "status"
 29165         },
 29166         "MacAddress": {
 29167           "locationName": "macAddress"
 29168         },
 29169         "PrivateIpAddress": {
 29170           "locationName": "privateIpAddress"
 29171         },
 29172         "PrivateDnsName": {
 29173           "locationName": "privateDnsName"
 29174         },
 29175         "SourceDestCheck": {
 29176           "locationName": "sourceDestCheck",
 29177           "type": "boolean"
 29178         },
 29179         "Groups": {
 29180           "shape": "S4t",
 29181           "locationName": "groupSet"
 29182         },
 29183         "Attachment": {
 29184           "shape": "S4v",
 29185           "locationName": "attachment"
 29186         },
 29187         "Association": {
 29188           "shape": "S4w",
 29189           "locationName": "association"
 29190         },
 29191         "TagSet": {
 29192           "shape": "Sh",
 29193           "locationName": "tagSet"
 29194         },
 29195         "PrivateIpAddresses": {
 29196           "locationName": "privateIpAddressesSet",
 29197           "type": "list",
 29198           "member": {
 29199             "locationName": "item",
 29200             "type": "structure",
 29201             "members": {
 29202               "PrivateIpAddress": {
 29203                 "locationName": "privateIpAddress"
 29204               },
 29205               "PrivateDnsName": {
 29206                 "locationName": "privateDnsName"
 29207               },
 29208               "Primary": {
 29209                 "locationName": "primary",
 29210                 "type": "boolean"
 29211               },
 29212               "Association": {
 29213                 "shape": "S4w",
 29214                 "locationName": "association"
 29215               }
 29216             }
 29217           }
 29218         },
 29219         "InterfaceType": {
 29220           "locationName": "interfaceType"
 29221         }
 29222       }
 29223     },
 29224     "S4t": {
 29225       "type": "list",
 29226       "member": {
 29227         "locationName": "item",
 29228         "type": "structure",
 29229         "members": {
 29230           "GroupName": {
 29231             "locationName": "groupName"
 29232           },
 29233           "GroupId": {
 29234             "locationName": "groupId"
 29235           }
 29236         }
 29237       }
 29238     },
 29239     "S4v": {
 29240       "type": "structure",
 29241       "members": {
 29242         "AttachmentId": {
 29243           "locationName": "attachmentId"
 29244         },
 29245         "InstanceId": {
 29246           "locationName": "instanceId"
 29247         },
 29248         "InstanceOwnerId": {
 29249           "locationName": "instanceOwnerId"
 29250         },
 29251         "DeviceIndex": {
 29252           "locationName": "deviceIndex",
 29253           "type": "integer"
 29254         },
 29255         "Status": {
 29256           "locationName": "status"
 29257         },
 29258         "AttachTime": {
 29259           "locationName": "attachTime",
 29260           "type": "timestamp"
 29261         },
 29262         "DeleteOnTermination": {
 29263           "locationName": "deleteOnTermination",
 29264           "type": "boolean"
 29265         }
 29266       }
 29267     },
 29268     "S4w": {
 29269       "type": "structure",
 29270       "members": {
 29271         "PublicIp": {
 29272           "locationName": "publicIp"
 29273         },
 29274         "PublicDnsName": {
 29275           "locationName": "publicDnsName"
 29276         },
 29277         "IpOwnerId": {
 29278           "locationName": "ipOwnerId"
 29279         },
 29280         "AllocationId": {
 29281           "locationName": "allocationId"
 29282         },
 29283         "AssociationId": {
 29284           "locationName": "associationId"
 29285         }
 29286       }
 29287     },
 29288     "S5a": {
 29289       "type": "structure",
 29290       "members": {
 29291         "RouteTableId": {
 29292           "locationName": "routeTableId"
 29293         },
 29294         "VpcId": {
 29295           "locationName": "vpcId"
 29296         },
 29297         "Routes": {
 29298           "locationName": "routeSet",
 29299           "type": "list",
 29300           "member": {
 29301             "locationName": "item",
 29302             "type": "structure",
 29303             "members": {
 29304               "DestinationCidrBlock": {
 29305                 "locationName": "destinationCidrBlock"
 29306               },
 29307               "DestinationPrefixListId": {
 29308                 "locationName": "destinationPrefixListId"
 29309               },
 29310               "GatewayId": {
 29311                 "locationName": "gatewayId"
 29312               },
 29313               "InstanceId": {
 29314                 "locationName": "instanceId"
 29315               },
 29316               "InstanceOwnerId": {
 29317                 "locationName": "instanceOwnerId"
 29318               },
 29319               "NetworkInterfaceId": {
 29320                 "locationName": "networkInterfaceId"
 29321               },
 29322               "VpcPeeringConnectionId": {
 29323                 "locationName": "vpcPeeringConnectionId"
 29324               },
 29325               "NatGatewayId": {
 29326                 "locationName": "natGatewayId"
 29327               },
 29328               "State": {
 29329                 "locationName": "state"
 29330               },
 29331               "Origin": {
 29332                 "locationName": "origin"
 29333               }
 29334             }
 29335           }
 29336         },
 29337         "Associations": {
 29338           "locationName": "associationSet",
 29339           "type": "list",
 29340           "member": {
 29341             "locationName": "item",
 29342             "type": "structure",
 29343             "members": {
 29344               "RouteTableAssociationId": {
 29345                 "locationName": "routeTableAssociationId"
 29346               },
 29347               "RouteTableId": {
 29348                 "locationName": "routeTableId"
 29349               },
 29350               "SubnetId": {
 29351                 "locationName": "subnetId"
 29352               },
 29353               "Main": {
 29354                 "locationName": "main",
 29355                 "type": "boolean"
 29356               }
 29357             }
 29358           }
 29359         },
 29360         "Tags": {
 29361           "shape": "Sh",
 29362           "locationName": "tagSet"
 29363         },
 29364         "PropagatingVgws": {
 29365           "locationName": "propagatingVgwSet",
 29366           "type": "list",
 29367           "member": {
 29368             "locationName": "item",
 29369             "type": "structure",
 29370             "members": {
 29371               "GatewayId": {
 29372                 "locationName": "gatewayId"
 29373               }
 29374             }
 29375           }
 29376         }
 29377       }
 29378     },
 29379     "S5m": {
 29380       "type": "structure",
 29381       "members": {
 29382         "SnapshotId": {
 29383           "locationName": "snapshotId"
 29384         },
 29385         "VolumeId": {
 29386           "locationName": "volumeId"
 29387         },
 29388         "State": {
 29389           "locationName": "status"
 29390         },
 29391         "StateMessage": {
 29392           "locationName": "statusMessage"
 29393         },
 29394         "StartTime": {
 29395           "locationName": "startTime",
 29396           "type": "timestamp"
 29397         },
 29398         "Progress": {
 29399           "locationName": "progress"
 29400         },
 29401         "OwnerId": {
 29402           "locationName": "ownerId"
 29403         },
 29404         "Description": {
 29405           "locationName": "description"
 29406         },
 29407         "VolumeSize": {
 29408           "locationName": "volumeSize",
 29409           "type": "integer"
 29410         },
 29411         "OwnerAlias": {
 29412           "locationName": "ownerAlias"
 29413         },
 29414         "Tags": {
 29415           "shape": "Sh",
 29416           "locationName": "tagSet"
 29417         },
 29418         "Encrypted": {
 29419           "locationName": "encrypted",
 29420           "type": "boolean"
 29421         },
 29422         "KmsKeyId": {
 29423           "locationName": "kmsKeyId"
 29424         },
 29425         "DataEncryptionKeyId": {
 29426           "locationName": "dataEncryptionKeyId"
 29427         }
 29428       }
 29429     },
 29430     "S5q": {
 29431       "type": "structure",
 29432       "members": {
 29433         "OwnerId": {
 29434           "locationName": "ownerId"
 29435         },
 29436         "Bucket": {
 29437           "locationName": "bucket"
 29438         },
 29439         "Prefix": {
 29440           "locationName": "prefix"
 29441         },
 29442         "State": {
 29443           "locationName": "state"
 29444         },
 29445         "Fault": {
 29446           "shape": "S5s",
 29447           "locationName": "fault"
 29448         }
 29449       }
 29450     },
 29451     "S5s": {
 29452       "type": "structure",
 29453       "members": {
 29454         "Code": {
 29455           "locationName": "code"
 29456         },
 29457         "Message": {
 29458           "locationName": "message"
 29459         }
 29460       }
 29461     },
 29462     "S5v": {
 29463       "type": "structure",
 29464       "members": {
 29465         "SubnetId": {
 29466           "locationName": "subnetId"
 29467         },
 29468         "State": {
 29469           "locationName": "state"
 29470         },
 29471         "VpcId": {
 29472           "locationName": "vpcId"
 29473         },
 29474         "CidrBlock": {
 29475           "locationName": "cidrBlock"
 29476         },
 29477         "AvailableIpAddressCount": {
 29478           "locationName": "availableIpAddressCount",
 29479           "type": "integer"
 29480         },
 29481         "AvailabilityZone": {
 29482           "locationName": "availabilityZone"
 29483         },
 29484         "DefaultForAz": {
 29485           "locationName": "defaultForAz",
 29486           "type": "boolean"
 29487         },
 29488         "MapPublicIpOnLaunch": {
 29489           "locationName": "mapPublicIpOnLaunch",
 29490           "type": "boolean"
 29491         },
 29492         "Tags": {
 29493           "shape": "Sh",
 29494           "locationName": "tagSet"
 29495         }
 29496       }
 29497     },
 29498     "S5y": {
 29499       "type": "list",
 29500       "member": {}
 29501     },
 29502     "S60": {
 29503       "type": "structure",
 29504       "members": {
 29505         "VolumeId": {
 29506           "locationName": "volumeId"
 29507         },
 29508         "Size": {
 29509           "locationName": "size",
 29510           "type": "integer"
 29511         },
 29512         "SnapshotId": {
 29513           "locationName": "snapshotId"
 29514         },
 29515         "AvailabilityZone": {
 29516           "locationName": "availabilityZone"
 29517         },
 29518         "State": {
 29519           "locationName": "status"
 29520         },
 29521         "CreateTime": {
 29522           "locationName": "createTime",
 29523           "type": "timestamp"
 29524         },
 29525         "Attachments": {
 29526           "locationName": "attachmentSet",
 29527           "type": "list",
 29528           "member": {
 29529             "shape": "S14",
 29530             "locationName": "item"
 29531           }
 29532         },
 29533         "Tags": {
 29534           "shape": "Sh",
 29535           "locationName": "tagSet"
 29536         },
 29537         "VolumeType": {
 29538           "locationName": "volumeType"
 29539         },
 29540         "Iops": {
 29541           "locationName": "iops",
 29542           "type": "integer"
 29543         },
 29544         "Encrypted": {
 29545           "locationName": "encrypted",
 29546           "type": "boolean"
 29547         },
 29548         "KmsKeyId": {
 29549           "locationName": "kmsKeyId"
 29550         }
 29551       }
 29552     },
 29553     "S66": {
 29554       "type": "structure",
 29555       "members": {
 29556         "VpcId": {
 29557           "locationName": "vpcId"
 29558         },
 29559         "State": {
 29560           "locationName": "state"
 29561         },
 29562         "CidrBlock": {
 29563           "locationName": "cidrBlock"
 29564         },
 29565         "DhcpOptionsId": {
 29566           "locationName": "dhcpOptionsId"
 29567         },
 29568         "Tags": {
 29569           "shape": "Sh",
 29570           "locationName": "tagSet"
 29571         },
 29572         "InstanceTenancy": {
 29573           "locationName": "instanceTenancy"
 29574         },
 29575         "IsDefault": {
 29576           "locationName": "isDefault",
 29577           "type": "boolean"
 29578         }
 29579       }
 29580     },
 29581     "S6a": {
 29582       "type": "structure",
 29583       "members": {
 29584         "VpcEndpointId": {
 29585           "locationName": "vpcEndpointId"
 29586         },
 29587         "VpcId": {
 29588           "locationName": "vpcId"
 29589         },
 29590         "ServiceName": {
 29591           "locationName": "serviceName"
 29592         },
 29593         "State": {
 29594           "locationName": "state"
 29595         },
 29596         "PolicyDocument": {
 29597           "locationName": "policyDocument"
 29598         },
 29599         "RouteTableIds": {
 29600           "shape": "S2c",
 29601           "locationName": "routeTableIdSet"
 29602         },
 29603         "CreationTimestamp": {
 29604           "locationName": "creationTimestamp",
 29605           "type": "timestamp"
 29606         }
 29607       }
 29608     },
 29609     "S6h": {
 29610       "type": "structure",
 29611       "members": {
 29612         "VpnConnectionId": {
 29613           "locationName": "vpnConnectionId"
 29614         },
 29615         "State": {
 29616           "locationName": "state"
 29617         },
 29618         "CustomerGatewayConfiguration": {
 29619           "locationName": "customerGatewayConfiguration"
 29620         },
 29621         "Type": {
 29622           "locationName": "type"
 29623         },
 29624         "CustomerGatewayId": {
 29625           "locationName": "customerGatewayId"
 29626         },
 29627         "VpnGatewayId": {
 29628           "locationName": "vpnGatewayId"
 29629         },
 29630         "Tags": {
 29631           "shape": "Sh",
 29632           "locationName": "tagSet"
 29633         },
 29634         "VgwTelemetry": {
 29635           "locationName": "vgwTelemetry",
 29636           "type": "list",
 29637           "member": {
 29638             "locationName": "item",
 29639             "type": "structure",
 29640             "members": {
 29641               "OutsideIpAddress": {
 29642                 "locationName": "outsideIpAddress"
 29643               },
 29644               "Status": {
 29645                 "locationName": "status"
 29646               },
 29647               "LastStatusChange": {
 29648                 "locationName": "lastStatusChange",
 29649                 "type": "timestamp"
 29650               },
 29651               "StatusMessage": {
 29652                 "locationName": "statusMessage"
 29653               },
 29654               "AcceptedRouteCount": {
 29655                 "locationName": "acceptedRouteCount",
 29656                 "type": "integer"
 29657               }
 29658             }
 29659           }
 29660         },
 29661         "Options": {
 29662           "locationName": "options",
 29663           "type": "structure",
 29664           "members": {
 29665             "StaticRoutesOnly": {
 29666               "locationName": "staticRoutesOnly",
 29667               "type": "boolean"
 29668             }
 29669           }
 29670         },
 29671         "Routes": {
 29672           "locationName": "routes",
 29673           "type": "list",
 29674           "member": {
 29675             "locationName": "item",
 29676             "type": "structure",
 29677             "members": {
 29678               "DestinationCidrBlock": {
 29679                 "locationName": "destinationCidrBlock"
 29680               },
 29681               "Source": {
 29682                 "locationName": "source"
 29683               },
 29684               "State": {
 29685                 "locationName": "state"
 29686               }
 29687             }
 29688           }
 29689         }
 29690       }
 29691     },
 29692     "S6t": {
 29693       "type": "structure",
 29694       "members": {
 29695         "VpnGatewayId": {
 29696           "locationName": "vpnGatewayId"
 29697         },
 29698         "State": {
 29699           "locationName": "state"
 29700         },
 29701         "Type": {
 29702           "locationName": "type"
 29703         },
 29704         "AvailabilityZone": {
 29705           "locationName": "availabilityZone"
 29706         },
 29707         "VpcAttachments": {
 29708           "locationName": "attachments",
 29709           "type": "list",
 29710           "member": {
 29711             "shape": "S18",
 29712             "locationName": "item"
 29713           }
 29714         },
 29715         "Tags": {
 29716           "shape": "Sh",
 29717           "locationName": "tagSet"
 29718         }
 29719       }
 29720     },
 29721     "S7y": {
 29722       "type": "list",
 29723       "member": {
 29724         "locationName": "Filter",
 29725         "type": "structure",
 29726         "members": {
 29727           "Name": {},
 29728           "Values": {
 29729             "shape": "S2c",
 29730             "locationName": "Value"
 29731           }
 29732         }
 29733       }
 29734     },
 29735     "S8h": {
 29736       "type": "list",
 29737       "member": {
 29738         "locationName": "InstanceId"
 29739       }
 29740     },
 29741     "S8p": {
 29742       "type": "structure",
 29743       "required": [
 29744         "ConversionTaskId",
 29745         "State"
 29746       ],
 29747       "members": {
 29748         "ConversionTaskId": {
 29749           "locationName": "conversionTaskId"
 29750         },
 29751         "ExpirationTime": {
 29752           "locationName": "expirationTime"
 29753         },
 29754         "ImportInstance": {
 29755           "locationName": "importInstance",
 29756           "type": "structure",
 29757           "required": [
 29758             "Volumes"
 29759           ],
 29760           "members": {
 29761             "Volumes": {
 29762               "locationName": "volumes",
 29763               "type": "list",
 29764               "member": {
 29765                 "locationName": "item",
 29766                 "type": "structure",
 29767                 "required": [
 29768                   "BytesConverted",
 29769                   "AvailabilityZone",
 29770                   "Image",
 29771                   "Volume",
 29772                   "Status"
 29773                 ],
 29774                 "members": {
 29775                   "BytesConverted": {
 29776                     "locationName": "bytesConverted",
 29777                     "type": "long"
 29778                   },
 29779                   "AvailabilityZone": {
 29780                     "locationName": "availabilityZone"
 29781                   },
 29782                   "Image": {
 29783                     "shape": "S8t",
 29784                     "locationName": "image"
 29785                   },
 29786                   "Volume": {
 29787                     "shape": "S8u",
 29788                     "locationName": "volume"
 29789                   },
 29790                   "Status": {
 29791                     "locationName": "status"
 29792                   },
 29793                   "StatusMessage": {
 29794                     "locationName": "statusMessage"
 29795                   },
 29796                   "Description": {
 29797                     "locationName": "description"
 29798                   }
 29799                 }
 29800               }
 29801             },
 29802             "InstanceId": {
 29803               "locationName": "instanceId"
 29804             },
 29805             "Platform": {
 29806               "locationName": "platform"
 29807             },
 29808             "Description": {
 29809               "locationName": "description"
 29810             }
 29811           }
 29812         },
 29813         "ImportVolume": {
 29814           "locationName": "importVolume",
 29815           "type": "structure",
 29816           "required": [
 29817             "BytesConverted",
 29818             "AvailabilityZone",
 29819             "Image",
 29820             "Volume"
 29821           ],
 29822           "members": {
 29823             "BytesConverted": {
 29824               "locationName": "bytesConverted",
 29825               "type": "long"
 29826             },
 29827             "AvailabilityZone": {
 29828               "locationName": "availabilityZone"
 29829             },
 29830             "Description": {
 29831               "locationName": "description"
 29832             },
 29833             "Image": {
 29834               "shape": "S8t",
 29835               "locationName": "image"
 29836             },
 29837             "Volume": {
 29838               "shape": "S8u",
 29839               "locationName": "volume"
 29840             }
 29841           }
 29842         },
 29843         "State": {
 29844           "locationName": "state"
 29845         },
 29846         "StatusMessage": {
 29847           "locationName": "statusMessage"
 29848         },
 29849         "Tags": {
 29850           "shape": "Sh",
 29851           "locationName": "tagSet"
 29852         }
 29853       }
 29854     },
 29855     "S8t": {
 29856       "type": "structure",
 29857       "required": [
 29858         "Format",
 29859         "Size",
 29860         "ImportManifestUrl"
 29861       ],
 29862       "members": {
 29863         "Format": {
 29864           "locationName": "format"
 29865         },
 29866         "Size": {
 29867           "locationName": "size",
 29868           "type": "long"
 29869         },
 29870         "ImportManifestUrl": {
 29871           "locationName": "importManifestUrl"
 29872         },
 29873         "Checksum": {
 29874           "locationName": "checksum"
 29875         }
 29876       }
 29877     },
 29878     "S8u": {
 29879       "type": "structure",
 29880       "required": [
 29881         "Id"
 29882       ],
 29883       "members": {
 29884         "Size": {
 29885           "locationName": "size",
 29886           "type": "long"
 29887         },
 29888         "Id": {
 29889           "locationName": "id"
 29890         }
 29891       }
 29892     },
 29893     "S9o": {
 29894       "type": "list",
 29895       "member": {
 29896         "locationName": "item"
 29897       }
 29898     },
 29899     "S9r": {
 29900       "type": "list",
 29901       "member": {
 29902         "locationName": "item"
 29903       }
 29904     },
 29905     "Sa4": {
 29906       "type": "list",
 29907       "member": {
 29908         "locationName": "item",
 29909         "type": "structure",
 29910         "members": {
 29911           "Resource": {
 29912             "locationName": "resource"
 29913           },
 29914           "UseLongIds": {
 29915             "locationName": "useLongIds",
 29916             "type": "boolean"
 29917           },
 29918           "Deadline": {
 29919             "locationName": "deadline",
 29920             "type": "timestamp"
 29921           }
 29922         }
 29923       }
 29924     },
 29925     "Sab": {
 29926       "type": "list",
 29927       "member": {
 29928         "locationName": "item",
 29929         "type": "structure",
 29930         "members": {
 29931           "UserId": {
 29932             "locationName": "userId"
 29933           },
 29934           "Group": {
 29935             "locationName": "group"
 29936           }
 29937         }
 29938       }
 29939     },
 29940     "Sae": {
 29941       "type": "list",
 29942       "member": {
 29943         "locationName": "item",
 29944         "type": "structure",
 29945         "members": {
 29946           "ProductCodeId": {
 29947             "locationName": "productCode"
 29948           },
 29949           "ProductCodeType": {
 29950             "locationName": "type"
 29951           }
 29952         }
 29953       }
 29954     },
 29955     "Sah": {
 29956       "type": "list",
 29957       "member": {
 29958         "shape": "S3j",
 29959         "locationName": "item"
 29960       }
 29961     },
 29962     "Sak": {
 29963       "type": "list",
 29964       "member": {
 29965         "locationName": "Owner"
 29966       }
 29967     },
 29968     "Sas": {
 29969       "type": "structure",
 29970       "members": {
 29971         "Code": {
 29972           "locationName": "code"
 29973         },
 29974         "Message": {
 29975           "locationName": "message"
 29976         }
 29977       }
 29978     },
 29979     "Sax": {
 29980       "type": "list",
 29981       "member": {
 29982         "locationName": "ImportTaskId"
 29983       }
 29984     },
 29985     "Sb1": {
 29986       "type": "list",
 29987       "member": {
 29988         "locationName": "item",
 29989         "type": "structure",
 29990         "members": {
 29991           "DiskImageSize": {
 29992             "locationName": "diskImageSize",
 29993             "type": "double"
 29994           },
 29995           "Description": {
 29996             "locationName": "description"
 29997           },
 29998           "Format": {
 29999             "locationName": "format"
 30000           },
 30001           "Url": {
 30002             "locationName": "url"
 30003           },
 30004           "UserBucket": {
 30005             "shape": "Sb3",
 30006             "locationName": "userBucket"
 30007           },
 30008           "DeviceName": {
 30009             "locationName": "deviceName"
 30010           },
 30011           "SnapshotId": {
 30012             "locationName": "snapshotId"
 30013           },
 30014           "Progress": {
 30015             "locationName": "progress"
 30016           },
 30017           "StatusMessage": {
 30018             "locationName": "statusMessage"
 30019           },
 30020           "Status": {
 30021             "locationName": "status"
 30022           }
 30023         }
 30024       }
 30025     },
 30026     "Sb3": {
 30027       "type": "structure",
 30028       "members": {
 30029         "S3Bucket": {
 30030           "locationName": "s3Bucket"
 30031         },
 30032         "S3Key": {
 30033           "locationName": "s3Key"
 30034         }
 30035       }
 30036     },
 30037     "Sb8": {
 30038       "type": "structure",
 30039       "members": {
 30040         "DiskImageSize": {
 30041           "locationName": "diskImageSize",
 30042           "type": "double"
 30043         },
 30044         "Description": {
 30045           "locationName": "description"
 30046         },
 30047         "Format": {
 30048           "locationName": "format"
 30049         },
 30050         "Url": {
 30051           "locationName": "url"
 30052         },
 30053         "UserBucket": {
 30054           "shape": "Sb3",
 30055           "locationName": "userBucket"
 30056         },
 30057         "SnapshotId": {
 30058           "locationName": "snapshotId"
 30059         },
 30060         "Progress": {
 30061           "locationName": "progress"
 30062         },
 30063         "StatusMessage": {
 30064           "locationName": "statusMessage"
 30065         },
 30066         "Status": {
 30067           "locationName": "status"
 30068         }
 30069       }
 30070     },
 30071     "Sbc": {
 30072       "type": "structure",
 30073       "members": {
 30074         "Value": {
 30075           "locationName": "value",
 30076           "type": "boolean"
 30077         }
 30078       }
 30079     },
 30080     "Sbd": {
 30081       "type": "list",
 30082       "member": {
 30083         "locationName": "item",
 30084         "type": "structure",
 30085         "members": {
 30086           "DeviceName": {
 30087             "locationName": "deviceName"
 30088           },
 30089           "Ebs": {
 30090             "locationName": "ebs",
 30091             "type": "structure",
 30092             "members": {
 30093               "VolumeId": {
 30094                 "locationName": "volumeId"
 30095               },
 30096               "Status": {
 30097                 "locationName": "status"
 30098               },
 30099               "AttachTime": {
 30100                 "locationName": "attachTime",
 30101                 "type": "timestamp"
 30102               },
 30103               "DeleteOnTermination": {
 30104                 "locationName": "deleteOnTermination",
 30105                 "type": "boolean"
 30106               }
 30107             }
 30108           }
 30109         }
 30110       }
 30111     },
 30112     "Sbn": {
 30113       "type": "structure",
 30114       "members": {
 30115         "Code": {
 30116           "locationName": "code",
 30117           "type": "integer"
 30118         },
 30119         "Name": {
 30120           "locationName": "name"
 30121         }
 30122       }
 30123     },
 30124     "Sbp": {
 30125       "type": "structure",
 30126       "members": {
 30127         "Status": {
 30128           "locationName": "status"
 30129         },
 30130         "Details": {
 30131           "locationName": "details",
 30132           "type": "list",
 30133           "member": {
 30134             "locationName": "item",
 30135             "type": "structure",
 30136             "members": {
 30137               "Name": {
 30138                 "locationName": "name"
 30139               },
 30140               "Status": {
 30141                 "locationName": "status"
 30142               },
 30143               "ImpairedSince": {
 30144                 "locationName": "impairedSince",
 30145                 "type": "timestamp"
 30146               }
 30147             }
 30148           }
 30149         }
 30150       }
 30151     },
 30152     "Sby": {
 30153       "type": "structure",
 30154       "members": {
 30155         "ReservationId": {
 30156           "locationName": "reservationId"
 30157         },
 30158         "OwnerId": {
 30159           "locationName": "ownerId"
 30160         },
 30161         "RequesterId": {
 30162           "locationName": "requesterId"
 30163         },
 30164         "Groups": {
 30165           "shape": "S4t",
 30166           "locationName": "groupSet"
 30167         },
 30168         "Instances": {
 30169           "locationName": "instancesSet",
 30170           "type": "list",
 30171           "member": {
 30172             "locationName": "item",
 30173             "type": "structure",
 30174             "members": {
 30175               "InstanceId": {
 30176                 "locationName": "instanceId"
 30177               },
 30178               "ImageId": {
 30179                 "locationName": "imageId"
 30180               },
 30181               "State": {
 30182                 "shape": "Sbn",
 30183                 "locationName": "instanceState"
 30184               },
 30185               "PrivateDnsName": {
 30186                 "locationName": "privateDnsName"
 30187               },
 30188               "PublicDnsName": {
 30189                 "locationName": "dnsName"
 30190               },
 30191               "StateTransitionReason": {
 30192                 "locationName": "reason"
 30193               },
 30194               "KeyName": {
 30195                 "locationName": "keyName"
 30196               },
 30197               "AmiLaunchIndex": {
 30198                 "locationName": "amiLaunchIndex",
 30199                 "type": "integer"
 30200               },
 30201               "ProductCodes": {
 30202                 "shape": "Sae",
 30203                 "locationName": "productCodes"
 30204               },
 30205               "InstanceType": {
 30206                 "locationName": "instanceType"
 30207               },
 30208               "LaunchTime": {
 30209                 "locationName": "launchTime",
 30210                 "type": "timestamp"
 30211               },
 30212               "Placement": {
 30213                 "shape": "Sc2",
 30214                 "locationName": "placement"
 30215               },
 30216               "KernelId": {
 30217                 "locationName": "kernelId"
 30218               },
 30219               "RamdiskId": {
 30220                 "locationName": "ramdiskId"
 30221               },
 30222               "Platform": {
 30223                 "locationName": "platform"
 30224               },
 30225               "Monitoring": {
 30226                 "shape": "Sc3",
 30227                 "locationName": "monitoring"
 30228               },
 30229               "SubnetId": {
 30230                 "locationName": "subnetId"
 30231               },
 30232               "VpcId": {
 30233                 "locationName": "vpcId"
 30234               },
 30235               "PrivateIpAddress": {
 30236                 "locationName": "privateIpAddress"
 30237               },
 30238               "PublicIpAddress": {
 30239                 "locationName": "ipAddress"
 30240               },
 30241               "StateReason": {
 30242                 "shape": "Sas",
 30243                 "locationName": "stateReason"
 30244               },
 30245               "Architecture": {
 30246                 "locationName": "architecture"
 30247               },
 30248               "RootDeviceType": {
 30249                 "locationName": "rootDeviceType"
 30250               },
 30251               "RootDeviceName": {
 30252                 "locationName": "rootDeviceName"
 30253               },
 30254               "BlockDeviceMappings": {
 30255                 "shape": "Sbd",
 30256                 "locationName": "blockDeviceMapping"
 30257               },
 30258               "VirtualizationType": {
 30259                 "locationName": "virtualizationType"
 30260               },
 30261               "InstanceLifecycle": {
 30262                 "locationName": "instanceLifecycle"
 30263               },
 30264               "SpotInstanceRequestId": {
 30265                 "locationName": "spotInstanceRequestId"
 30266               },
 30267               "ClientToken": {
 30268                 "locationName": "clientToken"
 30269               },
 30270               "Tags": {
 30271                 "shape": "Sh",
 30272                 "locationName": "tagSet"
 30273               },
 30274               "SecurityGroups": {
 30275                 "shape": "S4t",
 30276                 "locationName": "groupSet"
 30277               },
 30278               "SourceDestCheck": {
 30279                 "locationName": "sourceDestCheck",
 30280                 "type": "boolean"
 30281               },
 30282               "Hypervisor": {
 30283                 "locationName": "hypervisor"
 30284               },
 30285               "NetworkInterfaces": {
 30286                 "locationName": "networkInterfaceSet",
 30287                 "type": "list",
 30288                 "member": {
 30289                   "locationName": "item",
 30290                   "type": "structure",
 30291                   "members": {
 30292                     "NetworkInterfaceId": {
 30293                       "locationName": "networkInterfaceId"
 30294                     },
 30295                     "SubnetId": {
 30296                       "locationName": "subnetId"
 30297                     },
 30298                     "VpcId": {
 30299                       "locationName": "vpcId"
 30300                     },
 30301                     "Description": {
 30302                       "locationName": "description"
 30303                     },
 30304                     "OwnerId": {
 30305                       "locationName": "ownerId"
 30306                     },
 30307                     "Status": {
 30308                       "locationName": "status"
 30309                     },
 30310                     "MacAddress": {
 30311                       "locationName": "macAddress"
 30312                     },
 30313                     "PrivateIpAddress": {
 30314                       "locationName": "privateIpAddress"
 30315                     },
 30316                     "PrivateDnsName": {
 30317                       "locationName": "privateDnsName"
 30318                     },
 30319                     "SourceDestCheck": {
 30320                       "locationName": "sourceDestCheck",
 30321                       "type": "boolean"
 30322                     },
 30323                     "Groups": {
 30324                       "shape": "S4t",
 30325                       "locationName": "groupSet"
 30326                     },
 30327                     "Attachment": {
 30328                       "locationName": "attachment",
 30329                       "type": "structure",
 30330                       "members": {
 30331                         "AttachmentId": {
 30332                           "locationName": "attachmentId"
 30333                         },
 30334                         "DeviceIndex": {
 30335                           "locationName": "deviceIndex",
 30336                           "type": "integer"
 30337                         },
 30338                         "Status": {
 30339                           "locationName": "status"
 30340                         },
 30341                         "AttachTime": {
 30342                           "locationName": "attachTime",
 30343                           "type": "timestamp"
 30344                         },
 30345                         "DeleteOnTermination": {
 30346                           "locationName": "deleteOnTermination",
 30347                           "type": "boolean"
 30348                         }
 30349                       }
 30350                     },
 30351                     "Association": {
 30352                       "shape": "Sc9",
 30353                       "locationName": "association"
 30354                     },
 30355                     "PrivateIpAddresses": {
 30356                       "locationName": "privateIpAddressesSet",
 30357                       "type": "list",
 30358                       "member": {
 30359                         "locationName": "item",
 30360                         "type": "structure",
 30361                         "members": {
 30362                           "PrivateIpAddress": {
 30363                             "locationName": "privateIpAddress"
 30364                           },
 30365                           "PrivateDnsName": {
 30366                             "locationName": "privateDnsName"
 30367                           },
 30368                           "Primary": {
 30369                             "locationName": "primary",
 30370                             "type": "boolean"
 30371                           },
 30372                           "Association": {
 30373                             "shape": "Sc9",
 30374                             "locationName": "association"
 30375                           }
 30376                         }
 30377                       }
 30378                     }
 30379                   }
 30380                 }
 30381               },
 30382               "IamInstanceProfile": {
 30383                 "locationName": "iamInstanceProfile",
 30384                 "type": "structure",
 30385                 "members": {
 30386                   "Arn": {
 30387                     "locationName": "arn"
 30388                   },
 30389                   "Id": {
 30390                     "locationName": "id"
 30391                   }
 30392                 }
 30393               },
 30394               "EbsOptimized": {
 30395                 "locationName": "ebsOptimized",
 30396                 "type": "boolean"
 30397               },
 30398               "SriovNetSupport": {
 30399                 "locationName": "sriovNetSupport"
 30400               },
 30401               "EnaSupport": {
 30402                 "locationName": "enaSupport",
 30403                 "type": "boolean"
 30404               }
 30405             }
 30406           }
 30407         }
 30408       }
 30409     },
 30410     "Sc2": {
 30411       "type": "structure",
 30412       "members": {
 30413         "AvailabilityZone": {
 30414           "locationName": "availabilityZone"
 30415         },
 30416         "GroupName": {
 30417           "locationName": "groupName"
 30418         },
 30419         "Tenancy": {
 30420           "locationName": "tenancy"
 30421         },
 30422         "HostId": {
 30423           "locationName": "hostId"
 30424         },
 30425         "Affinity": {
 30426           "locationName": "affinity"
 30427         }
 30428       }
 30429     },
 30430     "Sc3": {
 30431       "type": "structure",
 30432       "members": {
 30433         "State": {
 30434           "locationName": "state"
 30435         }
 30436       }
 30437     },
 30438     "Sc9": {
 30439       "type": "structure",
 30440       "members": {
 30441         "PublicIp": {
 30442           "locationName": "publicIp"
 30443         },
 30444         "PublicDnsName": {
 30445           "locationName": "publicDnsName"
 30446         },
 30447         "IpOwnerId": {
 30448           "locationName": "ipOwnerId"
 30449         }
 30450       }
 30451     },
 30452     "Sdj": {
 30453       "type": "list",
 30454       "member": {
 30455         "locationName": "ReservedInstancesId"
 30456       }
 30457     },
 30458     "Sds": {
 30459       "type": "list",
 30460       "member": {
 30461         "locationName": "item",
 30462         "type": "structure",
 30463         "members": {
 30464           "Frequency": {
 30465             "locationName": "frequency"
 30466           },
 30467           "Amount": {
 30468             "locationName": "amount",
 30469             "type": "double"
 30470           }
 30471         }
 30472       }
 30473     },
 30474     "Se7": {
 30475       "type": "structure",
 30476       "members": {
 30477         "AvailabilityZone": {
 30478           "locationName": "availabilityZone"
 30479         },
 30480         "Platform": {
 30481           "locationName": "platform"
 30482         },
 30483         "InstanceCount": {
 30484           "locationName": "instanceCount",
 30485           "type": "integer"
 30486         },
 30487         "InstanceType": {
 30488           "locationName": "instanceType"
 30489         },
 30490         "Scope": {
 30491           "locationName": "scope"
 30492         }
 30493       }
 30494     },
 30495     "Sep": {
 30496       "type": "structure",
 30497       "members": {
 30498         "Frequency": {
 30499           "locationName": "frequency"
 30500         },
 30501         "Interval": {
 30502           "locationName": "interval",
 30503           "type": "integer"
 30504         },
 30505         "OccurrenceDaySet": {
 30506           "locationName": "occurrenceDaySet",
 30507           "type": "list",
 30508           "member": {
 30509             "locationName": "item",
 30510             "type": "integer"
 30511           }
 30512         },
 30513         "OccurrenceRelativeToEnd": {
 30514           "locationName": "occurrenceRelativeToEnd",
 30515           "type": "boolean"
 30516         },
 30517         "OccurrenceUnit": {
 30518           "locationName": "occurrenceUnit"
 30519         }
 30520       }
 30521     },
 30522     "Sew": {
 30523       "type": "structure",
 30524       "members": {
 30525         "ScheduledInstanceId": {
 30526           "locationName": "scheduledInstanceId"
 30527         },
 30528         "InstanceType": {
 30529           "locationName": "instanceType"
 30530         },
 30531         "Platform": {
 30532           "locationName": "platform"
 30533         },
 30534         "NetworkPlatform": {
 30535           "locationName": "networkPlatform"
 30536         },
 30537         "AvailabilityZone": {
 30538           "locationName": "availabilityZone"
 30539         },
 30540         "SlotDurationInHours": {
 30541           "locationName": "slotDurationInHours",
 30542           "type": "integer"
 30543         },
 30544         "Recurrence": {
 30545           "shape": "Sep",
 30546           "locationName": "recurrence"
 30547         },
 30548         "PreviousSlotEndTime": {
 30549           "locationName": "previousSlotEndTime",
 30550           "type": "timestamp"
 30551         },
 30552         "NextSlotStartTime": {
 30553           "locationName": "nextSlotStartTime",
 30554           "type": "timestamp"
 30555         },
 30556         "HourlyPrice": {
 30557           "locationName": "hourlyPrice"
 30558         },
 30559         "TotalScheduledInstanceHours": {
 30560           "locationName": "totalScheduledInstanceHours",
 30561           "type": "integer"
 30562         },
 30563         "InstanceCount": {
 30564           "locationName": "instanceCount",
 30565           "type": "integer"
 30566         },
 30567         "TermStartDate": {
 30568           "locationName": "termStartDate",
 30569           "type": "timestamp"
 30570         },
 30571         "TermEndDate": {
 30572           "locationName": "termEndDate",
 30573           "type": "timestamp"
 30574         },
 30575         "CreateDate": {
 30576           "locationName": "createDate",
 30577           "type": "timestamp"
 30578         }
 30579       }
 30580     },
 30581     "Sf3": {
 30582       "type": "list",
 30583       "member": {
 30584         "locationName": "GroupName"
 30585       }
 30586     },
 30587     "Sfa": {
 30588       "type": "list",
 30589       "member": {
 30590         "locationName": "item",
 30591         "type": "structure",
 30592         "members": {
 30593           "UserId": {
 30594             "locationName": "userId"
 30595           },
 30596           "Group": {
 30597             "locationName": "group"
 30598           }
 30599         }
 30600       }
 30601     },
 30602     "Sfx": {
 30603       "type": "structure",
 30604       "required": [
 30605         "SpotPrice",
 30606         "TargetCapacity",
 30607         "IamFleetRole",
 30608         "LaunchSpecifications"
 30609       ],
 30610       "members": {
 30611         "ClientToken": {
 30612           "locationName": "clientToken"
 30613         },
 30614         "SpotPrice": {
 30615           "locationName": "spotPrice"
 30616         },
 30617         "TargetCapacity": {
 30618           "locationName": "targetCapacity",
 30619           "type": "integer"
 30620         },
 30621         "ValidFrom": {
 30622           "locationName": "validFrom",
 30623           "type": "timestamp"
 30624         },
 30625         "ValidUntil": {
 30626           "locationName": "validUntil",
 30627           "type": "timestamp"
 30628         },
 30629         "TerminateInstancesWithExpiration": {
 30630           "locationName": "terminateInstancesWithExpiration",
 30631           "type": "boolean"
 30632         },
 30633         "IamFleetRole": {
 30634           "locationName": "iamFleetRole"
 30635         },
 30636         "LaunchSpecifications": {
 30637           "locationName": "launchSpecifications",
 30638           "type": "list",
 30639           "member": {
 30640             "locationName": "item",
 30641             "type": "structure",
 30642             "members": {
 30643               "ImageId": {
 30644                 "locationName": "imageId"
 30645               },
 30646               "KeyName": {
 30647                 "locationName": "keyName"
 30648               },
 30649               "SecurityGroups": {
 30650                 "shape": "S4t",
 30651                 "locationName": "groupSet"
 30652               },
 30653               "UserData": {
 30654                 "locationName": "userData"
 30655               },
 30656               "AddressingType": {
 30657                 "locationName": "addressingType"
 30658               },
 30659               "InstanceType": {
 30660                 "locationName": "instanceType"
 30661               },
 30662               "Placement": {
 30663                 "shape": "Sg0",
 30664                 "locationName": "placement"
 30665               },
 30666               "KernelId": {
 30667                 "locationName": "kernelId"
 30668               },
 30669               "RamdiskId": {
 30670                 "locationName": "ramdiskId"
 30671               },
 30672               "BlockDeviceMappings": {
 30673                 "shape": "Sah",
 30674                 "locationName": "blockDeviceMapping"
 30675               },
 30676               "Monitoring": {
 30677                 "locationName": "monitoring",
 30678                 "type": "structure",
 30679                 "members": {
 30680                   "Enabled": {
 30681                     "locationName": "enabled",
 30682                     "type": "boolean"
 30683                   }
 30684                 }
 30685               },
 30686               "SubnetId": {
 30687                 "locationName": "subnetId"
 30688               },
 30689               "NetworkInterfaces": {
 30690                 "shape": "Sg2",
 30691                 "locationName": "networkInterfaceSet"
 30692               },
 30693               "IamInstanceProfile": {
 30694                 "shape": "Sg4",
 30695                 "locationName": "iamInstanceProfile"
 30696               },
 30697               "EbsOptimized": {
 30698                 "locationName": "ebsOptimized",
 30699                 "type": "boolean"
 30700               },
 30701               "WeightedCapacity": {
 30702                 "locationName": "weightedCapacity",
 30703                 "type": "double"
 30704               },
 30705               "SpotPrice": {
 30706                 "locationName": "spotPrice"
 30707               }
 30708             }
 30709           }
 30710         },
 30711         "ExcessCapacityTerminationPolicy": {
 30712           "locationName": "excessCapacityTerminationPolicy"
 30713         },
 30714         "AllocationStrategy": {
 30715           "locationName": "allocationStrategy"
 30716         },
 30717         "FulfilledCapacity": {
 30718           "locationName": "fulfilledCapacity",
 30719           "type": "double"
 30720         },
 30721         "Type": {
 30722           "locationName": "type"
 30723         }
 30724       }
 30725     },
 30726     "Sg0": {
 30727       "type": "structure",
 30728       "members": {
 30729         "AvailabilityZone": {
 30730           "locationName": "availabilityZone"
 30731         },
 30732         "GroupName": {
 30733           "locationName": "groupName"
 30734         }
 30735       }
 30736     },
 30737     "Sg2": {
 30738       "type": "list",
 30739       "member": {
 30740         "locationName": "item",
 30741         "type": "structure",
 30742         "members": {
 30743           "NetworkInterfaceId": {
 30744             "locationName": "networkInterfaceId"
 30745           },
 30746           "DeviceIndex": {
 30747             "locationName": "deviceIndex",
 30748             "type": "integer"
 30749           },
 30750           "SubnetId": {
 30751             "locationName": "subnetId"
 30752           },
 30753           "Description": {
 30754             "locationName": "description"
 30755           },
 30756           "PrivateIpAddress": {
 30757             "locationName": "privateIpAddress"
 30758           },
 30759           "Groups": {
 30760             "shape": "S4n",
 30761             "locationName": "SecurityGroupId"
 30762           },
 30763           "DeleteOnTermination": {
 30764             "locationName": "deleteOnTermination",
 30765             "type": "boolean"
 30766           },
 30767           "PrivateIpAddresses": {
 30768             "shape": "S4o",
 30769             "locationName": "privateIpAddressesSet",
 30770             "queryName": "PrivateIpAddresses"
 30771           },
 30772           "SecondaryPrivateIpAddressCount": {
 30773             "locationName": "secondaryPrivateIpAddressCount",
 30774             "type": "integer"
 30775           },
 30776           "AssociatePublicIpAddress": {
 30777             "locationName": "associatePublicIpAddress",
 30778             "type": "boolean"
 30779           }
 30780         }
 30781       }
 30782     },
 30783     "Sg4": {
 30784       "type": "structure",
 30785       "members": {
 30786         "Arn": {
 30787           "locationName": "arn"
 30788         },
 30789         "Name": {
 30790           "locationName": "name"
 30791         }
 30792       }
 30793     },
 30794     "Sgb": {
 30795       "type": "list",
 30796       "member": {
 30797         "locationName": "item",
 30798         "type": "structure",
 30799         "members": {
 30800           "SpotInstanceRequestId": {
 30801             "locationName": "spotInstanceRequestId"
 30802           },
 30803           "SpotPrice": {
 30804             "locationName": "spotPrice"
 30805           },
 30806           "Type": {
 30807             "locationName": "type"
 30808           },
 30809           "State": {
 30810             "locationName": "state"
 30811           },
 30812           "Fault": {
 30813             "shape": "S5s",
 30814             "locationName": "fault"
 30815           },
 30816           "Status": {
 30817             "locationName": "status",
 30818             "type": "structure",
 30819             "members": {
 30820               "Code": {
 30821                 "locationName": "code"
 30822               },
 30823               "UpdateTime": {
 30824                 "locationName": "updateTime",
 30825                 "type": "timestamp"
 30826               },
 30827               "Message": {
 30828                 "locationName": "message"
 30829               }
 30830             }
 30831           },
 30832           "ValidFrom": {
 30833             "locationName": "validFrom",
 30834             "type": "timestamp"
 30835           },
 30836           "ValidUntil": {
 30837             "locationName": "validUntil",
 30838             "type": "timestamp"
 30839           },
 30840           "LaunchGroup": {
 30841             "locationName": "launchGroup"
 30842           },
 30843           "AvailabilityZoneGroup": {
 30844             "locationName": "availabilityZoneGroup"
 30845           },
 30846           "LaunchSpecification": {
 30847             "locationName": "launchSpecification",
 30848             "type": "structure",
 30849             "members": {
 30850               "ImageId": {
 30851                 "locationName": "imageId"
 30852               },
 30853               "KeyName": {
 30854                 "locationName": "keyName"
 30855               },
 30856               "SecurityGroups": {
 30857                 "shape": "S4t",
 30858                 "locationName": "groupSet"
 30859               },
 30860               "UserData": {
 30861                 "locationName": "userData"
 30862               },
 30863               "AddressingType": {
 30864                 "locationName": "addressingType"
 30865               },
 30866               "InstanceType": {
 30867                 "locationName": "instanceType"
 30868               },
 30869               "Placement": {
 30870                 "shape": "Sg0",
 30871                 "locationName": "placement"
 30872               },
 30873               "KernelId": {
 30874                 "locationName": "kernelId"
 30875               },
 30876               "RamdiskId": {
 30877                 "locationName": "ramdiskId"
 30878               },
 30879               "BlockDeviceMappings": {
 30880                 "shape": "Sah",
 30881                 "locationName": "blockDeviceMapping"
 30882               },
 30883               "SubnetId": {
 30884                 "locationName": "subnetId"
 30885               },
 30886               "NetworkInterfaces": {
 30887                 "shape": "Sg2",
 30888                 "locationName": "networkInterfaceSet"
 30889               },
 30890               "IamInstanceProfile": {
 30891                 "shape": "Sg4",
 30892                 "locationName": "iamInstanceProfile"
 30893               },
 30894               "EbsOptimized": {
 30895                 "locationName": "ebsOptimized",
 30896                 "type": "boolean"
 30897               },
 30898               "Monitoring": {
 30899                 "shape": "Sgh",
 30900                 "locationName": "monitoring"
 30901               }
 30902             }
 30903           },
 30904           "InstanceId": {
 30905             "locationName": "instanceId"
 30906           },
 30907           "CreateTime": {
 30908             "locationName": "createTime",
 30909             "type": "timestamp"
 30910           },
 30911           "ProductDescription": {
 30912             "locationName": "productDescription"
 30913           },
 30914           "BlockDurationMinutes": {
 30915             "locationName": "blockDurationMinutes",
 30916             "type": "integer"
 30917           },
 30918           "ActualBlockHourlyPrice": {
 30919             "locationName": "actualBlockHourlyPrice"
 30920           },
 30921           "Tags": {
 30922             "shape": "Sh",
 30923             "locationName": "tagSet"
 30924           },
 30925           "LaunchedAvailabilityZone": {
 30926             "locationName": "launchedAvailabilityZone"
 30927           }
 30928         }
 30929       }
 30930     },
 30931     "Sgh": {
 30932       "type": "structure",
 30933       "required": [
 30934         "Enabled"
 30935       ],
 30936       "members": {
 30937         "Enabled": {
 30938           "locationName": "enabled",
 30939           "type": "boolean"
 30940         }
 30941       }
 30942     },
 30943     "Sgu": {
 30944       "type": "list",
 30945       "member": {
 30946         "locationName": "item",
 30947         "type": "structure",
 30948         "members": {
 30949           "FromPort": {
 30950             "locationName": "fromPort",
 30951             "type": "integer"
 30952           },
 30953           "IpProtocol": {
 30954             "locationName": "ipProtocol"
 30955           },
 30956           "IpRanges": {
 30957             "locationName": "ipRanges",
 30958             "type": "list",
 30959             "member": {
 30960               "locationName": "item"
 30961             }
 30962           },
 30963           "PrefixListIds": {
 30964             "locationName": "prefixListIds",
 30965             "type": "list",
 30966             "member": {
 30967               "locationName": "item"
 30968             }
 30969           },
 30970           "ToPort": {
 30971             "locationName": "toPort",
 30972             "type": "integer"
 30973           },
 30974           "UserIdGroupPairs": {
 30975             "locationName": "groups",
 30976             "type": "list",
 30977             "member": {
 30978               "shape": "S1e",
 30979               "locationName": "item"
 30980             }
 30981           }
 30982         }
 30983       }
 30984     },
 30985     "Shc": {
 30986       "type": "list",
 30987       "member": {
 30988         "locationName": "VolumeId"
 30989       }
 30990     },
 30991     "Shw": {
 30992       "type": "list",
 30993       "member": {
 30994         "locationName": "VpcId"
 30995       }
 30996     },
 30997     "Sjc": {
 30998       "type": "list",
 30999       "member": {
 31000         "locationName": "item"
 31001       }
 31002     },
 31003     "Sje": {
 31004       "type": "list",
 31005       "member": {
 31006         "type": "structure",
 31007         "members": {
 31008           "HostReservationId": {
 31009             "locationName": "hostReservationId"
 31010           },
 31011           "HostIdSet": {
 31012             "shape": "S9o",
 31013             "locationName": "hostIdSet"
 31014           },
 31015           "InstanceFamily": {
 31016             "locationName": "instanceFamily"
 31017           },
 31018           "PaymentOption": {
 31019             "locationName": "paymentOption"
 31020           },
 31021           "UpfrontPrice": {
 31022             "locationName": "upfrontPrice"
 31023           },
 31024           "HourlyPrice": {
 31025             "locationName": "hourlyPrice"
 31026           },
 31027           "CurrencyCode": {
 31028             "locationName": "currencyCode"
 31029           },
 31030           "Duration": {
 31031             "locationName": "duration",
 31032             "type": "integer"
 31033           }
 31034         }
 31035       }
 31036     },
 31037     "Sjm": {
 31038       "type": "structure",
 31039       "members": {
 31040         "RemainingTotalValue": {
 31041           "locationName": "remainingTotalValue"
 31042         },
 31043         "RemainingUpfrontValue": {
 31044           "locationName": "remainingUpfrontValue"
 31045         },
 31046         "HourlyPrice": {
 31047           "locationName": "hourlyPrice"
 31048         }
 31049       }
 31050     },
 31051     "Sjt": {
 31052       "type": "structure",
 31053       "members": {
 31054         "S3Bucket": {},
 31055         "S3Key": {}
 31056       }
 31057     },
 31058     "Sju": {
 31059       "type": "structure",
 31060       "members": {
 31061         "UploadStart": {
 31062           "type": "timestamp"
 31063         },
 31064         "UploadEnd": {
 31065           "type": "timestamp"
 31066         },
 31067         "UploadSize": {
 31068           "type": "double"
 31069         },
 31070         "Comment": {}
 31071       }
 31072     },
 31073     "Sjy": {
 31074       "type": "list",
 31075       "member": {
 31076         "locationName": "SecurityGroup"
 31077       }
 31078     },
 31079     "Sk3": {
 31080       "type": "structure",
 31081       "required": [
 31082         "Format",
 31083         "Bytes",
 31084         "ImportManifestUrl"
 31085       ],
 31086       "members": {
 31087         "Format": {
 31088           "locationName": "format"
 31089         },
 31090         "Bytes": {
 31091           "locationName": "bytes",
 31092           "type": "long"
 31093         },
 31094         "ImportManifestUrl": {
 31095           "locationName": "importManifestUrl"
 31096         }
 31097       }
 31098     },
 31099     "Sk4": {
 31100       "type": "structure",
 31101       "required": [
 31102         "Size"
 31103       ],
 31104       "members": {
 31105         "Size": {
 31106           "locationName": "size",
 31107           "type": "long"
 31108         }
 31109       }
 31110     },
 31111     "Skf": {
 31112       "type": "list",
 31113       "member": {
 31114         "shape": "S3f",
 31115         "locationName": "item"
 31116       }
 31117     },
 31118     "Skk": {
 31119       "type": "list",
 31120       "member": {
 31121         "locationName": "UserId"
 31122       }
 31123     },
 31124     "Slc": {
 31125       "type": "structure",
 31126       "members": {
 31127         "AllowEgressFromLocalClassicLinkToRemoteVpc": {
 31128           "type": "boolean"
 31129         },
 31130         "AllowEgressFromLocalVpcToRemoteClassicLink": {
 31131           "type": "boolean"
 31132         },
 31133         "AllowDnsResolutionFromRemoteVpc": {
 31134           "type": "boolean"
 31135         }
 31136       }
 31137     },
 31138     "Sle": {
 31139       "type": "structure",
 31140       "members": {
 31141         "AllowEgressFromLocalClassicLinkToRemoteVpc": {
 31142           "locationName": "allowEgressFromLocalClassicLinkToRemoteVpc",
 31143           "type": "boolean"
 31144         },
 31145         "AllowEgressFromLocalVpcToRemoteClassicLink": {
 31146           "locationName": "allowEgressFromLocalVpcToRemoteClassicLink",
 31147           "type": "boolean"
 31148         },
 31149         "AllowDnsResolutionFromRemoteVpc": {
 31150           "locationName": "allowDnsResolutionFromRemoteVpc",
 31151           "type": "boolean"
 31152         }
 31153       }
 31154     },
 31155     "Slh": {
 31156       "type": "list",
 31157       "member": {
 31158         "locationName": "item",
 31159         "type": "structure",
 31160         "members": {
 31161           "InstanceId": {
 31162             "locationName": "instanceId"
 31163           },
 31164           "Monitoring": {
 31165             "shape": "Sc3",
 31166             "locationName": "monitoring"
 31167           }
 31168         }
 31169       }
 31170     },
 31171     "Smv": {
 31172       "type": "list",
 31173       "member": {
 31174         "locationName": "SecurityGroupId"
 31175       }
 31176     },
 31177     "Sna": {
 31178       "type": "list",
 31179       "member": {
 31180         "locationName": "item",
 31181         "type": "structure",
 31182         "members": {
 31183           "InstanceId": {
 31184             "locationName": "instanceId"
 31185           },
 31186           "CurrentState": {
 31187             "shape": "Sbn",
 31188             "locationName": "currentState"
 31189           },
 31190           "PreviousState": {
 31191             "shape": "Sbn",
 31192             "locationName": "previousState"
 31193           }
 31194         }
 31195       }
 31196     }
 31197   }
 31198 }
 31199 },{}],40:[function(require,module,exports){
 31200 module.exports={
 31201   "pagination": {
 31202     "DescribeAccountAttributes": {
 31203       "result_key": "AccountAttributes"
 31204     },
 31205     "DescribeAddresses": {
 31206       "result_key": "Addresses"
 31207     },
 31208     "DescribeAvailabilityZones": {
 31209       "result_key": "AvailabilityZones"
 31210     },
 31211     "DescribeBundleTasks": {
 31212       "result_key": "BundleTasks"
 31213     },
 31214     "DescribeConversionTasks": {
 31215       "result_key": "ConversionTasks"
 31216     },
 31217     "DescribeCustomerGateways": {
 31218       "result_key": "CustomerGateways"
 31219     },
 31220     "DescribeDhcpOptions": {
 31221       "result_key": "DhcpOptions"
 31222     },
 31223     "DescribeExportTasks": {
 31224       "result_key": "ExportTasks"
 31225     },
 31226     "DescribeImages": {
 31227       "result_key": "Images"
 31228     },
 31229     "DescribeInstanceStatus": {
 31230       "input_token": "NextToken",
 31231       "output_token": "NextToken",
 31232       "limit_key": "MaxResults",
 31233       "result_key": "InstanceStatuses"
 31234     },
 31235     "DescribeInstances": {
 31236       "input_token": "NextToken",
 31237       "output_token": "NextToken",
 31238       "limit_key": "MaxResults",
 31239       "result_key": "Reservations"
 31240     },
 31241     "DescribeInternetGateways": {
 31242       "result_key": "InternetGateways"
 31243     },
 31244     "DescribeKeyPairs": {
 31245       "result_key": "KeyPairs"
 31246     },
 31247     "DescribeNetworkAcls": {
 31248       "result_key": "NetworkAcls"
 31249     },
 31250     "DescribeNetworkInterfaces": {
 31251       "result_key": "NetworkInterfaces"
 31252     },
 31253     "DescribePlacementGroups": {
 31254       "result_key": "PlacementGroups"
 31255     },
 31256     "DescribeRegions": {
 31257       "result_key": "Regions"
 31258     },
 31259     "DescribeReservedInstances": {
 31260       "result_key": "ReservedInstances"
 31261     },
 31262     "DescribeReservedInstancesListings": {
 31263       "result_key": "ReservedInstancesListings"
 31264     },
 31265     "DescribeReservedInstancesOfferings": {
 31266       "input_token": "NextToken",
 31267       "output_token": "NextToken",
 31268       "limit_key": "MaxResults",
 31269       "result_key": "ReservedInstancesOfferings"
 31270     },
 31271     "DescribeReservedInstancesModifications": {
 31272       "input_token": "NextToken",
 31273       "output_token": "NextToken",
 31274       "result_key": "ReservedInstancesModifications"
 31275     },
 31276     "DescribeRouteTables": {
 31277       "result_key": "RouteTables"
 31278     },
 31279     "DescribeSecurityGroups": {
 31280       "result_key": "SecurityGroups"
 31281     },
 31282     "DescribeSnapshots": {
 31283       "input_token": "NextToken",
 31284       "output_token": "NextToken",
 31285       "limit_key": "MaxResults",
 31286       "result_key": "Snapshots"
 31287     },
 31288     "DescribeSpotInstanceRequests": {
 31289       "result_key": "SpotInstanceRequests"
 31290     },
 31291     "DescribeSpotFleetRequests": {
 31292       "input_token": "NextToken",
 31293       "output_token": "NextToken",
 31294       "limit_key": "MaxResults",
 31295       "result_key": "SpotFleetRequestConfigs"
 31296     },
 31297     "DescribeSpotPriceHistory": {
 31298       "input_token": "NextToken",
 31299       "output_token": "NextToken",
 31300       "limit_key": "MaxResults",
 31301       "result_key": "SpotPriceHistory"
 31302     },
 31303     "DescribeSubnets": {
 31304       "result_key": "Subnets"
 31305     },
 31306     "DescribeTags": {
 31307       "input_token": "NextToken",
 31308       "output_token": "NextToken",
 31309       "limit_key": "MaxResults",
 31310       "result_key": "Tags"
 31311     },
 31312     "DescribeVolumeStatus": {
 31313       "input_token": "NextToken",
 31314       "output_token": "NextToken",
 31315       "limit_key": "MaxResults",
 31316       "result_key": "VolumeStatuses"
 31317     },
 31318     "DescribeVolumes": {
 31319       "input_token": "NextToken",
 31320       "output_token": "NextToken",
 31321       "limit_key": "MaxResults",
 31322       "result_key": "Volumes"
 31323     },
 31324     "DescribeVpcs": {
 31325       "result_key": "Vpcs"
 31326     },
 31327     "DescribeVpcPeeringConnections": {
 31328       "result_key": "VpcPeeringConnections"
 31329     },
 31330     "DescribeVpnConnections": {
 31331       "result_key": "VpnConnections"
 31332     },
 31333     "DescribeVpnGateways": {
 31334       "result_key": "VpnGateways"
 31335     }
 31336   }
 31337 }
 31338 
 31339 },{}],41:[function(require,module,exports){
 31340 module.exports={
 31341   "version": 2,
 31342   "waiters": {
 31343     "InstanceExists": {
 31344       "delay": 5,
 31345       "maxAttempts": 40,
 31346       "operation": "DescribeInstances",
 31347       "acceptors": [
 31348         {
 31349           "matcher": "path",
 31350           "expected": true,
 31351           "argument": "length(Reservations[]) > `0`",
 31352           "state": "success"
 31353         },
 31354         {
 31355           "matcher": "error",
 31356           "expected": "InvalidInstanceID.NotFound",
 31357           "state": "retry"
 31358         }
 31359       ]
 31360     },
 31361     "BundleTaskComplete": {
 31362       "delay": 15,
 31363       "operation": "DescribeBundleTasks",
 31364       "maxAttempts": 40,
 31365       "acceptors": [
 31366         {
 31367           "expected": "complete",
 31368           "matcher": "pathAll",
 31369           "state": "success",
 31370           "argument": "BundleTasks[].State"
 31371         },
 31372         {
 31373           "expected": "failed",
 31374           "matcher": "pathAny",
 31375           "state": "failure",
 31376           "argument": "BundleTasks[].State"
 31377         }
 31378       ]
 31379     },
 31380     "ConversionTaskCancelled": {
 31381       "delay": 15,
 31382       "operation": "DescribeConversionTasks",
 31383       "maxAttempts": 40,
 31384       "acceptors": [
 31385         {
 31386           "expected": "cancelled",
 31387           "matcher": "pathAll",
 31388           "state": "success",
 31389           "argument": "ConversionTasks[].State"
 31390         }
 31391       ]
 31392     },
 31393     "ConversionTaskCompleted": {
 31394       "delay": 15,
 31395       "operation": "DescribeConversionTasks",
 31396       "maxAttempts": 40,
 31397       "acceptors": [
 31398         {
 31399           "expected": "completed",
 31400           "matcher": "pathAll",
 31401           "state": "success",
 31402           "argument": "ConversionTasks[].State"
 31403         },
 31404         {
 31405           "expected": "cancelled",
 31406           "matcher": "pathAny",
 31407           "state": "failure",
 31408           "argument": "ConversionTasks[].State"
 31409         },
 31410         {
 31411           "expected": "cancelling",
 31412           "matcher": "pathAny",
 31413           "state": "failure",
 31414           "argument": "ConversionTasks[].State"
 31415         }
 31416       ]
 31417     },
 31418     "ConversionTaskDeleted": {
 31419       "delay": 15,
 31420       "operation": "DescribeConversionTasks",
 31421       "maxAttempts": 40,
 31422       "acceptors": [
 31423         {
 31424           "expected": "deleted",
 31425           "matcher": "pathAll",
 31426           "state": "success",
 31427           "argument": "ConversionTasks[].State"
 31428         }
 31429       ]
 31430     },
 31431     "CustomerGatewayAvailable": {
 31432       "delay": 15,
 31433       "operation": "DescribeCustomerGateways",
 31434       "maxAttempts": 40,
 31435       "acceptors": [
 31436         {
 31437           "expected": "available",
 31438           "matcher": "pathAll",
 31439           "state": "success",
 31440           "argument": "CustomerGateways[].State"
 31441         },
 31442         {
 31443           "expected": "deleted",
 31444           "matcher": "pathAny",
 31445           "state": "failure",
 31446           "argument": "CustomerGateways[].State"
 31447         },
 31448         {
 31449           "expected": "deleting",
 31450           "matcher": "pathAny",
 31451           "state": "failure",
 31452           "argument": "CustomerGateways[].State"
 31453         }
 31454       ]
 31455     },
 31456     "ExportTaskCancelled": {
 31457       "delay": 15,
 31458       "operation": "DescribeExportTasks",
 31459       "maxAttempts": 40,
 31460       "acceptors": [
 31461         {
 31462           "expected": "cancelled",
 31463           "matcher": "pathAll",
 31464           "state": "success",
 31465           "argument": "ExportTasks[].State"
 31466         }
 31467       ]
 31468     },
 31469     "ExportTaskCompleted": {
 31470       "delay": 15,
 31471       "operation": "DescribeExportTasks",
 31472       "maxAttempts": 40,
 31473       "acceptors": [
 31474         {
 31475           "expected": "completed",
 31476           "matcher": "pathAll",
 31477           "state": "success",
 31478           "argument": "ExportTasks[].State"
 31479         }
 31480       ]
 31481     },
 31482     "ImageExists": {
 31483       "operation": "DescribeImages",
 31484       "maxAttempts": 40,
 31485       "delay": 15,
 31486       "acceptors": [
 31487         {
 31488           "matcher": "path",
 31489           "expected": true,
 31490           "argument": "length(Images[]) > `0`",
 31491           "state": "success"
 31492         },
 31493         {
 31494           "matcher": "error",
 31495           "expected": "InvalidAMIID.NotFound",
 31496           "state": "retry"
 31497         }
 31498       ]
 31499     },
 31500     "ImageAvailable": {
 31501       "operation": "DescribeImages",
 31502       "maxAttempts": 40,
 31503       "delay": 15,
 31504       "acceptors": [
 31505         {
 31506           "state": "success",
 31507           "matcher": "pathAll",
 31508           "argument": "Images[].State",
 31509           "expected": "available"
 31510         },
 31511         {
 31512           "state": "failure",
 31513           "matcher": "pathAny",
 31514           "argument": "Images[].State",
 31515           "expected": "failed"
 31516         }
 31517       ]
 31518     },
 31519     "InstanceRunning": {
 31520       "delay": 15,
 31521       "operation": "DescribeInstances",
 31522       "maxAttempts": 40,
 31523       "acceptors": [
 31524         {
 31525           "expected": "running",
 31526           "matcher": "pathAll",
 31527           "state": "success",
 31528           "argument": "Reservations[].Instances[].State.Name"
 31529         },
 31530         {
 31531           "expected": "shutting-down",
 31532           "matcher": "pathAny",
 31533           "state": "failure",
 31534           "argument": "Reservations[].Instances[].State.Name"
 31535         },
 31536         {
 31537           "expected": "terminated",
 31538           "matcher": "pathAny",
 31539           "state": "failure",
 31540           "argument": "Reservations[].Instances[].State.Name"
 31541         },
 31542         {
 31543           "expected": "stopping",
 31544           "matcher": "pathAny",
 31545           "state": "failure",
 31546           "argument": "Reservations[].Instances[].State.Name"
 31547         },
 31548         {
 31549           "matcher": "error",
 31550           "expected": "InvalidInstanceID.NotFound",
 31551           "state": "retry"
 31552         }
 31553       ]
 31554     },
 31555     "InstanceStatusOk": {
 31556       "operation": "DescribeInstanceStatus",
 31557       "maxAttempts": 40,
 31558       "delay": 15,
 31559       "acceptors": [
 31560         {
 31561           "state": "success",
 31562           "matcher": "pathAll",
 31563           "argument": "InstanceStatuses[].InstanceStatus.Status",
 31564           "expected": "ok"
 31565         },
 31566         {
 31567           "matcher": "error",
 31568           "expected": "InvalidInstanceID.NotFound",
 31569           "state": "retry"
 31570         }
 31571       ]
 31572     },
 31573     "InstanceStopped": {
 31574       "delay": 15,
 31575       "operation": "DescribeInstances",
 31576       "maxAttempts": 40,
 31577       "acceptors": [
 31578         {
 31579           "expected": "stopped",
 31580           "matcher": "pathAll",
 31581           "state": "success",
 31582           "argument": "Reservations[].Instances[].State.Name"
 31583         },
 31584         {
 31585           "expected": "pending",
 31586           "matcher": "pathAny",
 31587           "state": "failure",
 31588           "argument": "Reservations[].Instances[].State.Name"
 31589         },
 31590         {
 31591           "expected": "terminated",
 31592           "matcher": "pathAny",
 31593           "state": "failure",
 31594           "argument": "Reservations[].Instances[].State.Name"
 31595         }
 31596       ]
 31597     },
 31598     "InstanceTerminated": {
 31599       "delay": 15,
 31600       "operation": "DescribeInstances",
 31601       "maxAttempts": 40,
 31602       "acceptors": [
 31603         {
 31604           "expected": "terminated",
 31605           "matcher": "pathAll",
 31606           "state": "success",
 31607           "argument": "Reservations[].Instances[].State.Name"
 31608         },
 31609         {
 31610           "expected": "pending",
 31611           "matcher": "pathAny",
 31612           "state": "failure",
 31613           "argument": "Reservations[].Instances[].State.Name"
 31614         },
 31615         {
 31616           "expected": "stopping",
 31617           "matcher": "pathAny",
 31618           "state": "failure",
 31619           "argument": "Reservations[].Instances[].State.Name"
 31620         }
 31621       ]
 31622     },
 31623     "KeyPairExists": {
 31624       "operation": "DescribeKeyPairs",
 31625       "delay": 5,
 31626       "maxAttempts": 6,
 31627       "acceptors": [
 31628         {
 31629           "expected": true,
 31630           "matcher": "pathAll",
 31631           "state": "success",
 31632           "argument": "length(KeyPairs[].KeyName) > `0`"
 31633         },
 31634         {
 31635           "expected": "InvalidKeyPair.NotFound",
 31636           "matcher": "error",
 31637           "state": "retry"
 31638         }
 31639       ]
 31640     },
 31641     "NatGatewayAvailable": {
 31642       "operation": "DescribeNatGateways",
 31643       "delay": 15,
 31644       "maxAttempts": 40,
 31645       "acceptors": [
 31646         {
 31647           "state": "success",
 31648           "matcher": "pathAll",
 31649           "argument": "NatGateways[].State",
 31650           "expected": "available"
 31651         },
 31652         {
 31653           "state": "failure",
 31654           "matcher": "pathAny",
 31655           "argument": "NatGateways[].State",
 31656           "expected": "failed"
 31657         },
 31658         {
 31659           "state": "failure",
 31660           "matcher": "pathAny",
 31661           "argument": "NatGateways[].State",
 31662           "expected": "deleting"
 31663         },
 31664         {
 31665           "state": "failure",
 31666           "matcher": "pathAny",
 31667           "argument": "NatGateways[].State",
 31668           "expected": "deleted"
 31669         },
 31670         {
 31671           "state": "retry",
 31672           "matcher": "error",
 31673           "expected": "NatGatewayNotFound"
 31674         }
 31675       ]
 31676     },
 31677     "NetworkInterfaceAvailable": {
 31678       "operation": "DescribeNetworkInterfaces",
 31679       "delay": 20,
 31680       "maxAttempts": 10,
 31681       "acceptors": [
 31682         {
 31683           "expected": "available",
 31684           "matcher": "pathAll",
 31685           "state": "success",
 31686           "argument": "NetworkInterfaces[].Status"
 31687         },
 31688         {
 31689           "expected": "InvalidNetworkInterfaceID.NotFound",
 31690           "matcher": "error",
 31691           "state": "failure"
 31692         }
 31693       ]
 31694     },
 31695     "PasswordDataAvailable": {
 31696       "operation": "GetPasswordData",
 31697       "maxAttempts": 40,
 31698       "delay": 15,
 31699       "acceptors": [
 31700         {
 31701           "state": "success",
 31702           "matcher": "path",
 31703           "argument": "length(PasswordData) > `0`",
 31704           "expected": true
 31705         }
 31706       ]
 31707     },
 31708     "SnapshotCompleted": {
 31709       "delay": 15,
 31710       "operation": "DescribeSnapshots",
 31711       "maxAttempts": 40,
 31712       "acceptors": [
 31713         {
 31714           "expected": "completed",
 31715           "matcher": "pathAll",
 31716           "state": "success",
 31717           "argument": "Snapshots[].State"
 31718         }
 31719       ]
 31720     },
 31721     "SpotInstanceRequestFulfilled": {
 31722       "operation": "DescribeSpotInstanceRequests",
 31723       "maxAttempts": 40,
 31724       "delay": 15,
 31725       "acceptors": [
 31726         {
 31727           "state": "success",
 31728           "matcher": "pathAll",
 31729           "argument": "SpotInstanceRequests[].Status.Code",
 31730           "expected": "fulfilled"
 31731         },
 31732         {
 31733           "state": "failure",
 31734           "matcher": "pathAny",
 31735           "argument": "SpotInstanceRequests[].Status.Code",
 31736           "expected": "schedule-expired"
 31737         },
 31738         {
 31739           "state": "failure",
 31740           "matcher": "pathAny",
 31741           "argument": "SpotInstanceRequests[].Status.Code",
 31742           "expected": "canceled-before-fulfillment"
 31743         },
 31744         {
 31745           "state": "failure",
 31746           "matcher": "pathAny",
 31747           "argument": "SpotInstanceRequests[].Status.Code",
 31748           "expected": "bad-parameters"
 31749         },
 31750         {
 31751           "state": "failure",
 31752           "matcher": "pathAny",
 31753           "argument": "SpotInstanceRequests[].Status.Code",
 31754           "expected": "system-error"
 31755         }
 31756       ]
 31757     },
 31758     "SubnetAvailable": {
 31759       "delay": 15,
 31760       "operation": "DescribeSubnets",
 31761       "maxAttempts": 40,
 31762       "acceptors": [
 31763         {
 31764           "expected": "available",
 31765           "matcher": "pathAll",
 31766           "state": "success",
 31767           "argument": "Subnets[].State"
 31768         }
 31769       ]
 31770     },
 31771     "SystemStatusOk": {
 31772       "operation": "DescribeInstanceStatus",
 31773       "maxAttempts": 40,
 31774       "delay": 15,
 31775       "acceptors": [
 31776         {
 31777           "state": "success",
 31778           "matcher": "pathAll",
 31779           "argument": "InstanceStatuses[].SystemStatus.Status",
 31780           "expected": "ok"
 31781         }
 31782       ]
 31783     },
 31784     "VolumeAvailable": {
 31785       "delay": 15,
 31786       "operation": "DescribeVolumes",
 31787       "maxAttempts": 40,
 31788       "acceptors": [
 31789         {
 31790           "expected": "available",
 31791           "matcher": "pathAll",
 31792           "state": "success",
 31793           "argument": "Volumes[].State"
 31794         },
 31795         {
 31796           "expected": "deleted",
 31797           "matcher": "pathAny",
 31798           "state": "failure",
 31799           "argument": "Volumes[].State"
 31800         }
 31801       ]
 31802     },
 31803     "VolumeDeleted": {
 31804       "delay": 15,
 31805       "operation": "DescribeVolumes",
 31806       "maxAttempts": 40,
 31807       "acceptors": [
 31808         {
 31809           "expected": "deleted",
 31810           "matcher": "pathAll",
 31811           "state": "success",
 31812           "argument": "Volumes[].State"
 31813         },
 31814         {
 31815           "matcher": "error",
 31816           "expected": "InvalidVolume.NotFound",
 31817           "state": "success"
 31818         }
 31819       ]
 31820     },
 31821     "VolumeInUse": {
 31822       "delay": 15,
 31823       "operation": "DescribeVolumes",
 31824       "maxAttempts": 40,
 31825       "acceptors": [
 31826         {
 31827           "expected": "in-use",
 31828           "matcher": "pathAll",
 31829           "state": "success",
 31830           "argument": "Volumes[].State"
 31831         },
 31832         {
 31833           "expected": "deleted",
 31834           "matcher": "pathAny",
 31835           "state": "failure",
 31836           "argument": "Volumes[].State"
 31837         }
 31838       ]
 31839     },
 31840     "VpcAvailable": {
 31841       "delay": 15,
 31842       "operation": "DescribeVpcs",
 31843       "maxAttempts": 40,
 31844       "acceptors": [
 31845         {
 31846           "expected": "available",
 31847           "matcher": "pathAll",
 31848           "state": "success",
 31849           "argument": "Vpcs[].State"
 31850         }
 31851       ]
 31852     },
 31853     "VpcExists": {
 31854       "operation": "DescribeVpcs",
 31855       "delay": 1,
 31856       "maxAttempts": 5,
 31857       "acceptors": [
 31858         {
 31859           "matcher": "status",
 31860           "expected": 200,
 31861           "state": "success"
 31862         },
 31863         {
 31864           "matcher": "error",
 31865           "expected": "InvalidVpcID.NotFound",
 31866           "state": "retry"
 31867         }
 31868       ]
 31869     },
 31870     "VpnConnectionAvailable": {
 31871       "delay": 15,
 31872       "operation": "DescribeVpnConnections",
 31873       "maxAttempts": 40,
 31874       "acceptors": [
 31875         {
 31876           "expected": "available",
 31877           "matcher": "pathAll",
 31878           "state": "success",
 31879           "argument": "VpnConnections[].State"
 31880         },
 31881         {
 31882           "expected": "deleting",
 31883           "matcher": "pathAny",
 31884           "state": "failure",
 31885           "argument": "VpnConnections[].State"
 31886         },
 31887         {
 31888           "expected": "deleted",
 31889           "matcher": "pathAny",
 31890           "state": "failure",
 31891           "argument": "VpnConnections[].State"
 31892         }
 31893       ]
 31894     },
 31895     "VpnConnectionDeleted": {
 31896       "delay": 15,
 31897       "operation": "DescribeVpnConnections",
 31898       "maxAttempts": 40,
 31899       "acceptors": [
 31900         {
 31901           "expected": "deleted",
 31902           "matcher": "pathAll",
 31903           "state": "success",
 31904           "argument": "VpnConnections[].State"
 31905         },
 31906         {
 31907           "expected": "pending",
 31908           "matcher": "pathAny",
 31909           "state": "failure",
 31910           "argument": "VpnConnections[].State"
 31911         }
 31912       ]
 31913     },
 31914     "VpcPeeringConnectionExists": {
 31915       "delay": 15,
 31916       "operation": "DescribeVpcPeeringConnections",
 31917       "maxAttempts": 40,
 31918       "acceptors": [
 31919         {
 31920           "matcher": "status",
 31921           "expected": 200,
 31922           "state": "success"
 31923         },
 31924         {
 31925           "matcher": "error",
 31926           "expected": "InvalidVpcPeeringConnectionID.NotFound",
 31927           "state": "retry"
 31928         }
 31929       ]
 31930     }
 31931   }
 31932 }
 31933 
 31934 },{}],42:[function(require,module,exports){
 31935 module.exports={
 31936   "version": "2.0",
 31937   "metadata": {
 31938     "apiVersion": "2015-09-21",
 31939     "endpointPrefix": "ecr",
 31940     "jsonVersion": "1.1",
 31941     "protocol": "json",
 31942     "serviceAbbreviation": "Amazon ECR",
 31943     "serviceFullName": "Amazon EC2 Container Registry",
 31944     "signatureVersion": "v4",
 31945     "targetPrefix": "AmazonEC2ContainerRegistry_V20150921"
 31946   },
 31947   "operations": {
 31948     "BatchCheckLayerAvailability": {
 31949       "input": {
 31950         "type": "structure",
 31951         "required": [
 31952           "repositoryName",
 31953           "layerDigests"
 31954         ],
 31955         "members": {
 31956           "registryId": {},
 31957           "repositoryName": {},
 31958           "layerDigests": {
 31959             "type": "list",
 31960             "member": {}
 31961           }
 31962         }
 31963       },
 31964       "output": {
 31965         "type": "structure",
 31966         "members": {
 31967           "layers": {
 31968             "type": "list",
 31969             "member": {
 31970               "type": "structure",
 31971               "members": {
 31972                 "layerDigest": {},
 31973                 "layerAvailability": {},
 31974                 "layerSize": {
 31975                   "type": "long"
 31976                 }
 31977               }
 31978             }
 31979           },
 31980           "failures": {
 31981             "type": "list",
 31982             "member": {
 31983               "type": "structure",
 31984               "members": {
 31985                 "layerDigest": {},
 31986                 "failureCode": {},
 31987                 "failureReason": {}
 31988               }
 31989             }
 31990           }
 31991         }
 31992       }
 31993     },
 31994     "BatchDeleteImage": {
 31995       "input": {
 31996         "type": "structure",
 31997         "required": [
 31998           "repositoryName",
 31999           "imageIds"
 32000         ],
 32001         "members": {
 32002           "registryId": {},
 32003           "repositoryName": {},
 32004           "imageIds": {
 32005             "shape": "Sh"
 32006           }
 32007         }
 32008       },
 32009       "output": {
 32010         "type": "structure",
 32011         "members": {
 32012           "imageIds": {
 32013             "shape": "Sh"
 32014           },
 32015           "failures": {
 32016             "shape": "Sm"
 32017           }
 32018         }
 32019       }
 32020     },
 32021     "BatchGetImage": {
 32022       "input": {
 32023         "type": "structure",
 32024         "required": [
 32025           "repositoryName",
 32026           "imageIds"
 32027         ],
 32028         "members": {
 32029           "registryId": {},
 32030           "repositoryName": {},
 32031           "imageIds": {
 32032             "shape": "Sh"
 32033           }
 32034         }
 32035       },
 32036       "output": {
 32037         "type": "structure",
 32038         "members": {
 32039           "images": {
 32040             "type": "list",
 32041             "member": {
 32042               "shape": "St"
 32043             }
 32044           },
 32045           "failures": {
 32046             "shape": "Sm"
 32047           }
 32048         }
 32049       }
 32050     },
 32051     "CompleteLayerUpload": {
 32052       "input": {
 32053         "type": "structure",
 32054         "required": [
 32055           "repositoryName",
 32056           "uploadId",
 32057           "layerDigests"
 32058         ],
 32059         "members": {
 32060           "registryId": {},
 32061           "repositoryName": {},
 32062           "uploadId": {},
 32063           "layerDigests": {
 32064             "type": "list",
 32065             "member": {}
 32066           }
 32067         }
 32068       },
 32069       "output": {
 32070         "type": "structure",
 32071         "members": {
 32072           "registryId": {},
 32073           "repositoryName": {},
 32074           "uploadId": {},
 32075           "layerDigest": {}
 32076         }
 32077       }
 32078     },
 32079     "CreateRepository": {
 32080       "input": {
 32081         "type": "structure",
 32082         "required": [
 32083           "repositoryName"
 32084         ],
 32085         "members": {
 32086           "repositoryName": {}
 32087         }
 32088       },
 32089       "output": {
 32090         "type": "structure",
 32091         "members": {
 32092           "repository": {
 32093             "shape": "S11"
 32094           }
 32095         }
 32096       }
 32097     },
 32098     "DeleteRepository": {
 32099       "input": {
 32100         "type": "structure",
 32101         "required": [
 32102           "repositoryName"
 32103         ],
 32104         "members": {
 32105           "registryId": {},
 32106           "repositoryName": {},
 32107           "force": {
 32108             "type": "boolean"
 32109           }
 32110         }
 32111       },
 32112       "output": {
 32113         "type": "structure",
 32114         "members": {
 32115           "repository": {
 32116             "shape": "S11"
 32117           }
 32118         }
 32119       }
 32120     },
 32121     "DeleteRepositoryPolicy": {
 32122       "input": {
 32123         "type": "structure",
 32124         "required": [
 32125           "repositoryName"
 32126         ],
 32127         "members": {
 32128           "registryId": {},
 32129           "repositoryName": {}
 32130         }
 32131       },
 32132       "output": {
 32133         "type": "structure",
 32134         "members": {
 32135           "registryId": {},
 32136           "repositoryName": {},
 32137           "policyText": {}
 32138         }
 32139       }
 32140     },
 32141     "DescribeImages": {
 32142       "input": {
 32143         "type": "structure",
 32144         "required": [
 32145           "repositoryName"
 32146         ],
 32147         "members": {
 32148           "registryId": {},
 32149           "repositoryName": {},
 32150           "imageIds": {
 32151             "shape": "Sh"
 32152           },
 32153           "nextToken": {},
 32154           "maxResults": {
 32155             "type": "integer"
 32156           },
 32157           "filter": {
 32158             "type": "structure",
 32159             "members": {
 32160               "tagStatus": {}
 32161             }
 32162           }
 32163         }
 32164       },
 32165       "output": {
 32166         "type": "structure",
 32167         "members": {
 32168           "imageDetails": {
 32169             "type": "list",
 32170             "member": {
 32171               "type": "structure",
 32172               "members": {
 32173                 "registryId": {},
 32174                 "repositoryName": {},
 32175                 "imageDigest": {},
 32176                 "imageTags": {
 32177                   "type": "list",
 32178                   "member": {}
 32179                 },
 32180                 "imageSizeInBytes": {
 32181                   "type": "long"
 32182                 },
 32183                 "imagePushedAt": {
 32184                   "type": "timestamp"
 32185                 }
 32186               }
 32187             }
 32188           },
 32189           "nextToken": {}
 32190         }
 32191       }
 32192     },
 32193     "DescribeRepositories": {
 32194       "input": {
 32195         "type": "structure",
 32196         "members": {
 32197           "registryId": {},
 32198           "repositoryNames": {
 32199             "type": "list",
 32200             "member": {}
 32201           },
 32202           "nextToken": {},
 32203           "maxResults": {
 32204             "type": "integer"
 32205           }
 32206         }
 32207       },
 32208       "output": {
 32209         "type": "structure",
 32210         "members": {
 32211           "repositories": {
 32212             "type": "list",
 32213             "member": {
 32214               "shape": "S11"
 32215             }
 32216           },
 32217           "nextToken": {}
 32218         }
 32219       }
 32220     },
 32221     "GetAuthorizationToken": {
 32222       "input": {
 32223         "type": "structure",
 32224         "members": {
 32225           "registryIds": {
 32226             "type": "list",
 32227             "member": {}
 32228           }
 32229         }
 32230       },
 32231       "output": {
 32232         "type": "structure",
 32233         "members": {
 32234           "authorizationData": {
 32235             "type": "list",
 32236             "member": {
 32237               "type": "structure",
 32238               "members": {
 32239                 "authorizationToken": {},
 32240                 "expiresAt": {
 32241                   "type": "timestamp"
 32242                 },
 32243                 "proxyEndpoint": {}
 32244               }
 32245             }
 32246           }
 32247         }
 32248       }
 32249     },
 32250     "GetDownloadUrlForLayer": {
 32251       "input": {
 32252         "type": "structure",
 32253         "required": [
 32254           "repositoryName",
 32255           "layerDigest"
 32256         ],
 32257         "members": {
 32258           "registryId": {},
 32259           "repositoryName": {},
 32260           "layerDigest": {}
 32261         }
 32262       },
 32263       "output": {
 32264         "type": "structure",
 32265         "members": {
 32266           "downloadUrl": {},
 32267           "layerDigest": {}
 32268         }
 32269       }
 32270     },
 32271     "GetRepositoryPolicy": {
 32272       "input": {
 32273         "type": "structure",
 32274         "required": [
 32275           "repositoryName"
 32276         ],
 32277         "members": {
 32278           "registryId": {},
 32279           "repositoryName": {}
 32280         }
 32281       },
 32282       "output": {
 32283         "type": "structure",
 32284         "members": {
 32285           "registryId": {},
 32286           "repositoryName": {},
 32287           "policyText": {}
 32288         }
 32289       }
 32290     },
 32291     "InitiateLayerUpload": {
 32292       "input": {
 32293         "type": "structure",
 32294         "required": [
 32295           "repositoryName"
 32296         ],
 32297         "members": {
 32298           "registryId": {},
 32299           "repositoryName": {}
 32300         }
 32301       },
 32302       "output": {
 32303         "type": "structure",
 32304         "members": {
 32305           "uploadId": {},
 32306           "partSize": {
 32307             "type": "long"
 32308           }
 32309         }
 32310       }
 32311     },
 32312     "ListImages": {
 32313       "input": {
 32314         "type": "structure",
 32315         "required": [
 32316           "repositoryName"
 32317         ],
 32318         "members": {
 32319           "registryId": {},
 32320           "repositoryName": {},
 32321           "nextToken": {},
 32322           "maxResults": {
 32323             "type": "integer"
 32324           },
 32325           "filter": {
 32326             "type": "structure",
 32327             "members": {
 32328               "tagStatus": {}
 32329             }
 32330           }
 32331         }
 32332       },
 32333       "output": {
 32334         "type": "structure",
 32335         "members": {
 32336           "imageIds": {
 32337             "shape": "Sh"
 32338           },
 32339           "nextToken": {}
 32340         }
 32341       }
 32342     },
 32343     "PutImage": {
 32344       "input": {
 32345         "type": "structure",
 32346         "required": [
 32347           "repositoryName",
 32348           "imageManifest"
 32349         ],
 32350         "members": {
 32351           "registryId": {},
 32352           "repositoryName": {},
 32353           "imageManifest": {}
 32354         }
 32355       },
 32356       "output": {
 32357         "type": "structure",
 32358         "members": {
 32359           "image": {
 32360             "shape": "St"
 32361           }
 32362         }
 32363       }
 32364     },
 32365     "SetRepositoryPolicy": {
 32366       "input": {
 32367         "type": "structure",
 32368         "required": [
 32369           "repositoryName",
 32370           "policyText"
 32371         ],
 32372         "members": {
 32373           "registryId": {},
 32374           "repositoryName": {},
 32375           "policyText": {},
 32376           "force": {
 32377             "type": "boolean"
 32378           }
 32379         }
 32380       },
 32381       "output": {
 32382         "type": "structure",
 32383         "members": {
 32384           "registryId": {},
 32385           "repositoryName": {},
 32386           "policyText": {}
 32387         }
 32388       }
 32389     },
 32390     "UploadLayerPart": {
 32391       "input": {
 32392         "type": "structure",
 32393         "required": [
 32394           "repositoryName",
 32395           "uploadId",
 32396           "partFirstByte",
 32397           "partLastByte",
 32398           "layerPartBlob"
 32399         ],
 32400         "members": {
 32401           "registryId": {},
 32402           "repositoryName": {},
 32403           "uploadId": {},
 32404           "partFirstByte": {
 32405             "type": "long"
 32406           },
 32407           "partLastByte": {
 32408             "type": "long"
 32409           },
 32410           "layerPartBlob": {
 32411             "type": "blob"
 32412           }
 32413         }
 32414       },
 32415       "output": {
 32416         "type": "structure",
 32417         "members": {
 32418           "registryId": {},
 32419           "repositoryName": {},
 32420           "uploadId": {},
 32421           "lastByteReceived": {
 32422             "type": "long"
 32423           }
 32424         }
 32425       }
 32426     }
 32427   },
 32428   "shapes": {
 32429     "Sh": {
 32430       "type": "list",
 32431       "member": {
 32432         "shape": "Si"
 32433       }
 32434     },
 32435     "Si": {
 32436       "type": "structure",
 32437       "members": {
 32438         "imageDigest": {},
 32439         "imageTag": {}
 32440       }
 32441     },
 32442     "Sm": {
 32443       "type": "list",
 32444       "member": {
 32445         "type": "structure",
 32446         "members": {
 32447           "imageId": {
 32448             "shape": "Si"
 32449           },
 32450           "failureCode": {},
 32451           "failureReason": {}
 32452         }
 32453       }
 32454     },
 32455     "St": {
 32456       "type": "structure",
 32457       "members": {
 32458         "registryId": {},
 32459         "repositoryName": {},
 32460         "imageId": {
 32461           "shape": "Si"
 32462         },
 32463         "imageManifest": {}
 32464       }
 32465     },
 32466     "S11": {
 32467       "type": "structure",
 32468       "members": {
 32469         "repositoryArn": {},
 32470         "registryId": {},
 32471         "repositoryName": {},
 32472         "repositoryUri": {},
 32473         "createdAt": {
 32474           "type": "timestamp"
 32475         }
 32476       }
 32477     }
 32478   }
 32479 }
 32480 },{}],43:[function(require,module,exports){
 32481 module.exports={
 32482   "pagination": {
 32483     "ListImages": {
 32484       "input_token": "nextToken",
 32485       "output_token": "nextToken",
 32486       "limit_key": "maxResults",
 32487       "result_key": "imageIds"
 32488     },
 32489     "DescribeImages": {
 32490       "input_token": "nextToken",
 32491       "output_token": "nextToken",
 32492       "limit_key": "maxResults",
 32493       "result_key": "imageDetails"
 32494     },
 32495     "DescribeRepositories": {
 32496       "input_token": "nextToken",
 32497       "output_token": "nextToken",
 32498       "limit_key": "maxResults",
 32499       "result_key": "repositories"
 32500     }
 32501   }
 32502 }
 32503 
 32504 },{}],44:[function(require,module,exports){
 32505 module.exports={
 32506   "version": "2.0",
 32507   "metadata": {
 32508     "apiVersion": "2014-11-13",
 32509     "endpointPrefix": "ecs",
 32510     "jsonVersion": "1.1",
 32511     "protocol": "json",
 32512     "serviceAbbreviation": "Amazon ECS",
 32513     "serviceFullName": "Amazon EC2 Container Service",
 32514     "signatureVersion": "v4",
 32515     "targetPrefix": "AmazonEC2ContainerServiceV20141113"
 32516   },
 32517   "operations": {
 32518     "CreateCluster": {
 32519       "input": {
 32520         "type": "structure",
 32521         "members": {
 32522           "clusterName": {}
 32523         }
 32524       },
 32525       "output": {
 32526         "type": "structure",
 32527         "members": {
 32528           "cluster": {
 32529             "shape": "S4"
 32530           }
 32531         }
 32532       }
 32533     },
 32534     "CreateService": {
 32535       "input": {
 32536         "type": "structure",
 32537         "required": [
 32538           "serviceName",
 32539           "taskDefinition",
 32540           "desiredCount"
 32541         ],
 32542         "members": {
 32543           "cluster": {},
 32544           "serviceName": {},
 32545           "taskDefinition": {},
 32546           "loadBalancers": {
 32547             "shape": "S7"
 32548           },
 32549           "desiredCount": {
 32550             "type": "integer"
 32551           },
 32552           "clientToken": {},
 32553           "role": {},
 32554           "deploymentConfiguration": {
 32555             "shape": "Sa"
 32556           }
 32557         }
 32558       },
 32559       "output": {
 32560         "type": "structure",
 32561         "members": {
 32562           "service": {
 32563             "shape": "Sc"
 32564           }
 32565         }
 32566       }
 32567     },
 32568     "DeleteCluster": {
 32569       "input": {
 32570         "type": "structure",
 32571         "required": [
 32572           "cluster"
 32573         ],
 32574         "members": {
 32575           "cluster": {}
 32576         }
 32577       },
 32578       "output": {
 32579         "type": "structure",
 32580         "members": {
 32581           "cluster": {
 32582             "shape": "S4"
 32583           }
 32584         }
 32585       }
 32586     },
 32587     "DeleteService": {
 32588       "input": {
 32589         "type": "structure",
 32590         "required": [
 32591           "service"
 32592         ],
 32593         "members": {
 32594           "cluster": {},
 32595           "service": {}
 32596         }
 32597       },
 32598       "output": {
 32599         "type": "structure",
 32600         "members": {
 32601           "service": {
 32602             "shape": "Sc"
 32603           }
 32604         }
 32605       }
 32606     },
 32607     "DeregisterContainerInstance": {
 32608       "input": {
 32609         "type": "structure",
 32610         "required": [
 32611           "containerInstance"
 32612         ],
 32613         "members": {
 32614           "cluster": {},
 32615           "containerInstance": {},
 32616           "force": {
 32617             "type": "boolean"
 32618           }
 32619         }
 32620       },
 32621       "output": {
 32622         "type": "structure",
 32623         "members": {
 32624           "containerInstance": {
 32625             "shape": "Sp"
 32626           }
 32627         }
 32628       }
 32629     },
 32630     "DeregisterTaskDefinition": {
 32631       "input": {
 32632         "type": "structure",
 32633         "required": [
 32634           "taskDefinition"
 32635         ],
 32636         "members": {
 32637           "taskDefinition": {}
 32638         }
 32639       },
 32640       "output": {
 32641         "type": "structure",
 32642         "members": {
 32643           "taskDefinition": {
 32644             "shape": "S12"
 32645           }
 32646         }
 32647       }
 32648     },
 32649     "DescribeClusters": {
 32650       "input": {
 32651         "type": "structure",
 32652         "members": {
 32653           "clusters": {
 32654             "shape": "Sv"
 32655           }
 32656         }
 32657       },
 32658       "output": {
 32659         "type": "structure",
 32660         "members": {
 32661           "clusters": {
 32662             "type": "list",
 32663             "member": {
 32664               "shape": "S4"
 32665             }
 32666           },
 32667           "failures": {
 32668             "shape": "S1w"
 32669           }
 32670         }
 32671       }
 32672     },
 32673     "DescribeContainerInstances": {
 32674       "input": {
 32675         "type": "structure",
 32676         "required": [
 32677           "containerInstances"
 32678         ],
 32679         "members": {
 32680           "cluster": {},
 32681           "containerInstances": {
 32682             "shape": "Sv"
 32683           }
 32684         }
 32685       },
 32686       "output": {
 32687         "type": "structure",
 32688         "members": {
 32689           "containerInstances": {
 32690             "type": "list",
 32691             "member": {
 32692               "shape": "Sp"
 32693             }
 32694           },
 32695           "failures": {
 32696             "shape": "S1w"
 32697           }
 32698         }
 32699       }
 32700     },
 32701     "DescribeServices": {
 32702       "input": {
 32703         "type": "structure",
 32704         "required": [
 32705           "services"
 32706         ],
 32707         "members": {
 32708           "cluster": {},
 32709           "services": {
 32710             "shape": "Sv"
 32711           }
 32712         }
 32713       },
 32714       "output": {
 32715         "type": "structure",
 32716         "members": {
 32717           "services": {
 32718             "type": "list",
 32719             "member": {
 32720               "shape": "Sc"
 32721             }
 32722           },
 32723           "failures": {
 32724             "shape": "S1w"
 32725           }
 32726         }
 32727       }
 32728     },
 32729     "DescribeTaskDefinition": {
 32730       "input": {
 32731         "type": "structure",
 32732         "required": [
 32733           "taskDefinition"
 32734         ],
 32735         "members": {
 32736           "taskDefinition": {}
 32737         }
 32738       },
 32739       "output": {
 32740         "type": "structure",
 32741         "members": {
 32742           "taskDefinition": {
 32743             "shape": "S12"
 32744           }
 32745         }
 32746       }
 32747     },
 32748     "DescribeTasks": {
 32749       "input": {
 32750         "type": "structure",
 32751         "required": [
 32752           "tasks"
 32753         ],
 32754         "members": {
 32755           "cluster": {},
 32756           "tasks": {
 32757             "shape": "Sv"
 32758           }
 32759         }
 32760       },
 32761       "output": {
 32762         "type": "structure",
 32763         "members": {
 32764           "tasks": {
 32765             "shape": "S28"
 32766           },
 32767           "failures": {
 32768             "shape": "S1w"
 32769           }
 32770         }
 32771       }
 32772     },
 32773     "DiscoverPollEndpoint": {
 32774       "input": {
 32775         "type": "structure",
 32776         "members": {
 32777           "containerInstance": {},
 32778           "cluster": {}
 32779         }
 32780       },
 32781       "output": {
 32782         "type": "structure",
 32783         "members": {
 32784           "endpoint": {},
 32785           "telemetryEndpoint": {}
 32786         }
 32787       }
 32788     },
 32789     "ListClusters": {
 32790       "input": {
 32791         "type": "structure",
 32792         "members": {
 32793           "nextToken": {},
 32794           "maxResults": {
 32795             "type": "integer"
 32796           }
 32797         }
 32798       },
 32799       "output": {
 32800         "type": "structure",
 32801         "members": {
 32802           "clusterArns": {
 32803             "shape": "Sv"
 32804           },
 32805           "nextToken": {}
 32806         }
 32807       }
 32808     },
 32809     "ListContainerInstances": {
 32810       "input": {
 32811         "type": "structure",
 32812         "members": {
 32813           "cluster": {},
 32814           "nextToken": {},
 32815           "maxResults": {
 32816             "type": "integer"
 32817           }
 32818         }
 32819       },
 32820       "output": {
 32821         "type": "structure",
 32822         "members": {
 32823           "containerInstanceArns": {
 32824             "shape": "Sv"
 32825           },
 32826           "nextToken": {}
 32827         }
 32828       }
 32829     },
 32830     "ListServices": {
 32831       "input": {
 32832         "type": "structure",
 32833         "members": {
 32834           "cluster": {},
 32835           "nextToken": {},
 32836           "maxResults": {
 32837             "type": "integer"
 32838           }
 32839         }
 32840       },
 32841       "output": {
 32842         "type": "structure",
 32843         "members": {
 32844           "serviceArns": {
 32845             "shape": "Sv"
 32846           },
 32847           "nextToken": {}
 32848         }
 32849       }
 32850     },
 32851     "ListTaskDefinitionFamilies": {
 32852       "input": {
 32853         "type": "structure",
 32854         "members": {
 32855           "familyPrefix": {},
 32856           "status": {},
 32857           "nextToken": {},
 32858           "maxResults": {
 32859             "type": "integer"
 32860           }
 32861         }
 32862       },
 32863       "output": {
 32864         "type": "structure",
 32865         "members": {
 32866           "families": {
 32867             "shape": "Sv"
 32868           },
 32869           "nextToken": {}
 32870         }
 32871       }
 32872     },
 32873     "ListTaskDefinitions": {
 32874       "input": {
 32875         "type": "structure",
 32876         "members": {
 32877           "familyPrefix": {},
 32878           "status": {},
 32879           "sort": {},
 32880           "nextToken": {},
 32881           "maxResults": {
 32882             "type": "integer"
 32883           }
 32884         }
 32885       },
 32886       "output": {
 32887         "type": "structure",
 32888         "members": {
 32889           "taskDefinitionArns": {
 32890             "shape": "Sv"
 32891           },
 32892           "nextToken": {}
 32893         }
 32894       }
 32895     },
 32896     "ListTasks": {
 32897       "input": {
 32898         "type": "structure",
 32899         "members": {
 32900           "cluster": {},
 32901           "containerInstance": {},
 32902           "family": {},
 32903           "nextToken": {},
 32904           "maxResults": {
 32905             "type": "integer"
 32906           },
 32907           "startedBy": {},
 32908           "serviceName": {},
 32909           "desiredStatus": {}
 32910         }
 32911       },
 32912       "output": {
 32913         "type": "structure",
 32914         "members": {
 32915           "taskArns": {
 32916             "shape": "Sv"
 32917           },
 32918           "nextToken": {}
 32919         }
 32920       }
 32921     },
 32922     "RegisterContainerInstance": {
 32923       "input": {
 32924         "type": "structure",
 32925         "members": {
 32926           "cluster": {},
 32927           "instanceIdentityDocument": {},
 32928           "instanceIdentityDocumentSignature": {},
 32929           "totalResources": {
 32930             "shape": "Ss"
 32931           },
 32932           "versionInfo": {
 32933             "shape": "Sr"
 32934           },
 32935           "containerInstanceArn": {},
 32936           "attributes": {
 32937             "shape": "Sy"
 32938           }
 32939         }
 32940       },
 32941       "output": {
 32942         "type": "structure",
 32943         "members": {
 32944           "containerInstance": {
 32945             "shape": "Sp"
 32946           }
 32947         }
 32948       }
 32949     },
 32950     "RegisterTaskDefinition": {
 32951       "input": {
 32952         "type": "structure",
 32953         "required": [
 32954           "family",
 32955           "containerDefinitions"
 32956         ],
 32957         "members": {
 32958           "family": {},
 32959           "taskRoleArn": {},
 32960           "networkMode": {},
 32961           "containerDefinitions": {
 32962             "shape": "S13"
 32963           },
 32964           "volumes": {
 32965             "shape": "S1o"
 32966           }
 32967         }
 32968       },
 32969       "output": {
 32970         "type": "structure",
 32971         "members": {
 32972           "taskDefinition": {
 32973             "shape": "S12"
 32974           }
 32975         }
 32976       }
 32977     },
 32978     "RunTask": {
 32979       "input": {
 32980         "type": "structure",
 32981         "required": [
 32982           "taskDefinition"
 32983         ],
 32984         "members": {
 32985           "cluster": {},
 32986           "taskDefinition": {},
 32987           "overrides": {
 32988             "shape": "S2a"
 32989           },
 32990           "count": {
 32991             "type": "integer"
 32992           },
 32993           "startedBy": {}
 32994         }
 32995       },
 32996       "output": {
 32997         "type": "structure",
 32998         "members": {
 32999           "tasks": {
 33000             "shape": "S28"
 33001           },
 33002           "failures": {
 33003             "shape": "S1w"
 33004           }
 33005         }
 33006       }
 33007     },
 33008     "StartTask": {
 33009       "input": {
 33010         "type": "structure",
 33011         "required": [
 33012           "taskDefinition",
 33013           "containerInstances"
 33014         ],
 33015         "members": {
 33016           "cluster": {},
 33017           "taskDefinition": {},
 33018           "overrides": {
 33019             "shape": "S2a"
 33020           },
 33021           "containerInstances": {
 33022             "shape": "Sv"
 33023           },
 33024           "startedBy": {}
 33025         }
 33026       },
 33027       "output": {
 33028         "type": "structure",
 33029         "members": {
 33030           "tasks": {
 33031             "shape": "S28"
 33032           },
 33033           "failures": {
 33034             "shape": "S1w"
 33035           }
 33036         }
 33037       }
 33038     },
 33039     "StopTask": {
 33040       "input": {
 33041         "type": "structure",
 33042         "required": [
 33043           "task"
 33044         ],
 33045         "members": {
 33046           "cluster": {},
 33047           "task": {},
 33048           "reason": {}
 33049         }
 33050       },
 33051       "output": {
 33052         "type": "structure",
 33053         "members": {
 33054           "task": {
 33055             "shape": "S29"
 33056           }
 33057         }
 33058       }
 33059     },
 33060     "SubmitContainerStateChange": {
 33061       "input": {
 33062         "type": "structure",
 33063         "members": {
 33064           "cluster": {},
 33065           "task": {},
 33066           "containerName": {},
 33067           "status": {},
 33068           "exitCode": {
 33069             "type": "integer"
 33070           },
 33071           "reason": {},
 33072           "networkBindings": {
 33073             "shape": "S2f"
 33074           }
 33075         }
 33076       },
 33077       "output": {
 33078         "type": "structure",
 33079         "members": {
 33080           "acknowledgment": {}
 33081         }
 33082       }
 33083     },
 33084     "SubmitTaskStateChange": {
 33085       "input": {
 33086         "type": "structure",
 33087         "members": {
 33088           "cluster": {},
 33089           "task": {},
 33090           "status": {},
 33091           "reason": {}
 33092         }
 33093       },
 33094       "output": {
 33095         "type": "structure",
 33096         "members": {
 33097           "acknowledgment": {}
 33098         }
 33099       }
 33100     },
 33101     "UpdateContainerAgent": {
 33102       "input": {
 33103         "type": "structure",
 33104         "required": [
 33105           "containerInstance"
 33106         ],
 33107         "members": {
 33108           "cluster": {},
 33109           "containerInstance": {}
 33110         }
 33111       },
 33112       "output": {
 33113         "type": "structure",
 33114         "members": {
 33115           "containerInstance": {
 33116             "shape": "Sp"
 33117           }
 33118         }
 33119       }
 33120     },
 33121     "UpdateService": {
 33122       "input": {
 33123         "type": "structure",
 33124         "required": [
 33125           "service"
 33126         ],
 33127         "members": {
 33128           "cluster": {},
 33129           "service": {},
 33130           "desiredCount": {
 33131             "type": "integer"
 33132           },
 33133           "taskDefinition": {},
 33134           "deploymentConfiguration": {
 33135             "shape": "Sa"
 33136           }
 33137         }
 33138       },
 33139       "output": {
 33140         "type": "structure",
 33141         "members": {
 33142           "service": {
 33143             "shape": "Sc"
 33144           }
 33145         }
 33146       }
 33147     }
 33148   },
 33149   "shapes": {
 33150     "S4": {
 33151       "type": "structure",
 33152       "members": {
 33153         "clusterArn": {},
 33154         "clusterName": {},
 33155         "status": {},
 33156         "registeredContainerInstancesCount": {
 33157           "type": "integer"
 33158         },
 33159         "runningTasksCount": {
 33160           "type": "integer"
 33161         },
 33162         "pendingTasksCount": {
 33163           "type": "integer"
 33164         },
 33165         "activeServicesCount": {
 33166           "type": "integer"
 33167         }
 33168       }
 33169     },
 33170     "S7": {
 33171       "type": "list",
 33172       "member": {
 33173         "type": "structure",
 33174         "members": {
 33175           "targetGroupArn": {},
 33176           "loadBalancerName": {},
 33177           "containerName": {},
 33178           "containerPort": {
 33179             "type": "integer"
 33180           }
 33181         }
 33182       }
 33183     },
 33184     "Sa": {
 33185       "type": "structure",
 33186       "members": {
 33187         "maximumPercent": {
 33188           "type": "integer"
 33189         },
 33190         "minimumHealthyPercent": {
 33191           "type": "integer"
 33192         }
 33193       }
 33194     },
 33195     "Sc": {
 33196       "type": "structure",
 33197       "members": {
 33198         "serviceArn": {},
 33199         "serviceName": {},
 33200         "clusterArn": {},
 33201         "loadBalancers": {
 33202           "shape": "S7"
 33203         },
 33204         "status": {},
 33205         "desiredCount": {
 33206           "type": "integer"
 33207         },
 33208         "runningCount": {
 33209           "type": "integer"
 33210         },
 33211         "pendingCount": {
 33212           "type": "integer"
 33213         },
 33214         "taskDefinition": {},
 33215         "deploymentConfiguration": {
 33216           "shape": "Sa"
 33217         },
 33218         "deployments": {
 33219           "type": "list",
 33220           "member": {
 33221             "type": "structure",
 33222             "members": {
 33223               "id": {},
 33224               "status": {},
 33225               "taskDefinition": {},
 33226               "desiredCount": {
 33227                 "type": "integer"
 33228               },
 33229               "pendingCount": {
 33230                 "type": "integer"
 33231               },
 33232               "runningCount": {
 33233                 "type": "integer"
 33234               },
 33235               "createdAt": {
 33236                 "type": "timestamp"
 33237               },
 33238               "updatedAt": {
 33239                 "type": "timestamp"
 33240               }
 33241             }
 33242           }
 33243         },
 33244         "roleArn": {},
 33245         "events": {
 33246           "type": "list",
 33247           "member": {
 33248             "type": "structure",
 33249             "members": {
 33250               "id": {},
 33251               "createdAt": {
 33252                 "type": "timestamp"
 33253               },
 33254               "message": {}
 33255             }
 33256           }
 33257         },
 33258         "createdAt": {
 33259           "type": "timestamp"
 33260         }
 33261       }
 33262     },
 33263     "Sp": {
 33264       "type": "structure",
 33265       "members": {
 33266         "containerInstanceArn": {},
 33267         "ec2InstanceId": {},
 33268         "version": {
 33269           "type": "long"
 33270         },
 33271         "versionInfo": {
 33272           "shape": "Sr"
 33273         },
 33274         "remainingResources": {
 33275           "shape": "Ss"
 33276         },
 33277         "registeredResources": {
 33278           "shape": "Ss"
 33279         },
 33280         "status": {},
 33281         "agentConnected": {
 33282           "type": "boolean"
 33283         },
 33284         "runningTasksCount": {
 33285           "type": "integer"
 33286         },
 33287         "pendingTasksCount": {
 33288           "type": "integer"
 33289         },
 33290         "agentUpdateStatus": {},
 33291         "attributes": {
 33292           "shape": "Sy"
 33293         }
 33294       }
 33295     },
 33296     "Sr": {
 33297       "type": "structure",
 33298       "members": {
 33299         "agentVersion": {},
 33300         "agentHash": {},
 33301         "dockerVersion": {}
 33302       }
 33303     },
 33304     "Ss": {
 33305       "type": "list",
 33306       "member": {
 33307         "type": "structure",
 33308         "members": {
 33309           "name": {},
 33310           "type": {},
 33311           "doubleValue": {
 33312             "type": "double"
 33313           },
 33314           "longValue": {
 33315             "type": "long"
 33316           },
 33317           "integerValue": {
 33318             "type": "integer"
 33319           },
 33320           "stringSetValue": {
 33321             "shape": "Sv"
 33322           }
 33323         }
 33324       }
 33325     },
 33326     "Sv": {
 33327       "type": "list",
 33328       "member": {}
 33329     },
 33330     "Sy": {
 33331       "type": "list",
 33332       "member": {
 33333         "shape": "Sz"
 33334       }
 33335     },
 33336     "Sz": {
 33337       "type": "structure",
 33338       "required": [
 33339         "name"
 33340       ],
 33341       "members": {
 33342         "name": {},
 33343         "value": {}
 33344       }
 33345     },
 33346     "S12": {
 33347       "type": "structure",
 33348       "members": {
 33349         "taskDefinitionArn": {},
 33350         "containerDefinitions": {
 33351           "shape": "S13"
 33352         },
 33353         "family": {},
 33354         "taskRoleArn": {},
 33355         "networkMode": {},
 33356         "revision": {
 33357           "type": "integer"
 33358         },
 33359         "volumes": {
 33360           "shape": "S1o"
 33361         },
 33362         "status": {},
 33363         "requiresAttributes": {
 33364           "type": "list",
 33365           "member": {
 33366             "shape": "Sz"
 33367           }
 33368         }
 33369       }
 33370     },
 33371     "S13": {
 33372       "type": "list",
 33373       "member": {
 33374         "type": "structure",
 33375         "members": {
 33376           "name": {},
 33377           "image": {},
 33378           "cpu": {
 33379             "type": "integer"
 33380           },
 33381           "memory": {
 33382             "type": "integer"
 33383           },
 33384           "memoryReservation": {
 33385             "type": "integer"
 33386           },
 33387           "links": {
 33388             "shape": "Sv"
 33389           },
 33390           "portMappings": {
 33391             "type": "list",
 33392             "member": {
 33393               "type": "structure",
 33394               "members": {
 33395                 "containerPort": {
 33396                   "type": "integer"
 33397                 },
 33398                 "hostPort": {
 33399                   "type": "integer"
 33400                 },
 33401                 "protocol": {}
 33402               }
 33403             }
 33404           },
 33405           "essential": {
 33406             "type": "boolean"
 33407           },
 33408           "entryPoint": {
 33409             "shape": "Sv"
 33410           },
 33411           "command": {
 33412             "shape": "Sv"
 33413           },
 33414           "environment": {
 33415             "shape": "S18"
 33416           },
 33417           "mountPoints": {
 33418             "type": "list",
 33419             "member": {
 33420               "type": "structure",
 33421               "members": {
 33422                 "sourceVolume": {},
 33423                 "containerPath": {},
 33424                 "readOnly": {
 33425                   "type": "boolean"
 33426                 }
 33427               }
 33428             }
 33429           },
 33430           "volumesFrom": {
 33431             "type": "list",
 33432             "member": {
 33433               "type": "structure",
 33434               "members": {
 33435                 "sourceContainer": {},
 33436                 "readOnly": {
 33437                   "type": "boolean"
 33438                 }
 33439               }
 33440             }
 33441           },
 33442           "hostname": {},
 33443           "user": {},
 33444           "workingDirectory": {},
 33445           "disableNetworking": {
 33446             "type": "boolean"
 33447           },
 33448           "privileged": {
 33449             "type": "boolean"
 33450           },
 33451           "readonlyRootFilesystem": {
 33452             "type": "boolean"
 33453           },
 33454           "dnsServers": {
 33455             "shape": "Sv"
 33456           },
 33457           "dnsSearchDomains": {
 33458             "shape": "Sv"
 33459           },
 33460           "extraHosts": {
 33461             "type": "list",
 33462             "member": {
 33463               "type": "structure",
 33464               "required": [
 33465                 "hostname",
 33466                 "ipAddress"
 33467               ],
 33468               "members": {
 33469                 "hostname": {},
 33470                 "ipAddress": {}
 33471               }
 33472             }
 33473           },
 33474           "dockerSecurityOptions": {
 33475             "shape": "Sv"
 33476           },
 33477           "dockerLabels": {
 33478             "type": "map",
 33479             "key": {},
 33480             "value": {}
 33481           },
 33482           "ulimits": {
 33483             "type": "list",
 33484             "member": {
 33485               "type": "structure",
 33486               "required": [
 33487                 "name",
 33488                 "softLimit",
 33489                 "hardLimit"
 33490               ],
 33491               "members": {
 33492                 "name": {},
 33493                 "softLimit": {
 33494                   "type": "integer"
 33495                 },
 33496                 "hardLimit": {
 33497                   "type": "integer"
 33498                 }
 33499               }
 33500             }
 33501           },
 33502           "logConfiguration": {
 33503             "type": "structure",
 33504             "required": [
 33505               "logDriver"
 33506             ],
 33507             "members": {
 33508               "logDriver": {},
 33509               "options": {
 33510                 "type": "map",
 33511                 "key": {},
 33512                 "value": {}
 33513               }
 33514             }
 33515           }
 33516         }
 33517       }
 33518     },
 33519     "S18": {
 33520       "type": "list",
 33521       "member": {
 33522         "type": "structure",
 33523         "members": {
 33524           "name": {},
 33525           "value": {}
 33526         }
 33527       }
 33528     },
 33529     "S1o": {
 33530       "type": "list",
 33531       "member": {
 33532         "type": "structure",
 33533         "members": {
 33534           "name": {},
 33535           "host": {
 33536             "type": "structure",
 33537             "members": {
 33538               "sourcePath": {}
 33539             }
 33540           }
 33541         }
 33542       }
 33543     },
 33544     "S1w": {
 33545       "type": "list",
 33546       "member": {
 33547         "type": "structure",
 33548         "members": {
 33549           "arn": {},
 33550           "reason": {}
 33551         }
 33552       }
 33553     },
 33554     "S28": {
 33555       "type": "list",
 33556       "member": {
 33557         "shape": "S29"
 33558       }
 33559     },
 33560     "S29": {
 33561       "type": "structure",
 33562       "members": {
 33563         "taskArn": {},
 33564         "clusterArn": {},
 33565         "taskDefinitionArn": {},
 33566         "containerInstanceArn": {},
 33567         "overrides": {
 33568           "shape": "S2a"
 33569         },
 33570         "lastStatus": {},
 33571         "desiredStatus": {},
 33572         "containers": {
 33573           "type": "list",
 33574           "member": {
 33575             "type": "structure",
 33576             "members": {
 33577               "containerArn": {},
 33578               "taskArn": {},
 33579               "name": {},
 33580               "lastStatus": {},
 33581               "exitCode": {
 33582                 "type": "integer"
 33583               },
 33584               "reason": {},
 33585               "networkBindings": {
 33586                 "shape": "S2f"
 33587               }
 33588             }
 33589           }
 33590         },
 33591         "startedBy": {},
 33592         "version": {
 33593           "type": "long"
 33594         },
 33595         "stoppedReason": {},
 33596         "createdAt": {
 33597           "type": "timestamp"
 33598         },
 33599         "startedAt": {
 33600           "type": "timestamp"
 33601         },
 33602         "stoppedAt": {
 33603           "type": "timestamp"
 33604         }
 33605       }
 33606     },
 33607     "S2a": {
 33608       "type": "structure",
 33609       "members": {
 33610         "containerOverrides": {
 33611           "type": "list",
 33612           "member": {
 33613             "type": "structure",
 33614             "members": {
 33615               "name": {},
 33616               "command": {
 33617                 "shape": "Sv"
 33618               },
 33619               "environment": {
 33620                 "shape": "S18"
 33621               }
 33622             }
 33623           }
 33624         },
 33625         "taskRoleArn": {}
 33626       }
 33627     },
 33628     "S2f": {
 33629       "type": "list",
 33630       "member": {
 33631         "type": "structure",
 33632         "members": {
 33633           "bindIP": {},
 33634           "containerPort": {
 33635             "type": "integer"
 33636           },
 33637           "hostPort": {
 33638             "type": "integer"
 33639           },
 33640           "protocol": {}
 33641         }
 33642       }
 33643     }
 33644   }
 33645 }
 33646 },{}],45:[function(require,module,exports){
 33647 module.exports={
 33648         "pagination": {
 33649                 "ListClusters": {
 33650                         "input_token": "nextToken",
 33651                         "output_token": "nextToken",
 33652                         "limit_key": "maxResults",
 33653                         "result_key": "clusterArns"
 33654                 },
 33655                 "ListContainerInstances": {
 33656                         "input_token": "nextToken",
 33657                         "output_token": "nextToken",
 33658                         "limit_key": "maxResults",
 33659                         "result_key": "containerInstanceArns"
 33660                 },
 33661                 "ListTaskDefinitions": {
 33662                         "input_token": "nextToken",
 33663                         "output_token": "nextToken",
 33664                         "limit_key": "maxResults",
 33665                         "result_key": "taskDefinitionArns"
 33666                 },
 33667                 "ListTaskDefinitionFamilies": {
 33668                         "input_token": "nextToken",
 33669                         "output_token": "nextToken",
 33670                         "limit_key": "maxResults",
 33671                         "result_key": "families"
 33672                 },
 33673                 "ListTasks": {
 33674                         "input_token": "nextToken",
 33675                         "output_token": "nextToken",
 33676                         "limit_key": "maxResults",
 33677                         "result_key": "taskArns"
 33678                 },
 33679                 "ListServices": {
 33680                         "input_token": "nextToken",
 33681                         "output_token": "nextToken",
 33682                         "limit_key": "maxResults",
 33683                         "result_key": "serviceArns"
 33684                 }
 33685         }
 33686 }
 33687 
 33688 },{}],46:[function(require,module,exports){
 33689 module.exports={
 33690   "version": 2,
 33691   "waiters": {
 33692     "TasksRunning": {
 33693       "delay": 6,
 33694       "operation": "DescribeTasks",
 33695       "maxAttempts": 100,
 33696       "acceptors": [
 33697         {
 33698           "expected": "STOPPED",
 33699           "matcher": "pathAny",
 33700           "state": "failure",
 33701           "argument": "tasks[].lastStatus"
 33702         },
 33703         {
 33704           "expected": "MISSING",
 33705           "matcher": "pathAny",
 33706           "state": "failure",
 33707           "argument": "failures[].reason"
 33708         },
 33709         {
 33710           "expected": "RUNNING",
 33711           "matcher": "pathAll",
 33712           "state": "success",
 33713           "argument": "tasks[].lastStatus"
 33714         }
 33715       ]
 33716     },
 33717     "TasksStopped": {
 33718       "delay": 6,
 33719       "operation": "DescribeTasks",
 33720       "maxAttempts": 100,
 33721       "acceptors": [
 33722         {
 33723           "expected": "STOPPED",
 33724           "matcher": "pathAll",
 33725           "state": "success",
 33726           "argument": "tasks[].lastStatus"
 33727         }
 33728       ]
 33729     },
 33730     "ServicesStable": {
 33731       "delay": 15,
 33732       "operation": "DescribeServices",
 33733       "maxAttempts": 40,
 33734       "acceptors": [
 33735         {
 33736           "expected": "MISSING",
 33737           "matcher": "pathAny",
 33738           "state": "failure",
 33739           "argument": "failures[].reason"
 33740         },
 33741         {
 33742           "expected": "DRAINING",
 33743           "matcher": "pathAny",
 33744           "state": "failure",
 33745           "argument": "services[].status"
 33746         },
 33747         {
 33748           "expected": "INACTIVE",
 33749           "matcher": "pathAny",
 33750           "state": "failure",
 33751           "argument": "services[].status"
 33752         },
 33753         {
 33754           "expected": true,
 33755           "matcher": "path",
 33756           "state": "success",
 33757           "argument": "length(services[?!(length(deployments) == `1` && runningCount == desiredCount)]) == `0`"
 33758         }
 33759       ]
 33760     },
 33761     "ServicesInactive": {
 33762       "delay": 15,
 33763       "operation": "DescribeServices",
 33764       "maxAttempts": 40,
 33765       "acceptors": [
 33766         {
 33767           "expected": "MISSING",
 33768           "matcher": "pathAny",
 33769           "state": "failure",
 33770           "argument": "failures[].reason"
 33771         },
 33772         {
 33773           "expected": "INACTIVE",
 33774           "matcher": "pathAny",
 33775           "state": "success",
 33776           "argument": "services[].status"
 33777         }
 33778       ]
 33779     }
 33780   }
 33781 }
 33782 
 33783 },{}],47:[function(require,module,exports){
 33784 module.exports={
 33785   "version": "2.0",
 33786   "metadata": {
 33787     "apiVersion": "2015-02-02",
 33788     "endpointPrefix": "elasticache",
 33789     "protocol": "query",
 33790     "serviceFullName": "Amazon ElastiCache",
 33791     "signatureVersion": "v4",
 33792     "xmlNamespace": "http://elasticache.amazonaws.com/doc/2015-02-02/"
 33793   },
 33794   "operations": {
 33795     "AddTagsToResource": {
 33796       "input": {
 33797         "type": "structure",
 33798         "required": [
 33799           "ResourceName",
 33800           "Tags"
 33801         ],
 33802         "members": {
 33803           "ResourceName": {},
 33804           "Tags": {
 33805             "shape": "S3"
 33806           }
 33807         }
 33808       },
 33809       "output": {
 33810         "shape": "S5",
 33811         "resultWrapper": "AddTagsToResourceResult"
 33812       }
 33813     },
 33814     "AuthorizeCacheSecurityGroupIngress": {
 33815       "input": {
 33816         "type": "structure",
 33817         "required": [
 33818           "CacheSecurityGroupName",
 33819           "EC2SecurityGroupName",
 33820           "EC2SecurityGroupOwnerId"
 33821         ],
 33822         "members": {
 33823           "CacheSecurityGroupName": {},
 33824           "EC2SecurityGroupName": {},
 33825           "EC2SecurityGroupOwnerId": {}
 33826         }
 33827       },
 33828       "output": {
 33829         "resultWrapper": "AuthorizeCacheSecurityGroupIngressResult",
 33830         "type": "structure",
 33831         "members": {
 33832           "CacheSecurityGroup": {
 33833             "shape": "S8"
 33834           }
 33835         }
 33836       }
 33837     },
 33838     "CopySnapshot": {
 33839       "input": {
 33840         "type": "structure",
 33841         "required": [
 33842           "SourceSnapshotName",
 33843           "TargetSnapshotName"
 33844         ],
 33845         "members": {
 33846           "SourceSnapshotName": {},
 33847           "TargetSnapshotName": {},
 33848           "TargetBucket": {}
 33849         }
 33850       },
 33851       "output": {
 33852         "resultWrapper": "CopySnapshotResult",
 33853         "type": "structure",
 33854         "members": {
 33855           "Snapshot": {
 33856             "shape": "Sd"
 33857           }
 33858         }
 33859       }
 33860     },
 33861     "CreateCacheCluster": {
 33862       "input": {
 33863         "type": "structure",
 33864         "required": [
 33865           "CacheClusterId"
 33866         ],
 33867         "members": {
 33868           "CacheClusterId": {},
 33869           "ReplicationGroupId": {},
 33870           "AZMode": {},
 33871           "PreferredAvailabilityZone": {},
 33872           "PreferredAvailabilityZones": {
 33873             "shape": "So"
 33874           },
 33875           "NumCacheNodes": {
 33876             "type": "integer"
 33877           },
 33878           "CacheNodeType": {},
 33879           "Engine": {},
 33880           "EngineVersion": {},
 33881           "CacheParameterGroupName": {},
 33882           "CacheSubnetGroupName": {},
 33883           "CacheSecurityGroupNames": {
 33884             "shape": "Sp"
 33885           },
 33886           "SecurityGroupIds": {
 33887             "shape": "Sq"
 33888           },
 33889           "Tags": {
 33890             "shape": "S3"
 33891           },
 33892           "SnapshotArns": {
 33893             "shape": "Sr"
 33894           },
 33895           "SnapshotName": {},
 33896           "PreferredMaintenanceWindow": {},
 33897           "Port": {
 33898             "type": "integer"
 33899           },
 33900           "NotificationTopicArn": {},
 33901           "AutoMinorVersionUpgrade": {
 33902             "type": "boolean"
 33903           },
 33904           "SnapshotRetentionLimit": {
 33905             "type": "integer"
 33906           },
 33907           "SnapshotWindow": {},
 33908           "AuthToken": {}
 33909         }
 33910       },
 33911       "output": {
 33912         "resultWrapper": "CreateCacheClusterResult",
 33913         "type": "structure",
 33914         "members": {
 33915           "CacheCluster": {
 33916             "shape": "Su"
 33917           }
 33918         }
 33919       }
 33920     },
 33921     "CreateCacheParameterGroup": {
 33922       "input": {
 33923         "type": "structure",
 33924         "required": [
 33925           "CacheParameterGroupName",
 33926           "CacheParameterGroupFamily",
 33927           "Description"
 33928         ],
 33929         "members": {
 33930           "CacheParameterGroupName": {},
 33931           "CacheParameterGroupFamily": {},
 33932           "Description": {}
 33933         }
 33934       },
 33935       "output": {
 33936         "resultWrapper": "CreateCacheParameterGroupResult",
 33937         "type": "structure",
 33938         "members": {
 33939           "CacheParameterGroup": {
 33940             "shape": "S19"
 33941           }
 33942         }
 33943       }
 33944     },
 33945     "CreateCacheSecurityGroup": {
 33946       "input": {
 33947         "type": "structure",
 33948         "required": [
 33949           "CacheSecurityGroupName",
 33950           "Description"
 33951         ],
 33952         "members": {
 33953           "CacheSecurityGroupName": {},
 33954           "Description": {}
 33955         }
 33956       },
 33957       "output": {
 33958         "resultWrapper": "CreateCacheSecurityGroupResult",
 33959         "type": "structure",
 33960         "members": {
 33961           "CacheSecurityGroup": {
 33962             "shape": "S8"
 33963           }
 33964         }
 33965       }
 33966     },
 33967     "CreateCacheSubnetGroup": {
 33968       "input": {
 33969         "type": "structure",
 33970         "required": [
 33971           "CacheSubnetGroupName",
 33972           "CacheSubnetGroupDescription",
 33973           "SubnetIds"
 33974         ],
 33975         "members": {
 33976           "CacheSubnetGroupName": {},
 33977           "CacheSubnetGroupDescription": {},
 33978           "SubnetIds": {
 33979             "shape": "S1d"
 33980           }
 33981         }
 33982       },
 33983       "output": {
 33984         "resultWrapper": "CreateCacheSubnetGroupResult",
 33985         "type": "structure",
 33986         "members": {
 33987           "CacheSubnetGroup": {
 33988             "shape": "S1f"
 33989           }
 33990         }
 33991       }
 33992     },
 33993     "CreateReplicationGroup": {
 33994       "input": {
 33995         "type": "structure",
 33996         "required": [
 33997           "ReplicationGroupId",
 33998           "ReplicationGroupDescription"
 33999         ],
 34000         "members": {
 34001           "ReplicationGroupId": {},
 34002           "ReplicationGroupDescription": {},
 34003           "PrimaryClusterId": {},
 34004           "AutomaticFailoverEnabled": {
 34005             "type": "boolean"
 34006           },
 34007           "NumCacheClusters": {
 34008             "type": "integer"
 34009           },
 34010           "PreferredCacheClusterAZs": {
 34011             "shape": "Sl"
 34012           },
 34013           "NumNodeGroups": {
 34014             "type": "integer"
 34015           },
 34016           "ReplicasPerNodeGroup": {
 34017             "type": "integer"
 34018           },
 34019           "NodeGroupConfiguration": {
 34020             "type": "list",
 34021             "member": {
 34022               "shape": "Sk",
 34023               "locationName": "NodeGroupConfiguration"
 34024             }
 34025           },
 34026           "CacheNodeType": {},
 34027           "Engine": {},
 34028           "EngineVersion": {},
 34029           "CacheParameterGroupName": {},
 34030           "CacheSubnetGroupName": {},
 34031           "CacheSecurityGroupNames": {
 34032             "shape": "Sp"
 34033           },
 34034           "SecurityGroupIds": {
 34035             "shape": "Sq"
 34036           },
 34037           "Tags": {
 34038             "shape": "S3"
 34039           },
 34040           "SnapshotArns": {
 34041             "shape": "Sr"
 34042           },
 34043           "SnapshotName": {},
 34044           "PreferredMaintenanceWindow": {},
 34045           "Port": {
 34046             "type": "integer"
 34047           },
 34048           "NotificationTopicArn": {},
 34049           "AutoMinorVersionUpgrade": {
 34050             "type": "boolean"
 34051           },
 34052           "SnapshotRetentionLimit": {
 34053             "type": "integer"
 34054           },
 34055           "SnapshotWindow": {},
 34056           "AuthToken": {}
 34057         }
 34058       },
 34059       "output": {
 34060         "resultWrapper": "CreateReplicationGroupResult",
 34061         "type": "structure",
 34062         "members": {
 34063           "ReplicationGroup": {
 34064             "shape": "S1m"
 34065           }
 34066         }
 34067       }
 34068     },
 34069     "CreateSnapshot": {
 34070       "input": {
 34071         "type": "structure",
 34072         "required": [
 34073           "SnapshotName"
 34074         ],
 34075         "members": {
 34076           "ReplicationGroupId": {},
 34077           "CacheClusterId": {},
 34078           "SnapshotName": {}
 34079         }
 34080       },
 34081       "output": {
 34082         "resultWrapper": "CreateSnapshotResult",
 34083         "type": "structure",
 34084         "members": {
 34085           "Snapshot": {
 34086             "shape": "Sd"
 34087           }
 34088         }
 34089       }
 34090     },
 34091     "DeleteCacheCluster": {
 34092       "input": {
 34093         "type": "structure",
 34094         "required": [
 34095           "CacheClusterId"
 34096         ],
 34097         "members": {
 34098           "CacheClusterId": {},
 34099           "FinalSnapshotIdentifier": {}
 34100         }
 34101       },
 34102       "output": {
 34103         "resultWrapper": "DeleteCacheClusterResult",
 34104         "type": "structure",
 34105         "members": {
 34106           "CacheCluster": {
 34107             "shape": "Su"
 34108           }
 34109         }
 34110       }
 34111     },
 34112     "DeleteCacheParameterGroup": {
 34113       "input": {
 34114         "type": "structure",
 34115         "required": [
 34116           "CacheParameterGroupName"
 34117         ],
 34118         "members": {
 34119           "CacheParameterGroupName": {}
 34120         }
 34121       }
 34122     },
 34123     "DeleteCacheSecurityGroup": {
 34124       "input": {
 34125         "type": "structure",
 34126         "required": [
 34127           "CacheSecurityGroupName"
 34128         ],
 34129         "members": {
 34130           "CacheSecurityGroupName": {}
 34131         }
 34132       }
 34133     },
 34134     "DeleteCacheSubnetGroup": {
 34135       "input": {
 34136         "type": "structure",
 34137         "required": [
 34138           "CacheSubnetGroupName"
 34139         ],
 34140         "members": {
 34141           "CacheSubnetGroupName": {}
 34142         }
 34143       }
 34144     },
 34145     "DeleteReplicationGroup": {
 34146       "input": {
 34147         "type": "structure",
 34148         "required": [
 34149           "ReplicationGroupId"
 34150         ],
 34151         "members": {
 34152           "ReplicationGroupId": {},
 34153           "RetainPrimaryCluster": {
 34154             "type": "boolean"
 34155           },
 34156           "FinalSnapshotIdentifier": {}
 34157         }
 34158       },
 34159       "output": {
 34160         "resultWrapper": "DeleteReplicationGroupResult",
 34161         "type": "structure",
 34162         "members": {
 34163           "ReplicationGroup": {
 34164             "shape": "S1m"
 34165           }
 34166         }
 34167       }
 34168     },
 34169     "DeleteSnapshot": {
 34170       "input": {
 34171         "type": "structure",
 34172         "required": [
 34173           "SnapshotName"
 34174         ],
 34175         "members": {
 34176           "SnapshotName": {}
 34177         }
 34178       },
 34179       "output": {
 34180         "resultWrapper": "DeleteSnapshotResult",
 34181         "type": "structure",
 34182         "members": {
 34183           "Snapshot": {
 34184             "shape": "Sd"
 34185           }
 34186         }
 34187       }
 34188     },
 34189     "DescribeCacheClusters": {
 34190       "input": {
 34191         "type": "structure",
 34192         "members": {
 34193           "CacheClusterId": {},
 34194           "MaxRecords": {
 34195             "type": "integer"
 34196           },
 34197           "Marker": {},
 34198           "ShowCacheNodeInfo": {
 34199             "type": "boolean"
 34200           }
 34201         }
 34202       },
 34203       "output": {
 34204         "resultWrapper": "DescribeCacheClustersResult",
 34205         "type": "structure",
 34206         "members": {
 34207           "Marker": {},
 34208           "CacheClusters": {
 34209             "type": "list",
 34210             "member": {
 34211               "shape": "Su",
 34212               "locationName": "CacheCluster"
 34213             }
 34214           }
 34215         }
 34216       }
 34217     },
 34218     "DescribeCacheEngineVersions": {
 34219       "input": {
 34220         "type": "structure",
 34221         "members": {
 34222           "Engine": {},
 34223           "EngineVersion": {},
 34224           "CacheParameterGroupFamily": {},
 34225           "MaxRecords": {
 34226             "type": "integer"
 34227           },
 34228           "Marker": {},
 34229           "DefaultOnly": {
 34230             "type": "boolean"
 34231           }
 34232         }
 34233       },
 34234       "output": {
 34235         "resultWrapper": "DescribeCacheEngineVersionsResult",
 34236         "type": "structure",
 34237         "members": {
 34238           "Marker": {},
 34239           "CacheEngineVersions": {
 34240             "type": "list",
 34241             "member": {
 34242               "locationName": "CacheEngineVersion",
 34243               "type": "structure",
 34244               "members": {
 34245                 "Engine": {},
 34246                 "EngineVersion": {},
 34247                 "CacheParameterGroupFamily": {},
 34248                 "CacheEngineDescription": {},
 34249                 "CacheEngineVersionDescription": {}
 34250               }
 34251             }
 34252           }
 34253         }
 34254       }
 34255     },
 34256     "DescribeCacheParameterGroups": {
 34257       "input": {
 34258         "type": "structure",
 34259         "members": {
 34260           "CacheParameterGroupName": {},
 34261           "MaxRecords": {
 34262             "type": "integer"
 34263           },
 34264           "Marker": {}
 34265         }
 34266       },
 34267       "output": {
 34268         "resultWrapper": "DescribeCacheParameterGroupsResult",
 34269         "type": "structure",
 34270         "members": {
 34271           "Marker": {},
 34272           "CacheParameterGroups": {
 34273             "type": "list",
 34274             "member": {
 34275               "shape": "S19",
 34276               "locationName": "CacheParameterGroup"
 34277             }
 34278           }
 34279         }
 34280       }
 34281     },
 34282     "DescribeCacheParameters": {
 34283       "input": {
 34284         "type": "structure",
 34285         "required": [
 34286           "CacheParameterGroupName"
 34287         ],
 34288         "members": {
 34289           "CacheParameterGroupName": {},
 34290           "Source": {},
 34291           "MaxRecords": {
 34292             "type": "integer"
 34293           },
 34294           "Marker": {}
 34295         }
 34296       },
 34297       "output": {
 34298         "resultWrapper": "DescribeCacheParametersResult",
 34299         "type": "structure",
 34300         "members": {
 34301           "Marker": {},
 34302           "Parameters": {
 34303             "shape": "S2h"
 34304           },
 34305           "CacheNodeTypeSpecificParameters": {
 34306             "shape": "S2k"
 34307           }
 34308         }
 34309       }
 34310     },
 34311     "DescribeCacheSecurityGroups": {
 34312       "input": {
 34313         "type": "structure",
 34314         "members": {
 34315           "CacheSecurityGroupName": {},
 34316           "MaxRecords": {
 34317             "type": "integer"
 34318           },
 34319           "Marker": {}
 34320         }
 34321       },
 34322       "output": {
 34323         "resultWrapper": "DescribeCacheSecurityGroupsResult",
 34324         "type": "structure",
 34325         "members": {
 34326           "Marker": {},
 34327           "CacheSecurityGroups": {
 34328             "type": "list",
 34329             "member": {
 34330               "shape": "S8",
 34331               "locationName": "CacheSecurityGroup"
 34332             }
 34333           }
 34334         }
 34335       }
 34336     },
 34337     "DescribeCacheSubnetGroups": {
 34338       "input": {
 34339         "type": "structure",
 34340         "members": {
 34341           "CacheSubnetGroupName": {},
 34342           "MaxRecords": {
 34343             "type": "integer"
 34344           },
 34345           "Marker": {}
 34346         }
 34347       },
 34348       "output": {
 34349         "resultWrapper": "DescribeCacheSubnetGroupsResult",
 34350         "type": "structure",
 34351         "members": {
 34352           "Marker": {},
 34353           "CacheSubnetGroups": {
 34354             "type": "list",
 34355             "member": {
 34356               "shape": "S1f",
 34357               "locationName": "CacheSubnetGroup"
 34358             }
 34359           }
 34360         }
 34361       }
 34362     },
 34363     "DescribeEngineDefaultParameters": {
 34364       "input": {
 34365         "type": "structure",
 34366         "required": [
 34367           "CacheParameterGroupFamily"
 34368         ],
 34369         "members": {
 34370           "CacheParameterGroupFamily": {},
 34371           "MaxRecords": {
 34372             "type": "integer"
 34373           },
 34374           "Marker": {}
 34375         }
 34376       },
 34377       "output": {
 34378         "resultWrapper": "DescribeEngineDefaultParametersResult",
 34379         "type": "structure",
 34380         "members": {
 34381           "EngineDefaults": {
 34382             "type": "structure",
 34383             "members": {
 34384               "CacheParameterGroupFamily": {},
 34385               "Marker": {},
 34386               "Parameters": {
 34387                 "shape": "S2h"
 34388               },
 34389               "CacheNodeTypeSpecificParameters": {
 34390                 "shape": "S2k"
 34391               }
 34392             },
 34393             "wrapper": true
 34394           }
 34395         }
 34396       }
 34397     },
 34398     "DescribeEvents": {
 34399       "input": {
 34400         "type": "structure",
 34401         "members": {
 34402           "SourceIdentifier": {},
 34403           "SourceType": {},
 34404           "StartTime": {
 34405             "type": "timestamp"
 34406           },
 34407           "EndTime": {
 34408             "type": "timestamp"
 34409           },
 34410           "Duration": {
 34411             "type": "integer"
 34412           },
 34413           "MaxRecords": {
 34414             "type": "integer"
 34415           },
 34416           "Marker": {}
 34417         }
 34418       },
 34419       "output": {
 34420         "resultWrapper": "DescribeEventsResult",
 34421         "type": "structure",
 34422         "members": {
 34423           "Marker": {},
 34424           "Events": {
 34425             "type": "list",
 34426             "member": {
 34427               "locationName": "Event",
 34428               "type": "structure",
 34429               "members": {
 34430                 "SourceIdentifier": {},
 34431                 "SourceType": {},
 34432                 "Message": {},
 34433                 "Date": {
 34434                   "type": "timestamp"
 34435                 }
 34436               }
 34437             }
 34438           }
 34439         }
 34440       }
 34441     },
 34442     "DescribeReplicationGroups": {
 34443       "input": {
 34444         "type": "structure",
 34445         "members": {
 34446           "ReplicationGroupId": {},
 34447           "MaxRecords": {
 34448             "type": "integer"
 34449           },
 34450           "Marker": {}
 34451         }
 34452       },
 34453       "output": {
 34454         "resultWrapper": "DescribeReplicationGroupsResult",
 34455         "type": "structure",
 34456         "members": {
 34457           "Marker": {},
 34458           "ReplicationGroups": {
 34459             "type": "list",
 34460             "member": {
 34461               "shape": "S1m",
 34462               "locationName": "ReplicationGroup"
 34463             }
 34464           }
 34465         }
 34466       }
 34467     },
 34468     "DescribeReservedCacheNodes": {
 34469       "input": {
 34470         "type": "structure",
 34471         "members": {
 34472           "ReservedCacheNodeId": {},
 34473           "ReservedCacheNodesOfferingId": {},
 34474           "CacheNodeType": {},
 34475           "Duration": {},
 34476           "ProductDescription": {},
 34477           "OfferingType": {},
 34478           "MaxRecords": {
 34479             "type": "integer"
 34480           },
 34481           "Marker": {}
 34482         }
 34483       },
 34484       "output": {
 34485         "resultWrapper": "DescribeReservedCacheNodesResult",
 34486         "type": "structure",
 34487         "members": {
 34488           "Marker": {},
 34489           "ReservedCacheNodes": {
 34490             "type": "list",
 34491             "member": {
 34492               "shape": "S38",
 34493               "locationName": "ReservedCacheNode"
 34494             }
 34495           }
 34496         }
 34497       }
 34498     },
 34499     "DescribeReservedCacheNodesOfferings": {
 34500       "input": {
 34501         "type": "structure",
 34502         "members": {
 34503           "ReservedCacheNodesOfferingId": {},
 34504           "CacheNodeType": {},
 34505           "Duration": {},
 34506           "ProductDescription": {},
 34507           "OfferingType": {},
 34508           "MaxRecords": {
 34509             "type": "integer"
 34510           },
 34511           "Marker": {}
 34512         }
 34513       },
 34514       "output": {
 34515         "resultWrapper": "DescribeReservedCacheNodesOfferingsResult",
 34516         "type": "structure",
 34517         "members": {
 34518           "Marker": {},
 34519           "ReservedCacheNodesOfferings": {
 34520             "type": "list",
 34521             "member": {
 34522               "locationName": "ReservedCacheNodesOffering",
 34523               "type": "structure",
 34524               "members": {
 34525                 "ReservedCacheNodesOfferingId": {},
 34526                 "CacheNodeType": {},
 34527                 "Duration": {
 34528                   "type": "integer"
 34529                 },
 34530                 "FixedPrice": {
 34531                   "type": "double"
 34532                 },
 34533                 "UsagePrice": {
 34534                   "type": "double"
 34535                 },
 34536                 "ProductDescription": {},
 34537                 "OfferingType": {},
 34538                 "RecurringCharges": {
 34539                   "shape": "S3a"
 34540                 }
 34541               },
 34542               "wrapper": true
 34543             }
 34544           }
 34545         }
 34546       }
 34547     },
 34548     "DescribeSnapshots": {
 34549       "input": {
 34550         "type": "structure",
 34551         "members": {
 34552           "ReplicationGroupId": {},
 34553           "CacheClusterId": {},
 34554           "SnapshotName": {},
 34555           "SnapshotSource": {},
 34556           "Marker": {},
 34557           "MaxRecords": {
 34558             "type": "integer"
 34559           },
 34560           "ShowNodeGroupConfig": {
 34561             "type": "boolean"
 34562           }
 34563         }
 34564       },
 34565       "output": {
 34566         "resultWrapper": "DescribeSnapshotsResult",
 34567         "type": "structure",
 34568         "members": {
 34569           "Marker": {},
 34570           "Snapshots": {
 34571             "type": "list",
 34572             "member": {
 34573               "shape": "Sd",
 34574               "locationName": "Snapshot"
 34575             }
 34576           }
 34577         }
 34578       }
 34579     },
 34580     "ListAllowedNodeTypeModifications": {
 34581       "input": {
 34582         "type": "structure",
 34583         "members": {
 34584           "CacheClusterId": {},
 34585           "ReplicationGroupId": {}
 34586         }
 34587       },
 34588       "output": {
 34589         "resultWrapper": "ListAllowedNodeTypeModificationsResult",
 34590         "type": "structure",
 34591         "members": {
 34592           "ScaleUpModifications": {
 34593             "type": "list",
 34594             "member": {}
 34595           }
 34596         }
 34597       }
 34598     },
 34599     "ListTagsForResource": {
 34600       "input": {
 34601         "type": "structure",
 34602         "required": [
 34603           "ResourceName"
 34604         ],
 34605         "members": {
 34606           "ResourceName": {}
 34607         }
 34608       },
 34609       "output": {
 34610         "shape": "S5",
 34611         "resultWrapper": "ListTagsForResourceResult"
 34612       }
 34613     },
 34614     "ModifyCacheCluster": {
 34615       "input": {
 34616         "type": "structure",
 34617         "required": [
 34618           "CacheClusterId"
 34619         ],
 34620         "members": {
 34621           "CacheClusterId": {},
 34622           "NumCacheNodes": {
 34623             "type": "integer"
 34624           },
 34625           "CacheNodeIdsToRemove": {
 34626             "shape": "Sy"
 34627           },
 34628           "AZMode": {},
 34629           "NewAvailabilityZones": {
 34630             "shape": "So"
 34631           },
 34632           "CacheSecurityGroupNames": {
 34633             "shape": "Sp"
 34634           },
 34635           "SecurityGroupIds": {
 34636             "shape": "Sq"
 34637           },
 34638           "PreferredMaintenanceWindow": {},
 34639           "NotificationTopicArn": {},
 34640           "CacheParameterGroupName": {},
 34641           "NotificationTopicStatus": {},
 34642           "ApplyImmediately": {
 34643             "type": "boolean"
 34644           },
 34645           "EngineVersion": {},
 34646           "AutoMinorVersionUpgrade": {
 34647             "type": "boolean"
 34648           },
 34649           "SnapshotRetentionLimit": {
 34650             "type": "integer"
 34651           },
 34652           "SnapshotWindow": {},
 34653           "CacheNodeType": {}
 34654         }
 34655       },
 34656       "output": {
 34657         "resultWrapper": "ModifyCacheClusterResult",
 34658         "type": "structure",
 34659         "members": {
 34660           "CacheCluster": {
 34661             "shape": "Su"
 34662           }
 34663         }
 34664       }
 34665     },
 34666     "ModifyCacheParameterGroup": {
 34667       "input": {
 34668         "type": "structure",
 34669         "required": [
 34670           "CacheParameterGroupName",
 34671           "ParameterNameValues"
 34672         ],
 34673         "members": {
 34674           "CacheParameterGroupName": {},
 34675           "ParameterNameValues": {
 34676             "shape": "S3q"
 34677           }
 34678         }
 34679       },
 34680       "output": {
 34681         "shape": "S3s",
 34682         "resultWrapper": "ModifyCacheParameterGroupResult"
 34683       }
 34684     },
 34685     "ModifyCacheSubnetGroup": {
 34686       "input": {
 34687         "type": "structure",
 34688         "required": [
 34689           "CacheSubnetGroupName"
 34690         ],
 34691         "members": {
 34692           "CacheSubnetGroupName": {},
 34693           "CacheSubnetGroupDescription": {},
 34694           "SubnetIds": {
 34695             "shape": "S1d"
 34696           }
 34697         }
 34698       },
 34699       "output": {
 34700         "resultWrapper": "ModifyCacheSubnetGroupResult",
 34701         "type": "structure",
 34702         "members": {
 34703           "CacheSubnetGroup": {
 34704             "shape": "S1f"
 34705           }
 34706         }
 34707       }
 34708     },
 34709     "ModifyReplicationGroup": {
 34710       "input": {
 34711         "type": "structure",
 34712         "required": [
 34713           "ReplicationGroupId"
 34714         ],
 34715         "members": {
 34716           "ReplicationGroupId": {},
 34717           "ReplicationGroupDescription": {},
 34718           "PrimaryClusterId": {},
 34719           "SnapshottingClusterId": {},
 34720           "AutomaticFailoverEnabled": {
 34721             "type": "boolean"
 34722           },
 34723           "CacheSecurityGroupNames": {
 34724             "shape": "Sp"
 34725           },
 34726           "SecurityGroupIds": {
 34727             "shape": "Sq"
 34728           },
 34729           "PreferredMaintenanceWindow": {},
 34730           "NotificationTopicArn": {},
 34731           "CacheParameterGroupName": {},
 34732           "NotificationTopicStatus": {},
 34733           "ApplyImmediately": {
 34734             "type": "boolean"
 34735           },
 34736           "EngineVersion": {},
 34737           "AutoMinorVersionUpgrade": {
 34738             "type": "boolean"
 34739           },
 34740           "SnapshotRetentionLimit": {
 34741             "type": "integer"
 34742           },
 34743           "SnapshotWindow": {},
 34744           "CacheNodeType": {}
 34745         }
 34746       },
 34747       "output": {
 34748         "resultWrapper": "ModifyReplicationGroupResult",
 34749         "type": "structure",
 34750         "members": {
 34751           "ReplicationGroup": {
 34752             "shape": "S1m"
 34753           }
 34754         }
 34755       }
 34756     },
 34757     "PurchaseReservedCacheNodesOffering": {
 34758       "input": {
 34759         "type": "structure",
 34760         "required": [
 34761           "ReservedCacheNodesOfferingId"
 34762         ],
 34763         "members": {
 34764           "ReservedCacheNodesOfferingId": {},
 34765           "ReservedCacheNodeId": {},
 34766           "CacheNodeCount": {
 34767             "type": "integer"
 34768           }
 34769         }
 34770       },
 34771       "output": {
 34772         "resultWrapper": "PurchaseReservedCacheNodesOfferingResult",
 34773         "type": "structure",
 34774         "members": {
 34775           "ReservedCacheNode": {
 34776             "shape": "S38"
 34777           }
 34778         }
 34779       }
 34780     },
 34781     "RebootCacheCluster": {
 34782       "input": {
 34783         "type": "structure",
 34784         "required": [
 34785           "CacheClusterId",
 34786           "CacheNodeIdsToReboot"
 34787         ],
 34788         "members": {
 34789           "CacheClusterId": {},
 34790           "CacheNodeIdsToReboot": {
 34791             "shape": "Sy"
 34792           }
 34793         }
 34794       },
 34795       "output": {
 34796         "resultWrapper": "RebootCacheClusterResult",
 34797         "type": "structure",
 34798         "members": {
 34799           "CacheCluster": {
 34800             "shape": "Su"
 34801           }
 34802         }
 34803       }
 34804     },
 34805     "RemoveTagsFromResource": {
 34806       "input": {
 34807         "type": "structure",
 34808         "required": [
 34809           "ResourceName",
 34810           "TagKeys"
 34811         ],
 34812         "members": {
 34813           "ResourceName": {},
 34814           "TagKeys": {
 34815             "type": "list",
 34816             "member": {}
 34817           }
 34818         }
 34819       },
 34820       "output": {
 34821         "shape": "S5",
 34822         "resultWrapper": "RemoveTagsFromResourceResult"
 34823       }
 34824     },
 34825     "ResetCacheParameterGroup": {
 34826       "input": {
 34827         "type": "structure",
 34828         "required": [
 34829           "CacheParameterGroupName"
 34830         ],
 34831         "members": {
 34832           "CacheParameterGroupName": {},
 34833           "ResetAllParameters": {
 34834             "type": "boolean"
 34835           },
 34836           "ParameterNameValues": {
 34837             "shape": "S3q"
 34838           }
 34839         }
 34840       },
 34841       "output": {
 34842         "shape": "S3s",
 34843         "resultWrapper": "ResetCacheParameterGroupResult"
 34844       }
 34845     },
 34846     "RevokeCacheSecurityGroupIngress": {
 34847       "input": {
 34848         "type": "structure",
 34849         "required": [
 34850           "CacheSecurityGroupName",
 34851           "EC2SecurityGroupName",
 34852           "EC2SecurityGroupOwnerId"
 34853         ],
 34854         "members": {
 34855           "CacheSecurityGroupName": {},
 34856           "EC2SecurityGroupName": {},
 34857           "EC2SecurityGroupOwnerId": {}
 34858         }
 34859       },
 34860       "output": {
 34861         "resultWrapper": "RevokeCacheSecurityGroupIngressResult",
 34862         "type": "structure",
 34863         "members": {
 34864           "CacheSecurityGroup": {
 34865             "shape": "S8"
 34866           }
 34867         }
 34868       }
 34869     }
 34870   },
 34871   "shapes": {
 34872     "S3": {
 34873       "type": "list",
 34874       "member": {
 34875         "locationName": "Tag",
 34876         "type": "structure",
 34877         "members": {
 34878           "Key": {},
 34879           "Value": {}
 34880         }
 34881       }
 34882     },
 34883     "S5": {
 34884       "type": "structure",
 34885       "members": {
 34886         "TagList": {
 34887           "shape": "S3"
 34888         }
 34889       }
 34890     },
 34891     "S8": {
 34892       "type": "structure",
 34893       "members": {
 34894         "OwnerId": {},
 34895         "CacheSecurityGroupName": {},
 34896         "Description": {},
 34897         "EC2SecurityGroups": {
 34898           "type": "list",
 34899           "member": {
 34900             "locationName": "EC2SecurityGroup",
 34901             "type": "structure",
 34902             "members": {
 34903               "Status": {},
 34904               "EC2SecurityGroupName": {},
 34905               "EC2SecurityGroupOwnerId": {}
 34906             }
 34907           }
 34908         }
 34909       },
 34910       "wrapper": true
 34911     },
 34912     "Sd": {
 34913       "type": "structure",
 34914       "members": {
 34915         "SnapshotName": {},
 34916         "ReplicationGroupId": {},
 34917         "ReplicationGroupDescription": {},
 34918         "CacheClusterId": {},
 34919         "SnapshotStatus": {},
 34920         "SnapshotSource": {},
 34921         "CacheNodeType": {},
 34922         "Engine": {},
 34923         "EngineVersion": {},
 34924         "NumCacheNodes": {
 34925           "type": "integer"
 34926         },
 34927         "PreferredAvailabilityZone": {},
 34928         "CacheClusterCreateTime": {
 34929           "type": "timestamp"
 34930         },
 34931         "PreferredMaintenanceWindow": {},
 34932         "TopicArn": {},
 34933         "Port": {
 34934           "type": "integer"
 34935         },
 34936         "CacheParameterGroupName": {},
 34937         "CacheSubnetGroupName": {},
 34938         "VpcId": {},
 34939         "AutoMinorVersionUpgrade": {
 34940           "type": "boolean"
 34941         },
 34942         "SnapshotRetentionLimit": {
 34943           "type": "integer"
 34944         },
 34945         "SnapshotWindow": {},
 34946         "NumNodeGroups": {
 34947           "type": "integer"
 34948         },
 34949         "AutomaticFailover": {},
 34950         "NodeSnapshots": {
 34951           "type": "list",
 34952           "member": {
 34953             "locationName": "NodeSnapshot",
 34954             "type": "structure",
 34955             "members": {
 34956               "CacheClusterId": {},
 34957               "NodeGroupId": {},
 34958               "CacheNodeId": {},
 34959               "NodeGroupConfiguration": {
 34960                 "shape": "Sk"
 34961               },
 34962               "CacheSize": {},
 34963               "CacheNodeCreateTime": {
 34964                 "type": "timestamp"
 34965               },
 34966               "SnapshotCreateTime": {
 34967                 "type": "timestamp"
 34968               }
 34969             },
 34970             "wrapper": true
 34971           }
 34972         }
 34973       },
 34974       "wrapper": true
 34975     },
 34976     "Sk": {
 34977       "type": "structure",
 34978       "members": {
 34979         "Slots": {},
 34980         "ReplicaCount": {
 34981           "type": "integer"
 34982         },
 34983         "PrimaryAvailabilityZone": {},
 34984         "ReplicaAvailabilityZones": {
 34985           "shape": "Sl"
 34986         }
 34987       }
 34988     },
 34989     "Sl": {
 34990       "type": "list",
 34991       "member": {
 34992         "locationName": "AvailabilityZone"
 34993       }
 34994     },
 34995     "So": {
 34996       "type": "list",
 34997       "member": {
 34998         "locationName": "PreferredAvailabilityZone"
 34999       }
 35000     },
 35001     "Sp": {
 35002       "type": "list",
 35003       "member": {
 35004         "locationName": "CacheSecurityGroupName"
 35005       }
 35006     },
 35007     "Sq": {
 35008       "type": "list",
 35009       "member": {
 35010         "locationName": "SecurityGroupId"
 35011       }
 35012     },
 35013     "Sr": {
 35014       "type": "list",
 35015       "member": {
 35016         "locationName": "SnapshotArn"
 35017       }
 35018     },
 35019     "Su": {
 35020       "type": "structure",
 35021       "members": {
 35022         "CacheClusterId": {},
 35023         "ConfigurationEndpoint": {
 35024           "shape": "Sv"
 35025         },
 35026         "ClientDownloadLandingPage": {},
 35027         "CacheNodeType": {},
 35028         "Engine": {},
 35029         "EngineVersion": {},
 35030         "CacheClusterStatus": {},
 35031         "NumCacheNodes": {
 35032           "type": "integer"
 35033         },
 35034         "PreferredAvailabilityZone": {},
 35035         "CacheClusterCreateTime": {
 35036           "type": "timestamp"
 35037         },
 35038         "PreferredMaintenanceWindow": {},
 35039         "PendingModifiedValues": {
 35040           "type": "structure",
 35041           "members": {
 35042             "NumCacheNodes": {
 35043               "type": "integer"
 35044             },
 35045             "CacheNodeIdsToRemove": {
 35046               "shape": "Sy"
 35047             },
 35048             "EngineVersion": {},
 35049             "CacheNodeType": {}
 35050           }
 35051         },
 35052         "NotificationConfiguration": {
 35053           "type": "structure",
 35054           "members": {
 35055             "TopicArn": {},
 35056             "TopicStatus": {}
 35057           }
 35058         },
 35059         "CacheSecurityGroups": {
 35060           "type": "list",
 35061           "member": {
 35062             "locationName": "CacheSecurityGroup",
 35063             "type": "structure",
 35064             "members": {
 35065               "CacheSecurityGroupName": {},
 35066               "Status": {}
 35067             }
 35068           }
 35069         },
 35070         "CacheParameterGroup": {
 35071           "type": "structure",
 35072           "members": {
 35073             "CacheParameterGroupName": {},
 35074             "ParameterApplyStatus": {},
 35075             "CacheNodeIdsToReboot": {
 35076               "shape": "Sy"
 35077             }
 35078           }
 35079         },
 35080         "CacheSubnetGroupName": {},
 35081         "CacheNodes": {
 35082           "type": "list",
 35083           "member": {
 35084             "locationName": "CacheNode",
 35085             "type": "structure",
 35086             "members": {
 35087               "CacheNodeId": {},
 35088               "CacheNodeStatus": {},
 35089               "CacheNodeCreateTime": {
 35090                 "type": "timestamp"
 35091               },
 35092               "Endpoint": {
 35093                 "shape": "Sv"
 35094               },
 35095               "ParameterGroupStatus": {},
 35096               "SourceCacheNodeId": {},
 35097               "CustomerAvailabilityZone": {}
 35098             }
 35099           }
 35100         },
 35101         "AutoMinorVersionUpgrade": {
 35102           "type": "boolean"
 35103         },
 35104         "SecurityGroups": {
 35105           "type": "list",
 35106           "member": {
 35107             "type": "structure",
 35108             "members": {
 35109               "SecurityGroupId": {},
 35110               "Status": {}
 35111             }
 35112           }
 35113         },
 35114         "ReplicationGroupId": {},
 35115         "SnapshotRetentionLimit": {
 35116           "type": "integer"
 35117         },
 35118         "SnapshotWindow": {}
 35119       },
 35120       "wrapper": true
 35121     },
 35122     "Sv": {
 35123       "type": "structure",
 35124       "members": {
 35125         "Address": {},
 35126         "Port": {
 35127           "type": "integer"
 35128         }
 35129       }
 35130     },
 35131     "Sy": {
 35132       "type": "list",
 35133       "member": {
 35134         "locationName": "CacheNodeId"
 35135       }
 35136     },
 35137     "S19": {
 35138       "type": "structure",
 35139       "members": {
 35140         "CacheParameterGroupName": {},
 35141         "CacheParameterGroupFamily": {},
 35142         "Description": {}
 35143       },
 35144       "wrapper": true
 35145     },
 35146     "S1d": {
 35147       "type": "list",
 35148       "member": {
 35149         "locationName": "SubnetIdentifier"
 35150       }
 35151     },
 35152     "S1f": {
 35153       "type": "structure",
 35154       "members": {
 35155         "CacheSubnetGroupName": {},
 35156         "CacheSubnetGroupDescription": {},
 35157         "VpcId": {},
 35158         "Subnets": {
 35159           "type": "list",
 35160           "member": {
 35161             "locationName": "Subnet",
 35162             "type": "structure",
 35163             "members": {
 35164               "SubnetIdentifier": {},
 35165               "SubnetAvailabilityZone": {
 35166                 "type": "structure",
 35167                 "members": {
 35168                   "Name": {}
 35169                 },
 35170                 "wrapper": true
 35171               }
 35172             }
 35173           }
 35174         }
 35175       },
 35176       "wrapper": true
 35177     },
 35178     "S1m": {
 35179       "type": "structure",
 35180       "members": {
 35181         "ReplicationGroupId": {},
 35182         "Description": {},
 35183         "Status": {},
 35184         "PendingModifiedValues": {
 35185           "type": "structure",
 35186           "members": {
 35187             "PrimaryClusterId": {},
 35188             "AutomaticFailoverStatus": {}
 35189           }
 35190         },
 35191         "MemberClusters": {
 35192           "type": "list",
 35193           "member": {
 35194             "locationName": "ClusterId"
 35195           }
 35196         },
 35197         "NodeGroups": {
 35198           "type": "list",
 35199           "member": {
 35200             "locationName": "NodeGroup",
 35201             "type": "structure",
 35202             "members": {
 35203               "NodeGroupId": {},
 35204               "Status": {},
 35205               "PrimaryEndpoint": {
 35206                 "shape": "Sv"
 35207               },
 35208               "Slots": {},
 35209               "NodeGroupMembers": {
 35210                 "type": "list",
 35211                 "member": {
 35212                   "locationName": "NodeGroupMember",
 35213                   "type": "structure",
 35214                   "members": {
 35215                     "CacheClusterId": {},
 35216                     "CacheNodeId": {},
 35217                     "ReadEndpoint": {
 35218                       "shape": "Sv"
 35219                     },
 35220                     "PreferredAvailabilityZone": {},
 35221                     "CurrentRole": {}
 35222                   }
 35223                 }
 35224               }
 35225             }
 35226           }
 35227         },
 35228         "SnapshottingClusterId": {},
 35229         "AutomaticFailover": {},
 35230         "ConfigurationEndpoint": {
 35231           "shape": "Sv"
 35232         },
 35233         "SnapshotRetentionLimit": {
 35234           "type": "integer"
 35235         },
 35236         "SnapshotWindow": {}
 35237       },
 35238       "wrapper": true
 35239     },
 35240     "S2h": {
 35241       "type": "list",
 35242       "member": {
 35243         "locationName": "Parameter",
 35244         "type": "structure",
 35245         "members": {
 35246           "ParameterName": {},
 35247           "ParameterValue": {},
 35248           "Description": {},
 35249           "Source": {},
 35250           "DataType": {},
 35251           "AllowedValues": {},
 35252           "IsModifiable": {
 35253             "type": "boolean"
 35254           },
 35255           "MinimumEngineVersion": {},
 35256           "ChangeType": {}
 35257         }
 35258       }
 35259     },
 35260     "S2k": {
 35261       "type": "list",
 35262       "member": {
 35263         "locationName": "CacheNodeTypeSpecificParameter",
 35264         "type": "structure",
 35265         "members": {
 35266           "ParameterName": {},
 35267           "Description": {},
 35268           "Source": {},
 35269           "DataType": {},
 35270           "AllowedValues": {},
 35271           "IsModifiable": {
 35272             "type": "boolean"
 35273           },
 35274           "MinimumEngineVersion": {},
 35275           "CacheNodeTypeSpecificValues": {
 35276             "type": "list",
 35277             "member": {
 35278               "locationName": "CacheNodeTypeSpecificValue",
 35279               "type": "structure",
 35280               "members": {
 35281                 "CacheNodeType": {},
 35282                 "Value": {}
 35283               }
 35284             }
 35285           },
 35286           "ChangeType": {}
 35287         }
 35288       }
 35289     },
 35290     "S38": {
 35291       "type": "structure",
 35292       "members": {
 35293         "ReservedCacheNodeId": {},
 35294         "ReservedCacheNodesOfferingId": {},
 35295         "CacheNodeType": {},
 35296         "StartTime": {
 35297           "type": "timestamp"
 35298         },
 35299         "Duration": {
 35300           "type": "integer"
 35301         },
 35302         "FixedPrice": {
 35303           "type": "double"
 35304         },
 35305         "UsagePrice": {
 35306           "type": "double"
 35307         },
 35308         "CacheNodeCount": {
 35309           "type": "integer"
 35310         },
 35311         "ProductDescription": {},
 35312         "OfferingType": {},
 35313         "State": {},
 35314         "RecurringCharges": {
 35315           "shape": "S3a"
 35316         }
 35317       },
 35318       "wrapper": true
 35319     },
 35320     "S3a": {
 35321       "type": "list",
 35322       "member": {
 35323         "locationName": "RecurringCharge",
 35324         "type": "structure",
 35325         "members": {
 35326           "RecurringChargeAmount": {
 35327             "type": "double"
 35328           },
 35329           "RecurringChargeFrequency": {}
 35330         },
 35331         "wrapper": true
 35332       }
 35333     },
 35334     "S3q": {
 35335       "type": "list",
 35336       "member": {
 35337         "locationName": "ParameterNameValue",
 35338         "type": "structure",
 35339         "members": {
 35340           "ParameterName": {},
 35341           "ParameterValue": {}
 35342         }
 35343       }
 35344     },
 35345     "S3s": {
 35346       "type": "structure",
 35347       "members": {
 35348         "CacheParameterGroupName": {}
 35349       }
 35350     }
 35351   }
 35352 }
 35353 },{}],48:[function(require,module,exports){
 35354 module.exports={
 35355   "pagination": {
 35356     "DescribeCacheClusters": {
 35357       "input_token": "Marker",
 35358       "output_token": "Marker",
 35359       "limit_key": "MaxRecords",
 35360       "result_key": "CacheClusters"
 35361     },
 35362     "DescribeCacheEngineVersions": {
 35363       "input_token": "Marker",
 35364       "output_token": "Marker",
 35365       "limit_key": "MaxRecords",
 35366       "result_key": "CacheEngineVersions"
 35367     },
 35368     "DescribeCacheParameterGroups": {
 35369       "input_token": "Marker",
 35370       "output_token": "Marker",
 35371       "limit_key": "MaxRecords",
 35372       "result_key": "CacheParameterGroups"
 35373     },
 35374     "DescribeCacheParameters": {
 35375       "input_token": "Marker",
 35376       "output_token": "Marker",
 35377       "limit_key": "MaxRecords",
 35378       "result_key": "Parameters"
 35379     },
 35380     "DescribeCacheSecurityGroups": {
 35381       "input_token": "Marker",
 35382       "output_token": "Marker",
 35383       "limit_key": "MaxRecords",
 35384       "result_key": "CacheSecurityGroups"
 35385     },
 35386     "DescribeCacheSubnetGroups": {
 35387       "input_token": "Marker",
 35388       "output_token": "Marker",
 35389       "limit_key": "MaxRecords",
 35390       "result_key": "CacheSubnetGroups"
 35391     },
 35392     "DescribeEngineDefaultParameters": {
 35393       "input_token": "Marker",
 35394       "output_token": "EngineDefaults.Marker",
 35395       "limit_key": "MaxRecords",
 35396       "result_key": "EngineDefaults.Parameters"
 35397     },
 35398     "DescribeEvents": {
 35399       "input_token": "Marker",
 35400       "output_token": "Marker",
 35401       "limit_key": "MaxRecords",
 35402       "result_key": "Events"
 35403     },
 35404     "DescribeReservedCacheNodes": {
 35405       "input_token": "Marker",
 35406       "output_token": "Marker",
 35407       "limit_key": "MaxRecords",
 35408       "result_key": "ReservedCacheNodes"
 35409     },
 35410     "DescribeReservedCacheNodesOfferings": {
 35411       "input_token": "Marker",
 35412       "output_token": "Marker",
 35413       "limit_key": "MaxRecords",
 35414       "result_key": "ReservedCacheNodesOfferings"
 35415     },
 35416     "DescribeReplicationGroups": {
 35417       "input_token": "Marker",
 35418       "output_token": "Marker",
 35419       "limit_key": "MaxRecords",
 35420       "result_key": "ReplicationGroups"
 35421     },
 35422     "DescribeSnapshots": {
 35423       "input_token": "Marker",
 35424       "output_token": "Marker",
 35425       "limit_key": "MaxRecords",
 35426       "result_key": "Snapshots"
 35427     }
 35428   }
 35429 }
 35430 
 35431 },{}],49:[function(require,module,exports){
 35432 module.exports={
 35433     "version":2,
 35434     "waiters":{
 35435         "CacheClusterAvailable":{
 35436             "acceptors":[
 35437                 {
 35438                     "argument":"CacheClusters[].CacheClusterStatus",
 35439                     "expected":"available",
 35440                     "matcher":"pathAll",
 35441                     "state":"success"
 35442                 },
 35443                 {
 35444                     "argument":"CacheClusters[].CacheClusterStatus",
 35445                     "expected":"deleted",
 35446                     "matcher":"pathAny",
 35447                     "state":"failure"
 35448                 },
 35449                 {
 35450                     "argument":"CacheClusters[].CacheClusterStatus",
 35451                     "expected":"deleting",
 35452                     "matcher":"pathAny",
 35453                     "state":"failure"
 35454                 },
 35455                 {
 35456                     "argument":"CacheClusters[].CacheClusterStatus",
 35457                     "expected":"incompatible-network",
 35458                     "matcher":"pathAny",
 35459                     "state":"failure"
 35460                 },
 35461                 {
 35462                     "argument":"CacheClusters[].CacheClusterStatus",
 35463                     "expected":"restore-failed",
 35464                     "matcher":"pathAny",
 35465                     "state":"failure"
 35466                 }
 35467             ],
 35468             "delay":15,
 35469             "description":"Wait until ElastiCache cluster is available.",
 35470             "maxAttempts":40,
 35471             "operation":"DescribeCacheClusters"
 35472         },
 35473         "CacheClusterDeleted":{
 35474             "acceptors":[
 35475                 {
 35476                     "argument":"CacheClusters[].CacheClusterStatus",
 35477                     "expected":"deleted",
 35478                     "matcher":"pathAll",
 35479                     "state":"success"
 35480                 },
 35481                 {
 35482                     "expected":"CacheClusterNotFound",
 35483                     "matcher":"error",
 35484                     "state":"success"
 35485                 },
 35486                 {
 35487                     "argument":"CacheClusters[].CacheClusterStatus",
 35488                     "expected":"available",
 35489                     "matcher":"pathAny",
 35490                     "state":"failure"
 35491                 },
 35492                 {
 35493                     "argument":"CacheClusters[].CacheClusterStatus",
 35494                     "expected":"creating",
 35495                     "matcher":"pathAny",
 35496                     "state":"failure"
 35497                 },
 35498                 {
 35499                     "argument":"CacheClusters[].CacheClusterStatus",
 35500                     "expected":"incompatible-network",
 35501                     "matcher":"pathAny",
 35502                     "state":"failure"
 35503                 },
 35504                 {
 35505                     "argument":"CacheClusters[].CacheClusterStatus",
 35506                     "expected":"modifying",
 35507                     "matcher":"pathAny",
 35508                     "state":"failure"
 35509                 },
 35510                 {
 35511                     "argument":"CacheClusters[].CacheClusterStatus",
 35512                     "expected":"restore-failed",
 35513                     "matcher":"pathAny",
 35514                     "state":"failure"
 35515                 },
 35516                 {
 35517                     "argument":"CacheClusters[].CacheClusterStatus",
 35518                     "expected":"snapshotting",
 35519                     "matcher":"pathAny",
 35520                     "state":"failure"
 35521                 }
 35522             ],
 35523             "delay":15,
 35524             "description":"Wait until ElastiCache cluster is deleted.",
 35525             "maxAttempts":40,
 35526             "operation":"DescribeCacheClusters"
 35527         },
 35528         "ReplicationGroupAvailable":{
 35529             "acceptors":[
 35530                 {
 35531                     "argument":"ReplicationGroups[].Status",
 35532                     "expected":"available",
 35533                     "matcher":"pathAll",
 35534                     "state":"success"
 35535                 },
 35536                 {
 35537                     "argument":"ReplicationGroups[].Status",
 35538                     "expected":"deleted",
 35539                     "matcher":"pathAny",
 35540                     "state":"failure"
 35541                 }
 35542             ],
 35543             "delay":15,
 35544             "description":"Wait until ElastiCache replication group is available.",
 35545             "maxAttempts":40,
 35546             "operation":"DescribeReplicationGroups"
 35547         },
 35548         "ReplicationGroupDeleted":{
 35549             "acceptors":[
 35550                 {
 35551                     "argument":"ReplicationGroups[].Status",
 35552                     "expected":"deleted",
 35553                     "matcher":"pathAll",
 35554                     "state":"success"
 35555                 },
 35556                 {
 35557                     "argument":"ReplicationGroups[].Status",
 35558                     "expected":"available",
 35559                     "matcher":"pathAny",
 35560                     "state":"failure"
 35561                 },
 35562                 {
 35563                     "expected":"ReplicationGroupNotFoundFault",
 35564                     "matcher":"error",
 35565                     "state":"success"
 35566                 }
 35567             ],
 35568             "delay":15,
 35569             "description":"Wait until ElastiCache replication group is deleted.",
 35570             "maxAttempts":40,
 35571             "operation":"DescribeReplicationGroups"
 35572         }
 35573     }
 35574 }
 35575 
 35576 },{}],50:[function(require,module,exports){
 35577 module.exports={
 35578   "version": "2.0",
 35579   "metadata": {
 35580     "apiVersion": "2010-12-01",
 35581     "endpointPrefix": "elasticbeanstalk",
 35582     "protocol": "query",
 35583     "serviceAbbreviation": "Elastic Beanstalk",
 35584     "serviceFullName": "AWS Elastic Beanstalk",
 35585     "signatureVersion": "v4",
 35586     "xmlNamespace": "http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/"
 35587   },
 35588   "operations": {
 35589     "AbortEnvironmentUpdate": {
 35590       "input": {
 35591         "type": "structure",
 35592         "members": {
 35593           "EnvironmentId": {},
 35594           "EnvironmentName": {}
 35595         }
 35596       }
 35597     },
 35598     "ApplyEnvironmentManagedAction": {
 35599       "input": {
 35600         "type": "structure",
 35601         "required": [
 35602           "ActionId"
 35603         ],
 35604         "members": {
 35605           "EnvironmentName": {},
 35606           "EnvironmentId": {},
 35607           "ActionId": {}
 35608         }
 35609       },
 35610       "output": {
 35611         "resultWrapper": "ApplyEnvironmentManagedActionResult",
 35612         "type": "structure",
 35613         "members": {
 35614           "ActionId": {},
 35615           "ActionDescription": {},
 35616           "ActionType": {},
 35617           "Status": {}
 35618         }
 35619       }
 35620     },
 35621     "CheckDNSAvailability": {
 35622       "input": {
 35623         "type": "structure",
 35624         "required": [
 35625           "CNAMEPrefix"
 35626         ],
 35627         "members": {
 35628           "CNAMEPrefix": {}
 35629         }
 35630       },
 35631       "output": {
 35632         "resultWrapper": "CheckDNSAvailabilityResult",
 35633         "type": "structure",
 35634         "members": {
 35635           "Available": {
 35636             "type": "boolean"
 35637           },
 35638           "FullyQualifiedCNAME": {}
 35639         }
 35640       }
 35641     },
 35642     "ComposeEnvironments": {
 35643       "input": {
 35644         "type": "structure",
 35645         "members": {
 35646           "ApplicationName": {},
 35647           "GroupName": {},
 35648           "VersionLabels": {
 35649             "type": "list",
 35650             "member": {}
 35651           }
 35652         }
 35653       },
 35654       "output": {
 35655         "shape": "Si",
 35656         "resultWrapper": "ComposeEnvironmentsResult"
 35657       }
 35658     },
 35659     "CreateApplication": {
 35660       "input": {
 35661         "type": "structure",
 35662         "required": [
 35663           "ApplicationName"
 35664         ],
 35665         "members": {
 35666           "ApplicationName": {},
 35667           "Description": {}
 35668         }
 35669       },
 35670       "output": {
 35671         "shape": "S14",
 35672         "resultWrapper": "CreateApplicationResult"
 35673       }
 35674     },
 35675     "CreateApplicationVersion": {
 35676       "input": {
 35677         "type": "structure",
 35678         "required": [
 35679           "ApplicationName",
 35680           "VersionLabel"
 35681         ],
 35682         "members": {
 35683           "ApplicationName": {},
 35684           "VersionLabel": {},
 35685           "Description": {},
 35686           "SourceBuildInformation": {
 35687             "shape": "S19"
 35688           },
 35689           "SourceBundle": {
 35690             "shape": "S1d"
 35691           },
 35692           "AutoCreateApplication": {
 35693             "type": "boolean"
 35694           },
 35695           "Process": {
 35696             "type": "boolean"
 35697           }
 35698         }
 35699       },
 35700       "output": {
 35701         "shape": "S1i",
 35702         "resultWrapper": "CreateApplicationVersionResult"
 35703       }
 35704     },
 35705     "CreateConfigurationTemplate": {
 35706       "input": {
 35707         "type": "structure",
 35708         "required": [
 35709           "ApplicationName",
 35710           "TemplateName"
 35711         ],
 35712         "members": {
 35713           "ApplicationName": {},
 35714           "TemplateName": {},
 35715           "SolutionStackName": {},
 35716           "SourceConfiguration": {
 35717             "type": "structure",
 35718             "members": {
 35719               "ApplicationName": {},
 35720               "TemplateName": {}
 35721             }
 35722           },
 35723           "EnvironmentId": {},
 35724           "Description": {},
 35725           "OptionSettings": {
 35726             "shape": "S1n"
 35727           }
 35728         }
 35729       },
 35730       "output": {
 35731         "shape": "S1t",
 35732         "resultWrapper": "CreateConfigurationTemplateResult"
 35733       }
 35734     },
 35735     "CreateEnvironment": {
 35736       "input": {
 35737         "type": "structure",
 35738         "required": [
 35739           "ApplicationName"
 35740         ],
 35741         "members": {
 35742           "ApplicationName": {},
 35743           "EnvironmentName": {},
 35744           "GroupName": {},
 35745           "Description": {},
 35746           "CNAMEPrefix": {},
 35747           "Tier": {
 35748             "shape": "S10"
 35749           },
 35750           "Tags": {
 35751             "type": "list",
 35752             "member": {
 35753               "type": "structure",
 35754               "members": {
 35755                 "Key": {},
 35756                 "Value": {}
 35757               }
 35758             }
 35759           },
 35760           "VersionLabel": {},
 35761           "TemplateName": {},
 35762           "SolutionStackName": {},
 35763           "OptionSettings": {
 35764             "shape": "S1n"
 35765           },
 35766           "OptionsToRemove": {
 35767             "shape": "S20"
 35768           }
 35769         }
 35770       },
 35771       "output": {
 35772         "shape": "Sk",
 35773         "resultWrapper": "CreateEnvironmentResult"
 35774       }
 35775     },
 35776     "CreateStorageLocation": {
 35777       "output": {
 35778         "resultWrapper": "CreateStorageLocationResult",
 35779         "type": "structure",
 35780         "members": {
 35781           "S3Bucket": {}
 35782         }
 35783       }
 35784     },
 35785     "DeleteApplication": {
 35786       "input": {
 35787         "type": "structure",
 35788         "required": [
 35789           "ApplicationName"
 35790         ],
 35791         "members": {
 35792           "ApplicationName": {},
 35793           "TerminateEnvByForce": {
 35794             "type": "boolean"
 35795           }
 35796         }
 35797       }
 35798     },
 35799     "DeleteApplicationVersion": {
 35800       "input": {
 35801         "type": "structure",
 35802         "required": [
 35803           "ApplicationName",
 35804           "VersionLabel"
 35805         ],
 35806         "members": {
 35807           "ApplicationName": {},
 35808           "VersionLabel": {},
 35809           "DeleteSourceBundle": {
 35810             "type": "boolean"
 35811           }
 35812         }
 35813       }
 35814     },
 35815     "DeleteConfigurationTemplate": {
 35816       "input": {
 35817         "type": "structure",
 35818         "required": [
 35819           "ApplicationName",
 35820           "TemplateName"
 35821         ],
 35822         "members": {
 35823           "ApplicationName": {},
 35824           "TemplateName": {}
 35825         }
 35826       }
 35827     },
 35828     "DeleteEnvironmentConfiguration": {
 35829       "input": {
 35830         "type": "structure",
 35831         "required": [
 35832           "ApplicationName",
 35833           "EnvironmentName"
 35834         ],
 35835         "members": {
 35836           "ApplicationName": {},
 35837           "EnvironmentName": {}
 35838         }
 35839       }
 35840     },
 35841     "DescribeApplicationVersions": {
 35842       "input": {
 35843         "type": "structure",
 35844         "members": {
 35845           "ApplicationName": {},
 35846           "VersionLabels": {
 35847             "shape": "S16"
 35848           },
 35849           "MaxRecords": {
 35850             "type": "integer"
 35851           },
 35852           "NextToken": {}
 35853         }
 35854       },
 35855       "output": {
 35856         "resultWrapper": "DescribeApplicationVersionsResult",
 35857         "type": "structure",
 35858         "members": {
 35859           "ApplicationVersions": {
 35860             "type": "list",
 35861             "member": {
 35862               "shape": "S1j"
 35863             }
 35864           },
 35865           "NextToken": {}
 35866         }
 35867       }
 35868     },
 35869     "DescribeApplications": {
 35870       "input": {
 35871         "type": "structure",
 35872         "members": {
 35873           "ApplicationNames": {
 35874             "type": "list",
 35875             "member": {}
 35876           }
 35877         }
 35878       },
 35879       "output": {
 35880         "resultWrapper": "DescribeApplicationsResult",
 35881         "type": "structure",
 35882         "members": {
 35883           "Applications": {
 35884             "type": "list",
 35885             "member": {
 35886               "shape": "S15"
 35887             }
 35888           }
 35889         }
 35890       }
 35891     },
 35892     "DescribeConfigurationOptions": {
 35893       "input": {
 35894         "type": "structure",
 35895         "members": {
 35896           "ApplicationName": {},
 35897           "TemplateName": {},
 35898           "EnvironmentName": {},
 35899           "SolutionStackName": {},
 35900           "Options": {
 35901             "shape": "S20"
 35902           }
 35903         }
 35904       },
 35905       "output": {
 35906         "resultWrapper": "DescribeConfigurationOptionsResult",
 35907         "type": "structure",
 35908         "members": {
 35909           "SolutionStackName": {},
 35910           "Options": {
 35911             "type": "list",
 35912             "member": {
 35913               "type": "structure",
 35914               "members": {
 35915                 "Namespace": {},
 35916                 "Name": {},
 35917                 "DefaultValue": {},
 35918                 "ChangeSeverity": {},
 35919                 "UserDefined": {
 35920                   "type": "boolean"
 35921                 },
 35922                 "ValueType": {},
 35923                 "ValueOptions": {
 35924                   "type": "list",
 35925                   "member": {}
 35926                 },
 35927                 "MinValue": {
 35928                   "type": "integer"
 35929                 },
 35930                 "MaxValue": {
 35931                   "type": "integer"
 35932                 },
 35933                 "MaxLength": {
 35934                   "type": "integer"
 35935                 },
 35936                 "Regex": {
 35937                   "type": "structure",
 35938                   "members": {
 35939                     "Pattern": {},
 35940                     "Label": {}
 35941                   }
 35942                 }
 35943               }
 35944             }
 35945           }
 35946         }
 35947       }
 35948     },
 35949     "DescribeConfigurationSettings": {
 35950       "input": {
 35951         "type": "structure",
 35952         "required": [
 35953           "ApplicationName"
 35954         ],
 35955         "members": {
 35956           "ApplicationName": {},
 35957           "TemplateName": {},
 35958           "EnvironmentName": {}
 35959         }
 35960       },
 35961       "output": {
 35962         "resultWrapper": "DescribeConfigurationSettingsResult",
 35963         "type": "structure",
 35964         "members": {
 35965           "ConfigurationSettings": {
 35966             "type": "list",
 35967             "member": {
 35968               "shape": "S1t"
 35969             }
 35970           }
 35971         }
 35972       }
 35973     },
 35974     "DescribeEnvironmentHealth": {
 35975       "input": {
 35976         "type": "structure",
 35977         "members": {
 35978           "EnvironmentName": {},
 35979           "EnvironmentId": {},
 35980           "AttributeNames": {
 35981             "type": "list",
 35982             "member": {}
 35983           }
 35984         }
 35985       },
 35986       "output": {
 35987         "resultWrapper": "DescribeEnvironmentHealthResult",
 35988         "type": "structure",
 35989         "members": {
 35990           "EnvironmentName": {},
 35991           "HealthStatus": {},
 35992           "Status": {},
 35993           "Color": {},
 35994           "Causes": {
 35995             "shape": "S35"
 35996           },
 35997           "ApplicationMetrics": {
 35998             "shape": "S37"
 35999           },
 36000           "InstancesHealth": {
 36001             "type": "structure",
 36002             "members": {
 36003               "NoData": {
 36004                 "type": "integer"
 36005               },
 36006               "Unknown": {
 36007                 "type": "integer"
 36008               },
 36009               "Pending": {
 36010                 "type": "integer"
 36011               },
 36012               "Ok": {
 36013                 "type": "integer"
 36014               },
 36015               "Info": {
 36016                 "type": "integer"
 36017               },
 36018               "Warning": {
 36019                 "type": "integer"
 36020               },
 36021               "Degraded": {
 36022                 "type": "integer"
 36023               },
 36024               "Severe": {
 36025                 "type": "integer"
 36026               }
 36027             }
 36028           },
 36029           "RefreshedAt": {
 36030             "type": "timestamp"
 36031           }
 36032         }
 36033       }
 36034     },
 36035     "DescribeEnvironmentManagedActionHistory": {
 36036       "input": {
 36037         "type": "structure",
 36038         "members": {
 36039           "EnvironmentId": {},
 36040           "EnvironmentName": {},
 36041           "NextToken": {},
 36042           "MaxItems": {
 36043             "type": "integer"
 36044           }
 36045         }
 36046       },
 36047       "output": {
 36048         "resultWrapper": "DescribeEnvironmentManagedActionHistoryResult",
 36049         "type": "structure",
 36050         "members": {
 36051           "ManagedActionHistoryItems": {
 36052             "type": "list",
 36053             "member": {
 36054               "type": "structure",
 36055               "members": {
 36056                 "ActionId": {},
 36057                 "ActionType": {},
 36058                 "ActionDescription": {},
 36059                 "FailureType": {},
 36060                 "Status": {},
 36061                 "FailureDescription": {},
 36062                 "ExecutedTime": {
 36063                   "type": "timestamp"
 36064                 },
 36065                 "FinishedTime": {
 36066                   "type": "timestamp"
 36067                 }
 36068               }
 36069             }
 36070           },
 36071           "NextToken": {}
 36072         }
 36073       }
 36074     },
 36075     "DescribeEnvironmentManagedActions": {
 36076       "input": {
 36077         "type": "structure",
 36078         "members": {
 36079           "EnvironmentName": {},
 36080           "EnvironmentId": {},
 36081           "Status": {}
 36082         }
 36083       },
 36084       "output": {
 36085         "resultWrapper": "DescribeEnvironmentManagedActionsResult",
 36086         "type": "structure",
 36087         "members": {
 36088           "ManagedActions": {
 36089             "type": "list",
 36090             "member": {
 36091               "type": "structure",
 36092               "members": {
 36093                 "ActionId": {},
 36094                 "ActionDescription": {},
 36095                 "ActionType": {},
 36096                 "Status": {},
 36097                 "WindowStartTime": {
 36098                   "type": "timestamp"
 36099                 }
 36100               }
 36101             }
 36102           }
 36103         }
 36104       }
 36105     },
 36106     "DescribeEnvironmentResources": {
 36107       "input": {
 36108         "type": "structure",
 36109         "members": {
 36110           "EnvironmentId": {},
 36111           "EnvironmentName": {}
 36112         }
 36113       },
 36114       "output": {
 36115         "resultWrapper": "DescribeEnvironmentResourcesResult",
 36116         "type": "structure",
 36117         "members": {
 36118           "EnvironmentResources": {
 36119             "type": "structure",
 36120             "members": {
 36121               "EnvironmentName": {},
 36122               "AutoScalingGroups": {
 36123                 "type": "list",
 36124                 "member": {
 36125                   "type": "structure",
 36126                   "members": {
 36127                     "Name": {}
 36128                   }
 36129                 }
 36130               },
 36131               "Instances": {
 36132                 "type": "list",
 36133                 "member": {
 36134                   "type": "structure",
 36135                   "members": {
 36136                     "Id": {}
 36137                   }
 36138                 }
 36139               },
 36140               "LaunchConfigurations": {
 36141                 "type": "list",
 36142                 "member": {
 36143                   "type": "structure",
 36144                   "members": {
 36145                     "Name": {}
 36146                   }
 36147                 }
 36148               },
 36149               "LoadBalancers": {
 36150                 "type": "list",
 36151                 "member": {
 36152                   "type": "structure",
 36153                   "members": {
 36154                     "Name": {}
 36155                   }
 36156                 }
 36157               },
 36158               "Triggers": {
 36159                 "type": "list",
 36160                 "member": {
 36161                   "type": "structure",
 36162                   "members": {
 36163                     "Name": {}
 36164                   }
 36165                 }
 36166               },
 36167               "Queues": {
 36168                 "type": "list",
 36169                 "member": {
 36170                   "type": "structure",
 36171                   "members": {
 36172                     "Name": {},
 36173                     "URL": {}
 36174                   }
 36175                 }
 36176               }
 36177             }
 36178           }
 36179         }
 36180       }
 36181     },
 36182     "DescribeEnvironments": {
 36183       "input": {
 36184         "type": "structure",
 36185         "members": {
 36186           "ApplicationName": {},
 36187           "VersionLabel": {},
 36188           "EnvironmentIds": {
 36189             "type": "list",
 36190             "member": {}
 36191           },
 36192           "EnvironmentNames": {
 36193             "type": "list",
 36194             "member": {}
 36195           },
 36196           "IncludeDeleted": {
 36197             "type": "boolean"
 36198           },
 36199           "IncludedDeletedBackTo": {
 36200             "type": "timestamp"
 36201           }
 36202         }
 36203       },
 36204       "output": {
 36205         "shape": "Si",
 36206         "resultWrapper": "DescribeEnvironmentsResult"
 36207       }
 36208     },
 36209     "DescribeEvents": {
 36210       "input": {
 36211         "type": "structure",
 36212         "members": {
 36213           "ApplicationName": {},
 36214           "VersionLabel": {},
 36215           "TemplateName": {},
 36216           "EnvironmentId": {},
 36217           "EnvironmentName": {},
 36218           "RequestId": {},
 36219           "Severity": {},
 36220           "StartTime": {
 36221             "type": "timestamp"
 36222           },
 36223           "EndTime": {
 36224             "type": "timestamp"
 36225           },
 36226           "MaxRecords": {
 36227             "type": "integer"
 36228           },
 36229           "NextToken": {}
 36230         }
 36231       },
 36232       "output": {
 36233         "resultWrapper": "DescribeEventsResult",
 36234         "type": "structure",
 36235         "members": {
 36236           "Events": {
 36237             "type": "list",
 36238             "member": {
 36239               "type": "structure",
 36240               "members": {
 36241                 "EventDate": {
 36242                   "type": "timestamp"
 36243                 },
 36244                 "Message": {},
 36245                 "ApplicationName": {},
 36246                 "VersionLabel": {},
 36247                 "TemplateName": {},
 36248                 "EnvironmentName": {},
 36249                 "RequestId": {},
 36250                 "Severity": {}
 36251               }
 36252             }
 36253           },
 36254           "NextToken": {}
 36255         }
 36256       }
 36257     },
 36258     "DescribeInstancesHealth": {
 36259       "input": {
 36260         "type": "structure",
 36261         "members": {
 36262           "EnvironmentName": {},
 36263           "EnvironmentId": {},
 36264           "AttributeNames": {
 36265             "type": "list",
 36266             "member": {}
 36267           },
 36268           "NextToken": {}
 36269         }
 36270       },
 36271       "output": {
 36272         "resultWrapper": "DescribeInstancesHealthResult",
 36273         "type": "structure",
 36274         "members": {
 36275           "InstanceHealthList": {
 36276             "type": "list",
 36277             "member": {
 36278               "type": "structure",
 36279               "members": {
 36280                 "InstanceId": {},
 36281                 "HealthStatus": {},
 36282                 "Color": {},
 36283                 "Causes": {
 36284                   "shape": "S35"
 36285                 },
 36286                 "LaunchedAt": {
 36287                   "type": "timestamp"
 36288                 },
 36289                 "ApplicationMetrics": {
 36290                   "shape": "S37"
 36291                 },
 36292                 "System": {
 36293                   "type": "structure",
 36294                   "members": {
 36295                     "CPUUtilization": {
 36296                       "type": "structure",
 36297                       "members": {
 36298                         "User": {
 36299                           "type": "double"
 36300                         },
 36301                         "Nice": {
 36302                           "type": "double"
 36303                         },
 36304                         "System": {
 36305                           "type": "double"
 36306                         },
 36307                         "Idle": {
 36308                           "type": "double"
 36309                         },
 36310                         "IOWait": {
 36311                           "type": "double"
 36312                         },
 36313                         "IRQ": {
 36314                           "type": "double"
 36315                         },
 36316                         "SoftIRQ": {
 36317                           "type": "double"
 36318                         }
 36319                       }
 36320                     },
 36321                     "LoadAverage": {
 36322                       "type": "list",
 36323                       "member": {
 36324                         "type": "double"
 36325                       }
 36326                     }
 36327                   }
 36328                 },
 36329                 "Deployment": {
 36330                   "type": "structure",
 36331                   "members": {
 36332                     "VersionLabel": {},
 36333                     "DeploymentId": {
 36334                       "type": "long"
 36335                     },
 36336                     "Status": {},
 36337                     "DeploymentTime": {
 36338                       "type": "timestamp"
 36339                     }
 36340                   }
 36341                 },
 36342                 "AvailabilityZone": {},
 36343                 "InstanceType": {}
 36344               }
 36345             }
 36346           },
 36347           "RefreshedAt": {
 36348             "type": "timestamp"
 36349           },
 36350           "NextToken": {}
 36351         }
 36352       }
 36353     },
 36354     "ListAvailableSolutionStacks": {
 36355       "output": {
 36356         "resultWrapper": "ListAvailableSolutionStacksResult",
 36357         "type": "structure",
 36358         "members": {
 36359           "SolutionStacks": {
 36360             "type": "list",
 36361             "member": {}
 36362           },
 36363           "SolutionStackDetails": {
 36364             "type": "list",
 36365             "member": {
 36366               "type": "structure",
 36367               "members": {
 36368                 "SolutionStackName": {},
 36369                 "PermittedFileTypes": {
 36370                   "type": "list",
 36371                   "member": {}
 36372                 }
 36373               }
 36374             }
 36375           }
 36376         }
 36377       }
 36378     },
 36379     "RebuildEnvironment": {
 36380       "input": {
 36381         "type": "structure",
 36382         "members": {
 36383           "EnvironmentId": {},
 36384           "EnvironmentName": {}
 36385         }
 36386       }
 36387     },
 36388     "RequestEnvironmentInfo": {
 36389       "input": {
 36390         "type": "structure",
 36391         "required": [
 36392           "InfoType"
 36393         ],
 36394         "members": {
 36395           "EnvironmentId": {},
 36396           "EnvironmentName": {},
 36397           "InfoType": {}
 36398         }
 36399       }
 36400     },
 36401     "RestartAppServer": {
 36402       "input": {
 36403         "type": "structure",
 36404         "members": {
 36405           "EnvironmentId": {},
 36406           "EnvironmentName": {}
 36407         }
 36408       }
 36409     },
 36410     "RetrieveEnvironmentInfo": {
 36411       "input": {
 36412         "type": "structure",
 36413         "required": [
 36414           "InfoType"
 36415         ],
 36416         "members": {
 36417           "EnvironmentId": {},
 36418           "EnvironmentName": {},
 36419           "InfoType": {}
 36420         }
 36421       },
 36422       "output": {
 36423         "resultWrapper": "RetrieveEnvironmentInfoResult",
 36424         "type": "structure",
 36425         "members": {
 36426           "EnvironmentInfo": {
 36427             "type": "list",
 36428             "member": {
 36429               "type": "structure",
 36430               "members": {
 36431                 "InfoType": {},
 36432                 "Ec2InstanceId": {},
 36433                 "SampleTimestamp": {
 36434                   "type": "timestamp"
 36435                 },
 36436                 "Message": {}
 36437               }
 36438             }
 36439           }
 36440         }
 36441       }
 36442     },
 36443     "SwapEnvironmentCNAMEs": {
 36444       "input": {
 36445         "type": "structure",
 36446         "members": {
 36447           "SourceEnvironmentId": {},
 36448           "SourceEnvironmentName": {},
 36449           "DestinationEnvironmentId": {},
 36450           "DestinationEnvironmentName": {}
 36451         }
 36452       }
 36453     },
 36454     "TerminateEnvironment": {
 36455       "input": {
 36456         "type": "structure",
 36457         "members": {
 36458           "EnvironmentId": {},
 36459           "EnvironmentName": {},
 36460           "TerminateResources": {
 36461             "type": "boolean"
 36462           },
 36463           "ForceTerminate": {
 36464             "type": "boolean"
 36465           }
 36466         }
 36467       },
 36468       "output": {
 36469         "shape": "Sk",
 36470         "resultWrapper": "TerminateEnvironmentResult"
 36471       }
 36472     },
 36473     "UpdateApplication": {
 36474       "input": {
 36475         "type": "structure",
 36476         "required": [
 36477           "ApplicationName"
 36478         ],
 36479         "members": {
 36480           "ApplicationName": {},
 36481           "Description": {}
 36482         }
 36483       },
 36484       "output": {
 36485         "shape": "S14",
 36486         "resultWrapper": "UpdateApplicationResult"
 36487       }
 36488     },
 36489     "UpdateApplicationVersion": {
 36490       "input": {
 36491         "type": "structure",
 36492         "required": [
 36493           "ApplicationName",
 36494           "VersionLabel"
 36495         ],
 36496         "members": {
 36497           "ApplicationName": {},
 36498           "VersionLabel": {},
 36499           "Description": {}
 36500         }
 36501       },
 36502       "output": {
 36503         "shape": "S1i",
 36504         "resultWrapper": "UpdateApplicationVersionResult"
 36505       }
 36506     },
 36507     "UpdateConfigurationTemplate": {
 36508       "input": {
 36509         "type": "structure",
 36510         "required": [
 36511           "ApplicationName",
 36512           "TemplateName"
 36513         ],
 36514         "members": {
 36515           "ApplicationName": {},
 36516           "TemplateName": {},
 36517           "Description": {},
 36518           "OptionSettings": {
 36519             "shape": "S1n"
 36520           },
 36521           "OptionsToRemove": {
 36522             "shape": "S20"
 36523           }
 36524         }
 36525       },
 36526       "output": {
 36527         "shape": "S1t",
 36528         "resultWrapper": "UpdateConfigurationTemplateResult"
 36529       }
 36530     },
 36531     "UpdateEnvironment": {
 36532       "input": {
 36533         "type": "structure",
 36534         "members": {
 36535           "ApplicationName": {},
 36536           "EnvironmentId": {},
 36537           "EnvironmentName": {},
 36538           "GroupName": {},
 36539           "Description": {},
 36540           "Tier": {
 36541             "shape": "S10"
 36542           },
 36543           "VersionLabel": {},
 36544           "TemplateName": {},
 36545           "SolutionStackName": {},
 36546           "OptionSettings": {
 36547             "shape": "S1n"
 36548           },
 36549           "OptionsToRemove": {
 36550             "shape": "S20"
 36551           }
 36552         }
 36553       },
 36554       "output": {
 36555         "shape": "Sk",
 36556         "resultWrapper": "UpdateEnvironmentResult"
 36557       }
 36558     },
 36559     "ValidateConfigurationSettings": {
 36560       "input": {
 36561         "type": "structure",
 36562         "required": [
 36563           "ApplicationName",
 36564           "OptionSettings"
 36565         ],
 36566         "members": {
 36567           "ApplicationName": {},
 36568           "TemplateName": {},
 36569           "EnvironmentName": {},
 36570           "OptionSettings": {
 36571             "shape": "S1n"
 36572           }
 36573         }
 36574       },
 36575       "output": {
 36576         "resultWrapper": "ValidateConfigurationSettingsResult",
 36577         "type": "structure",
 36578         "members": {
 36579           "Messages": {
 36580             "type": "list",
 36581             "member": {
 36582               "type": "structure",
 36583               "members": {
 36584                 "Message": {},
 36585                 "Severity": {},
 36586                 "Namespace": {},
 36587                 "OptionName": {}
 36588               }
 36589             }
 36590           }
 36591         }
 36592       }
 36593     }
 36594   },
 36595   "shapes": {
 36596     "Si": {
 36597       "type": "structure",
 36598       "members": {
 36599         "Environments": {
 36600           "type": "list",
 36601           "member": {
 36602             "shape": "Sk"
 36603           }
 36604         }
 36605       }
 36606     },
 36607     "Sk": {
 36608       "type": "structure",
 36609       "members": {
 36610         "EnvironmentName": {},
 36611         "EnvironmentId": {},
 36612         "ApplicationName": {},
 36613         "VersionLabel": {},
 36614         "SolutionStackName": {},
 36615         "TemplateName": {},
 36616         "Description": {},
 36617         "EndpointURL": {},
 36618         "CNAME": {},
 36619         "DateCreated": {
 36620           "type": "timestamp"
 36621         },
 36622         "DateUpdated": {
 36623           "type": "timestamp"
 36624         },
 36625         "Status": {},
 36626         "AbortableOperationInProgress": {
 36627           "type": "boolean"
 36628         },
 36629         "Health": {},
 36630         "HealthStatus": {},
 36631         "Resources": {
 36632           "type": "structure",
 36633           "members": {
 36634             "LoadBalancer": {
 36635               "type": "structure",
 36636               "members": {
 36637                 "LoadBalancerName": {},
 36638                 "Domain": {},
 36639                 "Listeners": {
 36640                   "type": "list",
 36641                   "member": {
 36642                     "type": "structure",
 36643                     "members": {
 36644                       "Protocol": {},
 36645                       "Port": {
 36646                         "type": "integer"
 36647                       }
 36648                     }
 36649                   }
 36650                 }
 36651               }
 36652             }
 36653           }
 36654         },
 36655         "Tier": {
 36656           "shape": "S10"
 36657         },
 36658         "EnvironmentLinks": {
 36659           "type": "list",
 36660           "member": {
 36661             "type": "structure",
 36662             "members": {
 36663               "LinkName": {},
 36664               "EnvironmentName": {}
 36665             }
 36666           }
 36667         }
 36668       }
 36669     },
 36670     "S10": {
 36671       "type": "structure",
 36672       "members": {
 36673         "Name": {},
 36674         "Type": {},
 36675         "Version": {}
 36676       }
 36677     },
 36678     "S14": {
 36679       "type": "structure",
 36680       "members": {
 36681         "Application": {
 36682           "shape": "S15"
 36683         }
 36684       }
 36685     },
 36686     "S15": {
 36687       "type": "structure",
 36688       "members": {
 36689         "ApplicationName": {},
 36690         "Description": {},
 36691         "DateCreated": {
 36692           "type": "timestamp"
 36693         },
 36694         "DateUpdated": {
 36695           "type": "timestamp"
 36696         },
 36697         "Versions": {
 36698           "shape": "S16"
 36699         },
 36700         "ConfigurationTemplates": {
 36701           "type": "list",
 36702           "member": {}
 36703         }
 36704       }
 36705     },
 36706     "S16": {
 36707       "type": "list",
 36708       "member": {}
 36709     },
 36710     "S19": {
 36711       "type": "structure",
 36712       "required": [
 36713         "SourceType",
 36714         "SourceRepository",
 36715         "SourceLocation"
 36716       ],
 36717       "members": {
 36718         "SourceType": {},
 36719         "SourceRepository": {},
 36720         "SourceLocation": {}
 36721       }
 36722     },
 36723     "S1d": {
 36724       "type": "structure",
 36725       "members": {
 36726         "S3Bucket": {},
 36727         "S3Key": {}
 36728       }
 36729     },
 36730     "S1i": {
 36731       "type": "structure",
 36732       "members": {
 36733         "ApplicationVersion": {
 36734           "shape": "S1j"
 36735         }
 36736       }
 36737     },
 36738     "S1j": {
 36739       "type": "structure",
 36740       "members": {
 36741         "ApplicationName": {},
 36742         "Description": {},
 36743         "VersionLabel": {},
 36744         "SourceBuildInformation": {
 36745           "shape": "S19"
 36746         },
 36747         "SourceBundle": {
 36748           "shape": "S1d"
 36749         },
 36750         "DateCreated": {
 36751           "type": "timestamp"
 36752         },
 36753         "DateUpdated": {
 36754           "type": "timestamp"
 36755         },
 36756         "Status": {}
 36757       }
 36758     },
 36759     "S1n": {
 36760       "type": "list",
 36761       "member": {
 36762         "type": "structure",
 36763         "members": {
 36764           "ResourceName": {},
 36765           "Namespace": {},
 36766           "OptionName": {},
 36767           "Value": {}
 36768         }
 36769       }
 36770     },
 36771     "S1t": {
 36772       "type": "structure",
 36773       "members": {
 36774         "SolutionStackName": {},
 36775         "ApplicationName": {},
 36776         "TemplateName": {},
 36777         "Description": {},
 36778         "EnvironmentName": {},
 36779         "DeploymentStatus": {},
 36780         "DateCreated": {
 36781           "type": "timestamp"
 36782         },
 36783         "DateUpdated": {
 36784           "type": "timestamp"
 36785         },
 36786         "OptionSettings": {
 36787           "shape": "S1n"
 36788         }
 36789       }
 36790     },
 36791     "S20": {
 36792       "type": "list",
 36793       "member": {
 36794         "type": "structure",
 36795         "members": {
 36796           "ResourceName": {},
 36797           "Namespace": {},
 36798           "OptionName": {}
 36799         }
 36800       }
 36801     },
 36802     "S35": {
 36803       "type": "list",
 36804       "member": {}
 36805     },
 36806     "S37": {
 36807       "type": "structure",
 36808       "members": {
 36809         "Duration": {
 36810           "type": "integer"
 36811         },
 36812         "RequestCount": {
 36813           "type": "integer"
 36814         },
 36815         "StatusCodes": {
 36816           "type": "structure",
 36817           "members": {
 36818             "Status2xx": {
 36819               "type": "integer"
 36820             },
 36821             "Status3xx": {
 36822               "type": "integer"
 36823             },
 36824             "Status4xx": {
 36825               "type": "integer"
 36826             },
 36827             "Status5xx": {
 36828               "type": "integer"
 36829             }
 36830           }
 36831         },
 36832         "Latency": {
 36833           "type": "structure",
 36834           "members": {
 36835             "P999": {
 36836               "type": "double"
 36837             },
 36838             "P99": {
 36839               "type": "double"
 36840             },
 36841             "P95": {
 36842               "type": "double"
 36843             },
 36844             "P90": {
 36845               "type": "double"
 36846             },
 36847             "P85": {
 36848               "type": "double"
 36849             },
 36850             "P75": {
 36851               "type": "double"
 36852             },
 36853             "P50": {
 36854               "type": "double"
 36855             },
 36856             "P10": {
 36857               "type": "double"
 36858             }
 36859           }
 36860         }
 36861       }
 36862     }
 36863   }
 36864 }
 36865 },{}],51:[function(require,module,exports){
 36866 module.exports={
 36867   "pagination": {
 36868     "DescribeApplicationVersions": {
 36869       "result_key": "ApplicationVersions"
 36870     },
 36871     "DescribeApplications": {
 36872       "result_key": "Applications"
 36873     },
 36874     "DescribeConfigurationOptions": {
 36875       "result_key": "Options"
 36876     },
 36877     "DescribeEnvironments": {
 36878       "result_key": "Environments"
 36879     },
 36880     "DescribeEvents": {
 36881       "input_token": "NextToken",
 36882       "output_token": "NextToken",
 36883       "limit_key": "MaxRecords",
 36884       "result_key": "Events"
 36885     },
 36886     "ListAvailableSolutionStacks": {
 36887       "result_key": "SolutionStacks"
 36888     }
 36889   }
 36890 }
 36891 
 36892 },{}],52:[function(require,module,exports){
 36893 module.exports={
 36894   "version": "2.0",
 36895   "metadata": {
 36896     "apiVersion": "2012-06-01",
 36897     "endpointPrefix": "elasticloadbalancing",
 36898     "protocol": "query",
 36899     "serviceFullName": "Elastic Load Balancing",
 36900     "signatureVersion": "v4",
 36901     "xmlNamespace": "http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/"
 36902   },
 36903   "operations": {
 36904     "AddTags": {
 36905       "input": {
 36906         "type": "structure",
 36907         "required": [
 36908           "LoadBalancerNames",
 36909           "Tags"
 36910         ],
 36911         "members": {
 36912           "LoadBalancerNames": {
 36913             "shape": "S2"
 36914           },
 36915           "Tags": {
 36916             "shape": "S4"
 36917           }
 36918         }
 36919       },
 36920       "output": {
 36921         "resultWrapper": "AddTagsResult",
 36922         "type": "structure",
 36923         "members": {}
 36924       }
 36925     },
 36926     "ApplySecurityGroupsToLoadBalancer": {
 36927       "input": {
 36928         "type": "structure",
 36929         "required": [
 36930           "LoadBalancerName",
 36931           "SecurityGroups"
 36932         ],
 36933         "members": {
 36934           "LoadBalancerName": {},
 36935           "SecurityGroups": {
 36936             "shape": "Sa"
 36937           }
 36938         }
 36939       },
 36940       "output": {
 36941         "resultWrapper": "ApplySecurityGroupsToLoadBalancerResult",
 36942         "type": "structure",
 36943         "members": {
 36944           "SecurityGroups": {
 36945             "shape": "Sa"
 36946           }
 36947         }
 36948       }
 36949     },
 36950     "AttachLoadBalancerToSubnets": {
 36951       "input": {
 36952         "type": "structure",
 36953         "required": [
 36954           "LoadBalancerName",
 36955           "Subnets"
 36956         ],
 36957         "members": {
 36958           "LoadBalancerName": {},
 36959           "Subnets": {
 36960             "shape": "Se"
 36961           }
 36962         }
 36963       },
 36964       "output": {
 36965         "resultWrapper": "AttachLoadBalancerToSubnetsResult",
 36966         "type": "structure",
 36967         "members": {
 36968           "Subnets": {
 36969             "shape": "Se"
 36970           }
 36971         }
 36972       }
 36973     },
 36974     "ConfigureHealthCheck": {
 36975       "input": {
 36976         "type": "structure",
 36977         "required": [
 36978           "LoadBalancerName",
 36979           "HealthCheck"
 36980         ],
 36981         "members": {
 36982           "LoadBalancerName": {},
 36983           "HealthCheck": {
 36984             "shape": "Si"
 36985           }
 36986         }
 36987       },
 36988       "output": {
 36989         "resultWrapper": "ConfigureHealthCheckResult",
 36990         "type": "structure",
 36991         "members": {
 36992           "HealthCheck": {
 36993             "shape": "Si"
 36994           }
 36995         }
 36996       }
 36997     },
 36998     "CreateAppCookieStickinessPolicy": {
 36999       "input": {
 37000         "type": "structure",
 37001         "required": [
 37002           "LoadBalancerName",
 37003           "PolicyName",
 37004           "CookieName"
 37005         ],
 37006         "members": {
 37007           "LoadBalancerName": {},
 37008           "PolicyName": {},
 37009           "CookieName": {}
 37010         }
 37011       },
 37012       "output": {
 37013         "resultWrapper": "CreateAppCookieStickinessPolicyResult",
 37014         "type": "structure",
 37015         "members": {}
 37016       }
 37017     },
 37018     "CreateLBCookieStickinessPolicy": {
 37019       "input": {
 37020         "type": "structure",
 37021         "required": [
 37022           "LoadBalancerName",
 37023           "PolicyName"
 37024         ],
 37025         "members": {
 37026           "LoadBalancerName": {},
 37027           "PolicyName": {},
 37028           "CookieExpirationPeriod": {
 37029             "type": "long"
 37030           }
 37031         }
 37032       },
 37033       "output": {
 37034         "resultWrapper": "CreateLBCookieStickinessPolicyResult",
 37035         "type": "structure",
 37036         "members": {}
 37037       }
 37038     },
 37039     "CreateLoadBalancer": {
 37040       "input": {
 37041         "type": "structure",
 37042         "required": [
 37043           "LoadBalancerName",
 37044           "Listeners"
 37045         ],
 37046         "members": {
 37047           "LoadBalancerName": {},
 37048           "Listeners": {
 37049             "shape": "Sx"
 37050           },
 37051           "AvailabilityZones": {
 37052             "shape": "S13"
 37053           },
 37054           "Subnets": {
 37055             "shape": "Se"
 37056           },
 37057           "SecurityGroups": {
 37058             "shape": "Sa"
 37059           },
 37060           "Scheme": {},
 37061           "Tags": {
 37062             "shape": "S4"
 37063           }
 37064         }
 37065       },
 37066       "output": {
 37067         "resultWrapper": "CreateLoadBalancerResult",
 37068         "type": "structure",
 37069         "members": {
 37070           "DNSName": {}
 37071         }
 37072       }
 37073     },
 37074     "CreateLoadBalancerListeners": {
 37075       "input": {
 37076         "type": "structure",
 37077         "required": [
 37078           "LoadBalancerName",
 37079           "Listeners"
 37080         ],
 37081         "members": {
 37082           "LoadBalancerName": {},
 37083           "Listeners": {
 37084             "shape": "Sx"
 37085           }
 37086         }
 37087       },
 37088       "output": {
 37089         "resultWrapper": "CreateLoadBalancerListenersResult",
 37090         "type": "structure",
 37091         "members": {}
 37092       }
 37093     },
 37094     "CreateLoadBalancerPolicy": {
 37095       "input": {
 37096         "type": "structure",
 37097         "required": [
 37098           "LoadBalancerName",
 37099           "PolicyName",
 37100           "PolicyTypeName"
 37101         ],
 37102         "members": {
 37103           "LoadBalancerName": {},
 37104           "PolicyName": {},
 37105           "PolicyTypeName": {},
 37106           "PolicyAttributes": {
 37107             "type": "list",
 37108             "member": {
 37109               "type": "structure",
 37110               "members": {
 37111                 "AttributeName": {},
 37112                 "AttributeValue": {}
 37113               }
 37114             }
 37115           }
 37116         }
 37117       },
 37118       "output": {
 37119         "resultWrapper": "CreateLoadBalancerPolicyResult",
 37120         "type": "structure",
 37121         "members": {}
 37122       }
 37123     },
 37124     "DeleteLoadBalancer": {
 37125       "input": {
 37126         "type": "structure",
 37127         "required": [
 37128           "LoadBalancerName"
 37129         ],
 37130         "members": {
 37131           "LoadBalancerName": {}
 37132         }
 37133       },
 37134       "output": {
 37135         "resultWrapper": "DeleteLoadBalancerResult",
 37136         "type": "structure",
 37137         "members": {}
 37138       }
 37139     },
 37140     "DeleteLoadBalancerListeners": {
 37141       "input": {
 37142         "type": "structure",
 37143         "required": [
 37144           "LoadBalancerName",
 37145           "LoadBalancerPorts"
 37146         ],
 37147         "members": {
 37148           "LoadBalancerName": {},
 37149           "LoadBalancerPorts": {
 37150             "type": "list",
 37151             "member": {
 37152               "type": "integer"
 37153             }
 37154           }
 37155         }
 37156       },
 37157       "output": {
 37158         "resultWrapper": "DeleteLoadBalancerListenersResult",
 37159         "type": "structure",
 37160         "members": {}
 37161       }
 37162     },
 37163     "DeleteLoadBalancerPolicy": {
 37164       "input": {
 37165         "type": "structure",
 37166         "required": [
 37167           "LoadBalancerName",
 37168           "PolicyName"
 37169         ],
 37170         "members": {
 37171           "LoadBalancerName": {},
 37172           "PolicyName": {}
 37173         }
 37174       },
 37175       "output": {
 37176         "resultWrapper": "DeleteLoadBalancerPolicyResult",
 37177         "type": "structure",
 37178         "members": {}
 37179       }
 37180     },
 37181     "DeregisterInstancesFromLoadBalancer": {
 37182       "input": {
 37183         "type": "structure",
 37184         "required": [
 37185           "LoadBalancerName",
 37186           "Instances"
 37187         ],
 37188         "members": {
 37189           "LoadBalancerName": {},
 37190           "Instances": {
 37191             "shape": "S1p"
 37192           }
 37193         }
 37194       },
 37195       "output": {
 37196         "resultWrapper": "DeregisterInstancesFromLoadBalancerResult",
 37197         "type": "structure",
 37198         "members": {
 37199           "Instances": {
 37200             "shape": "S1p"
 37201           }
 37202         }
 37203       }
 37204     },
 37205     "DescribeInstanceHealth": {
 37206       "input": {
 37207         "type": "structure",
 37208         "required": [
 37209           "LoadBalancerName"
 37210         ],
 37211         "members": {
 37212           "LoadBalancerName": {},
 37213           "Instances": {
 37214             "shape": "S1p"
 37215           }
 37216         }
 37217       },
 37218       "output": {
 37219         "resultWrapper": "DescribeInstanceHealthResult",
 37220         "type": "structure",
 37221         "members": {
 37222           "InstanceStates": {
 37223             "type": "list",
 37224             "member": {
 37225               "type": "structure",
 37226               "members": {
 37227                 "InstanceId": {},
 37228                 "State": {},
 37229                 "ReasonCode": {},
 37230                 "Description": {}
 37231               }
 37232             }
 37233           }
 37234         }
 37235       }
 37236     },
 37237     "DescribeLoadBalancerAttributes": {
 37238       "input": {
 37239         "type": "structure",
 37240         "required": [
 37241           "LoadBalancerName"
 37242         ],
 37243         "members": {
 37244           "LoadBalancerName": {}
 37245         }
 37246       },
 37247       "output": {
 37248         "resultWrapper": "DescribeLoadBalancerAttributesResult",
 37249         "type": "structure",
 37250         "members": {
 37251           "LoadBalancerAttributes": {
 37252             "shape": "S22"
 37253           }
 37254         }
 37255       }
 37256     },
 37257     "DescribeLoadBalancerPolicies": {
 37258       "input": {
 37259         "type": "structure",
 37260         "members": {
 37261           "LoadBalancerName": {},
 37262           "PolicyNames": {
 37263             "shape": "S2k"
 37264           }
 37265         }
 37266       },
 37267       "output": {
 37268         "resultWrapper": "DescribeLoadBalancerPoliciesResult",
 37269         "type": "structure",
 37270         "members": {
 37271           "PolicyDescriptions": {
 37272             "type": "list",
 37273             "member": {
 37274               "type": "structure",
 37275               "members": {
 37276                 "PolicyName": {},
 37277                 "PolicyTypeName": {},
 37278                 "PolicyAttributeDescriptions": {
 37279                   "type": "list",
 37280                   "member": {
 37281                     "type": "structure",
 37282                     "members": {
 37283                       "AttributeName": {},
 37284                       "AttributeValue": {}
 37285                     }
 37286                   }
 37287                 }
 37288               }
 37289             }
 37290           }
 37291         }
 37292       }
 37293     },
 37294     "DescribeLoadBalancerPolicyTypes": {
 37295       "input": {
 37296         "type": "structure",
 37297         "members": {
 37298           "PolicyTypeNames": {
 37299             "type": "list",
 37300             "member": {}
 37301           }
 37302         }
 37303       },
 37304       "output": {
 37305         "resultWrapper": "DescribeLoadBalancerPolicyTypesResult",
 37306         "type": "structure",
 37307         "members": {
 37308           "PolicyTypeDescriptions": {
 37309             "type": "list",
 37310             "member": {
 37311               "type": "structure",
 37312               "members": {
 37313                 "PolicyTypeName": {},
 37314                 "Description": {},
 37315                 "PolicyAttributeTypeDescriptions": {
 37316                   "type": "list",
 37317                   "member": {
 37318                     "type": "structure",
 37319                     "members": {
 37320                       "AttributeName": {},
 37321                       "AttributeType": {},
 37322                       "Description": {},
 37323                       "DefaultValue": {},
 37324                       "Cardinality": {}
 37325                     }
 37326                   }
 37327                 }
 37328               }
 37329             }
 37330           }
 37331         }
 37332       }
 37333     },
 37334     "DescribeLoadBalancers": {
 37335       "input": {
 37336         "type": "structure",
 37337         "members": {
 37338           "LoadBalancerNames": {
 37339             "shape": "S2"
 37340           },
 37341           "Marker": {},
 37342           "PageSize": {
 37343             "type": "integer"
 37344           }
 37345         }
 37346       },
 37347       "output": {
 37348         "resultWrapper": "DescribeLoadBalancersResult",
 37349         "type": "structure",
 37350         "members": {
 37351           "LoadBalancerDescriptions": {
 37352             "type": "list",
 37353             "member": {
 37354               "type": "structure",
 37355               "members": {
 37356                 "LoadBalancerName": {},
 37357                 "DNSName": {},
 37358                 "CanonicalHostedZoneName": {},
 37359                 "CanonicalHostedZoneNameID": {},
 37360                 "ListenerDescriptions": {
 37361                   "type": "list",
 37362                   "member": {
 37363                     "type": "structure",
 37364                     "members": {
 37365                       "Listener": {
 37366                         "shape": "Sy"
 37367                       },
 37368                       "PolicyNames": {
 37369                         "shape": "S2k"
 37370                       }
 37371                     }
 37372                   }
 37373                 },
 37374                 "Policies": {
 37375                   "type": "structure",
 37376                   "members": {
 37377                     "AppCookieStickinessPolicies": {
 37378                       "type": "list",
 37379                       "member": {
 37380                         "type": "structure",
 37381                         "members": {
 37382                           "PolicyName": {},
 37383                           "CookieName": {}
 37384                         }
 37385                       }
 37386                     },
 37387                     "LBCookieStickinessPolicies": {
 37388                       "type": "list",
 37389                       "member": {
 37390                         "type": "structure",
 37391                         "members": {
 37392                           "PolicyName": {},
 37393                           "CookieExpirationPeriod": {
 37394                             "type": "long"
 37395                           }
 37396                         }
 37397                       }
 37398                     },
 37399                     "OtherPolicies": {
 37400                       "shape": "S2k"
 37401                     }
 37402                   }
 37403                 },
 37404                 "BackendServerDescriptions": {
 37405                   "type": "list",
 37406                   "member": {
 37407                     "type": "structure",
 37408                     "members": {
 37409                       "InstancePort": {
 37410                         "type": "integer"
 37411                       },
 37412                       "PolicyNames": {
 37413                         "shape": "S2k"
 37414                       }
 37415                     }
 37416                   }
 37417                 },
 37418                 "AvailabilityZones": {
 37419                   "shape": "S13"
 37420                 },
 37421                 "Subnets": {
 37422                   "shape": "Se"
 37423                 },
 37424                 "VPCId": {},
 37425                 "Instances": {
 37426                   "shape": "S1p"
 37427                 },
 37428                 "HealthCheck": {
 37429                   "shape": "Si"
 37430                 },
 37431                 "SourceSecurityGroup": {
 37432                   "type": "structure",
 37433                   "members": {
 37434                     "OwnerAlias": {},
 37435                     "GroupName": {}
 37436                   }
 37437                 },
 37438                 "SecurityGroups": {
 37439                   "shape": "Sa"
 37440                 },
 37441                 "CreatedTime": {
 37442                   "type": "timestamp"
 37443                 },
 37444                 "Scheme": {}
 37445               }
 37446             }
 37447           },
 37448           "NextMarker": {}
 37449         }
 37450       }
 37451     },
 37452     "DescribeTags": {
 37453       "input": {
 37454         "type": "structure",
 37455         "required": [
 37456           "LoadBalancerNames"
 37457         ],
 37458         "members": {
 37459           "LoadBalancerNames": {
 37460             "type": "list",
 37461             "member": {}
 37462           }
 37463         }
 37464       },
 37465       "output": {
 37466         "resultWrapper": "DescribeTagsResult",
 37467         "type": "structure",
 37468         "members": {
 37469           "TagDescriptions": {
 37470             "type": "list",
 37471             "member": {
 37472               "type": "structure",
 37473               "members": {
 37474                 "LoadBalancerName": {},
 37475                 "Tags": {
 37476                   "shape": "S4"
 37477                 }
 37478               }
 37479             }
 37480           }
 37481         }
 37482       }
 37483     },
 37484     "DetachLoadBalancerFromSubnets": {
 37485       "input": {
 37486         "type": "structure",
 37487         "required": [
 37488           "LoadBalancerName",
 37489           "Subnets"
 37490         ],
 37491         "members": {
 37492           "LoadBalancerName": {},
 37493           "Subnets": {
 37494             "shape": "Se"
 37495           }
 37496         }
 37497       },
 37498       "output": {
 37499         "resultWrapper": "DetachLoadBalancerFromSubnetsResult",
 37500         "type": "structure",
 37501         "members": {
 37502           "Subnets": {
 37503             "shape": "Se"
 37504           }
 37505         }
 37506       }
 37507     },
 37508     "DisableAvailabilityZonesForLoadBalancer": {
 37509       "input": {
 37510         "type": "structure",
 37511         "required": [
 37512           "LoadBalancerName",
 37513           "AvailabilityZones"
 37514         ],
 37515         "members": {
 37516           "LoadBalancerName": {},
 37517           "AvailabilityZones": {
 37518             "shape": "S13"
 37519           }
 37520         }
 37521       },
 37522       "output": {
 37523         "resultWrapper": "DisableAvailabilityZonesForLoadBalancerResult",
 37524         "type": "structure",
 37525         "members": {
 37526           "AvailabilityZones": {
 37527             "shape": "S13"
 37528           }
 37529         }
 37530       }
 37531     },
 37532     "EnableAvailabilityZonesForLoadBalancer": {
 37533       "input": {
 37534         "type": "structure",
 37535         "required": [
 37536           "LoadBalancerName",
 37537           "AvailabilityZones"
 37538         ],
 37539         "members": {
 37540           "LoadBalancerName": {},
 37541           "AvailabilityZones": {
 37542             "shape": "S13"
 37543           }
 37544         }
 37545       },
 37546       "output": {
 37547         "resultWrapper": "EnableAvailabilityZonesForLoadBalancerResult",
 37548         "type": "structure",
 37549         "members": {
 37550           "AvailabilityZones": {
 37551             "shape": "S13"
 37552           }
 37553         }
 37554       }
 37555     },
 37556     "ModifyLoadBalancerAttributes": {
 37557       "input": {
 37558         "type": "structure",
 37559         "required": [
 37560           "LoadBalancerName",
 37561           "LoadBalancerAttributes"
 37562         ],
 37563         "members": {
 37564           "LoadBalancerName": {},
 37565           "LoadBalancerAttributes": {
 37566             "shape": "S22"
 37567           }
 37568         }
 37569       },
 37570       "output": {
 37571         "resultWrapper": "ModifyLoadBalancerAttributesResult",
 37572         "type": "structure",
 37573         "members": {
 37574           "LoadBalancerName": {},
 37575           "LoadBalancerAttributes": {
 37576             "shape": "S22"
 37577           }
 37578         }
 37579       }
 37580     },
 37581     "RegisterInstancesWithLoadBalancer": {
 37582       "input": {
 37583         "type": "structure",
 37584         "required": [
 37585           "LoadBalancerName",
 37586           "Instances"
 37587         ],
 37588         "members": {
 37589           "LoadBalancerName": {},
 37590           "Instances": {
 37591             "shape": "S1p"
 37592           }
 37593         }
 37594       },
 37595       "output": {
 37596         "resultWrapper": "RegisterInstancesWithLoadBalancerResult",
 37597         "type": "structure",
 37598         "members": {
 37599           "Instances": {
 37600             "shape": "S1p"
 37601           }
 37602         }
 37603       }
 37604     },
 37605     "RemoveTags": {
 37606       "input": {
 37607         "type": "structure",
 37608         "required": [
 37609           "LoadBalancerNames",
 37610           "Tags"
 37611         ],
 37612         "members": {
 37613           "LoadBalancerNames": {
 37614             "shape": "S2"
 37615           },
 37616           "Tags": {
 37617             "type": "list",
 37618             "member": {
 37619               "type": "structure",
 37620               "members": {
 37621                 "Key": {}
 37622               }
 37623             }
 37624           }
 37625         }
 37626       },
 37627       "output": {
 37628         "resultWrapper": "RemoveTagsResult",
 37629         "type": "structure",
 37630         "members": {}
 37631       }
 37632     },
 37633     "SetLoadBalancerListenerSSLCertificate": {
 37634       "input": {
 37635         "type": "structure",
 37636         "required": [
 37637           "LoadBalancerName",
 37638           "LoadBalancerPort",
 37639           "SSLCertificateId"
 37640         ],
 37641         "members": {
 37642           "LoadBalancerName": {},
 37643           "LoadBalancerPort": {
 37644             "type": "integer"
 37645           },
 37646           "SSLCertificateId": {}
 37647         }
 37648       },
 37649       "output": {
 37650         "resultWrapper": "SetLoadBalancerListenerSSLCertificateResult",
 37651         "type": "structure",
 37652         "members": {}
 37653       }
 37654     },
 37655     "SetLoadBalancerPoliciesForBackendServer": {
 37656       "input": {
 37657         "type": "structure",
 37658         "required": [
 37659           "LoadBalancerName",
 37660           "InstancePort",
 37661           "PolicyNames"
 37662         ],
 37663         "members": {
 37664           "LoadBalancerName": {},
 37665           "InstancePort": {
 37666             "type": "integer"
 37667           },
 37668           "PolicyNames": {
 37669             "shape": "S2k"
 37670           }
 37671         }
 37672       },
 37673       "output": {
 37674         "resultWrapper": "SetLoadBalancerPoliciesForBackendServerResult",
 37675         "type": "structure",
 37676         "members": {}
 37677       }
 37678     },
 37679     "SetLoadBalancerPoliciesOfListener": {
 37680       "input": {
 37681         "type": "structure",
 37682         "required": [
 37683           "LoadBalancerName",
 37684           "LoadBalancerPort",
 37685           "PolicyNames"
 37686         ],
 37687         "members": {
 37688           "LoadBalancerName": {},
 37689           "LoadBalancerPort": {
 37690             "type": "integer"
 37691           },
 37692           "PolicyNames": {
 37693             "shape": "S2k"
 37694           }
 37695         }
 37696       },
 37697       "output": {
 37698         "resultWrapper": "SetLoadBalancerPoliciesOfListenerResult",
 37699         "type": "structure",
 37700         "members": {}
 37701       }
 37702     }
 37703   },
 37704   "shapes": {
 37705     "S2": {
 37706       "type": "list",
 37707       "member": {}
 37708     },
 37709     "S4": {
 37710       "type": "list",
 37711       "member": {
 37712         "type": "structure",
 37713         "required": [
 37714           "Key"
 37715         ],
 37716         "members": {
 37717           "Key": {},
 37718           "Value": {}
 37719         }
 37720       }
 37721     },
 37722     "Sa": {
 37723       "type": "list",
 37724       "member": {}
 37725     },
 37726     "Se": {
 37727       "type": "list",
 37728       "member": {}
 37729     },
 37730     "Si": {
 37731       "type": "structure",
 37732       "required": [
 37733         "Target",
 37734         "Interval",
 37735         "Timeout",
 37736         "UnhealthyThreshold",
 37737         "HealthyThreshold"
 37738       ],
 37739       "members": {
 37740         "Target": {},
 37741         "Interval": {
 37742           "type": "integer"
 37743         },
 37744         "Timeout": {
 37745           "type": "integer"
 37746         },
 37747         "UnhealthyThreshold": {
 37748           "type": "integer"
 37749         },
 37750         "HealthyThreshold": {
 37751           "type": "integer"
 37752         }
 37753       }
 37754     },
 37755     "Sx": {
 37756       "type": "list",
 37757       "member": {
 37758         "shape": "Sy"
 37759       }
 37760     },
 37761     "Sy": {
 37762       "type": "structure",
 37763       "required": [
 37764         "Protocol",
 37765         "LoadBalancerPort",
 37766         "InstancePort"
 37767       ],
 37768       "members": {
 37769         "Protocol": {},
 37770         "LoadBalancerPort": {
 37771           "type": "integer"
 37772         },
 37773         "InstanceProtocol": {},
 37774         "InstancePort": {
 37775           "type": "integer"
 37776         },
 37777         "SSLCertificateId": {}
 37778       }
 37779     },
 37780     "S13": {
 37781       "type": "list",
 37782       "member": {}
 37783     },
 37784     "S1p": {
 37785       "type": "list",
 37786       "member": {
 37787         "type": "structure",
 37788         "members": {
 37789           "InstanceId": {}
 37790         }
 37791       }
 37792     },
 37793     "S22": {
 37794       "type": "structure",
 37795       "members": {
 37796         "CrossZoneLoadBalancing": {
 37797           "type": "structure",
 37798           "required": [
 37799             "Enabled"
 37800           ],
 37801           "members": {
 37802             "Enabled": {
 37803               "type": "boolean"
 37804             }
 37805           }
 37806         },
 37807         "AccessLog": {
 37808           "type": "structure",
 37809           "required": [
 37810             "Enabled"
 37811           ],
 37812           "members": {
 37813             "Enabled": {
 37814               "type": "boolean"
 37815             },
 37816             "S3BucketName": {},
 37817             "EmitInterval": {
 37818               "type": "integer"
 37819             },
 37820             "S3BucketPrefix": {}
 37821           }
 37822         },
 37823         "ConnectionDraining": {
 37824           "type": "structure",
 37825           "required": [
 37826             "Enabled"
 37827           ],
 37828           "members": {
 37829             "Enabled": {
 37830               "type": "boolean"
 37831             },
 37832             "Timeout": {
 37833               "type": "integer"
 37834             }
 37835           }
 37836         },
 37837         "ConnectionSettings": {
 37838           "type": "structure",
 37839           "required": [
 37840             "IdleTimeout"
 37841           ],
 37842           "members": {
 37843             "IdleTimeout": {
 37844               "type": "integer"
 37845             }
 37846           }
 37847         },
 37848         "AdditionalAttributes": {
 37849           "type": "list",
 37850           "member": {
 37851             "type": "structure",
 37852             "members": {
 37853               "Key": {},
 37854               "Value": {}
 37855             }
 37856           }
 37857         }
 37858       }
 37859     },
 37860     "S2k": {
 37861       "type": "list",
 37862       "member": {}
 37863     }
 37864   }
 37865 }
 37866 },{}],53:[function(require,module,exports){
 37867 module.exports={
 37868   "pagination": {
 37869     "DescribeInstanceHealth": {
 37870       "result_key": "InstanceStates"
 37871     },
 37872     "DescribeLoadBalancerPolicies": {
 37873       "result_key": "PolicyDescriptions"
 37874     },
 37875     "DescribeLoadBalancerPolicyTypes": {
 37876       "result_key": "PolicyTypeDescriptions"
 37877     },
 37878     "DescribeLoadBalancers": {
 37879       "input_token": "Marker",
 37880       "output_token": "NextMarker",
 37881       "result_key": "LoadBalancerDescriptions"
 37882     }
 37883   }
 37884 }
 37885 
 37886 },{}],54:[function(require,module,exports){
 37887 module.exports={
 37888     "version":2,
 37889     "waiters":{
 37890         "InstanceDeregistered": {
 37891           "delay": 15,
 37892           "operation": "DescribeInstanceHealth",
 37893           "maxAttempts": 40,
 37894           "acceptors": [
 37895             {
 37896               "expected": "OutOfService",
 37897               "matcher": "pathAll",
 37898               "state": "success",
 37899               "argument": "InstanceStates[].State"
 37900             },
 37901             {
 37902               "matcher": "error",
 37903               "expected": "InvalidInstance",
 37904               "state": "success"
 37905             }
 37906           ]
 37907         },
 37908         "AnyInstanceInService":{
 37909             "acceptors":[
 37910                 {
 37911                     "argument":"InstanceStates[].State",
 37912                     "expected":"InService",
 37913                     "matcher":"pathAny",
 37914                     "state":"success"
 37915                 }
 37916             ],
 37917             "delay":15,
 37918             "maxAttempts":40,
 37919             "operation":"DescribeInstanceHealth"
 37920         },
 37921         "InstanceInService":{
 37922             "acceptors":[
 37923                 {
 37924                     "argument":"InstanceStates[].State",
 37925                     "expected":"InService",
 37926                     "matcher":"pathAll",
 37927                     "state":"success"
 37928                 }
 37929             ],
 37930             "delay":15,
 37931             "maxAttempts":40,
 37932             "operation":"DescribeInstanceHealth"
 37933         }
 37934     }
 37935 }
 37936 
 37937 },{}],55:[function(require,module,exports){
 37938 module.exports={
 37939   "version": "2.0",
 37940   "metadata": {
 37941     "apiVersion": "2015-12-01",
 37942     "endpointPrefix": "elasticloadbalancing",
 37943     "protocol": "query",
 37944     "serviceAbbreviation": "Elastic Load Balancing v2",
 37945     "serviceFullName": "Elastic Load Balancing",
 37946     "signatureVersion": "v4",
 37947     "xmlNamespace": "http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/"
 37948   },
 37949   "operations": {
 37950     "AddTags": {
 37951       "input": {
 37952         "type": "structure",
 37953         "required": [
 37954           "ResourceArns",
 37955           "Tags"
 37956         ],
 37957         "members": {
 37958           "ResourceArns": {
 37959             "shape": "S2"
 37960           },
 37961           "Tags": {
 37962             "shape": "S4"
 37963           }
 37964         }
 37965       },
 37966       "output": {
 37967         "resultWrapper": "AddTagsResult",
 37968         "type": "structure",
 37969         "members": {}
 37970       }
 37971     },
 37972     "CreateListener": {
 37973       "input": {
 37974         "type": "structure",
 37975         "required": [
 37976           "LoadBalancerArn",
 37977           "Protocol",
 37978           "Port",
 37979           "DefaultActions"
 37980         ],
 37981         "members": {
 37982           "LoadBalancerArn": {},
 37983           "Protocol": {},
 37984           "Port": {
 37985             "type": "integer"
 37986           },
 37987           "SslPolicy": {},
 37988           "Certificates": {
 37989             "shape": "Se"
 37990           },
 37991           "DefaultActions": {
 37992             "shape": "Sh"
 37993           }
 37994         }
 37995       },
 37996       "output": {
 37997         "resultWrapper": "CreateListenerResult",
 37998         "type": "structure",
 37999         "members": {
 38000           "Listeners": {
 38001             "shape": "Sm"
 38002           }
 38003         }
 38004       }
 38005     },
 38006     "CreateLoadBalancer": {
 38007       "input": {
 38008         "type": "structure",
 38009         "required": [
 38010           "Name",
 38011           "Subnets"
 38012         ],
 38013         "members": {
 38014           "Name": {},
 38015           "Subnets": {
 38016             "shape": "Sr"
 38017           },
 38018           "SecurityGroups": {
 38019             "shape": "St"
 38020           },
 38021           "Scheme": {},
 38022           "Tags": {
 38023             "shape": "S4"
 38024           }
 38025         }
 38026       },
 38027       "output": {
 38028         "resultWrapper": "CreateLoadBalancerResult",
 38029         "type": "structure",
 38030         "members": {
 38031           "LoadBalancers": {
 38032             "shape": "Sx"
 38033           }
 38034         }
 38035       }
 38036     },
 38037     "CreateRule": {
 38038       "input": {
 38039         "type": "structure",
 38040         "required": [
 38041           "ListenerArn",
 38042           "Conditions",
 38043           "Priority",
 38044           "Actions"
 38045         ],
 38046         "members": {
 38047           "ListenerArn": {},
 38048           "Conditions": {
 38049             "shape": "S1b"
 38050           },
 38051           "Priority": {
 38052             "type": "integer"
 38053           },
 38054           "Actions": {
 38055             "shape": "Sh"
 38056           }
 38057         }
 38058       },
 38059       "output": {
 38060         "resultWrapper": "CreateRuleResult",
 38061         "type": "structure",
 38062         "members": {
 38063           "Rules": {
 38064             "shape": "S1i"
 38065           }
 38066         }
 38067       }
 38068     },
 38069     "CreateTargetGroup": {
 38070       "input": {
 38071         "type": "structure",
 38072         "required": [
 38073           "Name",
 38074           "Protocol",
 38075           "Port",
 38076           "VpcId"
 38077         ],
 38078         "members": {
 38079           "Name": {},
 38080           "Protocol": {},
 38081           "Port": {
 38082             "type": "integer"
 38083           },
 38084           "VpcId": {},
 38085           "HealthCheckProtocol": {},
 38086           "HealthCheckPort": {},
 38087           "HealthCheckPath": {},
 38088           "HealthCheckIntervalSeconds": {
 38089             "type": "integer"
 38090           },
 38091           "HealthCheckTimeoutSeconds": {
 38092             "type": "integer"
 38093           },
 38094           "HealthyThresholdCount": {
 38095             "type": "integer"
 38096           },
 38097           "UnhealthyThresholdCount": {
 38098             "type": "integer"
 38099           },
 38100           "Matcher": {
 38101             "shape": "S1u"
 38102           }
 38103         }
 38104       },
 38105       "output": {
 38106         "resultWrapper": "CreateTargetGroupResult",
 38107         "type": "structure",
 38108         "members": {
 38109           "TargetGroups": {
 38110             "shape": "S1x"
 38111           }
 38112         }
 38113       }
 38114     },
 38115     "DeleteListener": {
 38116       "input": {
 38117         "type": "structure",
 38118         "required": [
 38119           "ListenerArn"
 38120         ],
 38121         "members": {
 38122           "ListenerArn": {}
 38123         }
 38124       },
 38125       "output": {
 38126         "resultWrapper": "DeleteListenerResult",
 38127         "type": "structure",
 38128         "members": {}
 38129       }
 38130     },
 38131     "DeleteLoadBalancer": {
 38132       "input": {
 38133         "type": "structure",
 38134         "required": [
 38135           "LoadBalancerArn"
 38136         ],
 38137         "members": {
 38138           "LoadBalancerArn": {}
 38139         }
 38140       },
 38141       "output": {
 38142         "resultWrapper": "DeleteLoadBalancerResult",
 38143         "type": "structure",
 38144         "members": {}
 38145       }
 38146     },
 38147     "DeleteRule": {
 38148       "input": {
 38149         "type": "structure",
 38150         "required": [
 38151           "RuleArn"
 38152         ],
 38153         "members": {
 38154           "RuleArn": {}
 38155         }
 38156       },
 38157       "output": {
 38158         "resultWrapper": "DeleteRuleResult",
 38159         "type": "structure",
 38160         "members": {}
 38161       }
 38162     },
 38163     "DeleteTargetGroup": {
 38164       "input": {
 38165         "type": "structure",
 38166         "required": [
 38167           "TargetGroupArn"
 38168         ],
 38169         "members": {
 38170           "TargetGroupArn": {}
 38171         }
 38172       },
 38173       "output": {
 38174         "resultWrapper": "DeleteTargetGroupResult",
 38175         "type": "structure",
 38176         "members": {}
 38177       }
 38178     },
 38179     "DeregisterTargets": {
 38180       "input": {
 38181         "type": "structure",
 38182         "required": [
 38183           "TargetGroupArn",
 38184           "Targets"
 38185         ],
 38186         "members": {
 38187           "TargetGroupArn": {},
 38188           "Targets": {
 38189             "shape": "S29"
 38190           }
 38191         }
 38192       },
 38193       "output": {
 38194         "resultWrapper": "DeregisterTargetsResult",
 38195         "type": "structure",
 38196         "members": {}
 38197       }
 38198     },
 38199     "DescribeListeners": {
 38200       "input": {
 38201         "type": "structure",
 38202         "members": {
 38203           "LoadBalancerArn": {},
 38204           "ListenerArns": {
 38205             "type": "list",
 38206             "member": {}
 38207           },
 38208           "Marker": {},
 38209           "PageSize": {
 38210             "type": "integer"
 38211           }
 38212         }
 38213       },
 38214       "output": {
 38215         "resultWrapper": "DescribeListenersResult",
 38216         "type": "structure",
 38217         "members": {
 38218           "Listeners": {
 38219             "shape": "Sm"
 38220           },
 38221           "NextMarker": {}
 38222         }
 38223       }
 38224     },
 38225     "DescribeLoadBalancerAttributes": {
 38226       "input": {
 38227         "type": "structure",
 38228         "required": [
 38229           "LoadBalancerArn"
 38230         ],
 38231         "members": {
 38232           "LoadBalancerArn": {}
 38233         }
 38234       },
 38235       "output": {
 38236         "resultWrapper": "DescribeLoadBalancerAttributesResult",
 38237         "type": "structure",
 38238         "members": {
 38239           "Attributes": {
 38240             "shape": "S2k"
 38241           }
 38242         }
 38243       }
 38244     },
 38245     "DescribeLoadBalancers": {
 38246       "input": {
 38247         "type": "structure",
 38248         "members": {
 38249           "LoadBalancerArns": {
 38250             "shape": "S1z"
 38251           },
 38252           "Names": {
 38253             "type": "list",
 38254             "member": {}
 38255           },
 38256           "Marker": {},
 38257           "PageSize": {
 38258             "type": "integer"
 38259           }
 38260         }
 38261       },
 38262       "output": {
 38263         "resultWrapper": "DescribeLoadBalancersResult",
 38264         "type": "structure",
 38265         "members": {
 38266           "LoadBalancers": {
 38267             "shape": "Sx"
 38268           },
 38269           "NextMarker": {}
 38270         }
 38271       }
 38272     },
 38273     "DescribeRules": {
 38274       "input": {
 38275         "type": "structure",
 38276         "members": {
 38277           "ListenerArn": {},
 38278           "RuleArns": {
 38279             "type": "list",
 38280             "member": {}
 38281           }
 38282         }
 38283       },
 38284       "output": {
 38285         "resultWrapper": "DescribeRulesResult",
 38286         "type": "structure",
 38287         "members": {
 38288           "Rules": {
 38289             "shape": "S1i"
 38290           }
 38291         }
 38292       }
 38293     },
 38294     "DescribeSSLPolicies": {
 38295       "input": {
 38296         "type": "structure",
 38297         "members": {
 38298           "Names": {
 38299             "type": "list",
 38300             "member": {}
 38301           },
 38302           "Marker": {},
 38303           "PageSize": {
 38304             "type": "integer"
 38305           }
 38306         }
 38307       },
 38308       "output": {
 38309         "resultWrapper": "DescribeSSLPoliciesResult",
 38310         "type": "structure",
 38311         "members": {
 38312           "SslPolicies": {
 38313             "type": "list",
 38314             "member": {
 38315               "type": "structure",
 38316               "members": {
 38317                 "SslProtocols": {
 38318                   "type": "list",
 38319                   "member": {}
 38320                 },
 38321                 "Ciphers": {
 38322                   "type": "list",
 38323                   "member": {
 38324                     "type": "structure",
 38325                     "members": {
 38326                       "Name": {},
 38327                       "Priority": {
 38328                         "type": "integer"
 38329                       }
 38330                     }
 38331                   }
 38332                 },
 38333                 "Name": {}
 38334               }
 38335             }
 38336           },
 38337           "NextMarker": {}
 38338         }
 38339       }
 38340     },
 38341     "DescribeTags": {
 38342       "input": {
 38343         "type": "structure",
 38344         "required": [
 38345           "ResourceArns"
 38346         ],
 38347         "members": {
 38348           "ResourceArns": {
 38349             "shape": "S2"
 38350           }
 38351         }
 38352       },
 38353       "output": {
 38354         "resultWrapper": "DescribeTagsResult",
 38355         "type": "structure",
 38356         "members": {
 38357           "TagDescriptions": {
 38358             "type": "list",
 38359             "member": {
 38360               "type": "structure",
 38361               "members": {
 38362                 "ResourceArn": {},
 38363                 "Tags": {
 38364                   "shape": "S4"
 38365                 }
 38366               }
 38367             }
 38368           }
 38369         }
 38370       }
 38371     },
 38372     "DescribeTargetGroupAttributes": {
 38373       "input": {
 38374         "type": "structure",
 38375         "required": [
 38376           "TargetGroupArn"
 38377         ],
 38378         "members": {
 38379           "TargetGroupArn": {}
 38380         }
 38381       },
 38382       "output": {
 38383         "resultWrapper": "DescribeTargetGroupAttributesResult",
 38384         "type": "structure",
 38385         "members": {
 38386           "Attributes": {
 38387             "shape": "S3b"
 38388           }
 38389         }
 38390       }
 38391     },
 38392     "DescribeTargetGroups": {
 38393       "input": {
 38394         "type": "structure",
 38395         "members": {
 38396           "LoadBalancerArn": {},
 38397           "TargetGroupArns": {
 38398             "type": "list",
 38399             "member": {}
 38400           },
 38401           "Names": {
 38402             "type": "list",
 38403             "member": {}
 38404           },
 38405           "Marker": {},
 38406           "PageSize": {
 38407             "type": "integer"
 38408           }
 38409         }
 38410       },
 38411       "output": {
 38412         "resultWrapper": "DescribeTargetGroupsResult",
 38413         "type": "structure",
 38414         "members": {
 38415           "TargetGroups": {
 38416             "shape": "S1x"
 38417           },
 38418           "NextMarker": {}
 38419         }
 38420       }
 38421     },
 38422     "DescribeTargetHealth": {
 38423       "input": {
 38424         "type": "structure",
 38425         "required": [
 38426           "TargetGroupArn"
 38427         ],
 38428         "members": {
 38429           "TargetGroupArn": {},
 38430           "Targets": {
 38431             "shape": "S29"
 38432           }
 38433         }
 38434       },
 38435       "output": {
 38436         "resultWrapper": "DescribeTargetHealthResult",
 38437         "type": "structure",
 38438         "members": {
 38439           "TargetHealthDescriptions": {
 38440             "type": "list",
 38441             "member": {
 38442               "type": "structure",
 38443               "members": {
 38444                 "Target": {
 38445                   "shape": "S2a"
 38446                 },
 38447                 "HealthCheckPort": {},
 38448                 "TargetHealth": {
 38449                   "type": "structure",
 38450                   "members": {
 38451                     "State": {},
 38452                     "Reason": {},
 38453                     "Description": {}
 38454                   }
 38455                 }
 38456               }
 38457             }
 38458           }
 38459         }
 38460       }
 38461     },
 38462     "ModifyListener": {
 38463       "input": {
 38464         "type": "structure",
 38465         "required": [
 38466           "ListenerArn"
 38467         ],
 38468         "members": {
 38469           "ListenerArn": {},
 38470           "Port": {
 38471             "type": "integer"
 38472           },
 38473           "Protocol": {},
 38474           "SslPolicy": {},
 38475           "Certificates": {
 38476             "shape": "Se"
 38477           },
 38478           "DefaultActions": {
 38479             "shape": "Sh"
 38480           }
 38481         }
 38482       },
 38483       "output": {
 38484         "resultWrapper": "ModifyListenerResult",
 38485         "type": "structure",
 38486         "members": {
 38487           "Listeners": {
 38488             "shape": "Sm"
 38489           }
 38490         }
 38491       }
 38492     },
 38493     "ModifyLoadBalancerAttributes": {
 38494       "input": {
 38495         "type": "structure",
 38496         "required": [
 38497           "LoadBalancerArn",
 38498           "Attributes"
 38499         ],
 38500         "members": {
 38501           "LoadBalancerArn": {},
 38502           "Attributes": {
 38503             "shape": "S2k"
 38504           }
 38505         }
 38506       },
 38507       "output": {
 38508         "resultWrapper": "ModifyLoadBalancerAttributesResult",
 38509         "type": "structure",
 38510         "members": {
 38511           "Attributes": {
 38512             "shape": "S2k"
 38513           }
 38514         }
 38515       }
 38516     },
 38517     "ModifyRule": {
 38518       "input": {
 38519         "type": "structure",
 38520         "required": [
 38521           "RuleArn"
 38522         ],
 38523         "members": {
 38524           "RuleArn": {},
 38525           "Conditions": {
 38526             "shape": "S1b"
 38527           },
 38528           "Actions": {
 38529             "shape": "Sh"
 38530           }
 38531         }
 38532       },
 38533       "output": {
 38534         "resultWrapper": "ModifyRuleResult",
 38535         "type": "structure",
 38536         "members": {
 38537           "Rules": {
 38538             "shape": "S1i"
 38539           }
 38540         }
 38541       }
 38542     },
 38543     "ModifyTargetGroup": {
 38544       "input": {
 38545         "type": "structure",
 38546         "required": [
 38547           "TargetGroupArn"
 38548         ],
 38549         "members": {
 38550           "TargetGroupArn": {},
 38551           "HealthCheckProtocol": {},
 38552           "HealthCheckPort": {},
 38553           "HealthCheckPath": {},
 38554           "HealthCheckIntervalSeconds": {
 38555             "type": "integer"
 38556           },
 38557           "HealthCheckTimeoutSeconds": {
 38558             "type": "integer"
 38559           },
 38560           "HealthyThresholdCount": {
 38561             "type": "integer"
 38562           },
 38563           "UnhealthyThresholdCount": {
 38564             "type": "integer"
 38565           },
 38566           "Matcher": {
 38567             "shape": "S1u"
 38568           }
 38569         }
 38570       },
 38571       "output": {
 38572         "resultWrapper": "ModifyTargetGroupResult",
 38573         "type": "structure",
 38574         "members": {
 38575           "TargetGroups": {
 38576             "shape": "S1x"
 38577           }
 38578         }
 38579       }
 38580     },
 38581     "ModifyTargetGroupAttributes": {
 38582       "input": {
 38583         "type": "structure",
 38584         "required": [
 38585           "TargetGroupArn",
 38586           "Attributes"
 38587         ],
 38588         "members": {
 38589           "TargetGroupArn": {},
 38590           "Attributes": {
 38591             "shape": "S3b"
 38592           }
 38593         }
 38594       },
 38595       "output": {
 38596         "resultWrapper": "ModifyTargetGroupAttributesResult",
 38597         "type": "structure",
 38598         "members": {
 38599           "Attributes": {
 38600             "shape": "S3b"
 38601           }
 38602         }
 38603       }
 38604     },
 38605     "RegisterTargets": {
 38606       "input": {
 38607         "type": "structure",
 38608         "required": [
 38609           "TargetGroupArn",
 38610           "Targets"
 38611         ],
 38612         "members": {
 38613           "TargetGroupArn": {},
 38614           "Targets": {
 38615             "shape": "S29"
 38616           }
 38617         }
 38618       },
 38619       "output": {
 38620         "resultWrapper": "RegisterTargetsResult",
 38621         "type": "structure",
 38622         "members": {}
 38623       }
 38624     },
 38625     "RemoveTags": {
 38626       "input": {
 38627         "type": "structure",
 38628         "required": [
 38629           "ResourceArns",
 38630           "TagKeys"
 38631         ],
 38632         "members": {
 38633           "ResourceArns": {
 38634             "shape": "S2"
 38635           },
 38636           "TagKeys": {
 38637             "type": "list",
 38638             "member": {}
 38639           }
 38640         }
 38641       },
 38642       "output": {
 38643         "resultWrapper": "RemoveTagsResult",
 38644         "type": "structure",
 38645         "members": {}
 38646       }
 38647     },
 38648     "SetRulePriorities": {
 38649       "input": {
 38650         "type": "structure",
 38651         "required": [
 38652           "RulePriorities"
 38653         ],
 38654         "members": {
 38655           "RulePriorities": {
 38656             "type": "list",
 38657             "member": {
 38658               "type": "structure",
 38659               "members": {
 38660                 "RuleArn": {},
 38661                 "Priority": {
 38662                   "type": "integer"
 38663                 }
 38664               }
 38665             }
 38666           }
 38667         }
 38668       },
 38669       "output": {
 38670         "resultWrapper": "SetRulePrioritiesResult",
 38671         "type": "structure",
 38672         "members": {
 38673           "Rules": {
 38674             "shape": "S1i"
 38675           }
 38676         }
 38677       }
 38678     },
 38679     "SetSecurityGroups": {
 38680       "input": {
 38681         "type": "structure",
 38682         "required": [
 38683           "LoadBalancerArn",
 38684           "SecurityGroups"
 38685         ],
 38686         "members": {
 38687           "LoadBalancerArn": {},
 38688           "SecurityGroups": {
 38689             "shape": "St"
 38690           }
 38691         }
 38692       },
 38693       "output": {
 38694         "resultWrapper": "SetSecurityGroupsResult",
 38695         "type": "structure",
 38696         "members": {
 38697           "SecurityGroupIds": {
 38698             "shape": "St"
 38699           }
 38700         }
 38701       }
 38702     },
 38703     "SetSubnets": {
 38704       "input": {
 38705         "type": "structure",
 38706         "required": [
 38707           "LoadBalancerArn",
 38708           "Subnets"
 38709         ],
 38710         "members": {
 38711           "LoadBalancerArn": {},
 38712           "Subnets": {
 38713             "shape": "Sr"
 38714           }
 38715         }
 38716       },
 38717       "output": {
 38718         "resultWrapper": "SetSubnetsResult",
 38719         "type": "structure",
 38720         "members": {
 38721           "AvailabilityZones": {
 38722             "shape": "S17"
 38723           }
 38724         }
 38725       }
 38726     }
 38727   },
 38728   "shapes": {
 38729     "S2": {
 38730       "type": "list",
 38731       "member": {}
 38732     },
 38733     "S4": {
 38734       "type": "list",
 38735       "member": {
 38736         "type": "structure",
 38737         "required": [
 38738           "Key"
 38739         ],
 38740         "members": {
 38741           "Key": {},
 38742           "Value": {}
 38743         }
 38744       }
 38745     },
 38746     "Se": {
 38747       "type": "list",
 38748       "member": {
 38749         "type": "structure",
 38750         "members": {
 38751           "CertificateArn": {}
 38752         }
 38753       }
 38754     },
 38755     "Sh": {
 38756       "type": "list",
 38757       "member": {
 38758         "type": "structure",
 38759         "required": [
 38760           "Type",
 38761           "TargetGroupArn"
 38762         ],
 38763         "members": {
 38764           "Type": {},
 38765           "TargetGroupArn": {}
 38766         }
 38767       }
 38768     },
 38769     "Sm": {
 38770       "type": "list",
 38771       "member": {
 38772         "type": "structure",
 38773         "members": {
 38774           "ListenerArn": {},
 38775           "LoadBalancerArn": {},
 38776           "Port": {
 38777             "type": "integer"
 38778           },
 38779           "Protocol": {},
 38780           "Certificates": {
 38781             "shape": "Se"
 38782           },
 38783           "SslPolicy": {},
 38784           "DefaultActions": {
 38785             "shape": "Sh"
 38786           }
 38787         }
 38788       }
 38789     },
 38790     "Sr": {
 38791       "type": "list",
 38792       "member": {}
 38793     },
 38794     "St": {
 38795       "type": "list",
 38796       "member": {}
 38797     },
 38798     "Sx": {
 38799       "type": "list",
 38800       "member": {
 38801         "type": "structure",
 38802         "members": {
 38803           "LoadBalancerArn": {},
 38804           "DNSName": {},
 38805           "CanonicalHostedZoneId": {},
 38806           "CreatedTime": {
 38807             "type": "timestamp"
 38808           },
 38809           "LoadBalancerName": {},
 38810           "Scheme": {},
 38811           "VpcId": {},
 38812           "State": {
 38813             "type": "structure",
 38814             "members": {
 38815               "Code": {},
 38816               "Reason": {}
 38817             }
 38818           },
 38819           "Type": {},
 38820           "AvailabilityZones": {
 38821             "shape": "S17"
 38822           },
 38823           "SecurityGroups": {
 38824             "shape": "St"
 38825           }
 38826         }
 38827       }
 38828     },
 38829     "S17": {
 38830       "type": "list",
 38831       "member": {
 38832         "type": "structure",
 38833         "members": {
 38834           "ZoneName": {},
 38835           "SubnetId": {}
 38836         }
 38837       }
 38838     },
 38839     "S1b": {
 38840       "type": "list",
 38841       "member": {
 38842         "type": "structure",
 38843         "members": {
 38844           "Field": {},
 38845           "Values": {
 38846             "type": "list",
 38847             "member": {}
 38848           }
 38849         }
 38850       }
 38851     },
 38852     "S1i": {
 38853       "type": "list",
 38854       "member": {
 38855         "type": "structure",
 38856         "members": {
 38857           "RuleArn": {},
 38858           "Priority": {},
 38859           "Conditions": {
 38860             "shape": "S1b"
 38861           },
 38862           "Actions": {
 38863             "shape": "Sh"
 38864           },
 38865           "IsDefault": {
 38866             "type": "boolean"
 38867           }
 38868         }
 38869       }
 38870     },
 38871     "S1u": {
 38872       "type": "structure",
 38873       "required": [
 38874         "HttpCode"
 38875       ],
 38876       "members": {
 38877         "HttpCode": {}
 38878       }
 38879     },
 38880     "S1x": {
 38881       "type": "list",
 38882       "member": {
 38883         "type": "structure",
 38884         "members": {
 38885           "TargetGroupArn": {},
 38886           "TargetGroupName": {},
 38887           "Protocol": {},
 38888           "Port": {
 38889             "type": "integer"
 38890           },
 38891           "VpcId": {},
 38892           "HealthCheckProtocol": {},
 38893           "HealthCheckPort": {},
 38894           "HealthCheckIntervalSeconds": {
 38895             "type": "integer"
 38896           },
 38897           "HealthCheckTimeoutSeconds": {
 38898             "type": "integer"
 38899           },
 38900           "HealthyThresholdCount": {
 38901             "type": "integer"
 38902           },
 38903           "UnhealthyThresholdCount": {
 38904             "type": "integer"
 38905           },
 38906           "HealthCheckPath": {},
 38907           "Matcher": {
 38908             "shape": "S1u"
 38909           },
 38910           "LoadBalancerArns": {
 38911             "shape": "S1z"
 38912           }
 38913         }
 38914       }
 38915     },
 38916     "S1z": {
 38917       "type": "list",
 38918       "member": {}
 38919     },
 38920     "S29": {
 38921       "type": "list",
 38922       "member": {
 38923         "shape": "S2a"
 38924       }
 38925     },
 38926     "S2a": {
 38927       "type": "structure",
 38928       "required": [
 38929         "Id"
 38930       ],
 38931       "members": {
 38932         "Id": {},
 38933         "Port": {
 38934           "type": "integer"
 38935         }
 38936       }
 38937     },
 38938     "S2k": {
 38939       "type": "list",
 38940       "member": {
 38941         "type": "structure",
 38942         "members": {
 38943           "Key": {},
 38944           "Value": {}
 38945         }
 38946       }
 38947     },
 38948     "S3b": {
 38949       "type": "list",
 38950       "member": {
 38951         "type": "structure",
 38952         "members": {
 38953           "Key": {},
 38954           "Value": {}
 38955         }
 38956       }
 38957     }
 38958   }
 38959 }
 38960 },{}],56:[function(require,module,exports){
 38961 module.exports={
 38962   "pagination": {
 38963     "DescribeTargetGroups": {
 38964       "input_token": "Marker",
 38965       "output_token": "NextMarker",
 38966       "result_key": "TargetGroups"
 38967     },
 38968     "DescribeListeners": {
 38969       "input_token": "Marker",
 38970       "output_token": "NextMarker",
 38971       "result_key": "Listeners"
 38972     },
 38973     "DescribeLoadBalancers": {
 38974       "input_token": "Marker",
 38975       "output_token": "NextMarker",
 38976       "result_key": "LoadBalancers"
 38977     }
 38978   }
 38979 }
 38980 
 38981 
 38982 },{}],57:[function(require,module,exports){
 38983 module.exports={
 38984   "version": "2.0",
 38985   "metadata": {
 38986     "apiVersion": "2009-03-31",
 38987     "endpointPrefix": "elasticmapreduce",
 38988     "jsonVersion": "1.1",
 38989     "protocol": "json",
 38990     "serviceAbbreviation": "Amazon EMR",
 38991     "serviceFullName": "Amazon Elastic MapReduce",
 38992     "signatureVersion": "v4",
 38993     "targetPrefix": "ElasticMapReduce",
 38994     "timestampFormat": "unixTimestamp"
 38995   },
 38996   "operations": {
 38997     "AddInstanceGroups": {
 38998       "input": {
 38999         "type": "structure",
 39000         "required": [
 39001           "InstanceGroups",
 39002           "JobFlowId"
 39003         ],
 39004         "members": {
 39005           "InstanceGroups": {
 39006             "shape": "S2"
 39007           },
 39008           "JobFlowId": {}
 39009         }
 39010       },
 39011       "output": {
 39012         "type": "structure",
 39013         "members": {
 39014           "JobFlowId": {},
 39015           "InstanceGroupIds": {
 39016             "type": "list",
 39017             "member": {}
 39018           }
 39019         }
 39020       }
 39021     },
 39022     "AddJobFlowSteps": {
 39023       "input": {
 39024         "type": "structure",
 39025         "required": [
 39026           "JobFlowId",
 39027           "Steps"
 39028         ],
 39029         "members": {
 39030           "JobFlowId": {},
 39031           "Steps": {
 39032             "shape": "S10"
 39033           }
 39034         }
 39035       },
 39036       "output": {
 39037         "type": "structure",
 39038         "members": {
 39039           "StepIds": {
 39040             "shape": "S19"
 39041           }
 39042         }
 39043       }
 39044     },
 39045     "AddTags": {
 39046       "input": {
 39047         "type": "structure",
 39048         "required": [
 39049           "ResourceId",
 39050           "Tags"
 39051         ],
 39052         "members": {
 39053           "ResourceId": {},
 39054           "Tags": {
 39055             "shape": "S1c"
 39056           }
 39057         }
 39058       },
 39059       "output": {
 39060         "type": "structure",
 39061         "members": {}
 39062       }
 39063     },
 39064     "CancelSteps": {
 39065       "input": {
 39066         "type": "structure",
 39067         "members": {
 39068           "ClusterId": {},
 39069           "StepIds": {
 39070             "shape": "S19"
 39071           }
 39072         }
 39073       },
 39074       "output": {
 39075         "type": "structure",
 39076         "members": {
 39077           "CancelStepsInfoList": {
 39078             "type": "list",
 39079             "member": {
 39080               "type": "structure",
 39081               "members": {
 39082                 "StepId": {},
 39083                 "Status": {},
 39084                 "Reason": {}
 39085               }
 39086             }
 39087           }
 39088         }
 39089       }
 39090     },
 39091     "CreateSecurityConfiguration": {
 39092       "input": {
 39093         "type": "structure",
 39094         "required": [
 39095           "Name",
 39096           "SecurityConfiguration"
 39097         ],
 39098         "members": {
 39099           "Name": {},
 39100           "SecurityConfiguration": {}
 39101         }
 39102       },
 39103       "output": {
 39104         "type": "structure",
 39105         "required": [
 39106           "Name",
 39107           "CreationDateTime"
 39108         ],
 39109         "members": {
 39110           "Name": {},
 39111           "CreationDateTime": {
 39112             "type": "timestamp"
 39113           }
 39114         }
 39115       }
 39116     },
 39117     "DeleteSecurityConfiguration": {
 39118       "input": {
 39119         "type": "structure",
 39120         "required": [
 39121           "Name"
 39122         ],
 39123         "members": {
 39124           "Name": {}
 39125         }
 39126       },
 39127       "output": {
 39128         "type": "structure",
 39129         "members": {}
 39130       }
 39131     },
 39132     "DescribeCluster": {
 39133       "input": {
 39134         "type": "structure",
 39135         "required": [
 39136           "ClusterId"
 39137         ],
 39138         "members": {
 39139           "ClusterId": {}
 39140         }
 39141       },
 39142       "output": {
 39143         "type": "structure",
 39144         "members": {
 39145           "Cluster": {
 39146             "type": "structure",
 39147             "members": {
 39148               "Id": {},
 39149               "Name": {},
 39150               "Status": {
 39151                 "shape": "S1u"
 39152               },
 39153               "Ec2InstanceAttributes": {
 39154                 "type": "structure",
 39155                 "members": {
 39156                   "Ec2KeyName": {},
 39157                   "Ec2SubnetId": {},
 39158                   "Ec2AvailabilityZone": {},
 39159                   "IamInstanceProfile": {},
 39160                   "EmrManagedMasterSecurityGroup": {},
 39161                   "EmrManagedSlaveSecurityGroup": {},
 39162                   "ServiceAccessSecurityGroup": {},
 39163                   "AdditionalMasterSecurityGroups": {
 39164                     "shape": "S20"
 39165                   },
 39166                   "AdditionalSlaveSecurityGroups": {
 39167                     "shape": "S20"
 39168                   }
 39169                 }
 39170               },
 39171               "LogUri": {},
 39172               "RequestedAmiVersion": {},
 39173               "RunningAmiVersion": {},
 39174               "ReleaseLabel": {},
 39175               "AutoTerminate": {
 39176                 "type": "boolean"
 39177               },
 39178               "TerminationProtected": {
 39179                 "type": "boolean"
 39180               },
 39181               "VisibleToAllUsers": {
 39182                 "type": "boolean"
 39183               },
 39184               "Applications": {
 39185                 "shape": "S22"
 39186               },
 39187               "Tags": {
 39188                 "shape": "S1c"
 39189               },
 39190               "ServiceRole": {},
 39191               "NormalizedInstanceHours": {
 39192                 "type": "integer"
 39193               },
 39194               "MasterPublicDnsName": {},
 39195               "Configurations": {
 39196                 "shape": "S9"
 39197               },
 39198               "SecurityConfiguration": {},
 39199               "AutoScalingRole": {},
 39200               "ScaleDownBehavior": {}
 39201             }
 39202           }
 39203         }
 39204       }
 39205     },
 39206     "DescribeJobFlows": {
 39207       "input": {
 39208         "type": "structure",
 39209         "members": {
 39210           "CreatedAfter": {
 39211             "type": "timestamp"
 39212           },
 39213           "CreatedBefore": {
 39214             "type": "timestamp"
 39215           },
 39216           "JobFlowIds": {
 39217             "shape": "S17"
 39218           },
 39219           "JobFlowStates": {
 39220             "type": "list",
 39221             "member": {}
 39222           }
 39223         }
 39224       },
 39225       "output": {
 39226         "type": "structure",
 39227         "members": {
 39228           "JobFlows": {
 39229             "type": "list",
 39230             "member": {
 39231               "type": "structure",
 39232               "required": [
 39233                 "JobFlowId",
 39234                 "Name",
 39235                 "ExecutionStatusDetail",
 39236                 "Instances"
 39237               ],
 39238               "members": {
 39239                 "JobFlowId": {},
 39240                 "Name": {},
 39241                 "LogUri": {},
 39242                 "AmiVersion": {},
 39243                 "ExecutionStatusDetail": {
 39244                   "type": "structure",
 39245                   "required": [
 39246                     "State",
 39247                     "CreationDateTime"
 39248                   ],
 39249                   "members": {
 39250                     "State": {},
 39251                     "CreationDateTime": {
 39252                       "type": "timestamp"
 39253                     },
 39254                     "StartDateTime": {
 39255                       "type": "timestamp"
 39256                     },
 39257                     "ReadyDateTime": {
 39258                       "type": "timestamp"
 39259                     },
 39260                     "EndDateTime": {
 39261                       "type": "timestamp"
 39262                     },
 39263                     "LastStateChangeReason": {}
 39264                   }
 39265                 },
 39266                 "Instances": {
 39267                   "type": "structure",
 39268                   "required": [
 39269                     "MasterInstanceType",
 39270                     "SlaveInstanceType",
 39271                     "InstanceCount"
 39272                   ],
 39273                   "members": {
 39274                     "MasterInstanceType": {},
 39275                     "MasterPublicDnsName": {},
 39276                     "MasterInstanceId": {},
 39277                     "SlaveInstanceType": {},
 39278                     "InstanceCount": {
 39279                       "type": "integer"
 39280                     },
 39281                     "InstanceGroups": {
 39282                       "type": "list",
 39283                       "member": {
 39284                         "type": "structure",
 39285                         "required": [
 39286                           "Market",
 39287                           "InstanceRole",
 39288                           "InstanceType",
 39289                           "InstanceRequestCount",
 39290                           "InstanceRunningCount",
 39291                           "State",
 39292                           "CreationDateTime"
 39293                         ],
 39294                         "members": {
 39295                           "InstanceGroupId": {},
 39296                           "Name": {},
 39297                           "Market": {},
 39298                           "InstanceRole": {},
 39299                           "BidPrice": {},
 39300                           "InstanceType": {},
 39301                           "InstanceRequestCount": {
 39302                             "type": "integer"
 39303                           },
 39304                           "InstanceRunningCount": {
 39305                             "type": "integer"
 39306                           },
 39307                           "State": {},
 39308                           "LastStateChangeReason": {},
 39309                           "CreationDateTime": {
 39310                             "type": "timestamp"
 39311                           },
 39312                           "StartDateTime": {
 39313                             "type": "timestamp"
 39314                           },
 39315                           "ReadyDateTime": {
 39316                             "type": "timestamp"
 39317                           },
 39318                           "EndDateTime": {
 39319                             "type": "timestamp"
 39320                           }
 39321                         }
 39322                       }
 39323                     },
 39324                     "NormalizedInstanceHours": {
 39325                       "type": "integer"
 39326                     },
 39327                     "Ec2KeyName": {},
 39328                     "Ec2SubnetId": {},
 39329                     "Placement": {
 39330                       "shape": "S2g"
 39331                     },
 39332                     "KeepJobFlowAliveWhenNoSteps": {
 39333                       "type": "boolean"
 39334                     },
 39335                     "TerminationProtected": {
 39336                       "type": "boolean"
 39337                     },
 39338                     "HadoopVersion": {}
 39339                   }
 39340                 },
 39341                 "Steps": {
 39342                   "type": "list",
 39343                   "member": {
 39344                     "type": "structure",
 39345                     "required": [
 39346                       "StepConfig",
 39347                       "ExecutionStatusDetail"
 39348                     ],
 39349                     "members": {
 39350                       "StepConfig": {
 39351                         "shape": "S11"
 39352                       },
 39353                       "ExecutionStatusDetail": {
 39354                         "type": "structure",
 39355                         "required": [
 39356                           "State",
 39357                           "CreationDateTime"
 39358                         ],
 39359                         "members": {
 39360                           "State": {},
 39361                           "CreationDateTime": {
 39362                             "type": "timestamp"
 39363                           },
 39364                           "StartDateTime": {
 39365                             "type": "timestamp"
 39366                           },
 39367                           "EndDateTime": {
 39368                             "type": "timestamp"
 39369                           },
 39370                           "LastStateChangeReason": {}
 39371                         }
 39372                       }
 39373                     }
 39374                   }
 39375                 },
 39376                 "BootstrapActions": {
 39377                   "type": "list",
 39378                   "member": {
 39379                     "type": "structure",
 39380                     "members": {
 39381                       "BootstrapActionConfig": {
 39382                         "shape": "S2n"
 39383                       }
 39384                     }
 39385                   }
 39386                 },
 39387                 "SupportedProducts": {
 39388                   "shape": "S2p"
 39389                 },
 39390                 "VisibleToAllUsers": {
 39391                   "type": "boolean"
 39392                 },
 39393                 "JobFlowRole": {},
 39394                 "ServiceRole": {},
 39395                 "AutoScalingRole": {},
 39396                 "ScaleDownBehavior": {}
 39397               }
 39398             }
 39399           }
 39400         }
 39401       },
 39402       "deprecated": true
 39403     },
 39404     "DescribeSecurityConfiguration": {
 39405       "input": {
 39406         "type": "structure",
 39407         "required": [
 39408           "Name"
 39409         ],
 39410         "members": {
 39411           "Name": {}
 39412         }
 39413       },
 39414       "output": {
 39415         "type": "structure",
 39416         "members": {
 39417           "Name": {},
 39418           "SecurityConfiguration": {},
 39419           "CreationDateTime": {
 39420             "type": "timestamp"
 39421           }
 39422         }
 39423       }
 39424     },
 39425     "DescribeStep": {
 39426       "input": {
 39427         "type": "structure",
 39428         "required": [
 39429           "ClusterId",
 39430           "StepId"
 39431         ],
 39432         "members": {
 39433           "ClusterId": {},
 39434           "StepId": {}
 39435         }
 39436       },
 39437       "output": {
 39438         "type": "structure",
 39439         "members": {
 39440           "Step": {
 39441             "type": "structure",
 39442             "members": {
 39443               "Id": {},
 39444               "Name": {},
 39445               "Config": {
 39446                 "shape": "S2v"
 39447               },
 39448               "ActionOnFailure": {},
 39449               "Status": {
 39450                 "shape": "S2w"
 39451               }
 39452             }
 39453           }
 39454         }
 39455       }
 39456     },
 39457     "ListBootstrapActions": {
 39458       "input": {
 39459         "type": "structure",
 39460         "required": [
 39461           "ClusterId"
 39462         ],
 39463         "members": {
 39464           "ClusterId": {},
 39465           "Marker": {}
 39466         }
 39467       },
 39468       "output": {
 39469         "type": "structure",
 39470         "members": {
 39471           "BootstrapActions": {
 39472             "type": "list",
 39473             "member": {
 39474               "type": "structure",
 39475               "members": {
 39476                 "Name": {},
 39477                 "ScriptPath": {},
 39478                 "Args": {
 39479                   "shape": "S20"
 39480                 }
 39481               }
 39482             }
 39483           },
 39484           "Marker": {}
 39485         }
 39486       }
 39487     },
 39488     "ListClusters": {
 39489       "input": {
 39490         "type": "structure",
 39491         "members": {
 39492           "CreatedAfter": {
 39493             "type": "timestamp"
 39494           },
 39495           "CreatedBefore": {
 39496             "type": "timestamp"
 39497           },
 39498           "ClusterStates": {
 39499             "type": "list",
 39500             "member": {}
 39501           },
 39502           "Marker": {}
 39503         }
 39504       },
 39505       "output": {
 39506         "type": "structure",
 39507         "members": {
 39508           "Clusters": {
 39509             "type": "list",
 39510             "member": {
 39511               "type": "structure",
 39512               "members": {
 39513                 "Id": {},
 39514                 "Name": {},
 39515                 "Status": {
 39516                   "shape": "S1u"
 39517                 },
 39518                 "NormalizedInstanceHours": {
 39519                   "type": "integer"
 39520                 }
 39521               }
 39522             }
 39523           },
 39524           "Marker": {}
 39525         }
 39526       }
 39527     },
 39528     "ListInstanceGroups": {
 39529       "input": {
 39530         "type": "structure",
 39531         "required": [
 39532           "ClusterId"
 39533         ],
 39534         "members": {
 39535           "ClusterId": {},
 39536           "Marker": {}
 39537         }
 39538       },
 39539       "output": {
 39540         "type": "structure",
 39541         "members": {
 39542           "InstanceGroups": {
 39543             "type": "list",
 39544             "member": {
 39545               "type": "structure",
 39546               "members": {
 39547                 "Id": {},
 39548                 "Name": {},
 39549                 "Market": {},
 39550                 "InstanceGroupType": {},
 39551                 "BidPrice": {},
 39552                 "InstanceType": {},
 39553                 "RequestedInstanceCount": {
 39554                   "type": "integer"
 39555                 },
 39556                 "RunningInstanceCount": {
 39557                   "type": "integer"
 39558                 },
 39559                 "Status": {
 39560                   "type": "structure",
 39561                   "members": {
 39562                     "State": {},
 39563                     "StateChangeReason": {
 39564                       "type": "structure",
 39565                       "members": {
 39566                         "Code": {},
 39567                         "Message": {}
 39568                       }
 39569                     },
 39570                     "Timeline": {
 39571                       "type": "structure",
 39572                       "members": {
 39573                         "CreationDateTime": {
 39574                           "type": "timestamp"
 39575                         },
 39576                         "ReadyDateTime": {
 39577                           "type": "timestamp"
 39578                         },
 39579                         "EndDateTime": {
 39580                           "type": "timestamp"
 39581                         }
 39582                       }
 39583                     }
 39584                   }
 39585                 },
 39586                 "Configurations": {
 39587                   "shape": "S9"
 39588                 },
 39589                 "EbsBlockDevices": {
 39590                   "type": "list",
 39591                   "member": {
 39592                     "type": "structure",
 39593                     "members": {
 39594                       "VolumeSpecification": {
 39595                         "shape": "Sg"
 39596                       },
 39597                       "Device": {}
 39598                     }
 39599                   }
 39600                 },
 39601                 "EbsOptimized": {
 39602                   "type": "boolean"
 39603                 },
 39604                 "ShrinkPolicy": {
 39605                   "shape": "S3o"
 39606                 },
 39607                 "AutoScalingPolicy": {
 39608                   "shape": "S3s"
 39609                 }
 39610               }
 39611             }
 39612           },
 39613           "Marker": {}
 39614         }
 39615       }
 39616     },
 39617     "ListInstances": {
 39618       "input": {
 39619         "type": "structure",
 39620         "required": [
 39621           "ClusterId"
 39622         ],
 39623         "members": {
 39624           "ClusterId": {},
 39625           "InstanceGroupId": {},
 39626           "InstanceGroupTypes": {
 39627             "type": "list",
 39628             "member": {}
 39629           },
 39630           "InstanceStates": {
 39631             "type": "list",
 39632             "member": {}
 39633           },
 39634           "Marker": {}
 39635         }
 39636       },
 39637       "output": {
 39638         "type": "structure",
 39639         "members": {
 39640           "Instances": {
 39641             "type": "list",
 39642             "member": {
 39643               "type": "structure",
 39644               "members": {
 39645                 "Id": {},
 39646                 "Ec2InstanceId": {},
 39647                 "PublicDnsName": {},
 39648                 "PublicIpAddress": {},
 39649                 "PrivateDnsName": {},
 39650                 "PrivateIpAddress": {},
 39651                 "Status": {
 39652                   "type": "structure",
 39653                   "members": {
 39654                     "State": {},
 39655                     "StateChangeReason": {
 39656                       "type": "structure",
 39657                       "members": {
 39658                         "Code": {},
 39659                         "Message": {}
 39660                       }
 39661                     },
 39662                     "Timeline": {
 39663                       "type": "structure",
 39664                       "members": {
 39665                         "CreationDateTime": {
 39666                           "type": "timestamp"
 39667                         },
 39668                         "ReadyDateTime": {
 39669                           "type": "timestamp"
 39670                         },
 39671                         "EndDateTime": {
 39672                           "type": "timestamp"
 39673                         }
 39674                       }
 39675                     }
 39676                   }
 39677                 },
 39678                 "InstanceGroupId": {},
 39679                 "EbsVolumes": {
 39680                   "type": "list",
 39681                   "member": {
 39682                     "type": "structure",
 39683                     "members": {
 39684                       "Device": {},
 39685                       "VolumeId": {}
 39686                     }
 39687                   }
 39688                 }
 39689               }
 39690             }
 39691           },
 39692           "Marker": {}
 39693         }
 39694       }
 39695     },
 39696     "ListSecurityConfigurations": {
 39697       "input": {
 39698         "type": "structure",
 39699         "members": {
 39700           "Marker": {}
 39701         }
 39702       },
 39703       "output": {
 39704         "type": "structure",
 39705         "members": {
 39706           "SecurityConfigurations": {
 39707             "type": "list",
 39708             "member": {
 39709               "type": "structure",
 39710               "members": {
 39711                 "Name": {},
 39712                 "CreationDateTime": {
 39713                   "type": "timestamp"
 39714                 }
 39715               }
 39716             }
 39717           },
 39718           "Marker": {}
 39719         }
 39720       }
 39721     },
 39722     "ListSteps": {
 39723       "input": {
 39724         "type": "structure",
 39725         "required": [
 39726           "ClusterId"
 39727         ],
 39728         "members": {
 39729           "ClusterId": {},
 39730           "StepStates": {
 39731             "type": "list",
 39732             "member": {}
 39733           },
 39734           "StepIds": {
 39735             "shape": "S17"
 39736           },
 39737           "Marker": {}
 39738         }
 39739       },
 39740       "output": {
 39741         "type": "structure",
 39742         "members": {
 39743           "Steps": {
 39744             "type": "list",
 39745             "member": {
 39746               "type": "structure",
 39747               "members": {
 39748                 "Id": {},
 39749                 "Name": {},
 39750                 "Config": {
 39751                   "shape": "S2v"
 39752                 },
 39753                 "ActionOnFailure": {},
 39754                 "Status": {
 39755                   "shape": "S2w"
 39756                 }
 39757               }
 39758             }
 39759           },
 39760           "Marker": {}
 39761         }
 39762       }
 39763     },
 39764     "ModifyInstanceGroups": {
 39765       "input": {
 39766         "type": "structure",
 39767         "members": {
 39768           "ClusterId": {},
 39769           "InstanceGroups": {
 39770             "type": "list",
 39771             "member": {
 39772               "type": "structure",
 39773               "required": [
 39774                 "InstanceGroupId"
 39775               ],
 39776               "members": {
 39777                 "InstanceGroupId": {},
 39778                 "InstanceCount": {
 39779                   "type": "integer"
 39780                 },
 39781                 "EC2InstanceIdsToTerminate": {
 39782                   "type": "list",
 39783                   "member": {}
 39784                 },
 39785                 "ShrinkPolicy": {
 39786                   "shape": "S3o"
 39787                 }
 39788               }
 39789             }
 39790           }
 39791         }
 39792       }
 39793     },
 39794     "PutAutoScalingPolicy": {
 39795       "input": {
 39796         "type": "structure",
 39797         "required": [
 39798           "ClusterId",
 39799           "InstanceGroupId",
 39800           "AutoScalingPolicy"
 39801         ],
 39802         "members": {
 39803           "ClusterId": {},
 39804           "InstanceGroupId": {},
 39805           "AutoScalingPolicy": {
 39806             "shape": "Si"
 39807           }
 39808         }
 39809       },
 39810       "output": {
 39811         "type": "structure",
 39812         "members": {
 39813           "ClusterId": {},
 39814           "InstanceGroupId": {},
 39815           "AutoScalingPolicy": {
 39816             "shape": "S3s"
 39817           }
 39818         }
 39819       }
 39820     },
 39821     "RemoveAutoScalingPolicy": {
 39822       "input": {
 39823         "type": "structure",
 39824         "required": [
 39825           "ClusterId",
 39826           "InstanceGroupId"
 39827         ],
 39828         "members": {
 39829           "ClusterId": {},
 39830           "InstanceGroupId": {}
 39831         }
 39832       },
 39833       "output": {
 39834         "type": "structure",
 39835         "members": {}
 39836       }
 39837     },
 39838     "RemoveTags": {
 39839       "input": {
 39840         "type": "structure",
 39841         "required": [
 39842           "ResourceId",
 39843           "TagKeys"
 39844         ],
 39845         "members": {
 39846           "ResourceId": {},
 39847           "TagKeys": {
 39848             "shape": "S20"
 39849           }
 39850         }
 39851       },
 39852       "output": {
 39853         "type": "structure",
 39854         "members": {}
 39855       }
 39856     },
 39857     "RunJobFlow": {
 39858       "input": {
 39859         "type": "structure",
 39860         "required": [
 39861           "Name",
 39862           "Instances"
 39863         ],
 39864         "members": {
 39865           "Name": {},
 39866           "LogUri": {},
 39867           "AdditionalInfo": {},
 39868           "AmiVersion": {},
 39869           "ReleaseLabel": {},
 39870           "Instances": {
 39871             "type": "structure",
 39872             "members": {
 39873               "MasterInstanceType": {},
 39874               "SlaveInstanceType": {},
 39875               "InstanceCount": {
 39876                 "type": "integer"
 39877               },
 39878               "InstanceGroups": {
 39879                 "shape": "S2"
 39880               },
 39881               "Ec2KeyName": {},
 39882               "Placement": {
 39883                 "shape": "S2g"
 39884               },
 39885               "KeepJobFlowAliveWhenNoSteps": {
 39886                 "type": "boolean"
 39887               },
 39888               "TerminationProtected": {
 39889                 "type": "boolean"
 39890               },
 39891               "HadoopVersion": {},
 39892               "Ec2SubnetId": {},
 39893               "EmrManagedMasterSecurityGroup": {},
 39894               "EmrManagedSlaveSecurityGroup": {},
 39895               "ServiceAccessSecurityGroup": {},
 39896               "AdditionalMasterSecurityGroups": {
 39897                 "shape": "S4v"
 39898               },
 39899               "AdditionalSlaveSecurityGroups": {
 39900                 "shape": "S4v"
 39901               }
 39902             }
 39903           },
 39904           "Steps": {
 39905             "shape": "S10"
 39906           },
 39907           "BootstrapActions": {
 39908             "type": "list",
 39909             "member": {
 39910               "shape": "S2n"
 39911             }
 39912           },
 39913           "SupportedProducts": {
 39914             "shape": "S2p"
 39915           },
 39916           "NewSupportedProducts": {
 39917             "type": "list",
 39918             "member": {
 39919               "type": "structure",
 39920               "members": {
 39921                 "Name": {},
 39922                 "Args": {
 39923                   "shape": "S17"
 39924                 }
 39925               }
 39926             }
 39927           },
 39928           "Applications": {
 39929             "shape": "S22"
 39930           },
 39931           "Configurations": {
 39932             "shape": "S9"
 39933           },
 39934           "VisibleToAllUsers": {
 39935             "type": "boolean"
 39936           },
 39937           "JobFlowRole": {},
 39938           "ServiceRole": {},
 39939           "Tags": {
 39940             "shape": "S1c"
 39941           },
 39942           "SecurityConfiguration": {},
 39943           "AutoScalingRole": {},
 39944           "ScaleDownBehavior": {}
 39945         }
 39946       },
 39947       "output": {
 39948         "type": "structure",
 39949         "members": {
 39950           "JobFlowId": {}
 39951         }
 39952       }
 39953     },
 39954     "SetTerminationProtection": {
 39955       "input": {
 39956         "type": "structure",
 39957         "required": [
 39958           "JobFlowIds",
 39959           "TerminationProtected"
 39960         ],
 39961         "members": {
 39962           "JobFlowIds": {
 39963             "shape": "S17"
 39964           },
 39965           "TerminationProtected": {
 39966             "type": "boolean"
 39967           }
 39968         }
 39969       }
 39970     },
 39971     "SetVisibleToAllUsers": {
 39972       "input": {
 39973         "type": "structure",
 39974         "required": [
 39975           "JobFlowIds",
 39976           "VisibleToAllUsers"
 39977         ],
 39978         "members": {
 39979           "JobFlowIds": {
 39980             "shape": "S17"
 39981           },
 39982           "VisibleToAllUsers": {
 39983             "type": "boolean"
 39984           }
 39985         }
 39986       }
 39987     },
 39988     "TerminateJobFlows": {
 39989       "input": {
 39990         "type": "structure",
 39991         "required": [
 39992           "JobFlowIds"
 39993         ],
 39994         "members": {
 39995           "JobFlowIds": {
 39996             "shape": "S17"
 39997           }
 39998         }
 39999       }
 40000     }
 40001   },
 40002   "shapes": {
 40003     "S2": {
 40004       "type": "list",
 40005       "member": {
 40006         "type": "structure",
 40007         "required": [
 40008           "InstanceRole",
 40009           "InstanceType",
 40010           "InstanceCount"
 40011         ],
 40012         "members": {
 40013           "Name": {},
 40014           "Market": {},
 40015           "InstanceRole": {},
 40016           "BidPrice": {},
 40017           "InstanceType": {},
 40018           "InstanceCount": {
 40019             "type": "integer"
 40020           },
 40021           "Configurations": {
 40022             "shape": "S9"
 40023           },
 40024           "EbsConfiguration": {
 40025             "type": "structure",
 40026             "members": {
 40027               "EbsBlockDeviceConfigs": {
 40028                 "type": "list",
 40029                 "member": {
 40030                   "type": "structure",
 40031                   "required": [
 40032                     "VolumeSpecification"
 40033                   ],
 40034                   "members": {
 40035                     "VolumeSpecification": {
 40036                       "shape": "Sg"
 40037                     },
 40038                     "VolumesPerInstance": {
 40039                       "type": "integer"
 40040                     }
 40041                   }
 40042                 }
 40043               },
 40044               "EbsOptimized": {
 40045                 "type": "boolean"
 40046               }
 40047             }
 40048           },
 40049           "AutoScalingPolicy": {
 40050             "shape": "Si"
 40051           }
 40052         }
 40053       }
 40054     },
 40055     "S9": {
 40056       "type": "list",
 40057       "member": {
 40058         "type": "structure",
 40059         "members": {
 40060           "Classification": {},
 40061           "Configurations": {
 40062             "shape": "S9"
 40063           },
 40064           "Properties": {
 40065             "shape": "Sc"
 40066           }
 40067         }
 40068       }
 40069     },
 40070     "Sc": {
 40071       "type": "map",
 40072       "key": {},
 40073       "value": {}
 40074     },
 40075     "Sg": {
 40076       "type": "structure",
 40077       "required": [
 40078         "VolumeType",
 40079         "SizeInGB"
 40080       ],
 40081       "members": {
 40082         "VolumeType": {},
 40083         "Iops": {
 40084           "type": "integer"
 40085         },
 40086         "SizeInGB": {
 40087           "type": "integer"
 40088         }
 40089       }
 40090     },
 40091     "Si": {
 40092       "type": "structure",
 40093       "required": [
 40094         "Constraints",
 40095         "Rules"
 40096       ],
 40097       "members": {
 40098         "Constraints": {
 40099           "shape": "Sj"
 40100         },
 40101         "Rules": {
 40102           "shape": "Sk"
 40103         }
 40104       }
 40105     },
 40106     "Sj": {
 40107       "type": "structure",
 40108       "required": [
 40109         "MinCapacity",
 40110         "MaxCapacity"
 40111       ],
 40112       "members": {
 40113         "MinCapacity": {
 40114           "type": "integer"
 40115         },
 40116         "MaxCapacity": {
 40117           "type": "integer"
 40118         }
 40119       }
 40120     },
 40121     "Sk": {
 40122       "type": "list",
 40123       "member": {
 40124         "type": "structure",
 40125         "required": [
 40126           "Name",
 40127           "Action",
 40128           "Trigger"
 40129         ],
 40130         "members": {
 40131           "Name": {},
 40132           "Description": {},
 40133           "Action": {
 40134             "type": "structure",
 40135             "required": [
 40136               "SimpleScalingPolicyConfiguration"
 40137             ],
 40138             "members": {
 40139               "Market": {},
 40140               "SimpleScalingPolicyConfiguration": {
 40141                 "type": "structure",
 40142                 "required": [
 40143                   "ScalingAdjustment"
 40144                 ],
 40145                 "members": {
 40146                   "AdjustmentType": {},
 40147                   "ScalingAdjustment": {
 40148                     "type": "integer"
 40149                   },
 40150                   "CoolDown": {
 40151                     "type": "integer"
 40152                   }
 40153                 }
 40154               }
 40155             }
 40156           },
 40157           "Trigger": {
 40158             "type": "structure",
 40159             "required": [
 40160               "CloudWatchAlarmDefinition"
 40161             ],
 40162             "members": {
 40163               "CloudWatchAlarmDefinition": {
 40164                 "type": "structure",
 40165                 "required": [
 40166                   "ComparisonOperator",
 40167                   "MetricName",
 40168                   "Period",
 40169                   "Threshold"
 40170                 ],
 40171                 "members": {
 40172                   "ComparisonOperator": {},
 40173                   "EvaluationPeriods": {
 40174                     "type": "integer"
 40175                   },
 40176                   "MetricName": {},
 40177                   "Namespace": {},
 40178                   "Period": {
 40179                     "type": "integer"
 40180                   },
 40181                   "Statistic": {},
 40182                   "Threshold": {
 40183                     "type": "double"
 40184                   },
 40185                   "Unit": {},
 40186                   "Dimensions": {
 40187                     "type": "list",
 40188                     "member": {
 40189                       "type": "structure",
 40190                       "members": {
 40191                         "Key": {},
 40192                         "Value": {}
 40193                       }
 40194                     }
 40195                   }
 40196                 }
 40197               }
 40198             }
 40199           }
 40200         }
 40201       }
 40202     },
 40203     "S10": {
 40204       "type": "list",
 40205       "member": {
 40206         "shape": "S11"
 40207       }
 40208     },
 40209     "S11": {
 40210       "type": "structure",
 40211       "required": [
 40212         "Name",
 40213         "HadoopJarStep"
 40214       ],
 40215       "members": {
 40216         "Name": {},
 40217         "ActionOnFailure": {},
 40218         "HadoopJarStep": {
 40219           "type": "structure",
 40220           "required": [
 40221             "Jar"
 40222           ],
 40223           "members": {
 40224             "Properties": {
 40225               "type": "list",
 40226               "member": {
 40227                 "type": "structure",
 40228                 "members": {
 40229                   "Key": {},
 40230                   "Value": {}
 40231                 }
 40232               }
 40233             },
 40234             "Jar": {},
 40235             "MainClass": {},
 40236             "Args": {
 40237               "shape": "S17"
 40238             }
 40239           }
 40240         }
 40241       }
 40242     },
 40243     "S17": {
 40244       "type": "list",
 40245       "member": {}
 40246     },
 40247     "S19": {
 40248       "type": "list",
 40249       "member": {}
 40250     },
 40251     "S1c": {
 40252       "type": "list",
 40253       "member": {
 40254         "type": "structure",
 40255         "members": {
 40256           "Key": {},
 40257           "Value": {}
 40258         }
 40259       }
 40260     },
 40261     "S1u": {
 40262       "type": "structure",
 40263       "members": {
 40264         "State": {},
 40265         "StateChangeReason": {
 40266           "type": "structure",
 40267           "members": {
 40268             "Code": {},
 40269             "Message": {}
 40270           }
 40271         },
 40272         "Timeline": {
 40273           "type": "structure",
 40274           "members": {
 40275             "CreationDateTime": {
 40276               "type": "timestamp"
 40277             },
 40278             "ReadyDateTime": {
 40279               "type": "timestamp"
 40280             },
 40281             "EndDateTime": {
 40282               "type": "timestamp"
 40283             }
 40284           }
 40285         }
 40286       }
 40287     },
 40288     "S20": {
 40289       "type": "list",
 40290       "member": {}
 40291     },
 40292     "S22": {
 40293       "type": "list",
 40294       "member": {
 40295         "type": "structure",
 40296         "members": {
 40297           "Name": {},
 40298           "Version": {},
 40299           "Args": {
 40300             "shape": "S20"
 40301           },
 40302           "AdditionalInfo": {
 40303             "shape": "Sc"
 40304           }
 40305         }
 40306       }
 40307     },
 40308     "S2g": {
 40309       "type": "structure",
 40310       "required": [
 40311         "AvailabilityZone"
 40312       ],
 40313       "members": {
 40314         "AvailabilityZone": {}
 40315       }
 40316     },
 40317     "S2n": {
 40318       "type": "structure",
 40319       "required": [
 40320         "Name",
 40321         "ScriptBootstrapAction"
 40322       ],
 40323       "members": {
 40324         "Name": {},
 40325         "ScriptBootstrapAction": {
 40326           "type": "structure",
 40327           "required": [
 40328             "Path"
 40329           ],
 40330           "members": {
 40331             "Path": {},
 40332             "Args": {
 40333               "shape": "S17"
 40334             }
 40335           }
 40336         }
 40337       }
 40338     },
 40339     "S2p": {
 40340       "type": "list",
 40341       "member": {}
 40342     },
 40343     "S2v": {
 40344       "type": "structure",
 40345       "members": {
 40346         "Jar": {},
 40347         "Properties": {
 40348           "shape": "Sc"
 40349         },
 40350         "MainClass": {},
 40351         "Args": {
 40352           "shape": "S20"
 40353         }
 40354       }
 40355     },
 40356     "S2w": {
 40357       "type": "structure",
 40358       "members": {
 40359         "State": {},
 40360         "StateChangeReason": {
 40361           "type": "structure",
 40362           "members": {
 40363             "Code": {},
 40364             "Message": {}
 40365           }
 40366         },
 40367         "FailureDetails": {
 40368           "type": "structure",
 40369           "members": {
 40370             "Reason": {},
 40371             "Message": {},
 40372             "LogFile": {}
 40373           }
 40374         },
 40375         "Timeline": {
 40376           "type": "structure",
 40377           "members": {
 40378             "CreationDateTime": {
 40379               "type": "timestamp"
 40380             },
 40381             "StartDateTime": {
 40382               "type": "timestamp"
 40383             },
 40384             "EndDateTime": {
 40385               "type": "timestamp"
 40386             }
 40387           }
 40388         }
 40389       }
 40390     },
 40391     "S3o": {
 40392       "type": "structure",
 40393       "members": {
 40394         "DecommissionTimeout": {
 40395           "type": "integer"
 40396         },
 40397         "InstanceResizePolicy": {
 40398           "type": "structure",
 40399           "members": {
 40400             "InstancesToTerminate": {
 40401               "shape": "S3q"
 40402             },
 40403             "InstancesToProtect": {
 40404               "shape": "S3q"
 40405             },
 40406             "InstanceTerminationTimeout": {
 40407               "type": "integer"
 40408             }
 40409           }
 40410         }
 40411       }
 40412     },
 40413     "S3q": {
 40414       "type": "list",
 40415       "member": {}
 40416     },
 40417     "S3s": {
 40418       "type": "structure",
 40419       "members": {
 40420         "Status": {
 40421           "type": "structure",
 40422           "members": {
 40423             "State": {},
 40424             "StateChangeReason": {
 40425               "type": "structure",
 40426               "members": {
 40427                 "Code": {},
 40428                 "Message": {}
 40429               }
 40430             }
 40431           }
 40432         },
 40433         "Constraints": {
 40434           "shape": "Sj"
 40435         },
 40436         "Rules": {
 40437           "shape": "Sk"
 40438         }
 40439       }
 40440     },
 40441     "S4v": {
 40442       "type": "list",
 40443       "member": {}
 40444     }
 40445   }
 40446 }
 40447 },{}],58:[function(require,module,exports){
 40448 module.exports={
 40449   "pagination": {
 40450     "DescribeJobFlows": {
 40451       "result_key": "JobFlows"
 40452     },
 40453     "ListBootstrapActions": {
 40454       "input_token": "Marker",
 40455       "output_token": "Marker",
 40456       "result_key": "BootstrapActions"
 40457     },
 40458     "ListClusters": {
 40459       "input_token": "Marker",
 40460       "output_token": "Marker",
 40461       "result_key": "Clusters"
 40462     },
 40463     "ListInstanceGroups": {
 40464       "input_token": "Marker",
 40465       "output_token": "Marker",
 40466       "result_key": "InstanceGroups"
 40467     },
 40468     "ListInstances": {
 40469       "input_token": "Marker",
 40470       "output_token": "Marker",
 40471       "result_key": "Instances"
 40472     },
 40473     "ListSteps": {
 40474       "input_token": "Marker",
 40475       "output_token": "Marker",
 40476       "result_key": "Steps"
 40477     }
 40478   }
 40479 }
 40480 
 40481 },{}],59:[function(require,module,exports){
 40482 module.exports={
 40483   "version": 2,
 40484   "waiters": {
 40485     "ClusterRunning": {
 40486       "delay": 30,
 40487       "operation": "DescribeCluster",
 40488       "maxAttempts": 60,
 40489       "acceptors": [
 40490         {
 40491           "state": "success",
 40492           "matcher": "path",
 40493           "argument": "Cluster.Status.State",
 40494           "expected": "RUNNING"
 40495         },
 40496         {
 40497           "state": "success",
 40498           "matcher": "path",
 40499           "argument": "Cluster.Status.State",
 40500           "expected": "WAITING"
 40501         },
 40502         {
 40503           "state": "failure",
 40504           "matcher": "path",
 40505           "argument": "Cluster.Status.State",
 40506           "expected": "TERMINATING"
 40507         },
 40508         {
 40509           "state": "failure",
 40510           "matcher": "path",
 40511           "argument": "Cluster.Status.State",
 40512           "expected": "TERMINATED"
 40513         },
 40514         {
 40515           "state": "failure",
 40516           "matcher": "path",
 40517           "argument": "Cluster.Status.State",
 40518           "expected": "TERMINATED_WITH_ERRORS"
 40519         }
 40520       ]
 40521     },
 40522     "StepComplete": {
 40523       "delay": 30,
 40524       "operation": "DescribeStep",
 40525       "maxAttempts": 60,
 40526       "acceptors": [
 40527         {
 40528           "state": "success",
 40529           "matcher": "path",
 40530           "argument": "Step.Status.State",
 40531           "expected": "COMPLETED"
 40532         },
 40533         {
 40534           "state": "failure",
 40535           "matcher": "path",
 40536           "argument": "Step.Status.State",
 40537           "expected": "FAILED"
 40538         },
 40539         {
 40540           "state": "failure",
 40541           "matcher": "path",
 40542           "argument": "Step.Status.State",
 40543           "expected": "CANCELLED"
 40544         }
 40545       ]
 40546     }
 40547   }
 40548 }
 40549 
 40550 },{}],60:[function(require,module,exports){
 40551 module.exports={
 40552   "version": "2.0",
 40553   "metadata": {
 40554     "apiVersion": "2012-09-25",
 40555     "endpointPrefix": "elastictranscoder",
 40556     "protocol": "rest-json",
 40557     "serviceFullName": "Amazon Elastic Transcoder",
 40558     "signatureVersion": "v4"
 40559   },
 40560   "operations": {
 40561     "CancelJob": {
 40562       "http": {
 40563         "method": "DELETE",
 40564         "requestUri": "/2012-09-25/jobs/{Id}",
 40565         "responseCode": 202
 40566       },
 40567       "input": {
 40568         "type": "structure",
 40569         "required": [
 40570           "Id"
 40571         ],
 40572         "members": {
 40573           "Id": {
 40574             "location": "uri",
 40575             "locationName": "Id"
 40576           }
 40577         }
 40578       },
 40579       "output": {
 40580         "type": "structure",
 40581         "members": {}
 40582       }
 40583     },
 40584     "CreateJob": {
 40585       "http": {
 40586         "requestUri": "/2012-09-25/jobs",
 40587         "responseCode": 201
 40588       },
 40589       "input": {
 40590         "type": "structure",
 40591         "required": [
 40592           "PipelineId"
 40593         ],
 40594         "members": {
 40595           "PipelineId": {},
 40596           "Input": {
 40597             "shape": "S5"
 40598           },
 40599           "Inputs": {
 40600             "shape": "St"
 40601           },
 40602           "Output": {
 40603             "shape": "Su"
 40604           },
 40605           "Outputs": {
 40606             "type": "list",
 40607             "member": {
 40608               "shape": "Su"
 40609             }
 40610           },
 40611           "OutputKeyPrefix": {},
 40612           "Playlists": {
 40613             "type": "list",
 40614             "member": {
 40615               "type": "structure",
 40616               "members": {
 40617                 "Name": {},
 40618                 "Format": {},
 40619                 "OutputKeys": {
 40620                   "shape": "S1l"
 40621                 },
 40622                 "HlsContentProtection": {
 40623                   "shape": "S1m"
 40624                 },
 40625                 "PlayReadyDrm": {
 40626                   "shape": "S1q"
 40627                 }
 40628               }
 40629             }
 40630           },
 40631           "UserMetadata": {
 40632             "shape": "S1v"
 40633           }
 40634         }
 40635       },
 40636       "output": {
 40637         "type": "structure",
 40638         "members": {
 40639           "Job": {
 40640             "shape": "S1y"
 40641           }
 40642         }
 40643       }
 40644     },
 40645     "CreatePipeline": {
 40646       "http": {
 40647         "requestUri": "/2012-09-25/pipelines",
 40648         "responseCode": 201
 40649       },
 40650       "input": {
 40651         "type": "structure",
 40652         "required": [
 40653           "Name",
 40654           "InputBucket",
 40655           "Role"
 40656         ],
 40657         "members": {
 40658           "Name": {},
 40659           "InputBucket": {},
 40660           "OutputBucket": {},
 40661           "Role": {},
 40662           "AwsKmsKeyArn": {},
 40663           "Notifications": {
 40664             "shape": "S2a"
 40665           },
 40666           "ContentConfig": {
 40667             "shape": "S2c"
 40668           },
 40669           "ThumbnailConfig": {
 40670             "shape": "S2c"
 40671           }
 40672         }
 40673       },
 40674       "output": {
 40675         "type": "structure",
 40676         "members": {
 40677           "Pipeline": {
 40678             "shape": "S2l"
 40679           },
 40680           "Warnings": {
 40681             "shape": "S2n"
 40682           }
 40683         }
 40684       }
 40685     },
 40686     "CreatePreset": {
 40687       "http": {
 40688         "requestUri": "/2012-09-25/presets",
 40689         "responseCode": 201
 40690       },
 40691       "input": {
 40692         "type": "structure",
 40693         "required": [
 40694           "Name",
 40695           "Container"
 40696         ],
 40697         "members": {
 40698           "Name": {},
 40699           "Description": {},
 40700           "Container": {},
 40701           "Video": {
 40702             "shape": "S2r"
 40703           },
 40704           "Audio": {
 40705             "shape": "S37"
 40706           },
 40707           "Thumbnails": {
 40708             "shape": "S3i"
 40709           }
 40710         }
 40711       },
 40712       "output": {
 40713         "type": "structure",
 40714         "members": {
 40715           "Preset": {
 40716             "shape": "S3m"
 40717           },
 40718           "Warning": {}
 40719         }
 40720       }
 40721     },
 40722     "DeletePipeline": {
 40723       "http": {
 40724         "method": "DELETE",
 40725         "requestUri": "/2012-09-25/pipelines/{Id}",
 40726         "responseCode": 202
 40727       },
 40728       "input": {
 40729         "type": "structure",
 40730         "required": [
 40731           "Id"
 40732         ],
 40733         "members": {
 40734           "Id": {
 40735             "location": "uri",
 40736             "locationName": "Id"
 40737           }
 40738         }
 40739       },
 40740       "output": {
 40741         "type": "structure",
 40742         "members": {}
 40743       }
 40744     },
 40745     "DeletePreset": {
 40746       "http": {
 40747         "method": "DELETE",
 40748         "requestUri": "/2012-09-25/presets/{Id}",
 40749         "responseCode": 202
 40750       },
 40751       "input": {
 40752         "type": "structure",
 40753         "required": [
 40754           "Id"
 40755         ],
 40756         "members": {
 40757           "Id": {
 40758             "location": "uri",
 40759             "locationName": "Id"
 40760           }
 40761         }
 40762       },
 40763       "output": {
 40764         "type": "structure",
 40765         "members": {}
 40766       }
 40767     },
 40768     "ListJobsByPipeline": {
 40769       "http": {
 40770         "method": "GET",
 40771         "requestUri": "/2012-09-25/jobsByPipeline/{PipelineId}"
 40772       },
 40773       "input": {
 40774         "type": "structure",
 40775         "required": [
 40776           "PipelineId"
 40777         ],
 40778         "members": {
 40779           "PipelineId": {
 40780             "location": "uri",
 40781             "locationName": "PipelineId"
 40782           },
 40783           "Ascending": {
 40784             "location": "querystring",
 40785             "locationName": "Ascending"
 40786           },
 40787           "PageToken": {
 40788             "location": "querystring",
 40789             "locationName": "PageToken"
 40790           }
 40791         }
 40792       },
 40793       "output": {
 40794         "type": "structure",
 40795         "members": {
 40796           "Jobs": {
 40797             "shape": "S3v"
 40798           },
 40799           "NextPageToken": {}
 40800         }
 40801       }
 40802     },
 40803     "ListJobsByStatus": {
 40804       "http": {
 40805         "method": "GET",
 40806         "requestUri": "/2012-09-25/jobsByStatus/{Status}"
 40807       },
 40808       "input": {
 40809         "type": "structure",
 40810         "required": [
 40811           "Status"
 40812         ],
 40813         "members": {
 40814           "Status": {
 40815             "location": "uri",
 40816             "locationName": "Status"
 40817           },
 40818           "Ascending": {
 40819             "location": "querystring",
 40820             "locationName": "Ascending"
 40821           },
 40822           "PageToken": {
 40823             "location": "querystring",
 40824             "locationName": "PageToken"
 40825           }
 40826         }
 40827       },
 40828       "output": {
 40829         "type": "structure",
 40830         "members": {
 40831           "Jobs": {
 40832             "shape": "S3v"
 40833           },
 40834           "NextPageToken": {}
 40835         }
 40836       }
 40837     },
 40838     "ListPipelines": {
 40839       "http": {
 40840         "method": "GET",
 40841         "requestUri": "/2012-09-25/pipelines"
 40842       },
 40843       "input": {
 40844         "type": "structure",
 40845         "members": {
 40846           "Ascending": {
 40847             "location": "querystring",
 40848             "locationName": "Ascending"
 40849           },
 40850           "PageToken": {
 40851             "location": "querystring",
 40852             "locationName": "PageToken"
 40853           }
 40854         }
 40855       },
 40856       "output": {
 40857         "type": "structure",
 40858         "members": {
 40859           "Pipelines": {
 40860             "type": "list",
 40861             "member": {
 40862               "shape": "S2l"
 40863             }
 40864           },
 40865           "NextPageToken": {}
 40866         }
 40867       }
 40868     },
 40869     "ListPresets": {
 40870       "http": {
 40871         "method": "GET",
 40872         "requestUri": "/2012-09-25/presets"
 40873       },
 40874       "input": {
 40875         "type": "structure",
 40876         "members": {
 40877           "Ascending": {
 40878             "location": "querystring",
 40879             "locationName": "Ascending"
 40880           },
 40881           "PageToken": {
 40882             "location": "querystring",
 40883             "locationName": "PageToken"
 40884           }
 40885         }
 40886       },
 40887       "output": {
 40888         "type": "structure",
 40889         "members": {
 40890           "Presets": {
 40891             "type": "list",
 40892             "member": {
 40893               "shape": "S3m"
 40894             }
 40895           },
 40896           "NextPageToken": {}
 40897         }
 40898       }
 40899     },
 40900     "ReadJob": {
 40901       "http": {
 40902         "method": "GET",
 40903         "requestUri": "/2012-09-25/jobs/{Id}"
 40904       },
 40905       "input": {
 40906         "type": "structure",
 40907         "required": [
 40908           "Id"
 40909         ],
 40910         "members": {
 40911           "Id": {
 40912             "location": "uri",
 40913             "locationName": "Id"
 40914           }
 40915         }
 40916       },
 40917       "output": {
 40918         "type": "structure",
 40919         "members": {
 40920           "Job": {
 40921             "shape": "S1y"
 40922           }
 40923         }
 40924       }
 40925     },
 40926     "ReadPipeline": {
 40927       "http": {
 40928         "method": "GET",
 40929         "requestUri": "/2012-09-25/pipelines/{Id}"
 40930       },
 40931       "input": {
 40932         "type": "structure",
 40933         "required": [
 40934           "Id"
 40935         ],
 40936         "members": {
 40937           "Id": {
 40938             "location": "uri",
 40939             "locationName": "Id"
 40940           }
 40941         }
 40942       },
 40943       "output": {
 40944         "type": "structure",
 40945         "members": {
 40946           "Pipeline": {
 40947             "shape": "S2l"
 40948           },
 40949           "Warnings": {
 40950             "shape": "S2n"
 40951           }
 40952         }
 40953       }
 40954     },
 40955     "ReadPreset": {
 40956       "http": {
 40957         "method": "GET",
 40958         "requestUri": "/2012-09-25/presets/{Id}"
 40959       },
 40960       "input": {
 40961         "type": "structure",
 40962         "required": [
 40963           "Id"
 40964         ],
 40965         "members": {
 40966           "Id": {
 40967             "location": "uri",
 40968             "locationName": "Id"
 40969           }
 40970         }
 40971       },
 40972       "output": {
 40973         "type": "structure",
 40974         "members": {
 40975           "Preset": {
 40976             "shape": "S3m"
 40977           }
 40978         }
 40979       }
 40980     },
 40981     "TestRole": {
 40982       "http": {
 40983         "requestUri": "/2012-09-25/roleTests",
 40984         "responseCode": 200
 40985       },
 40986       "input": {
 40987         "type": "structure",
 40988         "required": [
 40989           "Role",
 40990           "InputBucket",
 40991           "OutputBucket",
 40992           "Topics"
 40993         ],
 40994         "members": {
 40995           "Role": {},
 40996           "InputBucket": {},
 40997           "OutputBucket": {},
 40998           "Topics": {
 40999             "type": "list",
 41000             "member": {}
 41001           }
 41002         },
 41003         "deprecated": true
 41004       },
 41005       "output": {
 41006         "type": "structure",
 41007         "members": {
 41008           "Success": {},
 41009           "Messages": {
 41010             "type": "list",
 41011             "member": {}
 41012           }
 41013         },
 41014         "deprecated": true
 41015       },
 41016       "deprecated": true
 41017     },
 41018     "UpdatePipeline": {
 41019       "http": {
 41020         "method": "PUT",
 41021         "requestUri": "/2012-09-25/pipelines/{Id}",
 41022         "responseCode": 200
 41023       },
 41024       "input": {
 41025         "type": "structure",
 41026         "required": [
 41027           "Id"
 41028         ],
 41029         "members": {
 41030           "Id": {
 41031             "location": "uri",
 41032             "locationName": "Id"
 41033           },
 41034           "Name": {},
 41035           "InputBucket": {},
 41036           "Role": {},
 41037           "AwsKmsKeyArn": {},
 41038           "Notifications": {
 41039             "shape": "S2a"
 41040           },
 41041           "ContentConfig": {
 41042             "shape": "S2c"
 41043           },
 41044           "ThumbnailConfig": {
 41045             "shape": "S2c"
 41046           }
 41047         }
 41048       },
 41049       "output": {
 41050         "type": "structure",
 41051         "members": {
 41052           "Pipeline": {
 41053             "shape": "S2l"
 41054           },
 41055           "Warnings": {
 41056             "shape": "S2n"
 41057           }
 41058         }
 41059       }
 41060     },
 41061     "UpdatePipelineNotifications": {
 41062       "http": {
 41063         "requestUri": "/2012-09-25/pipelines/{Id}/notifications"
 41064       },
 41065       "input": {
 41066         "type": "structure",
 41067         "required": [
 41068           "Id",
 41069           "Notifications"
 41070         ],
 41071         "members": {
 41072           "Id": {
 41073             "location": "uri",
 41074             "locationName": "Id"
 41075           },
 41076           "Notifications": {
 41077             "shape": "S2a"
 41078           }
 41079         }
 41080       },
 41081       "output": {
 41082         "type": "structure",
 41083         "members": {
 41084           "Pipeline": {
 41085             "shape": "S2l"
 41086           }
 41087         }
 41088       }
 41089     },
 41090     "UpdatePipelineStatus": {
 41091       "http": {
 41092         "requestUri": "/2012-09-25/pipelines/{Id}/status"
 41093       },
 41094       "input": {
 41095         "type": "structure",
 41096         "required": [
 41097           "Id",
 41098           "Status"
 41099         ],
 41100         "members": {
 41101           "Id": {
 41102             "location": "uri",
 41103             "locationName": "Id"
 41104           },
 41105           "Status": {}
 41106         }
 41107       },
 41108       "output": {
 41109         "type": "structure",
 41110         "members": {
 41111           "Pipeline": {
 41112             "shape": "S2l"
 41113           }
 41114         }
 41115       }
 41116     }
 41117   },
 41118   "shapes": {
 41119     "S5": {
 41120       "type": "structure",
 41121       "members": {
 41122         "Key": {},
 41123         "FrameRate": {},
 41124         "Resolution": {},
 41125         "AspectRatio": {},
 41126         "Interlaced": {},
 41127         "Container": {},
 41128         "Encryption": {
 41129           "shape": "Sc"
 41130         },
 41131         "TimeSpan": {
 41132           "shape": "Sg"
 41133         },
 41134         "InputCaptions": {
 41135           "type": "structure",
 41136           "members": {
 41137             "MergePolicy": {},
 41138             "CaptionSources": {
 41139               "shape": "Sk"
 41140             }
 41141           }
 41142         },
 41143         "DetectedProperties": {
 41144           "type": "structure",
 41145           "members": {
 41146             "Width": {
 41147               "type": "integer"
 41148             },
 41149             "Height": {
 41150               "type": "integer"
 41151             },
 41152             "FrameRate": {},
 41153             "FileSize": {
 41154               "type": "long"
 41155             },
 41156             "DurationMillis": {
 41157               "type": "long"
 41158             }
 41159           }
 41160         }
 41161       }
 41162     },
 41163     "Sc": {
 41164       "type": "structure",
 41165       "members": {
 41166         "Mode": {},
 41167         "Key": {},
 41168         "KeyMd5": {},
 41169         "InitializationVector": {}
 41170       }
 41171     },
 41172     "Sg": {
 41173       "type": "structure",
 41174       "members": {
 41175         "StartTime": {},
 41176         "Duration": {}
 41177       }
 41178     },
 41179     "Sk": {
 41180       "type": "list",
 41181       "member": {
 41182         "type": "structure",
 41183         "members": {
 41184           "Key": {},
 41185           "Language": {},
 41186           "TimeOffset": {},
 41187           "Label": {},
 41188           "Encryption": {
 41189             "shape": "Sc"
 41190           }
 41191         }
 41192       }
 41193     },
 41194     "St": {
 41195       "type": "list",
 41196       "member": {
 41197         "shape": "S5"
 41198       }
 41199     },
 41200     "Su": {
 41201       "type": "structure",
 41202       "members": {
 41203         "Key": {},
 41204         "ThumbnailPattern": {},
 41205         "ThumbnailEncryption": {
 41206           "shape": "Sc"
 41207         },
 41208         "Rotate": {},
 41209         "PresetId": {},
 41210         "SegmentDuration": {},
 41211         "Watermarks": {
 41212           "shape": "Sx"
 41213         },
 41214         "AlbumArt": {
 41215           "shape": "S11"
 41216         },
 41217         "Composition": {
 41218           "shape": "S19",
 41219           "deprecated": true
 41220         },
 41221         "Captions": {
 41222           "shape": "S1b"
 41223         },
 41224         "Encryption": {
 41225           "shape": "Sc"
 41226         }
 41227       }
 41228     },
 41229     "Sx": {
 41230       "type": "list",
 41231       "member": {
 41232         "type": "structure",
 41233         "members": {
 41234           "PresetWatermarkId": {},
 41235           "InputKey": {},
 41236           "Encryption": {
 41237             "shape": "Sc"
 41238           }
 41239         }
 41240       }
 41241     },
 41242     "S11": {
 41243       "type": "structure",
 41244       "members": {
 41245         "MergePolicy": {},
 41246         "Artwork": {
 41247           "type": "list",
 41248           "member": {
 41249             "type": "structure",
 41250             "members": {
 41251               "InputKey": {},
 41252               "MaxWidth": {},
 41253               "MaxHeight": {},
 41254               "SizingPolicy": {},
 41255               "PaddingPolicy": {},
 41256               "AlbumArtFormat": {},
 41257               "Encryption": {
 41258                 "shape": "Sc"
 41259               }
 41260             }
 41261           }
 41262         }
 41263       }
 41264     },
 41265     "S19": {
 41266       "type": "list",
 41267       "member": {
 41268         "type": "structure",
 41269         "members": {
 41270           "TimeSpan": {
 41271             "shape": "Sg"
 41272           }
 41273         },
 41274         "deprecated": true
 41275       },
 41276       "deprecated": true
 41277     },
 41278     "S1b": {
 41279       "type": "structure",
 41280       "members": {
 41281         "MergePolicy": {
 41282           "deprecated": true
 41283         },
 41284         "CaptionSources": {
 41285           "shape": "Sk",
 41286           "deprecated": true
 41287         },
 41288         "CaptionFormats": {
 41289           "type": "list",
 41290           "member": {
 41291             "type": "structure",
 41292             "members": {
 41293               "Format": {},
 41294               "Pattern": {},
 41295               "Encryption": {
 41296                 "shape": "Sc"
 41297               }
 41298             }
 41299           }
 41300         }
 41301       }
 41302     },
 41303     "S1l": {
 41304       "type": "list",
 41305       "member": {}
 41306     },
 41307     "S1m": {
 41308       "type": "structure",
 41309       "members": {
 41310         "Method": {},
 41311         "Key": {},
 41312         "KeyMd5": {},
 41313         "InitializationVector": {},
 41314         "LicenseAcquisitionUrl": {},
 41315         "KeyStoragePolicy": {}
 41316       }
 41317     },
 41318     "S1q": {
 41319       "type": "structure",
 41320       "members": {
 41321         "Format": {},
 41322         "Key": {},
 41323         "KeyMd5": {},
 41324         "KeyId": {},
 41325         "InitializationVector": {},
 41326         "LicenseAcquisitionUrl": {}
 41327       }
 41328     },
 41329     "S1v": {
 41330       "type": "map",
 41331       "key": {},
 41332       "value": {}
 41333     },
 41334     "S1y": {
 41335       "type": "structure",
 41336       "members": {
 41337         "Id": {},
 41338         "Arn": {},
 41339         "PipelineId": {},
 41340         "Input": {
 41341           "shape": "S5"
 41342         },
 41343         "Inputs": {
 41344           "shape": "St"
 41345         },
 41346         "Output": {
 41347           "shape": "S1z"
 41348         },
 41349         "Outputs": {
 41350           "type": "list",
 41351           "member": {
 41352             "shape": "S1z"
 41353           }
 41354         },
 41355         "OutputKeyPrefix": {},
 41356         "Playlists": {
 41357           "type": "list",
 41358           "member": {
 41359             "type": "structure",
 41360             "members": {
 41361               "Name": {},
 41362               "Format": {},
 41363               "OutputKeys": {
 41364                 "shape": "S1l"
 41365               },
 41366               "HlsContentProtection": {
 41367                 "shape": "S1m"
 41368               },
 41369               "PlayReadyDrm": {
 41370                 "shape": "S1q"
 41371               },
 41372               "Status": {},
 41373               "StatusDetail": {}
 41374             }
 41375           }
 41376         },
 41377         "Status": {},
 41378         "UserMetadata": {
 41379           "shape": "S1v"
 41380         },
 41381         "Timing": {
 41382           "type": "structure",
 41383           "members": {
 41384             "SubmitTimeMillis": {
 41385               "type": "long"
 41386             },
 41387             "StartTimeMillis": {
 41388               "type": "long"
 41389             },
 41390             "FinishTimeMillis": {
 41391               "type": "long"
 41392             }
 41393           }
 41394         }
 41395       }
 41396     },
 41397     "S1z": {
 41398       "type": "structure",
 41399       "members": {
 41400         "Id": {},
 41401         "Key": {},
 41402         "ThumbnailPattern": {},
 41403         "ThumbnailEncryption": {
 41404           "shape": "Sc"
 41405         },
 41406         "Rotate": {},
 41407         "PresetId": {},
 41408         "SegmentDuration": {},
 41409         "Status": {},
 41410         "StatusDetail": {},
 41411         "Duration": {
 41412           "type": "long"
 41413         },
 41414         "Width": {
 41415           "type": "integer"
 41416         },
 41417         "Height": {
 41418           "type": "integer"
 41419         },
 41420         "FrameRate": {},
 41421         "FileSize": {
 41422           "type": "long"
 41423         },
 41424         "DurationMillis": {
 41425           "type": "long"
 41426         },
 41427         "Watermarks": {
 41428           "shape": "Sx"
 41429         },
 41430         "AlbumArt": {
 41431           "shape": "S11"
 41432         },
 41433         "Composition": {
 41434           "shape": "S19",
 41435           "deprecated": true
 41436         },
 41437         "Captions": {
 41438           "shape": "S1b"
 41439         },
 41440         "Encryption": {
 41441           "shape": "Sc"
 41442         },
 41443         "AppliedColorSpaceConversion": {}
 41444       }
 41445     },
 41446     "S2a": {
 41447       "type": "structure",
 41448       "members": {
 41449         "Progressing": {},
 41450         "Completed": {},
 41451         "Warning": {},
 41452         "Error": {}
 41453       }
 41454     },
 41455     "S2c": {
 41456       "type": "structure",
 41457       "members": {
 41458         "Bucket": {},
 41459         "StorageClass": {},
 41460         "Permissions": {
 41461           "type": "list",
 41462           "member": {
 41463             "type": "structure",
 41464             "members": {
 41465               "GranteeType": {},
 41466               "Grantee": {},
 41467               "Access": {
 41468                 "type": "list",
 41469                 "member": {}
 41470               }
 41471             }
 41472           }
 41473         }
 41474       }
 41475     },
 41476     "S2l": {
 41477       "type": "structure",
 41478       "members": {
 41479         "Id": {},
 41480         "Arn": {},
 41481         "Name": {},
 41482         "Status": {},
 41483         "InputBucket": {},
 41484         "OutputBucket": {},
 41485         "Role": {},
 41486         "AwsKmsKeyArn": {},
 41487         "Notifications": {
 41488           "shape": "S2a"
 41489         },
 41490         "ContentConfig": {
 41491           "shape": "S2c"
 41492         },
 41493         "ThumbnailConfig": {
 41494           "shape": "S2c"
 41495         }
 41496       }
 41497     },
 41498     "S2n": {
 41499       "type": "list",
 41500       "member": {
 41501         "type": "structure",
 41502         "members": {
 41503           "Code": {},
 41504           "Message": {}
 41505         }
 41506       }
 41507     },
 41508     "S2r": {
 41509       "type": "structure",
 41510       "members": {
 41511         "Codec": {},
 41512         "CodecOptions": {
 41513           "type": "map",
 41514           "key": {},
 41515           "value": {}
 41516         },
 41517         "KeyframesMaxDist": {},
 41518         "FixedGOP": {},
 41519         "BitRate": {},
 41520         "FrameRate": {},
 41521         "MaxFrameRate": {},
 41522         "Resolution": {},
 41523         "AspectRatio": {},
 41524         "MaxWidth": {},
 41525         "MaxHeight": {},
 41526         "DisplayAspectRatio": {},
 41527         "SizingPolicy": {},
 41528         "PaddingPolicy": {},
 41529         "Watermarks": {
 41530           "type": "list",
 41531           "member": {
 41532             "type": "structure",
 41533             "members": {
 41534               "Id": {},
 41535               "MaxWidth": {},
 41536               "MaxHeight": {},
 41537               "SizingPolicy": {},
 41538               "HorizontalAlign": {},
 41539               "HorizontalOffset": {},
 41540               "VerticalAlign": {},
 41541               "VerticalOffset": {},
 41542               "Opacity": {},
 41543               "Target": {}
 41544             }
 41545           }
 41546         }
 41547       }
 41548     },
 41549     "S37": {
 41550       "type": "structure",
 41551       "members": {
 41552         "Codec": {},
 41553         "SampleRate": {},
 41554         "BitRate": {},
 41555         "Channels": {},
 41556         "AudioPackingMode": {},
 41557         "CodecOptions": {
 41558           "type": "structure",
 41559           "members": {
 41560             "Profile": {},
 41561             "BitDepth": {},
 41562             "BitOrder": {},
 41563             "Signed": {}
 41564           }
 41565         }
 41566       }
 41567     },
 41568     "S3i": {
 41569       "type": "structure",
 41570       "members": {
 41571         "Format": {},
 41572         "Interval": {},
 41573         "Resolution": {},
 41574         "AspectRatio": {},
 41575         "MaxWidth": {},
 41576         "MaxHeight": {},
 41577         "SizingPolicy": {},
 41578         "PaddingPolicy": {}
 41579       }
 41580     },
 41581     "S3m": {
 41582       "type": "structure",
 41583       "members": {
 41584         "Id": {},
 41585         "Arn": {},
 41586         "Name": {},
 41587         "Description": {},
 41588         "Container": {},
 41589         "Audio": {
 41590           "shape": "S37"
 41591         },
 41592         "Video": {
 41593           "shape": "S2r"
 41594         },
 41595         "Thumbnails": {
 41596           "shape": "S3i"
 41597         },
 41598         "Type": {}
 41599       }
 41600     },
 41601     "S3v": {
 41602       "type": "list",
 41603       "member": {
 41604         "shape": "S1y"
 41605       }
 41606     }
 41607   }
 41608 }
 41609 },{}],61:[function(require,module,exports){
 41610 module.exports={
 41611   "pagination": {
 41612     "ListJobsByPipeline": {
 41613       "input_token": "PageToken",
 41614       "output_token": "NextPageToken",
 41615       "result_key": "Jobs"
 41616     },
 41617     "ListJobsByStatus": {
 41618       "input_token": "PageToken",
 41619       "output_token": "NextPageToken",
 41620       "result_key": "Jobs"
 41621     },
 41622     "ListPipelines": {
 41623       "input_token": "PageToken",
 41624       "output_token": "NextPageToken",
 41625       "result_key": "Pipelines"
 41626     },
 41627     "ListPresets": {
 41628       "input_token": "PageToken",
 41629       "output_token": "NextPageToken",
 41630       "result_key": "Presets"
 41631     }
 41632   }
 41633 }
 41634 
 41635 },{}],62:[function(require,module,exports){
 41636 module.exports={
 41637   "version": 2,
 41638   "waiters": {
 41639     "JobComplete": {
 41640       "delay": 30,
 41641       "operation": "ReadJob",
 41642       "maxAttempts": 120,
 41643       "acceptors": [
 41644         {
 41645           "expected": "Complete",
 41646           "matcher": "path",
 41647           "state": "success",
 41648           "argument": "Job.Status"
 41649         },
 41650         {
 41651           "expected": "Canceled",
 41652           "matcher": "path",
 41653           "state": "failure",
 41654           "argument": "Job.Status"
 41655         },
 41656         {
 41657           "expected": "Error",
 41658           "matcher": "path",
 41659           "state": "failure",
 41660           "argument": "Job.Status"
 41661         }
 41662       ]
 41663     }
 41664   }
 41665 }
 41666 
 41667 },{}],63:[function(require,module,exports){
 41668 module.exports={
 41669   "version": "2.0",
 41670   "metadata": {
 41671     "apiVersion": "2010-12-01",
 41672     "endpointPrefix": "email",
 41673     "protocol": "query",
 41674     "serviceAbbreviation": "Amazon SES",
 41675     "serviceFullName": "Amazon Simple Email Service",
 41676     "signatureVersion": "v4",
 41677     "signingName": "ses",
 41678     "xmlNamespace": "http://ses.amazonaws.com/doc/2010-12-01/"
 41679   },
 41680   "operations": {
 41681     "CloneReceiptRuleSet": {
 41682       "input": {
 41683         "type": "structure",
 41684         "required": [
 41685           "RuleSetName",
 41686           "OriginalRuleSetName"
 41687         ],
 41688         "members": {
 41689           "RuleSetName": {},
 41690           "OriginalRuleSetName": {}
 41691         }
 41692       },
 41693       "output": {
 41694         "resultWrapper": "CloneReceiptRuleSetResult",
 41695         "type": "structure",
 41696         "members": {}
 41697       }
 41698     },
 41699     "CreateConfigurationSet": {
 41700       "input": {
 41701         "type": "structure",
 41702         "required": [
 41703           "ConfigurationSet"
 41704         ],
 41705         "members": {
 41706           "ConfigurationSet": {
 41707             "shape": "S5"
 41708           }
 41709         }
 41710       },
 41711       "output": {
 41712         "resultWrapper": "CreateConfigurationSetResult",
 41713         "type": "structure",
 41714         "members": {}
 41715       }
 41716     },
 41717     "CreateConfigurationSetEventDestination": {
 41718       "input": {
 41719         "type": "structure",
 41720         "required": [
 41721           "ConfigurationSetName",
 41722           "EventDestination"
 41723         ],
 41724         "members": {
 41725           "ConfigurationSetName": {},
 41726           "EventDestination": {
 41727             "shape": "S9"
 41728           }
 41729         }
 41730       },
 41731       "output": {
 41732         "resultWrapper": "CreateConfigurationSetEventDestinationResult",
 41733         "type": "structure",
 41734         "members": {}
 41735       }
 41736     },
 41737     "CreateReceiptFilter": {
 41738       "input": {
 41739         "type": "structure",
 41740         "required": [
 41741           "Filter"
 41742         ],
 41743         "members": {
 41744           "Filter": {
 41745             "shape": "So"
 41746           }
 41747         }
 41748       },
 41749       "output": {
 41750         "resultWrapper": "CreateReceiptFilterResult",
 41751         "type": "structure",
 41752         "members": {}
 41753       }
 41754     },
 41755     "CreateReceiptRule": {
 41756       "input": {
 41757         "type": "structure",
 41758         "required": [
 41759           "RuleSetName",
 41760           "Rule"
 41761         ],
 41762         "members": {
 41763           "RuleSetName": {},
 41764           "After": {},
 41765           "Rule": {
 41766             "shape": "Sw"
 41767           }
 41768         }
 41769       },
 41770       "output": {
 41771         "resultWrapper": "CreateReceiptRuleResult",
 41772         "type": "structure",
 41773         "members": {}
 41774       }
 41775     },
 41776     "CreateReceiptRuleSet": {
 41777       "input": {
 41778         "type": "structure",
 41779         "required": [
 41780           "RuleSetName"
 41781         ],
 41782         "members": {
 41783           "RuleSetName": {}
 41784         }
 41785       },
 41786       "output": {
 41787         "resultWrapper": "CreateReceiptRuleSetResult",
 41788         "type": "structure",
 41789         "members": {}
 41790       }
 41791     },
 41792     "DeleteConfigurationSet": {
 41793       "input": {
 41794         "type": "structure",
 41795         "required": [
 41796           "ConfigurationSetName"
 41797         ],
 41798         "members": {
 41799           "ConfigurationSetName": {}
 41800         }
 41801       },
 41802       "output": {
 41803         "resultWrapper": "DeleteConfigurationSetResult",
 41804         "type": "structure",
 41805         "members": {}
 41806       }
 41807     },
 41808     "DeleteConfigurationSetEventDestination": {
 41809       "input": {
 41810         "type": "structure",
 41811         "required": [
 41812           "ConfigurationSetName",
 41813           "EventDestinationName"
 41814         ],
 41815         "members": {
 41816           "ConfigurationSetName": {},
 41817           "EventDestinationName": {}
 41818         }
 41819       },
 41820       "output": {
 41821         "resultWrapper": "DeleteConfigurationSetEventDestinationResult",
 41822         "type": "structure",
 41823         "members": {}
 41824       }
 41825     },
 41826     "DeleteIdentity": {
 41827       "input": {
 41828         "type": "structure",
 41829         "required": [
 41830           "Identity"
 41831         ],
 41832         "members": {
 41833           "Identity": {}
 41834         }
 41835       },
 41836       "output": {
 41837         "resultWrapper": "DeleteIdentityResult",
 41838         "type": "structure",
 41839         "members": {}
 41840       }
 41841     },
 41842     "DeleteIdentityPolicy": {
 41843       "input": {
 41844         "type": "structure",
 41845         "required": [
 41846           "Identity",
 41847           "PolicyName"
 41848         ],
 41849         "members": {
 41850           "Identity": {},
 41851           "PolicyName": {}
 41852         }
 41853       },
 41854       "output": {
 41855         "resultWrapper": "DeleteIdentityPolicyResult",
 41856         "type": "structure",
 41857         "members": {}
 41858       }
 41859     },
 41860     "DeleteReceiptFilter": {
 41861       "input": {
 41862         "type": "structure",
 41863         "required": [
 41864           "FilterName"
 41865         ],
 41866         "members": {
 41867           "FilterName": {}
 41868         }
 41869       },
 41870       "output": {
 41871         "resultWrapper": "DeleteReceiptFilterResult",
 41872         "type": "structure",
 41873         "members": {}
 41874       }
 41875     },
 41876     "DeleteReceiptRule": {
 41877       "input": {
 41878         "type": "structure",
 41879         "required": [
 41880           "RuleSetName",
 41881           "RuleName"
 41882         ],
 41883         "members": {
 41884           "RuleSetName": {},
 41885           "RuleName": {}
 41886         }
 41887       },
 41888       "output": {
 41889         "resultWrapper": "DeleteReceiptRuleResult",
 41890         "type": "structure",
 41891         "members": {}
 41892       }
 41893     },
 41894     "DeleteReceiptRuleSet": {
 41895       "input": {
 41896         "type": "structure",
 41897         "required": [
 41898           "RuleSetName"
 41899         ],
 41900         "members": {
 41901           "RuleSetName": {}
 41902         }
 41903       },
 41904       "output": {
 41905         "resultWrapper": "DeleteReceiptRuleSetResult",
 41906         "type": "structure",
 41907         "members": {}
 41908       }
 41909     },
 41910     "DeleteVerifiedEmailAddress": {
 41911       "input": {
 41912         "type": "structure",
 41913         "required": [
 41914           "EmailAddress"
 41915         ],
 41916         "members": {
 41917           "EmailAddress": {}
 41918         }
 41919       }
 41920     },
 41921     "DescribeActiveReceiptRuleSet": {
 41922       "input": {
 41923         "type": "structure",
 41924         "members": {}
 41925       },
 41926       "output": {
 41927         "resultWrapper": "DescribeActiveReceiptRuleSetResult",
 41928         "type": "structure",
 41929         "members": {
 41930           "Metadata": {
 41931             "shape": "S26"
 41932           },
 41933           "Rules": {
 41934             "shape": "S28"
 41935           }
 41936         }
 41937       }
 41938     },
 41939     "DescribeConfigurationSet": {
 41940       "input": {
 41941         "type": "structure",
 41942         "required": [
 41943           "ConfigurationSetName"
 41944         ],
 41945         "members": {
 41946           "ConfigurationSetName": {},
 41947           "ConfigurationSetAttributeNames": {
 41948             "type": "list",
 41949             "member": {}
 41950           }
 41951         }
 41952       },
 41953       "output": {
 41954         "resultWrapper": "DescribeConfigurationSetResult",
 41955         "type": "structure",
 41956         "members": {
 41957           "ConfigurationSet": {
 41958             "shape": "S5"
 41959           },
 41960           "EventDestinations": {
 41961             "type": "list",
 41962             "member": {
 41963               "shape": "S9"
 41964             }
 41965           }
 41966         }
 41967       }
 41968     },
 41969     "DescribeReceiptRule": {
 41970       "input": {
 41971         "type": "structure",
 41972         "required": [
 41973           "RuleSetName",
 41974           "RuleName"
 41975         ],
 41976         "members": {
 41977           "RuleSetName": {},
 41978           "RuleName": {}
 41979         }
 41980       },
 41981       "output": {
 41982         "resultWrapper": "DescribeReceiptRuleResult",
 41983         "type": "structure",
 41984         "members": {
 41985           "Rule": {
 41986             "shape": "Sw"
 41987           }
 41988         }
 41989       }
 41990     },
 41991     "DescribeReceiptRuleSet": {
 41992       "input": {
 41993         "type": "structure",
 41994         "required": [
 41995           "RuleSetName"
 41996         ],
 41997         "members": {
 41998           "RuleSetName": {}
 41999         }
 42000       },
 42001       "output": {
 42002         "resultWrapper": "DescribeReceiptRuleSetResult",
 42003         "type": "structure",
 42004         "members": {
 42005           "Metadata": {
 42006             "shape": "S26"
 42007           },
 42008           "Rules": {
 42009             "shape": "S28"
 42010           }
 42011         }
 42012       }
 42013     },
 42014     "GetIdentityDkimAttributes": {
 42015       "input": {
 42016         "type": "structure",
 42017         "required": [
 42018           "Identities"
 42019         ],
 42020         "members": {
 42021           "Identities": {
 42022             "shape": "S2j"
 42023           }
 42024         }
 42025       },
 42026       "output": {
 42027         "resultWrapper": "GetIdentityDkimAttributesResult",
 42028         "type": "structure",
 42029         "required": [
 42030           "DkimAttributes"
 42031         ],
 42032         "members": {
 42033           "DkimAttributes": {
 42034             "type": "map",
 42035             "key": {},
 42036             "value": {
 42037               "type": "structure",
 42038               "required": [
 42039                 "DkimEnabled",
 42040                 "DkimVerificationStatus"
 42041               ],
 42042               "members": {
 42043                 "DkimEnabled": {
 42044                   "type": "boolean"
 42045                 },
 42046                 "DkimVerificationStatus": {},
 42047                 "DkimTokens": {
 42048                   "shape": "S2o"
 42049                 }
 42050               }
 42051             }
 42052           }
 42053         }
 42054       }
 42055     },
 42056     "GetIdentityMailFromDomainAttributes": {
 42057       "input": {
 42058         "type": "structure",
 42059         "required": [
 42060           "Identities"
 42061         ],
 42062         "members": {
 42063           "Identities": {
 42064             "shape": "S2j"
 42065           }
 42066         }
 42067       },
 42068       "output": {
 42069         "resultWrapper": "GetIdentityMailFromDomainAttributesResult",
 42070         "type": "structure",
 42071         "required": [
 42072           "MailFromDomainAttributes"
 42073         ],
 42074         "members": {
 42075           "MailFromDomainAttributes": {
 42076             "type": "map",
 42077             "key": {},
 42078             "value": {
 42079               "type": "structure",
 42080               "required": [
 42081                 "MailFromDomain",
 42082                 "MailFromDomainStatus",
 42083                 "BehaviorOnMXFailure"
 42084               ],
 42085               "members": {
 42086                 "MailFromDomain": {},
 42087                 "MailFromDomainStatus": {},
 42088                 "BehaviorOnMXFailure": {}
 42089               }
 42090             }
 42091           }
 42092         }
 42093       }
 42094     },
 42095     "GetIdentityNotificationAttributes": {
 42096       "input": {
 42097         "type": "structure",
 42098         "required": [
 42099           "Identities"
 42100         ],
 42101         "members": {
 42102           "Identities": {
 42103             "shape": "S2j"
 42104           }
 42105         }
 42106       },
 42107       "output": {
 42108         "resultWrapper": "GetIdentityNotificationAttributesResult",
 42109         "type": "structure",
 42110         "required": [
 42111           "NotificationAttributes"
 42112         ],
 42113         "members": {
 42114           "NotificationAttributes": {
 42115             "type": "map",
 42116             "key": {},
 42117             "value": {
 42118               "type": "structure",
 42119               "required": [
 42120                 "BounceTopic",
 42121                 "ComplaintTopic",
 42122                 "DeliveryTopic",
 42123                 "ForwardingEnabled"
 42124               ],
 42125               "members": {
 42126                 "BounceTopic": {},
 42127                 "ComplaintTopic": {},
 42128                 "DeliveryTopic": {},
 42129                 "ForwardingEnabled": {
 42130                   "type": "boolean"
 42131                 },
 42132                 "HeadersInBounceNotificationsEnabled": {
 42133                   "type": "boolean"
 42134                 },
 42135                 "HeadersInComplaintNotificationsEnabled": {
 42136                   "type": "boolean"
 42137                 },
 42138                 "HeadersInDeliveryNotificationsEnabled": {
 42139                   "type": "boolean"
 42140                 }
 42141               }
 42142             }
 42143           }
 42144         }
 42145       }
 42146     },
 42147     "GetIdentityPolicies": {
 42148       "input": {
 42149         "type": "structure",
 42150         "required": [
 42151           "Identity",
 42152           "PolicyNames"
 42153         ],
 42154         "members": {
 42155           "Identity": {},
 42156           "PolicyNames": {
 42157             "shape": "S33"
 42158           }
 42159         }
 42160       },
 42161       "output": {
 42162         "resultWrapper": "GetIdentityPoliciesResult",
 42163         "type": "structure",
 42164         "required": [
 42165           "Policies"
 42166         ],
 42167         "members": {
 42168           "Policies": {
 42169             "type": "map",
 42170             "key": {},
 42171             "value": {}
 42172           }
 42173         }
 42174       }
 42175     },
 42176     "GetIdentityVerificationAttributes": {
 42177       "input": {
 42178         "type": "structure",
 42179         "required": [
 42180           "Identities"
 42181         ],
 42182         "members": {
 42183           "Identities": {
 42184             "shape": "S2j"
 42185           }
 42186         }
 42187       },
 42188       "output": {
 42189         "resultWrapper": "GetIdentityVerificationAttributesResult",
 42190         "type": "structure",
 42191         "required": [
 42192           "VerificationAttributes"
 42193         ],
 42194         "members": {
 42195           "VerificationAttributes": {
 42196             "type": "map",
 42197             "key": {},
 42198             "value": {
 42199               "type": "structure",
 42200               "required": [
 42201                 "VerificationStatus"
 42202               ],
 42203               "members": {
 42204                 "VerificationStatus": {},
 42205                 "VerificationToken": {}
 42206               }
 42207             }
 42208           }
 42209         }
 42210       }
 42211     },
 42212     "GetSendQuota": {
 42213       "output": {
 42214         "resultWrapper": "GetSendQuotaResult",
 42215         "type": "structure",
 42216         "members": {
 42217           "Max24HourSend": {
 42218             "type": "double"
 42219           },
 42220           "MaxSendRate": {
 42221             "type": "double"
 42222           },
 42223           "SentLast24Hours": {
 42224             "type": "double"
 42225           }
 42226         }
 42227       }
 42228     },
 42229     "GetSendStatistics": {
 42230       "output": {
 42231         "resultWrapper": "GetSendStatisticsResult",
 42232         "type": "structure",
 42233         "members": {
 42234           "SendDataPoints": {
 42235             "type": "list",
 42236             "member": {
 42237               "type": "structure",
 42238               "members": {
 42239                 "Timestamp": {
 42240                   "type": "timestamp"
 42241                 },
 42242                 "DeliveryAttempts": {
 42243                   "type": "long"
 42244                 },
 42245                 "Bounces": {
 42246                   "type": "long"
 42247                 },
 42248                 "Complaints": {
 42249                   "type": "long"
 42250                 },
 42251                 "Rejects": {
 42252                   "type": "long"
 42253                 }
 42254               }
 42255             }
 42256           }
 42257         }
 42258       }
 42259     },
 42260     "ListConfigurationSets": {
 42261       "input": {
 42262         "type": "structure",
 42263         "members": {
 42264           "NextToken": {},
 42265           "MaxItems": {
 42266             "type": "integer"
 42267           }
 42268         }
 42269       },
 42270       "output": {
 42271         "resultWrapper": "ListConfigurationSetsResult",
 42272         "type": "structure",
 42273         "members": {
 42274           "ConfigurationSets": {
 42275             "type": "list",
 42276             "member": {
 42277               "shape": "S5"
 42278             }
 42279           },
 42280           "NextToken": {}
 42281         }
 42282       }
 42283     },
 42284     "ListIdentities": {
 42285       "input": {
 42286         "type": "structure",
 42287         "members": {
 42288           "IdentityType": {},
 42289           "NextToken": {},
 42290           "MaxItems": {
 42291             "type": "integer"
 42292           }
 42293         }
 42294       },
 42295       "output": {
 42296         "resultWrapper": "ListIdentitiesResult",
 42297         "type": "structure",
 42298         "required": [
 42299           "Identities"
 42300         ],
 42301         "members": {
 42302           "Identities": {
 42303             "shape": "S2j"
 42304           },
 42305           "NextToken": {}
 42306         }
 42307       }
 42308     },
 42309     "ListIdentityPolicies": {
 42310       "input": {
 42311         "type": "structure",
 42312         "required": [
 42313           "Identity"
 42314         ],
 42315         "members": {
 42316           "Identity": {}
 42317         }
 42318       },
 42319       "output": {
 42320         "resultWrapper": "ListIdentityPoliciesResult",
 42321         "type": "structure",
 42322         "required": [
 42323           "PolicyNames"
 42324         ],
 42325         "members": {
 42326           "PolicyNames": {
 42327             "shape": "S33"
 42328           }
 42329         }
 42330       }
 42331     },
 42332     "ListReceiptFilters": {
 42333       "input": {
 42334         "type": "structure",
 42335         "members": {}
 42336       },
 42337       "output": {
 42338         "resultWrapper": "ListReceiptFiltersResult",
 42339         "type": "structure",
 42340         "members": {
 42341           "Filters": {
 42342             "type": "list",
 42343             "member": {
 42344               "shape": "So"
 42345             }
 42346           }
 42347         }
 42348       }
 42349     },
 42350     "ListReceiptRuleSets": {
 42351       "input": {
 42352         "type": "structure",
 42353         "members": {
 42354           "NextToken": {}
 42355         }
 42356       },
 42357       "output": {
 42358         "resultWrapper": "ListReceiptRuleSetsResult",
 42359         "type": "structure",
 42360         "members": {
 42361           "RuleSets": {
 42362             "type": "list",
 42363             "member": {
 42364               "shape": "S26"
 42365             }
 42366           },
 42367           "NextToken": {}
 42368         }
 42369       }
 42370     },
 42371     "ListVerifiedEmailAddresses": {
 42372       "output": {
 42373         "resultWrapper": "ListVerifiedEmailAddressesResult",
 42374         "type": "structure",
 42375         "members": {
 42376           "VerifiedEmailAddresses": {
 42377             "shape": "S40"
 42378           }
 42379         }
 42380       }
 42381     },
 42382     "PutIdentityPolicy": {
 42383       "input": {
 42384         "type": "structure",
 42385         "required": [
 42386           "Identity",
 42387           "PolicyName",
 42388           "Policy"
 42389         ],
 42390         "members": {
 42391           "Identity": {},
 42392           "PolicyName": {},
 42393           "Policy": {}
 42394         }
 42395       },
 42396       "output": {
 42397         "resultWrapper": "PutIdentityPolicyResult",
 42398         "type": "structure",
 42399         "members": {}
 42400       }
 42401     },
 42402     "ReorderReceiptRuleSet": {
 42403       "input": {
 42404         "type": "structure",
 42405         "required": [
 42406           "RuleSetName",
 42407           "RuleNames"
 42408         ],
 42409         "members": {
 42410           "RuleSetName": {},
 42411           "RuleNames": {
 42412             "type": "list",
 42413             "member": {}
 42414           }
 42415         }
 42416       },
 42417       "output": {
 42418         "resultWrapper": "ReorderReceiptRuleSetResult",
 42419         "type": "structure",
 42420         "members": {}
 42421       }
 42422     },
 42423     "SendBounce": {
 42424       "input": {
 42425         "type": "structure",
 42426         "required": [
 42427           "OriginalMessageId",
 42428           "BounceSender",
 42429           "BouncedRecipientInfoList"
 42430         ],
 42431         "members": {
 42432           "OriginalMessageId": {},
 42433           "BounceSender": {},
 42434           "Explanation": {},
 42435           "MessageDsn": {
 42436             "type": "structure",
 42437             "required": [
 42438               "ReportingMta"
 42439             ],
 42440             "members": {
 42441               "ReportingMta": {},
 42442               "ArrivalDate": {
 42443                 "type": "timestamp"
 42444               },
 42445               "ExtensionFields": {
 42446                 "shape": "S4c"
 42447               }
 42448             }
 42449           },
 42450           "BouncedRecipientInfoList": {
 42451             "type": "list",
 42452             "member": {
 42453               "type": "structure",
 42454               "required": [
 42455                 "Recipient"
 42456               ],
 42457               "members": {
 42458                 "Recipient": {},
 42459                 "RecipientArn": {},
 42460                 "BounceType": {},
 42461                 "RecipientDsnFields": {
 42462                   "type": "structure",
 42463                   "required": [
 42464                     "Action",
 42465                     "Status"
 42466                   ],
 42467                   "members": {
 42468                     "FinalRecipient": {},
 42469                     "Action": {},
 42470                     "RemoteMta": {},
 42471                     "Status": {},
 42472                     "DiagnosticCode": {},
 42473                     "LastAttemptDate": {
 42474                       "type": "timestamp"
 42475                     },
 42476                     "ExtensionFields": {
 42477                       "shape": "S4c"
 42478                     }
 42479                   }
 42480                 }
 42481               }
 42482             }
 42483           },
 42484           "BounceSenderArn": {}
 42485         }
 42486       },
 42487       "output": {
 42488         "resultWrapper": "SendBounceResult",
 42489         "type": "structure",
 42490         "members": {
 42491           "MessageId": {}
 42492         }
 42493       }
 42494     },
 42495     "SendEmail": {
 42496       "input": {
 42497         "type": "structure",
 42498         "required": [
 42499           "Source",
 42500           "Destination",
 42501           "Message"
 42502         ],
 42503         "members": {
 42504           "Source": {},
 42505           "Destination": {
 42506             "type": "structure",
 42507             "members": {
 42508               "ToAddresses": {
 42509                 "shape": "S40"
 42510               },
 42511               "CcAddresses": {
 42512                 "shape": "S40"
 42513               },
 42514               "BccAddresses": {
 42515                 "shape": "S40"
 42516               }
 42517             }
 42518           },
 42519           "Message": {
 42520             "type": "structure",
 42521             "required": [
 42522               "Subject",
 42523               "Body"
 42524             ],
 42525             "members": {
 42526               "Subject": {
 42527                 "shape": "S4t"
 42528               },
 42529               "Body": {
 42530                 "type": "structure",
 42531                 "members": {
 42532                   "Text": {
 42533                     "shape": "S4t"
 42534                   },
 42535                   "Html": {
 42536                     "shape": "S4t"
 42537                   }
 42538                 }
 42539               }
 42540             }
 42541           },
 42542           "ReplyToAddresses": {
 42543             "shape": "S40"
 42544           },
 42545           "ReturnPath": {},
 42546           "SourceArn": {},
 42547           "ReturnPathArn": {},
 42548           "Tags": {
 42549             "shape": "S4x"
 42550           },
 42551           "ConfigurationSetName": {}
 42552         }
 42553       },
 42554       "output": {
 42555         "resultWrapper": "SendEmailResult",
 42556         "type": "structure",
 42557         "required": [
 42558           "MessageId"
 42559         ],
 42560         "members": {
 42561           "MessageId": {}
 42562         }
 42563       }
 42564     },
 42565     "SendRawEmail": {
 42566       "input": {
 42567         "type": "structure",
 42568         "required": [
 42569           "RawMessage"
 42570         ],
 42571         "members": {
 42572           "Source": {},
 42573           "Destinations": {
 42574             "shape": "S40"
 42575           },
 42576           "RawMessage": {
 42577             "type": "structure",
 42578             "required": [
 42579               "Data"
 42580             ],
 42581             "members": {
 42582               "Data": {
 42583                 "type": "blob"
 42584               }
 42585             }
 42586           },
 42587           "FromArn": {},
 42588           "SourceArn": {},
 42589           "ReturnPathArn": {},
 42590           "Tags": {
 42591             "shape": "S4x"
 42592           },
 42593           "ConfigurationSetName": {}
 42594         }
 42595       },
 42596       "output": {
 42597         "resultWrapper": "SendRawEmailResult",
 42598         "type": "structure",
 42599         "required": [
 42600           "MessageId"
 42601         ],
 42602         "members": {
 42603           "MessageId": {}
 42604         }
 42605       }
 42606     },
 42607     "SetActiveReceiptRuleSet": {
 42608       "input": {
 42609         "type": "structure",
 42610         "members": {
 42611           "RuleSetName": {}
 42612         }
 42613       },
 42614       "output": {
 42615         "resultWrapper": "SetActiveReceiptRuleSetResult",
 42616         "type": "structure",
 42617         "members": {}
 42618       }
 42619     },
 42620     "SetIdentityDkimEnabled": {
 42621       "input": {
 42622         "type": "structure",
 42623         "required": [
 42624           "Identity",
 42625           "DkimEnabled"
 42626         ],
 42627         "members": {
 42628           "Identity": {},
 42629           "DkimEnabled": {
 42630             "type": "boolean"
 42631           }
 42632         }
 42633       },
 42634       "output": {
 42635         "resultWrapper": "SetIdentityDkimEnabledResult",
 42636         "type": "structure",
 42637         "members": {}
 42638       }
 42639     },
 42640     "SetIdentityFeedbackForwardingEnabled": {
 42641       "input": {
 42642         "type": "structure",
 42643         "required": [
 42644           "Identity",
 42645           "ForwardingEnabled"
 42646         ],
 42647         "members": {
 42648           "Identity": {},
 42649           "ForwardingEnabled": {
 42650             "type": "boolean"
 42651           }
 42652         }
 42653       },
 42654       "output": {
 42655         "resultWrapper": "SetIdentityFeedbackForwardingEnabledResult",
 42656         "type": "structure",
 42657         "members": {}
 42658       }
 42659     },
 42660     "SetIdentityHeadersInNotificationsEnabled": {
 42661       "input": {
 42662         "type": "structure",
 42663         "required": [
 42664           "Identity",
 42665           "NotificationType",
 42666           "Enabled"
 42667         ],
 42668         "members": {
 42669           "Identity": {},
 42670           "NotificationType": {},
 42671           "Enabled": {
 42672             "type": "boolean"
 42673           }
 42674         }
 42675       },
 42676       "output": {
 42677         "resultWrapper": "SetIdentityHeadersInNotificationsEnabledResult",
 42678         "type": "structure",
 42679         "members": {}
 42680       }
 42681     },
 42682     "SetIdentityMailFromDomain": {
 42683       "input": {
 42684         "type": "structure",
 42685         "required": [
 42686           "Identity"
 42687         ],
 42688         "members": {
 42689           "Identity": {},
 42690           "MailFromDomain": {},
 42691           "BehaviorOnMXFailure": {}
 42692         }
 42693       },
 42694       "output": {
 42695         "resultWrapper": "SetIdentityMailFromDomainResult",
 42696         "type": "structure",
 42697         "members": {}
 42698       }
 42699     },
 42700     "SetIdentityNotificationTopic": {
 42701       "input": {
 42702         "type": "structure",
 42703         "required": [
 42704           "Identity",
 42705           "NotificationType"
 42706         ],
 42707         "members": {
 42708           "Identity": {},
 42709           "NotificationType": {},
 42710           "SnsTopic": {}
 42711         }
 42712       },
 42713       "output": {
 42714         "resultWrapper": "SetIdentityNotificationTopicResult",
 42715         "type": "structure",
 42716         "members": {}
 42717       }
 42718     },
 42719     "SetReceiptRulePosition": {
 42720       "input": {
 42721         "type": "structure",
 42722         "required": [
 42723           "RuleSetName",
 42724           "RuleName"
 42725         ],
 42726         "members": {
 42727           "RuleSetName": {},
 42728           "RuleName": {},
 42729           "After": {}
 42730         }
 42731       },
 42732       "output": {
 42733         "resultWrapper": "SetReceiptRulePositionResult",
 42734         "type": "structure",
 42735         "members": {}
 42736       }
 42737     },
 42738     "UpdateConfigurationSetEventDestination": {
 42739       "input": {
 42740         "type": "structure",
 42741         "required": [
 42742           "ConfigurationSetName",
 42743           "EventDestination"
 42744         ],
 42745         "members": {
 42746           "ConfigurationSetName": {},
 42747           "EventDestination": {
 42748             "shape": "S9"
 42749           }
 42750         }
 42751       },
 42752       "output": {
 42753         "resultWrapper": "UpdateConfigurationSetEventDestinationResult",
 42754         "type": "structure",
 42755         "members": {}
 42756       }
 42757     },
 42758     "UpdateReceiptRule": {
 42759       "input": {
 42760         "type": "structure",
 42761         "required": [
 42762           "RuleSetName",
 42763           "Rule"
 42764         ],
 42765         "members": {
 42766           "RuleSetName": {},
 42767           "Rule": {
 42768             "shape": "Sw"
 42769           }
 42770         }
 42771       },
 42772       "output": {
 42773         "resultWrapper": "UpdateReceiptRuleResult",
 42774         "type": "structure",
 42775         "members": {}
 42776       }
 42777     },
 42778     "VerifyDomainDkim": {
 42779       "input": {
 42780         "type": "structure",
 42781         "required": [
 42782           "Domain"
 42783         ],
 42784         "members": {
 42785           "Domain": {}
 42786         }
 42787       },
 42788       "output": {
 42789         "resultWrapper": "VerifyDomainDkimResult",
 42790         "type": "structure",
 42791         "required": [
 42792           "DkimTokens"
 42793         ],
 42794         "members": {
 42795           "DkimTokens": {
 42796             "shape": "S2o"
 42797           }
 42798         }
 42799       }
 42800     },
 42801     "VerifyDomainIdentity": {
 42802       "input": {
 42803         "type": "structure",
 42804         "required": [
 42805           "Domain"
 42806         ],
 42807         "members": {
 42808           "Domain": {}
 42809         }
 42810       },
 42811       "output": {
 42812         "resultWrapper": "VerifyDomainIdentityResult",
 42813         "type": "structure",
 42814         "required": [
 42815           "VerificationToken"
 42816         ],
 42817         "members": {
 42818           "VerificationToken": {}
 42819         }
 42820       }
 42821     },
 42822     "VerifyEmailAddress": {
 42823       "input": {
 42824         "type": "structure",
 42825         "required": [
 42826           "EmailAddress"
 42827         ],
 42828         "members": {
 42829           "EmailAddress": {}
 42830         }
 42831       }
 42832     },
 42833     "VerifyEmailIdentity": {
 42834       "input": {
 42835         "type": "structure",
 42836         "required": [
 42837           "EmailAddress"
 42838         ],
 42839         "members": {
 42840           "EmailAddress": {}
 42841         }
 42842       },
 42843       "output": {
 42844         "resultWrapper": "VerifyEmailIdentityResult",
 42845         "type": "structure",
 42846         "members": {}
 42847       }
 42848     }
 42849   },
 42850   "shapes": {
 42851     "S5": {
 42852       "type": "structure",
 42853       "required": [
 42854         "Name"
 42855       ],
 42856       "members": {
 42857         "Name": {}
 42858       }
 42859     },
 42860     "S9": {
 42861       "type": "structure",
 42862       "required": [
 42863         "Name",
 42864         "MatchingEventTypes"
 42865       ],
 42866       "members": {
 42867         "Name": {},
 42868         "Enabled": {
 42869           "type": "boolean"
 42870         },
 42871         "MatchingEventTypes": {
 42872           "type": "list",
 42873           "member": {}
 42874         },
 42875         "KinesisFirehoseDestination": {
 42876           "type": "structure",
 42877           "required": [
 42878             "IAMRoleARN",
 42879             "DeliveryStreamARN"
 42880           ],
 42881           "members": {
 42882             "IAMRoleARN": {},
 42883             "DeliveryStreamARN": {}
 42884           }
 42885         },
 42886         "CloudWatchDestination": {
 42887           "type": "structure",
 42888           "required": [
 42889             "DimensionConfigurations"
 42890           ],
 42891           "members": {
 42892             "DimensionConfigurations": {
 42893               "type": "list",
 42894               "member": {
 42895                 "type": "structure",
 42896                 "required": [
 42897                   "DimensionName",
 42898                   "DimensionValueSource",
 42899                   "DefaultDimensionValue"
 42900                 ],
 42901                 "members": {
 42902                   "DimensionName": {},
 42903                   "DimensionValueSource": {},
 42904                   "DefaultDimensionValue": {}
 42905                 }
 42906               }
 42907             }
 42908           }
 42909         }
 42910       }
 42911     },
 42912     "So": {
 42913       "type": "structure",
 42914       "required": [
 42915         "Name",
 42916         "IpFilter"
 42917       ],
 42918       "members": {
 42919         "Name": {},
 42920         "IpFilter": {
 42921           "type": "structure",
 42922           "required": [
 42923             "Policy",
 42924             "Cidr"
 42925           ],
 42926           "members": {
 42927             "Policy": {},
 42928             "Cidr": {}
 42929           }
 42930         }
 42931       }
 42932     },
 42933     "Sw": {
 42934       "type": "structure",
 42935       "required": [
 42936         "Name"
 42937       ],
 42938       "members": {
 42939         "Name": {},
 42940         "Enabled": {
 42941           "type": "boolean"
 42942         },
 42943         "TlsPolicy": {},
 42944         "Recipients": {
 42945           "type": "list",
 42946           "member": {}
 42947         },
 42948         "Actions": {
 42949           "type": "list",
 42950           "member": {
 42951             "type": "structure",
 42952             "members": {
 42953               "S3Action": {
 42954                 "type": "structure",
 42955                 "required": [
 42956                   "BucketName"
 42957                 ],
 42958                 "members": {
 42959                   "TopicArn": {},
 42960                   "BucketName": {},
 42961                   "ObjectKeyPrefix": {},
 42962                   "KmsKeyArn": {}
 42963                 }
 42964               },
 42965               "BounceAction": {
 42966                 "type": "structure",
 42967                 "required": [
 42968                   "SmtpReplyCode",
 42969                   "Message",
 42970                   "Sender"
 42971                 ],
 42972                 "members": {
 42973                   "TopicArn": {},
 42974                   "SmtpReplyCode": {},
 42975                   "StatusCode": {},
 42976                   "Message": {},
 42977                   "Sender": {}
 42978                 }
 42979               },
 42980               "WorkmailAction": {
 42981                 "type": "structure",
 42982                 "required": [
 42983                   "OrganizationArn"
 42984                 ],
 42985                 "members": {
 42986                   "TopicArn": {},
 42987                   "OrganizationArn": {}
 42988                 }
 42989               },
 42990               "LambdaAction": {
 42991                 "type": "structure",
 42992                 "required": [
 42993                   "FunctionArn"
 42994                 ],
 42995                 "members": {
 42996                   "TopicArn": {},
 42997                   "FunctionArn": {},
 42998                   "InvocationType": {}
 42999                 }
 43000               },
 43001               "StopAction": {
 43002                 "type": "structure",
 43003                 "required": [
 43004                   "Scope"
 43005                 ],
 43006                 "members": {
 43007                   "Scope": {},
 43008                   "TopicArn": {}
 43009                 }
 43010               },
 43011               "AddHeaderAction": {
 43012                 "type": "structure",
 43013                 "required": [
 43014                   "HeaderName",
 43015                   "HeaderValue"
 43016                 ],
 43017                 "members": {
 43018                   "HeaderName": {},
 43019                   "HeaderValue": {}
 43020                 }
 43021               },
 43022               "SNSAction": {
 43023                 "type": "structure",
 43024                 "required": [
 43025                   "TopicArn"
 43026                 ],
 43027                 "members": {
 43028                   "TopicArn": {},
 43029                   "Encoding": {}
 43030                 }
 43031               }
 43032             }
 43033           }
 43034         },
 43035         "ScanEnabled": {
 43036           "type": "boolean"
 43037         }
 43038       }
 43039     },
 43040     "S26": {
 43041       "type": "structure",
 43042       "members": {
 43043         "Name": {},
 43044         "CreatedTimestamp": {
 43045           "type": "timestamp"
 43046         }
 43047       }
 43048     },
 43049     "S28": {
 43050       "type": "list",
 43051       "member": {
 43052         "shape": "Sw"
 43053       }
 43054     },
 43055     "S2j": {
 43056       "type": "list",
 43057       "member": {}
 43058     },
 43059     "S2o": {
 43060       "type": "list",
 43061       "member": {}
 43062     },
 43063     "S33": {
 43064       "type": "list",
 43065       "member": {}
 43066     },
 43067     "S40": {
 43068       "type": "list",
 43069       "member": {}
 43070     },
 43071     "S4c": {
 43072       "type": "list",
 43073       "member": {
 43074         "type": "structure",
 43075         "required": [
 43076           "Name",
 43077           "Value"
 43078         ],
 43079         "members": {
 43080           "Name": {},
 43081           "Value": {}
 43082         }
 43083       }
 43084     },
 43085     "S4t": {
 43086       "type": "structure",
 43087       "required": [
 43088         "Data"
 43089       ],
 43090       "members": {
 43091         "Data": {},
 43092         "Charset": {}
 43093       }
 43094     },
 43095     "S4x": {
 43096       "type": "list",
 43097       "member": {
 43098         "type": "structure",
 43099         "required": [
 43100           "Name",
 43101           "Value"
 43102         ],
 43103         "members": {
 43104           "Name": {},
 43105           "Value": {}
 43106         }
 43107       }
 43108     }
 43109   }
 43110 }
 43111 },{}],64:[function(require,module,exports){
 43112 module.exports={
 43113   "pagination": {
 43114     "ListIdentities": {
 43115       "input_token": "NextToken",
 43116       "output_token": "NextToken",
 43117       "limit_key": "MaxItems",
 43118       "result_key": "Identities"
 43119     },
 43120     "ListVerifiedEmailAddresses": {
 43121       "result_key": "VerifiedEmailAddresses"
 43122     }
 43123   }
 43124 }
 43125 
 43126 },{}],65:[function(require,module,exports){
 43127 module.exports={
 43128   "version": 2,
 43129   "waiters": {
 43130     "IdentityExists": {
 43131       "delay": 3,
 43132       "operation": "GetIdentityVerificationAttributes",
 43133       "maxAttempts": 20,
 43134       "acceptors": [
 43135         {
 43136           "expected": "Success",
 43137           "matcher": "pathAll",
 43138           "state": "success",
 43139           "argument": "VerificationAttributes.*.VerificationStatus"
 43140         }
 43141       ]
 43142     }
 43143   }
 43144 }
 43145 
 43146 },{}],66:[function(require,module,exports){
 43147 module.exports={
 43148   "version": "2.0",
 43149   "metadata": {
 43150     "apiVersion": "2015-10-07",
 43151     "endpointPrefix": "events",
 43152     "jsonVersion": "1.1",
 43153     "serviceFullName": "Amazon CloudWatch Events",
 43154     "signatureVersion": "v4",
 43155     "targetPrefix": "AWSEvents",
 43156     "protocol": "json"
 43157   },
 43158   "operations": {
 43159     "DeleteRule": {
 43160       "input": {
 43161         "type": "structure",
 43162         "required": [
 43163           "Name"
 43164         ],
 43165         "members": {
 43166           "Name": {}
 43167         }
 43168       }
 43169     },
 43170     "DescribeRule": {
 43171       "input": {
 43172         "type": "structure",
 43173         "required": [
 43174           "Name"
 43175         ],
 43176         "members": {
 43177           "Name": {}
 43178         }
 43179       },
 43180       "output": {
 43181         "type": "structure",
 43182         "members": {
 43183           "Name": {},
 43184           "Arn": {},
 43185           "EventPattern": {},
 43186           "ScheduleExpression": {},
 43187           "State": {},
 43188           "Description": {},
 43189           "RoleArn": {}
 43190         }
 43191       }
 43192     },
 43193     "DisableRule": {
 43194       "input": {
 43195         "type": "structure",
 43196         "required": [
 43197           "Name"
 43198         ],
 43199         "members": {
 43200           "Name": {}
 43201         }
 43202       }
 43203     },
 43204     "EnableRule": {
 43205       "input": {
 43206         "type": "structure",
 43207         "required": [
 43208           "Name"
 43209         ],
 43210         "members": {
 43211           "Name": {}
 43212         }
 43213       }
 43214     },
 43215     "ListRuleNamesByTarget": {
 43216       "input": {
 43217         "type": "structure",
 43218         "required": [
 43219           "TargetArn"
 43220         ],
 43221         "members": {
 43222           "TargetArn": {},
 43223           "NextToken": {},
 43224           "Limit": {
 43225             "type": "integer"
 43226           }
 43227         }
 43228       },
 43229       "output": {
 43230         "type": "structure",
 43231         "members": {
 43232           "RuleNames": {
 43233             "type": "list",
 43234             "member": {}
 43235           },
 43236           "NextToken": {}
 43237         }
 43238       }
 43239     },
 43240     "ListRules": {
 43241       "input": {
 43242         "type": "structure",
 43243         "members": {
 43244           "NamePrefix": {},
 43245           "NextToken": {},
 43246           "Limit": {
 43247             "type": "integer"
 43248           }
 43249         }
 43250       },
 43251       "output": {
 43252         "type": "structure",
 43253         "members": {
 43254           "Rules": {
 43255             "type": "list",
 43256             "member": {
 43257               "type": "structure",
 43258               "members": {
 43259                 "Name": {},
 43260                 "Arn": {},
 43261                 "EventPattern": {},
 43262                 "State": {},
 43263                 "Description": {},
 43264                 "ScheduleExpression": {},
 43265                 "RoleArn": {}
 43266               }
 43267             }
 43268           },
 43269           "NextToken": {}
 43270         }
 43271       }
 43272     },
 43273     "ListTargetsByRule": {
 43274       "input": {
 43275         "type": "structure",
 43276         "required": [
 43277           "Rule"
 43278         ],
 43279         "members": {
 43280           "Rule": {},
 43281           "NextToken": {},
 43282           "Limit": {
 43283             "type": "integer"
 43284           }
 43285         }
 43286       },
 43287       "output": {
 43288         "type": "structure",
 43289         "members": {
 43290           "Targets": {
 43291             "shape": "Sp"
 43292           },
 43293           "NextToken": {}
 43294         }
 43295       }
 43296     },
 43297     "PutEvents": {
 43298       "input": {
 43299         "type": "structure",
 43300         "required": [
 43301           "Entries"
 43302         ],
 43303         "members": {
 43304           "Entries": {
 43305             "type": "list",
 43306             "member": {
 43307               "type": "structure",
 43308               "members": {
 43309                 "Time": {
 43310                   "type": "timestamp"
 43311                 },
 43312                 "Source": {},
 43313                 "Resources": {
 43314                   "type": "list",
 43315                   "member": {}
 43316                 },
 43317                 "DetailType": {},
 43318                 "Detail": {}
 43319               }
 43320             }
 43321           }
 43322         }
 43323       },
 43324       "output": {
 43325         "type": "structure",
 43326         "members": {
 43327           "FailedEntryCount": {
 43328             "type": "integer"
 43329           },
 43330           "Entries": {
 43331             "type": "list",
 43332             "member": {
 43333               "type": "structure",
 43334               "members": {
 43335                 "EventId": {},
 43336                 "ErrorCode": {},
 43337                 "ErrorMessage": {}
 43338               }
 43339             }
 43340           }
 43341         }
 43342       }
 43343     },
 43344     "PutRule": {
 43345       "input": {
 43346         "type": "structure",
 43347         "required": [
 43348           "Name"
 43349         ],
 43350         "members": {
 43351           "Name": {},
 43352           "ScheduleExpression": {},
 43353           "EventPattern": {},
 43354           "State": {},
 43355           "Description": {},
 43356           "RoleArn": {}
 43357         }
 43358       },
 43359       "output": {
 43360         "type": "structure",
 43361         "members": {
 43362           "RuleArn": {}
 43363         }
 43364       }
 43365     },
 43366     "PutTargets": {
 43367       "input": {
 43368         "type": "structure",
 43369         "required": [
 43370           "Rule",
 43371           "Targets"
 43372         ],
 43373         "members": {
 43374           "Rule": {},
 43375           "Targets": {
 43376             "shape": "Sp"
 43377           }
 43378         }
 43379       },
 43380       "output": {
 43381         "type": "structure",
 43382         "members": {
 43383           "FailedEntryCount": {
 43384             "type": "integer"
 43385           },
 43386           "FailedEntries": {
 43387             "type": "list",
 43388             "member": {
 43389               "type": "structure",
 43390               "members": {
 43391                 "TargetId": {},
 43392                 "ErrorCode": {},
 43393                 "ErrorMessage": {}
 43394               }
 43395             }
 43396           }
 43397         }
 43398       }
 43399     },
 43400     "RemoveTargets": {
 43401       "input": {
 43402         "type": "structure",
 43403         "required": [
 43404           "Rule",
 43405           "Ids"
 43406         ],
 43407         "members": {
 43408           "Rule": {},
 43409           "Ids": {
 43410             "type": "list",
 43411             "member": {}
 43412           }
 43413         }
 43414       },
 43415       "output": {
 43416         "type": "structure",
 43417         "members": {
 43418           "FailedEntryCount": {
 43419             "type": "integer"
 43420           },
 43421           "FailedEntries": {
 43422             "type": "list",
 43423             "member": {
 43424               "type": "structure",
 43425               "members": {
 43426                 "TargetId": {},
 43427                 "ErrorCode": {},
 43428                 "ErrorMessage": {}
 43429               }
 43430             }
 43431           }
 43432         }
 43433       }
 43434     },
 43435     "TestEventPattern": {
 43436       "input": {
 43437         "type": "structure",
 43438         "required": [
 43439           "EventPattern",
 43440           "Event"
 43441         ],
 43442         "members": {
 43443           "EventPattern": {},
 43444           "Event": {}
 43445         }
 43446       },
 43447       "output": {
 43448         "type": "structure",
 43449         "members": {
 43450           "Result": {
 43451             "type": "boolean"
 43452           }
 43453         }
 43454       }
 43455     }
 43456   },
 43457   "shapes": {
 43458     "Sp": {
 43459       "type": "list",
 43460       "member": {
 43461         "type": "structure",
 43462         "required": [
 43463           "Id",
 43464           "Arn"
 43465         ],
 43466         "members": {
 43467           "Id": {},
 43468           "Arn": {},
 43469           "Input": {},
 43470           "InputPath": {}
 43471         }
 43472       }
 43473     }
 43474   },
 43475   "examples": {}
 43476 }
 43477 },{}],67:[function(require,module,exports){
 43478 module.exports={
 43479   "version": "2.0",
 43480   "metadata": {
 43481     "apiVersion": "2015-08-04",
 43482     "endpointPrefix": "firehose",
 43483     "jsonVersion": "1.1",
 43484     "protocol": "json",
 43485     "serviceAbbreviation": "Firehose",
 43486     "serviceFullName": "Amazon Kinesis Firehose",
 43487     "signatureVersion": "v4",
 43488     "targetPrefix": "Firehose_20150804"
 43489   },
 43490   "operations": {
 43491     "CreateDeliveryStream": {
 43492       "input": {
 43493         "type": "structure",
 43494         "required": [
 43495           "DeliveryStreamName"
 43496         ],
 43497         "members": {
 43498           "DeliveryStreamName": {},
 43499           "S3DestinationConfiguration": {
 43500             "shape": "S3"
 43501           },
 43502           "RedshiftDestinationConfiguration": {
 43503             "type": "structure",
 43504             "required": [
 43505               "RoleARN",
 43506               "ClusterJDBCURL",
 43507               "CopyCommand",
 43508               "Username",
 43509               "Password",
 43510               "S3Configuration"
 43511             ],
 43512             "members": {
 43513               "RoleARN": {},
 43514               "ClusterJDBCURL": {},
 43515               "CopyCommand": {
 43516                 "shape": "Sl"
 43517               },
 43518               "Username": {
 43519                 "shape": "Sp"
 43520               },
 43521               "Password": {
 43522                 "shape": "Sq"
 43523               },
 43524               "RetryOptions": {
 43525                 "shape": "Sr"
 43526               },
 43527               "S3Configuration": {
 43528                 "shape": "S3"
 43529               },
 43530               "CloudWatchLoggingOptions": {
 43531                 "shape": "Sf"
 43532               }
 43533             }
 43534           },
 43535           "ElasticsearchDestinationConfiguration": {
 43536             "type": "structure",
 43537             "required": [
 43538               "RoleARN",
 43539               "DomainARN",
 43540               "IndexName",
 43541               "TypeName",
 43542               "S3Configuration"
 43543             ],
 43544             "members": {
 43545               "RoleARN": {},
 43546               "DomainARN": {},
 43547               "IndexName": {},
 43548               "TypeName": {},
 43549               "IndexRotationPeriod": {},
 43550               "BufferingHints": {
 43551                 "shape": "Sy"
 43552               },
 43553               "RetryOptions": {
 43554                 "shape": "S11"
 43555               },
 43556               "S3BackupMode": {},
 43557               "S3Configuration": {
 43558                 "shape": "S3"
 43559               },
 43560               "CloudWatchLoggingOptions": {
 43561                 "shape": "Sf"
 43562               }
 43563             }
 43564           }
 43565         }
 43566       },
 43567       "output": {
 43568         "type": "structure",
 43569         "members": {
 43570           "DeliveryStreamARN": {}
 43571         }
 43572       }
 43573     },
 43574     "DeleteDeliveryStream": {
 43575       "input": {
 43576         "type": "structure",
 43577         "required": [
 43578           "DeliveryStreamName"
 43579         ],
 43580         "members": {
 43581           "DeliveryStreamName": {}
 43582         }
 43583       },
 43584       "output": {
 43585         "type": "structure",
 43586         "members": {}
 43587       }
 43588     },
 43589     "DescribeDeliveryStream": {
 43590       "input": {
 43591         "type": "structure",
 43592         "required": [
 43593           "DeliveryStreamName"
 43594         ],
 43595         "members": {
 43596           "DeliveryStreamName": {},
 43597           "Limit": {
 43598             "type": "integer"
 43599           },
 43600           "ExclusiveStartDestinationId": {}
 43601         }
 43602       },
 43603       "output": {
 43604         "type": "structure",
 43605         "required": [
 43606           "DeliveryStreamDescription"
 43607         ],
 43608         "members": {
 43609           "DeliveryStreamDescription": {
 43610             "type": "structure",
 43611             "required": [
 43612               "DeliveryStreamName",
 43613               "DeliveryStreamARN",
 43614               "DeliveryStreamStatus",
 43615               "VersionId",
 43616               "Destinations",
 43617               "HasMoreDestinations"
 43618             ],
 43619             "members": {
 43620               "DeliveryStreamName": {},
 43621               "DeliveryStreamARN": {},
 43622               "DeliveryStreamStatus": {},
 43623               "VersionId": {},
 43624               "CreateTimestamp": {
 43625                 "type": "timestamp"
 43626               },
 43627               "LastUpdateTimestamp": {
 43628                 "type": "timestamp"
 43629               },
 43630               "Destinations": {
 43631                 "type": "list",
 43632                 "member": {
 43633                   "type": "structure",
 43634                   "required": [
 43635                     "DestinationId"
 43636                   ],
 43637                   "members": {
 43638                     "DestinationId": {},
 43639                     "S3DestinationDescription": {
 43640                       "shape": "S1i"
 43641                     },
 43642                     "RedshiftDestinationDescription": {
 43643                       "type": "structure",
 43644                       "required": [
 43645                         "RoleARN",
 43646                         "ClusterJDBCURL",
 43647                         "CopyCommand",
 43648                         "Username",
 43649                         "S3DestinationDescription"
 43650                       ],
 43651                       "members": {
 43652                         "RoleARN": {},
 43653                         "ClusterJDBCURL": {},
 43654                         "CopyCommand": {
 43655                           "shape": "Sl"
 43656                         },
 43657                         "Username": {
 43658                           "shape": "Sp"
 43659                         },
 43660                         "RetryOptions": {
 43661                           "shape": "Sr"
 43662                         },
 43663                         "S3DestinationDescription": {
 43664                           "shape": "S1i"
 43665                         },
 43666                         "CloudWatchLoggingOptions": {
 43667                           "shape": "Sf"
 43668                         }
 43669                       }
 43670                     },
 43671                     "ElasticsearchDestinationDescription": {
 43672                       "type": "structure",
 43673                       "members": {
 43674                         "RoleARN": {},
 43675                         "DomainARN": {},
 43676                         "IndexName": {},
 43677                         "TypeName": {},
 43678                         "IndexRotationPeriod": {},
 43679                         "BufferingHints": {
 43680                           "shape": "Sy"
 43681                         },
 43682                         "RetryOptions": {
 43683                           "shape": "S11"
 43684                         },
 43685                         "S3BackupMode": {},
 43686                         "S3DestinationDescription": {
 43687                           "shape": "S1i"
 43688                         },
 43689                         "CloudWatchLoggingOptions": {
 43690                           "shape": "Sf"
 43691                         }
 43692                       }
 43693                     }
 43694                   }
 43695                 }
 43696               },
 43697               "HasMoreDestinations": {
 43698                 "type": "boolean"
 43699               }
 43700             }
 43701           }
 43702         }
 43703       }
 43704     },
 43705     "ListDeliveryStreams": {
 43706       "input": {
 43707         "type": "structure",
 43708         "members": {
 43709           "Limit": {
 43710             "type": "integer"
 43711           },
 43712           "ExclusiveStartDeliveryStreamName": {}
 43713         }
 43714       },
 43715       "output": {
 43716         "type": "structure",
 43717         "required": [
 43718           "DeliveryStreamNames",
 43719           "HasMoreDeliveryStreams"
 43720         ],
 43721         "members": {
 43722           "DeliveryStreamNames": {
 43723             "type": "list",
 43724             "member": {}
 43725           },
 43726           "HasMoreDeliveryStreams": {
 43727             "type": "boolean"
 43728           }
 43729         }
 43730       }
 43731     },
 43732     "PutRecord": {
 43733       "input": {
 43734         "type": "structure",
 43735         "required": [
 43736           "DeliveryStreamName",
 43737           "Record"
 43738         ],
 43739         "members": {
 43740           "DeliveryStreamName": {},
 43741           "Record": {
 43742             "shape": "S1q"
 43743           }
 43744         }
 43745       },
 43746       "output": {
 43747         "type": "structure",
 43748         "required": [
 43749           "RecordId"
 43750         ],
 43751         "members": {
 43752           "RecordId": {}
 43753         }
 43754       }
 43755     },
 43756     "PutRecordBatch": {
 43757       "input": {
 43758         "type": "structure",
 43759         "required": [
 43760           "DeliveryStreamName",
 43761           "Records"
 43762         ],
 43763         "members": {
 43764           "DeliveryStreamName": {},
 43765           "Records": {
 43766             "type": "list",
 43767             "member": {
 43768               "shape": "S1q"
 43769             }
 43770           }
 43771         }
 43772       },
 43773       "output": {
 43774         "type": "structure",
 43775         "required": [
 43776           "FailedPutCount",
 43777           "RequestResponses"
 43778         ],
 43779         "members": {
 43780           "FailedPutCount": {
 43781             "type": "integer"
 43782           },
 43783           "RequestResponses": {
 43784             "type": "list",
 43785             "member": {
 43786               "type": "structure",
 43787               "members": {
 43788                 "RecordId": {},
 43789                 "ErrorCode": {},
 43790                 "ErrorMessage": {}
 43791               }
 43792             }
 43793           }
 43794         }
 43795       }
 43796     },
 43797     "UpdateDestination": {
 43798       "input": {
 43799         "type": "structure",
 43800         "required": [
 43801           "DeliveryStreamName",
 43802           "CurrentDeliveryStreamVersionId",
 43803           "DestinationId"
 43804         ],
 43805         "members": {
 43806           "DeliveryStreamName": {},
 43807           "CurrentDeliveryStreamVersionId": {},
 43808           "DestinationId": {},
 43809           "S3DestinationUpdate": {
 43810             "shape": "S23"
 43811           },
 43812           "RedshiftDestinationUpdate": {
 43813             "type": "structure",
 43814             "members": {
 43815               "RoleARN": {},
 43816               "ClusterJDBCURL": {},
 43817               "CopyCommand": {
 43818                 "shape": "Sl"
 43819               },
 43820               "Username": {
 43821                 "shape": "Sp"
 43822               },
 43823               "Password": {
 43824                 "shape": "Sq"
 43825               },
 43826               "RetryOptions": {
 43827                 "shape": "Sr"
 43828               },
 43829               "S3Update": {
 43830                 "shape": "S23"
 43831               },
 43832               "CloudWatchLoggingOptions": {
 43833                 "shape": "Sf"
 43834               }
 43835             }
 43836           },
 43837           "ElasticsearchDestinationUpdate": {
 43838             "type": "structure",
 43839             "members": {
 43840               "RoleARN": {},
 43841               "DomainARN": {},
 43842               "IndexName": {},
 43843               "TypeName": {},
 43844               "IndexRotationPeriod": {},
 43845               "BufferingHints": {
 43846                 "shape": "Sy"
 43847               },
 43848               "RetryOptions": {
 43849                 "shape": "S11"
 43850               },
 43851               "S3Update": {
 43852                 "shape": "S23"
 43853               },
 43854               "CloudWatchLoggingOptions": {
 43855                 "shape": "Sf"
 43856               }
 43857             }
 43858           }
 43859         }
 43860       },
 43861       "output": {
 43862         "type": "structure",
 43863         "members": {}
 43864       }
 43865     }
 43866   },
 43867   "shapes": {
 43868     "S3": {
 43869       "type": "structure",
 43870       "required": [
 43871         "RoleARN",
 43872         "BucketARN"
 43873       ],
 43874       "members": {
 43875         "RoleARN": {},
 43876         "BucketARN": {},
 43877         "Prefix": {},
 43878         "BufferingHints": {
 43879           "shape": "S7"
 43880         },
 43881         "CompressionFormat": {},
 43882         "EncryptionConfiguration": {
 43883           "shape": "Sb"
 43884         },
 43885         "CloudWatchLoggingOptions": {
 43886           "shape": "Sf"
 43887         }
 43888       }
 43889     },
 43890     "S7": {
 43891       "type": "structure",
 43892       "members": {
 43893         "SizeInMBs": {
 43894           "type": "integer"
 43895         },
 43896         "IntervalInSeconds": {
 43897           "type": "integer"
 43898         }
 43899       }
 43900     },
 43901     "Sb": {
 43902       "type": "structure",
 43903       "members": {
 43904         "NoEncryptionConfig": {},
 43905         "KMSEncryptionConfig": {
 43906           "type": "structure",
 43907           "required": [
 43908             "AWSKMSKeyARN"
 43909           ],
 43910           "members": {
 43911             "AWSKMSKeyARN": {}
 43912           }
 43913         }
 43914       }
 43915     },
 43916     "Sf": {
 43917       "type": "structure",
 43918       "members": {
 43919         "Enabled": {
 43920           "type": "boolean"
 43921         },
 43922         "LogGroupName": {},
 43923         "LogStreamName": {}
 43924       }
 43925     },
 43926     "Sl": {
 43927       "type": "structure",
 43928       "required": [
 43929         "DataTableName"
 43930       ],
 43931       "members": {
 43932         "DataTableName": {},
 43933         "DataTableColumns": {},
 43934         "CopyOptions": {}
 43935       }
 43936     },
 43937     "Sp": {
 43938       "type": "string",
 43939       "sensitive": true
 43940     },
 43941     "Sq": {
 43942       "type": "string",
 43943       "sensitive": true
 43944     },
 43945     "Sr": {
 43946       "type": "structure",
 43947       "members": {
 43948         "DurationInSeconds": {
 43949           "type": "integer"
 43950         }
 43951       }
 43952     },
 43953     "Sy": {
 43954       "type": "structure",
 43955       "members": {
 43956         "IntervalInSeconds": {
 43957           "type": "integer"
 43958         },
 43959         "SizeInMBs": {
 43960           "type": "integer"
 43961         }
 43962       }
 43963     },
 43964     "S11": {
 43965       "type": "structure",
 43966       "members": {
 43967         "DurationInSeconds": {
 43968           "type": "integer"
 43969         }
 43970       }
 43971     },
 43972     "S1i": {
 43973       "type": "structure",
 43974       "required": [
 43975         "RoleARN",
 43976         "BucketARN",
 43977         "BufferingHints",
 43978         "CompressionFormat",
 43979         "EncryptionConfiguration"
 43980       ],
 43981       "members": {
 43982         "RoleARN": {},
 43983         "BucketARN": {},
 43984         "Prefix": {},
 43985         "BufferingHints": {
 43986           "shape": "S7"
 43987         },
 43988         "CompressionFormat": {},
 43989         "EncryptionConfiguration": {
 43990           "shape": "Sb"
 43991         },
 43992         "CloudWatchLoggingOptions": {
 43993           "shape": "Sf"
 43994         }
 43995       }
 43996     },
 43997     "S1q": {
 43998       "type": "structure",
 43999       "required": [
 44000         "Data"
 44001       ],
 44002       "members": {
 44003         "Data": {
 44004           "type": "blob"
 44005         }
 44006       }
 44007     },
 44008     "S23": {
 44009       "type": "structure",
 44010       "members": {
 44011         "RoleARN": {},
 44012         "BucketARN": {},
 44013         "Prefix": {},
 44014         "BufferingHints": {
 44015           "shape": "S7"
 44016         },
 44017         "CompressionFormat": {},
 44018         "EncryptionConfiguration": {
 44019           "shape": "Sb"
 44020         },
 44021         "CloudWatchLoggingOptions": {
 44022           "shape": "Sf"
 44023         }
 44024       }
 44025     }
 44026   }
 44027 }
 44028 },{}],68:[function(require,module,exports){
 44029 module.exports={
 44030   "version": "2.0",
 44031   "metadata": {
 44032     "apiVersion": "2015-10-01",
 44033     "endpointPrefix": "gamelift",
 44034     "jsonVersion": "1.1",
 44035     "protocol": "json",
 44036     "serviceFullName": "Amazon GameLift",
 44037     "signatureVersion": "v4",
 44038     "targetPrefix": "GameLift"
 44039   },
 44040   "operations": {
 44041     "CreateAlias": {
 44042       "input": {
 44043         "type": "structure",
 44044         "required": [
 44045           "Name",
 44046           "RoutingStrategy"
 44047         ],
 44048         "members": {
 44049           "Name": {},
 44050           "Description": {},
 44051           "RoutingStrategy": {
 44052             "shape": "S4"
 44053           }
 44054         }
 44055       },
 44056       "output": {
 44057         "type": "structure",
 44058         "members": {
 44059           "Alias": {
 44060             "shape": "S9"
 44061           }
 44062         }
 44063       }
 44064     },
 44065     "CreateBuild": {
 44066       "input": {
 44067         "type": "structure",
 44068         "members": {
 44069           "Name": {},
 44070           "Version": {},
 44071           "StorageLocation": {
 44072             "shape": "Sd"
 44073           },
 44074           "OperatingSystem": {}
 44075         }
 44076       },
 44077       "output": {
 44078         "type": "structure",
 44079         "members": {
 44080           "Build": {
 44081             "shape": "Sh"
 44082           },
 44083           "UploadCredentials": {
 44084             "shape": "Sl"
 44085           },
 44086           "StorageLocation": {
 44087             "shape": "Sd"
 44088           }
 44089         }
 44090       }
 44091     },
 44092     "CreateFleet": {
 44093       "input": {
 44094         "type": "structure",
 44095         "required": [
 44096           "Name",
 44097           "BuildId",
 44098           "EC2InstanceType"
 44099         ],
 44100         "members": {
 44101           "Name": {},
 44102           "Description": {},
 44103           "BuildId": {},
 44104           "ServerLaunchPath": {},
 44105           "ServerLaunchParameters": {},
 44106           "LogPaths": {
 44107             "shape": "Sn"
 44108           },
 44109           "EC2InstanceType": {},
 44110           "EC2InboundPermissions": {
 44111             "shape": "Sp"
 44112           },
 44113           "NewGameSessionProtectionPolicy": {},
 44114           "RuntimeConfiguration": {
 44115             "shape": "Sv"
 44116           },
 44117           "ResourceCreationLimitPolicy": {
 44118             "shape": "Sz"
 44119           }
 44120         }
 44121       },
 44122       "output": {
 44123         "type": "structure",
 44124         "members": {
 44125           "FleetAttributes": {
 44126             "shape": "S12"
 44127           }
 44128         }
 44129       }
 44130     },
 44131     "CreateGameSession": {
 44132       "input": {
 44133         "type": "structure",
 44134         "required": [
 44135           "MaximumPlayerSessionCount"
 44136         ],
 44137         "members": {
 44138           "FleetId": {},
 44139           "AliasId": {},
 44140           "MaximumPlayerSessionCount": {
 44141             "type": "integer"
 44142           },
 44143           "Name": {},
 44144           "GameProperties": {
 44145             "shape": "S15"
 44146           },
 44147           "CreatorId": {},
 44148           "GameSessionId": {}
 44149         }
 44150       },
 44151       "output": {
 44152         "type": "structure",
 44153         "members": {
 44154           "GameSession": {
 44155             "shape": "S1b"
 44156           }
 44157         }
 44158       }
 44159     },
 44160     "CreatePlayerSession": {
 44161       "input": {
 44162         "type": "structure",
 44163         "required": [
 44164           "GameSessionId",
 44165           "PlayerId"
 44166         ],
 44167         "members": {
 44168           "GameSessionId": {},
 44169           "PlayerId": {}
 44170         }
 44171       },
 44172       "output": {
 44173         "type": "structure",
 44174         "members": {
 44175           "PlayerSession": {
 44176             "shape": "S1i"
 44177           }
 44178         }
 44179       }
 44180     },
 44181     "CreatePlayerSessions": {
 44182       "input": {
 44183         "type": "structure",
 44184         "required": [
 44185           "GameSessionId",
 44186           "PlayerIds"
 44187         ],
 44188         "members": {
 44189           "GameSessionId": {},
 44190           "PlayerIds": {
 44191             "type": "list",
 44192             "member": {}
 44193           }
 44194         }
 44195       },
 44196       "output": {
 44197         "type": "structure",
 44198         "members": {
 44199           "PlayerSessions": {
 44200             "shape": "S1o"
 44201           }
 44202         }
 44203       }
 44204     },
 44205     "DeleteAlias": {
 44206       "input": {
 44207         "type": "structure",
 44208         "required": [
 44209           "AliasId"
 44210         ],
 44211         "members": {
 44212           "AliasId": {}
 44213         }
 44214       }
 44215     },
 44216     "DeleteBuild": {
 44217       "input": {
 44218         "type": "structure",
 44219         "required": [
 44220           "BuildId"
 44221         ],
 44222         "members": {
 44223           "BuildId": {}
 44224         }
 44225       }
 44226     },
 44227     "DeleteFleet": {
 44228       "input": {
 44229         "type": "structure",
 44230         "required": [
 44231           "FleetId"
 44232         ],
 44233         "members": {
 44234           "FleetId": {}
 44235         }
 44236       }
 44237     },
 44238     "DeleteScalingPolicy": {
 44239       "input": {
 44240         "type": "structure",
 44241         "required": [
 44242           "Name",
 44243           "FleetId"
 44244         ],
 44245         "members": {
 44246           "Name": {},
 44247           "FleetId": {}
 44248         }
 44249       }
 44250     },
 44251     "DescribeAlias": {
 44252       "input": {
 44253         "type": "structure",
 44254         "required": [
 44255           "AliasId"
 44256         ],
 44257         "members": {
 44258           "AliasId": {}
 44259         }
 44260       },
 44261       "output": {
 44262         "type": "structure",
 44263         "members": {
 44264           "Alias": {
 44265             "shape": "S9"
 44266           }
 44267         }
 44268       }
 44269     },
 44270     "DescribeBuild": {
 44271       "input": {
 44272         "type": "structure",
 44273         "required": [
 44274           "BuildId"
 44275         ],
 44276         "members": {
 44277           "BuildId": {}
 44278         }
 44279       },
 44280       "output": {
 44281         "type": "structure",
 44282         "members": {
 44283           "Build": {
 44284             "shape": "Sh"
 44285           }
 44286         }
 44287       }
 44288     },
 44289     "DescribeEC2InstanceLimits": {
 44290       "input": {
 44291         "type": "structure",
 44292         "members": {
 44293           "EC2InstanceType": {}
 44294         }
 44295       },
 44296       "output": {
 44297         "type": "structure",
 44298         "members": {
 44299           "EC2InstanceLimits": {
 44300             "type": "list",
 44301             "member": {
 44302               "type": "structure",
 44303               "members": {
 44304                 "EC2InstanceType": {},
 44305                 "CurrentInstances": {
 44306                   "type": "integer"
 44307                 },
 44308                 "InstanceLimit": {
 44309                   "type": "integer"
 44310                 }
 44311               }
 44312             }
 44313           }
 44314         }
 44315       }
 44316     },
 44317     "DescribeFleetAttributes": {
 44318       "input": {
 44319         "type": "structure",
 44320         "members": {
 44321           "FleetIds": {
 44322             "shape": "S22"
 44323           },
 44324           "Limit": {
 44325             "type": "integer"
 44326           },
 44327           "NextToken": {}
 44328         }
 44329       },
 44330       "output": {
 44331         "type": "structure",
 44332         "members": {
 44333           "FleetAttributes": {
 44334             "type": "list",
 44335             "member": {
 44336               "shape": "S12"
 44337             }
 44338           },
 44339           "NextToken": {}
 44340         }
 44341       }
 44342     },
 44343     "DescribeFleetCapacity": {
 44344       "input": {
 44345         "type": "structure",
 44346         "members": {
 44347           "FleetIds": {
 44348             "shape": "S22"
 44349           },
 44350           "Limit": {
 44351             "type": "integer"
 44352           },
 44353           "NextToken": {}
 44354         }
 44355       },
 44356       "output": {
 44357         "type": "structure",
 44358         "members": {
 44359           "FleetCapacity": {
 44360             "type": "list",
 44361             "member": {
 44362               "type": "structure",
 44363               "members": {
 44364                 "FleetId": {},
 44365                 "InstanceType": {},
 44366                 "InstanceCounts": {
 44367                   "type": "structure",
 44368                   "members": {
 44369                     "DESIRED": {
 44370                       "type": "integer"
 44371                     },
 44372                     "MINIMUM": {
 44373                       "type": "integer"
 44374                     },
 44375                     "MAXIMUM": {
 44376                       "type": "integer"
 44377                     },
 44378                     "PENDING": {
 44379                       "type": "integer"
 44380                     },
 44381                     "ACTIVE": {
 44382                       "type": "integer"
 44383                     },
 44384                     "IDLE": {
 44385                       "type": "integer"
 44386                     },
 44387                     "TERMINATING": {
 44388                       "type": "integer"
 44389                     }
 44390                   }
 44391                 }
 44392               }
 44393             }
 44394           },
 44395           "NextToken": {}
 44396         }
 44397       }
 44398     },
 44399     "DescribeFleetEvents": {
 44400       "input": {
 44401         "type": "structure",
 44402         "required": [
 44403           "FleetId"
 44404         ],
 44405         "members": {
 44406           "FleetId": {},
 44407           "StartTime": {
 44408             "type": "timestamp"
 44409           },
 44410           "EndTime": {
 44411             "type": "timestamp"
 44412           },
 44413           "Limit": {
 44414             "type": "integer"
 44415           },
 44416           "NextToken": {}
 44417         }
 44418       },
 44419       "output": {
 44420         "type": "structure",
 44421         "members": {
 44422           "Events": {
 44423             "type": "list",
 44424             "member": {
 44425               "type": "structure",
 44426               "members": {
 44427                 "EventId": {},
 44428                 "ResourceId": {},
 44429                 "EventCode": {},
 44430                 "Message": {},
 44431                 "EventTime": {
 44432                   "type": "timestamp"
 44433                 }
 44434               }
 44435             }
 44436           },
 44437           "NextToken": {}
 44438         }
 44439       }
 44440     },
 44441     "DescribeFleetPortSettings": {
 44442       "input": {
 44443         "type": "structure",
 44444         "required": [
 44445           "FleetId"
 44446         ],
 44447         "members": {
 44448           "FleetId": {}
 44449         }
 44450       },
 44451       "output": {
 44452         "type": "structure",
 44453         "members": {
 44454           "InboundPermissions": {
 44455             "shape": "Sp"
 44456           }
 44457         }
 44458       }
 44459     },
 44460     "DescribeFleetUtilization": {
 44461       "input": {
 44462         "type": "structure",
 44463         "members": {
 44464           "FleetIds": {
 44465             "shape": "S22"
 44466           },
 44467           "Limit": {
 44468             "type": "integer"
 44469           },
 44470           "NextToken": {}
 44471         }
 44472       },
 44473       "output": {
 44474         "type": "structure",
 44475         "members": {
 44476           "FleetUtilization": {
 44477             "type": "list",
 44478             "member": {
 44479               "type": "structure",
 44480               "members": {
 44481                 "FleetId": {},
 44482                 "ActiveServerProcessCount": {
 44483                   "type": "integer"
 44484                 },
 44485                 "ActiveGameSessionCount": {
 44486                   "type": "integer"
 44487                 },
 44488                 "CurrentPlayerSessionCount": {
 44489                   "type": "integer"
 44490                 },
 44491                 "MaximumPlayerSessionCount": {
 44492                   "type": "integer"
 44493                 }
 44494               }
 44495             }
 44496           },
 44497           "NextToken": {}
 44498         }
 44499       }
 44500     },
 44501     "DescribeGameSessionDetails": {
 44502       "input": {
 44503         "type": "structure",
 44504         "members": {
 44505           "FleetId": {},
 44506           "GameSessionId": {},
 44507           "AliasId": {},
 44508           "StatusFilter": {},
 44509           "Limit": {
 44510             "type": "integer"
 44511           },
 44512           "NextToken": {}
 44513         }
 44514       },
 44515       "output": {
 44516         "type": "structure",
 44517         "members": {
 44518           "GameSessionDetails": {
 44519             "type": "list",
 44520             "member": {
 44521               "type": "structure",
 44522               "members": {
 44523                 "GameSession": {
 44524                   "shape": "S1b"
 44525                 },
 44526                 "ProtectionPolicy": {}
 44527               }
 44528             }
 44529           },
 44530           "NextToken": {}
 44531         }
 44532       }
 44533     },
 44534     "DescribeGameSessions": {
 44535       "input": {
 44536         "type": "structure",
 44537         "members": {
 44538           "FleetId": {},
 44539           "GameSessionId": {},
 44540           "AliasId": {},
 44541           "StatusFilter": {},
 44542           "Limit": {
 44543             "type": "integer"
 44544           },
 44545           "NextToken": {}
 44546         }
 44547       },
 44548       "output": {
 44549         "type": "structure",
 44550         "members": {
 44551           "GameSessions": {
 44552             "shape": "S2r"
 44553           },
 44554           "NextToken": {}
 44555         }
 44556       }
 44557     },
 44558     "DescribeInstances": {
 44559       "input": {
 44560         "type": "structure",
 44561         "required": [
 44562           "FleetId"
 44563         ],
 44564         "members": {
 44565           "FleetId": {},
 44566           "InstanceId": {},
 44567           "Limit": {
 44568             "type": "integer"
 44569           },
 44570           "NextToken": {}
 44571         }
 44572       },
 44573       "output": {
 44574         "type": "structure",
 44575         "members": {
 44576           "Instances": {
 44577             "type": "list",
 44578             "member": {
 44579               "type": "structure",
 44580               "members": {
 44581                 "FleetId": {},
 44582                 "InstanceId": {},
 44583                 "IpAddress": {},
 44584                 "OperatingSystem": {},
 44585                 "Type": {},
 44586                 "Status": {},
 44587                 "CreationTime": {
 44588                   "type": "timestamp"
 44589                 }
 44590               }
 44591             }
 44592           },
 44593           "NextToken": {}
 44594         }
 44595       }
 44596     },
 44597     "DescribePlayerSessions": {
 44598       "input": {
 44599         "type": "structure",
 44600         "members": {
 44601           "GameSessionId": {},
 44602           "PlayerId": {},
 44603           "PlayerSessionId": {},
 44604           "PlayerSessionStatusFilter": {},
 44605           "Limit": {
 44606             "type": "integer"
 44607           },
 44608           "NextToken": {}
 44609         }
 44610       },
 44611       "output": {
 44612         "type": "structure",
 44613         "members": {
 44614           "PlayerSessions": {
 44615             "shape": "S1o"
 44616           },
 44617           "NextToken": {}
 44618         }
 44619       }
 44620     },
 44621     "DescribeRuntimeConfiguration": {
 44622       "input": {
 44623         "type": "structure",
 44624         "required": [
 44625           "FleetId"
 44626         ],
 44627         "members": {
 44628           "FleetId": {}
 44629         }
 44630       },
 44631       "output": {
 44632         "type": "structure",
 44633         "members": {
 44634           "RuntimeConfiguration": {
 44635             "shape": "Sv"
 44636           }
 44637         }
 44638       }
 44639     },
 44640     "DescribeScalingPolicies": {
 44641       "input": {
 44642         "type": "structure",
 44643         "required": [
 44644           "FleetId"
 44645         ],
 44646         "members": {
 44647           "FleetId": {},
 44648           "StatusFilter": {},
 44649           "Limit": {
 44650             "type": "integer"
 44651           },
 44652           "NextToken": {}
 44653         }
 44654       },
 44655       "output": {
 44656         "type": "structure",
 44657         "members": {
 44658           "ScalingPolicies": {
 44659             "type": "list",
 44660             "member": {
 44661               "type": "structure",
 44662               "members": {
 44663                 "FleetId": {},
 44664                 "Name": {},
 44665                 "Status": {},
 44666                 "ScalingAdjustment": {
 44667                   "type": "integer"
 44668                 },
 44669                 "ScalingAdjustmentType": {},
 44670                 "ComparisonOperator": {},
 44671                 "Threshold": {
 44672                   "type": "double"
 44673                 },
 44674                 "EvaluationPeriods": {
 44675                   "type": "integer"
 44676                 },
 44677                 "MetricName": {}
 44678               }
 44679             }
 44680           },
 44681           "NextToken": {}
 44682         }
 44683       }
 44684     },
 44685     "GetGameSessionLogUrl": {
 44686       "input": {
 44687         "type": "structure",
 44688         "required": [
 44689           "GameSessionId"
 44690         ],
 44691         "members": {
 44692           "GameSessionId": {}
 44693         }
 44694       },
 44695       "output": {
 44696         "type": "structure",
 44697         "members": {
 44698           "PreSignedUrl": {}
 44699         }
 44700       }
 44701     },
 44702     "GetInstanceAccess": {
 44703       "input": {
 44704         "type": "structure",
 44705         "required": [
 44706           "FleetId",
 44707           "InstanceId"
 44708         ],
 44709         "members": {
 44710           "FleetId": {},
 44711           "InstanceId": {}
 44712         }
 44713       },
 44714       "output": {
 44715         "type": "structure",
 44716         "members": {
 44717           "InstanceAccess": {
 44718             "type": "structure",
 44719             "members": {
 44720               "FleetId": {},
 44721               "InstanceId": {},
 44722               "IpAddress": {},
 44723               "OperatingSystem": {},
 44724               "Credentials": {
 44725                 "type": "structure",
 44726                 "members": {
 44727                   "UserName": {},
 44728                   "Secret": {}
 44729                 },
 44730                 "sensitive": true
 44731               }
 44732             }
 44733           }
 44734         }
 44735       }
 44736     },
 44737     "ListAliases": {
 44738       "input": {
 44739         "type": "structure",
 44740         "members": {
 44741           "RoutingStrategyType": {},
 44742           "Name": {},
 44743           "Limit": {
 44744             "type": "integer"
 44745           },
 44746           "NextToken": {}
 44747         }
 44748       },
 44749       "output": {
 44750         "type": "structure",
 44751         "members": {
 44752           "Aliases": {
 44753             "type": "list",
 44754             "member": {
 44755               "shape": "S9"
 44756             }
 44757           },
 44758           "NextToken": {}
 44759         }
 44760       }
 44761     },
 44762     "ListBuilds": {
 44763       "input": {
 44764         "type": "structure",
 44765         "members": {
 44766           "Status": {},
 44767           "Limit": {
 44768             "type": "integer"
 44769           },
 44770           "NextToken": {}
 44771         }
 44772       },
 44773       "output": {
 44774         "type": "structure",
 44775         "members": {
 44776           "Builds": {
 44777             "type": "list",
 44778             "member": {
 44779               "shape": "Sh"
 44780             }
 44781           },
 44782           "NextToken": {}
 44783         }
 44784       }
 44785     },
 44786     "ListFleets": {
 44787       "input": {
 44788         "type": "structure",
 44789         "members": {
 44790           "BuildId": {},
 44791           "Limit": {
 44792             "type": "integer"
 44793           },
 44794           "NextToken": {}
 44795         }
 44796       },
 44797       "output": {
 44798         "type": "structure",
 44799         "members": {
 44800           "FleetIds": {
 44801             "shape": "S22"
 44802           },
 44803           "NextToken": {}
 44804         }
 44805       }
 44806     },
 44807     "PutScalingPolicy": {
 44808       "input": {
 44809         "type": "structure",
 44810         "required": [
 44811           "Name",
 44812           "FleetId",
 44813           "ScalingAdjustment",
 44814           "ScalingAdjustmentType",
 44815           "Threshold",
 44816           "ComparisonOperator",
 44817           "EvaluationPeriods",
 44818           "MetricName"
 44819         ],
 44820         "members": {
 44821           "Name": {},
 44822           "FleetId": {},
 44823           "ScalingAdjustment": {
 44824             "type": "integer"
 44825           },
 44826           "ScalingAdjustmentType": {},
 44827           "Threshold": {
 44828             "type": "double"
 44829           },
 44830           "ComparisonOperator": {},
 44831           "EvaluationPeriods": {
 44832             "type": "integer"
 44833           },
 44834           "MetricName": {}
 44835         }
 44836       },
 44837       "output": {
 44838         "type": "structure",
 44839         "members": {
 44840           "Name": {}
 44841         }
 44842       }
 44843     },
 44844     "RequestUploadCredentials": {
 44845       "input": {
 44846         "type": "structure",
 44847         "required": [
 44848           "BuildId"
 44849         ],
 44850         "members": {
 44851           "BuildId": {}
 44852         }
 44853       },
 44854       "output": {
 44855         "type": "structure",
 44856         "members": {
 44857           "UploadCredentials": {
 44858             "shape": "Sl"
 44859           },
 44860           "StorageLocation": {
 44861             "shape": "Sd"
 44862           }
 44863         }
 44864       }
 44865     },
 44866     "ResolveAlias": {
 44867       "input": {
 44868         "type": "structure",
 44869         "required": [
 44870           "AliasId"
 44871         ],
 44872         "members": {
 44873           "AliasId": {}
 44874         }
 44875       },
 44876       "output": {
 44877         "type": "structure",
 44878         "members": {
 44879           "FleetId": {}
 44880         }
 44881       }
 44882     },
 44883     "SearchGameSessions": {
 44884       "input": {
 44885         "type": "structure",
 44886         "members": {
 44887           "FleetId": {},
 44888           "AliasId": {},
 44889           "FilterExpression": {},
 44890           "SortExpression": {},
 44891           "Limit": {
 44892             "type": "integer"
 44893           },
 44894           "NextToken": {}
 44895         }
 44896       },
 44897       "output": {
 44898         "type": "structure",
 44899         "members": {
 44900           "GameSessions": {
 44901             "shape": "S2r"
 44902           },
 44903           "NextToken": {}
 44904         }
 44905       }
 44906     },
 44907     "UpdateAlias": {
 44908       "input": {
 44909         "type": "structure",
 44910         "required": [
 44911           "AliasId"
 44912         ],
 44913         "members": {
 44914           "AliasId": {},
 44915           "Name": {},
 44916           "Description": {},
 44917           "RoutingStrategy": {
 44918             "shape": "S4"
 44919           }
 44920         }
 44921       },
 44922       "output": {
 44923         "type": "structure",
 44924         "members": {
 44925           "Alias": {
 44926             "shape": "S9"
 44927           }
 44928         }
 44929       }
 44930     },
 44931     "UpdateBuild": {
 44932       "input": {
 44933         "type": "structure",
 44934         "required": [
 44935           "BuildId"
 44936         ],
 44937         "members": {
 44938           "BuildId": {},
 44939           "Name": {},
 44940           "Version": {}
 44941         }
 44942       },
 44943       "output": {
 44944         "type": "structure",
 44945         "members": {
 44946           "Build": {
 44947             "shape": "Sh"
 44948           }
 44949         }
 44950       }
 44951     },
 44952     "UpdateFleetAttributes": {
 44953       "input": {
 44954         "type": "structure",
 44955         "required": [
 44956           "FleetId"
 44957         ],
 44958         "members": {
 44959           "FleetId": {},
 44960           "Name": {},
 44961           "Description": {},
 44962           "NewGameSessionProtectionPolicy": {},
 44963           "ResourceCreationLimitPolicy": {
 44964             "shape": "Sz"
 44965           }
 44966         }
 44967       },
 44968       "output": {
 44969         "type": "structure",
 44970         "members": {
 44971           "FleetId": {}
 44972         }
 44973       }
 44974     },
 44975     "UpdateFleetCapacity": {
 44976       "input": {
 44977         "type": "structure",
 44978         "required": [
 44979           "FleetId"
 44980         ],
 44981         "members": {
 44982           "FleetId": {},
 44983           "DesiredInstances": {
 44984             "type": "integer"
 44985           },
 44986           "MinSize": {
 44987             "type": "integer"
 44988           },
 44989           "MaxSize": {
 44990             "type": "integer"
 44991           }
 44992         }
 44993       },
 44994       "output": {
 44995         "type": "structure",
 44996         "members": {
 44997           "FleetId": {}
 44998         }
 44999       }
 45000     },
 45001     "UpdateFleetPortSettings": {
 45002       "input": {
 45003         "type": "structure",
 45004         "required": [
 45005           "FleetId"
 45006         ],
 45007         "members": {
 45008           "FleetId": {},
 45009           "InboundPermissionAuthorizations": {
 45010             "shape": "Sp"
 45011           },
 45012           "InboundPermissionRevocations": {
 45013             "shape": "Sp"
 45014           }
 45015         }
 45016       },
 45017       "output": {
 45018         "type": "structure",
 45019         "members": {
 45020           "FleetId": {}
 45021         }
 45022       }
 45023     },
 45024     "UpdateGameSession": {
 45025       "input": {
 45026         "type": "structure",
 45027         "required": [
 45028           "GameSessionId"
 45029         ],
 45030         "members": {
 45031           "GameSessionId": {},
 45032           "MaximumPlayerSessionCount": {
 45033             "type": "integer"
 45034           },
 45035           "Name": {},
 45036           "PlayerSessionCreationPolicy": {},
 45037           "ProtectionPolicy": {}
 45038         }
 45039       },
 45040       "output": {
 45041         "type": "structure",
 45042         "members": {
 45043           "GameSession": {
 45044             "shape": "S1b"
 45045           }
 45046         }
 45047       }
 45048     },
 45049     "UpdateRuntimeConfiguration": {
 45050       "input": {
 45051         "type": "structure",
 45052         "required": [
 45053           "FleetId",
 45054           "RuntimeConfiguration"
 45055         ],
 45056         "members": {
 45057           "FleetId": {},
 45058           "RuntimeConfiguration": {
 45059             "shape": "Sv"
 45060           }
 45061         }
 45062       },
 45063       "output": {
 45064         "type": "structure",
 45065         "members": {
 45066           "RuntimeConfiguration": {
 45067             "shape": "Sv"
 45068           }
 45069         }
 45070       }
 45071     }
 45072   },
 45073   "shapes": {
 45074     "S4": {
 45075       "type": "structure",
 45076       "members": {
 45077         "Type": {},
 45078         "FleetId": {},
 45079         "Message": {}
 45080       }
 45081     },
 45082     "S9": {
 45083       "type": "structure",
 45084       "members": {
 45085         "AliasId": {},
 45086         "Name": {},
 45087         "Description": {},
 45088         "RoutingStrategy": {
 45089           "shape": "S4"
 45090         },
 45091         "CreationTime": {
 45092           "type": "timestamp"
 45093         },
 45094         "LastUpdatedTime": {
 45095           "type": "timestamp"
 45096         }
 45097       }
 45098     },
 45099     "Sd": {
 45100       "type": "structure",
 45101       "members": {
 45102         "Bucket": {},
 45103         "Key": {},
 45104         "RoleArn": {}
 45105       }
 45106     },
 45107     "Sh": {
 45108       "type": "structure",
 45109       "members": {
 45110         "BuildId": {},
 45111         "Name": {},
 45112         "Version": {},
 45113         "Status": {},
 45114         "SizeOnDisk": {
 45115           "type": "long"
 45116         },
 45117         "OperatingSystem": {},
 45118         "CreationTime": {
 45119           "type": "timestamp"
 45120         }
 45121       }
 45122     },
 45123     "Sl": {
 45124       "type": "structure",
 45125       "members": {
 45126         "AccessKeyId": {},
 45127         "SecretAccessKey": {},
 45128         "SessionToken": {}
 45129       },
 45130       "sensitive": true
 45131     },
 45132     "Sn": {
 45133       "type": "list",
 45134       "member": {}
 45135     },
 45136     "Sp": {
 45137       "type": "list",
 45138       "member": {
 45139         "type": "structure",
 45140         "required": [
 45141           "FromPort",
 45142           "ToPort",
 45143           "IpRange",
 45144           "Protocol"
 45145         ],
 45146         "members": {
 45147           "FromPort": {
 45148             "type": "integer"
 45149           },
 45150           "ToPort": {
 45151             "type": "integer"
 45152           },
 45153           "IpRange": {},
 45154           "Protocol": {}
 45155         }
 45156       }
 45157     },
 45158     "Sv": {
 45159       "type": "structure",
 45160       "members": {
 45161         "ServerProcesses": {
 45162           "type": "list",
 45163           "member": {
 45164             "type": "structure",
 45165             "required": [
 45166               "LaunchPath",
 45167               "ConcurrentExecutions"
 45168             ],
 45169             "members": {
 45170               "LaunchPath": {},
 45171               "Parameters": {},
 45172               "ConcurrentExecutions": {
 45173                 "type": "integer"
 45174               }
 45175             }
 45176           }
 45177         }
 45178       }
 45179     },
 45180     "Sz": {
 45181       "type": "structure",
 45182       "members": {
 45183         "NewGameSessionsPerCreator": {
 45184           "type": "integer"
 45185         },
 45186         "PolicyPeriodInMinutes": {
 45187           "type": "integer"
 45188         }
 45189       }
 45190     },
 45191     "S12": {
 45192       "type": "structure",
 45193       "members": {
 45194         "FleetId": {},
 45195         "Description": {},
 45196         "Name": {},
 45197         "CreationTime": {
 45198           "type": "timestamp"
 45199         },
 45200         "TerminationTime": {
 45201           "type": "timestamp"
 45202         },
 45203         "Status": {},
 45204         "BuildId": {},
 45205         "ServerLaunchPath": {},
 45206         "ServerLaunchParameters": {},
 45207         "LogPaths": {
 45208           "shape": "Sn"
 45209         },
 45210         "NewGameSessionProtectionPolicy": {},
 45211         "OperatingSystem": {},
 45212         "ResourceCreationLimitPolicy": {
 45213           "shape": "Sz"
 45214         }
 45215       }
 45216     },
 45217     "S15": {
 45218       "type": "list",
 45219       "member": {
 45220         "type": "structure",
 45221         "required": [
 45222           "Key",
 45223           "Value"
 45224         ],
 45225         "members": {
 45226           "Key": {},
 45227           "Value": {}
 45228         }
 45229       }
 45230     },
 45231     "S1b": {
 45232       "type": "structure",
 45233       "members": {
 45234         "GameSessionId": {},
 45235         "Name": {},
 45236         "FleetId": {},
 45237         "CreationTime": {
 45238           "type": "timestamp"
 45239         },
 45240         "TerminationTime": {
 45241           "type": "timestamp"
 45242         },
 45243         "CurrentPlayerSessionCount": {
 45244           "type": "integer"
 45245         },
 45246         "MaximumPlayerSessionCount": {
 45247           "type": "integer"
 45248         },
 45249         "Status": {},
 45250         "GameProperties": {
 45251           "shape": "S15"
 45252         },
 45253         "IpAddress": {},
 45254         "Port": {
 45255           "type": "integer"
 45256         },
 45257         "PlayerSessionCreationPolicy": {},
 45258         "CreatorId": {}
 45259       }
 45260     },
 45261     "S1i": {
 45262       "type": "structure",
 45263       "members": {
 45264         "PlayerSessionId": {},
 45265         "PlayerId": {},
 45266         "GameSessionId": {},
 45267         "FleetId": {},
 45268         "CreationTime": {
 45269           "type": "timestamp"
 45270         },
 45271         "TerminationTime": {
 45272           "type": "timestamp"
 45273         },
 45274         "Status": {},
 45275         "IpAddress": {},
 45276         "Port": {
 45277           "type": "integer"
 45278         }
 45279       }
 45280     },
 45281     "S1o": {
 45282       "type": "list",
 45283       "member": {
 45284         "shape": "S1i"
 45285       }
 45286     },
 45287     "S22": {
 45288       "type": "list",
 45289       "member": {}
 45290     },
 45291     "S2r": {
 45292       "type": "list",
 45293       "member": {
 45294         "shape": "S1b"
 45295       }
 45296     }
 45297   }
 45298 }
 45299 },{}],69:[function(require,module,exports){
 45300 module.exports={
 45301   "version": "2.0",
 45302   "metadata": {
 45303     "apiVersion": "2016-02-16",
 45304     "endpointPrefix": "inspector",
 45305     "jsonVersion": "1.1",
 45306     "protocol": "json",
 45307     "serviceFullName": "Amazon Inspector",
 45308     "signatureVersion": "v4",
 45309     "targetPrefix": "InspectorService"
 45310   },
 45311   "operations": {
 45312     "AddAttributesToFindings": {
 45313       "input": {
 45314         "type": "structure",
 45315         "required": [
 45316           "findingArns",
 45317           "attributes"
 45318         ],
 45319         "members": {
 45320           "findingArns": {
 45321             "shape": "S2"
 45322           },
 45323           "attributes": {
 45324             "shape": "S4"
 45325           }
 45326         }
 45327       },
 45328       "output": {
 45329         "type": "structure",
 45330         "required": [
 45331           "failedItems"
 45332         ],
 45333         "members": {
 45334           "failedItems": {
 45335             "shape": "S9"
 45336           }
 45337         }
 45338       }
 45339     },
 45340     "CreateAssessmentTarget": {
 45341       "input": {
 45342         "type": "structure",
 45343         "required": [
 45344           "assessmentTargetName",
 45345           "resourceGroupArn"
 45346         ],
 45347         "members": {
 45348           "assessmentTargetName": {},
 45349           "resourceGroupArn": {}
 45350         }
 45351       },
 45352       "output": {
 45353         "type": "structure",
 45354         "required": [
 45355           "assessmentTargetArn"
 45356         ],
 45357         "members": {
 45358           "assessmentTargetArn": {}
 45359         }
 45360       }
 45361     },
 45362     "CreateAssessmentTemplate": {
 45363       "input": {
 45364         "type": "structure",
 45365         "required": [
 45366           "assessmentTargetArn",
 45367           "assessmentTemplateName",
 45368           "durationInSeconds",
 45369           "rulesPackageArns"
 45370         ],
 45371         "members": {
 45372           "assessmentTargetArn": {},
 45373           "assessmentTemplateName": {},
 45374           "durationInSeconds": {
 45375             "type": "integer"
 45376           },
 45377           "rulesPackageArns": {
 45378             "shape": "Sj"
 45379           },
 45380           "userAttributesForFindings": {
 45381             "shape": "S4"
 45382           }
 45383         }
 45384       },
 45385       "output": {
 45386         "type": "structure",
 45387         "required": [
 45388           "assessmentTemplateArn"
 45389         ],
 45390         "members": {
 45391           "assessmentTemplateArn": {}
 45392         }
 45393       }
 45394     },
 45395     "CreateResourceGroup": {
 45396       "input": {
 45397         "type": "structure",
 45398         "required": [
 45399           "resourceGroupTags"
 45400         ],
 45401         "members": {
 45402           "resourceGroupTags": {
 45403             "shape": "Sm"
 45404           }
 45405         }
 45406       },
 45407       "output": {
 45408         "type": "structure",
 45409         "required": [
 45410           "resourceGroupArn"
 45411         ],
 45412         "members": {
 45413           "resourceGroupArn": {}
 45414         }
 45415       }
 45416     },
 45417     "DeleteAssessmentRun": {
 45418       "input": {
 45419         "type": "structure",
 45420         "required": [
 45421           "assessmentRunArn"
 45422         ],
 45423         "members": {
 45424           "assessmentRunArn": {}
 45425         }
 45426       }
 45427     },
 45428     "DeleteAssessmentTarget": {
 45429       "input": {
 45430         "type": "structure",
 45431         "required": [
 45432           "assessmentTargetArn"
 45433         ],
 45434         "members": {
 45435           "assessmentTargetArn": {}
 45436         }
 45437       }
 45438     },
 45439     "DeleteAssessmentTemplate": {
 45440       "input": {
 45441         "type": "structure",
 45442         "required": [
 45443           "assessmentTemplateArn"
 45444         ],
 45445         "members": {
 45446           "assessmentTemplateArn": {}
 45447         }
 45448       }
 45449     },
 45450     "DescribeAssessmentRuns": {
 45451       "input": {
 45452         "type": "structure",
 45453         "required": [
 45454           "assessmentRunArns"
 45455         ],
 45456         "members": {
 45457           "assessmentRunArns": {
 45458             "shape": "Sv"
 45459           }
 45460         }
 45461       },
 45462       "output": {
 45463         "type": "structure",
 45464         "required": [
 45465           "assessmentRuns",
 45466           "failedItems"
 45467         ],
 45468         "members": {
 45469           "assessmentRuns": {
 45470             "type": "list",
 45471             "member": {
 45472               "type": "structure",
 45473               "required": [
 45474                 "arn",
 45475                 "name",
 45476                 "assessmentTemplateArn",
 45477                 "state",
 45478                 "durationInSeconds",
 45479                 "rulesPackageArns",
 45480                 "userAttributesForFindings",
 45481                 "createdAt",
 45482                 "stateChangedAt",
 45483                 "dataCollected",
 45484                 "stateChanges",
 45485                 "notifications"
 45486               ],
 45487               "members": {
 45488                 "arn": {},
 45489                 "name": {},
 45490                 "assessmentTemplateArn": {},
 45491                 "state": {},
 45492                 "durationInSeconds": {
 45493                   "type": "integer"
 45494                 },
 45495                 "rulesPackageArns": {
 45496                   "type": "list",
 45497                   "member": {}
 45498                 },
 45499                 "userAttributesForFindings": {
 45500                   "shape": "S4"
 45501                 },
 45502                 "createdAt": {
 45503                   "type": "timestamp"
 45504                 },
 45505                 "startedAt": {
 45506                   "type": "timestamp"
 45507                 },
 45508                 "completedAt": {
 45509                   "type": "timestamp"
 45510                 },
 45511                 "stateChangedAt": {
 45512                   "type": "timestamp"
 45513                 },
 45514                 "dataCollected": {
 45515                   "type": "boolean"
 45516                 },
 45517                 "stateChanges": {
 45518                   "type": "list",
 45519                   "member": {
 45520                     "type": "structure",
 45521                     "required": [
 45522                       "stateChangedAt",
 45523                       "state"
 45524                     ],
 45525                     "members": {
 45526                       "stateChangedAt": {
 45527                         "type": "timestamp"
 45528                       },
 45529                       "state": {}
 45530                     }
 45531                   }
 45532                 },
 45533                 "notifications": {
 45534                   "type": "list",
 45535                   "member": {
 45536                     "type": "structure",
 45537                     "required": [
 45538                       "date",
 45539                       "event",
 45540                       "error"
 45541                     ],
 45542                     "members": {
 45543                       "date": {
 45544                         "type": "timestamp"
 45545                       },
 45546                       "event": {},
 45547                       "message": {},
 45548                       "error": {
 45549                         "type": "boolean"
 45550                       },
 45551                       "snsTopicArn": {},
 45552                       "snsPublishStatusCode": {}
 45553                     }
 45554                   }
 45555                 }
 45556               }
 45557             }
 45558           },
 45559           "failedItems": {
 45560             "shape": "S9"
 45561           }
 45562         }
 45563       }
 45564     },
 45565     "DescribeAssessmentTargets": {
 45566       "input": {
 45567         "type": "structure",
 45568         "required": [
 45569           "assessmentTargetArns"
 45570         ],
 45571         "members": {
 45572           "assessmentTargetArns": {
 45573             "shape": "Sv"
 45574           }
 45575         }
 45576       },
 45577       "output": {
 45578         "type": "structure",
 45579         "required": [
 45580           "assessmentTargets",
 45581           "failedItems"
 45582         ],
 45583         "members": {
 45584           "assessmentTargets": {
 45585             "type": "list",
 45586             "member": {
 45587               "type": "structure",
 45588               "required": [
 45589                 "arn",
 45590                 "name",
 45591                 "resourceGroupArn",
 45592                 "createdAt",
 45593                 "updatedAt"
 45594               ],
 45595               "members": {
 45596                 "arn": {},
 45597                 "name": {},
 45598                 "resourceGroupArn": {},
 45599                 "createdAt": {
 45600                   "type": "timestamp"
 45601                 },
 45602                 "updatedAt": {
 45603                   "type": "timestamp"
 45604                 }
 45605               }
 45606             }
 45607           },
 45608           "failedItems": {
 45609             "shape": "S9"
 45610           }
 45611         }
 45612       }
 45613     },
 45614     "DescribeAssessmentTemplates": {
 45615       "input": {
 45616         "type": "structure",
 45617         "required": [
 45618           "assessmentTemplateArns"
 45619         ],
 45620         "members": {
 45621           "assessmentTemplateArns": {
 45622             "shape": "Sv"
 45623           }
 45624         }
 45625       },
 45626       "output": {
 45627         "type": "structure",
 45628         "required": [
 45629           "assessmentTemplates",
 45630           "failedItems"
 45631         ],
 45632         "members": {
 45633           "assessmentTemplates": {
 45634             "type": "list",
 45635             "member": {
 45636               "type": "structure",
 45637               "required": [
 45638                 "arn",
 45639                 "name",
 45640                 "assessmentTargetArn",
 45641                 "durationInSeconds",
 45642                 "rulesPackageArns",
 45643                 "userAttributesForFindings",
 45644                 "createdAt"
 45645               ],
 45646               "members": {
 45647                 "arn": {},
 45648                 "name": {},
 45649                 "assessmentTargetArn": {},
 45650                 "durationInSeconds": {
 45651                   "type": "integer"
 45652                 },
 45653                 "rulesPackageArns": {
 45654                   "shape": "Sj"
 45655                 },
 45656                 "userAttributesForFindings": {
 45657                   "shape": "S4"
 45658                 },
 45659                 "createdAt": {
 45660                   "type": "timestamp"
 45661                 }
 45662               }
 45663             }
 45664           },
 45665           "failedItems": {
 45666             "shape": "S9"
 45667           }
 45668         }
 45669       }
 45670     },
 45671     "DescribeCrossAccountAccessRole": {
 45672       "output": {
 45673         "type": "structure",
 45674         "required": [
 45675           "roleArn",
 45676           "valid",
 45677           "registeredAt"
 45678         ],
 45679         "members": {
 45680           "roleArn": {},
 45681           "valid": {
 45682             "type": "boolean"
 45683           },
 45684           "registeredAt": {
 45685             "type": "timestamp"
 45686           }
 45687         }
 45688       }
 45689     },
 45690     "DescribeFindings": {
 45691       "input": {
 45692         "type": "structure",
 45693         "required": [
 45694           "findingArns"
 45695         ],
 45696         "members": {
 45697           "findingArns": {
 45698             "shape": "Sv"
 45699           },
 45700           "locale": {}
 45701         }
 45702       },
 45703       "output": {
 45704         "type": "structure",
 45705         "required": [
 45706           "findings",
 45707           "failedItems"
 45708         ],
 45709         "members": {
 45710           "findings": {
 45711             "type": "list",
 45712             "member": {
 45713               "type": "structure",
 45714               "required": [
 45715                 "arn",
 45716                 "attributes",
 45717                 "userAttributes",
 45718                 "createdAt",
 45719                 "updatedAt"
 45720               ],
 45721               "members": {
 45722                 "arn": {},
 45723                 "schemaVersion": {
 45724                   "type": "integer"
 45725                 },
 45726                 "service": {},
 45727                 "serviceAttributes": {
 45728                   "type": "structure",
 45729                   "required": [
 45730                     "schemaVersion"
 45731                   ],
 45732                   "members": {
 45733                     "schemaVersion": {
 45734                       "type": "integer"
 45735                     },
 45736                     "assessmentRunArn": {},
 45737                     "rulesPackageArn": {}
 45738                   }
 45739                 },
 45740                 "assetType": {},
 45741                 "assetAttributes": {
 45742                   "type": "structure",
 45743                   "required": [
 45744                     "schemaVersion"
 45745                   ],
 45746                   "members": {
 45747                     "schemaVersion": {
 45748                       "type": "integer"
 45749                     },
 45750                     "agentId": {},
 45751                     "autoScalingGroup": {},
 45752                     "amiId": {},
 45753                     "hostname": {},
 45754                     "ipv4Addresses": {
 45755                       "type": "list",
 45756                       "member": {}
 45757                     }
 45758                   }
 45759                 },
 45760                 "id": {},
 45761                 "title": {},
 45762                 "description": {},
 45763                 "recommendation": {},
 45764                 "severity": {},
 45765                 "numericSeverity": {
 45766                   "type": "double"
 45767                 },
 45768                 "confidence": {
 45769                   "type": "integer"
 45770                 },
 45771                 "indicatorOfCompromise": {
 45772                   "type": "boolean"
 45773                 },
 45774                 "attributes": {
 45775                   "shape": "S24"
 45776                 },
 45777                 "userAttributes": {
 45778                   "shape": "S4"
 45779                 },
 45780                 "createdAt": {
 45781                   "type": "timestamp"
 45782                 },
 45783                 "updatedAt": {
 45784                   "type": "timestamp"
 45785                 }
 45786               }
 45787             }
 45788           },
 45789           "failedItems": {
 45790             "shape": "S9"
 45791           }
 45792         }
 45793       }
 45794     },
 45795     "DescribeResourceGroups": {
 45796       "input": {
 45797         "type": "structure",
 45798         "required": [
 45799           "resourceGroupArns"
 45800         ],
 45801         "members": {
 45802           "resourceGroupArns": {
 45803             "shape": "Sv"
 45804           }
 45805         }
 45806       },
 45807       "output": {
 45808         "type": "structure",
 45809         "required": [
 45810           "resourceGroups",
 45811           "failedItems"
 45812         ],
 45813         "members": {
 45814           "resourceGroups": {
 45815             "type": "list",
 45816             "member": {
 45817               "type": "structure",
 45818               "required": [
 45819                 "arn",
 45820                 "tags",
 45821                 "createdAt"
 45822               ],
 45823               "members": {
 45824                 "arn": {},
 45825                 "tags": {
 45826                   "shape": "Sm"
 45827                 },
 45828                 "createdAt": {
 45829                   "type": "timestamp"
 45830                 }
 45831               }
 45832             }
 45833           },
 45834           "failedItems": {
 45835             "shape": "S9"
 45836           }
 45837         }
 45838       }
 45839     },
 45840     "DescribeRulesPackages": {
 45841       "input": {
 45842         "type": "structure",
 45843         "required": [
 45844           "rulesPackageArns"
 45845         ],
 45846         "members": {
 45847           "rulesPackageArns": {
 45848             "shape": "Sv"
 45849           },
 45850           "locale": {}
 45851         }
 45852       },
 45853       "output": {
 45854         "type": "structure",
 45855         "required": [
 45856           "rulesPackages",
 45857           "failedItems"
 45858         ],
 45859         "members": {
 45860           "rulesPackages": {
 45861             "type": "list",
 45862             "member": {
 45863               "type": "structure",
 45864               "required": [
 45865                 "arn",
 45866                 "name",
 45867                 "version",
 45868                 "provider"
 45869               ],
 45870               "members": {
 45871                 "arn": {},
 45872                 "name": {},
 45873                 "version": {},
 45874                 "provider": {},
 45875                 "description": {}
 45876               }
 45877             }
 45878           },
 45879           "failedItems": {
 45880             "shape": "S9"
 45881           }
 45882         }
 45883       }
 45884     },
 45885     "GetTelemetryMetadata": {
 45886       "input": {
 45887         "type": "structure",
 45888         "required": [
 45889           "assessmentRunArn"
 45890         ],
 45891         "members": {
 45892           "assessmentRunArn": {}
 45893         }
 45894       },
 45895       "output": {
 45896         "type": "structure",
 45897         "required": [
 45898           "telemetryMetadata"
 45899         ],
 45900         "members": {
 45901           "telemetryMetadata": {
 45902             "shape": "S2i"
 45903           }
 45904         }
 45905       }
 45906     },
 45907     "ListAssessmentRunAgents": {
 45908       "input": {
 45909         "type": "structure",
 45910         "required": [
 45911           "assessmentRunArn"
 45912         ],
 45913         "members": {
 45914           "assessmentRunArn": {},
 45915           "filter": {
 45916             "type": "structure",
 45917             "required": [
 45918               "agentHealths",
 45919               "agentHealthCodes"
 45920             ],
 45921             "members": {
 45922               "agentHealths": {
 45923                 "type": "list",
 45924                 "member": {}
 45925               },
 45926               "agentHealthCodes": {
 45927                 "type": "list",
 45928                 "member": {}
 45929               }
 45930             }
 45931           },
 45932           "nextToken": {},
 45933           "maxResults": {
 45934             "type": "integer"
 45935           }
 45936         }
 45937       },
 45938       "output": {
 45939         "type": "structure",
 45940         "required": [
 45941           "assessmentRunAgents"
 45942         ],
 45943         "members": {
 45944           "assessmentRunAgents": {
 45945             "type": "list",
 45946             "member": {
 45947               "type": "structure",
 45948               "required": [
 45949                 "agentId",
 45950                 "assessmentRunArn",
 45951                 "agentHealth",
 45952                 "agentHealthCode",
 45953                 "telemetryMetadata"
 45954               ],
 45955               "members": {
 45956                 "agentId": {},
 45957                 "assessmentRunArn": {},
 45958                 "agentHealth": {},
 45959                 "agentHealthCode": {},
 45960                 "agentHealthDetails": {},
 45961                 "autoScalingGroup": {},
 45962                 "telemetryMetadata": {
 45963                   "shape": "S2i"
 45964                 }
 45965               }
 45966             }
 45967           },
 45968           "nextToken": {}
 45969         }
 45970       }
 45971     },
 45972     "ListAssessmentRuns": {
 45973       "input": {
 45974         "type": "structure",
 45975         "members": {
 45976           "assessmentTemplateArns": {
 45977             "shape": "S2y"
 45978           },
 45979           "filter": {
 45980             "type": "structure",
 45981             "members": {
 45982               "namePattern": {},
 45983               "states": {
 45984                 "type": "list",
 45985                 "member": {}
 45986               },
 45987               "durationRange": {
 45988                 "shape": "S32"
 45989               },
 45990               "rulesPackageArns": {
 45991                 "shape": "S33"
 45992               },
 45993               "startTimeRange": {
 45994                 "shape": "S34"
 45995               },
 45996               "completionTimeRange": {
 45997                 "shape": "S34"
 45998               },
 45999               "stateChangeTimeRange": {
 46000                 "shape": "S34"
 46001               }
 46002             }
 46003           },
 46004           "nextToken": {},
 46005           "maxResults": {
 46006             "type": "integer"
 46007           }
 46008         }
 46009       },
 46010       "output": {
 46011         "type": "structure",
 46012         "required": [
 46013           "assessmentRunArns"
 46014         ],
 46015         "members": {
 46016           "assessmentRunArns": {
 46017             "shape": "S36"
 46018           },
 46019           "nextToken": {}
 46020         }
 46021       }
 46022     },
 46023     "ListAssessmentTargets": {
 46024       "input": {
 46025         "type": "structure",
 46026         "members": {
 46027           "filter": {
 46028             "type": "structure",
 46029             "members": {
 46030               "assessmentTargetNamePattern": {}
 46031             }
 46032           },
 46033           "nextToken": {},
 46034           "maxResults": {
 46035             "type": "integer"
 46036           }
 46037         }
 46038       },
 46039       "output": {
 46040         "type": "structure",
 46041         "required": [
 46042           "assessmentTargetArns"
 46043         ],
 46044         "members": {
 46045           "assessmentTargetArns": {
 46046             "shape": "S36"
 46047           },
 46048           "nextToken": {}
 46049         }
 46050       }
 46051     },
 46052     "ListAssessmentTemplates": {
 46053       "input": {
 46054         "type": "structure",
 46055         "members": {
 46056           "assessmentTargetArns": {
 46057             "shape": "S2y"
 46058           },
 46059           "filter": {
 46060             "type": "structure",
 46061             "members": {
 46062               "namePattern": {},
 46063               "durationRange": {
 46064                 "shape": "S32"
 46065               },
 46066               "rulesPackageArns": {
 46067                 "shape": "S33"
 46068               }
 46069             }
 46070           },
 46071           "nextToken": {},
 46072           "maxResults": {
 46073             "type": "integer"
 46074           }
 46075         }
 46076       },
 46077       "output": {
 46078         "type": "structure",
 46079         "required": [
 46080           "assessmentTemplateArns"
 46081         ],
 46082         "members": {
 46083           "assessmentTemplateArns": {
 46084             "shape": "S36"
 46085           },
 46086           "nextToken": {}
 46087         }
 46088       }
 46089     },
 46090     "ListEventSubscriptions": {
 46091       "input": {
 46092         "type": "structure",
 46093         "members": {
 46094           "resourceArn": {},
 46095           "nextToken": {},
 46096           "maxResults": {
 46097             "type": "integer"
 46098           }
 46099         }
 46100       },
 46101       "output": {
 46102         "type": "structure",
 46103         "required": [
 46104           "subscriptions"
 46105         ],
 46106         "members": {
 46107           "subscriptions": {
 46108             "type": "list",
 46109             "member": {
 46110               "type": "structure",
 46111               "required": [
 46112                 "resourceArn",
 46113                 "topicArn",
 46114                 "eventSubscriptions"
 46115               ],
 46116               "members": {
 46117                 "resourceArn": {},
 46118                 "topicArn": {},
 46119                 "eventSubscriptions": {
 46120                   "type": "list",
 46121                   "member": {
 46122                     "type": "structure",
 46123                     "required": [
 46124                       "event",
 46125                       "subscribedAt"
 46126                     ],
 46127                     "members": {
 46128                       "event": {},
 46129                       "subscribedAt": {
 46130                         "type": "timestamp"
 46131                       }
 46132                     }
 46133                   }
 46134                 }
 46135               }
 46136             }
 46137           },
 46138           "nextToken": {}
 46139         }
 46140       }
 46141     },
 46142     "ListFindings": {
 46143       "input": {
 46144         "type": "structure",
 46145         "members": {
 46146           "assessmentRunArns": {
 46147             "shape": "S2y"
 46148           },
 46149           "filter": {
 46150             "type": "structure",
 46151             "members": {
 46152               "agentIds": {
 46153                 "type": "list",
 46154                 "member": {}
 46155               },
 46156               "autoScalingGroups": {
 46157                 "type": "list",
 46158                 "member": {}
 46159               },
 46160               "ruleNames": {
 46161                 "type": "list",
 46162                 "member": {}
 46163               },
 46164               "severities": {
 46165                 "type": "list",
 46166                 "member": {}
 46167               },
 46168               "rulesPackageArns": {
 46169                 "shape": "S33"
 46170               },
 46171               "attributes": {
 46172                 "shape": "S24"
 46173               },
 46174               "userAttributes": {
 46175                 "shape": "S24"
 46176               },
 46177               "creationTimeRange": {
 46178                 "shape": "S34"
 46179               }
 46180             }
 46181           },
 46182           "nextToken": {},
 46183           "maxResults": {
 46184             "type": "integer"
 46185           }
 46186         }
 46187       },
 46188       "output": {
 46189         "type": "structure",
 46190         "required": [
 46191           "findingArns"
 46192         ],
 46193         "members": {
 46194           "findingArns": {
 46195             "shape": "S36"
 46196           },
 46197           "nextToken": {}
 46198         }
 46199       }
 46200     },
 46201     "ListRulesPackages": {
 46202       "input": {
 46203         "type": "structure",
 46204         "members": {
 46205           "nextToken": {},
 46206           "maxResults": {
 46207             "type": "integer"
 46208           }
 46209         }
 46210       },
 46211       "output": {
 46212         "type": "structure",
 46213         "required": [
 46214           "rulesPackageArns"
 46215         ],
 46216         "members": {
 46217           "rulesPackageArns": {
 46218             "shape": "S36"
 46219           },
 46220           "nextToken": {}
 46221         }
 46222       }
 46223     },
 46224     "ListTagsForResource": {
 46225       "input": {
 46226         "type": "structure",
 46227         "required": [
 46228           "resourceArn"
 46229         ],
 46230         "members": {
 46231           "resourceArn": {}
 46232         }
 46233       },
 46234       "output": {
 46235         "type": "structure",
 46236         "required": [
 46237           "tags"
 46238         ],
 46239         "members": {
 46240           "tags": {
 46241             "shape": "S3w"
 46242           }
 46243         }
 46244       }
 46245     },
 46246     "PreviewAgents": {
 46247       "input": {
 46248         "type": "structure",
 46249         "required": [
 46250           "previewAgentsArn"
 46251         ],
 46252         "members": {
 46253           "previewAgentsArn": {},
 46254           "nextToken": {},
 46255           "maxResults": {
 46256             "type": "integer"
 46257           }
 46258         }
 46259       },
 46260       "output": {
 46261         "type": "structure",
 46262         "required": [
 46263           "agentPreviews"
 46264         ],
 46265         "members": {
 46266           "agentPreviews": {
 46267             "type": "list",
 46268             "member": {
 46269               "type": "structure",
 46270               "required": [
 46271                 "agentId"
 46272               ],
 46273               "members": {
 46274                 "agentId": {},
 46275                 "autoScalingGroup": {}
 46276               }
 46277             }
 46278           },
 46279           "nextToken": {}
 46280         }
 46281       }
 46282     },
 46283     "RegisterCrossAccountAccessRole": {
 46284       "input": {
 46285         "type": "structure",
 46286         "required": [
 46287           "roleArn"
 46288         ],
 46289         "members": {
 46290           "roleArn": {}
 46291         }
 46292       }
 46293     },
 46294     "RemoveAttributesFromFindings": {
 46295       "input": {
 46296         "type": "structure",
 46297         "required": [
 46298           "findingArns",
 46299           "attributeKeys"
 46300         ],
 46301         "members": {
 46302           "findingArns": {
 46303             "shape": "S2"
 46304           },
 46305           "attributeKeys": {
 46306             "type": "list",
 46307             "member": {}
 46308           }
 46309         }
 46310       },
 46311       "output": {
 46312         "type": "structure",
 46313         "required": [
 46314           "failedItems"
 46315         ],
 46316         "members": {
 46317           "failedItems": {
 46318             "shape": "S9"
 46319           }
 46320         }
 46321       }
 46322     },
 46323     "SetTagsForResource": {
 46324       "input": {
 46325         "type": "structure",
 46326         "required": [
 46327           "resourceArn"
 46328         ],
 46329         "members": {
 46330           "resourceArn": {},
 46331           "tags": {
 46332             "shape": "S3w"
 46333           }
 46334         }
 46335       }
 46336     },
 46337     "StartAssessmentRun": {
 46338       "input": {
 46339         "type": "structure",
 46340         "required": [
 46341           "assessmentTemplateArn"
 46342         ],
 46343         "members": {
 46344           "assessmentTemplateArn": {},
 46345           "assessmentRunName": {}
 46346         }
 46347       },
 46348       "output": {
 46349         "type": "structure",
 46350         "required": [
 46351           "assessmentRunArn"
 46352         ],
 46353         "members": {
 46354           "assessmentRunArn": {}
 46355         }
 46356       }
 46357     },
 46358     "StopAssessmentRun": {
 46359       "input": {
 46360         "type": "structure",
 46361         "required": [
 46362           "assessmentRunArn"
 46363         ],
 46364         "members": {
 46365           "assessmentRunArn": {}
 46366         }
 46367       }
 46368     },
 46369     "SubscribeToEvent": {
 46370       "input": {
 46371         "type": "structure",
 46372         "required": [
 46373           "resourceArn",
 46374           "event",
 46375           "topicArn"
 46376         ],
 46377         "members": {
 46378           "resourceArn": {},
 46379           "event": {},
 46380           "topicArn": {}
 46381         }
 46382       }
 46383     },
 46384     "UnsubscribeFromEvent": {
 46385       "input": {
 46386         "type": "structure",
 46387         "required": [
 46388           "resourceArn",
 46389           "event",
 46390           "topicArn"
 46391         ],
 46392         "members": {
 46393           "resourceArn": {},
 46394           "event": {},
 46395           "topicArn": {}
 46396         }
 46397       }
 46398     },
 46399     "UpdateAssessmentTarget": {
 46400       "input": {
 46401         "type": "structure",
 46402         "required": [
 46403           "assessmentTargetArn",
 46404           "assessmentTargetName",
 46405           "resourceGroupArn"
 46406         ],
 46407         "members": {
 46408           "assessmentTargetArn": {},
 46409           "assessmentTargetName": {},
 46410           "resourceGroupArn": {}
 46411         }
 46412       }
 46413     }
 46414   },
 46415   "shapes": {
 46416     "S2": {
 46417       "type": "list",
 46418       "member": {}
 46419     },
 46420     "S4": {
 46421       "type": "list",
 46422       "member": {
 46423         "shape": "S5"
 46424       }
 46425     },
 46426     "S5": {
 46427       "type": "structure",
 46428       "required": [
 46429         "key"
 46430       ],
 46431       "members": {
 46432         "key": {},
 46433         "value": {}
 46434       }
 46435     },
 46436     "S9": {
 46437       "type": "map",
 46438       "key": {},
 46439       "value": {
 46440         "type": "structure",
 46441         "required": [
 46442           "failureCode",
 46443           "retryable"
 46444         ],
 46445         "members": {
 46446           "failureCode": {},
 46447           "retryable": {
 46448             "type": "boolean"
 46449           }
 46450         }
 46451       }
 46452     },
 46453     "Sj": {
 46454       "type": "list",
 46455       "member": {}
 46456     },
 46457     "Sm": {
 46458       "type": "list",
 46459       "member": {
 46460         "type": "structure",
 46461         "required": [
 46462           "key"
 46463         ],
 46464         "members": {
 46465           "key": {},
 46466           "value": {}
 46467         }
 46468       }
 46469     },
 46470     "Sv": {
 46471       "type": "list",
 46472       "member": {}
 46473     },
 46474     "S24": {
 46475       "type": "list",
 46476       "member": {
 46477         "shape": "S5"
 46478       }
 46479     },
 46480     "S2i": {
 46481       "type": "list",
 46482       "member": {
 46483         "type": "structure",
 46484         "required": [
 46485           "messageType",
 46486           "count"
 46487         ],
 46488         "members": {
 46489           "messageType": {},
 46490           "count": {
 46491             "type": "long"
 46492           },
 46493           "dataSize": {
 46494             "type": "long"
 46495           }
 46496         }
 46497       }
 46498     },
 46499     "S2y": {
 46500       "type": "list",
 46501       "member": {}
 46502     },
 46503     "S32": {
 46504       "type": "structure",
 46505       "members": {
 46506         "minSeconds": {
 46507           "type": "integer"
 46508         },
 46509         "maxSeconds": {
 46510           "type": "integer"
 46511         }
 46512       }
 46513     },
 46514     "S33": {
 46515       "type": "list",
 46516       "member": {}
 46517     },
 46518     "S34": {
 46519       "type": "structure",
 46520       "members": {
 46521         "beginDate": {
 46522           "type": "timestamp"
 46523         },
 46524         "endDate": {
 46525           "type": "timestamp"
 46526         }
 46527       }
 46528     },
 46529     "S36": {
 46530       "type": "list",
 46531       "member": {}
 46532     },
 46533     "S3w": {
 46534       "type": "list",
 46535       "member": {
 46536         "type": "structure",
 46537         "required": [
 46538           "key"
 46539         ],
 46540         "members": {
 46541           "key": {},
 46542           "value": {}
 46543         }
 46544       }
 46545     }
 46546   }
 46547 }
 46548 },{}],70:[function(require,module,exports){
 46549 module.exports={
 46550   "version": "2.0",
 46551   "metadata": {
 46552     "apiVersion": "2015-05-28",
 46553     "endpointPrefix": "iot",
 46554     "serviceFullName": "AWS IoT",
 46555     "signatureVersion": "v4",
 46556     "signingName": "execute-api",
 46557     "protocol": "rest-json"
 46558   },
 46559   "operations": {
 46560     "AcceptCertificateTransfer": {
 46561       "http": {
 46562         "method": "PATCH",
 46563         "requestUri": "/accept-certificate-transfer/{certificateId}"
 46564       },
 46565       "input": {
 46566         "type": "structure",
 46567         "required": [
 46568           "certificateId"
 46569         ],
 46570         "members": {
 46571           "certificateId": {
 46572             "location": "uri",
 46573             "locationName": "certificateId"
 46574           },
 46575           "setAsActive": {
 46576             "location": "querystring",
 46577             "locationName": "setAsActive",
 46578             "type": "boolean"
 46579           }
 46580         }
 46581       }
 46582     },
 46583     "AttachPrincipalPolicy": {
 46584       "http": {
 46585         "method": "PUT",
 46586         "requestUri": "/principal-policies/{policyName}"
 46587       },
 46588       "input": {
 46589         "type": "structure",
 46590         "required": [
 46591           "policyName",
 46592           "principal"
 46593         ],
 46594         "members": {
 46595           "policyName": {
 46596             "location": "uri",
 46597             "locationName": "policyName"
 46598           },
 46599           "principal": {
 46600             "location": "header",
 46601             "locationName": "x-amzn-iot-principal"
 46602           }
 46603         }
 46604       }
 46605     },
 46606     "AttachThingPrincipal": {
 46607       "http": {
 46608         "method": "PUT",
 46609         "requestUri": "/things/{thingName}/principals"
 46610       },
 46611       "input": {
 46612         "type": "structure",
 46613         "required": [
 46614           "thingName",
 46615           "principal"
 46616         ],
 46617         "members": {
 46618           "thingName": {
 46619             "location": "uri",
 46620             "locationName": "thingName"
 46621           },
 46622           "principal": {
 46623             "location": "header",
 46624             "locationName": "x-amzn-principal"
 46625           }
 46626         }
 46627       },
 46628       "output": {
 46629         "type": "structure",
 46630         "members": {}
 46631       }
 46632     },
 46633     "CancelCertificateTransfer": {
 46634       "http": {
 46635         "method": "PATCH",
 46636         "requestUri": "/cancel-certificate-transfer/{certificateId}"
 46637       },
 46638       "input": {
 46639         "type": "structure",
 46640         "required": [
 46641           "certificateId"
 46642         ],
 46643         "members": {
 46644           "certificateId": {
 46645             "location": "uri",
 46646             "locationName": "certificateId"
 46647           }
 46648         }
 46649       }
 46650     },
 46651     "CreateCertificateFromCsr": {
 46652       "http": {
 46653         "requestUri": "/certificates"
 46654       },
 46655       "input": {
 46656         "type": "structure",
 46657         "required": [
 46658           "certificateSigningRequest"
 46659         ],
 46660         "members": {
 46661           "certificateSigningRequest": {},
 46662           "setAsActive": {
 46663             "location": "querystring",
 46664             "locationName": "setAsActive",
 46665             "type": "boolean"
 46666           }
 46667         }
 46668       },
 46669       "output": {
 46670         "type": "structure",
 46671         "members": {
 46672           "certificateArn": {},
 46673           "certificateId": {},
 46674           "certificatePem": {}
 46675         }
 46676       }
 46677     },
 46678     "CreateKeysAndCertificate": {
 46679       "http": {
 46680         "requestUri": "/keys-and-certificate"
 46681       },
 46682       "input": {
 46683         "type": "structure",
 46684         "members": {
 46685           "setAsActive": {
 46686             "location": "querystring",
 46687             "locationName": "setAsActive",
 46688             "type": "boolean"
 46689           }
 46690         }
 46691       },
 46692       "output": {
 46693         "type": "structure",
 46694         "members": {
 46695           "certificateArn": {},
 46696           "certificateId": {},
 46697           "certificatePem": {},
 46698           "keyPair": {
 46699             "type": "structure",
 46700             "members": {
 46701               "PublicKey": {},
 46702               "PrivateKey": {
 46703                 "type": "string",
 46704                 "sensitive": true
 46705               }
 46706             }
 46707           }
 46708         }
 46709       }
 46710     },
 46711     "CreatePolicy": {
 46712       "http": {
 46713         "requestUri": "/policies/{policyName}"
 46714       },
 46715       "input": {
 46716         "type": "structure",
 46717         "required": [
 46718           "policyName",
 46719           "policyDocument"
 46720         ],
 46721         "members": {
 46722           "policyName": {
 46723             "location": "uri",
 46724             "locationName": "policyName"
 46725           },
 46726           "policyDocument": {}
 46727         }
 46728       },
 46729       "output": {
 46730         "type": "structure",
 46731         "members": {
 46732           "policyName": {},
 46733           "policyArn": {},
 46734           "policyDocument": {},
 46735           "policyVersionId": {}
 46736         }
 46737       }
 46738     },
 46739     "CreatePolicyVersion": {
 46740       "http": {
 46741         "requestUri": "/policies/{policyName}/version"
 46742       },
 46743       "input": {
 46744         "type": "structure",
 46745         "required": [
 46746           "policyName",
 46747           "policyDocument"
 46748         ],
 46749         "members": {
 46750           "policyName": {
 46751             "location": "uri",
 46752             "locationName": "policyName"
 46753           },
 46754           "policyDocument": {},
 46755           "setAsDefault": {
 46756             "location": "querystring",
 46757             "locationName": "setAsDefault",
 46758             "type": "boolean"
 46759           }
 46760         }
 46761       },
 46762       "output": {
 46763         "type": "structure",
 46764         "members": {
 46765           "policyArn": {},
 46766           "policyDocument": {},
 46767           "policyVersionId": {},
 46768           "isDefaultVersion": {
 46769             "type": "boolean"
 46770           }
 46771         }
 46772       }
 46773     },
 46774     "CreateThing": {
 46775       "http": {
 46776         "requestUri": "/things/{thingName}"
 46777       },
 46778       "input": {
 46779         "type": "structure",
 46780         "required": [
 46781           "thingName"
 46782         ],
 46783         "members": {
 46784           "thingName": {
 46785             "location": "uri",
 46786             "locationName": "thingName"
 46787           },
 46788           "thingTypeName": {},
 46789           "attributePayload": {
 46790             "shape": "Sw"
 46791           }
 46792         }
 46793       },
 46794       "output": {
 46795         "type": "structure",
 46796         "members": {
 46797           "thingName": {},
 46798           "thingArn": {}
 46799         }
 46800       }
 46801     },
 46802     "CreateThingType": {
 46803       "http": {
 46804         "requestUri": "/thing-types/{thingTypeName}"
 46805       },
 46806       "input": {
 46807         "type": "structure",
 46808         "required": [
 46809           "thingTypeName"
 46810         ],
 46811         "members": {
 46812           "thingTypeName": {
 46813             "location": "uri",
 46814             "locationName": "thingTypeName"
 46815           },
 46816           "thingTypeProperties": {
 46817             "shape": "S14"
 46818           }
 46819         }
 46820       },
 46821       "output": {
 46822         "type": "structure",
 46823         "members": {
 46824           "thingTypeName": {},
 46825           "thingTypeArn": {}
 46826         }
 46827       }
 46828     },
 46829     "CreateTopicRule": {
 46830       "http": {
 46831         "requestUri": "/rules/{ruleName}"
 46832       },
 46833       "input": {
 46834         "type": "structure",
 46835         "required": [
 46836           "ruleName",
 46837           "topicRulePayload"
 46838         ],
 46839         "members": {
 46840           "ruleName": {
 46841             "location": "uri",
 46842             "locationName": "ruleName"
 46843           },
 46844           "topicRulePayload": {
 46845             "shape": "S1b"
 46846           }
 46847         },
 46848         "payload": "topicRulePayload"
 46849       }
 46850     },
 46851     "DeleteCACertificate": {
 46852       "http": {
 46853         "method": "DELETE",
 46854         "requestUri": "/cacertificate/{caCertificateId}"
 46855       },
 46856       "input": {
 46857         "type": "structure",
 46858         "required": [
 46859           "certificateId"
 46860         ],
 46861         "members": {
 46862           "certificateId": {
 46863             "location": "uri",
 46864             "locationName": "caCertificateId"
 46865           }
 46866         }
 46867       },
 46868       "output": {
 46869         "type": "structure",
 46870         "members": {}
 46871       }
 46872     },
 46873     "DeleteCertificate": {
 46874       "http": {
 46875         "method": "DELETE",
 46876         "requestUri": "/certificates/{certificateId}"
 46877       },
 46878       "input": {
 46879         "type": "structure",
 46880         "required": [
 46881           "certificateId"
 46882         ],
 46883         "members": {
 46884           "certificateId": {
 46885             "location": "uri",
 46886             "locationName": "certificateId"
 46887           }
 46888         }
 46889       }
 46890     },
 46891     "DeletePolicy": {
 46892       "http": {
 46893         "method": "DELETE",
 46894         "requestUri": "/policies/{policyName}"
 46895       },
 46896       "input": {
 46897         "type": "structure",
 46898         "required": [
 46899           "policyName"
 46900         ],
 46901         "members": {
 46902           "policyName": {
 46903             "location": "uri",
 46904             "locationName": "policyName"
 46905           }
 46906         }
 46907       }
 46908     },
 46909     "DeletePolicyVersion": {
 46910       "http": {
 46911         "method": "DELETE",
 46912         "requestUri": "/policies/{policyName}/version/{policyVersionId}"
 46913       },
 46914       "input": {
 46915         "type": "structure",
 46916         "required": [
 46917           "policyName",
 46918           "policyVersionId"
 46919         ],
 46920         "members": {
 46921           "policyName": {
 46922             "location": "uri",
 46923             "locationName": "policyName"
 46924           },
 46925           "policyVersionId": {
 46926             "location": "uri",
 46927             "locationName": "policyVersionId"
 46928           }
 46929         }
 46930       }
 46931     },
 46932     "DeleteRegistrationCode": {
 46933       "http": {
 46934         "method": "DELETE",
 46935         "requestUri": "/registrationcode"
 46936       },
 46937       "input": {
 46938         "type": "structure",
 46939         "members": {}
 46940       },
 46941       "output": {
 46942         "type": "structure",
 46943         "members": {}
 46944       }
 46945     },
 46946     "DeleteThing": {
 46947       "http": {
 46948         "method": "DELETE",
 46949         "requestUri": "/things/{thingName}"
 46950       },
 46951       "input": {
 46952         "type": "structure",
 46953         "required": [
 46954           "thingName"
 46955         ],
 46956         "members": {
 46957           "thingName": {
 46958             "location": "uri",
 46959             "locationName": "thingName"
 46960           },
 46961           "expectedVersion": {
 46962             "location": "querystring",
 46963             "locationName": "expectedVersion",
 46964             "type": "long"
 46965           }
 46966         }
 46967       },
 46968       "output": {
 46969         "type": "structure",
 46970         "members": {}
 46971       }
 46972     },
 46973     "DeleteThingType": {
 46974       "http": {
 46975         "method": "DELETE",
 46976         "requestUri": "/thing-types/{thingTypeName}"
 46977       },
 46978       "input": {
 46979         "type": "structure",
 46980         "required": [
 46981           "thingTypeName"
 46982         ],
 46983         "members": {
 46984           "thingTypeName": {
 46985             "location": "uri",
 46986             "locationName": "thingTypeName"
 46987           }
 46988         }
 46989       },
 46990       "output": {
 46991         "type": "structure",
 46992         "members": {}
 46993       }
 46994     },
 46995     "DeleteTopicRule": {
 46996       "http": {
 46997         "method": "DELETE",
 46998         "requestUri": "/rules/{ruleName}"
 46999       },
 47000       "input": {
 47001         "type": "structure",
 47002         "members": {
 47003           "ruleName": {
 47004             "location": "uri",
 47005             "locationName": "ruleName"
 47006           }
 47007         },
 47008         "required": [
 47009           "ruleName"
 47010         ]
 47011       }
 47012     },
 47013     "DeprecateThingType": {
 47014       "http": {
 47015         "requestUri": "/thing-types/{thingTypeName}/deprecate"
 47016       },
 47017       "input": {
 47018         "type": "structure",
 47019         "required": [
 47020           "thingTypeName"
 47021         ],
 47022         "members": {
 47023           "thingTypeName": {
 47024             "location": "uri",
 47025             "locationName": "thingTypeName"
 47026           },
 47027           "undoDeprecate": {
 47028             "type": "boolean"
 47029           }
 47030         }
 47031       },
 47032       "output": {
 47033         "type": "structure",
 47034         "members": {}
 47035       }
 47036     },
 47037     "DescribeCACertificate": {
 47038       "http": {
 47039         "method": "GET",
 47040         "requestUri": "/cacertificate/{caCertificateId}"
 47041       },
 47042       "input": {
 47043         "type": "structure",
 47044         "required": [
 47045           "certificateId"
 47046         ],
 47047         "members": {
 47048           "certificateId": {
 47049             "location": "uri",
 47050             "locationName": "caCertificateId"
 47051           }
 47052         }
 47053       },
 47054       "output": {
 47055         "type": "structure",
 47056         "members": {
 47057           "certificateDescription": {
 47058             "type": "structure",
 47059             "members": {
 47060               "certificateArn": {},
 47061               "certificateId": {},
 47062               "status": {},
 47063               "certificatePem": {},
 47064               "ownedBy": {},
 47065               "creationDate": {
 47066                 "type": "timestamp"
 47067               },
 47068               "autoRegistrationStatus": {}
 47069             }
 47070           }
 47071         }
 47072       }
 47073     },
 47074     "DescribeCertificate": {
 47075       "http": {
 47076         "method": "GET",
 47077         "requestUri": "/certificates/{certificateId}"
 47078       },
 47079       "input": {
 47080         "type": "structure",
 47081         "required": [
 47082           "certificateId"
 47083         ],
 47084         "members": {
 47085           "certificateId": {
 47086             "location": "uri",
 47087             "locationName": "certificateId"
 47088           }
 47089         }
 47090       },
 47091       "output": {
 47092         "type": "structure",
 47093         "members": {
 47094           "certificateDescription": {
 47095             "type": "structure",
 47096             "members": {
 47097               "certificateArn": {},
 47098               "certificateId": {},
 47099               "caCertificateId": {},
 47100               "status": {},
 47101               "certificatePem": {},
 47102               "ownedBy": {},
 47103               "previousOwnedBy": {},
 47104               "creationDate": {
 47105                 "type": "timestamp"
 47106               },
 47107               "lastModifiedDate": {
 47108                 "type": "timestamp"
 47109               },
 47110               "transferData": {
 47111                 "type": "structure",
 47112                 "members": {
 47113                   "transferMessage": {},
 47114                   "rejectReason": {},
 47115                   "transferDate": {
 47116                     "type": "timestamp"
 47117                   },
 47118                   "acceptDate": {
 47119                     "type": "timestamp"
 47120                   },
 47121                   "rejectDate": {
 47122                     "type": "timestamp"
 47123                   }
 47124                 }
 47125               }
 47126             }
 47127           }
 47128         }
 47129       }
 47130     },
 47131     "DescribeEndpoint": {
 47132       "http": {
 47133         "method": "GET",
 47134         "requestUri": "/endpoint"
 47135       },
 47136       "input": {
 47137         "type": "structure",
 47138         "members": {}
 47139       },
 47140       "output": {
 47141         "type": "structure",
 47142         "members": {
 47143           "endpointAddress": {}
 47144         }
 47145       }
 47146     },
 47147     "DescribeThing": {
 47148       "http": {
 47149         "method": "GET",
 47150         "requestUri": "/things/{thingName}"
 47151       },
 47152       "input": {
 47153         "type": "structure",
 47154         "required": [
 47155           "thingName"
 47156         ],
 47157         "members": {
 47158           "thingName": {
 47159             "location": "uri",
 47160             "locationName": "thingName"
 47161           }
 47162         }
 47163       },
 47164       "output": {
 47165         "type": "structure",
 47166         "members": {
 47167           "defaultClientId": {},
 47168           "thingName": {},
 47169           "thingTypeName": {},
 47170           "attributes": {
 47171             "shape": "Sx"
 47172           },
 47173           "version": {
 47174             "type": "long"
 47175           }
 47176         }
 47177       }
 47178     },
 47179     "DescribeThingType": {
 47180       "http": {
 47181         "method": "GET",
 47182         "requestUri": "/thing-types/{thingTypeName}"
 47183       },
 47184       "input": {
 47185         "type": "structure",
 47186         "required": [
 47187           "thingTypeName"
 47188         ],
 47189         "members": {
 47190           "thingTypeName": {
 47191             "location": "uri",
 47192             "locationName": "thingTypeName"
 47193           }
 47194         }
 47195       },
 47196       "output": {
 47197         "type": "structure",
 47198         "members": {
 47199           "thingTypeName": {},
 47200           "thingTypeProperties": {
 47201             "shape": "S14"
 47202           },
 47203           "thingTypeMetadata": {
 47204             "shape": "S3u"
 47205           }
 47206         }
 47207       }
 47208     },
 47209     "DetachPrincipalPolicy": {
 47210       "http": {
 47211         "method": "DELETE",
 47212         "requestUri": "/principal-policies/{policyName}"
 47213       },
 47214       "input": {
 47215         "type": "structure",
 47216         "required": [
 47217           "policyName",
 47218           "principal"
 47219         ],
 47220         "members": {
 47221           "policyName": {
 47222             "location": "uri",
 47223             "locationName": "policyName"
 47224           },
 47225           "principal": {
 47226             "location": "header",
 47227             "locationName": "x-amzn-iot-principal"
 47228           }
 47229         }
 47230       }
 47231     },
 47232     "DetachThingPrincipal": {
 47233       "http": {
 47234         "method": "DELETE",
 47235         "requestUri": "/things/{thingName}/principals"
 47236       },
 47237       "input": {
 47238         "type": "structure",
 47239         "required": [
 47240           "thingName",
 47241           "principal"
 47242         ],
 47243         "members": {
 47244           "thingName": {
 47245             "location": "uri",
 47246             "locationName": "thingName"
 47247           },
 47248           "principal": {
 47249             "location": "header",
 47250             "locationName": "x-amzn-principal"
 47251           }
 47252         }
 47253       },
 47254       "output": {
 47255         "type": "structure",
 47256         "members": {}
 47257       }
 47258     },
 47259     "DisableTopicRule": {
 47260       "http": {
 47261         "requestUri": "/rules/{ruleName}/disable"
 47262       },
 47263       "input": {
 47264         "type": "structure",
 47265         "required": [
 47266           "ruleName"
 47267         ],
 47268         "members": {
 47269           "ruleName": {
 47270             "location": "uri",
 47271             "locationName": "ruleName"
 47272           }
 47273         }
 47274       }
 47275     },
 47276     "EnableTopicRule": {
 47277       "http": {
 47278         "requestUri": "/rules/{ruleName}/enable"
 47279       },
 47280       "input": {
 47281         "type": "structure",
 47282         "required": [
 47283           "ruleName"
 47284         ],
 47285         "members": {
 47286           "ruleName": {
 47287             "location": "uri",
 47288             "locationName": "ruleName"
 47289           }
 47290         }
 47291       }
 47292     },
 47293     "GetLoggingOptions": {
 47294       "http": {
 47295         "method": "GET",
 47296         "requestUri": "/loggingOptions"
 47297       },
 47298       "input": {
 47299         "type": "structure",
 47300         "members": {}
 47301       },
 47302       "output": {
 47303         "type": "structure",
 47304         "members": {
 47305           "roleArn": {},
 47306           "logLevel": {}
 47307         }
 47308       }
 47309     },
 47310     "GetPolicy": {
 47311       "http": {
 47312         "method": "GET",
 47313         "requestUri": "/policies/{policyName}"
 47314       },
 47315       "input": {
 47316         "type": "structure",
 47317         "required": [
 47318           "policyName"
 47319         ],
 47320         "members": {
 47321           "policyName": {
 47322             "location": "uri",
 47323             "locationName": "policyName"
 47324           }
 47325         }
 47326       },
 47327       "output": {
 47328         "type": "structure",
 47329         "members": {
 47330           "policyName": {},
 47331           "policyArn": {},
 47332           "policyDocument": {},
 47333           "defaultVersionId": {}
 47334         }
 47335       }
 47336     },
 47337     "GetPolicyVersion": {
 47338       "http": {
 47339         "method": "GET",
 47340         "requestUri": "/policies/{policyName}/version/{policyVersionId}"
 47341       },
 47342       "input": {
 47343         "type": "structure",
 47344         "required": [
 47345           "policyName",
 47346           "policyVersionId"
 47347         ],
 47348         "members": {
 47349           "policyName": {
 47350             "location": "uri",
 47351             "locationName": "policyName"
 47352           },
 47353           "policyVersionId": {
 47354             "location": "uri",
 47355             "locationName": "policyVersionId"
 47356           }
 47357         }
 47358       },
 47359       "output": {
 47360         "type": "structure",
 47361         "members": {
 47362           "policyArn": {},
 47363           "policyName": {},
 47364           "policyDocument": {},
 47365           "policyVersionId": {},
 47366           "isDefaultVersion": {
 47367             "type": "boolean"
 47368           }
 47369         }
 47370       }
 47371     },
 47372     "GetRegistrationCode": {
 47373       "http": {
 47374         "method": "GET",
 47375         "requestUri": "/registrationcode"
 47376       },
 47377       "input": {
 47378         "type": "structure",
 47379         "members": {}
 47380       },
 47381       "output": {
 47382         "type": "structure",
 47383         "members": {
 47384           "registrationCode": {}
 47385         }
 47386       }
 47387     },
 47388     "GetTopicRule": {
 47389       "http": {
 47390         "method": "GET",
 47391         "requestUri": "/rules/{ruleName}"
 47392       },
 47393       "input": {
 47394         "type": "structure",
 47395         "required": [
 47396           "ruleName"
 47397         ],
 47398         "members": {
 47399           "ruleName": {
 47400             "location": "uri",
 47401             "locationName": "ruleName"
 47402           }
 47403         }
 47404       },
 47405       "output": {
 47406         "type": "structure",
 47407         "members": {
 47408           "ruleArn": {},
 47409           "rule": {
 47410             "type": "structure",
 47411             "members": {
 47412               "ruleName": {},
 47413               "sql": {},
 47414               "description": {},
 47415               "createdAt": {
 47416                 "type": "timestamp"
 47417               },
 47418               "actions": {
 47419                 "shape": "S1e"
 47420               },
 47421               "ruleDisabled": {
 47422                 "type": "boolean"
 47423               },
 47424               "awsIotSqlVersion": {}
 47425             }
 47426           }
 47427         }
 47428       }
 47429     },
 47430     "ListCACertificates": {
 47431       "http": {
 47432         "method": "GET",
 47433         "requestUri": "/cacertificates"
 47434       },
 47435       "input": {
 47436         "type": "structure",
 47437         "members": {
 47438           "pageSize": {
 47439             "location": "querystring",
 47440             "locationName": "pageSize",
 47441             "type": "integer"
 47442           },
 47443           "marker": {
 47444             "location": "querystring",
 47445             "locationName": "marker"
 47446           },
 47447           "ascendingOrder": {
 47448             "location": "querystring",
 47449             "locationName": "isAscendingOrder",
 47450             "type": "boolean"
 47451           }
 47452         }
 47453       },
 47454       "output": {
 47455         "type": "structure",
 47456         "members": {
 47457           "certificates": {
 47458             "type": "list",
 47459             "member": {
 47460               "type": "structure",
 47461               "members": {
 47462                 "certificateArn": {},
 47463                 "certificateId": {},
 47464                 "status": {},
 47465                 "creationDate": {
 47466                   "type": "timestamp"
 47467                 }
 47468               }
 47469             }
 47470           },
 47471           "nextMarker": {}
 47472         }
 47473       }
 47474     },
 47475     "ListCertificates": {
 47476       "http": {
 47477         "method": "GET",
 47478         "requestUri": "/certificates"
 47479       },
 47480       "input": {
 47481         "type": "structure",
 47482         "members": {
 47483           "pageSize": {
 47484             "location": "querystring",
 47485             "locationName": "pageSize",
 47486             "type": "integer"
 47487           },
 47488           "marker": {
 47489             "location": "querystring",
 47490             "locationName": "marker"
 47491           },
 47492           "ascendingOrder": {
 47493             "location": "querystring",
 47494             "locationName": "isAscendingOrder",
 47495             "type": "boolean"
 47496           }
 47497         }
 47498       },
 47499       "output": {
 47500         "type": "structure",
 47501         "members": {
 47502           "certificates": {
 47503             "shape": "S4r"
 47504           },
 47505           "nextMarker": {}
 47506         }
 47507       }
 47508     },
 47509     "ListCertificatesByCA": {
 47510       "http": {
 47511         "method": "GET",
 47512         "requestUri": "/certificates-by-ca/{caCertificateId}"
 47513       },
 47514       "input": {
 47515         "type": "structure",
 47516         "required": [
 47517           "caCertificateId"
 47518         ],
 47519         "members": {
 47520           "caCertificateId": {
 47521             "location": "uri",
 47522             "locationName": "caCertificateId"
 47523           },
 47524           "pageSize": {
 47525             "location": "querystring",
 47526             "locationName": "pageSize",
 47527             "type": "integer"
 47528           },
 47529           "marker": {
 47530             "location": "querystring",
 47531             "locationName": "marker"
 47532           },
 47533           "ascendingOrder": {
 47534             "location": "querystring",
 47535             "locationName": "isAscendingOrder",
 47536             "type": "boolean"
 47537           }
 47538         }
 47539       },
 47540       "output": {
 47541         "type": "structure",
 47542         "members": {
 47543           "certificates": {
 47544             "shape": "S4r"
 47545           },
 47546           "nextMarker": {}
 47547         }
 47548       }
 47549     },
 47550     "ListOutgoingCertificates": {
 47551       "http": {
 47552         "method": "GET",
 47553         "requestUri": "/certificates-out-going"
 47554       },
 47555       "input": {
 47556         "type": "structure",
 47557         "members": {
 47558           "pageSize": {
 47559             "location": "querystring",
 47560             "locationName": "pageSize",
 47561             "type": "integer"
 47562           },
 47563           "marker": {
 47564             "location": "querystring",
 47565             "locationName": "marker"
 47566           },
 47567           "ascendingOrder": {
 47568             "location": "querystring",
 47569             "locationName": "isAscendingOrder",
 47570             "type": "boolean"
 47571           }
 47572         }
 47573       },
 47574       "output": {
 47575         "type": "structure",
 47576         "members": {
 47577           "outgoingCertificates": {
 47578             "type": "list",
 47579             "member": {
 47580               "type": "structure",
 47581               "members": {
 47582                 "certificateArn": {},
 47583                 "certificateId": {},
 47584                 "transferredTo": {},
 47585                 "transferDate": {
 47586                   "type": "timestamp"
 47587                 },
 47588                 "transferMessage": {},
 47589                 "creationDate": {
 47590                   "type": "timestamp"
 47591                 }
 47592               }
 47593             }
 47594           },
 47595           "nextMarker": {}
 47596         }
 47597       }
 47598     },
 47599     "ListPolicies": {
 47600       "http": {
 47601         "method": "GET",
 47602         "requestUri": "/policies"
 47603       },
 47604       "input": {
 47605         "type": "structure",
 47606         "members": {
 47607           "marker": {
 47608             "location": "querystring",
 47609             "locationName": "marker"
 47610           },
 47611           "pageSize": {
 47612             "location": "querystring",
 47613             "locationName": "pageSize",
 47614             "type": "integer"
 47615           },
 47616           "ascendingOrder": {
 47617             "location": "querystring",
 47618             "locationName": "isAscendingOrder",
 47619             "type": "boolean"
 47620           }
 47621         }
 47622       },
 47623       "output": {
 47624         "type": "structure",
 47625         "members": {
 47626           "policies": {
 47627             "shape": "S51"
 47628           },
 47629           "nextMarker": {}
 47630         }
 47631       }
 47632     },
 47633     "ListPolicyPrincipals": {
 47634       "http": {
 47635         "method": "GET",
 47636         "requestUri": "/policy-principals"
 47637       },
 47638       "input": {
 47639         "type": "structure",
 47640         "required": [
 47641           "policyName"
 47642         ],
 47643         "members": {
 47644           "policyName": {
 47645             "location": "header",
 47646             "locationName": "x-amzn-iot-policy"
 47647           },
 47648           "marker": {
 47649             "location": "querystring",
 47650             "locationName": "marker"
 47651           },
 47652           "pageSize": {
 47653             "location": "querystring",
 47654             "locationName": "pageSize",
 47655             "type": "integer"
 47656           },
 47657           "ascendingOrder": {
 47658             "location": "querystring",
 47659             "locationName": "isAscendingOrder",
 47660             "type": "boolean"
 47661           }
 47662         }
 47663       },
 47664       "output": {
 47665         "type": "structure",
 47666         "members": {
 47667           "principals": {
 47668             "shape": "S55"
 47669           },
 47670           "nextMarker": {}
 47671         }
 47672       }
 47673     },
 47674     "ListPolicyVersions": {
 47675       "http": {
 47676         "method": "GET",
 47677         "requestUri": "/policies/{policyName}/version"
 47678       },
 47679       "input": {
 47680         "type": "structure",
 47681         "required": [
 47682           "policyName"
 47683         ],
 47684         "members": {
 47685           "policyName": {
 47686             "location": "uri",
 47687             "locationName": "policyName"
 47688           }
 47689         }
 47690       },
 47691       "output": {
 47692         "type": "structure",
 47693         "members": {
 47694           "policyVersions": {
 47695             "type": "list",
 47696             "member": {
 47697               "type": "structure",
 47698               "members": {
 47699                 "versionId": {},
 47700                 "isDefaultVersion": {
 47701                   "type": "boolean"
 47702                 },
 47703                 "createDate": {
 47704                   "type": "timestamp"
 47705                 }
 47706               }
 47707             }
 47708           }
 47709         }
 47710       }
 47711     },
 47712     "ListPrincipalPolicies": {
 47713       "http": {
 47714         "method": "GET",
 47715         "requestUri": "/principal-policies"
 47716       },
 47717       "input": {
 47718         "type": "structure",
 47719         "required": [
 47720           "principal"
 47721         ],
 47722         "members": {
 47723           "principal": {
 47724             "location": "header",
 47725             "locationName": "x-amzn-iot-principal"
 47726           },
 47727           "marker": {
 47728             "location": "querystring",
 47729             "locationName": "marker"
 47730           },
 47731           "pageSize": {
 47732             "location": "querystring",
 47733             "locationName": "pageSize",
 47734             "type": "integer"
 47735           },
 47736           "ascendingOrder": {
 47737             "location": "querystring",
 47738             "locationName": "isAscendingOrder",
 47739             "type": "boolean"
 47740           }
 47741         }
 47742       },
 47743       "output": {
 47744         "type": "structure",
 47745         "members": {
 47746           "policies": {
 47747             "shape": "S51"
 47748           },
 47749           "nextMarker": {}
 47750         }
 47751       }
 47752     },
 47753     "ListPrincipalThings": {
 47754       "http": {
 47755         "method": "GET",
 47756         "requestUri": "/principals/things"
 47757       },
 47758       "input": {
 47759         "type": "structure",
 47760         "required": [
 47761           "principal"
 47762         ],
 47763         "members": {
 47764           "nextToken": {
 47765             "location": "querystring",
 47766             "locationName": "nextToken"
 47767           },
 47768           "maxResults": {
 47769             "location": "querystring",
 47770             "locationName": "maxResults",
 47771             "type": "integer"
 47772           },
 47773           "principal": {
 47774             "location": "header",
 47775             "locationName": "x-amzn-principal"
 47776           }
 47777         }
 47778       },
 47779       "output": {
 47780         "type": "structure",
 47781         "members": {
 47782           "things": {
 47783             "type": "list",
 47784             "member": {}
 47785           },
 47786           "nextToken": {}
 47787         }
 47788       }
 47789     },
 47790     "ListThingPrincipals": {
 47791       "http": {
 47792         "method": "GET",
 47793         "requestUri": "/things/{thingName}/principals"
 47794       },
 47795       "input": {
 47796         "type": "structure",
 47797         "required": [
 47798           "thingName"
 47799         ],
 47800         "members": {
 47801           "thingName": {
 47802             "location": "uri",
 47803             "locationName": "thingName"
 47804           }
 47805         }
 47806       },
 47807       "output": {
 47808         "type": "structure",
 47809         "members": {
 47810           "principals": {
 47811             "shape": "S55"
 47812           }
 47813         }
 47814       }
 47815     },
 47816     "ListThingTypes": {
 47817       "http": {
 47818         "method": "GET",
 47819         "requestUri": "/thing-types"
 47820       },
 47821       "input": {
 47822         "type": "structure",
 47823         "members": {
 47824           "nextToken": {
 47825             "location": "querystring",
 47826             "locationName": "nextToken"
 47827           },
 47828           "maxResults": {
 47829             "location": "querystring",
 47830             "locationName": "maxResults",
 47831             "type": "integer"
 47832           },
 47833           "thingTypeName": {
 47834             "location": "querystring",
 47835             "locationName": "thingTypeName"
 47836           }
 47837         }
 47838       },
 47839       "output": {
 47840         "type": "structure",
 47841         "members": {
 47842           "thingTypes": {
 47843             "type": "list",
 47844             "member": {
 47845               "type": "structure",
 47846               "members": {
 47847                 "thingTypeName": {},
 47848                 "thingTypeProperties": {
 47849                   "shape": "S14"
 47850                 },
 47851                 "thingTypeMetadata": {
 47852                   "shape": "S3u"
 47853                 }
 47854               }
 47855             }
 47856           },
 47857           "nextToken": {}
 47858         }
 47859       }
 47860     },
 47861     "ListThings": {
 47862       "http": {
 47863         "method": "GET",
 47864         "requestUri": "/things"
 47865       },
 47866       "input": {
 47867         "type": "structure",
 47868         "members": {
 47869           "nextToken": {
 47870             "location": "querystring",
 47871             "locationName": "nextToken"
 47872           },
 47873           "maxResults": {
 47874             "location": "querystring",
 47875             "locationName": "maxResults",
 47876             "type": "integer"
 47877           },
 47878           "attributeName": {
 47879             "location": "querystring",
 47880             "locationName": "attributeName"
 47881           },
 47882           "attributeValue": {
 47883             "location": "querystring",
 47884             "locationName": "attributeValue"
 47885           },
 47886           "thingTypeName": {
 47887             "location": "querystring",
 47888             "locationName": "thingTypeName"
 47889           }
 47890         }
 47891       },
 47892       "output": {
 47893         "type": "structure",
 47894         "members": {
 47895           "things": {
 47896             "type": "list",
 47897             "member": {
 47898               "type": "structure",
 47899               "members": {
 47900                 "thingName": {},
 47901                 "thingTypeName": {},
 47902                 "attributes": {
 47903                   "shape": "Sx"
 47904                 },
 47905                 "version": {
 47906                   "type": "long"
 47907                 }
 47908               }
 47909             }
 47910           },
 47911           "nextToken": {}
 47912         }
 47913       }
 47914     },
 47915     "ListTopicRules": {
 47916       "http": {
 47917         "method": "GET",
 47918         "requestUri": "/rules"
 47919       },
 47920       "input": {
 47921         "type": "structure",
 47922         "members": {
 47923           "topic": {
 47924             "location": "querystring",
 47925             "locationName": "topic"
 47926           },
 47927           "maxResults": {
 47928             "location": "querystring",
 47929             "locationName": "maxResults",
 47930             "type": "integer"
 47931           },
 47932           "nextToken": {
 47933             "location": "querystring",
 47934             "locationName": "nextToken"
 47935           },
 47936           "ruleDisabled": {
 47937             "location": "querystring",
 47938             "locationName": "ruleDisabled",
 47939             "type": "boolean"
 47940           }
 47941         }
 47942       },
 47943       "output": {
 47944         "type": "structure",
 47945         "members": {
 47946           "rules": {
 47947             "type": "list",
 47948             "member": {
 47949               "type": "structure",
 47950               "members": {
 47951                 "ruleArn": {},
 47952                 "ruleName": {},
 47953                 "topicPattern": {},
 47954                 "createdAt": {
 47955                   "type": "timestamp"
 47956                 },
 47957                 "ruleDisabled": {
 47958                   "type": "boolean"
 47959                 }
 47960               }
 47961             }
 47962           },
 47963           "nextToken": {}
 47964         }
 47965       }
 47966     },
 47967     "RegisterCACertificate": {
 47968       "http": {
 47969         "requestUri": "/cacertificate"
 47970       },
 47971       "input": {
 47972         "type": "structure",
 47973         "required": [
 47974           "caCertificate",
 47975           "verificationCertificate"
 47976         ],
 47977         "members": {
 47978           "caCertificate": {},
 47979           "verificationCertificate": {},
 47980           "setAsActive": {
 47981             "location": "querystring",
 47982             "locationName": "setAsActive",
 47983             "type": "boolean"
 47984           },
 47985           "allowAutoRegistration": {
 47986             "location": "querystring",
 47987             "locationName": "allowAutoRegistration",
 47988             "type": "boolean"
 47989           }
 47990         }
 47991       },
 47992       "output": {
 47993         "type": "structure",
 47994         "members": {
 47995           "certificateArn": {},
 47996           "certificateId": {}
 47997         }
 47998       }
 47999     },
 48000     "RegisterCertificate": {
 48001       "http": {
 48002         "requestUri": "/certificate/register"
 48003       },
 48004       "input": {
 48005         "type": "structure",
 48006         "required": [
 48007           "certificatePem"
 48008         ],
 48009         "members": {
 48010           "certificatePem": {},
 48011           "caCertificatePem": {},
 48012           "setAsActive": {
 48013             "deprecated": true,
 48014             "location": "querystring",
 48015             "locationName": "setAsActive",
 48016             "type": "boolean"
 48017           },
 48018           "status": {}
 48019         }
 48020       },
 48021       "output": {
 48022         "type": "structure",
 48023         "members": {
 48024           "certificateArn": {},
 48025           "certificateId": {}
 48026         }
 48027       }
 48028     },
 48029     "RejectCertificateTransfer": {
 48030       "http": {
 48031         "method": "PATCH",
 48032         "requestUri": "/reject-certificate-transfer/{certificateId}"
 48033       },
 48034       "input": {
 48035         "type": "structure",
 48036         "required": [
 48037           "certificateId"
 48038         ],
 48039         "members": {
 48040           "certificateId": {
 48041             "location": "uri",
 48042             "locationName": "certificateId"
 48043           },
 48044           "rejectReason": {}
 48045         }
 48046       }
 48047     },
 48048     "ReplaceTopicRule": {
 48049       "http": {
 48050         "method": "PATCH",
 48051         "requestUri": "/rules/{ruleName}"
 48052       },
 48053       "input": {
 48054         "type": "structure",
 48055         "required": [
 48056           "ruleName",
 48057           "topicRulePayload"
 48058         ],
 48059         "members": {
 48060           "ruleName": {
 48061             "location": "uri",
 48062             "locationName": "ruleName"
 48063           },
 48064           "topicRulePayload": {
 48065             "shape": "S1b"
 48066           }
 48067         },
 48068         "payload": "topicRulePayload"
 48069       }
 48070     },
 48071     "SetDefaultPolicyVersion": {
 48072       "http": {
 48073         "method": "PATCH",
 48074         "requestUri": "/policies/{policyName}/version/{policyVersionId}"
 48075       },
 48076       "input": {
 48077         "type": "structure",
 48078         "required": [
 48079           "policyName",
 48080           "policyVersionId"
 48081         ],
 48082         "members": {
 48083           "policyName": {
 48084             "location": "uri",
 48085             "locationName": "policyName"
 48086           },
 48087           "policyVersionId": {
 48088             "location": "uri",
 48089             "locationName": "policyVersionId"
 48090           }
 48091         }
 48092       }
 48093     },
 48094     "SetLoggingOptions": {
 48095       "http": {
 48096         "requestUri": "/loggingOptions"
 48097       },
 48098       "input": {
 48099         "type": "structure",
 48100         "required": [
 48101           "loggingOptionsPayload"
 48102         ],
 48103         "members": {
 48104           "loggingOptionsPayload": {
 48105             "type": "structure",
 48106             "required": [
 48107               "roleArn"
 48108             ],
 48109             "members": {
 48110               "roleArn": {},
 48111               "logLevel": {}
 48112             }
 48113           }
 48114         },
 48115         "payload": "loggingOptionsPayload"
 48116       }
 48117     },
 48118     "TransferCertificate": {
 48119       "http": {
 48120         "method": "PATCH",
 48121         "requestUri": "/transfer-certificate/{certificateId}"
 48122       },
 48123       "input": {
 48124         "type": "structure",
 48125         "required": [
 48126           "certificateId",
 48127           "targetAwsAccount"
 48128         ],
 48129         "members": {
 48130           "certificateId": {
 48131             "location": "uri",
 48132             "locationName": "certificateId"
 48133           },
 48134           "targetAwsAccount": {
 48135             "location": "querystring",
 48136             "locationName": "targetAwsAccount"
 48137           },
 48138           "transferMessage": {}
 48139         }
 48140       },
 48141       "output": {
 48142         "type": "structure",
 48143         "members": {
 48144           "transferredCertificateArn": {}
 48145         }
 48146       }
 48147     },
 48148     "UpdateCACertificate": {
 48149       "http": {
 48150         "method": "PUT",
 48151         "requestUri": "/cacertificate/{caCertificateId}"
 48152       },
 48153       "input": {
 48154         "type": "structure",
 48155         "required": [
 48156           "certificateId"
 48157         ],
 48158         "members": {
 48159           "certificateId": {
 48160             "location": "uri",
 48161             "locationName": "caCertificateId"
 48162           },
 48163           "newStatus": {
 48164             "location": "querystring",
 48165             "locationName": "newStatus"
 48166           },
 48167           "newAutoRegistrationStatus": {
 48168             "location": "querystring",
 48169             "locationName": "newAutoRegistrationStatus"
 48170           }
 48171         }
 48172       }
 48173     },
 48174     "UpdateCertificate": {
 48175       "http": {
 48176         "method": "PUT",
 48177         "requestUri": "/certificates/{certificateId}"
 48178       },
 48179       "input": {
 48180         "type": "structure",
 48181         "required": [
 48182           "certificateId",
 48183           "newStatus"
 48184         ],
 48185         "members": {
 48186           "certificateId": {
 48187             "location": "uri",
 48188             "locationName": "certificateId"
 48189           },
 48190           "newStatus": {
 48191             "location": "querystring",
 48192             "locationName": "newStatus"
 48193           }
 48194         }
 48195       }
 48196     },
 48197     "UpdateThing": {
 48198       "http": {
 48199         "method": "PATCH",
 48200         "requestUri": "/things/{thingName}"
 48201       },
 48202       "input": {
 48203         "type": "structure",
 48204         "required": [
 48205           "thingName"
 48206         ],
 48207         "members": {
 48208           "thingName": {
 48209             "location": "uri",
 48210             "locationName": "thingName"
 48211           },
 48212           "thingTypeName": {},
 48213           "attributePayload": {
 48214             "shape": "Sw"
 48215           },
 48216           "expectedVersion": {
 48217             "type": "long"
 48218           },
 48219           "removeThingType": {
 48220             "type": "boolean"
 48221           }
 48222         }
 48223       },
 48224       "output": {
 48225         "type": "structure",
 48226         "members": {}
 48227       }
 48228     }
 48229   },
 48230   "shapes": {
 48231     "Sw": {
 48232       "type": "structure",
 48233       "members": {
 48234         "attributes": {
 48235           "shape": "Sx"
 48236         },
 48237         "merge": {
 48238           "type": "boolean"
 48239         }
 48240       }
 48241     },
 48242     "Sx": {
 48243       "type": "map",
 48244       "key": {},
 48245       "value": {}
 48246     },
 48247     "S14": {
 48248       "type": "structure",
 48249       "members": {
 48250         "thingTypeDescription": {},
 48251         "searchableAttributes": {
 48252           "type": "list",
 48253           "member": {}
 48254         }
 48255       }
 48256     },
 48257     "S1b": {
 48258       "type": "structure",
 48259       "required": [
 48260         "sql",
 48261         "actions"
 48262       ],
 48263       "members": {
 48264         "sql": {},
 48265         "description": {},
 48266         "actions": {
 48267           "shape": "S1e"
 48268         },
 48269         "ruleDisabled": {
 48270           "type": "boolean"
 48271         },
 48272         "awsIotSqlVersion": {}
 48273       }
 48274     },
 48275     "S1e": {
 48276       "type": "list",
 48277       "member": {
 48278         "type": "structure",
 48279         "members": {
 48280           "dynamoDB": {
 48281             "type": "structure",
 48282             "required": [
 48283               "tableName",
 48284               "roleArn",
 48285               "hashKeyField",
 48286               "hashKeyValue"
 48287             ],
 48288             "members": {
 48289               "tableName": {},
 48290               "roleArn": {},
 48291               "operation": {},
 48292               "hashKeyField": {},
 48293               "hashKeyValue": {},
 48294               "hashKeyType": {},
 48295               "rangeKeyField": {},
 48296               "rangeKeyValue": {},
 48297               "rangeKeyType": {},
 48298               "payloadField": {}
 48299             }
 48300           },
 48301           "dynamoDBv2": {
 48302             "type": "structure",
 48303             "members": {
 48304               "roleArn": {},
 48305               "putItem": {
 48306                 "type": "structure",
 48307                 "required": [
 48308                   "tableName"
 48309                 ],
 48310                 "members": {
 48311                   "tableName": {}
 48312                 }
 48313               }
 48314             }
 48315           },
 48316           "lambda": {
 48317             "type": "structure",
 48318             "required": [
 48319               "functionArn"
 48320             ],
 48321             "members": {
 48322               "functionArn": {}
 48323             }
 48324           },
 48325           "sns": {
 48326             "type": "structure",
 48327             "required": [
 48328               "targetArn",
 48329               "roleArn"
 48330             ],
 48331             "members": {
 48332               "targetArn": {},
 48333               "roleArn": {},
 48334               "messageFormat": {}
 48335             }
 48336           },
 48337           "sqs": {
 48338             "type": "structure",
 48339             "required": [
 48340               "roleArn",
 48341               "queueUrl"
 48342             ],
 48343             "members": {
 48344               "roleArn": {},
 48345               "queueUrl": {},
 48346               "useBase64": {
 48347                 "type": "boolean"
 48348               }
 48349             }
 48350           },
 48351           "kinesis": {
 48352             "type": "structure",
 48353             "required": [
 48354               "roleArn",
 48355               "streamName"
 48356             ],
 48357             "members": {
 48358               "roleArn": {},
 48359               "streamName": {},
 48360               "partitionKey": {}
 48361             }
 48362           },
 48363           "republish": {
 48364             "type": "structure",
 48365             "required": [
 48366               "roleArn",
 48367               "topic"
 48368             ],
 48369             "members": {
 48370               "roleArn": {},
 48371               "topic": {}
 48372             }
 48373           },
 48374           "s3": {
 48375             "type": "structure",
 48376             "required": [
 48377               "roleArn",
 48378               "bucketName",
 48379               "key"
 48380             ],
 48381             "members": {
 48382               "roleArn": {},
 48383               "bucketName": {},
 48384               "key": {},
 48385               "cannedAcl": {}
 48386             }
 48387           },
 48388           "firehose": {
 48389             "type": "structure",
 48390             "required": [
 48391               "roleArn",
 48392               "deliveryStreamName"
 48393             ],
 48394             "members": {
 48395               "roleArn": {},
 48396               "deliveryStreamName": {},
 48397               "separator": {}
 48398             }
 48399           },
 48400           "cloudwatchMetric": {
 48401             "type": "structure",
 48402             "required": [
 48403               "roleArn",
 48404               "metricNamespace",
 48405               "metricName",
 48406               "metricValue",
 48407               "metricUnit"
 48408             ],
 48409             "members": {
 48410               "roleArn": {},
 48411               "metricNamespace": {},
 48412               "metricName": {},
 48413               "metricValue": {},
 48414               "metricUnit": {},
 48415               "metricTimestamp": {}
 48416             }
 48417           },
 48418           "cloudwatchAlarm": {
 48419             "type": "structure",
 48420             "required": [
 48421               "roleArn",
 48422               "alarmName",
 48423               "stateReason",
 48424               "stateValue"
 48425             ],
 48426             "members": {
 48427               "roleArn": {},
 48428               "alarmName": {},
 48429               "stateReason": {},
 48430               "stateValue": {}
 48431             }
 48432           },
 48433           "elasticsearch": {
 48434             "type": "structure",
 48435             "required": [
 48436               "roleArn",
 48437               "endpoint",
 48438               "index",
 48439               "type",
 48440               "id"
 48441             ],
 48442             "members": {
 48443               "roleArn": {},
 48444               "endpoint": {},
 48445               "index": {},
 48446               "type": {},
 48447               "id": {}
 48448             }
 48449           }
 48450         }
 48451       }
 48452     },
 48453     "S3u": {
 48454       "type": "structure",
 48455       "members": {
 48456         "deprecated": {
 48457           "type": "boolean"
 48458         },
 48459         "deprecationDate": {
 48460           "type": "timestamp"
 48461         },
 48462         "creationDate": {
 48463           "type": "timestamp"
 48464         }
 48465       }
 48466     },
 48467     "S4r": {
 48468       "type": "list",
 48469       "member": {
 48470         "type": "structure",
 48471         "members": {
 48472           "certificateArn": {},
 48473           "certificateId": {},
 48474           "status": {},
 48475           "creationDate": {
 48476             "type": "timestamp"
 48477           }
 48478         }
 48479       }
 48480     },
 48481     "S51": {
 48482       "type": "list",
 48483       "member": {
 48484         "type": "structure",
 48485         "members": {
 48486           "policyName": {},
 48487           "policyArn": {}
 48488         }
 48489       }
 48490     },
 48491     "S55": {
 48492       "type": "list",
 48493       "member": {}
 48494     }
 48495   },
 48496   "examples": {}
 48497 }
 48498 },{}],71:[function(require,module,exports){
 48499 module.exports={
 48500   "version": "2.0",
 48501   "metadata": {
 48502     "apiVersion": "2015-05-28",
 48503     "endpointPrefix": "data.iot",
 48504     "protocol": "rest-json",
 48505     "serviceFullName": "AWS IoT Data Plane",
 48506     "signatureVersion": "v4",
 48507     "signingName": "iotdata"
 48508   },
 48509   "operations": {
 48510     "DeleteThingShadow": {
 48511       "http": {
 48512         "method": "DELETE",
 48513         "requestUri": "/things/{thingName}/shadow"
 48514       },
 48515       "input": {
 48516         "type": "structure",
 48517         "required": [
 48518           "thingName"
 48519         ],
 48520         "members": {
 48521           "thingName": {
 48522             "location": "uri",
 48523             "locationName": "thingName"
 48524           }
 48525         }
 48526       },
 48527       "output": {
 48528         "type": "structure",
 48529         "required": [
 48530           "payload"
 48531         ],
 48532         "members": {
 48533           "payload": {
 48534             "type": "blob"
 48535           }
 48536         },
 48537         "payload": "payload"
 48538       }
 48539     },
 48540     "GetThingShadow": {
 48541       "http": {
 48542         "method": "GET",
 48543         "requestUri": "/things/{thingName}/shadow"
 48544       },
 48545       "input": {
 48546         "type": "structure",
 48547         "required": [
 48548           "thingName"
 48549         ],
 48550         "members": {
 48551           "thingName": {
 48552             "location": "uri",
 48553             "locationName": "thingName"
 48554           }
 48555         }
 48556       },
 48557       "output": {
 48558         "type": "structure",
 48559         "members": {
 48560           "payload": {
 48561             "type": "blob"
 48562           }
 48563         },
 48564         "payload": "payload"
 48565       }
 48566     },
 48567     "Publish": {
 48568       "http": {
 48569         "requestUri": "/topics/{topic}"
 48570       },
 48571       "input": {
 48572         "type": "structure",
 48573         "required": [
 48574           "topic"
 48575         ],
 48576         "members": {
 48577           "topic": {
 48578             "location": "uri",
 48579             "locationName": "topic"
 48580           },
 48581           "qos": {
 48582             "location": "querystring",
 48583             "locationName": "qos",
 48584             "type": "integer"
 48585           },
 48586           "payload": {
 48587             "type": "blob"
 48588           }
 48589         },
 48590         "payload": "payload"
 48591       }
 48592     },
 48593     "UpdateThingShadow": {
 48594       "http": {
 48595         "requestUri": "/things/{thingName}/shadow"
 48596       },
 48597       "input": {
 48598         "type": "structure",
 48599         "required": [
 48600           "thingName",
 48601           "payload"
 48602         ],
 48603         "members": {
 48604           "thingName": {
 48605             "location": "uri",
 48606             "locationName": "thingName"
 48607           },
 48608           "payload": {
 48609             "type": "blob"
 48610           }
 48611         },
 48612         "payload": "payload"
 48613       },
 48614       "output": {
 48615         "type": "structure",
 48616         "members": {
 48617           "payload": {
 48618             "type": "blob"
 48619           }
 48620         },
 48621         "payload": "payload"
 48622       }
 48623     }
 48624   },
 48625   "shapes": {}
 48626 }
 48627 },{}],72:[function(require,module,exports){
 48628 module.exports={
 48629   "version": "2.0",
 48630   "metadata": {
 48631     "apiVersion": "2013-12-02",
 48632     "endpointPrefix": "kinesis",
 48633     "jsonVersion": "1.1",
 48634     "protocol": "json",
 48635     "serviceAbbreviation": "Kinesis",
 48636     "serviceFullName": "Amazon Kinesis",
 48637     "signatureVersion": "v4",
 48638     "targetPrefix": "Kinesis_20131202"
 48639   },
 48640   "operations": {
 48641     "AddTagsToStream": {
 48642       "input": {
 48643         "type": "structure",
 48644         "required": [
 48645           "StreamName",
 48646           "Tags"
 48647         ],
 48648         "members": {
 48649           "StreamName": {},
 48650           "Tags": {
 48651             "type": "map",
 48652             "key": {},
 48653             "value": {}
 48654           }
 48655         }
 48656       }
 48657     },
 48658     "CreateStream": {
 48659       "input": {
 48660         "type": "structure",
 48661         "required": [
 48662           "StreamName",
 48663           "ShardCount"
 48664         ],
 48665         "members": {
 48666           "StreamName": {},
 48667           "ShardCount": {
 48668             "type": "integer"
 48669           }
 48670         }
 48671       }
 48672     },
 48673     "DecreaseStreamRetentionPeriod": {
 48674       "input": {
 48675         "type": "structure",
 48676         "required": [
 48677           "StreamName",
 48678           "RetentionPeriodHours"
 48679         ],
 48680         "members": {
 48681           "StreamName": {},
 48682           "RetentionPeriodHours": {
 48683             "type": "integer"
 48684           }
 48685         }
 48686       }
 48687     },
 48688     "DeleteStream": {
 48689       "input": {
 48690         "type": "structure",
 48691         "required": [
 48692           "StreamName"
 48693         ],
 48694         "members": {
 48695           "StreamName": {}
 48696         }
 48697       }
 48698     },
 48699     "DescribeLimits": {
 48700       "input": {
 48701         "type": "structure",
 48702         "members": {}
 48703       },
 48704       "output": {
 48705         "type": "structure",
 48706         "required": [
 48707           "ShardLimit",
 48708           "OpenShardCount"
 48709         ],
 48710         "members": {
 48711           "ShardLimit": {
 48712             "type": "integer"
 48713           },
 48714           "OpenShardCount": {
 48715             "type": "integer"
 48716           }
 48717         }
 48718       }
 48719     },
 48720     "DescribeStream": {
 48721       "input": {
 48722         "type": "structure",
 48723         "required": [
 48724           "StreamName"
 48725         ],
 48726         "members": {
 48727           "StreamName": {},
 48728           "Limit": {
 48729             "type": "integer"
 48730           },
 48731           "ExclusiveStartShardId": {}
 48732         }
 48733       },
 48734       "output": {
 48735         "type": "structure",
 48736         "required": [
 48737           "StreamDescription"
 48738         ],
 48739         "members": {
 48740           "StreamDescription": {
 48741             "type": "structure",
 48742             "required": [
 48743               "StreamName",
 48744               "StreamARN",
 48745               "StreamStatus",
 48746               "Shards",
 48747               "HasMoreShards",
 48748               "RetentionPeriodHours",
 48749               "StreamCreationTimestamp",
 48750               "EnhancedMonitoring"
 48751             ],
 48752             "members": {
 48753               "StreamName": {},
 48754               "StreamARN": {},
 48755               "StreamStatus": {},
 48756               "Shards": {
 48757                 "type": "list",
 48758                 "member": {
 48759                   "type": "structure",
 48760                   "required": [
 48761                     "ShardId",
 48762                     "HashKeyRange",
 48763                     "SequenceNumberRange"
 48764                   ],
 48765                   "members": {
 48766                     "ShardId": {},
 48767                     "ParentShardId": {},
 48768                     "AdjacentParentShardId": {},
 48769                     "HashKeyRange": {
 48770                       "type": "structure",
 48771                       "required": [
 48772                         "StartingHashKey",
 48773                         "EndingHashKey"
 48774                       ],
 48775                       "members": {
 48776                         "StartingHashKey": {},
 48777                         "EndingHashKey": {}
 48778                       }
 48779                     },
 48780                     "SequenceNumberRange": {
 48781                       "type": "structure",
 48782                       "required": [
 48783                         "StartingSequenceNumber"
 48784                       ],
 48785                       "members": {
 48786                         "StartingSequenceNumber": {},
 48787                         "EndingSequenceNumber": {}
 48788                       }
 48789                     }
 48790                   }
 48791                 }
 48792               },
 48793               "HasMoreShards": {
 48794                 "type": "boolean"
 48795               },
 48796               "RetentionPeriodHours": {
 48797                 "type": "integer"
 48798               },
 48799               "StreamCreationTimestamp": {
 48800                 "type": "timestamp"
 48801               },
 48802               "EnhancedMonitoring": {
 48803                 "type": "list",
 48804                 "member": {
 48805                   "type": "structure",
 48806                   "members": {
 48807                     "ShardLevelMetrics": {
 48808                       "shape": "Su"
 48809                     }
 48810                   }
 48811                 }
 48812               }
 48813             }
 48814           }
 48815         }
 48816       }
 48817     },
 48818     "DisableEnhancedMonitoring": {
 48819       "input": {
 48820         "type": "structure",
 48821         "required": [
 48822           "StreamName",
 48823           "ShardLevelMetrics"
 48824         ],
 48825         "members": {
 48826           "StreamName": {},
 48827           "ShardLevelMetrics": {
 48828             "shape": "Su"
 48829           }
 48830         }
 48831       },
 48832       "output": {
 48833         "shape": "Sx"
 48834       }
 48835     },
 48836     "EnableEnhancedMonitoring": {
 48837       "input": {
 48838         "type": "structure",
 48839         "required": [
 48840           "StreamName",
 48841           "ShardLevelMetrics"
 48842         ],
 48843         "members": {
 48844           "StreamName": {},
 48845           "ShardLevelMetrics": {
 48846             "shape": "Su"
 48847           }
 48848         }
 48849       },
 48850       "output": {
 48851         "shape": "Sx"
 48852       }
 48853     },
 48854     "GetRecords": {
 48855       "input": {
 48856         "type": "structure",
 48857         "required": [
 48858           "ShardIterator"
 48859         ],
 48860         "members": {
 48861           "ShardIterator": {},
 48862           "Limit": {
 48863             "type": "integer"
 48864           }
 48865         }
 48866       },
 48867       "output": {
 48868         "type": "structure",
 48869         "required": [
 48870           "Records"
 48871         ],
 48872         "members": {
 48873           "Records": {
 48874             "type": "list",
 48875             "member": {
 48876               "type": "structure",
 48877               "required": [
 48878                 "SequenceNumber",
 48879                 "Data",
 48880                 "PartitionKey"
 48881               ],
 48882               "members": {
 48883                 "SequenceNumber": {},
 48884                 "ApproximateArrivalTimestamp": {
 48885                   "type": "timestamp"
 48886                 },
 48887                 "Data": {
 48888                   "type": "blob"
 48889                 },
 48890                 "PartitionKey": {}
 48891               }
 48892             }
 48893           },
 48894           "NextShardIterator": {},
 48895           "MillisBehindLatest": {
 48896             "type": "long"
 48897           }
 48898         }
 48899       }
 48900     },
 48901     "GetShardIterator": {
 48902       "input": {
 48903         "type": "structure",
 48904         "required": [
 48905           "StreamName",
 48906           "ShardId",
 48907           "ShardIteratorType"
 48908         ],
 48909         "members": {
 48910           "StreamName": {},
 48911           "ShardId": {},
 48912           "ShardIteratorType": {},
 48913           "StartingSequenceNumber": {},
 48914           "Timestamp": {
 48915             "type": "timestamp"
 48916           }
 48917         }
 48918       },
 48919       "output": {
 48920         "type": "structure",
 48921         "members": {
 48922           "ShardIterator": {}
 48923         }
 48924       }
 48925     },
 48926     "IncreaseStreamRetentionPeriod": {
 48927       "input": {
 48928         "type": "structure",
 48929         "required": [
 48930           "StreamName",
 48931           "RetentionPeriodHours"
 48932         ],
 48933         "members": {
 48934           "StreamName": {},
 48935           "RetentionPeriodHours": {
 48936             "type": "integer"
 48937           }
 48938         }
 48939       }
 48940     },
 48941     "ListStreams": {
 48942       "input": {
 48943         "type": "structure",
 48944         "members": {
 48945           "Limit": {
 48946             "type": "integer"
 48947           },
 48948           "ExclusiveStartStreamName": {}
 48949         }
 48950       },
 48951       "output": {
 48952         "type": "structure",
 48953         "required": [
 48954           "StreamNames",
 48955           "HasMoreStreams"
 48956         ],
 48957         "members": {
 48958           "StreamNames": {
 48959             "type": "list",
 48960             "member": {}
 48961           },
 48962           "HasMoreStreams": {
 48963             "type": "boolean"
 48964           }
 48965         }
 48966       }
 48967     },
 48968     "ListTagsForStream": {
 48969       "input": {
 48970         "type": "structure",
 48971         "required": [
 48972           "StreamName"
 48973         ],
 48974         "members": {
 48975           "StreamName": {},
 48976           "ExclusiveStartTagKey": {},
 48977           "Limit": {
 48978             "type": "integer"
 48979           }
 48980         }
 48981       },
 48982       "output": {
 48983         "type": "structure",
 48984         "required": [
 48985           "Tags",
 48986           "HasMoreTags"
 48987         ],
 48988         "members": {
 48989           "Tags": {
 48990             "type": "list",
 48991             "member": {
 48992               "type": "structure",
 48993               "required": [
 48994                 "Key"
 48995               ],
 48996               "members": {
 48997                 "Key": {},
 48998                 "Value": {}
 48999               }
 49000             }
 49001           },
 49002           "HasMoreTags": {
 49003             "type": "boolean"
 49004           }
 49005         }
 49006       }
 49007     },
 49008     "MergeShards": {
 49009       "input": {
 49010         "type": "structure",
 49011         "required": [
 49012           "StreamName",
 49013           "ShardToMerge",
 49014           "AdjacentShardToMerge"
 49015         ],
 49016         "members": {
 49017           "StreamName": {},
 49018           "ShardToMerge": {},
 49019           "AdjacentShardToMerge": {}
 49020         }
 49021       }
 49022     },
 49023     "PutRecord": {
 49024       "input": {
 49025         "type": "structure",
 49026         "required": [
 49027           "StreamName",
 49028           "Data",
 49029           "PartitionKey"
 49030         ],
 49031         "members": {
 49032           "StreamName": {},
 49033           "Data": {
 49034             "type": "blob"
 49035           },
 49036           "PartitionKey": {},
 49037           "ExplicitHashKey": {},
 49038           "SequenceNumberForOrdering": {}
 49039         }
 49040       },
 49041       "output": {
 49042         "type": "structure",
 49043         "required": [
 49044           "ShardId",
 49045           "SequenceNumber"
 49046         ],
 49047         "members": {
 49048           "ShardId": {},
 49049           "SequenceNumber": {}
 49050         }
 49051       }
 49052     },
 49053     "PutRecords": {
 49054       "input": {
 49055         "type": "structure",
 49056         "required": [
 49057           "Records",
 49058           "StreamName"
 49059         ],
 49060         "members": {
 49061           "Records": {
 49062             "type": "list",
 49063             "member": {
 49064               "type": "structure",
 49065               "required": [
 49066                 "Data",
 49067                 "PartitionKey"
 49068               ],
 49069               "members": {
 49070                 "Data": {
 49071                   "type": "blob"
 49072                 },
 49073                 "ExplicitHashKey": {},
 49074                 "PartitionKey": {}
 49075               }
 49076             }
 49077           },
 49078           "StreamName": {}
 49079         }
 49080       },
 49081       "output": {
 49082         "type": "structure",
 49083         "required": [
 49084           "Records"
 49085         ],
 49086         "members": {
 49087           "FailedRecordCount": {
 49088             "type": "integer"
 49089           },
 49090           "Records": {
 49091             "type": "list",
 49092             "member": {
 49093               "type": "structure",
 49094               "members": {
 49095                 "SequenceNumber": {},
 49096                 "ShardId": {},
 49097                 "ErrorCode": {},
 49098                 "ErrorMessage": {}
 49099               }
 49100             }
 49101           }
 49102         }
 49103       }
 49104     },
 49105     "RemoveTagsFromStream": {
 49106       "input": {
 49107         "type": "structure",
 49108         "required": [
 49109           "StreamName",
 49110           "TagKeys"
 49111         ],
 49112         "members": {
 49113           "StreamName": {},
 49114           "TagKeys": {
 49115             "type": "list",
 49116             "member": {}
 49117           }
 49118         }
 49119       }
 49120     },
 49121     "SplitShard": {
 49122       "input": {
 49123         "type": "structure",
 49124         "required": [
 49125           "StreamName",
 49126           "ShardToSplit",
 49127           "NewStartingHashKey"
 49128         ],
 49129         "members": {
 49130           "StreamName": {},
 49131           "ShardToSplit": {},
 49132           "NewStartingHashKey": {}
 49133         }
 49134       }
 49135     },
 49136     "UpdateShardCount": {
 49137       "input": {
 49138         "type": "structure",
 49139         "required": [
 49140           "StreamName",
 49141           "TargetShardCount",
 49142           "ScalingType"
 49143         ],
 49144         "members": {
 49145           "StreamName": {},
 49146           "TargetShardCount": {
 49147             "type": "integer"
 49148           },
 49149           "ScalingType": {}
 49150         }
 49151       },
 49152       "output": {
 49153         "type": "structure",
 49154         "members": {
 49155           "StreamName": {},
 49156           "CurrentShardCount": {
 49157             "type": "integer"
 49158           },
 49159           "TargetShardCount": {
 49160             "type": "integer"
 49161           }
 49162         }
 49163       }
 49164     }
 49165   },
 49166   "shapes": {
 49167     "Su": {
 49168       "type": "list",
 49169       "member": {}
 49170     },
 49171     "Sx": {
 49172       "type": "structure",
 49173       "members": {
 49174         "StreamName": {},
 49175         "CurrentShardLevelMetrics": {
 49176           "shape": "Su"
 49177         },
 49178         "DesiredShardLevelMetrics": {
 49179           "shape": "Su"
 49180         }
 49181       }
 49182     }
 49183   }
 49184 }
 49185 },{}],73:[function(require,module,exports){
 49186 module.exports={
 49187   "pagination": {
 49188     "DescribeStream": {
 49189       "input_token": "ExclusiveStartShardId",
 49190       "limit_key": "Limit",
 49191       "more_results": "StreamDescription.HasMoreShards",
 49192       "output_token": "StreamDescription.Shards[-1].ShardId",
 49193       "result_key": "StreamDescription.Shards"
 49194     },
 49195     "ListStreams": {
 49196       "input_token": "ExclusiveStartStreamName",
 49197       "limit_key": "Limit",
 49198       "more_results": "HasMoreStreams",
 49199       "output_token": "StreamNames[-1]",
 49200       "result_key": "StreamNames"
 49201     }
 49202   }
 49203 }
 49204 
 49205 },{}],74:[function(require,module,exports){
 49206 module.exports={
 49207   "version": 2,
 49208   "waiters": {
 49209     "StreamExists": {
 49210       "delay": 10,
 49211       "operation": "DescribeStream",
 49212       "maxAttempts": 18,
 49213       "acceptors": [
 49214         {
 49215           "expected": "ACTIVE",
 49216           "matcher": "path",
 49217           "state": "success",
 49218           "argument": "StreamDescription.StreamStatus"
 49219         }
 49220       ]
 49221     }
 49222   }
 49223 }
 49224 
 49225 },{}],75:[function(require,module,exports){
 49226 module.exports={
 49227   "version": "2.0",
 49228   "metadata": {
 49229     "apiVersion": "2014-11-01",
 49230     "endpointPrefix": "kms",
 49231     "jsonVersion": "1.1",
 49232     "protocol": "json",
 49233     "serviceAbbreviation": "KMS",
 49234     "serviceFullName": "AWS Key Management Service",
 49235     "signatureVersion": "v4",
 49236     "targetPrefix": "TrentService"
 49237   },
 49238   "operations": {
 49239     "CancelKeyDeletion": {
 49240       "input": {
 49241         "type": "structure",
 49242         "required": [
 49243           "KeyId"
 49244         ],
 49245         "members": {
 49246           "KeyId": {}
 49247         }
 49248       },
 49249       "output": {
 49250         "type": "structure",
 49251         "members": {
 49252           "KeyId": {}
 49253         }
 49254       }
 49255     },
 49256     "CreateAlias": {
 49257       "input": {
 49258         "type": "structure",
 49259         "required": [
 49260           "AliasName",
 49261           "TargetKeyId"
 49262         ],
 49263         "members": {
 49264           "AliasName": {},
 49265           "TargetKeyId": {}
 49266         }
 49267       }
 49268     },
 49269     "CreateGrant": {
 49270       "input": {
 49271         "type": "structure",
 49272         "required": [
 49273           "KeyId",
 49274           "GranteePrincipal"
 49275         ],
 49276         "members": {
 49277           "KeyId": {},
 49278           "GranteePrincipal": {},
 49279           "RetiringPrincipal": {},
 49280           "Operations": {
 49281             "shape": "S8"
 49282           },
 49283           "Constraints": {
 49284             "shape": "Sa"
 49285           },
 49286           "GrantTokens": {
 49287             "shape": "Se"
 49288           },
 49289           "Name": {}
 49290         }
 49291       },
 49292       "output": {
 49293         "type": "structure",
 49294         "members": {
 49295           "GrantToken": {},
 49296           "GrantId": {}
 49297         }
 49298       }
 49299     },
 49300     "CreateKey": {
 49301       "input": {
 49302         "type": "structure",
 49303         "members": {
 49304           "Policy": {},
 49305           "Description": {},
 49306           "KeyUsage": {},
 49307           "Origin": {},
 49308           "BypassPolicyLockoutSafetyCheck": {
 49309             "type": "boolean"
 49310           }
 49311         }
 49312       },
 49313       "output": {
 49314         "type": "structure",
 49315         "members": {
 49316           "KeyMetadata": {
 49317             "shape": "Sq"
 49318           }
 49319         }
 49320       }
 49321     },
 49322     "Decrypt": {
 49323       "input": {
 49324         "type": "structure",
 49325         "required": [
 49326           "CiphertextBlob"
 49327         ],
 49328         "members": {
 49329           "CiphertextBlob": {
 49330             "type": "blob"
 49331           },
 49332           "EncryptionContext": {
 49333             "shape": "Sb"
 49334           },
 49335           "GrantTokens": {
 49336             "shape": "Se"
 49337           }
 49338         }
 49339       },
 49340       "output": {
 49341         "type": "structure",
 49342         "members": {
 49343           "KeyId": {},
 49344           "Plaintext": {
 49345             "shape": "Sz"
 49346           }
 49347         }
 49348       }
 49349     },
 49350     "DeleteAlias": {
 49351       "input": {
 49352         "type": "structure",
 49353         "required": [
 49354           "AliasName"
 49355         ],
 49356         "members": {
 49357           "AliasName": {}
 49358         }
 49359       }
 49360     },
 49361     "DeleteImportedKeyMaterial": {
 49362       "input": {
 49363         "type": "structure",
 49364         "required": [
 49365           "KeyId"
 49366         ],
 49367         "members": {
 49368           "KeyId": {}
 49369         }
 49370       }
 49371     },
 49372     "DescribeKey": {
 49373       "input": {
 49374         "type": "structure",
 49375         "required": [
 49376           "KeyId"
 49377         ],
 49378         "members": {
 49379           "KeyId": {},
 49380           "GrantTokens": {
 49381             "shape": "Se"
 49382           }
 49383         }
 49384       },
 49385       "output": {
 49386         "type": "structure",
 49387         "members": {
 49388           "KeyMetadata": {
 49389             "shape": "Sq"
 49390           }
 49391         }
 49392       }
 49393     },
 49394     "DisableKey": {
 49395       "input": {
 49396         "type": "structure",
 49397         "required": [
 49398           "KeyId"
 49399         ],
 49400         "members": {
 49401           "KeyId": {}
 49402         }
 49403       }
 49404     },
 49405     "DisableKeyRotation": {
 49406       "input": {
 49407         "type": "structure",
 49408         "required": [
 49409           "KeyId"
 49410         ],
 49411         "members": {
 49412           "KeyId": {}
 49413         }
 49414       }
 49415     },
 49416     "EnableKey": {
 49417       "input": {
 49418         "type": "structure",
 49419         "required": [
 49420           "KeyId"
 49421         ],
 49422         "members": {
 49423           "KeyId": {}
 49424         }
 49425       }
 49426     },
 49427     "EnableKeyRotation": {
 49428       "input": {
 49429         "type": "structure",
 49430         "required": [
 49431           "KeyId"
 49432         ],
 49433         "members": {
 49434           "KeyId": {}
 49435         }
 49436       }
 49437     },
 49438     "Encrypt": {
 49439       "input": {
 49440         "type": "structure",
 49441         "required": [
 49442           "KeyId",
 49443           "Plaintext"
 49444         ],
 49445         "members": {
 49446           "KeyId": {},
 49447           "Plaintext": {
 49448             "shape": "Sz"
 49449           },
 49450           "EncryptionContext": {
 49451             "shape": "Sb"
 49452           },
 49453           "GrantTokens": {
 49454             "shape": "Se"
 49455           }
 49456         }
 49457       },
 49458       "output": {
 49459         "type": "structure",
 49460         "members": {
 49461           "CiphertextBlob": {
 49462             "type": "blob"
 49463           },
 49464           "KeyId": {}
 49465         }
 49466       }
 49467     },
 49468     "GenerateDataKey": {
 49469       "input": {
 49470         "type": "structure",
 49471         "required": [
 49472           "KeyId"
 49473         ],
 49474         "members": {
 49475           "KeyId": {},
 49476           "EncryptionContext": {
 49477             "shape": "Sb"
 49478           },
 49479           "NumberOfBytes": {
 49480             "type": "integer"
 49481           },
 49482           "KeySpec": {},
 49483           "GrantTokens": {
 49484             "shape": "Se"
 49485           }
 49486         }
 49487       },
 49488       "output": {
 49489         "type": "structure",
 49490         "members": {
 49491           "CiphertextBlob": {
 49492             "type": "blob"
 49493           },
 49494           "Plaintext": {
 49495             "shape": "Sz"
 49496           },
 49497           "KeyId": {}
 49498         }
 49499       }
 49500     },
 49501     "GenerateDataKeyWithoutPlaintext": {
 49502       "input": {
 49503         "type": "structure",
 49504         "required": [
 49505           "KeyId"
 49506         ],
 49507         "members": {
 49508           "KeyId": {},
 49509           "EncryptionContext": {
 49510             "shape": "Sb"
 49511           },
 49512           "KeySpec": {},
 49513           "NumberOfBytes": {
 49514             "type": "integer"
 49515           },
 49516           "GrantTokens": {
 49517             "shape": "Se"
 49518           }
 49519         }
 49520       },
 49521       "output": {
 49522         "type": "structure",
 49523         "members": {
 49524           "CiphertextBlob": {
 49525             "type": "blob"
 49526           },
 49527           "KeyId": {}
 49528         }
 49529       }
 49530     },
 49531     "GenerateRandom": {
 49532       "input": {
 49533         "type": "structure",
 49534         "members": {
 49535           "NumberOfBytes": {
 49536             "type": "integer"
 49537           }
 49538         }
 49539       },
 49540       "output": {
 49541         "type": "structure",
 49542         "members": {
 49543           "Plaintext": {
 49544             "shape": "Sz"
 49545           }
 49546         }
 49547       }
 49548     },
 49549     "GetKeyPolicy": {
 49550       "input": {
 49551         "type": "structure",
 49552         "required": [
 49553           "KeyId",
 49554           "PolicyName"
 49555         ],
 49556         "members": {
 49557           "KeyId": {},
 49558           "PolicyName": {}
 49559         }
 49560       },
 49561       "output": {
 49562         "type": "structure",
 49563         "members": {
 49564           "Policy": {}
 49565         }
 49566       }
 49567     },
 49568     "GetKeyRotationStatus": {
 49569       "input": {
 49570         "type": "structure",
 49571         "required": [
 49572           "KeyId"
 49573         ],
 49574         "members": {
 49575           "KeyId": {}
 49576         }
 49577       },
 49578       "output": {
 49579         "type": "structure",
 49580         "members": {
 49581           "KeyRotationEnabled": {
 49582             "type": "boolean"
 49583           }
 49584         }
 49585       }
 49586     },
 49587     "GetParametersForImport": {
 49588       "input": {
 49589         "type": "structure",
 49590         "required": [
 49591           "KeyId",
 49592           "WrappingAlgorithm",
 49593           "WrappingKeySpec"
 49594         ],
 49595         "members": {
 49596           "KeyId": {},
 49597           "WrappingAlgorithm": {},
 49598           "WrappingKeySpec": {}
 49599         }
 49600       },
 49601       "output": {
 49602         "type": "structure",
 49603         "members": {
 49604           "KeyId": {},
 49605           "ImportToken": {
 49606             "type": "blob"
 49607           },
 49608           "PublicKey": {
 49609             "shape": "Sz"
 49610           },
 49611           "ParametersValidTo": {
 49612             "type": "timestamp"
 49613           }
 49614         }
 49615       }
 49616     },
 49617     "ImportKeyMaterial": {
 49618       "input": {
 49619         "type": "structure",
 49620         "required": [
 49621           "KeyId",
 49622           "ImportToken",
 49623           "EncryptedKeyMaterial"
 49624         ],
 49625         "members": {
 49626           "KeyId": {},
 49627           "ImportToken": {
 49628             "type": "blob"
 49629           },
 49630           "EncryptedKeyMaterial": {
 49631             "type": "blob"
 49632           },
 49633           "ValidTo": {
 49634             "type": "timestamp"
 49635           },
 49636           "ExpirationModel": {}
 49637         }
 49638       },
 49639       "output": {
 49640         "type": "structure",
 49641         "members": {}
 49642       }
 49643     },
 49644     "ListAliases": {
 49645       "input": {
 49646         "type": "structure",
 49647         "members": {
 49648           "Limit": {
 49649             "type": "integer"
 49650           },
 49651           "Marker": {}
 49652         }
 49653       },
 49654       "output": {
 49655         "type": "structure",
 49656         "members": {
 49657           "Aliases": {
 49658             "type": "list",
 49659             "member": {
 49660               "type": "structure",
 49661               "members": {
 49662                 "AliasName": {},
 49663                 "AliasArn": {},
 49664                 "TargetKeyId": {}
 49665               }
 49666             }
 49667           },
 49668           "NextMarker": {},
 49669           "Truncated": {
 49670             "type": "boolean"
 49671           }
 49672         }
 49673       }
 49674     },
 49675     "ListGrants": {
 49676       "input": {
 49677         "type": "structure",
 49678         "required": [
 49679           "KeyId"
 49680         ],
 49681         "members": {
 49682           "Limit": {
 49683             "type": "integer"
 49684           },
 49685           "Marker": {},
 49686           "KeyId": {}
 49687         }
 49688       },
 49689       "output": {
 49690         "shape": "S20"
 49691       }
 49692     },
 49693     "ListKeyPolicies": {
 49694       "input": {
 49695         "type": "structure",
 49696         "required": [
 49697           "KeyId"
 49698         ],
 49699         "members": {
 49700           "KeyId": {},
 49701           "Limit": {
 49702             "type": "integer"
 49703           },
 49704           "Marker": {}
 49705         }
 49706       },
 49707       "output": {
 49708         "type": "structure",
 49709         "members": {
 49710           "PolicyNames": {
 49711             "type": "list",
 49712             "member": {}
 49713           },
 49714           "NextMarker": {},
 49715           "Truncated": {
 49716             "type": "boolean"
 49717           }
 49718         }
 49719       }
 49720     },
 49721     "ListKeys": {
 49722       "input": {
 49723         "type": "structure",
 49724         "members": {
 49725           "Limit": {
 49726             "type": "integer"
 49727           },
 49728           "Marker": {}
 49729         }
 49730       },
 49731       "output": {
 49732         "type": "structure",
 49733         "members": {
 49734           "Keys": {
 49735             "type": "list",
 49736             "member": {
 49737               "type": "structure",
 49738               "members": {
 49739                 "KeyId": {},
 49740                 "KeyArn": {}
 49741               }
 49742             }
 49743           },
 49744           "NextMarker": {},
 49745           "Truncated": {
 49746             "type": "boolean"
 49747           }
 49748         }
 49749       }
 49750     },
 49751     "ListRetirableGrants": {
 49752       "input": {
 49753         "type": "structure",
 49754         "required": [
 49755           "RetiringPrincipal"
 49756         ],
 49757         "members": {
 49758           "Limit": {
 49759             "type": "integer"
 49760           },
 49761           "Marker": {},
 49762           "RetiringPrincipal": {}
 49763         }
 49764       },
 49765       "output": {
 49766         "shape": "S20"
 49767       }
 49768     },
 49769     "PutKeyPolicy": {
 49770       "input": {
 49771         "type": "structure",
 49772         "required": [
 49773           "KeyId",
 49774           "PolicyName",
 49775           "Policy"
 49776         ],
 49777         "members": {
 49778           "KeyId": {},
 49779           "PolicyName": {},
 49780           "Policy": {},
 49781           "BypassPolicyLockoutSafetyCheck": {
 49782             "type": "boolean"
 49783           }
 49784         }
 49785       }
 49786     },
 49787     "ReEncrypt": {
 49788       "input": {
 49789         "type": "structure",
 49790         "required": [
 49791           "CiphertextBlob",
 49792           "DestinationKeyId"
 49793         ],
 49794         "members": {
 49795           "CiphertextBlob": {
 49796             "type": "blob"
 49797           },
 49798           "SourceEncryptionContext": {
 49799             "shape": "Sb"
 49800           },
 49801           "DestinationKeyId": {},
 49802           "DestinationEncryptionContext": {
 49803             "shape": "Sb"
 49804           },
 49805           "GrantTokens": {
 49806             "shape": "Se"
 49807           }
 49808         }
 49809       },
 49810       "output": {
 49811         "type": "structure",
 49812         "members": {
 49813           "CiphertextBlob": {
 49814             "type": "blob"
 49815           },
 49816           "SourceKeyId": {},
 49817           "KeyId": {}
 49818         }
 49819       }
 49820     },
 49821     "RetireGrant": {
 49822       "input": {
 49823         "type": "structure",
 49824         "members": {
 49825           "GrantToken": {},
 49826           "KeyId": {},
 49827           "GrantId": {}
 49828         }
 49829       }
 49830     },
 49831     "RevokeGrant": {
 49832       "input": {
 49833         "type": "structure",
 49834         "required": [
 49835           "KeyId",
 49836           "GrantId"
 49837         ],
 49838         "members": {
 49839           "KeyId": {},
 49840           "GrantId": {}
 49841         }
 49842       }
 49843     },
 49844     "ScheduleKeyDeletion": {
 49845       "input": {
 49846         "type": "structure",
 49847         "required": [
 49848           "KeyId"
 49849         ],
 49850         "members": {
 49851           "KeyId": {},
 49852           "PendingWindowInDays": {
 49853             "type": "integer"
 49854           }
 49855         }
 49856       },
 49857       "output": {
 49858         "type": "structure",
 49859         "members": {
 49860           "KeyId": {},
 49861           "DeletionDate": {
 49862             "type": "timestamp"
 49863           }
 49864         }
 49865       }
 49866     },
 49867     "UpdateAlias": {
 49868       "input": {
 49869         "type": "structure",
 49870         "required": [
 49871           "AliasName",
 49872           "TargetKeyId"
 49873         ],
 49874         "members": {
 49875           "AliasName": {},
 49876           "TargetKeyId": {}
 49877         }
 49878       }
 49879     },
 49880     "UpdateKeyDescription": {
 49881       "input": {
 49882         "type": "structure",
 49883         "required": [
 49884           "KeyId",
 49885           "Description"
 49886         ],
 49887         "members": {
 49888           "KeyId": {},
 49889           "Description": {}
 49890         }
 49891       }
 49892     }
 49893   },
 49894   "shapes": {
 49895     "S8": {
 49896       "type": "list",
 49897       "member": {}
 49898     },
 49899     "Sa": {
 49900       "type": "structure",
 49901       "members": {
 49902         "EncryptionContextSubset": {
 49903           "shape": "Sb"
 49904         },
 49905         "EncryptionContextEquals": {
 49906           "shape": "Sb"
 49907         }
 49908       }
 49909     },
 49910     "Sb": {
 49911       "type": "map",
 49912       "key": {},
 49913       "value": {}
 49914     },
 49915     "Se": {
 49916       "type": "list",
 49917       "member": {}
 49918     },
 49919     "Sq": {
 49920       "type": "structure",
 49921       "required": [
 49922         "KeyId"
 49923       ],
 49924       "members": {
 49925         "AWSAccountId": {},
 49926         "KeyId": {},
 49927         "Arn": {},
 49928         "CreationDate": {
 49929           "type": "timestamp"
 49930         },
 49931         "Enabled": {
 49932           "type": "boolean"
 49933         },
 49934         "Description": {},
 49935         "KeyUsage": {},
 49936         "KeyState": {},
 49937         "DeletionDate": {
 49938           "type": "timestamp"
 49939         },
 49940         "ValidTo": {
 49941           "type": "timestamp"
 49942         },
 49943         "Origin": {},
 49944         "ExpirationModel": {}
 49945       }
 49946     },
 49947     "Sz": {
 49948       "type": "blob",
 49949       "sensitive": true
 49950     },
 49951     "S20": {
 49952       "type": "structure",
 49953       "members": {
 49954         "Grants": {
 49955           "type": "list",
 49956           "member": {
 49957             "type": "structure",
 49958             "members": {
 49959               "KeyId": {},
 49960               "GrantId": {},
 49961               "Name": {},
 49962               "CreationDate": {
 49963                 "type": "timestamp"
 49964               },
 49965               "GranteePrincipal": {},
 49966               "RetiringPrincipal": {},
 49967               "IssuingAccount": {},
 49968               "Operations": {
 49969                 "shape": "S8"
 49970               },
 49971               "Constraints": {
 49972                 "shape": "Sa"
 49973               }
 49974             }
 49975           }
 49976         },
 49977         "NextMarker": {},
 49978         "Truncated": {
 49979           "type": "boolean"
 49980         }
 49981       }
 49982     }
 49983   }
 49984 }
 49985 },{}],76:[function(require,module,exports){
 49986 module.exports={
 49987   "pagination": {
 49988     "ListAliases": {
 49989       "limit_key": "Limit",
 49990       "input_token": "Marker",
 49991       "output_token": "NextMarker",
 49992       "more_results": "Truncated",
 49993       "result_key": "Aliases"
 49994     },
 49995     "ListGrants": {
 49996       "limit_key": "Limit",
 49997       "input_token": "Marker",
 49998       "output_token": "NextMarker",
 49999       "more_results": "Truncated",
 50000       "result_key": "Grants"
 50001     },
 50002     "ListKeyPolicies": {
 50003       "limit_key": "Limit",
 50004       "input_token": "Marker",
 50005       "output_token": "NextMarker",
 50006       "more_results": "Truncated",
 50007       "result_key": "PolicyNames"
 50008     },
 50009     "ListKeys": {
 50010       "limit_key": "Limit",
 50011       "input_token": "Marker",
 50012       "output_token": "NextMarker",
 50013       "more_results": "Truncated",
 50014       "result_key": "Keys"
 50015     }
 50016   }
 50017 }
 50018 
 50019 },{}],77:[function(require,module,exports){
 50020 module.exports={
 50021   "metadata": {
 50022     "apiVersion": "2014-11-11",
 50023     "endpointPrefix": "lambda",
 50024     "serviceFullName": "AWS Lambda",
 50025     "signatureVersion": "v4",
 50026     "protocol": "rest-json"
 50027   },
 50028   "operations": {
 50029     "AddEventSource": {
 50030       "http": {
 50031         "requestUri": "/2014-11-13/event-source-mappings/"
 50032       },
 50033       "input": {
 50034         "type": "structure",
 50035         "required": [
 50036           "EventSource",
 50037           "FunctionName",
 50038           "Role"
 50039         ],
 50040         "members": {
 50041           "EventSource": {},
 50042           "FunctionName": {},
 50043           "Role": {},
 50044           "BatchSize": {
 50045             "type": "integer"
 50046           },
 50047           "Parameters": {
 50048             "shape": "S6"
 50049           }
 50050         }
 50051       },
 50052       "output": {
 50053         "shape": "S7"
 50054       }
 50055     },
 50056     "DeleteFunction": {
 50057       "http": {
 50058         "method": "DELETE",
 50059         "requestUri": "/2014-11-13/functions/{FunctionName}",
 50060         "responseCode": 204
 50061       },
 50062       "input": {
 50063         "type": "structure",
 50064         "required": [
 50065           "FunctionName"
 50066         ],
 50067         "members": {
 50068           "FunctionName": {
 50069             "location": "uri",
 50070             "locationName": "FunctionName"
 50071           }
 50072         }
 50073       }
 50074     },
 50075     "GetEventSource": {
 50076       "http": {
 50077         "method": "GET",
 50078         "requestUri": "/2014-11-13/event-source-mappings/{UUID}",
 50079         "responseCode": 200
 50080       },
 50081       "input": {
 50082         "type": "structure",
 50083         "required": [
 50084           "UUID"
 50085         ],
 50086         "members": {
 50087           "UUID": {
 50088             "location": "uri",
 50089             "locationName": "UUID"
 50090           }
 50091         }
 50092       },
 50093       "output": {
 50094         "shape": "S7"
 50095       }
 50096     },
 50097     "GetFunction": {
 50098       "http": {
 50099         "method": "GET",
 50100         "requestUri": "/2014-11-13/functions/{FunctionName}",
 50101         "responseCode": 200
 50102       },
 50103       "input": {
 50104         "type": "structure",
 50105         "required": [
 50106           "FunctionName"
 50107         ],
 50108         "members": {
 50109           "FunctionName": {
 50110             "location": "uri",
 50111             "locationName": "FunctionName"
 50112           }
 50113         }
 50114       },
 50115       "output": {
 50116         "type": "structure",
 50117         "members": {
 50118           "Configuration": {
 50119             "shape": "Se"
 50120           },
 50121           "Code": {
 50122             "type": "structure",
 50123             "members": {
 50124               "RepositoryType": {},
 50125               "Location": {}
 50126             }
 50127           }
 50128         }
 50129       }
 50130     },
 50131     "GetFunctionConfiguration": {
 50132       "http": {
 50133         "method": "GET",
 50134         "requestUri": "/2014-11-13/functions/{FunctionName}/configuration",
 50135         "responseCode": 200
 50136       },
 50137       "input": {
 50138         "type": "structure",
 50139         "required": [
 50140           "FunctionName"
 50141         ],
 50142         "members": {
 50143           "FunctionName": {
 50144             "location": "uri",
 50145             "locationName": "FunctionName"
 50146           }
 50147         }
 50148       },
 50149       "output": {
 50150         "shape": "Se"
 50151       }
 50152     },
 50153     "InvokeAsync": {
 50154       "http": {
 50155         "requestUri": "/2014-11-13/functions/{FunctionName}/invoke-async/",
 50156         "responseCode": 202
 50157       },
 50158       "input": {
 50159         "type": "structure",
 50160         "required": [
 50161           "FunctionName",
 50162           "InvokeArgs"
 50163         ],
 50164         "members": {
 50165           "FunctionName": {
 50166             "location": "uri",
 50167             "locationName": "FunctionName"
 50168           },
 50169           "InvokeArgs": {
 50170             "shape": "Sq"
 50171           }
 50172         },
 50173         "payload": "InvokeArgs"
 50174       },
 50175       "output": {
 50176         "type": "structure",
 50177         "members": {
 50178           "Status": {
 50179             "location": "statusCode",
 50180             "type": "integer"
 50181           }
 50182         }
 50183       }
 50184     },
 50185     "ListEventSources": {
 50186       "http": {
 50187         "method": "GET",
 50188         "requestUri": "/2014-11-13/event-source-mappings/",
 50189         "responseCode": 200
 50190       },
 50191       "input": {
 50192         "type": "structure",
 50193         "members": {
 50194           "EventSourceArn": {
 50195             "location": "querystring",
 50196             "locationName": "EventSource"
 50197           },
 50198           "FunctionName": {
 50199             "location": "querystring",
 50200             "locationName": "FunctionName"
 50201           },
 50202           "Marker": {
 50203             "location": "querystring",
 50204             "locationName": "Marker"
 50205           },
 50206           "MaxItems": {
 50207             "location": "querystring",
 50208             "locationName": "MaxItems",
 50209             "type": "integer"
 50210           }
 50211         }
 50212       },
 50213       "output": {
 50214         "type": "structure",
 50215         "members": {
 50216           "NextMarker": {},
 50217           "EventSources": {
 50218             "type": "list",
 50219             "member": {
 50220               "shape": "S7"
 50221             }
 50222           }
 50223         }
 50224       }
 50225     },
 50226     "ListFunctions": {
 50227       "http": {
 50228         "method": "GET",
 50229         "requestUri": "/2014-11-13/functions/",
 50230         "responseCode": 200
 50231       },
 50232       "input": {
 50233         "type": "structure",
 50234         "members": {
 50235           "Marker": {
 50236             "location": "querystring",
 50237             "locationName": "Marker"
 50238           },
 50239           "MaxItems": {
 50240             "location": "querystring",
 50241             "locationName": "MaxItems",
 50242             "type": "integer"
 50243           }
 50244         }
 50245       },
 50246       "output": {
 50247         "type": "structure",
 50248         "members": {
 50249           "NextMarker": {},
 50250           "Functions": {
 50251             "type": "list",
 50252             "member": {
 50253               "shape": "Se"
 50254             }
 50255           }
 50256         }
 50257       }
 50258     },
 50259     "RemoveEventSource": {
 50260       "http": {
 50261         "method": "DELETE",
 50262         "requestUri": "/2014-11-13/event-source-mappings/{UUID}",
 50263         "responseCode": 204
 50264       },
 50265       "input": {
 50266         "type": "structure",
 50267         "required": [
 50268           "UUID"
 50269         ],
 50270         "members": {
 50271           "UUID": {
 50272             "location": "uri",
 50273             "locationName": "UUID"
 50274           }
 50275         }
 50276       }
 50277     },
 50278     "UpdateFunctionConfiguration": {
 50279       "http": {
 50280         "method": "PUT",
 50281         "requestUri": "/2014-11-13/functions/{FunctionName}/configuration",
 50282         "responseCode": 200
 50283       },
 50284       "input": {
 50285         "type": "structure",
 50286         "required": [
 50287           "FunctionName"
 50288         ],
 50289         "members": {
 50290           "FunctionName": {
 50291             "location": "uri",
 50292             "locationName": "FunctionName"
 50293           },
 50294           "Role": {
 50295             "location": "querystring",
 50296             "locationName": "Role"
 50297           },
 50298           "Handler": {
 50299             "location": "querystring",
 50300             "locationName": "Handler"
 50301           },
 50302           "Description": {
 50303             "location": "querystring",
 50304             "locationName": "Description"
 50305           },
 50306           "Timeout": {
 50307             "location": "querystring",
 50308             "locationName": "Timeout",
 50309             "type": "integer"
 50310           },
 50311           "MemorySize": {
 50312             "location": "querystring",
 50313             "locationName": "MemorySize",
 50314             "type": "integer"
 50315           }
 50316         }
 50317       },
 50318       "output": {
 50319         "shape": "Se"
 50320       }
 50321     },
 50322     "UploadFunction": {
 50323       "http": {
 50324         "method": "PUT",
 50325         "requestUri": "/2014-11-13/functions/{FunctionName}",
 50326         "responseCode": 201
 50327       },
 50328       "input": {
 50329         "type": "structure",
 50330         "required": [
 50331           "FunctionName",
 50332           "FunctionZip",
 50333           "Runtime",
 50334           "Role",
 50335           "Handler",
 50336           "Mode"
 50337         ],
 50338         "members": {
 50339           "FunctionName": {
 50340             "location": "uri",
 50341             "locationName": "FunctionName"
 50342           },
 50343           "FunctionZip": {
 50344             "shape": "Sq"
 50345           },
 50346           "Runtime": {
 50347             "location": "querystring",
 50348             "locationName": "Runtime"
 50349           },
 50350           "Role": {
 50351             "location": "querystring",
 50352             "locationName": "Role"
 50353           },
 50354           "Handler": {
 50355             "location": "querystring",
 50356             "locationName": "Handler"
 50357           },
 50358           "Mode": {
 50359             "location": "querystring",
 50360             "locationName": "Mode"
 50361           },
 50362           "Description": {
 50363             "location": "querystring",
 50364             "locationName": "Description"
 50365           },
 50366           "Timeout": {
 50367             "location": "querystring",
 50368             "locationName": "Timeout",
 50369             "type": "integer"
 50370           },
 50371           "MemorySize": {
 50372             "location": "querystring",
 50373             "locationName": "MemorySize",
 50374             "type": "integer"
 50375           }
 50376         },
 50377         "payload": "FunctionZip"
 50378       },
 50379       "output": {
 50380         "shape": "Se"
 50381       }
 50382     }
 50383   },
 50384   "shapes": {
 50385     "S6": {
 50386       "type": "map",
 50387       "key": {},
 50388       "value": {}
 50389     },
 50390     "S7": {
 50391       "type": "structure",
 50392       "members": {
 50393         "UUID": {},
 50394         "BatchSize": {
 50395           "type": "integer"
 50396         },
 50397         "EventSource": {},
 50398         "FunctionName": {},
 50399         "Parameters": {
 50400           "shape": "S6"
 50401         },
 50402         "Role": {},
 50403         "LastModified": {
 50404           "type": "timestamp"
 50405         },
 50406         "IsActive": {
 50407           "type": "boolean"
 50408         },
 50409         "Status": {}
 50410       }
 50411     },
 50412     "Se": {
 50413       "type": "structure",
 50414       "members": {
 50415         "FunctionName": {},
 50416         "FunctionARN": {},
 50417         "ConfigurationId": {},
 50418         "Runtime": {},
 50419         "Role": {},
 50420         "Handler": {},
 50421         "Mode": {},
 50422         "CodeSize": {
 50423           "type": "long"
 50424         },
 50425         "Description": {},
 50426         "Timeout": {
 50427           "type": "integer"
 50428         },
 50429         "MemorySize": {
 50430           "type": "integer"
 50431         },
 50432         "LastModified": {
 50433           "type": "timestamp"
 50434         }
 50435       }
 50436     },
 50437     "Sq": {
 50438       "type": "blob",
 50439       "streaming": true
 50440     }
 50441   }
 50442 }
 50443 },{}],78:[function(require,module,exports){
 50444 module.exports={
 50445   "pagination": {
 50446     "ListEventSources": {
 50447       "input_token": "Marker",
 50448       "output_token": "NextMarker",
 50449       "limit_key": "MaxItems",
 50450       "result_key": "EventSources"
 50451     },
 50452     "ListFunctions": {
 50453       "input_token": "Marker",
 50454       "output_token": "NextMarker",
 50455       "limit_key": "MaxItems",
 50456       "result_key": "Functions"
 50457     }
 50458   }
 50459 }
 50460 
 50461 },{}],79:[function(require,module,exports){
 50462 module.exports={
 50463   "version": "2.0",
 50464   "metadata": {
 50465     "apiVersion": "2015-03-31",
 50466     "endpointPrefix": "lambda",
 50467     "protocol": "rest-json",
 50468     "serviceFullName": "AWS Lambda",
 50469     "signatureVersion": "v4"
 50470   },
 50471   "operations": {
 50472     "AddPermission": {
 50473       "http": {
 50474         "requestUri": "/2015-03-31/functions/{FunctionName}/policy",
 50475         "responseCode": 201
 50476       },
 50477       "input": {
 50478         "type": "structure",
 50479         "required": [
 50480           "FunctionName",
 50481           "StatementId",
 50482           "Action",
 50483           "Principal"
 50484         ],
 50485         "members": {
 50486           "FunctionName": {
 50487             "location": "uri",
 50488             "locationName": "FunctionName"
 50489           },
 50490           "StatementId": {},
 50491           "Action": {},
 50492           "Principal": {},
 50493           "SourceArn": {},
 50494           "SourceAccount": {},
 50495           "EventSourceToken": {},
 50496           "Qualifier": {
 50497             "location": "querystring",
 50498             "locationName": "Qualifier"
 50499           }
 50500         }
 50501       },
 50502       "output": {
 50503         "type": "structure",
 50504         "members": {
 50505           "Statement": {}
 50506         }
 50507       }
 50508     },
 50509     "CreateAlias": {
 50510       "http": {
 50511         "requestUri": "/2015-03-31/functions/{FunctionName}/aliases",
 50512         "responseCode": 201
 50513       },
 50514       "input": {
 50515         "type": "structure",
 50516         "required": [
 50517           "FunctionName",
 50518           "Name",
 50519           "FunctionVersion"
 50520         ],
 50521         "members": {
 50522           "FunctionName": {
 50523             "location": "uri",
 50524             "locationName": "FunctionName"
 50525           },
 50526           "Name": {},
 50527           "FunctionVersion": {},
 50528           "Description": {}
 50529         }
 50530       },
 50531       "output": {
 50532         "shape": "Sg"
 50533       }
 50534     },
 50535     "CreateEventSourceMapping": {
 50536       "http": {
 50537         "requestUri": "/2015-03-31/event-source-mappings/",
 50538         "responseCode": 202
 50539       },
 50540       "input": {
 50541         "type": "structure",
 50542         "required": [
 50543           "EventSourceArn",
 50544           "FunctionName",
 50545           "StartingPosition"
 50546         ],
 50547         "members": {
 50548           "EventSourceArn": {},
 50549           "FunctionName": {},
 50550           "Enabled": {
 50551             "type": "boolean"
 50552           },
 50553           "BatchSize": {
 50554             "type": "integer"
 50555           },
 50556           "StartingPosition": {}
 50557         }
 50558       },
 50559       "output": {
 50560         "shape": "Sm"
 50561       }
 50562     },
 50563     "CreateFunction": {
 50564       "http": {
 50565         "requestUri": "/2015-03-31/functions",
 50566         "responseCode": 201
 50567       },
 50568       "input": {
 50569         "type": "structure",
 50570         "required": [
 50571           "FunctionName",
 50572           "Runtime",
 50573           "Role",
 50574           "Handler",
 50575           "Code"
 50576         ],
 50577         "members": {
 50578           "FunctionName": {},
 50579           "Runtime": {},
 50580           "Role": {},
 50581           "Handler": {},
 50582           "Code": {
 50583             "type": "structure",
 50584             "members": {
 50585               "ZipFile": {
 50586                 "type": "blob"
 50587               },
 50588               "S3Bucket": {},
 50589               "S3Key": {},
 50590               "S3ObjectVersion": {}
 50591             }
 50592           },
 50593           "Description": {},
 50594           "Timeout": {
 50595             "type": "integer"
 50596           },
 50597           "MemorySize": {
 50598             "type": "integer"
 50599           },
 50600           "Publish": {
 50601             "type": "boolean"
 50602           },
 50603           "VpcConfig": {
 50604             "shape": "S10"
 50605           },
 50606           "Environment": {
 50607             "shape": "S15"
 50608           },
 50609           "KMSKeyArn": {}
 50610         }
 50611       },
 50612       "output": {
 50613         "shape": "S1a"
 50614       }
 50615     },
 50616     "DeleteAlias": {
 50617       "http": {
 50618         "method": "DELETE",
 50619         "requestUri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
 50620         "responseCode": 204
 50621       },
 50622       "input": {
 50623         "type": "structure",
 50624         "required": [
 50625           "FunctionName",
 50626           "Name"
 50627         ],
 50628         "members": {
 50629           "FunctionName": {
 50630             "location": "uri",
 50631             "locationName": "FunctionName"
 50632           },
 50633           "Name": {
 50634             "location": "uri",
 50635             "locationName": "Name"
 50636           }
 50637         }
 50638       }
 50639     },
 50640     "DeleteEventSourceMapping": {
 50641       "http": {
 50642         "method": "DELETE",
 50643         "requestUri": "/2015-03-31/event-source-mappings/{UUID}",
 50644         "responseCode": 202
 50645       },
 50646       "input": {
 50647         "type": "structure",
 50648         "required": [
 50649           "UUID"
 50650         ],
 50651         "members": {
 50652           "UUID": {
 50653             "location": "uri",
 50654             "locationName": "UUID"
 50655           }
 50656         }
 50657       },
 50658       "output": {
 50659         "shape": "Sm"
 50660       }
 50661     },
 50662     "DeleteFunction": {
 50663       "http": {
 50664         "method": "DELETE",
 50665         "requestUri": "/2015-03-31/functions/{FunctionName}",
 50666         "responseCode": 204
 50667       },
 50668       "input": {
 50669         "type": "structure",
 50670         "required": [
 50671           "FunctionName"
 50672         ],
 50673         "members": {
 50674           "FunctionName": {
 50675             "location": "uri",
 50676             "locationName": "FunctionName"
 50677           },
 50678           "Qualifier": {
 50679             "location": "querystring",
 50680             "locationName": "Qualifier"
 50681           }
 50682         }
 50683       }
 50684     },
 50685     "GetAlias": {
 50686       "http": {
 50687         "method": "GET",
 50688         "requestUri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
 50689         "responseCode": 200
 50690       },
 50691       "input": {
 50692         "type": "structure",
 50693         "required": [
 50694           "FunctionName",
 50695           "Name"
 50696         ],
 50697         "members": {
 50698           "FunctionName": {
 50699             "location": "uri",
 50700             "locationName": "FunctionName"
 50701           },
 50702           "Name": {
 50703             "location": "uri",
 50704             "locationName": "Name"
 50705           }
 50706         }
 50707       },
 50708       "output": {
 50709         "shape": "Sg"
 50710       }
 50711     },
 50712     "GetEventSourceMapping": {
 50713       "http": {
 50714         "method": "GET",
 50715         "requestUri": "/2015-03-31/event-source-mappings/{UUID}",
 50716         "responseCode": 200
 50717       },
 50718       "input": {
 50719         "type": "structure",
 50720         "required": [
 50721           "UUID"
 50722         ],
 50723         "members": {
 50724           "UUID": {
 50725             "location": "uri",
 50726             "locationName": "UUID"
 50727           }
 50728         }
 50729       },
 50730       "output": {
 50731         "shape": "Sm"
 50732       }
 50733     },
 50734     "GetFunction": {
 50735       "http": {
 50736         "method": "GET",
 50737         "requestUri": "/2015-03-31/functions/{FunctionName}",
 50738         "responseCode": 200
 50739       },
 50740       "input": {
 50741         "type": "structure",
 50742         "required": [
 50743           "FunctionName"
 50744         ],
 50745         "members": {
 50746           "FunctionName": {
 50747             "location": "uri",
 50748             "locationName": "FunctionName"
 50749           },
 50750           "Qualifier": {
 50751             "location": "querystring",
 50752             "locationName": "Qualifier"
 50753           }
 50754         }
 50755       },
 50756       "output": {
 50757         "type": "structure",
 50758         "members": {
 50759           "Configuration": {
 50760             "shape": "S1a"
 50761           },
 50762           "Code": {
 50763             "type": "structure",
 50764             "members": {
 50765               "RepositoryType": {},
 50766               "Location": {}
 50767             }
 50768           }
 50769         }
 50770       }
 50771     },
 50772     "GetFunctionConfiguration": {
 50773       "http": {
 50774         "method": "GET",
 50775         "requestUri": "/2015-03-31/functions/{FunctionName}/configuration",
 50776         "responseCode": 200
 50777       },
 50778       "input": {
 50779         "type": "structure",
 50780         "required": [
 50781           "FunctionName"
 50782         ],
 50783         "members": {
 50784           "FunctionName": {
 50785             "location": "uri",
 50786             "locationName": "FunctionName"
 50787           },
 50788           "Qualifier": {
 50789             "location": "querystring",
 50790             "locationName": "Qualifier"
 50791           }
 50792         }
 50793       },
 50794       "output": {
 50795         "shape": "S1a"
 50796       }
 50797     },
 50798     "GetPolicy": {
 50799       "http": {
 50800         "method": "GET",
 50801         "requestUri": "/2015-03-31/functions/{FunctionName}/policy",
 50802         "responseCode": 200
 50803       },
 50804       "input": {
 50805         "type": "structure",
 50806         "required": [
 50807           "FunctionName"
 50808         ],
 50809         "members": {
 50810           "FunctionName": {
 50811             "location": "uri",
 50812             "locationName": "FunctionName"
 50813           },
 50814           "Qualifier": {
 50815             "location": "querystring",
 50816             "locationName": "Qualifier"
 50817           }
 50818         }
 50819       },
 50820       "output": {
 50821         "type": "structure",
 50822         "members": {
 50823           "Policy": {}
 50824         }
 50825       }
 50826     },
 50827     "Invoke": {
 50828       "http": {
 50829         "requestUri": "/2015-03-31/functions/{FunctionName}/invocations"
 50830       },
 50831       "input": {
 50832         "type": "structure",
 50833         "required": [
 50834           "FunctionName"
 50835         ],
 50836         "members": {
 50837           "FunctionName": {
 50838             "location": "uri",
 50839             "locationName": "FunctionName"
 50840           },
 50841           "InvocationType": {
 50842             "location": "header",
 50843             "locationName": "X-Amz-Invocation-Type"
 50844           },
 50845           "LogType": {
 50846             "location": "header",
 50847             "locationName": "X-Amz-Log-Type"
 50848           },
 50849           "ClientContext": {
 50850             "location": "header",
 50851             "locationName": "X-Amz-Client-Context"
 50852           },
 50853           "Payload": {
 50854             "type": "blob"
 50855           },
 50856           "Qualifier": {
 50857             "location": "querystring",
 50858             "locationName": "Qualifier"
 50859           }
 50860         },
 50861         "payload": "Payload"
 50862       },
 50863       "output": {
 50864         "type": "structure",
 50865         "members": {
 50866           "StatusCode": {
 50867             "location": "statusCode",
 50868             "type": "integer"
 50869           },
 50870           "FunctionError": {
 50871             "location": "header",
 50872             "locationName": "X-Amz-Function-Error"
 50873           },
 50874           "LogResult": {
 50875             "location": "header",
 50876             "locationName": "X-Amz-Log-Result"
 50877           },
 50878           "Payload": {
 50879             "type": "blob"
 50880           }
 50881         },
 50882         "payload": "Payload"
 50883       }
 50884     },
 50885     "InvokeAsync": {
 50886       "http": {
 50887         "requestUri": "/2014-11-13/functions/{FunctionName}/invoke-async/",
 50888         "responseCode": 202
 50889       },
 50890       "input": {
 50891         "type": "structure",
 50892         "required": [
 50893           "FunctionName",
 50894           "InvokeArgs"
 50895         ],
 50896         "members": {
 50897           "FunctionName": {
 50898             "location": "uri",
 50899             "locationName": "FunctionName"
 50900           },
 50901           "InvokeArgs": {
 50902             "type": "blob",
 50903             "streaming": true
 50904           }
 50905         },
 50906         "deprecated": true,
 50907         "payload": "InvokeArgs"
 50908       },
 50909       "output": {
 50910         "type": "structure",
 50911         "members": {
 50912           "Status": {
 50913             "location": "statusCode",
 50914             "type": "integer"
 50915           }
 50916         },
 50917         "deprecated": true
 50918       },
 50919       "deprecated": true
 50920     },
 50921     "ListAliases": {
 50922       "http": {
 50923         "method": "GET",
 50924         "requestUri": "/2015-03-31/functions/{FunctionName}/aliases",
 50925         "responseCode": 200
 50926       },
 50927       "input": {
 50928         "type": "structure",
 50929         "required": [
 50930           "FunctionName"
 50931         ],
 50932         "members": {
 50933           "FunctionName": {
 50934             "location": "uri",
 50935             "locationName": "FunctionName"
 50936           },
 50937           "FunctionVersion": {
 50938             "location": "querystring",
 50939             "locationName": "FunctionVersion"
 50940           },
 50941           "Marker": {
 50942             "location": "querystring",
 50943             "locationName": "Marker"
 50944           },
 50945           "MaxItems": {
 50946             "location": "querystring",
 50947             "locationName": "MaxItems",
 50948             "type": "integer"
 50949           }
 50950         }
 50951       },
 50952       "output": {
 50953         "type": "structure",
 50954         "members": {
 50955           "NextMarker": {},
 50956           "Aliases": {
 50957             "type": "list",
 50958             "member": {
 50959               "shape": "Sg"
 50960             }
 50961           }
 50962         }
 50963       }
 50964     },
 50965     "ListEventSourceMappings": {
 50966       "http": {
 50967         "method": "GET",
 50968         "requestUri": "/2015-03-31/event-source-mappings/",
 50969         "responseCode": 200
 50970       },
 50971       "input": {
 50972         "type": "structure",
 50973         "members": {
 50974           "EventSourceArn": {
 50975             "location": "querystring",
 50976             "locationName": "EventSourceArn"
 50977           },
 50978           "FunctionName": {
 50979             "location": "querystring",
 50980             "locationName": "FunctionName"
 50981           },
 50982           "Marker": {
 50983             "location": "querystring",
 50984             "locationName": "Marker"
 50985           },
 50986           "MaxItems": {
 50987             "location": "querystring",
 50988             "locationName": "MaxItems",
 50989             "type": "integer"
 50990           }
 50991         }
 50992       },
 50993       "output": {
 50994         "type": "structure",
 50995         "members": {
 50996           "NextMarker": {},
 50997           "EventSourceMappings": {
 50998             "type": "list",
 50999             "member": {
 51000               "shape": "Sm"
 51001             }
 51002           }
 51003         }
 51004       }
 51005     },
 51006     "ListFunctions": {
 51007       "http": {
 51008         "method": "GET",
 51009         "requestUri": "/2015-03-31/functions/",
 51010         "responseCode": 200
 51011       },
 51012       "input": {
 51013         "type": "structure",
 51014         "members": {
 51015           "Marker": {
 51016             "location": "querystring",
 51017             "locationName": "Marker"
 51018           },
 51019           "MaxItems": {
 51020             "location": "querystring",
 51021             "locationName": "MaxItems",
 51022             "type": "integer"
 51023           }
 51024         }
 51025       },
 51026       "output": {
 51027         "type": "structure",
 51028         "members": {
 51029           "NextMarker": {},
 51030           "Functions": {
 51031             "shape": "S2a"
 51032           }
 51033         }
 51034       }
 51035     },
 51036     "ListVersionsByFunction": {
 51037       "http": {
 51038         "method": "GET",
 51039         "requestUri": "/2015-03-31/functions/{FunctionName}/versions",
 51040         "responseCode": 200
 51041       },
 51042       "input": {
 51043         "type": "structure",
 51044         "required": [
 51045           "FunctionName"
 51046         ],
 51047         "members": {
 51048           "FunctionName": {
 51049             "location": "uri",
 51050             "locationName": "FunctionName"
 51051           },
 51052           "Marker": {
 51053             "location": "querystring",
 51054             "locationName": "Marker"
 51055           },
 51056           "MaxItems": {
 51057             "location": "querystring",
 51058             "locationName": "MaxItems",
 51059             "type": "integer"
 51060           }
 51061         }
 51062       },
 51063       "output": {
 51064         "type": "structure",
 51065         "members": {
 51066           "NextMarker": {},
 51067           "Versions": {
 51068             "shape": "S2a"
 51069           }
 51070         }
 51071       }
 51072     },
 51073     "PublishVersion": {
 51074       "http": {
 51075         "requestUri": "/2015-03-31/functions/{FunctionName}/versions",
 51076         "responseCode": 201
 51077       },
 51078       "input": {
 51079         "type": "structure",
 51080         "required": [
 51081           "FunctionName"
 51082         ],
 51083         "members": {
 51084           "FunctionName": {
 51085             "location": "uri",
 51086             "locationName": "FunctionName"
 51087           },
 51088           "CodeSha256": {},
 51089           "Description": {}
 51090         }
 51091       },
 51092       "output": {
 51093         "shape": "S1a"
 51094       }
 51095     },
 51096     "RemovePermission": {
 51097       "http": {
 51098         "method": "DELETE",
 51099         "requestUri": "/2015-03-31/functions/{FunctionName}/policy/{StatementId}",
 51100         "responseCode": 204
 51101       },
 51102       "input": {
 51103         "type": "structure",
 51104         "required": [
 51105           "FunctionName",
 51106           "StatementId"
 51107         ],
 51108         "members": {
 51109           "FunctionName": {
 51110             "location": "uri",
 51111             "locationName": "FunctionName"
 51112           },
 51113           "StatementId": {
 51114             "location": "uri",
 51115             "locationName": "StatementId"
 51116           },
 51117           "Qualifier": {
 51118             "location": "querystring",
 51119             "locationName": "Qualifier"
 51120           }
 51121         }
 51122       }
 51123     },
 51124     "UpdateAlias": {
 51125       "http": {
 51126         "method": "PUT",
 51127         "requestUri": "/2015-03-31/functions/{FunctionName}/aliases/{Name}",
 51128         "responseCode": 200
 51129       },
 51130       "input": {
 51131         "type": "structure",
 51132         "required": [
 51133           "FunctionName",
 51134           "Name"
 51135         ],
 51136         "members": {
 51137           "FunctionName": {
 51138             "location": "uri",
 51139             "locationName": "FunctionName"
 51140           },
 51141           "Name": {
 51142             "location": "uri",
 51143             "locationName": "Name"
 51144           },
 51145           "FunctionVersion": {},
 51146           "Description": {}
 51147         }
 51148       },
 51149       "output": {
 51150         "shape": "Sg"
 51151       }
 51152     },
 51153     "UpdateEventSourceMapping": {
 51154       "http": {
 51155         "method": "PUT",
 51156         "requestUri": "/2015-03-31/event-source-mappings/{UUID}",
 51157         "responseCode": 202
 51158       },
 51159       "input": {
 51160         "type": "structure",
 51161         "required": [
 51162           "UUID"
 51163         ],
 51164         "members": {
 51165           "UUID": {
 51166             "location": "uri",
 51167             "locationName": "UUID"
 51168           },
 51169           "FunctionName": {},
 51170           "Enabled": {
 51171             "type": "boolean"
 51172           },
 51173           "BatchSize": {
 51174             "type": "integer"
 51175           }
 51176         }
 51177       },
 51178       "output": {
 51179         "shape": "Sm"
 51180       }
 51181     },
 51182     "UpdateFunctionCode": {
 51183       "http": {
 51184         "method": "PUT",
 51185         "requestUri": "/2015-03-31/functions/{FunctionName}/code",
 51186         "responseCode": 200
 51187       },
 51188       "input": {
 51189         "type": "structure",
 51190         "required": [
 51191           "FunctionName"
 51192         ],
 51193         "members": {
 51194           "FunctionName": {
 51195             "location": "uri",
 51196             "locationName": "FunctionName"
 51197           },
 51198           "ZipFile": {
 51199             "type": "blob"
 51200           },
 51201           "S3Bucket": {},
 51202           "S3Key": {},
 51203           "S3ObjectVersion": {},
 51204           "Publish": {
 51205             "type": "boolean"
 51206           }
 51207         }
 51208       },
 51209       "output": {
 51210         "shape": "S1a"
 51211       }
 51212     },
 51213     "UpdateFunctionConfiguration": {
 51214       "http": {
 51215         "method": "PUT",
 51216         "requestUri": "/2015-03-31/functions/{FunctionName}/configuration",
 51217         "responseCode": 200
 51218       },
 51219       "input": {
 51220         "type": "structure",
 51221         "required": [
 51222           "FunctionName"
 51223         ],
 51224         "members": {
 51225           "FunctionName": {
 51226             "location": "uri",
 51227             "locationName": "FunctionName"
 51228           },
 51229           "Role": {},
 51230           "Handler": {},
 51231           "Description": {},
 51232           "Timeout": {
 51233             "type": "integer"
 51234           },
 51235           "MemorySize": {
 51236             "type": "integer"
 51237           },
 51238           "VpcConfig": {
 51239             "shape": "S10"
 51240           },
 51241           "Environment": {
 51242             "shape": "S15"
 51243           },
 51244           "KMSKeyArn": {},
 51245           "Runtime": {}
 51246         }
 51247       },
 51248       "output": {
 51249         "shape": "S1a"
 51250       }
 51251     }
 51252   },
 51253   "shapes": {
 51254     "Sg": {
 51255       "type": "structure",
 51256       "members": {
 51257         "AliasArn": {},
 51258         "Name": {},
 51259         "FunctionVersion": {},
 51260         "Description": {}
 51261       }
 51262     },
 51263     "Sm": {
 51264       "type": "structure",
 51265       "members": {
 51266         "UUID": {},
 51267         "BatchSize": {
 51268           "type": "integer"
 51269         },
 51270         "EventSourceArn": {},
 51271         "FunctionArn": {},
 51272         "LastModified": {
 51273           "type": "timestamp"
 51274         },
 51275         "LastProcessingResult": {},
 51276         "State": {},
 51277         "StateTransitionReason": {}
 51278       }
 51279     },
 51280     "S10": {
 51281       "type": "structure",
 51282       "members": {
 51283         "SubnetIds": {
 51284           "shape": "S11"
 51285         },
 51286         "SecurityGroupIds": {
 51287           "shape": "S13"
 51288         }
 51289       }
 51290     },
 51291     "S11": {
 51292       "type": "list",
 51293       "member": {}
 51294     },
 51295     "S13": {
 51296       "type": "list",
 51297       "member": {}
 51298     },
 51299     "S15": {
 51300       "type": "structure",
 51301       "members": {
 51302         "Variables": {
 51303           "shape": "S16"
 51304         }
 51305       }
 51306     },
 51307     "S16": {
 51308       "type": "map",
 51309       "key": {},
 51310       "value": {}
 51311     },
 51312     "S1a": {
 51313       "type": "structure",
 51314       "members": {
 51315         "FunctionName": {},
 51316         "FunctionArn": {},
 51317         "Runtime": {},
 51318         "Role": {},
 51319         "Handler": {},
 51320         "CodeSize": {
 51321           "type": "long"
 51322         },
 51323         "Description": {},
 51324         "Timeout": {
 51325           "type": "integer"
 51326         },
 51327         "MemorySize": {
 51328           "type": "integer"
 51329         },
 51330         "LastModified": {},
 51331         "CodeSha256": {},
 51332         "Version": {},
 51333         "VpcConfig": {
 51334           "type": "structure",
 51335           "members": {
 51336             "SubnetIds": {
 51337               "shape": "S11"
 51338             },
 51339             "SecurityGroupIds": {
 51340               "shape": "S13"
 51341             },
 51342             "VpcId": {}
 51343           }
 51344         },
 51345         "Environment": {
 51346           "type": "structure",
 51347           "members": {
 51348             "Variables": {
 51349               "shape": "S16"
 51350             },
 51351             "Error": {
 51352               "type": "structure",
 51353               "members": {
 51354                 "ErrorCode": {},
 51355                 "Message": {}
 51356               }
 51357             }
 51358           }
 51359         },
 51360         "KMSKeyArn": {}
 51361       }
 51362     },
 51363     "S2a": {
 51364       "type": "list",
 51365       "member": {
 51366         "shape": "S1a"
 51367       }
 51368     }
 51369   }
 51370 }
 51371 },{}],80:[function(require,module,exports){
 51372 module.exports={
 51373   "pagination": {
 51374     "ListEventSourceMappings": {
 51375       "input_token": "Marker",
 51376       "output_token": "NextMarker",
 51377       "limit_key": "MaxItems",
 51378       "result_key": "EventSourceMappings"
 51379     },
 51380     "ListFunctions": {
 51381       "input_token": "Marker",
 51382       "output_token": "NextMarker",
 51383       "limit_key": "MaxItems",
 51384       "result_key": "Functions"
 51385     }
 51386   }
 51387 }
 51388 
 51389 },{}],81:[function(require,module,exports){
 51390 module.exports={
 51391   "version": "2.0",
 51392   "metadata": {
 51393     "apiVersion": "2014-03-28",
 51394     "endpointPrefix": "logs",
 51395     "jsonVersion": "1.1",
 51396     "protocol": "json",
 51397     "serviceFullName": "Amazon CloudWatch Logs",
 51398     "signatureVersion": "v4",
 51399     "targetPrefix": "Logs_20140328"
 51400   },
 51401   "operations": {
 51402     "CancelExportTask": {
 51403       "input": {
 51404         "type": "structure",
 51405         "required": [
 51406           "taskId"
 51407         ],
 51408         "members": {
 51409           "taskId": {}
 51410         }
 51411       }
 51412     },
 51413     "CreateExportTask": {
 51414       "input": {
 51415         "type": "structure",
 51416         "required": [
 51417           "logGroupName",
 51418           "from",
 51419           "to",
 51420           "destination"
 51421         ],
 51422         "members": {
 51423           "taskName": {},
 51424           "logGroupName": {},
 51425           "logStreamNamePrefix": {},
 51426           "from": {
 51427             "type": "long"
 51428           },
 51429           "to": {
 51430             "type": "long"
 51431           },
 51432           "destination": {},
 51433           "destinationPrefix": {}
 51434         }
 51435       },
 51436       "output": {
 51437         "type": "structure",
 51438         "members": {
 51439           "taskId": {}
 51440         }
 51441       }
 51442     },
 51443     "CreateLogGroup": {
 51444       "input": {
 51445         "type": "structure",
 51446         "required": [
 51447           "logGroupName"
 51448         ],
 51449         "members": {
 51450           "logGroupName": {}
 51451         }
 51452       }
 51453     },
 51454     "CreateLogStream": {
 51455       "input": {
 51456         "type": "structure",
 51457         "required": [
 51458           "logGroupName",
 51459           "logStreamName"
 51460         ],
 51461         "members": {
 51462           "logGroupName": {},
 51463           "logStreamName": {}
 51464         }
 51465       }
 51466     },
 51467     "DeleteDestination": {
 51468       "input": {
 51469         "type": "structure",
 51470         "required": [
 51471           "destinationName"
 51472         ],
 51473         "members": {
 51474           "destinationName": {}
 51475         }
 51476       }
 51477     },
 51478     "DeleteLogGroup": {
 51479       "input": {
 51480         "type": "structure",
 51481         "required": [
 51482           "logGroupName"
 51483         ],
 51484         "members": {
 51485           "logGroupName": {}
 51486         }
 51487       }
 51488     },
 51489     "DeleteLogStream": {
 51490       "input": {
 51491         "type": "structure",
 51492         "required": [
 51493           "logGroupName",
 51494           "logStreamName"
 51495         ],
 51496         "members": {
 51497           "logGroupName": {},
 51498           "logStreamName": {}
 51499         }
 51500       }
 51501     },
 51502     "DeleteMetricFilter": {
 51503       "input": {
 51504         "type": "structure",
 51505         "required": [
 51506           "logGroupName",
 51507           "filterName"
 51508         ],
 51509         "members": {
 51510           "logGroupName": {},
 51511           "filterName": {}
 51512         }
 51513       }
 51514     },
 51515     "DeleteRetentionPolicy": {
 51516       "input": {
 51517         "type": "structure",
 51518         "required": [
 51519           "logGroupName"
 51520         ],
 51521         "members": {
 51522           "logGroupName": {}
 51523         }
 51524       }
 51525     },
 51526     "DeleteSubscriptionFilter": {
 51527       "input": {
 51528         "type": "structure",
 51529         "required": [
 51530           "logGroupName",
 51531           "filterName"
 51532         ],
 51533         "members": {
 51534           "logGroupName": {},
 51535           "filterName": {}
 51536         }
 51537       }
 51538     },
 51539     "DescribeDestinations": {
 51540       "input": {
 51541         "type": "structure",
 51542         "members": {
 51543           "DestinationNamePrefix": {},
 51544           "nextToken": {},
 51545           "limit": {
 51546             "type": "integer"
 51547           }
 51548         }
 51549       },
 51550       "output": {
 51551         "type": "structure",
 51552         "members": {
 51553           "destinations": {
 51554             "type": "list",
 51555             "member": {
 51556               "shape": "Sq"
 51557             }
 51558           },
 51559           "nextToken": {}
 51560         }
 51561       }
 51562     },
 51563     "DescribeExportTasks": {
 51564       "input": {
 51565         "type": "structure",
 51566         "members": {
 51567           "taskId": {},
 51568           "statusCode": {},
 51569           "nextToken": {},
 51570           "limit": {
 51571             "type": "integer"
 51572           }
 51573         }
 51574       },
 51575       "output": {
 51576         "type": "structure",
 51577         "members": {
 51578           "exportTasks": {
 51579             "type": "list",
 51580             "member": {
 51581               "type": "structure",
 51582               "members": {
 51583                 "taskId": {},
 51584                 "taskName": {},
 51585                 "logGroupName": {},
 51586                 "from": {
 51587                   "type": "long"
 51588                 },
 51589                 "to": {
 51590                   "type": "long"
 51591                 },
 51592                 "destination": {},
 51593                 "destinationPrefix": {},
 51594                 "status": {
 51595                   "type": "structure",
 51596                   "members": {
 51597                     "code": {},
 51598                     "message": {}
 51599                   }
 51600                 },
 51601                 "executionInfo": {
 51602                   "type": "structure",
 51603                   "members": {
 51604                     "creationTime": {
 51605                       "type": "long"
 51606                     },
 51607                     "completionTime": {
 51608                       "type": "long"
 51609                     }
 51610                   }
 51611                 }
 51612               }
 51613             }
 51614           },
 51615           "nextToken": {}
 51616         }
 51617       }
 51618     },
 51619     "DescribeLogGroups": {
 51620       "input": {
 51621         "type": "structure",
 51622         "members": {
 51623           "logGroupNamePrefix": {},
 51624           "nextToken": {},
 51625           "limit": {
 51626             "type": "integer"
 51627           }
 51628         }
 51629       },
 51630       "output": {
 51631         "type": "structure",
 51632         "members": {
 51633           "logGroups": {
 51634             "type": "list",
 51635             "member": {
 51636               "type": "structure",
 51637               "members": {
 51638                 "logGroupName": {},
 51639                 "creationTime": {
 51640                   "type": "long"
 51641                 },
 51642                 "retentionInDays": {
 51643                   "type": "integer"
 51644                 },
 51645                 "metricFilterCount": {
 51646                   "type": "integer"
 51647                 },
 51648                 "arn": {},
 51649                 "storedBytes": {
 51650                   "type": "long"
 51651                 }
 51652               }
 51653             }
 51654           },
 51655           "nextToken": {}
 51656         }
 51657       }
 51658     },
 51659     "DescribeLogStreams": {
 51660       "input": {
 51661         "type": "structure",
 51662         "required": [
 51663           "logGroupName"
 51664         ],
 51665         "members": {
 51666           "logGroupName": {},
 51667           "logStreamNamePrefix": {},
 51668           "orderBy": {},
 51669           "descending": {
 51670             "type": "boolean"
 51671           },
 51672           "nextToken": {},
 51673           "limit": {
 51674             "type": "integer"
 51675           }
 51676         }
 51677       },
 51678       "output": {
 51679         "type": "structure",
 51680         "members": {
 51681           "logStreams": {
 51682             "type": "list",
 51683             "member": {
 51684               "type": "structure",
 51685               "members": {
 51686                 "logStreamName": {},
 51687                 "creationTime": {
 51688                   "type": "long"
 51689                 },
 51690                 "firstEventTimestamp": {
 51691                   "type": "long"
 51692                 },
 51693                 "lastEventTimestamp": {
 51694                   "type": "long"
 51695                 },
 51696                 "lastIngestionTime": {
 51697                   "type": "long"
 51698                 },
 51699                 "uploadSequenceToken": {},
 51700                 "arn": {},
 51701                 "storedBytes": {
 51702                   "type": "long"
 51703                 }
 51704               }
 51705             }
 51706           },
 51707           "nextToken": {}
 51708         }
 51709       }
 51710     },
 51711     "DescribeMetricFilters": {
 51712       "input": {
 51713         "type": "structure",
 51714         "members": {
 51715           "logGroupName": {},
 51716           "filterNamePrefix": {},
 51717           "nextToken": {},
 51718           "limit": {
 51719             "type": "integer"
 51720           },
 51721           "metricName": {},
 51722           "metricNamespace": {}
 51723         }
 51724       },
 51725       "output": {
 51726         "type": "structure",
 51727         "members": {
 51728           "metricFilters": {
 51729             "type": "list",
 51730             "member": {
 51731               "type": "structure",
 51732               "members": {
 51733                 "filterName": {},
 51734                 "filterPattern": {},
 51735                 "metricTransformations": {
 51736                   "shape": "S1o"
 51737                 },
 51738                 "creationTime": {
 51739                   "type": "long"
 51740                 },
 51741                 "logGroupName": {}
 51742               }
 51743             }
 51744           },
 51745           "nextToken": {}
 51746         }
 51747       }
 51748     },
 51749     "DescribeSubscriptionFilters": {
 51750       "input": {
 51751         "type": "structure",
 51752         "required": [
 51753           "logGroupName"
 51754         ],
 51755         "members": {
 51756           "logGroupName": {},
 51757           "filterNamePrefix": {},
 51758           "nextToken": {},
 51759           "limit": {
 51760             "type": "integer"
 51761           }
 51762         }
 51763       },
 51764       "output": {
 51765         "type": "structure",
 51766         "members": {
 51767           "subscriptionFilters": {
 51768             "type": "list",
 51769             "member": {
 51770               "type": "structure",
 51771               "members": {
 51772                 "filterName": {},
 51773                 "logGroupName": {},
 51774                 "filterPattern": {},
 51775                 "destinationArn": {},
 51776                 "roleArn": {},
 51777                 "creationTime": {
 51778                   "type": "long"
 51779                 }
 51780               }
 51781             }
 51782           },
 51783           "nextToken": {}
 51784         }
 51785       }
 51786     },
 51787     "FilterLogEvents": {
 51788       "input": {
 51789         "type": "structure",
 51790         "required": [
 51791           "logGroupName"
 51792         ],
 51793         "members": {
 51794           "logGroupName": {},
 51795           "logStreamNames": {
 51796             "type": "list",
 51797             "member": {}
 51798           },
 51799           "startTime": {
 51800             "type": "long"
 51801           },
 51802           "endTime": {
 51803             "type": "long"
 51804           },
 51805           "filterPattern": {},
 51806           "nextToken": {},
 51807           "limit": {
 51808             "type": "integer"
 51809           },
 51810           "interleaved": {
 51811             "type": "boolean"
 51812           }
 51813         }
 51814       },
 51815       "output": {
 51816         "type": "structure",
 51817         "members": {
 51818           "events": {
 51819             "type": "list",
 51820             "member": {
 51821               "type": "structure",
 51822               "members": {
 51823                 "logStreamName": {},
 51824                 "timestamp": {
 51825                   "type": "long"
 51826                 },
 51827                 "message": {},
 51828                 "ingestionTime": {
 51829                   "type": "long"
 51830                 },
 51831                 "eventId": {}
 51832               }
 51833             }
 51834           },
 51835           "searchedLogStreams": {
 51836             "type": "list",
 51837             "member": {
 51838               "type": "structure",
 51839               "members": {
 51840                 "logStreamName": {},
 51841                 "searchedCompletely": {
 51842                   "type": "boolean"
 51843                 }
 51844               }
 51845             }
 51846           },
 51847           "nextToken": {}
 51848         }
 51849       }
 51850     },
 51851     "GetLogEvents": {
 51852       "input": {
 51853         "type": "structure",
 51854         "required": [
 51855           "logGroupName",
 51856           "logStreamName"
 51857         ],
 51858         "members": {
 51859           "logGroupName": {},
 51860           "logStreamName": {},
 51861           "startTime": {
 51862             "type": "long"
 51863           },
 51864           "endTime": {
 51865             "type": "long"
 51866           },
 51867           "nextToken": {},
 51868           "limit": {
 51869             "type": "integer"
 51870           },
 51871           "startFromHead": {
 51872             "type": "boolean"
 51873           }
 51874         }
 51875       },
 51876       "output": {
 51877         "type": "structure",
 51878         "members": {
 51879           "events": {
 51880             "type": "list",
 51881             "member": {
 51882               "type": "structure",
 51883               "members": {
 51884                 "timestamp": {
 51885                   "type": "long"
 51886                 },
 51887                 "message": {},
 51888                 "ingestionTime": {
 51889                   "type": "long"
 51890                 }
 51891               }
 51892             }
 51893           },
 51894           "nextForwardToken": {},
 51895           "nextBackwardToken": {}
 51896         }
 51897       }
 51898     },
 51899     "PutDestination": {
 51900       "input": {
 51901         "type": "structure",
 51902         "required": [
 51903           "destinationName",
 51904           "targetArn",
 51905           "roleArn"
 51906         ],
 51907         "members": {
 51908           "destinationName": {},
 51909           "targetArn": {},
 51910           "roleArn": {}
 51911         }
 51912       },
 51913       "output": {
 51914         "type": "structure",
 51915         "members": {
 51916           "destination": {
 51917             "shape": "Sq"
 51918           }
 51919         }
 51920       }
 51921     },
 51922     "PutDestinationPolicy": {
 51923       "input": {
 51924         "type": "structure",
 51925         "required": [
 51926           "destinationName",
 51927           "accessPolicy"
 51928         ],
 51929         "members": {
 51930           "destinationName": {},
 51931           "accessPolicy": {}
 51932         }
 51933       }
 51934     },
 51935     "PutLogEvents": {
 51936       "input": {
 51937         "type": "structure",
 51938         "required": [
 51939           "logGroupName",
 51940           "logStreamName",
 51941           "logEvents"
 51942         ],
 51943         "members": {
 51944           "logGroupName": {},
 51945           "logStreamName": {},
 51946           "logEvents": {
 51947             "type": "list",
 51948             "member": {
 51949               "type": "structure",
 51950               "required": [
 51951                 "timestamp",
 51952                 "message"
 51953               ],
 51954               "members": {
 51955                 "timestamp": {
 51956                   "type": "long"
 51957                 },
 51958                 "message": {}
 51959               }
 51960             }
 51961           },
 51962           "sequenceToken": {}
 51963         }
 51964       },
 51965       "output": {
 51966         "type": "structure",
 51967         "members": {
 51968           "nextSequenceToken": {},
 51969           "rejectedLogEventsInfo": {
 51970             "type": "structure",
 51971             "members": {
 51972               "tooNewLogEventStartIndex": {
 51973                 "type": "integer"
 51974               },
 51975               "tooOldLogEventEndIndex": {
 51976                 "type": "integer"
 51977               },
 51978               "expiredLogEventEndIndex": {
 51979                 "type": "integer"
 51980               }
 51981             }
 51982           }
 51983         }
 51984       }
 51985     },
 51986     "PutMetricFilter": {
 51987       "input": {
 51988         "type": "structure",
 51989         "required": [
 51990           "logGroupName",
 51991           "filterName",
 51992           "filterPattern",
 51993           "metricTransformations"
 51994         ],
 51995         "members": {
 51996           "logGroupName": {},
 51997           "filterName": {},
 51998           "filterPattern": {},
 51999           "metricTransformations": {
 52000             "shape": "S1o"
 52001           }
 52002         }
 52003       }
 52004     },
 52005     "PutRetentionPolicy": {
 52006       "input": {
 52007         "type": "structure",
 52008         "required": [
 52009           "logGroupName",
 52010           "retentionInDays"
 52011         ],
 52012         "members": {
 52013           "logGroupName": {},
 52014           "retentionInDays": {
 52015             "type": "integer"
 52016           }
 52017         }
 52018       }
 52019     },
 52020     "PutSubscriptionFilter": {
 52021       "input": {
 52022         "type": "structure",
 52023         "required": [
 52024           "logGroupName",
 52025           "filterName",
 52026           "filterPattern",
 52027           "destinationArn"
 52028         ],
 52029         "members": {
 52030           "logGroupName": {},
 52031           "filterName": {},
 52032           "filterPattern": {},
 52033           "destinationArn": {},
 52034           "roleArn": {}
 52035         }
 52036       }
 52037     },
 52038     "TestMetricFilter": {
 52039       "input": {
 52040         "type": "structure",
 52041         "required": [
 52042           "filterPattern",
 52043           "logEventMessages"
 52044         ],
 52045         "members": {
 52046           "filterPattern": {},
 52047           "logEventMessages": {
 52048             "type": "list",
 52049             "member": {}
 52050           }
 52051         }
 52052       },
 52053       "output": {
 52054         "type": "structure",
 52055         "members": {
 52056           "matches": {
 52057             "type": "list",
 52058             "member": {
 52059               "type": "structure",
 52060               "members": {
 52061                 "eventNumber": {
 52062                   "type": "long"
 52063                 },
 52064                 "eventMessage": {},
 52065                 "extractedValues": {
 52066                   "type": "map",
 52067                   "key": {},
 52068                   "value": {}
 52069                 }
 52070               }
 52071             }
 52072           }
 52073         }
 52074       }
 52075     }
 52076   },
 52077   "shapes": {
 52078     "Sq": {
 52079       "type": "structure",
 52080       "members": {
 52081         "destinationName": {},
 52082         "targetArn": {},
 52083         "roleArn": {},
 52084         "accessPolicy": {},
 52085         "arn": {},
 52086         "creationTime": {
 52087           "type": "long"
 52088         }
 52089       }
 52090     },
 52091     "S1o": {
 52092       "type": "list",
 52093       "member": {
 52094         "type": "structure",
 52095         "required": [
 52096           "metricName",
 52097           "metricNamespace",
 52098           "metricValue"
 52099         ],
 52100         "members": {
 52101           "metricName": {},
 52102           "metricNamespace": {},
 52103           "metricValue": {},
 52104           "defaultValue": {
 52105             "type": "double"
 52106           }
 52107         }
 52108       }
 52109     }
 52110   }
 52111 }
 52112 },{}],82:[function(require,module,exports){
 52113 module.exports={
 52114   "pagination": {
 52115     "DescribeDestinations": {
 52116       "input_token": "nextToken",
 52117       "output_token": "nextToken",
 52118       "limit_key": "limit",
 52119       "result_key": "destinations"
 52120     },
 52121     "DescribeLogGroups": {
 52122       "input_token": "nextToken",
 52123       "output_token": "nextToken",
 52124       "limit_key": "limit",
 52125       "result_key": "logGroups"
 52126     },
 52127     "DescribeLogStreams": {
 52128       "input_token": "nextToken",
 52129       "output_token": "nextToken",
 52130       "limit_key": "limit",
 52131       "result_key": "logStreams"
 52132     },
 52133     "DescribeMetricFilters": {
 52134       "input_token": "nextToken",
 52135       "output_token": "nextToken",
 52136       "limit_key": "limit",
 52137       "result_key": "metricFilters"
 52138     },
 52139     "DescribeSubscriptionFilters": {
 52140       "input_token": "nextToken",
 52141       "output_token": "nextToken",
 52142       "limit_key": "limit",
 52143       "result_key": "subscriptionFilters"
 52144     },
 52145     "FilterLogEvents": {
 52146       "input_token": "nextToken",
 52147       "output_token": "nextToken",
 52148       "limit_key": "limit",
 52149       "result_key": [
 52150         "events",
 52151         "searchedLogStreams"
 52152       ]
 52153     },
 52154     "GetLogEvents": {
 52155       "input_token": "nextToken",
 52156       "output_token": "nextForwardToken",
 52157       "limit_key": "limit",
 52158       "result_key": "events"
 52159     }
 52160   }
 52161 }
 52162 
 52163 },{}],83:[function(require,module,exports){
 52164 module.exports={
 52165   "version": "2.0",
 52166   "metadata": {
 52167     "apiVersion": "2014-12-12",
 52168     "endpointPrefix": "machinelearning",
 52169     "jsonVersion": "1.1",
 52170     "serviceFullName": "Amazon Machine Learning",
 52171     "signatureVersion": "v4",
 52172     "targetPrefix": "AmazonML_20141212",
 52173     "protocol": "json"
 52174   },
 52175   "operations": {
 52176     "AddTags": {
 52177       "input": {
 52178         "type": "structure",
 52179         "required": [
 52180           "Tags",
 52181           "ResourceId",
 52182           "ResourceType"
 52183         ],
 52184         "members": {
 52185           "Tags": {
 52186             "shape": "S2"
 52187           },
 52188           "ResourceId": {},
 52189           "ResourceType": {}
 52190         }
 52191       },
 52192       "output": {
 52193         "type": "structure",
 52194         "members": {
 52195           "ResourceId": {},
 52196           "ResourceType": {}
 52197         }
 52198       }
 52199     },
 52200     "CreateBatchPrediction": {
 52201       "input": {
 52202         "type": "structure",
 52203         "required": [
 52204           "BatchPredictionId",
 52205           "MLModelId",
 52206           "BatchPredictionDataSourceId",
 52207           "OutputUri"
 52208         ],
 52209         "members": {
 52210           "BatchPredictionId": {},
 52211           "BatchPredictionName": {},
 52212           "MLModelId": {},
 52213           "BatchPredictionDataSourceId": {},
 52214           "OutputUri": {}
 52215         }
 52216       },
 52217       "output": {
 52218         "type": "structure",
 52219         "members": {
 52220           "BatchPredictionId": {}
 52221         }
 52222       }
 52223     },
 52224     "CreateDataSourceFromRDS": {
 52225       "input": {
 52226         "type": "structure",
 52227         "required": [
 52228           "DataSourceId",
 52229           "RDSData",
 52230           "RoleARN"
 52231         ],
 52232         "members": {
 52233           "DataSourceId": {},
 52234           "DataSourceName": {},
 52235           "RDSData": {
 52236             "type": "structure",
 52237             "required": [
 52238               "DatabaseInformation",
 52239               "SelectSqlQuery",
 52240               "DatabaseCredentials",
 52241               "S3StagingLocation",
 52242               "ResourceRole",
 52243               "ServiceRole",
 52244               "SubnetId",
 52245               "SecurityGroupIds"
 52246             ],
 52247             "members": {
 52248               "DatabaseInformation": {
 52249                 "shape": "Sf"
 52250               },
 52251               "SelectSqlQuery": {},
 52252               "DatabaseCredentials": {
 52253                 "type": "structure",
 52254                 "required": [
 52255                   "Username",
 52256                   "Password"
 52257                 ],
 52258                 "members": {
 52259                   "Username": {},
 52260                   "Password": {}
 52261                 }
 52262               },
 52263               "S3StagingLocation": {},
 52264               "DataRearrangement": {},
 52265               "DataSchema": {},
 52266               "DataSchemaUri": {},
 52267               "ResourceRole": {},
 52268               "ServiceRole": {},
 52269               "SubnetId": {},
 52270               "SecurityGroupIds": {
 52271                 "type": "list",
 52272                 "member": {}
 52273               }
 52274             }
 52275           },
 52276           "RoleARN": {},
 52277           "ComputeStatistics": {
 52278             "type": "boolean"
 52279           }
 52280         }
 52281       },
 52282       "output": {
 52283         "type": "structure",
 52284         "members": {
 52285           "DataSourceId": {}
 52286         }
 52287       }
 52288     },
 52289     "CreateDataSourceFromRedshift": {
 52290       "input": {
 52291         "type": "structure",
 52292         "required": [
 52293           "DataSourceId",
 52294           "DataSpec",
 52295           "RoleARN"
 52296         ],
 52297         "members": {
 52298           "DataSourceId": {},
 52299           "DataSourceName": {},
 52300           "DataSpec": {
 52301             "type": "structure",
 52302             "required": [
 52303               "DatabaseInformation",
 52304               "SelectSqlQuery",
 52305               "DatabaseCredentials",
 52306               "S3StagingLocation"
 52307             ],
 52308             "members": {
 52309               "DatabaseInformation": {
 52310                 "shape": "Sy"
 52311               },
 52312               "SelectSqlQuery": {},
 52313               "DatabaseCredentials": {
 52314                 "type": "structure",
 52315                 "required": [
 52316                   "Username",
 52317                   "Password"
 52318                 ],
 52319                 "members": {
 52320                   "Username": {},
 52321                   "Password": {}
 52322                 }
 52323               },
 52324               "S3StagingLocation": {},
 52325               "DataRearrangement": {},
 52326               "DataSchema": {},
 52327               "DataSchemaUri": {}
 52328             }
 52329           },
 52330           "RoleARN": {},
 52331           "ComputeStatistics": {
 52332             "type": "boolean"
 52333           }
 52334         }
 52335       },
 52336       "output": {
 52337         "type": "structure",
 52338         "members": {
 52339           "DataSourceId": {}
 52340         }
 52341       }
 52342     },
 52343     "CreateDataSourceFromS3": {
 52344       "input": {
 52345         "type": "structure",
 52346         "required": [
 52347           "DataSourceId",
 52348           "DataSpec"
 52349         ],
 52350         "members": {
 52351           "DataSourceId": {},
 52352           "DataSourceName": {},
 52353           "DataSpec": {
 52354             "type": "structure",
 52355             "required": [
 52356               "DataLocationS3"
 52357             ],
 52358             "members": {
 52359               "DataLocationS3": {},
 52360               "DataRearrangement": {},
 52361               "DataSchema": {},
 52362               "DataSchemaLocationS3": {}
 52363             }
 52364           },
 52365           "ComputeStatistics": {
 52366             "type": "boolean"
 52367           }
 52368         }
 52369       },
 52370       "output": {
 52371         "type": "structure",
 52372         "members": {
 52373           "DataSourceId": {}
 52374         }
 52375       }
 52376     },
 52377     "CreateEvaluation": {
 52378       "input": {
 52379         "type": "structure",
 52380         "required": [
 52381           "EvaluationId",
 52382           "MLModelId",
 52383           "EvaluationDataSourceId"
 52384         ],
 52385         "members": {
 52386           "EvaluationId": {},
 52387           "EvaluationName": {},
 52388           "MLModelId": {},
 52389           "EvaluationDataSourceId": {}
 52390         }
 52391       },
 52392       "output": {
 52393         "type": "structure",
 52394         "members": {
 52395           "EvaluationId": {}
 52396         }
 52397       }
 52398     },
 52399     "CreateMLModel": {
 52400       "input": {
 52401         "type": "structure",
 52402         "required": [
 52403           "MLModelId",
 52404           "MLModelType",
 52405           "TrainingDataSourceId"
 52406         ],
 52407         "members": {
 52408           "MLModelId": {},
 52409           "MLModelName": {},
 52410           "MLModelType": {},
 52411           "Parameters": {
 52412             "shape": "S1d"
 52413           },
 52414           "TrainingDataSourceId": {},
 52415           "Recipe": {},
 52416           "RecipeUri": {}
 52417         }
 52418       },
 52419       "output": {
 52420         "type": "structure",
 52421         "members": {
 52422           "MLModelId": {}
 52423         }
 52424       }
 52425     },
 52426     "CreateRealtimeEndpoint": {
 52427       "input": {
 52428         "type": "structure",
 52429         "required": [
 52430           "MLModelId"
 52431         ],
 52432         "members": {
 52433           "MLModelId": {}
 52434         }
 52435       },
 52436       "output": {
 52437         "type": "structure",
 52438         "members": {
 52439           "MLModelId": {},
 52440           "RealtimeEndpointInfo": {
 52441             "shape": "S1j"
 52442           }
 52443         }
 52444       }
 52445     },
 52446     "DeleteBatchPrediction": {
 52447       "input": {
 52448         "type": "structure",
 52449         "required": [
 52450           "BatchPredictionId"
 52451         ],
 52452         "members": {
 52453           "BatchPredictionId": {}
 52454         }
 52455       },
 52456       "output": {
 52457         "type": "structure",
 52458         "members": {
 52459           "BatchPredictionId": {}
 52460         }
 52461       }
 52462     },
 52463     "DeleteDataSource": {
 52464       "input": {
 52465         "type": "structure",
 52466         "required": [
 52467           "DataSourceId"
 52468         ],
 52469         "members": {
 52470           "DataSourceId": {}
 52471         }
 52472       },
 52473       "output": {
 52474         "type": "structure",
 52475         "members": {
 52476           "DataSourceId": {}
 52477         }
 52478       }
 52479     },
 52480     "DeleteEvaluation": {
 52481       "input": {
 52482         "type": "structure",
 52483         "required": [
 52484           "EvaluationId"
 52485         ],
 52486         "members": {
 52487           "EvaluationId": {}
 52488         }
 52489       },
 52490       "output": {
 52491         "type": "structure",
 52492         "members": {
 52493           "EvaluationId": {}
 52494         }
 52495       }
 52496     },
 52497     "DeleteMLModel": {
 52498       "input": {
 52499         "type": "structure",
 52500         "required": [
 52501           "MLModelId"
 52502         ],
 52503         "members": {
 52504           "MLModelId": {}
 52505         }
 52506       },
 52507       "output": {
 52508         "type": "structure",
 52509         "members": {
 52510           "MLModelId": {}
 52511         }
 52512       }
 52513     },
 52514     "DeleteRealtimeEndpoint": {
 52515       "input": {
 52516         "type": "structure",
 52517         "required": [
 52518           "MLModelId"
 52519         ],
 52520         "members": {
 52521           "MLModelId": {}
 52522         }
 52523       },
 52524       "output": {
 52525         "type": "structure",
 52526         "members": {
 52527           "MLModelId": {},
 52528           "RealtimeEndpointInfo": {
 52529             "shape": "S1j"
 52530           }
 52531         }
 52532       }
 52533     },
 52534     "DeleteTags": {
 52535       "input": {
 52536         "type": "structure",
 52537         "required": [
 52538           "TagKeys",
 52539           "ResourceId",
 52540           "ResourceType"
 52541         ],
 52542         "members": {
 52543           "TagKeys": {
 52544             "type": "list",
 52545             "member": {}
 52546           },
 52547           "ResourceId": {},
 52548           "ResourceType": {}
 52549         }
 52550       },
 52551       "output": {
 52552         "type": "structure",
 52553         "members": {
 52554           "ResourceId": {},
 52555           "ResourceType": {}
 52556         }
 52557       }
 52558     },
 52559     "DescribeBatchPredictions": {
 52560       "input": {
 52561         "type": "structure",
 52562         "members": {
 52563           "FilterVariable": {},
 52564           "EQ": {},
 52565           "GT": {},
 52566           "LT": {},
 52567           "GE": {},
 52568           "LE": {},
 52569           "NE": {},
 52570           "Prefix": {},
 52571           "SortOrder": {},
 52572           "NextToken": {},
 52573           "Limit": {
 52574             "type": "integer"
 52575           }
 52576         }
 52577       },
 52578       "output": {
 52579         "type": "structure",
 52580         "members": {
 52581           "Results": {
 52582             "type": "list",
 52583             "member": {
 52584               "type": "structure",
 52585               "members": {
 52586                 "BatchPredictionId": {},
 52587                 "MLModelId": {},
 52588                 "BatchPredictionDataSourceId": {},
 52589                 "InputDataLocationS3": {},
 52590                 "CreatedByIamUser": {},
 52591                 "CreatedAt": {
 52592                   "type": "timestamp"
 52593                 },
 52594                 "LastUpdatedAt": {
 52595                   "type": "timestamp"
 52596                 },
 52597                 "Name": {},
 52598                 "Status": {},
 52599                 "OutputUri": {},
 52600                 "Message": {},
 52601                 "ComputeTime": {
 52602                   "type": "long"
 52603                 },
 52604                 "FinishedAt": {
 52605                   "type": "timestamp"
 52606                 },
 52607                 "StartedAt": {
 52608                   "type": "timestamp"
 52609                 },
 52610                 "TotalRecordCount": {
 52611                   "type": "long"
 52612                 },
 52613                 "InvalidRecordCount": {
 52614                   "type": "long"
 52615                 }
 52616               }
 52617             }
 52618           },
 52619           "NextToken": {}
 52620         }
 52621       }
 52622     },
 52623     "DescribeDataSources": {
 52624       "input": {
 52625         "type": "structure",
 52626         "members": {
 52627           "FilterVariable": {},
 52628           "EQ": {},
 52629           "GT": {},
 52630           "LT": {},
 52631           "GE": {},
 52632           "LE": {},
 52633           "NE": {},
 52634           "Prefix": {},
 52635           "SortOrder": {},
 52636           "NextToken": {},
 52637           "Limit": {
 52638             "type": "integer"
 52639           }
 52640         }
 52641       },
 52642       "output": {
 52643         "type": "structure",
 52644         "members": {
 52645           "Results": {
 52646             "type": "list",
 52647             "member": {
 52648               "type": "structure",
 52649               "members": {
 52650                 "DataSourceId": {},
 52651                 "DataLocationS3": {},
 52652                 "DataRearrangement": {},
 52653                 "CreatedByIamUser": {},
 52654                 "CreatedAt": {
 52655                   "type": "timestamp"
 52656                 },
 52657                 "LastUpdatedAt": {
 52658                   "type": "timestamp"
 52659                 },
 52660                 "DataSizeInBytes": {
 52661                   "type": "long"
 52662                 },
 52663                 "NumberOfFiles": {
 52664                   "type": "long"
 52665                 },
 52666                 "Name": {},
 52667                 "Status": {},
 52668                 "Message": {},
 52669                 "RedshiftMetadata": {
 52670                   "shape": "S2i"
 52671                 },
 52672                 "RDSMetadata": {
 52673                   "shape": "S2j"
 52674                 },
 52675                 "RoleARN": {},
 52676                 "ComputeStatistics": {
 52677                   "type": "boolean"
 52678                 },
 52679                 "ComputeTime": {
 52680                   "type": "long"
 52681                 },
 52682                 "FinishedAt": {
 52683                   "type": "timestamp"
 52684                 },
 52685                 "StartedAt": {
 52686                   "type": "timestamp"
 52687                 }
 52688               }
 52689             }
 52690           },
 52691           "NextToken": {}
 52692         }
 52693       }
 52694     },
 52695     "DescribeEvaluations": {
 52696       "input": {
 52697         "type": "structure",
 52698         "members": {
 52699           "FilterVariable": {},
 52700           "EQ": {},
 52701           "GT": {},
 52702           "LT": {},
 52703           "GE": {},
 52704           "LE": {},
 52705           "NE": {},
 52706           "Prefix": {},
 52707           "SortOrder": {},
 52708           "NextToken": {},
 52709           "Limit": {
 52710             "type": "integer"
 52711           }
 52712         }
 52713       },
 52714       "output": {
 52715         "type": "structure",
 52716         "members": {
 52717           "Results": {
 52718             "type": "list",
 52719             "member": {
 52720               "type": "structure",
 52721               "members": {
 52722                 "EvaluationId": {},
 52723                 "MLModelId": {},
 52724                 "EvaluationDataSourceId": {},
 52725                 "InputDataLocationS3": {},
 52726                 "CreatedByIamUser": {},
 52727                 "CreatedAt": {
 52728                   "type": "timestamp"
 52729                 },
 52730                 "LastUpdatedAt": {
 52731                   "type": "timestamp"
 52732                 },
 52733                 "Name": {},
 52734                 "Status": {},
 52735                 "PerformanceMetrics": {
 52736                   "shape": "S2q"
 52737                 },
 52738                 "Message": {},
 52739                 "ComputeTime": {
 52740                   "type": "long"
 52741                 },
 52742                 "FinishedAt": {
 52743                   "type": "timestamp"
 52744                 },
 52745                 "StartedAt": {
 52746                   "type": "timestamp"
 52747                 }
 52748               }
 52749             }
 52750           },
 52751           "NextToken": {}
 52752         }
 52753       }
 52754     },
 52755     "DescribeMLModels": {
 52756       "input": {
 52757         "type": "structure",
 52758         "members": {
 52759           "FilterVariable": {},
 52760           "EQ": {},
 52761           "GT": {},
 52762           "LT": {},
 52763           "GE": {},
 52764           "LE": {},
 52765           "NE": {},
 52766           "Prefix": {},
 52767           "SortOrder": {},
 52768           "NextToken": {},
 52769           "Limit": {
 52770             "type": "integer"
 52771           }
 52772         }
 52773       },
 52774       "output": {
 52775         "type": "structure",
 52776         "members": {
 52777           "Results": {
 52778             "type": "list",
 52779             "member": {
 52780               "type": "structure",
 52781               "members": {
 52782                 "MLModelId": {},
 52783                 "TrainingDataSourceId": {},
 52784                 "CreatedByIamUser": {},
 52785                 "CreatedAt": {
 52786                   "type": "timestamp"
 52787                 },
 52788                 "LastUpdatedAt": {
 52789                   "type": "timestamp"
 52790                 },
 52791                 "Name": {},
 52792                 "Status": {},
 52793                 "SizeInBytes": {
 52794                   "type": "long"
 52795                 },
 52796                 "EndpointInfo": {
 52797                   "shape": "S1j"
 52798                 },
 52799                 "TrainingParameters": {
 52800                   "shape": "S1d"
 52801                 },
 52802                 "InputDataLocationS3": {},
 52803                 "Algorithm": {},
 52804                 "MLModelType": {},
 52805                 "ScoreThreshold": {
 52806                   "type": "float"
 52807                 },
 52808                 "ScoreThresholdLastUpdatedAt": {
 52809                   "type": "timestamp"
 52810                 },
 52811                 "Message": {},
 52812                 "ComputeTime": {
 52813                   "type": "long"
 52814                 },
 52815                 "FinishedAt": {
 52816                   "type": "timestamp"
 52817                 },
 52818                 "StartedAt": {
 52819                   "type": "timestamp"
 52820                 }
 52821               }
 52822             }
 52823           },
 52824           "NextToken": {}
 52825         }
 52826       }
 52827     },
 52828     "DescribeTags": {
 52829       "input": {
 52830         "type": "structure",
 52831         "required": [
 52832           "ResourceId",
 52833           "ResourceType"
 52834         ],
 52835         "members": {
 52836           "ResourceId": {},
 52837           "ResourceType": {}
 52838         }
 52839       },
 52840       "output": {
 52841         "type": "structure",
 52842         "members": {
 52843           "ResourceId": {},
 52844           "ResourceType": {},
 52845           "Tags": {
 52846             "shape": "S2"
 52847           }
 52848         }
 52849       }
 52850     },
 52851     "GetBatchPrediction": {
 52852       "input": {
 52853         "type": "structure",
 52854         "required": [
 52855           "BatchPredictionId"
 52856         ],
 52857         "members": {
 52858           "BatchPredictionId": {}
 52859         }
 52860       },
 52861       "output": {
 52862         "type": "structure",
 52863         "members": {
 52864           "BatchPredictionId": {},
 52865           "MLModelId": {},
 52866           "BatchPredictionDataSourceId": {},
 52867           "InputDataLocationS3": {},
 52868           "CreatedByIamUser": {},
 52869           "CreatedAt": {
 52870             "type": "timestamp"
 52871           },
 52872           "LastUpdatedAt": {
 52873             "type": "timestamp"
 52874           },
 52875           "Name": {},
 52876           "Status": {},
 52877           "OutputUri": {},
 52878           "LogUri": {},
 52879           "Message": {},
 52880           "ComputeTime": {
 52881             "type": "long"
 52882           },
 52883           "FinishedAt": {
 52884             "type": "timestamp"
 52885           },
 52886           "StartedAt": {
 52887             "type": "timestamp"
 52888           },
 52889           "TotalRecordCount": {
 52890             "type": "long"
 52891           },
 52892           "InvalidRecordCount": {
 52893             "type": "long"
 52894           }
 52895         }
 52896       }
 52897     },
 52898     "GetDataSource": {
 52899       "input": {
 52900         "type": "structure",
 52901         "required": [
 52902           "DataSourceId"
 52903         ],
 52904         "members": {
 52905           "DataSourceId": {},
 52906           "Verbose": {
 52907             "type": "boolean"
 52908           }
 52909         }
 52910       },
 52911       "output": {
 52912         "type": "structure",
 52913         "members": {
 52914           "DataSourceId": {},
 52915           "DataLocationS3": {},
 52916           "DataRearrangement": {},
 52917           "CreatedByIamUser": {},
 52918           "CreatedAt": {
 52919             "type": "timestamp"
 52920           },
 52921           "LastUpdatedAt": {
 52922             "type": "timestamp"
 52923           },
 52924           "DataSizeInBytes": {
 52925             "type": "long"
 52926           },
 52927           "NumberOfFiles": {
 52928             "type": "long"
 52929           },
 52930           "Name": {},
 52931           "Status": {},
 52932           "LogUri": {},
 52933           "Message": {},
 52934           "RedshiftMetadata": {
 52935             "shape": "S2i"
 52936           },
 52937           "RDSMetadata": {
 52938             "shape": "S2j"
 52939           },
 52940           "RoleARN": {},
 52941           "ComputeStatistics": {
 52942             "type": "boolean"
 52943           },
 52944           "ComputeTime": {
 52945             "type": "long"
 52946           },
 52947           "FinishedAt": {
 52948             "type": "timestamp"
 52949           },
 52950           "StartedAt": {
 52951             "type": "timestamp"
 52952           },
 52953           "DataSourceSchema": {}
 52954         }
 52955       }
 52956     },
 52957     "GetEvaluation": {
 52958       "input": {
 52959         "type": "structure",
 52960         "required": [
 52961           "EvaluationId"
 52962         ],
 52963         "members": {
 52964           "EvaluationId": {}
 52965         }
 52966       },
 52967       "output": {
 52968         "type": "structure",
 52969         "members": {
 52970           "EvaluationId": {},
 52971           "MLModelId": {},
 52972           "EvaluationDataSourceId": {},
 52973           "InputDataLocationS3": {},
 52974           "CreatedByIamUser": {},
 52975           "CreatedAt": {
 52976             "type": "timestamp"
 52977           },
 52978           "LastUpdatedAt": {
 52979             "type": "timestamp"
 52980           },
 52981           "Name": {},
 52982           "Status": {},
 52983           "PerformanceMetrics": {
 52984             "shape": "S2q"
 52985           },
 52986           "LogUri": {},
 52987           "Message": {},
 52988           "ComputeTime": {
 52989             "type": "long"
 52990           },
 52991           "FinishedAt": {
 52992             "type": "timestamp"
 52993           },
 52994           "StartedAt": {
 52995             "type": "timestamp"
 52996           }
 52997         }
 52998       }
 52999     },
 53000     "GetMLModel": {
 53001       "input": {
 53002         "type": "structure",
 53003         "required": [
 53004           "MLModelId"
 53005         ],
 53006         "members": {
 53007           "MLModelId": {},
 53008           "Verbose": {
 53009             "type": "boolean"
 53010           }
 53011         }
 53012       },
 53013       "output": {
 53014         "type": "structure",
 53015         "members": {
 53016           "MLModelId": {},
 53017           "TrainingDataSourceId": {},
 53018           "CreatedByIamUser": {},
 53019           "CreatedAt": {
 53020             "type": "timestamp"
 53021           },
 53022           "LastUpdatedAt": {
 53023             "type": "timestamp"
 53024           },
 53025           "Name": {},
 53026           "Status": {},
 53027           "SizeInBytes": {
 53028             "type": "long"
 53029           },
 53030           "EndpointInfo": {
 53031             "shape": "S1j"
 53032           },
 53033           "TrainingParameters": {
 53034             "shape": "S1d"
 53035           },
 53036           "InputDataLocationS3": {},
 53037           "MLModelType": {},
 53038           "ScoreThreshold": {
 53039             "type": "float"
 53040           },
 53041           "ScoreThresholdLastUpdatedAt": {
 53042             "type": "timestamp"
 53043           },
 53044           "LogUri": {},
 53045           "Message": {},
 53046           "ComputeTime": {
 53047             "type": "long"
 53048           },
 53049           "FinishedAt": {
 53050             "type": "timestamp"
 53051           },
 53052           "StartedAt": {
 53053             "type": "timestamp"
 53054           },
 53055           "Recipe": {},
 53056           "Schema": {}
 53057         }
 53058       }
 53059     },
 53060     "Predict": {
 53061       "input": {
 53062         "type": "structure",
 53063         "required": [
 53064           "MLModelId",
 53065           "Record",
 53066           "PredictEndpoint"
 53067         ],
 53068         "members": {
 53069           "MLModelId": {},
 53070           "Record": {
 53071             "type": "map",
 53072             "key": {},
 53073             "value": {}
 53074           },
 53075           "PredictEndpoint": {}
 53076         }
 53077       },
 53078       "output": {
 53079         "type": "structure",
 53080         "members": {
 53081           "Prediction": {
 53082             "type": "structure",
 53083             "members": {
 53084               "predictedLabel": {},
 53085               "predictedValue": {
 53086                 "type": "float"
 53087               },
 53088               "predictedScores": {
 53089                 "type": "map",
 53090                 "key": {},
 53091                 "value": {
 53092                   "type": "float"
 53093                 }
 53094               },
 53095               "details": {
 53096                 "type": "map",
 53097                 "key": {},
 53098                 "value": {}
 53099               }
 53100             }
 53101           }
 53102         }
 53103       }
 53104     },
 53105     "UpdateBatchPrediction": {
 53106       "input": {
 53107         "type": "structure",
 53108         "required": [
 53109           "BatchPredictionId",
 53110           "BatchPredictionName"
 53111         ],
 53112         "members": {
 53113           "BatchPredictionId": {},
 53114           "BatchPredictionName": {}
 53115         }
 53116       },
 53117       "output": {
 53118         "type": "structure",
 53119         "members": {
 53120           "BatchPredictionId": {}
 53121         }
 53122       }
 53123     },
 53124     "UpdateDataSource": {
 53125       "input": {
 53126         "type": "structure",
 53127         "required": [
 53128           "DataSourceId",
 53129           "DataSourceName"
 53130         ],
 53131         "members": {
 53132           "DataSourceId": {},
 53133           "DataSourceName": {}
 53134         }
 53135       },
 53136       "output": {
 53137         "type": "structure",
 53138         "members": {
 53139           "DataSourceId": {}
 53140         }
 53141       }
 53142     },
 53143     "UpdateEvaluation": {
 53144       "input": {
 53145         "type": "structure",
 53146         "required": [
 53147           "EvaluationId",
 53148           "EvaluationName"
 53149         ],
 53150         "members": {
 53151           "EvaluationId": {},
 53152           "EvaluationName": {}
 53153         }
 53154       },
 53155       "output": {
 53156         "type": "structure",
 53157         "members": {
 53158           "EvaluationId": {}
 53159         }
 53160       }
 53161     },
 53162     "UpdateMLModel": {
 53163       "input": {
 53164         "type": "structure",
 53165         "required": [
 53166           "MLModelId"
 53167         ],
 53168         "members": {
 53169           "MLModelId": {},
 53170           "MLModelName": {},
 53171           "ScoreThreshold": {
 53172             "type": "float"
 53173           }
 53174         }
 53175       },
 53176       "output": {
 53177         "type": "structure",
 53178         "members": {
 53179           "MLModelId": {}
 53180         }
 53181       }
 53182     }
 53183   },
 53184   "shapes": {
 53185     "S2": {
 53186       "type": "list",
 53187       "member": {
 53188         "type": "structure",
 53189         "members": {
 53190           "Key": {},
 53191           "Value": {}
 53192         }
 53193       }
 53194     },
 53195     "Sf": {
 53196       "type": "structure",
 53197       "required": [
 53198         "InstanceIdentifier",
 53199         "DatabaseName"
 53200       ],
 53201       "members": {
 53202         "InstanceIdentifier": {},
 53203         "DatabaseName": {}
 53204       }
 53205     },
 53206     "Sy": {
 53207       "type": "structure",
 53208       "required": [
 53209         "DatabaseName",
 53210         "ClusterIdentifier"
 53211       ],
 53212       "members": {
 53213         "DatabaseName": {},
 53214         "ClusterIdentifier": {}
 53215       }
 53216     },
 53217     "S1d": {
 53218       "type": "map",
 53219       "key": {},
 53220       "value": {}
 53221     },
 53222     "S1j": {
 53223       "type": "structure",
 53224       "members": {
 53225         "PeakRequestsPerSecond": {
 53226           "type": "integer"
 53227         },
 53228         "CreatedAt": {
 53229           "type": "timestamp"
 53230         },
 53231         "EndpointUrl": {},
 53232         "EndpointStatus": {}
 53233       }
 53234     },
 53235     "S2i": {
 53236       "type": "structure",
 53237       "members": {
 53238         "RedshiftDatabase": {
 53239           "shape": "Sy"
 53240         },
 53241         "DatabaseUserName": {},
 53242         "SelectSqlQuery": {}
 53243       }
 53244     },
 53245     "S2j": {
 53246       "type": "structure",
 53247       "members": {
 53248         "Database": {
 53249           "shape": "Sf"
 53250         },
 53251         "DatabaseUserName": {},
 53252         "SelectSqlQuery": {},
 53253         "ResourceRole": {},
 53254         "ServiceRole": {},
 53255         "DataPipelineId": {}
 53256       }
 53257     },
 53258     "S2q": {
 53259       "type": "structure",
 53260       "members": {
 53261         "Properties": {
 53262           "type": "map",
 53263           "key": {},
 53264           "value": {}
 53265         }
 53266       }
 53267     }
 53268   },
 53269   "examples": {}
 53270 }
 53271 },{}],84:[function(require,module,exports){
 53272 module.exports={
 53273   "pagination": {
 53274     "DescribeBatchPredictions": {
 53275       "limit_key": "Limit",
 53276       "output_token": "NextToken",
 53277       "input_token": "NextToken",
 53278       "result_key": "Results"
 53279     },
 53280     "DescribeDataSources": {
 53281       "limit_key": "Limit",
 53282       "output_token": "NextToken",
 53283       "input_token": "NextToken",
 53284       "result_key": "Results"
 53285     },
 53286     "DescribeEvaluations": {
 53287       "limit_key": "Limit",
 53288       "output_token": "NextToken",
 53289       "input_token": "NextToken",
 53290       "result_key": "Results"
 53291     },
 53292     "DescribeMLModels": {
 53293       "limit_key": "Limit",
 53294       "output_token": "NextToken",
 53295       "input_token": "NextToken",
 53296       "result_key": "Results"
 53297     }
 53298   }
 53299 }
 53300 
 53301 },{}],85:[function(require,module,exports){
 53302 module.exports={
 53303   "version": 2,
 53304   "waiters": {
 53305     "DataSourceAvailable": {
 53306       "delay": 30,
 53307       "operation": "DescribeDataSources",
 53308       "maxAttempts": 60,
 53309       "acceptors": [
 53310         {
 53311           "expected": "COMPLETED",
 53312           "matcher": "pathAll",
 53313           "state": "success",
 53314           "argument": "Results[].Status"
 53315         },
 53316         {
 53317           "expected": "FAILED",
 53318           "matcher": "pathAny",
 53319           "state": "failure",
 53320           "argument": "Results[].Status"
 53321         }
 53322       ]
 53323     },
 53324     "MLModelAvailable": {
 53325       "delay": 30,
 53326       "operation": "DescribeMLModels",
 53327       "maxAttempts": 60,
 53328       "acceptors": [
 53329         {
 53330           "expected": "COMPLETED",
 53331           "matcher": "pathAll",
 53332           "state": "success",
 53333           "argument": "Results[].Status"
 53334         },
 53335         {
 53336           "expected": "FAILED",
 53337           "matcher": "pathAny",
 53338           "state": "failure",
 53339           "argument": "Results[].Status"
 53340         }
 53341       ]
 53342     },
 53343     "EvaluationAvailable": {
 53344       "delay": 30,
 53345       "operation": "DescribeEvaluations",
 53346       "maxAttempts": 60,
 53347       "acceptors": [
 53348         {
 53349           "expected": "COMPLETED",
 53350           "matcher": "pathAll",
 53351           "state": "success",
 53352           "argument": "Results[].Status"
 53353         },
 53354         {
 53355           "expected": "FAILED",
 53356           "matcher": "pathAny",
 53357           "state": "failure",
 53358           "argument": "Results[].Status"
 53359         }
 53360       ]
 53361     },
 53362     "BatchPredictionAvailable": {
 53363       "delay": 30,
 53364       "operation": "DescribeBatchPredictions",
 53365       "maxAttempts": 60,
 53366       "acceptors": [
 53367         {
 53368           "expected": "COMPLETED",
 53369           "matcher": "pathAll",
 53370           "state": "success",
 53371           "argument": "Results[].Status"
 53372         },
 53373         {
 53374           "expected": "FAILED",
 53375           "matcher": "pathAny",
 53376           "state": "failure",
 53377           "argument": "Results[].Status"
 53378         }
 53379       ]
 53380     }
 53381   }
 53382 }
 53383 
 53384 },{}],86:[function(require,module,exports){
 53385 module.exports={
 53386   "version": "2.0",
 53387   "metadata": {
 53388     "apiVersion": "2015-07-01",
 53389     "endpointPrefix": "marketplacecommerceanalytics",
 53390     "jsonVersion": "1.1",
 53391     "protocol": "json",
 53392     "serviceFullName": "AWS Marketplace Commerce Analytics",
 53393     "signatureVersion": "v4",
 53394     "signingName": "marketplacecommerceanalytics",
 53395     "targetPrefix": "MarketplaceCommerceAnalytics20150701"
 53396   },
 53397   "operations": {
 53398     "GenerateDataSet": {
 53399       "input": {
 53400         "type": "structure",
 53401         "required": [
 53402           "dataSetType",
 53403           "dataSetPublicationDate",
 53404           "roleNameArn",
 53405           "destinationS3BucketName",
 53406           "snsTopicArn"
 53407         ],
 53408         "members": {
 53409           "dataSetType": {},
 53410           "dataSetPublicationDate": {
 53411             "type": "timestamp"
 53412           },
 53413           "roleNameArn": {},
 53414           "destinationS3BucketName": {},
 53415           "destinationS3Prefix": {},
 53416           "snsTopicArn": {},
 53417           "customerDefinedValues": {
 53418             "shape": "S8"
 53419           }
 53420         }
 53421       },
 53422       "output": {
 53423         "type": "structure",
 53424         "members": {
 53425           "dataSetRequestId": {}
 53426         }
 53427       }
 53428     },
 53429     "StartSupportDataExport": {
 53430       "input": {
 53431         "type": "structure",
 53432         "required": [
 53433           "dataSetType",
 53434           "fromDate",
 53435           "roleNameArn",
 53436           "destinationS3BucketName",
 53437           "snsTopicArn"
 53438         ],
 53439         "members": {
 53440           "dataSetType": {},
 53441           "fromDate": {
 53442             "type": "timestamp"
 53443           },
 53444           "roleNameArn": {},
 53445           "destinationS3BucketName": {},
 53446           "destinationS3Prefix": {},
 53447           "snsTopicArn": {},
 53448           "customerDefinedValues": {
 53449             "shape": "S8"
 53450           }
 53451         }
 53452       },
 53453       "output": {
 53454         "type": "structure",
 53455         "members": {
 53456           "dataSetRequestId": {}
 53457         }
 53458       }
 53459     }
 53460   },
 53461   "shapes": {
 53462     "S8": {
 53463       "type": "map",
 53464       "key": {},
 53465       "value": {}
 53466     }
 53467   }
 53468 }
 53469 },{}],87:[function(require,module,exports){
 53470 module.exports={
 53471   "acm": {
 53472     "name": "ACM",
 53473     "cors": true
 53474   },
 53475   "apigateway": {
 53476     "name": "APIGateway",
 53477     "cors": true
 53478   },
 53479   "applicationautoscaling": {
 53480     "prefix": "application-autoscaling",
 53481     "name": "ApplicationAutoScaling",
 53482     "cors": true
 53483   },
 53484   "autoscaling": {
 53485     "name": "AutoScaling",
 53486     "cors": true
 53487   },
 53488   "budgets": {
 53489     "name": "Budgets"
 53490   },
 53491   "cloudformation": {
 53492     "name": "CloudFormation",
 53493     "cors": true
 53494   },
 53495   "cloudfront": {
 53496     "name": "CloudFront",
 53497     "versions": [
 53498       "2013-05-12*",
 53499       "2013-11-11*",
 53500       "2014-05-31*",
 53501       "2014-10-21*",
 53502       "2014-11-06*",
 53503       "2015-04-17*",
 53504       "2015-07-27*",
 53505       "2015-09-17*",
 53506       "2016-01-13*",
 53507       "2016-01-28*",
 53508       "2016-08-01*",
 53509       "2016-08-20*",
 53510       "2016-09-07*"
 53511     ],
 53512     "cors": true
 53513   },
 53514   "cloudhsm": {
 53515     "name": "CloudHSM",
 53516     "cors": true
 53517   },
 53518   "cloudsearch": {
 53519     "name": "CloudSearch"
 53520   },
 53521   "cloudsearchdomain": {
 53522     "name": "CloudSearchDomain"
 53523   },
 53524   "cloudtrail": {
 53525     "name": "CloudTrail",
 53526     "cors": true
 53527   },
 53528   "cloudwatch": {
 53529     "prefix": "monitoring",
 53530     "name": "CloudWatch",
 53531     "cors": true
 53532   },
 53533   "cloudwatchevents": {
 53534     "prefix": "events",
 53535     "name": "CloudWatchEvents",
 53536     "versions": [
 53537       "2014-02-03*"
 53538     ],
 53539     "cors": true
 53540   },
 53541   "cloudwatchlogs": {
 53542     "prefix": "logs",
 53543     "name": "CloudWatchLogs",
 53544     "cors": true
 53545   },
 53546   "codecommit": {
 53547     "name": "CodeCommit",
 53548     "cors": true
 53549   },
 53550   "codedeploy": {
 53551     "name": "CodeDeploy",
 53552     "cors": true
 53553   },
 53554   "codepipeline": {
 53555     "name": "CodePipeline",
 53556     "cors": true
 53557   },
 53558   "cognitoidentity": {
 53559     "prefix": "cognito-identity",
 53560     "name": "CognitoIdentity",
 53561     "cors": true
 53562   },
 53563   "cognitoidentityserviceprovider": {
 53564     "prefix": "cognito-idp",
 53565     "name": "CognitoIdentityServiceProvider",
 53566     "cors": true
 53567   },
 53568   "cognitosync": {
 53569     "prefix": "cognito-sync",
 53570     "name": "CognitoSync",
 53571     "cors": true
 53572   },
 53573   "configservice": {
 53574     "prefix": "config",
 53575     "name": "ConfigService",
 53576     "cors": true
 53577   },
 53578   "datapipeline": {
 53579     "name": "DataPipeline"
 53580   },
 53581   "devicefarm": {
 53582     "name": "DeviceFarm",
 53583     "cors": true
 53584   },
 53585   "directconnect": {
 53586     "name": "DirectConnect",
 53587     "cors": true
 53588   },
 53589   "directoryservice": {
 53590     "prefix": "ds",
 53591     "name": "DirectoryService"
 53592   },
 53593   "discovery": {
 53594     "name": "Discovery"
 53595   },
 53596   "dms": {
 53597     "name": "DMS"
 53598   },
 53599   "dynamodb": {
 53600     "name": "DynamoDB",
 53601     "cors": true
 53602   },
 53603   "dynamodbstreams": {
 53604     "prefix": "streams.dynamodb",
 53605     "name": "DynamoDBStreams",
 53606     "cors": true
 53607   },
 53608   "ec2": {
 53609     "name": "EC2",
 53610     "versions": [
 53611       "2013-06-15*",
 53612       "2013-10-15*",
 53613       "2014-02-01*",
 53614       "2014-05-01*",
 53615       "2014-06-15*",
 53616       "2014-09-01*",
 53617       "2014-10-01*",
 53618       "2015-03-01*",
 53619       "2015-04-15*",
 53620       "2015-10-01*",
 53621       "2016-04-01*"
 53622     ],
 53623     "cors": true
 53624   },
 53625   "ecr": {
 53626     "name": "ECR",
 53627     "cors": true
 53628   },
 53629   "ecs": {
 53630     "name": "ECS",
 53631     "cors": true
 53632   },
 53633   "efs": {
 53634     "prefix": "elasticfilesystem",
 53635     "name": "EFS"
 53636   },
 53637   "elasticache": {
 53638     "name": "ElastiCache",
 53639     "versions": [
 53640       "2012-11-15*",
 53641       "2014-03-24*",
 53642       "2014-07-15*",
 53643       "2014-09-30*"
 53644     ],
 53645     "cors": true
 53646   },
 53647   "elasticbeanstalk": {
 53648     "name": "ElasticBeanstalk",
 53649     "cors": true
 53650   },
 53651   "elb": {
 53652     "prefix": "elasticloadbalancing",
 53653     "name": "ELB",
 53654     "cors": true
 53655   },
 53656   "elbv2": {
 53657     "prefix": "elasticloadbalancingv2",
 53658     "name": "ELBv2",
 53659     "cors": true
 53660   },
 53661   "emr": {
 53662     "prefix": "elasticmapreduce",
 53663     "name": "EMR",
 53664     "cors": true
 53665   },
 53666   "es": {
 53667     "name": "ES"
 53668   },
 53669   "elastictranscoder": {
 53670     "name": "ElasticTranscoder",
 53671     "cors": true
 53672   },
 53673   "firehose": {
 53674     "name": "Firehose",
 53675     "cors": true
 53676   },
 53677   "gamelift": {
 53678     "name": "GameLift",
 53679     "cors": true
 53680   },
 53681   "glacier": {
 53682     "name": "Glacier"
 53683   },
 53684   "iam": {
 53685     "name": "IAM"
 53686   },
 53687   "importexport": {
 53688     "name": "ImportExport"
 53689   },
 53690   "inspector": {
 53691     "name": "Inspector",
 53692     "versions": [
 53693       "2015-08-18*"
 53694     ],
 53695     "cors": true
 53696   },
 53697   "iot": {
 53698     "name": "Iot",
 53699     "cors": true
 53700   },
 53701   "iotdata": {
 53702     "prefix": "iot-data",
 53703     "name": "IotData",
 53704     "cors": true
 53705   },
 53706   "kinesis": {
 53707     "name": "Kinesis",
 53708     "cors": true
 53709   },
 53710   "kinesisanalytics": {
 53711     "name": "KinesisAnalytics"
 53712   },
 53713   "kms": {
 53714     "name": "KMS",
 53715     "cors": true
 53716   },
 53717   "lambda": {
 53718     "name": "Lambda",
 53719     "cors": true
 53720   },
 53721   "machinelearning": {
 53722     "name": "MachineLearning",
 53723     "cors": true
 53724   },
 53725   "marketplacecommerceanalytics": {
 53726     "name": "MarketplaceCommerceAnalytics",
 53727     "cors": true
 53728   },
 53729   "marketplacemetering": {
 53730     "prefix": "meteringmarketplace",
 53731     "name": "MarketplaceMetering"
 53732   },
 53733   "mobileanalytics": {
 53734     "name": "MobileAnalytics",
 53735     "cors": true
 53736   },
 53737   "opsworks": {
 53738     "name": "OpsWorks",
 53739     "cors": true
 53740   },
 53741   "rds": {
 53742     "name": "RDS",
 53743     "versions": [
 53744       "2014-09-01*"
 53745     ],
 53746     "cors": true
 53747   },
 53748   "redshift": {
 53749     "name": "Redshift",
 53750     "cors": true
 53751   },
 53752   "route53": {
 53753     "name": "Route53",
 53754     "cors": true
 53755   },
 53756   "route53domains": {
 53757     "name": "Route53Domains",
 53758     "cors": true
 53759   },
 53760   "s3": {
 53761     "name": "S3",
 53762     "dualstackAvailable": true,
 53763     "cors": true
 53764   },
 53765   "servicecatalog": {
 53766     "name": "ServiceCatalog",
 53767     "cors": true
 53768   },
 53769   "ses": {
 53770     "prefix": "email",
 53771     "name": "SES",
 53772     "cors": true
 53773   },
 53774   "simpledb": {
 53775     "prefix": "sdb",
 53776     "name": "SimpleDB"
 53777   },
 53778   "sms": {
 53779     "name": "SMS"
 53780   },
 53781   "snowball": {
 53782     "name": "Snowball"
 53783   },
 53784   "sns": {
 53785     "name": "SNS",
 53786     "cors": true
 53787   },
 53788   "sqs": {
 53789     "name": "SQS",
 53790     "cors": true
 53791   },
 53792   "ssm": {
 53793     "name": "SSM",
 53794     "cors": true
 53795   },
 53796   "storagegateway": {
 53797     "name": "StorageGateway",
 53798     "cors": true
 53799   },
 53800   "sts": {
 53801     "name": "STS",
 53802     "cors": true
 53803   },
 53804   "support": {
 53805     "name": "Support"
 53806   },
 53807   "swf": {
 53808     "name": "SWF"
 53809   },
 53810   "waf": {
 53811     "name": "WAF",
 53812     "cors": true
 53813   },
 53814   "workspaces": {
 53815     "name": "WorkSpaces"
 53816   }
 53817 }
 53818 
 53819 },{}],88:[function(require,module,exports){
 53820 module.exports={
 53821   "version": "2.0",
 53822   "metadata": {
 53823     "apiVersion": "2014-06-05",
 53824     "endpointPrefix": "mobileanalytics",
 53825     "serviceFullName": "Amazon Mobile Analytics",
 53826     "signatureVersion": "v4",
 53827     "protocol": "rest-json"
 53828   },
 53829   "operations": {
 53830     "PutEvents": {
 53831       "http": {
 53832         "requestUri": "/2014-06-05/events",
 53833         "responseCode": 202
 53834       },
 53835       "input": {
 53836         "type": "structure",
 53837         "required": [
 53838           "events",
 53839           "clientContext"
 53840         ],
 53841         "members": {
 53842           "events": {
 53843             "type": "list",
 53844             "member": {
 53845               "type": "structure",
 53846               "required": [
 53847                 "eventType",
 53848                 "timestamp"
 53849               ],
 53850               "members": {
 53851                 "eventType": {},
 53852                 "timestamp": {},
 53853                 "session": {
 53854                   "type": "structure",
 53855                   "members": {
 53856                     "id": {},
 53857                     "duration": {
 53858                       "type": "long"
 53859                     },
 53860                     "startTimestamp": {},
 53861                     "stopTimestamp": {}
 53862                   }
 53863                 },
 53864                 "version": {},
 53865                 "attributes": {
 53866                   "type": "map",
 53867                   "key": {},
 53868                   "value": {}
 53869                 },
 53870                 "metrics": {
 53871                   "type": "map",
 53872                   "key": {},
 53873                   "value": {
 53874                     "type": "double"
 53875                   }
 53876                 }
 53877               }
 53878             }
 53879           },
 53880           "clientContext": {
 53881             "location": "header",
 53882             "locationName": "x-amz-Client-Context"
 53883           },
 53884           "clientContextEncoding": {
 53885             "location": "header",
 53886             "locationName": "x-amz-Client-Context-Encoding"
 53887           }
 53888         }
 53889       }
 53890     }
 53891   },
 53892   "shapes": {}
 53893 }
 53894 },{}],89:[function(require,module,exports){
 53895 module.exports={
 53896   "version": "2.0",
 53897   "metadata": {
 53898     "apiVersion": "2010-08-01",
 53899     "endpointPrefix": "monitoring",
 53900     "protocol": "query",
 53901     "serviceAbbreviation": "CloudWatch",
 53902     "serviceFullName": "Amazon CloudWatch",
 53903     "signatureVersion": "v4",
 53904     "xmlNamespace": "http://monitoring.amazonaws.com/doc/2010-08-01/"
 53905   },
 53906   "operations": {
 53907     "DeleteAlarms": {
 53908       "input": {
 53909         "type": "structure",
 53910         "required": [
 53911           "AlarmNames"
 53912         ],
 53913         "members": {
 53914           "AlarmNames": {
 53915             "shape": "S2"
 53916           }
 53917         }
 53918       }
 53919     },
 53920     "DescribeAlarmHistory": {
 53921       "input": {
 53922         "type": "structure",
 53923         "members": {
 53924           "AlarmName": {},
 53925           "HistoryItemType": {},
 53926           "StartDate": {
 53927             "type": "timestamp"
 53928           },
 53929           "EndDate": {
 53930             "type": "timestamp"
 53931           },
 53932           "MaxRecords": {
 53933             "type": "integer"
 53934           },
 53935           "NextToken": {}
 53936         }
 53937       },
 53938       "output": {
 53939         "resultWrapper": "DescribeAlarmHistoryResult",
 53940         "type": "structure",
 53941         "members": {
 53942           "AlarmHistoryItems": {
 53943             "type": "list",
 53944             "member": {
 53945               "type": "structure",
 53946               "members": {
 53947                 "AlarmName": {},
 53948                 "Timestamp": {
 53949                   "type": "timestamp"
 53950                 },
 53951                 "HistoryItemType": {},
 53952                 "HistorySummary": {},
 53953                 "HistoryData": {}
 53954               }
 53955             }
 53956           },
 53957           "NextToken": {}
 53958         }
 53959       }
 53960     },
 53961     "DescribeAlarms": {
 53962       "input": {
 53963         "type": "structure",
 53964         "members": {
 53965           "AlarmNames": {
 53966             "shape": "S2"
 53967           },
 53968           "AlarmNamePrefix": {},
 53969           "StateValue": {},
 53970           "ActionPrefix": {},
 53971           "MaxRecords": {
 53972             "type": "integer"
 53973           },
 53974           "NextToken": {}
 53975         }
 53976       },
 53977       "output": {
 53978         "resultWrapper": "DescribeAlarmsResult",
 53979         "type": "structure",
 53980         "members": {
 53981           "MetricAlarms": {
 53982             "shape": "Sj"
 53983           },
 53984           "NextToken": {}
 53985         }
 53986       }
 53987     },
 53988     "DescribeAlarmsForMetric": {
 53989       "input": {
 53990         "type": "structure",
 53991         "required": [
 53992           "MetricName",
 53993           "Namespace"
 53994         ],
 53995         "members": {
 53996           "MetricName": {},
 53997           "Namespace": {},
 53998           "Statistic": {},
 53999           "ExtendedStatistic": {},
 54000           "Dimensions": {
 54001             "shape": "Sw"
 54002           },
 54003           "Period": {
 54004             "type": "integer"
 54005           },
 54006           "Unit": {}
 54007         }
 54008       },
 54009       "output": {
 54010         "resultWrapper": "DescribeAlarmsForMetricResult",
 54011         "type": "structure",
 54012         "members": {
 54013           "MetricAlarms": {
 54014             "shape": "Sj"
 54015           }
 54016         }
 54017       }
 54018     },
 54019     "DisableAlarmActions": {
 54020       "input": {
 54021         "type": "structure",
 54022         "required": [
 54023           "AlarmNames"
 54024         ],
 54025         "members": {
 54026           "AlarmNames": {
 54027             "shape": "S2"
 54028           }
 54029         }
 54030       }
 54031     },
 54032     "EnableAlarmActions": {
 54033       "input": {
 54034         "type": "structure",
 54035         "required": [
 54036           "AlarmNames"
 54037         ],
 54038         "members": {
 54039           "AlarmNames": {
 54040             "shape": "S2"
 54041           }
 54042         }
 54043       }
 54044     },
 54045     "GetMetricStatistics": {
 54046       "input": {
 54047         "type": "structure",
 54048         "required": [
 54049           "Namespace",
 54050           "MetricName",
 54051           "StartTime",
 54052           "EndTime",
 54053           "Period"
 54054         ],
 54055         "members": {
 54056           "Namespace": {},
 54057           "MetricName": {},
 54058           "Dimensions": {
 54059             "shape": "Sw"
 54060           },
 54061           "StartTime": {
 54062             "type": "timestamp"
 54063           },
 54064           "EndTime": {
 54065             "type": "timestamp"
 54066           },
 54067           "Period": {
 54068             "type": "integer"
 54069           },
 54070           "Statistics": {
 54071             "type": "list",
 54072             "member": {}
 54073           },
 54074           "ExtendedStatistics": {
 54075             "type": "list",
 54076             "member": {}
 54077           },
 54078           "Unit": {}
 54079         }
 54080       },
 54081       "output": {
 54082         "resultWrapper": "GetMetricStatisticsResult",
 54083         "type": "structure",
 54084         "members": {
 54085           "Label": {},
 54086           "Datapoints": {
 54087             "type": "list",
 54088             "member": {
 54089               "type": "structure",
 54090               "members": {
 54091                 "Timestamp": {
 54092                   "type": "timestamp"
 54093                 },
 54094                 "SampleCount": {
 54095                   "type": "double"
 54096                 },
 54097                 "Average": {
 54098                   "type": "double"
 54099                 },
 54100                 "Sum": {
 54101                   "type": "double"
 54102                 },
 54103                 "Minimum": {
 54104                   "type": "double"
 54105                 },
 54106                 "Maximum": {
 54107                   "type": "double"
 54108                 },
 54109                 "Unit": {},
 54110                 "ExtendedStatistics": {
 54111                   "type": "map",
 54112                   "key": {},
 54113                   "value": {
 54114                     "type": "double"
 54115                   }
 54116                 }
 54117               },
 54118               "xmlOrder": [
 54119                 "Timestamp",
 54120                 "SampleCount",
 54121                 "Average",
 54122                 "Sum",
 54123                 "Minimum",
 54124                 "Maximum",
 54125                 "Unit",
 54126                 "ExtendedStatistics"
 54127               ]
 54128             }
 54129           }
 54130         }
 54131       }
 54132     },
 54133     "ListMetrics": {
 54134       "input": {
 54135         "type": "structure",
 54136         "members": {
 54137           "Namespace": {},
 54138           "MetricName": {},
 54139           "Dimensions": {
 54140             "type": "list",
 54141             "member": {
 54142               "type": "structure",
 54143               "required": [
 54144                 "Name"
 54145               ],
 54146               "members": {
 54147                 "Name": {},
 54148                 "Value": {}
 54149               }
 54150             }
 54151           },
 54152           "NextToken": {}
 54153         }
 54154       },
 54155       "output": {
 54156         "resultWrapper": "ListMetricsResult",
 54157         "type": "structure",
 54158         "members": {
 54159           "Metrics": {
 54160             "type": "list",
 54161             "member": {
 54162               "type": "structure",
 54163               "members": {
 54164                 "Namespace": {},
 54165                 "MetricName": {},
 54166                 "Dimensions": {
 54167                   "shape": "Sw"
 54168                 }
 54169               },
 54170               "xmlOrder": [
 54171                 "Namespace",
 54172                 "MetricName",
 54173                 "Dimensions"
 54174               ]
 54175             }
 54176           },
 54177           "NextToken": {}
 54178         },
 54179         "xmlOrder": [
 54180           "Metrics",
 54181           "NextToken"
 54182         ]
 54183       }
 54184     },
 54185     "PutMetricAlarm": {
 54186       "input": {
 54187         "type": "structure",
 54188         "required": [
 54189           "AlarmName",
 54190           "MetricName",
 54191           "Namespace",
 54192           "Period",
 54193           "EvaluationPeriods",
 54194           "Threshold",
 54195           "ComparisonOperator"
 54196         ],
 54197         "members": {
 54198           "AlarmName": {},
 54199           "AlarmDescription": {},
 54200           "ActionsEnabled": {
 54201             "type": "boolean"
 54202           },
 54203           "OKActions": {
 54204             "shape": "So"
 54205           },
 54206           "AlarmActions": {
 54207             "shape": "So"
 54208           },
 54209           "InsufficientDataActions": {
 54210             "shape": "So"
 54211           },
 54212           "MetricName": {},
 54213           "Namespace": {},
 54214           "Statistic": {},
 54215           "ExtendedStatistic": {},
 54216           "Dimensions": {
 54217             "shape": "Sw"
 54218           },
 54219           "Period": {
 54220             "type": "integer"
 54221           },
 54222           "Unit": {},
 54223           "EvaluationPeriods": {
 54224             "type": "integer"
 54225           },
 54226           "Threshold": {
 54227             "type": "double"
 54228           },
 54229           "ComparisonOperator": {}
 54230         }
 54231       }
 54232     },
 54233     "PutMetricData": {
 54234       "input": {
 54235         "type": "structure",
 54236         "required": [
 54237           "Namespace",
 54238           "MetricData"
 54239         ],
 54240         "members": {
 54241           "Namespace": {},
 54242           "MetricData": {
 54243             "type": "list",
 54244             "member": {
 54245               "type": "structure",
 54246               "required": [
 54247                 "MetricName"
 54248               ],
 54249               "members": {
 54250                 "MetricName": {},
 54251                 "Dimensions": {
 54252                   "shape": "Sw"
 54253                 },
 54254                 "Timestamp": {
 54255                   "type": "timestamp"
 54256                 },
 54257                 "Value": {
 54258                   "type": "double"
 54259                 },
 54260                 "StatisticValues": {
 54261                   "type": "structure",
 54262                   "required": [
 54263                     "SampleCount",
 54264                     "Sum",
 54265                     "Minimum",
 54266                     "Maximum"
 54267                   ],
 54268                   "members": {
 54269                     "SampleCount": {
 54270                       "type": "double"
 54271                     },
 54272                     "Sum": {
 54273                       "type": "double"
 54274                     },
 54275                     "Minimum": {
 54276                       "type": "double"
 54277                     },
 54278                     "Maximum": {
 54279                       "type": "double"
 54280                     }
 54281                   }
 54282                 },
 54283                 "Unit": {}
 54284               }
 54285             }
 54286           }
 54287         }
 54288       }
 54289     },
 54290     "SetAlarmState": {
 54291       "input": {
 54292         "type": "structure",
 54293         "required": [
 54294           "AlarmName",
 54295           "StateValue",
 54296           "StateReason"
 54297         ],
 54298         "members": {
 54299           "AlarmName": {},
 54300           "StateValue": {},
 54301           "StateReason": {},
 54302           "StateReasonData": {}
 54303         }
 54304       }
 54305     }
 54306   },
 54307   "shapes": {
 54308     "S2": {
 54309       "type": "list",
 54310       "member": {}
 54311     },
 54312     "Sj": {
 54313       "type": "list",
 54314       "member": {
 54315         "type": "structure",
 54316         "members": {
 54317           "AlarmName": {},
 54318           "AlarmArn": {},
 54319           "AlarmDescription": {},
 54320           "AlarmConfigurationUpdatedTimestamp": {
 54321             "type": "timestamp"
 54322           },
 54323           "ActionsEnabled": {
 54324             "type": "boolean"
 54325           },
 54326           "OKActions": {
 54327             "shape": "So"
 54328           },
 54329           "AlarmActions": {
 54330             "shape": "So"
 54331           },
 54332           "InsufficientDataActions": {
 54333             "shape": "So"
 54334           },
 54335           "StateValue": {},
 54336           "StateReason": {},
 54337           "StateReasonData": {},
 54338           "StateUpdatedTimestamp": {
 54339             "type": "timestamp"
 54340           },
 54341           "MetricName": {},
 54342           "Namespace": {},
 54343           "Statistic": {},
 54344           "ExtendedStatistic": {},
 54345           "Dimensions": {
 54346             "shape": "Sw"
 54347           },
 54348           "Period": {
 54349             "type": "integer"
 54350           },
 54351           "Unit": {},
 54352           "EvaluationPeriods": {
 54353             "type": "integer"
 54354           },
 54355           "Threshold": {
 54356             "type": "double"
 54357           },
 54358           "ComparisonOperator": {}
 54359         },
 54360         "xmlOrder": [
 54361           "AlarmName",
 54362           "AlarmArn",
 54363           "AlarmDescription",
 54364           "AlarmConfigurationUpdatedTimestamp",
 54365           "ActionsEnabled",
 54366           "OKActions",
 54367           "AlarmActions",
 54368           "InsufficientDataActions",
 54369           "StateValue",
 54370           "StateReason",
 54371           "StateReasonData",
 54372           "StateUpdatedTimestamp",
 54373           "MetricName",
 54374           "Namespace",
 54375           "Statistic",
 54376           "Dimensions",
 54377           "Period",
 54378           "Unit",
 54379           "EvaluationPeriods",
 54380           "Threshold",
 54381           "ComparisonOperator",
 54382           "ExtendedStatistic"
 54383         ]
 54384       }
 54385     },
 54386     "So": {
 54387       "type": "list",
 54388       "member": {}
 54389     },
 54390     "Sw": {
 54391       "type": "list",
 54392       "member": {
 54393         "type": "structure",
 54394         "required": [
 54395           "Name",
 54396           "Value"
 54397         ],
 54398         "members": {
 54399           "Name": {},
 54400           "Value": {}
 54401         },
 54402         "xmlOrder": [
 54403           "Name",
 54404           "Value"
 54405         ]
 54406       }
 54407     }
 54408   }
 54409 }
 54410 },{}],90:[function(require,module,exports){
 54411 module.exports={
 54412   "pagination": {
 54413     "DescribeAlarmHistory": {
 54414       "input_token": "NextToken",
 54415       "output_token": "NextToken",
 54416       "limit_key": "MaxRecords",
 54417       "result_key": "AlarmHistoryItems"
 54418     },
 54419     "DescribeAlarms": {
 54420       "input_token": "NextToken",
 54421       "output_token": "NextToken",
 54422       "limit_key": "MaxRecords",
 54423       "result_key": "MetricAlarms"
 54424     },
 54425     "DescribeAlarmsForMetric": {
 54426       "result_key": "MetricAlarms"
 54427     },
 54428     "ListMetrics": {
 54429       "input_token": "NextToken",
 54430       "output_token": "NextToken",
 54431       "result_key": "Metrics"
 54432     }
 54433   }
 54434 }
 54435 
 54436 },{}],91:[function(require,module,exports){
 54437 module.exports={
 54438   "version": 2,
 54439   "waiters": {
 54440     "AlarmExists": {
 54441       "delay": 5,
 54442       "maxAttempts": 40,
 54443       "operation": "DescribeAlarms",
 54444       "acceptors": [
 54445         {
 54446           "matcher": "path",
 54447           "expected": true,
 54448           "argument": "length(MetricAlarms[]) > `0`",
 54449           "state": "success"
 54450         }
 54451       ]
 54452     }
 54453   }
 54454 }
 54455 
 54456 },{}],92:[function(require,module,exports){
 54457 module.exports={
 54458   "version": "2.0",
 54459   "metadata": {
 54460     "apiVersion": "2013-02-18",
 54461     "endpointPrefix": "opsworks",
 54462     "jsonVersion": "1.1",
 54463     "protocol": "json",
 54464     "serviceFullName": "AWS OpsWorks",
 54465     "signatureVersion": "v4",
 54466     "targetPrefix": "OpsWorks_20130218"
 54467   },
 54468   "operations": {
 54469     "AssignInstance": {
 54470       "input": {
 54471         "type": "structure",
 54472         "required": [
 54473           "InstanceId",
 54474           "LayerIds"
 54475         ],
 54476         "members": {
 54477           "InstanceId": {},
 54478           "LayerIds": {
 54479             "shape": "S3"
 54480           }
 54481         }
 54482       }
 54483     },
 54484     "AssignVolume": {
 54485       "input": {
 54486         "type": "structure",
 54487         "required": [
 54488           "VolumeId"
 54489         ],
 54490         "members": {
 54491           "VolumeId": {},
 54492           "InstanceId": {}
 54493         }
 54494       }
 54495     },
 54496     "AssociateElasticIp": {
 54497       "input": {
 54498         "type": "structure",
 54499         "required": [
 54500           "ElasticIp"
 54501         ],
 54502         "members": {
 54503           "ElasticIp": {},
 54504           "InstanceId": {}
 54505         }
 54506       }
 54507     },
 54508     "AttachElasticLoadBalancer": {
 54509       "input": {
 54510         "type": "structure",
 54511         "required": [
 54512           "ElasticLoadBalancerName",
 54513           "LayerId"
 54514         ],
 54515         "members": {
 54516           "ElasticLoadBalancerName": {},
 54517           "LayerId": {}
 54518         }
 54519       }
 54520     },
 54521     "CloneStack": {
 54522       "input": {
 54523         "type": "structure",
 54524         "required": [
 54525           "SourceStackId",
 54526           "ServiceRoleArn"
 54527         ],
 54528         "members": {
 54529           "SourceStackId": {},
 54530           "Name": {},
 54531           "Region": {},
 54532           "VpcId": {},
 54533           "Attributes": {
 54534             "shape": "S8"
 54535           },
 54536           "ServiceRoleArn": {},
 54537           "DefaultInstanceProfileArn": {},
 54538           "DefaultOs": {},
 54539           "HostnameTheme": {},
 54540           "DefaultAvailabilityZone": {},
 54541           "DefaultSubnetId": {},
 54542           "CustomJson": {},
 54543           "ConfigurationManager": {
 54544             "shape": "Sa"
 54545           },
 54546           "ChefConfiguration": {
 54547             "shape": "Sb"
 54548           },
 54549           "UseCustomCookbooks": {
 54550             "type": "boolean"
 54551           },
 54552           "UseOpsworksSecurityGroups": {
 54553             "type": "boolean"
 54554           },
 54555           "CustomCookbooksSource": {
 54556             "shape": "Sd"
 54557           },
 54558           "DefaultSshKeyName": {},
 54559           "ClonePermissions": {
 54560             "type": "boolean"
 54561           },
 54562           "CloneAppIds": {
 54563             "shape": "S3"
 54564           },
 54565           "DefaultRootDeviceType": {},
 54566           "AgentVersion": {}
 54567         }
 54568       },
 54569       "output": {
 54570         "type": "structure",
 54571         "members": {
 54572           "StackId": {}
 54573         }
 54574       }
 54575     },
 54576     "CreateApp": {
 54577       "input": {
 54578         "type": "structure",
 54579         "required": [
 54580           "StackId",
 54581           "Name",
 54582           "Type"
 54583         ],
 54584         "members": {
 54585           "StackId": {},
 54586           "Shortname": {},
 54587           "Name": {},
 54588           "Description": {},
 54589           "DataSources": {
 54590             "shape": "Si"
 54591           },
 54592           "Type": {},
 54593           "AppSource": {
 54594             "shape": "Sd"
 54595           },
 54596           "Domains": {
 54597             "shape": "S3"
 54598           },
 54599           "EnableSsl": {
 54600             "type": "boolean"
 54601           },
 54602           "SslConfiguration": {
 54603             "shape": "Sl"
 54604           },
 54605           "Attributes": {
 54606             "shape": "Sm"
 54607           },
 54608           "Environment": {
 54609             "shape": "So"
 54610           }
 54611         }
 54612       },
 54613       "output": {
 54614         "type": "structure",
 54615         "members": {
 54616           "AppId": {}
 54617         }
 54618       }
 54619     },
 54620     "CreateDeployment": {
 54621       "input": {
 54622         "type": "structure",
 54623         "required": [
 54624           "StackId",
 54625           "Command"
 54626         ],
 54627         "members": {
 54628           "StackId": {},
 54629           "AppId": {},
 54630           "InstanceIds": {
 54631             "shape": "S3"
 54632           },
 54633           "LayerIds": {
 54634             "shape": "S3"
 54635           },
 54636           "Command": {
 54637             "shape": "Ss"
 54638           },
 54639           "Comment": {},
 54640           "CustomJson": {}
 54641         }
 54642       },
 54643       "output": {
 54644         "type": "structure",
 54645         "members": {
 54646           "DeploymentId": {}
 54647         }
 54648       }
 54649     },
 54650     "CreateInstance": {
 54651       "input": {
 54652         "type": "structure",
 54653         "required": [
 54654           "StackId",
 54655           "LayerIds",
 54656           "InstanceType"
 54657         ],
 54658         "members": {
 54659           "StackId": {},
 54660           "LayerIds": {
 54661             "shape": "S3"
 54662           },
 54663           "InstanceType": {},
 54664           "AutoScalingType": {},
 54665           "Hostname": {},
 54666           "Os": {},
 54667           "AmiId": {},
 54668           "SshKeyName": {},
 54669           "AvailabilityZone": {},
 54670           "VirtualizationType": {},
 54671           "SubnetId": {},
 54672           "Architecture": {},
 54673           "RootDeviceType": {},
 54674           "BlockDeviceMappings": {
 54675             "shape": "Sz"
 54676           },
 54677           "InstallUpdatesOnBoot": {
 54678             "type": "boolean"
 54679           },
 54680           "EbsOptimized": {
 54681             "type": "boolean"
 54682           },
 54683           "AgentVersion": {},
 54684           "Tenancy": {}
 54685         }
 54686       },
 54687       "output": {
 54688         "type": "structure",
 54689         "members": {
 54690           "InstanceId": {}
 54691         }
 54692       }
 54693     },
 54694     "CreateLayer": {
 54695       "input": {
 54696         "type": "structure",
 54697         "required": [
 54698           "StackId",
 54699           "Type",
 54700           "Name",
 54701           "Shortname"
 54702         ],
 54703         "members": {
 54704           "StackId": {},
 54705           "Type": {},
 54706           "Name": {},
 54707           "Shortname": {},
 54708           "Attributes": {
 54709             "shape": "S17"
 54710           },
 54711           "CustomInstanceProfileArn": {},
 54712           "CustomJson": {},
 54713           "CustomSecurityGroupIds": {
 54714             "shape": "S3"
 54715           },
 54716           "Packages": {
 54717             "shape": "S3"
 54718           },
 54719           "VolumeConfigurations": {
 54720             "shape": "S19"
 54721           },
 54722           "EnableAutoHealing": {
 54723             "type": "boolean"
 54724           },
 54725           "AutoAssignElasticIps": {
 54726             "type": "boolean"
 54727           },
 54728           "AutoAssignPublicIps": {
 54729             "type": "boolean"
 54730           },
 54731           "CustomRecipes": {
 54732             "shape": "S1b"
 54733           },
 54734           "InstallUpdatesOnBoot": {
 54735             "type": "boolean"
 54736           },
 54737           "UseEbsOptimizedInstances": {
 54738             "type": "boolean"
 54739           },
 54740           "LifecycleEventConfiguration": {
 54741             "shape": "S1c"
 54742           }
 54743         }
 54744       },
 54745       "output": {
 54746         "type": "structure",
 54747         "members": {
 54748           "LayerId": {}
 54749         }
 54750       }
 54751     },
 54752     "CreateStack": {
 54753       "input": {
 54754         "type": "structure",
 54755         "required": [
 54756           "Name",
 54757           "Region",
 54758           "ServiceRoleArn",
 54759           "DefaultInstanceProfileArn"
 54760         ],
 54761         "members": {
 54762           "Name": {},
 54763           "Region": {},
 54764           "VpcId": {},
 54765           "Attributes": {
 54766             "shape": "S8"
 54767           },
 54768           "ServiceRoleArn": {},
 54769           "DefaultInstanceProfileArn": {},
 54770           "DefaultOs": {},
 54771           "HostnameTheme": {},
 54772           "DefaultAvailabilityZone": {},
 54773           "DefaultSubnetId": {},
 54774           "CustomJson": {},
 54775           "ConfigurationManager": {
 54776             "shape": "Sa"
 54777           },
 54778           "ChefConfiguration": {
 54779             "shape": "Sb"
 54780           },
 54781           "UseCustomCookbooks": {
 54782             "type": "boolean"
 54783           },
 54784           "UseOpsworksSecurityGroups": {
 54785             "type": "boolean"
 54786           },
 54787           "CustomCookbooksSource": {
 54788             "shape": "Sd"
 54789           },
 54790           "DefaultSshKeyName": {},
 54791           "DefaultRootDeviceType": {},
 54792           "AgentVersion": {}
 54793         }
 54794       },
 54795       "output": {
 54796         "type": "structure",
 54797         "members": {
 54798           "StackId": {}
 54799         }
 54800       }
 54801     },
 54802     "CreateUserProfile": {
 54803       "input": {
 54804         "type": "structure",
 54805         "required": [
 54806           "IamUserArn"
 54807         ],
 54808         "members": {
 54809           "IamUserArn": {},
 54810           "SshUsername": {},
 54811           "SshPublicKey": {},
 54812           "AllowSelfManagement": {
 54813             "type": "boolean"
 54814           }
 54815         }
 54816       },
 54817       "output": {
 54818         "type": "structure",
 54819         "members": {
 54820           "IamUserArn": {}
 54821         }
 54822       }
 54823     },
 54824     "DeleteApp": {
 54825       "input": {
 54826         "type": "structure",
 54827         "required": [
 54828           "AppId"
 54829         ],
 54830         "members": {
 54831           "AppId": {}
 54832         }
 54833       }
 54834     },
 54835     "DeleteInstance": {
 54836       "input": {
 54837         "type": "structure",
 54838         "required": [
 54839           "InstanceId"
 54840         ],
 54841         "members": {
 54842           "InstanceId": {},
 54843           "DeleteElasticIp": {
 54844             "type": "boolean"
 54845           },
 54846           "DeleteVolumes": {
 54847             "type": "boolean"
 54848           }
 54849         }
 54850       }
 54851     },
 54852     "DeleteLayer": {
 54853       "input": {
 54854         "type": "structure",
 54855         "required": [
 54856           "LayerId"
 54857         ],
 54858         "members": {
 54859           "LayerId": {}
 54860         }
 54861       }
 54862     },
 54863     "DeleteStack": {
 54864       "input": {
 54865         "type": "structure",
 54866         "required": [
 54867           "StackId"
 54868         ],
 54869         "members": {
 54870           "StackId": {}
 54871         }
 54872       }
 54873     },
 54874     "DeleteUserProfile": {
 54875       "input": {
 54876         "type": "structure",
 54877         "required": [
 54878           "IamUserArn"
 54879         ],
 54880         "members": {
 54881           "IamUserArn": {}
 54882         }
 54883       }
 54884     },
 54885     "DeregisterEcsCluster": {
 54886       "input": {
 54887         "type": "structure",
 54888         "required": [
 54889           "EcsClusterArn"
 54890         ],
 54891         "members": {
 54892           "EcsClusterArn": {}
 54893         }
 54894       }
 54895     },
 54896     "DeregisterElasticIp": {
 54897       "input": {
 54898         "type": "structure",
 54899         "required": [
 54900           "ElasticIp"
 54901         ],
 54902         "members": {
 54903           "ElasticIp": {}
 54904         }
 54905       }
 54906     },
 54907     "DeregisterInstance": {
 54908       "input": {
 54909         "type": "structure",
 54910         "required": [
 54911           "InstanceId"
 54912         ],
 54913         "members": {
 54914           "InstanceId": {}
 54915         }
 54916       }
 54917     },
 54918     "DeregisterRdsDbInstance": {
 54919       "input": {
 54920         "type": "structure",
 54921         "required": [
 54922           "RdsDbInstanceArn"
 54923         ],
 54924         "members": {
 54925           "RdsDbInstanceArn": {}
 54926         }
 54927       }
 54928     },
 54929     "DeregisterVolume": {
 54930       "input": {
 54931         "type": "structure",
 54932         "required": [
 54933           "VolumeId"
 54934         ],
 54935         "members": {
 54936           "VolumeId": {}
 54937         }
 54938       }
 54939     },
 54940     "DescribeAgentVersions": {
 54941       "input": {
 54942         "type": "structure",
 54943         "members": {
 54944           "StackId": {},
 54945           "ConfigurationManager": {
 54946             "shape": "Sa"
 54947           }
 54948         }
 54949       },
 54950       "output": {
 54951         "type": "structure",
 54952         "members": {
 54953           "AgentVersions": {
 54954             "type": "list",
 54955             "member": {
 54956               "type": "structure",
 54957               "members": {
 54958                 "Version": {},
 54959                 "ConfigurationManager": {
 54960                   "shape": "Sa"
 54961                 }
 54962               }
 54963             }
 54964           }
 54965         }
 54966       }
 54967     },
 54968     "DescribeApps": {
 54969       "input": {
 54970         "type": "structure",
 54971         "members": {
 54972           "StackId": {},
 54973           "AppIds": {
 54974             "shape": "S3"
 54975           }
 54976         }
 54977       },
 54978       "output": {
 54979         "type": "structure",
 54980         "members": {
 54981           "Apps": {
 54982             "type": "list",
 54983             "member": {
 54984               "type": "structure",
 54985               "members": {
 54986                 "AppId": {},
 54987                 "StackId": {},
 54988                 "Shortname": {},
 54989                 "Name": {},
 54990                 "Description": {},
 54991                 "DataSources": {
 54992                   "shape": "Si"
 54993                 },
 54994                 "Type": {},
 54995                 "AppSource": {
 54996                   "shape": "Sd"
 54997                 },
 54998                 "Domains": {
 54999                   "shape": "S3"
 55000                 },
 55001                 "EnableSsl": {
 55002                   "type": "boolean"
 55003                 },
 55004                 "SslConfiguration": {
 55005                   "shape": "Sl"
 55006                 },
 55007                 "Attributes": {
 55008                   "shape": "Sm"
 55009                 },
 55010                 "CreatedAt": {},
 55011                 "Environment": {
 55012                   "shape": "So"
 55013                 }
 55014               }
 55015             }
 55016           }
 55017         }
 55018       }
 55019     },
 55020     "DescribeCommands": {
 55021       "input": {
 55022         "type": "structure",
 55023         "members": {
 55024           "DeploymentId": {},
 55025           "InstanceId": {},
 55026           "CommandIds": {
 55027             "shape": "S3"
 55028           }
 55029         }
 55030       },
 55031       "output": {
 55032         "type": "structure",
 55033         "members": {
 55034           "Commands": {
 55035             "type": "list",
 55036             "member": {
 55037               "type": "structure",
 55038               "members": {
 55039                 "CommandId": {},
 55040                 "InstanceId": {},
 55041                 "DeploymentId": {},
 55042                 "CreatedAt": {},
 55043                 "AcknowledgedAt": {},
 55044                 "CompletedAt": {},
 55045                 "Status": {},
 55046                 "ExitCode": {
 55047                   "type": "integer"
 55048                 },
 55049                 "LogUrl": {},
 55050                 "Type": {}
 55051               }
 55052             }
 55053           }
 55054         }
 55055       }
 55056     },
 55057     "DescribeDeployments": {
 55058       "input": {
 55059         "type": "structure",
 55060         "members": {
 55061           "StackId": {},
 55062           "AppId": {},
 55063           "DeploymentIds": {
 55064             "shape": "S3"
 55065           }
 55066         }
 55067       },
 55068       "output": {
 55069         "type": "structure",
 55070         "members": {
 55071           "Deployments": {
 55072             "type": "list",
 55073             "member": {
 55074               "type": "structure",
 55075               "members": {
 55076                 "DeploymentId": {},
 55077                 "StackId": {},
 55078                 "AppId": {},
 55079                 "CreatedAt": {},
 55080                 "CompletedAt": {},
 55081                 "Duration": {
 55082                   "type": "integer"
 55083                 },
 55084                 "IamUserArn": {},
 55085                 "Comment": {},
 55086                 "Command": {
 55087                   "shape": "Ss"
 55088                 },
 55089                 "Status": {},
 55090                 "CustomJson": {},
 55091                 "InstanceIds": {
 55092                   "shape": "S3"
 55093                 }
 55094               }
 55095             }
 55096           }
 55097         }
 55098       }
 55099     },
 55100     "DescribeEcsClusters": {
 55101       "input": {
 55102         "type": "structure",
 55103         "members": {
 55104           "EcsClusterArns": {
 55105             "shape": "S3"
 55106           },
 55107           "StackId": {},
 55108           "NextToken": {},
 55109           "MaxResults": {
 55110             "type": "integer"
 55111           }
 55112         }
 55113       },
 55114       "output": {
 55115         "type": "structure",
 55116         "members": {
 55117           "EcsClusters": {
 55118             "type": "list",
 55119             "member": {
 55120               "type": "structure",
 55121               "members": {
 55122                 "EcsClusterArn": {},
 55123                 "EcsClusterName": {},
 55124                 "StackId": {},
 55125                 "RegisteredAt": {}
 55126               }
 55127             }
 55128           },
 55129           "NextToken": {}
 55130         }
 55131       }
 55132     },
 55133     "DescribeElasticIps": {
 55134       "input": {
 55135         "type": "structure",
 55136         "members": {
 55137           "InstanceId": {},
 55138           "StackId": {},
 55139           "Ips": {
 55140             "shape": "S3"
 55141           }
 55142         }
 55143       },
 55144       "output": {
 55145         "type": "structure",
 55146         "members": {
 55147           "ElasticIps": {
 55148             "type": "list",
 55149             "member": {
 55150               "type": "structure",
 55151               "members": {
 55152                 "Ip": {},
 55153                 "Name": {},
 55154                 "Domain": {},
 55155                 "Region": {},
 55156                 "InstanceId": {}
 55157               }
 55158             }
 55159           }
 55160         }
 55161       }
 55162     },
 55163     "DescribeElasticLoadBalancers": {
 55164       "input": {
 55165         "type": "structure",
 55166         "members": {
 55167           "StackId": {},
 55168           "LayerIds": {
 55169             "shape": "S3"
 55170           }
 55171         }
 55172       },
 55173       "output": {
 55174         "type": "structure",
 55175         "members": {
 55176           "ElasticLoadBalancers": {
 55177             "type": "list",
 55178             "member": {
 55179               "type": "structure",
 55180               "members": {
 55181                 "ElasticLoadBalancerName": {},
 55182                 "Region": {},
 55183                 "DnsName": {},
 55184                 "StackId": {},
 55185                 "LayerId": {},
 55186                 "VpcId": {},
 55187                 "AvailabilityZones": {
 55188                   "shape": "S3"
 55189                 },
 55190                 "SubnetIds": {
 55191                   "shape": "S3"
 55192                 },
 55193                 "Ec2InstanceIds": {
 55194                   "shape": "S3"
 55195                 }
 55196               }
 55197             }
 55198           }
 55199         }
 55200       }
 55201     },
 55202     "DescribeInstances": {
 55203       "input": {
 55204         "type": "structure",
 55205         "members": {
 55206           "StackId": {},
 55207           "LayerId": {},
 55208           "InstanceIds": {
 55209             "shape": "S3"
 55210           }
 55211         }
 55212       },
 55213       "output": {
 55214         "type": "structure",
 55215         "members": {
 55216           "Instances": {
 55217             "type": "list",
 55218             "member": {
 55219               "type": "structure",
 55220               "members": {
 55221                 "AgentVersion": {},
 55222                 "AmiId": {},
 55223                 "Architecture": {},
 55224                 "AutoScalingType": {},
 55225                 "AvailabilityZone": {},
 55226                 "BlockDeviceMappings": {
 55227                   "shape": "Sz"
 55228                 },
 55229                 "CreatedAt": {},
 55230                 "EbsOptimized": {
 55231                   "type": "boolean"
 55232                 },
 55233                 "Ec2InstanceId": {},
 55234                 "EcsClusterArn": {},
 55235                 "EcsContainerInstanceArn": {},
 55236                 "ElasticIp": {},
 55237                 "Hostname": {},
 55238                 "InfrastructureClass": {},
 55239                 "InstallUpdatesOnBoot": {
 55240                   "type": "boolean"
 55241                 },
 55242                 "InstanceId": {},
 55243                 "InstanceProfileArn": {},
 55244                 "InstanceType": {},
 55245                 "LastServiceErrorId": {},
 55246                 "LayerIds": {
 55247                   "shape": "S3"
 55248                 },
 55249                 "Os": {},
 55250                 "Platform": {},
 55251                 "PrivateDns": {},
 55252                 "PrivateIp": {},
 55253                 "PublicDns": {},
 55254                 "PublicIp": {},
 55255                 "RegisteredBy": {},
 55256                 "ReportedAgentVersion": {},
 55257                 "ReportedOs": {
 55258                   "type": "structure",
 55259                   "members": {
 55260                     "Family": {},
 55261                     "Name": {},
 55262                     "Version": {}
 55263                   }
 55264                 },
 55265                 "RootDeviceType": {},
 55266                 "RootDeviceVolumeId": {},
 55267                 "SecurityGroupIds": {
 55268                   "shape": "S3"
 55269                 },
 55270                 "SshHostDsaKeyFingerprint": {},
 55271                 "SshHostRsaKeyFingerprint": {},
 55272                 "SshKeyName": {},
 55273                 "StackId": {},
 55274                 "Status": {},
 55275                 "SubnetId": {},
 55276                 "Tenancy": {},
 55277                 "VirtualizationType": {}
 55278               }
 55279             }
 55280           }
 55281         }
 55282       }
 55283     },
 55284     "DescribeLayers": {
 55285       "input": {
 55286         "type": "structure",
 55287         "members": {
 55288           "StackId": {},
 55289           "LayerIds": {
 55290             "shape": "S3"
 55291           }
 55292         }
 55293       },
 55294       "output": {
 55295         "type": "structure",
 55296         "members": {
 55297           "Layers": {
 55298             "type": "list",
 55299             "member": {
 55300               "type": "structure",
 55301               "members": {
 55302                 "StackId": {},
 55303                 "LayerId": {},
 55304                 "Type": {},
 55305                 "Name": {},
 55306                 "Shortname": {},
 55307                 "Attributes": {
 55308                   "shape": "S17"
 55309                 },
 55310                 "CustomInstanceProfileArn": {},
 55311                 "CustomJson": {},
 55312                 "CustomSecurityGroupIds": {
 55313                   "shape": "S3"
 55314                 },
 55315                 "DefaultSecurityGroupNames": {
 55316                   "shape": "S3"
 55317                 },
 55318                 "Packages": {
 55319                   "shape": "S3"
 55320                 },
 55321                 "VolumeConfigurations": {
 55322                   "shape": "S19"
 55323                 },
 55324                 "EnableAutoHealing": {
 55325                   "type": "boolean"
 55326                 },
 55327                 "AutoAssignElasticIps": {
 55328                   "type": "boolean"
 55329                 },
 55330                 "AutoAssignPublicIps": {
 55331                   "type": "boolean"
 55332                 },
 55333                 "DefaultRecipes": {
 55334                   "shape": "S1b"
 55335                 },
 55336                 "CustomRecipes": {
 55337                   "shape": "S1b"
 55338                 },
 55339                 "CreatedAt": {},
 55340                 "InstallUpdatesOnBoot": {
 55341                   "type": "boolean"
 55342                 },
 55343                 "UseEbsOptimizedInstances": {
 55344                   "type": "boolean"
 55345                 },
 55346                 "LifecycleEventConfiguration": {
 55347                   "shape": "S1c"
 55348                 }
 55349               }
 55350             }
 55351           }
 55352         }
 55353       }
 55354     },
 55355     "DescribeLoadBasedAutoScaling": {
 55356       "input": {
 55357         "type": "structure",
 55358         "required": [
 55359           "LayerIds"
 55360         ],
 55361         "members": {
 55362           "LayerIds": {
 55363             "shape": "S3"
 55364           }
 55365         }
 55366       },
 55367       "output": {
 55368         "type": "structure",
 55369         "members": {
 55370           "LoadBasedAutoScalingConfigurations": {
 55371             "type": "list",
 55372             "member": {
 55373               "type": "structure",
 55374               "members": {
 55375                 "LayerId": {},
 55376                 "Enable": {
 55377                   "type": "boolean"
 55378                 },
 55379                 "UpScaling": {
 55380                   "shape": "S30"
 55381                 },
 55382                 "DownScaling": {
 55383                   "shape": "S30"
 55384                 }
 55385               }
 55386             }
 55387           }
 55388         }
 55389       }
 55390     },
 55391     "DescribeMyUserProfile": {
 55392       "output": {
 55393         "type": "structure",
 55394         "members": {
 55395           "UserProfile": {
 55396             "type": "structure",
 55397             "members": {
 55398               "IamUserArn": {},
 55399               "Name": {},
 55400               "SshUsername": {},
 55401               "SshPublicKey": {}
 55402             }
 55403           }
 55404         }
 55405       }
 55406     },
 55407     "DescribePermissions": {
 55408       "input": {
 55409         "type": "structure",
 55410         "members": {
 55411           "IamUserArn": {},
 55412           "StackId": {}
 55413         }
 55414       },
 55415       "output": {
 55416         "type": "structure",
 55417         "members": {
 55418           "Permissions": {
 55419             "type": "list",
 55420             "member": {
 55421               "type": "structure",
 55422               "members": {
 55423                 "StackId": {},
 55424                 "IamUserArn": {},
 55425                 "AllowSsh": {
 55426                   "type": "boolean"
 55427                 },
 55428                 "AllowSudo": {
 55429                   "type": "boolean"
 55430                 },
 55431                 "Level": {}
 55432               }
 55433             }
 55434           }
 55435         }
 55436       }
 55437     },
 55438     "DescribeRaidArrays": {
 55439       "input": {
 55440         "type": "structure",
 55441         "members": {
 55442           "InstanceId": {},
 55443           "StackId": {},
 55444           "RaidArrayIds": {
 55445             "shape": "S3"
 55446           }
 55447         }
 55448       },
 55449       "output": {
 55450         "type": "structure",
 55451         "members": {
 55452           "RaidArrays": {
 55453             "type": "list",
 55454             "member": {
 55455               "type": "structure",
 55456               "members": {
 55457                 "RaidArrayId": {},
 55458                 "InstanceId": {},
 55459                 "Name": {},
 55460                 "RaidLevel": {
 55461                   "type": "integer"
 55462                 },
 55463                 "NumberOfDisks": {
 55464                   "type": "integer"
 55465                 },
 55466                 "Size": {
 55467                   "type": "integer"
 55468                 },
 55469                 "Device": {},
 55470                 "MountPoint": {},
 55471                 "AvailabilityZone": {},
 55472                 "CreatedAt": {},
 55473                 "StackId": {},
 55474                 "VolumeType": {},
 55475                 "Iops": {
 55476                   "type": "integer"
 55477                 }
 55478               }
 55479             }
 55480           }
 55481         }
 55482       }
 55483     },
 55484     "DescribeRdsDbInstances": {
 55485       "input": {
 55486         "type": "structure",
 55487         "required": [
 55488           "StackId"
 55489         ],
 55490         "members": {
 55491           "StackId": {},
 55492           "RdsDbInstanceArns": {
 55493             "shape": "S3"
 55494           }
 55495         }
 55496       },
 55497       "output": {
 55498         "type": "structure",
 55499         "members": {
 55500           "RdsDbInstances": {
 55501             "type": "list",
 55502             "member": {
 55503               "type": "structure",
 55504               "members": {
 55505                 "RdsDbInstanceArn": {},
 55506                 "DbInstanceIdentifier": {},
 55507                 "DbUser": {},
 55508                 "DbPassword": {},
 55509                 "Region": {},
 55510                 "Address": {},
 55511                 "Engine": {},
 55512                 "StackId": {},
 55513                 "MissingOnRds": {
 55514                   "type": "boolean"
 55515                 }
 55516               }
 55517             }
 55518           }
 55519         }
 55520       }
 55521     },
 55522     "DescribeServiceErrors": {
 55523       "input": {
 55524         "type": "structure",
 55525         "members": {
 55526           "StackId": {},
 55527           "InstanceId": {},
 55528           "ServiceErrorIds": {
 55529             "shape": "S3"
 55530           }
 55531         }
 55532       },
 55533       "output": {
 55534         "type": "structure",
 55535         "members": {
 55536           "ServiceErrors": {
 55537             "type": "list",
 55538             "member": {
 55539               "type": "structure",
 55540               "members": {
 55541                 "ServiceErrorId": {},
 55542                 "StackId": {},
 55543                 "InstanceId": {},
 55544                 "Type": {},
 55545                 "Message": {},
 55546                 "CreatedAt": {}
 55547               }
 55548             }
 55549           }
 55550         }
 55551       }
 55552     },
 55553     "DescribeStackProvisioningParameters": {
 55554       "input": {
 55555         "type": "structure",
 55556         "required": [
 55557           "StackId"
 55558         ],
 55559         "members": {
 55560           "StackId": {}
 55561         }
 55562       },
 55563       "output": {
 55564         "type": "structure",
 55565         "members": {
 55566           "AgentInstallerUrl": {},
 55567           "Parameters": {
 55568             "type": "map",
 55569             "key": {},
 55570             "value": {}
 55571           }
 55572         }
 55573       }
 55574     },
 55575     "DescribeStackSummary": {
 55576       "input": {
 55577         "type": "structure",
 55578         "required": [
 55579           "StackId"
 55580         ],
 55581         "members": {
 55582           "StackId": {}
 55583         }
 55584       },
 55585       "output": {
 55586         "type": "structure",
 55587         "members": {
 55588           "StackSummary": {
 55589             "type": "structure",
 55590             "members": {
 55591               "StackId": {},
 55592               "Name": {},
 55593               "Arn": {},
 55594               "LayersCount": {
 55595                 "type": "integer"
 55596               },
 55597               "AppsCount": {
 55598                 "type": "integer"
 55599               },
 55600               "InstancesCount": {
 55601                 "type": "structure",
 55602                 "members": {
 55603                   "Assigning": {
 55604                     "type": "integer"
 55605                   },
 55606                   "Booting": {
 55607                     "type": "integer"
 55608                   },
 55609                   "ConnectionLost": {
 55610                     "type": "integer"
 55611                   },
 55612                   "Deregistering": {
 55613                     "type": "integer"
 55614                   },
 55615                   "Online": {
 55616                     "type": "integer"
 55617                   },
 55618                   "Pending": {
 55619                     "type": "integer"
 55620                   },
 55621                   "Rebooting": {
 55622                     "type": "integer"
 55623                   },
 55624                   "Registered": {
 55625                     "type": "integer"
 55626                   },
 55627                   "Registering": {
 55628                     "type": "integer"
 55629                   },
 55630                   "Requested": {
 55631                     "type": "integer"
 55632                   },
 55633                   "RunningSetup": {
 55634                     "type": "integer"
 55635                   },
 55636                   "SetupFailed": {
 55637                     "type": "integer"
 55638                   },
 55639                   "ShuttingDown": {
 55640                     "type": "integer"
 55641                   },
 55642                   "StartFailed": {
 55643                     "type": "integer"
 55644                   },
 55645                   "Stopped": {
 55646                     "type": "integer"
 55647                   },
 55648                   "Stopping": {
 55649                     "type": "integer"
 55650                   },
 55651                   "Terminated": {
 55652                     "type": "integer"
 55653                   },
 55654                   "Terminating": {
 55655                     "type": "integer"
 55656                   },
 55657                   "Unassigning": {
 55658                     "type": "integer"
 55659                   }
 55660                 }
 55661               }
 55662             }
 55663           }
 55664         }
 55665       }
 55666     },
 55667     "DescribeStacks": {
 55668       "input": {
 55669         "type": "structure",
 55670         "members": {
 55671           "StackIds": {
 55672             "shape": "S3"
 55673           }
 55674         }
 55675       },
 55676       "output": {
 55677         "type": "structure",
 55678         "members": {
 55679           "Stacks": {
 55680             "type": "list",
 55681             "member": {
 55682               "type": "structure",
 55683               "members": {
 55684                 "StackId": {},
 55685                 "Name": {},
 55686                 "Arn": {},
 55687                 "Region": {},
 55688                 "VpcId": {},
 55689                 "Attributes": {
 55690                   "shape": "S8"
 55691                 },
 55692                 "ServiceRoleArn": {},
 55693                 "DefaultInstanceProfileArn": {},
 55694                 "DefaultOs": {},
 55695                 "HostnameTheme": {},
 55696                 "DefaultAvailabilityZone": {},
 55697                 "DefaultSubnetId": {},
 55698                 "CustomJson": {},
 55699                 "ConfigurationManager": {
 55700                   "shape": "Sa"
 55701                 },
 55702                 "ChefConfiguration": {
 55703                   "shape": "Sb"
 55704                 },
 55705                 "UseCustomCookbooks": {
 55706                   "type": "boolean"
 55707                 },
 55708                 "UseOpsworksSecurityGroups": {
 55709                   "type": "boolean"
 55710                 },
 55711                 "CustomCookbooksSource": {
 55712                   "shape": "Sd"
 55713                 },
 55714                 "DefaultSshKeyName": {},
 55715                 "CreatedAt": {},
 55716                 "DefaultRootDeviceType": {},
 55717                 "AgentVersion": {}
 55718               }
 55719             }
 55720           }
 55721         }
 55722       }
 55723     },
 55724     "DescribeTimeBasedAutoScaling": {
 55725       "input": {
 55726         "type": "structure",
 55727         "required": [
 55728           "InstanceIds"
 55729         ],
 55730         "members": {
 55731           "InstanceIds": {
 55732             "shape": "S3"
 55733           }
 55734         }
 55735       },
 55736       "output": {
 55737         "type": "structure",
 55738         "members": {
 55739           "TimeBasedAutoScalingConfigurations": {
 55740             "type": "list",
 55741             "member": {
 55742               "type": "structure",
 55743               "members": {
 55744                 "InstanceId": {},
 55745                 "AutoScalingSchedule": {
 55746                   "shape": "S40"
 55747                 }
 55748               }
 55749             }
 55750           }
 55751         }
 55752       }
 55753     },
 55754     "DescribeUserProfiles": {
 55755       "input": {
 55756         "type": "structure",
 55757         "members": {
 55758           "IamUserArns": {
 55759             "shape": "S3"
 55760           }
 55761         }
 55762       },
 55763       "output": {
 55764         "type": "structure",
 55765         "members": {
 55766           "UserProfiles": {
 55767             "type": "list",
 55768             "member": {
 55769               "type": "structure",
 55770               "members": {
 55771                 "IamUserArn": {},
 55772                 "Name": {},
 55773                 "SshUsername": {},
 55774                 "SshPublicKey": {},
 55775                 "AllowSelfManagement": {
 55776                   "type": "boolean"
 55777                 }
 55778               }
 55779             }
 55780           }
 55781         }
 55782       }
 55783     },
 55784     "DescribeVolumes": {
 55785       "input": {
 55786         "type": "structure",
 55787         "members": {
 55788           "InstanceId": {},
 55789           "StackId": {},
 55790           "RaidArrayId": {},
 55791           "VolumeIds": {
 55792             "shape": "S3"
 55793           }
 55794         }
 55795       },
 55796       "output": {
 55797         "type": "structure",
 55798         "members": {
 55799           "Volumes": {
 55800             "type": "list",
 55801             "member": {
 55802               "type": "structure",
 55803               "members": {
 55804                 "VolumeId": {},
 55805                 "Ec2VolumeId": {},
 55806                 "Name": {},
 55807                 "RaidArrayId": {},
 55808                 "InstanceId": {},
 55809                 "Status": {},
 55810                 "Size": {
 55811                   "type": "integer"
 55812                 },
 55813                 "Device": {},
 55814                 "MountPoint": {},
 55815                 "Region": {},
 55816                 "AvailabilityZone": {},
 55817                 "VolumeType": {},
 55818                 "Iops": {
 55819                   "type": "integer"
 55820                 }
 55821               }
 55822             }
 55823           }
 55824         }
 55825       }
 55826     },
 55827     "DetachElasticLoadBalancer": {
 55828       "input": {
 55829         "type": "structure",
 55830         "required": [
 55831           "ElasticLoadBalancerName",
 55832           "LayerId"
 55833         ],
 55834         "members": {
 55835           "ElasticLoadBalancerName": {},
 55836           "LayerId": {}
 55837         }
 55838       }
 55839     },
 55840     "DisassociateElasticIp": {
 55841       "input": {
 55842         "type": "structure",
 55843         "required": [
 55844           "ElasticIp"
 55845         ],
 55846         "members": {
 55847           "ElasticIp": {}
 55848         }
 55849       }
 55850     },
 55851     "GetHostnameSuggestion": {
 55852       "input": {
 55853         "type": "structure",
 55854         "required": [
 55855           "LayerId"
 55856         ],
 55857         "members": {
 55858           "LayerId": {}
 55859         }
 55860       },
 55861       "output": {
 55862         "type": "structure",
 55863         "members": {
 55864           "LayerId": {},
 55865           "Hostname": {}
 55866         }
 55867       }
 55868     },
 55869     "GrantAccess": {
 55870       "input": {
 55871         "type": "structure",
 55872         "required": [
 55873           "InstanceId"
 55874         ],
 55875         "members": {
 55876           "InstanceId": {},
 55877           "ValidForInMinutes": {
 55878             "type": "integer"
 55879           }
 55880         }
 55881       },
 55882       "output": {
 55883         "type": "structure",
 55884         "members": {
 55885           "TemporaryCredential": {
 55886             "type": "structure",
 55887             "members": {
 55888               "Username": {},
 55889               "Password": {},
 55890               "ValidForInMinutes": {
 55891                 "type": "integer"
 55892               },
 55893               "InstanceId": {}
 55894             }
 55895           }
 55896         }
 55897       }
 55898     },
 55899     "RebootInstance": {
 55900       "input": {
 55901         "type": "structure",
 55902         "required": [
 55903           "InstanceId"
 55904         ],
 55905         "members": {
 55906           "InstanceId": {}
 55907         }
 55908       }
 55909     },
 55910     "RegisterEcsCluster": {
 55911       "input": {
 55912         "type": "structure",
 55913         "required": [
 55914           "EcsClusterArn",
 55915           "StackId"
 55916         ],
 55917         "members": {
 55918           "EcsClusterArn": {},
 55919           "StackId": {}
 55920         }
 55921       },
 55922       "output": {
 55923         "type": "structure",
 55924         "members": {
 55925           "EcsClusterArn": {}
 55926         }
 55927       }
 55928     },
 55929     "RegisterElasticIp": {
 55930       "input": {
 55931         "type": "structure",
 55932         "required": [
 55933           "ElasticIp",
 55934           "StackId"
 55935         ],
 55936         "members": {
 55937           "ElasticIp": {},
 55938           "StackId": {}
 55939         }
 55940       },
 55941       "output": {
 55942         "type": "structure",
 55943         "members": {
 55944           "ElasticIp": {}
 55945         }
 55946       }
 55947     },
 55948     "RegisterInstance": {
 55949       "input": {
 55950         "type": "structure",
 55951         "required": [
 55952           "StackId"
 55953         ],
 55954         "members": {
 55955           "StackId": {},
 55956           "Hostname": {},
 55957           "PublicIp": {},
 55958           "PrivateIp": {},
 55959           "RsaPublicKey": {},
 55960           "RsaPublicKeyFingerprint": {},
 55961           "InstanceIdentity": {
 55962             "type": "structure",
 55963             "members": {
 55964               "Document": {},
 55965               "Signature": {}
 55966             }
 55967           }
 55968         }
 55969       },
 55970       "output": {
 55971         "type": "structure",
 55972         "members": {
 55973           "InstanceId": {}
 55974         }
 55975       }
 55976     },
 55977     "RegisterRdsDbInstance": {
 55978       "input": {
 55979         "type": "structure",
 55980         "required": [
 55981           "StackId",
 55982           "RdsDbInstanceArn",
 55983           "DbUser",
 55984           "DbPassword"
 55985         ],
 55986         "members": {
 55987           "StackId": {},
 55988           "RdsDbInstanceArn": {},
 55989           "DbUser": {},
 55990           "DbPassword": {}
 55991         }
 55992       }
 55993     },
 55994     "RegisterVolume": {
 55995       "input": {
 55996         "type": "structure",
 55997         "required": [
 55998           "StackId"
 55999         ],
 56000         "members": {
 56001           "Ec2VolumeId": {},
 56002           "StackId": {}
 56003         }
 56004       },
 56005       "output": {
 56006         "type": "structure",
 56007         "members": {
 56008           "VolumeId": {}
 56009         }
 56010       }
 56011     },
 56012     "SetLoadBasedAutoScaling": {
 56013       "input": {
 56014         "type": "structure",
 56015         "required": [
 56016           "LayerId"
 56017         ],
 56018         "members": {
 56019           "LayerId": {},
 56020           "Enable": {
 56021             "type": "boolean"
 56022           },
 56023           "UpScaling": {
 56024             "shape": "S30"
 56025           },
 56026           "DownScaling": {
 56027             "shape": "S30"
 56028           }
 56029         }
 56030       }
 56031     },
 56032     "SetPermission": {
 56033       "input": {
 56034         "type": "structure",
 56035         "required": [
 56036           "StackId",
 56037           "IamUserArn"
 56038         ],
 56039         "members": {
 56040           "StackId": {},
 56041           "IamUserArn": {},
 56042           "AllowSsh": {
 56043             "type": "boolean"
 56044           },
 56045           "AllowSudo": {
 56046             "type": "boolean"
 56047           },
 56048           "Level": {}
 56049         }
 56050       }
 56051     },
 56052     "SetTimeBasedAutoScaling": {
 56053       "input": {
 56054         "type": "structure",
 56055         "required": [
 56056           "InstanceId"
 56057         ],
 56058         "members": {
 56059           "InstanceId": {},
 56060           "AutoScalingSchedule": {
 56061             "shape": "S40"
 56062           }
 56063         }
 56064       }
 56065     },
 56066     "StartInstance": {
 56067       "input": {
 56068         "type": "structure",
 56069         "required": [
 56070           "InstanceId"
 56071         ],
 56072         "members": {
 56073           "InstanceId": {}
 56074         }
 56075       }
 56076     },
 56077     "StartStack": {
 56078       "input": {
 56079         "type": "structure",
 56080         "required": [
 56081           "StackId"
 56082         ],
 56083         "members": {
 56084           "StackId": {}
 56085         }
 56086       }
 56087     },
 56088     "StopInstance": {
 56089       "input": {
 56090         "type": "structure",
 56091         "required": [
 56092           "InstanceId"
 56093         ],
 56094         "members": {
 56095           "InstanceId": {}
 56096         }
 56097       }
 56098     },
 56099     "StopStack": {
 56100       "input": {
 56101         "type": "structure",
 56102         "required": [
 56103           "StackId"
 56104         ],
 56105         "members": {
 56106           "StackId": {}
 56107         }
 56108       }
 56109     },
 56110     "UnassignInstance": {
 56111       "input": {
 56112         "type": "structure",
 56113         "required": [
 56114           "InstanceId"
 56115         ],
 56116         "members": {
 56117           "InstanceId": {}
 56118         }
 56119       }
 56120     },
 56121     "UnassignVolume": {
 56122       "input": {
 56123         "type": "structure",
 56124         "required": [
 56125           "VolumeId"
 56126         ],
 56127         "members": {
 56128           "VolumeId": {}
 56129         }
 56130       }
 56131     },
 56132     "UpdateApp": {
 56133       "input": {
 56134         "type": "structure",
 56135         "required": [
 56136           "AppId"
 56137         ],
 56138         "members": {
 56139           "AppId": {},
 56140           "Name": {},
 56141           "Description": {},
 56142           "DataSources": {
 56143             "shape": "Si"
 56144           },
 56145           "Type": {},
 56146           "AppSource": {
 56147             "shape": "Sd"
 56148           },
 56149           "Domains": {
 56150             "shape": "S3"
 56151           },
 56152           "EnableSsl": {
 56153             "type": "boolean"
 56154           },
 56155           "SslConfiguration": {
 56156             "shape": "Sl"
 56157           },
 56158           "Attributes": {
 56159             "shape": "Sm"
 56160           },
 56161           "Environment": {
 56162             "shape": "So"
 56163           }
 56164         }
 56165       }
 56166     },
 56167     "UpdateElasticIp": {
 56168       "input": {
 56169         "type": "structure",
 56170         "required": [
 56171           "ElasticIp"
 56172         ],
 56173         "members": {
 56174           "ElasticIp": {},
 56175           "Name": {}
 56176         }
 56177       }
 56178     },
 56179     "UpdateInstance": {
 56180       "input": {
 56181         "type": "structure",
 56182         "required": [
 56183           "InstanceId"
 56184         ],
 56185         "members": {
 56186           "InstanceId": {},
 56187           "LayerIds": {
 56188             "shape": "S3"
 56189           },
 56190           "InstanceType": {},
 56191           "AutoScalingType": {},
 56192           "Hostname": {},
 56193           "Os": {},
 56194           "AmiId": {},
 56195           "SshKeyName": {},
 56196           "Architecture": {},
 56197           "InstallUpdatesOnBoot": {
 56198             "type": "boolean"
 56199           },
 56200           "EbsOptimized": {
 56201             "type": "boolean"
 56202           },
 56203           "AgentVersion": {}
 56204         }
 56205       }
 56206     },
 56207     "UpdateLayer": {
 56208       "input": {
 56209         "type": "structure",
 56210         "required": [
 56211           "LayerId"
 56212         ],
 56213         "members": {
 56214           "LayerId": {},
 56215           "Name": {},
 56216           "Shortname": {},
 56217           "Attributes": {
 56218             "shape": "S17"
 56219           },
 56220           "CustomInstanceProfileArn": {},
 56221           "CustomJson": {},
 56222           "CustomSecurityGroupIds": {
 56223             "shape": "S3"
 56224           },
 56225           "Packages": {
 56226             "shape": "S3"
 56227           },
 56228           "VolumeConfigurations": {
 56229             "shape": "S19"
 56230           },
 56231           "EnableAutoHealing": {
 56232             "type": "boolean"
 56233           },
 56234           "AutoAssignElasticIps": {
 56235             "type": "boolean"
 56236           },
 56237           "AutoAssignPublicIps": {
 56238             "type": "boolean"
 56239           },
 56240           "CustomRecipes": {
 56241             "shape": "S1b"
 56242           },
 56243           "InstallUpdatesOnBoot": {
 56244             "type": "boolean"
 56245           },
 56246           "UseEbsOptimizedInstances": {
 56247             "type": "boolean"
 56248           },
 56249           "LifecycleEventConfiguration": {
 56250             "shape": "S1c"
 56251           }
 56252         }
 56253       }
 56254     },
 56255     "UpdateMyUserProfile": {
 56256       "input": {
 56257         "type": "structure",
 56258         "members": {
 56259           "SshPublicKey": {}
 56260         }
 56261       }
 56262     },
 56263     "UpdateRdsDbInstance": {
 56264       "input": {
 56265         "type": "structure",
 56266         "required": [
 56267           "RdsDbInstanceArn"
 56268         ],
 56269         "members": {
 56270           "RdsDbInstanceArn": {},
 56271           "DbUser": {},
 56272           "DbPassword": {}
 56273         }
 56274       }
 56275     },
 56276     "UpdateStack": {
 56277       "input": {
 56278         "type": "structure",
 56279         "required": [
 56280           "StackId"
 56281         ],
 56282         "members": {
 56283           "StackId": {},
 56284           "Name": {},
 56285           "Attributes": {
 56286             "shape": "S8"
 56287           },
 56288           "ServiceRoleArn": {},
 56289           "DefaultInstanceProfileArn": {},
 56290           "DefaultOs": {},
 56291           "HostnameTheme": {},
 56292           "DefaultAvailabilityZone": {},
 56293           "DefaultSubnetId": {},
 56294           "CustomJson": {},
 56295           "ConfigurationManager": {
 56296             "shape": "Sa"
 56297           },
 56298           "ChefConfiguration": {
 56299             "shape": "Sb"
 56300           },
 56301           "UseCustomCookbooks": {
 56302             "type": "boolean"
 56303           },
 56304           "CustomCookbooksSource": {
 56305             "shape": "Sd"
 56306           },
 56307           "DefaultSshKeyName": {},
 56308           "DefaultRootDeviceType": {},
 56309           "UseOpsworksSecurityGroups": {
 56310             "type": "boolean"
 56311           },
 56312           "AgentVersion": {}
 56313         }
 56314       }
 56315     },
 56316     "UpdateUserProfile": {
 56317       "input": {
 56318         "type": "structure",
 56319         "required": [
 56320           "IamUserArn"
 56321         ],
 56322         "members": {
 56323           "IamUserArn": {},
 56324           "SshUsername": {},
 56325           "SshPublicKey": {},
 56326           "AllowSelfManagement": {
 56327             "type": "boolean"
 56328           }
 56329         }
 56330       }
 56331     },
 56332     "UpdateVolume": {
 56333       "input": {
 56334         "type": "structure",
 56335         "required": [
 56336           "VolumeId"
 56337         ],
 56338         "members": {
 56339           "VolumeId": {},
 56340           "Name": {},
 56341           "MountPoint": {}
 56342         }
 56343       }
 56344     }
 56345   },
 56346   "shapes": {
 56347     "S3": {
 56348       "type": "list",
 56349       "member": {}
 56350     },
 56351     "S8": {
 56352       "type": "map",
 56353       "key": {},
 56354       "value": {}
 56355     },
 56356     "Sa": {
 56357       "type": "structure",
 56358       "members": {
 56359         "Name": {},
 56360         "Version": {}
 56361       }
 56362     },
 56363     "Sb": {
 56364       "type": "structure",
 56365       "members": {
 56366         "ManageBerkshelf": {
 56367           "type": "boolean"
 56368         },
 56369         "BerkshelfVersion": {}
 56370       }
 56371     },
 56372     "Sd": {
 56373       "type": "structure",
 56374       "members": {
 56375         "Type": {},
 56376         "Url": {},
 56377         "Username": {},
 56378         "Password": {},
 56379         "SshKey": {},
 56380         "Revision": {}
 56381       }
 56382     },
 56383     "Si": {
 56384       "type": "list",
 56385       "member": {
 56386         "type": "structure",
 56387         "members": {
 56388           "Type": {},
 56389           "Arn": {},
 56390           "DatabaseName": {}
 56391         }
 56392       }
 56393     },
 56394     "Sl": {
 56395       "type": "structure",
 56396       "required": [
 56397         "Certificate",
 56398         "PrivateKey"
 56399       ],
 56400       "members": {
 56401         "Certificate": {},
 56402         "PrivateKey": {},
 56403         "Chain": {}
 56404       }
 56405     },
 56406     "Sm": {
 56407       "type": "map",
 56408       "key": {},
 56409       "value": {}
 56410     },
 56411     "So": {
 56412       "type": "list",
 56413       "member": {
 56414         "type": "structure",
 56415         "required": [
 56416           "Key",
 56417           "Value"
 56418         ],
 56419         "members": {
 56420           "Key": {},
 56421           "Value": {},
 56422           "Secure": {
 56423             "type": "boolean"
 56424           }
 56425         }
 56426       }
 56427     },
 56428     "Ss": {
 56429       "type": "structure",
 56430       "required": [
 56431         "Name"
 56432       ],
 56433       "members": {
 56434         "Name": {},
 56435         "Args": {
 56436           "type": "map",
 56437           "key": {},
 56438           "value": {
 56439             "shape": "S3"
 56440           }
 56441         }
 56442       }
 56443     },
 56444     "Sz": {
 56445       "type": "list",
 56446       "member": {
 56447         "type": "structure",
 56448         "members": {
 56449           "DeviceName": {},
 56450           "NoDevice": {},
 56451           "VirtualName": {},
 56452           "Ebs": {
 56453             "type": "structure",
 56454             "members": {
 56455               "SnapshotId": {},
 56456               "Iops": {
 56457                 "type": "integer"
 56458               },
 56459               "VolumeSize": {
 56460                 "type": "integer"
 56461               },
 56462               "VolumeType": {},
 56463               "DeleteOnTermination": {
 56464                 "type": "boolean"
 56465               }
 56466             }
 56467           }
 56468         }
 56469       }
 56470     },
 56471     "S17": {
 56472       "type": "map",
 56473       "key": {},
 56474       "value": {}
 56475     },
 56476     "S19": {
 56477       "type": "list",
 56478       "member": {
 56479         "type": "structure",
 56480         "required": [
 56481           "MountPoint",
 56482           "NumberOfDisks",
 56483           "Size"
 56484         ],
 56485         "members": {
 56486           "MountPoint": {},
 56487           "RaidLevel": {
 56488             "type": "integer"
 56489           },
 56490           "NumberOfDisks": {
 56491             "type": "integer"
 56492           },
 56493           "Size": {
 56494             "type": "integer"
 56495           },
 56496           "VolumeType": {},
 56497           "Iops": {
 56498             "type": "integer"
 56499           }
 56500         }
 56501       }
 56502     },
 56503     "S1b": {
 56504       "type": "structure",
 56505       "members": {
 56506         "Setup": {
 56507           "shape": "S3"
 56508         },
 56509         "Configure": {
 56510           "shape": "S3"
 56511         },
 56512         "Deploy": {
 56513           "shape": "S3"
 56514         },
 56515         "Undeploy": {
 56516           "shape": "S3"
 56517         },
 56518         "Shutdown": {
 56519           "shape": "S3"
 56520         }
 56521       }
 56522     },
 56523     "S1c": {
 56524       "type": "structure",
 56525       "members": {
 56526         "Shutdown": {
 56527           "type": "structure",
 56528           "members": {
 56529             "ExecutionTimeout": {
 56530               "type": "integer"
 56531             },
 56532             "DelayUntilElbConnectionsDrained": {
 56533               "type": "boolean"
 56534             }
 56535           }
 56536         }
 56537       }
 56538     },
 56539     "S30": {
 56540       "type": "structure",
 56541       "members": {
 56542         "InstanceCount": {
 56543           "type": "integer"
 56544         },
 56545         "ThresholdsWaitTime": {
 56546           "type": "integer"
 56547         },
 56548         "IgnoreMetricsTime": {
 56549           "type": "integer"
 56550         },
 56551         "CpuThreshold": {
 56552           "type": "double"
 56553         },
 56554         "MemoryThreshold": {
 56555           "type": "double"
 56556         },
 56557         "LoadThreshold": {
 56558           "type": "double"
 56559         },
 56560         "Alarms": {
 56561           "shape": "S3"
 56562         }
 56563       }
 56564     },
 56565     "S40": {
 56566       "type": "structure",
 56567       "members": {
 56568         "Monday": {
 56569           "shape": "S41"
 56570         },
 56571         "Tuesday": {
 56572           "shape": "S41"
 56573         },
 56574         "Wednesday": {
 56575           "shape": "S41"
 56576         },
 56577         "Thursday": {
 56578           "shape": "S41"
 56579         },
 56580         "Friday": {
 56581           "shape": "S41"
 56582         },
 56583         "Saturday": {
 56584           "shape": "S41"
 56585         },
 56586         "Sunday": {
 56587           "shape": "S41"
 56588         }
 56589       }
 56590     },
 56591     "S41": {
 56592       "type": "map",
 56593       "key": {},
 56594       "value": {}
 56595     }
 56596   }
 56597 }
 56598 },{}],93:[function(require,module,exports){
 56599 module.exports={
 56600   "pagination": {
 56601     "DescribeApps": {
 56602       "result_key": "Apps"
 56603     },
 56604     "DescribeCommands": {
 56605       "result_key": "Commands"
 56606     },
 56607     "DescribeDeployments": {
 56608       "result_key": "Deployments"
 56609     },
 56610     "DescribeEcsClusters": {
 56611       "input_token": "NextToken",
 56612       "output_token": "NextToken",
 56613       "limit_key": "MaxResults",
 56614       "result_key": "EcsClusters"
 56615     },
 56616     "DescribeElasticIps": {
 56617       "result_key": "ElasticIps"
 56618     },
 56619     "DescribeElasticLoadBalancers": {
 56620       "result_key": "ElasticLoadBalancers"
 56621     },
 56622     "DescribeInstances": {
 56623       "result_key": "Instances"
 56624     },
 56625     "DescribeLayers": {
 56626       "result_key": "Layers"
 56627     },
 56628     "DescribeLoadBasedAutoScaling": {
 56629       "result_key": "LoadBasedAutoScalingConfigurations"
 56630     },
 56631     "DescribePermissions": {
 56632       "result_key": "Permissions"
 56633     },
 56634     "DescribeRaidArrays": {
 56635       "result_key": "RaidArrays"
 56636     },
 56637     "DescribeServiceErrors": {
 56638       "result_key": "ServiceErrors"
 56639     },
 56640     "DescribeStacks": {
 56641       "result_key": "Stacks"
 56642     },
 56643     "DescribeTimeBasedAutoScaling": {
 56644       "result_key": "TimeBasedAutoScalingConfigurations"
 56645     },
 56646     "DescribeUserProfiles": {
 56647       "result_key": "UserProfiles"
 56648     },
 56649     "DescribeVolumes": {
 56650       "result_key": "Volumes"
 56651     }
 56652   }
 56653 }
 56654 
 56655 },{}],94:[function(require,module,exports){
 56656 module.exports={
 56657   "version": 2,
 56658   "waiters": {
 56659     "AppExists": {
 56660       "delay": 1,
 56661       "operation": "DescribeApps",
 56662       "maxAttempts": 40,
 56663       "acceptors": [
 56664         {
 56665           "expected": 200,
 56666           "matcher": "status",
 56667           "state": "success"
 56668         },
 56669         {
 56670           "matcher": "status",
 56671           "expected": 400,
 56672           "state": "failure"
 56673         }
 56674       ]
 56675     },
 56676     "DeploymentSuccessful": {
 56677       "delay": 15,
 56678       "operation": "DescribeDeployments",
 56679       "maxAttempts": 40,
 56680       "description": "Wait until a deployment has completed successfully",
 56681       "acceptors": [
 56682         {
 56683           "expected": "successful",
 56684           "matcher": "pathAll",
 56685           "state": "success",
 56686           "argument": "Deployments[].Status"
 56687         },
 56688         {
 56689           "expected": "failed",
 56690           "matcher": "pathAny",
 56691           "state": "failure",
 56692           "argument": "Deployments[].Status"
 56693         }
 56694       ]
 56695     },
 56696     "InstanceOnline": {
 56697       "delay": 15,
 56698       "operation": "DescribeInstances",
 56699       "maxAttempts": 40,
 56700       "description": "Wait until OpsWorks instance is online.",
 56701       "acceptors": [
 56702         {
 56703           "expected": "online",
 56704           "matcher": "pathAll",
 56705           "state": "success",
 56706           "argument": "Instances[].Status"
 56707         },
 56708         {
 56709           "expected": "setup_failed",
 56710           "matcher": "pathAny",
 56711           "state": "failure",
 56712           "argument": "Instances[].Status"
 56713         },
 56714         {
 56715           "expected": "shutting_down",
 56716           "matcher": "pathAny",
 56717           "state": "failure",
 56718           "argument": "Instances[].Status"
 56719         },
 56720         {
 56721           "expected": "start_failed",
 56722           "matcher": "pathAny",
 56723           "state": "failure",
 56724           "argument": "Instances[].Status"
 56725         },
 56726         {
 56727           "expected": "stopped",
 56728           "matcher": "pathAny",
 56729           "state": "failure",
 56730           "argument": "Instances[].Status"
 56731         },
 56732         {
 56733           "expected": "stopping",
 56734           "matcher": "pathAny",
 56735           "state": "failure",
 56736           "argument": "Instances[].Status"
 56737         },
 56738         {
 56739           "expected": "terminating",
 56740           "matcher": "pathAny",
 56741           "state": "failure",
 56742           "argument": "Instances[].Status"
 56743         },
 56744         {
 56745           "expected": "terminated",
 56746           "matcher": "pathAny",
 56747           "state": "failure",
 56748           "argument": "Instances[].Status"
 56749         },
 56750         {
 56751           "expected": "stop_failed",
 56752           "matcher": "pathAny",
 56753           "state": "failure",
 56754           "argument": "Instances[].Status"
 56755         }
 56756       ]
 56757     },
 56758     "InstanceRegistered": {
 56759       "delay": 15,
 56760       "operation": "DescribeInstances",
 56761       "maxAttempts": 40,
 56762       "description": "Wait until OpsWorks instance is registered.",
 56763       "acceptors": [
 56764         {
 56765           "expected": "registered",
 56766           "matcher": "pathAll",
 56767           "state": "success",
 56768           "argument": "Instances[].Status"
 56769         },
 56770         {
 56771           "expected": "setup_failed",
 56772           "matcher": "pathAny",
 56773           "state": "failure",
 56774           "argument": "Instances[].Status"
 56775         },
 56776         {
 56777           "expected": "shutting_down",
 56778           "matcher": "pathAny",
 56779           "state": "failure",
 56780           "argument": "Instances[].Status"
 56781         },
 56782         {
 56783           "expected": "stopped",
 56784           "matcher": "pathAny",
 56785           "state": "failure",
 56786           "argument": "Instances[].Status"
 56787         },
 56788         {
 56789           "expected": "stopping",
 56790           "matcher": "pathAny",
 56791           "state": "failure",
 56792           "argument": "Instances[].Status"
 56793         },
 56794         {
 56795           "expected": "terminating",
 56796           "matcher": "pathAny",
 56797           "state": "failure",
 56798           "argument": "Instances[].Status"
 56799         },
 56800         {
 56801           "expected": "terminated",
 56802           "matcher": "pathAny",
 56803           "state": "failure",
 56804           "argument": "Instances[].Status"
 56805         },
 56806         {
 56807           "expected": "stop_failed",
 56808           "matcher": "pathAny",
 56809           "state": "failure",
 56810           "argument": "Instances[].Status"
 56811         }
 56812       ]
 56813     },
 56814     "InstanceStopped": {
 56815       "delay": 15,
 56816       "operation": "DescribeInstances",
 56817       "maxAttempts": 40,
 56818       "description": "Wait until OpsWorks instance is stopped.",
 56819       "acceptors": [
 56820         {
 56821           "expected": "stopped",
 56822           "matcher": "pathAll",
 56823           "state": "success",
 56824           "argument": "Instances[].Status"
 56825         },
 56826         {
 56827           "expected": "booting",
 56828           "matcher": "pathAny",
 56829           "state": "failure",
 56830           "argument": "Instances[].Status"
 56831         },
 56832         {
 56833           "expected": "online",
 56834           "matcher": "pathAny",
 56835           "state": "failure",
 56836           "argument": "Instances[].Status"
 56837         },
 56838         {
 56839           "expected": "pending",
 56840           "matcher": "pathAny",
 56841           "state": "failure",
 56842           "argument": "Instances[].Status"
 56843         },
 56844         {
 56845           "expected": "rebooting",
 56846           "matcher": "pathAny",
 56847           "state": "failure",
 56848           "argument": "Instances[].Status"
 56849         },
 56850         {
 56851           "expected": "requested",
 56852           "matcher": "pathAny",
 56853           "state": "failure",
 56854           "argument": "Instances[].Status"
 56855         },
 56856         {
 56857           "expected": "running_setup",
 56858           "matcher": "pathAny",
 56859           "state": "failure",
 56860           "argument": "Instances[].Status"
 56861         },
 56862         {
 56863           "expected": "setup_failed",
 56864           "matcher": "pathAny",
 56865           "state": "failure",
 56866           "argument": "Instances[].Status"
 56867         },
 56868         {
 56869           "expected": "start_failed",
 56870           "matcher": "pathAny",
 56871           "state": "failure",
 56872           "argument": "Instances[].Status"
 56873         },
 56874         {
 56875           "expected": "stop_failed",
 56876           "matcher": "pathAny",
 56877           "state": "failure",
 56878           "argument": "Instances[].Status"
 56879         }
 56880       ]
 56881     },
 56882     "InstanceTerminated": {
 56883       "delay": 15,
 56884       "operation": "DescribeInstances",
 56885       "maxAttempts": 40,
 56886       "description": "Wait until OpsWorks instance is terminated.",
 56887       "acceptors": [
 56888         {
 56889           "expected": "terminated",
 56890           "matcher": "pathAll",
 56891           "state": "success",
 56892           "argument": "Instances[].Status"
 56893         },
 56894         {
 56895           "expected": "ResourceNotFoundException",
 56896           "matcher": "error",
 56897           "state": "success"
 56898         },
 56899         {
 56900           "expected": "booting",
 56901           "matcher": "pathAny",
 56902           "state": "failure",
 56903           "argument": "Instances[].Status"
 56904         },
 56905         {
 56906           "expected": "online",
 56907           "matcher": "pathAny",
 56908           "state": "failure",
 56909           "argument": "Instances[].Status"
 56910         },
 56911         {
 56912           "expected": "pending",
 56913           "matcher": "pathAny",
 56914           "state": "failure",
 56915           "argument": "Instances[].Status"
 56916         },
 56917         {
 56918           "expected": "rebooting",
 56919           "matcher": "pathAny",
 56920           "state": "failure",
 56921           "argument": "Instances[].Status"
 56922         },
 56923         {
 56924           "expected": "requested",
 56925           "matcher": "pathAny",
 56926           "state": "failure",
 56927           "argument": "Instances[].Status"
 56928         },
 56929         {
 56930           "expected": "running_setup",
 56931           "matcher": "pathAny",
 56932           "state": "failure",
 56933           "argument": "Instances[].Status"
 56934         },
 56935         {
 56936           "expected": "setup_failed",
 56937           "matcher": "pathAny",
 56938           "state": "failure",
 56939           "argument": "Instances[].Status"
 56940         },
 56941         {
 56942           "expected": "start_failed",
 56943           "matcher": "pathAny",
 56944           "state": "failure",
 56945           "argument": "Instances[].Status"
 56946         }
 56947       ]
 56948     }
 56949   }
 56950 }
 56951 
 56952 },{}],95:[function(require,module,exports){
 56953 module.exports={
 56954   "version": "2.0",
 56955   "metadata": {
 56956     "apiVersion": "2013-01-10",
 56957     "endpointPrefix": "rds",
 56958     "protocol": "query",
 56959     "serviceAbbreviation": "Amazon RDS",
 56960     "serviceFullName": "Amazon Relational Database Service",
 56961     "signatureVersion": "v4",
 56962     "xmlNamespace": "http://rds.amazonaws.com/doc/2013-01-10/"
 56963   },
 56964   "operations": {
 56965     "AddSourceIdentifierToSubscription": {
 56966       "input": {
 56967         "type": "structure",
 56968         "required": [
 56969           "SubscriptionName",
 56970           "SourceIdentifier"
 56971         ],
 56972         "members": {
 56973           "SubscriptionName": {},
 56974           "SourceIdentifier": {}
 56975         }
 56976       },
 56977       "output": {
 56978         "resultWrapper": "AddSourceIdentifierToSubscriptionResult",
 56979         "type": "structure",
 56980         "members": {
 56981           "EventSubscription": {
 56982             "shape": "S4"
 56983           }
 56984         }
 56985       }
 56986     },
 56987     "AddTagsToResource": {
 56988       "input": {
 56989         "type": "structure",
 56990         "required": [
 56991           "ResourceName",
 56992           "Tags"
 56993         ],
 56994         "members": {
 56995           "ResourceName": {},
 56996           "Tags": {
 56997             "shape": "S9"
 56998           }
 56999         }
 57000       }
 57001     },
 57002     "AuthorizeDBSecurityGroupIngress": {
 57003       "input": {
 57004         "type": "structure",
 57005         "required": [
 57006           "DBSecurityGroupName"
 57007         ],
 57008         "members": {
 57009           "DBSecurityGroupName": {},
 57010           "CIDRIP": {},
 57011           "EC2SecurityGroupName": {},
 57012           "EC2SecurityGroupId": {},
 57013           "EC2SecurityGroupOwnerId": {}
 57014         }
 57015       },
 57016       "output": {
 57017         "resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
 57018         "type": "structure",
 57019         "members": {
 57020           "DBSecurityGroup": {
 57021             "shape": "Sd"
 57022           }
 57023         }
 57024       }
 57025     },
 57026     "CopyDBSnapshot": {
 57027       "input": {
 57028         "type": "structure",
 57029         "required": [
 57030           "SourceDBSnapshotIdentifier",
 57031           "TargetDBSnapshotIdentifier"
 57032         ],
 57033         "members": {
 57034           "SourceDBSnapshotIdentifier": {},
 57035           "TargetDBSnapshotIdentifier": {}
 57036         }
 57037       },
 57038       "output": {
 57039         "resultWrapper": "CopyDBSnapshotResult",
 57040         "type": "structure",
 57041         "members": {
 57042           "DBSnapshot": {
 57043             "shape": "Sk"
 57044           }
 57045         }
 57046       }
 57047     },
 57048     "CreateDBInstance": {
 57049       "input": {
 57050         "type": "structure",
 57051         "required": [
 57052           "DBInstanceIdentifier",
 57053           "AllocatedStorage",
 57054           "DBInstanceClass",
 57055           "Engine",
 57056           "MasterUsername",
 57057           "MasterUserPassword"
 57058         ],
 57059         "members": {
 57060           "DBName": {},
 57061           "DBInstanceIdentifier": {},
 57062           "AllocatedStorage": {
 57063             "type": "integer"
 57064           },
 57065           "DBInstanceClass": {},
 57066           "Engine": {},
 57067           "MasterUsername": {},
 57068           "MasterUserPassword": {},
 57069           "DBSecurityGroups": {
 57070             "shape": "Sp"
 57071           },
 57072           "VpcSecurityGroupIds": {
 57073             "shape": "Sq"
 57074           },
 57075           "AvailabilityZone": {},
 57076           "DBSubnetGroupName": {},
 57077           "PreferredMaintenanceWindow": {},
 57078           "DBParameterGroupName": {},
 57079           "BackupRetentionPeriod": {
 57080             "type": "integer"
 57081           },
 57082           "PreferredBackupWindow": {},
 57083           "Port": {
 57084             "type": "integer"
 57085           },
 57086           "MultiAZ": {
 57087             "type": "boolean"
 57088           },
 57089           "EngineVersion": {},
 57090           "AutoMinorVersionUpgrade": {
 57091             "type": "boolean"
 57092           },
 57093           "LicenseModel": {},
 57094           "Iops": {
 57095             "type": "integer"
 57096           },
 57097           "OptionGroupName": {},
 57098           "CharacterSetName": {},
 57099           "PubliclyAccessible": {
 57100             "type": "boolean"
 57101           }
 57102         }
 57103       },
 57104       "output": {
 57105         "resultWrapper": "CreateDBInstanceResult",
 57106         "type": "structure",
 57107         "members": {
 57108           "DBInstance": {
 57109             "shape": "St"
 57110           }
 57111         }
 57112       }
 57113     },
 57114     "CreateDBInstanceReadReplica": {
 57115       "input": {
 57116         "type": "structure",
 57117         "required": [
 57118           "DBInstanceIdentifier",
 57119           "SourceDBInstanceIdentifier"
 57120         ],
 57121         "members": {
 57122           "DBInstanceIdentifier": {},
 57123           "SourceDBInstanceIdentifier": {},
 57124           "DBInstanceClass": {},
 57125           "AvailabilityZone": {},
 57126           "Port": {
 57127             "type": "integer"
 57128           },
 57129           "AutoMinorVersionUpgrade": {
 57130             "type": "boolean"
 57131           },
 57132           "Iops": {
 57133             "type": "integer"
 57134           },
 57135           "OptionGroupName": {},
 57136           "PubliclyAccessible": {
 57137             "type": "boolean"
 57138           }
 57139         }
 57140       },
 57141       "output": {
 57142         "resultWrapper": "CreateDBInstanceReadReplicaResult",
 57143         "type": "structure",
 57144         "members": {
 57145           "DBInstance": {
 57146             "shape": "St"
 57147           }
 57148         }
 57149       }
 57150     },
 57151     "CreateDBParameterGroup": {
 57152       "input": {
 57153         "type": "structure",
 57154         "required": [
 57155           "DBParameterGroupName",
 57156           "DBParameterGroupFamily",
 57157           "Description"
 57158         ],
 57159         "members": {
 57160           "DBParameterGroupName": {},
 57161           "DBParameterGroupFamily": {},
 57162           "Description": {}
 57163         }
 57164       },
 57165       "output": {
 57166         "resultWrapper": "CreateDBParameterGroupResult",
 57167         "type": "structure",
 57168         "members": {
 57169           "DBParameterGroup": {
 57170             "shape": "S1c"
 57171           }
 57172         }
 57173       }
 57174     },
 57175     "CreateDBSecurityGroup": {
 57176       "input": {
 57177         "type": "structure",
 57178         "required": [
 57179           "DBSecurityGroupName",
 57180           "DBSecurityGroupDescription"
 57181         ],
 57182         "members": {
 57183           "DBSecurityGroupName": {},
 57184           "DBSecurityGroupDescription": {}
 57185         }
 57186       },
 57187       "output": {
 57188         "resultWrapper": "CreateDBSecurityGroupResult",
 57189         "type": "structure",
 57190         "members": {
 57191           "DBSecurityGroup": {
 57192             "shape": "Sd"
 57193           }
 57194         }
 57195       }
 57196     },
 57197     "CreateDBSnapshot": {
 57198       "input": {
 57199         "type": "structure",
 57200         "required": [
 57201           "DBSnapshotIdentifier",
 57202           "DBInstanceIdentifier"
 57203         ],
 57204         "members": {
 57205           "DBSnapshotIdentifier": {},
 57206           "DBInstanceIdentifier": {}
 57207         }
 57208       },
 57209       "output": {
 57210         "resultWrapper": "CreateDBSnapshotResult",
 57211         "type": "structure",
 57212         "members": {
 57213           "DBSnapshot": {
 57214             "shape": "Sk"
 57215           }
 57216         }
 57217       }
 57218     },
 57219     "CreateDBSubnetGroup": {
 57220       "input": {
 57221         "type": "structure",
 57222         "required": [
 57223           "DBSubnetGroupName",
 57224           "DBSubnetGroupDescription",
 57225           "SubnetIds"
 57226         ],
 57227         "members": {
 57228           "DBSubnetGroupName": {},
 57229           "DBSubnetGroupDescription": {},
 57230           "SubnetIds": {
 57231             "shape": "S1i"
 57232           }
 57233         }
 57234       },
 57235       "output": {
 57236         "resultWrapper": "CreateDBSubnetGroupResult",
 57237         "type": "structure",
 57238         "members": {
 57239           "DBSubnetGroup": {
 57240             "shape": "S11"
 57241           }
 57242         }
 57243       }
 57244     },
 57245     "CreateEventSubscription": {
 57246       "input": {
 57247         "type": "structure",
 57248         "required": [
 57249           "SubscriptionName",
 57250           "SnsTopicArn"
 57251         ],
 57252         "members": {
 57253           "SubscriptionName": {},
 57254           "SnsTopicArn": {},
 57255           "SourceType": {},
 57256           "EventCategories": {
 57257             "shape": "S6"
 57258           },
 57259           "SourceIds": {
 57260             "shape": "S5"
 57261           },
 57262           "Enabled": {
 57263             "type": "boolean"
 57264           }
 57265         }
 57266       },
 57267       "output": {
 57268         "resultWrapper": "CreateEventSubscriptionResult",
 57269         "type": "structure",
 57270         "members": {
 57271           "EventSubscription": {
 57272             "shape": "S4"
 57273           }
 57274         }
 57275       }
 57276     },
 57277     "CreateOptionGroup": {
 57278       "input": {
 57279         "type": "structure",
 57280         "required": [
 57281           "OptionGroupName",
 57282           "EngineName",
 57283           "MajorEngineVersion",
 57284           "OptionGroupDescription"
 57285         ],
 57286         "members": {
 57287           "OptionGroupName": {},
 57288           "EngineName": {},
 57289           "MajorEngineVersion": {},
 57290           "OptionGroupDescription": {}
 57291         }
 57292       },
 57293       "output": {
 57294         "resultWrapper": "CreateOptionGroupResult",
 57295         "type": "structure",
 57296         "members": {
 57297           "OptionGroup": {
 57298             "shape": "S1o"
 57299           }
 57300         }
 57301       }
 57302     },
 57303     "DeleteDBInstance": {
 57304       "input": {
 57305         "type": "structure",
 57306         "required": [
 57307           "DBInstanceIdentifier"
 57308         ],
 57309         "members": {
 57310           "DBInstanceIdentifier": {},
 57311           "SkipFinalSnapshot": {
 57312             "type": "boolean"
 57313           },
 57314           "FinalDBSnapshotIdentifier": {}
 57315         }
 57316       },
 57317       "output": {
 57318         "resultWrapper": "DeleteDBInstanceResult",
 57319         "type": "structure",
 57320         "members": {
 57321           "DBInstance": {
 57322             "shape": "St"
 57323           }
 57324         }
 57325       }
 57326     },
 57327     "DeleteDBParameterGroup": {
 57328       "input": {
 57329         "type": "structure",
 57330         "required": [
 57331           "DBParameterGroupName"
 57332         ],
 57333         "members": {
 57334           "DBParameterGroupName": {}
 57335         }
 57336       }
 57337     },
 57338     "DeleteDBSecurityGroup": {
 57339       "input": {
 57340         "type": "structure",
 57341         "required": [
 57342           "DBSecurityGroupName"
 57343         ],
 57344         "members": {
 57345           "DBSecurityGroupName": {}
 57346         }
 57347       }
 57348     },
 57349     "DeleteDBSnapshot": {
 57350       "input": {
 57351         "type": "structure",
 57352         "required": [
 57353           "DBSnapshotIdentifier"
 57354         ],
 57355         "members": {
 57356           "DBSnapshotIdentifier": {}
 57357         }
 57358       },
 57359       "output": {
 57360         "resultWrapper": "DeleteDBSnapshotResult",
 57361         "type": "structure",
 57362         "members": {
 57363           "DBSnapshot": {
 57364             "shape": "Sk"
 57365           }
 57366         }
 57367       }
 57368     },
 57369     "DeleteDBSubnetGroup": {
 57370       "input": {
 57371         "type": "structure",
 57372         "required": [
 57373           "DBSubnetGroupName"
 57374         ],
 57375         "members": {
 57376           "DBSubnetGroupName": {}
 57377         }
 57378       }
 57379     },
 57380     "DeleteEventSubscription": {
 57381       "input": {
 57382         "type": "structure",
 57383         "required": [
 57384           "SubscriptionName"
 57385         ],
 57386         "members": {
 57387           "SubscriptionName": {}
 57388         }
 57389       },
 57390       "output": {
 57391         "resultWrapper": "DeleteEventSubscriptionResult",
 57392         "type": "structure",
 57393         "members": {
 57394           "EventSubscription": {
 57395             "shape": "S4"
 57396           }
 57397         }
 57398       }
 57399     },
 57400     "DeleteOptionGroup": {
 57401       "input": {
 57402         "type": "structure",
 57403         "required": [
 57404           "OptionGroupName"
 57405         ],
 57406         "members": {
 57407           "OptionGroupName": {}
 57408         }
 57409       }
 57410     },
 57411     "DescribeDBEngineVersions": {
 57412       "input": {
 57413         "type": "structure",
 57414         "members": {
 57415           "Engine": {},
 57416           "EngineVersion": {},
 57417           "DBParameterGroupFamily": {},
 57418           "MaxRecords": {
 57419             "type": "integer"
 57420           },
 57421           "Marker": {},
 57422           "DefaultOnly": {
 57423             "type": "boolean"
 57424           },
 57425           "ListSupportedCharacterSets": {
 57426             "type": "boolean"
 57427           }
 57428         }
 57429       },
 57430       "output": {
 57431         "resultWrapper": "DescribeDBEngineVersionsResult",
 57432         "type": "structure",
 57433         "members": {
 57434           "Marker": {},
 57435           "DBEngineVersions": {
 57436             "type": "list",
 57437             "member": {
 57438               "locationName": "DBEngineVersion",
 57439               "type": "structure",
 57440               "members": {
 57441                 "Engine": {},
 57442                 "EngineVersion": {},
 57443                 "DBParameterGroupFamily": {},
 57444                 "DBEngineDescription": {},
 57445                 "DBEngineVersionDescription": {},
 57446                 "DefaultCharacterSet": {
 57447                   "shape": "S25"
 57448                 },
 57449                 "SupportedCharacterSets": {
 57450                   "type": "list",
 57451                   "member": {
 57452                     "shape": "S25",
 57453                     "locationName": "CharacterSet"
 57454                   }
 57455                 }
 57456               }
 57457             }
 57458           }
 57459         }
 57460       }
 57461     },
 57462     "DescribeDBInstances": {
 57463       "input": {
 57464         "type": "structure",
 57465         "members": {
 57466           "DBInstanceIdentifier": {},
 57467           "MaxRecords": {
 57468             "type": "integer"
 57469           },
 57470           "Marker": {}
 57471         }
 57472       },
 57473       "output": {
 57474         "resultWrapper": "DescribeDBInstancesResult",
 57475         "type": "structure",
 57476         "members": {
 57477           "Marker": {},
 57478           "DBInstances": {
 57479             "type": "list",
 57480             "member": {
 57481               "shape": "St",
 57482               "locationName": "DBInstance"
 57483             }
 57484           }
 57485         }
 57486       }
 57487     },
 57488     "DescribeDBParameterGroups": {
 57489       "input": {
 57490         "type": "structure",
 57491         "members": {
 57492           "DBParameterGroupName": {},
 57493           "MaxRecords": {
 57494             "type": "integer"
 57495           },
 57496           "Marker": {}
 57497         }
 57498       },
 57499       "output": {
 57500         "resultWrapper": "DescribeDBParameterGroupsResult",
 57501         "type": "structure",
 57502         "members": {
 57503           "Marker": {},
 57504           "DBParameterGroups": {
 57505             "type": "list",
 57506             "member": {
 57507               "shape": "S1c",
 57508               "locationName": "DBParameterGroup"
 57509             }
 57510           }
 57511         }
 57512       }
 57513     },
 57514     "DescribeDBParameters": {
 57515       "input": {
 57516         "type": "structure",
 57517         "required": [
 57518           "DBParameterGroupName"
 57519         ],
 57520         "members": {
 57521           "DBParameterGroupName": {},
 57522           "Source": {},
 57523           "MaxRecords": {
 57524             "type": "integer"
 57525           },
 57526           "Marker": {}
 57527         }
 57528       },
 57529       "output": {
 57530         "resultWrapper": "DescribeDBParametersResult",
 57531         "type": "structure",
 57532         "members": {
 57533           "Parameters": {
 57534             "shape": "S2f"
 57535           },
 57536           "Marker": {}
 57537         }
 57538       }
 57539     },
 57540     "DescribeDBSecurityGroups": {
 57541       "input": {
 57542         "type": "structure",
 57543         "members": {
 57544           "DBSecurityGroupName": {},
 57545           "MaxRecords": {
 57546             "type": "integer"
 57547           },
 57548           "Marker": {}
 57549         }
 57550       },
 57551       "output": {
 57552         "resultWrapper": "DescribeDBSecurityGroupsResult",
 57553         "type": "structure",
 57554         "members": {
 57555           "Marker": {},
 57556           "DBSecurityGroups": {
 57557             "type": "list",
 57558             "member": {
 57559               "shape": "Sd",
 57560               "locationName": "DBSecurityGroup"
 57561             }
 57562           }
 57563         }
 57564       }
 57565     },
 57566     "DescribeDBSnapshots": {
 57567       "input": {
 57568         "type": "structure",
 57569         "members": {
 57570           "DBInstanceIdentifier": {},
 57571           "DBSnapshotIdentifier": {},
 57572           "SnapshotType": {},
 57573           "MaxRecords": {
 57574             "type": "integer"
 57575           },
 57576           "Marker": {}
 57577         }
 57578       },
 57579       "output": {
 57580         "resultWrapper": "DescribeDBSnapshotsResult",
 57581         "type": "structure",
 57582         "members": {
 57583           "Marker": {},
 57584           "DBSnapshots": {
 57585             "type": "list",
 57586             "member": {
 57587               "shape": "Sk",
 57588               "locationName": "DBSnapshot"
 57589             }
 57590           }
 57591         }
 57592       }
 57593     },
 57594     "DescribeDBSubnetGroups": {
 57595       "input": {
 57596         "type": "structure",
 57597         "members": {
 57598           "DBSubnetGroupName": {},
 57599           "MaxRecords": {
 57600             "type": "integer"
 57601           },
 57602           "Marker": {}
 57603         }
 57604       },
 57605       "output": {
 57606         "resultWrapper": "DescribeDBSubnetGroupsResult",
 57607         "type": "structure",
 57608         "members": {
 57609           "Marker": {},
 57610           "DBSubnetGroups": {
 57611             "type": "list",
 57612             "member": {
 57613               "shape": "S11",
 57614               "locationName": "DBSubnetGroup"
 57615             }
 57616           }
 57617         }
 57618       }
 57619     },
 57620     "DescribeEngineDefaultParameters": {
 57621       "input": {
 57622         "type": "structure",
 57623         "required": [
 57624           "DBParameterGroupFamily"
 57625         ],
 57626         "members": {
 57627           "DBParameterGroupFamily": {},
 57628           "MaxRecords": {
 57629             "type": "integer"
 57630           },
 57631           "Marker": {}
 57632         }
 57633       },
 57634       "output": {
 57635         "resultWrapper": "DescribeEngineDefaultParametersResult",
 57636         "type": "structure",
 57637         "members": {
 57638           "EngineDefaults": {
 57639             "type": "structure",
 57640             "members": {
 57641               "DBParameterGroupFamily": {},
 57642               "Marker": {},
 57643               "Parameters": {
 57644                 "shape": "S2f"
 57645               }
 57646             },
 57647             "wrapper": true
 57648           }
 57649         }
 57650       }
 57651     },
 57652     "DescribeEventCategories": {
 57653       "input": {
 57654         "type": "structure",
 57655         "members": {
 57656           "SourceType": {}
 57657         }
 57658       },
 57659       "output": {
 57660         "resultWrapper": "DescribeEventCategoriesResult",
 57661         "type": "structure",
 57662         "members": {
 57663           "EventCategoriesMapList": {
 57664             "type": "list",
 57665             "member": {
 57666               "locationName": "EventCategoriesMap",
 57667               "type": "structure",
 57668               "members": {
 57669                 "SourceType": {},
 57670                 "EventCategories": {
 57671                   "shape": "S6"
 57672                 }
 57673               },
 57674               "wrapper": true
 57675             }
 57676           }
 57677         }
 57678       }
 57679     },
 57680     "DescribeEventSubscriptions": {
 57681       "input": {
 57682         "type": "structure",
 57683         "members": {
 57684           "SubscriptionName": {},
 57685           "MaxRecords": {
 57686             "type": "integer"
 57687           },
 57688           "Marker": {}
 57689         }
 57690       },
 57691       "output": {
 57692         "resultWrapper": "DescribeEventSubscriptionsResult",
 57693         "type": "structure",
 57694         "members": {
 57695           "Marker": {},
 57696           "EventSubscriptionsList": {
 57697             "type": "list",
 57698             "member": {
 57699               "shape": "S4",
 57700               "locationName": "EventSubscription"
 57701             }
 57702           }
 57703         }
 57704       }
 57705     },
 57706     "DescribeEvents": {
 57707       "input": {
 57708         "type": "structure",
 57709         "members": {
 57710           "SourceIdentifier": {},
 57711           "SourceType": {},
 57712           "StartTime": {
 57713             "type": "timestamp"
 57714           },
 57715           "EndTime": {
 57716             "type": "timestamp"
 57717           },
 57718           "Duration": {
 57719             "type": "integer"
 57720           },
 57721           "EventCategories": {
 57722             "shape": "S6"
 57723           },
 57724           "MaxRecords": {
 57725             "type": "integer"
 57726           },
 57727           "Marker": {}
 57728         }
 57729       },
 57730       "output": {
 57731         "resultWrapper": "DescribeEventsResult",
 57732         "type": "structure",
 57733         "members": {
 57734           "Marker": {},
 57735           "Events": {
 57736             "type": "list",
 57737             "member": {
 57738               "locationName": "Event",
 57739               "type": "structure",
 57740               "members": {
 57741                 "SourceIdentifier": {},
 57742                 "SourceType": {},
 57743                 "Message": {},
 57744                 "EventCategories": {
 57745                   "shape": "S6"
 57746                 },
 57747                 "Date": {
 57748                   "type": "timestamp"
 57749                 }
 57750               }
 57751             }
 57752           }
 57753         }
 57754       }
 57755     },
 57756     "DescribeOptionGroupOptions": {
 57757       "input": {
 57758         "type": "structure",
 57759         "required": [
 57760           "EngineName"
 57761         ],
 57762         "members": {
 57763           "EngineName": {},
 57764           "MajorEngineVersion": {},
 57765           "MaxRecords": {
 57766             "type": "integer"
 57767           },
 57768           "Marker": {}
 57769         }
 57770       },
 57771       "output": {
 57772         "resultWrapper": "DescribeOptionGroupOptionsResult",
 57773         "type": "structure",
 57774         "members": {
 57775           "OptionGroupOptions": {
 57776             "type": "list",
 57777             "member": {
 57778               "locationName": "OptionGroupOption",
 57779               "type": "structure",
 57780               "members": {
 57781                 "Name": {},
 57782                 "Description": {},
 57783                 "EngineName": {},
 57784                 "MajorEngineVersion": {},
 57785                 "MinimumRequiredMinorEngineVersion": {},
 57786                 "PortRequired": {
 57787                   "type": "boolean"
 57788                 },
 57789                 "DefaultPort": {
 57790                   "type": "integer"
 57791                 },
 57792                 "OptionsDependedOn": {
 57793                   "type": "list",
 57794                   "member": {
 57795                     "locationName": "OptionName"
 57796                   }
 57797                 }
 57798               }
 57799             }
 57800           },
 57801           "Marker": {}
 57802         }
 57803       }
 57804     },
 57805     "DescribeOptionGroups": {
 57806       "input": {
 57807         "type": "structure",
 57808         "members": {
 57809           "OptionGroupName": {},
 57810           "Marker": {},
 57811           "MaxRecords": {
 57812             "type": "integer"
 57813           },
 57814           "EngineName": {},
 57815           "MajorEngineVersion": {}
 57816         }
 57817       },
 57818       "output": {
 57819         "resultWrapper": "DescribeOptionGroupsResult",
 57820         "type": "structure",
 57821         "members": {
 57822           "OptionGroupsList": {
 57823             "type": "list",
 57824             "member": {
 57825               "shape": "S1o",
 57826               "locationName": "OptionGroup"
 57827             }
 57828           },
 57829           "Marker": {}
 57830         }
 57831       }
 57832     },
 57833     "DescribeOrderableDBInstanceOptions": {
 57834       "input": {
 57835         "type": "structure",
 57836         "required": [
 57837           "Engine"
 57838         ],
 57839         "members": {
 57840           "Engine": {},
 57841           "EngineVersion": {},
 57842           "DBInstanceClass": {},
 57843           "LicenseModel": {},
 57844           "Vpc": {
 57845             "type": "boolean"
 57846           },
 57847           "MaxRecords": {
 57848             "type": "integer"
 57849           },
 57850           "Marker": {}
 57851         }
 57852       },
 57853       "output": {
 57854         "resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
 57855         "type": "structure",
 57856         "members": {
 57857           "OrderableDBInstanceOptions": {
 57858             "type": "list",
 57859             "member": {
 57860               "locationName": "OrderableDBInstanceOption",
 57861               "type": "structure",
 57862               "members": {
 57863                 "Engine": {},
 57864                 "EngineVersion": {},
 57865                 "DBInstanceClass": {},
 57866                 "LicenseModel": {},
 57867                 "AvailabilityZones": {
 57868                   "type": "list",
 57869                   "member": {
 57870                     "shape": "S14",
 57871                     "locationName": "AvailabilityZone"
 57872                   }
 57873                 },
 57874                 "MultiAZCapable": {
 57875                   "type": "boolean"
 57876                 },
 57877                 "ReadReplicaCapable": {
 57878                   "type": "boolean"
 57879                 },
 57880                 "Vpc": {
 57881                   "type": "boolean"
 57882                 }
 57883               },
 57884               "wrapper": true
 57885             }
 57886           },
 57887           "Marker": {}
 57888         }
 57889       }
 57890     },
 57891     "DescribeReservedDBInstances": {
 57892       "input": {
 57893         "type": "structure",
 57894         "members": {
 57895           "ReservedDBInstanceId": {},
 57896           "ReservedDBInstancesOfferingId": {},
 57897           "DBInstanceClass": {},
 57898           "Duration": {},
 57899           "ProductDescription": {},
 57900           "OfferingType": {},
 57901           "MultiAZ": {
 57902             "type": "boolean"
 57903           },
 57904           "MaxRecords": {
 57905             "type": "integer"
 57906           },
 57907           "Marker": {}
 57908         }
 57909       },
 57910       "output": {
 57911         "resultWrapper": "DescribeReservedDBInstancesResult",
 57912         "type": "structure",
 57913         "members": {
 57914           "Marker": {},
 57915           "ReservedDBInstances": {
 57916             "type": "list",
 57917             "member": {
 57918               "shape": "S3m",
 57919               "locationName": "ReservedDBInstance"
 57920             }
 57921           }
 57922         }
 57923       }
 57924     },
 57925     "DescribeReservedDBInstancesOfferings": {
 57926       "input": {
 57927         "type": "structure",
 57928         "members": {
 57929           "ReservedDBInstancesOfferingId": {},
 57930           "DBInstanceClass": {},
 57931           "Duration": {},
 57932           "ProductDescription": {},
 57933           "OfferingType": {},
 57934           "MultiAZ": {
 57935             "type": "boolean"
 57936           },
 57937           "MaxRecords": {
 57938             "type": "integer"
 57939           },
 57940           "Marker": {}
 57941         }
 57942       },
 57943       "output": {
 57944         "resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
 57945         "type": "structure",
 57946         "members": {
 57947           "Marker": {},
 57948           "ReservedDBInstancesOfferings": {
 57949             "type": "list",
 57950             "member": {
 57951               "locationName": "ReservedDBInstancesOffering",
 57952               "type": "structure",
 57953               "members": {
 57954                 "ReservedDBInstancesOfferingId": {},
 57955                 "DBInstanceClass": {},
 57956                 "Duration": {
 57957                   "type": "integer"
 57958                 },
 57959                 "FixedPrice": {
 57960                   "type": "double"
 57961                 },
 57962                 "UsagePrice": {
 57963                   "type": "double"
 57964                 },
 57965                 "CurrencyCode": {},
 57966                 "ProductDescription": {},
 57967                 "OfferingType": {},
 57968                 "MultiAZ": {
 57969                   "type": "boolean"
 57970                 },
 57971                 "RecurringCharges": {
 57972                   "shape": "S3o"
 57973                 }
 57974               },
 57975               "wrapper": true
 57976             }
 57977           }
 57978         }
 57979       }
 57980     },
 57981     "ListTagsForResource": {
 57982       "input": {
 57983         "type": "structure",
 57984         "required": [
 57985           "ResourceName"
 57986         ],
 57987         "members": {
 57988           "ResourceName": {}
 57989         }
 57990       },
 57991       "output": {
 57992         "resultWrapper": "ListTagsForResourceResult",
 57993         "type": "structure",
 57994         "members": {
 57995           "TagList": {
 57996             "shape": "S9"
 57997           }
 57998         }
 57999       }
 58000     },
 58001     "ModifyDBInstance": {
 58002       "input": {
 58003         "type": "structure",
 58004         "required": [
 58005           "DBInstanceIdentifier"
 58006         ],
 58007         "members": {
 58008           "DBInstanceIdentifier": {},
 58009           "AllocatedStorage": {
 58010             "type": "integer"
 58011           },
 58012           "DBInstanceClass": {},
 58013           "DBSecurityGroups": {
 58014             "shape": "Sp"
 58015           },
 58016           "VpcSecurityGroupIds": {
 58017             "shape": "Sq"
 58018           },
 58019           "ApplyImmediately": {
 58020             "type": "boolean"
 58021           },
 58022           "MasterUserPassword": {},
 58023           "DBParameterGroupName": {},
 58024           "BackupRetentionPeriod": {
 58025             "type": "integer"
 58026           },
 58027           "PreferredBackupWindow": {},
 58028           "PreferredMaintenanceWindow": {},
 58029           "MultiAZ": {
 58030             "type": "boolean"
 58031           },
 58032           "EngineVersion": {},
 58033           "AllowMajorVersionUpgrade": {
 58034             "type": "boolean"
 58035           },
 58036           "AutoMinorVersionUpgrade": {
 58037             "type": "boolean"
 58038           },
 58039           "Iops": {
 58040             "type": "integer"
 58041           },
 58042           "OptionGroupName": {},
 58043           "NewDBInstanceIdentifier": {}
 58044         }
 58045       },
 58046       "output": {
 58047         "resultWrapper": "ModifyDBInstanceResult",
 58048         "type": "structure",
 58049         "members": {
 58050           "DBInstance": {
 58051             "shape": "St"
 58052           }
 58053         }
 58054       }
 58055     },
 58056     "ModifyDBParameterGroup": {
 58057       "input": {
 58058         "type": "structure",
 58059         "required": [
 58060           "DBParameterGroupName",
 58061           "Parameters"
 58062         ],
 58063         "members": {
 58064           "DBParameterGroupName": {},
 58065           "Parameters": {
 58066             "shape": "S2f"
 58067           }
 58068         }
 58069       },
 58070       "output": {
 58071         "shape": "S3z",
 58072         "resultWrapper": "ModifyDBParameterGroupResult"
 58073       }
 58074     },
 58075     "ModifyDBSubnetGroup": {
 58076       "input": {
 58077         "type": "structure",
 58078         "required": [
 58079           "DBSubnetGroupName",
 58080           "SubnetIds"
 58081         ],
 58082         "members": {
 58083           "DBSubnetGroupName": {},
 58084           "DBSubnetGroupDescription": {},
 58085           "SubnetIds": {
 58086             "shape": "S1i"
 58087           }
 58088         }
 58089       },
 58090       "output": {
 58091         "resultWrapper": "ModifyDBSubnetGroupResult",
 58092         "type": "structure",
 58093         "members": {
 58094           "DBSubnetGroup": {
 58095             "shape": "S11"
 58096           }
 58097         }
 58098       }
 58099     },
 58100     "ModifyEventSubscription": {
 58101       "input": {
 58102         "type": "structure",
 58103         "required": [
 58104           "SubscriptionName"
 58105         ],
 58106         "members": {
 58107           "SubscriptionName": {},
 58108           "SnsTopicArn": {},
 58109           "SourceType": {},
 58110           "EventCategories": {
 58111             "shape": "S6"
 58112           },
 58113           "Enabled": {
 58114             "type": "boolean"
 58115           }
 58116         }
 58117       },
 58118       "output": {
 58119         "resultWrapper": "ModifyEventSubscriptionResult",
 58120         "type": "structure",
 58121         "members": {
 58122           "EventSubscription": {
 58123             "shape": "S4"
 58124           }
 58125         }
 58126       }
 58127     },
 58128     "ModifyOptionGroup": {
 58129       "input": {
 58130         "type": "structure",
 58131         "required": [
 58132           "OptionGroupName"
 58133         ],
 58134         "members": {
 58135           "OptionGroupName": {},
 58136           "OptionsToInclude": {
 58137             "type": "list",
 58138             "member": {
 58139               "locationName": "OptionConfiguration",
 58140               "type": "structure",
 58141               "required": [
 58142                 "OptionName"
 58143               ],
 58144               "members": {
 58145                 "OptionName": {},
 58146                 "Port": {
 58147                   "type": "integer"
 58148                 },
 58149                 "DBSecurityGroupMemberships": {
 58150                   "shape": "Sp"
 58151                 },
 58152                 "VpcSecurityGroupMemberships": {
 58153                   "shape": "Sq"
 58154                 }
 58155               }
 58156             }
 58157           },
 58158           "OptionsToRemove": {
 58159             "type": "list",
 58160             "member": {}
 58161           },
 58162           "ApplyImmediately": {
 58163             "type": "boolean"
 58164           }
 58165         }
 58166       },
 58167       "output": {
 58168         "resultWrapper": "ModifyOptionGroupResult",
 58169         "type": "structure",
 58170         "members": {
 58171           "OptionGroup": {
 58172             "shape": "S1o"
 58173           }
 58174         }
 58175       }
 58176     },
 58177     "PromoteReadReplica": {
 58178       "input": {
 58179         "type": "structure",
 58180         "required": [
 58181           "DBInstanceIdentifier"
 58182         ],
 58183         "members": {
 58184           "DBInstanceIdentifier": {},
 58185           "BackupRetentionPeriod": {
 58186             "type": "integer"
 58187           },
 58188           "PreferredBackupWindow": {}
 58189         }
 58190       },
 58191       "output": {
 58192         "resultWrapper": "PromoteReadReplicaResult",
 58193         "type": "structure",
 58194         "members": {
 58195           "DBInstance": {
 58196             "shape": "St"
 58197           }
 58198         }
 58199       }
 58200     },
 58201     "PurchaseReservedDBInstancesOffering": {
 58202       "input": {
 58203         "type": "structure",
 58204         "required": [
 58205           "ReservedDBInstancesOfferingId"
 58206         ],
 58207         "members": {
 58208           "ReservedDBInstancesOfferingId": {},
 58209           "ReservedDBInstanceId": {},
 58210           "DBInstanceCount": {
 58211             "type": "integer"
 58212           }
 58213         }
 58214       },
 58215       "output": {
 58216         "resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
 58217         "type": "structure",
 58218         "members": {
 58219           "ReservedDBInstance": {
 58220             "shape": "S3m"
 58221           }
 58222         }
 58223       }
 58224     },
 58225     "RebootDBInstance": {
 58226       "input": {
 58227         "type": "structure",
 58228         "required": [
 58229           "DBInstanceIdentifier"
 58230         ],
 58231         "members": {
 58232           "DBInstanceIdentifier": {},
 58233           "ForceFailover": {
 58234             "type": "boolean"
 58235           }
 58236         }
 58237       },
 58238       "output": {
 58239         "resultWrapper": "RebootDBInstanceResult",
 58240         "type": "structure",
 58241         "members": {
 58242           "DBInstance": {
 58243             "shape": "St"
 58244           }
 58245         }
 58246       }
 58247     },
 58248     "RemoveSourceIdentifierFromSubscription": {
 58249       "input": {
 58250         "type": "structure",
 58251         "required": [
 58252           "SubscriptionName",
 58253           "SourceIdentifier"
 58254         ],
 58255         "members": {
 58256           "SubscriptionName": {},
 58257           "SourceIdentifier": {}
 58258         }
 58259       },
 58260       "output": {
 58261         "resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
 58262         "type": "structure",
 58263         "members": {
 58264           "EventSubscription": {
 58265             "shape": "S4"
 58266           }
 58267         }
 58268       }
 58269     },
 58270     "RemoveTagsFromResource": {
 58271       "input": {
 58272         "type": "structure",
 58273         "required": [
 58274           "ResourceName",
 58275           "TagKeys"
 58276         ],
 58277         "members": {
 58278           "ResourceName": {},
 58279           "TagKeys": {
 58280             "type": "list",
 58281             "member": {}
 58282           }
 58283         }
 58284       }
 58285     },
 58286     "ResetDBParameterGroup": {
 58287       "input": {
 58288         "type": "structure",
 58289         "required": [
 58290           "DBParameterGroupName"
 58291         ],
 58292         "members": {
 58293           "DBParameterGroupName": {},
 58294           "ResetAllParameters": {
 58295             "type": "boolean"
 58296           },
 58297           "Parameters": {
 58298             "shape": "S2f"
 58299           }
 58300         }
 58301       },
 58302       "output": {
 58303         "shape": "S3z",
 58304         "resultWrapper": "ResetDBParameterGroupResult"
 58305       }
 58306     },
 58307     "RestoreDBInstanceFromDBSnapshot": {
 58308       "input": {
 58309         "type": "structure",
 58310         "required": [
 58311           "DBInstanceIdentifier",
 58312           "DBSnapshotIdentifier"
 58313         ],
 58314         "members": {
 58315           "DBInstanceIdentifier": {},
 58316           "DBSnapshotIdentifier": {},
 58317           "DBInstanceClass": {},
 58318           "Port": {
 58319             "type": "integer"
 58320           },
 58321           "AvailabilityZone": {},
 58322           "DBSubnetGroupName": {},
 58323           "MultiAZ": {
 58324             "type": "boolean"
 58325           },
 58326           "PubliclyAccessible": {
 58327             "type": "boolean"
 58328           },
 58329           "AutoMinorVersionUpgrade": {
 58330             "type": "boolean"
 58331           },
 58332           "LicenseModel": {},
 58333           "DBName": {},
 58334           "Engine": {},
 58335           "Iops": {
 58336             "type": "integer"
 58337           },
 58338           "OptionGroupName": {}
 58339         }
 58340       },
 58341       "output": {
 58342         "resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
 58343         "type": "structure",
 58344         "members": {
 58345           "DBInstance": {
 58346             "shape": "St"
 58347           }
 58348         }
 58349       }
 58350     },
 58351     "RestoreDBInstanceToPointInTime": {
 58352       "input": {
 58353         "type": "structure",
 58354         "required": [
 58355           "SourceDBInstanceIdentifier",
 58356           "TargetDBInstanceIdentifier"
 58357         ],
 58358         "members": {
 58359           "SourceDBInstanceIdentifier": {},
 58360           "TargetDBInstanceIdentifier": {},
 58361           "RestoreTime": {
 58362             "type": "timestamp"
 58363           },
 58364           "UseLatestRestorableTime": {
 58365             "type": "boolean"
 58366           },
 58367           "DBInstanceClass": {},
 58368           "Port": {
 58369             "type": "integer"
 58370           },
 58371           "AvailabilityZone": {},
 58372           "DBSubnetGroupName": {},
 58373           "MultiAZ": {
 58374             "type": "boolean"
 58375           },
 58376           "PubliclyAccessible": {
 58377             "type": "boolean"
 58378           },
 58379           "AutoMinorVersionUpgrade": {
 58380             "type": "boolean"
 58381           },
 58382           "LicenseModel": {},
 58383           "DBName": {},
 58384           "Engine": {},
 58385           "Iops": {
 58386             "type": "integer"
 58387           },
 58388           "OptionGroupName": {}
 58389         }
 58390       },
 58391       "output": {
 58392         "resultWrapper": "RestoreDBInstanceToPointInTimeResult",
 58393         "type": "structure",
 58394         "members": {
 58395           "DBInstance": {
 58396             "shape": "St"
 58397           }
 58398         }
 58399       }
 58400     },
 58401     "RevokeDBSecurityGroupIngress": {
 58402       "input": {
 58403         "type": "structure",
 58404         "required": [
 58405           "DBSecurityGroupName"
 58406         ],
 58407         "members": {
 58408           "DBSecurityGroupName": {},
 58409           "CIDRIP": {},
 58410           "EC2SecurityGroupName": {},
 58411           "EC2SecurityGroupId": {},
 58412           "EC2SecurityGroupOwnerId": {}
 58413         }
 58414       },
 58415       "output": {
 58416         "resultWrapper": "RevokeDBSecurityGroupIngressResult",
 58417         "type": "structure",
 58418         "members": {
 58419           "DBSecurityGroup": {
 58420             "shape": "Sd"
 58421           }
 58422         }
 58423       }
 58424     }
 58425   },
 58426   "shapes": {
 58427     "S4": {
 58428       "type": "structure",
 58429       "members": {
 58430         "Id": {},
 58431         "CustomerAwsId": {},
 58432         "CustSubscriptionId": {},
 58433         "SnsTopicArn": {},
 58434         "Status": {},
 58435         "SubscriptionCreationTime": {},
 58436         "SourceType": {},
 58437         "SourceIdsList": {
 58438           "shape": "S5"
 58439         },
 58440         "EventCategoriesList": {
 58441           "shape": "S6"
 58442         },
 58443         "Enabled": {
 58444           "type": "boolean"
 58445         }
 58446       },
 58447       "wrapper": true
 58448     },
 58449     "S5": {
 58450       "type": "list",
 58451       "member": {
 58452         "locationName": "SourceId"
 58453       }
 58454     },
 58455     "S6": {
 58456       "type": "list",
 58457       "member": {
 58458         "locationName": "EventCategory"
 58459       }
 58460     },
 58461     "S9": {
 58462       "type": "list",
 58463       "member": {
 58464         "locationName": "Tag",
 58465         "type": "structure",
 58466         "members": {
 58467           "Key": {},
 58468           "Value": {}
 58469         }
 58470       }
 58471     },
 58472     "Sd": {
 58473       "type": "structure",
 58474       "members": {
 58475         "OwnerId": {},
 58476         "DBSecurityGroupName": {},
 58477         "DBSecurityGroupDescription": {},
 58478         "VpcId": {},
 58479         "EC2SecurityGroups": {
 58480           "type": "list",
 58481           "member": {
 58482             "locationName": "EC2SecurityGroup",
 58483             "type": "structure",
 58484             "members": {
 58485               "Status": {},
 58486               "EC2SecurityGroupName": {},
 58487               "EC2SecurityGroupId": {},
 58488               "EC2SecurityGroupOwnerId": {}
 58489             }
 58490           }
 58491         },
 58492         "IPRanges": {
 58493           "type": "list",
 58494           "member": {
 58495             "locationName": "IPRange",
 58496             "type": "structure",
 58497             "members": {
 58498               "Status": {},
 58499               "CIDRIP": {}
 58500             }
 58501           }
 58502         }
 58503       },
 58504       "wrapper": true
 58505     },
 58506     "Sk": {
 58507       "type": "structure",
 58508       "members": {
 58509         "DBSnapshotIdentifier": {},
 58510         "DBInstanceIdentifier": {},
 58511         "SnapshotCreateTime": {
 58512           "type": "timestamp"
 58513         },
 58514         "Engine": {},
 58515         "AllocatedStorage": {
 58516           "type": "integer"
 58517         },
 58518         "Status": {},
 58519         "Port": {
 58520           "type": "integer"
 58521         },
 58522         "AvailabilityZone": {},
 58523         "VpcId": {},
 58524         "InstanceCreateTime": {
 58525           "type": "timestamp"
 58526         },
 58527         "MasterUsername": {},
 58528         "EngineVersion": {},
 58529         "LicenseModel": {},
 58530         "SnapshotType": {},
 58531         "Iops": {
 58532           "type": "integer"
 58533         }
 58534       },
 58535       "wrapper": true
 58536     },
 58537     "Sp": {
 58538       "type": "list",
 58539       "member": {
 58540         "locationName": "DBSecurityGroupName"
 58541       }
 58542     },
 58543     "Sq": {
 58544       "type": "list",
 58545       "member": {
 58546         "locationName": "VpcSecurityGroupId"
 58547       }
 58548     },
 58549     "St": {
 58550       "type": "structure",
 58551       "members": {
 58552         "DBInstanceIdentifier": {},
 58553         "DBInstanceClass": {},
 58554         "Engine": {},
 58555         "DBInstanceStatus": {},
 58556         "MasterUsername": {},
 58557         "DBName": {},
 58558         "Endpoint": {
 58559           "type": "structure",
 58560           "members": {
 58561             "Address": {},
 58562             "Port": {
 58563               "type": "integer"
 58564             }
 58565           }
 58566         },
 58567         "AllocatedStorage": {
 58568           "type": "integer"
 58569         },
 58570         "InstanceCreateTime": {
 58571           "type": "timestamp"
 58572         },
 58573         "PreferredBackupWindow": {},
 58574         "BackupRetentionPeriod": {
 58575           "type": "integer"
 58576         },
 58577         "DBSecurityGroups": {
 58578           "shape": "Sv"
 58579         },
 58580         "VpcSecurityGroups": {
 58581           "shape": "Sx"
 58582         },
 58583         "DBParameterGroups": {
 58584           "type": "list",
 58585           "member": {
 58586             "locationName": "DBParameterGroup",
 58587             "type": "structure",
 58588             "members": {
 58589               "DBParameterGroupName": {},
 58590               "ParameterApplyStatus": {}
 58591             }
 58592           }
 58593         },
 58594         "AvailabilityZone": {},
 58595         "DBSubnetGroup": {
 58596           "shape": "S11"
 58597         },
 58598         "PreferredMaintenanceWindow": {},
 58599         "PendingModifiedValues": {
 58600           "type": "structure",
 58601           "members": {
 58602             "DBInstanceClass": {},
 58603             "AllocatedStorage": {
 58604               "type": "integer"
 58605             },
 58606             "MasterUserPassword": {},
 58607             "Port": {
 58608               "type": "integer"
 58609             },
 58610             "BackupRetentionPeriod": {
 58611               "type": "integer"
 58612             },
 58613             "MultiAZ": {
 58614               "type": "boolean"
 58615             },
 58616             "EngineVersion": {},
 58617             "Iops": {
 58618               "type": "integer"
 58619             },
 58620             "DBInstanceIdentifier": {}
 58621           }
 58622         },
 58623         "LatestRestorableTime": {
 58624           "type": "timestamp"
 58625         },
 58626         "MultiAZ": {
 58627           "type": "boolean"
 58628         },
 58629         "EngineVersion": {},
 58630         "AutoMinorVersionUpgrade": {
 58631           "type": "boolean"
 58632         },
 58633         "ReadReplicaSourceDBInstanceIdentifier": {},
 58634         "ReadReplicaDBInstanceIdentifiers": {
 58635           "type": "list",
 58636           "member": {
 58637             "locationName": "ReadReplicaDBInstanceIdentifier"
 58638           }
 58639         },
 58640         "LicenseModel": {},
 58641         "Iops": {
 58642           "type": "integer"
 58643         },
 58644         "OptionGroupMembership": {
 58645           "type": "structure",
 58646           "members": {
 58647             "OptionGroupName": {},
 58648             "Status": {}
 58649           }
 58650         },
 58651         "CharacterSetName": {},
 58652         "SecondaryAvailabilityZone": {},
 58653         "PubliclyAccessible": {
 58654           "type": "boolean"
 58655         }
 58656       },
 58657       "wrapper": true
 58658     },
 58659     "Sv": {
 58660       "type": "list",
 58661       "member": {
 58662         "locationName": "DBSecurityGroup",
 58663         "type": "structure",
 58664         "members": {
 58665           "DBSecurityGroupName": {},
 58666           "Status": {}
 58667         }
 58668       }
 58669     },
 58670     "Sx": {
 58671       "type": "list",
 58672       "member": {
 58673         "locationName": "VpcSecurityGroupMembership",
 58674         "type": "structure",
 58675         "members": {
 58676           "VpcSecurityGroupId": {},
 58677           "Status": {}
 58678         }
 58679       }
 58680     },
 58681     "S11": {
 58682       "type": "structure",
 58683       "members": {
 58684         "DBSubnetGroupName": {},
 58685         "DBSubnetGroupDescription": {},
 58686         "VpcId": {},
 58687         "SubnetGroupStatus": {},
 58688         "Subnets": {
 58689           "type": "list",
 58690           "member": {
 58691             "locationName": "Subnet",
 58692             "type": "structure",
 58693             "members": {
 58694               "SubnetIdentifier": {},
 58695               "SubnetAvailabilityZone": {
 58696                 "shape": "S14"
 58697               },
 58698               "SubnetStatus": {}
 58699             }
 58700           }
 58701         }
 58702       },
 58703       "wrapper": true
 58704     },
 58705     "S14": {
 58706       "type": "structure",
 58707       "members": {
 58708         "Name": {},
 58709         "ProvisionedIopsCapable": {
 58710           "type": "boolean"
 58711         }
 58712       },
 58713       "wrapper": true
 58714     },
 58715     "S1c": {
 58716       "type": "structure",
 58717       "members": {
 58718         "DBParameterGroupName": {},
 58719         "DBParameterGroupFamily": {},
 58720         "Description": {}
 58721       },
 58722       "wrapper": true
 58723     },
 58724     "S1i": {
 58725       "type": "list",
 58726       "member": {
 58727         "locationName": "SubnetIdentifier"
 58728       }
 58729     },
 58730     "S1o": {
 58731       "type": "structure",
 58732       "members": {
 58733         "OptionGroupName": {},
 58734         "OptionGroupDescription": {},
 58735         "EngineName": {},
 58736         "MajorEngineVersion": {},
 58737         "Options": {
 58738           "type": "list",
 58739           "member": {
 58740             "locationName": "Option",
 58741             "type": "structure",
 58742             "members": {
 58743               "OptionName": {},
 58744               "OptionDescription": {},
 58745               "Port": {
 58746                 "type": "integer"
 58747               },
 58748               "DBSecurityGroupMemberships": {
 58749                 "shape": "Sv"
 58750               },
 58751               "VpcSecurityGroupMemberships": {
 58752                 "shape": "Sx"
 58753               }
 58754             }
 58755           }
 58756         },
 58757         "AllowsVpcAndNonVpcInstanceMemberships": {
 58758           "type": "boolean"
 58759         },
 58760         "VpcId": {}
 58761       },
 58762       "wrapper": true
 58763     },
 58764     "S25": {
 58765       "type": "structure",
 58766       "members": {
 58767         "CharacterSetName": {},
 58768         "CharacterSetDescription": {}
 58769       }
 58770     },
 58771     "S2f": {
 58772       "type": "list",
 58773       "member": {
 58774         "locationName": "Parameter",
 58775         "type": "structure",
 58776         "members": {
 58777           "ParameterName": {},
 58778           "ParameterValue": {},
 58779           "Description": {},
 58780           "Source": {},
 58781           "ApplyType": {},
 58782           "DataType": {},
 58783           "AllowedValues": {},
 58784           "IsModifiable": {
 58785             "type": "boolean"
 58786           },
 58787           "MinimumEngineVersion": {},
 58788           "ApplyMethod": {}
 58789         }
 58790       }
 58791     },
 58792     "S3m": {
 58793       "type": "structure",
 58794       "members": {
 58795         "ReservedDBInstanceId": {},
 58796         "ReservedDBInstancesOfferingId": {},
 58797         "DBInstanceClass": {},
 58798         "StartTime": {
 58799           "type": "timestamp"
 58800         },
 58801         "Duration": {
 58802           "type": "integer"
 58803         },
 58804         "FixedPrice": {
 58805           "type": "double"
 58806         },
 58807         "UsagePrice": {
 58808           "type": "double"
 58809         },
 58810         "CurrencyCode": {},
 58811         "DBInstanceCount": {
 58812           "type": "integer"
 58813         },
 58814         "ProductDescription": {},
 58815         "OfferingType": {},
 58816         "MultiAZ": {
 58817           "type": "boolean"
 58818         },
 58819         "State": {},
 58820         "RecurringCharges": {
 58821           "shape": "S3o"
 58822         }
 58823       },
 58824       "wrapper": true
 58825     },
 58826     "S3o": {
 58827       "type": "list",
 58828       "member": {
 58829         "locationName": "RecurringCharge",
 58830         "type": "structure",
 58831         "members": {
 58832           "RecurringChargeAmount": {
 58833             "type": "double"
 58834           },
 58835           "RecurringChargeFrequency": {}
 58836         },
 58837         "wrapper": true
 58838       }
 58839     },
 58840     "S3z": {
 58841       "type": "structure",
 58842       "members": {
 58843         "DBParameterGroupName": {}
 58844       }
 58845     }
 58846   }
 58847 }
 58848 },{}],96:[function(require,module,exports){
 58849 module.exports={
 58850   "pagination": {
 58851     "DescribeDBEngineVersions": {
 58852       "input_token": "Marker",
 58853       "output_token": "Marker",
 58854       "limit_key": "MaxRecords",
 58855       "result_key": "DBEngineVersions"
 58856     },
 58857     "DescribeDBInstances": {
 58858       "input_token": "Marker",
 58859       "output_token": "Marker",
 58860       "limit_key": "MaxRecords",
 58861       "result_key": "DBInstances"
 58862     },
 58863     "DescribeDBParameterGroups": {
 58864       "input_token": "Marker",
 58865       "output_token": "Marker",
 58866       "limit_key": "MaxRecords",
 58867       "result_key": "DBParameterGroups"
 58868     },
 58869     "DescribeDBParameters": {
 58870       "input_token": "Marker",
 58871       "output_token": "Marker",
 58872       "limit_key": "MaxRecords",
 58873       "result_key": "Parameters"
 58874     },
 58875     "DescribeDBSecurityGroups": {
 58876       "input_token": "Marker",
 58877       "output_token": "Marker",
 58878       "limit_key": "MaxRecords",
 58879       "result_key": "DBSecurityGroups"
 58880     },
 58881     "DescribeDBSnapshots": {
 58882       "input_token": "Marker",
 58883       "output_token": "Marker",
 58884       "limit_key": "MaxRecords",
 58885       "result_key": "DBSnapshots"
 58886     },
 58887     "DescribeDBSubnetGroups": {
 58888       "input_token": "Marker",
 58889       "output_token": "Marker",
 58890       "limit_key": "MaxRecords",
 58891       "result_key": "DBSubnetGroups"
 58892     },
 58893     "DescribeEngineDefaultParameters": {
 58894       "input_token": "Marker",
 58895       "output_token": "EngineDefaults.Marker",
 58896       "limit_key": "MaxRecords",
 58897       "result_key": "EngineDefaults.Parameters"
 58898     },
 58899     "DescribeEventSubscriptions": {
 58900       "input_token": "Marker",
 58901       "output_token": "Marker",
 58902       "limit_key": "MaxRecords",
 58903       "result_key": "EventSubscriptionsList"
 58904     },
 58905     "DescribeEvents": {
 58906       "input_token": "Marker",
 58907       "output_token": "Marker",
 58908       "limit_key": "MaxRecords",
 58909       "result_key": "Events"
 58910     },
 58911     "DescribeOptionGroupOptions": {
 58912       "input_token": "Marker",
 58913       "output_token": "Marker",
 58914       "limit_key": "MaxRecords",
 58915       "result_key": "OptionGroupOptions"
 58916     },
 58917     "DescribeOptionGroups": {
 58918       "input_token": "Marker",
 58919       "output_token": "Marker",
 58920       "limit_key": "MaxRecords",
 58921       "result_key": "OptionGroupsList"
 58922     },
 58923     "DescribeOrderableDBInstanceOptions": {
 58924       "input_token": "Marker",
 58925       "output_token": "Marker",
 58926       "limit_key": "MaxRecords",
 58927       "result_key": "OrderableDBInstanceOptions"
 58928     },
 58929     "DescribeReservedDBInstances": {
 58930       "input_token": "Marker",
 58931       "output_token": "Marker",
 58932       "limit_key": "MaxRecords",
 58933       "result_key": "ReservedDBInstances"
 58934     },
 58935     "DescribeReservedDBInstancesOfferings": {
 58936       "input_token": "Marker",
 58937       "output_token": "Marker",
 58938       "limit_key": "MaxRecords",
 58939       "result_key": "ReservedDBInstancesOfferings"
 58940     },
 58941     "ListTagsForResource": {
 58942       "result_key": "TagList"
 58943     }
 58944   }
 58945 }
 58946 
 58947 },{}],97:[function(require,module,exports){
 58948 module.exports={
 58949   "version": "2.0",
 58950   "metadata": {
 58951     "apiVersion": "2013-02-12",
 58952     "endpointPrefix": "rds",
 58953     "protocol": "query",
 58954     "serviceAbbreviation": "Amazon RDS",
 58955     "serviceFullName": "Amazon Relational Database Service",
 58956     "signatureVersion": "v4",
 58957     "xmlNamespace": "http://rds.amazonaws.com/doc/2013-02-12/"
 58958   },
 58959   "operations": {
 58960     "AddSourceIdentifierToSubscription": {
 58961       "input": {
 58962         "type": "structure",
 58963         "required": [
 58964           "SubscriptionName",
 58965           "SourceIdentifier"
 58966         ],
 58967         "members": {
 58968           "SubscriptionName": {},
 58969           "SourceIdentifier": {}
 58970         }
 58971       },
 58972       "output": {
 58973         "resultWrapper": "AddSourceIdentifierToSubscriptionResult",
 58974         "type": "structure",
 58975         "members": {
 58976           "EventSubscription": {
 58977             "shape": "S4"
 58978           }
 58979         }
 58980       }
 58981     },
 58982     "AddTagsToResource": {
 58983       "input": {
 58984         "type": "structure",
 58985         "required": [
 58986           "ResourceName",
 58987           "Tags"
 58988         ],
 58989         "members": {
 58990           "ResourceName": {},
 58991           "Tags": {
 58992             "shape": "S9"
 58993           }
 58994         }
 58995       }
 58996     },
 58997     "AuthorizeDBSecurityGroupIngress": {
 58998       "input": {
 58999         "type": "structure",
 59000         "required": [
 59001           "DBSecurityGroupName"
 59002         ],
 59003         "members": {
 59004           "DBSecurityGroupName": {},
 59005           "CIDRIP": {},
 59006           "EC2SecurityGroupName": {},
 59007           "EC2SecurityGroupId": {},
 59008           "EC2SecurityGroupOwnerId": {}
 59009         }
 59010       },
 59011       "output": {
 59012         "resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
 59013         "type": "structure",
 59014         "members": {
 59015           "DBSecurityGroup": {
 59016             "shape": "Sd"
 59017           }
 59018         }
 59019       }
 59020     },
 59021     "CopyDBSnapshot": {
 59022       "input": {
 59023         "type": "structure",
 59024         "required": [
 59025           "SourceDBSnapshotIdentifier",
 59026           "TargetDBSnapshotIdentifier"
 59027         ],
 59028         "members": {
 59029           "SourceDBSnapshotIdentifier": {},
 59030           "TargetDBSnapshotIdentifier": {}
 59031         }
 59032       },
 59033       "output": {
 59034         "resultWrapper": "CopyDBSnapshotResult",
 59035         "type": "structure",
 59036         "members": {
 59037           "DBSnapshot": {
 59038             "shape": "Sk"
 59039           }
 59040         }
 59041       }
 59042     },
 59043     "CreateDBInstance": {
 59044       "input": {
 59045         "type": "structure",
 59046         "required": [
 59047           "DBInstanceIdentifier",
 59048           "AllocatedStorage",
 59049           "DBInstanceClass",
 59050           "Engine",
 59051           "MasterUsername",
 59052           "MasterUserPassword"
 59053         ],
 59054         "members": {
 59055           "DBName": {},
 59056           "DBInstanceIdentifier": {},
 59057           "AllocatedStorage": {
 59058             "type": "integer"
 59059           },
 59060           "DBInstanceClass": {},
 59061           "Engine": {},
 59062           "MasterUsername": {},
 59063           "MasterUserPassword": {},
 59064           "DBSecurityGroups": {
 59065             "shape": "Sp"
 59066           },
 59067           "VpcSecurityGroupIds": {
 59068             "shape": "Sq"
 59069           },
 59070           "AvailabilityZone": {},
 59071           "DBSubnetGroupName": {},
 59072           "PreferredMaintenanceWindow": {},
 59073           "DBParameterGroupName": {},
 59074           "BackupRetentionPeriod": {
 59075             "type": "integer"
 59076           },
 59077           "PreferredBackupWindow": {},
 59078           "Port": {
 59079             "type": "integer"
 59080           },
 59081           "MultiAZ": {
 59082             "type": "boolean"
 59083           },
 59084           "EngineVersion": {},
 59085           "AutoMinorVersionUpgrade": {
 59086             "type": "boolean"
 59087           },
 59088           "LicenseModel": {},
 59089           "Iops": {
 59090             "type": "integer"
 59091           },
 59092           "OptionGroupName": {},
 59093           "CharacterSetName": {},
 59094           "PubliclyAccessible": {
 59095             "type": "boolean"
 59096           }
 59097         }
 59098       },
 59099       "output": {
 59100         "resultWrapper": "CreateDBInstanceResult",
 59101         "type": "structure",
 59102         "members": {
 59103           "DBInstance": {
 59104             "shape": "St"
 59105           }
 59106         }
 59107       }
 59108     },
 59109     "CreateDBInstanceReadReplica": {
 59110       "input": {
 59111         "type": "structure",
 59112         "required": [
 59113           "DBInstanceIdentifier",
 59114           "SourceDBInstanceIdentifier"
 59115         ],
 59116         "members": {
 59117           "DBInstanceIdentifier": {},
 59118           "SourceDBInstanceIdentifier": {},
 59119           "DBInstanceClass": {},
 59120           "AvailabilityZone": {},
 59121           "Port": {
 59122             "type": "integer"
 59123           },
 59124           "AutoMinorVersionUpgrade": {
 59125             "type": "boolean"
 59126           },
 59127           "Iops": {
 59128             "type": "integer"
 59129           },
 59130           "OptionGroupName": {},
 59131           "PubliclyAccessible": {
 59132             "type": "boolean"
 59133           }
 59134         }
 59135       },
 59136       "output": {
 59137         "resultWrapper": "CreateDBInstanceReadReplicaResult",
 59138         "type": "structure",
 59139         "members": {
 59140           "DBInstance": {
 59141             "shape": "St"
 59142           }
 59143         }
 59144       }
 59145     },
 59146     "CreateDBParameterGroup": {
 59147       "input": {
 59148         "type": "structure",
 59149         "required": [
 59150           "DBParameterGroupName",
 59151           "DBParameterGroupFamily",
 59152           "Description"
 59153         ],
 59154         "members": {
 59155           "DBParameterGroupName": {},
 59156           "DBParameterGroupFamily": {},
 59157           "Description": {}
 59158         }
 59159       },
 59160       "output": {
 59161         "resultWrapper": "CreateDBParameterGroupResult",
 59162         "type": "structure",
 59163         "members": {
 59164           "DBParameterGroup": {
 59165             "shape": "S1d"
 59166           }
 59167         }
 59168       }
 59169     },
 59170     "CreateDBSecurityGroup": {
 59171       "input": {
 59172         "type": "structure",
 59173         "required": [
 59174           "DBSecurityGroupName",
 59175           "DBSecurityGroupDescription"
 59176         ],
 59177         "members": {
 59178           "DBSecurityGroupName": {},
 59179           "DBSecurityGroupDescription": {}
 59180         }
 59181       },
 59182       "output": {
 59183         "resultWrapper": "CreateDBSecurityGroupResult",
 59184         "type": "structure",
 59185         "members": {
 59186           "DBSecurityGroup": {
 59187             "shape": "Sd"
 59188           }
 59189         }
 59190       }
 59191     },
 59192     "CreateDBSnapshot": {
 59193       "input": {
 59194         "type": "structure",
 59195         "required": [
 59196           "DBSnapshotIdentifier",
 59197           "DBInstanceIdentifier"
 59198         ],
 59199         "members": {
 59200           "DBSnapshotIdentifier": {},
 59201           "DBInstanceIdentifier": {}
 59202         }
 59203       },
 59204       "output": {
 59205         "resultWrapper": "CreateDBSnapshotResult",
 59206         "type": "structure",
 59207         "members": {
 59208           "DBSnapshot": {
 59209             "shape": "Sk"
 59210           }
 59211         }
 59212       }
 59213     },
 59214     "CreateDBSubnetGroup": {
 59215       "input": {
 59216         "type": "structure",
 59217         "required": [
 59218           "DBSubnetGroupName",
 59219           "DBSubnetGroupDescription",
 59220           "SubnetIds"
 59221         ],
 59222         "members": {
 59223           "DBSubnetGroupName": {},
 59224           "DBSubnetGroupDescription": {},
 59225           "SubnetIds": {
 59226             "shape": "S1j"
 59227           }
 59228         }
 59229       },
 59230       "output": {
 59231         "resultWrapper": "CreateDBSubnetGroupResult",
 59232         "type": "structure",
 59233         "members": {
 59234           "DBSubnetGroup": {
 59235             "shape": "S11"
 59236           }
 59237         }
 59238       }
 59239     },
 59240     "CreateEventSubscription": {
 59241       "input": {
 59242         "type": "structure",
 59243         "required": [
 59244           "SubscriptionName",
 59245           "SnsTopicArn"
 59246         ],
 59247         "members": {
 59248           "SubscriptionName": {},
 59249           "SnsTopicArn": {},
 59250           "SourceType": {},
 59251           "EventCategories": {
 59252             "shape": "S6"
 59253           },
 59254           "SourceIds": {
 59255             "shape": "S5"
 59256           },
 59257           "Enabled": {
 59258             "type": "boolean"
 59259           }
 59260         }
 59261       },
 59262       "output": {
 59263         "resultWrapper": "CreateEventSubscriptionResult",
 59264         "type": "structure",
 59265         "members": {
 59266           "EventSubscription": {
 59267             "shape": "S4"
 59268           }
 59269         }
 59270       }
 59271     },
 59272     "CreateOptionGroup": {
 59273       "input": {
 59274         "type": "structure",
 59275         "required": [
 59276           "OptionGroupName",
 59277           "EngineName",
 59278           "MajorEngineVersion",
 59279           "OptionGroupDescription"
 59280         ],
 59281         "members": {
 59282           "OptionGroupName": {},
 59283           "EngineName": {},
 59284           "MajorEngineVersion": {},
 59285           "OptionGroupDescription": {}
 59286         }
 59287       },
 59288       "output": {
 59289         "resultWrapper": "CreateOptionGroupResult",
 59290         "type": "structure",
 59291         "members": {
 59292           "OptionGroup": {
 59293             "shape": "S1p"
 59294           }
 59295         }
 59296       }
 59297     },
 59298     "DeleteDBInstance": {
 59299       "input": {
 59300         "type": "structure",
 59301         "required": [
 59302           "DBInstanceIdentifier"
 59303         ],
 59304         "members": {
 59305           "DBInstanceIdentifier": {},
 59306           "SkipFinalSnapshot": {
 59307             "type": "boolean"
 59308           },
 59309           "FinalDBSnapshotIdentifier": {}
 59310         }
 59311       },
 59312       "output": {
 59313         "resultWrapper": "DeleteDBInstanceResult",
 59314         "type": "structure",
 59315         "members": {
 59316           "DBInstance": {
 59317             "shape": "St"
 59318           }
 59319         }
 59320       }
 59321     },
 59322     "DeleteDBParameterGroup": {
 59323       "input": {
 59324         "type": "structure",
 59325         "required": [
 59326           "DBParameterGroupName"
 59327         ],
 59328         "members": {
 59329           "DBParameterGroupName": {}
 59330         }
 59331       }
 59332     },
 59333     "DeleteDBSecurityGroup": {
 59334       "input": {
 59335         "type": "structure",
 59336         "required": [
 59337           "DBSecurityGroupName"
 59338         ],
 59339         "members": {
 59340           "DBSecurityGroupName": {}
 59341         }
 59342       }
 59343     },
 59344     "DeleteDBSnapshot": {
 59345       "input": {
 59346         "type": "structure",
 59347         "required": [
 59348           "DBSnapshotIdentifier"
 59349         ],
 59350         "members": {
 59351           "DBSnapshotIdentifier": {}
 59352         }
 59353       },
 59354       "output": {
 59355         "resultWrapper": "DeleteDBSnapshotResult",
 59356         "type": "structure",
 59357         "members": {
 59358           "DBSnapshot": {
 59359             "shape": "Sk"
 59360           }
 59361         }
 59362       }
 59363     },
 59364     "DeleteDBSubnetGroup": {
 59365       "input": {
 59366         "type": "structure",
 59367         "required": [
 59368           "DBSubnetGroupName"
 59369         ],
 59370         "members": {
 59371           "DBSubnetGroupName": {}
 59372         }
 59373       }
 59374     },
 59375     "DeleteEventSubscription": {
 59376       "input": {
 59377         "type": "structure",
 59378         "required": [
 59379           "SubscriptionName"
 59380         ],
 59381         "members": {
 59382           "SubscriptionName": {}
 59383         }
 59384       },
 59385       "output": {
 59386         "resultWrapper": "DeleteEventSubscriptionResult",
 59387         "type": "structure",
 59388         "members": {
 59389           "EventSubscription": {
 59390             "shape": "S4"
 59391           }
 59392         }
 59393       }
 59394     },
 59395     "DeleteOptionGroup": {
 59396       "input": {
 59397         "type": "structure",
 59398         "required": [
 59399           "OptionGroupName"
 59400         ],
 59401         "members": {
 59402           "OptionGroupName": {}
 59403         }
 59404       }
 59405     },
 59406     "DescribeDBEngineVersions": {
 59407       "input": {
 59408         "type": "structure",
 59409         "members": {
 59410           "Engine": {},
 59411           "EngineVersion": {},
 59412           "DBParameterGroupFamily": {},
 59413           "MaxRecords": {
 59414             "type": "integer"
 59415           },
 59416           "Marker": {},
 59417           "DefaultOnly": {
 59418             "type": "boolean"
 59419           },
 59420           "ListSupportedCharacterSets": {
 59421             "type": "boolean"
 59422           }
 59423         }
 59424       },
 59425       "output": {
 59426         "resultWrapper": "DescribeDBEngineVersionsResult",
 59427         "type": "structure",
 59428         "members": {
 59429           "Marker": {},
 59430           "DBEngineVersions": {
 59431             "type": "list",
 59432             "member": {
 59433               "locationName": "DBEngineVersion",
 59434               "type": "structure",
 59435               "members": {
 59436                 "Engine": {},
 59437                 "EngineVersion": {},
 59438                 "DBParameterGroupFamily": {},
 59439                 "DBEngineDescription": {},
 59440                 "DBEngineVersionDescription": {},
 59441                 "DefaultCharacterSet": {
 59442                   "shape": "S28"
 59443                 },
 59444                 "SupportedCharacterSets": {
 59445                   "type": "list",
 59446                   "member": {
 59447                     "shape": "S28",
 59448                     "locationName": "CharacterSet"
 59449                   }
 59450                 }
 59451               }
 59452             }
 59453           }
 59454         }
 59455       }
 59456     },
 59457     "DescribeDBInstances": {
 59458       "input": {
 59459         "type": "structure",
 59460         "members": {
 59461           "DBInstanceIdentifier": {},
 59462           "MaxRecords": {
 59463             "type": "integer"
 59464           },
 59465           "Marker": {}
 59466         }
 59467       },
 59468       "output": {
 59469         "resultWrapper": "DescribeDBInstancesResult",
 59470         "type": "structure",
 59471         "members": {
 59472           "Marker": {},
 59473           "DBInstances": {
 59474             "type": "list",
 59475             "member": {
 59476               "shape": "St",
 59477               "locationName": "DBInstance"
 59478             }
 59479           }
 59480         }
 59481       }
 59482     },
 59483     "DescribeDBLogFiles": {
 59484       "input": {
 59485         "type": "structure",
 59486         "required": [
 59487           "DBInstanceIdentifier"
 59488         ],
 59489         "members": {
 59490           "DBInstanceIdentifier": {},
 59491           "FilenameContains": {},
 59492           "FileLastWritten": {
 59493             "type": "long"
 59494           },
 59495           "FileSize": {
 59496             "type": "long"
 59497           },
 59498           "MaxRecords": {
 59499             "type": "integer"
 59500           },
 59501           "Marker": {}
 59502         }
 59503       },
 59504       "output": {
 59505         "resultWrapper": "DescribeDBLogFilesResult",
 59506         "type": "structure",
 59507         "members": {
 59508           "DescribeDBLogFiles": {
 59509             "type": "list",
 59510             "member": {
 59511               "locationName": "DescribeDBLogFilesDetails",
 59512               "type": "structure",
 59513               "members": {
 59514                 "LogFileName": {},
 59515                 "LastWritten": {
 59516                   "type": "long"
 59517                 },
 59518                 "Size": {
 59519                   "type": "long"
 59520                 }
 59521               }
 59522             }
 59523           },
 59524           "Marker": {}
 59525         }
 59526       }
 59527     },
 59528     "DescribeDBParameterGroups": {
 59529       "input": {
 59530         "type": "structure",
 59531         "members": {
 59532           "DBParameterGroupName": {},
 59533           "MaxRecords": {
 59534             "type": "integer"
 59535           },
 59536           "Marker": {}
 59537         }
 59538       },
 59539       "output": {
 59540         "resultWrapper": "DescribeDBParameterGroupsResult",
 59541         "type": "structure",
 59542         "members": {
 59543           "Marker": {},
 59544           "DBParameterGroups": {
 59545             "type": "list",
 59546             "member": {
 59547               "shape": "S1d",
 59548               "locationName": "DBParameterGroup"
 59549             }
 59550           }
 59551         }
 59552       }
 59553     },
 59554     "DescribeDBParameters": {
 59555       "input": {
 59556         "type": "structure",
 59557         "required": [
 59558           "DBParameterGroupName"
 59559         ],
 59560         "members": {
 59561           "DBParameterGroupName": {},
 59562           "Source": {},
 59563           "MaxRecords": {
 59564             "type": "integer"
 59565           },
 59566           "Marker": {}
 59567         }
 59568       },
 59569       "output": {
 59570         "resultWrapper": "DescribeDBParametersResult",
 59571         "type": "structure",
 59572         "members": {
 59573           "Parameters": {
 59574             "shape": "S2n"
 59575           },
 59576           "Marker": {}
 59577         }
 59578       }
 59579     },
 59580     "DescribeDBSecurityGroups": {
 59581       "input": {
 59582         "type": "structure",
 59583         "members": {
 59584           "DBSecurityGroupName": {},
 59585           "MaxRecords": {
 59586             "type": "integer"
 59587           },
 59588           "Marker": {}
 59589         }
 59590       },
 59591       "output": {
 59592         "resultWrapper": "DescribeDBSecurityGroupsResult",
 59593         "type": "structure",
 59594         "members": {
 59595           "Marker": {},
 59596           "DBSecurityGroups": {
 59597             "type": "list",
 59598             "member": {
 59599               "shape": "Sd",
 59600               "locationName": "DBSecurityGroup"
 59601             }
 59602           }
 59603         }
 59604       }
 59605     },
 59606     "DescribeDBSnapshots": {
 59607       "input": {
 59608         "type": "structure",
 59609         "members": {
 59610           "DBInstanceIdentifier": {},
 59611           "DBSnapshotIdentifier": {},
 59612           "SnapshotType": {},
 59613           "MaxRecords": {
 59614             "type": "integer"
 59615           },
 59616           "Marker": {}
 59617         }
 59618       },
 59619       "output": {
 59620         "resultWrapper": "DescribeDBSnapshotsResult",
 59621         "type": "structure",
 59622         "members": {
 59623           "Marker": {},
 59624           "DBSnapshots": {
 59625             "type": "list",
 59626             "member": {
 59627               "shape": "Sk",
 59628               "locationName": "DBSnapshot"
 59629             }
 59630           }
 59631         }
 59632       }
 59633     },
 59634     "DescribeDBSubnetGroups": {
 59635       "input": {
 59636         "type": "structure",
 59637         "members": {
 59638           "DBSubnetGroupName": {},
 59639           "MaxRecords": {
 59640             "type": "integer"
 59641           },
 59642           "Marker": {}
 59643         }
 59644       },
 59645       "output": {
 59646         "resultWrapper": "DescribeDBSubnetGroupsResult",
 59647         "type": "structure",
 59648         "members": {
 59649           "Marker": {},
 59650           "DBSubnetGroups": {
 59651             "type": "list",
 59652             "member": {
 59653               "shape": "S11",
 59654               "locationName": "DBSubnetGroup"
 59655             }
 59656           }
 59657         }
 59658       }
 59659     },
 59660     "DescribeEngineDefaultParameters": {
 59661       "input": {
 59662         "type": "structure",
 59663         "required": [
 59664           "DBParameterGroupFamily"
 59665         ],
 59666         "members": {
 59667           "DBParameterGroupFamily": {},
 59668           "MaxRecords": {
 59669             "type": "integer"
 59670           },
 59671           "Marker": {}
 59672         }
 59673       },
 59674       "output": {
 59675         "resultWrapper": "DescribeEngineDefaultParametersResult",
 59676         "type": "structure",
 59677         "members": {
 59678           "EngineDefaults": {
 59679             "type": "structure",
 59680             "members": {
 59681               "DBParameterGroupFamily": {},
 59682               "Marker": {},
 59683               "Parameters": {
 59684                 "shape": "S2n"
 59685               }
 59686             },
 59687             "wrapper": true
 59688           }
 59689         }
 59690       }
 59691     },
 59692     "DescribeEventCategories": {
 59693       "input": {
 59694         "type": "structure",
 59695         "members": {
 59696           "SourceType": {}
 59697         }
 59698       },
 59699       "output": {
 59700         "resultWrapper": "DescribeEventCategoriesResult",
 59701         "type": "structure",
 59702         "members": {
 59703           "EventCategoriesMapList": {
 59704             "type": "list",
 59705             "member": {
 59706               "locationName": "EventCategoriesMap",
 59707               "type": "structure",
 59708               "members": {
 59709                 "SourceType": {},
 59710                 "EventCategories": {
 59711                   "shape": "S6"
 59712                 }
 59713               },
 59714               "wrapper": true
 59715             }
 59716           }
 59717         }
 59718       }
 59719     },
 59720     "DescribeEventSubscriptions": {
 59721       "input": {
 59722         "type": "structure",
 59723         "members": {
 59724           "SubscriptionName": {},
 59725           "MaxRecords": {
 59726             "type": "integer"
 59727           },
 59728           "Marker": {}
 59729         }
 59730       },
 59731       "output": {
 59732         "resultWrapper": "DescribeEventSubscriptionsResult",
 59733         "type": "structure",
 59734         "members": {
 59735           "Marker": {},
 59736           "EventSubscriptionsList": {
 59737             "type": "list",
 59738             "member": {
 59739               "shape": "S4",
 59740               "locationName": "EventSubscription"
 59741             }
 59742           }
 59743         }
 59744       }
 59745     },
 59746     "DescribeEvents": {
 59747       "input": {
 59748         "type": "structure",
 59749         "members": {
 59750           "SourceIdentifier": {},
 59751           "SourceType": {},
 59752           "StartTime": {
 59753             "type": "timestamp"
 59754           },
 59755           "EndTime": {
 59756             "type": "timestamp"
 59757           },
 59758           "Duration": {
 59759             "type": "integer"
 59760           },
 59761           "EventCategories": {
 59762             "shape": "S6"
 59763           },
 59764           "MaxRecords": {
 59765             "type": "integer"
 59766           },
 59767           "Marker": {}
 59768         }
 59769       },
 59770       "output": {
 59771         "resultWrapper": "DescribeEventsResult",
 59772         "type": "structure",
 59773         "members": {
 59774           "Marker": {},
 59775           "Events": {
 59776             "type": "list",
 59777             "member": {
 59778               "locationName": "Event",
 59779               "type": "structure",
 59780               "members": {
 59781                 "SourceIdentifier": {},
 59782                 "SourceType": {},
 59783                 "Message": {},
 59784                 "EventCategories": {
 59785                   "shape": "S6"
 59786                 },
 59787                 "Date": {
 59788                   "type": "timestamp"
 59789                 }
 59790               }
 59791             }
 59792           }
 59793         }
 59794       }
 59795     },
 59796     "DescribeOptionGroupOptions": {
 59797       "input": {
 59798         "type": "structure",
 59799         "required": [
 59800           "EngineName"
 59801         ],
 59802         "members": {
 59803           "EngineName": {},
 59804           "MajorEngineVersion": {},
 59805           "MaxRecords": {
 59806             "type": "integer"
 59807           },
 59808           "Marker": {}
 59809         }
 59810       },
 59811       "output": {
 59812         "resultWrapper": "DescribeOptionGroupOptionsResult",
 59813         "type": "structure",
 59814         "members": {
 59815           "OptionGroupOptions": {
 59816             "type": "list",
 59817             "member": {
 59818               "locationName": "OptionGroupOption",
 59819               "type": "structure",
 59820               "members": {
 59821                 "Name": {},
 59822                 "Description": {},
 59823                 "EngineName": {},
 59824                 "MajorEngineVersion": {},
 59825                 "MinimumRequiredMinorEngineVersion": {},
 59826                 "PortRequired": {
 59827                   "type": "boolean"
 59828                 },
 59829                 "DefaultPort": {
 59830                   "type": "integer"
 59831                 },
 59832                 "OptionsDependedOn": {
 59833                   "type": "list",
 59834                   "member": {
 59835                     "locationName": "OptionName"
 59836                   }
 59837                 },
 59838                 "Persistent": {
 59839                   "type": "boolean"
 59840                 },
 59841                 "OptionGroupOptionSettings": {
 59842                   "type": "list",
 59843                   "member": {
 59844                     "locationName": "OptionGroupOptionSetting",
 59845                     "type": "structure",
 59846                     "members": {
 59847                       "SettingName": {},
 59848                       "SettingDescription": {},
 59849                       "DefaultValue": {},
 59850                       "ApplyType": {},
 59851                       "AllowedValues": {},
 59852                       "IsModifiable": {
 59853                         "type": "boolean"
 59854                       }
 59855                     }
 59856                   }
 59857                 }
 59858               }
 59859             }
 59860           },
 59861           "Marker": {}
 59862         }
 59863       }
 59864     },
 59865     "DescribeOptionGroups": {
 59866       "input": {
 59867         "type": "structure",
 59868         "members": {
 59869           "OptionGroupName": {},
 59870           "Marker": {},
 59871           "MaxRecords": {
 59872             "type": "integer"
 59873           },
 59874           "EngineName": {},
 59875           "MajorEngineVersion": {}
 59876         }
 59877       },
 59878       "output": {
 59879         "resultWrapper": "DescribeOptionGroupsResult",
 59880         "type": "structure",
 59881         "members": {
 59882           "OptionGroupsList": {
 59883             "type": "list",
 59884             "member": {
 59885               "shape": "S1p",
 59886               "locationName": "OptionGroup"
 59887             }
 59888           },
 59889           "Marker": {}
 59890         }
 59891       }
 59892     },
 59893     "DescribeOrderableDBInstanceOptions": {
 59894       "input": {
 59895         "type": "structure",
 59896         "required": [
 59897           "Engine"
 59898         ],
 59899         "members": {
 59900           "Engine": {},
 59901           "EngineVersion": {},
 59902           "DBInstanceClass": {},
 59903           "LicenseModel": {},
 59904           "Vpc": {
 59905             "type": "boolean"
 59906           },
 59907           "MaxRecords": {
 59908             "type": "integer"
 59909           },
 59910           "Marker": {}
 59911         }
 59912       },
 59913       "output": {
 59914         "resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
 59915         "type": "structure",
 59916         "members": {
 59917           "OrderableDBInstanceOptions": {
 59918             "type": "list",
 59919             "member": {
 59920               "locationName": "OrderableDBInstanceOption",
 59921               "type": "structure",
 59922               "members": {
 59923                 "Engine": {},
 59924                 "EngineVersion": {},
 59925                 "DBInstanceClass": {},
 59926                 "LicenseModel": {},
 59927                 "AvailabilityZones": {
 59928                   "type": "list",
 59929                   "member": {
 59930                     "shape": "S14",
 59931                     "locationName": "AvailabilityZone"
 59932                   }
 59933                 },
 59934                 "MultiAZCapable": {
 59935                   "type": "boolean"
 59936                 },
 59937                 "ReadReplicaCapable": {
 59938                   "type": "boolean"
 59939                 },
 59940                 "Vpc": {
 59941                   "type": "boolean"
 59942                 }
 59943               },
 59944               "wrapper": true
 59945             }
 59946           },
 59947           "Marker": {}
 59948         }
 59949       }
 59950     },
 59951     "DescribeReservedDBInstances": {
 59952       "input": {
 59953         "type": "structure",
 59954         "members": {
 59955           "ReservedDBInstanceId": {},
 59956           "ReservedDBInstancesOfferingId": {},
 59957           "DBInstanceClass": {},
 59958           "Duration": {},
 59959           "ProductDescription": {},
 59960           "OfferingType": {},
 59961           "MultiAZ": {
 59962             "type": "boolean"
 59963           },
 59964           "MaxRecords": {
 59965             "type": "integer"
 59966           },
 59967           "Marker": {}
 59968         }
 59969       },
 59970       "output": {
 59971         "resultWrapper": "DescribeReservedDBInstancesResult",
 59972         "type": "structure",
 59973         "members": {
 59974           "Marker": {},
 59975           "ReservedDBInstances": {
 59976             "type": "list",
 59977             "member": {
 59978               "shape": "S3w",
 59979               "locationName": "ReservedDBInstance"
 59980             }
 59981           }
 59982         }
 59983       }
 59984     },
 59985     "DescribeReservedDBInstancesOfferings": {
 59986       "input": {
 59987         "type": "structure",
 59988         "members": {
 59989           "ReservedDBInstancesOfferingId": {},
 59990           "DBInstanceClass": {},
 59991           "Duration": {},
 59992           "ProductDescription": {},
 59993           "OfferingType": {},
 59994           "MultiAZ": {
 59995             "type": "boolean"
 59996           },
 59997           "MaxRecords": {
 59998             "type": "integer"
 59999           },
 60000           "Marker": {}
 60001         }
 60002       },
 60003       "output": {
 60004         "resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
 60005         "type": "structure",
 60006         "members": {
 60007           "Marker": {},
 60008           "ReservedDBInstancesOfferings": {
 60009             "type": "list",
 60010             "member": {
 60011               "locationName": "ReservedDBInstancesOffering",
 60012               "type": "structure",
 60013               "members": {
 60014                 "ReservedDBInstancesOfferingId": {},
 60015                 "DBInstanceClass": {},
 60016                 "Duration": {
 60017                   "type": "integer"
 60018                 },
 60019                 "FixedPrice": {
 60020                   "type": "double"
 60021                 },
 60022                 "UsagePrice": {
 60023                   "type": "double"
 60024                 },
 60025                 "CurrencyCode": {},
 60026                 "ProductDescription": {},
 60027                 "OfferingType": {},
 60028                 "MultiAZ": {
 60029                   "type": "boolean"
 60030                 },
 60031                 "RecurringCharges": {
 60032                   "shape": "S3y"
 60033                 }
 60034               },
 60035               "wrapper": true
 60036             }
 60037           }
 60038         }
 60039       }
 60040     },
 60041     "DownloadDBLogFilePortion": {
 60042       "input": {
 60043         "type": "structure",
 60044         "required": [
 60045           "DBInstanceIdentifier",
 60046           "LogFileName"
 60047         ],
 60048         "members": {
 60049           "DBInstanceIdentifier": {},
 60050           "LogFileName": {},
 60051           "Marker": {},
 60052           "NumberOfLines": {
 60053             "type": "integer"
 60054           }
 60055         }
 60056       },
 60057       "output": {
 60058         "resultWrapper": "DownloadDBLogFilePortionResult",
 60059         "type": "structure",
 60060         "members": {
 60061           "LogFileData": {},
 60062           "Marker": {},
 60063           "AdditionalDataPending": {
 60064             "type": "boolean"
 60065           }
 60066         }
 60067       }
 60068     },
 60069     "ListTagsForResource": {
 60070       "input": {
 60071         "type": "structure",
 60072         "required": [
 60073           "ResourceName"
 60074         ],
 60075         "members": {
 60076           "ResourceName": {}
 60077         }
 60078       },
 60079       "output": {
 60080         "resultWrapper": "ListTagsForResourceResult",
 60081         "type": "structure",
 60082         "members": {
 60083           "TagList": {
 60084             "shape": "S9"
 60085           }
 60086         }
 60087       }
 60088     },
 60089     "ModifyDBInstance": {
 60090       "input": {
 60091         "type": "structure",
 60092         "required": [
 60093           "DBInstanceIdentifier"
 60094         ],
 60095         "members": {
 60096           "DBInstanceIdentifier": {},
 60097           "AllocatedStorage": {
 60098             "type": "integer"
 60099           },
 60100           "DBInstanceClass": {},
 60101           "DBSecurityGroups": {
 60102             "shape": "Sp"
 60103           },
 60104           "VpcSecurityGroupIds": {
 60105             "shape": "Sq"
 60106           },
 60107           "ApplyImmediately": {
 60108             "type": "boolean"
 60109           },
 60110           "MasterUserPassword": {},
 60111           "DBParameterGroupName": {},
 60112           "BackupRetentionPeriod": {
 60113             "type": "integer"
 60114           },
 60115           "PreferredBackupWindow": {},
 60116           "PreferredMaintenanceWindow": {},
 60117           "MultiAZ": {
 60118             "type": "boolean"
 60119           },
 60120           "EngineVersion": {},
 60121           "AllowMajorVersionUpgrade": {
 60122             "type": "boolean"
 60123           },
 60124           "AutoMinorVersionUpgrade": {
 60125             "type": "boolean"
 60126           },
 60127           "Iops": {
 60128             "type": "integer"
 60129           },
 60130           "OptionGroupName": {},
 60131           "NewDBInstanceIdentifier": {}
 60132         }
 60133       },
 60134       "output": {
 60135         "resultWrapper": "ModifyDBInstanceResult",
 60136         "type": "structure",
 60137         "members": {
 60138           "DBInstance": {
 60139             "shape": "St"
 60140           }
 60141         }
 60142       }
 60143     },
 60144     "ModifyDBParameterGroup": {
 60145       "input": {
 60146         "type": "structure",
 60147         "required": [
 60148           "DBParameterGroupName",
 60149           "Parameters"
 60150         ],
 60151         "members": {
 60152           "DBParameterGroupName": {},
 60153           "Parameters": {
 60154             "shape": "S2n"
 60155           }
 60156         }
 60157       },
 60158       "output": {
 60159         "shape": "S4b",
 60160         "resultWrapper": "ModifyDBParameterGroupResult"
 60161       }
 60162     },
 60163     "ModifyDBSubnetGroup": {
 60164       "input": {
 60165         "type": "structure",
 60166         "required": [
 60167           "DBSubnetGroupName",
 60168           "SubnetIds"
 60169         ],
 60170         "members": {
 60171           "DBSubnetGroupName": {},
 60172           "DBSubnetGroupDescription": {},
 60173           "SubnetIds": {
 60174             "shape": "S1j"
 60175           }
 60176         }
 60177       },
 60178       "output": {
 60179         "resultWrapper": "ModifyDBSubnetGroupResult",
 60180         "type": "structure",
 60181         "members": {
 60182           "DBSubnetGroup": {
 60183             "shape": "S11"
 60184           }
 60185         }
 60186       }
 60187     },
 60188     "ModifyEventSubscription": {
 60189       "input": {
 60190         "type": "structure",
 60191         "required": [
 60192           "SubscriptionName"
 60193         ],
 60194         "members": {
 60195           "SubscriptionName": {},
 60196           "SnsTopicArn": {},
 60197           "SourceType": {},
 60198           "EventCategories": {
 60199             "shape": "S6"
 60200           },
 60201           "Enabled": {
 60202             "type": "boolean"
 60203           }
 60204         }
 60205       },
 60206       "output": {
 60207         "resultWrapper": "ModifyEventSubscriptionResult",
 60208         "type": "structure",
 60209         "members": {
 60210           "EventSubscription": {
 60211             "shape": "S4"
 60212           }
 60213         }
 60214       }
 60215     },
 60216     "ModifyOptionGroup": {
 60217       "input": {
 60218         "type": "structure",
 60219         "required": [
 60220           "OptionGroupName"
 60221         ],
 60222         "members": {
 60223           "OptionGroupName": {},
 60224           "OptionsToInclude": {
 60225             "type": "list",
 60226             "member": {
 60227               "locationName": "OptionConfiguration",
 60228               "type": "structure",
 60229               "required": [
 60230                 "OptionName"
 60231               ],
 60232               "members": {
 60233                 "OptionName": {},
 60234                 "Port": {
 60235                   "type": "integer"
 60236                 },
 60237                 "DBSecurityGroupMemberships": {
 60238                   "shape": "Sp"
 60239                 },
 60240                 "VpcSecurityGroupMemberships": {
 60241                   "shape": "Sq"
 60242                 },
 60243                 "OptionSettings": {
 60244                   "type": "list",
 60245                   "member": {
 60246                     "shape": "S1t",
 60247                     "locationName": "OptionSetting"
 60248                   }
 60249                 }
 60250               }
 60251             }
 60252           },
 60253           "OptionsToRemove": {
 60254             "type": "list",
 60255             "member": {}
 60256           },
 60257           "ApplyImmediately": {
 60258             "type": "boolean"
 60259           }
 60260         }
 60261       },
 60262       "output": {
 60263         "resultWrapper": "ModifyOptionGroupResult",
 60264         "type": "structure",
 60265         "members": {
 60266           "OptionGroup": {
 60267             "shape": "S1p"
 60268           }
 60269         }
 60270       }
 60271     },
 60272     "PromoteReadReplica": {
 60273       "input": {
 60274         "type": "structure",
 60275         "required": [
 60276           "DBInstanceIdentifier"
 60277         ],
 60278         "members": {
 60279           "DBInstanceIdentifier": {},
 60280           "BackupRetentionPeriod": {
 60281             "type": "integer"
 60282           },
 60283           "PreferredBackupWindow": {}
 60284         }
 60285       },
 60286       "output": {
 60287         "resultWrapper": "PromoteReadReplicaResult",
 60288         "type": "structure",
 60289         "members": {
 60290           "DBInstance": {
 60291             "shape": "St"
 60292           }
 60293         }
 60294       }
 60295     },
 60296     "PurchaseReservedDBInstancesOffering": {
 60297       "input": {
 60298         "type": "structure",
 60299         "required": [
 60300           "ReservedDBInstancesOfferingId"
 60301         ],
 60302         "members": {
 60303           "ReservedDBInstancesOfferingId": {},
 60304           "ReservedDBInstanceId": {},
 60305           "DBInstanceCount": {
 60306             "type": "integer"
 60307           }
 60308         }
 60309       },
 60310       "output": {
 60311         "resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
 60312         "type": "structure",
 60313         "members": {
 60314           "ReservedDBInstance": {
 60315             "shape": "S3w"
 60316           }
 60317         }
 60318       }
 60319     },
 60320     "RebootDBInstance": {
 60321       "input": {
 60322         "type": "structure",
 60323         "required": [
 60324           "DBInstanceIdentifier"
 60325         ],
 60326         "members": {
 60327           "DBInstanceIdentifier": {},
 60328           "ForceFailover": {
 60329             "type": "boolean"
 60330           }
 60331         }
 60332       },
 60333       "output": {
 60334         "resultWrapper": "RebootDBInstanceResult",
 60335         "type": "structure",
 60336         "members": {
 60337           "DBInstance": {
 60338             "shape": "St"
 60339           }
 60340         }
 60341       }
 60342     },
 60343     "RemoveSourceIdentifierFromSubscription": {
 60344       "input": {
 60345         "type": "structure",
 60346         "required": [
 60347           "SubscriptionName",
 60348           "SourceIdentifier"
 60349         ],
 60350         "members": {
 60351           "SubscriptionName": {},
 60352           "SourceIdentifier": {}
 60353         }
 60354       },
 60355       "output": {
 60356         "resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
 60357         "type": "structure",
 60358         "members": {
 60359           "EventSubscription": {
 60360             "shape": "S4"
 60361           }
 60362         }
 60363       }
 60364     },
 60365     "RemoveTagsFromResource": {
 60366       "input": {
 60367         "type": "structure",
 60368         "required": [
 60369           "ResourceName",
 60370           "TagKeys"
 60371         ],
 60372         "members": {
 60373           "ResourceName": {},
 60374           "TagKeys": {
 60375             "type": "list",
 60376             "member": {}
 60377           }
 60378         }
 60379       }
 60380     },
 60381     "ResetDBParameterGroup": {
 60382       "input": {
 60383         "type": "structure",
 60384         "required": [
 60385           "DBParameterGroupName"
 60386         ],
 60387         "members": {
 60388           "DBParameterGroupName": {},
 60389           "ResetAllParameters": {
 60390             "type": "boolean"
 60391           },
 60392           "Parameters": {
 60393             "shape": "S2n"
 60394           }
 60395         }
 60396       },
 60397       "output": {
 60398         "shape": "S4b",
 60399         "resultWrapper": "ResetDBParameterGroupResult"
 60400       }
 60401     },
 60402     "RestoreDBInstanceFromDBSnapshot": {
 60403       "input": {
 60404         "type": "structure",
 60405         "required": [
 60406           "DBInstanceIdentifier",
 60407           "DBSnapshotIdentifier"
 60408         ],
 60409         "members": {
 60410           "DBInstanceIdentifier": {},
 60411           "DBSnapshotIdentifier": {},
 60412           "DBInstanceClass": {},
 60413           "Port": {
 60414             "type": "integer"
 60415           },
 60416           "AvailabilityZone": {},
 60417           "DBSubnetGroupName": {},
 60418           "MultiAZ": {
 60419             "type": "boolean"
 60420           },
 60421           "PubliclyAccessible": {
 60422             "type": "boolean"
 60423           },
 60424           "AutoMinorVersionUpgrade": {
 60425             "type": "boolean"
 60426           },
 60427           "LicenseModel": {},
 60428           "DBName": {},
 60429           "Engine": {},
 60430           "Iops": {
 60431             "type": "integer"
 60432           },
 60433           "OptionGroupName": {}
 60434         }
 60435       },
 60436       "output": {
 60437         "resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
 60438         "type": "structure",
 60439         "members": {
 60440           "DBInstance": {
 60441             "shape": "St"
 60442           }
 60443         }
 60444       }
 60445     },
 60446     "RestoreDBInstanceToPointInTime": {
 60447       "input": {
 60448         "type": "structure",
 60449         "required": [
 60450           "SourceDBInstanceIdentifier",
 60451           "TargetDBInstanceIdentifier"
 60452         ],
 60453         "members": {
 60454           "SourceDBInstanceIdentifier": {},
 60455           "TargetDBInstanceIdentifier": {},
 60456           "RestoreTime": {
 60457             "type": "timestamp"
 60458           },
 60459           "UseLatestRestorableTime": {
 60460             "type": "boolean"
 60461           },
 60462           "DBInstanceClass": {},
 60463           "Port": {
 60464             "type": "integer"
 60465           },
 60466           "AvailabilityZone": {},
 60467           "DBSubnetGroupName": {},
 60468           "MultiAZ": {
 60469             "type": "boolean"
 60470           },
 60471           "PubliclyAccessible": {
 60472             "type": "boolean"
 60473           },
 60474           "AutoMinorVersionUpgrade": {
 60475             "type": "boolean"
 60476           },
 60477           "LicenseModel": {},
 60478           "DBName": {},
 60479           "Engine": {},
 60480           "Iops": {
 60481             "type": "integer"
 60482           },
 60483           "OptionGroupName": {}
 60484         }
 60485       },
 60486       "output": {
 60487         "resultWrapper": "RestoreDBInstanceToPointInTimeResult",
 60488         "type": "structure",
 60489         "members": {
 60490           "DBInstance": {
 60491             "shape": "St"
 60492           }
 60493         }
 60494       }
 60495     },
 60496     "RevokeDBSecurityGroupIngress": {
 60497       "input": {
 60498         "type": "structure",
 60499         "required": [
 60500           "DBSecurityGroupName"
 60501         ],
 60502         "members": {
 60503           "DBSecurityGroupName": {},
 60504           "CIDRIP": {},
 60505           "EC2SecurityGroupName": {},
 60506           "EC2SecurityGroupId": {},
 60507           "EC2SecurityGroupOwnerId": {}
 60508         }
 60509       },
 60510       "output": {
 60511         "resultWrapper": "RevokeDBSecurityGroupIngressResult",
 60512         "type": "structure",
 60513         "members": {
 60514           "DBSecurityGroup": {
 60515             "shape": "Sd"
 60516           }
 60517         }
 60518       }
 60519     }
 60520   },
 60521   "shapes": {
 60522     "S4": {
 60523       "type": "structure",
 60524       "members": {
 60525         "CustomerAwsId": {},
 60526         "CustSubscriptionId": {},
 60527         "SnsTopicArn": {},
 60528         "Status": {},
 60529         "SubscriptionCreationTime": {},
 60530         "SourceType": {},
 60531         "SourceIdsList": {
 60532           "shape": "S5"
 60533         },
 60534         "EventCategoriesList": {
 60535           "shape": "S6"
 60536         },
 60537         "Enabled": {
 60538           "type": "boolean"
 60539         }
 60540       },
 60541       "wrapper": true
 60542     },
 60543     "S5": {
 60544       "type": "list",
 60545       "member": {
 60546         "locationName": "SourceId"
 60547       }
 60548     },
 60549     "S6": {
 60550       "type": "list",
 60551       "member": {
 60552         "locationName": "EventCategory"
 60553       }
 60554     },
 60555     "S9": {
 60556       "type": "list",
 60557       "member": {
 60558         "locationName": "Tag",
 60559         "type": "structure",
 60560         "members": {
 60561           "Key": {},
 60562           "Value": {}
 60563         }
 60564       }
 60565     },
 60566     "Sd": {
 60567       "type": "structure",
 60568       "members": {
 60569         "OwnerId": {},
 60570         "DBSecurityGroupName": {},
 60571         "DBSecurityGroupDescription": {},
 60572         "VpcId": {},
 60573         "EC2SecurityGroups": {
 60574           "type": "list",
 60575           "member": {
 60576             "locationName": "EC2SecurityGroup",
 60577             "type": "structure",
 60578             "members": {
 60579               "Status": {},
 60580               "EC2SecurityGroupName": {},
 60581               "EC2SecurityGroupId": {},
 60582               "EC2SecurityGroupOwnerId": {}
 60583             }
 60584           }
 60585         },
 60586         "IPRanges": {
 60587           "type": "list",
 60588           "member": {
 60589             "locationName": "IPRange",
 60590             "type": "structure",
 60591             "members": {
 60592               "Status": {},
 60593               "CIDRIP": {}
 60594             }
 60595           }
 60596         }
 60597       },
 60598       "wrapper": true
 60599     },
 60600     "Sk": {
 60601       "type": "structure",
 60602       "members": {
 60603         "DBSnapshotIdentifier": {},
 60604         "DBInstanceIdentifier": {},
 60605         "SnapshotCreateTime": {
 60606           "type": "timestamp"
 60607         },
 60608         "Engine": {},
 60609         "AllocatedStorage": {
 60610           "type": "integer"
 60611         },
 60612         "Status": {},
 60613         "Port": {
 60614           "type": "integer"
 60615         },
 60616         "AvailabilityZone": {},
 60617         "VpcId": {},
 60618         "InstanceCreateTime": {
 60619           "type": "timestamp"
 60620         },
 60621         "MasterUsername": {},
 60622         "EngineVersion": {},
 60623         "LicenseModel": {},
 60624         "SnapshotType": {},
 60625         "Iops": {
 60626           "type": "integer"
 60627         },
 60628         "OptionGroupName": {}
 60629       },
 60630       "wrapper": true
 60631     },
 60632     "Sp": {
 60633       "type": "list",
 60634       "member": {
 60635         "locationName": "DBSecurityGroupName"
 60636       }
 60637     },
 60638     "Sq": {
 60639       "type": "list",
 60640       "member": {
 60641         "locationName": "VpcSecurityGroupId"
 60642       }
 60643     },
 60644     "St": {
 60645       "type": "structure",
 60646       "members": {
 60647         "DBInstanceIdentifier": {},
 60648         "DBInstanceClass": {},
 60649         "Engine": {},
 60650         "DBInstanceStatus": {},
 60651         "MasterUsername": {},
 60652         "DBName": {},
 60653         "Endpoint": {
 60654           "type": "structure",
 60655           "members": {
 60656             "Address": {},
 60657             "Port": {
 60658               "type": "integer"
 60659             }
 60660           }
 60661         },
 60662         "AllocatedStorage": {
 60663           "type": "integer"
 60664         },
 60665         "InstanceCreateTime": {
 60666           "type": "timestamp"
 60667         },
 60668         "PreferredBackupWindow": {},
 60669         "BackupRetentionPeriod": {
 60670           "type": "integer"
 60671         },
 60672         "DBSecurityGroups": {
 60673           "shape": "Sv"
 60674         },
 60675         "VpcSecurityGroups": {
 60676           "shape": "Sx"
 60677         },
 60678         "DBParameterGroups": {
 60679           "type": "list",
 60680           "member": {
 60681             "locationName": "DBParameterGroup",
 60682             "type": "structure",
 60683             "members": {
 60684               "DBParameterGroupName": {},
 60685               "ParameterApplyStatus": {}
 60686             }
 60687           }
 60688         },
 60689         "AvailabilityZone": {},
 60690         "DBSubnetGroup": {
 60691           "shape": "S11"
 60692         },
 60693         "PreferredMaintenanceWindow": {},
 60694         "PendingModifiedValues": {
 60695           "type": "structure",
 60696           "members": {
 60697             "DBInstanceClass": {},
 60698             "AllocatedStorage": {
 60699               "type": "integer"
 60700             },
 60701             "MasterUserPassword": {},
 60702             "Port": {
 60703               "type": "integer"
 60704             },
 60705             "BackupRetentionPeriod": {
 60706               "type": "integer"
 60707             },
 60708             "MultiAZ": {
 60709               "type": "boolean"
 60710             },
 60711             "EngineVersion": {},
 60712             "Iops": {
 60713               "type": "integer"
 60714             },
 60715             "DBInstanceIdentifier": {}
 60716           }
 60717         },
 60718         "LatestRestorableTime": {
 60719           "type": "timestamp"
 60720         },
 60721         "MultiAZ": {
 60722           "type": "boolean"
 60723         },
 60724         "EngineVersion": {},
 60725         "AutoMinorVersionUpgrade": {
 60726           "type": "boolean"
 60727         },
 60728         "ReadReplicaSourceDBInstanceIdentifier": {},
 60729         "ReadReplicaDBInstanceIdentifiers": {
 60730           "type": "list",
 60731           "member": {
 60732             "locationName": "ReadReplicaDBInstanceIdentifier"
 60733           }
 60734         },
 60735         "LicenseModel": {},
 60736         "Iops": {
 60737           "type": "integer"
 60738         },
 60739         "OptionGroupMemberships": {
 60740           "type": "list",
 60741           "member": {
 60742             "locationName": "OptionGroupMembership",
 60743             "type": "structure",
 60744             "members": {
 60745               "OptionGroupName": {},
 60746               "Status": {}
 60747             }
 60748           }
 60749         },
 60750         "CharacterSetName": {},
 60751         "SecondaryAvailabilityZone": {},
 60752         "PubliclyAccessible": {
 60753           "type": "boolean"
 60754         }
 60755       },
 60756       "wrapper": true
 60757     },
 60758     "Sv": {
 60759       "type": "list",
 60760       "member": {
 60761         "locationName": "DBSecurityGroup",
 60762         "type": "structure",
 60763         "members": {
 60764           "DBSecurityGroupName": {},
 60765           "Status": {}
 60766         }
 60767       }
 60768     },
 60769     "Sx": {
 60770       "type": "list",
 60771       "member": {
 60772         "locationName": "VpcSecurityGroupMembership",
 60773         "type": "structure",
 60774         "members": {
 60775           "VpcSecurityGroupId": {},
 60776           "Status": {}
 60777         }
 60778       }
 60779     },
 60780     "S11": {
 60781       "type": "structure",
 60782       "members": {
 60783         "DBSubnetGroupName": {},
 60784         "DBSubnetGroupDescription": {},
 60785         "VpcId": {},
 60786         "SubnetGroupStatus": {},
 60787         "Subnets": {
 60788           "type": "list",
 60789           "member": {
 60790             "locationName": "Subnet",
 60791             "type": "structure",
 60792             "members": {
 60793               "SubnetIdentifier": {},
 60794               "SubnetAvailabilityZone": {
 60795                 "shape": "S14"
 60796               },
 60797               "SubnetStatus": {}
 60798             }
 60799           }
 60800         }
 60801       },
 60802       "wrapper": true
 60803     },
 60804     "S14": {
 60805       "type": "structure",
 60806       "members": {
 60807         "Name": {},
 60808         "ProvisionedIopsCapable": {
 60809           "type": "boolean"
 60810         }
 60811       },
 60812       "wrapper": true
 60813     },
 60814     "S1d": {
 60815       "type": "structure",
 60816       "members": {
 60817         "DBParameterGroupName": {},
 60818         "DBParameterGroupFamily": {},
 60819         "Description": {}
 60820       },
 60821       "wrapper": true
 60822     },
 60823     "S1j": {
 60824       "type": "list",
 60825       "member": {
 60826         "locationName": "SubnetIdentifier"
 60827       }
 60828     },
 60829     "S1p": {
 60830       "type": "structure",
 60831       "members": {
 60832         "OptionGroupName": {},
 60833         "OptionGroupDescription": {},
 60834         "EngineName": {},
 60835         "MajorEngineVersion": {},
 60836         "Options": {
 60837           "type": "list",
 60838           "member": {
 60839             "locationName": "Option",
 60840             "type": "structure",
 60841             "members": {
 60842               "OptionName": {},
 60843               "OptionDescription": {},
 60844               "Persistent": {
 60845                 "type": "boolean"
 60846               },
 60847               "Port": {
 60848                 "type": "integer"
 60849               },
 60850               "OptionSettings": {
 60851                 "type": "list",
 60852                 "member": {
 60853                   "shape": "S1t",
 60854                   "locationName": "OptionSetting"
 60855                 }
 60856               },
 60857               "DBSecurityGroupMemberships": {
 60858                 "shape": "Sv"
 60859               },
 60860               "VpcSecurityGroupMemberships": {
 60861                 "shape": "Sx"
 60862               }
 60863             }
 60864           }
 60865         },
 60866         "AllowsVpcAndNonVpcInstanceMemberships": {
 60867           "type": "boolean"
 60868         },
 60869         "VpcId": {}
 60870       },
 60871       "wrapper": true
 60872     },
 60873     "S1t": {
 60874       "type": "structure",
 60875       "members": {
 60876         "Name": {},
 60877         "Value": {},
 60878         "DefaultValue": {},
 60879         "Description": {},
 60880         "ApplyType": {},
 60881         "DataType": {},
 60882         "AllowedValues": {},
 60883         "IsModifiable": {
 60884           "type": "boolean"
 60885         },
 60886         "IsCollection": {
 60887           "type": "boolean"
 60888         }
 60889       }
 60890     },
 60891     "S28": {
 60892       "type": "structure",
 60893       "members": {
 60894         "CharacterSetName": {},
 60895         "CharacterSetDescription": {}
 60896       }
 60897     },
 60898     "S2n": {
 60899       "type": "list",
 60900       "member": {
 60901         "locationName": "Parameter",
 60902         "type": "structure",
 60903         "members": {
 60904           "ParameterName": {},
 60905           "ParameterValue": {},
 60906           "Description": {},
 60907           "Source": {},
 60908           "ApplyType": {},
 60909           "DataType": {},
 60910           "AllowedValues": {},
 60911           "IsModifiable": {
 60912             "type": "boolean"
 60913           },
 60914           "MinimumEngineVersion": {},
 60915           "ApplyMethod": {}
 60916         }
 60917       }
 60918     },
 60919     "S3w": {
 60920       "type": "structure",
 60921       "members": {
 60922         "ReservedDBInstanceId": {},
 60923         "ReservedDBInstancesOfferingId": {},
 60924         "DBInstanceClass": {},
 60925         "StartTime": {
 60926           "type": "timestamp"
 60927         },
 60928         "Duration": {
 60929           "type": "integer"
 60930         },
 60931         "FixedPrice": {
 60932           "type": "double"
 60933         },
 60934         "UsagePrice": {
 60935           "type": "double"
 60936         },
 60937         "CurrencyCode": {},
 60938         "DBInstanceCount": {
 60939           "type": "integer"
 60940         },
 60941         "ProductDescription": {},
 60942         "OfferingType": {},
 60943         "MultiAZ": {
 60944           "type": "boolean"
 60945         },
 60946         "State": {},
 60947         "RecurringCharges": {
 60948           "shape": "S3y"
 60949         }
 60950       },
 60951       "wrapper": true
 60952     },
 60953     "S3y": {
 60954       "type": "list",
 60955       "member": {
 60956         "locationName": "RecurringCharge",
 60957         "type": "structure",
 60958         "members": {
 60959           "RecurringChargeAmount": {
 60960             "type": "double"
 60961           },
 60962           "RecurringChargeFrequency": {}
 60963         },
 60964         "wrapper": true
 60965       }
 60966     },
 60967     "S4b": {
 60968       "type": "structure",
 60969       "members": {
 60970         "DBParameterGroupName": {}
 60971       }
 60972     }
 60973   }
 60974 }
 60975 },{}],98:[function(require,module,exports){
 60976 module.exports={
 60977   "pagination": {
 60978     "DescribeDBEngineVersions": {
 60979       "input_token": "Marker",
 60980       "output_token": "Marker",
 60981       "limit_key": "MaxRecords",
 60982       "result_key": "DBEngineVersions"
 60983     },
 60984     "DescribeDBInstances": {
 60985       "input_token": "Marker",
 60986       "output_token": "Marker",
 60987       "limit_key": "MaxRecords",
 60988       "result_key": "DBInstances"
 60989     },
 60990     "DescribeDBLogFiles": {
 60991       "input_token": "Marker",
 60992       "output_token": "Marker",
 60993       "limit_key": "MaxRecords",
 60994       "result_key": "DescribeDBLogFiles"
 60995     },
 60996     "DescribeDBParameterGroups": {
 60997       "input_token": "Marker",
 60998       "output_token": "Marker",
 60999       "limit_key": "MaxRecords",
 61000       "result_key": "DBParameterGroups"
 61001     },
 61002     "DescribeDBParameters": {
 61003       "input_token": "Marker",
 61004       "output_token": "Marker",
 61005       "limit_key": "MaxRecords",
 61006       "result_key": "Parameters"
 61007     },
 61008     "DescribeDBSecurityGroups": {
 61009       "input_token": "Marker",
 61010       "output_token": "Marker",
 61011       "limit_key": "MaxRecords",
 61012       "result_key": "DBSecurityGroups"
 61013     },
 61014     "DescribeDBSnapshots": {
 61015       "input_token": "Marker",
 61016       "output_token": "Marker",
 61017       "limit_key": "MaxRecords",
 61018       "result_key": "DBSnapshots"
 61019     },
 61020     "DescribeDBSubnetGroups": {
 61021       "input_token": "Marker",
 61022       "output_token": "Marker",
 61023       "limit_key": "MaxRecords",
 61024       "result_key": "DBSubnetGroups"
 61025     },
 61026     "DescribeEngineDefaultParameters": {
 61027       "input_token": "Marker",
 61028       "output_token": "EngineDefaults.Marker",
 61029       "limit_key": "MaxRecords",
 61030       "result_key": "EngineDefaults.Parameters"
 61031     },
 61032     "DescribeEventSubscriptions": {
 61033       "input_token": "Marker",
 61034       "output_token": "Marker",
 61035       "limit_key": "MaxRecords",
 61036       "result_key": "EventSubscriptionsList"
 61037     },
 61038     "DescribeEvents": {
 61039       "input_token": "Marker",
 61040       "output_token": "Marker",
 61041       "limit_key": "MaxRecords",
 61042       "result_key": "Events"
 61043     },
 61044     "DescribeOptionGroupOptions": {
 61045       "input_token": "Marker",
 61046       "output_token": "Marker",
 61047       "limit_key": "MaxRecords",
 61048       "result_key": "OptionGroupOptions"
 61049     },
 61050     "DescribeOptionGroups": {
 61051       "input_token": "Marker",
 61052       "output_token": "Marker",
 61053       "limit_key": "MaxRecords",
 61054       "result_key": "OptionGroupsList"
 61055     },
 61056     "DescribeOrderableDBInstanceOptions": {
 61057       "input_token": "Marker",
 61058       "output_token": "Marker",
 61059       "limit_key": "MaxRecords",
 61060       "result_key": "OrderableDBInstanceOptions"
 61061     },
 61062     "DescribeReservedDBInstances": {
 61063       "input_token": "Marker",
 61064       "output_token": "Marker",
 61065       "limit_key": "MaxRecords",
 61066       "result_key": "ReservedDBInstances"
 61067     },
 61068     "DescribeReservedDBInstancesOfferings": {
 61069       "input_token": "Marker",
 61070       "output_token": "Marker",
 61071       "limit_key": "MaxRecords",
 61072       "result_key": "ReservedDBInstancesOfferings"
 61073     },
 61074     "DownloadDBLogFilePortion": {
 61075       "input_token": "Marker",
 61076       "output_token": "Marker",
 61077       "limit_key": "NumberOfLines",
 61078       "more_results": "AdditionalDataPending",
 61079       "result_key": "LogFileData"
 61080     },
 61081     "ListTagsForResource": {
 61082       "result_key": "TagList"
 61083     }
 61084   }
 61085 }
 61086 
 61087 },{}],99:[function(require,module,exports){
 61088 module.exports={
 61089   "version": "2.0",
 61090   "metadata": {
 61091     "apiVersion": "2013-09-09",
 61092     "endpointPrefix": "rds",
 61093     "protocol": "query",
 61094     "serviceAbbreviation": "Amazon RDS",
 61095     "serviceFullName": "Amazon Relational Database Service",
 61096     "signatureVersion": "v4",
 61097     "xmlNamespace": "http://rds.amazonaws.com/doc/2013-09-09/"
 61098   },
 61099   "operations": {
 61100     "AddSourceIdentifierToSubscription": {
 61101       "input": {
 61102         "type": "structure",
 61103         "required": [
 61104           "SubscriptionName",
 61105           "SourceIdentifier"
 61106         ],
 61107         "members": {
 61108           "SubscriptionName": {},
 61109           "SourceIdentifier": {}
 61110         }
 61111       },
 61112       "output": {
 61113         "resultWrapper": "AddSourceIdentifierToSubscriptionResult",
 61114         "type": "structure",
 61115         "members": {
 61116           "EventSubscription": {
 61117             "shape": "S4"
 61118           }
 61119         }
 61120       }
 61121     },
 61122     "AddTagsToResource": {
 61123       "input": {
 61124         "type": "structure",
 61125         "required": [
 61126           "ResourceName",
 61127           "Tags"
 61128         ],
 61129         "members": {
 61130           "ResourceName": {},
 61131           "Tags": {
 61132             "shape": "S9"
 61133           }
 61134         }
 61135       }
 61136     },
 61137     "AuthorizeDBSecurityGroupIngress": {
 61138       "input": {
 61139         "type": "structure",
 61140         "required": [
 61141           "DBSecurityGroupName"
 61142         ],
 61143         "members": {
 61144           "DBSecurityGroupName": {},
 61145           "CIDRIP": {},
 61146           "EC2SecurityGroupName": {},
 61147           "EC2SecurityGroupId": {},
 61148           "EC2SecurityGroupOwnerId": {}
 61149         }
 61150       },
 61151       "output": {
 61152         "resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
 61153         "type": "structure",
 61154         "members": {
 61155           "DBSecurityGroup": {
 61156             "shape": "Sd"
 61157           }
 61158         }
 61159       }
 61160     },
 61161     "CopyDBSnapshot": {
 61162       "input": {
 61163         "type": "structure",
 61164         "required": [
 61165           "SourceDBSnapshotIdentifier",
 61166           "TargetDBSnapshotIdentifier"
 61167         ],
 61168         "members": {
 61169           "SourceDBSnapshotIdentifier": {},
 61170           "TargetDBSnapshotIdentifier": {},
 61171           "Tags": {
 61172             "shape": "S9"
 61173           }
 61174         }
 61175       },
 61176       "output": {
 61177         "resultWrapper": "CopyDBSnapshotResult",
 61178         "type": "structure",
 61179         "members": {
 61180           "DBSnapshot": {
 61181             "shape": "Sk"
 61182           }
 61183         }
 61184       }
 61185     },
 61186     "CreateDBInstance": {
 61187       "input": {
 61188         "type": "structure",
 61189         "required": [
 61190           "DBInstanceIdentifier",
 61191           "AllocatedStorage",
 61192           "DBInstanceClass",
 61193           "Engine",
 61194           "MasterUsername",
 61195           "MasterUserPassword"
 61196         ],
 61197         "members": {
 61198           "DBName": {},
 61199           "DBInstanceIdentifier": {},
 61200           "AllocatedStorage": {
 61201             "type": "integer"
 61202           },
 61203           "DBInstanceClass": {},
 61204           "Engine": {},
 61205           "MasterUsername": {},
 61206           "MasterUserPassword": {},
 61207           "DBSecurityGroups": {
 61208             "shape": "Sp"
 61209           },
 61210           "VpcSecurityGroupIds": {
 61211             "shape": "Sq"
 61212           },
 61213           "AvailabilityZone": {},
 61214           "DBSubnetGroupName": {},
 61215           "PreferredMaintenanceWindow": {},
 61216           "DBParameterGroupName": {},
 61217           "BackupRetentionPeriod": {
 61218             "type": "integer"
 61219           },
 61220           "PreferredBackupWindow": {},
 61221           "Port": {
 61222             "type": "integer"
 61223           },
 61224           "MultiAZ": {
 61225             "type": "boolean"
 61226           },
 61227           "EngineVersion": {},
 61228           "AutoMinorVersionUpgrade": {
 61229             "type": "boolean"
 61230           },
 61231           "LicenseModel": {},
 61232           "Iops": {
 61233             "type": "integer"
 61234           },
 61235           "OptionGroupName": {},
 61236           "CharacterSetName": {},
 61237           "PubliclyAccessible": {
 61238             "type": "boolean"
 61239           },
 61240           "Tags": {
 61241             "shape": "S9"
 61242           }
 61243         }
 61244       },
 61245       "output": {
 61246         "resultWrapper": "CreateDBInstanceResult",
 61247         "type": "structure",
 61248         "members": {
 61249           "DBInstance": {
 61250             "shape": "St"
 61251           }
 61252         }
 61253       }
 61254     },
 61255     "CreateDBInstanceReadReplica": {
 61256       "input": {
 61257         "type": "structure",
 61258         "required": [
 61259           "DBInstanceIdentifier",
 61260           "SourceDBInstanceIdentifier"
 61261         ],
 61262         "members": {
 61263           "DBInstanceIdentifier": {},
 61264           "SourceDBInstanceIdentifier": {},
 61265           "DBInstanceClass": {},
 61266           "AvailabilityZone": {},
 61267           "Port": {
 61268             "type": "integer"
 61269           },
 61270           "AutoMinorVersionUpgrade": {
 61271             "type": "boolean"
 61272           },
 61273           "Iops": {
 61274             "type": "integer"
 61275           },
 61276           "OptionGroupName": {},
 61277           "PubliclyAccessible": {
 61278             "type": "boolean"
 61279           },
 61280           "Tags": {
 61281             "shape": "S9"
 61282           },
 61283           "DBSubnetGroupName": {}
 61284         }
 61285       },
 61286       "output": {
 61287         "resultWrapper": "CreateDBInstanceReadReplicaResult",
 61288         "type": "structure",
 61289         "members": {
 61290           "DBInstance": {
 61291             "shape": "St"
 61292           }
 61293         }
 61294       }
 61295     },
 61296     "CreateDBParameterGroup": {
 61297       "input": {
 61298         "type": "structure",
 61299         "required": [
 61300           "DBParameterGroupName",
 61301           "DBParameterGroupFamily",
 61302           "Description"
 61303         ],
 61304         "members": {
 61305           "DBParameterGroupName": {},
 61306           "DBParameterGroupFamily": {},
 61307           "Description": {},
 61308           "Tags": {
 61309             "shape": "S9"
 61310           }
 61311         }
 61312       },
 61313       "output": {
 61314         "resultWrapper": "CreateDBParameterGroupResult",
 61315         "type": "structure",
 61316         "members": {
 61317           "DBParameterGroup": {
 61318             "shape": "S1f"
 61319           }
 61320         }
 61321       }
 61322     },
 61323     "CreateDBSecurityGroup": {
 61324       "input": {
 61325         "type": "structure",
 61326         "required": [
 61327           "DBSecurityGroupName",
 61328           "DBSecurityGroupDescription"
 61329         ],
 61330         "members": {
 61331           "DBSecurityGroupName": {},
 61332           "DBSecurityGroupDescription": {},
 61333           "Tags": {
 61334             "shape": "S9"
 61335           }
 61336         }
 61337       },
 61338       "output": {
 61339         "resultWrapper": "CreateDBSecurityGroupResult",
 61340         "type": "structure",
 61341         "members": {
 61342           "DBSecurityGroup": {
 61343             "shape": "Sd"
 61344           }
 61345         }
 61346       }
 61347     },
 61348     "CreateDBSnapshot": {
 61349       "input": {
 61350         "type": "structure",
 61351         "required": [
 61352           "DBSnapshotIdentifier",
 61353           "DBInstanceIdentifier"
 61354         ],
 61355         "members": {
 61356           "DBSnapshotIdentifier": {},
 61357           "DBInstanceIdentifier": {},
 61358           "Tags": {
 61359             "shape": "S9"
 61360           }
 61361         }
 61362       },
 61363       "output": {
 61364         "resultWrapper": "CreateDBSnapshotResult",
 61365         "type": "structure",
 61366         "members": {
 61367           "DBSnapshot": {
 61368             "shape": "Sk"
 61369           }
 61370         }
 61371       }
 61372     },
 61373     "CreateDBSubnetGroup": {
 61374       "input": {
 61375         "type": "structure",
 61376         "required": [
 61377           "DBSubnetGroupName",
 61378           "DBSubnetGroupDescription",
 61379           "SubnetIds"
 61380         ],
 61381         "members": {
 61382           "DBSubnetGroupName": {},
 61383           "DBSubnetGroupDescription": {},
 61384           "SubnetIds": {
 61385             "shape": "S1l"
 61386           },
 61387           "Tags": {
 61388             "shape": "S9"
 61389           }
 61390         }
 61391       },
 61392       "output": {
 61393         "resultWrapper": "CreateDBSubnetGroupResult",
 61394         "type": "structure",
 61395         "members": {
 61396           "DBSubnetGroup": {
 61397             "shape": "S11"
 61398           }
 61399         }
 61400       }
 61401     },
 61402     "CreateEventSubscription": {
 61403       "input": {
 61404         "type": "structure",
 61405         "required": [
 61406           "SubscriptionName",
 61407           "SnsTopicArn"
 61408         ],
 61409         "members": {
 61410           "SubscriptionName": {},
 61411           "SnsTopicArn": {},
 61412           "SourceType": {},
 61413           "EventCategories": {
 61414             "shape": "S6"
 61415           },
 61416           "SourceIds": {
 61417             "shape": "S5"
 61418           },
 61419           "Enabled": {
 61420             "type": "boolean"
 61421           },
 61422           "Tags": {
 61423             "shape": "S9"
 61424           }
 61425         }
 61426       },
 61427       "output": {
 61428         "resultWrapper": "CreateEventSubscriptionResult",
 61429         "type": "structure",
 61430         "members": {
 61431           "EventSubscription": {
 61432             "shape": "S4"
 61433           }
 61434         }
 61435       }
 61436     },
 61437     "CreateOptionGroup": {
 61438       "input": {
 61439         "type": "structure",
 61440         "required": [
 61441           "OptionGroupName",
 61442           "EngineName",
 61443           "MajorEngineVersion",
 61444           "OptionGroupDescription"
 61445         ],
 61446         "members": {
 61447           "OptionGroupName": {},
 61448           "EngineName": {},
 61449           "MajorEngineVersion": {},
 61450           "OptionGroupDescription": {},
 61451           "Tags": {
 61452             "shape": "S9"
 61453           }
 61454         }
 61455       },
 61456       "output": {
 61457         "resultWrapper": "CreateOptionGroupResult",
 61458         "type": "structure",
 61459         "members": {
 61460           "OptionGroup": {
 61461             "shape": "S1r"
 61462           }
 61463         }
 61464       }
 61465     },
 61466     "DeleteDBInstance": {
 61467       "input": {
 61468         "type": "structure",
 61469         "required": [
 61470           "DBInstanceIdentifier"
 61471         ],
 61472         "members": {
 61473           "DBInstanceIdentifier": {},
 61474           "SkipFinalSnapshot": {
 61475             "type": "boolean"
 61476           },
 61477           "FinalDBSnapshotIdentifier": {}
 61478         }
 61479       },
 61480       "output": {
 61481         "resultWrapper": "DeleteDBInstanceResult",
 61482         "type": "structure",
 61483         "members": {
 61484           "DBInstance": {
 61485             "shape": "St"
 61486           }
 61487         }
 61488       }
 61489     },
 61490     "DeleteDBParameterGroup": {
 61491       "input": {
 61492         "type": "structure",
 61493         "required": [
 61494           "DBParameterGroupName"
 61495         ],
 61496         "members": {
 61497           "DBParameterGroupName": {}
 61498         }
 61499       }
 61500     },
 61501     "DeleteDBSecurityGroup": {
 61502       "input": {
 61503         "type": "structure",
 61504         "required": [
 61505           "DBSecurityGroupName"
 61506         ],
 61507         "members": {
 61508           "DBSecurityGroupName": {}
 61509         }
 61510       }
 61511     },
 61512     "DeleteDBSnapshot": {
 61513       "input": {
 61514         "type": "structure",
 61515         "required": [
 61516           "DBSnapshotIdentifier"
 61517         ],
 61518         "members": {
 61519           "DBSnapshotIdentifier": {}
 61520         }
 61521       },
 61522       "output": {
 61523         "resultWrapper": "DeleteDBSnapshotResult",
 61524         "type": "structure",
 61525         "members": {
 61526           "DBSnapshot": {
 61527             "shape": "Sk"
 61528           }
 61529         }
 61530       }
 61531     },
 61532     "DeleteDBSubnetGroup": {
 61533       "input": {
 61534         "type": "structure",
 61535         "required": [
 61536           "DBSubnetGroupName"
 61537         ],
 61538         "members": {
 61539           "DBSubnetGroupName": {}
 61540         }
 61541       }
 61542     },
 61543     "DeleteEventSubscription": {
 61544       "input": {
 61545         "type": "structure",
 61546         "required": [
 61547           "SubscriptionName"
 61548         ],
 61549         "members": {
 61550           "SubscriptionName": {}
 61551         }
 61552       },
 61553       "output": {
 61554         "resultWrapper": "DeleteEventSubscriptionResult",
 61555         "type": "structure",
 61556         "members": {
 61557           "EventSubscription": {
 61558             "shape": "S4"
 61559           }
 61560         }
 61561       }
 61562     },
 61563     "DeleteOptionGroup": {
 61564       "input": {
 61565         "type": "structure",
 61566         "required": [
 61567           "OptionGroupName"
 61568         ],
 61569         "members": {
 61570           "OptionGroupName": {}
 61571         }
 61572       }
 61573     },
 61574     "DescribeDBEngineVersions": {
 61575       "input": {
 61576         "type": "structure",
 61577         "members": {
 61578           "Engine": {},
 61579           "EngineVersion": {},
 61580           "DBParameterGroupFamily": {},
 61581           "Filters": {
 61582             "shape": "S27"
 61583           },
 61584           "MaxRecords": {
 61585             "type": "integer"
 61586           },
 61587           "Marker": {},
 61588           "DefaultOnly": {
 61589             "type": "boolean"
 61590           },
 61591           "ListSupportedCharacterSets": {
 61592             "type": "boolean"
 61593           }
 61594         }
 61595       },
 61596       "output": {
 61597         "resultWrapper": "DescribeDBEngineVersionsResult",
 61598         "type": "structure",
 61599         "members": {
 61600           "Marker": {},
 61601           "DBEngineVersions": {
 61602             "type": "list",
 61603             "member": {
 61604               "locationName": "DBEngineVersion",
 61605               "type": "structure",
 61606               "members": {
 61607                 "Engine": {},
 61608                 "EngineVersion": {},
 61609                 "DBParameterGroupFamily": {},
 61610                 "DBEngineDescription": {},
 61611                 "DBEngineVersionDescription": {},
 61612                 "DefaultCharacterSet": {
 61613                   "shape": "S2d"
 61614                 },
 61615                 "SupportedCharacterSets": {
 61616                   "type": "list",
 61617                   "member": {
 61618                     "shape": "S2d",
 61619                     "locationName": "CharacterSet"
 61620                   }
 61621                 }
 61622               }
 61623             }
 61624           }
 61625         }
 61626       }
 61627     },
 61628     "DescribeDBInstances": {
 61629       "input": {
 61630         "type": "structure",
 61631         "members": {
 61632           "DBInstanceIdentifier": {},
 61633           "Filters": {
 61634             "shape": "S27"
 61635           },
 61636           "MaxRecords": {
 61637             "type": "integer"
 61638           },
 61639           "Marker": {}
 61640         }
 61641       },
 61642       "output": {
 61643         "resultWrapper": "DescribeDBInstancesResult",
 61644         "type": "structure",
 61645         "members": {
 61646           "Marker": {},
 61647           "DBInstances": {
 61648             "type": "list",
 61649             "member": {
 61650               "shape": "St",
 61651               "locationName": "DBInstance"
 61652             }
 61653           }
 61654         }
 61655       }
 61656     },
 61657     "DescribeDBLogFiles": {
 61658       "input": {
 61659         "type": "structure",
 61660         "required": [
 61661           "DBInstanceIdentifier"
 61662         ],
 61663         "members": {
 61664           "DBInstanceIdentifier": {},
 61665           "FilenameContains": {},
 61666           "FileLastWritten": {
 61667             "type": "long"
 61668           },
 61669           "FileSize": {
 61670             "type": "long"
 61671           },
 61672           "Filters": {
 61673             "shape": "S27"
 61674           },
 61675           "MaxRecords": {
 61676             "type": "integer"
 61677           },
 61678           "Marker": {}
 61679         }
 61680       },
 61681       "output": {
 61682         "resultWrapper": "DescribeDBLogFilesResult",
 61683         "type": "structure",
 61684         "members": {
 61685           "DescribeDBLogFiles": {
 61686             "type": "list",
 61687             "member": {
 61688               "locationName": "DescribeDBLogFilesDetails",
 61689               "type": "structure",
 61690               "members": {
 61691                 "LogFileName": {},
 61692                 "LastWritten": {
 61693                   "type": "long"
 61694                 },
 61695                 "Size": {
 61696                   "type": "long"
 61697                 }
 61698               }
 61699             }
 61700           },
 61701           "Marker": {}
 61702         }
 61703       }
 61704     },
 61705     "DescribeDBParameterGroups": {
 61706       "input": {
 61707         "type": "structure",
 61708         "members": {
 61709           "DBParameterGroupName": {},
 61710           "Filters": {
 61711             "shape": "S27"
 61712           },
 61713           "MaxRecords": {
 61714             "type": "integer"
 61715           },
 61716           "Marker": {}
 61717         }
 61718       },
 61719       "output": {
 61720         "resultWrapper": "DescribeDBParameterGroupsResult",
 61721         "type": "structure",
 61722         "members": {
 61723           "Marker": {},
 61724           "DBParameterGroups": {
 61725             "type": "list",
 61726             "member": {
 61727               "shape": "S1f",
 61728               "locationName": "DBParameterGroup"
 61729             }
 61730           }
 61731         }
 61732       }
 61733     },
 61734     "DescribeDBParameters": {
 61735       "input": {
 61736         "type": "structure",
 61737         "required": [
 61738           "DBParameterGroupName"
 61739         ],
 61740         "members": {
 61741           "DBParameterGroupName": {},
 61742           "Source": {},
 61743           "Filters": {
 61744             "shape": "S27"
 61745           },
 61746           "MaxRecords": {
 61747             "type": "integer"
 61748           },
 61749           "Marker": {}
 61750         }
 61751       },
 61752       "output": {
 61753         "resultWrapper": "DescribeDBParametersResult",
 61754         "type": "structure",
 61755         "members": {
 61756           "Parameters": {
 61757             "shape": "S2s"
 61758           },
 61759           "Marker": {}
 61760         }
 61761       }
 61762     },
 61763     "DescribeDBSecurityGroups": {
 61764       "input": {
 61765         "type": "structure",
 61766         "members": {
 61767           "DBSecurityGroupName": {},
 61768           "Filters": {
 61769             "shape": "S27"
 61770           },
 61771           "MaxRecords": {
 61772             "type": "integer"
 61773           },
 61774           "Marker": {}
 61775         }
 61776       },
 61777       "output": {
 61778         "resultWrapper": "DescribeDBSecurityGroupsResult",
 61779         "type": "structure",
 61780         "members": {
 61781           "Marker": {},
 61782           "DBSecurityGroups": {
 61783             "type": "list",
 61784             "member": {
 61785               "shape": "Sd",
 61786               "locationName": "DBSecurityGroup"
 61787             }
 61788           }
 61789         }
 61790       }
 61791     },
 61792     "DescribeDBSnapshots": {
 61793       "input": {
 61794         "type": "structure",
 61795         "members": {
 61796           "DBInstanceIdentifier": {},
 61797           "DBSnapshotIdentifier": {},
 61798           "SnapshotType": {},
 61799           "Filters": {
 61800             "shape": "S27"
 61801           },
 61802           "MaxRecords": {
 61803             "type": "integer"
 61804           },
 61805           "Marker": {}
 61806         }
 61807       },
 61808       "output": {
 61809         "resultWrapper": "DescribeDBSnapshotsResult",
 61810         "type": "structure",
 61811         "members": {
 61812           "Marker": {},
 61813           "DBSnapshots": {
 61814             "type": "list",
 61815             "member": {
 61816               "shape": "Sk",
 61817               "locationName": "DBSnapshot"
 61818             }
 61819           }
 61820         }
 61821       }
 61822     },
 61823     "DescribeDBSubnetGroups": {
 61824       "input": {
 61825         "type": "structure",
 61826         "members": {
 61827           "DBSubnetGroupName": {},
 61828           "Filters": {
 61829             "shape": "S27"
 61830           },
 61831           "MaxRecords": {
 61832             "type": "integer"
 61833           },
 61834           "Marker": {}
 61835         }
 61836       },
 61837       "output": {
 61838         "resultWrapper": "DescribeDBSubnetGroupsResult",
 61839         "type": "structure",
 61840         "members": {
 61841           "Marker": {},
 61842           "DBSubnetGroups": {
 61843             "type": "list",
 61844             "member": {
 61845               "shape": "S11",
 61846               "locationName": "DBSubnetGroup"
 61847             }
 61848           }
 61849         }
 61850       }
 61851     },
 61852     "DescribeEngineDefaultParameters": {
 61853       "input": {
 61854         "type": "structure",
 61855         "required": [
 61856           "DBParameterGroupFamily"
 61857         ],
 61858         "members": {
 61859           "DBParameterGroupFamily": {},
 61860           "Filters": {
 61861             "shape": "S27"
 61862           },
 61863           "MaxRecords": {
 61864             "type": "integer"
 61865           },
 61866           "Marker": {}
 61867         }
 61868       },
 61869       "output": {
 61870         "resultWrapper": "DescribeEngineDefaultParametersResult",
 61871         "type": "structure",
 61872         "members": {
 61873           "EngineDefaults": {
 61874             "type": "structure",
 61875             "members": {
 61876               "DBParameterGroupFamily": {},
 61877               "Marker": {},
 61878               "Parameters": {
 61879                 "shape": "S2s"
 61880               }
 61881             },
 61882             "wrapper": true
 61883           }
 61884         }
 61885       }
 61886     },
 61887     "DescribeEventCategories": {
 61888       "input": {
 61889         "type": "structure",
 61890         "members": {
 61891           "SourceType": {},
 61892           "Filters": {
 61893             "shape": "S27"
 61894           }
 61895         }
 61896       },
 61897       "output": {
 61898         "resultWrapper": "DescribeEventCategoriesResult",
 61899         "type": "structure",
 61900         "members": {
 61901           "EventCategoriesMapList": {
 61902             "type": "list",
 61903             "member": {
 61904               "locationName": "EventCategoriesMap",
 61905               "type": "structure",
 61906               "members": {
 61907                 "SourceType": {},
 61908                 "EventCategories": {
 61909                   "shape": "S6"
 61910                 }
 61911               },
 61912               "wrapper": true
 61913             }
 61914           }
 61915         }
 61916       }
 61917     },
 61918     "DescribeEventSubscriptions": {
 61919       "input": {
 61920         "type": "structure",
 61921         "members": {
 61922           "SubscriptionName": {},
 61923           "Filters": {
 61924             "shape": "S27"
 61925           },
 61926           "MaxRecords": {
 61927             "type": "integer"
 61928           },
 61929           "Marker": {}
 61930         }
 61931       },
 61932       "output": {
 61933         "resultWrapper": "DescribeEventSubscriptionsResult",
 61934         "type": "structure",
 61935         "members": {
 61936           "Marker": {},
 61937           "EventSubscriptionsList": {
 61938             "type": "list",
 61939             "member": {
 61940               "shape": "S4",
 61941               "locationName": "EventSubscription"
 61942             }
 61943           }
 61944         }
 61945       }
 61946     },
 61947     "DescribeEvents": {
 61948       "input": {
 61949         "type": "structure",
 61950         "members": {
 61951           "SourceIdentifier": {},
 61952           "SourceType": {},
 61953           "StartTime": {
 61954             "type": "timestamp"
 61955           },
 61956           "EndTime": {
 61957             "type": "timestamp"
 61958           },
 61959           "Duration": {
 61960             "type": "integer"
 61961           },
 61962           "EventCategories": {
 61963             "shape": "S6"
 61964           },
 61965           "Filters": {
 61966             "shape": "S27"
 61967           },
 61968           "MaxRecords": {
 61969             "type": "integer"
 61970           },
 61971           "Marker": {}
 61972         }
 61973       },
 61974       "output": {
 61975         "resultWrapper": "DescribeEventsResult",
 61976         "type": "structure",
 61977         "members": {
 61978           "Marker": {},
 61979           "Events": {
 61980             "type": "list",
 61981             "member": {
 61982               "locationName": "Event",
 61983               "type": "structure",
 61984               "members": {
 61985                 "SourceIdentifier": {},
 61986                 "SourceType": {},
 61987                 "Message": {},
 61988                 "EventCategories": {
 61989                   "shape": "S6"
 61990                 },
 61991                 "Date": {
 61992                   "type": "timestamp"
 61993                 }
 61994               }
 61995             }
 61996           }
 61997         }
 61998       }
 61999     },
 62000     "DescribeOptionGroupOptions": {
 62001       "input": {
 62002         "type": "structure",
 62003         "required": [
 62004           "EngineName"
 62005         ],
 62006         "members": {
 62007           "EngineName": {},
 62008           "MajorEngineVersion": {},
 62009           "Filters": {
 62010             "shape": "S27"
 62011           },
 62012           "MaxRecords": {
 62013             "type": "integer"
 62014           },
 62015           "Marker": {}
 62016         }
 62017       },
 62018       "output": {
 62019         "resultWrapper": "DescribeOptionGroupOptionsResult",
 62020         "type": "structure",
 62021         "members": {
 62022           "OptionGroupOptions": {
 62023             "type": "list",
 62024             "member": {
 62025               "locationName": "OptionGroupOption",
 62026               "type": "structure",
 62027               "members": {
 62028                 "Name": {},
 62029                 "Description": {},
 62030                 "EngineName": {},
 62031                 "MajorEngineVersion": {},
 62032                 "MinimumRequiredMinorEngineVersion": {},
 62033                 "PortRequired": {
 62034                   "type": "boolean"
 62035                 },
 62036                 "DefaultPort": {
 62037                   "type": "integer"
 62038                 },
 62039                 "OptionsDependedOn": {
 62040                   "type": "list",
 62041                   "member": {
 62042                     "locationName": "OptionName"
 62043                   }
 62044                 },
 62045                 "Persistent": {
 62046                   "type": "boolean"
 62047                 },
 62048                 "Permanent": {
 62049                   "type": "boolean"
 62050                 },
 62051                 "OptionGroupOptionSettings": {
 62052                   "type": "list",
 62053                   "member": {
 62054                     "locationName": "OptionGroupOptionSetting",
 62055                     "type": "structure",
 62056                     "members": {
 62057                       "SettingName": {},
 62058                       "SettingDescription": {},
 62059                       "DefaultValue": {},
 62060                       "ApplyType": {},
 62061                       "AllowedValues": {},
 62062                       "IsModifiable": {
 62063                         "type": "boolean"
 62064                       }
 62065                     }
 62066                   }
 62067                 }
 62068               }
 62069             }
 62070           },
 62071           "Marker": {}
 62072         }
 62073       }
 62074     },
 62075     "DescribeOptionGroups": {
 62076       "input": {
 62077         "type": "structure",
 62078         "members": {
 62079           "OptionGroupName": {},
 62080           "Filters": {
 62081             "shape": "S27"
 62082           },
 62083           "Marker": {},
 62084           "MaxRecords": {
 62085             "type": "integer"
 62086           },
 62087           "EngineName": {},
 62088           "MajorEngineVersion": {}
 62089         }
 62090       },
 62091       "output": {
 62092         "resultWrapper": "DescribeOptionGroupsResult",
 62093         "type": "structure",
 62094         "members": {
 62095           "OptionGroupsList": {
 62096             "type": "list",
 62097             "member": {
 62098               "shape": "S1r",
 62099               "locationName": "OptionGroup"
 62100             }
 62101           },
 62102           "Marker": {}
 62103         }
 62104       }
 62105     },
 62106     "DescribeOrderableDBInstanceOptions": {
 62107       "input": {
 62108         "type": "structure",
 62109         "required": [
 62110           "Engine"
 62111         ],
 62112         "members": {
 62113           "Engine": {},
 62114           "EngineVersion": {},
 62115           "DBInstanceClass": {},
 62116           "LicenseModel": {},
 62117           "Vpc": {
 62118             "type": "boolean"
 62119           },
 62120           "Filters": {
 62121             "shape": "S27"
 62122           },
 62123           "MaxRecords": {
 62124             "type": "integer"
 62125           },
 62126           "Marker": {}
 62127         }
 62128       },
 62129       "output": {
 62130         "resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
 62131         "type": "structure",
 62132         "members": {
 62133           "OrderableDBInstanceOptions": {
 62134             "type": "list",
 62135             "member": {
 62136               "locationName": "OrderableDBInstanceOption",
 62137               "type": "structure",
 62138               "members": {
 62139                 "Engine": {},
 62140                 "EngineVersion": {},
 62141                 "DBInstanceClass": {},
 62142                 "LicenseModel": {},
 62143                 "AvailabilityZones": {
 62144                   "type": "list",
 62145                   "member": {
 62146                     "shape": "S14",
 62147                     "locationName": "AvailabilityZone"
 62148                   }
 62149                 },
 62150                 "MultiAZCapable": {
 62151                   "type": "boolean"
 62152                 },
 62153                 "ReadReplicaCapable": {
 62154                   "type": "boolean"
 62155                 },
 62156                 "Vpc": {
 62157                   "type": "boolean"
 62158                 }
 62159               },
 62160               "wrapper": true
 62161             }
 62162           },
 62163           "Marker": {}
 62164         }
 62165       }
 62166     },
 62167     "DescribeReservedDBInstances": {
 62168       "input": {
 62169         "type": "structure",
 62170         "members": {
 62171           "ReservedDBInstanceId": {},
 62172           "ReservedDBInstancesOfferingId": {},
 62173           "DBInstanceClass": {},
 62174           "Duration": {},
 62175           "ProductDescription": {},
 62176           "OfferingType": {},
 62177           "MultiAZ": {
 62178             "type": "boolean"
 62179           },
 62180           "Filters": {
 62181             "shape": "S27"
 62182           },
 62183           "MaxRecords": {
 62184             "type": "integer"
 62185           },
 62186           "Marker": {}
 62187         }
 62188       },
 62189       "output": {
 62190         "resultWrapper": "DescribeReservedDBInstancesResult",
 62191         "type": "structure",
 62192         "members": {
 62193           "Marker": {},
 62194           "ReservedDBInstances": {
 62195             "type": "list",
 62196             "member": {
 62197               "shape": "S41",
 62198               "locationName": "ReservedDBInstance"
 62199             }
 62200           }
 62201         }
 62202       }
 62203     },
 62204     "DescribeReservedDBInstancesOfferings": {
 62205       "input": {
 62206         "type": "structure",
 62207         "members": {
 62208           "ReservedDBInstancesOfferingId": {},
 62209           "DBInstanceClass": {},
 62210           "Duration": {},
 62211           "ProductDescription": {},
 62212           "OfferingType": {},
 62213           "MultiAZ": {
 62214             "type": "boolean"
 62215           },
 62216           "Filters": {
 62217             "shape": "S27"
 62218           },
 62219           "MaxRecords": {
 62220             "type": "integer"
 62221           },
 62222           "Marker": {}
 62223         }
 62224       },
 62225       "output": {
 62226         "resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
 62227         "type": "structure",
 62228         "members": {
 62229           "Marker": {},
 62230           "ReservedDBInstancesOfferings": {
 62231             "type": "list",
 62232             "member": {
 62233               "locationName": "ReservedDBInstancesOffering",
 62234               "type": "structure",
 62235               "members": {
 62236                 "ReservedDBInstancesOfferingId": {},
 62237                 "DBInstanceClass": {},
 62238                 "Duration": {
 62239                   "type": "integer"
 62240                 },
 62241                 "FixedPrice": {
 62242                   "type": "double"
 62243                 },
 62244                 "UsagePrice": {
 62245                   "type": "double"
 62246                 },
 62247                 "CurrencyCode": {},
 62248                 "ProductDescription": {},
 62249                 "OfferingType": {},
 62250                 "MultiAZ": {
 62251                   "type": "boolean"
 62252                 },
 62253                 "RecurringCharges": {
 62254                   "shape": "S43"
 62255                 }
 62256               },
 62257               "wrapper": true
 62258             }
 62259           }
 62260         }
 62261       }
 62262     },
 62263     "DownloadDBLogFilePortion": {
 62264       "input": {
 62265         "type": "structure",
 62266         "required": [
 62267           "DBInstanceIdentifier",
 62268           "LogFileName"
 62269         ],
 62270         "members": {
 62271           "DBInstanceIdentifier": {},
 62272           "LogFileName": {},
 62273           "Marker": {},
 62274           "NumberOfLines": {
 62275             "type": "integer"
 62276           }
 62277         }
 62278       },
 62279       "output": {
 62280         "resultWrapper": "DownloadDBLogFilePortionResult",
 62281         "type": "structure",
 62282         "members": {
 62283           "LogFileData": {},
 62284           "Marker": {},
 62285           "AdditionalDataPending": {
 62286             "type": "boolean"
 62287           }
 62288         }
 62289       }
 62290     },
 62291     "ListTagsForResource": {
 62292       "input": {
 62293         "type": "structure",
 62294         "required": [
 62295           "ResourceName"
 62296         ],
 62297         "members": {
 62298           "ResourceName": {},
 62299           "Filters": {
 62300             "shape": "S27"
 62301           }
 62302         }
 62303       },
 62304       "output": {
 62305         "resultWrapper": "ListTagsForResourceResult",
 62306         "type": "structure",
 62307         "members": {
 62308           "TagList": {
 62309             "shape": "S9"
 62310           }
 62311         }
 62312       }
 62313     },
 62314     "ModifyDBInstance": {
 62315       "input": {
 62316         "type": "structure",
 62317         "required": [
 62318           "DBInstanceIdentifier"
 62319         ],
 62320         "members": {
 62321           "DBInstanceIdentifier": {},
 62322           "AllocatedStorage": {
 62323             "type": "integer"
 62324           },
 62325           "DBInstanceClass": {},
 62326           "DBSecurityGroups": {
 62327             "shape": "Sp"
 62328           },
 62329           "VpcSecurityGroupIds": {
 62330             "shape": "Sq"
 62331           },
 62332           "ApplyImmediately": {
 62333             "type": "boolean"
 62334           },
 62335           "MasterUserPassword": {},
 62336           "DBParameterGroupName": {},
 62337           "BackupRetentionPeriod": {
 62338             "type": "integer"
 62339           },
 62340           "PreferredBackupWindow": {},
 62341           "PreferredMaintenanceWindow": {},
 62342           "MultiAZ": {
 62343             "type": "boolean"
 62344           },
 62345           "EngineVersion": {},
 62346           "AllowMajorVersionUpgrade": {
 62347             "type": "boolean"
 62348           },
 62349           "AutoMinorVersionUpgrade": {
 62350             "type": "boolean"
 62351           },
 62352           "Iops": {
 62353             "type": "integer"
 62354           },
 62355           "OptionGroupName": {},
 62356           "NewDBInstanceIdentifier": {}
 62357         }
 62358       },
 62359       "output": {
 62360         "resultWrapper": "ModifyDBInstanceResult",
 62361         "type": "structure",
 62362         "members": {
 62363           "DBInstance": {
 62364             "shape": "St"
 62365           }
 62366         }
 62367       }
 62368     },
 62369     "ModifyDBParameterGroup": {
 62370       "input": {
 62371         "type": "structure",
 62372         "required": [
 62373           "DBParameterGroupName",
 62374           "Parameters"
 62375         ],
 62376         "members": {
 62377           "DBParameterGroupName": {},
 62378           "Parameters": {
 62379             "shape": "S2s"
 62380           }
 62381         }
 62382       },
 62383       "output": {
 62384         "shape": "S4g",
 62385         "resultWrapper": "ModifyDBParameterGroupResult"
 62386       }
 62387     },
 62388     "ModifyDBSubnetGroup": {
 62389       "input": {
 62390         "type": "structure",
 62391         "required": [
 62392           "DBSubnetGroupName",
 62393           "SubnetIds"
 62394         ],
 62395         "members": {
 62396           "DBSubnetGroupName": {},
 62397           "DBSubnetGroupDescription": {},
 62398           "SubnetIds": {
 62399             "shape": "S1l"
 62400           }
 62401         }
 62402       },
 62403       "output": {
 62404         "resultWrapper": "ModifyDBSubnetGroupResult",
 62405         "type": "structure",
 62406         "members": {
 62407           "DBSubnetGroup": {
 62408             "shape": "S11"
 62409           }
 62410         }
 62411       }
 62412     },
 62413     "ModifyEventSubscription": {
 62414       "input": {
 62415         "type": "structure",
 62416         "required": [
 62417           "SubscriptionName"
 62418         ],
 62419         "members": {
 62420           "SubscriptionName": {},
 62421           "SnsTopicArn": {},
 62422           "SourceType": {},
 62423           "EventCategories": {
 62424             "shape": "S6"
 62425           },
 62426           "Enabled": {
 62427             "type": "boolean"
 62428           }
 62429         }
 62430       },
 62431       "output": {
 62432         "resultWrapper": "ModifyEventSubscriptionResult",
 62433         "type": "structure",
 62434         "members": {
 62435           "EventSubscription": {
 62436             "shape": "S4"
 62437           }
 62438         }
 62439       }
 62440     },
 62441     "ModifyOptionGroup": {
 62442       "input": {
 62443         "type": "structure",
 62444         "required": [
 62445           "OptionGroupName"
 62446         ],
 62447         "members": {
 62448           "OptionGroupName": {},
 62449           "OptionsToInclude": {
 62450             "type": "list",
 62451             "member": {
 62452               "locationName": "OptionConfiguration",
 62453               "type": "structure",
 62454               "required": [
 62455                 "OptionName"
 62456               ],
 62457               "members": {
 62458                 "OptionName": {},
 62459                 "Port": {
 62460                   "type": "integer"
 62461                 },
 62462                 "DBSecurityGroupMemberships": {
 62463                   "shape": "Sp"
 62464                 },
 62465                 "VpcSecurityGroupMemberships": {
 62466                   "shape": "Sq"
 62467                 },
 62468                 "OptionSettings": {
 62469                   "type": "list",
 62470                   "member": {
 62471                     "shape": "S1v",
 62472                     "locationName": "OptionSetting"
 62473                   }
 62474                 }
 62475               }
 62476             }
 62477           },
 62478           "OptionsToRemove": {
 62479             "type": "list",
 62480             "member": {}
 62481           },
 62482           "ApplyImmediately": {
 62483             "type": "boolean"
 62484           }
 62485         }
 62486       },
 62487       "output": {
 62488         "resultWrapper": "ModifyOptionGroupResult",
 62489         "type": "structure",
 62490         "members": {
 62491           "OptionGroup": {
 62492             "shape": "S1r"
 62493           }
 62494         }
 62495       }
 62496     },
 62497     "PromoteReadReplica": {
 62498       "input": {
 62499         "type": "structure",
 62500         "required": [
 62501           "DBInstanceIdentifier"
 62502         ],
 62503         "members": {
 62504           "DBInstanceIdentifier": {},
 62505           "BackupRetentionPeriod": {
 62506             "type": "integer"
 62507           },
 62508           "PreferredBackupWindow": {}
 62509         }
 62510       },
 62511       "output": {
 62512         "resultWrapper": "PromoteReadReplicaResult",
 62513         "type": "structure",
 62514         "members": {
 62515           "DBInstance": {
 62516             "shape": "St"
 62517           }
 62518         }
 62519       }
 62520     },
 62521     "PurchaseReservedDBInstancesOffering": {
 62522       "input": {
 62523         "type": "structure",
 62524         "required": [
 62525           "ReservedDBInstancesOfferingId"
 62526         ],
 62527         "members": {
 62528           "ReservedDBInstancesOfferingId": {},
 62529           "ReservedDBInstanceId": {},
 62530           "DBInstanceCount": {
 62531             "type": "integer"
 62532           },
 62533           "Tags": {
 62534             "shape": "S9"
 62535           }
 62536         }
 62537       },
 62538       "output": {
 62539         "resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
 62540         "type": "structure",
 62541         "members": {
 62542           "ReservedDBInstance": {
 62543             "shape": "S41"
 62544           }
 62545         }
 62546       }
 62547     },
 62548     "RebootDBInstance": {
 62549       "input": {
 62550         "type": "structure",
 62551         "required": [
 62552           "DBInstanceIdentifier"
 62553         ],
 62554         "members": {
 62555           "DBInstanceIdentifier": {},
 62556           "ForceFailover": {
 62557             "type": "boolean"
 62558           }
 62559         }
 62560       },
 62561       "output": {
 62562         "resultWrapper": "RebootDBInstanceResult",
 62563         "type": "structure",
 62564         "members": {
 62565           "DBInstance": {
 62566             "shape": "St"
 62567           }
 62568         }
 62569       }
 62570     },
 62571     "RemoveSourceIdentifierFromSubscription": {
 62572       "input": {
 62573         "type": "structure",
 62574         "required": [
 62575           "SubscriptionName",
 62576           "SourceIdentifier"
 62577         ],
 62578         "members": {
 62579           "SubscriptionName": {},
 62580           "SourceIdentifier": {}
 62581         }
 62582       },
 62583       "output": {
 62584         "resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
 62585         "type": "structure",
 62586         "members": {
 62587           "EventSubscription": {
 62588             "shape": "S4"
 62589           }
 62590         }
 62591       }
 62592     },
 62593     "RemoveTagsFromResource": {
 62594       "input": {
 62595         "type": "structure",
 62596         "required": [
 62597           "ResourceName",
 62598           "TagKeys"
 62599         ],
 62600         "members": {
 62601           "ResourceName": {},
 62602           "TagKeys": {
 62603             "type": "list",
 62604             "member": {}
 62605           }
 62606         }
 62607       }
 62608     },
 62609     "ResetDBParameterGroup": {
 62610       "input": {
 62611         "type": "structure",
 62612         "required": [
 62613           "DBParameterGroupName"
 62614         ],
 62615         "members": {
 62616           "DBParameterGroupName": {},
 62617           "ResetAllParameters": {
 62618             "type": "boolean"
 62619           },
 62620           "Parameters": {
 62621             "shape": "S2s"
 62622           }
 62623         }
 62624       },
 62625       "output": {
 62626         "shape": "S4g",
 62627         "resultWrapper": "ResetDBParameterGroupResult"
 62628       }
 62629     },
 62630     "RestoreDBInstanceFromDBSnapshot": {
 62631       "input": {
 62632         "type": "structure",
 62633         "required": [
 62634           "DBInstanceIdentifier",
 62635           "DBSnapshotIdentifier"
 62636         ],
 62637         "members": {
 62638           "DBInstanceIdentifier": {},
 62639           "DBSnapshotIdentifier": {},
 62640           "DBInstanceClass": {},
 62641           "Port": {
 62642             "type": "integer"
 62643           },
 62644           "AvailabilityZone": {},
 62645           "DBSubnetGroupName": {},
 62646           "MultiAZ": {
 62647             "type": "boolean"
 62648           },
 62649           "PubliclyAccessible": {
 62650             "type": "boolean"
 62651           },
 62652           "AutoMinorVersionUpgrade": {
 62653             "type": "boolean"
 62654           },
 62655           "LicenseModel": {},
 62656           "DBName": {},
 62657           "Engine": {},
 62658           "Iops": {
 62659             "type": "integer"
 62660           },
 62661           "OptionGroupName": {},
 62662           "Tags": {
 62663             "shape": "S9"
 62664           }
 62665         }
 62666       },
 62667       "output": {
 62668         "resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
 62669         "type": "structure",
 62670         "members": {
 62671           "DBInstance": {
 62672             "shape": "St"
 62673           }
 62674         }
 62675       }
 62676     },
 62677     "RestoreDBInstanceToPointInTime": {
 62678       "input": {
 62679         "type": "structure",
 62680         "required": [
 62681           "SourceDBInstanceIdentifier",
 62682           "TargetDBInstanceIdentifier"
 62683         ],
 62684         "members": {
 62685           "SourceDBInstanceIdentifier": {},
 62686           "TargetDBInstanceIdentifier": {},
 62687           "RestoreTime": {
 62688             "type": "timestamp"
 62689           },
 62690           "UseLatestRestorableTime": {
 62691             "type": "boolean"
 62692           },
 62693           "DBInstanceClass": {},
 62694           "Port": {
 62695             "type": "integer"
 62696           },
 62697           "AvailabilityZone": {},
 62698           "DBSubnetGroupName": {},
 62699           "MultiAZ": {
 62700             "type": "boolean"
 62701           },
 62702           "PubliclyAccessible": {
 62703             "type": "boolean"
 62704           },
 62705           "AutoMinorVersionUpgrade": {
 62706             "type": "boolean"
 62707           },
 62708           "LicenseModel": {},
 62709           "DBName": {},
 62710           "Engine": {},
 62711           "Iops": {
 62712             "type": "integer"
 62713           },
 62714           "OptionGroupName": {},
 62715           "Tags": {
 62716             "shape": "S9"
 62717           }
 62718         }
 62719       },
 62720       "output": {
 62721         "resultWrapper": "RestoreDBInstanceToPointInTimeResult",
 62722         "type": "structure",
 62723         "members": {
 62724           "DBInstance": {
 62725             "shape": "St"
 62726           }
 62727         }
 62728       }
 62729     },
 62730     "RevokeDBSecurityGroupIngress": {
 62731       "input": {
 62732         "type": "structure",
 62733         "required": [
 62734           "DBSecurityGroupName"
 62735         ],
 62736         "members": {
 62737           "DBSecurityGroupName": {},
 62738           "CIDRIP": {},
 62739           "EC2SecurityGroupName": {},
 62740           "EC2SecurityGroupId": {},
 62741           "EC2SecurityGroupOwnerId": {}
 62742         }
 62743       },
 62744       "output": {
 62745         "resultWrapper": "RevokeDBSecurityGroupIngressResult",
 62746         "type": "structure",
 62747         "members": {
 62748           "DBSecurityGroup": {
 62749             "shape": "Sd"
 62750           }
 62751         }
 62752       }
 62753     }
 62754   },
 62755   "shapes": {
 62756     "S4": {
 62757       "type": "structure",
 62758       "members": {
 62759         "CustomerAwsId": {},
 62760         "CustSubscriptionId": {},
 62761         "SnsTopicArn": {},
 62762         "Status": {},
 62763         "SubscriptionCreationTime": {},
 62764         "SourceType": {},
 62765         "SourceIdsList": {
 62766           "shape": "S5"
 62767         },
 62768         "EventCategoriesList": {
 62769           "shape": "S6"
 62770         },
 62771         "Enabled": {
 62772           "type": "boolean"
 62773         }
 62774       },
 62775       "wrapper": true
 62776     },
 62777     "S5": {
 62778       "type": "list",
 62779       "member": {
 62780         "locationName": "SourceId"
 62781       }
 62782     },
 62783     "S6": {
 62784       "type": "list",
 62785       "member": {
 62786         "locationName": "EventCategory"
 62787       }
 62788     },
 62789     "S9": {
 62790       "type": "list",
 62791       "member": {
 62792         "locationName": "Tag",
 62793         "type": "structure",
 62794         "members": {
 62795           "Key": {},
 62796           "Value": {}
 62797         }
 62798       }
 62799     },
 62800     "Sd": {
 62801       "type": "structure",
 62802       "members": {
 62803         "OwnerId": {},
 62804         "DBSecurityGroupName": {},
 62805         "DBSecurityGroupDescription": {},
 62806         "VpcId": {},
 62807         "EC2SecurityGroups": {
 62808           "type": "list",
 62809           "member": {
 62810             "locationName": "EC2SecurityGroup",
 62811             "type": "structure",
 62812             "members": {
 62813               "Status": {},
 62814               "EC2SecurityGroupName": {},
 62815               "EC2SecurityGroupId": {},
 62816               "EC2SecurityGroupOwnerId": {}
 62817             }
 62818           }
 62819         },
 62820         "IPRanges": {
 62821           "type": "list",
 62822           "member": {
 62823             "locationName": "IPRange",
 62824             "type": "structure",
 62825             "members": {
 62826               "Status": {},
 62827               "CIDRIP": {}
 62828             }
 62829           }
 62830         }
 62831       },
 62832       "wrapper": true
 62833     },
 62834     "Sk": {
 62835       "type": "structure",
 62836       "members": {
 62837         "DBSnapshotIdentifier": {},
 62838         "DBInstanceIdentifier": {},
 62839         "SnapshotCreateTime": {
 62840           "type": "timestamp"
 62841         },
 62842         "Engine": {},
 62843         "AllocatedStorage": {
 62844           "type": "integer"
 62845         },
 62846         "Status": {},
 62847         "Port": {
 62848           "type": "integer"
 62849         },
 62850         "AvailabilityZone": {},
 62851         "VpcId": {},
 62852         "InstanceCreateTime": {
 62853           "type": "timestamp"
 62854         },
 62855         "MasterUsername": {},
 62856         "EngineVersion": {},
 62857         "LicenseModel": {},
 62858         "SnapshotType": {},
 62859         "Iops": {
 62860           "type": "integer"
 62861         },
 62862         "OptionGroupName": {},
 62863         "PercentProgress": {
 62864           "type": "integer"
 62865         },
 62866         "SourceRegion": {}
 62867       },
 62868       "wrapper": true
 62869     },
 62870     "Sp": {
 62871       "type": "list",
 62872       "member": {
 62873         "locationName": "DBSecurityGroupName"
 62874       }
 62875     },
 62876     "Sq": {
 62877       "type": "list",
 62878       "member": {
 62879         "locationName": "VpcSecurityGroupId"
 62880       }
 62881     },
 62882     "St": {
 62883       "type": "structure",
 62884       "members": {
 62885         "DBInstanceIdentifier": {},
 62886         "DBInstanceClass": {},
 62887         "Engine": {},
 62888         "DBInstanceStatus": {},
 62889         "MasterUsername": {},
 62890         "DBName": {},
 62891         "Endpoint": {
 62892           "type": "structure",
 62893           "members": {
 62894             "Address": {},
 62895             "Port": {
 62896               "type": "integer"
 62897             }
 62898           }
 62899         },
 62900         "AllocatedStorage": {
 62901           "type": "integer"
 62902         },
 62903         "InstanceCreateTime": {
 62904           "type": "timestamp"
 62905         },
 62906         "PreferredBackupWindow": {},
 62907         "BackupRetentionPeriod": {
 62908           "type": "integer"
 62909         },
 62910         "DBSecurityGroups": {
 62911           "shape": "Sv"
 62912         },
 62913         "VpcSecurityGroups": {
 62914           "shape": "Sx"
 62915         },
 62916         "DBParameterGroups": {
 62917           "type": "list",
 62918           "member": {
 62919             "locationName": "DBParameterGroup",
 62920             "type": "structure",
 62921             "members": {
 62922               "DBParameterGroupName": {},
 62923               "ParameterApplyStatus": {}
 62924             }
 62925           }
 62926         },
 62927         "AvailabilityZone": {},
 62928         "DBSubnetGroup": {
 62929           "shape": "S11"
 62930         },
 62931         "PreferredMaintenanceWindow": {},
 62932         "PendingModifiedValues": {
 62933           "type": "structure",
 62934           "members": {
 62935             "DBInstanceClass": {},
 62936             "AllocatedStorage": {
 62937               "type": "integer"
 62938             },
 62939             "MasterUserPassword": {},
 62940             "Port": {
 62941               "type": "integer"
 62942             },
 62943             "BackupRetentionPeriod": {
 62944               "type": "integer"
 62945             },
 62946             "MultiAZ": {
 62947               "type": "boolean"
 62948             },
 62949             "EngineVersion": {},
 62950             "Iops": {
 62951               "type": "integer"
 62952             },
 62953             "DBInstanceIdentifier": {}
 62954           }
 62955         },
 62956         "LatestRestorableTime": {
 62957           "type": "timestamp"
 62958         },
 62959         "MultiAZ": {
 62960           "type": "boolean"
 62961         },
 62962         "EngineVersion": {},
 62963         "AutoMinorVersionUpgrade": {
 62964           "type": "boolean"
 62965         },
 62966         "ReadReplicaSourceDBInstanceIdentifier": {},
 62967         "ReadReplicaDBInstanceIdentifiers": {
 62968           "type": "list",
 62969           "member": {
 62970             "locationName": "ReadReplicaDBInstanceIdentifier"
 62971           }
 62972         },
 62973         "LicenseModel": {},
 62974         "Iops": {
 62975           "type": "integer"
 62976         },
 62977         "OptionGroupMemberships": {
 62978           "type": "list",
 62979           "member": {
 62980             "locationName": "OptionGroupMembership",
 62981             "type": "structure",
 62982             "members": {
 62983               "OptionGroupName": {},
 62984               "Status": {}
 62985             }
 62986           }
 62987         },
 62988         "CharacterSetName": {},
 62989         "SecondaryAvailabilityZone": {},
 62990         "PubliclyAccessible": {
 62991           "type": "boolean"
 62992         },
 62993         "StatusInfos": {
 62994           "type": "list",
 62995           "member": {
 62996             "locationName": "DBInstanceStatusInfo",
 62997             "type": "structure",
 62998             "members": {
 62999               "StatusType": {},
 63000               "Normal": {
 63001                 "type": "boolean"
 63002               },
 63003               "Status": {},
 63004               "Message": {}
 63005             }
 63006           }
 63007         }
 63008       },
 63009       "wrapper": true
 63010     },
 63011     "Sv": {
 63012       "type": "list",
 63013       "member": {
 63014         "locationName": "DBSecurityGroup",
 63015         "type": "structure",
 63016         "members": {
 63017           "DBSecurityGroupName": {},
 63018           "Status": {}
 63019         }
 63020       }
 63021     },
 63022     "Sx": {
 63023       "type": "list",
 63024       "member": {
 63025         "locationName": "VpcSecurityGroupMembership",
 63026         "type": "structure",
 63027         "members": {
 63028           "VpcSecurityGroupId": {},
 63029           "Status": {}
 63030         }
 63031       }
 63032     },
 63033     "S11": {
 63034       "type": "structure",
 63035       "members": {
 63036         "DBSubnetGroupName": {},
 63037         "DBSubnetGroupDescription": {},
 63038         "VpcId": {},
 63039         "SubnetGroupStatus": {},
 63040         "Subnets": {
 63041           "type": "list",
 63042           "member": {
 63043             "locationName": "Subnet",
 63044             "type": "structure",
 63045             "members": {
 63046               "SubnetIdentifier": {},
 63047               "SubnetAvailabilityZone": {
 63048                 "shape": "S14"
 63049               },
 63050               "SubnetStatus": {}
 63051             }
 63052           }
 63053         }
 63054       },
 63055       "wrapper": true
 63056     },
 63057     "S14": {
 63058       "type": "structure",
 63059       "members": {
 63060         "Name": {},
 63061         "ProvisionedIopsCapable": {
 63062           "type": "boolean"
 63063         }
 63064       },
 63065       "wrapper": true
 63066     },
 63067     "S1f": {
 63068       "type": "structure",
 63069       "members": {
 63070         "DBParameterGroupName": {},
 63071         "DBParameterGroupFamily": {},
 63072         "Description": {}
 63073       },
 63074       "wrapper": true
 63075     },
 63076     "S1l": {
 63077       "type": "list",
 63078       "member": {
 63079         "locationName": "SubnetIdentifier"
 63080       }
 63081     },
 63082     "S1r": {
 63083       "type": "structure",
 63084       "members": {
 63085         "OptionGroupName": {},
 63086         "OptionGroupDescription": {},
 63087         "EngineName": {},
 63088         "MajorEngineVersion": {},
 63089         "Options": {
 63090           "type": "list",
 63091           "member": {
 63092             "locationName": "Option",
 63093             "type": "structure",
 63094             "members": {
 63095               "OptionName": {},
 63096               "OptionDescription": {},
 63097               "Persistent": {
 63098                 "type": "boolean"
 63099               },
 63100               "Permanent": {
 63101                 "type": "boolean"
 63102               },
 63103               "Port": {
 63104                 "type": "integer"
 63105               },
 63106               "OptionSettings": {
 63107                 "type": "list",
 63108                 "member": {
 63109                   "shape": "S1v",
 63110                   "locationName": "OptionSetting"
 63111                 }
 63112               },
 63113               "DBSecurityGroupMemberships": {
 63114                 "shape": "Sv"
 63115               },
 63116               "VpcSecurityGroupMemberships": {
 63117                 "shape": "Sx"
 63118               }
 63119             }
 63120           }
 63121         },
 63122         "AllowsVpcAndNonVpcInstanceMemberships": {
 63123           "type": "boolean"
 63124         },
 63125         "VpcId": {}
 63126       },
 63127       "wrapper": true
 63128     },
 63129     "S1v": {
 63130       "type": "structure",
 63131       "members": {
 63132         "Name": {},
 63133         "Value": {},
 63134         "DefaultValue": {},
 63135         "Description": {},
 63136         "ApplyType": {},
 63137         "DataType": {},
 63138         "AllowedValues": {},
 63139         "IsModifiable": {
 63140           "type": "boolean"
 63141         },
 63142         "IsCollection": {
 63143           "type": "boolean"
 63144         }
 63145       }
 63146     },
 63147     "S27": {
 63148       "type": "list",
 63149       "member": {
 63150         "locationName": "Filter",
 63151         "type": "structure",
 63152         "required": [
 63153           "Name",
 63154           "Values"
 63155         ],
 63156         "members": {
 63157           "Name": {},
 63158           "Values": {
 63159             "type": "list",
 63160             "member": {
 63161               "locationName": "Value"
 63162             }
 63163           }
 63164         }
 63165       }
 63166     },
 63167     "S2d": {
 63168       "type": "structure",
 63169       "members": {
 63170         "CharacterSetName": {},
 63171         "CharacterSetDescription": {}
 63172       }
 63173     },
 63174     "S2s": {
 63175       "type": "list",
 63176       "member": {
 63177         "locationName": "Parameter",
 63178         "type": "structure",
 63179         "members": {
 63180           "ParameterName": {},
 63181           "ParameterValue": {},
 63182           "Description": {},
 63183           "Source": {},
 63184           "ApplyType": {},
 63185           "DataType": {},
 63186           "AllowedValues": {},
 63187           "IsModifiable": {
 63188             "type": "boolean"
 63189           },
 63190           "MinimumEngineVersion": {},
 63191           "ApplyMethod": {}
 63192         }
 63193       }
 63194     },
 63195     "S41": {
 63196       "type": "structure",
 63197       "members": {
 63198         "ReservedDBInstanceId": {},
 63199         "ReservedDBInstancesOfferingId": {},
 63200         "DBInstanceClass": {},
 63201         "StartTime": {
 63202           "type": "timestamp"
 63203         },
 63204         "Duration": {
 63205           "type": "integer"
 63206         },
 63207         "FixedPrice": {
 63208           "type": "double"
 63209         },
 63210         "UsagePrice": {
 63211           "type": "double"
 63212         },
 63213         "CurrencyCode": {},
 63214         "DBInstanceCount": {
 63215           "type": "integer"
 63216         },
 63217         "ProductDescription": {},
 63218         "OfferingType": {},
 63219         "MultiAZ": {
 63220           "type": "boolean"
 63221         },
 63222         "State": {},
 63223         "RecurringCharges": {
 63224           "shape": "S43"
 63225         }
 63226       },
 63227       "wrapper": true
 63228     },
 63229     "S43": {
 63230       "type": "list",
 63231       "member": {
 63232         "locationName": "RecurringCharge",
 63233         "type": "structure",
 63234         "members": {
 63235           "RecurringChargeAmount": {
 63236             "type": "double"
 63237           },
 63238           "RecurringChargeFrequency": {}
 63239         },
 63240         "wrapper": true
 63241       }
 63242     },
 63243     "S4g": {
 63244       "type": "structure",
 63245       "members": {
 63246         "DBParameterGroupName": {}
 63247       }
 63248     }
 63249   }
 63250 }
 63251 },{}],100:[function(require,module,exports){
 63252 arguments[4][98][0].apply(exports,arguments)
 63253 },{"dup":98}],101:[function(require,module,exports){
 63254 module.exports={
 63255   "version": 2,
 63256   "waiters": {
 63257     "DBInstanceAvailable": {
 63258       "delay": 30,
 63259       "operation": "DescribeDBInstances",
 63260       "maxAttempts": 60,
 63261       "acceptors": [
 63262         {
 63263           "expected": "available",
 63264           "matcher": "pathAll",
 63265           "state": "success",
 63266           "argument": "DBInstances[].DBInstanceStatus"
 63267         },
 63268         {
 63269           "expected": "deleted",
 63270           "matcher": "pathAny",
 63271           "state": "failure",
 63272           "argument": "DBInstances[].DBInstanceStatus"
 63273         },
 63274         {
 63275           "expected": "deleting",
 63276           "matcher": "pathAny",
 63277           "state": "failure",
 63278           "argument": "DBInstances[].DBInstanceStatus"
 63279         },
 63280         {
 63281           "expected": "failed",
 63282           "matcher": "pathAny",
 63283           "state": "failure",
 63284           "argument": "DBInstances[].DBInstanceStatus"
 63285         },
 63286         {
 63287           "expected": "incompatible-restore",
 63288           "matcher": "pathAny",
 63289           "state": "failure",
 63290           "argument": "DBInstances[].DBInstanceStatus"
 63291         },
 63292         {
 63293           "expected": "incompatible-parameters",
 63294           "matcher": "pathAny",
 63295           "state": "failure",
 63296           "argument": "DBInstances[].DBInstanceStatus"
 63297         },
 63298         {
 63299           "expected": "incompatible-parameters",
 63300           "matcher": "pathAny",
 63301           "state": "failure",
 63302           "argument": "DBInstances[].DBInstanceStatus"
 63303         },
 63304         {
 63305           "expected": "incompatible-restore",
 63306           "matcher": "pathAny",
 63307           "state": "failure",
 63308           "argument": "DBInstances[].DBInstanceStatus"
 63309         }
 63310       ]
 63311     },
 63312     "DBInstanceDeleted": {
 63313       "delay": 30,
 63314       "operation": "DescribeDBInstances",
 63315       "maxAttempts": 60,
 63316       "acceptors": [
 63317         {
 63318           "expected": "deleted",
 63319           "matcher": "pathAll",
 63320           "state": "success",
 63321           "argument": "DBInstances[].DBInstanceStatus"
 63322         },
 63323         {
 63324           "expected": "creating",
 63325           "matcher": "pathAny",
 63326           "state": "failure",
 63327           "argument": "DBInstances[].DBInstanceStatus"
 63328         },
 63329         {
 63330           "expected": "modifying",
 63331           "matcher": "pathAny",
 63332           "state": "failure",
 63333           "argument": "DBInstances[].DBInstanceStatus"
 63334         },
 63335         {
 63336           "expected": "rebooting",
 63337           "matcher": "pathAny",
 63338           "state": "failure",
 63339           "argument": "DBInstances[].DBInstanceStatus"
 63340         },
 63341         {
 63342           "expected": "resetting-master-credentials",
 63343           "matcher": "pathAny",
 63344           "state": "failure",
 63345           "argument": "DBInstances[].DBInstanceStatus"
 63346         }
 63347       ]
 63348     }
 63349   }
 63350 }
 63351 
 63352 },{}],102:[function(require,module,exports){
 63353 module.exports={
 63354   "version": "2.0",
 63355   "metadata": {
 63356     "apiVersion": "2014-10-31",
 63357     "endpointPrefix": "rds",
 63358     "protocol": "query",
 63359     "serviceAbbreviation": "Amazon RDS",
 63360     "serviceFullName": "Amazon Relational Database Service",
 63361     "signatureVersion": "v4",
 63362     "xmlNamespace": "http://rds.amazonaws.com/doc/2014-10-31/"
 63363   },
 63364   "operations": {
 63365     "AddRoleToDBCluster": {
 63366       "input": {
 63367         "type": "structure",
 63368         "required": [
 63369           "DBClusterIdentifier",
 63370           "RoleArn"
 63371         ],
 63372         "members": {
 63373           "DBClusterIdentifier": {},
 63374           "RoleArn": {}
 63375         }
 63376       }
 63377     },
 63378     "AddSourceIdentifierToSubscription": {
 63379       "input": {
 63380         "type": "structure",
 63381         "required": [
 63382           "SubscriptionName",
 63383           "SourceIdentifier"
 63384         ],
 63385         "members": {
 63386           "SubscriptionName": {},
 63387           "SourceIdentifier": {}
 63388         }
 63389       },
 63390       "output": {
 63391         "resultWrapper": "AddSourceIdentifierToSubscriptionResult",
 63392         "type": "structure",
 63393         "members": {
 63394           "EventSubscription": {
 63395             "shape": "S5"
 63396           }
 63397         }
 63398       }
 63399     },
 63400     "AddTagsToResource": {
 63401       "input": {
 63402         "type": "structure",
 63403         "required": [
 63404           "ResourceName",
 63405           "Tags"
 63406         ],
 63407         "members": {
 63408           "ResourceName": {},
 63409           "Tags": {
 63410             "shape": "Sa"
 63411           }
 63412         }
 63413       }
 63414     },
 63415     "ApplyPendingMaintenanceAction": {
 63416       "input": {
 63417         "type": "structure",
 63418         "required": [
 63419           "ResourceIdentifier",
 63420           "ApplyAction",
 63421           "OptInType"
 63422         ],
 63423         "members": {
 63424           "ResourceIdentifier": {},
 63425           "ApplyAction": {},
 63426           "OptInType": {}
 63427         }
 63428       },
 63429       "output": {
 63430         "resultWrapper": "ApplyPendingMaintenanceActionResult",
 63431         "type": "structure",
 63432         "members": {
 63433           "ResourcePendingMaintenanceActions": {
 63434             "shape": "Se"
 63435           }
 63436         }
 63437       }
 63438     },
 63439     "AuthorizeDBSecurityGroupIngress": {
 63440       "input": {
 63441         "type": "structure",
 63442         "required": [
 63443           "DBSecurityGroupName"
 63444         ],
 63445         "members": {
 63446           "DBSecurityGroupName": {},
 63447           "CIDRIP": {},
 63448           "EC2SecurityGroupName": {},
 63449           "EC2SecurityGroupId": {},
 63450           "EC2SecurityGroupOwnerId": {}
 63451         }
 63452       },
 63453       "output": {
 63454         "resultWrapper": "AuthorizeDBSecurityGroupIngressResult",
 63455         "type": "structure",
 63456         "members": {
 63457           "DBSecurityGroup": {
 63458             "shape": "Sk"
 63459           }
 63460         }
 63461       }
 63462     },
 63463     "CopyDBClusterParameterGroup": {
 63464       "input": {
 63465         "type": "structure",
 63466         "required": [
 63467           "SourceDBClusterParameterGroupIdentifier",
 63468           "TargetDBClusterParameterGroupIdentifier",
 63469           "TargetDBClusterParameterGroupDescription"
 63470         ],
 63471         "members": {
 63472           "SourceDBClusterParameterGroupIdentifier": {},
 63473           "TargetDBClusterParameterGroupIdentifier": {},
 63474           "TargetDBClusterParameterGroupDescription": {},
 63475           "Tags": {
 63476             "shape": "Sa"
 63477           }
 63478         }
 63479       },
 63480       "output": {
 63481         "resultWrapper": "CopyDBClusterParameterGroupResult",
 63482         "type": "structure",
 63483         "members": {
 63484           "DBClusterParameterGroup": {
 63485             "shape": "Sr"
 63486           }
 63487         }
 63488       }
 63489     },
 63490     "CopyDBClusterSnapshot": {
 63491       "input": {
 63492         "type": "structure",
 63493         "required": [
 63494           "SourceDBClusterSnapshotIdentifier",
 63495           "TargetDBClusterSnapshotIdentifier"
 63496         ],
 63497         "members": {
 63498           "SourceDBClusterSnapshotIdentifier": {},
 63499           "TargetDBClusterSnapshotIdentifier": {},
 63500           "Tags": {
 63501             "shape": "Sa"
 63502           }
 63503         }
 63504       },
 63505       "output": {
 63506         "resultWrapper": "CopyDBClusterSnapshotResult",
 63507         "type": "structure",
 63508         "members": {
 63509           "DBClusterSnapshot": {
 63510             "shape": "Su"
 63511           }
 63512         }
 63513       }
 63514     },
 63515     "CopyDBParameterGroup": {
 63516       "input": {
 63517         "type": "structure",
 63518         "required": [
 63519           "SourceDBParameterGroupIdentifier",
 63520           "TargetDBParameterGroupIdentifier",
 63521           "TargetDBParameterGroupDescription"
 63522         ],
 63523         "members": {
 63524           "SourceDBParameterGroupIdentifier": {},
 63525           "TargetDBParameterGroupIdentifier": {},
 63526           "TargetDBParameterGroupDescription": {},
 63527           "Tags": {
 63528             "shape": "Sa"
 63529           }
 63530         }
 63531       },
 63532       "output": {
 63533         "resultWrapper": "CopyDBParameterGroupResult",
 63534         "type": "structure",
 63535         "members": {
 63536           "DBParameterGroup": {
 63537             "shape": "Sz"
 63538           }
 63539         }
 63540       }
 63541     },
 63542     "CopyDBSnapshot": {
 63543       "input": {
 63544         "type": "structure",
 63545         "required": [
 63546           "SourceDBSnapshotIdentifier",
 63547           "TargetDBSnapshotIdentifier"
 63548         ],
 63549         "members": {
 63550           "SourceDBSnapshotIdentifier": {},
 63551           "TargetDBSnapshotIdentifier": {},
 63552           "KmsKeyId": {},
 63553           "Tags": {
 63554             "shape": "Sa"
 63555           },
 63556           "CopyTags": {
 63557             "type": "boolean"
 63558           }
 63559         }
 63560       },
 63561       "output": {
 63562         "resultWrapper": "CopyDBSnapshotResult",
 63563         "type": "structure",
 63564         "members": {
 63565           "DBSnapshot": {
 63566             "shape": "S13"
 63567           }
 63568         }
 63569       }
 63570     },
 63571     "CopyOptionGroup": {
 63572       "input": {
 63573         "type": "structure",
 63574         "required": [
 63575           "SourceOptionGroupIdentifier",
 63576           "TargetOptionGroupIdentifier",
 63577           "TargetOptionGroupDescription"
 63578         ],
 63579         "members": {
 63580           "SourceOptionGroupIdentifier": {},
 63581           "TargetOptionGroupIdentifier": {},
 63582           "TargetOptionGroupDescription": {},
 63583           "Tags": {
 63584             "shape": "Sa"
 63585           }
 63586         }
 63587       },
 63588       "output": {
 63589         "resultWrapper": "CopyOptionGroupResult",
 63590         "type": "structure",
 63591         "members": {
 63592           "OptionGroup": {
 63593             "shape": "S17"
 63594           }
 63595         }
 63596       }
 63597     },
 63598     "CreateDBCluster": {
 63599       "input": {
 63600         "type": "structure",
 63601         "required": [
 63602           "DBClusterIdentifier",
 63603           "Engine"
 63604         ],
 63605         "members": {
 63606           "AvailabilityZones": {
 63607             "shape": "Sv"
 63608           },
 63609           "BackupRetentionPeriod": {
 63610             "type": "integer"
 63611           },
 63612           "CharacterSetName": {},
 63613           "DatabaseName": {},
 63614           "DBClusterIdentifier": {},
 63615           "DBClusterParameterGroupName": {},
 63616           "VpcSecurityGroupIds": {
 63617             "shape": "S1h"
 63618           },
 63619           "DBSubnetGroupName": {},
 63620           "Engine": {},
 63621           "EngineVersion": {},
 63622           "Port": {
 63623             "type": "integer"
 63624           },
 63625           "MasterUsername": {},
 63626           "MasterUserPassword": {},
 63627           "OptionGroupName": {},
 63628           "PreferredBackupWindow": {},
 63629           "PreferredMaintenanceWindow": {},
 63630           "ReplicationSourceIdentifier": {},
 63631           "Tags": {
 63632             "shape": "Sa"
 63633           },
 63634           "StorageEncrypted": {
 63635             "type": "boolean"
 63636           },
 63637           "KmsKeyId": {}
 63638         }
 63639       },
 63640       "output": {
 63641         "resultWrapper": "CreateDBClusterResult",
 63642         "type": "structure",
 63643         "members": {
 63644           "DBCluster": {
 63645             "shape": "S1j"
 63646           }
 63647         }
 63648       }
 63649     },
 63650     "CreateDBClusterParameterGroup": {
 63651       "input": {
 63652         "type": "structure",
 63653         "required": [
 63654           "DBClusterParameterGroupName",
 63655           "DBParameterGroupFamily",
 63656           "Description"
 63657         ],
 63658         "members": {
 63659           "DBClusterParameterGroupName": {},
 63660           "DBParameterGroupFamily": {},
 63661           "Description": {},
 63662           "Tags": {
 63663             "shape": "Sa"
 63664           }
 63665         }
 63666       },
 63667       "output": {
 63668         "resultWrapper": "CreateDBClusterParameterGroupResult",
 63669         "type": "structure",
 63670         "members": {
 63671           "DBClusterParameterGroup": {
 63672             "shape": "Sr"
 63673           }
 63674         }
 63675       }
 63676     },
 63677     "CreateDBClusterSnapshot": {
 63678       "input": {
 63679         "type": "structure",
 63680         "required": [
 63681           "DBClusterSnapshotIdentifier",
 63682           "DBClusterIdentifier"
 63683         ],
 63684         "members": {
 63685           "DBClusterSnapshotIdentifier": {},
 63686           "DBClusterIdentifier": {},
 63687           "Tags": {
 63688             "shape": "Sa"
 63689           }
 63690         }
 63691       },
 63692       "output": {
 63693         "resultWrapper": "CreateDBClusterSnapshotResult",
 63694         "type": "structure",
 63695         "members": {
 63696           "DBClusterSnapshot": {
 63697             "shape": "Su"
 63698           }
 63699         }
 63700       }
 63701     },
 63702     "CreateDBInstance": {
 63703       "input": {
 63704         "type": "structure",
 63705         "required": [
 63706           "DBInstanceIdentifier",
 63707           "DBInstanceClass",
 63708           "Engine"
 63709         ],
 63710         "members": {
 63711           "DBName": {},
 63712           "DBInstanceIdentifier": {},
 63713           "AllocatedStorage": {
 63714             "type": "integer"
 63715           },
 63716           "DBInstanceClass": {},
 63717           "Engine": {},
 63718           "MasterUsername": {},
 63719           "MasterUserPassword": {},
 63720           "DBSecurityGroups": {
 63721             "shape": "S1w"
 63722           },
 63723           "VpcSecurityGroupIds": {
 63724             "shape": "S1h"
 63725           },
 63726           "AvailabilityZone": {},
 63727           "DBSubnetGroupName": {},
 63728           "PreferredMaintenanceWindow": {},
 63729           "DBParameterGroupName": {},
 63730           "BackupRetentionPeriod": {
 63731             "type": "integer"
 63732           },
 63733           "PreferredBackupWindow": {},
 63734           "Port": {
 63735             "type": "integer"
 63736           },
 63737           "MultiAZ": {
 63738             "type": "boolean"
 63739           },
 63740           "EngineVersion": {},
 63741           "AutoMinorVersionUpgrade": {
 63742             "type": "boolean"
 63743           },
 63744           "LicenseModel": {},
 63745           "Iops": {
 63746             "type": "integer"
 63747           },
 63748           "OptionGroupName": {},
 63749           "CharacterSetName": {},
 63750           "PubliclyAccessible": {
 63751             "type": "boolean"
 63752           },
 63753           "Tags": {
 63754             "shape": "Sa"
 63755           },
 63756           "DBClusterIdentifier": {},
 63757           "StorageType": {},
 63758           "TdeCredentialArn": {},
 63759           "TdeCredentialPassword": {},
 63760           "StorageEncrypted": {
 63761             "type": "boolean"
 63762           },
 63763           "KmsKeyId": {},
 63764           "Domain": {},
 63765           "CopyTagsToSnapshot": {
 63766             "type": "boolean"
 63767           },
 63768           "MonitoringInterval": {
 63769             "type": "integer"
 63770           },
 63771           "MonitoringRoleArn": {},
 63772           "DomainIAMRoleName": {},
 63773           "PromotionTier": {
 63774             "type": "integer"
 63775           },
 63776           "Timezone": {}
 63777         }
 63778       },
 63779       "output": {
 63780         "resultWrapper": "CreateDBInstanceResult",
 63781         "type": "structure",
 63782         "members": {
 63783           "DBInstance": {
 63784             "shape": "S1y"
 63785           }
 63786         }
 63787       }
 63788     },
 63789     "CreateDBInstanceReadReplica": {
 63790       "input": {
 63791         "type": "structure",
 63792         "required": [
 63793           "DBInstanceIdentifier",
 63794           "SourceDBInstanceIdentifier"
 63795         ],
 63796         "members": {
 63797           "DBInstanceIdentifier": {},
 63798           "SourceDBInstanceIdentifier": {},
 63799           "DBInstanceClass": {},
 63800           "AvailabilityZone": {},
 63801           "Port": {
 63802             "type": "integer"
 63803           },
 63804           "AutoMinorVersionUpgrade": {
 63805             "type": "boolean"
 63806           },
 63807           "Iops": {
 63808             "type": "integer"
 63809           },
 63810           "OptionGroupName": {},
 63811           "PubliclyAccessible": {
 63812             "type": "boolean"
 63813           },
 63814           "Tags": {
 63815             "shape": "Sa"
 63816           },
 63817           "DBSubnetGroupName": {},
 63818           "StorageType": {},
 63819           "CopyTagsToSnapshot": {
 63820             "type": "boolean"
 63821           },
 63822           "MonitoringInterval": {
 63823             "type": "integer"
 63824           },
 63825           "MonitoringRoleArn": {}
 63826         }
 63827       },
 63828       "output": {
 63829         "resultWrapper": "CreateDBInstanceReadReplicaResult",
 63830         "type": "structure",
 63831         "members": {
 63832           "DBInstance": {
 63833             "shape": "S1y"
 63834           }
 63835         }
 63836       }
 63837     },
 63838     "CreateDBParameterGroup": {
 63839       "input": {
 63840         "type": "structure",
 63841         "required": [
 63842           "DBParameterGroupName",
 63843           "DBParameterGroupFamily",
 63844           "Description"
 63845         ],
 63846         "members": {
 63847           "DBParameterGroupName": {},
 63848           "DBParameterGroupFamily": {},
 63849           "Description": {},
 63850           "Tags": {
 63851             "shape": "Sa"
 63852           }
 63853         }
 63854       },
 63855       "output": {
 63856         "resultWrapper": "CreateDBParameterGroupResult",
 63857         "type": "structure",
 63858         "members": {
 63859           "DBParameterGroup": {
 63860             "shape": "Sz"
 63861           }
 63862         }
 63863       }
 63864     },
 63865     "CreateDBSecurityGroup": {
 63866       "input": {
 63867         "type": "structure",
 63868         "required": [
 63869           "DBSecurityGroupName",
 63870           "DBSecurityGroupDescription"
 63871         ],
 63872         "members": {
 63873           "DBSecurityGroupName": {},
 63874           "DBSecurityGroupDescription": {},
 63875           "Tags": {
 63876             "shape": "Sa"
 63877           }
 63878         }
 63879       },
 63880       "output": {
 63881         "resultWrapper": "CreateDBSecurityGroupResult",
 63882         "type": "structure",
 63883         "members": {
 63884           "DBSecurityGroup": {
 63885             "shape": "Sk"
 63886           }
 63887         }
 63888       }
 63889     },
 63890     "CreateDBSnapshot": {
 63891       "input": {
 63892         "type": "structure",
 63893         "required": [
 63894           "DBSnapshotIdentifier",
 63895           "DBInstanceIdentifier"
 63896         ],
 63897         "members": {
 63898           "DBSnapshotIdentifier": {},
 63899           "DBInstanceIdentifier": {},
 63900           "Tags": {
 63901             "shape": "Sa"
 63902           }
 63903         }
 63904       },
 63905       "output": {
 63906         "resultWrapper": "CreateDBSnapshotResult",
 63907         "type": "structure",
 63908         "members": {
 63909           "DBSnapshot": {
 63910             "shape": "S13"
 63911           }
 63912         }
 63913       }
 63914     },
 63915     "CreateDBSubnetGroup": {
 63916       "input": {
 63917         "type": "structure",
 63918         "required": [
 63919           "DBSubnetGroupName",
 63920           "DBSubnetGroupDescription",
 63921           "SubnetIds"
 63922         ],
 63923         "members": {
 63924           "DBSubnetGroupName": {},
 63925           "DBSubnetGroupDescription": {},
 63926           "SubnetIds": {
 63927             "shape": "S2n"
 63928           },
 63929           "Tags": {
 63930             "shape": "Sa"
 63931           }
 63932         }
 63933       },
 63934       "output": {
 63935         "resultWrapper": "CreateDBSubnetGroupResult",
 63936         "type": "structure",
 63937         "members": {
 63938           "DBSubnetGroup": {
 63939             "shape": "S22"
 63940           }
 63941         }
 63942       }
 63943     },
 63944     "CreateEventSubscription": {
 63945       "input": {
 63946         "type": "structure",
 63947         "required": [
 63948           "SubscriptionName",
 63949           "SnsTopicArn"
 63950         ],
 63951         "members": {
 63952           "SubscriptionName": {},
 63953           "SnsTopicArn": {},
 63954           "SourceType": {},
 63955           "EventCategories": {
 63956             "shape": "S7"
 63957           },
 63958           "SourceIds": {
 63959             "shape": "S6"
 63960           },
 63961           "Enabled": {
 63962             "type": "boolean"
 63963           },
 63964           "Tags": {
 63965             "shape": "Sa"
 63966           }
 63967         }
 63968       },
 63969       "output": {
 63970         "resultWrapper": "CreateEventSubscriptionResult",
 63971         "type": "structure",
 63972         "members": {
 63973           "EventSubscription": {
 63974             "shape": "S5"
 63975           }
 63976         }
 63977       }
 63978     },
 63979     "CreateOptionGroup": {
 63980       "input": {
 63981         "type": "structure",
 63982         "required": [
 63983           "OptionGroupName",
 63984           "EngineName",
 63985           "MajorEngineVersion",
 63986           "OptionGroupDescription"
 63987         ],
 63988         "members": {
 63989           "OptionGroupName": {},
 63990           "EngineName": {},
 63991           "MajorEngineVersion": {},
 63992           "OptionGroupDescription": {},
 63993           "Tags": {
 63994             "shape": "Sa"
 63995           }
 63996         }
 63997       },
 63998       "output": {
 63999         "resultWrapper": "CreateOptionGroupResult",
 64000         "type": "structure",
 64001         "members": {
 64002           "OptionGroup": {
 64003             "shape": "S17"
 64004           }
 64005         }
 64006       }
 64007     },
 64008     "DeleteDBCluster": {
 64009       "input": {
 64010         "type": "structure",
 64011         "required": [
 64012           "DBClusterIdentifier"
 64013         ],
 64014         "members": {
 64015           "DBClusterIdentifier": {},
 64016           "SkipFinalSnapshot": {
 64017             "type": "boolean"
 64018           },
 64019           "FinalDBSnapshotIdentifier": {}
 64020         }
 64021       },
 64022       "output": {
 64023         "resultWrapper": "DeleteDBClusterResult",
 64024         "type": "structure",
 64025         "members": {
 64026           "DBCluster": {
 64027             "shape": "S1j"
 64028           }
 64029         }
 64030       }
 64031     },
 64032     "DeleteDBClusterParameterGroup": {
 64033       "input": {
 64034         "type": "structure",
 64035         "required": [
 64036           "DBClusterParameterGroupName"
 64037         ],
 64038         "members": {
 64039           "DBClusterParameterGroupName": {}
 64040         }
 64041       }
 64042     },
 64043     "DeleteDBClusterSnapshot": {
 64044       "input": {
 64045         "type": "structure",
 64046         "required": [
 64047           "DBClusterSnapshotIdentifier"
 64048         ],
 64049         "members": {
 64050           "DBClusterSnapshotIdentifier": {}
 64051         }
 64052       },
 64053       "output": {
 64054         "resultWrapper": "DeleteDBClusterSnapshotResult",
 64055         "type": "structure",
 64056         "members": {
 64057           "DBClusterSnapshot": {
 64058             "shape": "Su"
 64059           }
 64060         }
 64061       }
 64062     },
 64063     "DeleteDBInstance": {
 64064       "input": {
 64065         "type": "structure",
 64066         "required": [
 64067           "DBInstanceIdentifier"
 64068         ],
 64069         "members": {
 64070           "DBInstanceIdentifier": {},
 64071           "SkipFinalSnapshot": {
 64072             "type": "boolean"
 64073           },
 64074           "FinalDBSnapshotIdentifier": {}
 64075         }
 64076       },
 64077       "output": {
 64078         "resultWrapper": "DeleteDBInstanceResult",
 64079         "type": "structure",
 64080         "members": {
 64081           "DBInstance": {
 64082             "shape": "S1y"
 64083           }
 64084         }
 64085       }
 64086     },
 64087     "DeleteDBParameterGroup": {
 64088       "input": {
 64089         "type": "structure",
 64090         "required": [
 64091           "DBParameterGroupName"
 64092         ],
 64093         "members": {
 64094           "DBParameterGroupName": {}
 64095         }
 64096       }
 64097     },
 64098     "DeleteDBSecurityGroup": {
 64099       "input": {
 64100         "type": "structure",
 64101         "required": [
 64102           "DBSecurityGroupName"
 64103         ],
 64104         "members": {
 64105           "DBSecurityGroupName": {}
 64106         }
 64107       }
 64108     },
 64109     "DeleteDBSnapshot": {
 64110       "input": {
 64111         "type": "structure",
 64112         "required": [
 64113           "DBSnapshotIdentifier"
 64114         ],
 64115         "members": {
 64116           "DBSnapshotIdentifier": {}
 64117         }
 64118       },
 64119       "output": {
 64120         "resultWrapper": "DeleteDBSnapshotResult",
 64121         "type": "structure",
 64122         "members": {
 64123           "DBSnapshot": {
 64124             "shape": "S13"
 64125           }
 64126         }
 64127       }
 64128     },
 64129     "DeleteDBSubnetGroup": {
 64130       "input": {
 64131         "type": "structure",
 64132         "required": [
 64133           "DBSubnetGroupName"
 64134         ],
 64135         "members": {
 64136           "DBSubnetGroupName": {}
 64137         }
 64138       }
 64139     },
 64140     "DeleteEventSubscription": {
 64141       "input": {
 64142         "type": "structure",
 64143         "required": [
 64144           "SubscriptionName"
 64145         ],
 64146         "members": {
 64147           "SubscriptionName": {}
 64148         }
 64149       },
 64150       "output": {
 64151         "resultWrapper": "DeleteEventSubscriptionResult",
 64152         "type": "structure",
 64153         "members": {
 64154           "EventSubscription": {
 64155             "shape": "S5"
 64156           }
 64157         }
 64158       }
 64159     },
 64160     "DeleteOptionGroup": {
 64161       "input": {
 64162         "type": "structure",
 64163         "required": [
 64164           "OptionGroupName"
 64165         ],
 64166         "members": {
 64167           "OptionGroupName": {}
 64168         }
 64169       }
 64170     },
 64171     "DescribeAccountAttributes": {
 64172       "input": {
 64173         "type": "structure",
 64174         "members": {}
 64175       },
 64176       "output": {
 64177         "resultWrapper": "DescribeAccountAttributesResult",
 64178         "type": "structure",
 64179         "members": {
 64180           "AccountQuotas": {
 64181             "type": "list",
 64182             "member": {
 64183               "locationName": "AccountQuota",
 64184               "type": "structure",
 64185               "members": {
 64186                 "AccountQuotaName": {},
 64187                 "Used": {
 64188                   "type": "long"
 64189                 },
 64190                 "Max": {
 64191                   "type": "long"
 64192                 }
 64193               },
 64194               "wrapper": true
 64195             }
 64196           }
 64197         }
 64198       }
 64199     },
 64200     "DescribeCertificates": {
 64201       "input": {
 64202         "type": "structure",
 64203         "members": {
 64204           "CertificateIdentifier": {},
 64205           "Filters": {
 64206             "shape": "S3e"
 64207           },
 64208           "MaxRecords": {
 64209             "type": "integer"
 64210           },
 64211           "Marker": {}
 64212         }
 64213       },
 64214       "output": {
 64215         "resultWrapper": "DescribeCertificatesResult",
 64216         "type": "structure",
 64217         "members": {
 64218           "Certificates": {
 64219             "type": "list",
 64220             "member": {
 64221               "locationName": "Certificate",
 64222               "type": "structure",
 64223               "members": {
 64224                 "CertificateIdentifier": {},
 64225                 "CertificateType": {},
 64226                 "Thumbprint": {},
 64227                 "ValidFrom": {
 64228                   "type": "timestamp"
 64229                 },
 64230                 "ValidTill": {
 64231                   "type": "timestamp"
 64232                 },
 64233                 "CertificateArn": {}
 64234               },
 64235               "wrapper": true
 64236             }
 64237           },
 64238           "Marker": {}
 64239         }
 64240       }
 64241     },
 64242     "DescribeDBClusterParameterGroups": {
 64243       "input": {
 64244         "type": "structure",
 64245         "members": {
 64246           "DBClusterParameterGroupName": {},
 64247           "Filters": {
 64248             "shape": "S3e"
 64249           },
 64250           "MaxRecords": {
 64251             "type": "integer"
 64252           },
 64253           "Marker": {}
 64254         }
 64255       },
 64256       "output": {
 64257         "resultWrapper": "DescribeDBClusterParameterGroupsResult",
 64258         "type": "structure",
 64259         "members": {
 64260           "Marker": {},
 64261           "DBClusterParameterGroups": {
 64262             "type": "list",
 64263             "member": {
 64264               "shape": "Sr",
 64265               "locationName": "DBClusterParameterGroup"
 64266             }
 64267           }
 64268         }
 64269       }
 64270     },
 64271     "DescribeDBClusterParameters": {
 64272       "input": {
 64273         "type": "structure",
 64274         "required": [
 64275           "DBClusterParameterGroupName"
 64276         ],
 64277         "members": {
 64278           "DBClusterParameterGroupName": {},
 64279           "Source": {},
 64280           "Filters": {
 64281             "shape": "S3e"
 64282           },
 64283           "MaxRecords": {
 64284             "type": "integer"
 64285           },
 64286           "Marker": {}
 64287         }
 64288       },
 64289       "output": {
 64290         "resultWrapper": "DescribeDBClusterParametersResult",
 64291         "type": "structure",
 64292         "members": {
 64293           "Parameters": {
 64294             "shape": "S3p"
 64295           },
 64296           "Marker": {}
 64297         }
 64298       }
 64299     },
 64300     "DescribeDBClusterSnapshotAttributes": {
 64301       "input": {
 64302         "type": "structure",
 64303         "required": [
 64304           "DBClusterSnapshotIdentifier"
 64305         ],
 64306         "members": {
 64307           "DBClusterSnapshotIdentifier": {}
 64308         }
 64309       },
 64310       "output": {
 64311         "resultWrapper": "DescribeDBClusterSnapshotAttributesResult",
 64312         "type": "structure",
 64313         "members": {
 64314           "DBClusterSnapshotAttributesResult": {
 64315             "shape": "S3u"
 64316           }
 64317         }
 64318       }
 64319     },
 64320     "DescribeDBClusterSnapshots": {
 64321       "input": {
 64322         "type": "structure",
 64323         "members": {
 64324           "DBClusterIdentifier": {},
 64325           "DBClusterSnapshotIdentifier": {},
 64326           "SnapshotType": {},
 64327           "Filters": {
 64328             "shape": "S3e"
 64329           },
 64330           "MaxRecords": {
 64331             "type": "integer"
 64332           },
 64333           "Marker": {},
 64334           "IncludeShared": {
 64335             "type": "boolean"
 64336           },
 64337           "IncludePublic": {
 64338             "type": "boolean"
 64339           }
 64340         }
 64341       },
 64342       "output": {
 64343         "resultWrapper": "DescribeDBClusterSnapshotsResult",
 64344         "type": "structure",
 64345         "members": {
 64346           "Marker": {},
 64347           "DBClusterSnapshots": {
 64348             "type": "list",
 64349             "member": {
 64350               "shape": "Su",
 64351               "locationName": "DBClusterSnapshot"
 64352             }
 64353           }
 64354         }
 64355       }
 64356     },
 64357     "DescribeDBClusters": {
 64358       "input": {
 64359         "type": "structure",
 64360         "members": {
 64361           "DBClusterIdentifier": {},
 64362           "Filters": {
 64363             "shape": "S3e"
 64364           },
 64365           "MaxRecords": {
 64366             "type": "integer"
 64367           },
 64368           "Marker": {}
 64369         }
 64370       },
 64371       "output": {
 64372         "resultWrapper": "DescribeDBClustersResult",
 64373         "type": "structure",
 64374         "members": {
 64375           "Marker": {},
 64376           "DBClusters": {
 64377             "type": "list",
 64378             "member": {
 64379               "shape": "S1j",
 64380               "locationName": "DBCluster"
 64381             }
 64382           }
 64383         }
 64384       }
 64385     },
 64386     "DescribeDBEngineVersions": {
 64387       "input": {
 64388         "type": "structure",
 64389         "members": {
 64390           "Engine": {},
 64391           "EngineVersion": {},
 64392           "DBParameterGroupFamily": {},
 64393           "Filters": {
 64394             "shape": "S3e"
 64395           },
 64396           "MaxRecords": {
 64397             "type": "integer"
 64398           },
 64399           "Marker": {},
 64400           "DefaultOnly": {
 64401             "type": "boolean"
 64402           },
 64403           "ListSupportedCharacterSets": {
 64404             "type": "boolean"
 64405           },
 64406           "ListSupportedTimezones": {
 64407             "type": "boolean"
 64408           }
 64409         }
 64410       },
 64411       "output": {
 64412         "resultWrapper": "DescribeDBEngineVersionsResult",
 64413         "type": "structure",
 64414         "members": {
 64415           "Marker": {},
 64416           "DBEngineVersions": {
 64417             "type": "list",
 64418             "member": {
 64419               "locationName": "DBEngineVersion",
 64420               "type": "structure",
 64421               "members": {
 64422                 "Engine": {},
 64423                 "EngineVersion": {},
 64424                 "DBParameterGroupFamily": {},
 64425                 "DBEngineDescription": {},
 64426                 "DBEngineVersionDescription": {},
 64427                 "DefaultCharacterSet": {
 64428                   "shape": "S48"
 64429                 },
 64430                 "SupportedCharacterSets": {
 64431                   "type": "list",
 64432                   "member": {
 64433                     "shape": "S48",
 64434                     "locationName": "CharacterSet"
 64435                   }
 64436                 },
 64437                 "ValidUpgradeTarget": {
 64438                   "type": "list",
 64439                   "member": {
 64440                     "locationName": "UpgradeTarget",
 64441                     "type": "structure",
 64442                     "members": {
 64443                       "Engine": {},
 64444                       "EngineVersion": {},
 64445                       "Description": {},
 64446                       "AutoUpgrade": {
 64447                         "type": "boolean"
 64448                       },
 64449                       "IsMajorVersionUpgrade": {
 64450                         "type": "boolean"
 64451                       }
 64452                     }
 64453                   }
 64454                 },
 64455                 "SupportedTimezones": {
 64456                   "type": "list",
 64457                   "member": {
 64458                     "locationName": "Timezone",
 64459                     "type": "structure",
 64460                     "members": {
 64461                       "TimezoneName": {}
 64462                     }
 64463                   }
 64464                 }
 64465               }
 64466             }
 64467           }
 64468         }
 64469       }
 64470     },
 64471     "DescribeDBInstances": {
 64472       "input": {
 64473         "type": "structure",
 64474         "members": {
 64475           "DBInstanceIdentifier": {},
 64476           "Filters": {
 64477             "shape": "S3e"
 64478           },
 64479           "MaxRecords": {
 64480             "type": "integer"
 64481           },
 64482           "Marker": {}
 64483         }
 64484       },
 64485       "output": {
 64486         "resultWrapper": "DescribeDBInstancesResult",
 64487         "type": "structure",
 64488         "members": {
 64489           "Marker": {},
 64490           "DBInstances": {
 64491             "type": "list",
 64492             "member": {
 64493               "shape": "S1y",
 64494               "locationName": "DBInstance"
 64495             }
 64496           }
 64497         }
 64498       }
 64499     },
 64500     "DescribeDBLogFiles": {
 64501       "input": {
 64502         "type": "structure",
 64503         "required": [
 64504           "DBInstanceIdentifier"
 64505         ],
 64506         "members": {
 64507           "DBInstanceIdentifier": {},
 64508           "FilenameContains": {},
 64509           "FileLastWritten": {
 64510             "type": "long"
 64511           },
 64512           "FileSize": {
 64513             "type": "long"
 64514           },
 64515           "Filters": {
 64516             "shape": "S3e"
 64517           },
 64518           "MaxRecords": {
 64519             "type": "integer"
 64520           },
 64521           "Marker": {}
 64522         }
 64523       },
 64524       "output": {
 64525         "resultWrapper": "DescribeDBLogFilesResult",
 64526         "type": "structure",
 64527         "members": {
 64528           "DescribeDBLogFiles": {
 64529             "type": "list",
 64530             "member": {
 64531               "locationName": "DescribeDBLogFilesDetails",
 64532               "type": "structure",
 64533               "members": {
 64534                 "LogFileName": {},
 64535                 "LastWritten": {
 64536                   "type": "long"
 64537                 },
 64538                 "Size": {
 64539                   "type": "long"
 64540                 }
 64541               }
 64542             }
 64543           },
 64544           "Marker": {}
 64545         }
 64546       }
 64547     },
 64548     "DescribeDBParameterGroups": {
 64549       "input": {
 64550         "type": "structure",
 64551         "members": {
 64552           "DBParameterGroupName": {},
 64553           "Filters": {
 64554             "shape": "S3e"
 64555           },
 64556           "MaxRecords": {
 64557             "type": "integer"
 64558           },
 64559           "Marker": {}
 64560         }
 64561       },
 64562       "output": {
 64563         "resultWrapper": "DescribeDBParameterGroupsResult",
 64564         "type": "structure",
 64565         "members": {
 64566           "Marker": {},
 64567           "DBParameterGroups": {
 64568             "type": "list",
 64569             "member": {
 64570               "shape": "Sz",
 64571               "locationName": "DBParameterGroup"
 64572             }
 64573           }
 64574         }
 64575       }
 64576     },
 64577     "DescribeDBParameters": {
 64578       "input": {
 64579         "type": "structure",
 64580         "required": [
 64581           "DBParameterGroupName"
 64582         ],
 64583         "members": {
 64584           "DBParameterGroupName": {},
 64585           "Source": {},
 64586           "Filters": {
 64587             "shape": "S3e"
 64588           },
 64589           "MaxRecords": {
 64590             "type": "integer"
 64591           },
 64592           "Marker": {}
 64593         }
 64594       },
 64595       "output": {
 64596         "resultWrapper": "DescribeDBParametersResult",
 64597         "type": "structure",
 64598         "members": {
 64599           "Parameters": {
 64600             "shape": "S3p"
 64601           },
 64602           "Marker": {}
 64603         }
 64604       }
 64605     },
 64606     "DescribeDBSecurityGroups": {
 64607       "input": {
 64608         "type": "structure",
 64609         "members": {
 64610           "DBSecurityGroupName": {},
 64611           "Filters": {
 64612             "shape": "S3e"
 64613           },
 64614           "MaxRecords": {
 64615             "type": "integer"
 64616           },
 64617           "Marker": {}
 64618         }
 64619       },
 64620       "output": {
 64621         "resultWrapper": "DescribeDBSecurityGroupsResult",
 64622         "type": "structure",
 64623         "members": {
 64624           "Marker": {},
 64625           "DBSecurityGroups": {
 64626             "type": "list",
 64627             "member": {
 64628               "shape": "Sk",
 64629               "locationName": "DBSecurityGroup"
 64630             }
 64631           }
 64632         }
 64633       }
 64634     },
 64635     "DescribeDBSnapshotAttributes": {
 64636       "input": {
 64637         "type": "structure",
 64638         "required": [
 64639           "DBSnapshotIdentifier"
 64640         ],
 64641         "members": {
 64642           "DBSnapshotIdentifier": {}
 64643         }
 64644       },
 64645       "output": {
 64646         "resultWrapper": "DescribeDBSnapshotAttributesResult",
 64647         "type": "structure",
 64648         "members": {
 64649           "DBSnapshotAttributesResult": {
 64650             "shape": "S4v"
 64651           }
 64652         }
 64653       }
 64654     },
 64655     "DescribeDBSnapshots": {
 64656       "input": {
 64657         "type": "structure",
 64658         "members": {
 64659           "DBInstanceIdentifier": {},
 64660           "DBSnapshotIdentifier": {},
 64661           "SnapshotType": {},
 64662           "Filters": {
 64663             "shape": "S3e"
 64664           },
 64665           "MaxRecords": {
 64666             "type": "integer"
 64667           },
 64668           "Marker": {},
 64669           "IncludeShared": {
 64670             "type": "boolean"
 64671           },
 64672           "IncludePublic": {
 64673             "type": "boolean"
 64674           }
 64675         }
 64676       },
 64677       "output": {
 64678         "resultWrapper": "DescribeDBSnapshotsResult",
 64679         "type": "structure",
 64680         "members": {
 64681           "Marker": {},
 64682           "DBSnapshots": {
 64683             "type": "list",
 64684             "member": {
 64685               "shape": "S13",
 64686               "locationName": "DBSnapshot"
 64687             }
 64688           }
 64689         }
 64690       }
 64691     },
 64692     "DescribeDBSubnetGroups": {
 64693       "input": {
 64694         "type": "structure",
 64695         "members": {
 64696           "DBSubnetGroupName": {},
 64697           "Filters": {
 64698             "shape": "S3e"
 64699           },
 64700           "MaxRecords": {
 64701             "type": "integer"
 64702           },
 64703           "Marker": {}
 64704         }
 64705       },
 64706       "output": {
 64707         "resultWrapper": "DescribeDBSubnetGroupsResult",
 64708         "type": "structure",
 64709         "members": {
 64710           "Marker": {},
 64711           "DBSubnetGroups": {
 64712             "type": "list",
 64713             "member": {
 64714               "shape": "S22",
 64715               "locationName": "DBSubnetGroup"
 64716             }
 64717           }
 64718         }
 64719       }
 64720     },
 64721     "DescribeEngineDefaultClusterParameters": {
 64722       "input": {
 64723         "type": "structure",
 64724         "required": [
 64725           "DBParameterGroupFamily"
 64726         ],
 64727         "members": {
 64728           "DBParameterGroupFamily": {},
 64729           "Filters": {
 64730             "shape": "S3e"
 64731           },
 64732           "MaxRecords": {
 64733             "type": "integer"
 64734           },
 64735           "Marker": {}
 64736         }
 64737       },
 64738       "output": {
 64739         "resultWrapper": "DescribeEngineDefaultClusterParametersResult",
 64740         "type": "structure",
 64741         "members": {
 64742           "EngineDefaults": {
 64743             "shape": "S56"
 64744           }
 64745         }
 64746       }
 64747     },
 64748     "DescribeEngineDefaultParameters": {
 64749       "input": {
 64750         "type": "structure",
 64751         "required": [
 64752           "DBParameterGroupFamily"
 64753         ],
 64754         "members": {
 64755           "DBParameterGroupFamily": {},
 64756           "Filters": {
 64757             "shape": "S3e"
 64758           },
 64759           "MaxRecords": {
 64760             "type": "integer"
 64761           },
 64762           "Marker": {}
 64763         }
 64764       },
 64765       "output": {
 64766         "resultWrapper": "DescribeEngineDefaultParametersResult",
 64767         "type": "structure",
 64768         "members": {
 64769           "EngineDefaults": {
 64770             "shape": "S56"
 64771           }
 64772         }
 64773       }
 64774     },
 64775     "DescribeEventCategories": {
 64776       "input": {
 64777         "type": "structure",
 64778         "members": {
 64779           "SourceType": {},
 64780           "Filters": {
 64781             "shape": "S3e"
 64782           }
 64783         }
 64784       },
 64785       "output": {
 64786         "resultWrapper": "DescribeEventCategoriesResult",
 64787         "type": "structure",
 64788         "members": {
 64789           "EventCategoriesMapList": {
 64790             "type": "list",
 64791             "member": {
 64792               "locationName": "EventCategoriesMap",
 64793               "type": "structure",
 64794               "members": {
 64795                 "SourceType": {},
 64796                 "EventCategories": {
 64797                   "shape": "S7"
 64798                 }
 64799               },
 64800               "wrapper": true
 64801             }
 64802           }
 64803         }
 64804       }
 64805     },
 64806     "DescribeEventSubscriptions": {
 64807       "input": {
 64808         "type": "structure",
 64809         "members": {
 64810           "SubscriptionName": {},
 64811           "Filters": {
 64812             "shape": "S3e"
 64813           },
 64814           "MaxRecords": {
 64815             "type": "integer"
 64816           },
 64817           "Marker": {}
 64818         }
 64819       },
 64820       "output": {
 64821         "resultWrapper": "DescribeEventSubscriptionsResult",
 64822         "type": "structure",
 64823         "members": {
 64824           "Marker": {},
 64825           "EventSubscriptionsList": {
 64826             "type": "list",
 64827             "member": {
 64828               "shape": "S5",
 64829               "locationName": "EventSubscription"
 64830             }
 64831           }
 64832         }
 64833       }
 64834     },
 64835     "DescribeEvents": {
 64836       "input": {
 64837         "type": "structure",
 64838         "members": {
 64839           "SourceIdentifier": {},
 64840           "SourceType": {},
 64841           "StartTime": {
 64842             "type": "timestamp"
 64843           },
 64844           "EndTime": {
 64845             "type": "timestamp"
 64846           },
 64847           "Duration": {
 64848             "type": "integer"
 64849           },
 64850           "EventCategories": {
 64851             "shape": "S7"
 64852           },
 64853           "Filters": {
 64854             "shape": "S3e"
 64855           },
 64856           "MaxRecords": {
 64857             "type": "integer"
 64858           },
 64859           "Marker": {}
 64860         }
 64861       },
 64862       "output": {
 64863         "resultWrapper": "DescribeEventsResult",
 64864         "type": "structure",
 64865         "members": {
 64866           "Marker": {},
 64867           "Events": {
 64868             "type": "list",
 64869             "member": {
 64870               "locationName": "Event",
 64871               "type": "structure",
 64872               "members": {
 64873                 "SourceIdentifier": {},
 64874                 "SourceType": {},
 64875                 "Message": {},
 64876                 "EventCategories": {
 64877                   "shape": "S7"
 64878                 },
 64879                 "Date": {
 64880                   "type": "timestamp"
 64881                 },
 64882                 "SourceArn": {}
 64883               }
 64884             }
 64885           }
 64886         }
 64887       }
 64888     },
 64889     "DescribeOptionGroupOptions": {
 64890       "input": {
 64891         "type": "structure",
 64892         "required": [
 64893           "EngineName"
 64894         ],
 64895         "members": {
 64896           "EngineName": {},
 64897           "MajorEngineVersion": {},
 64898           "Filters": {
 64899             "shape": "S3e"
 64900           },
 64901           "MaxRecords": {
 64902             "type": "integer"
 64903           },
 64904           "Marker": {}
 64905         }
 64906       },
 64907       "output": {
 64908         "resultWrapper": "DescribeOptionGroupOptionsResult",
 64909         "type": "structure",
 64910         "members": {
 64911           "OptionGroupOptions": {
 64912             "type": "list",
 64913             "member": {
 64914               "locationName": "OptionGroupOption",
 64915               "type": "structure",
 64916               "members": {
 64917                 "Name": {},
 64918                 "Description": {},
 64919                 "EngineName": {},
 64920                 "MajorEngineVersion": {},
 64921                 "MinimumRequiredMinorEngineVersion": {},
 64922                 "PortRequired": {
 64923                   "type": "boolean"
 64924                 },
 64925                 "DefaultPort": {
 64926                   "type": "integer"
 64927                 },
 64928                 "OptionsDependedOn": {
 64929                   "type": "list",
 64930                   "member": {
 64931                     "locationName": "OptionName"
 64932                   }
 64933                 },
 64934                 "OptionsConflictsWith": {
 64935                   "type": "list",
 64936                   "member": {
 64937                     "locationName": "OptionConflictName"
 64938                   }
 64939                 },
 64940                 "Persistent": {
 64941                   "type": "boolean"
 64942                 },
 64943                 "Permanent": {
 64944                   "type": "boolean"
 64945                 },
 64946                 "OptionGroupOptionSettings": {
 64947                   "type": "list",
 64948                   "member": {
 64949                     "locationName": "OptionGroupOptionSetting",
 64950                     "type": "structure",
 64951                     "members": {
 64952                       "SettingName": {},
 64953                       "SettingDescription": {},
 64954                       "DefaultValue": {},
 64955                       "ApplyType": {},
 64956                       "AllowedValues": {},
 64957                       "IsModifiable": {
 64958                         "type": "boolean"
 64959                       }
 64960                     }
 64961                   }
 64962                 },
 64963                 "OptionGroupOptionVersions": {
 64964                   "type": "list",
 64965                   "member": {
 64966                     "locationName": "OptionVersion",
 64967                     "type": "structure",
 64968                     "members": {
 64969                       "Version": {},
 64970                       "IsDefault": {
 64971                         "type": "boolean"
 64972                       }
 64973                     }
 64974                   }
 64975                 }
 64976               }
 64977             }
 64978           },
 64979           "Marker": {}
 64980         }
 64981       }
 64982     },
 64983     "DescribeOptionGroups": {
 64984       "input": {
 64985         "type": "structure",
 64986         "members": {
 64987           "OptionGroupName": {},
 64988           "Filters": {
 64989             "shape": "S3e"
 64990           },
 64991           "Marker": {},
 64992           "MaxRecords": {
 64993             "type": "integer"
 64994           },
 64995           "EngineName": {},
 64996           "MajorEngineVersion": {}
 64997         }
 64998       },
 64999       "output": {
 65000         "resultWrapper": "DescribeOptionGroupsResult",
 65001         "type": "structure",
 65002         "members": {
 65003           "OptionGroupsList": {
 65004             "type": "list",
 65005             "member": {
 65006               "shape": "S17",
 65007               "locationName": "OptionGroup"
 65008             }
 65009           },
 65010           "Marker": {}
 65011         }
 65012       }
 65013     },
 65014     "DescribeOrderableDBInstanceOptions": {
 65015       "input": {
 65016         "type": "structure",
 65017         "required": [
 65018           "Engine"
 65019         ],
 65020         "members": {
 65021           "Engine": {},
 65022           "EngineVersion": {},
 65023           "DBInstanceClass": {},
 65024           "LicenseModel": {},
 65025           "Vpc": {
 65026             "type": "boolean"
 65027           },
 65028           "Filters": {
 65029             "shape": "S3e"
 65030           },
 65031           "MaxRecords": {
 65032             "type": "integer"
 65033           },
 65034           "Marker": {}
 65035         }
 65036       },
 65037       "output": {
 65038         "resultWrapper": "DescribeOrderableDBInstanceOptionsResult",
 65039         "type": "structure",
 65040         "members": {
 65041           "OrderableDBInstanceOptions": {
 65042             "type": "list",
 65043             "member": {
 65044               "locationName": "OrderableDBInstanceOption",
 65045               "type": "structure",
 65046               "members": {
 65047                 "Engine": {},
 65048                 "EngineVersion": {},
 65049                 "DBInstanceClass": {},
 65050                 "LicenseModel": {},
 65051                 "AvailabilityZones": {
 65052                   "type": "list",
 65053                   "member": {
 65054                     "shape": "S25",
 65055                     "locationName": "AvailabilityZone"
 65056                   }
 65057                 },
 65058                 "MultiAZCapable": {
 65059                   "type": "boolean"
 65060                 },
 65061                 "ReadReplicaCapable": {
 65062                   "type": "boolean"
 65063                 },
 65064                 "Vpc": {
 65065                   "type": "boolean"
 65066                 },
 65067                 "SupportsStorageEncryption": {
 65068                   "type": "boolean"
 65069                 },
 65070                 "StorageType": {},
 65071                 "SupportsIops": {
 65072                   "type": "boolean"
 65073                 },
 65074                 "SupportsEnhancedMonitoring": {
 65075                   "type": "boolean"
 65076                 }
 65077               },
 65078               "wrapper": true
 65079             }
 65080           },
 65081           "Marker": {}
 65082         }
 65083       }
 65084     },
 65085     "DescribePendingMaintenanceActions": {
 65086       "input": {
 65087         "type": "structure",
 65088         "members": {
 65089           "ResourceIdentifier": {},
 65090           "Filters": {
 65091             "shape": "S3e"
 65092           },
 65093           "Marker": {},
 65094           "MaxRecords": {
 65095             "type": "integer"
 65096           }
 65097         }
 65098       },
 65099       "output": {
 65100         "resultWrapper": "DescribePendingMaintenanceActionsResult",
 65101         "type": "structure",
 65102         "members": {
 65103           "PendingMaintenanceActions": {
 65104             "type": "list",
 65105             "member": {
 65106               "shape": "Se",
 65107               "locationName": "ResourcePendingMaintenanceActions"
 65108             }
 65109           },
 65110           "Marker": {}
 65111         }
 65112       }
 65113     },
 65114     "DescribeReservedDBInstances": {
 65115       "input": {
 65116         "type": "structure",
 65117         "members": {
 65118           "ReservedDBInstanceId": {},
 65119           "ReservedDBInstancesOfferingId": {},
 65120           "DBInstanceClass": {},
 65121           "Duration": {},
 65122           "ProductDescription": {},
 65123           "OfferingType": {},
 65124           "MultiAZ": {
 65125             "type": "boolean"
 65126           },
 65127           "Filters": {
 65128             "shape": "S3e"
 65129           },
 65130           "MaxRecords": {
 65131             "type": "integer"
 65132           },
 65133           "Marker": {}
 65134         }
 65135       },
 65136       "output": {
 65137         "resultWrapper": "DescribeReservedDBInstancesResult",
 65138         "type": "structure",
 65139         "members": {
 65140           "Marker": {},
 65141           "ReservedDBInstances": {
 65142             "type": "list",
 65143             "member": {
 65144               "shape": "S69",
 65145               "locationName": "ReservedDBInstance"
 65146             }
 65147           }
 65148         }
 65149       }
 65150     },
 65151     "DescribeReservedDBInstancesOfferings": {
 65152       "input": {
 65153         "type": "structure",
 65154         "members": {
 65155           "ReservedDBInstancesOfferingId": {},
 65156           "DBInstanceClass": {},
 65157           "Duration": {},
 65158           "ProductDescription": {},
 65159           "OfferingType": {},
 65160           "MultiAZ": {
 65161             "type": "boolean"
 65162           },
 65163           "Filters": {
 65164             "shape": "S3e"
 65165           },
 65166           "MaxRecords": {
 65167             "type": "integer"
 65168           },
 65169           "Marker": {}
 65170         }
 65171       },
 65172       "output": {
 65173         "resultWrapper": "DescribeReservedDBInstancesOfferingsResult",
 65174         "type": "structure",
 65175         "members": {
 65176           "Marker": {},
 65177           "ReservedDBInstancesOfferings": {
 65178             "type": "list",
 65179             "member": {
 65180               "locationName": "ReservedDBInstancesOffering",
 65181               "type": "structure",
 65182               "members": {
 65183                 "ReservedDBInstancesOfferingId": {},
 65184                 "DBInstanceClass": {},
 65185                 "Duration": {
 65186                   "type": "integer"
 65187                 },
 65188                 "FixedPrice": {
 65189                   "type": "double"
 65190                 },
 65191                 "UsagePrice": {
 65192                   "type": "double"
 65193                 },
 65194                 "CurrencyCode": {},
 65195                 "ProductDescription": {},
 65196                 "OfferingType": {},
 65197                 "MultiAZ": {
 65198                   "type": "boolean"
 65199                 },
 65200                 "RecurringCharges": {
 65201                   "shape": "S6b"
 65202                 }
 65203               },
 65204               "wrapper": true
 65205             }
 65206           }
 65207         }
 65208       }
 65209     },
 65210     "DescribeSourceRegions": {
 65211       "input": {
 65212         "type": "structure",
 65213         "members": {
 65214           "RegionName": {},
 65215           "MaxRecords": {
 65216             "type": "integer"
 65217           },
 65218           "Marker": {},
 65219           "Filters": {
 65220             "shape": "S3e"
 65221           }
 65222         }
 65223       },
 65224       "output": {
 65225         "resultWrapper": "DescribeSourceRegionsResult",
 65226         "type": "structure",
 65227         "members": {
 65228           "Marker": {},
 65229           "SourceRegions": {
 65230             "type": "list",
 65231             "member": {
 65232               "locationName": "SourceRegion",
 65233               "type": "structure",
 65234               "members": {
 65235                 "RegionName": {},
 65236                 "Endpoint": {},
 65237                 "Status": {}
 65238               }
 65239             }
 65240           }
 65241         }
 65242       }
 65243     },
 65244     "DownloadDBLogFilePortion": {
 65245       "input": {
 65246         "type": "structure",
 65247         "required": [
 65248           "DBInstanceIdentifier",
 65249           "LogFileName"
 65250         ],
 65251         "members": {
 65252           "DBInstanceIdentifier": {},
 65253           "LogFileName": {},
 65254           "Marker": {},
 65255           "NumberOfLines": {
 65256             "type": "integer"
 65257           }
 65258         }
 65259       },
 65260       "output": {
 65261         "resultWrapper": "DownloadDBLogFilePortionResult",
 65262         "type": "structure",
 65263         "members": {
 65264           "LogFileData": {},
 65265           "Marker": {},
 65266           "AdditionalDataPending": {
 65267             "type": "boolean"
 65268           }
 65269         }
 65270       }
 65271     },
 65272     "FailoverDBCluster": {
 65273       "input": {
 65274         "type": "structure",
 65275         "members": {
 65276           "DBClusterIdentifier": {},
 65277           "TargetDBInstanceIdentifier": {}
 65278         }
 65279       },
 65280       "output": {
 65281         "resultWrapper": "FailoverDBClusterResult",
 65282         "type": "structure",
 65283         "members": {
 65284           "DBCluster": {
 65285             "shape": "S1j"
 65286           }
 65287         }
 65288       }
 65289     },
 65290     "ListTagsForResource": {
 65291       "input": {
 65292         "type": "structure",
 65293         "required": [
 65294           "ResourceName"
 65295         ],
 65296         "members": {
 65297           "ResourceName": {},
 65298           "Filters": {
 65299             "shape": "S3e"
 65300           }
 65301         }
 65302       },
 65303       "output": {
 65304         "resultWrapper": "ListTagsForResourceResult",
 65305         "type": "structure",
 65306         "members": {
 65307           "TagList": {
 65308             "shape": "Sa"
 65309           }
 65310         }
 65311       }
 65312     },
 65313     "ModifyDBCluster": {
 65314       "input": {
 65315         "type": "structure",
 65316         "required": [
 65317           "DBClusterIdentifier"
 65318         ],
 65319         "members": {
 65320           "DBClusterIdentifier": {},
 65321           "NewDBClusterIdentifier": {},
 65322           "ApplyImmediately": {
 65323             "type": "boolean"
 65324           },
 65325           "BackupRetentionPeriod": {
 65326             "type": "integer"
 65327           },
 65328           "DBClusterParameterGroupName": {},
 65329           "VpcSecurityGroupIds": {
 65330             "shape": "S1h"
 65331           },
 65332           "Port": {
 65333             "type": "integer"
 65334           },
 65335           "MasterUserPassword": {},
 65336           "OptionGroupName": {},
 65337           "PreferredBackupWindow": {},
 65338           "PreferredMaintenanceWindow": {}
 65339         }
 65340       },
 65341       "output": {
 65342         "resultWrapper": "ModifyDBClusterResult",
 65343         "type": "structure",
 65344         "members": {
 65345           "DBCluster": {
 65346             "shape": "S1j"
 65347           }
 65348         }
 65349       }
 65350     },
 65351     "ModifyDBClusterParameterGroup": {
 65352       "input": {
 65353         "type": "structure",
 65354         "required": [
 65355           "DBClusterParameterGroupName",
 65356           "Parameters"
 65357         ],
 65358         "members": {
 65359           "DBClusterParameterGroupName": {},
 65360           "Parameters": {
 65361             "shape": "S3p"
 65362           }
 65363         }
 65364       },
 65365       "output": {
 65366         "shape": "S6u",
 65367         "resultWrapper": "ModifyDBClusterParameterGroupResult"
 65368       }
 65369     },
 65370     "ModifyDBClusterSnapshotAttribute": {
 65371       "input": {
 65372         "type": "structure",
 65373         "required": [
 65374           "DBClusterSnapshotIdentifier",
 65375           "AttributeName"
 65376         ],
 65377         "members": {
 65378           "DBClusterSnapshotIdentifier": {},
 65379           "AttributeName": {},
 65380           "ValuesToAdd": {
 65381             "shape": "S3x"
 65382           },
 65383           "ValuesToRemove": {
 65384             "shape": "S3x"
 65385           }
 65386         }
 65387       },
 65388       "output": {
 65389         "resultWrapper": "ModifyDBClusterSnapshotAttributeResult",
 65390         "type": "structure",
 65391         "members": {
 65392           "DBClusterSnapshotAttributesResult": {
 65393             "shape": "S3u"
 65394           }
 65395         }
 65396       }
 65397     },
 65398     "ModifyDBInstance": {
 65399       "input": {
 65400         "type": "structure",
 65401         "required": [
 65402           "DBInstanceIdentifier"
 65403         ],
 65404         "members": {
 65405           "DBInstanceIdentifier": {},
 65406           "AllocatedStorage": {
 65407             "type": "integer"
 65408           },
 65409           "DBInstanceClass": {},
 65410           "DBSubnetGroupName": {},
 65411           "DBSecurityGroups": {
 65412             "shape": "S1w"
 65413           },
 65414           "VpcSecurityGroupIds": {
 65415             "shape": "S1h"
 65416           },
 65417           "ApplyImmediately": {
 65418             "type": "boolean"
 65419           },
 65420           "MasterUserPassword": {},
 65421           "DBParameterGroupName": {},
 65422           "BackupRetentionPeriod": {
 65423             "type": "integer"
 65424           },
 65425           "PreferredBackupWindow": {},
 65426           "PreferredMaintenanceWindow": {},
 65427           "MultiAZ": {
 65428             "type": "boolean"
 65429           },
 65430           "EngineVersion": {},
 65431           "AllowMajorVersionUpgrade": {
 65432             "type": "boolean"
 65433           },
 65434           "AutoMinorVersionUpgrade": {
 65435             "type": "boolean"
 65436           },
 65437           "LicenseModel": {},
 65438           "Iops": {
 65439             "type": "integer"
 65440           },
 65441           "OptionGroupName": {},
 65442           "NewDBInstanceIdentifier": {},
 65443           "StorageType": {},
 65444           "TdeCredentialArn": {},
 65445           "TdeCredentialPassword": {},
 65446           "CACertificateIdentifier": {},
 65447           "Domain": {},
 65448           "CopyTagsToSnapshot": {
 65449             "type": "boolean"
 65450           },
 65451           "MonitoringInterval": {
 65452             "type": "integer"
 65453           },
 65454           "DBPortNumber": {
 65455             "type": "integer"
 65456           },
 65457           "PubliclyAccessible": {
 65458             "type": "boolean"
 65459           },
 65460           "MonitoringRoleArn": {},
 65461           "DomainIAMRoleName": {},
 65462           "PromotionTier": {
 65463             "type": "integer"
 65464           }
 65465         }
 65466       },
 65467       "output": {
 65468         "resultWrapper": "ModifyDBInstanceResult",
 65469         "type": "structure",
 65470         "members": {
 65471           "DBInstance": {
 65472             "shape": "S1y"
 65473           }
 65474         }
 65475       }
 65476     },
 65477     "ModifyDBParameterGroup": {
 65478       "input": {
 65479         "type": "structure",
 65480         "required": [
 65481           "DBParameterGroupName",
 65482           "Parameters"
 65483         ],
 65484         "members": {
 65485           "DBParameterGroupName": {},
 65486           "Parameters": {
 65487             "shape": "S3p"
 65488           }
 65489         }
 65490       },
 65491       "output": {
 65492         "shape": "S70",
 65493         "resultWrapper": "ModifyDBParameterGroupResult"
 65494       }
 65495     },
 65496     "ModifyDBSnapshotAttribute": {
 65497       "input": {
 65498         "type": "structure",
 65499         "required": [
 65500           "DBSnapshotIdentifier",
 65501           "AttributeName"
 65502         ],
 65503         "members": {
 65504           "DBSnapshotIdentifier": {},
 65505           "AttributeName": {},
 65506           "ValuesToAdd": {
 65507             "shape": "S3x"
 65508           },
 65509           "ValuesToRemove": {
 65510             "shape": "S3x"
 65511           }
 65512         }
 65513       },
 65514       "output": {
 65515         "resultWrapper": "ModifyDBSnapshotAttributeResult",
 65516         "type": "structure",
 65517         "members": {
 65518           "DBSnapshotAttributesResult": {
 65519             "shape": "S4v"
 65520           }
 65521         }
 65522       }
 65523     },
 65524     "ModifyDBSubnetGroup": {
 65525       "input": {
 65526         "type": "structure",
 65527         "required": [
 65528           "DBSubnetGroupName",
 65529           "SubnetIds"
 65530         ],
 65531         "members": {
 65532           "DBSubnetGroupName": {},
 65533           "DBSubnetGroupDescription": {},
 65534           "SubnetIds": {
 65535             "shape": "S2n"
 65536           }
 65537         }
 65538       },
 65539       "output": {
 65540         "resultWrapper": "ModifyDBSubnetGroupResult",
 65541         "type": "structure",
 65542         "members": {
 65543           "DBSubnetGroup": {
 65544             "shape": "S22"
 65545           }
 65546         }
 65547       }
 65548     },
 65549     "ModifyEventSubscription": {
 65550       "input": {
 65551         "type": "structure",
 65552         "required": [
 65553           "SubscriptionName"
 65554         ],
 65555         "members": {
 65556           "SubscriptionName": {},
 65557           "SnsTopicArn": {},
 65558           "SourceType": {},
 65559           "EventCategories": {
 65560             "shape": "S7"
 65561           },
 65562           "Enabled": {
 65563             "type": "boolean"
 65564           }
 65565         }
 65566       },
 65567       "output": {
 65568         "resultWrapper": "ModifyEventSubscriptionResult",
 65569         "type": "structure",
 65570         "members": {
 65571           "EventSubscription": {
 65572             "shape": "S5"
 65573           }
 65574         }
 65575       }
 65576     },
 65577     "ModifyOptionGroup": {
 65578       "input": {
 65579         "type": "structure",
 65580         "required": [
 65581           "OptionGroupName"
 65582         ],
 65583         "members": {
 65584           "OptionGroupName": {},
 65585           "OptionsToInclude": {
 65586             "type": "list",
 65587             "member": {
 65588               "locationName": "OptionConfiguration",
 65589               "type": "structure",
 65590               "required": [
 65591                 "OptionName"
 65592               ],
 65593               "members": {
 65594                 "OptionName": {},
 65595                 "Port": {
 65596                   "type": "integer"
 65597                 },
 65598                 "OptionVersion": {},
 65599                 "DBSecurityGroupMemberships": {
 65600                   "shape": "S1w"
 65601                 },
 65602                 "VpcSecurityGroupMemberships": {
 65603                   "shape": "S1h"
 65604                 },
 65605                 "OptionSettings": {
 65606                   "type": "list",
 65607                   "member": {
 65608                     "shape": "S1b",
 65609                     "locationName": "OptionSetting"
 65610                   }
 65611                 }
 65612               }
 65613             }
 65614           },
 65615           "OptionsToRemove": {
 65616             "type": "list",
 65617             "member": {}
 65618           },
 65619           "ApplyImmediately": {
 65620             "type": "boolean"
 65621           }
 65622         }
 65623       },
 65624       "output": {
 65625         "resultWrapper": "ModifyOptionGroupResult",
 65626         "type": "structure",
 65627         "members": {
 65628           "OptionGroup": {
 65629             "shape": "S17"
 65630           }
 65631         }
 65632       }
 65633     },
 65634     "PromoteReadReplica": {
 65635       "input": {
 65636         "type": "structure",
 65637         "required": [
 65638           "DBInstanceIdentifier"
 65639         ],
 65640         "members": {
 65641           "DBInstanceIdentifier": {},
 65642           "BackupRetentionPeriod": {
 65643             "type": "integer"
 65644           },
 65645           "PreferredBackupWindow": {}
 65646         }
 65647       },
 65648       "output": {
 65649         "resultWrapper": "PromoteReadReplicaResult",
 65650         "type": "structure",
 65651         "members": {
 65652           "DBInstance": {
 65653             "shape": "S1y"
 65654           }
 65655         }
 65656       }
 65657     },
 65658     "PromoteReadReplicaDBCluster": {
 65659       "input": {
 65660         "type": "structure",
 65661         "required": [
 65662           "DBClusterIdentifier"
 65663         ],
 65664         "members": {
 65665           "DBClusterIdentifier": {}
 65666         }
 65667       },
 65668       "output": {
 65669         "resultWrapper": "PromoteReadReplicaDBClusterResult",
 65670         "type": "structure",
 65671         "members": {
 65672           "DBCluster": {
 65673             "shape": "S1j"
 65674           }
 65675         }
 65676       }
 65677     },
 65678     "PurchaseReservedDBInstancesOffering": {
 65679       "input": {
 65680         "type": "structure",
 65681         "required": [
 65682           "ReservedDBInstancesOfferingId"
 65683         ],
 65684         "members": {
 65685           "ReservedDBInstancesOfferingId": {},
 65686           "ReservedDBInstanceId": {},
 65687           "DBInstanceCount": {
 65688             "type": "integer"
 65689           },
 65690           "Tags": {
 65691             "shape": "Sa"
 65692           }
 65693         }
 65694       },
 65695       "output": {
 65696         "resultWrapper": "PurchaseReservedDBInstancesOfferingResult",
 65697         "type": "structure",
 65698         "members": {
 65699           "ReservedDBInstance": {
 65700             "shape": "S69"
 65701           }
 65702         }
 65703       }
 65704     },
 65705     "RebootDBInstance": {
 65706       "input": {
 65707         "type": "structure",
 65708         "required": [
 65709           "DBInstanceIdentifier"
 65710         ],
 65711         "members": {
 65712           "DBInstanceIdentifier": {},
 65713           "ForceFailover": {
 65714             "type": "boolean"
 65715           }
 65716         }
 65717       },
 65718       "output": {
 65719         "resultWrapper": "RebootDBInstanceResult",
 65720         "type": "structure",
 65721         "members": {
 65722           "DBInstance": {
 65723             "shape": "S1y"
 65724           }
 65725         }
 65726       }
 65727     },
 65728     "RemoveRoleFromDBCluster": {
 65729       "input": {
 65730         "type": "structure",
 65731         "required": [
 65732           "DBClusterIdentifier",
 65733           "RoleArn"
 65734         ],
 65735         "members": {
 65736           "DBClusterIdentifier": {},
 65737           "RoleArn": {}
 65738         }
 65739       }
 65740     },
 65741     "RemoveSourceIdentifierFromSubscription": {
 65742       "input": {
 65743         "type": "structure",
 65744         "required": [
 65745           "SubscriptionName",
 65746           "SourceIdentifier"
 65747         ],
 65748         "members": {
 65749           "SubscriptionName": {},
 65750           "SourceIdentifier": {}
 65751         }
 65752       },
 65753       "output": {
 65754         "resultWrapper": "RemoveSourceIdentifierFromSubscriptionResult",
 65755         "type": "structure",
 65756         "members": {
 65757           "EventSubscription": {
 65758             "shape": "S5"
 65759           }
 65760         }
 65761       }
 65762     },
 65763     "RemoveTagsFromResource": {
 65764       "input": {
 65765         "type": "structure",
 65766         "required": [
 65767           "ResourceName",
 65768           "TagKeys"
 65769         ],
 65770         "members": {
 65771           "ResourceName": {},
 65772           "TagKeys": {
 65773             "type": "list",
 65774             "member": {}
 65775           }
 65776         }
 65777       }
 65778     },
 65779     "ResetDBClusterParameterGroup": {
 65780       "input": {
 65781         "type": "structure",
 65782         "required": [
 65783           "DBClusterParameterGroupName"
 65784         ],
 65785         "members": {
 65786           "DBClusterParameterGroupName": {},
 65787           "ResetAllParameters": {
 65788             "type": "boolean"
 65789           },
 65790           "Parameters": {
 65791             "shape": "S3p"
 65792           }
 65793         }
 65794       },
 65795       "output": {
 65796         "shape": "S6u",
 65797         "resultWrapper": "ResetDBClusterParameterGroupResult"
 65798       }
 65799     },
 65800     "ResetDBParameterGroup": {
 65801       "input": {
 65802         "type": "structure",
 65803         "required": [
 65804           "DBParameterGroupName"
 65805         ],
 65806         "members": {
 65807           "DBParameterGroupName": {},
 65808           "ResetAllParameters": {
 65809             "type": "boolean"
 65810           },
 65811           "Parameters": {
 65812             "shape": "S3p"
 65813           }
 65814         }
 65815       },
 65816       "output": {
 65817         "shape": "S70",
 65818         "resultWrapper": "ResetDBParameterGroupResult"
 65819       }
 65820     },
 65821     "RestoreDBClusterFromS3": {
 65822       "input": {
 65823         "type": "structure",
 65824         "required": [
 65825           "DBClusterIdentifier",
 65826           "Engine",
 65827           "MasterUsername",
 65828           "MasterUserPassword",
 65829           "SourceEngine",
 65830           "SourceEngineVersion",
 65831           "S3BucketName",
 65832           "S3IngestionRoleArn"
 65833         ],
 65834         "members": {
 65835           "AvailabilityZones": {
 65836             "shape": "Sv"
 65837           },
 65838           "BackupRetentionPeriod": {
 65839             "type": "integer"
 65840           },
 65841           "CharacterSetName": {},
 65842           "DatabaseName": {},
 65843           "DBClusterIdentifier": {},
 65844           "DBClusterParameterGroupName": {},
 65845           "VpcSecurityGroupIds": {
 65846             "shape": "S1h"
 65847           },
 65848           "DBSubnetGroupName": {},
 65849           "Engine": {},
 65850           "EngineVersion": {},
 65851           "Port": {
 65852             "type": "integer"
 65853           },
 65854           "MasterUsername": {},
 65855           "MasterUserPassword": {},
 65856           "OptionGroupName": {},
 65857           "PreferredBackupWindow": {},
 65858           "PreferredMaintenanceWindow": {},
 65859           "Tags": {
 65860             "shape": "Sa"
 65861           },
 65862           "StorageEncrypted": {
 65863             "type": "boolean"
 65864           },
 65865           "KmsKeyId": {},
 65866           "SourceEngine": {},
 65867           "SourceEngineVersion": {},
 65868           "S3BucketName": {},
 65869           "S3Prefix": {},
 65870           "S3IngestionRoleArn": {}
 65871         }
 65872       },
 65873       "output": {
 65874         "resultWrapper": "RestoreDBClusterFromS3Result",
 65875         "type": "structure",
 65876         "members": {
 65877           "DBCluster": {
 65878             "shape": "S1j"
 65879           }
 65880         }
 65881       }
 65882     },
 65883     "RestoreDBClusterFromSnapshot": {
 65884       "input": {
 65885         "type": "structure",
 65886         "required": [
 65887           "DBClusterIdentifier",
 65888           "SnapshotIdentifier",
 65889           "Engine"
 65890         ],
 65891         "members": {
 65892           "AvailabilityZones": {
 65893             "shape": "Sv"
 65894           },
 65895           "DBClusterIdentifier": {},
 65896           "SnapshotIdentifier": {},
 65897           "Engine": {},
 65898           "EngineVersion": {},
 65899           "Port": {
 65900             "type": "integer"
 65901           },
 65902           "DBSubnetGroupName": {},
 65903           "DatabaseName": {},
 65904           "OptionGroupName": {},
 65905           "VpcSecurityGroupIds": {
 65906             "shape": "S1h"
 65907           },
 65908           "Tags": {
 65909             "shape": "Sa"
 65910           },
 65911           "KmsKeyId": {}
 65912         }
 65913       },
 65914       "output": {
 65915         "resultWrapper": "RestoreDBClusterFromSnapshotResult",
 65916         "type": "structure",
 65917         "members": {
 65918           "DBCluster": {
 65919             "shape": "S1j"
 65920           }
 65921         }
 65922       }
 65923     },
 65924     "RestoreDBClusterToPointInTime": {
 65925       "input": {
 65926         "type": "structure",
 65927         "required": [
 65928           "DBClusterIdentifier",
 65929           "SourceDBClusterIdentifier"
 65930         ],
 65931         "members": {
 65932           "DBClusterIdentifier": {},
 65933           "SourceDBClusterIdentifier": {},
 65934           "RestoreToTime": {
 65935             "type": "timestamp"
 65936           },
 65937           "UseLatestRestorableTime": {
 65938             "type": "boolean"
 65939           },
 65940           "Port": {
 65941             "type": "integer"
 65942           },
 65943           "DBSubnetGroupName": {},
 65944           "OptionGroupName": {},
 65945           "VpcSecurityGroupIds": {
 65946             "shape": "S1h"
 65947           },
 65948           "Tags": {
 65949             "shape": "Sa"
 65950           },
 65951           "KmsKeyId": {}
 65952         }
 65953       },
 65954       "output": {
 65955         "resultWrapper": "RestoreDBClusterToPointInTimeResult",
 65956         "type": "structure",
 65957         "members": {
 65958           "DBCluster": {
 65959             "shape": "S1j"
 65960           }
 65961         }
 65962       }
 65963     },
 65964     "RestoreDBInstanceFromDBSnapshot": {
 65965       "input": {
 65966         "type": "structure",
 65967         "required": [
 65968           "DBInstanceIdentifier",
 65969           "DBSnapshotIdentifier"
 65970         ],
 65971         "members": {
 65972           "DBInstanceIdentifier": {},
 65973           "DBSnapshotIdentifier": {},
 65974           "DBInstanceClass": {},
 65975           "Port": {
 65976             "type": "integer"
 65977           },
 65978           "AvailabilityZone": {},
 65979           "DBSubnetGroupName": {},
 65980           "MultiAZ": {
 65981             "type": "boolean"
 65982           },
 65983           "PubliclyAccessible": {
 65984             "type": "boolean"
 65985           },
 65986           "AutoMinorVersionUpgrade": {
 65987             "type": "boolean"
 65988           },
 65989           "LicenseModel": {},
 65990           "DBName": {},
 65991           "Engine": {},
 65992           "Iops": {
 65993             "type": "integer"
 65994           },
 65995           "OptionGroupName": {},
 65996           "Tags": {
 65997             "shape": "Sa"
 65998           },
 65999           "StorageType": {},
 66000           "TdeCredentialArn": {},
 66001           "TdeCredentialPassword": {},
 66002           "Domain": {},
 66003           "CopyTagsToSnapshot": {
 66004             "type": "boolean"
 66005           },
 66006           "DomainIAMRoleName": {}
 66007         }
 66008       },
 66009       "output": {
 66010         "resultWrapper": "RestoreDBInstanceFromDBSnapshotResult",
 66011         "type": "structure",
 66012         "members": {
 66013           "DBInstance": {
 66014             "shape": "S1y"
 66015           }
 66016         }
 66017       }
 66018     },
 66019     "RestoreDBInstanceToPointInTime": {
 66020       "input": {
 66021         "type": "structure",
 66022         "required": [
 66023           "SourceDBInstanceIdentifier",
 66024           "TargetDBInstanceIdentifier"
 66025         ],
 66026         "members": {
 66027           "SourceDBInstanceIdentifier": {},
 66028           "TargetDBInstanceIdentifier": {},
 66029           "RestoreTime": {
 66030             "type": "timestamp"
 66031           },
 66032           "UseLatestRestorableTime": {
 66033             "type": "boolean"
 66034           },
 66035           "DBInstanceClass": {},
 66036           "Port": {
 66037             "type": "integer"
 66038           },
 66039           "AvailabilityZone": {},
 66040           "DBSubnetGroupName": {},
 66041           "MultiAZ": {
 66042             "type": "boolean"
 66043           },
 66044           "PubliclyAccessible": {
 66045             "type": "boolean"
 66046           },
 66047           "AutoMinorVersionUpgrade": {
 66048             "type": "boolean"
 66049           },
 66050           "LicenseModel": {},
 66051           "DBName": {},
 66052           "Engine": {},
 66053           "Iops": {
 66054             "type": "integer"
 66055           },
 66056           "OptionGroupName": {},
 66057           "CopyTagsToSnapshot": {
 66058             "type": "boolean"
 66059           },
 66060           "Tags": {
 66061             "shape": "Sa"
 66062           },
 66063           "StorageType": {},
 66064           "TdeCredentialArn": {},
 66065           "TdeCredentialPassword": {},
 66066           "Domain": {},
 66067           "DomainIAMRoleName": {}
 66068         }
 66069       },
 66070       "output": {
 66071         "resultWrapper": "RestoreDBInstanceToPointInTimeResult",
 66072         "type": "structure",
 66073         "members": {
 66074           "DBInstance": {
 66075             "shape": "S1y"
 66076           }
 66077         }
 66078       }
 66079     },
 66080     "RevokeDBSecurityGroupIngress": {
 66081       "input": {
 66082         "type": "structure",
 66083         "required": [
 66084           "DBSecurityGroupName"
 66085         ],
 66086         "members": {
 66087           "DBSecurityGroupName": {},
 66088           "CIDRIP": {},
 66089           "EC2SecurityGroupName": {},
 66090           "EC2SecurityGroupId": {},
 66091           "EC2SecurityGroupOwnerId": {}
 66092         }
 66093       },
 66094       "output": {
 66095         "resultWrapper": "RevokeDBSecurityGroupIngressResult",
 66096         "type": "structure",
 66097         "members": {
 66098           "DBSecurityGroup": {
 66099             "shape": "Sk"
 66100           }
 66101         }
 66102       }
 66103     }
 66104   },
 66105   "shapes": {
 66106     "S5": {
 66107       "type": "structure",
 66108       "members": {
 66109         "CustomerAwsId": {},
 66110         "CustSubscriptionId": {},
 66111         "SnsTopicArn": {},
 66112         "Status": {},
 66113         "SubscriptionCreationTime": {},
 66114         "SourceType": {},
 66115         "SourceIdsList": {
 66116           "shape": "S6"
 66117         },
 66118         "EventCategoriesList": {
 66119           "shape": "S7"
 66120         },
 66121         "Enabled": {
 66122           "type": "boolean"
 66123         },
 66124         "EventSubscriptionArn": {}
 66125       },
 66126       "wrapper": true
 66127     },
 66128     "S6": {
 66129       "type": "list",
 66130       "member": {
 66131         "locationName": "SourceId"
 66132       }
 66133     },
 66134     "S7": {
 66135       "type": "list",
 66136       "member": {
 66137         "locationName": "EventCategory"
 66138       }
 66139     },
 66140     "Sa": {
 66141       "type": "list",
 66142       "member": {
 66143         "locationName": "Tag",
 66144         "type": "structure",
 66145         "members": {
 66146           "Key": {},
 66147           "Value": {}
 66148         }
 66149       }
 66150     },
 66151     "Se": {
 66152       "type": "structure",
 66153       "members": {
 66154         "ResourceIdentifier": {},
 66155         "PendingMaintenanceActionDetails": {
 66156           "type": "list",
 66157           "member": {
 66158             "locationName": "PendingMaintenanceAction",
 66159             "type": "structure",
 66160             "members": {
 66161               "Action": {},
 66162               "AutoAppliedAfterDate": {
 66163                 "type": "timestamp"
 66164               },
 66165               "ForcedApplyDate": {
 66166                 "type": "timestamp"
 66167               },
 66168               "OptInStatus": {},
 66169               "CurrentApplyDate": {
 66170                 "type": "timestamp"
 66171               },
 66172               "Description": {}
 66173             }
 66174           }
 66175         }
 66176       },
 66177       "wrapper": true
 66178     },
 66179     "Sk": {
 66180       "type": "structure",
 66181       "members": {
 66182         "OwnerId": {},
 66183         "DBSecurityGroupName": {},
 66184         "DBSecurityGroupDescription": {},
 66185         "VpcId": {},
 66186         "EC2SecurityGroups": {
 66187           "type": "list",
 66188           "member": {
 66189             "locationName": "EC2SecurityGroup",
 66190             "type": "structure",
 66191             "members": {
 66192               "Status": {},
 66193               "EC2SecurityGroupName": {},
 66194               "EC2SecurityGroupId": {},
 66195               "EC2SecurityGroupOwnerId": {}
 66196             }
 66197           }
 66198         },
 66199         "IPRanges": {
 66200           "type": "list",
 66201           "member": {
 66202             "locationName": "IPRange",
 66203             "type": "structure",
 66204             "members": {
 66205               "Status": {},
 66206               "CIDRIP": {}
 66207             }
 66208           }
 66209         },
 66210         "DBSecurityGroupArn": {}
 66211       },
 66212       "wrapper": true
 66213     },
 66214     "Sr": {
 66215       "type": "structure",
 66216       "members": {
 66217         "DBClusterParameterGroupName": {},
 66218         "DBParameterGroupFamily": {},
 66219         "Description": {},
 66220         "DBClusterParameterGroupArn": {}
 66221       },
 66222       "wrapper": true
 66223     },
 66224     "Su": {
 66225       "type": "structure",
 66226       "members": {
 66227         "AvailabilityZones": {
 66228           "shape": "Sv"
 66229         },
 66230         "DBClusterSnapshotIdentifier": {},
 66231         "DBClusterIdentifier": {},
 66232         "SnapshotCreateTime": {
 66233           "type": "timestamp"
 66234         },
 66235         "Engine": {},
 66236         "AllocatedStorage": {
 66237           "type": "integer"
 66238         },
 66239         "Status": {},
 66240         "Port": {
 66241           "type": "integer"
 66242         },
 66243         "VpcId": {},
 66244         "ClusterCreateTime": {
 66245           "type": "timestamp"
 66246         },
 66247         "MasterUsername": {},
 66248         "EngineVersion": {},
 66249         "LicenseModel": {},
 66250         "SnapshotType": {},
 66251         "PercentProgress": {
 66252           "type": "integer"
 66253         },
 66254         "StorageEncrypted": {
 66255           "type": "boolean"
 66256         },
 66257         "KmsKeyId": {},
 66258         "DBClusterSnapshotArn": {}
 66259       },
 66260       "wrapper": true
 66261     },
 66262     "Sv": {
 66263       "type": "list",
 66264       "member": {
 66265         "locationName": "AvailabilityZone"
 66266       }
 66267     },
 66268     "Sz": {
 66269       "type": "structure",
 66270       "members": {
 66271         "DBParameterGroupName": {},
 66272         "DBParameterGroupFamily": {},
 66273         "Description": {},
 66274         "DBParameterGroupArn": {}
 66275       },
 66276       "wrapper": true
 66277     },
 66278     "S13": {
 66279       "type": "structure",
 66280       "members": {
 66281         "DBSnapshotIdentifier": {},
 66282         "DBInstanceIdentifier": {},
 66283         "SnapshotCreateTime": {
 66284           "type": "timestamp"
 66285         },
 66286         "Engine": {},
 66287         "AllocatedStorage": {
 66288           "type": "integer"
 66289         },
 66290         "Status": {},
 66291         "Port": {
 66292           "type": "integer"
 66293         },
 66294         "AvailabilityZone": {},
 66295         "VpcId": {},
 66296         "InstanceCreateTime": {
 66297           "type": "timestamp"
 66298         },
 66299         "MasterUsername": {},
 66300         "EngineVersion": {},
 66301         "LicenseModel": {},
 66302         "SnapshotType": {},
 66303         "Iops": {
 66304           "type": "integer"
 66305         },
 66306         "OptionGroupName": {},
 66307         "PercentProgress": {
 66308           "type": "integer"
 66309         },
 66310         "SourceRegion": {},
 66311         "SourceDBSnapshotIdentifier": {},
 66312         "StorageType": {},
 66313         "TdeCredentialArn": {},
 66314         "Encrypted": {
 66315           "type": "boolean"
 66316         },
 66317         "KmsKeyId": {},
 66318         "DBSnapshotArn": {},
 66319         "Timezone": {}
 66320       },
 66321       "wrapper": true
 66322     },
 66323     "S17": {
 66324       "type": "structure",
 66325       "members": {
 66326         "OptionGroupName": {},
 66327         "OptionGroupDescription": {},
 66328         "EngineName": {},
 66329         "MajorEngineVersion": {},
 66330         "Options": {
 66331           "type": "list",
 66332           "member": {
 66333             "locationName": "Option",
 66334             "type": "structure",
 66335             "members": {
 66336               "OptionName": {},
 66337               "OptionDescription": {},
 66338               "Persistent": {
 66339                 "type": "boolean"
 66340               },
 66341               "Permanent": {
 66342                 "type": "boolean"
 66343               },
 66344               "Port": {
 66345                 "type": "integer"
 66346               },
 66347               "OptionVersion": {},
 66348               "OptionSettings": {
 66349                 "type": "list",
 66350                 "member": {
 66351                   "shape": "S1b",
 66352                   "locationName": "OptionSetting"
 66353                 }
 66354               },
 66355               "DBSecurityGroupMemberships": {
 66356                 "shape": "S1c"
 66357               },
 66358               "VpcSecurityGroupMemberships": {
 66359                 "shape": "S1e"
 66360               }
 66361             }
 66362           }
 66363         },
 66364         "AllowsVpcAndNonVpcInstanceMemberships": {
 66365           "type": "boolean"
 66366         },
 66367         "VpcId": {},
 66368         "OptionGroupArn": {}
 66369       },
 66370       "wrapper": true
 66371     },
 66372     "S1b": {
 66373       "type": "structure",
 66374       "members": {
 66375         "Name": {},
 66376         "Value": {},
 66377         "DefaultValue": {},
 66378         "Description": {},
 66379         "ApplyType": {},
 66380         "DataType": {},
 66381         "AllowedValues": {},
 66382         "IsModifiable": {
 66383           "type": "boolean"
 66384         },
 66385         "IsCollection": {
 66386           "type": "boolean"
 66387         }
 66388       }
 66389     },
 66390     "S1c": {
 66391       "type": "list",
 66392       "member": {
 66393         "locationName": "DBSecurityGroup",
 66394         "type": "structure",
 66395         "members": {
 66396           "DBSecurityGroupName": {},
 66397           "Status": {}
 66398         }
 66399       }
 66400     },
 66401     "S1e": {
 66402       "type": "list",
 66403       "member": {
 66404         "locationName": "VpcSecurityGroupMembership",
 66405         "type": "structure",
 66406         "members": {
 66407           "VpcSecurityGroupId": {},
 66408           "Status": {}
 66409         }
 66410       }
 66411     },
 66412     "S1h": {
 66413       "type": "list",
 66414       "member": {
 66415         "locationName": "VpcSecurityGroupId"
 66416       }
 66417     },
 66418     "S1j": {
 66419       "type": "structure",
 66420       "members": {
 66421         "AllocatedStorage": {
 66422           "type": "integer"
 66423         },
 66424         "AvailabilityZones": {
 66425           "shape": "Sv"
 66426         },
 66427         "BackupRetentionPeriod": {
 66428           "type": "integer"
 66429         },
 66430         "CharacterSetName": {},
 66431         "DatabaseName": {},
 66432         "DBClusterIdentifier": {},
 66433         "DBClusterParameterGroup": {},
 66434         "DBSubnetGroup": {},
 66435         "Status": {},
 66436         "PercentProgress": {},
 66437         "EarliestRestorableTime": {
 66438           "type": "timestamp"
 66439         },
 66440         "Endpoint": {},
 66441         "ReaderEndpoint": {},
 66442         "Engine": {},
 66443         "EngineVersion": {},
 66444         "LatestRestorableTime": {
 66445           "type": "timestamp"
 66446         },
 66447         "Port": {
 66448           "type": "integer"
 66449         },
 66450         "MasterUsername": {},
 66451         "DBClusterOptionGroupMemberships": {
 66452           "type": "list",
 66453           "member": {
 66454             "locationName": "DBClusterOptionGroup",
 66455             "type": "structure",
 66456             "members": {
 66457               "DBClusterOptionGroupName": {},
 66458               "Status": {}
 66459             }
 66460           }
 66461         },
 66462         "PreferredBackupWindow": {},
 66463         "PreferredMaintenanceWindow": {},
 66464         "ReplicationSourceIdentifier": {},
 66465         "ReadReplicaIdentifiers": {
 66466           "type": "list",
 66467           "member": {
 66468             "locationName": "ReadReplicaIdentifier"
 66469           }
 66470         },
 66471         "DBClusterMembers": {
 66472           "type": "list",
 66473           "member": {
 66474             "locationName": "DBClusterMember",
 66475             "type": "structure",
 66476             "members": {
 66477               "DBInstanceIdentifier": {},
 66478               "IsClusterWriter": {
 66479                 "type": "boolean"
 66480               },
 66481               "DBClusterParameterGroupStatus": {},
 66482               "PromotionTier": {
 66483                 "type": "integer"
 66484               }
 66485             },
 66486             "wrapper": true
 66487           }
 66488         },
 66489         "VpcSecurityGroups": {
 66490           "shape": "S1e"
 66491         },
 66492         "HostedZoneId": {},
 66493         "StorageEncrypted": {
 66494           "type": "boolean"
 66495         },
 66496         "KmsKeyId": {},
 66497         "DbClusterResourceId": {},
 66498         "DBClusterArn": {},
 66499         "AssociatedRoles": {
 66500           "type": "list",
 66501           "member": {
 66502             "locationName": "DBClusterRole",
 66503             "type": "structure",
 66504             "members": {
 66505               "RoleArn": {},
 66506               "Status": {}
 66507             }
 66508           }
 66509         }
 66510       },
 66511       "wrapper": true
 66512     },
 66513     "S1w": {
 66514       "type": "list",
 66515       "member": {
 66516         "locationName": "DBSecurityGroupName"
 66517       }
 66518     },
 66519     "S1y": {
 66520       "type": "structure",
 66521       "members": {
 66522         "DBInstanceIdentifier": {},
 66523         "DBInstanceClass": {},
 66524         "Engine": {},
 66525         "DBInstanceStatus": {},
 66526         "MasterUsername": {},
 66527         "DBName": {},
 66528         "Endpoint": {
 66529           "type": "structure",
 66530           "members": {
 66531             "Address": {},
 66532             "Port": {
 66533               "type": "integer"
 66534             },
 66535             "HostedZoneId": {}
 66536           }
 66537         },
 66538         "AllocatedStorage": {
 66539           "type": "integer"
 66540         },
 66541         "InstanceCreateTime": {
 66542           "type": "timestamp"
 66543         },
 66544         "PreferredBackupWindow": {},
 66545         "BackupRetentionPeriod": {
 66546           "type": "integer"
 66547         },
 66548         "DBSecurityGroups": {
 66549           "shape": "S1c"
 66550         },
 66551         "VpcSecurityGroups": {
 66552           "shape": "S1e"
 66553         },
 66554         "DBParameterGroups": {
 66555           "type": "list",
 66556           "member": {
 66557             "locationName": "DBParameterGroup",
 66558             "type": "structure",
 66559             "members": {
 66560               "DBParameterGroupName": {},
 66561               "ParameterApplyStatus": {}
 66562             }
 66563           }
 66564         },
 66565         "AvailabilityZone": {},
 66566         "DBSubnetGroup": {
 66567           "shape": "S22"
 66568         },
 66569         "PreferredMaintenanceWindow": {},
 66570         "PendingModifiedValues": {
 66571           "type": "structure",
 66572           "members": {
 66573             "DBInstanceClass": {},
 66574             "AllocatedStorage": {
 66575               "type": "integer"
 66576             },
 66577             "MasterUserPassword": {},
 66578             "Port": {
 66579               "type": "integer"
 66580             },
 66581             "BackupRetentionPeriod": {
 66582               "type": "integer"
 66583             },
 66584             "MultiAZ": {
 66585               "type": "boolean"
 66586             },
 66587             "EngineVersion": {},
 66588             "LicenseModel": {},
 66589             "Iops": {
 66590               "type": "integer"
 66591             },
 66592             "DBInstanceIdentifier": {},
 66593             "StorageType": {},
 66594             "CACertificateIdentifier": {},
 66595             "DBSubnetGroupName": {}
 66596           }
 66597         },
 66598         "LatestRestorableTime": {
 66599           "type": "timestamp"
 66600         },
 66601         "MultiAZ": {
 66602           "type": "boolean"
 66603         },
 66604         "EngineVersion": {},
 66605         "AutoMinorVersionUpgrade": {
 66606           "type": "boolean"
 66607         },
 66608         "ReadReplicaSourceDBInstanceIdentifier": {},
 66609         "ReadReplicaDBInstanceIdentifiers": {
 66610           "type": "list",
 66611           "member": {
 66612             "locationName": "ReadReplicaDBInstanceIdentifier"
 66613           }
 66614         },
 66615         "LicenseModel": {},
 66616         "Iops": {
 66617           "type": "integer"
 66618         },
 66619         "OptionGroupMemberships": {
 66620           "type": "list",
 66621           "member": {
 66622             "locationName": "OptionGroupMembership",
 66623             "type": "structure",
 66624             "members": {
 66625               "OptionGroupName": {},
 66626               "Status": {}
 66627             }
 66628           }
 66629         },
 66630         "CharacterSetName": {},
 66631         "SecondaryAvailabilityZone": {},
 66632         "PubliclyAccessible": {
 66633           "type": "boolean"
 66634         },
 66635         "StatusInfos": {
 66636           "type": "list",
 66637           "member": {
 66638             "locationName": "DBInstanceStatusInfo",
 66639             "type": "structure",
 66640             "members": {
 66641               "StatusType": {},
 66642               "Normal": {
 66643                 "type": "boolean"
 66644               },
 66645               "Status": {},
 66646               "Message": {}
 66647             }
 66648           }
 66649         },
 66650         "StorageType": {},
 66651         "TdeCredentialArn": {},
 66652         "DbInstancePort": {
 66653           "type": "integer"
 66654         },
 66655         "DBClusterIdentifier": {},
 66656         "StorageEncrypted": {
 66657           "type": "boolean"
 66658         },
 66659         "KmsKeyId": {},
 66660         "DbiResourceId": {},
 66661         "CACertificateIdentifier": {},
 66662         "DomainMemberships": {
 66663           "type": "list",
 66664           "member": {
 66665             "locationName": "DomainMembership",
 66666             "type": "structure",
 66667             "members": {
 66668               "Domain": {},
 66669               "Status": {},
 66670               "FQDN": {},
 66671               "IAMRoleName": {}
 66672             }
 66673           }
 66674         },
 66675         "CopyTagsToSnapshot": {
 66676           "type": "boolean"
 66677         },
 66678         "MonitoringInterval": {
 66679           "type": "integer"
 66680         },
 66681         "EnhancedMonitoringResourceArn": {},
 66682         "MonitoringRoleArn": {},
 66683         "PromotionTier": {
 66684           "type": "integer"
 66685         },
 66686         "DBInstanceArn": {},
 66687         "Timezone": {}
 66688       },
 66689       "wrapper": true
 66690     },
 66691     "S22": {
 66692       "type": "structure",
 66693       "members": {
 66694         "DBSubnetGroupName": {},
 66695         "DBSubnetGroupDescription": {},
 66696         "VpcId": {},
 66697         "SubnetGroupStatus": {},
 66698         "Subnets": {
 66699           "type": "list",
 66700           "member": {
 66701             "locationName": "Subnet",
 66702             "type": "structure",
 66703             "members": {
 66704               "SubnetIdentifier": {},
 66705               "SubnetAvailabilityZone": {
 66706                 "shape": "S25"
 66707               },
 66708               "SubnetStatus": {}
 66709             }
 66710           }
 66711         },
 66712         "DBSubnetGroupArn": {}
 66713       },
 66714       "wrapper": true
 66715     },
 66716     "S25": {
 66717       "type": "structure",
 66718       "members": {
 66719         "Name": {}
 66720       },
 66721       "wrapper": true
 66722     },
 66723     "S2n": {
 66724       "type": "list",
 66725       "member": {
 66726         "locationName": "SubnetIdentifier"
 66727       }
 66728     },
 66729     "S3e": {
 66730       "type": "list",
 66731       "member": {
 66732         "locationName": "Filter",
 66733         "type": "structure",
 66734         "required": [
 66735           "Name",
 66736           "Values"
 66737         ],
 66738         "members": {
 66739           "Name": {},
 66740           "Values": {
 66741             "type": "list",
 66742             "member": {
 66743               "locationName": "Value"
 66744             }
 66745           }
 66746         }
 66747       }
 66748     },
 66749     "S3p": {
 66750       "type": "list",
 66751       "member": {
 66752         "locationName": "Parameter",
 66753         "type": "structure",
 66754         "members": {
 66755           "ParameterName": {},
 66756           "ParameterValue": {},
 66757           "Description": {},
 66758           "Source": {},
 66759           "ApplyType": {},
 66760           "DataType": {},
 66761           "AllowedValues": {},
 66762           "IsModifiable": {
 66763             "type": "boolean"
 66764           },
 66765           "MinimumEngineVersion": {},
 66766           "ApplyMethod": {}
 66767         }
 66768       }
 66769     },
 66770     "S3u": {
 66771       "type": "structure",
 66772       "members": {
 66773         "DBClusterSnapshotIdentifier": {},
 66774         "DBClusterSnapshotAttributes": {
 66775           "type": "list",
 66776           "member": {
 66777             "locationName": "DBClusterSnapshotAttribute",
 66778             "type": "structure",
 66779             "members": {
 66780               "AttributeName": {},
 66781               "AttributeValues": {
 66782                 "shape": "S3x"
 66783               }
 66784             }
 66785           }
 66786         }
 66787       },
 66788       "wrapper": true
 66789     },
 66790     "S3x": {
 66791       "type": "list",
 66792       "member": {
 66793         "locationName": "AttributeValue"
 66794       }
 66795     },
 66796     "S48": {
 66797       "type": "structure",
 66798       "members": {
 66799         "CharacterSetName": {},
 66800         "CharacterSetDescription": {}
 66801       }
 66802     },
 66803     "S4v": {
 66804       "type": "structure",
 66805       "members": {
 66806         "DBSnapshotIdentifier": {},
 66807         "DBSnapshotAttributes": {
 66808           "type": "list",
 66809           "member": {
 66810             "locationName": "DBSnapshotAttribute",
 66811             "type": "structure",
 66812             "members": {
 66813               "AttributeName": {},
 66814               "AttributeValues": {
 66815                 "shape": "S3x"
 66816               }
 66817             },
 66818             "wrapper": true
 66819           }
 66820         }
 66821       },
 66822       "wrapper": true
 66823     },
 66824     "S56": {
 66825       "type": "structure",
 66826       "members": {
 66827         "DBParameterGroupFamily": {},
 66828         "Marker": {},
 66829         "Parameters": {
 66830           "shape": "S3p"
 66831         }
 66832       },
 66833       "wrapper": true
 66834     },
 66835     "S69": {
 66836       "type": "structure",
 66837       "members": {
 66838         "ReservedDBInstanceId": {},
 66839         "ReservedDBInstancesOfferingId": {},
 66840         "DBInstanceClass": {},
 66841         "StartTime": {
 66842           "type": "timestamp"
 66843         },
 66844         "Duration": {
 66845           "type": "integer"
 66846         },
 66847         "FixedPrice": {
 66848           "type": "double"
 66849         },
 66850         "UsagePrice": {
 66851           "type": "double"
 66852         },
 66853         "CurrencyCode": {},
 66854         "DBInstanceCount": {
 66855           "type": "integer"
 66856         },
 66857         "ProductDescription": {},
 66858         "OfferingType": {},
 66859         "MultiAZ": {
 66860           "type": "boolean"
 66861         },
 66862         "State": {},
 66863         "RecurringCharges": {
 66864           "shape": "S6b"
 66865         },
 66866         "ReservedDBInstanceArn": {}
 66867       },
 66868       "wrapper": true
 66869     },
 66870     "S6b": {
 66871       "type": "list",
 66872       "member": {
 66873         "locationName": "RecurringCharge",
 66874         "type": "structure",
 66875         "members": {
 66876           "RecurringChargeAmount": {
 66877             "type": "double"
 66878           },
 66879           "RecurringChargeFrequency": {}
 66880         },
 66881         "wrapper": true
 66882       }
 66883     },
 66884     "S6u": {
 66885       "type": "structure",
 66886       "members": {
 66887         "DBClusterParameterGroupName": {}
 66888       }
 66889     },
 66890     "S70": {
 66891       "type": "structure",
 66892       "members": {
 66893         "DBParameterGroupName": {}
 66894       }
 66895     }
 66896   }
 66897 }
 66898 },{}],103:[function(require,module,exports){
 66899 arguments[4][98][0].apply(exports,arguments)
 66900 },{"dup":98}],104:[function(require,module,exports){
 66901 module.exports={
 66902   "version": 2,
 66903   "waiters": {
 66904     "DBInstanceAvailable": {
 66905       "delay": 30,
 66906       "operation": "DescribeDBInstances",
 66907       "maxAttempts": 60,
 66908       "acceptors": [
 66909         {
 66910           "expected": "available",
 66911           "matcher": "pathAll",
 66912           "state": "success",
 66913           "argument": "DBInstances[].DBInstanceStatus"
 66914         },
 66915         {
 66916           "expected": "deleted",
 66917           "matcher": "pathAny",
 66918           "state": "failure",
 66919           "argument": "DBInstances[].DBInstanceStatus"
 66920         },
 66921         {
 66922           "expected": "deleting",
 66923           "matcher": "pathAny",
 66924           "state": "failure",
 66925           "argument": "DBInstances[].DBInstanceStatus"
 66926         },
 66927         {
 66928           "expected": "failed",
 66929           "matcher": "pathAny",
 66930           "state": "failure",
 66931           "argument": "DBInstances[].DBInstanceStatus"
 66932         },
 66933         {
 66934           "expected": "incompatible-restore",
 66935           "matcher": "pathAny",
 66936           "state": "failure",
 66937           "argument": "DBInstances[].DBInstanceStatus"
 66938         },
 66939         {
 66940           "expected": "incompatible-parameters",
 66941           "matcher": "pathAny",
 66942           "state": "failure",
 66943           "argument": "DBInstances[].DBInstanceStatus"
 66944         }
 66945       ]
 66946     },
 66947     "DBInstanceDeleted": {
 66948       "delay": 30,
 66949       "operation": "DescribeDBInstances",
 66950       "maxAttempts": 60,
 66951       "acceptors": [
 66952         {
 66953           "expected": "deleted",
 66954           "matcher": "pathAll",
 66955           "state": "success",
 66956           "argument": "DBInstances[].DBInstanceStatus"
 66957         },
 66958         {
 66959           "expected": "DBInstanceNotFound",
 66960           "matcher": "error",
 66961           "state": "success"
 66962         },
 66963         {
 66964           "expected": "creating",
 66965           "matcher": "pathAny",
 66966           "state": "failure",
 66967           "argument": "DBInstances[].DBInstanceStatus"
 66968         },
 66969         {
 66970           "expected": "modifying",
 66971           "matcher": "pathAny",
 66972           "state": "failure",
 66973           "argument": "DBInstances[].DBInstanceStatus"
 66974         },
 66975         {
 66976           "expected": "rebooting",
 66977           "matcher": "pathAny",
 66978           "state": "failure",
 66979           "argument": "DBInstances[].DBInstanceStatus"
 66980         },
 66981         {
 66982           "expected": "resetting-master-credentials",
 66983           "matcher": "pathAny",
 66984           "state": "failure",
 66985           "argument": "DBInstances[].DBInstanceStatus"
 66986         }
 66987       ]
 66988     }
 66989   }
 66990 }
 66991 
 66992 },{}],105:[function(require,module,exports){
 66993 module.exports={
 66994   "version": "2.0",
 66995   "metadata": {
 66996     "apiVersion": "2012-12-01",
 66997     "endpointPrefix": "redshift",
 66998     "protocol": "query",
 66999     "serviceFullName": "Amazon Redshift",
 67000     "signatureVersion": "v4",
 67001     "xmlNamespace": "http://redshift.amazonaws.com/doc/2012-12-01/"
 67002   },
 67003   "operations": {
 67004     "AuthorizeClusterSecurityGroupIngress": {
 67005       "input": {
 67006         "type": "structure",
 67007         "required": [
 67008           "ClusterSecurityGroupName"
 67009         ],
 67010         "members": {
 67011           "ClusterSecurityGroupName": {},
 67012           "CIDRIP": {},
 67013           "EC2SecurityGroupName": {},
 67014           "EC2SecurityGroupOwnerId": {}
 67015         }
 67016       },
 67017       "output": {
 67018         "resultWrapper": "AuthorizeClusterSecurityGroupIngressResult",
 67019         "type": "structure",
 67020         "members": {
 67021           "ClusterSecurityGroup": {
 67022             "shape": "S4"
 67023           }
 67024         }
 67025       }
 67026     },
 67027     "AuthorizeSnapshotAccess": {
 67028       "input": {
 67029         "type": "structure",
 67030         "required": [
 67031           "SnapshotIdentifier",
 67032           "AccountWithRestoreAccess"
 67033         ],
 67034         "members": {
 67035           "SnapshotIdentifier": {},
 67036           "SnapshotClusterIdentifier": {},
 67037           "AccountWithRestoreAccess": {}
 67038         }
 67039       },
 67040       "output": {
 67041         "resultWrapper": "AuthorizeSnapshotAccessResult",
 67042         "type": "structure",
 67043         "members": {
 67044           "Snapshot": {
 67045             "shape": "Sd"
 67046           }
 67047         }
 67048       }
 67049     },
 67050     "CopyClusterSnapshot": {
 67051       "input": {
 67052         "type": "structure",
 67053         "required": [
 67054           "SourceSnapshotIdentifier",
 67055           "TargetSnapshotIdentifier"
 67056         ],
 67057         "members": {
 67058           "SourceSnapshotIdentifier": {},
 67059           "SourceSnapshotClusterIdentifier": {},
 67060           "TargetSnapshotIdentifier": {}
 67061         }
 67062       },
 67063       "output": {
 67064         "resultWrapper": "CopyClusterSnapshotResult",
 67065         "type": "structure",
 67066         "members": {
 67067           "Snapshot": {
 67068             "shape": "Sd"
 67069           }
 67070         }
 67071       }
 67072     },
 67073     "CreateCluster": {
 67074       "input": {
 67075         "type": "structure",
 67076         "required": [
 67077           "ClusterIdentifier",
 67078           "NodeType",
 67079           "MasterUsername",
 67080           "MasterUserPassword"
 67081         ],
 67082         "members": {
 67083           "DBName": {},
 67084           "ClusterIdentifier": {},
 67085           "ClusterType": {},
 67086           "NodeType": {},
 67087           "MasterUsername": {},
 67088           "MasterUserPassword": {},
 67089           "ClusterSecurityGroups": {
 67090             "shape": "Sp"
 67091           },
 67092           "VpcSecurityGroupIds": {
 67093             "shape": "Sq"
 67094           },
 67095           "ClusterSubnetGroupName": {},
 67096           "AvailabilityZone": {},
 67097           "PreferredMaintenanceWindow": {},
 67098           "ClusterParameterGroupName": {},
 67099           "AutomatedSnapshotRetentionPeriod": {
 67100             "type": "integer"
 67101           },
 67102           "Port": {
 67103             "type": "integer"
 67104           },
 67105           "ClusterVersion": {},
 67106           "AllowVersionUpgrade": {
 67107             "type": "boolean"
 67108           },
 67109           "NumberOfNodes": {
 67110             "type": "integer"
 67111           },
 67112           "PubliclyAccessible": {
 67113             "type": "boolean"
 67114           },
 67115           "Encrypted": {
 67116             "type": "boolean"
 67117           },
 67118           "HsmClientCertificateIdentifier": {},
 67119           "HsmConfigurationIdentifier": {},
 67120           "ElasticIp": {},
 67121           "Tags": {
 67122             "shape": "S7"
 67123           },
 67124           "KmsKeyId": {},
 67125           "EnhancedVpcRouting": {
 67126             "type": "boolean"
 67127           },
 67128           "AdditionalInfo": {},
 67129           "IamRoles": {
 67130             "shape": "St"
 67131           }
 67132         }
 67133       },
 67134       "output": {
 67135         "resultWrapper": "CreateClusterResult",
 67136         "type": "structure",
 67137         "members": {
 67138           "Cluster": {
 67139             "shape": "Sv"
 67140           }
 67141         }
 67142       }
 67143     },
 67144     "CreateClusterParameterGroup": {
 67145       "input": {
 67146         "type": "structure",
 67147         "required": [
 67148           "ParameterGroupName",
 67149           "ParameterGroupFamily",
 67150           "Description"
 67151         ],
 67152         "members": {
 67153           "ParameterGroupName": {},
 67154           "ParameterGroupFamily": {},
 67155           "Description": {},
 67156           "Tags": {
 67157             "shape": "S7"
 67158           }
 67159         }
 67160       },
 67161       "output": {
 67162         "resultWrapper": "CreateClusterParameterGroupResult",
 67163         "type": "structure",
 67164         "members": {
 67165           "ClusterParameterGroup": {
 67166             "shape": "S1g"
 67167           }
 67168         }
 67169       }
 67170     },
 67171     "CreateClusterSecurityGroup": {
 67172       "input": {
 67173         "type": "structure",
 67174         "required": [
 67175           "ClusterSecurityGroupName",
 67176           "Description"
 67177         ],
 67178         "members": {
 67179           "ClusterSecurityGroupName": {},
 67180           "Description": {},
 67181           "Tags": {
 67182             "shape": "S7"
 67183           }
 67184         }
 67185       },
 67186       "output": {
 67187         "resultWrapper": "CreateClusterSecurityGroupResult",
 67188         "type": "structure",
 67189         "members": {
 67190           "ClusterSecurityGroup": {
 67191             "shape": "S4"
 67192           }
 67193         }
 67194       }
 67195     },
 67196     "CreateClusterSnapshot": {
 67197       "input": {
 67198         "type": "structure",
 67199         "required": [
 67200           "SnapshotIdentifier",
 67201           "ClusterIdentifier"
 67202         ],
 67203         "members": {
 67204           "SnapshotIdentifier": {},
 67205           "ClusterIdentifier": {},
 67206           "Tags": {
 67207             "shape": "S7"
 67208           }
 67209         }
 67210       },
 67211       "output": {
 67212         "resultWrapper": "CreateClusterSnapshotResult",
 67213         "type": "structure",
 67214         "members": {
 67215           "Snapshot": {
 67216             "shape": "Sd"
 67217           }
 67218         }
 67219       }
 67220     },
 67221     "CreateClusterSubnetGroup": {
 67222       "input": {
 67223         "type": "structure",
 67224         "required": [
 67225           "ClusterSubnetGroupName",
 67226           "Description",
 67227           "SubnetIds"
 67228         ],
 67229         "members": {
 67230           "ClusterSubnetGroupName": {},
 67231           "Description": {},
 67232           "SubnetIds": {
 67233             "shape": "S1m"
 67234           },
 67235           "Tags": {
 67236             "shape": "S7"
 67237           }
 67238         }
 67239       },
 67240       "output": {
 67241         "resultWrapper": "CreateClusterSubnetGroupResult",
 67242         "type": "structure",
 67243         "members": {
 67244           "ClusterSubnetGroup": {
 67245             "shape": "S1o"
 67246           }
 67247         }
 67248       }
 67249     },
 67250     "CreateEventSubscription": {
 67251       "input": {
 67252         "type": "structure",
 67253         "required": [
 67254           "SubscriptionName",
 67255           "SnsTopicArn"
 67256         ],
 67257         "members": {
 67258           "SubscriptionName": {},
 67259           "SnsTopicArn": {},
 67260           "SourceType": {},
 67261           "SourceIds": {
 67262             "shape": "S1t"
 67263           },
 67264           "EventCategories": {
 67265             "shape": "S1u"
 67266           },
 67267           "Severity": {},
 67268           "Enabled": {
 67269             "type": "boolean"
 67270           },
 67271           "Tags": {
 67272             "shape": "S7"
 67273           }
 67274         }
 67275       },
 67276       "output": {
 67277         "resultWrapper": "CreateEventSubscriptionResult",
 67278         "type": "structure",
 67279         "members": {
 67280           "EventSubscription": {
 67281             "shape": "S1w"
 67282           }
 67283         }
 67284       }
 67285     },
 67286     "CreateHsmClientCertificate": {
 67287       "input": {
 67288         "type": "structure",
 67289         "required": [
 67290           "HsmClientCertificateIdentifier"
 67291         ],
 67292         "members": {
 67293           "HsmClientCertificateIdentifier": {},
 67294           "Tags": {
 67295             "shape": "S7"
 67296           }
 67297         }
 67298       },
 67299       "output": {
 67300         "resultWrapper": "CreateHsmClientCertificateResult",
 67301         "type": "structure",
 67302         "members": {
 67303           "HsmClientCertificate": {
 67304             "shape": "S1z"
 67305           }
 67306         }
 67307       }
 67308     },
 67309     "CreateHsmConfiguration": {
 67310       "input": {
 67311         "type": "structure",
 67312         "required": [
 67313           "HsmConfigurationIdentifier",
 67314           "Description",
 67315           "HsmIpAddress",
 67316           "HsmPartitionName",
 67317           "HsmPartitionPassword",
 67318           "HsmServerPublicCertificate"
 67319         ],
 67320         "members": {
 67321           "HsmConfigurationIdentifier": {},
 67322           "Description": {},
 67323           "HsmIpAddress": {},
 67324           "HsmPartitionName": {},
 67325           "HsmPartitionPassword": {},
 67326           "HsmServerPublicCertificate": {},
 67327           "Tags": {
 67328             "shape": "S7"
 67329           }
 67330         }
 67331       },
 67332       "output": {
 67333         "resultWrapper": "CreateHsmConfigurationResult",
 67334         "type": "structure",
 67335         "members": {
 67336           "HsmConfiguration": {
 67337             "shape": "S22"
 67338           }
 67339         }
 67340       }
 67341     },
 67342     "CreateSnapshotCopyGrant": {
 67343       "input": {
 67344         "type": "structure",
 67345         "required": [
 67346           "SnapshotCopyGrantName"
 67347         ],
 67348         "members": {
 67349           "SnapshotCopyGrantName": {},
 67350           "KmsKeyId": {},
 67351           "Tags": {
 67352             "shape": "S7"
 67353           }
 67354         }
 67355       },
 67356       "output": {
 67357         "resultWrapper": "CreateSnapshotCopyGrantResult",
 67358         "type": "structure",
 67359         "members": {
 67360           "SnapshotCopyGrant": {
 67361             "shape": "S25"
 67362           }
 67363         }
 67364       }
 67365     },
 67366     "CreateTags": {
 67367       "input": {
 67368         "type": "structure",
 67369         "required": [
 67370           "ResourceName",
 67371           "Tags"
 67372         ],
 67373         "members": {
 67374           "ResourceName": {},
 67375           "Tags": {
 67376             "shape": "S7"
 67377           }
 67378         }
 67379       }
 67380     },
 67381     "DeleteCluster": {
 67382       "input": {
 67383         "type": "structure",
 67384         "required": [
 67385           "ClusterIdentifier"
 67386         ],
 67387         "members": {
 67388           "ClusterIdentifier": {},
 67389           "SkipFinalClusterSnapshot": {
 67390             "type": "boolean"
 67391           },
 67392           "FinalClusterSnapshotIdentifier": {}
 67393         }
 67394       },
 67395       "output": {
 67396         "resultWrapper": "DeleteClusterResult",
 67397         "type": "structure",
 67398         "members": {
 67399           "Cluster": {
 67400             "shape": "Sv"
 67401           }
 67402         }
 67403       }
 67404     },
 67405     "DeleteClusterParameterGroup": {
 67406       "input": {
 67407         "type": "structure",
 67408         "required": [
 67409           "ParameterGroupName"
 67410         ],
 67411         "members": {
 67412           "ParameterGroupName": {}
 67413         }
 67414       }
 67415     },
 67416     "DeleteClusterSecurityGroup": {
 67417       "input": {
 67418         "type": "structure",
 67419         "required": [
 67420           "ClusterSecurityGroupName"
 67421         ],
 67422         "members": {
 67423           "ClusterSecurityGroupName": {}
 67424         }
 67425       }
 67426     },
 67427     "DeleteClusterSnapshot": {
 67428       "input": {
 67429         "type": "structure",
 67430         "required": [
 67431           "SnapshotIdentifier"
 67432         ],
 67433         "members": {
 67434           "SnapshotIdentifier": {},
 67435           "SnapshotClusterIdentifier": {}
 67436         }
 67437       },
 67438       "output": {
 67439         "resultWrapper": "DeleteClusterSnapshotResult",
 67440         "type": "structure",
 67441         "members": {
 67442           "Snapshot": {
 67443             "shape": "Sd"
 67444           }
 67445         }
 67446       }
 67447     },
 67448     "DeleteClusterSubnetGroup": {
 67449       "input": {
 67450         "type": "structure",
 67451         "required": [
 67452           "ClusterSubnetGroupName"
 67453         ],
 67454         "members": {
 67455           "ClusterSubnetGroupName": {}
 67456         }
 67457       }
 67458     },
 67459     "DeleteEventSubscription": {
 67460       "input": {
 67461         "type": "structure",
 67462         "required": [
 67463           "SubscriptionName"
 67464         ],
 67465         "members": {
 67466           "SubscriptionName": {}
 67467         }
 67468       }
 67469     },
 67470     "DeleteHsmClientCertificate": {
 67471       "input": {
 67472         "type": "structure",
 67473         "required": [
 67474           "HsmClientCertificateIdentifier"
 67475         ],
 67476         "members": {
 67477           "HsmClientCertificateIdentifier": {}
 67478         }
 67479       }
 67480     },
 67481     "DeleteHsmConfiguration": {
 67482       "input": {
 67483         "type": "structure",
 67484         "required": [
 67485           "HsmConfigurationIdentifier"
 67486         ],
 67487         "members": {
 67488           "HsmConfigurationIdentifier": {}
 67489         }
 67490       }
 67491     },
 67492     "DeleteSnapshotCopyGrant": {
 67493       "input": {
 67494         "type": "structure",
 67495         "required": [
 67496           "SnapshotCopyGrantName"
 67497         ],
 67498         "members": {
 67499           "SnapshotCopyGrantName": {}
 67500         }
 67501       }
 67502     },
 67503     "DeleteTags": {
 67504       "input": {
 67505         "type": "structure",
 67506         "required": [
 67507           "ResourceName",
 67508           "TagKeys"
 67509         ],
 67510         "members": {
 67511           "ResourceName": {},
 67512           "TagKeys": {
 67513             "shape": "S2j"
 67514           }
 67515         }
 67516       }
 67517     },
 67518     "DescribeClusterParameterGroups": {
 67519       "input": {
 67520         "type": "structure",
 67521         "members": {
 67522           "ParameterGroupName": {},
 67523           "MaxRecords": {
 67524             "type": "integer"
 67525           },
 67526           "Marker": {},
 67527           "TagKeys": {
 67528             "shape": "S2j"
 67529           },
 67530           "TagValues": {
 67531             "shape": "S2l"
 67532           }
 67533         }
 67534       },
 67535       "output": {
 67536         "resultWrapper": "DescribeClusterParameterGroupsResult",
 67537         "type": "structure",
 67538         "members": {
 67539           "Marker": {},
 67540           "ParameterGroups": {
 67541             "type": "list",
 67542             "member": {
 67543               "shape": "S1g",
 67544               "locationName": "ClusterParameterGroup"
 67545             }
 67546           }
 67547         }
 67548       }
 67549     },
 67550     "DescribeClusterParameters": {
 67551       "input": {
 67552         "type": "structure",
 67553         "required": [
 67554           "ParameterGroupName"
 67555         ],
 67556         "members": {
 67557           "ParameterGroupName": {},
 67558           "Source": {},
 67559           "MaxRecords": {
 67560             "type": "integer"
 67561           },
 67562           "Marker": {}
 67563         }
 67564       },
 67565       "output": {
 67566         "resultWrapper": "DescribeClusterParametersResult",
 67567         "type": "structure",
 67568         "members": {
 67569           "Parameters": {
 67570             "shape": "S2q"
 67571           },
 67572           "Marker": {}
 67573         }
 67574       }
 67575     },
 67576     "DescribeClusterSecurityGroups": {
 67577       "input": {
 67578         "type": "structure",
 67579         "members": {
 67580           "ClusterSecurityGroupName": {},
 67581           "MaxRecords": {
 67582             "type": "integer"
 67583           },
 67584           "Marker": {},
 67585           "TagKeys": {
 67586             "shape": "S2j"
 67587           },
 67588           "TagValues": {
 67589             "shape": "S2l"
 67590           }
 67591         }
 67592       },
 67593       "output": {
 67594         "resultWrapper": "DescribeClusterSecurityGroupsResult",
 67595         "type": "structure",
 67596         "members": {
 67597           "Marker": {},
 67598           "ClusterSecurityGroups": {
 67599             "type": "list",
 67600             "member": {
 67601               "shape": "S4",
 67602               "locationName": "ClusterSecurityGroup"
 67603             }
 67604           }
 67605         }
 67606       }
 67607     },
 67608     "DescribeClusterSnapshots": {
 67609       "input": {
 67610         "type": "structure",
 67611         "members": {
 67612           "ClusterIdentifier": {},
 67613           "SnapshotIdentifier": {},
 67614           "SnapshotType": {},
 67615           "StartTime": {
 67616             "type": "timestamp"
 67617           },
 67618           "EndTime": {
 67619             "type": "timestamp"
 67620           },
 67621           "MaxRecords": {
 67622             "type": "integer"
 67623           },
 67624           "Marker": {},
 67625           "OwnerAccount": {},
 67626           "TagKeys": {
 67627             "shape": "S2j"
 67628           },
 67629           "TagValues": {
 67630             "shape": "S2l"
 67631           }
 67632         }
 67633       },
 67634       "output": {
 67635         "resultWrapper": "DescribeClusterSnapshotsResult",
 67636         "type": "structure",
 67637         "members": {
 67638           "Marker": {},
 67639           "Snapshots": {
 67640             "type": "list",
 67641             "member": {
 67642               "shape": "Sd",
 67643               "locationName": "Snapshot"
 67644             }
 67645           }
 67646         }
 67647       }
 67648     },
 67649     "DescribeClusterSubnetGroups": {
 67650       "input": {
 67651         "type": "structure",
 67652         "members": {
 67653           "ClusterSubnetGroupName": {},
 67654           "MaxRecords": {
 67655             "type": "integer"
 67656           },
 67657           "Marker": {},
 67658           "TagKeys": {
 67659             "shape": "S2j"
 67660           },
 67661           "TagValues": {
 67662             "shape": "S2l"
 67663           }
 67664         }
 67665       },
 67666       "output": {
 67667         "resultWrapper": "DescribeClusterSubnetGroupsResult",
 67668         "type": "structure",
 67669         "members": {
 67670           "Marker": {},
 67671           "ClusterSubnetGroups": {
 67672             "type": "list",
 67673             "member": {
 67674               "shape": "S1o",
 67675               "locationName": "ClusterSubnetGroup"
 67676             }
 67677           }
 67678         }
 67679       }
 67680     },
 67681     "DescribeClusterVersions": {
 67682       "input": {
 67683         "type": "structure",
 67684         "members": {
 67685           "ClusterVersion": {},
 67686           "ClusterParameterGroupFamily": {},
 67687           "MaxRecords": {
 67688             "type": "integer"
 67689           },
 67690           "Marker": {}
 67691         }
 67692       },
 67693       "output": {
 67694         "resultWrapper": "DescribeClusterVersionsResult",
 67695         "type": "structure",
 67696         "members": {
 67697           "Marker": {},
 67698           "ClusterVersions": {
 67699             "type": "list",
 67700             "member": {
 67701               "locationName": "ClusterVersion",
 67702               "type": "structure",
 67703               "members": {
 67704                 "ClusterVersion": {},
 67705                 "ClusterParameterGroupFamily": {},
 67706                 "Description": {}
 67707               }
 67708             }
 67709           }
 67710         }
 67711       }
 67712     },
 67713     "DescribeClusters": {
 67714       "input": {
 67715         "type": "structure",
 67716         "members": {
 67717           "ClusterIdentifier": {},
 67718           "MaxRecords": {
 67719             "type": "integer"
 67720           },
 67721           "Marker": {},
 67722           "TagKeys": {
 67723             "shape": "S2j"
 67724           },
 67725           "TagValues": {
 67726             "shape": "S2l"
 67727           }
 67728         }
 67729       },
 67730       "output": {
 67731         "resultWrapper": "DescribeClustersResult",
 67732         "type": "structure",
 67733         "members": {
 67734           "Marker": {},
 67735           "Clusters": {
 67736             "type": "list",
 67737             "member": {
 67738               "shape": "Sv",
 67739               "locationName": "Cluster"
 67740             }
 67741           }
 67742         }
 67743       }
 67744     },
 67745     "DescribeDefaultClusterParameters": {
 67746       "input": {
 67747         "type": "structure",
 67748         "required": [
 67749           "ParameterGroupFamily"
 67750         ],
 67751         "members": {
 67752           "ParameterGroupFamily": {},
 67753           "MaxRecords": {
 67754             "type": "integer"
 67755           },
 67756           "Marker": {}
 67757         }
 67758       },
 67759       "output": {
 67760         "resultWrapper": "DescribeDefaultClusterParametersResult",
 67761         "type": "structure",
 67762         "members": {
 67763           "DefaultClusterParameters": {
 67764             "type": "structure",
 67765             "members": {
 67766               "ParameterGroupFamily": {},
 67767               "Marker": {},
 67768               "Parameters": {
 67769                 "shape": "S2q"
 67770               }
 67771             },
 67772             "wrapper": true
 67773           }
 67774         }
 67775       }
 67776     },
 67777     "DescribeEventCategories": {
 67778       "input": {
 67779         "type": "structure",
 67780         "members": {
 67781           "SourceType": {}
 67782         }
 67783       },
 67784       "output": {
 67785         "resultWrapper": "DescribeEventCategoriesResult",
 67786         "type": "structure",
 67787         "members": {
 67788           "EventCategoriesMapList": {
 67789             "type": "list",
 67790             "member": {
 67791               "locationName": "EventCategoriesMap",
 67792               "type": "structure",
 67793               "members": {
 67794                 "SourceType": {},
 67795                 "Events": {
 67796                   "type": "list",
 67797                   "member": {
 67798                     "locationName": "EventInfoMap",
 67799                     "type": "structure",
 67800                     "members": {
 67801                       "EventId": {},
 67802                       "EventCategories": {
 67803                         "shape": "S1u"
 67804                       },
 67805                       "EventDescription": {},
 67806                       "Severity": {}
 67807                     },
 67808                     "wrapper": true
 67809                   }
 67810                 }
 67811               },
 67812               "wrapper": true
 67813             }
 67814           }
 67815         }
 67816       }
 67817     },
 67818     "DescribeEventSubscriptions": {
 67819       "input": {
 67820         "type": "structure",
 67821         "members": {
 67822           "SubscriptionName": {},
 67823           "MaxRecords": {
 67824             "type": "integer"
 67825           },
 67826           "Marker": {}
 67827         }
 67828       },
 67829       "output": {
 67830         "resultWrapper": "DescribeEventSubscriptionsResult",
 67831         "type": "structure",
 67832         "members": {
 67833           "Marker": {},
 67834           "EventSubscriptionsList": {
 67835             "type": "list",
 67836             "member": {
 67837               "shape": "S1w",
 67838               "locationName": "EventSubscription"
 67839             }
 67840           }
 67841         }
 67842       }
 67843     },
 67844     "DescribeEvents": {
 67845       "input": {
 67846         "type": "structure",
 67847         "members": {
 67848           "SourceIdentifier": {},
 67849           "SourceType": {},
 67850           "StartTime": {
 67851             "type": "timestamp"
 67852           },
 67853           "EndTime": {
 67854             "type": "timestamp"
 67855           },
 67856           "Duration": {
 67857             "type": "integer"
 67858           },
 67859           "MaxRecords": {
 67860             "type": "integer"
 67861           },
 67862           "Marker": {}
 67863         }
 67864       },
 67865       "output": {
 67866         "resultWrapper": "DescribeEventsResult",
 67867         "type": "structure",
 67868         "members": {
 67869           "Marker": {},
 67870           "Events": {
 67871             "type": "list",
 67872             "member": {
 67873               "locationName": "Event",
 67874               "type": "structure",
 67875               "members": {
 67876                 "SourceIdentifier": {},
 67877                 "SourceType": {},
 67878                 "Message": {},
 67879                 "EventCategories": {
 67880                   "shape": "S1u"
 67881                 },
 67882                 "Severity": {},
 67883                 "Date": {
 67884                   "type": "timestamp"
 67885                 },
 67886                 "EventId": {}
 67887               }
 67888             }
 67889           }
 67890         }
 67891       }
 67892     },
 67893     "DescribeHsmClientCertificates": {
 67894       "input": {
 67895         "type": "structure",
 67896         "members": {
 67897           "HsmClientCertificateIdentifier": {},
 67898           "MaxRecords": {
 67899             "type": "integer"
 67900           },
 67901           "Marker": {},
 67902           "TagKeys": {
 67903             "shape": "S2j"
 67904           },
 67905           "TagValues": {
 67906             "shape": "S2l"
 67907           }
 67908         }
 67909       },
 67910       "output": {
 67911         "resultWrapper": "DescribeHsmClientCertificatesResult",
 67912         "type": "structure",
 67913         "members": {
 67914           "Marker": {},
 67915           "HsmClientCertificates": {
 67916             "type": "list",
 67917             "member": {
 67918               "shape": "S1z",
 67919               "locationName": "HsmClientCertificate"
 67920             }
 67921           }
 67922         }
 67923       }
 67924     },
 67925     "DescribeHsmConfigurations": {
 67926       "input": {
 67927         "type": "structure",
 67928         "members": {
 67929           "HsmConfigurationIdentifier": {},
 67930           "MaxRecords": {
 67931             "type": "integer"
 67932           },
 67933           "Marker": {},
 67934           "TagKeys": {
 67935             "shape": "S2j"
 67936           },
 67937           "TagValues": {
 67938             "shape": "S2l"
 67939           }
 67940         }
 67941       },
 67942       "output": {
 67943         "resultWrapper": "DescribeHsmConfigurationsResult",
 67944         "type": "structure",
 67945         "members": {
 67946           "Marker": {},
 67947           "HsmConfigurations": {
 67948             "type": "list",
 67949             "member": {
 67950               "shape": "S22",
 67951               "locationName": "HsmConfiguration"
 67952             }
 67953           }
 67954         }
 67955       }
 67956     },
 67957     "DescribeLoggingStatus": {
 67958       "input": {
 67959         "type": "structure",
 67960         "required": [
 67961           "ClusterIdentifier"
 67962         ],
 67963         "members": {
 67964           "ClusterIdentifier": {}
 67965         }
 67966       },
 67967       "output": {
 67968         "shape": "S3x",
 67969         "resultWrapper": "DescribeLoggingStatusResult"
 67970       }
 67971     },
 67972     "DescribeOrderableClusterOptions": {
 67973       "input": {
 67974         "type": "structure",
 67975         "members": {
 67976           "ClusterVersion": {},
 67977           "NodeType": {},
 67978           "MaxRecords": {
 67979             "type": "integer"
 67980           },
 67981           "Marker": {}
 67982         }
 67983       },
 67984       "output": {
 67985         "resultWrapper": "DescribeOrderableClusterOptionsResult",
 67986         "type": "structure",
 67987         "members": {
 67988           "OrderableClusterOptions": {
 67989             "type": "list",
 67990             "member": {
 67991               "locationName": "OrderableClusterOption",
 67992               "type": "structure",
 67993               "members": {
 67994                 "ClusterVersion": {},
 67995                 "ClusterType": {},
 67996                 "NodeType": {},
 67997                 "AvailabilityZones": {
 67998                   "type": "list",
 67999                   "member": {
 68000                     "shape": "S1r",
 68001                     "locationName": "AvailabilityZone"
 68002                   }
 68003                 }
 68004               },
 68005               "wrapper": true
 68006             }
 68007           },
 68008           "Marker": {}
 68009         }
 68010       }
 68011     },
 68012     "DescribeReservedNodeOfferings": {
 68013       "input": {
 68014         "type": "structure",
 68015         "members": {
 68016           "ReservedNodeOfferingId": {},
 68017           "MaxRecords": {
 68018             "type": "integer"
 68019           },
 68020           "Marker": {}
 68021         }
 68022       },
 68023       "output": {
 68024         "resultWrapper": "DescribeReservedNodeOfferingsResult",
 68025         "type": "structure",
 68026         "members": {
 68027           "Marker": {},
 68028           "ReservedNodeOfferings": {
 68029             "type": "list",
 68030             "member": {
 68031               "locationName": "ReservedNodeOffering",
 68032               "type": "structure",
 68033               "members": {
 68034                 "ReservedNodeOfferingId": {},
 68035                 "NodeType": {},
 68036                 "Duration": {
 68037                   "type": "integer"
 68038                 },
 68039                 "FixedPrice": {
 68040                   "type": "double"
 68041                 },
 68042                 "UsagePrice": {
 68043                   "type": "double"
 68044                 },
 68045                 "CurrencyCode": {},
 68046                 "OfferingType": {},
 68047                 "RecurringCharges": {
 68048                   "shape": "S47"
 68049                 }
 68050               },
 68051               "wrapper": true
 68052             }
 68053           }
 68054         }
 68055       }
 68056     },
 68057     "DescribeReservedNodes": {
 68058       "input": {
 68059         "type": "structure",
 68060         "members": {
 68061           "ReservedNodeId": {},
 68062           "MaxRecords": {
 68063             "type": "integer"
 68064           },
 68065           "Marker": {}
 68066         }
 68067       },
 68068       "output": {
 68069         "resultWrapper": "DescribeReservedNodesResult",
 68070         "type": "structure",
 68071         "members": {
 68072           "Marker": {},
 68073           "ReservedNodes": {
 68074             "type": "list",
 68075             "member": {
 68076               "shape": "S4c",
 68077               "locationName": "ReservedNode"
 68078             }
 68079           }
 68080         }
 68081       }
 68082     },
 68083     "DescribeResize": {
 68084       "input": {
 68085         "type": "structure",
 68086         "required": [
 68087           "ClusterIdentifier"
 68088         ],
 68089         "members": {
 68090           "ClusterIdentifier": {}
 68091         }
 68092       },
 68093       "output": {
 68094         "resultWrapper": "DescribeResizeResult",
 68095         "type": "structure",
 68096         "members": {
 68097           "TargetNodeType": {},
 68098           "TargetNumberOfNodes": {
 68099             "type": "integer"
 68100           },
 68101           "TargetClusterType": {},
 68102           "Status": {},
 68103           "ImportTablesCompleted": {
 68104             "type": "list",
 68105             "member": {}
 68106           },
 68107           "ImportTablesInProgress": {
 68108             "type": "list",
 68109             "member": {}
 68110           },
 68111           "ImportTablesNotStarted": {
 68112             "type": "list",
 68113             "member": {}
 68114           },
 68115           "AvgResizeRateInMegaBytesPerSecond": {
 68116             "type": "double"
 68117           },
 68118           "TotalResizeDataInMegaBytes": {
 68119             "type": "long"
 68120           },
 68121           "ProgressInMegaBytes": {
 68122             "type": "long"
 68123           },
 68124           "ElapsedTimeInSeconds": {
 68125             "type": "long"
 68126           },
 68127           "EstimatedTimeToCompletionInSeconds": {
 68128             "type": "long"
 68129           }
 68130         }
 68131       }
 68132     },
 68133     "DescribeSnapshotCopyGrants": {
 68134       "input": {
 68135         "type": "structure",
 68136         "members": {
 68137           "SnapshotCopyGrantName": {},
 68138           "MaxRecords": {
 68139             "type": "integer"
 68140           },
 68141           "Marker": {},
 68142           "TagKeys": {
 68143             "shape": "S2j"
 68144           },
 68145           "TagValues": {
 68146             "shape": "S2l"
 68147           }
 68148         }
 68149       },
 68150       "output": {
 68151         "resultWrapper": "DescribeSnapshotCopyGrantsResult",
 68152         "type": "structure",
 68153         "members": {
 68154           "Marker": {},
 68155           "SnapshotCopyGrants": {
 68156             "type": "list",
 68157             "member": {
 68158               "shape": "S25",
 68159               "locationName": "SnapshotCopyGrant"
 68160             }
 68161           }
 68162         }
 68163       }
 68164     },
 68165     "DescribeTableRestoreStatus": {
 68166       "input": {
 68167         "type": "structure",
 68168         "members": {
 68169           "ClusterIdentifier": {},
 68170           "TableRestoreRequestId": {},
 68171           "MaxRecords": {
 68172             "type": "integer"
 68173           },
 68174           "Marker": {}
 68175         }
 68176       },
 68177       "output": {
 68178         "resultWrapper": "DescribeTableRestoreStatusResult",
 68179         "type": "structure",
 68180         "members": {
 68181           "TableRestoreStatusDetails": {
 68182             "type": "list",
 68183             "member": {
 68184               "shape": "S4q",
 68185               "locationName": "TableRestoreStatus"
 68186             }
 68187           },
 68188           "Marker": {}
 68189         }
 68190       }
 68191     },
 68192     "DescribeTags": {
 68193       "input": {
 68194         "type": "structure",
 68195         "members": {
 68196           "ResourceName": {},
 68197           "ResourceType": {},
 68198           "MaxRecords": {
 68199             "type": "integer"
 68200           },
 68201           "Marker": {},
 68202           "TagKeys": {
 68203             "shape": "S2j"
 68204           },
 68205           "TagValues": {
 68206             "shape": "S2l"
 68207           }
 68208         }
 68209       },
 68210       "output": {
 68211         "resultWrapper": "DescribeTagsResult",
 68212         "type": "structure",
 68213         "members": {
 68214           "TaggedResources": {
 68215             "type": "list",
 68216             "member": {
 68217               "locationName": "TaggedResource",
 68218               "type": "structure",
 68219               "members": {
 68220                 "Tag": {
 68221                   "shape": "S8"
 68222                 },
 68223                 "ResourceName": {},
 68224                 "ResourceType": {}
 68225               }
 68226             }
 68227           },
 68228           "Marker": {}
 68229         }
 68230       }
 68231     },
 68232     "DisableLogging": {
 68233       "input": {
 68234         "type": "structure",
 68235         "required": [
 68236           "ClusterIdentifier"
 68237         ],
 68238         "members": {
 68239           "ClusterIdentifier": {}
 68240         }
 68241       },
 68242       "output": {
 68243         "shape": "S3x",
 68244         "resultWrapper": "DisableLoggingResult"
 68245       }
 68246     },
 68247     "DisableSnapshotCopy": {
 68248       "input": {
 68249         "type": "structure",
 68250         "required": [
 68251           "ClusterIdentifier"
 68252         ],
 68253         "members": {
 68254           "ClusterIdentifier": {}
 68255         }
 68256       },
 68257       "output": {
 68258         "resultWrapper": "DisableSnapshotCopyResult",
 68259         "type": "structure",
 68260         "members": {
 68261           "Cluster": {
 68262             "shape": "Sv"
 68263           }
 68264         }
 68265       }
 68266     },
 68267     "EnableLogging": {
 68268       "input": {
 68269         "type": "structure",
 68270         "required": [
 68271           "ClusterIdentifier",
 68272           "BucketName"
 68273         ],
 68274         "members": {
 68275           "ClusterIdentifier": {},
 68276           "BucketName": {},
 68277           "S3KeyPrefix": {}
 68278         }
 68279       },
 68280       "output": {
 68281         "shape": "S3x",
 68282         "resultWrapper": "EnableLoggingResult"
 68283       }
 68284     },
 68285     "EnableSnapshotCopy": {
 68286       "input": {
 68287         "type": "structure",
 68288         "required": [
 68289           "ClusterIdentifier",
 68290           "DestinationRegion"
 68291         ],
 68292         "members": {
 68293           "ClusterIdentifier": {},
 68294           "DestinationRegion": {},
 68295           "RetentionPeriod": {
 68296             "type": "integer"
 68297           },
 68298           "SnapshotCopyGrantName": {}
 68299         }
 68300       },
 68301       "output": {
 68302         "resultWrapper": "EnableSnapshotCopyResult",
 68303         "type": "structure",
 68304         "members": {
 68305           "Cluster": {
 68306             "shape": "Sv"
 68307           }
 68308         }
 68309       }
 68310     },
 68311     "ModifyCluster": {
 68312       "input": {
 68313         "type": "structure",
 68314         "required": [
 68315           "ClusterIdentifier"
 68316         ],
 68317         "members": {
 68318           "ClusterIdentifier": {},
 68319           "ClusterType": {},
 68320           "NodeType": {},
 68321           "NumberOfNodes": {
 68322             "type": "integer"
 68323           },
 68324           "ClusterSecurityGroups": {
 68325             "shape": "Sp"
 68326           },
 68327           "VpcSecurityGroupIds": {
 68328             "shape": "Sq"
 68329           },
 68330           "MasterUserPassword": {},
 68331           "ClusterParameterGroupName": {},
 68332           "AutomatedSnapshotRetentionPeriod": {
 68333             "type": "integer"
 68334           },
 68335           "PreferredMaintenanceWindow": {},
 68336           "ClusterVersion": {},
 68337           "AllowVersionUpgrade": {
 68338             "type": "boolean"
 68339           },
 68340           "HsmClientCertificateIdentifier": {},
 68341           "HsmConfigurationIdentifier": {},
 68342           "NewClusterIdentifier": {},
 68343           "PubliclyAccessible": {
 68344             "type": "boolean"
 68345           },
 68346           "ElasticIp": {},
 68347           "EnhancedVpcRouting": {
 68348             "type": "boolean"
 68349           }
 68350         }
 68351       },
 68352       "output": {
 68353         "resultWrapper": "ModifyClusterResult",
 68354         "type": "structure",
 68355         "members": {
 68356           "Cluster": {
 68357             "shape": "Sv"
 68358           }
 68359         }
 68360       }
 68361     },
 68362     "ModifyClusterIamRoles": {
 68363       "input": {
 68364         "type": "structure",
 68365         "required": [
 68366           "ClusterIdentifier"
 68367         ],
 68368         "members": {
 68369           "ClusterIdentifier": {},
 68370           "AddIamRoles": {
 68371             "shape": "St"
 68372           },
 68373           "RemoveIamRoles": {
 68374             "shape": "St"
 68375           }
 68376         }
 68377       },
 68378       "output": {
 68379         "resultWrapper": "ModifyClusterIamRolesResult",
 68380         "type": "structure",
 68381         "members": {
 68382           "Cluster": {
 68383             "shape": "Sv"
 68384           }
 68385         }
 68386       }
 68387     },
 68388     "ModifyClusterParameterGroup": {
 68389       "input": {
 68390         "type": "structure",
 68391         "required": [
 68392           "ParameterGroupName",
 68393           "Parameters"
 68394         ],
 68395         "members": {
 68396           "ParameterGroupName": {},
 68397           "Parameters": {
 68398             "shape": "S2q"
 68399           }
 68400         }
 68401       },
 68402       "output": {
 68403         "shape": "S57",
 68404         "resultWrapper": "ModifyClusterParameterGroupResult"
 68405       }
 68406     },
 68407     "ModifyClusterSubnetGroup": {
 68408       "input": {
 68409         "type": "structure",
 68410         "required": [
 68411           "ClusterSubnetGroupName",
 68412           "SubnetIds"
 68413         ],
 68414         "members": {
 68415           "ClusterSubnetGroupName": {},
 68416           "Description": {},
 68417           "SubnetIds": {
 68418             "shape": "S1m"
 68419           }
 68420         }
 68421       },
 68422       "output": {
 68423         "resultWrapper": "ModifyClusterSubnetGroupResult",
 68424         "type": "structure",
 68425         "members": {
 68426           "ClusterSubnetGroup": {
 68427             "shape": "S1o"
 68428           }
 68429         }
 68430       }
 68431     },
 68432     "ModifyEventSubscription": {
 68433       "input": {
 68434         "type": "structure",
 68435         "required": [
 68436           "SubscriptionName"
 68437         ],
 68438         "members": {
 68439           "SubscriptionName": {},
 68440           "SnsTopicArn": {},
 68441           "SourceType": {},
 68442           "SourceIds": {
 68443             "shape": "S1t"
 68444           },
 68445           "EventCategories": {
 68446             "shape": "S1u"
 68447           },
 68448           "Severity": {},
 68449           "Enabled": {
 68450             "type": "boolean"
 68451           }
 68452         }
 68453       },
 68454       "output": {
 68455         "resultWrapper": "ModifyEventSubscriptionResult",
 68456         "type": "structure",
 68457         "members": {
 68458           "EventSubscription": {
 68459             "shape": "S1w"
 68460           }
 68461         }
 68462       }
 68463     },
 68464     "ModifySnapshotCopyRetentionPeriod": {
 68465       "input": {
 68466         "type": "structure",
 68467         "required": [
 68468           "ClusterIdentifier",
 68469           "RetentionPeriod"
 68470         ],
 68471         "members": {
 68472           "ClusterIdentifier": {},
 68473           "RetentionPeriod": {
 68474             "type": "integer"
 68475           }
 68476         }
 68477       },
 68478       "output": {
 68479         "resultWrapper": "ModifySnapshotCopyRetentionPeriodResult",
 68480         "type": "structure",
 68481         "members": {
 68482           "Cluster": {
 68483             "shape": "Sv"
 68484           }
 68485         }
 68486       }
 68487     },
 68488     "PurchaseReservedNodeOffering": {
 68489       "input": {
 68490         "type": "structure",
 68491         "required": [
 68492           "ReservedNodeOfferingId"
 68493         ],
 68494         "members": {
 68495           "ReservedNodeOfferingId": {},
 68496           "NodeCount": {
 68497             "type": "integer"
 68498           }
 68499         }
 68500       },
 68501       "output": {
 68502         "resultWrapper": "PurchaseReservedNodeOfferingResult",
 68503         "type": "structure",
 68504         "members": {
 68505           "ReservedNode": {
 68506             "shape": "S4c"
 68507           }
 68508         }
 68509       }
 68510     },
 68511     "RebootCluster": {
 68512       "input": {
 68513         "type": "structure",
 68514         "required": [
 68515           "ClusterIdentifier"
 68516         ],
 68517         "members": {
 68518           "ClusterIdentifier": {}
 68519         }
 68520       },
 68521       "output": {
 68522         "resultWrapper": "RebootClusterResult",
 68523         "type": "structure",
 68524         "members": {
 68525           "Cluster": {
 68526             "shape": "Sv"
 68527           }
 68528         }
 68529       }
 68530     },
 68531     "ResetClusterParameterGroup": {
 68532       "input": {
 68533         "type": "structure",
 68534         "required": [
 68535           "ParameterGroupName"
 68536         ],
 68537         "members": {
 68538           "ParameterGroupName": {},
 68539           "ResetAllParameters": {
 68540             "type": "boolean"
 68541           },
 68542           "Parameters": {
 68543             "shape": "S2q"
 68544           }
 68545         }
 68546       },
 68547       "output": {
 68548         "shape": "S57",
 68549         "resultWrapper": "ResetClusterParameterGroupResult"
 68550       }
 68551     },
 68552     "RestoreFromClusterSnapshot": {
 68553       "input": {
 68554         "type": "structure",
 68555         "required": [
 68556           "ClusterIdentifier",
 68557           "SnapshotIdentifier"
 68558         ],
 68559         "members": {
 68560           "ClusterIdentifier": {},
 68561           "SnapshotIdentifier": {},
 68562           "SnapshotClusterIdentifier": {},
 68563           "Port": {
 68564             "type": "integer"
 68565           },
 68566           "AvailabilityZone": {},
 68567           "AllowVersionUpgrade": {
 68568             "type": "boolean"
 68569           },
 68570           "ClusterSubnetGroupName": {},
 68571           "PubliclyAccessible": {
 68572             "type": "boolean"
 68573           },
 68574           "OwnerAccount": {},
 68575           "HsmClientCertificateIdentifier": {},
 68576           "HsmConfigurationIdentifier": {},
 68577           "ElasticIp": {},
 68578           "ClusterParameterGroupName": {},
 68579           "ClusterSecurityGroups": {
 68580             "shape": "Sp"
 68581           },
 68582           "VpcSecurityGroupIds": {
 68583             "shape": "Sq"
 68584           },
 68585           "PreferredMaintenanceWindow": {},
 68586           "AutomatedSnapshotRetentionPeriod": {
 68587             "type": "integer"
 68588           },
 68589           "KmsKeyId": {},
 68590           "NodeType": {},
 68591           "EnhancedVpcRouting": {
 68592             "type": "boolean"
 68593           },
 68594           "AdditionalInfo": {},
 68595           "IamRoles": {
 68596             "shape": "St"
 68597           }
 68598         }
 68599       },
 68600       "output": {
 68601         "resultWrapper": "RestoreFromClusterSnapshotResult",
 68602         "type": "structure",
 68603         "members": {
 68604           "Cluster": {
 68605             "shape": "Sv"
 68606           }
 68607         }
 68608       }
 68609     },
 68610     "RestoreTableFromClusterSnapshot": {
 68611       "input": {
 68612         "type": "structure",
 68613         "required": [
 68614           "ClusterIdentifier",
 68615           "SnapshotIdentifier",
 68616           "SourceDatabaseName",
 68617           "SourceTableName",
 68618           "NewTableName"
 68619         ],
 68620         "members": {
 68621           "ClusterIdentifier": {},
 68622           "SnapshotIdentifier": {},
 68623           "SourceDatabaseName": {},
 68624           "SourceSchemaName": {},
 68625           "SourceTableName": {},
 68626           "TargetDatabaseName": {},
 68627           "TargetSchemaName": {},
 68628           "NewTableName": {}
 68629         }
 68630       },
 68631       "output": {
 68632         "resultWrapper": "RestoreTableFromClusterSnapshotResult",
 68633         "type": "structure",
 68634         "members": {
 68635           "TableRestoreStatus": {
 68636             "shape": "S4q"
 68637           }
 68638         }
 68639       }
 68640     },
 68641     "RevokeClusterSecurityGroupIngress": {
 68642       "input": {
 68643         "type": "structure",
 68644         "required": [
 68645           "ClusterSecurityGroupName"
 68646         ],
 68647         "members": {
 68648           "ClusterSecurityGroupName": {},
 68649           "CIDRIP": {},
 68650           "EC2SecurityGroupName": {},
 68651           "EC2SecurityGroupOwnerId": {}
 68652         }
 68653       },
 68654       "output": {
 68655         "resultWrapper": "RevokeClusterSecurityGroupIngressResult",
 68656         "type": "structure",
 68657         "members": {
 68658           "ClusterSecurityGroup": {
 68659             "shape": "S4"
 68660           }
 68661         }
 68662       }
 68663     },
 68664     "RevokeSnapshotAccess": {
 68665       "input": {
 68666         "type": "structure",
 68667         "required": [
 68668           "SnapshotIdentifier",
 68669           "AccountWithRestoreAccess"
 68670         ],
 68671         "members": {
 68672           "SnapshotIdentifier": {},
 68673           "SnapshotClusterIdentifier": {},
 68674           "AccountWithRestoreAccess": {}
 68675         }
 68676       },
 68677       "output": {
 68678         "resultWrapper": "RevokeSnapshotAccessResult",
 68679         "type": "structure",
 68680         "members": {
 68681           "Snapshot": {
 68682             "shape": "Sd"
 68683           }
 68684         }
 68685       }
 68686     },
 68687     "RotateEncryptionKey": {
 68688       "input": {
 68689         "type": "structure",
 68690         "required": [
 68691           "ClusterIdentifier"
 68692         ],
 68693         "members": {
 68694           "ClusterIdentifier": {}
 68695         }
 68696       },
 68697       "output": {
 68698         "resultWrapper": "RotateEncryptionKeyResult",
 68699         "type": "structure",
 68700         "members": {
 68701           "Cluster": {
 68702             "shape": "Sv"
 68703           }
 68704         }
 68705       }
 68706     }
 68707   },
 68708   "shapes": {
 68709     "S4": {
 68710       "type": "structure",
 68711       "members": {
 68712         "ClusterSecurityGroupName": {},
 68713         "Description": {},
 68714         "EC2SecurityGroups": {
 68715           "type": "list",
 68716           "member": {
 68717             "locationName": "EC2SecurityGroup",
 68718             "type": "structure",
 68719             "members": {
 68720               "Status": {},
 68721               "EC2SecurityGroupName": {},
 68722               "EC2SecurityGroupOwnerId": {},
 68723               "Tags": {
 68724                 "shape": "S7"
 68725               }
 68726             }
 68727           }
 68728         },
 68729         "IPRanges": {
 68730           "type": "list",
 68731           "member": {
 68732             "locationName": "IPRange",
 68733             "type": "structure",
 68734             "members": {
 68735               "Status": {},
 68736               "CIDRIP": {},
 68737               "Tags": {
 68738                 "shape": "S7"
 68739               }
 68740             }
 68741           }
 68742         },
 68743         "Tags": {
 68744           "shape": "S7"
 68745         }
 68746       },
 68747       "wrapper": true
 68748     },
 68749     "S7": {
 68750       "type": "list",
 68751       "member": {
 68752         "shape": "S8",
 68753         "locationName": "Tag"
 68754       }
 68755     },
 68756     "S8": {
 68757       "type": "structure",
 68758       "members": {
 68759         "Key": {},
 68760         "Value": {}
 68761       }
 68762     },
 68763     "Sd": {
 68764       "type": "structure",
 68765       "members": {
 68766         "SnapshotIdentifier": {},
 68767         "ClusterIdentifier": {},
 68768         "SnapshotCreateTime": {
 68769           "type": "timestamp"
 68770         },
 68771         "Status": {},
 68772         "Port": {
 68773           "type": "integer"
 68774         },
 68775         "AvailabilityZone": {},
 68776         "ClusterCreateTime": {
 68777           "type": "timestamp"
 68778         },
 68779         "MasterUsername": {},
 68780         "ClusterVersion": {},
 68781         "SnapshotType": {},
 68782         "NodeType": {},
 68783         "NumberOfNodes": {
 68784           "type": "integer"
 68785         },
 68786         "DBName": {},
 68787         "VpcId": {},
 68788         "Encrypted": {
 68789           "type": "boolean"
 68790         },
 68791         "KmsKeyId": {},
 68792         "EncryptedWithHSM": {
 68793           "type": "boolean"
 68794         },
 68795         "AccountsWithRestoreAccess": {
 68796           "type": "list",
 68797           "member": {
 68798             "locationName": "AccountWithRestoreAccess",
 68799             "type": "structure",
 68800             "members": {
 68801               "AccountId": {}
 68802             }
 68803           }
 68804         },
 68805         "OwnerAccount": {},
 68806         "TotalBackupSizeInMegaBytes": {
 68807           "type": "double"
 68808         },
 68809         "ActualIncrementalBackupSizeInMegaBytes": {
 68810           "type": "double"
 68811         },
 68812         "BackupProgressInMegaBytes": {
 68813           "type": "double"
 68814         },
 68815         "CurrentBackupRateInMegaBytesPerSecond": {
 68816           "type": "double"
 68817         },
 68818         "EstimatedSecondsToCompletion": {
 68819           "type": "long"
 68820         },
 68821         "ElapsedTimeInSeconds": {
 68822           "type": "long"
 68823         },
 68824         "SourceRegion": {},
 68825         "Tags": {
 68826           "shape": "S7"
 68827         },
 68828         "RestorableNodeTypes": {
 68829           "type": "list",
 68830           "member": {
 68831             "locationName": "NodeType"
 68832           }
 68833         },
 68834         "EnhancedVpcRouting": {
 68835           "type": "boolean"
 68836         }
 68837       },
 68838       "wrapper": true
 68839     },
 68840     "Sp": {
 68841       "type": "list",
 68842       "member": {
 68843         "locationName": "ClusterSecurityGroupName"
 68844       }
 68845     },
 68846     "Sq": {
 68847       "type": "list",
 68848       "member": {
 68849         "locationName": "VpcSecurityGroupId"
 68850       }
 68851     },
 68852     "St": {
 68853       "type": "list",
 68854       "member": {
 68855         "locationName": "IamRoleArn"
 68856       }
 68857     },
 68858     "Sv": {
 68859       "type": "structure",
 68860       "members": {
 68861         "ClusterIdentifier": {},
 68862         "NodeType": {},
 68863         "ClusterStatus": {},
 68864         "ModifyStatus": {},
 68865         "MasterUsername": {},
 68866         "DBName": {},
 68867         "Endpoint": {
 68868           "type": "structure",
 68869           "members": {
 68870             "Address": {},
 68871             "Port": {
 68872               "type": "integer"
 68873             }
 68874           }
 68875         },
 68876         "ClusterCreateTime": {
 68877           "type": "timestamp"
 68878         },
 68879         "AutomatedSnapshotRetentionPeriod": {
 68880           "type": "integer"
 68881         },
 68882         "ClusterSecurityGroups": {
 68883           "type": "list",
 68884           "member": {
 68885             "locationName": "ClusterSecurityGroup",
 68886             "type": "structure",
 68887             "members": {
 68888               "ClusterSecurityGroupName": {},
 68889               "Status": {}
 68890             }
 68891           }
 68892         },
 68893         "VpcSecurityGroups": {
 68894           "type": "list",
 68895           "member": {
 68896             "locationName": "VpcSecurityGroup",
 68897             "type": "structure",
 68898             "members": {
 68899               "VpcSecurityGroupId": {},
 68900               "Status": {}
 68901             }
 68902           }
 68903         },
 68904         "ClusterParameterGroups": {
 68905           "type": "list",
 68906           "member": {
 68907             "locationName": "ClusterParameterGroup",
 68908             "type": "structure",
 68909             "members": {
 68910               "ParameterGroupName": {},
 68911               "ParameterApplyStatus": {},
 68912               "ClusterParameterStatusList": {
 68913                 "type": "list",
 68914                 "member": {
 68915                   "type": "structure",
 68916                   "members": {
 68917                     "ParameterName": {},
 68918                     "ParameterApplyStatus": {},
 68919                     "ParameterApplyErrorDescription": {}
 68920                   }
 68921                 }
 68922               }
 68923             }
 68924           }
 68925         },
 68926         "ClusterSubnetGroupName": {},
 68927         "VpcId": {},
 68928         "AvailabilityZone": {},
 68929         "PreferredMaintenanceWindow": {},
 68930         "PendingModifiedValues": {
 68931           "type": "structure",
 68932           "members": {
 68933             "MasterUserPassword": {},
 68934             "NodeType": {},
 68935             "NumberOfNodes": {
 68936               "type": "integer"
 68937             },
 68938             "ClusterType": {},
 68939             "ClusterVersion": {},
 68940             "AutomatedSnapshotRetentionPeriod": {
 68941               "type": "integer"
 68942             },
 68943             "ClusterIdentifier": {},
 68944             "PubliclyAccessible": {
 68945               "type": "boolean"
 68946             },
 68947             "EnhancedVpcRouting": {
 68948               "type": "boolean"
 68949             }
 68950           }
 68951         },
 68952         "ClusterVersion": {},
 68953         "AllowVersionUpgrade": {
 68954           "type": "boolean"
 68955         },
 68956         "NumberOfNodes": {
 68957           "type": "integer"
 68958         },
 68959         "PubliclyAccessible": {
 68960           "type": "boolean"
 68961         },
 68962         "Encrypted": {
 68963           "type": "boolean"
 68964         },
 68965         "RestoreStatus": {
 68966           "type": "structure",
 68967           "members": {
 68968             "Status": {},
 68969             "CurrentRestoreRateInMegaBytesPerSecond": {
 68970               "type": "double"
 68971             },
 68972             "SnapshotSizeInMegaBytes": {
 68973               "type": "long"
 68974             },
 68975             "ProgressInMegaBytes": {
 68976               "type": "long"
 68977             },
 68978             "ElapsedTimeInSeconds": {
 68979               "type": "long"
 68980             },
 68981             "EstimatedTimeToCompletionInSeconds": {
 68982               "type": "long"
 68983             }
 68984           }
 68985         },
 68986         "HsmStatus": {
 68987           "type": "structure",
 68988           "members": {
 68989             "HsmClientCertificateIdentifier": {},
 68990             "HsmConfigurationIdentifier": {},
 68991             "Status": {}
 68992           }
 68993         },
 68994         "ClusterSnapshotCopyStatus": {
 68995           "type": "structure",
 68996           "members": {
 68997             "DestinationRegion": {},
 68998             "RetentionPeriod": {
 68999               "type": "long"
 69000             },
 69001             "SnapshotCopyGrantName": {}
 69002           }
 69003         },
 69004         "ClusterPublicKey": {},
 69005         "ClusterNodes": {
 69006           "type": "list",
 69007           "member": {
 69008             "type": "structure",
 69009             "members": {
 69010               "NodeRole": {},
 69011               "PrivateIPAddress": {},
 69012               "PublicIPAddress": {}
 69013             }
 69014           }
 69015         },
 69016         "ElasticIpStatus": {
 69017           "type": "structure",
 69018           "members": {
 69019             "ElasticIp": {},
 69020             "Status": {}
 69021           }
 69022         },
 69023         "ClusterRevisionNumber": {},
 69024         "Tags": {
 69025           "shape": "S7"
 69026         },
 69027         "KmsKeyId": {},
 69028         "EnhancedVpcRouting": {
 69029           "type": "boolean"
 69030         },
 69031         "IamRoles": {
 69032           "type": "list",
 69033           "member": {
 69034             "locationName": "ClusterIamRole",
 69035             "type": "structure",
 69036             "members": {
 69037               "IamRoleArn": {},
 69038               "ApplyStatus": {}
 69039             }
 69040           }
 69041         }
 69042       },
 69043       "wrapper": true
 69044     },
 69045     "S1g": {
 69046       "type": "structure",
 69047       "members": {
 69048         "ParameterGroupName": {},
 69049         "ParameterGroupFamily": {},
 69050         "Description": {},
 69051         "Tags": {
 69052           "shape": "S7"
 69053         }
 69054       },
 69055       "wrapper": true
 69056     },
 69057     "S1m": {
 69058       "type": "list",
 69059       "member": {
 69060         "locationName": "SubnetIdentifier"
 69061       }
 69062     },
 69063     "S1o": {
 69064       "type": "structure",
 69065       "members": {
 69066         "ClusterSubnetGroupName": {},
 69067         "Description": {},
 69068         "VpcId": {},
 69069         "SubnetGroupStatus": {},
 69070         "Subnets": {
 69071           "type": "list",
 69072           "member": {
 69073             "locationName": "Subnet",
 69074             "type": "structure",
 69075             "members": {
 69076               "SubnetIdentifier": {},
 69077               "SubnetAvailabilityZone": {
 69078                 "shape": "S1r"
 69079               },
 69080               "SubnetStatus": {}
 69081             }
 69082           }
 69083         },
 69084         "Tags": {
 69085           "shape": "S7"
 69086         }
 69087       },
 69088       "wrapper": true
 69089     },
 69090     "S1r": {
 69091       "type": "structure",
 69092       "members": {
 69093         "Name": {}
 69094       },
 69095       "wrapper": true
 69096     },
 69097     "S1t": {
 69098       "type": "list",
 69099       "member": {
 69100         "locationName": "SourceId"
 69101       }
 69102     },
 69103     "S1u": {
 69104       "type": "list",
 69105       "member": {
 69106         "locationName": "EventCategory"
 69107       }
 69108     },
 69109     "S1w": {
 69110       "type": "structure",
 69111       "members": {
 69112         "CustomerAwsId": {},
 69113         "CustSubscriptionId": {},
 69114         "SnsTopicArn": {},
 69115         "Status": {},
 69116         "SubscriptionCreationTime": {
 69117           "type": "timestamp"
 69118         },
 69119         "SourceType": {},
 69120         "SourceIdsList": {
 69121           "shape": "S1t"
 69122         },
 69123         "EventCategoriesList": {
 69124           "shape": "S1u"
 69125         },
 69126         "Severity": {},
 69127         "Enabled": {
 69128           "type": "boolean"
 69129         },
 69130         "Tags": {
 69131           "shape": "S7"
 69132         }
 69133       },
 69134       "wrapper": true
 69135     },
 69136     "S1z": {
 69137       "type": "structure",
 69138       "members": {
 69139         "HsmClientCertificateIdentifier": {},
 69140         "HsmClientCertificatePublicKey": {},
 69141         "Tags": {
 69142           "shape": "S7"
 69143         }
 69144       },
 69145       "wrapper": true
 69146     },
 69147     "S22": {
 69148       "type": "structure",
 69149       "members": {
 69150         "HsmConfigurationIdentifier": {},
 69151         "Description": {},
 69152         "HsmIpAddress": {},
 69153         "HsmPartitionName": {},
 69154         "Tags": {
 69155           "shape": "S7"
 69156         }
 69157       },
 69158       "wrapper": true
 69159     },
 69160     "S25": {
 69161       "type": "structure",
 69162       "members": {
 69163         "SnapshotCopyGrantName": {},
 69164         "KmsKeyId": {},
 69165         "Tags": {
 69166           "shape": "S7"
 69167         }
 69168       },
 69169       "wrapper": true
 69170     },
 69171     "S2j": {
 69172       "type": "list",
 69173       "member": {
 69174         "locationName": "TagKey"
 69175       }
 69176     },
 69177     "S2l": {
 69178       "type": "list",
 69179       "member": {
 69180         "locationName": "TagValue"
 69181       }
 69182     },
 69183     "S2q": {
 69184       "type": "list",
 69185       "member": {
 69186         "locationName": "Parameter",
 69187         "type": "structure",
 69188         "members": {
 69189           "ParameterName": {},
 69190           "ParameterValue": {},
 69191           "Description": {},
 69192           "Source": {},
 69193           "DataType": {},
 69194           "AllowedValues": {},
 69195           "ApplyType": {},
 69196           "IsModifiable": {
 69197             "type": "boolean"
 69198           },
 69199           "MinimumEngineVersion": {}
 69200         }
 69201       }
 69202     },
 69203     "S3x": {
 69204       "type": "structure",
 69205       "members": {
 69206         "LoggingEnabled": {
 69207           "type": "boolean"
 69208         },
 69209         "BucketName": {},
 69210         "S3KeyPrefix": {},
 69211         "LastSuccessfulDeliveryTime": {
 69212           "type": "timestamp"
 69213         },
 69214         "LastFailureTime": {
 69215           "type": "timestamp"
 69216         },
 69217         "LastFailureMessage": {}
 69218       }
 69219     },
 69220     "S47": {
 69221       "type": "list",
 69222       "member": {
 69223         "locationName": "RecurringCharge",
 69224         "type": "structure",
 69225         "members": {
 69226           "RecurringChargeAmount": {
 69227             "type": "double"
 69228           },
 69229           "RecurringChargeFrequency": {}
 69230         },
 69231         "wrapper": true
 69232       }
 69233     },
 69234     "S4c": {
 69235       "type": "structure",
 69236       "members": {
 69237         "ReservedNodeId": {},
 69238         "ReservedNodeOfferingId": {},
 69239         "NodeType": {},
 69240         "StartTime": {
 69241           "type": "timestamp"
 69242         },
 69243         "Duration": {
 69244           "type": "integer"
 69245         },
 69246         "FixedPrice": {
 69247           "type": "double"
 69248         },
 69249         "UsagePrice": {
 69250           "type": "double"
 69251         },
 69252         "CurrencyCode": {},
 69253         "NodeCount": {
 69254           "type": "integer"
 69255         },
 69256         "State": {},
 69257         "OfferingType": {},
 69258         "RecurringCharges": {
 69259           "shape": "S47"
 69260         }
 69261       },
 69262       "wrapper": true
 69263     },
 69264     "S4q": {
 69265       "type": "structure",
 69266       "members": {
 69267         "TableRestoreRequestId": {},
 69268         "Status": {},
 69269         "Message": {},
 69270         "RequestTime": {
 69271           "type": "timestamp"
 69272         },
 69273         "ProgressInMegaBytes": {
 69274           "type": "long"
 69275         },
 69276         "TotalDataInMegaBytes": {
 69277           "type": "long"
 69278         },
 69279         "ClusterIdentifier": {},
 69280         "SnapshotIdentifier": {},
 69281         "SourceDatabaseName": {},
 69282         "SourceSchemaName": {},
 69283         "SourceTableName": {},
 69284         "TargetDatabaseName": {},
 69285         "TargetSchemaName": {},
 69286         "NewTableName": {}
 69287       },
 69288       "wrapper": true
 69289     },
 69290     "S57": {
 69291       "type": "structure",
 69292       "members": {
 69293         "ParameterGroupName": {},
 69294         "ParameterGroupStatus": {}
 69295       }
 69296     }
 69297   }
 69298 }
 69299 },{}],106:[function(require,module,exports){
 69300 module.exports={
 69301   "pagination": {
 69302     "DescribeClusterParameterGroups": {
 69303       "input_token": "Marker",
 69304       "output_token": "Marker",
 69305       "limit_key": "MaxRecords",
 69306       "result_key": "ParameterGroups"
 69307     },
 69308     "DescribeClusterParameters": {
 69309       "input_token": "Marker",
 69310       "output_token": "Marker",
 69311       "limit_key": "MaxRecords",
 69312       "result_key": "Parameters"
 69313     },
 69314     "DescribeClusterSecurityGroups": {
 69315       "input_token": "Marker",
 69316       "output_token": "Marker",
 69317       "limit_key": "MaxRecords",
 69318       "result_key": "ClusterSecurityGroups"
 69319     },
 69320     "DescribeClusterSnapshots": {
 69321       "input_token": "Marker",
 69322       "output_token": "Marker",
 69323       "limit_key": "MaxRecords",
 69324       "result_key": "Snapshots"
 69325     },
 69326     "DescribeClusterSubnetGroups": {
 69327       "input_token": "Marker",
 69328       "output_token": "Marker",
 69329       "limit_key": "MaxRecords",
 69330       "result_key": "ClusterSubnetGroups"
 69331     },
 69332     "DescribeClusterVersions": {
 69333       "input_token": "Marker",
 69334       "output_token": "Marker",
 69335       "limit_key": "MaxRecords",
 69336       "result_key": "ClusterVersions"
 69337     },
 69338     "DescribeClusters": {
 69339       "input_token": "Marker",
 69340       "output_token": "Marker",
 69341       "limit_key": "MaxRecords",
 69342       "result_key": "Clusters"
 69343     },
 69344     "DescribeDefaultClusterParameters": {
 69345       "input_token": "Marker",
 69346       "output_token": "DefaultClusterParameters.Marker",
 69347       "limit_key": "MaxRecords",
 69348       "result_key": "DefaultClusterParameters.Parameters"
 69349     },
 69350     "DescribeEventSubscriptions": {
 69351       "input_token": "Marker",
 69352       "output_token": "Marker",
 69353       "limit_key": "MaxRecords",
 69354       "result_key": "EventSubscriptionsList"
 69355     },
 69356     "DescribeEvents": {
 69357       "input_token": "Marker",
 69358       "output_token": "Marker",
 69359       "limit_key": "MaxRecords",
 69360       "result_key": "Events"
 69361     },
 69362     "DescribeHsmClientCertificates": {
 69363       "input_token": "Marker",
 69364       "output_token": "Marker",
 69365       "limit_key": "MaxRecords",
 69366       "result_key": "HsmClientCertificates"
 69367     },
 69368     "DescribeHsmConfigurations": {
 69369       "input_token": "Marker",
 69370       "output_token": "Marker",
 69371       "limit_key": "MaxRecords",
 69372       "result_key": "HsmConfigurations"
 69373     },
 69374     "DescribeOrderableClusterOptions": {
 69375       "input_token": "Marker",
 69376       "output_token": "Marker",
 69377       "limit_key": "MaxRecords",
 69378       "result_key": "OrderableClusterOptions"
 69379     },
 69380     "DescribeReservedNodeOfferings": {
 69381       "input_token": "Marker",
 69382       "output_token": "Marker",
 69383       "limit_key": "MaxRecords",
 69384       "result_key": "ReservedNodeOfferings"
 69385     },
 69386     "DescribeReservedNodes": {
 69387       "input_token": "Marker",
 69388       "output_token": "Marker",
 69389       "limit_key": "MaxRecords",
 69390       "result_key": "ReservedNodes"
 69391     }
 69392   }
 69393 }
 69394 
 69395 },{}],107:[function(require,module,exports){
 69396 module.exports={
 69397   "version": 2,
 69398   "waiters": {
 69399     "ClusterAvailable": {
 69400       "delay": 60,
 69401       "operation": "DescribeClusters",
 69402       "maxAttempts": 30,
 69403       "acceptors": [
 69404         {
 69405           "expected": "available",
 69406           "matcher": "pathAll",
 69407           "state": "success",
 69408           "argument": "Clusters[].ClusterStatus"
 69409         },
 69410         {
 69411           "expected": "deleting",
 69412           "matcher": "pathAny",
 69413           "state": "failure",
 69414           "argument": "Clusters[].ClusterStatus"
 69415         },
 69416         {
 69417           "expected": "ClusterNotFound",
 69418           "matcher": "error",
 69419           "state": "retry"
 69420         }
 69421       ]
 69422     },
 69423     "ClusterDeleted": {
 69424       "delay": 60,
 69425       "operation": "DescribeClusters",
 69426       "maxAttempts": 30,
 69427       "acceptors": [
 69428         {
 69429           "expected": "ClusterNotFound",
 69430           "matcher": "error",
 69431           "state": "success"
 69432         },
 69433         {
 69434           "expected": "creating",
 69435           "matcher": "pathAny",
 69436           "state": "failure",
 69437           "argument": "Clusters[].ClusterStatus"
 69438         },
 69439         {
 69440           "expected": "modifying",
 69441           "matcher": "pathAny",
 69442           "state": "failure",
 69443           "argument": "Clusters[].ClusterStatus"
 69444         }
 69445       ]
 69446     },
 69447     "ClusterRestored": {
 69448       "operation": "DescribeClusters",
 69449       "maxAttempts": 30,
 69450       "delay": 60,
 69451       "acceptors": [
 69452         {
 69453           "state": "success",
 69454           "matcher": "pathAll",
 69455           "argument": "Clusters[].RestoreStatus.Status",
 69456           "expected": "completed"
 69457         },
 69458         {
 69459           "state": "failure",
 69460           "matcher": "pathAny",
 69461           "argument": "Clusters[].ClusterStatus",
 69462           "expected": "deleting"
 69463         }
 69464       ]
 69465     },
 69466     "SnapshotAvailable": {
 69467       "delay": 15,
 69468       "operation": "DescribeClusterSnapshots",
 69469       "maxAttempts": 20,
 69470       "acceptors": [
 69471         {
 69472           "expected": "available",
 69473           "matcher": "pathAll",
 69474           "state": "success",
 69475           "argument": "Snapshots[].Status"
 69476         },
 69477         {
 69478           "expected": "failed",
 69479           "matcher": "pathAny",
 69480           "state": "failure",
 69481           "argument": "Snapshots[].Status"
 69482         },
 69483         {
 69484           "expected": "deleted",
 69485           "matcher": "pathAny",
 69486           "state": "failure",
 69487           "argument": "Snapshots[].Status"
 69488         }
 69489       ]
 69490     }
 69491   }
 69492 }
 69493 
 69494 },{}],108:[function(require,module,exports){
 69495 module.exports={
 69496   "version": "2.0",
 69497   "metadata": {
 69498     "apiVersion": "2013-04-01",
 69499     "endpointPrefix": "route53",
 69500     "globalEndpoint": "route53.amazonaws.com",
 69501     "protocol": "rest-xml",
 69502     "serviceAbbreviation": "Route 53",
 69503     "serviceFullName": "Amazon Route 53",
 69504     "signatureVersion": "v4",
 69505     "uid": "route53-2013-04-01"
 69506   },
 69507   "operations": {
 69508     "AssociateVPCWithHostedZone": {
 69509       "http": {
 69510         "requestUri": "/2013-04-01/hostedzone/{Id}/associatevpc"
 69511       },
 69512       "input": {
 69513         "locationName": "AssociateVPCWithHostedZoneRequest",
 69514         "xmlNamespace": {
 69515           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69516         },
 69517         "type": "structure",
 69518         "required": [
 69519           "HostedZoneId",
 69520           "VPC"
 69521         ],
 69522         "members": {
 69523           "HostedZoneId": {
 69524             "location": "uri",
 69525             "locationName": "Id"
 69526           },
 69527           "VPC": {
 69528             "shape": "S3"
 69529           },
 69530           "Comment": {}
 69531         }
 69532       },
 69533       "output": {
 69534         "type": "structure",
 69535         "required": [
 69536           "ChangeInfo"
 69537         ],
 69538         "members": {
 69539           "ChangeInfo": {
 69540             "shape": "S8"
 69541           }
 69542         }
 69543       }
 69544     },
 69545     "ChangeResourceRecordSets": {
 69546       "http": {
 69547         "requestUri": "/2013-04-01/hostedzone/{Id}/rrset/"
 69548       },
 69549       "input": {
 69550         "locationName": "ChangeResourceRecordSetsRequest",
 69551         "xmlNamespace": {
 69552           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69553         },
 69554         "type": "structure",
 69555         "required": [
 69556           "HostedZoneId",
 69557           "ChangeBatch"
 69558         ],
 69559         "members": {
 69560           "HostedZoneId": {
 69561             "location": "uri",
 69562             "locationName": "Id"
 69563           },
 69564           "ChangeBatch": {
 69565             "type": "structure",
 69566             "required": [
 69567               "Changes"
 69568             ],
 69569             "members": {
 69570               "Comment": {},
 69571               "Changes": {
 69572                 "type": "list",
 69573                 "member": {
 69574                   "locationName": "Change",
 69575                   "type": "structure",
 69576                   "required": [
 69577                     "Action",
 69578                     "ResourceRecordSet"
 69579                   ],
 69580                   "members": {
 69581                     "Action": {},
 69582                     "ResourceRecordSet": {
 69583                       "shape": "Sh"
 69584                     }
 69585                   }
 69586                 }
 69587               }
 69588             }
 69589           }
 69590         }
 69591       },
 69592       "output": {
 69593         "type": "structure",
 69594         "required": [
 69595           "ChangeInfo"
 69596         ],
 69597         "members": {
 69598           "ChangeInfo": {
 69599             "shape": "S8"
 69600           }
 69601         }
 69602       }
 69603     },
 69604     "ChangeTagsForResource": {
 69605       "http": {
 69606         "requestUri": "/2013-04-01/tags/{ResourceType}/{ResourceId}"
 69607       },
 69608       "input": {
 69609         "locationName": "ChangeTagsForResourceRequest",
 69610         "xmlNamespace": {
 69611           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69612         },
 69613         "type": "structure",
 69614         "required": [
 69615           "ResourceType",
 69616           "ResourceId"
 69617         ],
 69618         "members": {
 69619           "ResourceType": {
 69620             "location": "uri",
 69621             "locationName": "ResourceType"
 69622           },
 69623           "ResourceId": {
 69624             "location": "uri",
 69625             "locationName": "ResourceId"
 69626           },
 69627           "AddTags": {
 69628             "shape": "S14"
 69629           },
 69630           "RemoveTagKeys": {
 69631             "type": "list",
 69632             "member": {
 69633               "locationName": "Key"
 69634             }
 69635           }
 69636         }
 69637       },
 69638       "output": {
 69639         "type": "structure",
 69640         "members": {}
 69641       }
 69642     },
 69643     "CreateHealthCheck": {
 69644       "http": {
 69645         "requestUri": "/2013-04-01/healthcheck",
 69646         "responseCode": 201
 69647       },
 69648       "input": {
 69649         "locationName": "CreateHealthCheckRequest",
 69650         "xmlNamespace": {
 69651           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69652         },
 69653         "type": "structure",
 69654         "required": [
 69655           "CallerReference",
 69656           "HealthCheckConfig"
 69657         ],
 69658         "members": {
 69659           "CallerReference": {},
 69660           "HealthCheckConfig": {
 69661             "shape": "S1c"
 69662           }
 69663         }
 69664       },
 69665       "output": {
 69666         "type": "structure",
 69667         "required": [
 69668           "HealthCheck",
 69669           "Location"
 69670         ],
 69671         "members": {
 69672           "HealthCheck": {
 69673             "shape": "S1x"
 69674           },
 69675           "Location": {
 69676             "location": "header",
 69677             "locationName": "Location"
 69678           }
 69679         }
 69680       }
 69681     },
 69682     "CreateHostedZone": {
 69683       "http": {
 69684         "requestUri": "/2013-04-01/hostedzone",
 69685         "responseCode": 201
 69686       },
 69687       "input": {
 69688         "locationName": "CreateHostedZoneRequest",
 69689         "xmlNamespace": {
 69690           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69691         },
 69692         "type": "structure",
 69693         "required": [
 69694           "Name",
 69695           "CallerReference"
 69696         ],
 69697         "members": {
 69698           "Name": {},
 69699           "VPC": {
 69700             "shape": "S3"
 69701           },
 69702           "CallerReference": {},
 69703           "HostedZoneConfig": {
 69704             "shape": "S2d"
 69705           },
 69706           "DelegationSetId": {}
 69707         }
 69708       },
 69709       "output": {
 69710         "type": "structure",
 69711         "required": [
 69712           "HostedZone",
 69713           "ChangeInfo",
 69714           "DelegationSet",
 69715           "Location"
 69716         ],
 69717         "members": {
 69718           "HostedZone": {
 69719             "shape": "S2g"
 69720           },
 69721           "ChangeInfo": {
 69722             "shape": "S8"
 69723           },
 69724           "DelegationSet": {
 69725             "shape": "S2i"
 69726           },
 69727           "VPC": {
 69728             "shape": "S3"
 69729           },
 69730           "Location": {
 69731             "location": "header",
 69732             "locationName": "Location"
 69733           }
 69734         }
 69735       }
 69736     },
 69737     "CreateReusableDelegationSet": {
 69738       "http": {
 69739         "requestUri": "/2013-04-01/delegationset",
 69740         "responseCode": 201
 69741       },
 69742       "input": {
 69743         "locationName": "CreateReusableDelegationSetRequest",
 69744         "xmlNamespace": {
 69745           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69746         },
 69747         "type": "structure",
 69748         "required": [
 69749           "CallerReference"
 69750         ],
 69751         "members": {
 69752           "CallerReference": {},
 69753           "HostedZoneId": {}
 69754         }
 69755       },
 69756       "output": {
 69757         "type": "structure",
 69758         "required": [
 69759           "DelegationSet",
 69760           "Location"
 69761         ],
 69762         "members": {
 69763           "DelegationSet": {
 69764             "shape": "S2i"
 69765           },
 69766           "Location": {
 69767             "location": "header",
 69768             "locationName": "Location"
 69769           }
 69770         }
 69771       }
 69772     },
 69773     "CreateTrafficPolicy": {
 69774       "http": {
 69775         "requestUri": "/2013-04-01/trafficpolicy",
 69776         "responseCode": 201
 69777       },
 69778       "input": {
 69779         "locationName": "CreateTrafficPolicyRequest",
 69780         "xmlNamespace": {
 69781           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69782         },
 69783         "type": "structure",
 69784         "required": [
 69785           "Name",
 69786           "Document"
 69787         ],
 69788         "members": {
 69789           "Name": {},
 69790           "Document": {},
 69791           "Comment": {}
 69792         }
 69793       },
 69794       "output": {
 69795         "type": "structure",
 69796         "required": [
 69797           "TrafficPolicy",
 69798           "Location"
 69799         ],
 69800         "members": {
 69801           "TrafficPolicy": {
 69802             "shape": "S2r"
 69803           },
 69804           "Location": {
 69805             "location": "header",
 69806             "locationName": "Location"
 69807           }
 69808         }
 69809       }
 69810     },
 69811     "CreateTrafficPolicyInstance": {
 69812       "http": {
 69813         "requestUri": "/2013-04-01/trafficpolicyinstance",
 69814         "responseCode": 201
 69815       },
 69816       "input": {
 69817         "locationName": "CreateTrafficPolicyInstanceRequest",
 69818         "xmlNamespace": {
 69819           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69820         },
 69821         "type": "structure",
 69822         "required": [
 69823           "HostedZoneId",
 69824           "Name",
 69825           "TTL",
 69826           "TrafficPolicyId",
 69827           "TrafficPolicyVersion"
 69828         ],
 69829         "members": {
 69830           "HostedZoneId": {},
 69831           "Name": {},
 69832           "TTL": {
 69833             "type": "long"
 69834           },
 69835           "TrafficPolicyId": {},
 69836           "TrafficPolicyVersion": {
 69837             "type": "integer"
 69838           }
 69839         }
 69840       },
 69841       "output": {
 69842         "type": "structure",
 69843         "required": [
 69844           "TrafficPolicyInstance",
 69845           "Location"
 69846         ],
 69847         "members": {
 69848           "TrafficPolicyInstance": {
 69849             "shape": "S2w"
 69850           },
 69851           "Location": {
 69852             "location": "header",
 69853             "locationName": "Location"
 69854           }
 69855         }
 69856       }
 69857     },
 69858     "CreateTrafficPolicyVersion": {
 69859       "http": {
 69860         "requestUri": "/2013-04-01/trafficpolicy/{Id}",
 69861         "responseCode": 201
 69862       },
 69863       "input": {
 69864         "locationName": "CreateTrafficPolicyVersionRequest",
 69865         "xmlNamespace": {
 69866           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69867         },
 69868         "type": "structure",
 69869         "required": [
 69870           "Id",
 69871           "Document"
 69872         ],
 69873         "members": {
 69874           "Id": {
 69875             "location": "uri",
 69876             "locationName": "Id"
 69877           },
 69878           "Document": {},
 69879           "Comment": {}
 69880         }
 69881       },
 69882       "output": {
 69883         "type": "structure",
 69884         "required": [
 69885           "TrafficPolicy",
 69886           "Location"
 69887         ],
 69888         "members": {
 69889           "TrafficPolicy": {
 69890             "shape": "S2r"
 69891           },
 69892           "Location": {
 69893             "location": "header",
 69894             "locationName": "Location"
 69895           }
 69896         }
 69897       }
 69898     },
 69899     "CreateVPCAssociationAuthorization": {
 69900       "http": {
 69901         "requestUri": "/2013-04-01/hostedzone/{Id}/authorizevpcassociation"
 69902       },
 69903       "input": {
 69904         "locationName": "CreateVPCAssociationAuthorizationRequest",
 69905         "xmlNamespace": {
 69906           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 69907         },
 69908         "type": "structure",
 69909         "required": [
 69910           "HostedZoneId",
 69911           "VPC"
 69912         ],
 69913         "members": {
 69914           "HostedZoneId": {
 69915             "location": "uri",
 69916             "locationName": "Id"
 69917           },
 69918           "VPC": {
 69919             "shape": "S3"
 69920           }
 69921         }
 69922       },
 69923       "output": {
 69924         "type": "structure",
 69925         "required": [
 69926           "HostedZoneId",
 69927           "VPC"
 69928         ],
 69929         "members": {
 69930           "HostedZoneId": {},
 69931           "VPC": {
 69932             "shape": "S3"
 69933           }
 69934         }
 69935       }
 69936     },
 69937     "DeleteHealthCheck": {
 69938       "http": {
 69939         "method": "DELETE",
 69940         "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
 69941       },
 69942       "input": {
 69943         "type": "structure",
 69944         "required": [
 69945           "HealthCheckId"
 69946         ],
 69947         "members": {
 69948           "HealthCheckId": {
 69949             "location": "uri",
 69950             "locationName": "HealthCheckId"
 69951           }
 69952         }
 69953       },
 69954       "output": {
 69955         "type": "structure",
 69956         "members": {}
 69957       }
 69958     },
 69959     "DeleteHostedZone": {
 69960       "http": {
 69961         "method": "DELETE",
 69962         "requestUri": "/2013-04-01/hostedzone/{Id}"
 69963       },
 69964       "input": {
 69965         "type": "structure",
 69966         "required": [
 69967           "Id"
 69968         ],
 69969         "members": {
 69970           "Id": {
 69971             "location": "uri",
 69972             "locationName": "Id"
 69973           }
 69974         }
 69975       },
 69976       "output": {
 69977         "type": "structure",
 69978         "required": [
 69979           "ChangeInfo"
 69980         ],
 69981         "members": {
 69982           "ChangeInfo": {
 69983             "shape": "S8"
 69984           }
 69985         }
 69986       }
 69987     },
 69988     "DeleteReusableDelegationSet": {
 69989       "http": {
 69990         "method": "DELETE",
 69991         "requestUri": "/2013-04-01/delegationset/{Id}"
 69992       },
 69993       "input": {
 69994         "type": "structure",
 69995         "required": [
 69996           "Id"
 69997         ],
 69998         "members": {
 69999           "Id": {
 70000             "location": "uri",
 70001             "locationName": "Id"
 70002           }
 70003         }
 70004       },
 70005       "output": {
 70006         "type": "structure",
 70007         "members": {}
 70008       }
 70009     },
 70010     "DeleteTrafficPolicy": {
 70011       "http": {
 70012         "method": "DELETE",
 70013         "requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
 70014       },
 70015       "input": {
 70016         "type": "structure",
 70017         "required": [
 70018           "Id",
 70019           "Version"
 70020         ],
 70021         "members": {
 70022           "Id": {
 70023             "location": "uri",
 70024             "locationName": "Id"
 70025           },
 70026           "Version": {
 70027             "location": "uri",
 70028             "locationName": "Version",
 70029             "type": "integer"
 70030           }
 70031         }
 70032       },
 70033       "output": {
 70034         "type": "structure",
 70035         "members": {}
 70036       }
 70037     },
 70038     "DeleteTrafficPolicyInstance": {
 70039       "http": {
 70040         "method": "DELETE",
 70041         "requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
 70042       },
 70043       "input": {
 70044         "type": "structure",
 70045         "required": [
 70046           "Id"
 70047         ],
 70048         "members": {
 70049           "Id": {
 70050             "location": "uri",
 70051             "locationName": "Id"
 70052           }
 70053         }
 70054       },
 70055       "output": {
 70056         "type": "structure",
 70057         "members": {}
 70058       }
 70059     },
 70060     "DeleteVPCAssociationAuthorization": {
 70061       "http": {
 70062         "requestUri": "/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation"
 70063       },
 70064       "input": {
 70065         "locationName": "DeleteVPCAssociationAuthorizationRequest",
 70066         "xmlNamespace": {
 70067           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 70068         },
 70069         "type": "structure",
 70070         "required": [
 70071           "HostedZoneId",
 70072           "VPC"
 70073         ],
 70074         "members": {
 70075           "HostedZoneId": {
 70076             "location": "uri",
 70077             "locationName": "Id"
 70078           },
 70079           "VPC": {
 70080             "shape": "S3"
 70081           }
 70082         }
 70083       },
 70084       "output": {
 70085         "type": "structure",
 70086         "members": {}
 70087       }
 70088     },
 70089     "DisassociateVPCFromHostedZone": {
 70090       "http": {
 70091         "requestUri": "/2013-04-01/hostedzone/{Id}/disassociatevpc"
 70092       },
 70093       "input": {
 70094         "locationName": "DisassociateVPCFromHostedZoneRequest",
 70095         "xmlNamespace": {
 70096           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 70097         },
 70098         "type": "structure",
 70099         "required": [
 70100           "HostedZoneId",
 70101           "VPC"
 70102         ],
 70103         "members": {
 70104           "HostedZoneId": {
 70105             "location": "uri",
 70106             "locationName": "Id"
 70107           },
 70108           "VPC": {
 70109             "shape": "S3"
 70110           },
 70111           "Comment": {}
 70112         }
 70113       },
 70114       "output": {
 70115         "type": "structure",
 70116         "required": [
 70117           "ChangeInfo"
 70118         ],
 70119         "members": {
 70120           "ChangeInfo": {
 70121             "shape": "S8"
 70122           }
 70123         }
 70124       }
 70125     },
 70126     "GetChange": {
 70127       "http": {
 70128         "method": "GET",
 70129         "requestUri": "/2013-04-01/change/{Id}"
 70130       },
 70131       "input": {
 70132         "type": "structure",
 70133         "required": [
 70134           "Id"
 70135         ],
 70136         "members": {
 70137           "Id": {
 70138             "location": "uri",
 70139             "locationName": "Id"
 70140           }
 70141         }
 70142       },
 70143       "output": {
 70144         "type": "structure",
 70145         "required": [
 70146           "ChangeInfo"
 70147         ],
 70148         "members": {
 70149           "ChangeInfo": {
 70150             "shape": "S8"
 70151           }
 70152         }
 70153       }
 70154     },
 70155     "GetCheckerIpRanges": {
 70156       "http": {
 70157         "method": "GET",
 70158         "requestUri": "/2013-04-01/checkeripranges"
 70159       },
 70160       "input": {
 70161         "type": "structure",
 70162         "members": {}
 70163       },
 70164       "output": {
 70165         "type": "structure",
 70166         "required": [
 70167           "CheckerIpRanges"
 70168         ],
 70169         "members": {
 70170           "CheckerIpRanges": {
 70171             "type": "list",
 70172             "member": {}
 70173           }
 70174         }
 70175       }
 70176     },
 70177     "GetGeoLocation": {
 70178       "http": {
 70179         "method": "GET",
 70180         "requestUri": "/2013-04-01/geolocation"
 70181       },
 70182       "input": {
 70183         "type": "structure",
 70184         "members": {
 70185           "ContinentCode": {
 70186             "location": "querystring",
 70187             "locationName": "continentcode"
 70188           },
 70189           "CountryCode": {
 70190             "location": "querystring",
 70191             "locationName": "countrycode"
 70192           },
 70193           "SubdivisionCode": {
 70194             "location": "querystring",
 70195             "locationName": "subdivisioncode"
 70196           }
 70197         }
 70198       },
 70199       "output": {
 70200         "type": "structure",
 70201         "required": [
 70202           "GeoLocationDetails"
 70203         ],
 70204         "members": {
 70205           "GeoLocationDetails": {
 70206             "shape": "S3q"
 70207           }
 70208         }
 70209       }
 70210     },
 70211     "GetHealthCheck": {
 70212       "http": {
 70213         "method": "GET",
 70214         "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
 70215       },
 70216       "input": {
 70217         "type": "structure",
 70218         "required": [
 70219           "HealthCheckId"
 70220         ],
 70221         "members": {
 70222           "HealthCheckId": {
 70223             "location": "uri",
 70224             "locationName": "HealthCheckId"
 70225           }
 70226         }
 70227       },
 70228       "output": {
 70229         "type": "structure",
 70230         "required": [
 70231           "HealthCheck"
 70232         ],
 70233         "members": {
 70234           "HealthCheck": {
 70235             "shape": "S1x"
 70236           }
 70237         }
 70238       }
 70239     },
 70240     "GetHealthCheckCount": {
 70241       "http": {
 70242         "method": "GET",
 70243         "requestUri": "/2013-04-01/healthcheckcount"
 70244       },
 70245       "input": {
 70246         "type": "structure",
 70247         "members": {}
 70248       },
 70249       "output": {
 70250         "type": "structure",
 70251         "required": [
 70252           "HealthCheckCount"
 70253         ],
 70254         "members": {
 70255           "HealthCheckCount": {
 70256             "type": "long"
 70257           }
 70258         }
 70259       }
 70260     },
 70261     "GetHealthCheckLastFailureReason": {
 70262       "http": {
 70263         "method": "GET",
 70264         "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason"
 70265       },
 70266       "input": {
 70267         "type": "structure",
 70268         "required": [
 70269           "HealthCheckId"
 70270         ],
 70271         "members": {
 70272           "HealthCheckId": {
 70273             "location": "uri",
 70274             "locationName": "HealthCheckId"
 70275           }
 70276         }
 70277       },
 70278       "output": {
 70279         "type": "structure",
 70280         "required": [
 70281           "HealthCheckObservations"
 70282         ],
 70283         "members": {
 70284           "HealthCheckObservations": {
 70285             "shape": "S41"
 70286           }
 70287         }
 70288       }
 70289     },
 70290     "GetHealthCheckStatus": {
 70291       "http": {
 70292         "method": "GET",
 70293         "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}/status"
 70294       },
 70295       "input": {
 70296         "type": "structure",
 70297         "required": [
 70298           "HealthCheckId"
 70299         ],
 70300         "members": {
 70301           "HealthCheckId": {
 70302             "location": "uri",
 70303             "locationName": "HealthCheckId"
 70304           }
 70305         }
 70306       },
 70307       "output": {
 70308         "type": "structure",
 70309         "required": [
 70310           "HealthCheckObservations"
 70311         ],
 70312         "members": {
 70313           "HealthCheckObservations": {
 70314             "shape": "S41"
 70315           }
 70316         }
 70317       }
 70318     },
 70319     "GetHostedZone": {
 70320       "http": {
 70321         "method": "GET",
 70322         "requestUri": "/2013-04-01/hostedzone/{Id}"
 70323       },
 70324       "input": {
 70325         "type": "structure",
 70326         "required": [
 70327           "Id"
 70328         ],
 70329         "members": {
 70330           "Id": {
 70331             "location": "uri",
 70332             "locationName": "Id"
 70333           }
 70334         }
 70335       },
 70336       "output": {
 70337         "type": "structure",
 70338         "required": [
 70339           "HostedZone"
 70340         ],
 70341         "members": {
 70342           "HostedZone": {
 70343             "shape": "S2g"
 70344           },
 70345           "DelegationSet": {
 70346             "shape": "S2i"
 70347           },
 70348           "VPCs": {
 70349             "shape": "S49"
 70350           }
 70351         }
 70352       }
 70353     },
 70354     "GetHostedZoneCount": {
 70355       "http": {
 70356         "method": "GET",
 70357         "requestUri": "/2013-04-01/hostedzonecount"
 70358       },
 70359       "input": {
 70360         "type": "structure",
 70361         "members": {}
 70362       },
 70363       "output": {
 70364         "type": "structure",
 70365         "required": [
 70366           "HostedZoneCount"
 70367         ],
 70368         "members": {
 70369           "HostedZoneCount": {
 70370             "type": "long"
 70371           }
 70372         }
 70373       }
 70374     },
 70375     "GetReusableDelegationSet": {
 70376       "http": {
 70377         "method": "GET",
 70378         "requestUri": "/2013-04-01/delegationset/{Id}"
 70379       },
 70380       "input": {
 70381         "type": "structure",
 70382         "required": [
 70383           "Id"
 70384         ],
 70385         "members": {
 70386           "Id": {
 70387             "location": "uri",
 70388             "locationName": "Id"
 70389           }
 70390         }
 70391       },
 70392       "output": {
 70393         "type": "structure",
 70394         "required": [
 70395           "DelegationSet"
 70396         ],
 70397         "members": {
 70398           "DelegationSet": {
 70399             "shape": "S2i"
 70400           }
 70401         }
 70402       }
 70403     },
 70404     "GetTrafficPolicy": {
 70405       "http": {
 70406         "method": "GET",
 70407         "requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
 70408       },
 70409       "input": {
 70410         "type": "structure",
 70411         "required": [
 70412           "Id",
 70413           "Version"
 70414         ],
 70415         "members": {
 70416           "Id": {
 70417             "location": "uri",
 70418             "locationName": "Id"
 70419           },
 70420           "Version": {
 70421             "location": "uri",
 70422             "locationName": "Version",
 70423             "type": "integer"
 70424           }
 70425         }
 70426       },
 70427       "output": {
 70428         "type": "structure",
 70429         "required": [
 70430           "TrafficPolicy"
 70431         ],
 70432         "members": {
 70433           "TrafficPolicy": {
 70434             "shape": "S2r"
 70435           }
 70436         }
 70437       }
 70438     },
 70439     "GetTrafficPolicyInstance": {
 70440       "http": {
 70441         "method": "GET",
 70442         "requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
 70443       },
 70444       "input": {
 70445         "type": "structure",
 70446         "required": [
 70447           "Id"
 70448         ],
 70449         "members": {
 70450           "Id": {
 70451             "location": "uri",
 70452             "locationName": "Id"
 70453           }
 70454         }
 70455       },
 70456       "output": {
 70457         "type": "structure",
 70458         "required": [
 70459           "TrafficPolicyInstance"
 70460         ],
 70461         "members": {
 70462           "TrafficPolicyInstance": {
 70463             "shape": "S2w"
 70464           }
 70465         }
 70466       }
 70467     },
 70468     "GetTrafficPolicyInstanceCount": {
 70469       "http": {
 70470         "method": "GET",
 70471         "requestUri": "/2013-04-01/trafficpolicyinstancecount"
 70472       },
 70473       "input": {
 70474         "type": "structure",
 70475         "members": {}
 70476       },
 70477       "output": {
 70478         "type": "structure",
 70479         "required": [
 70480           "TrafficPolicyInstanceCount"
 70481         ],
 70482         "members": {
 70483           "TrafficPolicyInstanceCount": {
 70484             "type": "integer"
 70485           }
 70486         }
 70487       }
 70488     },
 70489     "ListGeoLocations": {
 70490       "http": {
 70491         "method": "GET",
 70492         "requestUri": "/2013-04-01/geolocations"
 70493       },
 70494       "input": {
 70495         "type": "structure",
 70496         "members": {
 70497           "StartContinentCode": {
 70498             "location": "querystring",
 70499             "locationName": "startcontinentcode"
 70500           },
 70501           "StartCountryCode": {
 70502             "location": "querystring",
 70503             "locationName": "startcountrycode"
 70504           },
 70505           "StartSubdivisionCode": {
 70506             "location": "querystring",
 70507             "locationName": "startsubdivisioncode"
 70508           },
 70509           "MaxItems": {
 70510             "location": "querystring",
 70511             "locationName": "maxitems"
 70512           }
 70513         }
 70514       },
 70515       "output": {
 70516         "type": "structure",
 70517         "required": [
 70518           "GeoLocationDetailsList",
 70519           "IsTruncated",
 70520           "MaxItems"
 70521         ],
 70522         "members": {
 70523           "GeoLocationDetailsList": {
 70524             "type": "list",
 70525             "member": {
 70526               "shape": "S3q",
 70527               "locationName": "GeoLocationDetails"
 70528             }
 70529           },
 70530           "IsTruncated": {
 70531             "type": "boolean"
 70532           },
 70533           "NextContinentCode": {},
 70534           "NextCountryCode": {},
 70535           "NextSubdivisionCode": {},
 70536           "MaxItems": {}
 70537         }
 70538       }
 70539     },
 70540     "ListHealthChecks": {
 70541       "http": {
 70542         "method": "GET",
 70543         "requestUri": "/2013-04-01/healthcheck"
 70544       },
 70545       "input": {
 70546         "type": "structure",
 70547         "members": {
 70548           "Marker": {
 70549             "location": "querystring",
 70550             "locationName": "marker"
 70551           },
 70552           "MaxItems": {
 70553             "location": "querystring",
 70554             "locationName": "maxitems"
 70555           }
 70556         }
 70557       },
 70558       "output": {
 70559         "type": "structure",
 70560         "required": [
 70561           "HealthChecks",
 70562           "Marker",
 70563           "IsTruncated",
 70564           "MaxItems"
 70565         ],
 70566         "members": {
 70567           "HealthChecks": {
 70568             "type": "list",
 70569             "member": {
 70570               "shape": "S1x",
 70571               "locationName": "HealthCheck"
 70572             }
 70573           },
 70574           "Marker": {},
 70575           "IsTruncated": {
 70576             "type": "boolean"
 70577           },
 70578           "NextMarker": {},
 70579           "MaxItems": {}
 70580         }
 70581       }
 70582     },
 70583     "ListHostedZones": {
 70584       "http": {
 70585         "method": "GET",
 70586         "requestUri": "/2013-04-01/hostedzone"
 70587       },
 70588       "input": {
 70589         "type": "structure",
 70590         "members": {
 70591           "Marker": {
 70592             "location": "querystring",
 70593             "locationName": "marker"
 70594           },
 70595           "MaxItems": {
 70596             "location": "querystring",
 70597             "locationName": "maxitems"
 70598           },
 70599           "DelegationSetId": {
 70600             "location": "querystring",
 70601             "locationName": "delegationsetid"
 70602           }
 70603         }
 70604       },
 70605       "output": {
 70606         "type": "structure",
 70607         "required": [
 70608           "HostedZones",
 70609           "Marker",
 70610           "IsTruncated",
 70611           "MaxItems"
 70612         ],
 70613         "members": {
 70614           "HostedZones": {
 70615             "shape": "S4x"
 70616           },
 70617           "Marker": {},
 70618           "IsTruncated": {
 70619             "type": "boolean"
 70620           },
 70621           "NextMarker": {},
 70622           "MaxItems": {}
 70623         }
 70624       }
 70625     },
 70626     "ListHostedZonesByName": {
 70627       "http": {
 70628         "method": "GET",
 70629         "requestUri": "/2013-04-01/hostedzonesbyname"
 70630       },
 70631       "input": {
 70632         "type": "structure",
 70633         "members": {
 70634           "DNSName": {
 70635             "location": "querystring",
 70636             "locationName": "dnsname"
 70637           },
 70638           "HostedZoneId": {
 70639             "location": "querystring",
 70640             "locationName": "hostedzoneid"
 70641           },
 70642           "MaxItems": {
 70643             "location": "querystring",
 70644             "locationName": "maxitems"
 70645           }
 70646         }
 70647       },
 70648       "output": {
 70649         "type": "structure",
 70650         "required": [
 70651           "HostedZones",
 70652           "IsTruncated",
 70653           "MaxItems"
 70654         ],
 70655         "members": {
 70656           "HostedZones": {
 70657             "shape": "S4x"
 70658           },
 70659           "DNSName": {},
 70660           "HostedZoneId": {},
 70661           "IsTruncated": {
 70662             "type": "boolean"
 70663           },
 70664           "NextDNSName": {},
 70665           "NextHostedZoneId": {},
 70666           "MaxItems": {}
 70667         }
 70668       }
 70669     },
 70670     "ListResourceRecordSets": {
 70671       "http": {
 70672         "method": "GET",
 70673         "requestUri": "/2013-04-01/hostedzone/{Id}/rrset"
 70674       },
 70675       "input": {
 70676         "type": "structure",
 70677         "required": [
 70678           "HostedZoneId"
 70679         ],
 70680         "members": {
 70681           "HostedZoneId": {
 70682             "location": "uri",
 70683             "locationName": "Id"
 70684           },
 70685           "StartRecordName": {
 70686             "location": "querystring",
 70687             "locationName": "name"
 70688           },
 70689           "StartRecordType": {
 70690             "location": "querystring",
 70691             "locationName": "type"
 70692           },
 70693           "StartRecordIdentifier": {
 70694             "location": "querystring",
 70695             "locationName": "identifier"
 70696           },
 70697           "MaxItems": {
 70698             "location": "querystring",
 70699             "locationName": "maxitems"
 70700           }
 70701         }
 70702       },
 70703       "output": {
 70704         "type": "structure",
 70705         "required": [
 70706           "ResourceRecordSets",
 70707           "IsTruncated",
 70708           "MaxItems"
 70709         ],
 70710         "members": {
 70711           "ResourceRecordSets": {
 70712             "type": "list",
 70713             "member": {
 70714               "shape": "Sh",
 70715               "locationName": "ResourceRecordSet"
 70716             }
 70717           },
 70718           "IsTruncated": {
 70719             "type": "boolean"
 70720           },
 70721           "NextRecordName": {},
 70722           "NextRecordType": {},
 70723           "NextRecordIdentifier": {},
 70724           "MaxItems": {}
 70725         }
 70726       }
 70727     },
 70728     "ListReusableDelegationSets": {
 70729       "http": {
 70730         "method": "GET",
 70731         "requestUri": "/2013-04-01/delegationset"
 70732       },
 70733       "input": {
 70734         "type": "structure",
 70735         "members": {
 70736           "Marker": {
 70737             "location": "querystring",
 70738             "locationName": "marker"
 70739           },
 70740           "MaxItems": {
 70741             "location": "querystring",
 70742             "locationName": "maxitems"
 70743           }
 70744         }
 70745       },
 70746       "output": {
 70747         "type": "structure",
 70748         "required": [
 70749           "DelegationSets",
 70750           "Marker",
 70751           "IsTruncated",
 70752           "MaxItems"
 70753         ],
 70754         "members": {
 70755           "DelegationSets": {
 70756             "type": "list",
 70757             "member": {
 70758               "shape": "S2i",
 70759               "locationName": "DelegationSet"
 70760             }
 70761           },
 70762           "Marker": {},
 70763           "IsTruncated": {
 70764             "type": "boolean"
 70765           },
 70766           "NextMarker": {},
 70767           "MaxItems": {}
 70768         }
 70769       }
 70770     },
 70771     "ListTagsForResource": {
 70772       "http": {
 70773         "method": "GET",
 70774         "requestUri": "/2013-04-01/tags/{ResourceType}/{ResourceId}"
 70775       },
 70776       "input": {
 70777         "type": "structure",
 70778         "required": [
 70779           "ResourceType",
 70780           "ResourceId"
 70781         ],
 70782         "members": {
 70783           "ResourceType": {
 70784             "location": "uri",
 70785             "locationName": "ResourceType"
 70786           },
 70787           "ResourceId": {
 70788             "location": "uri",
 70789             "locationName": "ResourceId"
 70790           }
 70791         }
 70792       },
 70793       "output": {
 70794         "type": "structure",
 70795         "required": [
 70796           "ResourceTagSet"
 70797         ],
 70798         "members": {
 70799           "ResourceTagSet": {
 70800             "shape": "S58"
 70801           }
 70802         }
 70803       }
 70804     },
 70805     "ListTagsForResources": {
 70806       "http": {
 70807         "requestUri": "/2013-04-01/tags/{ResourceType}"
 70808       },
 70809       "input": {
 70810         "locationName": "ListTagsForResourcesRequest",
 70811         "xmlNamespace": {
 70812           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 70813         },
 70814         "type": "structure",
 70815         "required": [
 70816           "ResourceType",
 70817           "ResourceIds"
 70818         ],
 70819         "members": {
 70820           "ResourceType": {
 70821             "location": "uri",
 70822             "locationName": "ResourceType"
 70823           },
 70824           "ResourceIds": {
 70825             "type": "list",
 70826             "member": {
 70827               "locationName": "ResourceId"
 70828             }
 70829           }
 70830         }
 70831       },
 70832       "output": {
 70833         "type": "structure",
 70834         "required": [
 70835           "ResourceTagSets"
 70836         ],
 70837         "members": {
 70838           "ResourceTagSets": {
 70839             "type": "list",
 70840             "member": {
 70841               "shape": "S58",
 70842               "locationName": "ResourceTagSet"
 70843             }
 70844           }
 70845         }
 70846       }
 70847     },
 70848     "ListTrafficPolicies": {
 70849       "http": {
 70850         "method": "GET",
 70851         "requestUri": "/2013-04-01/trafficpolicies"
 70852       },
 70853       "input": {
 70854         "type": "structure",
 70855         "members": {
 70856           "TrafficPolicyIdMarker": {
 70857             "location": "querystring",
 70858             "locationName": "trafficpolicyid"
 70859           },
 70860           "MaxItems": {
 70861             "location": "querystring",
 70862             "locationName": "maxitems"
 70863           }
 70864         }
 70865       },
 70866       "output": {
 70867         "type": "structure",
 70868         "required": [
 70869           "TrafficPolicySummaries",
 70870           "IsTruncated",
 70871           "TrafficPolicyIdMarker",
 70872           "MaxItems"
 70873         ],
 70874         "members": {
 70875           "TrafficPolicySummaries": {
 70876             "type": "list",
 70877             "member": {
 70878               "locationName": "TrafficPolicySummary",
 70879               "type": "structure",
 70880               "required": [
 70881                 "Id",
 70882                 "Name",
 70883                 "Type",
 70884                 "LatestVersion",
 70885                 "TrafficPolicyCount"
 70886               ],
 70887               "members": {
 70888                 "Id": {},
 70889                 "Name": {},
 70890                 "Type": {},
 70891                 "LatestVersion": {
 70892                   "type": "integer"
 70893                 },
 70894                 "TrafficPolicyCount": {
 70895                   "type": "integer"
 70896                 }
 70897               }
 70898             }
 70899           },
 70900           "IsTruncated": {
 70901             "type": "boolean"
 70902           },
 70903           "TrafficPolicyIdMarker": {},
 70904           "MaxItems": {}
 70905         }
 70906       }
 70907     },
 70908     "ListTrafficPolicyInstances": {
 70909       "http": {
 70910         "method": "GET",
 70911         "requestUri": "/2013-04-01/trafficpolicyinstances"
 70912       },
 70913       "input": {
 70914         "type": "structure",
 70915         "members": {
 70916           "HostedZoneIdMarker": {
 70917             "location": "querystring",
 70918             "locationName": "hostedzoneid"
 70919           },
 70920           "TrafficPolicyInstanceNameMarker": {
 70921             "location": "querystring",
 70922             "locationName": "trafficpolicyinstancename"
 70923           },
 70924           "TrafficPolicyInstanceTypeMarker": {
 70925             "location": "querystring",
 70926             "locationName": "trafficpolicyinstancetype"
 70927           },
 70928           "MaxItems": {
 70929             "location": "querystring",
 70930             "locationName": "maxitems"
 70931           }
 70932         }
 70933       },
 70934       "output": {
 70935         "type": "structure",
 70936         "required": [
 70937           "TrafficPolicyInstances",
 70938           "IsTruncated",
 70939           "MaxItems"
 70940         ],
 70941         "members": {
 70942           "TrafficPolicyInstances": {
 70943             "shape": "S5j"
 70944           },
 70945           "HostedZoneIdMarker": {},
 70946           "TrafficPolicyInstanceNameMarker": {},
 70947           "TrafficPolicyInstanceTypeMarker": {},
 70948           "IsTruncated": {
 70949             "type": "boolean"
 70950           },
 70951           "MaxItems": {}
 70952         }
 70953       }
 70954     },
 70955     "ListTrafficPolicyInstancesByHostedZone": {
 70956       "http": {
 70957         "method": "GET",
 70958         "requestUri": "/2013-04-01/trafficpolicyinstances/hostedzone"
 70959       },
 70960       "input": {
 70961         "type": "structure",
 70962         "required": [
 70963           "HostedZoneId"
 70964         ],
 70965         "members": {
 70966           "HostedZoneId": {
 70967             "location": "querystring",
 70968             "locationName": "id"
 70969           },
 70970           "TrafficPolicyInstanceNameMarker": {
 70971             "location": "querystring",
 70972             "locationName": "trafficpolicyinstancename"
 70973           },
 70974           "TrafficPolicyInstanceTypeMarker": {
 70975             "location": "querystring",
 70976             "locationName": "trafficpolicyinstancetype"
 70977           },
 70978           "MaxItems": {
 70979             "location": "querystring",
 70980             "locationName": "maxitems"
 70981           }
 70982         }
 70983       },
 70984       "output": {
 70985         "type": "structure",
 70986         "required": [
 70987           "TrafficPolicyInstances",
 70988           "IsTruncated",
 70989           "MaxItems"
 70990         ],
 70991         "members": {
 70992           "TrafficPolicyInstances": {
 70993             "shape": "S5j"
 70994           },
 70995           "TrafficPolicyInstanceNameMarker": {},
 70996           "TrafficPolicyInstanceTypeMarker": {},
 70997           "IsTruncated": {
 70998             "type": "boolean"
 70999           },
 71000           "MaxItems": {}
 71001         }
 71002       }
 71003     },
 71004     "ListTrafficPolicyInstancesByPolicy": {
 71005       "http": {
 71006         "method": "GET",
 71007         "requestUri": "/2013-04-01/trafficpolicyinstances/trafficpolicy"
 71008       },
 71009       "input": {
 71010         "type": "structure",
 71011         "required": [
 71012           "TrafficPolicyId",
 71013           "TrafficPolicyVersion"
 71014         ],
 71015         "members": {
 71016           "TrafficPolicyId": {
 71017             "location": "querystring",
 71018             "locationName": "id"
 71019           },
 71020           "TrafficPolicyVersion": {
 71021             "location": "querystring",
 71022             "locationName": "version",
 71023             "type": "integer"
 71024           },
 71025           "HostedZoneIdMarker": {
 71026             "location": "querystring",
 71027             "locationName": "hostedzoneid"
 71028           },
 71029           "TrafficPolicyInstanceNameMarker": {
 71030             "location": "querystring",
 71031             "locationName": "trafficpolicyinstancename"
 71032           },
 71033           "TrafficPolicyInstanceTypeMarker": {
 71034             "location": "querystring",
 71035             "locationName": "trafficpolicyinstancetype"
 71036           },
 71037           "MaxItems": {
 71038             "location": "querystring",
 71039             "locationName": "maxitems"
 71040           }
 71041         }
 71042       },
 71043       "output": {
 71044         "type": "structure",
 71045         "required": [
 71046           "TrafficPolicyInstances",
 71047           "IsTruncated",
 71048           "MaxItems"
 71049         ],
 71050         "members": {
 71051           "TrafficPolicyInstances": {
 71052             "shape": "S5j"
 71053           },
 71054           "HostedZoneIdMarker": {},
 71055           "TrafficPolicyInstanceNameMarker": {},
 71056           "TrafficPolicyInstanceTypeMarker": {},
 71057           "IsTruncated": {
 71058             "type": "boolean"
 71059           },
 71060           "MaxItems": {}
 71061         }
 71062       }
 71063     },
 71064     "ListTrafficPolicyVersions": {
 71065       "http": {
 71066         "method": "GET",
 71067         "requestUri": "/2013-04-01/trafficpolicies/{Id}/versions"
 71068       },
 71069       "input": {
 71070         "type": "structure",
 71071         "required": [
 71072           "Id"
 71073         ],
 71074         "members": {
 71075           "Id": {
 71076             "location": "uri",
 71077             "locationName": "Id"
 71078           },
 71079           "TrafficPolicyVersionMarker": {
 71080             "location": "querystring",
 71081             "locationName": "trafficpolicyversion"
 71082           },
 71083           "MaxItems": {
 71084             "location": "querystring",
 71085             "locationName": "maxitems"
 71086           }
 71087         }
 71088       },
 71089       "output": {
 71090         "type": "structure",
 71091         "required": [
 71092           "TrafficPolicies",
 71093           "IsTruncated",
 71094           "TrafficPolicyVersionMarker",
 71095           "MaxItems"
 71096         ],
 71097         "members": {
 71098           "TrafficPolicies": {
 71099             "type": "list",
 71100             "member": {
 71101               "shape": "S2r",
 71102               "locationName": "TrafficPolicy"
 71103             }
 71104           },
 71105           "IsTruncated": {
 71106             "type": "boolean"
 71107           },
 71108           "TrafficPolicyVersionMarker": {},
 71109           "MaxItems": {}
 71110         }
 71111       }
 71112     },
 71113     "ListVPCAssociationAuthorizations": {
 71114       "http": {
 71115         "method": "GET",
 71116         "requestUri": "/2013-04-01/hostedzone/{Id}/authorizevpcassociation"
 71117       },
 71118       "input": {
 71119         "type": "structure",
 71120         "required": [
 71121           "HostedZoneId"
 71122         ],
 71123         "members": {
 71124           "HostedZoneId": {
 71125             "location": "uri",
 71126             "locationName": "Id"
 71127           },
 71128           "NextToken": {
 71129             "location": "querystring",
 71130             "locationName": "nexttoken"
 71131           },
 71132           "MaxResults": {
 71133             "location": "querystring",
 71134             "locationName": "maxresults"
 71135           }
 71136         }
 71137       },
 71138       "output": {
 71139         "type": "structure",
 71140         "required": [
 71141           "HostedZoneId",
 71142           "VPCs"
 71143         ],
 71144         "members": {
 71145           "HostedZoneId": {},
 71146           "NextToken": {},
 71147           "VPCs": {
 71148             "shape": "S49"
 71149           }
 71150         }
 71151       }
 71152     },
 71153     "TestDNSAnswer": {
 71154       "http": {
 71155         "method": "GET",
 71156         "requestUri": "/2013-04-01/testdnsanswer"
 71157       },
 71158       "input": {
 71159         "type": "structure",
 71160         "required": [
 71161           "HostedZoneId",
 71162           "RecordName",
 71163           "RecordType"
 71164         ],
 71165         "members": {
 71166           "HostedZoneId": {
 71167             "location": "querystring",
 71168             "locationName": "hostedzoneid"
 71169           },
 71170           "RecordName": {
 71171             "location": "querystring",
 71172             "locationName": "recordname"
 71173           },
 71174           "RecordType": {
 71175             "location": "querystring",
 71176             "locationName": "recordtype"
 71177           },
 71178           "ResolverIP": {
 71179             "location": "querystring",
 71180             "locationName": "resolverip"
 71181           },
 71182           "EDNS0ClientSubnetIP": {
 71183             "location": "querystring",
 71184             "locationName": "edns0clientsubnetip"
 71185           },
 71186           "EDNS0ClientSubnetMask": {
 71187             "location": "querystring",
 71188             "locationName": "edns0clientsubnetmask"
 71189           }
 71190         }
 71191       },
 71192       "output": {
 71193         "type": "structure",
 71194         "required": [
 71195           "Nameserver",
 71196           "RecordName",
 71197           "RecordType",
 71198           "RecordData",
 71199           "ResponseCode",
 71200           "Protocol"
 71201         ],
 71202         "members": {
 71203           "Nameserver": {},
 71204           "RecordName": {},
 71205           "RecordType": {},
 71206           "RecordData": {
 71207             "type": "list",
 71208             "member": {
 71209               "locationName": "RecordDataEntry"
 71210             }
 71211           },
 71212           "ResponseCode": {},
 71213           "Protocol": {}
 71214         }
 71215       }
 71216     },
 71217     "UpdateHealthCheck": {
 71218       "http": {
 71219         "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
 71220       },
 71221       "input": {
 71222         "locationName": "UpdateHealthCheckRequest",
 71223         "xmlNamespace": {
 71224           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 71225         },
 71226         "type": "structure",
 71227         "required": [
 71228           "HealthCheckId"
 71229         ],
 71230         "members": {
 71231           "HealthCheckId": {
 71232             "location": "uri",
 71233             "locationName": "HealthCheckId"
 71234           },
 71235           "HealthCheckVersion": {
 71236             "type": "long"
 71237           },
 71238           "IPAddress": {},
 71239           "Port": {
 71240             "type": "integer"
 71241           },
 71242           "ResourcePath": {},
 71243           "FullyQualifiedDomainName": {},
 71244           "SearchString": {},
 71245           "FailureThreshold": {
 71246             "type": "integer"
 71247           },
 71248           "Inverted": {
 71249             "type": "boolean"
 71250           },
 71251           "HealthThreshold": {
 71252             "type": "integer"
 71253           },
 71254           "ChildHealthChecks": {
 71255             "shape": "S1o"
 71256           },
 71257           "EnableSNI": {
 71258             "type": "boolean"
 71259           },
 71260           "Regions": {
 71261             "shape": "S1q"
 71262           },
 71263           "AlarmIdentifier": {
 71264             "shape": "S1s"
 71265           },
 71266           "InsufficientDataHealthStatus": {}
 71267         }
 71268       },
 71269       "output": {
 71270         "type": "structure",
 71271         "required": [
 71272           "HealthCheck"
 71273         ],
 71274         "members": {
 71275           "HealthCheck": {
 71276             "shape": "S1x"
 71277           }
 71278         }
 71279       }
 71280     },
 71281     "UpdateHostedZoneComment": {
 71282       "http": {
 71283         "requestUri": "/2013-04-01/hostedzone/{Id}"
 71284       },
 71285       "input": {
 71286         "locationName": "UpdateHostedZoneCommentRequest",
 71287         "xmlNamespace": {
 71288           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 71289         },
 71290         "type": "structure",
 71291         "required": [
 71292           "Id"
 71293         ],
 71294         "members": {
 71295           "Id": {
 71296             "location": "uri",
 71297             "locationName": "Id"
 71298           },
 71299           "Comment": {}
 71300         }
 71301       },
 71302       "output": {
 71303         "type": "structure",
 71304         "required": [
 71305           "HostedZone"
 71306         ],
 71307         "members": {
 71308           "HostedZone": {
 71309             "shape": "S2g"
 71310           }
 71311         }
 71312       }
 71313     },
 71314     "UpdateTrafficPolicyComment": {
 71315       "http": {
 71316         "requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
 71317       },
 71318       "input": {
 71319         "locationName": "UpdateTrafficPolicyCommentRequest",
 71320         "xmlNamespace": {
 71321           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 71322         },
 71323         "type": "structure",
 71324         "required": [
 71325           "Id",
 71326           "Version",
 71327           "Comment"
 71328         ],
 71329         "members": {
 71330           "Id": {
 71331             "location": "uri",
 71332             "locationName": "Id"
 71333           },
 71334           "Version": {
 71335             "location": "uri",
 71336             "locationName": "Version",
 71337             "type": "integer"
 71338           },
 71339           "Comment": {}
 71340         }
 71341       },
 71342       "output": {
 71343         "type": "structure",
 71344         "required": [
 71345           "TrafficPolicy"
 71346         ],
 71347         "members": {
 71348           "TrafficPolicy": {
 71349             "shape": "S2r"
 71350           }
 71351         }
 71352       }
 71353     },
 71354     "UpdateTrafficPolicyInstance": {
 71355       "http": {
 71356         "requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
 71357       },
 71358       "input": {
 71359         "locationName": "UpdateTrafficPolicyInstanceRequest",
 71360         "xmlNamespace": {
 71361           "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
 71362         },
 71363         "type": "structure",
 71364         "required": [
 71365           "Id",
 71366           "TTL",
 71367           "TrafficPolicyId",
 71368           "TrafficPolicyVersion"
 71369         ],
 71370         "members": {
 71371           "Id": {
 71372             "location": "uri",
 71373             "locationName": "Id"
 71374           },
 71375           "TTL": {
 71376             "type": "long"
 71377           },
 71378           "TrafficPolicyId": {},
 71379           "TrafficPolicyVersion": {
 71380             "type": "integer"
 71381           }
 71382         }
 71383       },
 71384       "output": {
 71385         "type": "structure",
 71386         "required": [
 71387           "TrafficPolicyInstance"
 71388         ],
 71389         "members": {
 71390           "TrafficPolicyInstance": {
 71391             "shape": "S2w"
 71392           }
 71393         }
 71394       }
 71395     }
 71396   },
 71397   "shapes": {
 71398     "S3": {
 71399       "type": "structure",
 71400       "members": {
 71401         "VPCRegion": {},
 71402         "VPCId": {}
 71403       }
 71404     },
 71405     "S8": {
 71406       "type": "structure",
 71407       "required": [
 71408         "Id",
 71409         "Status",
 71410         "SubmittedAt"
 71411       ],
 71412       "members": {
 71413         "Id": {},
 71414         "Status": {},
 71415         "SubmittedAt": {
 71416           "type": "timestamp"
 71417         },
 71418         "Comment": {}
 71419       }
 71420     },
 71421     "Sh": {
 71422       "type": "structure",
 71423       "required": [
 71424         "Name",
 71425         "Type"
 71426       ],
 71427       "members": {
 71428         "Name": {},
 71429         "Type": {},
 71430         "SetIdentifier": {},
 71431         "Weight": {
 71432           "type": "long"
 71433         },
 71434         "Region": {},
 71435         "GeoLocation": {
 71436           "type": "structure",
 71437           "members": {
 71438             "ContinentCode": {},
 71439             "CountryCode": {},
 71440             "SubdivisionCode": {}
 71441           }
 71442         },
 71443         "Failover": {},
 71444         "TTL": {
 71445           "type": "long"
 71446         },
 71447         "ResourceRecords": {
 71448           "type": "list",
 71449           "member": {
 71450             "locationName": "ResourceRecord",
 71451             "type": "structure",
 71452             "required": [
 71453               "Value"
 71454             ],
 71455             "members": {
 71456               "Value": {}
 71457             }
 71458           }
 71459         },
 71460         "AliasTarget": {
 71461           "type": "structure",
 71462           "required": [
 71463             "HostedZoneId",
 71464             "DNSName",
 71465             "EvaluateTargetHealth"
 71466           ],
 71467           "members": {
 71468             "HostedZoneId": {},
 71469             "DNSName": {},
 71470             "EvaluateTargetHealth": {
 71471               "type": "boolean"
 71472             }
 71473           }
 71474         },
 71475         "HealthCheckId": {},
 71476         "TrafficPolicyInstanceId": {}
 71477       }
 71478     },
 71479     "S14": {
 71480       "type": "list",
 71481       "member": {
 71482         "locationName": "Tag",
 71483         "type": "structure",
 71484         "members": {
 71485           "Key": {},
 71486           "Value": {}
 71487         }
 71488       }
 71489     },
 71490     "S1c": {
 71491       "type": "structure",
 71492       "required": [
 71493         "Type"
 71494       ],
 71495       "members": {
 71496         "IPAddress": {},
 71497         "Port": {
 71498           "type": "integer"
 71499         },
 71500         "Type": {},
 71501         "ResourcePath": {},
 71502         "FullyQualifiedDomainName": {},
 71503         "SearchString": {},
 71504         "RequestInterval": {
 71505           "type": "integer"
 71506         },
 71507         "FailureThreshold": {
 71508           "type": "integer"
 71509         },
 71510         "MeasureLatency": {
 71511           "type": "boolean"
 71512         },
 71513         "Inverted": {
 71514           "type": "boolean"
 71515         },
 71516         "HealthThreshold": {
 71517           "type": "integer"
 71518         },
 71519         "ChildHealthChecks": {
 71520           "shape": "S1o"
 71521         },
 71522         "EnableSNI": {
 71523           "type": "boolean"
 71524         },
 71525         "Regions": {
 71526           "shape": "S1q"
 71527         },
 71528         "AlarmIdentifier": {
 71529           "shape": "S1s"
 71530         },
 71531         "InsufficientDataHealthStatus": {}
 71532       }
 71533     },
 71534     "S1o": {
 71535       "type": "list",
 71536       "member": {
 71537         "locationName": "ChildHealthCheck"
 71538       }
 71539     },
 71540     "S1q": {
 71541       "type": "list",
 71542       "member": {
 71543         "locationName": "Region"
 71544       }
 71545     },
 71546     "S1s": {
 71547       "type": "structure",
 71548       "required": [
 71549         "Region",
 71550         "Name"
 71551       ],
 71552       "members": {
 71553         "Region": {},
 71554         "Name": {}
 71555       }
 71556     },
 71557     "S1x": {
 71558       "type": "structure",
 71559       "required": [
 71560         "Id",
 71561         "CallerReference",
 71562         "HealthCheckConfig",
 71563         "HealthCheckVersion"
 71564       ],
 71565       "members": {
 71566         "Id": {},
 71567         "CallerReference": {},
 71568         "HealthCheckConfig": {
 71569           "shape": "S1c"
 71570         },
 71571         "HealthCheckVersion": {
 71572           "type": "long"
 71573         },
 71574         "CloudWatchAlarmConfiguration": {
 71575           "type": "structure",
 71576           "required": [
 71577             "EvaluationPeriods",
 71578             "Threshold",
 71579             "ComparisonOperator",
 71580             "Period",
 71581             "MetricName",
 71582             "Namespace",
 71583             "Statistic"
 71584           ],
 71585           "members": {
 71586             "EvaluationPeriods": {
 71587               "type": "integer"
 71588             },
 71589             "Threshold": {
 71590               "type": "double"
 71591             },
 71592             "ComparisonOperator": {},
 71593             "Period": {
 71594               "type": "integer"
 71595             },
 71596             "MetricName": {},
 71597             "Namespace": {},
 71598             "Statistic": {},
 71599             "Dimensions": {
 71600               "type": "list",
 71601               "member": {
 71602                 "locationName": "Dimension",
 71603                 "type": "structure",
 71604                 "required": [
 71605                   "Name",
 71606                   "Value"
 71607                 ],
 71608                 "members": {
 71609                   "Name": {},
 71610                   "Value": {}
 71611                 }
 71612               }
 71613             }
 71614           }
 71615         }
 71616       }
 71617     },
 71618     "S2d": {
 71619       "type": "structure",
 71620       "members": {
 71621         "Comment": {},
 71622         "PrivateZone": {
 71623           "type": "boolean"
 71624         }
 71625       }
 71626     },
 71627     "S2g": {
 71628       "type": "structure",
 71629       "required": [
 71630         "Id",
 71631         "Name",
 71632         "CallerReference"
 71633       ],
 71634       "members": {
 71635         "Id": {},
 71636         "Name": {},
 71637         "CallerReference": {},
 71638         "Config": {
 71639           "shape": "S2d"
 71640         },
 71641         "ResourceRecordSetCount": {
 71642           "type": "long"
 71643         }
 71644       }
 71645     },
 71646     "S2i": {
 71647       "type": "structure",
 71648       "required": [
 71649         "NameServers"
 71650       ],
 71651       "members": {
 71652         "Id": {},
 71653         "CallerReference": {},
 71654         "NameServers": {
 71655           "type": "list",
 71656           "member": {
 71657             "locationName": "NameServer"
 71658           }
 71659         }
 71660       }
 71661     },
 71662     "S2r": {
 71663       "type": "structure",
 71664       "required": [
 71665         "Id",
 71666         "Version",
 71667         "Name",
 71668         "Type",
 71669         "Document"
 71670       ],
 71671       "members": {
 71672         "Id": {},
 71673         "Version": {
 71674           "type": "integer"
 71675         },
 71676         "Name": {},
 71677         "Type": {},
 71678         "Document": {},
 71679         "Comment": {}
 71680       }
 71681     },
 71682     "S2w": {
 71683       "type": "structure",
 71684       "required": [
 71685         "Id",
 71686         "HostedZoneId",
 71687         "Name",
 71688         "TTL",
 71689         "State",
 71690         "Message",
 71691         "TrafficPolicyId",
 71692         "TrafficPolicyVersion",
 71693         "TrafficPolicyType"
 71694       ],
 71695       "members": {
 71696         "Id": {},
 71697         "HostedZoneId": {},
 71698         "Name": {},
 71699         "TTL": {
 71700           "type": "long"
 71701         },
 71702         "State": {},
 71703         "Message": {},
 71704         "TrafficPolicyId": {},
 71705         "TrafficPolicyVersion": {
 71706           "type": "integer"
 71707         },
 71708         "TrafficPolicyType": {}
 71709       }
 71710     },
 71711     "S3q": {
 71712       "type": "structure",
 71713       "members": {
 71714         "ContinentCode": {},
 71715         "ContinentName": {},
 71716         "CountryCode": {},
 71717         "CountryName": {},
 71718         "SubdivisionCode": {},
 71719         "SubdivisionName": {}
 71720       }
 71721     },
 71722     "S41": {
 71723       "type": "list",
 71724       "member": {
 71725         "locationName": "HealthCheckObservation",
 71726         "type": "structure",
 71727         "members": {
 71728           "Region": {},
 71729           "IPAddress": {},
 71730           "StatusReport": {
 71731             "type": "structure",
 71732             "members": {
 71733               "Status": {},
 71734               "CheckedTime": {
 71735                 "type": "timestamp"
 71736               }
 71737             }
 71738           }
 71739         }
 71740       }
 71741     },
 71742     "S49": {
 71743       "type": "list",
 71744       "member": {
 71745         "shape": "S3",
 71746         "locationName": "VPC"
 71747       }
 71748     },
 71749     "S4x": {
 71750       "type": "list",
 71751       "member": {
 71752         "shape": "S2g",
 71753         "locationName": "HostedZone"
 71754       }
 71755     },
 71756     "S58": {
 71757       "type": "structure",
 71758       "members": {
 71759         "ResourceType": {},
 71760         "ResourceId": {},
 71761         "Tags": {
 71762           "shape": "S14"
 71763         }
 71764       }
 71765     },
 71766     "S5j": {
 71767       "type": "list",
 71768       "member": {
 71769         "shape": "S2w",
 71770         "locationName": "TrafficPolicyInstance"
 71771       }
 71772     }
 71773   }
 71774 }
 71775 },{}],109:[function(require,module,exports){
 71776 module.exports={
 71777   "pagination": {
 71778     "ListHealthChecks": {
 71779       "input_token": "Marker",
 71780       "output_token": "NextMarker",
 71781       "more_results": "IsTruncated",
 71782       "limit_key": "MaxItems",
 71783       "result_key": "HealthChecks"
 71784     },
 71785     "ListHostedZones": {
 71786       "input_token": "Marker",
 71787       "output_token": "NextMarker",
 71788       "more_results": "IsTruncated",
 71789       "limit_key": "MaxItems",
 71790       "result_key": "HostedZones"
 71791     },
 71792     "ListResourceRecordSets": {
 71793       "more_results": "IsTruncated",
 71794       "limit_key": "MaxItems",
 71795       "result_key": "ResourceRecordSets",
 71796       "input_token": [
 71797         "StartRecordName",
 71798         "StartRecordType",
 71799         "StartRecordIdentifier"
 71800       ],
 71801       "output_token": [
 71802         "NextRecordName",
 71803         "NextRecordType",
 71804         "NextRecordIdentifier"
 71805       ]
 71806     }
 71807   }
 71808 }
 71809 
 71810 },{}],110:[function(require,module,exports){
 71811 module.exports={
 71812   "version": 2,
 71813   "waiters": {
 71814     "ResourceRecordSetsChanged": {
 71815       "delay": 30,
 71816       "maxAttempts": 60,
 71817       "operation": "GetChange",
 71818       "acceptors": [
 71819         {
 71820           "matcher": "path",
 71821           "expected": "INSYNC",
 71822           "argument": "ChangeInfo.Status",
 71823           "state": "success"
 71824         }
 71825       ]
 71826     }
 71827   }
 71828 }
 71829 
 71830 },{}],111:[function(require,module,exports){
 71831 module.exports={
 71832   "version": "2.0",
 71833   "metadata": {
 71834     "apiVersion": "2014-05-15",
 71835     "endpointPrefix": "route53domains",
 71836     "jsonVersion": "1.1",
 71837     "protocol": "json",
 71838     "serviceFullName": "Amazon Route 53 Domains",
 71839     "signatureVersion": "v4",
 71840     "targetPrefix": "Route53Domains_v20140515"
 71841   },
 71842   "operations": {
 71843     "CheckDomainAvailability": {
 71844       "input": {
 71845         "type": "structure",
 71846         "required": [
 71847           "DomainName"
 71848         ],
 71849         "members": {
 71850           "DomainName": {},
 71851           "IdnLangCode": {}
 71852         }
 71853       },
 71854       "output": {
 71855         "type": "structure",
 71856         "required": [
 71857           "Availability"
 71858         ],
 71859         "members": {
 71860           "Availability": {}
 71861         }
 71862       }
 71863     },
 71864     "DeleteTagsForDomain": {
 71865       "input": {
 71866         "type": "structure",
 71867         "required": [
 71868           "DomainName",
 71869           "TagsToDelete"
 71870         ],
 71871         "members": {
 71872           "DomainName": {},
 71873           "TagsToDelete": {
 71874             "type": "list",
 71875             "member": {}
 71876           }
 71877         }
 71878       },
 71879       "output": {
 71880         "type": "structure",
 71881         "members": {}
 71882       }
 71883     },
 71884     "DisableDomainAutoRenew": {
 71885       "input": {
 71886         "type": "structure",
 71887         "required": [
 71888           "DomainName"
 71889         ],
 71890         "members": {
 71891           "DomainName": {}
 71892         }
 71893       },
 71894       "output": {
 71895         "type": "structure",
 71896         "members": {}
 71897       }
 71898     },
 71899     "DisableDomainTransferLock": {
 71900       "input": {
 71901         "type": "structure",
 71902         "required": [
 71903           "DomainName"
 71904         ],
 71905         "members": {
 71906           "DomainName": {}
 71907         }
 71908       },
 71909       "output": {
 71910         "type": "structure",
 71911         "required": [
 71912           "OperationId"
 71913         ],
 71914         "members": {
 71915           "OperationId": {}
 71916         }
 71917       }
 71918     },
 71919     "EnableDomainAutoRenew": {
 71920       "input": {
 71921         "type": "structure",
 71922         "required": [
 71923           "DomainName"
 71924         ],
 71925         "members": {
 71926           "DomainName": {}
 71927         }
 71928       },
 71929       "output": {
 71930         "type": "structure",
 71931         "members": {}
 71932       }
 71933     },
 71934     "EnableDomainTransferLock": {
 71935       "input": {
 71936         "type": "structure",
 71937         "required": [
 71938           "DomainName"
 71939         ],
 71940         "members": {
 71941           "DomainName": {}
 71942         }
 71943       },
 71944       "output": {
 71945         "type": "structure",
 71946         "required": [
 71947           "OperationId"
 71948         ],
 71949         "members": {
 71950           "OperationId": {}
 71951         }
 71952       }
 71953     },
 71954     "GetContactReachabilityStatus": {
 71955       "input": {
 71956         "type": "structure",
 71957         "members": {
 71958           "domainName": {}
 71959         }
 71960       },
 71961       "output": {
 71962         "type": "structure",
 71963         "members": {
 71964           "domainName": {},
 71965           "status": {}
 71966         }
 71967       }
 71968     },
 71969     "GetDomainDetail": {
 71970       "input": {
 71971         "type": "structure",
 71972         "required": [
 71973           "DomainName"
 71974         ],
 71975         "members": {
 71976           "DomainName": {}
 71977         }
 71978       },
 71979       "output": {
 71980         "type": "structure",
 71981         "required": [
 71982           "DomainName",
 71983           "Nameservers",
 71984           "AdminContact",
 71985           "RegistrantContact",
 71986           "TechContact"
 71987         ],
 71988         "members": {
 71989           "DomainName": {},
 71990           "Nameservers": {
 71991             "shape": "So"
 71992           },
 71993           "AutoRenew": {
 71994             "type": "boolean"
 71995           },
 71996           "AdminContact": {
 71997             "shape": "Su"
 71998           },
 71999           "RegistrantContact": {
 72000             "shape": "Su"
 72001           },
 72002           "TechContact": {
 72003             "shape": "Su"
 72004           },
 72005           "AdminPrivacy": {
 72006             "type": "boolean"
 72007           },
 72008           "RegistrantPrivacy": {
 72009             "type": "boolean"
 72010           },
 72011           "TechPrivacy": {
 72012             "type": "boolean"
 72013           },
 72014           "RegistrarName": {},
 72015           "WhoIsServer": {},
 72016           "RegistrarUrl": {},
 72017           "AbuseContactEmail": {},
 72018           "AbuseContactPhone": {},
 72019           "RegistryDomainId": {},
 72020           "CreationDate": {
 72021             "type": "timestamp"
 72022           },
 72023           "UpdatedDate": {
 72024             "type": "timestamp"
 72025           },
 72026           "ExpirationDate": {
 72027             "type": "timestamp"
 72028           },
 72029           "Reseller": {},
 72030           "DnsSec": {},
 72031           "StatusList": {
 72032             "type": "list",
 72033             "member": {}
 72034           }
 72035         }
 72036       }
 72037     },
 72038     "GetDomainSuggestions": {
 72039       "input": {
 72040         "type": "structure",
 72041         "required": [
 72042           "DomainName",
 72043           "SuggestionCount",
 72044           "OnlyAvailable"
 72045         ],
 72046         "members": {
 72047           "DomainName": {},
 72048           "SuggestionCount": {
 72049             "type": "integer"
 72050           },
 72051           "OnlyAvailable": {
 72052             "type": "boolean"
 72053           }
 72054         }
 72055       },
 72056       "output": {
 72057         "type": "structure",
 72058         "members": {
 72059           "SuggestionsList": {
 72060             "type": "list",
 72061             "member": {
 72062               "type": "structure",
 72063               "members": {
 72064                 "DomainName": {},
 72065                 "Availability": {}
 72066               }
 72067             }
 72068           }
 72069         }
 72070       }
 72071     },
 72072     "GetOperationDetail": {
 72073       "input": {
 72074         "type": "structure",
 72075         "required": [
 72076           "OperationId"
 72077         ],
 72078         "members": {
 72079           "OperationId": {}
 72080         }
 72081       },
 72082       "output": {
 72083         "type": "structure",
 72084         "members": {
 72085           "OperationId": {},
 72086           "Status": {},
 72087           "Message": {},
 72088           "DomainName": {},
 72089           "Type": {},
 72090           "SubmittedDate": {
 72091             "type": "timestamp"
 72092           }
 72093         }
 72094       }
 72095     },
 72096     "ListDomains": {
 72097       "input": {
 72098         "type": "structure",
 72099         "members": {
 72100           "Marker": {},
 72101           "MaxItems": {
 72102             "type": "integer"
 72103           }
 72104         }
 72105       },
 72106       "output": {
 72107         "type": "structure",
 72108         "required": [
 72109           "Domains"
 72110         ],
 72111         "members": {
 72112           "Domains": {
 72113             "type": "list",
 72114             "member": {
 72115               "type": "structure",
 72116               "required": [
 72117                 "DomainName"
 72118               ],
 72119               "members": {
 72120                 "DomainName": {},
 72121                 "AutoRenew": {
 72122                   "type": "boolean"
 72123                 },
 72124                 "TransferLock": {
 72125                   "type": "boolean"
 72126                 },
 72127                 "Expiry": {
 72128                   "type": "timestamp"
 72129                 }
 72130               }
 72131             }
 72132           },
 72133           "NextPageMarker": {}
 72134         }
 72135       }
 72136     },
 72137     "ListOperations": {
 72138       "input": {
 72139         "type": "structure",
 72140         "members": {
 72141           "Marker": {},
 72142           "MaxItems": {
 72143             "type": "integer"
 72144           }
 72145         }
 72146       },
 72147       "output": {
 72148         "type": "structure",
 72149         "required": [
 72150           "Operations"
 72151         ],
 72152         "members": {
 72153           "Operations": {
 72154             "type": "list",
 72155             "member": {
 72156               "type": "structure",
 72157               "required": [
 72158                 "OperationId",
 72159                 "Status",
 72160                 "Type",
 72161                 "SubmittedDate"
 72162               ],
 72163               "members": {
 72164                 "OperationId": {},
 72165                 "Status": {},
 72166                 "Type": {},
 72167                 "SubmittedDate": {
 72168                   "type": "timestamp"
 72169                 }
 72170               }
 72171             }
 72172           },
 72173           "NextPageMarker": {}
 72174         }
 72175       }
 72176     },
 72177     "ListTagsForDomain": {
 72178       "input": {
 72179         "type": "structure",
 72180         "required": [
 72181           "DomainName"
 72182         ],
 72183         "members": {
 72184           "DomainName": {}
 72185         }
 72186       },
 72187       "output": {
 72188         "type": "structure",
 72189         "required": [
 72190           "TagList"
 72191         ],
 72192         "members": {
 72193           "TagList": {
 72194             "shape": "S24"
 72195           }
 72196         }
 72197       }
 72198     },
 72199     "RegisterDomain": {
 72200       "input": {
 72201         "type": "structure",
 72202         "required": [
 72203           "DomainName",
 72204           "DurationInYears",
 72205           "AdminContact",
 72206           "RegistrantContact",
 72207           "TechContact"
 72208         ],
 72209         "members": {
 72210           "DomainName": {},
 72211           "IdnLangCode": {},
 72212           "DurationInYears": {
 72213             "type": "integer"
 72214           },
 72215           "AutoRenew": {
 72216             "type": "boolean"
 72217           },
 72218           "AdminContact": {
 72219             "shape": "Su"
 72220           },
 72221           "RegistrantContact": {
 72222             "shape": "Su"
 72223           },
 72224           "TechContact": {
 72225             "shape": "Su"
 72226           },
 72227           "PrivacyProtectAdminContact": {
 72228             "type": "boolean"
 72229           },
 72230           "PrivacyProtectRegistrantContact": {
 72231             "type": "boolean"
 72232           },
 72233           "PrivacyProtectTechContact": {
 72234             "type": "boolean"
 72235           }
 72236         }
 72237       },
 72238       "output": {
 72239         "type": "structure",
 72240         "required": [
 72241           "OperationId"
 72242         ],
 72243         "members": {
 72244           "OperationId": {}
 72245         }
 72246       }
 72247     },
 72248     "RenewDomain": {
 72249       "input": {
 72250         "type": "structure",
 72251         "required": [
 72252           "DomainName",
 72253           "CurrentExpiryYear"
 72254         ],
 72255         "members": {
 72256           "DomainName": {},
 72257           "DurationInYears": {
 72258             "type": "integer"
 72259           },
 72260           "CurrentExpiryYear": {
 72261             "type": "integer"
 72262           }
 72263         }
 72264       },
 72265       "output": {
 72266         "type": "structure",
 72267         "required": [
 72268           "OperationId"
 72269         ],
 72270         "members": {
 72271           "OperationId": {}
 72272         }
 72273       }
 72274     },
 72275     "ResendContactReachabilityEmail": {
 72276       "input": {
 72277         "type": "structure",
 72278         "members": {
 72279           "domainName": {}
 72280         }
 72281       },
 72282       "output": {
 72283         "type": "structure",
 72284         "members": {
 72285           "domainName": {},
 72286           "emailAddress": {},
 72287           "isAlreadyVerified": {
 72288             "type": "boolean"
 72289           }
 72290         }
 72291       }
 72292     },
 72293     "RetrieveDomainAuthCode": {
 72294       "input": {
 72295         "type": "structure",
 72296         "required": [
 72297           "DomainName"
 72298         ],
 72299         "members": {
 72300           "DomainName": {}
 72301         }
 72302       },
 72303       "output": {
 72304         "type": "structure",
 72305         "required": [
 72306           "AuthCode"
 72307         ],
 72308         "members": {
 72309           "AuthCode": {
 72310             "shape": "S2h"
 72311           }
 72312         }
 72313       }
 72314     },
 72315     "TransferDomain": {
 72316       "input": {
 72317         "type": "structure",
 72318         "required": [
 72319           "DomainName",
 72320           "DurationInYears",
 72321           "AdminContact",
 72322           "RegistrantContact",
 72323           "TechContact"
 72324         ],
 72325         "members": {
 72326           "DomainName": {},
 72327           "IdnLangCode": {},
 72328           "DurationInYears": {
 72329             "type": "integer"
 72330           },
 72331           "Nameservers": {
 72332             "shape": "So"
 72333           },
 72334           "AuthCode": {
 72335             "shape": "S2h"
 72336           },
 72337           "AutoRenew": {
 72338             "type": "boolean"
 72339           },
 72340           "AdminContact": {
 72341             "shape": "Su"
 72342           },
 72343           "RegistrantContact": {
 72344             "shape": "Su"
 72345           },
 72346           "TechContact": {
 72347             "shape": "Su"
 72348           },
 72349           "PrivacyProtectAdminContact": {
 72350             "type": "boolean"
 72351           },
 72352           "PrivacyProtectRegistrantContact": {
 72353             "type": "boolean"
 72354           },
 72355           "PrivacyProtectTechContact": {
 72356             "type": "boolean"
 72357           }
 72358         }
 72359       },
 72360       "output": {
 72361         "type": "structure",
 72362         "required": [
 72363           "OperationId"
 72364         ],
 72365         "members": {
 72366           "OperationId": {}
 72367         }
 72368       }
 72369     },
 72370     "UpdateDomainContact": {
 72371       "input": {
 72372         "type": "structure",
 72373         "required": [
 72374           "DomainName"
 72375         ],
 72376         "members": {
 72377           "DomainName": {},
 72378           "AdminContact": {
 72379             "shape": "Su"
 72380           },
 72381           "RegistrantContact": {
 72382             "shape": "Su"
 72383           },
 72384           "TechContact": {
 72385             "shape": "Su"
 72386           }
 72387         }
 72388       },
 72389       "output": {
 72390         "type": "structure",
 72391         "required": [
 72392           "OperationId"
 72393         ],
 72394         "members": {
 72395           "OperationId": {}
 72396         }
 72397       }
 72398     },
 72399     "UpdateDomainContactPrivacy": {
 72400       "input": {
 72401         "type": "structure",
 72402         "required": [
 72403           "DomainName"
 72404         ],
 72405         "members": {
 72406           "DomainName": {},
 72407           "AdminPrivacy": {
 72408             "type": "boolean"
 72409           },
 72410           "RegistrantPrivacy": {
 72411             "type": "boolean"
 72412           },
 72413           "TechPrivacy": {
 72414             "type": "boolean"
 72415           }
 72416         }
 72417       },
 72418       "output": {
 72419         "type": "structure",
 72420         "required": [
 72421           "OperationId"
 72422         ],
 72423         "members": {
 72424           "OperationId": {}
 72425         }
 72426       }
 72427     },
 72428     "UpdateDomainNameservers": {
 72429       "input": {
 72430         "type": "structure",
 72431         "required": [
 72432           "DomainName",
 72433           "Nameservers"
 72434         ],
 72435         "members": {
 72436           "DomainName": {},
 72437           "FIAuthKey": {},
 72438           "Nameservers": {
 72439             "shape": "So"
 72440           }
 72441         }
 72442       },
 72443       "output": {
 72444         "type": "structure",
 72445         "required": [
 72446           "OperationId"
 72447         ],
 72448         "members": {
 72449           "OperationId": {}
 72450         }
 72451       }
 72452     },
 72453     "UpdateTagsForDomain": {
 72454       "input": {
 72455         "type": "structure",
 72456         "required": [
 72457           "DomainName"
 72458         ],
 72459         "members": {
 72460           "DomainName": {},
 72461           "TagsToUpdate": {
 72462             "shape": "S24"
 72463           }
 72464         }
 72465       },
 72466       "output": {
 72467         "type": "structure",
 72468         "members": {}
 72469       }
 72470     },
 72471     "ViewBilling": {
 72472       "input": {
 72473         "type": "structure",
 72474         "members": {
 72475           "Start": {
 72476             "type": "timestamp"
 72477           },
 72478           "End": {
 72479             "type": "timestamp"
 72480           },
 72481           "Marker": {},
 72482           "MaxItems": {
 72483             "type": "integer"
 72484           }
 72485         }
 72486       },
 72487       "output": {
 72488         "type": "structure",
 72489         "members": {
 72490           "NextPageMarker": {},
 72491           "BillingRecords": {
 72492             "type": "list",
 72493             "member": {
 72494               "type": "structure",
 72495               "members": {
 72496                 "DomainName": {},
 72497                 "Operation": {},
 72498                 "InvoiceId": {},
 72499                 "BillDate": {
 72500                   "type": "timestamp"
 72501                 },
 72502                 "Price": {
 72503                   "type": "double"
 72504                 }
 72505               }
 72506             }
 72507           }
 72508         }
 72509       }
 72510     }
 72511   },
 72512   "shapes": {
 72513     "So": {
 72514       "type": "list",
 72515       "member": {
 72516         "type": "structure",
 72517         "required": [
 72518           "Name"
 72519         ],
 72520         "members": {
 72521           "Name": {},
 72522           "GlueIps": {
 72523             "type": "list",
 72524             "member": {}
 72525           }
 72526         }
 72527       }
 72528     },
 72529     "Su": {
 72530       "type": "structure",
 72531       "members": {
 72532         "FirstName": {},
 72533         "LastName": {},
 72534         "ContactType": {},
 72535         "OrganizationName": {},
 72536         "AddressLine1": {},
 72537         "AddressLine2": {},
 72538         "City": {},
 72539         "State": {},
 72540         "CountryCode": {},
 72541         "ZipCode": {},
 72542         "PhoneNumber": {},
 72543         "Email": {},
 72544         "Fax": {},
 72545         "ExtraParams": {
 72546           "type": "list",
 72547           "member": {
 72548             "type": "structure",
 72549             "required": [
 72550               "Name",
 72551               "Value"
 72552             ],
 72553             "members": {
 72554               "Name": {},
 72555               "Value": {}
 72556             }
 72557           }
 72558         }
 72559       },
 72560       "sensitive": true
 72561     },
 72562     "S24": {
 72563       "type": "list",
 72564       "member": {
 72565         "type": "structure",
 72566         "members": {
 72567           "Key": {},
 72568           "Value": {}
 72569         }
 72570       }
 72571     },
 72572     "S2h": {
 72573       "type": "string",
 72574       "sensitive": true
 72575     }
 72576   }
 72577 }
 72578 },{}],112:[function(require,module,exports){
 72579 module.exports={
 72580   "version": "1.0",
 72581   "pagination": {
 72582     "ListDomains": {
 72583       "limit_key": "MaxItems",
 72584       "input_token": "Marker",
 72585       "output_token": "NextPageMarker",
 72586       "result_key": "Domains"
 72587     },
 72588     "ListOperations": {
 72589       "limit_key": "MaxItems",
 72590       "input_token": "Marker",
 72591       "output_token": "NextPageMarker",
 72592       "result_key": "Operations"
 72593     }
 72594   }
 72595 }
 72596 
 72597 },{}],113:[function(require,module,exports){
 72598 module.exports={
 72599   "version": "2.0",
 72600   "metadata": {
 72601     "apiVersion": "2006-03-01",
 72602     "checksumFormat": "md5",
 72603     "endpointPrefix": "s3",
 72604     "globalEndpoint": "s3.amazonaws.com",
 72605     "protocol": "rest-xml",
 72606     "serviceAbbreviation": "Amazon S3",
 72607     "serviceFullName": "Amazon Simple Storage Service",
 72608     "signatureVersion": "s3",
 72609     "timestampFormat": "rfc822"
 72610   },
 72611   "operations": {
 72612     "AbortMultipartUpload": {
 72613       "http": {
 72614         "method": "DELETE",
 72615         "requestUri": "/{Bucket}/{Key+}"
 72616       },
 72617       "input": {
 72618         "type": "structure",
 72619         "required": [
 72620           "Bucket",
 72621           "Key",
 72622           "UploadId"
 72623         ],
 72624         "members": {
 72625           "Bucket": {
 72626             "location": "uri",
 72627             "locationName": "Bucket"
 72628           },
 72629           "Key": {
 72630             "location": "uri",
 72631             "locationName": "Key"
 72632           },
 72633           "UploadId": {
 72634             "location": "querystring",
 72635             "locationName": "uploadId"
 72636           },
 72637           "RequestPayer": {
 72638             "location": "header",
 72639             "locationName": "x-amz-request-payer"
 72640           }
 72641         }
 72642       },
 72643       "output": {
 72644         "type": "structure",
 72645         "members": {
 72646           "RequestCharged": {
 72647             "location": "header",
 72648             "locationName": "x-amz-request-charged"
 72649           }
 72650         }
 72651       }
 72652     },
 72653     "CompleteMultipartUpload": {
 72654       "http": {
 72655         "requestUri": "/{Bucket}/{Key+}"
 72656       },
 72657       "input": {
 72658         "type": "structure",
 72659         "required": [
 72660           "Bucket",
 72661           "Key",
 72662           "UploadId"
 72663         ],
 72664         "members": {
 72665           "Bucket": {
 72666             "location": "uri",
 72667             "locationName": "Bucket"
 72668           },
 72669           "Key": {
 72670             "location": "uri",
 72671             "locationName": "Key"
 72672           },
 72673           "MultipartUpload": {
 72674             "locationName": "CompleteMultipartUpload",
 72675             "xmlNamespace": {
 72676               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 72677             },
 72678             "type": "structure",
 72679             "members": {
 72680               "Parts": {
 72681                 "locationName": "Part",
 72682                 "type": "list",
 72683                 "member": {
 72684                   "type": "structure",
 72685                   "members": {
 72686                     "ETag": {},
 72687                     "PartNumber": {
 72688                       "type": "integer"
 72689                     }
 72690                   }
 72691                 },
 72692                 "flattened": true
 72693               }
 72694             }
 72695           },
 72696           "UploadId": {
 72697             "location": "querystring",
 72698             "locationName": "uploadId"
 72699           },
 72700           "RequestPayer": {
 72701             "location": "header",
 72702             "locationName": "x-amz-request-payer"
 72703           }
 72704         },
 72705         "payload": "MultipartUpload"
 72706       },
 72707       "output": {
 72708         "type": "structure",
 72709         "members": {
 72710           "Location": {},
 72711           "Bucket": {},
 72712           "Key": {},
 72713           "Expiration": {
 72714             "location": "header",
 72715             "locationName": "x-amz-expiration"
 72716           },
 72717           "ETag": {},
 72718           "ServerSideEncryption": {
 72719             "location": "header",
 72720             "locationName": "x-amz-server-side-encryption"
 72721           },
 72722           "VersionId": {
 72723             "location": "header",
 72724             "locationName": "x-amz-version-id"
 72725           },
 72726           "SSEKMSKeyId": {
 72727             "shape": "Sj",
 72728             "location": "header",
 72729             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 72730           },
 72731           "RequestCharged": {
 72732             "location": "header",
 72733             "locationName": "x-amz-request-charged"
 72734           }
 72735         }
 72736       }
 72737     },
 72738     "CopyObject": {
 72739       "http": {
 72740         "method": "PUT",
 72741         "requestUri": "/{Bucket}/{Key+}"
 72742       },
 72743       "input": {
 72744         "type": "structure",
 72745         "required": [
 72746           "Bucket",
 72747           "CopySource",
 72748           "Key"
 72749         ],
 72750         "members": {
 72751           "ACL": {
 72752             "location": "header",
 72753             "locationName": "x-amz-acl"
 72754           },
 72755           "Bucket": {
 72756             "location": "uri",
 72757             "locationName": "Bucket"
 72758           },
 72759           "CacheControl": {
 72760             "location": "header",
 72761             "locationName": "Cache-Control"
 72762           },
 72763           "ContentDisposition": {
 72764             "location": "header",
 72765             "locationName": "Content-Disposition"
 72766           },
 72767           "ContentEncoding": {
 72768             "location": "header",
 72769             "locationName": "Content-Encoding"
 72770           },
 72771           "ContentLanguage": {
 72772             "location": "header",
 72773             "locationName": "Content-Language"
 72774           },
 72775           "ContentType": {
 72776             "location": "header",
 72777             "locationName": "Content-Type"
 72778           },
 72779           "CopySource": {
 72780             "location": "header",
 72781             "locationName": "x-amz-copy-source"
 72782           },
 72783           "CopySourceIfMatch": {
 72784             "location": "header",
 72785             "locationName": "x-amz-copy-source-if-match"
 72786           },
 72787           "CopySourceIfModifiedSince": {
 72788             "location": "header",
 72789             "locationName": "x-amz-copy-source-if-modified-since",
 72790             "type": "timestamp"
 72791           },
 72792           "CopySourceIfNoneMatch": {
 72793             "location": "header",
 72794             "locationName": "x-amz-copy-source-if-none-match"
 72795           },
 72796           "CopySourceIfUnmodifiedSince": {
 72797             "location": "header",
 72798             "locationName": "x-amz-copy-source-if-unmodified-since",
 72799             "type": "timestamp"
 72800           },
 72801           "Expires": {
 72802             "location": "header",
 72803             "locationName": "Expires",
 72804             "type": "timestamp"
 72805           },
 72806           "GrantFullControl": {
 72807             "location": "header",
 72808             "locationName": "x-amz-grant-full-control"
 72809           },
 72810           "GrantRead": {
 72811             "location": "header",
 72812             "locationName": "x-amz-grant-read"
 72813           },
 72814           "GrantReadACP": {
 72815             "location": "header",
 72816             "locationName": "x-amz-grant-read-acp"
 72817           },
 72818           "GrantWriteACP": {
 72819             "location": "header",
 72820             "locationName": "x-amz-grant-write-acp"
 72821           },
 72822           "Key": {
 72823             "location": "uri",
 72824             "locationName": "Key"
 72825           },
 72826           "Metadata": {
 72827             "shape": "S11",
 72828             "location": "headers",
 72829             "locationName": "x-amz-meta-"
 72830           },
 72831           "MetadataDirective": {
 72832             "location": "header",
 72833             "locationName": "x-amz-metadata-directive"
 72834           },
 72835           "ServerSideEncryption": {
 72836             "location": "header",
 72837             "locationName": "x-amz-server-side-encryption"
 72838           },
 72839           "StorageClass": {
 72840             "location": "header",
 72841             "locationName": "x-amz-storage-class"
 72842           },
 72843           "WebsiteRedirectLocation": {
 72844             "location": "header",
 72845             "locationName": "x-amz-website-redirect-location"
 72846           },
 72847           "SSECustomerAlgorithm": {
 72848             "location": "header",
 72849             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 72850           },
 72851           "SSECustomerKey": {
 72852             "shape": "S18",
 72853             "location": "header",
 72854             "locationName": "x-amz-server-side-encryption-customer-key"
 72855           },
 72856           "SSECustomerKeyMD5": {
 72857             "location": "header",
 72858             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 72859           },
 72860           "SSEKMSKeyId": {
 72861             "shape": "Sj",
 72862             "location": "header",
 72863             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 72864           },
 72865           "CopySourceSSECustomerAlgorithm": {
 72866             "location": "header",
 72867             "locationName": "x-amz-copy-source-server-side-encryption-customer-algorithm"
 72868           },
 72869           "CopySourceSSECustomerKey": {
 72870             "shape": "S1b",
 72871             "location": "header",
 72872             "locationName": "x-amz-copy-source-server-side-encryption-customer-key"
 72873           },
 72874           "CopySourceSSECustomerKeyMD5": {
 72875             "location": "header",
 72876             "locationName": "x-amz-copy-source-server-side-encryption-customer-key-MD5"
 72877           },
 72878           "RequestPayer": {
 72879             "location": "header",
 72880             "locationName": "x-amz-request-payer"
 72881           }
 72882         }
 72883       },
 72884       "output": {
 72885         "type": "structure",
 72886         "members": {
 72887           "CopyObjectResult": {
 72888             "type": "structure",
 72889             "members": {
 72890               "ETag": {},
 72891               "LastModified": {
 72892                 "type": "timestamp"
 72893               }
 72894             }
 72895           },
 72896           "Expiration": {
 72897             "location": "header",
 72898             "locationName": "x-amz-expiration"
 72899           },
 72900           "CopySourceVersionId": {
 72901             "location": "header",
 72902             "locationName": "x-amz-copy-source-version-id"
 72903           },
 72904           "VersionId": {
 72905             "location": "header",
 72906             "locationName": "x-amz-version-id"
 72907           },
 72908           "ServerSideEncryption": {
 72909             "location": "header",
 72910             "locationName": "x-amz-server-side-encryption"
 72911           },
 72912           "SSECustomerAlgorithm": {
 72913             "location": "header",
 72914             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 72915           },
 72916           "SSECustomerKeyMD5": {
 72917             "location": "header",
 72918             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 72919           },
 72920           "SSEKMSKeyId": {
 72921             "shape": "Sj",
 72922             "location": "header",
 72923             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 72924           },
 72925           "RequestCharged": {
 72926             "location": "header",
 72927             "locationName": "x-amz-request-charged"
 72928           }
 72929         },
 72930         "payload": "CopyObjectResult"
 72931       },
 72932       "alias": "PutObjectCopy"
 72933     },
 72934     "CreateBucket": {
 72935       "http": {
 72936         "method": "PUT",
 72937         "requestUri": "/{Bucket}"
 72938       },
 72939       "input": {
 72940         "type": "structure",
 72941         "required": [
 72942           "Bucket"
 72943         ],
 72944         "members": {
 72945           "ACL": {
 72946             "location": "header",
 72947             "locationName": "x-amz-acl"
 72948           },
 72949           "Bucket": {
 72950             "location": "uri",
 72951             "locationName": "Bucket"
 72952           },
 72953           "CreateBucketConfiguration": {
 72954             "locationName": "CreateBucketConfiguration",
 72955             "xmlNamespace": {
 72956               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 72957             },
 72958             "type": "structure",
 72959             "members": {
 72960               "LocationConstraint": {}
 72961             }
 72962           },
 72963           "GrantFullControl": {
 72964             "location": "header",
 72965             "locationName": "x-amz-grant-full-control"
 72966           },
 72967           "GrantRead": {
 72968             "location": "header",
 72969             "locationName": "x-amz-grant-read"
 72970           },
 72971           "GrantReadACP": {
 72972             "location": "header",
 72973             "locationName": "x-amz-grant-read-acp"
 72974           },
 72975           "GrantWrite": {
 72976             "location": "header",
 72977             "locationName": "x-amz-grant-write"
 72978           },
 72979           "GrantWriteACP": {
 72980             "location": "header",
 72981             "locationName": "x-amz-grant-write-acp"
 72982           }
 72983         },
 72984         "payload": "CreateBucketConfiguration"
 72985       },
 72986       "output": {
 72987         "type": "structure",
 72988         "members": {
 72989           "Location": {
 72990             "location": "header",
 72991             "locationName": "Location"
 72992           }
 72993         }
 72994       },
 72995       "alias": "PutBucket"
 72996     },
 72997     "CreateMultipartUpload": {
 72998       "http": {
 72999         "requestUri": "/{Bucket}/{Key+}?uploads"
 73000       },
 73001       "input": {
 73002         "type": "structure",
 73003         "required": [
 73004           "Bucket",
 73005           "Key"
 73006         ],
 73007         "members": {
 73008           "ACL": {
 73009             "location": "header",
 73010             "locationName": "x-amz-acl"
 73011           },
 73012           "Bucket": {
 73013             "location": "uri",
 73014             "locationName": "Bucket"
 73015           },
 73016           "CacheControl": {
 73017             "location": "header",
 73018             "locationName": "Cache-Control"
 73019           },
 73020           "ContentDisposition": {
 73021             "location": "header",
 73022             "locationName": "Content-Disposition"
 73023           },
 73024           "ContentEncoding": {
 73025             "location": "header",
 73026             "locationName": "Content-Encoding"
 73027           },
 73028           "ContentLanguage": {
 73029             "location": "header",
 73030             "locationName": "Content-Language"
 73031           },
 73032           "ContentType": {
 73033             "location": "header",
 73034             "locationName": "Content-Type"
 73035           },
 73036           "Expires": {
 73037             "location": "header",
 73038             "locationName": "Expires",
 73039             "type": "timestamp"
 73040           },
 73041           "GrantFullControl": {
 73042             "location": "header",
 73043             "locationName": "x-amz-grant-full-control"
 73044           },
 73045           "GrantRead": {
 73046             "location": "header",
 73047             "locationName": "x-amz-grant-read"
 73048           },
 73049           "GrantReadACP": {
 73050             "location": "header",
 73051             "locationName": "x-amz-grant-read-acp"
 73052           },
 73053           "GrantWriteACP": {
 73054             "location": "header",
 73055             "locationName": "x-amz-grant-write-acp"
 73056           },
 73057           "Key": {
 73058             "location": "uri",
 73059             "locationName": "Key"
 73060           },
 73061           "Metadata": {
 73062             "shape": "S11",
 73063             "location": "headers",
 73064             "locationName": "x-amz-meta-"
 73065           },
 73066           "ServerSideEncryption": {
 73067             "location": "header",
 73068             "locationName": "x-amz-server-side-encryption"
 73069           },
 73070           "StorageClass": {
 73071             "location": "header",
 73072             "locationName": "x-amz-storage-class"
 73073           },
 73074           "WebsiteRedirectLocation": {
 73075             "location": "header",
 73076             "locationName": "x-amz-website-redirect-location"
 73077           },
 73078           "SSECustomerAlgorithm": {
 73079             "location": "header",
 73080             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 73081           },
 73082           "SSECustomerKey": {
 73083             "shape": "S18",
 73084             "location": "header",
 73085             "locationName": "x-amz-server-side-encryption-customer-key"
 73086           },
 73087           "SSECustomerKeyMD5": {
 73088             "location": "header",
 73089             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 73090           },
 73091           "SSEKMSKeyId": {
 73092             "shape": "Sj",
 73093             "location": "header",
 73094             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 73095           },
 73096           "RequestPayer": {
 73097             "location": "header",
 73098             "locationName": "x-amz-request-payer"
 73099           }
 73100         }
 73101       },
 73102       "output": {
 73103         "type": "structure",
 73104         "members": {
 73105           "AbortDate": {
 73106             "location": "header",
 73107             "locationName": "x-amz-abort-date",
 73108             "type": "timestamp"
 73109           },
 73110           "AbortRuleId": {
 73111             "location": "header",
 73112             "locationName": "x-amz-abort-rule-id"
 73113           },
 73114           "Bucket": {
 73115             "locationName": "Bucket"
 73116           },
 73117           "Key": {},
 73118           "UploadId": {},
 73119           "ServerSideEncryption": {
 73120             "location": "header",
 73121             "locationName": "x-amz-server-side-encryption"
 73122           },
 73123           "SSECustomerAlgorithm": {
 73124             "location": "header",
 73125             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 73126           },
 73127           "SSECustomerKeyMD5": {
 73128             "location": "header",
 73129             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 73130           },
 73131           "SSEKMSKeyId": {
 73132             "shape": "Sj",
 73133             "location": "header",
 73134             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 73135           },
 73136           "RequestCharged": {
 73137             "location": "header",
 73138             "locationName": "x-amz-request-charged"
 73139           }
 73140         }
 73141       },
 73142       "alias": "InitiateMultipartUpload"
 73143     },
 73144     "DeleteBucket": {
 73145       "http": {
 73146         "method": "DELETE",
 73147         "requestUri": "/{Bucket}"
 73148       },
 73149       "input": {
 73150         "type": "structure",
 73151         "required": [
 73152           "Bucket"
 73153         ],
 73154         "members": {
 73155           "Bucket": {
 73156             "location": "uri",
 73157             "locationName": "Bucket"
 73158           }
 73159         }
 73160       }
 73161     },
 73162     "DeleteBucketCors": {
 73163       "http": {
 73164         "method": "DELETE",
 73165         "requestUri": "/{Bucket}?cors"
 73166       },
 73167       "input": {
 73168         "type": "structure",
 73169         "required": [
 73170           "Bucket"
 73171         ],
 73172         "members": {
 73173           "Bucket": {
 73174             "location": "uri",
 73175             "locationName": "Bucket"
 73176           }
 73177         }
 73178       }
 73179     },
 73180     "DeleteBucketLifecycle": {
 73181       "http": {
 73182         "method": "DELETE",
 73183         "requestUri": "/{Bucket}?lifecycle"
 73184       },
 73185       "input": {
 73186         "type": "structure",
 73187         "required": [
 73188           "Bucket"
 73189         ],
 73190         "members": {
 73191           "Bucket": {
 73192             "location": "uri",
 73193             "locationName": "Bucket"
 73194           }
 73195         }
 73196       }
 73197     },
 73198     "DeleteBucketPolicy": {
 73199       "http": {
 73200         "method": "DELETE",
 73201         "requestUri": "/{Bucket}?policy"
 73202       },
 73203       "input": {
 73204         "type": "structure",
 73205         "required": [
 73206           "Bucket"
 73207         ],
 73208         "members": {
 73209           "Bucket": {
 73210             "location": "uri",
 73211             "locationName": "Bucket"
 73212           }
 73213         }
 73214       }
 73215     },
 73216     "DeleteBucketReplication": {
 73217       "http": {
 73218         "method": "DELETE",
 73219         "requestUri": "/{Bucket}?replication"
 73220       },
 73221       "input": {
 73222         "type": "structure",
 73223         "required": [
 73224           "Bucket"
 73225         ],
 73226         "members": {
 73227           "Bucket": {
 73228             "location": "uri",
 73229             "locationName": "Bucket"
 73230           }
 73231         }
 73232       }
 73233     },
 73234     "DeleteBucketTagging": {
 73235       "http": {
 73236         "method": "DELETE",
 73237         "requestUri": "/{Bucket}?tagging"
 73238       },
 73239       "input": {
 73240         "type": "structure",
 73241         "required": [
 73242           "Bucket"
 73243         ],
 73244         "members": {
 73245           "Bucket": {
 73246             "location": "uri",
 73247             "locationName": "Bucket"
 73248           }
 73249         }
 73250       }
 73251     },
 73252     "DeleteBucketWebsite": {
 73253       "http": {
 73254         "method": "DELETE",
 73255         "requestUri": "/{Bucket}?website"
 73256       },
 73257       "input": {
 73258         "type": "structure",
 73259         "required": [
 73260           "Bucket"
 73261         ],
 73262         "members": {
 73263           "Bucket": {
 73264             "location": "uri",
 73265             "locationName": "Bucket"
 73266           }
 73267         }
 73268       }
 73269     },
 73270     "DeleteObject": {
 73271       "http": {
 73272         "method": "DELETE",
 73273         "requestUri": "/{Bucket}/{Key+}"
 73274       },
 73275       "input": {
 73276         "type": "structure",
 73277         "required": [
 73278           "Bucket",
 73279           "Key"
 73280         ],
 73281         "members": {
 73282           "Bucket": {
 73283             "location": "uri",
 73284             "locationName": "Bucket"
 73285           },
 73286           "Key": {
 73287             "location": "uri",
 73288             "locationName": "Key"
 73289           },
 73290           "MFA": {
 73291             "location": "header",
 73292             "locationName": "x-amz-mfa"
 73293           },
 73294           "VersionId": {
 73295             "location": "querystring",
 73296             "locationName": "versionId"
 73297           },
 73298           "RequestPayer": {
 73299             "location": "header",
 73300             "locationName": "x-amz-request-payer"
 73301           }
 73302         }
 73303       },
 73304       "output": {
 73305         "type": "structure",
 73306         "members": {
 73307           "DeleteMarker": {
 73308             "location": "header",
 73309             "locationName": "x-amz-delete-marker",
 73310             "type": "boolean"
 73311           },
 73312           "VersionId": {
 73313             "location": "header",
 73314             "locationName": "x-amz-version-id"
 73315           },
 73316           "RequestCharged": {
 73317             "location": "header",
 73318             "locationName": "x-amz-request-charged"
 73319           }
 73320         }
 73321       }
 73322     },
 73323     "DeleteObjects": {
 73324       "http": {
 73325         "requestUri": "/{Bucket}?delete"
 73326       },
 73327       "input": {
 73328         "type": "structure",
 73329         "required": [
 73330           "Bucket",
 73331           "Delete"
 73332         ],
 73333         "members": {
 73334           "Bucket": {
 73335             "location": "uri",
 73336             "locationName": "Bucket"
 73337           },
 73338           "Delete": {
 73339             "locationName": "Delete",
 73340             "xmlNamespace": {
 73341               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 73342             },
 73343             "type": "structure",
 73344             "required": [
 73345               "Objects"
 73346             ],
 73347             "members": {
 73348               "Objects": {
 73349                 "locationName": "Object",
 73350                 "type": "list",
 73351                 "member": {
 73352                   "type": "structure",
 73353                   "required": [
 73354                     "Key"
 73355                   ],
 73356                   "members": {
 73357                     "Key": {},
 73358                     "VersionId": {}
 73359                   }
 73360                 },
 73361                 "flattened": true
 73362               },
 73363               "Quiet": {
 73364                 "type": "boolean"
 73365               }
 73366             }
 73367           },
 73368           "MFA": {
 73369             "location": "header",
 73370             "locationName": "x-amz-mfa"
 73371           },
 73372           "RequestPayer": {
 73373             "location": "header",
 73374             "locationName": "x-amz-request-payer"
 73375           }
 73376         },
 73377         "payload": "Delete"
 73378       },
 73379       "output": {
 73380         "type": "structure",
 73381         "members": {
 73382           "Deleted": {
 73383             "type": "list",
 73384             "member": {
 73385               "type": "structure",
 73386               "members": {
 73387                 "Key": {},
 73388                 "VersionId": {},
 73389                 "DeleteMarker": {
 73390                   "type": "boolean"
 73391                 },
 73392                 "DeleteMarkerVersionId": {}
 73393               }
 73394             },
 73395             "flattened": true
 73396           },
 73397           "RequestCharged": {
 73398             "location": "header",
 73399             "locationName": "x-amz-request-charged"
 73400           },
 73401           "Errors": {
 73402             "locationName": "Error",
 73403             "type": "list",
 73404             "member": {
 73405               "type": "structure",
 73406               "members": {
 73407                 "Key": {},
 73408                 "VersionId": {},
 73409                 "Code": {},
 73410                 "Message": {}
 73411               }
 73412             },
 73413             "flattened": true
 73414           }
 73415         }
 73416       },
 73417       "alias": "DeleteMultipleObjects"
 73418     },
 73419     "GetBucketAccelerateConfiguration": {
 73420       "http": {
 73421         "method": "GET",
 73422         "requestUri": "/{Bucket}?accelerate"
 73423       },
 73424       "input": {
 73425         "type": "structure",
 73426         "required": [
 73427           "Bucket"
 73428         ],
 73429         "members": {
 73430           "Bucket": {
 73431             "location": "uri",
 73432             "locationName": "Bucket"
 73433           }
 73434         }
 73435       },
 73436       "output": {
 73437         "type": "structure",
 73438         "members": {
 73439           "Status": {}
 73440         }
 73441       }
 73442     },
 73443     "GetBucketAcl": {
 73444       "http": {
 73445         "method": "GET",
 73446         "requestUri": "/{Bucket}?acl"
 73447       },
 73448       "input": {
 73449         "type": "structure",
 73450         "required": [
 73451           "Bucket"
 73452         ],
 73453         "members": {
 73454           "Bucket": {
 73455             "location": "uri",
 73456             "locationName": "Bucket"
 73457           }
 73458         }
 73459       },
 73460       "output": {
 73461         "type": "structure",
 73462         "members": {
 73463           "Owner": {
 73464             "shape": "S2k"
 73465           },
 73466           "Grants": {
 73467             "shape": "S2n",
 73468             "locationName": "AccessControlList"
 73469           }
 73470         }
 73471       }
 73472     },
 73473     "GetBucketCors": {
 73474       "http": {
 73475         "method": "GET",
 73476         "requestUri": "/{Bucket}?cors"
 73477       },
 73478       "input": {
 73479         "type": "structure",
 73480         "required": [
 73481           "Bucket"
 73482         ],
 73483         "members": {
 73484           "Bucket": {
 73485             "location": "uri",
 73486             "locationName": "Bucket"
 73487           }
 73488         }
 73489       },
 73490       "output": {
 73491         "type": "structure",
 73492         "members": {
 73493           "CORSRules": {
 73494             "shape": "S2w",
 73495             "locationName": "CORSRule"
 73496           }
 73497         }
 73498       }
 73499     },
 73500     "GetBucketLifecycle": {
 73501       "http": {
 73502         "method": "GET",
 73503         "requestUri": "/{Bucket}?lifecycle"
 73504       },
 73505       "input": {
 73506         "type": "structure",
 73507         "required": [
 73508           "Bucket"
 73509         ],
 73510         "members": {
 73511           "Bucket": {
 73512             "location": "uri",
 73513             "locationName": "Bucket"
 73514           }
 73515         }
 73516       },
 73517       "output": {
 73518         "type": "structure",
 73519         "members": {
 73520           "Rules": {
 73521             "shape": "S39",
 73522             "locationName": "Rule"
 73523           }
 73524         }
 73525       },
 73526       "deprecated": true
 73527     },
 73528     "GetBucketLifecycleConfiguration": {
 73529       "http": {
 73530         "method": "GET",
 73531         "requestUri": "/{Bucket}?lifecycle"
 73532       },
 73533       "input": {
 73534         "type": "structure",
 73535         "required": [
 73536           "Bucket"
 73537         ],
 73538         "members": {
 73539           "Bucket": {
 73540             "location": "uri",
 73541             "locationName": "Bucket"
 73542           }
 73543         }
 73544       },
 73545       "output": {
 73546         "type": "structure",
 73547         "members": {
 73548           "Rules": {
 73549             "shape": "S3p",
 73550             "locationName": "Rule"
 73551           }
 73552         }
 73553       }
 73554     },
 73555     "GetBucketLocation": {
 73556       "http": {
 73557         "method": "GET",
 73558         "requestUri": "/{Bucket}?location"
 73559       },
 73560       "input": {
 73561         "type": "structure",
 73562         "required": [
 73563           "Bucket"
 73564         ],
 73565         "members": {
 73566           "Bucket": {
 73567             "location": "uri",
 73568             "locationName": "Bucket"
 73569           }
 73570         }
 73571       },
 73572       "output": {
 73573         "type": "structure",
 73574         "members": {
 73575           "LocationConstraint": {}
 73576         }
 73577       }
 73578     },
 73579     "GetBucketLogging": {
 73580       "http": {
 73581         "method": "GET",
 73582         "requestUri": "/{Bucket}?logging"
 73583       },
 73584       "input": {
 73585         "type": "structure",
 73586         "required": [
 73587           "Bucket"
 73588         ],
 73589         "members": {
 73590           "Bucket": {
 73591             "location": "uri",
 73592             "locationName": "Bucket"
 73593           }
 73594         }
 73595       },
 73596       "output": {
 73597         "type": "structure",
 73598         "members": {
 73599           "LoggingEnabled": {
 73600             "shape": "S3x"
 73601           }
 73602         }
 73603       }
 73604     },
 73605     "GetBucketNotification": {
 73606       "http": {
 73607         "method": "GET",
 73608         "requestUri": "/{Bucket}?notification"
 73609       },
 73610       "input": {
 73611         "shape": "S43"
 73612       },
 73613       "output": {
 73614         "shape": "S44"
 73615       },
 73616       "deprecated": true
 73617     },
 73618     "GetBucketNotificationConfiguration": {
 73619       "http": {
 73620         "method": "GET",
 73621         "requestUri": "/{Bucket}?notification"
 73622       },
 73623       "input": {
 73624         "shape": "S43"
 73625       },
 73626       "output": {
 73627         "shape": "S4f"
 73628       }
 73629     },
 73630     "GetBucketPolicy": {
 73631       "http": {
 73632         "method": "GET",
 73633         "requestUri": "/{Bucket}?policy"
 73634       },
 73635       "input": {
 73636         "type": "structure",
 73637         "required": [
 73638           "Bucket"
 73639         ],
 73640         "members": {
 73641           "Bucket": {
 73642             "location": "uri",
 73643             "locationName": "Bucket"
 73644           }
 73645         }
 73646       },
 73647       "output": {
 73648         "type": "structure",
 73649         "members": {
 73650           "Policy": {}
 73651         },
 73652         "payload": "Policy"
 73653       }
 73654     },
 73655     "GetBucketReplication": {
 73656       "http": {
 73657         "method": "GET",
 73658         "requestUri": "/{Bucket}?replication"
 73659       },
 73660       "input": {
 73661         "type": "structure",
 73662         "required": [
 73663           "Bucket"
 73664         ],
 73665         "members": {
 73666           "Bucket": {
 73667             "location": "uri",
 73668             "locationName": "Bucket"
 73669           }
 73670         }
 73671       },
 73672       "output": {
 73673         "type": "structure",
 73674         "members": {
 73675           "ReplicationConfiguration": {
 73676             "shape": "S4y"
 73677           }
 73678         },
 73679         "payload": "ReplicationConfiguration"
 73680       }
 73681     },
 73682     "GetBucketRequestPayment": {
 73683       "http": {
 73684         "method": "GET",
 73685         "requestUri": "/{Bucket}?requestPayment"
 73686       },
 73687       "input": {
 73688         "type": "structure",
 73689         "required": [
 73690           "Bucket"
 73691         ],
 73692         "members": {
 73693           "Bucket": {
 73694             "location": "uri",
 73695             "locationName": "Bucket"
 73696           }
 73697         }
 73698       },
 73699       "output": {
 73700         "type": "structure",
 73701         "members": {
 73702           "Payer": {}
 73703         }
 73704       }
 73705     },
 73706     "GetBucketTagging": {
 73707       "http": {
 73708         "method": "GET",
 73709         "requestUri": "/{Bucket}?tagging"
 73710       },
 73711       "input": {
 73712         "type": "structure",
 73713         "required": [
 73714           "Bucket"
 73715         ],
 73716         "members": {
 73717           "Bucket": {
 73718             "location": "uri",
 73719             "locationName": "Bucket"
 73720           }
 73721         }
 73722       },
 73723       "output": {
 73724         "type": "structure",
 73725         "required": [
 73726           "TagSet"
 73727         ],
 73728         "members": {
 73729           "TagSet": {
 73730             "shape": "S59"
 73731           }
 73732         }
 73733       }
 73734     },
 73735     "GetBucketVersioning": {
 73736       "http": {
 73737         "method": "GET",
 73738         "requestUri": "/{Bucket}?versioning"
 73739       },
 73740       "input": {
 73741         "type": "structure",
 73742         "required": [
 73743           "Bucket"
 73744         ],
 73745         "members": {
 73746           "Bucket": {
 73747             "location": "uri",
 73748             "locationName": "Bucket"
 73749           }
 73750         }
 73751       },
 73752       "output": {
 73753         "type": "structure",
 73754         "members": {
 73755           "Status": {},
 73756           "MFADelete": {
 73757             "locationName": "MfaDelete"
 73758           }
 73759         }
 73760       }
 73761     },
 73762     "GetBucketWebsite": {
 73763       "http": {
 73764         "method": "GET",
 73765         "requestUri": "/{Bucket}?website"
 73766       },
 73767       "input": {
 73768         "type": "structure",
 73769         "required": [
 73770           "Bucket"
 73771         ],
 73772         "members": {
 73773           "Bucket": {
 73774             "location": "uri",
 73775             "locationName": "Bucket"
 73776           }
 73777         }
 73778       },
 73779       "output": {
 73780         "type": "structure",
 73781         "members": {
 73782           "RedirectAllRequestsTo": {
 73783             "shape": "S5i"
 73784           },
 73785           "IndexDocument": {
 73786             "shape": "S5l"
 73787           },
 73788           "ErrorDocument": {
 73789             "shape": "S5n"
 73790           },
 73791           "RoutingRules": {
 73792             "shape": "S5o"
 73793           }
 73794         }
 73795       }
 73796     },
 73797     "GetObject": {
 73798       "http": {
 73799         "method": "GET",
 73800         "requestUri": "/{Bucket}/{Key+}"
 73801       },
 73802       "input": {
 73803         "type": "structure",
 73804         "required": [
 73805           "Bucket",
 73806           "Key"
 73807         ],
 73808         "members": {
 73809           "Bucket": {
 73810             "location": "uri",
 73811             "locationName": "Bucket"
 73812           },
 73813           "IfMatch": {
 73814             "location": "header",
 73815             "locationName": "If-Match"
 73816           },
 73817           "IfModifiedSince": {
 73818             "location": "header",
 73819             "locationName": "If-Modified-Since",
 73820             "type": "timestamp"
 73821           },
 73822           "IfNoneMatch": {
 73823             "location": "header",
 73824             "locationName": "If-None-Match"
 73825           },
 73826           "IfUnmodifiedSince": {
 73827             "location": "header",
 73828             "locationName": "If-Unmodified-Since",
 73829             "type": "timestamp"
 73830           },
 73831           "Key": {
 73832             "location": "uri",
 73833             "locationName": "Key"
 73834           },
 73835           "Range": {
 73836             "location": "header",
 73837             "locationName": "Range"
 73838           },
 73839           "ResponseCacheControl": {
 73840             "location": "querystring",
 73841             "locationName": "response-cache-control"
 73842           },
 73843           "ResponseContentDisposition": {
 73844             "location": "querystring",
 73845             "locationName": "response-content-disposition"
 73846           },
 73847           "ResponseContentEncoding": {
 73848             "location": "querystring",
 73849             "locationName": "response-content-encoding"
 73850           },
 73851           "ResponseContentLanguage": {
 73852             "location": "querystring",
 73853             "locationName": "response-content-language"
 73854           },
 73855           "ResponseContentType": {
 73856             "location": "querystring",
 73857             "locationName": "response-content-type"
 73858           },
 73859           "ResponseExpires": {
 73860             "location": "querystring",
 73861             "locationName": "response-expires",
 73862             "type": "timestamp"
 73863           },
 73864           "VersionId": {
 73865             "location": "querystring",
 73866             "locationName": "versionId"
 73867           },
 73868           "SSECustomerAlgorithm": {
 73869             "location": "header",
 73870             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 73871           },
 73872           "SSECustomerKey": {
 73873             "shape": "S18",
 73874             "location": "header",
 73875             "locationName": "x-amz-server-side-encryption-customer-key"
 73876           },
 73877           "SSECustomerKeyMD5": {
 73878             "location": "header",
 73879             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 73880           },
 73881           "RequestPayer": {
 73882             "location": "header",
 73883             "locationName": "x-amz-request-payer"
 73884           },
 73885           "PartNumber": {
 73886             "location": "querystring",
 73887             "locationName": "partNumber",
 73888             "type": "integer"
 73889           }
 73890         }
 73891       },
 73892       "output": {
 73893         "type": "structure",
 73894         "members": {
 73895           "Body": {
 73896             "streaming": true,
 73897             "type": "blob"
 73898           },
 73899           "DeleteMarker": {
 73900             "location": "header",
 73901             "locationName": "x-amz-delete-marker",
 73902             "type": "boolean"
 73903           },
 73904           "AcceptRanges": {
 73905             "location": "header",
 73906             "locationName": "accept-ranges"
 73907           },
 73908           "Expiration": {
 73909             "location": "header",
 73910             "locationName": "x-amz-expiration"
 73911           },
 73912           "Restore": {
 73913             "location": "header",
 73914             "locationName": "x-amz-restore"
 73915           },
 73916           "LastModified": {
 73917             "location": "header",
 73918             "locationName": "Last-Modified",
 73919             "type": "timestamp"
 73920           },
 73921           "ContentLength": {
 73922             "location": "header",
 73923             "locationName": "Content-Length",
 73924             "type": "long"
 73925           },
 73926           "ETag": {
 73927             "location": "header",
 73928             "locationName": "ETag"
 73929           },
 73930           "MissingMeta": {
 73931             "location": "header",
 73932             "locationName": "x-amz-missing-meta",
 73933             "type": "integer"
 73934           },
 73935           "VersionId": {
 73936             "location": "header",
 73937             "locationName": "x-amz-version-id"
 73938           },
 73939           "CacheControl": {
 73940             "location": "header",
 73941             "locationName": "Cache-Control"
 73942           },
 73943           "ContentDisposition": {
 73944             "location": "header",
 73945             "locationName": "Content-Disposition"
 73946           },
 73947           "ContentEncoding": {
 73948             "location": "header",
 73949             "locationName": "Content-Encoding"
 73950           },
 73951           "ContentLanguage": {
 73952             "location": "header",
 73953             "locationName": "Content-Language"
 73954           },
 73955           "ContentRange": {
 73956             "location": "header",
 73957             "locationName": "Content-Range"
 73958           },
 73959           "ContentType": {
 73960             "location": "header",
 73961             "locationName": "Content-Type"
 73962           },
 73963           "Expires": {
 73964             "location": "header",
 73965             "locationName": "Expires",
 73966             "type": "timestamp"
 73967           },
 73968           "WebsiteRedirectLocation": {
 73969             "location": "header",
 73970             "locationName": "x-amz-website-redirect-location"
 73971           },
 73972           "ServerSideEncryption": {
 73973             "location": "header",
 73974             "locationName": "x-amz-server-side-encryption"
 73975           },
 73976           "Metadata": {
 73977             "shape": "S11",
 73978             "location": "headers",
 73979             "locationName": "x-amz-meta-"
 73980           },
 73981           "SSECustomerAlgorithm": {
 73982             "location": "header",
 73983             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 73984           },
 73985           "SSECustomerKeyMD5": {
 73986             "location": "header",
 73987             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 73988           },
 73989           "SSEKMSKeyId": {
 73990             "shape": "Sj",
 73991             "location": "header",
 73992             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 73993           },
 73994           "StorageClass": {
 73995             "location": "header",
 73996             "locationName": "x-amz-storage-class"
 73997           },
 73998           "RequestCharged": {
 73999             "location": "header",
 74000             "locationName": "x-amz-request-charged"
 74001           },
 74002           "ReplicationStatus": {
 74003             "location": "header",
 74004             "locationName": "x-amz-replication-status"
 74005           },
 74006           "PartsCount": {
 74007             "location": "header",
 74008             "locationName": "x-amz-mp-parts-count",
 74009             "type": "integer"
 74010           }
 74011         },
 74012         "payload": "Body"
 74013       }
 74014     },
 74015     "GetObjectAcl": {
 74016       "http": {
 74017         "method": "GET",
 74018         "requestUri": "/{Bucket}/{Key+}?acl"
 74019       },
 74020       "input": {
 74021         "type": "structure",
 74022         "required": [
 74023           "Bucket",
 74024           "Key"
 74025         ],
 74026         "members": {
 74027           "Bucket": {
 74028             "location": "uri",
 74029             "locationName": "Bucket"
 74030           },
 74031           "Key": {
 74032             "location": "uri",
 74033             "locationName": "Key"
 74034           },
 74035           "VersionId": {
 74036             "location": "querystring",
 74037             "locationName": "versionId"
 74038           },
 74039           "RequestPayer": {
 74040             "location": "header",
 74041             "locationName": "x-amz-request-payer"
 74042           }
 74043         }
 74044       },
 74045       "output": {
 74046         "type": "structure",
 74047         "members": {
 74048           "Owner": {
 74049             "shape": "S2k"
 74050           },
 74051           "Grants": {
 74052             "shape": "S2n",
 74053             "locationName": "AccessControlList"
 74054           },
 74055           "RequestCharged": {
 74056             "location": "header",
 74057             "locationName": "x-amz-request-charged"
 74058           }
 74059         }
 74060       }
 74061     },
 74062     "GetObjectTorrent": {
 74063       "http": {
 74064         "method": "GET",
 74065         "requestUri": "/{Bucket}/{Key+}?torrent"
 74066       },
 74067       "input": {
 74068         "type": "structure",
 74069         "required": [
 74070           "Bucket",
 74071           "Key"
 74072         ],
 74073         "members": {
 74074           "Bucket": {
 74075             "location": "uri",
 74076             "locationName": "Bucket"
 74077           },
 74078           "Key": {
 74079             "location": "uri",
 74080             "locationName": "Key"
 74081           },
 74082           "RequestPayer": {
 74083             "location": "header",
 74084             "locationName": "x-amz-request-payer"
 74085           }
 74086         }
 74087       },
 74088       "output": {
 74089         "type": "structure",
 74090         "members": {
 74091           "Body": {
 74092             "streaming": true,
 74093             "type": "blob"
 74094           },
 74095           "RequestCharged": {
 74096             "location": "header",
 74097             "locationName": "x-amz-request-charged"
 74098           }
 74099         },
 74100         "payload": "Body"
 74101       }
 74102     },
 74103     "HeadBucket": {
 74104       "http": {
 74105         "method": "HEAD",
 74106         "requestUri": "/{Bucket}"
 74107       },
 74108       "input": {
 74109         "type": "structure",
 74110         "required": [
 74111           "Bucket"
 74112         ],
 74113         "members": {
 74114           "Bucket": {
 74115             "location": "uri",
 74116             "locationName": "Bucket"
 74117           }
 74118         }
 74119       }
 74120     },
 74121     "HeadObject": {
 74122       "http": {
 74123         "method": "HEAD",
 74124         "requestUri": "/{Bucket}/{Key+}"
 74125       },
 74126       "input": {
 74127         "type": "structure",
 74128         "required": [
 74129           "Bucket",
 74130           "Key"
 74131         ],
 74132         "members": {
 74133           "Bucket": {
 74134             "location": "uri",
 74135             "locationName": "Bucket"
 74136           },
 74137           "IfMatch": {
 74138             "location": "header",
 74139             "locationName": "If-Match"
 74140           },
 74141           "IfModifiedSince": {
 74142             "location": "header",
 74143             "locationName": "If-Modified-Since",
 74144             "type": "timestamp"
 74145           },
 74146           "IfNoneMatch": {
 74147             "location": "header",
 74148             "locationName": "If-None-Match"
 74149           },
 74150           "IfUnmodifiedSince": {
 74151             "location": "header",
 74152             "locationName": "If-Unmodified-Since",
 74153             "type": "timestamp"
 74154           },
 74155           "Key": {
 74156             "location": "uri",
 74157             "locationName": "Key"
 74158           },
 74159           "Range": {
 74160             "location": "header",
 74161             "locationName": "Range"
 74162           },
 74163           "VersionId": {
 74164             "location": "querystring",
 74165             "locationName": "versionId"
 74166           },
 74167           "SSECustomerAlgorithm": {
 74168             "location": "header",
 74169             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 74170           },
 74171           "SSECustomerKey": {
 74172             "shape": "S18",
 74173             "location": "header",
 74174             "locationName": "x-amz-server-side-encryption-customer-key"
 74175           },
 74176           "SSECustomerKeyMD5": {
 74177             "location": "header",
 74178             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 74179           },
 74180           "RequestPayer": {
 74181             "location": "header",
 74182             "locationName": "x-amz-request-payer"
 74183           },
 74184           "PartNumber": {
 74185             "location": "querystring",
 74186             "locationName": "partNumber",
 74187             "type": "integer"
 74188           }
 74189         }
 74190       },
 74191       "output": {
 74192         "type": "structure",
 74193         "members": {
 74194           "DeleteMarker": {
 74195             "location": "header",
 74196             "locationName": "x-amz-delete-marker",
 74197             "type": "boolean"
 74198           },
 74199           "AcceptRanges": {
 74200             "location": "header",
 74201             "locationName": "accept-ranges"
 74202           },
 74203           "Expiration": {
 74204             "location": "header",
 74205             "locationName": "x-amz-expiration"
 74206           },
 74207           "Restore": {
 74208             "location": "header",
 74209             "locationName": "x-amz-restore"
 74210           },
 74211           "LastModified": {
 74212             "location": "header",
 74213             "locationName": "Last-Modified",
 74214             "type": "timestamp"
 74215           },
 74216           "ContentLength": {
 74217             "location": "header",
 74218             "locationName": "Content-Length",
 74219             "type": "long"
 74220           },
 74221           "ETag": {
 74222             "location": "header",
 74223             "locationName": "ETag"
 74224           },
 74225           "MissingMeta": {
 74226             "location": "header",
 74227             "locationName": "x-amz-missing-meta",
 74228             "type": "integer"
 74229           },
 74230           "VersionId": {
 74231             "location": "header",
 74232             "locationName": "x-amz-version-id"
 74233           },
 74234           "CacheControl": {
 74235             "location": "header",
 74236             "locationName": "Cache-Control"
 74237           },
 74238           "ContentDisposition": {
 74239             "location": "header",
 74240             "locationName": "Content-Disposition"
 74241           },
 74242           "ContentEncoding": {
 74243             "location": "header",
 74244             "locationName": "Content-Encoding"
 74245           },
 74246           "ContentLanguage": {
 74247             "location": "header",
 74248             "locationName": "Content-Language"
 74249           },
 74250           "ContentType": {
 74251             "location": "header",
 74252             "locationName": "Content-Type"
 74253           },
 74254           "Expires": {
 74255             "location": "header",
 74256             "locationName": "Expires",
 74257             "type": "timestamp"
 74258           },
 74259           "WebsiteRedirectLocation": {
 74260             "location": "header",
 74261             "locationName": "x-amz-website-redirect-location"
 74262           },
 74263           "ServerSideEncryption": {
 74264             "location": "header",
 74265             "locationName": "x-amz-server-side-encryption"
 74266           },
 74267           "Metadata": {
 74268             "shape": "S11",
 74269             "location": "headers",
 74270             "locationName": "x-amz-meta-"
 74271           },
 74272           "SSECustomerAlgorithm": {
 74273             "location": "header",
 74274             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 74275           },
 74276           "SSECustomerKeyMD5": {
 74277             "location": "header",
 74278             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 74279           },
 74280           "SSEKMSKeyId": {
 74281             "shape": "Sj",
 74282             "location": "header",
 74283             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 74284           },
 74285           "StorageClass": {
 74286             "location": "header",
 74287             "locationName": "x-amz-storage-class"
 74288           },
 74289           "RequestCharged": {
 74290             "location": "header",
 74291             "locationName": "x-amz-request-charged"
 74292           },
 74293           "ReplicationStatus": {
 74294             "location": "header",
 74295             "locationName": "x-amz-replication-status"
 74296           },
 74297           "PartsCount": {
 74298             "location": "header",
 74299             "locationName": "x-amz-mp-parts-count",
 74300             "type": "integer"
 74301           }
 74302         }
 74303       }
 74304     },
 74305     "ListBuckets": {
 74306       "http": {
 74307         "method": "GET"
 74308       },
 74309       "output": {
 74310         "type": "structure",
 74311         "members": {
 74312           "Buckets": {
 74313             "type": "list",
 74314             "member": {
 74315               "locationName": "Bucket",
 74316               "type": "structure",
 74317               "members": {
 74318                 "Name": {},
 74319                 "CreationDate": {
 74320                   "type": "timestamp"
 74321                 }
 74322               }
 74323             }
 74324           },
 74325           "Owner": {
 74326             "shape": "S2k"
 74327           }
 74328         }
 74329       },
 74330       "alias": "GetService"
 74331     },
 74332     "ListMultipartUploads": {
 74333       "http": {
 74334         "method": "GET",
 74335         "requestUri": "/{Bucket}?uploads"
 74336       },
 74337       "input": {
 74338         "type": "structure",
 74339         "required": [
 74340           "Bucket"
 74341         ],
 74342         "members": {
 74343           "Bucket": {
 74344             "location": "uri",
 74345             "locationName": "Bucket"
 74346           },
 74347           "Delimiter": {
 74348             "location": "querystring",
 74349             "locationName": "delimiter"
 74350           },
 74351           "EncodingType": {
 74352             "location": "querystring",
 74353             "locationName": "encoding-type"
 74354           },
 74355           "KeyMarker": {
 74356             "location": "querystring",
 74357             "locationName": "key-marker"
 74358           },
 74359           "MaxUploads": {
 74360             "location": "querystring",
 74361             "locationName": "max-uploads",
 74362             "type": "integer"
 74363           },
 74364           "Prefix": {
 74365             "location": "querystring",
 74366             "locationName": "prefix"
 74367           },
 74368           "UploadIdMarker": {
 74369             "location": "querystring",
 74370             "locationName": "upload-id-marker"
 74371           }
 74372         }
 74373       },
 74374       "output": {
 74375         "type": "structure",
 74376         "members": {
 74377           "Bucket": {},
 74378           "KeyMarker": {},
 74379           "UploadIdMarker": {},
 74380           "NextKeyMarker": {},
 74381           "Prefix": {},
 74382           "Delimiter": {},
 74383           "NextUploadIdMarker": {},
 74384           "MaxUploads": {
 74385             "type": "integer"
 74386           },
 74387           "IsTruncated": {
 74388             "type": "boolean"
 74389           },
 74390           "Uploads": {
 74391             "locationName": "Upload",
 74392             "type": "list",
 74393             "member": {
 74394               "type": "structure",
 74395               "members": {
 74396                 "UploadId": {},
 74397                 "Key": {},
 74398                 "Initiated": {
 74399                   "type": "timestamp"
 74400                 },
 74401                 "StorageClass": {},
 74402                 "Owner": {
 74403                   "shape": "S2k"
 74404                 },
 74405                 "Initiator": {
 74406                   "shape": "S76"
 74407                 }
 74408               }
 74409             },
 74410             "flattened": true
 74411           },
 74412           "CommonPrefixes": {
 74413             "shape": "S77"
 74414           },
 74415           "EncodingType": {}
 74416         }
 74417       }
 74418     },
 74419     "ListObjectVersions": {
 74420       "http": {
 74421         "method": "GET",
 74422         "requestUri": "/{Bucket}?versions"
 74423       },
 74424       "input": {
 74425         "type": "structure",
 74426         "required": [
 74427           "Bucket"
 74428         ],
 74429         "members": {
 74430           "Bucket": {
 74431             "location": "uri",
 74432             "locationName": "Bucket"
 74433           },
 74434           "Delimiter": {
 74435             "location": "querystring",
 74436             "locationName": "delimiter"
 74437           },
 74438           "EncodingType": {
 74439             "location": "querystring",
 74440             "locationName": "encoding-type"
 74441           },
 74442           "KeyMarker": {
 74443             "location": "querystring",
 74444             "locationName": "key-marker"
 74445           },
 74446           "MaxKeys": {
 74447             "location": "querystring",
 74448             "locationName": "max-keys",
 74449             "type": "integer"
 74450           },
 74451           "Prefix": {
 74452             "location": "querystring",
 74453             "locationName": "prefix"
 74454           },
 74455           "VersionIdMarker": {
 74456             "location": "querystring",
 74457             "locationName": "version-id-marker"
 74458           }
 74459         }
 74460       },
 74461       "output": {
 74462         "type": "structure",
 74463         "members": {
 74464           "IsTruncated": {
 74465             "type": "boolean"
 74466           },
 74467           "KeyMarker": {},
 74468           "VersionIdMarker": {},
 74469           "NextKeyMarker": {},
 74470           "NextVersionIdMarker": {},
 74471           "Versions": {
 74472             "locationName": "Version",
 74473             "type": "list",
 74474             "member": {
 74475               "type": "structure",
 74476               "members": {
 74477                 "ETag": {},
 74478                 "Size": {
 74479                   "type": "integer"
 74480                 },
 74481                 "StorageClass": {},
 74482                 "Key": {},
 74483                 "VersionId": {},
 74484                 "IsLatest": {
 74485                   "type": "boolean"
 74486                 },
 74487                 "LastModified": {
 74488                   "type": "timestamp"
 74489                 },
 74490                 "Owner": {
 74491                   "shape": "S2k"
 74492                 }
 74493               }
 74494             },
 74495             "flattened": true
 74496           },
 74497           "DeleteMarkers": {
 74498             "locationName": "DeleteMarker",
 74499             "type": "list",
 74500             "member": {
 74501               "type": "structure",
 74502               "members": {
 74503                 "Owner": {
 74504                   "shape": "S2k"
 74505                 },
 74506                 "Key": {},
 74507                 "VersionId": {},
 74508                 "IsLatest": {
 74509                   "type": "boolean"
 74510                 },
 74511                 "LastModified": {
 74512                   "type": "timestamp"
 74513                 }
 74514               }
 74515             },
 74516             "flattened": true
 74517           },
 74518           "Name": {},
 74519           "Prefix": {},
 74520           "Delimiter": {},
 74521           "MaxKeys": {
 74522             "type": "integer"
 74523           },
 74524           "CommonPrefixes": {
 74525             "shape": "S77"
 74526           },
 74527           "EncodingType": {}
 74528         }
 74529       },
 74530       "alias": "GetBucketObjectVersions"
 74531     },
 74532     "ListObjects": {
 74533       "http": {
 74534         "method": "GET",
 74535         "requestUri": "/{Bucket}"
 74536       },
 74537       "input": {
 74538         "type": "structure",
 74539         "required": [
 74540           "Bucket"
 74541         ],
 74542         "members": {
 74543           "Bucket": {
 74544             "location": "uri",
 74545             "locationName": "Bucket"
 74546           },
 74547           "Delimiter": {
 74548             "location": "querystring",
 74549             "locationName": "delimiter"
 74550           },
 74551           "EncodingType": {
 74552             "location": "querystring",
 74553             "locationName": "encoding-type"
 74554           },
 74555           "Marker": {
 74556             "location": "querystring",
 74557             "locationName": "marker"
 74558           },
 74559           "MaxKeys": {
 74560             "location": "querystring",
 74561             "locationName": "max-keys",
 74562             "type": "integer"
 74563           },
 74564           "Prefix": {
 74565             "location": "querystring",
 74566             "locationName": "prefix"
 74567           },
 74568           "RequestPayer": {
 74569             "location": "header",
 74570             "locationName": "x-amz-request-payer"
 74571           }
 74572         }
 74573       },
 74574       "output": {
 74575         "type": "structure",
 74576         "members": {
 74577           "IsTruncated": {
 74578             "type": "boolean"
 74579           },
 74580           "Marker": {},
 74581           "NextMarker": {},
 74582           "Contents": {
 74583             "shape": "S7p"
 74584           },
 74585           "Name": {},
 74586           "Prefix": {},
 74587           "Delimiter": {},
 74588           "MaxKeys": {
 74589             "type": "integer"
 74590           },
 74591           "CommonPrefixes": {
 74592             "shape": "S77"
 74593           },
 74594           "EncodingType": {}
 74595         }
 74596       },
 74597       "alias": "GetBucket"
 74598     },
 74599     "ListObjectsV2": {
 74600       "http": {
 74601         "method": "GET",
 74602         "requestUri": "/{Bucket}?list-type=2"
 74603       },
 74604       "input": {
 74605         "type": "structure",
 74606         "required": [
 74607           "Bucket"
 74608         ],
 74609         "members": {
 74610           "Bucket": {
 74611             "location": "uri",
 74612             "locationName": "Bucket"
 74613           },
 74614           "Delimiter": {
 74615             "location": "querystring",
 74616             "locationName": "delimiter"
 74617           },
 74618           "EncodingType": {
 74619             "location": "querystring",
 74620             "locationName": "encoding-type"
 74621           },
 74622           "MaxKeys": {
 74623             "location": "querystring",
 74624             "locationName": "max-keys",
 74625             "type": "integer"
 74626           },
 74627           "Prefix": {
 74628             "location": "querystring",
 74629             "locationName": "prefix"
 74630           },
 74631           "ContinuationToken": {
 74632             "location": "querystring",
 74633             "locationName": "continuation-token"
 74634           },
 74635           "FetchOwner": {
 74636             "location": "querystring",
 74637             "locationName": "fetch-owner",
 74638             "type": "boolean"
 74639           },
 74640           "StartAfter": {
 74641             "location": "querystring",
 74642             "locationName": "start-after"
 74643           },
 74644           "RequestPayer": {
 74645             "location": "header",
 74646             "locationName": "x-amz-request-payer"
 74647           }
 74648         }
 74649       },
 74650       "output": {
 74651         "type": "structure",
 74652         "members": {
 74653           "IsTruncated": {
 74654             "type": "boolean"
 74655           },
 74656           "Contents": {
 74657             "shape": "S7p"
 74658           },
 74659           "Name": {},
 74660           "Prefix": {},
 74661           "Delimiter": {},
 74662           "MaxKeys": {
 74663             "type": "integer"
 74664           },
 74665           "CommonPrefixes": {
 74666             "shape": "S77"
 74667           },
 74668           "EncodingType": {},
 74669           "KeyCount": {
 74670             "type": "integer"
 74671           },
 74672           "ContinuationToken": {},
 74673           "NextContinuationToken": {},
 74674           "StartAfter": {}
 74675         }
 74676       }
 74677     },
 74678     "ListParts": {
 74679       "http": {
 74680         "method": "GET",
 74681         "requestUri": "/{Bucket}/{Key+}"
 74682       },
 74683       "input": {
 74684         "type": "structure",
 74685         "required": [
 74686           "Bucket",
 74687           "Key",
 74688           "UploadId"
 74689         ],
 74690         "members": {
 74691           "Bucket": {
 74692             "location": "uri",
 74693             "locationName": "Bucket"
 74694           },
 74695           "Key": {
 74696             "location": "uri",
 74697             "locationName": "Key"
 74698           },
 74699           "MaxParts": {
 74700             "location": "querystring",
 74701             "locationName": "max-parts",
 74702             "type": "integer"
 74703           },
 74704           "PartNumberMarker": {
 74705             "location": "querystring",
 74706             "locationName": "part-number-marker",
 74707             "type": "integer"
 74708           },
 74709           "UploadId": {
 74710             "location": "querystring",
 74711             "locationName": "uploadId"
 74712           },
 74713           "RequestPayer": {
 74714             "location": "header",
 74715             "locationName": "x-amz-request-payer"
 74716           }
 74717         }
 74718       },
 74719       "output": {
 74720         "type": "structure",
 74721         "members": {
 74722           "AbortDate": {
 74723             "location": "header",
 74724             "locationName": "x-amz-abort-date",
 74725             "type": "timestamp"
 74726           },
 74727           "AbortRuleId": {
 74728             "location": "header",
 74729             "locationName": "x-amz-abort-rule-id"
 74730           },
 74731           "Bucket": {},
 74732           "Key": {},
 74733           "UploadId": {},
 74734           "PartNumberMarker": {
 74735             "type": "integer"
 74736           },
 74737           "NextPartNumberMarker": {
 74738             "type": "integer"
 74739           },
 74740           "MaxParts": {
 74741             "type": "integer"
 74742           },
 74743           "IsTruncated": {
 74744             "type": "boolean"
 74745           },
 74746           "Parts": {
 74747             "locationName": "Part",
 74748             "type": "list",
 74749             "member": {
 74750               "type": "structure",
 74751               "members": {
 74752                 "PartNumber": {
 74753                   "type": "integer"
 74754                 },
 74755                 "LastModified": {
 74756                   "type": "timestamp"
 74757                 },
 74758                 "ETag": {},
 74759                 "Size": {
 74760                   "type": "integer"
 74761                 }
 74762               }
 74763             },
 74764             "flattened": true
 74765           },
 74766           "Initiator": {
 74767             "shape": "S76"
 74768           },
 74769           "Owner": {
 74770             "shape": "S2k"
 74771           },
 74772           "StorageClass": {},
 74773           "RequestCharged": {
 74774             "location": "header",
 74775             "locationName": "x-amz-request-charged"
 74776           }
 74777         }
 74778       }
 74779     },
 74780     "PutBucketAccelerateConfiguration": {
 74781       "http": {
 74782         "method": "PUT",
 74783         "requestUri": "/{Bucket}?accelerate"
 74784       },
 74785       "input": {
 74786         "type": "structure",
 74787         "required": [
 74788           "Bucket",
 74789           "AccelerateConfiguration"
 74790         ],
 74791         "members": {
 74792           "Bucket": {
 74793             "location": "uri",
 74794             "locationName": "Bucket"
 74795           },
 74796           "AccelerateConfiguration": {
 74797             "locationName": "AccelerateConfiguration",
 74798             "xmlNamespace": {
 74799               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 74800             },
 74801             "type": "structure",
 74802             "members": {
 74803               "Status": {}
 74804             }
 74805           }
 74806         },
 74807         "payload": "AccelerateConfiguration"
 74808       }
 74809     },
 74810     "PutBucketAcl": {
 74811       "http": {
 74812         "method": "PUT",
 74813         "requestUri": "/{Bucket}?acl"
 74814       },
 74815       "input": {
 74816         "type": "structure",
 74817         "required": [
 74818           "Bucket"
 74819         ],
 74820         "members": {
 74821           "ACL": {
 74822             "location": "header",
 74823             "locationName": "x-amz-acl"
 74824           },
 74825           "AccessControlPolicy": {
 74826             "shape": "S89",
 74827             "locationName": "AccessControlPolicy",
 74828             "xmlNamespace": {
 74829               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 74830             }
 74831           },
 74832           "Bucket": {
 74833             "location": "uri",
 74834             "locationName": "Bucket"
 74835           },
 74836           "ContentMD5": {
 74837             "location": "header",
 74838             "locationName": "Content-MD5"
 74839           },
 74840           "GrantFullControl": {
 74841             "location": "header",
 74842             "locationName": "x-amz-grant-full-control"
 74843           },
 74844           "GrantRead": {
 74845             "location": "header",
 74846             "locationName": "x-amz-grant-read"
 74847           },
 74848           "GrantReadACP": {
 74849             "location": "header",
 74850             "locationName": "x-amz-grant-read-acp"
 74851           },
 74852           "GrantWrite": {
 74853             "location": "header",
 74854             "locationName": "x-amz-grant-write"
 74855           },
 74856           "GrantWriteACP": {
 74857             "location": "header",
 74858             "locationName": "x-amz-grant-write-acp"
 74859           }
 74860         },
 74861         "payload": "AccessControlPolicy"
 74862       }
 74863     },
 74864     "PutBucketCors": {
 74865       "http": {
 74866         "method": "PUT",
 74867         "requestUri": "/{Bucket}?cors"
 74868       },
 74869       "input": {
 74870         "type": "structure",
 74871         "required": [
 74872           "Bucket",
 74873           "CORSConfiguration"
 74874         ],
 74875         "members": {
 74876           "Bucket": {
 74877             "location": "uri",
 74878             "locationName": "Bucket"
 74879           },
 74880           "CORSConfiguration": {
 74881             "locationName": "CORSConfiguration",
 74882             "xmlNamespace": {
 74883               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 74884             },
 74885             "type": "structure",
 74886             "required": [
 74887               "CORSRules"
 74888             ],
 74889             "members": {
 74890               "CORSRules": {
 74891                 "shape": "S2w",
 74892                 "locationName": "CORSRule"
 74893               }
 74894             }
 74895           },
 74896           "ContentMD5": {
 74897             "location": "header",
 74898             "locationName": "Content-MD5"
 74899           }
 74900         },
 74901         "payload": "CORSConfiguration"
 74902       }
 74903     },
 74904     "PutBucketLifecycle": {
 74905       "http": {
 74906         "method": "PUT",
 74907         "requestUri": "/{Bucket}?lifecycle"
 74908       },
 74909       "input": {
 74910         "type": "structure",
 74911         "required": [
 74912           "Bucket"
 74913         ],
 74914         "members": {
 74915           "Bucket": {
 74916             "location": "uri",
 74917             "locationName": "Bucket"
 74918           },
 74919           "ContentMD5": {
 74920             "location": "header",
 74921             "locationName": "Content-MD5"
 74922           },
 74923           "LifecycleConfiguration": {
 74924             "locationName": "LifecycleConfiguration",
 74925             "xmlNamespace": {
 74926               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 74927             },
 74928             "type": "structure",
 74929             "required": [
 74930               "Rules"
 74931             ],
 74932             "members": {
 74933               "Rules": {
 74934                 "shape": "S39",
 74935                 "locationName": "Rule"
 74936               }
 74937             }
 74938           }
 74939         },
 74940         "payload": "LifecycleConfiguration"
 74941       },
 74942       "deprecated": true
 74943     },
 74944     "PutBucketLifecycleConfiguration": {
 74945       "http": {
 74946         "method": "PUT",
 74947         "requestUri": "/{Bucket}?lifecycle"
 74948       },
 74949       "input": {
 74950         "type": "structure",
 74951         "required": [
 74952           "Bucket"
 74953         ],
 74954         "members": {
 74955           "Bucket": {
 74956             "location": "uri",
 74957             "locationName": "Bucket"
 74958           },
 74959           "LifecycleConfiguration": {
 74960             "locationName": "LifecycleConfiguration",
 74961             "xmlNamespace": {
 74962               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 74963             },
 74964             "type": "structure",
 74965             "required": [
 74966               "Rules"
 74967             ],
 74968             "members": {
 74969               "Rules": {
 74970                 "shape": "S3p",
 74971                 "locationName": "Rule"
 74972               }
 74973             }
 74974           }
 74975         },
 74976         "payload": "LifecycleConfiguration"
 74977       }
 74978     },
 74979     "PutBucketLogging": {
 74980       "http": {
 74981         "method": "PUT",
 74982         "requestUri": "/{Bucket}?logging"
 74983       },
 74984       "input": {
 74985         "type": "structure",
 74986         "required": [
 74987           "Bucket",
 74988           "BucketLoggingStatus"
 74989         ],
 74990         "members": {
 74991           "Bucket": {
 74992             "location": "uri",
 74993             "locationName": "Bucket"
 74994           },
 74995           "BucketLoggingStatus": {
 74996             "locationName": "BucketLoggingStatus",
 74997             "xmlNamespace": {
 74998               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 74999             },
 75000             "type": "structure",
 75001             "members": {
 75002               "LoggingEnabled": {
 75003                 "shape": "S3x"
 75004               }
 75005             }
 75006           },
 75007           "ContentMD5": {
 75008             "location": "header",
 75009             "locationName": "Content-MD5"
 75010           }
 75011         },
 75012         "payload": "BucketLoggingStatus"
 75013       }
 75014     },
 75015     "PutBucketNotification": {
 75016       "http": {
 75017         "method": "PUT",
 75018         "requestUri": "/{Bucket}?notification"
 75019       },
 75020       "input": {
 75021         "type": "structure",
 75022         "required": [
 75023           "Bucket",
 75024           "NotificationConfiguration"
 75025         ],
 75026         "members": {
 75027           "Bucket": {
 75028             "location": "uri",
 75029             "locationName": "Bucket"
 75030           },
 75031           "ContentMD5": {
 75032             "location": "header",
 75033             "locationName": "Content-MD5"
 75034           },
 75035           "NotificationConfiguration": {
 75036             "shape": "S44",
 75037             "locationName": "NotificationConfiguration",
 75038             "xmlNamespace": {
 75039               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75040             }
 75041           }
 75042         },
 75043         "payload": "NotificationConfiguration"
 75044       },
 75045       "deprecated": true
 75046     },
 75047     "PutBucketNotificationConfiguration": {
 75048       "http": {
 75049         "method": "PUT",
 75050         "requestUri": "/{Bucket}?notification"
 75051       },
 75052       "input": {
 75053         "type": "structure",
 75054         "required": [
 75055           "Bucket",
 75056           "NotificationConfiguration"
 75057         ],
 75058         "members": {
 75059           "Bucket": {
 75060             "location": "uri",
 75061             "locationName": "Bucket"
 75062           },
 75063           "NotificationConfiguration": {
 75064             "shape": "S4f",
 75065             "locationName": "NotificationConfiguration",
 75066             "xmlNamespace": {
 75067               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75068             }
 75069           }
 75070         },
 75071         "payload": "NotificationConfiguration"
 75072       }
 75073     },
 75074     "PutBucketPolicy": {
 75075       "http": {
 75076         "method": "PUT",
 75077         "requestUri": "/{Bucket}?policy"
 75078       },
 75079       "input": {
 75080         "type": "structure",
 75081         "required": [
 75082           "Bucket",
 75083           "Policy"
 75084         ],
 75085         "members": {
 75086           "Bucket": {
 75087             "location": "uri",
 75088             "locationName": "Bucket"
 75089           },
 75090           "ContentMD5": {
 75091             "location": "header",
 75092             "locationName": "Content-MD5"
 75093           },
 75094           "Policy": {}
 75095         },
 75096         "payload": "Policy"
 75097       }
 75098     },
 75099     "PutBucketReplication": {
 75100       "http": {
 75101         "method": "PUT",
 75102         "requestUri": "/{Bucket}?replication"
 75103       },
 75104       "input": {
 75105         "type": "structure",
 75106         "required": [
 75107           "Bucket",
 75108           "ReplicationConfiguration"
 75109         ],
 75110         "members": {
 75111           "Bucket": {
 75112             "location": "uri",
 75113             "locationName": "Bucket"
 75114           },
 75115           "ContentMD5": {
 75116             "location": "header",
 75117             "locationName": "Content-MD5"
 75118           },
 75119           "ReplicationConfiguration": {
 75120             "shape": "S4y",
 75121             "locationName": "ReplicationConfiguration",
 75122             "xmlNamespace": {
 75123               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75124             }
 75125           }
 75126         },
 75127         "payload": "ReplicationConfiguration"
 75128       }
 75129     },
 75130     "PutBucketRequestPayment": {
 75131       "http": {
 75132         "method": "PUT",
 75133         "requestUri": "/{Bucket}?requestPayment"
 75134       },
 75135       "input": {
 75136         "type": "structure",
 75137         "required": [
 75138           "Bucket",
 75139           "RequestPaymentConfiguration"
 75140         ],
 75141         "members": {
 75142           "Bucket": {
 75143             "location": "uri",
 75144             "locationName": "Bucket"
 75145           },
 75146           "ContentMD5": {
 75147             "location": "header",
 75148             "locationName": "Content-MD5"
 75149           },
 75150           "RequestPaymentConfiguration": {
 75151             "locationName": "RequestPaymentConfiguration",
 75152             "xmlNamespace": {
 75153               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75154             },
 75155             "type": "structure",
 75156             "required": [
 75157               "Payer"
 75158             ],
 75159             "members": {
 75160               "Payer": {}
 75161             }
 75162           }
 75163         },
 75164         "payload": "RequestPaymentConfiguration"
 75165       }
 75166     },
 75167     "PutBucketTagging": {
 75168       "http": {
 75169         "method": "PUT",
 75170         "requestUri": "/{Bucket}?tagging"
 75171       },
 75172       "input": {
 75173         "type": "structure",
 75174         "required": [
 75175           "Bucket",
 75176           "Tagging"
 75177         ],
 75178         "members": {
 75179           "Bucket": {
 75180             "location": "uri",
 75181             "locationName": "Bucket"
 75182           },
 75183           "ContentMD5": {
 75184             "location": "header",
 75185             "locationName": "Content-MD5"
 75186           },
 75187           "Tagging": {
 75188             "locationName": "Tagging",
 75189             "xmlNamespace": {
 75190               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75191             },
 75192             "type": "structure",
 75193             "required": [
 75194               "TagSet"
 75195             ],
 75196             "members": {
 75197               "TagSet": {
 75198                 "shape": "S59"
 75199               }
 75200             }
 75201           }
 75202         },
 75203         "payload": "Tagging"
 75204       }
 75205     },
 75206     "PutBucketVersioning": {
 75207       "http": {
 75208         "method": "PUT",
 75209         "requestUri": "/{Bucket}?versioning"
 75210       },
 75211       "input": {
 75212         "type": "structure",
 75213         "required": [
 75214           "Bucket",
 75215           "VersioningConfiguration"
 75216         ],
 75217         "members": {
 75218           "Bucket": {
 75219             "location": "uri",
 75220             "locationName": "Bucket"
 75221           },
 75222           "ContentMD5": {
 75223             "location": "header",
 75224             "locationName": "Content-MD5"
 75225           },
 75226           "MFA": {
 75227             "location": "header",
 75228             "locationName": "x-amz-mfa"
 75229           },
 75230           "VersioningConfiguration": {
 75231             "locationName": "VersioningConfiguration",
 75232             "xmlNamespace": {
 75233               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75234             },
 75235             "type": "structure",
 75236             "members": {
 75237               "MFADelete": {
 75238                 "locationName": "MfaDelete"
 75239               },
 75240               "Status": {}
 75241             }
 75242           }
 75243         },
 75244         "payload": "VersioningConfiguration"
 75245       }
 75246     },
 75247     "PutBucketWebsite": {
 75248       "http": {
 75249         "method": "PUT",
 75250         "requestUri": "/{Bucket}?website"
 75251       },
 75252       "input": {
 75253         "type": "structure",
 75254         "required": [
 75255           "Bucket",
 75256           "WebsiteConfiguration"
 75257         ],
 75258         "members": {
 75259           "Bucket": {
 75260             "location": "uri",
 75261             "locationName": "Bucket"
 75262           },
 75263           "ContentMD5": {
 75264             "location": "header",
 75265             "locationName": "Content-MD5"
 75266           },
 75267           "WebsiteConfiguration": {
 75268             "locationName": "WebsiteConfiguration",
 75269             "xmlNamespace": {
 75270               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75271             },
 75272             "type": "structure",
 75273             "members": {
 75274               "ErrorDocument": {
 75275                 "shape": "S5n"
 75276               },
 75277               "IndexDocument": {
 75278                 "shape": "S5l"
 75279               },
 75280               "RedirectAllRequestsTo": {
 75281                 "shape": "S5i"
 75282               },
 75283               "RoutingRules": {
 75284                 "shape": "S5o"
 75285               }
 75286             }
 75287           }
 75288         },
 75289         "payload": "WebsiteConfiguration"
 75290       }
 75291     },
 75292     "PutObject": {
 75293       "http": {
 75294         "method": "PUT",
 75295         "requestUri": "/{Bucket}/{Key+}"
 75296       },
 75297       "input": {
 75298         "type": "structure",
 75299         "required": [
 75300           "Bucket",
 75301           "Key"
 75302         ],
 75303         "members": {
 75304           "ACL": {
 75305             "location": "header",
 75306             "locationName": "x-amz-acl"
 75307           },
 75308           "Body": {
 75309             "streaming": true,
 75310             "type": "blob"
 75311           },
 75312           "Bucket": {
 75313             "location": "uri",
 75314             "locationName": "Bucket"
 75315           },
 75316           "CacheControl": {
 75317             "location": "header",
 75318             "locationName": "Cache-Control"
 75319           },
 75320           "ContentDisposition": {
 75321             "location": "header",
 75322             "locationName": "Content-Disposition"
 75323           },
 75324           "ContentEncoding": {
 75325             "location": "header",
 75326             "locationName": "Content-Encoding"
 75327           },
 75328           "ContentLanguage": {
 75329             "location": "header",
 75330             "locationName": "Content-Language"
 75331           },
 75332           "ContentLength": {
 75333             "location": "header",
 75334             "locationName": "Content-Length",
 75335             "type": "long"
 75336           },
 75337           "ContentMD5": {
 75338             "location": "header",
 75339             "locationName": "Content-MD5"
 75340           },
 75341           "ContentType": {
 75342             "location": "header",
 75343             "locationName": "Content-Type"
 75344           },
 75345           "Expires": {
 75346             "location": "header",
 75347             "locationName": "Expires",
 75348             "type": "timestamp"
 75349           },
 75350           "GrantFullControl": {
 75351             "location": "header",
 75352             "locationName": "x-amz-grant-full-control"
 75353           },
 75354           "GrantRead": {
 75355             "location": "header",
 75356             "locationName": "x-amz-grant-read"
 75357           },
 75358           "GrantReadACP": {
 75359             "location": "header",
 75360             "locationName": "x-amz-grant-read-acp"
 75361           },
 75362           "GrantWriteACP": {
 75363             "location": "header",
 75364             "locationName": "x-amz-grant-write-acp"
 75365           },
 75366           "Key": {
 75367             "location": "uri",
 75368             "locationName": "Key"
 75369           },
 75370           "Metadata": {
 75371             "shape": "S11",
 75372             "location": "headers",
 75373             "locationName": "x-amz-meta-"
 75374           },
 75375           "ServerSideEncryption": {
 75376             "location": "header",
 75377             "locationName": "x-amz-server-side-encryption"
 75378           },
 75379           "StorageClass": {
 75380             "location": "header",
 75381             "locationName": "x-amz-storage-class"
 75382           },
 75383           "WebsiteRedirectLocation": {
 75384             "location": "header",
 75385             "locationName": "x-amz-website-redirect-location"
 75386           },
 75387           "SSECustomerAlgorithm": {
 75388             "location": "header",
 75389             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 75390           },
 75391           "SSECustomerKey": {
 75392             "shape": "S18",
 75393             "location": "header",
 75394             "locationName": "x-amz-server-side-encryption-customer-key"
 75395           },
 75396           "SSECustomerKeyMD5": {
 75397             "location": "header",
 75398             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 75399           },
 75400           "SSEKMSKeyId": {
 75401             "shape": "Sj",
 75402             "location": "header",
 75403             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 75404           },
 75405           "RequestPayer": {
 75406             "location": "header",
 75407             "locationName": "x-amz-request-payer"
 75408           }
 75409         },
 75410         "payload": "Body"
 75411       },
 75412       "output": {
 75413         "type": "structure",
 75414         "members": {
 75415           "Expiration": {
 75416             "location": "header",
 75417             "locationName": "x-amz-expiration"
 75418           },
 75419           "ETag": {
 75420             "location": "header",
 75421             "locationName": "ETag"
 75422           },
 75423           "ServerSideEncryption": {
 75424             "location": "header",
 75425             "locationName": "x-amz-server-side-encryption"
 75426           },
 75427           "VersionId": {
 75428             "location": "header",
 75429             "locationName": "x-amz-version-id"
 75430           },
 75431           "SSECustomerAlgorithm": {
 75432             "location": "header",
 75433             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 75434           },
 75435           "SSECustomerKeyMD5": {
 75436             "location": "header",
 75437             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 75438           },
 75439           "SSEKMSKeyId": {
 75440             "shape": "Sj",
 75441             "location": "header",
 75442             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 75443           },
 75444           "RequestCharged": {
 75445             "location": "header",
 75446             "locationName": "x-amz-request-charged"
 75447           }
 75448         }
 75449       }
 75450     },
 75451     "PutObjectAcl": {
 75452       "http": {
 75453         "method": "PUT",
 75454         "requestUri": "/{Bucket}/{Key+}?acl"
 75455       },
 75456       "input": {
 75457         "type": "structure",
 75458         "required": [
 75459           "Bucket",
 75460           "Key"
 75461         ],
 75462         "members": {
 75463           "ACL": {
 75464             "location": "header",
 75465             "locationName": "x-amz-acl"
 75466           },
 75467           "AccessControlPolicy": {
 75468             "shape": "S89",
 75469             "locationName": "AccessControlPolicy",
 75470             "xmlNamespace": {
 75471               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75472             }
 75473           },
 75474           "Bucket": {
 75475             "location": "uri",
 75476             "locationName": "Bucket"
 75477           },
 75478           "ContentMD5": {
 75479             "location": "header",
 75480             "locationName": "Content-MD5"
 75481           },
 75482           "GrantFullControl": {
 75483             "location": "header",
 75484             "locationName": "x-amz-grant-full-control"
 75485           },
 75486           "GrantRead": {
 75487             "location": "header",
 75488             "locationName": "x-amz-grant-read"
 75489           },
 75490           "GrantReadACP": {
 75491             "location": "header",
 75492             "locationName": "x-amz-grant-read-acp"
 75493           },
 75494           "GrantWrite": {
 75495             "location": "header",
 75496             "locationName": "x-amz-grant-write"
 75497           },
 75498           "GrantWriteACP": {
 75499             "location": "header",
 75500             "locationName": "x-amz-grant-write-acp"
 75501           },
 75502           "Key": {
 75503             "location": "uri",
 75504             "locationName": "Key"
 75505           },
 75506           "RequestPayer": {
 75507             "location": "header",
 75508             "locationName": "x-amz-request-payer"
 75509           },
 75510           "VersionId": {
 75511             "location": "querystring",
 75512             "locationName": "versionId"
 75513           }
 75514         },
 75515         "payload": "AccessControlPolicy"
 75516       },
 75517       "output": {
 75518         "type": "structure",
 75519         "members": {
 75520           "RequestCharged": {
 75521             "location": "header",
 75522             "locationName": "x-amz-request-charged"
 75523           }
 75524         }
 75525       }
 75526     },
 75527     "RestoreObject": {
 75528       "http": {
 75529         "requestUri": "/{Bucket}/{Key+}?restore"
 75530       },
 75531       "input": {
 75532         "type": "structure",
 75533         "required": [
 75534           "Bucket",
 75535           "Key"
 75536         ],
 75537         "members": {
 75538           "Bucket": {
 75539             "location": "uri",
 75540             "locationName": "Bucket"
 75541           },
 75542           "Key": {
 75543             "location": "uri",
 75544             "locationName": "Key"
 75545           },
 75546           "VersionId": {
 75547             "location": "querystring",
 75548             "locationName": "versionId"
 75549           },
 75550           "RestoreRequest": {
 75551             "locationName": "RestoreRequest",
 75552             "xmlNamespace": {
 75553               "uri": "http://s3.amazonaws.com/doc/2006-03-01/"
 75554             },
 75555             "type": "structure",
 75556             "required": [
 75557               "Days"
 75558             ],
 75559             "members": {
 75560               "Days": {
 75561                 "type": "integer"
 75562               },
 75563               "GlacierJobParameters": {
 75564                 "type": "structure",
 75565                 "required": [
 75566                   "Tier"
 75567                 ],
 75568                 "members": {
 75569                   "Tier": {}
 75570                 }
 75571               }
 75572             }
 75573           },
 75574           "RequestPayer": {
 75575             "location": "header",
 75576             "locationName": "x-amz-request-payer"
 75577           }
 75578         },
 75579         "payload": "RestoreRequest"
 75580       },
 75581       "output": {
 75582         "type": "structure",
 75583         "members": {
 75584           "RequestCharged": {
 75585             "location": "header",
 75586             "locationName": "x-amz-request-charged"
 75587           }
 75588         }
 75589       },
 75590       "alias": "PostObjectRestore"
 75591     },
 75592     "UploadPart": {
 75593       "http": {
 75594         "method": "PUT",
 75595         "requestUri": "/{Bucket}/{Key+}"
 75596       },
 75597       "input": {
 75598         "type": "structure",
 75599         "required": [
 75600           "Bucket",
 75601           "Key",
 75602           "PartNumber",
 75603           "UploadId"
 75604         ],
 75605         "members": {
 75606           "Body": {
 75607             "streaming": true,
 75608             "type": "blob"
 75609           },
 75610           "Bucket": {
 75611             "location": "uri",
 75612             "locationName": "Bucket"
 75613           },
 75614           "ContentLength": {
 75615             "location": "header",
 75616             "locationName": "Content-Length",
 75617             "type": "long"
 75618           },
 75619           "ContentMD5": {
 75620             "location": "header",
 75621             "locationName": "Content-MD5"
 75622           },
 75623           "Key": {
 75624             "location": "uri",
 75625             "locationName": "Key"
 75626           },
 75627           "PartNumber": {
 75628             "location": "querystring",
 75629             "locationName": "partNumber",
 75630             "type": "integer"
 75631           },
 75632           "UploadId": {
 75633             "location": "querystring",
 75634             "locationName": "uploadId"
 75635           },
 75636           "SSECustomerAlgorithm": {
 75637             "location": "header",
 75638             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 75639           },
 75640           "SSECustomerKey": {
 75641             "shape": "S18",
 75642             "location": "header",
 75643             "locationName": "x-amz-server-side-encryption-customer-key"
 75644           },
 75645           "SSECustomerKeyMD5": {
 75646             "location": "header",
 75647             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 75648           },
 75649           "RequestPayer": {
 75650             "location": "header",
 75651             "locationName": "x-amz-request-payer"
 75652           }
 75653         },
 75654         "payload": "Body"
 75655       },
 75656       "output": {
 75657         "type": "structure",
 75658         "members": {
 75659           "ServerSideEncryption": {
 75660             "location": "header",
 75661             "locationName": "x-amz-server-side-encryption"
 75662           },
 75663           "ETag": {
 75664             "location": "header",
 75665             "locationName": "ETag"
 75666           },
 75667           "SSECustomerAlgorithm": {
 75668             "location": "header",
 75669             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 75670           },
 75671           "SSECustomerKeyMD5": {
 75672             "location": "header",
 75673             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 75674           },
 75675           "SSEKMSKeyId": {
 75676             "shape": "Sj",
 75677             "location": "header",
 75678             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 75679           },
 75680           "RequestCharged": {
 75681             "location": "header",
 75682             "locationName": "x-amz-request-charged"
 75683           }
 75684         }
 75685       }
 75686     },
 75687     "UploadPartCopy": {
 75688       "http": {
 75689         "method": "PUT",
 75690         "requestUri": "/{Bucket}/{Key+}"
 75691       },
 75692       "input": {
 75693         "type": "structure",
 75694         "required": [
 75695           "Bucket",
 75696           "CopySource",
 75697           "Key",
 75698           "PartNumber",
 75699           "UploadId"
 75700         ],
 75701         "members": {
 75702           "Bucket": {
 75703             "location": "uri",
 75704             "locationName": "Bucket"
 75705           },
 75706           "CopySource": {
 75707             "location": "header",
 75708             "locationName": "x-amz-copy-source"
 75709           },
 75710           "CopySourceIfMatch": {
 75711             "location": "header",
 75712             "locationName": "x-amz-copy-source-if-match"
 75713           },
 75714           "CopySourceIfModifiedSince": {
 75715             "location": "header",
 75716             "locationName": "x-amz-copy-source-if-modified-since",
 75717             "type": "timestamp"
 75718           },
 75719           "CopySourceIfNoneMatch": {
 75720             "location": "header",
 75721             "locationName": "x-amz-copy-source-if-none-match"
 75722           },
 75723           "CopySourceIfUnmodifiedSince": {
 75724             "location": "header",
 75725             "locationName": "x-amz-copy-source-if-unmodified-since",
 75726             "type": "timestamp"
 75727           },
 75728           "CopySourceRange": {
 75729             "location": "header",
 75730             "locationName": "x-amz-copy-source-range"
 75731           },
 75732           "Key": {
 75733             "location": "uri",
 75734             "locationName": "Key"
 75735           },
 75736           "PartNumber": {
 75737             "location": "querystring",
 75738             "locationName": "partNumber",
 75739             "type": "integer"
 75740           },
 75741           "UploadId": {
 75742             "location": "querystring",
 75743             "locationName": "uploadId"
 75744           },
 75745           "SSECustomerAlgorithm": {
 75746             "location": "header",
 75747             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 75748           },
 75749           "SSECustomerKey": {
 75750             "shape": "S18",
 75751             "location": "header",
 75752             "locationName": "x-amz-server-side-encryption-customer-key"
 75753           },
 75754           "SSECustomerKeyMD5": {
 75755             "location": "header",
 75756             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 75757           },
 75758           "CopySourceSSECustomerAlgorithm": {
 75759             "location": "header",
 75760             "locationName": "x-amz-copy-source-server-side-encryption-customer-algorithm"
 75761           },
 75762           "CopySourceSSECustomerKey": {
 75763             "shape": "S1b",
 75764             "location": "header",
 75765             "locationName": "x-amz-copy-source-server-side-encryption-customer-key"
 75766           },
 75767           "CopySourceSSECustomerKeyMD5": {
 75768             "location": "header",
 75769             "locationName": "x-amz-copy-source-server-side-encryption-customer-key-MD5"
 75770           },
 75771           "RequestPayer": {
 75772             "location": "header",
 75773             "locationName": "x-amz-request-payer"
 75774           }
 75775         }
 75776       },
 75777       "output": {
 75778         "type": "structure",
 75779         "members": {
 75780           "CopySourceVersionId": {
 75781             "location": "header",
 75782             "locationName": "x-amz-copy-source-version-id"
 75783           },
 75784           "CopyPartResult": {
 75785             "type": "structure",
 75786             "members": {
 75787               "ETag": {},
 75788               "LastModified": {
 75789                 "type": "timestamp"
 75790               }
 75791             }
 75792           },
 75793           "ServerSideEncryption": {
 75794             "location": "header",
 75795             "locationName": "x-amz-server-side-encryption"
 75796           },
 75797           "SSECustomerAlgorithm": {
 75798             "location": "header",
 75799             "locationName": "x-amz-server-side-encryption-customer-algorithm"
 75800           },
 75801           "SSECustomerKeyMD5": {
 75802             "location": "header",
 75803             "locationName": "x-amz-server-side-encryption-customer-key-MD5"
 75804           },
 75805           "SSEKMSKeyId": {
 75806             "shape": "Sj",
 75807             "location": "header",
 75808             "locationName": "x-amz-server-side-encryption-aws-kms-key-id"
 75809           },
 75810           "RequestCharged": {
 75811             "location": "header",
 75812             "locationName": "x-amz-request-charged"
 75813           }
 75814         },
 75815         "payload": "CopyPartResult"
 75816       }
 75817     }
 75818   },
 75819   "shapes": {
 75820     "Sj": {
 75821       "type": "string",
 75822       "sensitive": true
 75823     },
 75824     "S11": {
 75825       "type": "map",
 75826       "key": {},
 75827       "value": {}
 75828     },
 75829     "S18": {
 75830       "type": "blob",
 75831       "sensitive": true
 75832     },
 75833     "S1b": {
 75834       "type": "blob",
 75835       "sensitive": true
 75836     },
 75837     "S2k": {
 75838       "type": "structure",
 75839       "members": {
 75840         "DisplayName": {},
 75841         "ID": {}
 75842       }
 75843     },
 75844     "S2n": {
 75845       "type": "list",
 75846       "member": {
 75847         "locationName": "Grant",
 75848         "type": "structure",
 75849         "members": {
 75850           "Grantee": {
 75851             "shape": "S2p"
 75852           },
 75853           "Permission": {}
 75854         }
 75855       }
 75856     },
 75857     "S2p": {
 75858       "type": "structure",
 75859       "required": [
 75860         "Type"
 75861       ],
 75862       "members": {
 75863         "DisplayName": {},
 75864         "EmailAddress": {},
 75865         "ID": {},
 75866         "Type": {
 75867           "locationName": "xsi:type",
 75868           "xmlAttribute": true
 75869         },
 75870         "URI": {}
 75871       },
 75872       "xmlNamespace": {
 75873         "prefix": "xsi",
 75874         "uri": "http://www.w3.org/2001/XMLSchema-instance"
 75875       }
 75876     },
 75877     "S2w": {
 75878       "type": "list",
 75879       "member": {
 75880         "type": "structure",
 75881         "required": [
 75882           "AllowedMethods",
 75883           "AllowedOrigins"
 75884         ],
 75885         "members": {
 75886           "AllowedHeaders": {
 75887             "locationName": "AllowedHeader",
 75888             "type": "list",
 75889             "member": {},
 75890             "flattened": true
 75891           },
 75892           "AllowedMethods": {
 75893             "locationName": "AllowedMethod",
 75894             "type": "list",
 75895             "member": {},
 75896             "flattened": true
 75897           },
 75898           "AllowedOrigins": {
 75899             "locationName": "AllowedOrigin",
 75900             "type": "list",
 75901             "member": {},
 75902             "flattened": true
 75903           },
 75904           "ExposeHeaders": {
 75905             "locationName": "ExposeHeader",
 75906             "type": "list",
 75907             "member": {},
 75908             "flattened": true
 75909           },
 75910           "MaxAgeSeconds": {
 75911             "type": "integer"
 75912           }
 75913         }
 75914       },
 75915       "flattened": true
 75916     },
 75917     "S39": {
 75918       "type": "list",
 75919       "member": {
 75920         "type": "structure",
 75921         "required": [
 75922           "Prefix",
 75923           "Status"
 75924         ],
 75925         "members": {
 75926           "Expiration": {
 75927             "shape": "S3b"
 75928           },
 75929           "ID": {},
 75930           "Prefix": {},
 75931           "Status": {},
 75932           "Transition": {
 75933             "shape": "S3h"
 75934           },
 75935           "NoncurrentVersionTransition": {
 75936             "shape": "S3j"
 75937           },
 75938           "NoncurrentVersionExpiration": {
 75939             "shape": "S3k"
 75940           },
 75941           "AbortIncompleteMultipartUpload": {
 75942             "shape": "S3l"
 75943           }
 75944         }
 75945       },
 75946       "flattened": true
 75947     },
 75948     "S3b": {
 75949       "type": "structure",
 75950       "members": {
 75951         "Date": {
 75952           "shape": "S3c"
 75953         },
 75954         "Days": {
 75955           "type": "integer"
 75956         },
 75957         "ExpiredObjectDeleteMarker": {
 75958           "type": "boolean"
 75959         }
 75960       }
 75961     },
 75962     "S3c": {
 75963       "type": "timestamp",
 75964       "timestampFormat": "iso8601"
 75965     },
 75966     "S3h": {
 75967       "type": "structure",
 75968       "members": {
 75969         "Date": {
 75970           "shape": "S3c"
 75971         },
 75972         "Days": {
 75973           "type": "integer"
 75974         },
 75975         "StorageClass": {}
 75976       }
 75977     },
 75978     "S3j": {
 75979       "type": "structure",
 75980       "members": {
 75981         "NoncurrentDays": {
 75982           "type": "integer"
 75983         },
 75984         "StorageClass": {}
 75985       }
 75986     },
 75987     "S3k": {
 75988       "type": "structure",
 75989       "members": {
 75990         "NoncurrentDays": {
 75991           "type": "integer"
 75992         }
 75993       }
 75994     },
 75995     "S3l": {
 75996       "type": "structure",
 75997       "members": {
 75998         "DaysAfterInitiation": {
 75999           "type": "integer"
 76000         }
 76001       }
 76002     },
 76003     "S3p": {
 76004       "type": "list",
 76005       "member": {
 76006         "type": "structure",
 76007         "required": [
 76008           "Prefix",
 76009           "Status"
 76010         ],
 76011         "members": {
 76012           "Expiration": {
 76013             "shape": "S3b"
 76014           },
 76015           "ID": {},
 76016           "Prefix": {},
 76017           "Status": {},
 76018           "Transitions": {
 76019             "locationName": "Transition",
 76020             "type": "list",
 76021             "member": {
 76022               "shape": "S3h"
 76023             },
 76024             "flattened": true
 76025           },
 76026           "NoncurrentVersionTransitions": {
 76027             "locationName": "NoncurrentVersionTransition",
 76028             "type": "list",
 76029             "member": {
 76030               "shape": "S3j"
 76031             },
 76032             "flattened": true
 76033           },
 76034           "NoncurrentVersionExpiration": {
 76035             "shape": "S3k"
 76036           },
 76037           "AbortIncompleteMultipartUpload": {
 76038             "shape": "S3l"
 76039           }
 76040         }
 76041       },
 76042       "flattened": true
 76043     },
 76044     "S3x": {
 76045       "type": "structure",
 76046       "members": {
 76047         "TargetBucket": {},
 76048         "TargetGrants": {
 76049           "type": "list",
 76050           "member": {
 76051             "locationName": "Grant",
 76052             "type": "structure",
 76053             "members": {
 76054               "Grantee": {
 76055                 "shape": "S2p"
 76056               },
 76057               "Permission": {}
 76058             }
 76059           }
 76060         },
 76061         "TargetPrefix": {}
 76062       }
 76063     },
 76064     "S43": {
 76065       "type": "structure",
 76066       "required": [
 76067         "Bucket"
 76068       ],
 76069       "members": {
 76070         "Bucket": {
 76071           "location": "uri",
 76072           "locationName": "Bucket"
 76073         }
 76074       }
 76075     },
 76076     "S44": {
 76077       "type": "structure",
 76078       "members": {
 76079         "TopicConfiguration": {
 76080           "type": "structure",
 76081           "members": {
 76082             "Id": {},
 76083             "Events": {
 76084               "shape": "S47",
 76085               "locationName": "Event"
 76086             },
 76087             "Event": {
 76088               "deprecated": true
 76089             },
 76090             "Topic": {}
 76091           }
 76092         },
 76093         "QueueConfiguration": {
 76094           "type": "structure",
 76095           "members": {
 76096             "Id": {},
 76097             "Event": {
 76098               "deprecated": true
 76099             },
 76100             "Events": {
 76101               "shape": "S47",
 76102               "locationName": "Event"
 76103             },
 76104             "Queue": {}
 76105           }
 76106         },
 76107         "CloudFunctionConfiguration": {
 76108           "type": "structure",
 76109           "members": {
 76110             "Id": {},
 76111             "Event": {
 76112               "deprecated": true
 76113             },
 76114             "Events": {
 76115               "shape": "S47",
 76116               "locationName": "Event"
 76117             },
 76118             "CloudFunction": {},
 76119             "InvocationRole": {}
 76120           }
 76121         }
 76122       }
 76123     },
 76124     "S47": {
 76125       "type": "list",
 76126       "member": {},
 76127       "flattened": true
 76128     },
 76129     "S4f": {
 76130       "type": "structure",
 76131       "members": {
 76132         "TopicConfigurations": {
 76133           "locationName": "TopicConfiguration",
 76134           "type": "list",
 76135           "member": {
 76136             "type": "structure",
 76137             "required": [
 76138               "TopicArn",
 76139               "Events"
 76140             ],
 76141             "members": {
 76142               "Id": {},
 76143               "TopicArn": {
 76144                 "locationName": "Topic"
 76145               },
 76146               "Events": {
 76147                 "shape": "S47",
 76148                 "locationName": "Event"
 76149               },
 76150               "Filter": {
 76151                 "shape": "S4i"
 76152               }
 76153             }
 76154           },
 76155           "flattened": true
 76156         },
 76157         "QueueConfigurations": {
 76158           "locationName": "QueueConfiguration",
 76159           "type": "list",
 76160           "member": {
 76161             "type": "structure",
 76162             "required": [
 76163               "QueueArn",
 76164               "Events"
 76165             ],
 76166             "members": {
 76167               "Id": {},
 76168               "QueueArn": {
 76169                 "locationName": "Queue"
 76170               },
 76171               "Events": {
 76172                 "shape": "S47",
 76173                 "locationName": "Event"
 76174               },
 76175               "Filter": {
 76176                 "shape": "S4i"
 76177               }
 76178             }
 76179           },
 76180           "flattened": true
 76181         },
 76182         "LambdaFunctionConfigurations": {
 76183           "locationName": "CloudFunctionConfiguration",
 76184           "type": "list",
 76185           "member": {
 76186             "type": "structure",
 76187             "required": [
 76188               "LambdaFunctionArn",
 76189               "Events"
 76190             ],
 76191             "members": {
 76192               "Id": {},
 76193               "LambdaFunctionArn": {
 76194                 "locationName": "CloudFunction"
 76195               },
 76196               "Events": {
 76197                 "shape": "S47",
 76198                 "locationName": "Event"
 76199               },
 76200               "Filter": {
 76201                 "shape": "S4i"
 76202               }
 76203             }
 76204           },
 76205           "flattened": true
 76206         }
 76207       }
 76208     },
 76209     "S4i": {
 76210       "type": "structure",
 76211       "members": {
 76212         "Key": {
 76213           "locationName": "S3Key",
 76214           "type": "structure",
 76215           "members": {
 76216             "FilterRules": {
 76217               "locationName": "FilterRule",
 76218               "type": "list",
 76219               "member": {
 76220                 "type": "structure",
 76221                 "members": {
 76222                   "Name": {},
 76223                   "Value": {}
 76224                 }
 76225               },
 76226               "flattened": true
 76227             }
 76228           }
 76229         }
 76230       }
 76231     },
 76232     "S4y": {
 76233       "type": "structure",
 76234       "required": [
 76235         "Role",
 76236         "Rules"
 76237       ],
 76238       "members": {
 76239         "Role": {},
 76240         "Rules": {
 76241           "locationName": "Rule",
 76242           "type": "list",
 76243           "member": {
 76244             "type": "structure",
 76245             "required": [
 76246               "Prefix",
 76247               "Status",
 76248               "Destination"
 76249             ],
 76250             "members": {
 76251               "ID": {},
 76252               "Prefix": {},
 76253               "Status": {},
 76254               "Destination": {
 76255                 "type": "structure",
 76256                 "required": [
 76257                   "Bucket"
 76258                 ],
 76259                 "members": {
 76260                   "Bucket": {},
 76261                   "StorageClass": {}
 76262                 }
 76263               }
 76264             }
 76265           },
 76266           "flattened": true
 76267         }
 76268       }
 76269     },
 76270     "S59": {
 76271       "type": "list",
 76272       "member": {
 76273         "locationName": "Tag",
 76274         "type": "structure",
 76275         "required": [
 76276           "Key",
 76277           "Value"
 76278         ],
 76279         "members": {
 76280           "Key": {},
 76281           "Value": {}
 76282         }
 76283       }
 76284     },
 76285     "S5i": {
 76286       "type": "structure",
 76287       "required": [
 76288         "HostName"
 76289       ],
 76290       "members": {
 76291         "HostName": {},
 76292         "Protocol": {}
 76293       }
 76294     },
 76295     "S5l": {
 76296       "type": "structure",
 76297       "required": [
 76298         "Suffix"
 76299       ],
 76300       "members": {
 76301         "Suffix": {}
 76302       }
 76303     },
 76304     "S5n": {
 76305       "type": "structure",
 76306       "required": [
 76307         "Key"
 76308       ],
 76309       "members": {
 76310         "Key": {}
 76311       }
 76312     },
 76313     "S5o": {
 76314       "type": "list",
 76315       "member": {
 76316         "locationName": "RoutingRule",
 76317         "type": "structure",
 76318         "required": [
 76319           "Redirect"
 76320         ],
 76321         "members": {
 76322           "Condition": {
 76323             "type": "structure",
 76324             "members": {
 76325               "HttpErrorCodeReturnedEquals": {},
 76326               "KeyPrefixEquals": {}
 76327             }
 76328           },
 76329           "Redirect": {
 76330             "type": "structure",
 76331             "members": {
 76332               "HostName": {},
 76333               "HttpRedirectCode": {},
 76334               "Protocol": {},
 76335               "ReplaceKeyPrefixWith": {},
 76336               "ReplaceKeyWith": {}
 76337             }
 76338           }
 76339         }
 76340       }
 76341     },
 76342     "S76": {
 76343       "type": "structure",
 76344       "members": {
 76345         "ID": {},
 76346         "DisplayName": {}
 76347       }
 76348     },
 76349     "S77": {
 76350       "type": "list",
 76351       "member": {
 76352         "type": "structure",
 76353         "members": {
 76354           "Prefix": {}
 76355         }
 76356       },
 76357       "flattened": true
 76358     },
 76359     "S7p": {
 76360       "type": "list",
 76361       "member": {
 76362         "type": "structure",
 76363         "members": {
 76364           "Key": {},
 76365           "LastModified": {
 76366             "type": "timestamp"
 76367           },
 76368           "ETag": {},
 76369           "Size": {
 76370             "type": "integer"
 76371           },
 76372           "StorageClass": {},
 76373           "Owner": {
 76374             "shape": "S2k"
 76375           }
 76376         }
 76377       },
 76378       "flattened": true
 76379     },
 76380     "S89": {
 76381       "type": "structure",
 76382       "members": {
 76383         "Grants": {
 76384           "shape": "S2n",
 76385           "locationName": "AccessControlList"
 76386         },
 76387         "Owner": {
 76388           "shape": "S2k"
 76389         }
 76390       }
 76391     }
 76392   }
 76393 }
 76394 },{}],114:[function(require,module,exports){
 76395 module.exports={
 76396   "pagination": {
 76397     "ListBuckets": {
 76398       "result_key": "Buckets"
 76399     },
 76400     "ListMultipartUploads": {
 76401       "limit_key": "MaxUploads",
 76402       "more_results": "IsTruncated",
 76403       "output_token": [
 76404         "NextKeyMarker",
 76405         "NextUploadIdMarker"
 76406       ],
 76407       "input_token": [
 76408         "KeyMarker",
 76409         "UploadIdMarker"
 76410       ],
 76411       "result_key": [
 76412         "Uploads",
 76413         "CommonPrefixes"
 76414       ]
 76415     },
 76416     "ListObjectVersions": {
 76417       "more_results": "IsTruncated",
 76418       "limit_key": "MaxKeys",
 76419       "output_token": [
 76420         "NextKeyMarker",
 76421         "NextVersionIdMarker"
 76422       ],
 76423       "input_token": [
 76424         "KeyMarker",
 76425         "VersionIdMarker"
 76426       ],
 76427       "result_key": [
 76428         "Versions",
 76429         "DeleteMarkers",
 76430         "CommonPrefixes"
 76431       ]
 76432     },
 76433     "ListObjects": {
 76434       "more_results": "IsTruncated",
 76435       "limit_key": "MaxKeys",
 76436       "output_token": "NextMarker || Contents[-1].Key",
 76437       "input_token": "Marker",
 76438       "result_key": [
 76439         "Contents",
 76440         "CommonPrefixes"
 76441       ]
 76442     },
 76443     "ListObjectsV2": {
 76444       "limit_key": "MaxKeys",
 76445       "output_token": "NextContinuationToken",
 76446       "input_token": "ContinuationToken",
 76447       "result_key": [
 76448         "Contents",
 76449         "CommonPrefixes"
 76450       ]
 76451     },
 76452     "ListParts": {
 76453       "more_results": "IsTruncated",
 76454       "limit_key": "MaxParts",
 76455       "output_token": "NextPartNumberMarker",
 76456       "input_token": "PartNumberMarker",
 76457       "result_key": "Parts"
 76458     }
 76459   }
 76460 }
 76461 
 76462 },{}],115:[function(require,module,exports){
 76463 module.exports={
 76464   "version": 2,
 76465   "waiters": {
 76466     "BucketExists": {
 76467       "delay": 5,
 76468       "operation": "HeadBucket",
 76469       "maxAttempts": 20,
 76470       "acceptors": [
 76471         {
 76472           "expected": 200,
 76473           "matcher": "status",
 76474           "state": "success"
 76475         },
 76476         {
 76477           "expected": 301,
 76478           "matcher": "status",
 76479           "state": "success"
 76480         },
 76481         {
 76482           "expected": 403,
 76483           "matcher": "status",
 76484           "state": "success"
 76485         },
 76486         {
 76487           "expected": 404,
 76488           "matcher": "status",
 76489           "state": "retry"
 76490         }
 76491       ]
 76492     },
 76493     "BucketNotExists": {
 76494       "delay": 5,
 76495       "operation": "HeadBucket",
 76496       "maxAttempts": 20,
 76497       "acceptors": [
 76498         {
 76499           "expected": 404,
 76500           "matcher": "status",
 76501           "state": "success"
 76502         }
 76503       ]
 76504     },
 76505     "ObjectExists": {
 76506       "delay": 5,
 76507       "operation": "HeadObject",
 76508       "maxAttempts": 20,
 76509       "acceptors": [
 76510         {
 76511           "expected": 200,
 76512           "matcher": "status",
 76513           "state": "success"
 76514         },
 76515         {
 76516           "expected": 404,
 76517           "matcher": "status",
 76518           "state": "retry"
 76519         }
 76520       ]
 76521     },
 76522     "ObjectNotExists": {
 76523       "delay": 5,
 76524       "operation": "HeadObject",
 76525       "maxAttempts": 20,
 76526       "acceptors": [
 76527         {
 76528           "expected": 404,
 76529           "matcher": "status",
 76530           "state": "success"
 76531         }
 76532       ]
 76533     }
 76534   }
 76535 }
 76536 
 76537 },{}],116:[function(require,module,exports){
 76538 module.exports={
 76539   "version": "2.0",
 76540   "metadata": {
 76541     "apiVersion": "2015-12-10",
 76542     "endpointPrefix": "servicecatalog",
 76543     "jsonVersion": "1.1",
 76544     "protocol": "json",
 76545     "serviceFullName": "AWS Service Catalog",
 76546     "signatureVersion": "v4",
 76547     "targetPrefix": "AWS242ServiceCatalogService"
 76548   },
 76549   "operations": {
 76550     "AcceptPortfolioShare": {
 76551       "input": {
 76552         "type": "structure",
 76553         "required": [
 76554           "PortfolioId"
 76555         ],
 76556         "members": {
 76557           "AcceptLanguage": {},
 76558           "PortfolioId": {}
 76559         }
 76560       },
 76561       "output": {
 76562         "type": "structure",
 76563         "members": {}
 76564       }
 76565     },
 76566     "AssociatePrincipalWithPortfolio": {
 76567       "input": {
 76568         "type": "structure",
 76569         "required": [
 76570           "PortfolioId",
 76571           "PrincipalARN",
 76572           "PrincipalType"
 76573         ],
 76574         "members": {
 76575           "AcceptLanguage": {},
 76576           "PortfolioId": {},
 76577           "PrincipalARN": {},
 76578           "PrincipalType": {}
 76579         }
 76580       },
 76581       "output": {
 76582         "type": "structure",
 76583         "members": {}
 76584       }
 76585     },
 76586     "AssociateProductWithPortfolio": {
 76587       "input": {
 76588         "type": "structure",
 76589         "required": [
 76590           "ProductId",
 76591           "PortfolioId"
 76592         ],
 76593         "members": {
 76594           "AcceptLanguage": {},
 76595           "ProductId": {},
 76596           "PortfolioId": {},
 76597           "SourcePortfolioId": {}
 76598         }
 76599       },
 76600       "output": {
 76601         "type": "structure",
 76602         "members": {}
 76603       }
 76604     },
 76605     "CreateConstraint": {
 76606       "input": {
 76607         "type": "structure",
 76608         "required": [
 76609           "PortfolioId",
 76610           "ProductId",
 76611           "Parameters",
 76612           "Type",
 76613           "IdempotencyToken"
 76614         ],
 76615         "members": {
 76616           "AcceptLanguage": {},
 76617           "PortfolioId": {},
 76618           "ProductId": {},
 76619           "Parameters": {},
 76620           "Type": {},
 76621           "Description": {},
 76622           "IdempotencyToken": {
 76623             "idempotencyToken": true
 76624           }
 76625         }
 76626       },
 76627       "output": {
 76628         "type": "structure",
 76629         "members": {
 76630           "ConstraintDetail": {
 76631             "shape": "Sh"
 76632           },
 76633           "ConstraintParameters": {},
 76634           "Status": {}
 76635         }
 76636       }
 76637     },
 76638     "CreatePortfolio": {
 76639       "input": {
 76640         "type": "structure",
 76641         "required": [
 76642           "DisplayName",
 76643           "ProviderName",
 76644           "IdempotencyToken"
 76645         ],
 76646         "members": {
 76647           "AcceptLanguage": {},
 76648           "DisplayName": {},
 76649           "Description": {},
 76650           "ProviderName": {},
 76651           "Tags": {
 76652             "shape": "So"
 76653           },
 76654           "IdempotencyToken": {
 76655             "idempotencyToken": true
 76656           }
 76657         }
 76658       },
 76659       "output": {
 76660         "type": "structure",
 76661         "members": {
 76662           "PortfolioDetail": {
 76663             "shape": "St"
 76664           },
 76665           "Tags": {
 76666             "shape": "Sw"
 76667           }
 76668         }
 76669       }
 76670     },
 76671     "CreatePortfolioShare": {
 76672       "input": {
 76673         "type": "structure",
 76674         "required": [
 76675           "PortfolioId",
 76676           "AccountId"
 76677         ],
 76678         "members": {
 76679           "AcceptLanguage": {},
 76680           "PortfolioId": {},
 76681           "AccountId": {}
 76682         }
 76683       },
 76684       "output": {
 76685         "type": "structure",
 76686         "members": {}
 76687       }
 76688     },
 76689     "CreateProduct": {
 76690       "input": {
 76691         "type": "structure",
 76692         "required": [
 76693           "Name",
 76694           "Owner",
 76695           "ProductType",
 76696           "ProvisioningArtifactParameters",
 76697           "IdempotencyToken"
 76698         ],
 76699         "members": {
 76700           "AcceptLanguage": {},
 76701           "Name": {},
 76702           "Owner": {},
 76703           "Description": {},
 76704           "Distributor": {},
 76705           "SupportDescription": {},
 76706           "SupportEmail": {},
 76707           "SupportUrl": {},
 76708           "ProductType": {},
 76709           "Tags": {
 76710             "shape": "So"
 76711           },
 76712           "ProvisioningArtifactParameters": {
 76713             "shape": "S17"
 76714           },
 76715           "IdempotencyToken": {
 76716             "idempotencyToken": true
 76717           }
 76718         }
 76719       },
 76720       "output": {
 76721         "type": "structure",
 76722         "members": {
 76723           "ProductViewDetail": {
 76724             "shape": "S1f"
 76725           },
 76726           "ProvisioningArtifactDetail": {
 76727             "shape": "S1k"
 76728           },
 76729           "Tags": {
 76730             "shape": "Sw"
 76731           }
 76732         }
 76733       }
 76734     },
 76735     "CreateProvisioningArtifact": {
 76736       "input": {
 76737         "type": "structure",
 76738         "required": [
 76739           "ProductId",
 76740           "Parameters",
 76741           "IdempotencyToken"
 76742         ],
 76743         "members": {
 76744           "AcceptLanguage": {},
 76745           "ProductId": {},
 76746           "Parameters": {
 76747             "shape": "S17"
 76748           },
 76749           "IdempotencyToken": {
 76750             "idempotencyToken": true
 76751           }
 76752         }
 76753       },
 76754       "output": {
 76755         "type": "structure",
 76756         "members": {
 76757           "ProvisioningArtifactDetail": {
 76758             "shape": "S1k"
 76759           },
 76760           "Info": {
 76761             "shape": "S1a"
 76762           },
 76763           "Status": {}
 76764         }
 76765       }
 76766     },
 76767     "DeleteConstraint": {
 76768       "input": {
 76769         "type": "structure",
 76770         "required": [
 76771           "Id"
 76772         ],
 76773         "members": {
 76774           "AcceptLanguage": {},
 76775           "Id": {}
 76776         }
 76777       },
 76778       "output": {
 76779         "type": "structure",
 76780         "members": {}
 76781       }
 76782     },
 76783     "DeletePortfolio": {
 76784       "input": {
 76785         "type": "structure",
 76786         "required": [
 76787           "Id"
 76788         ],
 76789         "members": {
 76790           "AcceptLanguage": {},
 76791           "Id": {}
 76792         }
 76793       },
 76794       "output": {
 76795         "type": "structure",
 76796         "members": {}
 76797       }
 76798     },
 76799     "DeletePortfolioShare": {
 76800       "input": {
 76801         "type": "structure",
 76802         "required": [
 76803           "PortfolioId",
 76804           "AccountId"
 76805         ],
 76806         "members": {
 76807           "AcceptLanguage": {},
 76808           "PortfolioId": {},
 76809           "AccountId": {}
 76810         }
 76811       },
 76812       "output": {
 76813         "type": "structure",
 76814         "members": {}
 76815       }
 76816     },
 76817     "DeleteProduct": {
 76818       "input": {
 76819         "type": "structure",
 76820         "required": [
 76821           "Id"
 76822         ],
 76823         "members": {
 76824           "AcceptLanguage": {},
 76825           "Id": {}
 76826         }
 76827       },
 76828       "output": {
 76829         "type": "structure",
 76830         "members": {}
 76831       }
 76832     },
 76833     "DeleteProvisioningArtifact": {
 76834       "input": {
 76835         "type": "structure",
 76836         "required": [
 76837           "ProductId",
 76838           "ProvisioningArtifactId"
 76839         ],
 76840         "members": {
 76841           "AcceptLanguage": {},
 76842           "ProductId": {},
 76843           "ProvisioningArtifactId": {}
 76844         }
 76845       },
 76846       "output": {
 76847         "type": "structure",
 76848         "members": {}
 76849       }
 76850     },
 76851     "DescribeConstraint": {
 76852       "input": {
 76853         "type": "structure",
 76854         "required": [
 76855           "Id"
 76856         ],
 76857         "members": {
 76858           "AcceptLanguage": {},
 76859           "Id": {}
 76860         }
 76861       },
 76862       "output": {
 76863         "type": "structure",
 76864         "members": {
 76865           "ConstraintDetail": {
 76866             "shape": "Sh"
 76867           },
 76868           "ConstraintParameters": {},
 76869           "Status": {}
 76870         }
 76871       }
 76872     },
 76873     "DescribePortfolio": {
 76874       "input": {
 76875         "type": "structure",
 76876         "required": [
 76877           "Id"
 76878         ],
 76879         "members": {
 76880           "AcceptLanguage": {},
 76881           "Id": {}
 76882         }
 76883       },
 76884       "output": {
 76885         "type": "structure",
 76886         "members": {
 76887           "PortfolioDetail": {
 76888             "shape": "St"
 76889           },
 76890           "Tags": {
 76891             "shape": "Sw"
 76892           }
 76893         }
 76894       }
 76895     },
 76896     "DescribeProduct": {
 76897       "input": {
 76898         "type": "structure",
 76899         "required": [
 76900           "Id"
 76901         ],
 76902         "members": {
 76903           "AcceptLanguage": {},
 76904           "Id": {}
 76905         }
 76906       },
 76907       "output": {
 76908         "type": "structure",
 76909         "members": {
 76910           "ProductViewSummary": {
 76911             "shape": "S1g"
 76912           },
 76913           "ProvisioningArtifacts": {
 76914             "shape": "S23"
 76915           }
 76916         }
 76917       }
 76918     },
 76919     "DescribeProductAsAdmin": {
 76920       "input": {
 76921         "type": "structure",
 76922         "required": [
 76923           "Id"
 76924         ],
 76925         "members": {
 76926           "AcceptLanguage": {},
 76927           "Id": {}
 76928         }
 76929       },
 76930       "output": {
 76931         "type": "structure",
 76932         "members": {
 76933           "ProductViewDetail": {
 76934             "shape": "S1f"
 76935           },
 76936           "Tags": {
 76937             "shape": "Sw"
 76938           }
 76939         }
 76940       }
 76941     },
 76942     "DescribeProductView": {
 76943       "input": {
 76944         "type": "structure",
 76945         "required": [
 76946           "Id"
 76947         ],
 76948         "members": {
 76949           "AcceptLanguage": {},
 76950           "Id": {}
 76951         }
 76952       },
 76953       "output": {
 76954         "type": "structure",
 76955         "members": {
 76956           "ProductViewSummary": {
 76957             "shape": "S1g"
 76958           },
 76959           "ProvisioningArtifacts": {
 76960             "shape": "S23"
 76961           }
 76962         }
 76963       }
 76964     },
 76965     "DescribeProvisioningArtifact": {
 76966       "input": {
 76967         "type": "structure",
 76968         "required": [
 76969           "ProvisioningArtifactId",
 76970           "ProductId"
 76971         ],
 76972         "members": {
 76973           "AcceptLanguage": {},
 76974           "ProvisioningArtifactId": {},
 76975           "ProductId": {}
 76976         }
 76977       },
 76978       "output": {
 76979         "type": "structure",
 76980         "members": {
 76981           "ProvisioningArtifactDetail": {
 76982             "shape": "S1k"
 76983           },
 76984           "Info": {
 76985             "shape": "S1a"
 76986           },
 76987           "Status": {}
 76988         }
 76989       }
 76990     },
 76991     "DescribeProvisioningParameters": {
 76992       "input": {
 76993         "type": "structure",
 76994         "required": [
 76995           "ProductId",
 76996           "ProvisioningArtifactId"
 76997         ],
 76998         "members": {
 76999           "AcceptLanguage": {},
 77000           "ProductId": {},
 77001           "ProvisioningArtifactId": {},
 77002           "PathId": {}
 77003         }
 77004       },
 77005       "output": {
 77006         "type": "structure",
 77007         "members": {
 77008           "ProvisioningArtifactParameters": {
 77009             "type": "list",
 77010             "member": {
 77011               "type": "structure",
 77012               "members": {
 77013                 "ParameterKey": {},
 77014                 "DefaultValue": {},
 77015                 "ParameterType": {},
 77016                 "IsNoEcho": {
 77017                   "type": "boolean"
 77018                 },
 77019                 "Description": {},
 77020                 "ParameterConstraints": {
 77021                   "type": "structure",
 77022                   "members": {
 77023                     "AllowedValues": {
 77024                       "type": "list",
 77025                       "member": {}
 77026                     }
 77027                   }
 77028                 }
 77029               }
 77030             }
 77031           },
 77032           "ConstraintSummaries": {
 77033             "shape": "S2o"
 77034           },
 77035           "UsageInstructions": {
 77036             "type": "list",
 77037             "member": {
 77038               "type": "structure",
 77039               "members": {
 77040                 "Type": {},
 77041                 "Value": {}
 77042               }
 77043             }
 77044           }
 77045         }
 77046       }
 77047     },
 77048     "DescribeRecord": {
 77049       "input": {
 77050         "type": "structure",
 77051         "required": [
 77052           "Id"
 77053         ],
 77054         "members": {
 77055           "AcceptLanguage": {},
 77056           "Id": {},
 77057           "PageToken": {},
 77058           "PageSize": {
 77059             "type": "integer"
 77060           }
 77061         }
 77062       },
 77063       "output": {
 77064         "type": "structure",
 77065         "members": {
 77066           "RecordDetail": {
 77067             "shape": "S2y"
 77068           },
 77069           "RecordOutputs": {
 77070             "type": "list",
 77071             "member": {
 77072               "type": "structure",
 77073               "members": {
 77074                 "OutputKey": {},
 77075                 "OutputValue": {},
 77076                 "Description": {}
 77077               }
 77078             }
 77079           },
 77080           "NextPageToken": {}
 77081         }
 77082       }
 77083     },
 77084     "DisassociatePrincipalFromPortfolio": {
 77085       "input": {
 77086         "type": "structure",
 77087         "required": [
 77088           "PortfolioId",
 77089           "PrincipalARN"
 77090         ],
 77091         "members": {
 77092           "AcceptLanguage": {},
 77093           "PortfolioId": {},
 77094           "PrincipalARN": {}
 77095         }
 77096       },
 77097       "output": {
 77098         "type": "structure",
 77099         "members": {}
 77100       }
 77101     },
 77102     "DisassociateProductFromPortfolio": {
 77103       "input": {
 77104         "type": "structure",
 77105         "required": [
 77106           "ProductId",
 77107           "PortfolioId"
 77108         ],
 77109         "members": {
 77110           "AcceptLanguage": {},
 77111           "ProductId": {},
 77112           "PortfolioId": {}
 77113         }
 77114       },
 77115       "output": {
 77116         "type": "structure",
 77117         "members": {}
 77118       }
 77119     },
 77120     "ListAcceptedPortfolioShares": {
 77121       "input": {
 77122         "type": "structure",
 77123         "members": {
 77124           "AcceptLanguage": {},
 77125           "PageToken": {},
 77126           "PageSize": {
 77127             "type": "integer"
 77128           }
 77129         }
 77130       },
 77131       "output": {
 77132         "type": "structure",
 77133         "members": {
 77134           "PortfolioDetails": {
 77135             "shape": "S3m"
 77136           },
 77137           "NextPageToken": {}
 77138         }
 77139       }
 77140     },
 77141     "ListConstraintsForPortfolio": {
 77142       "input": {
 77143         "type": "structure",
 77144         "required": [
 77145           "PortfolioId"
 77146         ],
 77147         "members": {
 77148           "AcceptLanguage": {},
 77149           "PortfolioId": {},
 77150           "ProductId": {},
 77151           "PageSize": {
 77152             "type": "integer"
 77153           },
 77154           "PageToken": {}
 77155         }
 77156       },
 77157       "output": {
 77158         "type": "structure",
 77159         "members": {
 77160           "ConstraintDetails": {
 77161             "type": "list",
 77162             "member": {
 77163               "shape": "Sh"
 77164             }
 77165           },
 77166           "NextPageToken": {}
 77167         }
 77168       }
 77169     },
 77170     "ListLaunchPaths": {
 77171       "input": {
 77172         "type": "structure",
 77173         "required": [
 77174           "ProductId"
 77175         ],
 77176         "members": {
 77177           "AcceptLanguage": {},
 77178           "ProductId": {},
 77179           "PageSize": {
 77180             "type": "integer"
 77181           },
 77182           "PageToken": {}
 77183         }
 77184       },
 77185       "output": {
 77186         "type": "structure",
 77187         "members": {
 77188           "LaunchPathSummaries": {
 77189             "type": "list",
 77190             "member": {
 77191               "type": "structure",
 77192               "members": {
 77193                 "Id": {},
 77194                 "ConstraintSummaries": {
 77195                   "shape": "S2o"
 77196                 },
 77197                 "Tags": {
 77198                   "shape": "Sw"
 77199                 },
 77200                 "Name": {}
 77201               }
 77202             }
 77203           },
 77204           "NextPageToken": {}
 77205         }
 77206       }
 77207     },
 77208     "ListPortfolioAccess": {
 77209       "input": {
 77210         "type": "structure",
 77211         "required": [
 77212           "PortfolioId"
 77213         ],
 77214         "members": {
 77215           "AcceptLanguage": {},
 77216           "PortfolioId": {}
 77217         }
 77218       },
 77219       "output": {
 77220         "type": "structure",
 77221         "members": {
 77222           "AccountIds": {
 77223             "type": "list",
 77224             "member": {}
 77225           },
 77226           "NextPageToken": {}
 77227         }
 77228       }
 77229     },
 77230     "ListPortfolios": {
 77231       "input": {
 77232         "type": "structure",
 77233         "members": {
 77234           "AcceptLanguage": {},
 77235           "PageToken": {},
 77236           "PageSize": {
 77237             "type": "integer"
 77238           }
 77239         }
 77240       },
 77241       "output": {
 77242         "type": "structure",
 77243         "members": {
 77244           "PortfolioDetails": {
 77245             "shape": "S3m"
 77246           },
 77247           "NextPageToken": {}
 77248         }
 77249       }
 77250     },
 77251     "ListPortfoliosForProduct": {
 77252       "input": {
 77253         "type": "structure",
 77254         "required": [
 77255           "ProductId"
 77256         ],
 77257         "members": {
 77258           "AcceptLanguage": {},
 77259           "ProductId": {},
 77260           "PageToken": {},
 77261           "PageSize": {
 77262             "type": "integer"
 77263           }
 77264         }
 77265       },
 77266       "output": {
 77267         "type": "structure",
 77268         "members": {
 77269           "PortfolioDetails": {
 77270             "shape": "S3m"
 77271           },
 77272           "NextPageToken": {}
 77273         }
 77274       }
 77275     },
 77276     "ListPrincipalsForPortfolio": {
 77277       "input": {
 77278         "type": "structure",
 77279         "required": [
 77280           "PortfolioId"
 77281         ],
 77282         "members": {
 77283           "AcceptLanguage": {},
 77284           "PortfolioId": {},
 77285           "PageSize": {
 77286             "type": "integer"
 77287           },
 77288           "PageToken": {}
 77289         }
 77290       },
 77291       "output": {
 77292         "type": "structure",
 77293         "members": {
 77294           "Principals": {
 77295             "type": "list",
 77296             "member": {
 77297               "type": "structure",
 77298               "members": {
 77299                 "PrincipalARN": {},
 77300                 "PrincipalType": {}
 77301               }
 77302             }
 77303           },
 77304           "NextPageToken": {}
 77305         }
 77306       }
 77307     },
 77308     "ListProvisioningArtifacts": {
 77309       "input": {
 77310         "type": "structure",
 77311         "required": [
 77312           "ProductId"
 77313         ],
 77314         "members": {
 77315           "AcceptLanguage": {},
 77316           "ProductId": {}
 77317         }
 77318       },
 77319       "output": {
 77320         "type": "structure",
 77321         "members": {
 77322           "ProvisioningArtifactDetails": {
 77323             "type": "list",
 77324             "member": {
 77325               "shape": "S1k"
 77326             }
 77327           },
 77328           "NextPageToken": {}
 77329         }
 77330       }
 77331     },
 77332     "ListRecordHistory": {
 77333       "input": {
 77334         "type": "structure",
 77335         "members": {
 77336           "AcceptLanguage": {},
 77337           "AccessLevelFilter": {
 77338             "shape": "S4a"
 77339           },
 77340           "SearchFilter": {
 77341             "type": "structure",
 77342             "members": {
 77343               "Key": {},
 77344               "Value": {}
 77345             }
 77346           },
 77347           "PageSize": {
 77348             "type": "integer"
 77349           },
 77350           "PageToken": {}
 77351         }
 77352       },
 77353       "output": {
 77354         "type": "structure",
 77355         "members": {
 77356           "RecordDetails": {
 77357             "type": "list",
 77358             "member": {
 77359               "shape": "S2y"
 77360             }
 77361           },
 77362           "NextPageToken": {}
 77363         }
 77364       }
 77365     },
 77366     "ProvisionProduct": {
 77367       "input": {
 77368         "type": "structure",
 77369         "required": [
 77370           "ProductId",
 77371           "ProvisioningArtifactId",
 77372           "ProvisionedProductName",
 77373           "ProvisionToken"
 77374         ],
 77375         "members": {
 77376           "AcceptLanguage": {},
 77377           "ProductId": {},
 77378           "ProvisioningArtifactId": {},
 77379           "PathId": {},
 77380           "ProvisionedProductName": {},
 77381           "ProvisioningParameters": {
 77382             "type": "list",
 77383             "member": {
 77384               "type": "structure",
 77385               "members": {
 77386                 "Key": {},
 77387                 "Value": {}
 77388               }
 77389             }
 77390           },
 77391           "Tags": {
 77392             "shape": "Sw"
 77393           },
 77394           "NotificationArns": {
 77395             "type": "list",
 77396             "member": {}
 77397           },
 77398           "ProvisionToken": {
 77399             "idempotencyToken": true
 77400           }
 77401         }
 77402       },
 77403       "output": {
 77404         "type": "structure",
 77405         "members": {
 77406           "RecordDetail": {
 77407             "shape": "S2y"
 77408           }
 77409         }
 77410       }
 77411     },
 77412     "RejectPortfolioShare": {
 77413       "input": {
 77414         "type": "structure",
 77415         "required": [
 77416           "PortfolioId"
 77417         ],
 77418         "members": {
 77419           "AcceptLanguage": {},
 77420           "PortfolioId": {}
 77421         }
 77422       },
 77423       "output": {
 77424         "type": "structure",
 77425         "members": {}
 77426       }
 77427     },
 77428     "ScanProvisionedProducts": {
 77429       "input": {
 77430         "type": "structure",
 77431         "members": {
 77432           "AcceptLanguage": {},
 77433           "AccessLevelFilter": {
 77434             "shape": "S4a"
 77435           },
 77436           "PageSize": {
 77437             "type": "integer"
 77438           },
 77439           "PageToken": {}
 77440         }
 77441       },
 77442       "output": {
 77443         "type": "structure",
 77444         "members": {
 77445           "ProvisionedProducts": {
 77446             "type": "list",
 77447             "member": {
 77448               "type": "structure",
 77449               "members": {
 77450                 "Name": {},
 77451                 "Arn": {},
 77452                 "Type": {},
 77453                 "Id": {},
 77454                 "Status": {},
 77455                 "StatusMessage": {},
 77456                 "CreatedTime": {
 77457                   "type": "timestamp"
 77458                 },
 77459                 "IdempotencyToken": {},
 77460                 "LastRecordId": {}
 77461               }
 77462             }
 77463           },
 77464           "NextPageToken": {}
 77465         }
 77466       }
 77467     },
 77468     "SearchProducts": {
 77469       "input": {
 77470         "type": "structure",
 77471         "members": {
 77472           "AcceptLanguage": {},
 77473           "Filters": {
 77474             "shape": "S50"
 77475           },
 77476           "PageSize": {
 77477             "type": "integer"
 77478           },
 77479           "SortBy": {},
 77480           "SortOrder": {},
 77481           "PageToken": {}
 77482         }
 77483       },
 77484       "output": {
 77485         "type": "structure",
 77486         "members": {
 77487           "ProductViewSummaries": {
 77488             "type": "list",
 77489             "member": {
 77490               "shape": "S1g"
 77491             }
 77492           },
 77493           "ProductViewAggregations": {
 77494             "type": "map",
 77495             "key": {},
 77496             "value": {
 77497               "type": "list",
 77498               "member": {
 77499                 "type": "structure",
 77500                 "members": {
 77501                   "Value": {},
 77502                   "ApproximateCount": {
 77503                     "type": "integer"
 77504                   }
 77505                 }
 77506               }
 77507             }
 77508           },
 77509           "NextPageToken": {}
 77510         }
 77511       }
 77512     },
 77513     "SearchProductsAsAdmin": {
 77514       "input": {
 77515         "type": "structure",
 77516         "members": {
 77517           "AcceptLanguage": {},
 77518           "PortfolioId": {},
 77519           "Filters": {
 77520             "shape": "S50"
 77521           },
 77522           "SortBy": {},
 77523           "SortOrder": {},
 77524           "PageToken": {},
 77525           "PageSize": {
 77526             "type": "integer"
 77527           },
 77528           "ProductSource": {}
 77529         }
 77530       },
 77531       "output": {
 77532         "type": "structure",
 77533         "members": {
 77534           "ProductViewDetails": {
 77535             "type": "list",
 77536             "member": {
 77537               "shape": "S1f"
 77538             }
 77539           },
 77540           "NextPageToken": {}
 77541         }
 77542       }
 77543     },
 77544     "TerminateProvisionedProduct": {
 77545       "input": {
 77546         "type": "structure",
 77547         "required": [
 77548           "TerminateToken"
 77549         ],
 77550         "members": {
 77551           "ProvisionedProductName": {},
 77552           "ProvisionedProductId": {},
 77553           "TerminateToken": {
 77554             "idempotencyToken": true
 77555           },
 77556           "IgnoreErrors": {
 77557             "type": "boolean"
 77558           },
 77559           "AcceptLanguage": {}
 77560         }
 77561       },
 77562       "output": {
 77563         "type": "structure",
 77564         "members": {
 77565           "RecordDetail": {
 77566             "shape": "S2y"
 77567           }
 77568         }
 77569       }
 77570     },
 77571     "UpdateConstraint": {
 77572       "input": {
 77573         "type": "structure",
 77574         "required": [
 77575           "Id"
 77576         ],
 77577         "members": {
 77578           "AcceptLanguage": {},
 77579           "Id": {},
 77580           "Description": {}
 77581         }
 77582       },
 77583       "output": {
 77584         "type": "structure",
 77585         "members": {
 77586           "ConstraintDetail": {
 77587             "shape": "Sh"
 77588           },
 77589           "ConstraintParameters": {},
 77590           "Status": {}
 77591         }
 77592       }
 77593     },
 77594     "UpdatePortfolio": {
 77595       "input": {
 77596         "type": "structure",
 77597         "required": [
 77598           "Id"
 77599         ],
 77600         "members": {
 77601           "AcceptLanguage": {},
 77602           "Id": {},
 77603           "DisplayName": {},
 77604           "Description": {},
 77605           "ProviderName": {},
 77606           "AddTags": {
 77607             "shape": "So"
 77608           },
 77609           "RemoveTags": {
 77610             "shape": "S5o"
 77611           }
 77612         }
 77613       },
 77614       "output": {
 77615         "type": "structure",
 77616         "members": {
 77617           "PortfolioDetail": {
 77618             "shape": "St"
 77619           },
 77620           "Tags": {
 77621             "shape": "Sw"
 77622           }
 77623         }
 77624       }
 77625     },
 77626     "UpdateProduct": {
 77627       "input": {
 77628         "type": "structure",
 77629         "required": [
 77630           "Id"
 77631         ],
 77632         "members": {
 77633           "AcceptLanguage": {},
 77634           "Id": {},
 77635           "Name": {},
 77636           "Owner": {},
 77637           "Description": {},
 77638           "Distributor": {},
 77639           "SupportDescription": {},
 77640           "SupportEmail": {},
 77641           "SupportUrl": {},
 77642           "AddTags": {
 77643             "shape": "So"
 77644           },
 77645           "RemoveTags": {
 77646             "shape": "S5o"
 77647           }
 77648         }
 77649       },
 77650       "output": {
 77651         "type": "structure",
 77652         "members": {
 77653           "ProductViewDetail": {
 77654             "shape": "S1f"
 77655           },
 77656           "Tags": {
 77657             "shape": "Sw"
 77658           }
 77659         }
 77660       }
 77661     },
 77662     "UpdateProvisionedProduct": {
 77663       "input": {
 77664         "type": "structure",
 77665         "required": [
 77666           "UpdateToken"
 77667         ],
 77668         "members": {
 77669           "AcceptLanguage": {},
 77670           "ProvisionedProductName": {},
 77671           "ProvisionedProductId": {},
 77672           "ProductId": {},
 77673           "ProvisioningArtifactId": {},
 77674           "PathId": {},
 77675           "ProvisioningParameters": {
 77676             "type": "list",
 77677             "member": {
 77678               "type": "structure",
 77679               "members": {
 77680                 "Key": {},
 77681                 "Value": {},
 77682                 "UsePreviousValue": {
 77683                   "type": "boolean"
 77684                 }
 77685               }
 77686             }
 77687           },
 77688           "UpdateToken": {
 77689             "idempotencyToken": true
 77690           }
 77691         }
 77692       },
 77693       "output": {
 77694         "type": "structure",
 77695         "members": {
 77696           "RecordDetail": {
 77697             "shape": "S2y"
 77698           }
 77699         }
 77700       }
 77701     },
 77702     "UpdateProvisioningArtifact": {
 77703       "input": {
 77704         "type": "structure",
 77705         "required": [
 77706           "ProductId",
 77707           "ProvisioningArtifactId"
 77708         ],
 77709         "members": {
 77710           "AcceptLanguage": {},
 77711           "ProductId": {},
 77712           "ProvisioningArtifactId": {},
 77713           "Name": {},
 77714           "Description": {}
 77715         }
 77716       },
 77717       "output": {
 77718         "type": "structure",
 77719         "members": {
 77720           "ProvisioningArtifactDetail": {
 77721             "shape": "S1k"
 77722           },
 77723           "Info": {
 77724             "shape": "S1a"
 77725           },
 77726           "Status": {}
 77727         }
 77728       }
 77729     }
 77730   },
 77731   "shapes": {
 77732     "Sh": {
 77733       "type": "structure",
 77734       "members": {
 77735         "ConstraintId": {},
 77736         "Type": {},
 77737         "Description": {},
 77738         "Owner": {}
 77739       }
 77740     },
 77741     "So": {
 77742       "type": "list",
 77743       "member": {
 77744         "shape": "Sp"
 77745       }
 77746     },
 77747     "Sp": {
 77748       "type": "structure",
 77749       "required": [
 77750         "Key",
 77751         "Value"
 77752       ],
 77753       "members": {
 77754         "Key": {},
 77755         "Value": {}
 77756       }
 77757     },
 77758     "St": {
 77759       "type": "structure",
 77760       "members": {
 77761         "Id": {},
 77762         "ARN": {},
 77763         "DisplayName": {},
 77764         "Description": {},
 77765         "CreatedTime": {
 77766           "type": "timestamp"
 77767         },
 77768         "ProviderName": {}
 77769       }
 77770     },
 77771     "Sw": {
 77772       "type": "list",
 77773       "member": {
 77774         "shape": "Sp"
 77775       }
 77776     },
 77777     "S17": {
 77778       "type": "structure",
 77779       "required": [
 77780         "Info"
 77781       ],
 77782       "members": {
 77783         "Name": {},
 77784         "Description": {},
 77785         "Info": {
 77786           "shape": "S1a"
 77787         },
 77788         "Type": {}
 77789       }
 77790     },
 77791     "S1a": {
 77792       "type": "map",
 77793       "key": {},
 77794       "value": {}
 77795     },
 77796     "S1f": {
 77797       "type": "structure",
 77798       "members": {
 77799         "ProductViewSummary": {
 77800           "shape": "S1g"
 77801         },
 77802         "Status": {},
 77803         "ProductARN": {},
 77804         "CreatedTime": {
 77805           "type": "timestamp"
 77806         }
 77807       }
 77808     },
 77809     "S1g": {
 77810       "type": "structure",
 77811       "members": {
 77812         "Id": {},
 77813         "ProductId": {},
 77814         "Name": {},
 77815         "Owner": {},
 77816         "ShortDescription": {},
 77817         "Type": {},
 77818         "Distributor": {},
 77819         "HasDefaultPath": {
 77820           "type": "boolean"
 77821         },
 77822         "SupportEmail": {},
 77823         "SupportDescription": {},
 77824         "SupportUrl": {}
 77825       }
 77826     },
 77827     "S1k": {
 77828       "type": "structure",
 77829       "members": {
 77830         "Id": {},
 77831         "Name": {},
 77832         "Description": {},
 77833         "Type": {},
 77834         "CreatedTime": {
 77835           "type": "timestamp"
 77836         }
 77837       }
 77838     },
 77839     "S23": {
 77840       "type": "list",
 77841       "member": {
 77842         "type": "structure",
 77843         "members": {
 77844           "Id": {},
 77845           "Name": {},
 77846           "Description": {},
 77847           "CreatedTime": {
 77848             "type": "timestamp"
 77849           }
 77850         }
 77851       }
 77852     },
 77853     "S2o": {
 77854       "type": "list",
 77855       "member": {
 77856         "type": "structure",
 77857         "members": {
 77858           "Type": {},
 77859           "Description": {}
 77860         }
 77861       }
 77862     },
 77863     "S2y": {
 77864       "type": "structure",
 77865       "members": {
 77866         "RecordId": {},
 77867         "ProvisionedProductName": {},
 77868         "Status": {},
 77869         "CreatedTime": {
 77870           "type": "timestamp"
 77871         },
 77872         "UpdatedTime": {
 77873           "type": "timestamp"
 77874         },
 77875         "ProvisionedProductType": {},
 77876         "RecordType": {},
 77877         "ProvisionedProductId": {},
 77878         "ProductId": {},
 77879         "ProvisioningArtifactId": {},
 77880         "PathId": {},
 77881         "RecordErrors": {
 77882           "type": "list",
 77883           "member": {
 77884             "type": "structure",
 77885             "members": {
 77886               "Code": {},
 77887               "Description": {}
 77888             }
 77889           }
 77890         },
 77891         "RecordTags": {
 77892           "type": "list",
 77893           "member": {
 77894             "type": "structure",
 77895             "members": {
 77896               "Key": {},
 77897               "Value": {}
 77898             }
 77899           }
 77900         }
 77901       }
 77902     },
 77903     "S3m": {
 77904       "type": "list",
 77905       "member": {
 77906         "shape": "St"
 77907       }
 77908     },
 77909     "S4a": {
 77910       "type": "structure",
 77911       "members": {
 77912         "Key": {},
 77913         "Value": {}
 77914       }
 77915     },
 77916     "S50": {
 77917       "type": "map",
 77918       "key": {},
 77919       "value": {
 77920         "type": "list",
 77921         "member": {}
 77922       }
 77923     },
 77924     "S5o": {
 77925       "type": "list",
 77926       "member": {}
 77927     }
 77928   }
 77929 }
 77930 },{}],117:[function(require,module,exports){
 77931 module.exports={
 77932   "version": "2.0",
 77933   "metadata": {
 77934     "apiVersion": "2010-03-31",
 77935     "endpointPrefix": "sns",
 77936     "protocol": "query",
 77937     "serviceAbbreviation": "Amazon SNS",
 77938     "serviceFullName": "Amazon Simple Notification Service",
 77939     "signatureVersion": "v4",
 77940     "xmlNamespace": "http://sns.amazonaws.com/doc/2010-03-31/"
 77941   },
 77942   "operations": {
 77943     "AddPermission": {
 77944       "input": {
 77945         "type": "structure",
 77946         "required": [
 77947           "TopicArn",
 77948           "Label",
 77949           "AWSAccountId",
 77950           "ActionName"
 77951         ],
 77952         "members": {
 77953           "TopicArn": {},
 77954           "Label": {},
 77955           "AWSAccountId": {
 77956             "type": "list",
 77957             "member": {}
 77958           },
 77959           "ActionName": {
 77960             "type": "list",
 77961             "member": {}
 77962           }
 77963         }
 77964       }
 77965     },
 77966     "CheckIfPhoneNumberIsOptedOut": {
 77967       "input": {
 77968         "type": "structure",
 77969         "required": [
 77970           "phoneNumber"
 77971         ],
 77972         "members": {
 77973           "phoneNumber": {}
 77974         }
 77975       },
 77976       "output": {
 77977         "resultWrapper": "CheckIfPhoneNumberIsOptedOutResult",
 77978         "type": "structure",
 77979         "members": {
 77980           "isOptedOut": {
 77981             "type": "boolean"
 77982           }
 77983         }
 77984       }
 77985     },
 77986     "ConfirmSubscription": {
 77987       "input": {
 77988         "type": "structure",
 77989         "required": [
 77990           "TopicArn",
 77991           "Token"
 77992         ],
 77993         "members": {
 77994           "TopicArn": {},
 77995           "Token": {},
 77996           "AuthenticateOnUnsubscribe": {}
 77997         }
 77998       },
 77999       "output": {
 78000         "resultWrapper": "ConfirmSubscriptionResult",
 78001         "type": "structure",
 78002         "members": {
 78003           "SubscriptionArn": {}
 78004         }
 78005       }
 78006     },
 78007     "CreatePlatformApplication": {
 78008       "input": {
 78009         "type": "structure",
 78010         "required": [
 78011           "Name",
 78012           "Platform",
 78013           "Attributes"
 78014         ],
 78015         "members": {
 78016           "Name": {},
 78017           "Platform": {},
 78018           "Attributes": {
 78019             "shape": "Sj"
 78020           }
 78021         }
 78022       },
 78023       "output": {
 78024         "resultWrapper": "CreatePlatformApplicationResult",
 78025         "type": "structure",
 78026         "members": {
 78027           "PlatformApplicationArn": {}
 78028         }
 78029       }
 78030     },
 78031     "CreatePlatformEndpoint": {
 78032       "input": {
 78033         "type": "structure",
 78034         "required": [
 78035           "PlatformApplicationArn",
 78036           "Token"
 78037         ],
 78038         "members": {
 78039           "PlatformApplicationArn": {},
 78040           "Token": {},
 78041           "CustomUserData": {},
 78042           "Attributes": {
 78043             "shape": "Sj"
 78044           }
 78045         }
 78046       },
 78047       "output": {
 78048         "resultWrapper": "CreatePlatformEndpointResult",
 78049         "type": "structure",
 78050         "members": {
 78051           "EndpointArn": {}
 78052         }
 78053       }
 78054     },
 78055     "CreateTopic": {
 78056       "input": {
 78057         "type": "structure",
 78058         "required": [
 78059           "Name"
 78060         ],
 78061         "members": {
 78062           "Name": {}
 78063         }
 78064       },
 78065       "output": {
 78066         "resultWrapper": "CreateTopicResult",
 78067         "type": "structure",
 78068         "members": {
 78069           "TopicArn": {}
 78070         }
 78071       }
 78072     },
 78073     "DeleteEndpoint": {
 78074       "input": {
 78075         "type": "structure",
 78076         "required": [
 78077           "EndpointArn"
 78078         ],
 78079         "members": {
 78080           "EndpointArn": {}
 78081         }
 78082       }
 78083     },
 78084     "DeletePlatformApplication": {
 78085       "input": {
 78086         "type": "structure",
 78087         "required": [
 78088           "PlatformApplicationArn"
 78089         ],
 78090         "members": {
 78091           "PlatformApplicationArn": {}
 78092         }
 78093       }
 78094     },
 78095     "DeleteTopic": {
 78096       "input": {
 78097         "type": "structure",
 78098         "required": [
 78099           "TopicArn"
 78100         ],
 78101         "members": {
 78102           "TopicArn": {}
 78103         }
 78104       }
 78105     },
 78106     "GetEndpointAttributes": {
 78107       "input": {
 78108         "type": "structure",
 78109         "required": [
 78110           "EndpointArn"
 78111         ],
 78112         "members": {
 78113           "EndpointArn": {}
 78114         }
 78115       },
 78116       "output": {
 78117         "resultWrapper": "GetEndpointAttributesResult",
 78118         "type": "structure",
 78119         "members": {
 78120           "Attributes": {
 78121             "shape": "Sj"
 78122           }
 78123         }
 78124       }
 78125     },
 78126     "GetPlatformApplicationAttributes": {
 78127       "input": {
 78128         "type": "structure",
 78129         "required": [
 78130           "PlatformApplicationArn"
 78131         ],
 78132         "members": {
 78133           "PlatformApplicationArn": {}
 78134         }
 78135       },
 78136       "output": {
 78137         "resultWrapper": "GetPlatformApplicationAttributesResult",
 78138         "type": "structure",
 78139         "members": {
 78140           "Attributes": {
 78141             "shape": "Sj"
 78142           }
 78143         }
 78144       }
 78145     },
 78146     "GetSMSAttributes": {
 78147       "input": {
 78148         "type": "structure",
 78149         "members": {
 78150           "attributes": {
 78151             "type": "list",
 78152             "member": {}
 78153           }
 78154         }
 78155       },
 78156       "output": {
 78157         "resultWrapper": "GetSMSAttributesResult",
 78158         "type": "structure",
 78159         "members": {
 78160           "attributes": {
 78161             "shape": "Sj"
 78162           }
 78163         }
 78164       }
 78165     },
 78166     "GetSubscriptionAttributes": {
 78167       "input": {
 78168         "type": "structure",
 78169         "required": [
 78170           "SubscriptionArn"
 78171         ],
 78172         "members": {
 78173           "SubscriptionArn": {}
 78174         }
 78175       },
 78176       "output": {
 78177         "resultWrapper": "GetSubscriptionAttributesResult",
 78178         "type": "structure",
 78179         "members": {
 78180           "Attributes": {
 78181             "type": "map",
 78182             "key": {},
 78183             "value": {}
 78184           }
 78185         }
 78186       }
 78187     },
 78188     "GetTopicAttributes": {
 78189       "input": {
 78190         "type": "structure",
 78191         "required": [
 78192           "TopicArn"
 78193         ],
 78194         "members": {
 78195           "TopicArn": {}
 78196         }
 78197       },
 78198       "output": {
 78199         "resultWrapper": "GetTopicAttributesResult",
 78200         "type": "structure",
 78201         "members": {
 78202           "Attributes": {
 78203             "type": "map",
 78204             "key": {},
 78205             "value": {}
 78206           }
 78207         }
 78208       }
 78209     },
 78210     "ListEndpointsByPlatformApplication": {
 78211       "input": {
 78212         "type": "structure",
 78213         "required": [
 78214           "PlatformApplicationArn"
 78215         ],
 78216         "members": {
 78217           "PlatformApplicationArn": {},
 78218           "NextToken": {}
 78219         }
 78220       },
 78221       "output": {
 78222         "resultWrapper": "ListEndpointsByPlatformApplicationResult",
 78223         "type": "structure",
 78224         "members": {
 78225           "Endpoints": {
 78226             "type": "list",
 78227             "member": {
 78228               "type": "structure",
 78229               "members": {
 78230                 "EndpointArn": {},
 78231                 "Attributes": {
 78232                   "shape": "Sj"
 78233                 }
 78234               }
 78235             }
 78236           },
 78237           "NextToken": {}
 78238         }
 78239       }
 78240     },
 78241     "ListPhoneNumbersOptedOut": {
 78242       "input": {
 78243         "type": "structure",
 78244         "members": {
 78245           "nextToken": {}
 78246         }
 78247       },
 78248       "output": {
 78249         "resultWrapper": "ListPhoneNumbersOptedOutResult",
 78250         "type": "structure",
 78251         "members": {
 78252           "phoneNumbers": {
 78253             "type": "list",
 78254             "member": {}
 78255           },
 78256           "nextToken": {}
 78257         }
 78258       }
 78259     },
 78260     "ListPlatformApplications": {
 78261       "input": {
 78262         "type": "structure",
 78263         "members": {
 78264           "NextToken": {}
 78265         }
 78266       },
 78267       "output": {
 78268         "resultWrapper": "ListPlatformApplicationsResult",
 78269         "type": "structure",
 78270         "members": {
 78271           "PlatformApplications": {
 78272             "type": "list",
 78273             "member": {
 78274               "type": "structure",
 78275               "members": {
 78276                 "PlatformApplicationArn": {},
 78277                 "Attributes": {
 78278                   "shape": "Sj"
 78279                 }
 78280               }
 78281             }
 78282           },
 78283           "NextToken": {}
 78284         }
 78285       }
 78286     },
 78287     "ListSubscriptions": {
 78288       "input": {
 78289         "type": "structure",
 78290         "members": {
 78291           "NextToken": {}
 78292         }
 78293       },
 78294       "output": {
 78295         "resultWrapper": "ListSubscriptionsResult",
 78296         "type": "structure",
 78297         "members": {
 78298           "Subscriptions": {
 78299             "shape": "S1n"
 78300           },
 78301           "NextToken": {}
 78302         }
 78303       }
 78304     },
 78305     "ListSubscriptionsByTopic": {
 78306       "input": {
 78307         "type": "structure",
 78308         "required": [
 78309           "TopicArn"
 78310         ],
 78311         "members": {
 78312           "TopicArn": {},
 78313           "NextToken": {}
 78314         }
 78315       },
 78316       "output": {
 78317         "resultWrapper": "ListSubscriptionsByTopicResult",
 78318         "type": "structure",
 78319         "members": {
 78320           "Subscriptions": {
 78321             "shape": "S1n"
 78322           },
 78323           "NextToken": {}
 78324         }
 78325       }
 78326     },
 78327     "ListTopics": {
 78328       "input": {
 78329         "type": "structure",
 78330         "members": {
 78331           "NextToken": {}
 78332         }
 78333       },
 78334       "output": {
 78335         "resultWrapper": "ListTopicsResult",
 78336         "type": "structure",
 78337         "members": {
 78338           "Topics": {
 78339             "type": "list",
 78340             "member": {
 78341               "type": "structure",
 78342               "members": {
 78343                 "TopicArn": {}
 78344               }
 78345             }
 78346           },
 78347           "NextToken": {}
 78348         }
 78349       }
 78350     },
 78351     "OptInPhoneNumber": {
 78352       "input": {
 78353         "type": "structure",
 78354         "required": [
 78355           "phoneNumber"
 78356         ],
 78357         "members": {
 78358           "phoneNumber": {}
 78359         }
 78360       },
 78361       "output": {
 78362         "resultWrapper": "OptInPhoneNumberResult",
 78363         "type": "structure",
 78364         "members": {}
 78365       }
 78366     },
 78367     "Publish": {
 78368       "input": {
 78369         "type": "structure",
 78370         "required": [
 78371           "Message"
 78372         ],
 78373         "members": {
 78374           "TopicArn": {},
 78375           "TargetArn": {},
 78376           "PhoneNumber": {},
 78377           "Message": {},
 78378           "Subject": {},
 78379           "MessageStructure": {},
 78380           "MessageAttributes": {
 78381             "type": "map",
 78382             "key": {
 78383               "locationName": "Name"
 78384             },
 78385             "value": {
 78386               "locationName": "Value",
 78387               "type": "structure",
 78388               "required": [
 78389                 "DataType"
 78390               ],
 78391               "members": {
 78392                 "DataType": {},
 78393                 "StringValue": {},
 78394                 "BinaryValue": {
 78395                   "type": "blob"
 78396                 }
 78397               }
 78398             }
 78399           }
 78400         }
 78401       },
 78402       "output": {
 78403         "resultWrapper": "PublishResult",
 78404         "type": "structure",
 78405         "members": {
 78406           "MessageId": {}
 78407         }
 78408       }
 78409     },
 78410     "RemovePermission": {
 78411       "input": {
 78412         "type": "structure",
 78413         "required": [
 78414           "TopicArn",
 78415           "Label"
 78416         ],
 78417         "members": {
 78418           "TopicArn": {},
 78419           "Label": {}
 78420         }
 78421       }
 78422     },
 78423     "SetEndpointAttributes": {
 78424       "input": {
 78425         "type": "structure",
 78426         "required": [
 78427           "EndpointArn",
 78428           "Attributes"
 78429         ],
 78430         "members": {
 78431           "EndpointArn": {},
 78432           "Attributes": {
 78433             "shape": "Sj"
 78434           }
 78435         }
 78436       }
 78437     },
 78438     "SetPlatformApplicationAttributes": {
 78439       "input": {
 78440         "type": "structure",
 78441         "required": [
 78442           "PlatformApplicationArn",
 78443           "Attributes"
 78444         ],
 78445         "members": {
 78446           "PlatformApplicationArn": {},
 78447           "Attributes": {
 78448             "shape": "Sj"
 78449           }
 78450         }
 78451       }
 78452     },
 78453     "SetSMSAttributes": {
 78454       "input": {
 78455         "type": "structure",
 78456         "required": [
 78457           "attributes"
 78458         ],
 78459         "members": {
 78460           "attributes": {
 78461             "shape": "Sj"
 78462           }
 78463         }
 78464       },
 78465       "output": {
 78466         "resultWrapper": "SetSMSAttributesResult",
 78467         "type": "structure",
 78468         "members": {}
 78469       }
 78470     },
 78471     "SetSubscriptionAttributes": {
 78472       "input": {
 78473         "type": "structure",
 78474         "required": [
 78475           "SubscriptionArn",
 78476           "AttributeName"
 78477         ],
 78478         "members": {
 78479           "SubscriptionArn": {},
 78480           "AttributeName": {},
 78481           "AttributeValue": {}
 78482         }
 78483       }
 78484     },
 78485     "SetTopicAttributes": {
 78486       "input": {
 78487         "type": "structure",
 78488         "required": [
 78489           "TopicArn",
 78490           "AttributeName"
 78491         ],
 78492         "members": {
 78493           "TopicArn": {},
 78494           "AttributeName": {},
 78495           "AttributeValue": {}
 78496         }
 78497       }
 78498     },
 78499     "Subscribe": {
 78500       "input": {
 78501         "type": "structure",
 78502         "required": [
 78503           "TopicArn",
 78504           "Protocol"
 78505         ],
 78506         "members": {
 78507           "TopicArn": {},
 78508           "Protocol": {},
 78509           "Endpoint": {}
 78510         }
 78511       },
 78512       "output": {
 78513         "resultWrapper": "SubscribeResult",
 78514         "type": "structure",
 78515         "members": {
 78516           "SubscriptionArn": {}
 78517         }
 78518       }
 78519     },
 78520     "Unsubscribe": {
 78521       "input": {
 78522         "type": "structure",
 78523         "required": [
 78524           "SubscriptionArn"
 78525         ],
 78526         "members": {
 78527           "SubscriptionArn": {}
 78528         }
 78529       }
 78530     }
 78531   },
 78532   "shapes": {
 78533     "Sj": {
 78534       "type": "map",
 78535       "key": {},
 78536       "value": {}
 78537     },
 78538     "S1n": {
 78539       "type": "list",
 78540       "member": {
 78541         "type": "structure",
 78542         "members": {
 78543           "SubscriptionArn": {},
 78544           "Owner": {},
 78545           "Protocol": {},
 78546           "Endpoint": {},
 78547           "TopicArn": {}
 78548         }
 78549       }
 78550     }
 78551   }
 78552 }
 78553 },{}],118:[function(require,module,exports){
 78554 module.exports={
 78555   "pagination": {
 78556     "ListEndpointsByPlatformApplication": {
 78557       "input_token": "NextToken",
 78558       "output_token": "NextToken",
 78559       "result_key": "Endpoints"
 78560     },
 78561     "ListPlatformApplications": {
 78562       "input_token": "NextToken",
 78563       "output_token": "NextToken",
 78564       "result_key": "PlatformApplications"
 78565     },
 78566     "ListSubscriptions": {
 78567       "input_token": "NextToken",
 78568       "output_token": "NextToken",
 78569       "result_key": "Subscriptions"
 78570     },
 78571     "ListSubscriptionsByTopic": {
 78572       "input_token": "NextToken",
 78573       "output_token": "NextToken",
 78574       "result_key": "Subscriptions"
 78575     },
 78576     "ListTopics": {
 78577       "input_token": "NextToken",
 78578       "output_token": "NextToken",
 78579       "result_key": "Topics"
 78580     }
 78581   }
 78582 }
 78583 
 78584 },{}],119:[function(require,module,exports){
 78585 module.exports={
 78586   "version": "2.0",
 78587   "metadata": {
 78588     "apiVersion": "2012-11-05",
 78589     "endpointPrefix": "sqs",
 78590     "protocol": "query",
 78591     "serviceAbbreviation": "Amazon SQS",
 78592     "serviceFullName": "Amazon Simple Queue Service",
 78593     "signatureVersion": "v4",
 78594     "xmlNamespace": "http://queue.amazonaws.com/doc/2012-11-05/"
 78595   },
 78596   "operations": {
 78597     "AddPermission": {
 78598       "input": {
 78599         "type": "structure",
 78600         "required": [
 78601           "QueueUrl",
 78602           "Label",
 78603           "AWSAccountIds",
 78604           "Actions"
 78605         ],
 78606         "members": {
 78607           "QueueUrl": {},
 78608           "Label": {},
 78609           "AWSAccountIds": {
 78610             "type": "list",
 78611             "member": {
 78612               "locationName": "AWSAccountId"
 78613             },
 78614             "flattened": true
 78615           },
 78616           "Actions": {
 78617             "type": "list",
 78618             "member": {
 78619               "locationName": "ActionName"
 78620             },
 78621             "flattened": true
 78622           }
 78623         }
 78624       }
 78625     },
 78626     "ChangeMessageVisibility": {
 78627       "input": {
 78628         "type": "structure",
 78629         "required": [
 78630           "QueueUrl",
 78631           "ReceiptHandle",
 78632           "VisibilityTimeout"
 78633         ],
 78634         "members": {
 78635           "QueueUrl": {},
 78636           "ReceiptHandle": {},
 78637           "VisibilityTimeout": {
 78638             "type": "integer"
 78639           }
 78640         }
 78641       }
 78642     },
 78643     "ChangeMessageVisibilityBatch": {
 78644       "input": {
 78645         "type": "structure",
 78646         "required": [
 78647           "QueueUrl",
 78648           "Entries"
 78649         ],
 78650         "members": {
 78651           "QueueUrl": {},
 78652           "Entries": {
 78653             "type": "list",
 78654             "member": {
 78655               "locationName": "ChangeMessageVisibilityBatchRequestEntry",
 78656               "type": "structure",
 78657               "required": [
 78658                 "Id",
 78659                 "ReceiptHandle"
 78660               ],
 78661               "members": {
 78662                 "Id": {},
 78663                 "ReceiptHandle": {},
 78664                 "VisibilityTimeout": {
 78665                   "type": "integer"
 78666                 }
 78667               }
 78668             },
 78669             "flattened": true
 78670           }
 78671         }
 78672       },
 78673       "output": {
 78674         "resultWrapper": "ChangeMessageVisibilityBatchResult",
 78675         "type": "structure",
 78676         "required": [
 78677           "Successful",
 78678           "Failed"
 78679         ],
 78680         "members": {
 78681           "Successful": {
 78682             "type": "list",
 78683             "member": {
 78684               "locationName": "ChangeMessageVisibilityBatchResultEntry",
 78685               "type": "structure",
 78686               "required": [
 78687                 "Id"
 78688               ],
 78689               "members": {
 78690                 "Id": {}
 78691               }
 78692             },
 78693             "flattened": true
 78694           },
 78695           "Failed": {
 78696             "shape": "Sd"
 78697           }
 78698         }
 78699       }
 78700     },
 78701     "CreateQueue": {
 78702       "input": {
 78703         "type": "structure",
 78704         "required": [
 78705           "QueueName"
 78706         ],
 78707         "members": {
 78708           "QueueName": {},
 78709           "Attributes": {
 78710             "shape": "Sh",
 78711             "locationName": "Attribute"
 78712           }
 78713         }
 78714       },
 78715       "output": {
 78716         "resultWrapper": "CreateQueueResult",
 78717         "type": "structure",
 78718         "members": {
 78719           "QueueUrl": {}
 78720         }
 78721       }
 78722     },
 78723     "DeleteMessage": {
 78724       "input": {
 78725         "type": "structure",
 78726         "required": [
 78727           "QueueUrl",
 78728           "ReceiptHandle"
 78729         ],
 78730         "members": {
 78731           "QueueUrl": {},
 78732           "ReceiptHandle": {}
 78733         }
 78734       }
 78735     },
 78736     "DeleteMessageBatch": {
 78737       "input": {
 78738         "type": "structure",
 78739         "required": [
 78740           "QueueUrl",
 78741           "Entries"
 78742         ],
 78743         "members": {
 78744           "QueueUrl": {},
 78745           "Entries": {
 78746             "type": "list",
 78747             "member": {
 78748               "locationName": "DeleteMessageBatchRequestEntry",
 78749               "type": "structure",
 78750               "required": [
 78751                 "Id",
 78752                 "ReceiptHandle"
 78753               ],
 78754               "members": {
 78755                 "Id": {},
 78756                 "ReceiptHandle": {}
 78757               }
 78758             },
 78759             "flattened": true
 78760           }
 78761         }
 78762       },
 78763       "output": {
 78764         "resultWrapper": "DeleteMessageBatchResult",
 78765         "type": "structure",
 78766         "required": [
 78767           "Successful",
 78768           "Failed"
 78769         ],
 78770         "members": {
 78771           "Successful": {
 78772             "type": "list",
 78773             "member": {
 78774               "locationName": "DeleteMessageBatchResultEntry",
 78775               "type": "structure",
 78776               "required": [
 78777                 "Id"
 78778               ],
 78779               "members": {
 78780                 "Id": {}
 78781               }
 78782             },
 78783             "flattened": true
 78784           },
 78785           "Failed": {
 78786             "shape": "Sd"
 78787           }
 78788         }
 78789       }
 78790     },
 78791     "DeleteQueue": {
 78792       "input": {
 78793         "type": "structure",
 78794         "required": [
 78795           "QueueUrl"
 78796         ],
 78797         "members": {
 78798           "QueueUrl": {}
 78799         }
 78800       }
 78801     },
 78802     "GetQueueAttributes": {
 78803       "input": {
 78804         "type": "structure",
 78805         "required": [
 78806           "QueueUrl"
 78807         ],
 78808         "members": {
 78809           "QueueUrl": {},
 78810           "AttributeNames": {
 78811             "shape": "St"
 78812           }
 78813         }
 78814       },
 78815       "output": {
 78816         "resultWrapper": "GetQueueAttributesResult",
 78817         "type": "structure",
 78818         "members": {
 78819           "Attributes": {
 78820             "shape": "Sh",
 78821             "locationName": "Attribute"
 78822           }
 78823         }
 78824       }
 78825     },
 78826     "GetQueueUrl": {
 78827       "input": {
 78828         "type": "structure",
 78829         "required": [
 78830           "QueueName"
 78831         ],
 78832         "members": {
 78833           "QueueName": {},
 78834           "QueueOwnerAWSAccountId": {}
 78835         }
 78836       },
 78837       "output": {
 78838         "resultWrapper": "GetQueueUrlResult",
 78839         "type": "structure",
 78840         "members": {
 78841           "QueueUrl": {}
 78842         }
 78843       }
 78844     },
 78845     "ListDeadLetterSourceQueues": {
 78846       "input": {
 78847         "type": "structure",
 78848         "required": [
 78849           "QueueUrl"
 78850         ],
 78851         "members": {
 78852           "QueueUrl": {}
 78853         }
 78854       },
 78855       "output": {
 78856         "resultWrapper": "ListDeadLetterSourceQueuesResult",
 78857         "type": "structure",
 78858         "required": [
 78859           "queueUrls"
 78860         ],
 78861         "members": {
 78862           "queueUrls": {
 78863             "shape": "Sz"
 78864           }
 78865         }
 78866       }
 78867     },
 78868     "ListQueues": {
 78869       "input": {
 78870         "type": "structure",
 78871         "members": {
 78872           "QueueNamePrefix": {}
 78873         }
 78874       },
 78875       "output": {
 78876         "resultWrapper": "ListQueuesResult",
 78877         "type": "structure",
 78878         "members": {
 78879           "QueueUrls": {
 78880             "shape": "Sz"
 78881           }
 78882         }
 78883       }
 78884     },
 78885     "PurgeQueue": {
 78886       "input": {
 78887         "type": "structure",
 78888         "required": [
 78889           "QueueUrl"
 78890         ],
 78891         "members": {
 78892           "QueueUrl": {}
 78893         }
 78894       }
 78895     },
 78896     "ReceiveMessage": {
 78897       "input": {
 78898         "type": "structure",
 78899         "required": [
 78900           "QueueUrl"
 78901         ],
 78902         "members": {
 78903           "QueueUrl": {},
 78904           "AttributeNames": {
 78905             "shape": "St"
 78906           },
 78907           "MessageAttributeNames": {
 78908             "type": "list",
 78909             "member": {
 78910               "locationName": "MessageAttributeName"
 78911             },
 78912             "flattened": true
 78913           },
 78914           "MaxNumberOfMessages": {
 78915             "type": "integer"
 78916           },
 78917           "VisibilityTimeout": {
 78918             "type": "integer"
 78919           },
 78920           "WaitTimeSeconds": {
 78921             "type": "integer"
 78922           },
 78923           "ReceiveRequestAttemptId": {}
 78924         }
 78925       },
 78926       "output": {
 78927         "resultWrapper": "ReceiveMessageResult",
 78928         "type": "structure",
 78929         "members": {
 78930           "Messages": {
 78931             "type": "list",
 78932             "member": {
 78933               "locationName": "Message",
 78934               "type": "structure",
 78935               "members": {
 78936                 "MessageId": {},
 78937                 "ReceiptHandle": {},
 78938                 "MD5OfBody": {},
 78939                 "Body": {},
 78940                 "Attributes": {
 78941                   "locationName": "Attribute",
 78942                   "type": "map",
 78943                   "key": {
 78944                     "locationName": "Name"
 78945                   },
 78946                   "value": {
 78947                     "locationName": "Value"
 78948                   },
 78949                   "flattened": true
 78950                 },
 78951                 "MD5OfMessageAttributes": {},
 78952                 "MessageAttributes": {
 78953                   "shape": "S1b",
 78954                   "locationName": "MessageAttribute"
 78955                 }
 78956               }
 78957             },
 78958             "flattened": true
 78959           }
 78960         }
 78961       }
 78962     },
 78963     "RemovePermission": {
 78964       "input": {
 78965         "type": "structure",
 78966         "required": [
 78967           "QueueUrl",
 78968           "Label"
 78969         ],
 78970         "members": {
 78971           "QueueUrl": {},
 78972           "Label": {}
 78973         }
 78974       }
 78975     },
 78976     "SendMessage": {
 78977       "input": {
 78978         "type": "structure",
 78979         "required": [
 78980           "QueueUrl",
 78981           "MessageBody"
 78982         ],
 78983         "members": {
 78984           "QueueUrl": {},
 78985           "MessageBody": {},
 78986           "DelaySeconds": {
 78987             "type": "integer"
 78988           },
 78989           "MessageAttributes": {
 78990             "shape": "S1b",
 78991             "locationName": "MessageAttribute"
 78992           },
 78993           "MessageDeduplicationId": {},
 78994           "MessageGroupId": {}
 78995         }
 78996       },
 78997       "output": {
 78998         "resultWrapper": "SendMessageResult",
 78999         "type": "structure",
 79000         "members": {
 79001           "MD5OfMessageBody": {},
 79002           "MD5OfMessageAttributes": {},
 79003           "MessageId": {},
 79004           "SequenceNumber": {}
 79005         }
 79006       }
 79007     },
 79008     "SendMessageBatch": {
 79009       "input": {
 79010         "type": "structure",
 79011         "required": [
 79012           "QueueUrl",
 79013           "Entries"
 79014         ],
 79015         "members": {
 79016           "QueueUrl": {},
 79017           "Entries": {
 79018             "type": "list",
 79019             "member": {
 79020               "locationName": "SendMessageBatchRequestEntry",
 79021               "type": "structure",
 79022               "required": [
 79023                 "Id",
 79024                 "MessageBody"
 79025               ],
 79026               "members": {
 79027                 "Id": {},
 79028                 "MessageBody": {},
 79029                 "DelaySeconds": {
 79030                   "type": "integer"
 79031                 },
 79032                 "MessageAttributes": {
 79033                   "shape": "S1b",
 79034                   "locationName": "MessageAttribute"
 79035                 },
 79036                 "MessageDeduplicationId": {},
 79037                 "MessageGroupId": {}
 79038               }
 79039             },
 79040             "flattened": true
 79041           }
 79042         }
 79043       },
 79044       "output": {
 79045         "resultWrapper": "SendMessageBatchResult",
 79046         "type": "structure",
 79047         "required": [
 79048           "Successful",
 79049           "Failed"
 79050         ],
 79051         "members": {
 79052           "Successful": {
 79053             "type": "list",
 79054             "member": {
 79055               "locationName": "SendMessageBatchResultEntry",
 79056               "type": "structure",
 79057               "required": [
 79058                 "Id",
 79059                 "MessageId",
 79060                 "MD5OfMessageBody"
 79061               ],
 79062               "members": {
 79063                 "Id": {},
 79064                 "MessageId": {},
 79065                 "MD5OfMessageBody": {},
 79066                 "MD5OfMessageAttributes": {},
 79067                 "SequenceNumber": {}
 79068               }
 79069             },
 79070             "flattened": true
 79071           },
 79072           "Failed": {
 79073             "shape": "Sd"
 79074           }
 79075         }
 79076       }
 79077     },
 79078     "SetQueueAttributes": {
 79079       "input": {
 79080         "type": "structure",
 79081         "required": [
 79082           "QueueUrl",
 79083           "Attributes"
 79084         ],
 79085         "members": {
 79086           "QueueUrl": {},
 79087           "Attributes": {
 79088             "shape": "Sh",
 79089             "locationName": "Attribute"
 79090           }
 79091         }
 79092       }
 79093     }
 79094   },
 79095   "shapes": {
 79096     "Sd": {
 79097       "type": "list",
 79098       "member": {
 79099         "locationName": "BatchResultErrorEntry",
 79100         "type": "structure",
 79101         "required": [
 79102           "Id",
 79103           "SenderFault",
 79104           "Code"
 79105         ],
 79106         "members": {
 79107           "Id": {},
 79108           "SenderFault": {
 79109             "type": "boolean"
 79110           },
 79111           "Code": {},
 79112           "Message": {}
 79113         }
 79114       },
 79115       "flattened": true
 79116     },
 79117     "Sh": {
 79118       "type": "map",
 79119       "key": {
 79120         "locationName": "Name"
 79121       },
 79122       "value": {
 79123         "locationName": "Value"
 79124       },
 79125       "flattened": true,
 79126       "locationName": "Attribute"
 79127     },
 79128     "St": {
 79129       "type": "list",
 79130       "member": {
 79131         "locationName": "AttributeName"
 79132       },
 79133       "flattened": true
 79134     },
 79135     "Sz": {
 79136       "type": "list",
 79137       "member": {
 79138         "locationName": "QueueUrl"
 79139       },
 79140       "flattened": true
 79141     },
 79142     "S1b": {
 79143       "type": "map",
 79144       "key": {
 79145         "locationName": "Name"
 79146       },
 79147       "value": {
 79148         "locationName": "Value",
 79149         "type": "structure",
 79150         "required": [
 79151           "DataType"
 79152         ],
 79153         "members": {
 79154           "StringValue": {},
 79155           "BinaryValue": {
 79156             "type": "blob"
 79157           },
 79158           "StringListValues": {
 79159             "flattened": true,
 79160             "locationName": "StringListValue",
 79161             "type": "list",
 79162             "member": {
 79163               "locationName": "StringListValue"
 79164             }
 79165           },
 79166           "BinaryListValues": {
 79167             "flattened": true,
 79168             "locationName": "BinaryListValue",
 79169             "type": "list",
 79170             "member": {
 79171               "locationName": "BinaryListValue",
 79172               "type": "blob"
 79173             }
 79174           },
 79175           "DataType": {}
 79176         }
 79177       },
 79178       "flattened": true
 79179     }
 79180   }
 79181 }
 79182 },{}],120:[function(require,module,exports){
 79183 module.exports={
 79184   "pagination": {
 79185     "ListQueues": {
 79186       "result_key": "QueueUrls"
 79187     }
 79188   }
 79189 }
 79190 
 79191 },{}],121:[function(require,module,exports){
 79192 module.exports={
 79193   "version": "2.0",
 79194   "metadata": {
 79195     "apiVersion": "2014-11-06",
 79196     "endpointPrefix": "ssm",
 79197     "jsonVersion": "1.1",
 79198     "protocol": "json",
 79199     "serviceAbbreviation": "Amazon SSM",
 79200     "serviceFullName": "Amazon Simple Systems Management Service",
 79201     "signatureVersion": "v4",
 79202     "targetPrefix": "AmazonSSM"
 79203   },
 79204   "operations": {
 79205     "AddTagsToResource": {
 79206       "input": {
 79207         "type": "structure",
 79208         "required": [
 79209           "ResourceType",
 79210           "ResourceId",
 79211           "Tags"
 79212         ],
 79213         "members": {
 79214           "ResourceType": {},
 79215           "ResourceId": {},
 79216           "Tags": {
 79217             "shape": "S4"
 79218           }
 79219         }
 79220       },
 79221       "output": {
 79222         "type": "structure",
 79223         "members": {}
 79224       }
 79225     },
 79226     "CancelCommand": {
 79227       "input": {
 79228         "type": "structure",
 79229         "required": [
 79230           "CommandId"
 79231         ],
 79232         "members": {
 79233           "CommandId": {},
 79234           "InstanceIds": {
 79235             "shape": "Sb"
 79236           }
 79237         }
 79238       },
 79239       "output": {
 79240         "type": "structure",
 79241         "members": {}
 79242       }
 79243     },
 79244     "CreateActivation": {
 79245       "input": {
 79246         "type": "structure",
 79247         "required": [
 79248           "IamRole"
 79249         ],
 79250         "members": {
 79251           "Description": {},
 79252           "DefaultInstanceName": {},
 79253           "IamRole": {},
 79254           "RegistrationLimit": {
 79255             "type": "integer"
 79256           },
 79257           "ExpirationDate": {
 79258             "type": "timestamp"
 79259           }
 79260         }
 79261       },
 79262       "output": {
 79263         "type": "structure",
 79264         "members": {
 79265           "ActivationId": {},
 79266           "ActivationCode": {}
 79267         }
 79268       }
 79269     },
 79270     "CreateAssociation": {
 79271       "input": {
 79272         "type": "structure",
 79273         "required": [
 79274           "Name",
 79275           "InstanceId"
 79276         ],
 79277         "members": {
 79278           "Name": {},
 79279           "InstanceId": {},
 79280           "Parameters": {
 79281             "shape": "Sp"
 79282           }
 79283         }
 79284       },
 79285       "output": {
 79286         "type": "structure",
 79287         "members": {
 79288           "AssociationDescription": {
 79289             "shape": "Su"
 79290           }
 79291         }
 79292       }
 79293     },
 79294     "CreateAssociationBatch": {
 79295       "input": {
 79296         "type": "structure",
 79297         "required": [
 79298           "Entries"
 79299         ],
 79300         "members": {
 79301           "Entries": {
 79302             "type": "list",
 79303             "member": {
 79304               "shape": "S12",
 79305               "locationName": "entries"
 79306             }
 79307           }
 79308         }
 79309       },
 79310       "output": {
 79311         "type": "structure",
 79312         "members": {
 79313           "Successful": {
 79314             "type": "list",
 79315             "member": {
 79316               "shape": "Su",
 79317               "locationName": "AssociationDescription"
 79318             }
 79319           },
 79320           "Failed": {
 79321             "type": "list",
 79322             "member": {
 79323               "locationName": "FailedCreateAssociationEntry",
 79324               "type": "structure",
 79325               "members": {
 79326                 "Entry": {
 79327                   "shape": "S12"
 79328                 },
 79329                 "Message": {},
 79330                 "Fault": {}
 79331               }
 79332             }
 79333           }
 79334         }
 79335       }
 79336     },
 79337     "CreateDocument": {
 79338       "input": {
 79339         "type": "structure",
 79340         "required": [
 79341           "Content",
 79342           "Name"
 79343         ],
 79344         "members": {
 79345           "Content": {},
 79346           "Name": {}
 79347         }
 79348       },
 79349       "output": {
 79350         "type": "structure",
 79351         "members": {
 79352           "DocumentDescription": {
 79353             "shape": "S1c"
 79354           }
 79355         }
 79356       }
 79357     },
 79358     "DeleteActivation": {
 79359       "input": {
 79360         "type": "structure",
 79361         "required": [
 79362           "ActivationId"
 79363         ],
 79364         "members": {
 79365           "ActivationId": {}
 79366         }
 79367       },
 79368       "output": {
 79369         "type": "structure",
 79370         "members": {}
 79371       }
 79372     },
 79373     "DeleteAssociation": {
 79374       "input": {
 79375         "type": "structure",
 79376         "required": [
 79377           "Name",
 79378           "InstanceId"
 79379         ],
 79380         "members": {
 79381           "Name": {},
 79382           "InstanceId": {}
 79383         }
 79384       },
 79385       "output": {
 79386         "type": "structure",
 79387         "members": {}
 79388       }
 79389     },
 79390     "DeleteDocument": {
 79391       "input": {
 79392         "type": "structure",
 79393         "required": [
 79394           "Name"
 79395         ],
 79396         "members": {
 79397           "Name": {}
 79398         }
 79399       },
 79400       "output": {
 79401         "type": "structure",
 79402         "members": {}
 79403       }
 79404     },
 79405     "DeregisterManagedInstance": {
 79406       "input": {
 79407         "type": "structure",
 79408         "required": [
 79409           "InstanceId"
 79410         ],
 79411         "members": {
 79412           "InstanceId": {}
 79413         }
 79414       },
 79415       "output": {
 79416         "type": "structure",
 79417         "members": {}
 79418       }
 79419     },
 79420     "DescribeActivations": {
 79421       "input": {
 79422         "type": "structure",
 79423         "members": {
 79424           "Filters": {
 79425             "type": "list",
 79426             "member": {
 79427               "type": "structure",
 79428               "members": {
 79429                 "FilterKey": {},
 79430                 "FilterValues": {
 79431                   "type": "list",
 79432                   "member": {}
 79433                 }
 79434               }
 79435             }
 79436           },
 79437           "MaxResults": {
 79438             "type": "integer"
 79439           },
 79440           "NextToken": {}
 79441         }
 79442       },
 79443       "output": {
 79444         "type": "structure",
 79445         "members": {
 79446           "ActivationList": {
 79447             "type": "list",
 79448             "member": {
 79449               "type": "structure",
 79450               "members": {
 79451                 "ActivationId": {},
 79452                 "Description": {},
 79453                 "DefaultInstanceName": {},
 79454                 "IamRole": {},
 79455                 "RegistrationLimit": {
 79456                   "type": "integer"
 79457                 },
 79458                 "RegistrationsCount": {
 79459                   "type": "integer"
 79460                 },
 79461                 "ExpirationDate": {
 79462                   "type": "timestamp"
 79463                 },
 79464                 "Expired": {
 79465                   "type": "boolean"
 79466                 },
 79467                 "CreatedDate": {
 79468                   "type": "timestamp"
 79469                 }
 79470               }
 79471             }
 79472           },
 79473           "NextToken": {}
 79474         }
 79475       }
 79476     },
 79477     "DescribeAssociation": {
 79478       "input": {
 79479         "type": "structure",
 79480         "required": [
 79481           "Name",
 79482           "InstanceId"
 79483         ],
 79484         "members": {
 79485           "Name": {},
 79486           "InstanceId": {}
 79487         }
 79488       },
 79489       "output": {
 79490         "type": "structure",
 79491         "members": {
 79492           "AssociationDescription": {
 79493             "shape": "Su"
 79494           }
 79495         }
 79496       }
 79497     },
 79498     "DescribeDocument": {
 79499       "input": {
 79500         "type": "structure",
 79501         "required": [
 79502           "Name"
 79503         ],
 79504         "members": {
 79505           "Name": {}
 79506         }
 79507       },
 79508       "output": {
 79509         "type": "structure",
 79510         "members": {
 79511           "Document": {
 79512             "shape": "S1c"
 79513           }
 79514         }
 79515       }
 79516     },
 79517     "DescribeDocumentPermission": {
 79518       "input": {
 79519         "type": "structure",
 79520         "required": [
 79521           "Name",
 79522           "PermissionType"
 79523         ],
 79524         "members": {
 79525           "Name": {},
 79526           "PermissionType": {}
 79527         }
 79528       },
 79529       "output": {
 79530         "type": "structure",
 79531         "members": {
 79532           "AccountIds": {
 79533             "shape": "S2m"
 79534           }
 79535         }
 79536       }
 79537     },
 79538     "DescribeInstanceInformation": {
 79539       "input": {
 79540         "type": "structure",
 79541         "members": {
 79542           "InstanceInformationFilterList": {
 79543             "type": "list",
 79544             "member": {
 79545               "locationName": "InstanceInformationFilter",
 79546               "type": "structure",
 79547               "required": [
 79548                 "key",
 79549                 "valueSet"
 79550               ],
 79551               "members": {
 79552                 "key": {},
 79553                 "valueSet": {
 79554                   "type": "list",
 79555                   "member": {
 79556                     "locationName": "InstanceInformationFilterValue"
 79557                   }
 79558                 }
 79559               }
 79560             }
 79561           },
 79562           "MaxResults": {
 79563             "type": "integer"
 79564           },
 79565           "NextToken": {}
 79566         }
 79567       },
 79568       "output": {
 79569         "type": "structure",
 79570         "members": {
 79571           "InstanceInformationList": {
 79572             "type": "list",
 79573             "member": {
 79574               "locationName": "InstanceInformation",
 79575               "type": "structure",
 79576               "members": {
 79577                 "InstanceId": {},
 79578                 "PingStatus": {},
 79579                 "LastPingDateTime": {
 79580                   "type": "timestamp"
 79581                 },
 79582                 "AgentVersion": {},
 79583                 "IsLatestVersion": {
 79584                   "type": "boolean"
 79585                 },
 79586                 "PlatformType": {},
 79587                 "PlatformName": {},
 79588                 "PlatformVersion": {},
 79589                 "ActivationId": {},
 79590                 "IamRole": {},
 79591                 "RegistrationDate": {
 79592                   "type": "timestamp"
 79593                 },
 79594                 "ResourceType": {},
 79595                 "Name": {},
 79596                 "IPAddress": {},
 79597                 "ComputerName": {}
 79598               }
 79599             }
 79600           },
 79601           "NextToken": {}
 79602         }
 79603       }
 79604     },
 79605     "GetDocument": {
 79606       "input": {
 79607         "type": "structure",
 79608         "required": [
 79609           "Name"
 79610         ],
 79611         "members": {
 79612           "Name": {}
 79613         }
 79614       },
 79615       "output": {
 79616         "type": "structure",
 79617         "members": {
 79618           "Name": {},
 79619           "Content": {}
 79620         }
 79621       }
 79622     },
 79623     "ListAssociations": {
 79624       "input": {
 79625         "type": "structure",
 79626         "required": [
 79627           "AssociationFilterList"
 79628         ],
 79629         "members": {
 79630           "AssociationFilterList": {
 79631             "type": "list",
 79632             "member": {
 79633               "locationName": "AssociationFilter",
 79634               "type": "structure",
 79635               "required": [
 79636                 "key",
 79637                 "value"
 79638               ],
 79639               "members": {
 79640                 "key": {},
 79641                 "value": {}
 79642               }
 79643             }
 79644           },
 79645           "MaxResults": {
 79646             "type": "integer"
 79647           },
 79648           "NextToken": {}
 79649         }
 79650       },
 79651       "output": {
 79652         "type": "structure",
 79653         "members": {
 79654           "Associations": {
 79655             "type": "list",
 79656             "member": {
 79657               "locationName": "Association",
 79658               "type": "structure",
 79659               "members": {
 79660                 "Name": {},
 79661                 "InstanceId": {}
 79662               }
 79663             }
 79664           },
 79665           "NextToken": {}
 79666         }
 79667       }
 79668     },
 79669     "ListCommandInvocations": {
 79670       "input": {
 79671         "type": "structure",
 79672         "members": {
 79673           "CommandId": {},
 79674           "InstanceId": {},
 79675           "MaxResults": {
 79676             "type": "integer"
 79677           },
 79678           "NextToken": {},
 79679           "Filters": {
 79680             "shape": "S3f"
 79681           },
 79682           "Details": {
 79683             "type": "boolean"
 79684           }
 79685         }
 79686       },
 79687       "output": {
 79688         "type": "structure",
 79689         "members": {
 79690           "CommandInvocations": {
 79691             "type": "list",
 79692             "member": {
 79693               "type": "structure",
 79694               "members": {
 79695                 "CommandId": {},
 79696                 "InstanceId": {},
 79697                 "Comment": {},
 79698                 "DocumentName": {},
 79699                 "RequestedDateTime": {
 79700                   "type": "timestamp"
 79701                 },
 79702                 "Status": {},
 79703                 "TraceOutput": {},
 79704                 "CommandPlugins": {
 79705                   "type": "list",
 79706                   "member": {
 79707                     "type": "structure",
 79708                     "members": {
 79709                       "Name": {},
 79710                       "Status": {},
 79711                       "ResponseCode": {
 79712                         "type": "integer"
 79713                       },
 79714                       "ResponseStartDateTime": {
 79715                         "type": "timestamp"
 79716                       },
 79717                       "ResponseFinishDateTime": {
 79718                         "type": "timestamp"
 79719                       },
 79720                       "Output": {},
 79721                       "OutputS3BucketName": {},
 79722                       "OutputS3KeyPrefix": {}
 79723                     }
 79724                   }
 79725                 },
 79726                 "ServiceRole": {},
 79727                 "NotificationConfig": {
 79728                   "shape": "S3y"
 79729                 }
 79730               }
 79731             }
 79732           },
 79733           "NextToken": {}
 79734         }
 79735       }
 79736     },
 79737     "ListCommands": {
 79738       "input": {
 79739         "type": "structure",
 79740         "members": {
 79741           "CommandId": {},
 79742           "InstanceId": {},
 79743           "MaxResults": {
 79744             "type": "integer"
 79745           },
 79746           "NextToken": {},
 79747           "Filters": {
 79748             "shape": "S3f"
 79749           }
 79750         }
 79751       },
 79752       "output": {
 79753         "type": "structure",
 79754         "members": {
 79755           "Commands": {
 79756             "type": "list",
 79757             "member": {
 79758               "shape": "S46"
 79759             }
 79760           },
 79761           "NextToken": {}
 79762         }
 79763       }
 79764     },
 79765     "ListDocuments": {
 79766       "input": {
 79767         "type": "structure",
 79768         "members": {
 79769           "DocumentFilterList": {
 79770             "type": "list",
 79771             "member": {
 79772               "locationName": "DocumentFilter",
 79773               "type": "structure",
 79774               "required": [
 79775                 "key",
 79776                 "value"
 79777               ],
 79778               "members": {
 79779                 "key": {},
 79780                 "value": {}
 79781               }
 79782             }
 79783           },
 79784           "MaxResults": {
 79785             "type": "integer"
 79786           },
 79787           "NextToken": {}
 79788         }
 79789       },
 79790       "output": {
 79791         "type": "structure",
 79792         "members": {
 79793           "DocumentIdentifiers": {
 79794             "type": "list",
 79795             "member": {
 79796               "locationName": "DocumentIdentifier",
 79797               "type": "structure",
 79798               "members": {
 79799                 "Name": {},
 79800                 "Owner": {},
 79801                 "PlatformTypes": {
 79802                   "shape": "S1q"
 79803                 }
 79804               }
 79805             }
 79806           },
 79807           "NextToken": {}
 79808         }
 79809       }
 79810     },
 79811     "ListTagsForResource": {
 79812       "input": {
 79813         "type": "structure",
 79814         "required": [
 79815           "ResourceType",
 79816           "ResourceId"
 79817         ],
 79818         "members": {
 79819           "ResourceType": {},
 79820           "ResourceId": {}
 79821         }
 79822       },
 79823       "output": {
 79824         "type": "structure",
 79825         "members": {
 79826           "TagList": {
 79827             "shape": "S4"
 79828           }
 79829         }
 79830       }
 79831     },
 79832     "ModifyDocumentPermission": {
 79833       "input": {
 79834         "type": "structure",
 79835         "required": [
 79836           "Name",
 79837           "PermissionType"
 79838         ],
 79839         "members": {
 79840           "Name": {},
 79841           "PermissionType": {},
 79842           "AccountIdsToAdd": {
 79843             "shape": "S2m"
 79844           },
 79845           "AccountIdsToRemove": {
 79846             "shape": "S2m"
 79847           }
 79848         }
 79849       },
 79850       "output": {
 79851         "type": "structure",
 79852         "members": {}
 79853       }
 79854     },
 79855     "RemoveTagsFromResource": {
 79856       "input": {
 79857         "type": "structure",
 79858         "required": [
 79859           "ResourceType",
 79860           "ResourceId",
 79861           "TagKeys"
 79862         ],
 79863         "members": {
 79864           "ResourceType": {},
 79865           "ResourceId": {},
 79866           "TagKeys": {
 79867             "type": "list",
 79868             "member": {}
 79869           }
 79870         }
 79871       },
 79872       "output": {
 79873         "type": "structure",
 79874         "members": {}
 79875       }
 79876     },
 79877     "SendCommand": {
 79878       "input": {
 79879         "type": "structure",
 79880         "required": [
 79881           "InstanceIds",
 79882           "DocumentName"
 79883         ],
 79884         "members": {
 79885           "InstanceIds": {
 79886             "shape": "Sb"
 79887           },
 79888           "DocumentName": {},
 79889           "DocumentHash": {},
 79890           "DocumentHashType": {},
 79891           "TimeoutSeconds": {
 79892             "type": "integer"
 79893           },
 79894           "Comment": {},
 79895           "Parameters": {
 79896             "shape": "Sp"
 79897           },
 79898           "OutputS3BucketName": {},
 79899           "OutputS3KeyPrefix": {},
 79900           "ServiceRoleArn": {},
 79901           "NotificationConfig": {
 79902             "shape": "S3y"
 79903           }
 79904         }
 79905       },
 79906       "output": {
 79907         "type": "structure",
 79908         "members": {
 79909           "Command": {
 79910             "shape": "S46"
 79911           }
 79912         }
 79913       }
 79914     },
 79915     "UpdateAssociationStatus": {
 79916       "input": {
 79917         "type": "structure",
 79918         "required": [
 79919           "Name",
 79920           "InstanceId",
 79921           "AssociationStatus"
 79922         ],
 79923         "members": {
 79924           "Name": {},
 79925           "InstanceId": {},
 79926           "AssociationStatus": {
 79927             "shape": "Sw"
 79928           }
 79929         }
 79930       },
 79931       "output": {
 79932         "type": "structure",
 79933         "members": {
 79934           "AssociationDescription": {
 79935             "shape": "Su"
 79936           }
 79937         }
 79938       }
 79939     },
 79940     "UpdateManagedInstanceRole": {
 79941       "input": {
 79942         "type": "structure",
 79943         "required": [
 79944           "InstanceId",
 79945           "IamRole"
 79946         ],
 79947         "members": {
 79948           "InstanceId": {},
 79949           "IamRole": {}
 79950         }
 79951       },
 79952       "output": {
 79953         "type": "structure",
 79954         "members": {}
 79955       }
 79956     }
 79957   },
 79958   "shapes": {
 79959     "S4": {
 79960       "type": "list",
 79961       "member": {
 79962         "type": "structure",
 79963         "required": [
 79964           "Key",
 79965           "Value"
 79966         ],
 79967         "members": {
 79968           "Key": {},
 79969           "Value": {}
 79970         }
 79971       }
 79972     },
 79973     "Sb": {
 79974       "type": "list",
 79975       "member": {}
 79976     },
 79977     "Sp": {
 79978       "type": "map",
 79979       "key": {},
 79980       "value": {
 79981         "type": "list",
 79982         "member": {}
 79983       }
 79984     },
 79985     "Su": {
 79986       "type": "structure",
 79987       "members": {
 79988         "Name": {},
 79989         "InstanceId": {},
 79990         "Date": {
 79991           "type": "timestamp"
 79992         },
 79993         "Status": {
 79994           "shape": "Sw"
 79995         },
 79996         "Parameters": {
 79997           "shape": "Sp"
 79998         }
 79999       }
 80000     },
 80001     "Sw": {
 80002       "type": "structure",
 80003       "required": [
 80004         "Date",
 80005         "Name",
 80006         "Message"
 80007       ],
 80008       "members": {
 80009         "Date": {
 80010           "type": "timestamp"
 80011         },
 80012         "Name": {},
 80013         "Message": {},
 80014         "AdditionalInfo": {}
 80015       }
 80016     },
 80017     "S12": {
 80018       "type": "structure",
 80019       "members": {
 80020         "Name": {},
 80021         "InstanceId": {},
 80022         "Parameters": {
 80023           "shape": "Sp"
 80024         }
 80025       }
 80026     },
 80027     "S1c": {
 80028       "type": "structure",
 80029       "members": {
 80030         "Sha1": {},
 80031         "Hash": {},
 80032         "HashType": {},
 80033         "Name": {},
 80034         "Owner": {},
 80035         "CreatedDate": {
 80036           "type": "timestamp"
 80037         },
 80038         "Status": {},
 80039         "Description": {},
 80040         "Parameters": {
 80041           "type": "list",
 80042           "member": {
 80043             "locationName": "DocumentParameter",
 80044             "type": "structure",
 80045             "members": {
 80046               "Name": {},
 80047               "Type": {},
 80048               "Description": {},
 80049               "DefaultValue": {}
 80050             }
 80051           }
 80052         },
 80053         "PlatformTypes": {
 80054           "shape": "S1q"
 80055         }
 80056       }
 80057     },
 80058     "S1q": {
 80059       "type": "list",
 80060       "member": {
 80061         "locationName": "PlatformType"
 80062       }
 80063     },
 80064     "S2m": {
 80065       "type": "list",
 80066       "member": {
 80067         "locationName": "AccountId"
 80068       }
 80069     },
 80070     "S3f": {
 80071       "type": "list",
 80072       "member": {
 80073         "type": "structure",
 80074         "required": [
 80075           "key",
 80076           "value"
 80077         ],
 80078         "members": {
 80079           "key": {},
 80080           "value": {}
 80081         }
 80082       }
 80083     },
 80084     "S3y": {
 80085       "type": "structure",
 80086       "members": {
 80087         "NotificationArn": {},
 80088         "NotificationEvents": {
 80089           "type": "list",
 80090           "member": {}
 80091         },
 80092         "NotificationType": {}
 80093       }
 80094     },
 80095     "S46": {
 80096       "type": "structure",
 80097       "members": {
 80098         "CommandId": {},
 80099         "DocumentName": {},
 80100         "Comment": {},
 80101         "ExpiresAfter": {
 80102           "type": "timestamp"
 80103         },
 80104         "Parameters": {
 80105           "shape": "Sp"
 80106         },
 80107         "InstanceIds": {
 80108           "shape": "Sb"
 80109         },
 80110         "RequestedDateTime": {
 80111           "type": "timestamp"
 80112         },
 80113         "Status": {},
 80114         "OutputS3BucketName": {},
 80115         "OutputS3KeyPrefix": {},
 80116         "ServiceRole": {},
 80117         "NotificationConfig": {
 80118           "shape": "S3y"
 80119         }
 80120       }
 80121     }
 80122   }
 80123 }
 80124 },{}],122:[function(require,module,exports){
 80125 module.exports={
 80126   "pagination": {
 80127     "DescribeInstanceInformation": {
 80128       "input_token": "NextToken",
 80129       "output_token": "NextToken",
 80130       "limit_key": "MaxResults",
 80131       "result_key": "InstanceInformationList"
 80132     },
 80133     "ListAssociations": {
 80134       "input_token": "NextToken",
 80135       "output_token": "NextToken",
 80136       "limit_key": "MaxResults",
 80137       "result_key": "Associations"
 80138     },
 80139     "ListCommandInvocations": {
 80140       "input_token": "NextToken",
 80141       "output_token": "NextToken",
 80142       "limit_key": "MaxResults",
 80143       "result_key": "CommandInvocations"
 80144     },
 80145     "ListCommands": {
 80146       "input_token": "NextToken",
 80147       "output_token": "NextToken",
 80148       "limit_key": "MaxResults",
 80149       "result_key": "Commands"
 80150     },
 80151     "ListDocuments": {
 80152       "input_token": "NextToken",
 80153       "output_token": "NextToken",
 80154       "limit_key": "MaxResults",
 80155       "result_key": "DocumentIdentifiers"
 80156     },
 80157     "DescribeActivations": {
 80158       "input_token": "NextToken",
 80159       "output_token": "NextToken",
 80160       "limit_key": "MaxResults",
 80161       "result_key": "ActivationList"
 80162     }
 80163   }
 80164 }
 80165 
 80166 },{}],123:[function(require,module,exports){
 80167 module.exports={
 80168   "version": "2.0",
 80169   "metadata": {
 80170     "apiVersion": "2013-06-30",
 80171     "endpointPrefix": "storagegateway",
 80172     "jsonVersion": "1.1",
 80173     "protocol": "json",
 80174     "serviceFullName": "AWS Storage Gateway",
 80175     "signatureVersion": "v4",
 80176     "targetPrefix": "StorageGateway_20130630"
 80177   },
 80178   "operations": {
 80179     "ActivateGateway": {
 80180       "input": {
 80181         "type": "structure",
 80182         "required": [
 80183           "ActivationKey",
 80184           "GatewayName",
 80185           "GatewayTimezone",
 80186           "GatewayRegion"
 80187         ],
 80188         "members": {
 80189           "ActivationKey": {},
 80190           "GatewayName": {},
 80191           "GatewayTimezone": {},
 80192           "GatewayRegion": {},
 80193           "GatewayType": {},
 80194           "TapeDriveType": {},
 80195           "MediumChangerType": {}
 80196         }
 80197       },
 80198       "output": {
 80199         "type": "structure",
 80200         "members": {
 80201           "GatewayARN": {}
 80202         }
 80203       }
 80204     },
 80205     "AddCache": {
 80206       "input": {
 80207         "type": "structure",
 80208         "required": [
 80209           "GatewayARN",
 80210           "DiskIds"
 80211         ],
 80212         "members": {
 80213           "GatewayARN": {},
 80214           "DiskIds": {
 80215             "shape": "Sc"
 80216           }
 80217         }
 80218       },
 80219       "output": {
 80220         "type": "structure",
 80221         "members": {
 80222           "GatewayARN": {}
 80223         }
 80224       }
 80225     },
 80226     "AddTagsToResource": {
 80227       "input": {
 80228         "type": "structure",
 80229         "required": [
 80230           "ResourceARN",
 80231           "Tags"
 80232         ],
 80233         "members": {
 80234           "ResourceARN": {},
 80235           "Tags": {
 80236             "shape": "Sh"
 80237           }
 80238         }
 80239       },
 80240       "output": {
 80241         "type": "structure",
 80242         "members": {
 80243           "ResourceARN": {}
 80244         }
 80245       }
 80246     },
 80247     "AddUploadBuffer": {
 80248       "input": {
 80249         "type": "structure",
 80250         "required": [
 80251           "GatewayARN",
 80252           "DiskIds"
 80253         ],
 80254         "members": {
 80255           "GatewayARN": {},
 80256           "DiskIds": {
 80257             "shape": "Sc"
 80258           }
 80259         }
 80260       },
 80261       "output": {
 80262         "type": "structure",
 80263         "members": {
 80264           "GatewayARN": {}
 80265         }
 80266       }
 80267     },
 80268     "AddWorkingStorage": {
 80269       "input": {
 80270         "type": "structure",
 80271         "required": [
 80272           "GatewayARN",
 80273           "DiskIds"
 80274         ],
 80275         "members": {
 80276           "GatewayARN": {},
 80277           "DiskIds": {
 80278             "shape": "Sc"
 80279           }
 80280         }
 80281       },
 80282       "output": {
 80283         "type": "structure",
 80284         "members": {
 80285           "GatewayARN": {}
 80286         }
 80287       }
 80288     },
 80289     "CancelArchival": {
 80290       "input": {
 80291         "type": "structure",
 80292         "required": [
 80293           "GatewayARN",
 80294           "TapeARN"
 80295         ],
 80296         "members": {
 80297           "GatewayARN": {},
 80298           "TapeARN": {}
 80299         }
 80300       },
 80301       "output": {
 80302         "type": "structure",
 80303         "members": {
 80304           "TapeARN": {}
 80305         }
 80306       }
 80307     },
 80308     "CancelRetrieval": {
 80309       "input": {
 80310         "type": "structure",
 80311         "required": [
 80312           "GatewayARN",
 80313           "TapeARN"
 80314         ],
 80315         "members": {
 80316           "GatewayARN": {},
 80317           "TapeARN": {}
 80318         }
 80319       },
 80320       "output": {
 80321         "type": "structure",
 80322         "members": {
 80323           "TapeARN": {}
 80324         }
 80325       }
 80326     },
 80327     "CreateCachediSCSIVolume": {
 80328       "input": {
 80329         "type": "structure",
 80330         "required": [
 80331           "GatewayARN",
 80332           "VolumeSizeInBytes",
 80333           "TargetName",
 80334           "NetworkInterfaceId",
 80335           "ClientToken"
 80336         ],
 80337         "members": {
 80338           "GatewayARN": {},
 80339           "VolumeSizeInBytes": {
 80340             "type": "long"
 80341           },
 80342           "SnapshotId": {},
 80343           "TargetName": {},
 80344           "NetworkInterfaceId": {},
 80345           "ClientToken": {}
 80346         }
 80347       },
 80348       "output": {
 80349         "type": "structure",
 80350         "members": {
 80351           "VolumeARN": {},
 80352           "TargetARN": {}
 80353         }
 80354       }
 80355     },
 80356     "CreateSnapshot": {
 80357       "input": {
 80358         "type": "structure",
 80359         "required": [
 80360           "VolumeARN",
 80361           "SnapshotDescription"
 80362         ],
 80363         "members": {
 80364           "VolumeARN": {},
 80365           "SnapshotDescription": {}
 80366         }
 80367       },
 80368       "output": {
 80369         "type": "structure",
 80370         "members": {
 80371           "VolumeARN": {},
 80372           "SnapshotId": {}
 80373         }
 80374       }
 80375     },
 80376     "CreateSnapshotFromVolumeRecoveryPoint": {
 80377       "input": {
 80378         "type": "structure",
 80379         "required": [
 80380           "VolumeARN",
 80381           "SnapshotDescription"
 80382         ],
 80383         "members": {
 80384           "VolumeARN": {},
 80385           "SnapshotDescription": {}
 80386         }
 80387       },
 80388       "output": {
 80389         "type": "structure",
 80390         "members": {
 80391           "SnapshotId": {},
 80392           "VolumeARN": {},
 80393           "VolumeRecoveryPointTime": {}
 80394         }
 80395       }
 80396     },
 80397     "CreateStorediSCSIVolume": {
 80398       "input": {
 80399         "type": "structure",
 80400         "required": [
 80401           "GatewayARN",
 80402           "DiskId",
 80403           "PreserveExistingData",
 80404           "TargetName",
 80405           "NetworkInterfaceId"
 80406         ],
 80407         "members": {
 80408           "GatewayARN": {},
 80409           "DiskId": {},
 80410           "SnapshotId": {},
 80411           "PreserveExistingData": {
 80412             "type": "boolean"
 80413           },
 80414           "TargetName": {},
 80415           "NetworkInterfaceId": {}
 80416         }
 80417       },
 80418       "output": {
 80419         "type": "structure",
 80420         "members": {
 80421           "VolumeARN": {},
 80422           "VolumeSizeInBytes": {
 80423             "type": "long"
 80424           },
 80425           "TargetARN": {}
 80426         }
 80427       }
 80428     },
 80429     "CreateTapeWithBarcode": {
 80430       "input": {
 80431         "type": "structure",
 80432         "required": [
 80433           "GatewayARN",
 80434           "TapeSizeInBytes",
 80435           "TapeBarcode"
 80436         ],
 80437         "members": {
 80438           "GatewayARN": {},
 80439           "TapeSizeInBytes": {
 80440             "type": "long"
 80441           },
 80442           "TapeBarcode": {}
 80443         }
 80444       },
 80445       "output": {
 80446         "type": "structure",
 80447         "members": {
 80448           "TapeARN": {}
 80449         }
 80450       }
 80451     },
 80452     "CreateTapes": {
 80453       "input": {
 80454         "type": "structure",
 80455         "required": [
 80456           "GatewayARN",
 80457           "TapeSizeInBytes",
 80458           "ClientToken",
 80459           "NumTapesToCreate",
 80460           "TapeBarcodePrefix"
 80461         ],
 80462         "members": {
 80463           "GatewayARN": {},
 80464           "TapeSizeInBytes": {
 80465             "type": "long"
 80466           },
 80467           "ClientToken": {},
 80468           "NumTapesToCreate": {
 80469             "type": "integer"
 80470           },
 80471           "TapeBarcodePrefix": {}
 80472         }
 80473       },
 80474       "output": {
 80475         "type": "structure",
 80476         "members": {
 80477           "TapeARNs": {
 80478             "shape": "S1l"
 80479           }
 80480         }
 80481       }
 80482     },
 80483     "DeleteBandwidthRateLimit": {
 80484       "input": {
 80485         "type": "structure",
 80486         "required": [
 80487           "GatewayARN",
 80488           "BandwidthType"
 80489         ],
 80490         "members": {
 80491           "GatewayARN": {},
 80492           "BandwidthType": {}
 80493         }
 80494       },
 80495       "output": {
 80496         "type": "structure",
 80497         "members": {
 80498           "GatewayARN": {}
 80499         }
 80500       }
 80501     },
 80502     "DeleteChapCredentials": {
 80503       "input": {
 80504         "type": "structure",
 80505         "required": [
 80506           "TargetARN",
 80507           "InitiatorName"
 80508         ],
 80509         "members": {
 80510           "TargetARN": {},
 80511           "InitiatorName": {}
 80512         }
 80513       },
 80514       "output": {
 80515         "type": "structure",
 80516         "members": {
 80517           "TargetARN": {},
 80518           "InitiatorName": {}
 80519         }
 80520       }
 80521     },
 80522     "DeleteGateway": {
 80523       "input": {
 80524         "type": "structure",
 80525         "required": [
 80526           "GatewayARN"
 80527         ],
 80528         "members": {
 80529           "GatewayARN": {}
 80530         }
 80531       },
 80532       "output": {
 80533         "type": "structure",
 80534         "members": {
 80535           "GatewayARN": {}
 80536         }
 80537       }
 80538     },
 80539     "DeleteSnapshotSchedule": {
 80540       "input": {
 80541         "type": "structure",
 80542         "required": [
 80543           "VolumeARN"
 80544         ],
 80545         "members": {
 80546           "VolumeARN": {}
 80547         }
 80548       },
 80549       "output": {
 80550         "type": "structure",
 80551         "members": {
 80552           "VolumeARN": {}
 80553         }
 80554       }
 80555     },
 80556     "DeleteTape": {
 80557       "input": {
 80558         "type": "structure",
 80559         "required": [
 80560           "GatewayARN",
 80561           "TapeARN"
 80562         ],
 80563         "members": {
 80564           "GatewayARN": {},
 80565           "TapeARN": {}
 80566         }
 80567       },
 80568       "output": {
 80569         "type": "structure",
 80570         "members": {
 80571           "TapeARN": {}
 80572         }
 80573       }
 80574     },
 80575     "DeleteTapeArchive": {
 80576       "input": {
 80577         "type": "structure",
 80578         "required": [
 80579           "TapeARN"
 80580         ],
 80581         "members": {
 80582           "TapeARN": {}
 80583         }
 80584       },
 80585       "output": {
 80586         "type": "structure",
 80587         "members": {
 80588           "TapeARN": {}
 80589         }
 80590       }
 80591     },
 80592     "DeleteVolume": {
 80593       "input": {
 80594         "type": "structure",
 80595         "required": [
 80596           "VolumeARN"
 80597         ],
 80598         "members": {
 80599           "VolumeARN": {}
 80600         }
 80601       },
 80602       "output": {
 80603         "type": "structure",
 80604         "members": {
 80605           "VolumeARN": {}
 80606         }
 80607       }
 80608     },
 80609     "DescribeBandwidthRateLimit": {
 80610       "input": {
 80611         "type": "structure",
 80612         "required": [
 80613           "GatewayARN"
 80614         ],
 80615         "members": {
 80616           "GatewayARN": {}
 80617         }
 80618       },
 80619       "output": {
 80620         "type": "structure",
 80621         "members": {
 80622           "GatewayARN": {},
 80623           "AverageUploadRateLimitInBitsPerSec": {
 80624             "type": "long"
 80625           },
 80626           "AverageDownloadRateLimitInBitsPerSec": {
 80627             "type": "long"
 80628           }
 80629         }
 80630       }
 80631     },
 80632     "DescribeCache": {
 80633       "input": {
 80634         "type": "structure",
 80635         "required": [
 80636           "GatewayARN"
 80637         ],
 80638         "members": {
 80639           "GatewayARN": {}
 80640         }
 80641       },
 80642       "output": {
 80643         "type": "structure",
 80644         "members": {
 80645           "GatewayARN": {},
 80646           "DiskIds": {
 80647             "shape": "Sc"
 80648           },
 80649           "CacheAllocatedInBytes": {
 80650             "type": "long"
 80651           },
 80652           "CacheUsedPercentage": {
 80653             "type": "double"
 80654           },
 80655           "CacheDirtyPercentage": {
 80656             "type": "double"
 80657           },
 80658           "CacheHitPercentage": {
 80659             "type": "double"
 80660           },
 80661           "CacheMissPercentage": {
 80662             "type": "double"
 80663           }
 80664         }
 80665       }
 80666     },
 80667     "DescribeCachediSCSIVolumes": {
 80668       "input": {
 80669         "type": "structure",
 80670         "required": [
 80671           "VolumeARNs"
 80672         ],
 80673         "members": {
 80674           "VolumeARNs": {
 80675             "shape": "S2a"
 80676           }
 80677         }
 80678       },
 80679       "output": {
 80680         "type": "structure",
 80681         "members": {
 80682           "CachediSCSIVolumes": {
 80683             "type": "list",
 80684             "member": {
 80685               "type": "structure",
 80686               "members": {
 80687                 "VolumeARN": {},
 80688                 "VolumeId": {},
 80689                 "VolumeType": {},
 80690                 "VolumeStatus": {},
 80691                 "VolumeSizeInBytes": {
 80692                   "type": "long"
 80693                 },
 80694                 "VolumeProgress": {
 80695                   "type": "double"
 80696                 },
 80697                 "SourceSnapshotId": {},
 80698                 "VolumeiSCSIAttributes": {
 80699                   "shape": "S2i"
 80700                 }
 80701               }
 80702             }
 80703           }
 80704         }
 80705       }
 80706     },
 80707     "DescribeChapCredentials": {
 80708       "input": {
 80709         "type": "structure",
 80710         "required": [
 80711           "TargetARN"
 80712         ],
 80713         "members": {
 80714           "TargetARN": {}
 80715         }
 80716       },
 80717       "output": {
 80718         "type": "structure",
 80719         "members": {
 80720           "ChapCredentials": {
 80721             "type": "list",
 80722             "member": {
 80723               "type": "structure",
 80724               "members": {
 80725                 "TargetARN": {},
 80726                 "SecretToAuthenticateInitiator": {},
 80727                 "InitiatorName": {},
 80728                 "SecretToAuthenticateTarget": {}
 80729               }
 80730             }
 80731           }
 80732         }
 80733       }
 80734     },
 80735     "DescribeGatewayInformation": {
 80736       "input": {
 80737         "type": "structure",
 80738         "required": [
 80739           "GatewayARN"
 80740         ],
 80741         "members": {
 80742           "GatewayARN": {}
 80743         }
 80744       },
 80745       "output": {
 80746         "type": "structure",
 80747         "members": {
 80748           "GatewayARN": {},
 80749           "GatewayId": {},
 80750           "GatewayName": {},
 80751           "GatewayTimezone": {},
 80752           "GatewayState": {},
 80753           "GatewayNetworkInterfaces": {
 80754             "type": "list",
 80755             "member": {
 80756               "type": "structure",
 80757               "members": {
 80758                 "Ipv4Address": {},
 80759                 "MacAddress": {},
 80760                 "Ipv6Address": {}
 80761               }
 80762             }
 80763           },
 80764           "GatewayType": {},
 80765           "NextUpdateAvailabilityDate": {},
 80766           "LastSoftwareUpdate": {}
 80767         }
 80768       }
 80769     },
 80770     "DescribeMaintenanceStartTime": {
 80771       "input": {
 80772         "type": "structure",
 80773         "required": [
 80774           "GatewayARN"
 80775         ],
 80776         "members": {
 80777           "GatewayARN": {}
 80778         }
 80779       },
 80780       "output": {
 80781         "type": "structure",
 80782         "members": {
 80783           "GatewayARN": {},
 80784           "HourOfDay": {
 80785             "type": "integer"
 80786           },
 80787           "MinuteOfHour": {
 80788             "type": "integer"
 80789           },
 80790           "DayOfWeek": {
 80791             "type": "integer"
 80792           },
 80793           "Timezone": {}
 80794         }
 80795       }
 80796     },
 80797     "DescribeSnapshotSchedule": {
 80798       "input": {
 80799         "type": "structure",
 80800         "required": [
 80801           "VolumeARN"
 80802         ],
 80803         "members": {
 80804           "VolumeARN": {}
 80805         }
 80806       },
 80807       "output": {
 80808         "type": "structure",
 80809         "members": {
 80810           "VolumeARN": {},
 80811           "StartAt": {
 80812             "type": "integer"
 80813           },
 80814           "RecurrenceInHours": {
 80815             "type": "integer"
 80816           },
 80817           "Description": {},
 80818           "Timezone": {}
 80819         }
 80820       }
 80821     },
 80822     "DescribeStorediSCSIVolumes": {
 80823       "input": {
 80824         "type": "structure",
 80825         "required": [
 80826           "VolumeARNs"
 80827         ],
 80828         "members": {
 80829           "VolumeARNs": {
 80830             "shape": "S2a"
 80831           }
 80832         }
 80833       },
 80834       "output": {
 80835         "type": "structure",
 80836         "members": {
 80837           "StorediSCSIVolumes": {
 80838             "type": "list",
 80839             "member": {
 80840               "type": "structure",
 80841               "members": {
 80842                 "VolumeARN": {},
 80843                 "VolumeId": {},
 80844                 "VolumeType": {},
 80845                 "VolumeStatus": {},
 80846                 "VolumeSizeInBytes": {
 80847                   "type": "long"
 80848                 },
 80849                 "VolumeProgress": {
 80850                   "type": "double"
 80851                 },
 80852                 "VolumeDiskId": {},
 80853                 "SourceSnapshotId": {},
 80854                 "PreservedExistingData": {
 80855                   "type": "boolean"
 80856                 },
 80857                 "VolumeiSCSIAttributes": {
 80858                   "shape": "S2i"
 80859                 }
 80860               }
 80861             }
 80862           }
 80863         }
 80864       }
 80865     },
 80866     "DescribeTapeArchives": {
 80867       "input": {
 80868         "type": "structure",
 80869         "members": {
 80870           "TapeARNs": {
 80871             "shape": "S1l"
 80872           },
 80873           "Marker": {},
 80874           "Limit": {
 80875             "type": "integer"
 80876           }
 80877         }
 80878       },
 80879       "output": {
 80880         "type": "structure",
 80881         "members": {
 80882           "TapeArchives": {
 80883             "type": "list",
 80884             "member": {
 80885               "type": "structure",
 80886               "members": {
 80887                 "TapeARN": {},
 80888                 "TapeBarcode": {},
 80889                 "TapeSizeInBytes": {
 80890                   "type": "long"
 80891                 },
 80892                 "CompletionTime": {
 80893                   "type": "timestamp"
 80894                 },
 80895                 "RetrievedTo": {},
 80896                 "TapeStatus": {}
 80897               }
 80898             }
 80899           },
 80900           "Marker": {}
 80901         }
 80902       }
 80903     },
 80904     "DescribeTapeRecoveryPoints": {
 80905       "input": {
 80906         "type": "structure",
 80907         "required": [
 80908           "GatewayARN"
 80909         ],
 80910         "members": {
 80911           "GatewayARN": {},
 80912           "Marker": {},
 80913           "Limit": {
 80914             "type": "integer"
 80915           }
 80916         }
 80917       },
 80918       "output": {
 80919         "type": "structure",
 80920         "members": {
 80921           "GatewayARN": {},
 80922           "TapeRecoveryPointInfos": {
 80923             "type": "list",
 80924             "member": {
 80925               "type": "structure",
 80926               "members": {
 80927                 "TapeARN": {},
 80928                 "TapeRecoveryPointTime": {
 80929                   "type": "timestamp"
 80930                 },
 80931                 "TapeSizeInBytes": {
 80932                   "type": "long"
 80933                 },
 80934                 "TapeStatus": {}
 80935               }
 80936             }
 80937           },
 80938           "Marker": {}
 80939         }
 80940       }
 80941     },
 80942     "DescribeTapes": {
 80943       "input": {
 80944         "type": "structure",
 80945         "required": [
 80946           "GatewayARN"
 80947         ],
 80948         "members": {
 80949           "GatewayARN": {},
 80950           "TapeARNs": {
 80951             "shape": "S1l"
 80952           },
 80953           "Marker": {},
 80954           "Limit": {
 80955             "type": "integer"
 80956           }
 80957         }
 80958       },
 80959       "output": {
 80960         "type": "structure",
 80961         "members": {
 80962           "Tapes": {
 80963             "type": "list",
 80964             "member": {
 80965               "type": "structure",
 80966               "members": {
 80967                 "TapeARN": {},
 80968                 "TapeBarcode": {},
 80969                 "TapeSizeInBytes": {
 80970                   "type": "long"
 80971                 },
 80972                 "TapeStatus": {},
 80973                 "VTLDevice": {},
 80974                 "Progress": {
 80975                   "type": "double"
 80976                 }
 80977               }
 80978             }
 80979           },
 80980           "Marker": {}
 80981         }
 80982       }
 80983     },
 80984     "DescribeUploadBuffer": {
 80985       "input": {
 80986         "type": "structure",
 80987         "required": [
 80988           "GatewayARN"
 80989         ],
 80990         "members": {
 80991           "GatewayARN": {}
 80992         }
 80993       },
 80994       "output": {
 80995         "type": "structure",
 80996         "members": {
 80997           "GatewayARN": {},
 80998           "DiskIds": {
 80999             "shape": "Sc"
 81000           },
 81001           "UploadBufferUsedInBytes": {
 81002             "type": "long"
 81003           },
 81004           "UploadBufferAllocatedInBytes": {
 81005             "type": "long"
 81006           }
 81007         }
 81008       }
 81009     },
 81010     "DescribeVTLDevices": {
 81011       "input": {
 81012         "type": "structure",
 81013         "required": [
 81014           "GatewayARN"
 81015         ],
 81016         "members": {
 81017           "GatewayARN": {},
 81018           "VTLDeviceARNs": {
 81019             "type": "list",
 81020             "member": {}
 81021           },
 81022           "Marker": {},
 81023           "Limit": {
 81024             "type": "integer"
 81025           }
 81026         }
 81027       },
 81028       "output": {
 81029         "type": "structure",
 81030         "members": {
 81031           "GatewayARN": {},
 81032           "VTLDevices": {
 81033             "type": "list",
 81034             "member": {
 81035               "type": "structure",
 81036               "members": {
 81037                 "VTLDeviceARN": {},
 81038                 "VTLDeviceType": {},
 81039                 "VTLDeviceVendor": {},
 81040                 "VTLDeviceProductIdentifier": {},
 81041                 "DeviceiSCSIAttributes": {
 81042                   "type": "structure",
 81043                   "members": {
 81044                     "TargetARN": {},
 81045                     "NetworkInterfaceId": {},
 81046                     "NetworkInterfacePort": {
 81047                       "type": "integer"
 81048                     },
 81049                     "ChapEnabled": {
 81050                       "type": "boolean"
 81051                     }
 81052                   }
 81053                 }
 81054               }
 81055             }
 81056           },
 81057           "Marker": {}
 81058         }
 81059       }
 81060     },
 81061     "DescribeWorkingStorage": {
 81062       "input": {
 81063         "type": "structure",
 81064         "required": [
 81065           "GatewayARN"
 81066         ],
 81067         "members": {
 81068           "GatewayARN": {}
 81069         }
 81070       },
 81071       "output": {
 81072         "type": "structure",
 81073         "members": {
 81074           "GatewayARN": {},
 81075           "DiskIds": {
 81076             "shape": "Sc"
 81077           },
 81078           "WorkingStorageUsedInBytes": {
 81079             "type": "long"
 81080           },
 81081           "WorkingStorageAllocatedInBytes": {
 81082             "type": "long"
 81083           }
 81084         }
 81085       }
 81086     },
 81087     "DisableGateway": {
 81088       "input": {
 81089         "type": "structure",
 81090         "required": [
 81091           "GatewayARN"
 81092         ],
 81093         "members": {
 81094           "GatewayARN": {}
 81095         }
 81096       },
 81097       "output": {
 81098         "type": "structure",
 81099         "members": {
 81100           "GatewayARN": {}
 81101         }
 81102       }
 81103     },
 81104     "ListGateways": {
 81105       "input": {
 81106         "type": "structure",
 81107         "members": {
 81108           "Marker": {},
 81109           "Limit": {
 81110             "type": "integer"
 81111           }
 81112         }
 81113       },
 81114       "output": {
 81115         "type": "structure",
 81116         "members": {
 81117           "Gateways": {
 81118             "type": "list",
 81119             "member": {
 81120               "type": "structure",
 81121               "members": {
 81122                 "GatewayId": {},
 81123                 "GatewayARN": {},
 81124                 "GatewayType": {},
 81125                 "GatewayOperationalState": {},
 81126                 "GatewayName": {}
 81127               }
 81128             }
 81129           },
 81130           "Marker": {}
 81131         }
 81132       }
 81133     },
 81134     "ListLocalDisks": {
 81135       "input": {
 81136         "type": "structure",
 81137         "required": [
 81138           "GatewayARN"
 81139         ],
 81140         "members": {
 81141           "GatewayARN": {}
 81142         }
 81143       },
 81144       "output": {
 81145         "type": "structure",
 81146         "members": {
 81147           "GatewayARN": {},
 81148           "Disks": {
 81149             "type": "list",
 81150             "member": {
 81151               "type": "structure",
 81152               "members": {
 81153                 "DiskId": {},
 81154                 "DiskPath": {},
 81155                 "DiskNode": {},
 81156                 "DiskStatus": {},
 81157                 "DiskSizeInBytes": {
 81158                   "type": "long"
 81159                 },
 81160                 "DiskAllocationType": {},
 81161                 "DiskAllocationResource": {}
 81162               }
 81163             }
 81164           }
 81165         }
 81166       }
 81167     },
 81168     "ListTagsForResource": {
 81169       "input": {
 81170         "type": "structure",
 81171         "required": [
 81172           "ResourceARN"
 81173         ],
 81174         "members": {
 81175           "ResourceARN": {},
 81176           "Marker": {},
 81177           "Limit": {
 81178             "type": "integer"
 81179           }
 81180         }
 81181       },
 81182       "output": {
 81183         "type": "structure",
 81184         "members": {
 81185           "ResourceARN": {},
 81186           "Marker": {},
 81187           "Tags": {
 81188             "shape": "Sh"
 81189           }
 81190         }
 81191       }
 81192     },
 81193     "ListTapes": {
 81194       "input": {
 81195         "type": "structure",
 81196         "members": {
 81197           "TapeARNs": {
 81198             "shape": "S1l"
 81199           },
 81200           "Marker": {},
 81201           "Limit": {
 81202             "type": "integer"
 81203           }
 81204         }
 81205       },
 81206       "output": {
 81207         "type": "structure",
 81208         "members": {
 81209           "TapeInfos": {
 81210             "type": "list",
 81211             "member": {
 81212               "type": "structure",
 81213               "members": {
 81214                 "TapeARN": {},
 81215                 "TapeBarcode": {},
 81216                 "TapeSizeInBytes": {
 81217                   "type": "long"
 81218                 },
 81219                 "TapeStatus": {},
 81220                 "GatewayARN": {}
 81221               }
 81222             }
 81223           },
 81224           "Marker": {}
 81225         }
 81226       }
 81227     },
 81228     "ListVolumeInitiators": {
 81229       "input": {
 81230         "type": "structure",
 81231         "required": [
 81232           "VolumeARN"
 81233         ],
 81234         "members": {
 81235           "VolumeARN": {}
 81236         }
 81237       },
 81238       "output": {
 81239         "type": "structure",
 81240         "members": {
 81241           "Initiators": {
 81242             "type": "list",
 81243             "member": {}
 81244           }
 81245         }
 81246       }
 81247     },
 81248     "ListVolumeRecoveryPoints": {
 81249       "input": {
 81250         "type": "structure",
 81251         "required": [
 81252           "GatewayARN"
 81253         ],
 81254         "members": {
 81255           "GatewayARN": {}
 81256         }
 81257       },
 81258       "output": {
 81259         "type": "structure",
 81260         "members": {
 81261           "GatewayARN": {},
 81262           "VolumeRecoveryPointInfos": {
 81263             "type": "list",
 81264             "member": {
 81265               "type": "structure",
 81266               "members": {
 81267                 "VolumeARN": {},
 81268                 "VolumeSizeInBytes": {
 81269                   "type": "long"
 81270                 },
 81271                 "VolumeUsageInBytes": {
 81272                   "type": "long"
 81273                 },
 81274                 "VolumeRecoveryPointTime": {}
 81275               }
 81276             }
 81277           }
 81278         }
 81279       }
 81280     },
 81281     "ListVolumes": {
 81282       "input": {
 81283         "type": "structure",
 81284         "members": {
 81285           "GatewayARN": {},
 81286           "Marker": {},
 81287           "Limit": {
 81288             "type": "integer"
 81289           }
 81290         }
 81291       },
 81292       "output": {
 81293         "type": "structure",
 81294         "members": {
 81295           "GatewayARN": {},
 81296           "Marker": {},
 81297           "VolumeInfos": {
 81298             "type": "list",
 81299             "member": {
 81300               "type": "structure",
 81301               "members": {
 81302                 "VolumeARN": {},
 81303                 "VolumeId": {},
 81304                 "GatewayARN": {},
 81305                 "GatewayId": {},
 81306                 "VolumeType": {},
 81307                 "VolumeSizeInBytes": {
 81308                   "type": "long"
 81309                 }
 81310               }
 81311             }
 81312           }
 81313         }
 81314       }
 81315     },
 81316     "RemoveTagsFromResource": {
 81317       "input": {
 81318         "type": "structure",
 81319         "required": [
 81320           "ResourceARN",
 81321           "TagKeys"
 81322         ],
 81323         "members": {
 81324           "ResourceARN": {},
 81325           "TagKeys": {
 81326             "type": "list",
 81327             "member": {}
 81328           }
 81329         }
 81330       },
 81331       "output": {
 81332         "type": "structure",
 81333         "members": {
 81334           "ResourceARN": {}
 81335         }
 81336       }
 81337     },
 81338     "ResetCache": {
 81339       "input": {
 81340         "type": "structure",
 81341         "required": [
 81342           "GatewayARN"
 81343         ],
 81344         "members": {
 81345           "GatewayARN": {}
 81346         }
 81347       },
 81348       "output": {
 81349         "type": "structure",
 81350         "members": {
 81351           "GatewayARN": {}
 81352         }
 81353       }
 81354     },
 81355     "RetrieveTapeArchive": {
 81356       "input": {
 81357         "type": "structure",
 81358         "required": [
 81359           "TapeARN",
 81360           "GatewayARN"
 81361         ],
 81362         "members": {
 81363           "TapeARN": {},
 81364           "GatewayARN": {}
 81365         }
 81366       },
 81367       "output": {
 81368         "type": "structure",
 81369         "members": {
 81370           "TapeARN": {}
 81371         }
 81372       }
 81373     },
 81374     "RetrieveTapeRecoveryPoint": {
 81375       "input": {
 81376         "type": "structure",
 81377         "required": [
 81378           "TapeARN",
 81379           "GatewayARN"
 81380         ],
 81381         "members": {
 81382           "TapeARN": {},
 81383           "GatewayARN": {}
 81384         }
 81385       },
 81386       "output": {
 81387         "type": "structure",
 81388         "members": {
 81389           "TapeARN": {}
 81390         }
 81391       }
 81392     },
 81393     "SetLocalConsolePassword": {
 81394       "input": {
 81395         "type": "structure",
 81396         "required": [
 81397           "GatewayARN",
 81398           "LocalConsolePassword"
 81399         ],
 81400         "members": {
 81401           "GatewayARN": {},
 81402           "LocalConsolePassword": {
 81403             "type": "string",
 81404             "sensitive": true
 81405           }
 81406         }
 81407       },
 81408       "output": {
 81409         "type": "structure",
 81410         "members": {
 81411           "GatewayARN": {}
 81412         }
 81413       }
 81414     },
 81415     "ShutdownGateway": {
 81416       "input": {
 81417         "type": "structure",
 81418         "required": [
 81419           "GatewayARN"
 81420         ],
 81421         "members": {
 81422           "GatewayARN": {}
 81423         }
 81424       },
 81425       "output": {
 81426         "type": "structure",
 81427         "members": {
 81428           "GatewayARN": {}
 81429         }
 81430       }
 81431     },
 81432     "StartGateway": {
 81433       "input": {
 81434         "type": "structure",
 81435         "required": [
 81436           "GatewayARN"
 81437         ],
 81438         "members": {
 81439           "GatewayARN": {}
 81440         }
 81441       },
 81442       "output": {
 81443         "type": "structure",
 81444         "members": {
 81445           "GatewayARN": {}
 81446         }
 81447       }
 81448     },
 81449     "UpdateBandwidthRateLimit": {
 81450       "input": {
 81451         "type": "structure",
 81452         "required": [
 81453           "GatewayARN"
 81454         ],
 81455         "members": {
 81456           "GatewayARN": {},
 81457           "AverageUploadRateLimitInBitsPerSec": {
 81458             "type": "long"
 81459           },
 81460           "AverageDownloadRateLimitInBitsPerSec": {
 81461             "type": "long"
 81462           }
 81463         }
 81464       },
 81465       "output": {
 81466         "type": "structure",
 81467         "members": {
 81468           "GatewayARN": {}
 81469         }
 81470       }
 81471     },
 81472     "UpdateChapCredentials": {
 81473       "input": {
 81474         "type": "structure",
 81475         "required": [
 81476           "TargetARN",
 81477           "SecretToAuthenticateInitiator",
 81478           "InitiatorName"
 81479         ],
 81480         "members": {
 81481           "TargetARN": {},
 81482           "SecretToAuthenticateInitiator": {},
 81483           "InitiatorName": {},
 81484           "SecretToAuthenticateTarget": {}
 81485         }
 81486       },
 81487       "output": {
 81488         "type": "structure",
 81489         "members": {
 81490           "TargetARN": {},
 81491           "InitiatorName": {}
 81492         }
 81493       }
 81494     },
 81495     "UpdateGatewayInformation": {
 81496       "input": {
 81497         "type": "structure",
 81498         "required": [
 81499           "GatewayARN"
 81500         ],
 81501         "members": {
 81502           "GatewayARN": {},
 81503           "GatewayName": {},
 81504           "GatewayTimezone": {}
 81505         }
 81506       },
 81507       "output": {
 81508         "type": "structure",
 81509         "members": {
 81510           "GatewayARN": {},
 81511           "GatewayName": {}
 81512         }
 81513       }
 81514     },
 81515     "UpdateGatewaySoftwareNow": {
 81516       "input": {
 81517         "type": "structure",
 81518         "required": [
 81519           "GatewayARN"
 81520         ],
 81521         "members": {
 81522           "GatewayARN": {}
 81523         }
 81524       },
 81525       "output": {
 81526         "type": "structure",
 81527         "members": {
 81528           "GatewayARN": {}
 81529         }
 81530       }
 81531     },
 81532     "UpdateMaintenanceStartTime": {
 81533       "input": {
 81534         "type": "structure",
 81535         "required": [
 81536           "GatewayARN",
 81537           "HourOfDay",
 81538           "MinuteOfHour",
 81539           "DayOfWeek"
 81540         ],
 81541         "members": {
 81542           "GatewayARN": {},
 81543           "HourOfDay": {
 81544             "type": "integer"
 81545           },
 81546           "MinuteOfHour": {
 81547             "type": "integer"
 81548           },
 81549           "DayOfWeek": {
 81550             "type": "integer"
 81551           }
 81552         }
 81553       },
 81554       "output": {
 81555         "type": "structure",
 81556         "members": {
 81557           "GatewayARN": {}
 81558         }
 81559       }
 81560     },
 81561     "UpdateSnapshotSchedule": {
 81562       "input": {
 81563         "type": "structure",
 81564         "required": [
 81565           "VolumeARN",
 81566           "StartAt",
 81567           "RecurrenceInHours"
 81568         ],
 81569         "members": {
 81570           "VolumeARN": {},
 81571           "StartAt": {
 81572             "type": "integer"
 81573           },
 81574           "RecurrenceInHours": {
 81575             "type": "integer"
 81576           },
 81577           "Description": {}
 81578         }
 81579       },
 81580       "output": {
 81581         "type": "structure",
 81582         "members": {
 81583           "VolumeARN": {}
 81584         }
 81585       }
 81586     },
 81587     "UpdateVTLDeviceType": {
 81588       "input": {
 81589         "type": "structure",
 81590         "required": [
 81591           "VTLDeviceARN",
 81592           "DeviceType"
 81593         ],
 81594         "members": {
 81595           "VTLDeviceARN": {},
 81596           "DeviceType": {}
 81597         }
 81598       },
 81599       "output": {
 81600         "type": "structure",
 81601         "members": {
 81602           "VTLDeviceARN": {}
 81603         }
 81604       }
 81605     }
 81606   },
 81607   "shapes": {
 81608     "Sc": {
 81609       "type": "list",
 81610       "member": {}
 81611     },
 81612     "Sh": {
 81613       "type": "list",
 81614       "member": {
 81615         "type": "structure",
 81616         "required": [
 81617           "Key",
 81618           "Value"
 81619         ],
 81620         "members": {
 81621           "Key": {},
 81622           "Value": {}
 81623         }
 81624       }
 81625     },
 81626     "S1l": {
 81627       "type": "list",
 81628       "member": {}
 81629     },
 81630     "S2a": {
 81631       "type": "list",
 81632       "member": {}
 81633     },
 81634     "S2i": {
 81635       "type": "structure",
 81636       "members": {
 81637         "TargetARN": {},
 81638         "NetworkInterfaceId": {},
 81639         "NetworkInterfacePort": {
 81640           "type": "integer"
 81641         },
 81642         "LunNumber": {
 81643           "type": "integer"
 81644         },
 81645         "ChapEnabled": {
 81646           "type": "boolean"
 81647         }
 81648       }
 81649     }
 81650   }
 81651 }
 81652 },{}],124:[function(require,module,exports){
 81653 module.exports={
 81654   "pagination": {
 81655     "DescribeCachediSCSIVolumes": {
 81656       "result_key": "CachediSCSIVolumes"
 81657     },
 81658     "DescribeStorediSCSIVolumes": {
 81659       "result_key": "StorediSCSIVolumes"
 81660     },
 81661     "DescribeTapeArchives": {
 81662       "input_token": "Marker",
 81663       "limit_key": "Limit",
 81664       "output_token": "Marker",
 81665       "result_key": "TapeArchives"
 81666     },
 81667     "DescribeTapeRecoveryPoints": {
 81668       "input_token": "Marker",
 81669       "limit_key": "Limit",
 81670       "output_token": "Marker",
 81671       "result_key": "TapeRecoveryPointInfos"
 81672     },
 81673     "DescribeTapes": {
 81674       "input_token": "Marker",
 81675       "limit_key": "Limit",
 81676       "output_token": "Marker",
 81677       "result_key": "Tapes"
 81678     },
 81679     "DescribeVTLDevices": {
 81680       "input_token": "Marker",
 81681       "limit_key": "Limit",
 81682       "output_token": "Marker",
 81683       "result_key": "VTLDevices"
 81684     },
 81685     "ListGateways": {
 81686       "input_token": "Marker",
 81687       "limit_key": "Limit",
 81688       "output_token": "Marker",
 81689       "result_key": "Gateways"
 81690     },
 81691     "ListLocalDisks": {
 81692       "result_key": "Disks"
 81693     },
 81694     "ListVolumeRecoveryPoints": {
 81695       "result_key": "VolumeRecoveryPointInfos"
 81696     },
 81697     "ListVolumes": {
 81698       "input_token": "Marker",
 81699       "limit_key": "Limit",
 81700       "output_token": "Marker",
 81701       "result_key": "VolumeInfos"
 81702     }
 81703   }
 81704 }
 81705 
 81706 },{}],125:[function(require,module,exports){
 81707 module.exports={
 81708   "version": "2.0",
 81709   "metadata": {
 81710     "apiVersion": "2012-08-10",
 81711     "endpointPrefix": "streams.dynamodb",
 81712     "jsonVersion": "1.0",
 81713     "protocol": "json",
 81714     "serviceFullName": "Amazon DynamoDB Streams",
 81715     "signatureVersion": "v4",
 81716     "signingName": "dynamodb",
 81717     "targetPrefix": "DynamoDBStreams_20120810"
 81718   },
 81719   "operations": {
 81720     "DescribeStream": {
 81721       "input": {
 81722         "type": "structure",
 81723         "required": [
 81724           "StreamArn"
 81725         ],
 81726         "members": {
 81727           "StreamArn": {},
 81728           "Limit": {
 81729             "type": "integer"
 81730           },
 81731           "ExclusiveStartShardId": {}
 81732         }
 81733       },
 81734       "output": {
 81735         "type": "structure",
 81736         "members": {
 81737           "StreamDescription": {
 81738             "type": "structure",
 81739             "members": {
 81740               "StreamArn": {},
 81741               "StreamLabel": {},
 81742               "StreamStatus": {},
 81743               "StreamViewType": {},
 81744               "CreationRequestDateTime": {
 81745                 "type": "timestamp"
 81746               },
 81747               "TableName": {},
 81748               "KeySchema": {
 81749                 "type": "list",
 81750                 "member": {
 81751                   "type": "structure",
 81752                   "required": [
 81753                     "AttributeName",
 81754                     "KeyType"
 81755                   ],
 81756                   "members": {
 81757                     "AttributeName": {},
 81758                     "KeyType": {}
 81759                   }
 81760                 }
 81761               },
 81762               "Shards": {
 81763                 "type": "list",
 81764                 "member": {
 81765                   "type": "structure",
 81766                   "members": {
 81767                     "ShardId": {},
 81768                     "SequenceNumberRange": {
 81769                       "type": "structure",
 81770                       "members": {
 81771                         "StartingSequenceNumber": {},
 81772                         "EndingSequenceNumber": {}
 81773                       }
 81774                     },
 81775                     "ParentShardId": {}
 81776                   }
 81777                 }
 81778               },
 81779               "LastEvaluatedShardId": {}
 81780             }
 81781           }
 81782         }
 81783       }
 81784     },
 81785     "GetRecords": {
 81786       "input": {
 81787         "type": "structure",
 81788         "required": [
 81789           "ShardIterator"
 81790         ],
 81791         "members": {
 81792           "ShardIterator": {},
 81793           "Limit": {
 81794             "type": "integer"
 81795           }
 81796         }
 81797       },
 81798       "output": {
 81799         "type": "structure",
 81800         "members": {
 81801           "Records": {
 81802             "type": "list",
 81803             "member": {
 81804               "type": "structure",
 81805               "members": {
 81806                 "eventID": {},
 81807                 "eventName": {},
 81808                 "eventVersion": {},
 81809                 "eventSource": {},
 81810                 "awsRegion": {},
 81811                 "dynamodb": {
 81812                   "type": "structure",
 81813                   "members": {
 81814                     "ApproximateCreationDateTime": {
 81815                       "type": "timestamp"
 81816                     },
 81817                     "Keys": {
 81818                       "shape": "Sr"
 81819                     },
 81820                     "NewImage": {
 81821                       "shape": "Sr"
 81822                     },
 81823                     "OldImage": {
 81824                       "shape": "Sr"
 81825                     },
 81826                     "SequenceNumber": {},
 81827                     "SizeBytes": {
 81828                       "type": "long"
 81829                     },
 81830                     "StreamViewType": {}
 81831                   }
 81832                 }
 81833               }
 81834             }
 81835           },
 81836           "NextShardIterator": {}
 81837         }
 81838       }
 81839     },
 81840     "GetShardIterator": {
 81841       "input": {
 81842         "type": "structure",
 81843         "required": [
 81844           "StreamArn",
 81845           "ShardId",
 81846           "ShardIteratorType"
 81847         ],
 81848         "members": {
 81849           "StreamArn": {},
 81850           "ShardId": {},
 81851           "ShardIteratorType": {},
 81852           "SequenceNumber": {}
 81853         }
 81854       },
 81855       "output": {
 81856         "type": "structure",
 81857         "members": {
 81858           "ShardIterator": {}
 81859         }
 81860       }
 81861     },
 81862     "ListStreams": {
 81863       "input": {
 81864         "type": "structure",
 81865         "members": {
 81866           "TableName": {},
 81867           "Limit": {
 81868             "type": "integer"
 81869           },
 81870           "ExclusiveStartStreamArn": {}
 81871         }
 81872       },
 81873       "output": {
 81874         "type": "structure",
 81875         "members": {
 81876           "Streams": {
 81877             "type": "list",
 81878             "member": {
 81879               "type": "structure",
 81880               "members": {
 81881                 "StreamArn": {},
 81882                 "TableName": {},
 81883                 "StreamLabel": {}
 81884               }
 81885             }
 81886           },
 81887           "LastEvaluatedStreamArn": {}
 81888         }
 81889       }
 81890     }
 81891   },
 81892   "shapes": {
 81893     "Sr": {
 81894       "type": "map",
 81895       "key": {},
 81896       "value": {
 81897         "shape": "St"
 81898       }
 81899     },
 81900     "St": {
 81901       "type": "structure",
 81902       "members": {
 81903         "S": {},
 81904         "N": {},
 81905         "B": {
 81906           "type": "blob"
 81907         },
 81908         "SS": {
 81909           "type": "list",
 81910           "member": {}
 81911         },
 81912         "NS": {
 81913           "type": "list",
 81914           "member": {}
 81915         },
 81916         "BS": {
 81917           "type": "list",
 81918           "member": {
 81919             "type": "blob"
 81920           }
 81921         },
 81922         "M": {
 81923           "type": "map",
 81924           "key": {},
 81925           "value": {
 81926             "shape": "St"
 81927           }
 81928         },
 81929         "L": {
 81930           "type": "list",
 81931           "member": {
 81932             "shape": "St"
 81933           }
 81934         },
 81935         "NULL": {
 81936           "type": "boolean"
 81937         },
 81938         "BOOL": {
 81939           "type": "boolean"
 81940         }
 81941       }
 81942     }
 81943   }
 81944 }
 81945 },{}],126:[function(require,module,exports){
 81946 module.exports={
 81947   "version": "2.0",
 81948   "metadata": {
 81949     "apiVersion": "2011-06-15",
 81950     "endpointPrefix": "sts",
 81951     "globalEndpoint": "sts.amazonaws.com",
 81952     "protocol": "query",
 81953     "serviceAbbreviation": "AWS STS",
 81954     "serviceFullName": "AWS Security Token Service",
 81955     "signatureVersion": "v4",
 81956     "xmlNamespace": "https://sts.amazonaws.com/doc/2011-06-15/"
 81957   },
 81958   "operations": {
 81959     "AssumeRole": {
 81960       "input": {
 81961         "type": "structure",
 81962         "required": [
 81963           "RoleArn",
 81964           "RoleSessionName"
 81965         ],
 81966         "members": {
 81967           "RoleArn": {},
 81968           "RoleSessionName": {},
 81969           "Policy": {},
 81970           "DurationSeconds": {
 81971             "type": "integer"
 81972           },
 81973           "ExternalId": {},
 81974           "SerialNumber": {},
 81975           "TokenCode": {}
 81976         }
 81977       },
 81978       "output": {
 81979         "resultWrapper": "AssumeRoleResult",
 81980         "type": "structure",
 81981         "members": {
 81982           "Credentials": {
 81983             "shape": "Sa"
 81984           },
 81985           "AssumedRoleUser": {
 81986             "shape": "Sf"
 81987           },
 81988           "PackedPolicySize": {
 81989             "type": "integer"
 81990           }
 81991         }
 81992       }
 81993     },
 81994     "AssumeRoleWithSAML": {
 81995       "input": {
 81996         "type": "structure",
 81997         "required": [
 81998           "RoleArn",
 81999           "PrincipalArn",
 82000           "SAMLAssertion"
 82001         ],
 82002         "members": {
 82003           "RoleArn": {},
 82004           "PrincipalArn": {},
 82005           "SAMLAssertion": {},
 82006           "Policy": {},
 82007           "DurationSeconds": {
 82008             "type": "integer"
 82009           }
 82010         }
 82011       },
 82012       "output": {
 82013         "resultWrapper": "AssumeRoleWithSAMLResult",
 82014         "type": "structure",
 82015         "members": {
 82016           "Credentials": {
 82017             "shape": "Sa"
 82018           },
 82019           "AssumedRoleUser": {
 82020             "shape": "Sf"
 82021           },
 82022           "PackedPolicySize": {
 82023             "type": "integer"
 82024           },
 82025           "Subject": {},
 82026           "SubjectType": {},
 82027           "Issuer": {},
 82028           "Audience": {},
 82029           "NameQualifier": {}
 82030         }
 82031       }
 82032     },
 82033     "AssumeRoleWithWebIdentity": {
 82034       "input": {
 82035         "type": "structure",
 82036         "required": [
 82037           "RoleArn",
 82038           "RoleSessionName",
 82039           "WebIdentityToken"
 82040         ],
 82041         "members": {
 82042           "RoleArn": {},
 82043           "RoleSessionName": {},
 82044           "WebIdentityToken": {},
 82045           "ProviderId": {},
 82046           "Policy": {},
 82047           "DurationSeconds": {
 82048             "type": "integer"
 82049           }
 82050         }
 82051       },
 82052       "output": {
 82053         "resultWrapper": "AssumeRoleWithWebIdentityResult",
 82054         "type": "structure",
 82055         "members": {
 82056           "Credentials": {
 82057             "shape": "Sa"
 82058           },
 82059           "SubjectFromWebIdentityToken": {},
 82060           "AssumedRoleUser": {
 82061             "shape": "Sf"
 82062           },
 82063           "PackedPolicySize": {
 82064             "type": "integer"
 82065           },
 82066           "Provider": {},
 82067           "Audience": {}
 82068         }
 82069       }
 82070     },
 82071     "DecodeAuthorizationMessage": {
 82072       "input": {
 82073         "type": "structure",
 82074         "required": [
 82075           "EncodedMessage"
 82076         ],
 82077         "members": {
 82078           "EncodedMessage": {}
 82079         }
 82080       },
 82081       "output": {
 82082         "resultWrapper": "DecodeAuthorizationMessageResult",
 82083         "type": "structure",
 82084         "members": {
 82085           "DecodedMessage": {}
 82086         }
 82087       }
 82088     },
 82089     "GetCallerIdentity": {
 82090       "input": {
 82091         "type": "structure",
 82092         "members": {}
 82093       },
 82094       "output": {
 82095         "resultWrapper": "GetCallerIdentityResult",
 82096         "type": "structure",
 82097         "members": {
 82098           "UserId": {},
 82099           "Account": {},
 82100           "Arn": {}
 82101         }
 82102       }
 82103     },
 82104     "GetFederationToken": {
 82105       "input": {
 82106         "type": "structure",
 82107         "required": [
 82108           "Name"
 82109         ],
 82110         "members": {
 82111           "Name": {},
 82112           "Policy": {},
 82113           "DurationSeconds": {
 82114             "type": "integer"
 82115           }
 82116         }
 82117       },
 82118       "output": {
 82119         "resultWrapper": "GetFederationTokenResult",
 82120         "type": "structure",
 82121         "members": {
 82122           "Credentials": {
 82123             "shape": "Sa"
 82124           },
 82125           "FederatedUser": {
 82126             "type": "structure",
 82127             "required": [
 82128               "FederatedUserId",
 82129               "Arn"
 82130             ],
 82131             "members": {
 82132               "FederatedUserId": {},
 82133               "Arn": {}
 82134             }
 82135           },
 82136           "PackedPolicySize": {
 82137             "type": "integer"
 82138           }
 82139         }
 82140       }
 82141     },
 82142     "GetSessionToken": {
 82143       "input": {
 82144         "type": "structure",
 82145         "members": {
 82146           "DurationSeconds": {
 82147             "type": "integer"
 82148           },
 82149           "SerialNumber": {},
 82150           "TokenCode": {}
 82151         }
 82152       },
 82153       "output": {
 82154         "resultWrapper": "GetSessionTokenResult",
 82155         "type": "structure",
 82156         "members": {
 82157           "Credentials": {
 82158             "shape": "Sa"
 82159           }
 82160         }
 82161       }
 82162     }
 82163   },
 82164   "shapes": {
 82165     "Sa": {
 82166       "type": "structure",
 82167       "required": [
 82168         "AccessKeyId",
 82169         "SecretAccessKey",
 82170         "SessionToken",
 82171         "Expiration"
 82172       ],
 82173       "members": {
 82174         "AccessKeyId": {},
 82175         "SecretAccessKey": {},
 82176         "SessionToken": {},
 82177         "Expiration": {
 82178           "type": "timestamp"
 82179         }
 82180       }
 82181     },
 82182     "Sf": {
 82183       "type": "structure",
 82184       "required": [
 82185         "AssumedRoleId",
 82186         "Arn"
 82187       ],
 82188       "members": {
 82189         "AssumedRoleId": {},
 82190         "Arn": {}
 82191       }
 82192     }
 82193   }
 82194 }
 82195 },{}],127:[function(require,module,exports){
 82196 module.exports={
 82197   "version": "2.0",
 82198   "metadata": {
 82199     "apiVersion": "2015-08-24",
 82200     "endpointPrefix": "waf",
 82201     "jsonVersion": "1.1",
 82202     "protocol": "json",
 82203     "serviceAbbreviation": "WAF",
 82204     "serviceFullName": "AWS WAF",
 82205     "signatureVersion": "v4",
 82206     "targetPrefix": "AWSWAF_20150824"
 82207   },
 82208   "operations": {
 82209     "CreateByteMatchSet": {
 82210       "input": {
 82211         "type": "structure",
 82212         "required": [
 82213           "Name",
 82214           "ChangeToken"
 82215         ],
 82216         "members": {
 82217           "Name": {},
 82218           "ChangeToken": {}
 82219         }
 82220       },
 82221       "output": {
 82222         "type": "structure",
 82223         "members": {
 82224           "ByteMatchSet": {
 82225             "shape": "S5"
 82226           },
 82227           "ChangeToken": {}
 82228         }
 82229       }
 82230     },
 82231     "CreateIPSet": {
 82232       "input": {
 82233         "type": "structure",
 82234         "required": [
 82235           "Name",
 82236           "ChangeToken"
 82237         ],
 82238         "members": {
 82239           "Name": {},
 82240           "ChangeToken": {}
 82241         }
 82242       },
 82243       "output": {
 82244         "type": "structure",
 82245         "members": {
 82246           "IPSet": {
 82247             "shape": "Sh"
 82248           },
 82249           "ChangeToken": {}
 82250         }
 82251       }
 82252     },
 82253     "CreateRule": {
 82254       "input": {
 82255         "type": "structure",
 82256         "required": [
 82257           "Name",
 82258           "MetricName",
 82259           "ChangeToken"
 82260         ],
 82261         "members": {
 82262           "Name": {},
 82263           "MetricName": {},
 82264           "ChangeToken": {}
 82265         }
 82266       },
 82267       "output": {
 82268         "type": "structure",
 82269         "members": {
 82270           "Rule": {
 82271             "shape": "Sp"
 82272           },
 82273           "ChangeToken": {}
 82274         }
 82275       }
 82276     },
 82277     "CreateSizeConstraintSet": {
 82278       "input": {
 82279         "type": "structure",
 82280         "required": [
 82281           "Name",
 82282           "ChangeToken"
 82283         ],
 82284         "members": {
 82285           "Name": {},
 82286           "ChangeToken": {}
 82287         }
 82288       },
 82289       "output": {
 82290         "type": "structure",
 82291         "members": {
 82292           "SizeConstraintSet": {
 82293             "shape": "Sw"
 82294           },
 82295           "ChangeToken": {}
 82296         }
 82297       }
 82298     },
 82299     "CreateSqlInjectionMatchSet": {
 82300       "input": {
 82301         "type": "structure",
 82302         "required": [
 82303           "Name",
 82304           "ChangeToken"
 82305         ],
 82306         "members": {
 82307           "Name": {},
 82308           "ChangeToken": {}
 82309         }
 82310       },
 82311       "output": {
 82312         "type": "structure",
 82313         "members": {
 82314           "SqlInjectionMatchSet": {
 82315             "shape": "S13"
 82316           },
 82317           "ChangeToken": {}
 82318         }
 82319       }
 82320     },
 82321     "CreateWebACL": {
 82322       "input": {
 82323         "type": "structure",
 82324         "required": [
 82325           "Name",
 82326           "MetricName",
 82327           "DefaultAction",
 82328           "ChangeToken"
 82329         ],
 82330         "members": {
 82331           "Name": {},
 82332           "MetricName": {},
 82333           "DefaultAction": {
 82334             "shape": "S17"
 82335           },
 82336           "ChangeToken": {}
 82337         }
 82338       },
 82339       "output": {
 82340         "type": "structure",
 82341         "members": {
 82342           "WebACL": {
 82343             "shape": "S1a"
 82344           },
 82345           "ChangeToken": {}
 82346         }
 82347       }
 82348     },
 82349     "CreateXssMatchSet": {
 82350       "input": {
 82351         "type": "structure",
 82352         "required": [
 82353           "Name",
 82354           "ChangeToken"
 82355         ],
 82356         "members": {
 82357           "Name": {},
 82358           "ChangeToken": {}
 82359         }
 82360       },
 82361       "output": {
 82362         "type": "structure",
 82363         "members": {
 82364           "XssMatchSet": {
 82365             "shape": "S1g"
 82366           },
 82367           "ChangeToken": {}
 82368         }
 82369       }
 82370     },
 82371     "DeleteByteMatchSet": {
 82372       "input": {
 82373         "type": "structure",
 82374         "required": [
 82375           "ByteMatchSetId",
 82376           "ChangeToken"
 82377         ],
 82378         "members": {
 82379           "ByteMatchSetId": {},
 82380           "ChangeToken": {}
 82381         }
 82382       },
 82383       "output": {
 82384         "type": "structure",
 82385         "members": {
 82386           "ChangeToken": {}
 82387         }
 82388       }
 82389     },
 82390     "DeleteIPSet": {
 82391       "input": {
 82392         "type": "structure",
 82393         "required": [
 82394           "IPSetId",
 82395           "ChangeToken"
 82396         ],
 82397         "members": {
 82398           "IPSetId": {},
 82399           "ChangeToken": {}
 82400         }
 82401       },
 82402       "output": {
 82403         "type": "structure",
 82404         "members": {
 82405           "ChangeToken": {}
 82406         }
 82407       }
 82408     },
 82409     "DeleteRule": {
 82410       "input": {
 82411         "type": "structure",
 82412         "required": [
 82413           "RuleId",
 82414           "ChangeToken"
 82415         ],
 82416         "members": {
 82417           "RuleId": {},
 82418           "ChangeToken": {}
 82419         }
 82420       },
 82421       "output": {
 82422         "type": "structure",
 82423         "members": {
 82424           "ChangeToken": {}
 82425         }
 82426       }
 82427     },
 82428     "DeleteSizeConstraintSet": {
 82429       "input": {
 82430         "type": "structure",
 82431         "required": [
 82432           "SizeConstraintSetId",
 82433           "ChangeToken"
 82434         ],
 82435         "members": {
 82436           "SizeConstraintSetId": {},
 82437           "ChangeToken": {}
 82438         }
 82439       },
 82440       "output": {
 82441         "type": "structure",
 82442         "members": {
 82443           "ChangeToken": {}
 82444         }
 82445       }
 82446     },
 82447     "DeleteSqlInjectionMatchSet": {
 82448       "input": {
 82449         "type": "structure",
 82450         "required": [
 82451           "SqlInjectionMatchSetId",
 82452           "ChangeToken"
 82453         ],
 82454         "members": {
 82455           "SqlInjectionMatchSetId": {},
 82456           "ChangeToken": {}
 82457         }
 82458       },
 82459       "output": {
 82460         "type": "structure",
 82461         "members": {
 82462           "ChangeToken": {}
 82463         }
 82464       }
 82465     },
 82466     "DeleteWebACL": {
 82467       "input": {
 82468         "type": "structure",
 82469         "required": [
 82470           "WebACLId",
 82471           "ChangeToken"
 82472         ],
 82473         "members": {
 82474           "WebACLId": {},
 82475           "ChangeToken": {}
 82476         }
 82477       },
 82478       "output": {
 82479         "type": "structure",
 82480         "members": {
 82481           "ChangeToken": {}
 82482         }
 82483       }
 82484     },
 82485     "DeleteXssMatchSet": {
 82486       "input": {
 82487         "type": "structure",
 82488         "required": [
 82489           "XssMatchSetId",
 82490           "ChangeToken"
 82491         ],
 82492         "members": {
 82493           "XssMatchSetId": {},
 82494           "ChangeToken": {}
 82495         }
 82496       },
 82497       "output": {
 82498         "type": "structure",
 82499         "members": {
 82500           "ChangeToken": {}
 82501         }
 82502       }
 82503     },
 82504     "GetByteMatchSet": {
 82505       "input": {
 82506         "type": "structure",
 82507         "required": [
 82508           "ByteMatchSetId"
 82509         ],
 82510         "members": {
 82511           "ByteMatchSetId": {}
 82512         }
 82513       },
 82514       "output": {
 82515         "type": "structure",
 82516         "members": {
 82517           "ByteMatchSet": {
 82518             "shape": "S5"
 82519           }
 82520         }
 82521       }
 82522     },
 82523     "GetChangeToken": {
 82524       "input": {
 82525         "type": "structure",
 82526         "members": {}
 82527       },
 82528       "output": {
 82529         "type": "structure",
 82530         "members": {
 82531           "ChangeToken": {}
 82532         }
 82533       }
 82534     },
 82535     "GetChangeTokenStatus": {
 82536       "input": {
 82537         "type": "structure",
 82538         "required": [
 82539           "ChangeToken"
 82540         ],
 82541         "members": {
 82542           "ChangeToken": {}
 82543         }
 82544       },
 82545       "output": {
 82546         "type": "structure",
 82547         "members": {
 82548           "ChangeTokenStatus": {}
 82549         }
 82550       }
 82551     },
 82552     "GetIPSet": {
 82553       "input": {
 82554         "type": "structure",
 82555         "required": [
 82556           "IPSetId"
 82557         ],
 82558         "members": {
 82559           "IPSetId": {}
 82560         }
 82561       },
 82562       "output": {
 82563         "type": "structure",
 82564         "members": {
 82565           "IPSet": {
 82566             "shape": "Sh"
 82567           }
 82568         }
 82569       }
 82570     },
 82571     "GetRule": {
 82572       "input": {
 82573         "type": "structure",
 82574         "required": [
 82575           "RuleId"
 82576         ],
 82577         "members": {
 82578           "RuleId": {}
 82579         }
 82580       },
 82581       "output": {
 82582         "type": "structure",
 82583         "members": {
 82584           "Rule": {
 82585             "shape": "Sp"
 82586           }
 82587         }
 82588       }
 82589     },
 82590     "GetSampledRequests": {
 82591       "input": {
 82592         "type": "structure",
 82593         "required": [
 82594           "WebAclId",
 82595           "RuleId",
 82596           "TimeWindow",
 82597           "MaxItems"
 82598         ],
 82599         "members": {
 82600           "WebAclId": {},
 82601           "RuleId": {},
 82602           "TimeWindow": {
 82603             "shape": "S29"
 82604           },
 82605           "MaxItems": {
 82606             "type": "long"
 82607           }
 82608         }
 82609       },
 82610       "output": {
 82611         "type": "structure",
 82612         "members": {
 82613           "SampledRequests": {
 82614             "type": "list",
 82615             "member": {
 82616               "type": "structure",
 82617               "required": [
 82618                 "Request",
 82619                 "Weight"
 82620               ],
 82621               "members": {
 82622                 "Request": {
 82623                   "type": "structure",
 82624                   "members": {
 82625                     "ClientIP": {},
 82626                     "Country": {},
 82627                     "URI": {},
 82628                     "Method": {},
 82629                     "HTTPVersion": {},
 82630                     "Headers": {
 82631                       "type": "list",
 82632                       "member": {
 82633                         "type": "structure",
 82634                         "members": {
 82635                           "Name": {},
 82636                           "Value": {}
 82637                         }
 82638                       }
 82639                     }
 82640                   }
 82641                 },
 82642                 "Weight": {
 82643                   "type": "long"
 82644                 },
 82645                 "Timestamp": {
 82646                   "type": "timestamp"
 82647                 },
 82648                 "Action": {}
 82649               }
 82650             }
 82651           },
 82652           "PopulationSize": {
 82653             "type": "long"
 82654           },
 82655           "TimeWindow": {
 82656             "shape": "S29"
 82657           }
 82658         }
 82659       }
 82660     },
 82661     "GetSizeConstraintSet": {
 82662       "input": {
 82663         "type": "structure",
 82664         "required": [
 82665           "SizeConstraintSetId"
 82666         ],
 82667         "members": {
 82668           "SizeConstraintSetId": {}
 82669         }
 82670       },
 82671       "output": {
 82672         "type": "structure",
 82673         "members": {
 82674           "SizeConstraintSet": {
 82675             "shape": "Sw"
 82676           }
 82677         }
 82678       }
 82679     },
 82680     "GetSqlInjectionMatchSet": {
 82681       "input": {
 82682         "type": "structure",
 82683         "required": [
 82684           "SqlInjectionMatchSetId"
 82685         ],
 82686         "members": {
 82687           "SqlInjectionMatchSetId": {}
 82688         }
 82689       },
 82690       "output": {
 82691         "type": "structure",
 82692         "members": {
 82693           "SqlInjectionMatchSet": {
 82694             "shape": "S13"
 82695           }
 82696         }
 82697       }
 82698     },
 82699     "GetWebACL": {
 82700       "input": {
 82701         "type": "structure",
 82702         "required": [
 82703           "WebACLId"
 82704         ],
 82705         "members": {
 82706           "WebACLId": {}
 82707         }
 82708       },
 82709       "output": {
 82710         "type": "structure",
 82711         "members": {
 82712           "WebACL": {
 82713             "shape": "S1a"
 82714           }
 82715         }
 82716       }
 82717     },
 82718     "GetXssMatchSet": {
 82719       "input": {
 82720         "type": "structure",
 82721         "required": [
 82722           "XssMatchSetId"
 82723         ],
 82724         "members": {
 82725           "XssMatchSetId": {}
 82726         }
 82727       },
 82728       "output": {
 82729         "type": "structure",
 82730         "members": {
 82731           "XssMatchSet": {
 82732             "shape": "S1g"
 82733           }
 82734         }
 82735       }
 82736     },
 82737     "ListByteMatchSets": {
 82738       "input": {
 82739         "type": "structure",
 82740         "members": {
 82741           "NextMarker": {},
 82742           "Limit": {
 82743             "type": "integer"
 82744           }
 82745         }
 82746       },
 82747       "output": {
 82748         "type": "structure",
 82749         "members": {
 82750           "NextMarker": {},
 82751           "ByteMatchSets": {
 82752             "type": "list",
 82753             "member": {
 82754               "type": "structure",
 82755               "required": [
 82756                 "ByteMatchSetId",
 82757                 "Name"
 82758               ],
 82759               "members": {
 82760                 "ByteMatchSetId": {},
 82761                 "Name": {}
 82762               }
 82763             }
 82764           }
 82765         }
 82766       }
 82767     },
 82768     "ListIPSets": {
 82769       "input": {
 82770         "type": "structure",
 82771         "members": {
 82772           "NextMarker": {},
 82773           "Limit": {
 82774             "type": "integer"
 82775           }
 82776         }
 82777       },
 82778       "output": {
 82779         "type": "structure",
 82780         "members": {
 82781           "NextMarker": {},
 82782           "IPSets": {
 82783             "type": "list",
 82784             "member": {
 82785               "type": "structure",
 82786               "required": [
 82787                 "IPSetId",
 82788                 "Name"
 82789               ],
 82790               "members": {
 82791                 "IPSetId": {},
 82792                 "Name": {}
 82793               }
 82794             }
 82795           }
 82796         }
 82797       }
 82798     },
 82799     "ListRules": {
 82800       "input": {
 82801         "type": "structure",
 82802         "members": {
 82803           "NextMarker": {},
 82804           "Limit": {
 82805             "type": "integer"
 82806           }
 82807         }
 82808       },
 82809       "output": {
 82810         "type": "structure",
 82811         "members": {
 82812           "NextMarker": {},
 82813           "Rules": {
 82814             "type": "list",
 82815             "member": {
 82816               "type": "structure",
 82817               "required": [
 82818                 "RuleId",
 82819                 "Name"
 82820               ],
 82821               "members": {
 82822                 "RuleId": {},
 82823                 "Name": {}
 82824               }
 82825             }
 82826           }
 82827         }
 82828       }
 82829     },
 82830     "ListSizeConstraintSets": {
 82831       "input": {
 82832         "type": "structure",
 82833         "members": {
 82834           "NextMarker": {},
 82835           "Limit": {
 82836             "type": "integer"
 82837           }
 82838         }
 82839       },
 82840       "output": {
 82841         "type": "structure",
 82842         "members": {
 82843           "NextMarker": {},
 82844           "SizeConstraintSets": {
 82845             "type": "list",
 82846             "member": {
 82847               "type": "structure",
 82848               "required": [
 82849                 "SizeConstraintSetId",
 82850                 "Name"
 82851               ],
 82852               "members": {
 82853                 "SizeConstraintSetId": {},
 82854                 "Name": {}
 82855               }
 82856             }
 82857           }
 82858         }
 82859       }
 82860     },
 82861     "ListSqlInjectionMatchSets": {
 82862       "input": {
 82863         "type": "structure",
 82864         "members": {
 82865           "NextMarker": {},
 82866           "Limit": {
 82867             "type": "integer"
 82868           }
 82869         }
 82870       },
 82871       "output": {
 82872         "type": "structure",
 82873         "members": {
 82874           "NextMarker": {},
 82875           "SqlInjectionMatchSets": {
 82876             "type": "list",
 82877             "member": {
 82878               "type": "structure",
 82879               "required": [
 82880                 "SqlInjectionMatchSetId",
 82881                 "Name"
 82882               ],
 82883               "members": {
 82884                 "SqlInjectionMatchSetId": {},
 82885                 "Name": {}
 82886               }
 82887             }
 82888           }
 82889         }
 82890       }
 82891     },
 82892     "ListWebACLs": {
 82893       "input": {
 82894         "type": "structure",
 82895         "members": {
 82896           "NextMarker": {},
 82897           "Limit": {
 82898             "type": "integer"
 82899           }
 82900         }
 82901       },
 82902       "output": {
 82903         "type": "structure",
 82904         "members": {
 82905           "NextMarker": {},
 82906           "WebACLs": {
 82907             "type": "list",
 82908             "member": {
 82909               "type": "structure",
 82910               "required": [
 82911                 "WebACLId",
 82912                 "Name"
 82913               ],
 82914               "members": {
 82915                 "WebACLId": {},
 82916                 "Name": {}
 82917               }
 82918             }
 82919           }
 82920         }
 82921       }
 82922     },
 82923     "ListXssMatchSets": {
 82924       "input": {
 82925         "type": "structure",
 82926         "members": {
 82927           "NextMarker": {},
 82928           "Limit": {
 82929             "type": "integer"
 82930           }
 82931         }
 82932       },
 82933       "output": {
 82934         "type": "structure",
 82935         "members": {
 82936           "NextMarker": {},
 82937           "XssMatchSets": {
 82938             "type": "list",
 82939             "member": {
 82940               "type": "structure",
 82941               "required": [
 82942                 "XssMatchSetId",
 82943                 "Name"
 82944               ],
 82945               "members": {
 82946                 "XssMatchSetId": {},
 82947                 "Name": {}
 82948               }
 82949             }
 82950           }
 82951         }
 82952       }
 82953     },
 82954     "UpdateByteMatchSet": {
 82955       "input": {
 82956         "type": "structure",
 82957         "required": [
 82958           "ByteMatchSetId",
 82959           "ChangeToken",
 82960           "Updates"
 82961         ],
 82962         "members": {
 82963           "ByteMatchSetId": {},
 82964           "ChangeToken": {},
 82965           "Updates": {
 82966             "type": "list",
 82967             "member": {
 82968               "type": "structure",
 82969               "required": [
 82970                 "Action",
 82971                 "ByteMatchTuple"
 82972               ],
 82973               "members": {
 82974                 "Action": {},
 82975                 "ByteMatchTuple": {
 82976                   "shape": "S8"
 82977                 }
 82978               }
 82979             }
 82980           }
 82981         }
 82982       },
 82983       "output": {
 82984         "type": "structure",
 82985         "members": {
 82986           "ChangeToken": {}
 82987         }
 82988       }
 82989     },
 82990     "UpdateIPSet": {
 82991       "input": {
 82992         "type": "structure",
 82993         "required": [
 82994           "IPSetId",
 82995           "ChangeToken",
 82996           "Updates"
 82997         ],
 82998         "members": {
 82999           "IPSetId": {},
 83000           "ChangeToken": {},
 83001           "Updates": {
 83002             "type": "list",
 83003             "member": {
 83004               "type": "structure",
 83005               "required": [
 83006                 "Action",
 83007                 "IPSetDescriptor"
 83008               ],
 83009               "members": {
 83010                 "Action": {},
 83011                 "IPSetDescriptor": {
 83012                   "shape": "Sj"
 83013                 }
 83014               }
 83015             }
 83016           }
 83017         }
 83018       },
 83019       "output": {
 83020         "type": "structure",
 83021         "members": {
 83022           "ChangeToken": {}
 83023         }
 83024       }
 83025     },
 83026     "UpdateRule": {
 83027       "input": {
 83028         "type": "structure",
 83029         "required": [
 83030           "RuleId",
 83031           "ChangeToken",
 83032           "Updates"
 83033         ],
 83034         "members": {
 83035           "RuleId": {},
 83036           "ChangeToken": {},
 83037           "Updates": {
 83038             "type": "list",
 83039             "member": {
 83040               "type": "structure",
 83041               "required": [
 83042                 "Action",
 83043                 "Predicate"
 83044               ],
 83045               "members": {
 83046                 "Action": {},
 83047                 "Predicate": {
 83048                   "shape": "Sr"
 83049                 }
 83050               }
 83051             }
 83052           }
 83053         }
 83054       },
 83055       "output": {
 83056         "type": "structure",
 83057         "members": {
 83058           "ChangeToken": {}
 83059         }
 83060       }
 83061     },
 83062     "UpdateSizeConstraintSet": {
 83063       "input": {
 83064         "type": "structure",
 83065         "required": [
 83066           "SizeConstraintSetId",
 83067           "ChangeToken",
 83068           "Updates"
 83069         ],
 83070         "members": {
 83071           "SizeConstraintSetId": {},
 83072           "ChangeToken": {},
 83073           "Updates": {
 83074             "type": "list",
 83075             "member": {
 83076               "type": "structure",
 83077               "required": [
 83078                 "Action",
 83079                 "SizeConstraint"
 83080               ],
 83081               "members": {
 83082                 "Action": {},
 83083                 "SizeConstraint": {
 83084                   "shape": "Sy"
 83085                 }
 83086               }
 83087             }
 83088           }
 83089         }
 83090       },
 83091       "output": {
 83092         "type": "structure",
 83093         "members": {
 83094           "ChangeToken": {}
 83095         }
 83096       }
 83097     },
 83098     "UpdateSqlInjectionMatchSet": {
 83099       "input": {
 83100         "type": "structure",
 83101         "required": [
 83102           "SqlInjectionMatchSetId",
 83103           "ChangeToken",
 83104           "Updates"
 83105         ],
 83106         "members": {
 83107           "SqlInjectionMatchSetId": {},
 83108           "ChangeToken": {},
 83109           "Updates": {
 83110             "type": "list",
 83111             "member": {
 83112               "type": "structure",
 83113               "required": [
 83114                 "Action",
 83115                 "SqlInjectionMatchTuple"
 83116               ],
 83117               "members": {
 83118                 "Action": {},
 83119                 "SqlInjectionMatchTuple": {
 83120                   "shape": "S15"
 83121                 }
 83122               }
 83123             }
 83124           }
 83125         }
 83126       },
 83127       "output": {
 83128         "type": "structure",
 83129         "members": {
 83130           "ChangeToken": {}
 83131         }
 83132       }
 83133     },
 83134     "UpdateWebACL": {
 83135       "input": {
 83136         "type": "structure",
 83137         "required": [
 83138           "WebACLId",
 83139           "ChangeToken"
 83140         ],
 83141         "members": {
 83142           "WebACLId": {},
 83143           "ChangeToken": {},
 83144           "Updates": {
 83145             "type": "list",
 83146             "member": {
 83147               "type": "structure",
 83148               "required": [
 83149                 "Action",
 83150                 "ActivatedRule"
 83151               ],
 83152               "members": {
 83153                 "Action": {},
 83154                 "ActivatedRule": {
 83155                   "shape": "S1c"
 83156                 }
 83157               }
 83158             }
 83159           },
 83160           "DefaultAction": {
 83161             "shape": "S17"
 83162           }
 83163         }
 83164       },
 83165       "output": {
 83166         "type": "structure",
 83167         "members": {
 83168           "ChangeToken": {}
 83169         }
 83170       }
 83171     },
 83172     "UpdateXssMatchSet": {
 83173       "input": {
 83174         "type": "structure",
 83175         "required": [
 83176           "XssMatchSetId",
 83177           "ChangeToken",
 83178           "Updates"
 83179         ],
 83180         "members": {
 83181           "XssMatchSetId": {},
 83182           "ChangeToken": {},
 83183           "Updates": {
 83184             "type": "list",
 83185             "member": {
 83186               "type": "structure",
 83187               "required": [
 83188                 "Action",
 83189                 "XssMatchTuple"
 83190               ],
 83191               "members": {
 83192                 "Action": {},
 83193                 "XssMatchTuple": {
 83194                   "shape": "S1i"
 83195                 }
 83196               }
 83197             }
 83198           }
 83199         }
 83200       },
 83201       "output": {
 83202         "type": "structure",
 83203         "members": {
 83204           "ChangeToken": {}
 83205         }
 83206       }
 83207     }
 83208   },
 83209   "shapes": {
 83210     "S5": {
 83211       "type": "structure",
 83212       "required": [
 83213         "ByteMatchSetId",
 83214         "ByteMatchTuples"
 83215       ],
 83216       "members": {
 83217         "ByteMatchSetId": {},
 83218         "Name": {},
 83219         "ByteMatchTuples": {
 83220           "type": "list",
 83221           "member": {
 83222             "shape": "S8"
 83223           }
 83224         }
 83225       }
 83226     },
 83227     "S8": {
 83228       "type": "structure",
 83229       "required": [
 83230         "FieldToMatch",
 83231         "TargetString",
 83232         "TextTransformation",
 83233         "PositionalConstraint"
 83234       ],
 83235       "members": {
 83236         "FieldToMatch": {
 83237           "shape": "S9"
 83238         },
 83239         "TargetString": {
 83240           "type": "blob"
 83241         },
 83242         "TextTransformation": {},
 83243         "PositionalConstraint": {}
 83244       }
 83245     },
 83246     "S9": {
 83247       "type": "structure",
 83248       "required": [
 83249         "Type"
 83250       ],
 83251       "members": {
 83252         "Type": {},
 83253         "Data": {}
 83254       }
 83255     },
 83256     "Sh": {
 83257       "type": "structure",
 83258       "required": [
 83259         "IPSetId",
 83260         "IPSetDescriptors"
 83261       ],
 83262       "members": {
 83263         "IPSetId": {},
 83264         "Name": {},
 83265         "IPSetDescriptors": {
 83266           "type": "list",
 83267           "member": {
 83268             "shape": "Sj"
 83269           }
 83270         }
 83271       }
 83272     },
 83273     "Sj": {
 83274       "type": "structure",
 83275       "required": [
 83276         "Type",
 83277         "Value"
 83278       ],
 83279       "members": {
 83280         "Type": {},
 83281         "Value": {}
 83282       }
 83283     },
 83284     "Sp": {
 83285       "type": "structure",
 83286       "required": [
 83287         "RuleId",
 83288         "Predicates"
 83289       ],
 83290       "members": {
 83291         "RuleId": {},
 83292         "Name": {},
 83293         "MetricName": {},
 83294         "Predicates": {
 83295           "type": "list",
 83296           "member": {
 83297             "shape": "Sr"
 83298           }
 83299         }
 83300       }
 83301     },
 83302     "Sr": {
 83303       "type": "structure",
 83304       "required": [
 83305         "Negated",
 83306         "Type",
 83307         "DataId"
 83308       ],
 83309       "members": {
 83310         "Negated": {
 83311           "type": "boolean"
 83312         },
 83313         "Type": {},
 83314         "DataId": {}
 83315       }
 83316     },
 83317     "Sw": {
 83318       "type": "structure",
 83319       "required": [
 83320         "SizeConstraintSetId",
 83321         "SizeConstraints"
 83322       ],
 83323       "members": {
 83324         "SizeConstraintSetId": {},
 83325         "Name": {},
 83326         "SizeConstraints": {
 83327           "type": "list",
 83328           "member": {
 83329             "shape": "Sy"
 83330           }
 83331         }
 83332       }
 83333     },
 83334     "Sy": {
 83335       "type": "structure",
 83336       "required": [
 83337         "FieldToMatch",
 83338         "TextTransformation",
 83339         "ComparisonOperator",
 83340         "Size"
 83341       ],
 83342       "members": {
 83343         "FieldToMatch": {
 83344           "shape": "S9"
 83345         },
 83346         "TextTransformation": {},
 83347         "ComparisonOperator": {},
 83348         "Size": {
 83349           "type": "long"
 83350         }
 83351       }
 83352     },
 83353     "S13": {
 83354       "type": "structure",
 83355       "required": [
 83356         "SqlInjectionMatchSetId",
 83357         "SqlInjectionMatchTuples"
 83358       ],
 83359       "members": {
 83360         "SqlInjectionMatchSetId": {},
 83361         "Name": {},
 83362         "SqlInjectionMatchTuples": {
 83363           "type": "list",
 83364           "member": {
 83365             "shape": "S15"
 83366           }
 83367         }
 83368       }
 83369     },
 83370     "S15": {
 83371       "type": "structure",
 83372       "required": [
 83373         "FieldToMatch",
 83374         "TextTransformation"
 83375       ],
 83376       "members": {
 83377         "FieldToMatch": {
 83378           "shape": "S9"
 83379         },
 83380         "TextTransformation": {}
 83381       }
 83382     },
 83383     "S17": {
 83384       "type": "structure",
 83385       "required": [
 83386         "Type"
 83387       ],
 83388       "members": {
 83389         "Type": {}
 83390       }
 83391     },
 83392     "S1a": {
 83393       "type": "structure",
 83394       "required": [
 83395         "WebACLId",
 83396         "DefaultAction",
 83397         "Rules"
 83398       ],
 83399       "members": {
 83400         "WebACLId": {},
 83401         "Name": {},
 83402         "MetricName": {},
 83403         "DefaultAction": {
 83404           "shape": "S17"
 83405         },
 83406         "Rules": {
 83407           "type": "list",
 83408           "member": {
 83409             "shape": "S1c"
 83410           }
 83411         }
 83412       }
 83413     },
 83414     "S1c": {
 83415       "type": "structure",
 83416       "required": [
 83417         "Priority",
 83418         "RuleId",
 83419         "Action"
 83420       ],
 83421       "members": {
 83422         "Priority": {
 83423           "type": "integer"
 83424         },
 83425         "RuleId": {},
 83426         "Action": {
 83427           "shape": "S17"
 83428         }
 83429       }
 83430     },
 83431     "S1g": {
 83432       "type": "structure",
 83433       "required": [
 83434         "XssMatchSetId",
 83435         "XssMatchTuples"
 83436       ],
 83437       "members": {
 83438         "XssMatchSetId": {},
 83439         "Name": {},
 83440         "XssMatchTuples": {
 83441           "type": "list",
 83442           "member": {
 83443             "shape": "S1i"
 83444           }
 83445         }
 83446       }
 83447     },
 83448     "S1i": {
 83449       "type": "structure",
 83450       "required": [
 83451         "FieldToMatch",
 83452         "TextTransformation"
 83453       ],
 83454       "members": {
 83455         "FieldToMatch": {
 83456           "shape": "S9"
 83457         },
 83458         "TextTransformation": {}
 83459       }
 83460     },
 83461     "S29": {
 83462       "type": "structure",
 83463       "required": [
 83464         "StartTime",
 83465         "EndTime"
 83466       ],
 83467       "members": {
 83468         "StartTime": {
 83469           "type": "timestamp"
 83470         },
 83471         "EndTime": {
 83472           "type": "timestamp"
 83473         }
 83474       }
 83475     }
 83476   }
 83477 }
 83478 },{}],128:[function(require,module,exports){
 83479 require('../lib/node_loader');
 83480 var AWS = require('../lib/core');
 83481 var Service = require('../lib/service');
 83482 var apiLoader = require('../lib/api_loader');
 83483 
 83484 apiLoader.services['acm'] = {};
 83485 AWS.ACM = Service.defineService('acm', ['2015-12-08']);
 83486 Object.defineProperty(apiLoader.services['acm'], '2015-12-08', {
 83487   get: function get() {
 83488     var model = require('../apis/acm-2015-12-08.min.json');
 83489     model.paginators = require('../apis/acm-2015-12-08.paginators.json').pagination;
 83490     return model;
 83491   },
 83492   enumerable: true,
 83493   configurable: true
 83494 });
 83495 
 83496 module.exports = AWS.ACM;
 83497 
 83498 },{"../apis/acm-2015-12-08.min.json":1,"../apis/acm-2015-12-08.paginators.json":2,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],129:[function(require,module,exports){
 83499 require('../lib/node_loader');
 83500 var AWS = require('../lib/core');
 83501 var Service = require('../lib/service');
 83502 var apiLoader = require('../lib/api_loader');
 83503 
 83504 apiLoader.services['apigateway'] = {};
 83505 AWS.APIGateway = Service.defineService('apigateway', ['2015-07-09']);
 83506 require('../lib/services/apigateway');
 83507 Object.defineProperty(apiLoader.services['apigateway'], '2015-07-09', {
 83508   get: function get() {
 83509     var model = require('../apis/apigateway-2015-07-09.min.json');
 83510     model.paginators = require('../apis/apigateway-2015-07-09.paginators.json').pagination;
 83511     return model;
 83512   },
 83513   enumerable: true,
 83514   configurable: true
 83515 });
 83516 
 83517 module.exports = AWS.APIGateway;
 83518 
 83519 },{"../apis/apigateway-2015-07-09.min.json":3,"../apis/apigateway-2015-07-09.paginators.json":4,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/apigateway":227}],130:[function(require,module,exports){
 83520 require('../lib/node_loader');
 83521 var AWS = require('../lib/core');
 83522 var Service = require('../lib/service');
 83523 var apiLoader = require('../lib/api_loader');
 83524 
 83525 apiLoader.services['applicationautoscaling'] = {};
 83526 AWS.ApplicationAutoScaling = Service.defineService('applicationautoscaling', ['2016-02-06']);
 83527 Object.defineProperty(apiLoader.services['applicationautoscaling'], '2016-02-06', {
 83528   get: function get() {
 83529     var model = require('../apis/application-autoscaling-2016-02-06.min.json');
 83530     model.paginators = require('../apis/application-autoscaling-2016-02-06.paginators.json').pagination;
 83531     return model;
 83532   },
 83533   enumerable: true,
 83534   configurable: true
 83535 });
 83536 
 83537 module.exports = AWS.ApplicationAutoScaling;
 83538 
 83539 },{"../apis/application-autoscaling-2016-02-06.min.json":5,"../apis/application-autoscaling-2016-02-06.paginators.json":6,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],131:[function(require,module,exports){
 83540 require('../lib/node_loader');
 83541 var AWS = require('../lib/core');
 83542 var Service = require('../lib/service');
 83543 var apiLoader = require('../lib/api_loader');
 83544 
 83545 apiLoader.services['autoscaling'] = {};
 83546 AWS.AutoScaling = Service.defineService('autoscaling', ['2011-01-01']);
 83547 Object.defineProperty(apiLoader.services['autoscaling'], '2011-01-01', {
 83548   get: function get() {
 83549     var model = require('../apis/autoscaling-2011-01-01.min.json');
 83550     model.paginators = require('../apis/autoscaling-2011-01-01.paginators.json').pagination;
 83551     return model;
 83552   },
 83553   enumerable: true,
 83554   configurable: true
 83555 });
 83556 
 83557 module.exports = AWS.AutoScaling;
 83558 
 83559 },{"../apis/autoscaling-2011-01-01.min.json":7,"../apis/autoscaling-2011-01-01.paginators.json":8,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],132:[function(require,module,exports){
 83560 require('../lib/node_loader');
 83561 var AWS = require('../lib/core');
 83562 
 83563 module.exports = {
 83564   ACM: require('./acm'),
 83565   APIGateway: require('./apigateway'),
 83566   ApplicationAutoScaling: require('./applicationautoscaling'),
 83567   AutoScaling: require('./autoscaling'),
 83568   CloudFormation: require('./cloudformation'),
 83569   CloudFront: require('./cloudfront'),
 83570   CloudHSM: require('./cloudhsm'),
 83571   CloudTrail: require('./cloudtrail'),
 83572   CloudWatch: require('./cloudwatch'),
 83573   CloudWatchEvents: require('./cloudwatchevents'),
 83574   CloudWatchLogs: require('./cloudwatchlogs'),
 83575   CodeCommit: require('./codecommit'),
 83576   CodeDeploy: require('./codedeploy'),
 83577   CodePipeline: require('./codepipeline'),
 83578   CognitoIdentity: require('./cognitoidentity'),
 83579   CognitoIdentityServiceProvider: require('./cognitoidentityserviceprovider'),
 83580   CognitoSync: require('./cognitosync'),
 83581   ConfigService: require('./configservice'),
 83582   DeviceFarm: require('./devicefarm'),
 83583   DirectConnect: require('./directconnect'),
 83584   DynamoDB: require('./dynamodb'),
 83585   DynamoDBStreams: require('./dynamodbstreams'),
 83586   EC2: require('./ec2'),
 83587   ECR: require('./ecr'),
 83588   ECS: require('./ecs'),
 83589   ElastiCache: require('./elasticache'),
 83590   ElasticBeanstalk: require('./elasticbeanstalk'),
 83591   ELB: require('./elb'),
 83592   ELBv2: require('./elbv2'),
 83593   EMR: require('./emr'),
 83594   ElasticTranscoder: require('./elastictranscoder'),
 83595   Firehose: require('./firehose'),
 83596   GameLift: require('./gamelift'),
 83597   Inspector: require('./inspector'),
 83598   Iot: require('./iot'),
 83599   IotData: require('./iotdata'),
 83600   Kinesis: require('./kinesis'),
 83601   KMS: require('./kms'),
 83602   Lambda: require('./lambda'),
 83603   MachineLearning: require('./machinelearning'),
 83604   MarketplaceCommerceAnalytics: require('./marketplacecommerceanalytics'),
 83605   MobileAnalytics: require('./mobileanalytics'),
 83606   OpsWorks: require('./opsworks'),
 83607   RDS: require('./rds'),
 83608   Redshift: require('./redshift'),
 83609   Route53: require('./route53'),
 83610   Route53Domains: require('./route53domains'),
 83611   S3: require('./s3'),
 83612   ServiceCatalog: require('./servicecatalog'),
 83613   SES: require('./ses'),
 83614   SNS: require('./sns'),
 83615   SQS: require('./sqs'),
 83616   SSM: require('./ssm'),
 83617   StorageGateway: require('./storagegateway'),
 83618   STS: require('./sts'),
 83619   WAF: require('./waf')
 83620 };
 83621 },{"../lib/core":189,"../lib/node_loader":186,"./acm":128,"./apigateway":129,"./applicationautoscaling":130,"./autoscaling":131,"./cloudformation":133,"./cloudfront":134,"./cloudhsm":135,"./cloudtrail":136,"./cloudwatch":137,"./cloudwatchevents":138,"./cloudwatchlogs":139,"./codecommit":140,"./codedeploy":141,"./codepipeline":142,"./cognitoidentity":143,"./cognitoidentityserviceprovider":144,"./cognitosync":145,"./configservice":146,"./devicefarm":147,"./directconnect":148,"./dynamodb":149,"./dynamodbstreams":150,"./ec2":151,"./ecr":152,"./ecs":153,"./elasticache":154,"./elasticbeanstalk":155,"./elastictranscoder":156,"./elb":157,"./elbv2":158,"./emr":159,"./firehose":160,"./gamelift":161,"./inspector":162,"./iot":163,"./iotdata":164,"./kinesis":165,"./kms":166,"./lambda":167,"./machinelearning":168,"./marketplacecommerceanalytics":169,"./mobileanalytics":170,"./opsworks":171,"./rds":172,"./redshift":173,"./route53":174,"./route53domains":175,"./s3":176,"./servicecatalog":177,"./ses":178,"./sns":179,"./sqs":180,"./ssm":181,"./storagegateway":182,"./sts":183,"./waf":184}],133:[function(require,module,exports){
 83622 require('../lib/node_loader');
 83623 var AWS = require('../lib/core');
 83624 var Service = require('../lib/service');
 83625 var apiLoader = require('../lib/api_loader');
 83626 
 83627 apiLoader.services['cloudformation'] = {};
 83628 AWS.CloudFormation = Service.defineService('cloudformation', ['2010-05-15']);
 83629 Object.defineProperty(apiLoader.services['cloudformation'], '2010-05-15', {
 83630   get: function get() {
 83631     var model = require('../apis/cloudformation-2010-05-15.min.json');
 83632     model.paginators = require('../apis/cloudformation-2010-05-15.paginators.json').pagination;
 83633     model.waiters = require('../apis/cloudformation-2010-05-15.waiters2.json').waiters;
 83634     return model;
 83635   },
 83636   enumerable: true,
 83637   configurable: true
 83638 });
 83639 
 83640 module.exports = AWS.CloudFormation;
 83641 
 83642 },{"../apis/cloudformation-2010-05-15.min.json":9,"../apis/cloudformation-2010-05-15.paginators.json":10,"../apis/cloudformation-2010-05-15.waiters2.json":11,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],134:[function(require,module,exports){
 83643 require('../lib/node_loader');
 83644 var AWS = require('../lib/core');
 83645 var Service = require('../lib/service');
 83646 var apiLoader = require('../lib/api_loader');
 83647 
 83648 apiLoader.services['cloudfront'] = {};
 83649 AWS.CloudFront = Service.defineService('cloudfront', ['2013-05-12*', '2013-11-11*', '2014-05-31*', '2014-10-21*', '2014-11-06*', '2015-04-17*', '2015-07-27*', '2015-09-17*', '2016-01-13*', '2016-01-28*', '2016-08-01*', '2016-08-20*', '2016-09-07*', '2016-09-29']);
 83650 require('../lib/services/cloudfront');
 83651 Object.defineProperty(apiLoader.services['cloudfront'], '2016-09-29', {
 83652   get: function get() {
 83653     var model = require('../apis/cloudfront-2016-09-29.min.json');
 83654     model.paginators = require('../apis/cloudfront-2016-09-29.paginators.json').pagination;
 83655     model.waiters = require('../apis/cloudfront-2016-09-29.waiters2.json').waiters;
 83656     return model;
 83657   },
 83658   enumerable: true,
 83659   configurable: true
 83660 });
 83661 
 83662 module.exports = AWS.CloudFront;
 83663 
 83664 },{"../apis/cloudfront-2016-09-29.min.json":12,"../apis/cloudfront-2016-09-29.paginators.json":13,"../apis/cloudfront-2016-09-29.waiters2.json":14,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/cloudfront":228}],135:[function(require,module,exports){
 83665 require('../lib/node_loader');
 83666 var AWS = require('../lib/core');
 83667 var Service = require('../lib/service');
 83668 var apiLoader = require('../lib/api_loader');
 83669 
 83670 apiLoader.services['cloudhsm'] = {};
 83671 AWS.CloudHSM = Service.defineService('cloudhsm', ['2014-05-30']);
 83672 Object.defineProperty(apiLoader.services['cloudhsm'], '2014-05-30', {
 83673   get: function get() {
 83674     var model = require('../apis/cloudhsm-2014-05-30.min.json');
 83675     return model;
 83676   },
 83677   enumerable: true,
 83678   configurable: true
 83679 });
 83680 
 83681 module.exports = AWS.CloudHSM;
 83682 
 83683 },{"../apis/cloudhsm-2014-05-30.min.json":15,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],136:[function(require,module,exports){
 83684 require('../lib/node_loader');
 83685 var AWS = require('../lib/core');
 83686 var Service = require('../lib/service');
 83687 var apiLoader = require('../lib/api_loader');
 83688 
 83689 apiLoader.services['cloudtrail'] = {};
 83690 AWS.CloudTrail = Service.defineService('cloudtrail', ['2013-11-01']);
 83691 Object.defineProperty(apiLoader.services['cloudtrail'], '2013-11-01', {
 83692   get: function get() {
 83693     var model = require('../apis/cloudtrail-2013-11-01.min.json');
 83694     model.paginators = require('../apis/cloudtrail-2013-11-01.paginators.json').pagination;
 83695     return model;
 83696   },
 83697   enumerable: true,
 83698   configurable: true
 83699 });
 83700 
 83701 module.exports = AWS.CloudTrail;
 83702 
 83703 },{"../apis/cloudtrail-2013-11-01.min.json":16,"../apis/cloudtrail-2013-11-01.paginators.json":17,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],137:[function(require,module,exports){
 83704 require('../lib/node_loader');
 83705 var AWS = require('../lib/core');
 83706 var Service = require('../lib/service');
 83707 var apiLoader = require('../lib/api_loader');
 83708 
 83709 apiLoader.services['cloudwatch'] = {};
 83710 AWS.CloudWatch = Service.defineService('cloudwatch', ['2010-08-01']);
 83711 Object.defineProperty(apiLoader.services['cloudwatch'], '2010-08-01', {
 83712   get: function get() {
 83713     var model = require('../apis/monitoring-2010-08-01.min.json');
 83714     model.paginators = require('../apis/monitoring-2010-08-01.paginators.json').pagination;
 83715     model.waiters = require('../apis/monitoring-2010-08-01.waiters2.json').waiters;
 83716     return model;
 83717   },
 83718   enumerable: true,
 83719   configurable: true
 83720 });
 83721 
 83722 module.exports = AWS.CloudWatch;
 83723 
 83724 },{"../apis/monitoring-2010-08-01.min.json":89,"../apis/monitoring-2010-08-01.paginators.json":90,"../apis/monitoring-2010-08-01.waiters2.json":91,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],138:[function(require,module,exports){
 83725 require('../lib/node_loader');
 83726 var AWS = require('../lib/core');
 83727 var Service = require('../lib/service');
 83728 var apiLoader = require('../lib/api_loader');
 83729 
 83730 apiLoader.services['cloudwatchevents'] = {};
 83731 AWS.CloudWatchEvents = Service.defineService('cloudwatchevents', ['2014-02-03*', '2015-10-07']);
 83732 Object.defineProperty(apiLoader.services['cloudwatchevents'], '2015-10-07', {
 83733   get: function get() {
 83734     var model = require('../apis/events-2015-10-07.min.json');
 83735     return model;
 83736   },
 83737   enumerable: true,
 83738   configurable: true
 83739 });
 83740 
 83741 module.exports = AWS.CloudWatchEvents;
 83742 
 83743 },{"../apis/events-2015-10-07.min.json":66,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],139:[function(require,module,exports){
 83744 require('../lib/node_loader');
 83745 var AWS = require('../lib/core');
 83746 var Service = require('../lib/service');
 83747 var apiLoader = require('../lib/api_loader');
 83748 
 83749 apiLoader.services['cloudwatchlogs'] = {};
 83750 AWS.CloudWatchLogs = Service.defineService('cloudwatchlogs', ['2014-03-28']);
 83751 Object.defineProperty(apiLoader.services['cloudwatchlogs'], '2014-03-28', {
 83752   get: function get() {
 83753     var model = require('../apis/logs-2014-03-28.min.json');
 83754     model.paginators = require('../apis/logs-2014-03-28.paginators.json').pagination;
 83755     return model;
 83756   },
 83757   enumerable: true,
 83758   configurable: true
 83759 });
 83760 
 83761 module.exports = AWS.CloudWatchLogs;
 83762 
 83763 },{"../apis/logs-2014-03-28.min.json":81,"../apis/logs-2014-03-28.paginators.json":82,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],140:[function(require,module,exports){
 83764 require('../lib/node_loader');
 83765 var AWS = require('../lib/core');
 83766 var Service = require('../lib/service');
 83767 var apiLoader = require('../lib/api_loader');
 83768 
 83769 apiLoader.services['codecommit'] = {};
 83770 AWS.CodeCommit = Service.defineService('codecommit', ['2015-04-13']);
 83771 Object.defineProperty(apiLoader.services['codecommit'], '2015-04-13', {
 83772   get: function get() {
 83773     var model = require('../apis/codecommit-2015-04-13.min.json');
 83774     model.paginators = require('../apis/codecommit-2015-04-13.paginators.json').pagination;
 83775     return model;
 83776   },
 83777   enumerable: true,
 83778   configurable: true
 83779 });
 83780 
 83781 module.exports = AWS.CodeCommit;
 83782 
 83783 },{"../apis/codecommit-2015-04-13.min.json":18,"../apis/codecommit-2015-04-13.paginators.json":19,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],141:[function(require,module,exports){
 83784 require('../lib/node_loader');
 83785 var AWS = require('../lib/core');
 83786 var Service = require('../lib/service');
 83787 var apiLoader = require('../lib/api_loader');
 83788 
 83789 apiLoader.services['codedeploy'] = {};
 83790 AWS.CodeDeploy = Service.defineService('codedeploy', ['2014-10-06']);
 83791 Object.defineProperty(apiLoader.services['codedeploy'], '2014-10-06', {
 83792   get: function get() {
 83793     var model = require('../apis/codedeploy-2014-10-06.min.json');
 83794     model.paginators = require('../apis/codedeploy-2014-10-06.paginators.json').pagination;
 83795     model.waiters = require('../apis/codedeploy-2014-10-06.waiters2.json').waiters;
 83796     return model;
 83797   },
 83798   enumerable: true,
 83799   configurable: true
 83800 });
 83801 
 83802 module.exports = AWS.CodeDeploy;
 83803 
 83804 },{"../apis/codedeploy-2014-10-06.min.json":20,"../apis/codedeploy-2014-10-06.paginators.json":21,"../apis/codedeploy-2014-10-06.waiters2.json":22,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],142:[function(require,module,exports){
 83805 require('../lib/node_loader');
 83806 var AWS = require('../lib/core');
 83807 var Service = require('../lib/service');
 83808 var apiLoader = require('../lib/api_loader');
 83809 
 83810 apiLoader.services['codepipeline'] = {};
 83811 AWS.CodePipeline = Service.defineService('codepipeline', ['2015-07-09']);
 83812 Object.defineProperty(apiLoader.services['codepipeline'], '2015-07-09', {
 83813   get: function get() {
 83814     var model = require('../apis/codepipeline-2015-07-09.min.json');
 83815     return model;
 83816   },
 83817   enumerable: true,
 83818   configurable: true
 83819 });
 83820 
 83821 module.exports = AWS.CodePipeline;
 83822 
 83823 },{"../apis/codepipeline-2015-07-09.min.json":23,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],143:[function(require,module,exports){
 83824 require('../lib/node_loader');
 83825 var AWS = require('../lib/core');
 83826 var Service = require('../lib/service');
 83827 var apiLoader = require('../lib/api_loader');
 83828 
 83829 apiLoader.services['cognitoidentity'] = {};
 83830 AWS.CognitoIdentity = Service.defineService('cognitoidentity', ['2014-06-30']);
 83831 require('../lib/services/cognitoidentity');
 83832 Object.defineProperty(apiLoader.services['cognitoidentity'], '2014-06-30', {
 83833   get: function get() {
 83834     var model = require('../apis/cognito-identity-2014-06-30.min.json');
 83835     return model;
 83836   },
 83837   enumerable: true,
 83838   configurable: true
 83839 });
 83840 
 83841 module.exports = AWS.CognitoIdentity;
 83842 
 83843 },{"../apis/cognito-identity-2014-06-30.min.json":24,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/cognitoidentity":229}],144:[function(require,module,exports){
 83844 require('../lib/node_loader');
 83845 var AWS = require('../lib/core');
 83846 var Service = require('../lib/service');
 83847 var apiLoader = require('../lib/api_loader');
 83848 
 83849 apiLoader.services['cognitoidentityserviceprovider'] = {};
 83850 AWS.CognitoIdentityServiceProvider = Service.defineService('cognitoidentityserviceprovider', ['2016-04-18']);
 83851 Object.defineProperty(apiLoader.services['cognitoidentityserviceprovider'], '2016-04-18', {
 83852   get: function get() {
 83853     var model = require('../apis/cognito-idp-2016-04-18.min.json');
 83854     return model;
 83855   },
 83856   enumerable: true,
 83857   configurable: true
 83858 });
 83859 
 83860 module.exports = AWS.CognitoIdentityServiceProvider;
 83861 
 83862 },{"../apis/cognito-idp-2016-04-18.min.json":25,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],145:[function(require,module,exports){
 83863 require('../lib/node_loader');
 83864 var AWS = require('../lib/core');
 83865 var Service = require('../lib/service');
 83866 var apiLoader = require('../lib/api_loader');
 83867 
 83868 apiLoader.services['cognitosync'] = {};
 83869 AWS.CognitoSync = Service.defineService('cognitosync', ['2014-06-30']);
 83870 Object.defineProperty(apiLoader.services['cognitosync'], '2014-06-30', {
 83871   get: function get() {
 83872     var model = require('../apis/cognito-sync-2014-06-30.min.json');
 83873     return model;
 83874   },
 83875   enumerable: true,
 83876   configurable: true
 83877 });
 83878 
 83879 module.exports = AWS.CognitoSync;
 83880 
 83881 },{"../apis/cognito-sync-2014-06-30.min.json":26,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],146:[function(require,module,exports){
 83882 require('../lib/node_loader');
 83883 var AWS = require('../lib/core');
 83884 var Service = require('../lib/service');
 83885 var apiLoader = require('../lib/api_loader');
 83886 
 83887 apiLoader.services['configservice'] = {};
 83888 AWS.ConfigService = Service.defineService('configservice', ['2014-11-12']);
 83889 Object.defineProperty(apiLoader.services['configservice'], '2014-11-12', {
 83890   get: function get() {
 83891     var model = require('../apis/config-2014-11-12.min.json');
 83892     model.paginators = require('../apis/config-2014-11-12.paginators.json').pagination;
 83893     return model;
 83894   },
 83895   enumerable: true,
 83896   configurable: true
 83897 });
 83898 
 83899 module.exports = AWS.ConfigService;
 83900 
 83901 },{"../apis/config-2014-11-12.min.json":27,"../apis/config-2014-11-12.paginators.json":28,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],147:[function(require,module,exports){
 83902 require('../lib/node_loader');
 83903 var AWS = require('../lib/core');
 83904 var Service = require('../lib/service');
 83905 var apiLoader = require('../lib/api_loader');
 83906 
 83907 apiLoader.services['devicefarm'] = {};
 83908 AWS.DeviceFarm = Service.defineService('devicefarm', ['2015-06-23']);
 83909 Object.defineProperty(apiLoader.services['devicefarm'], '2015-06-23', {
 83910   get: function get() {
 83911     var model = require('../apis/devicefarm-2015-06-23.min.json');
 83912     model.paginators = require('../apis/devicefarm-2015-06-23.paginators.json').pagination;
 83913     return model;
 83914   },
 83915   enumerable: true,
 83916   configurable: true
 83917 });
 83918 
 83919 module.exports = AWS.DeviceFarm;
 83920 
 83921 },{"../apis/devicefarm-2015-06-23.min.json":29,"../apis/devicefarm-2015-06-23.paginators.json":30,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],148:[function(require,module,exports){
 83922 require('../lib/node_loader');
 83923 var AWS = require('../lib/core');
 83924 var Service = require('../lib/service');
 83925 var apiLoader = require('../lib/api_loader');
 83926 
 83927 apiLoader.services['directconnect'] = {};
 83928 AWS.DirectConnect = Service.defineService('directconnect', ['2012-10-25']);
 83929 Object.defineProperty(apiLoader.services['directconnect'], '2012-10-25', {
 83930   get: function get() {
 83931     var model = require('../apis/directconnect-2012-10-25.min.json');
 83932     model.paginators = require('../apis/directconnect-2012-10-25.paginators.json').pagination;
 83933     return model;
 83934   },
 83935   enumerable: true,
 83936   configurable: true
 83937 });
 83938 
 83939 module.exports = AWS.DirectConnect;
 83940 
 83941 },{"../apis/directconnect-2012-10-25.min.json":31,"../apis/directconnect-2012-10-25.paginators.json":32,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],149:[function(require,module,exports){
 83942 require('../lib/node_loader');
 83943 var AWS = require('../lib/core');
 83944 var Service = require('../lib/service');
 83945 var apiLoader = require('../lib/api_loader');
 83946 
 83947 apiLoader.services['dynamodb'] = {};
 83948 AWS.DynamoDB = Service.defineService('dynamodb', ['2011-12-05', '2012-08-10']);
 83949 require('../lib/services/dynamodb');
 83950 Object.defineProperty(apiLoader.services['dynamodb'], '2011-12-05', {
 83951   get: function get() {
 83952     var model = require('../apis/dynamodb-2011-12-05.min.json');
 83953     model.paginators = require('../apis/dynamodb-2011-12-05.paginators.json').pagination;
 83954     model.waiters = require('../apis/dynamodb-2011-12-05.waiters2.json').waiters;
 83955     return model;
 83956   },
 83957   enumerable: true,
 83958   configurable: true
 83959 });
 83960 Object.defineProperty(apiLoader.services['dynamodb'], '2012-08-10', {
 83961   get: function get() {
 83962     var model = require('../apis/dynamodb-2012-08-10.min.json');
 83963     model.paginators = require('../apis/dynamodb-2012-08-10.paginators.json').pagination;
 83964     model.waiters = require('../apis/dynamodb-2012-08-10.waiters2.json').waiters;
 83965     return model;
 83966   },
 83967   enumerable: true,
 83968   configurable: true
 83969 });
 83970 
 83971 module.exports = AWS.DynamoDB;
 83972 
 83973 },{"../apis/dynamodb-2011-12-05.min.json":33,"../apis/dynamodb-2011-12-05.paginators.json":34,"../apis/dynamodb-2011-12-05.waiters2.json":35,"../apis/dynamodb-2012-08-10.min.json":36,"../apis/dynamodb-2012-08-10.paginators.json":37,"../apis/dynamodb-2012-08-10.waiters2.json":38,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/dynamodb":230}],150:[function(require,module,exports){
 83974 require('../lib/node_loader');
 83975 var AWS = require('../lib/core');
 83976 var Service = require('../lib/service');
 83977 var apiLoader = require('../lib/api_loader');
 83978 
 83979 apiLoader.services['dynamodbstreams'] = {};
 83980 AWS.DynamoDBStreams = Service.defineService('dynamodbstreams', ['2012-08-10']);
 83981 Object.defineProperty(apiLoader.services['dynamodbstreams'], '2012-08-10', {
 83982   get: function get() {
 83983     var model = require('../apis/streams.dynamodb-2012-08-10.min.json');
 83984     return model;
 83985   },
 83986   enumerable: true,
 83987   configurable: true
 83988 });
 83989 
 83990 module.exports = AWS.DynamoDBStreams;
 83991 
 83992 },{"../apis/streams.dynamodb-2012-08-10.min.json":125,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],151:[function(require,module,exports){
 83993 require('../lib/node_loader');
 83994 var AWS = require('../lib/core');
 83995 var Service = require('../lib/service');
 83996 var apiLoader = require('../lib/api_loader');
 83997 
 83998 apiLoader.services['ec2'] = {};
 83999 AWS.EC2 = Service.defineService('ec2', ['2013-06-15*', '2013-10-15*', '2014-02-01*', '2014-05-01*', '2014-06-15*', '2014-09-01*', '2014-10-01*', '2015-03-01*', '2015-04-15*', '2015-10-01*', '2016-04-01*', '2016-09-15']);
 84000 require('../lib/services/ec2');
 84001 Object.defineProperty(apiLoader.services['ec2'], '2016-09-15', {
 84002   get: function get() {
 84003     var model = require('../apis/ec2-2016-09-15.min.json');
 84004     model.paginators = require('../apis/ec2-2016-09-15.paginators.json').pagination;
 84005     model.waiters = require('../apis/ec2-2016-09-15.waiters2.json').waiters;
 84006     return model;
 84007   },
 84008   enumerable: true,
 84009   configurable: true
 84010 });
 84011 
 84012 module.exports = AWS.EC2;
 84013 
 84014 },{"../apis/ec2-2016-09-15.min.json":39,"../apis/ec2-2016-09-15.paginators.json":40,"../apis/ec2-2016-09-15.waiters2.json":41,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/ec2":231}],152:[function(require,module,exports){
 84015 require('../lib/node_loader');
 84016 var AWS = require('../lib/core');
 84017 var Service = require('../lib/service');
 84018 var apiLoader = require('../lib/api_loader');
 84019 
 84020 apiLoader.services['ecr'] = {};
 84021 AWS.ECR = Service.defineService('ecr', ['2015-09-21']);
 84022 Object.defineProperty(apiLoader.services['ecr'], '2015-09-21', {
 84023   get: function get() {
 84024     var model = require('../apis/ecr-2015-09-21.min.json');
 84025     model.paginators = require('../apis/ecr-2015-09-21.paginators.json').pagination;
 84026     return model;
 84027   },
 84028   enumerable: true,
 84029   configurable: true
 84030 });
 84031 
 84032 module.exports = AWS.ECR;
 84033 
 84034 },{"../apis/ecr-2015-09-21.min.json":42,"../apis/ecr-2015-09-21.paginators.json":43,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],153:[function(require,module,exports){
 84035 require('../lib/node_loader');
 84036 var AWS = require('../lib/core');
 84037 var Service = require('../lib/service');
 84038 var apiLoader = require('../lib/api_loader');
 84039 
 84040 apiLoader.services['ecs'] = {};
 84041 AWS.ECS = Service.defineService('ecs', ['2014-11-13']);
 84042 Object.defineProperty(apiLoader.services['ecs'], '2014-11-13', {
 84043   get: function get() {
 84044     var model = require('../apis/ecs-2014-11-13.min.json');
 84045     model.paginators = require('../apis/ecs-2014-11-13.paginators.json').pagination;
 84046     model.waiters = require('../apis/ecs-2014-11-13.waiters2.json').waiters;
 84047     return model;
 84048   },
 84049   enumerable: true,
 84050   configurable: true
 84051 });
 84052 
 84053 module.exports = AWS.ECS;
 84054 
 84055 },{"../apis/ecs-2014-11-13.min.json":44,"../apis/ecs-2014-11-13.paginators.json":45,"../apis/ecs-2014-11-13.waiters2.json":46,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],154:[function(require,module,exports){
 84056 require('../lib/node_loader');
 84057 var AWS = require('../lib/core');
 84058 var Service = require('../lib/service');
 84059 var apiLoader = require('../lib/api_loader');
 84060 
 84061 apiLoader.services['elasticache'] = {};
 84062 AWS.ElastiCache = Service.defineService('elasticache', ['2012-11-15*', '2014-03-24*', '2014-07-15*', '2014-09-30*', '2015-02-02']);
 84063 Object.defineProperty(apiLoader.services['elasticache'], '2015-02-02', {
 84064   get: function get() {
 84065     var model = require('../apis/elasticache-2015-02-02.min.json');
 84066     model.paginators = require('../apis/elasticache-2015-02-02.paginators.json').pagination;
 84067     model.waiters = require('../apis/elasticache-2015-02-02.waiters2.json').waiters;
 84068     return model;
 84069   },
 84070   enumerable: true,
 84071   configurable: true
 84072 });
 84073 
 84074 module.exports = AWS.ElastiCache;
 84075 
 84076 },{"../apis/elasticache-2015-02-02.min.json":47,"../apis/elasticache-2015-02-02.paginators.json":48,"../apis/elasticache-2015-02-02.waiters2.json":49,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],155:[function(require,module,exports){
 84077 require('../lib/node_loader');
 84078 var AWS = require('../lib/core');
 84079 var Service = require('../lib/service');
 84080 var apiLoader = require('../lib/api_loader');
 84081 
 84082 apiLoader.services['elasticbeanstalk'] = {};
 84083 AWS.ElasticBeanstalk = Service.defineService('elasticbeanstalk', ['2010-12-01']);
 84084 Object.defineProperty(apiLoader.services['elasticbeanstalk'], '2010-12-01', {
 84085   get: function get() {
 84086     var model = require('../apis/elasticbeanstalk-2010-12-01.min.json');
 84087     model.paginators = require('../apis/elasticbeanstalk-2010-12-01.paginators.json').pagination;
 84088     return model;
 84089   },
 84090   enumerable: true,
 84091   configurable: true
 84092 });
 84093 
 84094 module.exports = AWS.ElasticBeanstalk;
 84095 
 84096 },{"../apis/elasticbeanstalk-2010-12-01.min.json":50,"../apis/elasticbeanstalk-2010-12-01.paginators.json":51,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],156:[function(require,module,exports){
 84097 require('../lib/node_loader');
 84098 var AWS = require('../lib/core');
 84099 var Service = require('../lib/service');
 84100 var apiLoader = require('../lib/api_loader');
 84101 
 84102 apiLoader.services['elastictranscoder'] = {};
 84103 AWS.ElasticTranscoder = Service.defineService('elastictranscoder', ['2012-09-25']);
 84104 Object.defineProperty(apiLoader.services['elastictranscoder'], '2012-09-25', {
 84105   get: function get() {
 84106     var model = require('../apis/elastictranscoder-2012-09-25.min.json');
 84107     model.paginators = require('../apis/elastictranscoder-2012-09-25.paginators.json').pagination;
 84108     model.waiters = require('../apis/elastictranscoder-2012-09-25.waiters2.json').waiters;
 84109     return model;
 84110   },
 84111   enumerable: true,
 84112   configurable: true
 84113 });
 84114 
 84115 module.exports = AWS.ElasticTranscoder;
 84116 
 84117 },{"../apis/elastictranscoder-2012-09-25.min.json":60,"../apis/elastictranscoder-2012-09-25.paginators.json":61,"../apis/elastictranscoder-2012-09-25.waiters2.json":62,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],157:[function(require,module,exports){
 84118 require('../lib/node_loader');
 84119 var AWS = require('../lib/core');
 84120 var Service = require('../lib/service');
 84121 var apiLoader = require('../lib/api_loader');
 84122 
 84123 apiLoader.services['elb'] = {};
 84124 AWS.ELB = Service.defineService('elb', ['2012-06-01']);
 84125 Object.defineProperty(apiLoader.services['elb'], '2012-06-01', {
 84126   get: function get() {
 84127     var model = require('../apis/elasticloadbalancing-2012-06-01.min.json');
 84128     model.paginators = require('../apis/elasticloadbalancing-2012-06-01.paginators.json').pagination;
 84129     model.waiters = require('../apis/elasticloadbalancing-2012-06-01.waiters2.json').waiters;
 84130     return model;
 84131   },
 84132   enumerable: true,
 84133   configurable: true
 84134 });
 84135 
 84136 module.exports = AWS.ELB;
 84137 
 84138 },{"../apis/elasticloadbalancing-2012-06-01.min.json":52,"../apis/elasticloadbalancing-2012-06-01.paginators.json":53,"../apis/elasticloadbalancing-2012-06-01.waiters2.json":54,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],158:[function(require,module,exports){
 84139 require('../lib/node_loader');
 84140 var AWS = require('../lib/core');
 84141 var Service = require('../lib/service');
 84142 var apiLoader = require('../lib/api_loader');
 84143 
 84144 apiLoader.services['elbv2'] = {};
 84145 AWS.ELBv2 = Service.defineService('elbv2', ['2015-12-01']);
 84146 Object.defineProperty(apiLoader.services['elbv2'], '2015-12-01', {
 84147   get: function get() {
 84148     var model = require('../apis/elasticloadbalancingv2-2015-12-01.min.json');
 84149     model.paginators = require('../apis/elasticloadbalancingv2-2015-12-01.paginators.json').pagination;
 84150     return model;
 84151   },
 84152   enumerable: true,
 84153   configurable: true
 84154 });
 84155 
 84156 module.exports = AWS.ELBv2;
 84157 
 84158 },{"../apis/elasticloadbalancingv2-2015-12-01.min.json":55,"../apis/elasticloadbalancingv2-2015-12-01.paginators.json":56,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],159:[function(require,module,exports){
 84159 require('../lib/node_loader');
 84160 var AWS = require('../lib/core');
 84161 var Service = require('../lib/service');
 84162 var apiLoader = require('../lib/api_loader');
 84163 
 84164 apiLoader.services['emr'] = {};
 84165 AWS.EMR = Service.defineService('emr', ['2009-03-31']);
 84166 Object.defineProperty(apiLoader.services['emr'], '2009-03-31', {
 84167   get: function get() {
 84168     var model = require('../apis/elasticmapreduce-2009-03-31.min.json');
 84169     model.paginators = require('../apis/elasticmapreduce-2009-03-31.paginators.json').pagination;
 84170     model.waiters = require('../apis/elasticmapreduce-2009-03-31.waiters2.json').waiters;
 84171     return model;
 84172   },
 84173   enumerable: true,
 84174   configurable: true
 84175 });
 84176 
 84177 module.exports = AWS.EMR;
 84178 
 84179 },{"../apis/elasticmapreduce-2009-03-31.min.json":57,"../apis/elasticmapreduce-2009-03-31.paginators.json":58,"../apis/elasticmapreduce-2009-03-31.waiters2.json":59,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],160:[function(require,module,exports){
 84180 require('../lib/node_loader');
 84181 var AWS = require('../lib/core');
 84182 var Service = require('../lib/service');
 84183 var apiLoader = require('../lib/api_loader');
 84184 
 84185 apiLoader.services['firehose'] = {};
 84186 AWS.Firehose = Service.defineService('firehose', ['2015-08-04']);
 84187 Object.defineProperty(apiLoader.services['firehose'], '2015-08-04', {
 84188   get: function get() {
 84189     var model = require('../apis/firehose-2015-08-04.min.json');
 84190     return model;
 84191   },
 84192   enumerable: true,
 84193   configurable: true
 84194 });
 84195 
 84196 module.exports = AWS.Firehose;
 84197 
 84198 },{"../apis/firehose-2015-08-04.min.json":67,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],161:[function(require,module,exports){
 84199 require('../lib/node_loader');
 84200 var AWS = require('../lib/core');
 84201 var Service = require('../lib/service');
 84202 var apiLoader = require('../lib/api_loader');
 84203 
 84204 apiLoader.services['gamelift'] = {};
 84205 AWS.GameLift = Service.defineService('gamelift', ['2015-10-01']);
 84206 Object.defineProperty(apiLoader.services['gamelift'], '2015-10-01', {
 84207   get: function get() {
 84208     var model = require('../apis/gamelift-2015-10-01.min.json');
 84209     return model;
 84210   },
 84211   enumerable: true,
 84212   configurable: true
 84213 });
 84214 
 84215 module.exports = AWS.GameLift;
 84216 
 84217 },{"../apis/gamelift-2015-10-01.min.json":68,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],162:[function(require,module,exports){
 84218 require('../lib/node_loader');
 84219 var AWS = require('../lib/core');
 84220 var Service = require('../lib/service');
 84221 var apiLoader = require('../lib/api_loader');
 84222 
 84223 apiLoader.services['inspector'] = {};
 84224 AWS.Inspector = Service.defineService('inspector', ['2015-08-18*', '2016-02-16']);
 84225 Object.defineProperty(apiLoader.services['inspector'], '2016-02-16', {
 84226   get: function get() {
 84227     var model = require('../apis/inspector-2016-02-16.min.json');
 84228     return model;
 84229   },
 84230   enumerable: true,
 84231   configurable: true
 84232 });
 84233 
 84234 module.exports = AWS.Inspector;
 84235 
 84236 },{"../apis/inspector-2016-02-16.min.json":69,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],163:[function(require,module,exports){
 84237 require('../lib/node_loader');
 84238 var AWS = require('../lib/core');
 84239 var Service = require('../lib/service');
 84240 var apiLoader = require('../lib/api_loader');
 84241 
 84242 apiLoader.services['iot'] = {};
 84243 AWS.Iot = Service.defineService('iot', ['2015-05-28']);
 84244 Object.defineProperty(apiLoader.services['iot'], '2015-05-28', {
 84245   get: function get() {
 84246     var model = require('../apis/iot-2015-05-28.min.json');
 84247     return model;
 84248   },
 84249   enumerable: true,
 84250   configurable: true
 84251 });
 84252 
 84253 module.exports = AWS.Iot;
 84254 
 84255 },{"../apis/iot-2015-05-28.min.json":70,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],164:[function(require,module,exports){
 84256 require('../lib/node_loader');
 84257 var AWS = require('../lib/core');
 84258 var Service = require('../lib/service');
 84259 var apiLoader = require('../lib/api_loader');
 84260 
 84261 apiLoader.services['iotdata'] = {};
 84262 AWS.IotData = Service.defineService('iotdata', ['2015-05-28']);
 84263 require('../lib/services/iotdata');
 84264 Object.defineProperty(apiLoader.services['iotdata'], '2015-05-28', {
 84265   get: function get() {
 84266     var model = require('../apis/iot-data-2015-05-28.min.json');
 84267     return model;
 84268   },
 84269   enumerable: true,
 84270   configurable: true
 84271 });
 84272 
 84273 module.exports = AWS.IotData;
 84274 
 84275 },{"../apis/iot-data-2015-05-28.min.json":71,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/iotdata":232}],165:[function(require,module,exports){
 84276 require('../lib/node_loader');
 84277 var AWS = require('../lib/core');
 84278 var Service = require('../lib/service');
 84279 var apiLoader = require('../lib/api_loader');
 84280 
 84281 apiLoader.services['kinesis'] = {};
 84282 AWS.Kinesis = Service.defineService('kinesis', ['2013-12-02']);
 84283 Object.defineProperty(apiLoader.services['kinesis'], '2013-12-02', {
 84284   get: function get() {
 84285     var model = require('../apis/kinesis-2013-12-02.min.json');
 84286     model.paginators = require('../apis/kinesis-2013-12-02.paginators.json').pagination;
 84287     model.waiters = require('../apis/kinesis-2013-12-02.waiters2.json').waiters;
 84288     return model;
 84289   },
 84290   enumerable: true,
 84291   configurable: true
 84292 });
 84293 
 84294 module.exports = AWS.Kinesis;
 84295 
 84296 },{"../apis/kinesis-2013-12-02.min.json":72,"../apis/kinesis-2013-12-02.paginators.json":73,"../apis/kinesis-2013-12-02.waiters2.json":74,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],166:[function(require,module,exports){
 84297 require('../lib/node_loader');
 84298 var AWS = require('../lib/core');
 84299 var Service = require('../lib/service');
 84300 var apiLoader = require('../lib/api_loader');
 84301 
 84302 apiLoader.services['kms'] = {};
 84303 AWS.KMS = Service.defineService('kms', ['2014-11-01']);
 84304 Object.defineProperty(apiLoader.services['kms'], '2014-11-01', {
 84305   get: function get() {
 84306     var model = require('../apis/kms-2014-11-01.min.json');
 84307     model.paginators = require('../apis/kms-2014-11-01.paginators.json').pagination;
 84308     return model;
 84309   },
 84310   enumerable: true,
 84311   configurable: true
 84312 });
 84313 
 84314 module.exports = AWS.KMS;
 84315 
 84316 },{"../apis/kms-2014-11-01.min.json":75,"../apis/kms-2014-11-01.paginators.json":76,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],167:[function(require,module,exports){
 84317 require('../lib/node_loader');
 84318 var AWS = require('../lib/core');
 84319 var Service = require('../lib/service');
 84320 var apiLoader = require('../lib/api_loader');
 84321 
 84322 apiLoader.services['lambda'] = {};
 84323 AWS.Lambda = Service.defineService('lambda', ['2014-11-11', '2015-03-31']);
 84324 Object.defineProperty(apiLoader.services['lambda'], '2014-11-11', {
 84325   get: function get() {
 84326     var model = require('../apis/lambda-2014-11-11.min.json');
 84327     model.paginators = require('../apis/lambda-2014-11-11.paginators.json').pagination;
 84328     return model;
 84329   },
 84330   enumerable: true,
 84331   configurable: true
 84332 });
 84333 Object.defineProperty(apiLoader.services['lambda'], '2015-03-31', {
 84334   get: function get() {
 84335     var model = require('../apis/lambda-2015-03-31.min.json');
 84336     model.paginators = require('../apis/lambda-2015-03-31.paginators.json').pagination;
 84337     return model;
 84338   },
 84339   enumerable: true,
 84340   configurable: true
 84341 });
 84342 
 84343 module.exports = AWS.Lambda;
 84344 
 84345 },{"../apis/lambda-2014-11-11.min.json":77,"../apis/lambda-2014-11-11.paginators.json":78,"../apis/lambda-2015-03-31.min.json":79,"../apis/lambda-2015-03-31.paginators.json":80,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],168:[function(require,module,exports){
 84346 require('../lib/node_loader');
 84347 var AWS = require('../lib/core');
 84348 var Service = require('../lib/service');
 84349 var apiLoader = require('../lib/api_loader');
 84350 
 84351 apiLoader.services['machinelearning'] = {};
 84352 AWS.MachineLearning = Service.defineService('machinelearning', ['2014-12-12']);
 84353 require('../lib/services/machinelearning');
 84354 Object.defineProperty(apiLoader.services['machinelearning'], '2014-12-12', {
 84355   get: function get() {
 84356     var model = require('../apis/machinelearning-2014-12-12.min.json');
 84357     model.paginators = require('../apis/machinelearning-2014-12-12.paginators.json').pagination;
 84358     model.waiters = require('../apis/machinelearning-2014-12-12.waiters2.json').waiters;
 84359     return model;
 84360   },
 84361   enumerable: true,
 84362   configurable: true
 84363 });
 84364 
 84365 module.exports = AWS.MachineLearning;
 84366 
 84367 },{"../apis/machinelearning-2014-12-12.min.json":83,"../apis/machinelearning-2014-12-12.paginators.json":84,"../apis/machinelearning-2014-12-12.waiters2.json":85,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/machinelearning":233}],169:[function(require,module,exports){
 84368 require('../lib/node_loader');
 84369 var AWS = require('../lib/core');
 84370 var Service = require('../lib/service');
 84371 var apiLoader = require('../lib/api_loader');
 84372 
 84373 apiLoader.services['marketplacecommerceanalytics'] = {};
 84374 AWS.MarketplaceCommerceAnalytics = Service.defineService('marketplacecommerceanalytics', ['2015-07-01']);
 84375 Object.defineProperty(apiLoader.services['marketplacecommerceanalytics'], '2015-07-01', {
 84376   get: function get() {
 84377     var model = require('../apis/marketplacecommerceanalytics-2015-07-01.min.json');
 84378     return model;
 84379   },
 84380   enumerable: true,
 84381   configurable: true
 84382 });
 84383 
 84384 module.exports = AWS.MarketplaceCommerceAnalytics;
 84385 
 84386 },{"../apis/marketplacecommerceanalytics-2015-07-01.min.json":86,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],170:[function(require,module,exports){
 84387 require('../lib/node_loader');
 84388 var AWS = require('../lib/core');
 84389 var Service = require('../lib/service');
 84390 var apiLoader = require('../lib/api_loader');
 84391 
 84392 apiLoader.services['mobileanalytics'] = {};
 84393 AWS.MobileAnalytics = Service.defineService('mobileanalytics', ['2014-06-05']);
 84394 Object.defineProperty(apiLoader.services['mobileanalytics'], '2014-06-05', {
 84395   get: function get() {
 84396     var model = require('../apis/mobileanalytics-2014-06-05.min.json');
 84397     return model;
 84398   },
 84399   enumerable: true,
 84400   configurable: true
 84401 });
 84402 
 84403 module.exports = AWS.MobileAnalytics;
 84404 
 84405 },{"../apis/mobileanalytics-2014-06-05.min.json":88,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],171:[function(require,module,exports){
 84406 require('../lib/node_loader');
 84407 var AWS = require('../lib/core');
 84408 var Service = require('../lib/service');
 84409 var apiLoader = require('../lib/api_loader');
 84410 
 84411 apiLoader.services['opsworks'] = {};
 84412 AWS.OpsWorks = Service.defineService('opsworks', ['2013-02-18']);
 84413 Object.defineProperty(apiLoader.services['opsworks'], '2013-02-18', {
 84414   get: function get() {
 84415     var model = require('../apis/opsworks-2013-02-18.min.json');
 84416     model.paginators = require('../apis/opsworks-2013-02-18.paginators.json').pagination;
 84417     model.waiters = require('../apis/opsworks-2013-02-18.waiters2.json').waiters;
 84418     return model;
 84419   },
 84420   enumerable: true,
 84421   configurable: true
 84422 });
 84423 
 84424 module.exports = AWS.OpsWorks;
 84425 
 84426 },{"../apis/opsworks-2013-02-18.min.json":92,"../apis/opsworks-2013-02-18.paginators.json":93,"../apis/opsworks-2013-02-18.waiters2.json":94,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],172:[function(require,module,exports){
 84427 require('../lib/node_loader');
 84428 var AWS = require('../lib/core');
 84429 var Service = require('../lib/service');
 84430 var apiLoader = require('../lib/api_loader');
 84431 
 84432 apiLoader.services['rds'] = {};
 84433 AWS.RDS = Service.defineService('rds', ['2013-01-10', '2013-02-12', '2013-09-09', '2014-09-01*', '2014-10-31']);
 84434 Object.defineProperty(apiLoader.services['rds'], '2013-01-10', {
 84435   get: function get() {
 84436     var model = require('../apis/rds-2013-01-10.min.json');
 84437     model.paginators = require('../apis/rds-2013-01-10.paginators.json').pagination;
 84438     return model;
 84439   },
 84440   enumerable: true,
 84441   configurable: true
 84442 });
 84443 Object.defineProperty(apiLoader.services['rds'], '2013-02-12', {
 84444   get: function get() {
 84445     var model = require('../apis/rds-2013-02-12.min.json');
 84446     model.paginators = require('../apis/rds-2013-02-12.paginators.json').pagination;
 84447     return model;
 84448   },
 84449   enumerable: true,
 84450   configurable: true
 84451 });
 84452 Object.defineProperty(apiLoader.services['rds'], '2013-09-09', {
 84453   get: function get() {
 84454     var model = require('../apis/rds-2013-09-09.min.json');
 84455     model.paginators = require('../apis/rds-2013-09-09.paginators.json').pagination;
 84456     model.waiters = require('../apis/rds-2013-09-09.waiters2.json').waiters;
 84457     return model;
 84458   },
 84459   enumerable: true,
 84460   configurable: true
 84461 });
 84462 Object.defineProperty(apiLoader.services['rds'], '2014-10-31', {
 84463   get: function get() {
 84464     var model = require('../apis/rds-2014-10-31.min.json');
 84465     model.paginators = require('../apis/rds-2014-10-31.paginators.json').pagination;
 84466     model.waiters = require('../apis/rds-2014-10-31.waiters2.json').waiters;
 84467     return model;
 84468   },
 84469   enumerable: true,
 84470   configurable: true
 84471 });
 84472 
 84473 module.exports = AWS.RDS;
 84474 
 84475 },{"../apis/rds-2013-01-10.min.json":95,"../apis/rds-2013-01-10.paginators.json":96,"../apis/rds-2013-02-12.min.json":97,"../apis/rds-2013-02-12.paginators.json":98,"../apis/rds-2013-09-09.min.json":99,"../apis/rds-2013-09-09.paginators.json":100,"../apis/rds-2013-09-09.waiters2.json":101,"../apis/rds-2014-10-31.min.json":102,"../apis/rds-2014-10-31.paginators.json":103,"../apis/rds-2014-10-31.waiters2.json":104,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],173:[function(require,module,exports){
 84476 require('../lib/node_loader');
 84477 var AWS = require('../lib/core');
 84478 var Service = require('../lib/service');
 84479 var apiLoader = require('../lib/api_loader');
 84480 
 84481 apiLoader.services['redshift'] = {};
 84482 AWS.Redshift = Service.defineService('redshift', ['2012-12-01']);
 84483 Object.defineProperty(apiLoader.services['redshift'], '2012-12-01', {
 84484   get: function get() {
 84485     var model = require('../apis/redshift-2012-12-01.min.json');
 84486     model.paginators = require('../apis/redshift-2012-12-01.paginators.json').pagination;
 84487     model.waiters = require('../apis/redshift-2012-12-01.waiters2.json').waiters;
 84488     return model;
 84489   },
 84490   enumerable: true,
 84491   configurable: true
 84492 });
 84493 
 84494 module.exports = AWS.Redshift;
 84495 
 84496 },{"../apis/redshift-2012-12-01.min.json":105,"../apis/redshift-2012-12-01.paginators.json":106,"../apis/redshift-2012-12-01.waiters2.json":107,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],174:[function(require,module,exports){
 84497 require('../lib/node_loader');
 84498 var AWS = require('../lib/core');
 84499 var Service = require('../lib/service');
 84500 var apiLoader = require('../lib/api_loader');
 84501 
 84502 apiLoader.services['route53'] = {};
 84503 AWS.Route53 = Service.defineService('route53', ['2013-04-01']);
 84504 require('../lib/services/route53');
 84505 Object.defineProperty(apiLoader.services['route53'], '2013-04-01', {
 84506   get: function get() {
 84507     var model = require('../apis/route53-2013-04-01.min.json');
 84508     model.paginators = require('../apis/route53-2013-04-01.paginators.json').pagination;
 84509     model.waiters = require('../apis/route53-2013-04-01.waiters2.json').waiters;
 84510     return model;
 84511   },
 84512   enumerable: true,
 84513   configurable: true
 84514 });
 84515 
 84516 module.exports = AWS.Route53;
 84517 
 84518 },{"../apis/route53-2013-04-01.min.json":108,"../apis/route53-2013-04-01.paginators.json":109,"../apis/route53-2013-04-01.waiters2.json":110,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/route53":234}],175:[function(require,module,exports){
 84519 require('../lib/node_loader');
 84520 var AWS = require('../lib/core');
 84521 var Service = require('../lib/service');
 84522 var apiLoader = require('../lib/api_loader');
 84523 
 84524 apiLoader.services['route53domains'] = {};
 84525 AWS.Route53Domains = Service.defineService('route53domains', ['2014-05-15']);
 84526 Object.defineProperty(apiLoader.services['route53domains'], '2014-05-15', {
 84527   get: function get() {
 84528     var model = require('../apis/route53domains-2014-05-15.min.json');
 84529     model.paginators = require('../apis/route53domains-2014-05-15.paginators.json').pagination;
 84530     return model;
 84531   },
 84532   enumerable: true,
 84533   configurable: true
 84534 });
 84535 
 84536 module.exports = AWS.Route53Domains;
 84537 
 84538 },{"../apis/route53domains-2014-05-15.min.json":111,"../apis/route53domains-2014-05-15.paginators.json":112,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],176:[function(require,module,exports){
 84539 require('../lib/node_loader');
 84540 var AWS = require('../lib/core');
 84541 var Service = require('../lib/service');
 84542 var apiLoader = require('../lib/api_loader');
 84543 
 84544 apiLoader.services['s3'] = {};
 84545 AWS.S3 = Service.defineService('s3', ['2006-03-01']);
 84546 require('../lib/services/s3');
 84547 Object.defineProperty(apiLoader.services['s3'], '2006-03-01', {
 84548   get: function get() {
 84549     var model = require('../apis/s3-2006-03-01.min.json');
 84550     model.paginators = require('../apis/s3-2006-03-01.paginators.json').pagination;
 84551     model.waiters = require('../apis/s3-2006-03-01.waiters2.json').waiters;
 84552     return model;
 84553   },
 84554   enumerable: true,
 84555   configurable: true
 84556 });
 84557 
 84558 module.exports = AWS.S3;
 84559 
 84560 },{"../apis/s3-2006-03-01.min.json":113,"../apis/s3-2006-03-01.paginators.json":114,"../apis/s3-2006-03-01.waiters2.json":115,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/s3":235}],177:[function(require,module,exports){
 84561 require('../lib/node_loader');
 84562 var AWS = require('../lib/core');
 84563 var Service = require('../lib/service');
 84564 var apiLoader = require('../lib/api_loader');
 84565 
 84566 apiLoader.services['servicecatalog'] = {};
 84567 AWS.ServiceCatalog = Service.defineService('servicecatalog', ['2015-12-10']);
 84568 Object.defineProperty(apiLoader.services['servicecatalog'], '2015-12-10', {
 84569   get: function get() {
 84570     var model = require('../apis/servicecatalog-2015-12-10.min.json');
 84571     return model;
 84572   },
 84573   enumerable: true,
 84574   configurable: true
 84575 });
 84576 
 84577 module.exports = AWS.ServiceCatalog;
 84578 
 84579 },{"../apis/servicecatalog-2015-12-10.min.json":116,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],178:[function(require,module,exports){
 84580 require('../lib/node_loader');
 84581 var AWS = require('../lib/core');
 84582 var Service = require('../lib/service');
 84583 var apiLoader = require('../lib/api_loader');
 84584 
 84585 apiLoader.services['ses'] = {};
 84586 AWS.SES = Service.defineService('ses', ['2010-12-01']);
 84587 Object.defineProperty(apiLoader.services['ses'], '2010-12-01', {
 84588   get: function get() {
 84589     var model = require('../apis/email-2010-12-01.min.json');
 84590     model.paginators = require('../apis/email-2010-12-01.paginators.json').pagination;
 84591     model.waiters = require('../apis/email-2010-12-01.waiters2.json').waiters;
 84592     return model;
 84593   },
 84594   enumerable: true,
 84595   configurable: true
 84596 });
 84597 
 84598 module.exports = AWS.SES;
 84599 
 84600 },{"../apis/email-2010-12-01.min.json":63,"../apis/email-2010-12-01.paginators.json":64,"../apis/email-2010-12-01.waiters2.json":65,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],179:[function(require,module,exports){
 84601 require('../lib/node_loader');
 84602 var AWS = require('../lib/core');
 84603 var Service = require('../lib/service');
 84604 var apiLoader = require('../lib/api_loader');
 84605 
 84606 apiLoader.services['sns'] = {};
 84607 AWS.SNS = Service.defineService('sns', ['2010-03-31']);
 84608 Object.defineProperty(apiLoader.services['sns'], '2010-03-31', {
 84609   get: function get() {
 84610     var model = require('../apis/sns-2010-03-31.min.json');
 84611     model.paginators = require('../apis/sns-2010-03-31.paginators.json').pagination;
 84612     return model;
 84613   },
 84614   enumerable: true,
 84615   configurable: true
 84616 });
 84617 
 84618 module.exports = AWS.SNS;
 84619 
 84620 },{"../apis/sns-2010-03-31.min.json":117,"../apis/sns-2010-03-31.paginators.json":118,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],180:[function(require,module,exports){
 84621 require('../lib/node_loader');
 84622 var AWS = require('../lib/core');
 84623 var Service = require('../lib/service');
 84624 var apiLoader = require('../lib/api_loader');
 84625 
 84626 apiLoader.services['sqs'] = {};
 84627 AWS.SQS = Service.defineService('sqs', ['2012-11-05']);
 84628 require('../lib/services/sqs');
 84629 Object.defineProperty(apiLoader.services['sqs'], '2012-11-05', {
 84630   get: function get() {
 84631     var model = require('../apis/sqs-2012-11-05.min.json');
 84632     model.paginators = require('../apis/sqs-2012-11-05.paginators.json').pagination;
 84633     return model;
 84634   },
 84635   enumerable: true,
 84636   configurable: true
 84637 });
 84638 
 84639 module.exports = AWS.SQS;
 84640 
 84641 },{"../apis/sqs-2012-11-05.min.json":119,"../apis/sqs-2012-11-05.paginators.json":120,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/sqs":236}],181:[function(require,module,exports){
 84642 require('../lib/node_loader');
 84643 var AWS = require('../lib/core');
 84644 var Service = require('../lib/service');
 84645 var apiLoader = require('../lib/api_loader');
 84646 
 84647 apiLoader.services['ssm'] = {};
 84648 AWS.SSM = Service.defineService('ssm', ['2014-11-06']);
 84649 Object.defineProperty(apiLoader.services['ssm'], '2014-11-06', {
 84650   get: function get() {
 84651     var model = require('../apis/ssm-2014-11-06.min.json');
 84652     model.paginators = require('../apis/ssm-2014-11-06.paginators.json').pagination;
 84653     return model;
 84654   },
 84655   enumerable: true,
 84656   configurable: true
 84657 });
 84658 
 84659 module.exports = AWS.SSM;
 84660 
 84661 },{"../apis/ssm-2014-11-06.min.json":121,"../apis/ssm-2014-11-06.paginators.json":122,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],182:[function(require,module,exports){
 84662 require('../lib/node_loader');
 84663 var AWS = require('../lib/core');
 84664 var Service = require('../lib/service');
 84665 var apiLoader = require('../lib/api_loader');
 84666 
 84667 apiLoader.services['storagegateway'] = {};
 84668 AWS.StorageGateway = Service.defineService('storagegateway', ['2013-06-30']);
 84669 Object.defineProperty(apiLoader.services['storagegateway'], '2013-06-30', {
 84670   get: function get() {
 84671     var model = require('../apis/storagegateway-2013-06-30.min.json');
 84672     model.paginators = require('../apis/storagegateway-2013-06-30.paginators.json').pagination;
 84673     return model;
 84674   },
 84675   enumerable: true,
 84676   configurable: true
 84677 });
 84678 
 84679 module.exports = AWS.StorageGateway;
 84680 
 84681 },{"../apis/storagegateway-2013-06-30.min.json":123,"../apis/storagegateway-2013-06-30.paginators.json":124,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],183:[function(require,module,exports){
 84682 require('../lib/node_loader');
 84683 var AWS = require('../lib/core');
 84684 var Service = require('../lib/service');
 84685 var apiLoader = require('../lib/api_loader');
 84686 
 84687 apiLoader.services['sts'] = {};
 84688 AWS.STS = Service.defineService('sts', ['2011-06-15']);
 84689 require('../lib/services/sts');
 84690 Object.defineProperty(apiLoader.services['sts'], '2011-06-15', {
 84691   get: function get() {
 84692     var model = require('../apis/sts-2011-06-15.min.json');
 84693     return model;
 84694   },
 84695   enumerable: true,
 84696   configurable: true
 84697 });
 84698 
 84699 module.exports = AWS.STS;
 84700 
 84701 },{"../apis/sts-2011-06-15.min.json":126,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226,"../lib/services/sts":237}],184:[function(require,module,exports){
 84702 require('../lib/node_loader');
 84703 var AWS = require('../lib/core');
 84704 var Service = require('../lib/service');
 84705 var apiLoader = require('../lib/api_loader');
 84706 
 84707 apiLoader.services['waf'] = {};
 84708 AWS.WAF = Service.defineService('waf', ['2015-08-24']);
 84709 Object.defineProperty(apiLoader.services['waf'], '2015-08-24', {
 84710   get: function get() {
 84711     var model = require('../apis/waf-2015-08-24.min.json');
 84712     return model;
 84713   },
 84714   enumerable: true,
 84715   configurable: true
 84716 });
 84717 
 84718 module.exports = AWS.WAF;
 84719 
 84720 },{"../apis/waf-2015-08-24.min.json":127,"../lib/api_loader":185,"../lib/core":189,"../lib/node_loader":186,"../lib/service":226}],185:[function(require,module,exports){
 84721 var AWS = require('./core');
 84722 
 84723 AWS.apiLoader = function(svc, version) {
 84724   if (!AWS.apiLoader.services.hasOwnProperty(svc)) {
 84725     throw new Error('InvalidService: Failed to load api for ' + svc);
 84726   }
 84727   return AWS.apiLoader.services[svc][version];
 84728 };
 84729 
 84730 AWS.apiLoader.services = {};
 84731 
 84732 module.exports = AWS.apiLoader;
 84733 },{"./core":189}],186:[function(require,module,exports){
 84734 (function (process){
 84735 var util = require('./util');
 84736 
 84737 util.crypto.lib = require('crypto-browserify');
 84738 util.Buffer = require('buffer/').Buffer;
 84739 util.url = require('url/');
 84740 util.querystring = require('querystring/');
 84741 
 84742 var AWS = require('./core');
 84743 
 84744 require('./api_loader');
 84745 
 84746 AWS.XML.Parser = require('./xml/browser_parser');
 84747 
 84748 require('./http/xhr');
 84749 
 84750 if (typeof process === 'undefined') {
 84751   process = {
 84752     browser: true
 84753   };
 84754 }
 84755 }).call(this,require('_process'))
 84756 },{"./api_loader":185,"./core":189,"./http/xhr":203,"./util":246,"./xml/browser_parser":247,"_process":251,"buffer/":259,"crypto-browserify":264,"querystring/":272,"url/":273}],187:[function(require,module,exports){
 84757 var AWS = require('../core'),
 84758     url = AWS.util.url,
 84759     crypto = AWS.util.crypto.lib,
 84760     base64Encode = AWS.util.base64.encode,
 84761     inherit = AWS.util.inherit;
 84762 
 84763 var queryEncode = function (string) {
 84764     var replacements = {
 84765         '+': '-',
 84766         '=': '_',
 84767         '/': '~'
 84768     };
 84769     return string.replace(/[\+=\/]/g, function (match) {
 84770         return replacements[match];
 84771     });
 84772 };
 84773 
 84774 var signPolicy = function (policy, privateKey) {
 84775     var sign = crypto.createSign('RSA-SHA1');
 84776     sign.write(policy);
 84777     return queryEncode(sign.sign(privateKey, 'base64'))
 84778 };
 84779 
 84780 var signWithCannedPolicy = function (url, expires, keyPairId, privateKey) {
 84781     var policy = JSON.stringify({
 84782         Statement: [
 84783             {
 84784                 Resource: url,
 84785                 Condition: { DateLessThan: { 'AWS:EpochTime': expires } }
 84786             }
 84787         ]
 84788     });
 84789 
 84790     return {
 84791         Expires: expires,
 84792         'Key-Pair-Id': keyPairId,
 84793         Signature: signPolicy(policy.toString(), privateKey)
 84794     };
 84795 };
 84796 
 84797 var signWithCustomPolicy = function (policy, keyPairId, privateKey) {
 84798     policy = policy.replace(/\s/mg, policy);
 84799 
 84800     return {
 84801         Policy: queryEncode(base64Encode(policy)),
 84802         'Key-Pair-Id': keyPairId,
 84803         Signature: signPolicy(policy, privateKey)
 84804     }
 84805 };
 84806 
 84807 var determineScheme = function (url) {
 84808     var parts = url.split('://');
 84809     if (parts.length < 2) {
 84810         throw new Error('Invalid URL.');
 84811     }
 84812 
 84813     return parts[0].replace('*', '');
 84814 };
 84815 
 84816 var getRtmpUrl = function (rtmpUrl) {
 84817     var parsed = url.parse(rtmpUrl);
 84818     return parsed.path.replace(/^\//, '') + (parsed.hash || '');
 84819 };
 84820 
 84821 var getResource = function (url) {
 84822     switch (determineScheme(url)) {
 84823         case 'http':
 84824         case 'https':
 84825             return url;
 84826         case 'rtmp':
 84827             return getRtmpUrl(url);
 84828         default:
 84829             throw new Error('Invalid URI scheme. Scheme must be one of'
 84830                 + ' http, https, or rtmp');
 84831     }
 84832 };
 84833 
 84834 var handleError = function (err, callback) {
 84835     if (!callback || typeof callback !== 'function') {
 84836         throw err;
 84837     }
 84838 
 84839     callback(err);
 84840 };
 84841 
 84842 var handleSuccess = function (result, callback) {
 84843     if (!callback || typeof callback !== 'function') {
 84844         return result;
 84845     }
 84846 
 84847     callback(null, result);
 84848 };
 84849 
 84850 AWS.CloudFront.Signer = inherit({
 84851 
 84852     constructor: function Signer(keyPairId, privateKey) {
 84853         if (keyPairId === void 0 || privateKey === void 0) {
 84854             throw new Error('A key pair ID and private key are required');
 84855         }
 84856 
 84857         this.keyPairId = keyPairId;
 84858         this.privateKey = privateKey;
 84859     },
 84860 
 84861 
 84862     getSignedCookie: function (options, cb) {
 84863         var signatureHash = 'policy' in options
 84864             ? signWithCustomPolicy(options.policy, this.keyPairId, this.privateKey)
 84865             : signWithCannedPolicy(options.url, options.expires, this.keyPairId, this.privateKey);
 84866 
 84867         var cookieHash = {};
 84868         for (var key in signatureHash) {
 84869             if (Object.prototype.hasOwnProperty.call(signatureHash, key)) {
 84870                 cookieHash['CloudFront-' + key] = signatureHash[key];
 84871             }
 84872         }
 84873 
 84874         return handleSuccess(cookieHash, cb);
 84875     },
 84876 
 84877 
 84878     getSignedUrl: function (options, cb) {
 84879         try {
 84880             var resource = getResource(options.url);
 84881         } catch (err) {
 84882             return handleError(err, cb);
 84883         }
 84884 
 84885         var parsedUrl = url.parse(options.url, true),
 84886             signatureHash = Object.prototype.hasOwnProperty.call(options, 'policy')
 84887                 ? signWithCustomPolicy(options.policy, this.keyPairId, this.privateKey)
 84888                 : signWithCannedPolicy(resource, options.expires, this.keyPairId, this.privateKey);
 84889 
 84890         parsedUrl.search = null;
 84891         for (var key in signatureHash) {
 84892             if (Object.prototype.hasOwnProperty.call(signatureHash, key)) {
 84893                 parsedUrl.query[key] = signatureHash[key];
 84894             }
 84895         }
 84896 
 84897         try {
 84898             var signedUrl = determineScheme(options.url) === 'rtmp'
 84899                     ? getRtmpUrl(url.format(parsedUrl))
 84900                     : url.format(parsedUrl);
 84901         } catch (err) {
 84902             return handleError(err, cb);
 84903         }
 84904 
 84905         return handleSuccess(signedUrl, cb);
 84906     }
 84907 });
 84908 
 84909 module.exports = AWS.CloudFront.Signer;
 84910 
 84911 },{"../core":189}],188:[function(require,module,exports){
 84912 var AWS = require('./core');
 84913 require('./credentials');
 84914 require('./credentials/credential_provider_chain');
 84915 var PromisesDependency;
 84916 
 84917 
 84918 AWS.Config = AWS.util.inherit({
 84919 
 84920 
 84921 
 84922   constructor: function Config(options) {
 84923     if (options === undefined) options = {};
 84924     options = this.extractCredentials(options);
 84925 
 84926     AWS.util.each.call(this, this.keys, function (key, value) {
 84927       this.set(key, options[key], value);
 84928     });
 84929   },
 84930 
 84931 
 84932 
 84933 
 84934   getCredentials: function getCredentials(callback) {
 84935     var self = this;
 84936 
 84937     function finish(err) {
 84938       callback(err, err ? null : self.credentials);
 84939     }
 84940 
 84941     function credError(msg, err) {
 84942       return new AWS.util.error(err || new Error(), {
 84943         code: 'CredentialsError', message: msg
 84944       });
 84945     }
 84946 
 84947     function getAsyncCredentials() {
 84948       self.credentials.get(function(err) {
 84949         if (err) {
 84950           var msg = 'Could not load credentials from ' +
 84951             self.credentials.constructor.name;
 84952           err = credError(msg, err);
 84953         }
 84954         finish(err);
 84955       });
 84956     }
 84957 
 84958     function getStaticCredentials() {
 84959       var err = null;
 84960       if (!self.credentials.accessKeyId || !self.credentials.secretAccessKey) {
 84961         err = credError('Missing credentials');
 84962       }
 84963       finish(err);
 84964     }
 84965 
 84966     if (self.credentials) {
 84967       if (typeof self.credentials.get === 'function') {
 84968         getAsyncCredentials();
 84969       } else { // static credentials
 84970         getStaticCredentials();
 84971       }
 84972     } else if (self.credentialProvider) {
 84973       self.credentialProvider.resolve(function(err, creds) {
 84974         if (err) {
 84975           err = credError('Could not load credentials from any providers', err);
 84976         }
 84977         self.credentials = creds;
 84978         finish(err);
 84979       });
 84980     } else {
 84981       finish(credError('No credentials to load'));
 84982     }
 84983   },
 84984 
 84985 
 84986 
 84987 
 84988   update: function update(options, allowUnknownKeys) {
 84989     allowUnknownKeys = allowUnknownKeys || false;
 84990     options = this.extractCredentials(options);
 84991     AWS.util.each.call(this, options, function (key, value) {
 84992       if (allowUnknownKeys || Object.prototype.hasOwnProperty.call(this.keys, key) ||
 84993           AWS.Service.hasService(key)) {
 84994         this.set(key, value);
 84995       }
 84996     });
 84997   },
 84998 
 84999 
 85000   loadFromPath: function loadFromPath(path) {
 85001     this.clear();
 85002 
 85003     var options = JSON.parse(AWS.util.readFileSync(path));
 85004     var fileSystemCreds = new AWS.FileSystemCredentials(path);
 85005     var chain = new AWS.CredentialProviderChain();
 85006     chain.providers.unshift(fileSystemCreds);
 85007     chain.resolve(function (err, creds) {
 85008       if (err) throw err;
 85009       else options.credentials = creds;
 85010     });
 85011 
 85012     this.constructor(options);
 85013 
 85014     return this;
 85015   },
 85016 
 85017 
 85018   clear: function clear() {
 85019 
 85020     AWS.util.each.call(this, this.keys, function (key) {
 85021       delete this[key];
 85022     });
 85023 
 85024     this.set('credentials', undefined);
 85025     this.set('credentialProvider', undefined);
 85026   },
 85027 
 85028 
 85029   set: function set(property, value, defaultValue) {
 85030     if (value === undefined) {
 85031       if (defaultValue === undefined) {
 85032         defaultValue = this.keys[property];
 85033       }
 85034       if (typeof defaultValue === 'function') {
 85035         this[property] = defaultValue.call(this);
 85036       } else {
 85037         this[property] = defaultValue;
 85038       }
 85039     } else if (property === 'httpOptions' && this[property]) {
 85040       this[property] = AWS.util.merge(this[property], value);
 85041     } else {
 85042       this[property] = value;
 85043     }
 85044   },
 85045 
 85046 
 85047   keys: {
 85048     credentials: null,
 85049     credentialProvider: null,
 85050     region: null,
 85051     logger: null,
 85052     apiVersions: {},
 85053     apiVersion: null,
 85054     endpoint: undefined,
 85055     httpOptions: {
 85056       timeout: 120000
 85057     },
 85058     maxRetries: undefined,
 85059     maxRedirects: 10,
 85060     paramValidation: true,
 85061     sslEnabled: true,
 85062     s3ForcePathStyle: false,
 85063     s3BucketEndpoint: false,
 85064     s3DisableBodySigning: true,
 85065     computeChecksums: true,
 85066     convertResponseTypes: true,
 85067     correctClockSkew: false,
 85068     customUserAgent: null,
 85069     dynamoDbCrc32: true,
 85070     systemClockOffset: 0,
 85071     signatureVersion: null,
 85072     signatureCache: true,
 85073     retryDelayOptions: {
 85074       base: 100
 85075     },
 85076     useAccelerateEndpoint: false
 85077   },
 85078 
 85079 
 85080   extractCredentials: function extractCredentials(options) {
 85081     if (options.accessKeyId && options.secretAccessKey) {
 85082       options = AWS.util.copy(options);
 85083       options.credentials = new AWS.Credentials(options);
 85084     }
 85085     return options;
 85086   },
 85087 
 85088 
 85089   setPromisesDependency: function setPromisesDependency(dep) {
 85090     PromisesDependency = dep;
 85091     var constructors = [AWS.Request, AWS.Credentials, AWS.CredentialProviderChain];
 85092     if (AWS.S3 && AWS.S3.ManagedUpload) constructors.push(AWS.S3.ManagedUpload);
 85093     AWS.util.addPromises(constructors, dep);
 85094   },
 85095 
 85096 
 85097   getPromisesDependency: function getPromisesDependency() {
 85098     return PromisesDependency;
 85099   }
 85100 });
 85101 
 85102 
 85103 AWS.config = new AWS.Config();
 85104 
 85105 },{"./core":189,"./credentials":190,"./credentials/credential_provider_chain":192}],189:[function(require,module,exports){
 85106 
 85107 var AWS = { util: require('./util') };
 85108 
 85109 
 85110 var _hidden = {}; _hidden.toString(); // hack to parse macro
 85111 
 85112 module.exports = AWS;
 85113 
 85114 AWS.util.update(AWS, {
 85115 
 85116 
 85117   VERSION: '2.7.7',
 85118 
 85119 
 85120   Signers: {},
 85121 
 85122 
 85123   Protocol: {
 85124     Json: require('./protocol/json'),
 85125     Query: require('./protocol/query'),
 85126     Rest: require('./protocol/rest'),
 85127     RestJson: require('./protocol/rest_json'),
 85128     RestXml: require('./protocol/rest_xml')
 85129   },
 85130 
 85131 
 85132   XML: {
 85133     Builder: require('./xml/builder'),
 85134     Parser: null // conditionally set based on environment
 85135   },
 85136 
 85137 
 85138   JSON: {
 85139     Builder: require('./json/builder'),
 85140     Parser: require('./json/parser')
 85141   },
 85142 
 85143 
 85144   Model: {
 85145     Api: require('./model/api'),
 85146     Operation: require('./model/operation'),
 85147     Shape: require('./model/shape'),
 85148     Paginator: require('./model/paginator'),
 85149     ResourceWaiter: require('./model/resource_waiter')
 85150   },
 85151 
 85152   util: require('./util'),
 85153 
 85154 
 85155   apiLoader: function() { throw new Error('No API loader set'); }
 85156 });
 85157 
 85158 require('./service');
 85159 
 85160 require('./credentials');
 85161 require('./credentials/credential_provider_chain');
 85162 require('./credentials/temporary_credentials');
 85163 require('./credentials/web_identity_credentials');
 85164 require('./credentials/cognito_identity_credentials');
 85165 require('./credentials/saml_credentials');
 85166 
 85167 require('./config');
 85168 require('./http');
 85169 require('./sequential_executor');
 85170 require('./event_listeners');
 85171 require('./request');
 85172 require('./response');
 85173 require('./resource_waiter');
 85174 require('./signers/request_signer');
 85175 require('./param_validator');
 85176 
 85177 
 85178 AWS.events = new AWS.SequentialExecutor();
 85179 
 85180 },{"./config":188,"./credentials":190,"./credentials/cognito_identity_credentials":191,"./credentials/credential_provider_chain":192,"./credentials/saml_credentials":193,"./credentials/temporary_credentials":194,"./credentials/web_identity_credentials":195,"./event_listeners":201,"./http":202,"./json/builder":204,"./json/parser":205,"./model/api":206,"./model/operation":208,"./model/paginator":209,"./model/resource_waiter":210,"./model/shape":211,"./param_validator":212,"./protocol/json":213,"./protocol/query":214,"./protocol/rest":215,"./protocol/rest_json":216,"./protocol/rest_xml":217,"./request":221,"./resource_waiter":222,"./response":223,"./sequential_executor":225,"./service":226,"./signers/request_signer":239,"./util":246,"./xml/builder":248}],190:[function(require,module,exports){
 85181 var AWS = require('./core');
 85182 
 85183 
 85184 AWS.Credentials = AWS.util.inherit({
 85185 
 85186   constructor: function Credentials() {
 85187     AWS.util.hideProperties(this, ['secretAccessKey']);
 85188 
 85189     this.expired = false;
 85190     this.expireTime = null;
 85191     if (arguments.length === 1 && typeof arguments[0] === 'object') {
 85192       var creds = arguments[0].credentials || arguments[0];
 85193       this.accessKeyId = creds.accessKeyId;
 85194       this.secretAccessKey = creds.secretAccessKey;
 85195       this.sessionToken = creds.sessionToken;
 85196     } else {
 85197       this.accessKeyId = arguments[0];
 85198       this.secretAccessKey = arguments[1];
 85199       this.sessionToken = arguments[2];
 85200     }
 85201   },
 85202 
 85203 
 85204   expiryWindow: 15,
 85205 
 85206 
 85207   needsRefresh: function needsRefresh() {
 85208     var currentTime = AWS.util.date.getDate().getTime();
 85209     var adjustedTime = new Date(currentTime + this.expiryWindow * 1000);
 85210 
 85211     if (this.expireTime && adjustedTime > this.expireTime) {
 85212       return true;
 85213     } else {
 85214       return this.expired || !this.accessKeyId || !this.secretAccessKey;
 85215     }
 85216   },
 85217 
 85218 
 85219   get: function get(callback) {
 85220     var self = this;
 85221     if (this.needsRefresh()) {
 85222       this.refresh(function(err) {
 85223         if (!err) self.expired = false; // reset expired flag
 85224         if (callback) callback(err);
 85225       });
 85226     } else if (callback) {
 85227       callback();
 85228     }
 85229   },
 85230 
 85231 
 85232 
 85233 
 85234 
 85235 
 85236   refresh: function refresh(callback) {
 85237     this.expired = false;
 85238     callback();
 85239   }
 85240 });
 85241 
 85242 
 85243 AWS.Credentials.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
 85244   this.prototype.getPromise = AWS.util.promisifyMethod('get', PromiseDependency);
 85245   this.prototype.refreshPromise = AWS.util.promisifyMethod('refresh', PromiseDependency);
 85246 };
 85247 
 85248 
 85249 AWS.Credentials.deletePromisesFromClass = function deletePromisesFromClass() {
 85250   delete this.prototype.getPromise;
 85251   delete this.prototype.refreshPromise;
 85252 };
 85253 
 85254 AWS.util.addPromises(AWS.Credentials);
 85255 
 85256 },{"./core":189}],191:[function(require,module,exports){
 85257 var AWS = require('../core');
 85258 var CognitoIdentity = require('../../clients/cognitoidentity');
 85259 var STS = require('../../clients/sts');
 85260 
 85261 
 85262 AWS.CognitoIdentityCredentials = AWS.util.inherit(AWS.Credentials, {
 85263 
 85264   localStorageKey: {
 85265     id: 'aws.cognito.identity-id.',
 85266     providers: 'aws.cognito.identity-providers.'
 85267   },
 85268 
 85269 
 85270   constructor: function CognitoIdentityCredentials(params) {
 85271     AWS.Credentials.call(this);
 85272     this.expired = true;
 85273     this.params = params;
 85274     this.data = null;
 85275     this.identityId = null;
 85276     this.loadCachedId();
 85277   },
 85278 
 85279 
 85280   refresh: function refresh(callback) {
 85281     var self = this;
 85282     self.createClients();
 85283     self.data = null;
 85284     self.identityId = null;
 85285     self.getId(function(err) {
 85286       if (!err) {
 85287         if (!self.params.RoleArn) {
 85288           self.getCredentialsForIdentity(callback);
 85289         } else {
 85290           self.getCredentialsFromSTS(callback);
 85291         }
 85292       } else {
 85293         self.clearIdOnNotAuthorized(err);
 85294         callback(err);
 85295       }
 85296     });
 85297   },
 85298 
 85299 
 85300   clearCachedId: function clearCache() {
 85301     this.identityId = null;
 85302     delete this.params.IdentityId;
 85303 
 85304     var poolId = this.params.IdentityPoolId;
 85305     var loginId = this.params.LoginId || '';
 85306     delete this.storage[this.localStorageKey.id + poolId + loginId];
 85307     delete this.storage[this.localStorageKey.providers + poolId + loginId];
 85308   },
 85309 
 85310 
 85311   clearIdOnNotAuthorized: function clearIdOnNotAuthorized(err) {
 85312     var self = this;
 85313     if (err.code == 'NotAuthorizedException') {
 85314       self.clearCachedId();
 85315     }
 85316   },
 85317 
 85318 
 85319   getId: function getId(callback) {
 85320     var self = this;
 85321     if (typeof self.params.IdentityId === 'string') {
 85322       return callback(null, self.params.IdentityId);
 85323     }
 85324 
 85325     self.cognito.getId(function(err, data) {
 85326       if (!err && data.IdentityId) {
 85327         self.params.IdentityId = data.IdentityId;
 85328         callback(null, data.IdentityId);
 85329       } else {
 85330         callback(err);
 85331       }
 85332     });
 85333   },
 85334 
 85335 
 85336 
 85337   loadCredentials: function loadCredentials(data, credentials) {
 85338     if (!data || !credentials) return;
 85339     credentials.expired = false;
 85340     credentials.accessKeyId = data.Credentials.AccessKeyId;
 85341     credentials.secretAccessKey = data.Credentials.SecretKey;
 85342     credentials.sessionToken = data.Credentials.SessionToken;
 85343     credentials.expireTime = data.Credentials.Expiration;
 85344   },
 85345 
 85346 
 85347   getCredentialsForIdentity: function getCredentialsForIdentity(callback) {
 85348     var self = this;
 85349     self.cognito.getCredentialsForIdentity(function(err, data) {
 85350       if (!err) {
 85351         self.cacheId(data);
 85352         self.data = data;
 85353         self.loadCredentials(self.data, self);
 85354       } else {
 85355         self.clearIdOnNotAuthorized(err);
 85356       }
 85357       callback(err);
 85358     });
 85359   },
 85360 
 85361 
 85362   getCredentialsFromSTS: function getCredentialsFromSTS(callback) {
 85363     var self = this;
 85364     self.cognito.getOpenIdToken(function(err, data) {
 85365       if (!err) {
 85366         self.cacheId(data);
 85367         self.params.WebIdentityToken = data.Token;
 85368         self.webIdentityCredentials.refresh(function(webErr) {
 85369           if (!webErr) {
 85370             self.data = self.webIdentityCredentials.data;
 85371             self.sts.credentialsFrom(self.data, self);
 85372           }
 85373           callback(webErr);
 85374         });
 85375       } else {
 85376         self.clearIdOnNotAuthorized(err);
 85377         callback(err);
 85378       }
 85379     });
 85380   },
 85381 
 85382 
 85383   loadCachedId: function loadCachedId() {
 85384     var self = this;
 85385 
 85386     if (AWS.util.isBrowser() && !self.params.IdentityId) {
 85387       var id = self.getStorage('id');
 85388       if (id && self.params.Logins) {
 85389         var actualProviders = Object.keys(self.params.Logins);
 85390         var cachedProviders =
 85391           (self.getStorage('providers') || '').split(',');
 85392 
 85393         var intersect = cachedProviders.filter(function(n) {
 85394           return actualProviders.indexOf(n) !== -1;
 85395         });
 85396         if (intersect.length !== 0) {
 85397           self.params.IdentityId = id;
 85398         }
 85399       } else if (id) {
 85400         self.params.IdentityId = id;
 85401       }
 85402     }
 85403   },
 85404 
 85405 
 85406   createClients: function() {
 85407     this.webIdentityCredentials = this.webIdentityCredentials ||
 85408       new AWS.WebIdentityCredentials(this.params);
 85409     this.cognito = this.cognito ||
 85410       new CognitoIdentity({params: this.params});
 85411     this.sts = this.sts || new STS();
 85412   },
 85413 
 85414 
 85415   cacheId: function cacheId(data) {
 85416     this.identityId = data.IdentityId;
 85417     this.params.IdentityId = this.identityId;
 85418 
 85419     if (AWS.util.isBrowser()) {
 85420       this.setStorage('id', data.IdentityId);
 85421 
 85422       if (this.params.Logins) {
 85423         this.setStorage('providers', Object.keys(this.params.Logins).join(','));
 85424       }
 85425     }
 85426   },
 85427 
 85428 
 85429   getStorage: function getStorage(key) {
 85430     return this.storage[this.localStorageKey[key] + this.params.IdentityPoolId + (this.params.LoginId || '')];
 85431   },
 85432 
 85433 
 85434   setStorage: function setStorage(key, val) {
 85435     try {
 85436       this.storage[this.localStorageKey[key] + this.params.IdentityPoolId + (this.params.LoginId || '')] = val;
 85437     } catch (_) {}
 85438   },
 85439 
 85440 
 85441   storage: (function() {
 85442     try {
 85443       return AWS.util.isBrowser() && window.localStorage !== null && typeof window.localStorage === 'object' ?
 85444              window.localStorage : {};
 85445     } catch (_) {
 85446       return {};
 85447     }
 85448   })()
 85449 });
 85450 
 85451 },{"../../clients/cognitoidentity":143,"../../clients/sts":183,"../core":189}],192:[function(require,module,exports){
 85452 var AWS = require('../core');
 85453 
 85454 
 85455 AWS.CredentialProviderChain = AWS.util.inherit(AWS.Credentials, {
 85456 
 85457 
 85458   constructor: function CredentialProviderChain(providers) {
 85459     if (providers) {
 85460       this.providers = providers;
 85461     } else {
 85462       this.providers = AWS.CredentialProviderChain.defaultProviders.slice(0);
 85463     }
 85464   },
 85465 
 85466 
 85467 
 85468 
 85469   resolve: function resolve(callback) {
 85470     if (this.providers.length === 0) {
 85471       callback(new Error('No providers'));
 85472       return this;
 85473     }
 85474 
 85475     var index = 0;
 85476     var providers = this.providers.slice(0);
 85477 
 85478     function resolveNext(err, creds) {
 85479       if ((!err && creds) || index === providers.length) {
 85480         callback(err, creds);
 85481         return;
 85482       }
 85483 
 85484       var provider = providers[index++];
 85485       if (typeof provider === 'function') {
 85486         creds = provider.call();
 85487       } else {
 85488         creds = provider;
 85489       }
 85490 
 85491       if (creds.get) {
 85492         creds.get(function(getErr) {
 85493           resolveNext(getErr, getErr ? null : creds);
 85494         });
 85495       } else {
 85496         resolveNext(null, creds);
 85497       }
 85498     }
 85499 
 85500     resolveNext();
 85501     return this;
 85502   }
 85503 });
 85504 
 85505 
 85506 AWS.CredentialProviderChain.defaultProviders = [];
 85507 
 85508 
 85509 AWS.CredentialProviderChain.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
 85510   this.prototype.resolvePromise = AWS.util.promisifyMethod('resolve', PromiseDependency);
 85511 };
 85512 
 85513 
 85514 AWS.CredentialProviderChain.deletePromisesFromClass = function deletePromisesFromClass() {
 85515   delete this.prototype.resolvePromise;
 85516 };
 85517 
 85518 AWS.util.addPromises(AWS.CredentialProviderChain);
 85519 
 85520 },{"../core":189}],193:[function(require,module,exports){
 85521 var AWS = require('../core');
 85522 var STS = require('../../clients/sts');
 85523 
 85524 
 85525 AWS.SAMLCredentials = AWS.util.inherit(AWS.Credentials, {
 85526 
 85527   constructor: function SAMLCredentials(params) {
 85528     AWS.Credentials.call(this);
 85529     this.expired = true;
 85530     this.params = params;
 85531   },
 85532 
 85533 
 85534   refresh: function refresh(callback) {
 85535     var self = this;
 85536     self.createClients();
 85537     if (!callback) callback = function(err) { if (err) throw err; };
 85538 
 85539     self.service.assumeRoleWithSAML(function (err, data) {
 85540       if (!err) {
 85541         self.service.credentialsFrom(data, self);
 85542       }
 85543       callback(err);
 85544     });
 85545   },
 85546 
 85547 
 85548   createClients: function() {
 85549     this.service = this.service || new STS({params: this.params});
 85550   }
 85551 
 85552 });
 85553 
 85554 },{"../../clients/sts":183,"../core":189}],194:[function(require,module,exports){
 85555 var AWS = require('../core');
 85556 var STS = require('../../clients/sts');
 85557 
 85558 
 85559 AWS.TemporaryCredentials = AWS.util.inherit(AWS.Credentials, {
 85560 
 85561   constructor: function TemporaryCredentials(params) {
 85562     AWS.Credentials.call(this);
 85563     this.loadMasterCredentials();
 85564     this.expired = true;
 85565 
 85566     this.params = params || {};
 85567     if (this.params.RoleArn) {
 85568       this.params.RoleSessionName =
 85569         this.params.RoleSessionName || 'temporary-credentials';
 85570     }
 85571   },
 85572 
 85573 
 85574   refresh: function refresh(callback) {
 85575     var self = this;
 85576     self.createClients();
 85577     if (!callback) callback = function(err) { if (err) throw err; };
 85578 
 85579     self.service.config.credentials = self.masterCredentials;
 85580     var operation = self.params.RoleArn ?
 85581       self.service.assumeRole : self.service.getSessionToken;
 85582     operation.call(self.service, function (err, data) {
 85583       if (!err) {
 85584         self.service.credentialsFrom(data, self);
 85585       }
 85586       callback(err);
 85587     });
 85588   },
 85589 
 85590 
 85591   loadMasterCredentials: function loadMasterCredentials() {
 85592     this.masterCredentials = AWS.config.credentials;
 85593     while (this.masterCredentials.masterCredentials) {
 85594       this.masterCredentials = this.masterCredentials.masterCredentials;
 85595     }
 85596   },
 85597 
 85598 
 85599   createClients: function() {
 85600     this.service = this.service || new STS({params: this.params});
 85601   }
 85602 
 85603 });
 85604 
 85605 },{"../../clients/sts":183,"../core":189}],195:[function(require,module,exports){
 85606 var AWS = require('../core');
 85607 var STS = require('../../clients/sts');
 85608 
 85609 
 85610 AWS.WebIdentityCredentials = AWS.util.inherit(AWS.Credentials, {
 85611 
 85612   constructor: function WebIdentityCredentials(params) {
 85613     AWS.Credentials.call(this);
 85614     this.expired = true;
 85615     this.params = params;
 85616     this.params.RoleSessionName = this.params.RoleSessionName || 'web-identity';
 85617     this.data = null;
 85618   },
 85619 
 85620 
 85621   refresh: function refresh(callback) {
 85622     var self = this;
 85623     self.createClients();
 85624     if (!callback) callback = function(err) { if (err) throw err; };
 85625 
 85626     self.service.assumeRoleWithWebIdentity(function (err, data) {
 85627       self.data = null;
 85628       if (!err) {
 85629         self.data = data;
 85630         self.service.credentialsFrom(data, self);
 85631       }
 85632       callback(err);
 85633     });
 85634   },
 85635 
 85636 
 85637   createClients: function() {
 85638     this.service = this.service || new STS({params: this.params});
 85639   }
 85640 
 85641 });
 85642 
 85643 },{"../../clients/sts":183,"../core":189}],196:[function(require,module,exports){
 85644 var util = require('../core').util;
 85645 var typeOf = require('./types').typeOf;
 85646 var DynamoDBSet = require('./set');
 85647 
 85648 function convertInput(data) {
 85649   if (typeOf(data) === 'Object') {
 85650     var map = {M: {}};
 85651     for (var key in data) {
 85652       map['M'][key] = convertInput(data[key]);
 85653     }
 85654     return map;
 85655   } else if (typeOf(data) === 'Array') {
 85656     var list = {L: []};
 85657     for (var i = 0; i < data.length; i++) {
 85658       list['L'].push(convertInput(data[i]));
 85659     }
 85660     return list;
 85661   } else if (typeOf(data) === 'Set') {
 85662     return formatSet(data);
 85663   } else if (typeOf(data) === 'String') {
 85664     return { 'S': data };
 85665   } else if (typeOf(data) === 'Number') {
 85666     return { 'N': data.toString() };
 85667   } else if (typeOf(data) === 'Binary') {
 85668     return { 'B': data };
 85669   } else if (typeOf(data) === 'Boolean') {
 85670     return {'BOOL': data};
 85671   } else if (typeOf(data) === 'null') {
 85672     return {'NULL': true};
 85673   }
 85674 }
 85675 
 85676 function formatSet(data) {
 85677   var map = {};
 85678   switch (data.type) {
 85679     case 'String': map['SS'] = data.values; break;
 85680     case 'Binary': map['BS'] = data.values; break;
 85681     case 'Number': map['NS'] = data.values.map(function (value) {
 85682       return value.toString();
 85683     });
 85684   }
 85685   return map;
 85686 }
 85687 
 85688 function convertOutput(data) {
 85689   var list, map, i;
 85690   for (var type in data) {
 85691     var values = data[type];
 85692     if (type === 'M') {
 85693       map = {};
 85694       for (var key in values) {
 85695         map[key] = convertOutput(values[key]);
 85696       }
 85697       return map;
 85698     } else if (type === 'L') {
 85699       list = [];
 85700       for (i = 0; i < values.length; i++) {
 85701         list.push(convertOutput(values[i]));
 85702       }
 85703       return list;
 85704     } else if (type === 'SS') {
 85705       list = [];
 85706       for (i = 0; i < values.length; i++) {
 85707         list.push(values[i] + '');
 85708       }
 85709       return new DynamoDBSet(list);
 85710     } else if (type === 'NS') {
 85711       list = [];
 85712       for (i = 0; i < values.length; i++) {
 85713         list.push(Number(values[i]));
 85714       }
 85715       return new DynamoDBSet(list);
 85716     } else if (type === 'BS') {
 85717       list = [];
 85718       for (i = 0; i < values.length; i++) {
 85719         list.push(new util.Buffer(values[i]));
 85720       }
 85721       return new DynamoDBSet(list);
 85722     } else if (type === 'S') {
 85723       return values + '';
 85724     } else if (type === 'N') {
 85725       return Number(values);
 85726     } else if (type === 'B') {
 85727       return new util.Buffer(values);
 85728     } else if (type === 'BOOL') {
 85729       return (values === 'true' || values === 'TRUE' || values === true);
 85730     } else if (type === 'NULL') {
 85731       return null;
 85732     }
 85733   }
 85734 }
 85735 
 85736 module.exports = {
 85737   input: convertInput,
 85738   output: convertOutput
 85739 };
 85740 
 85741 },{"../core":189,"./set":198,"./types":200}],197:[function(require,module,exports){
 85742 var AWS = require('../core');
 85743 var Translator = require('./translator');
 85744 var DynamoDBSet = require('./set');
 85745 
 85746 
 85747 AWS.DynamoDB.DocumentClient = AWS.util.inherit({
 85748 
 85749 
 85750   operations: {
 85751     batchGetItem: 'batchGet',
 85752     batchWriteItem: 'batchWrite',
 85753     putItem: 'put',
 85754     getItem: 'get',
 85755     deleteItem: 'delete',
 85756     updateItem: 'update',
 85757     scan: 'scan',
 85758     query: 'query'
 85759   },
 85760 
 85761 
 85762   constructor: function DocumentClient(options) {
 85763     var self = this;
 85764     self.options = options || {};
 85765     self.configure(self.options);
 85766   },
 85767 
 85768 
 85769   configure: function configure(options) {
 85770     var self = this;
 85771     self.service = options.service;
 85772     self.bindServiceObject(options);
 85773     self.attrValue =
 85774       self.service.api.operations.putItem.input.members.Item.value.shape;
 85775   },
 85776 
 85777 
 85778   bindServiceObject: function bindServiceObject(options) {
 85779     var self = this;
 85780     options = options || {};
 85781 
 85782     if (!self.service) {
 85783       self.service = new AWS.DynamoDB(options);
 85784     } else {
 85785       var config = AWS.util.copy(self.service.config);
 85786       self.service = new self.service.constructor.__super__(config);
 85787       self.service.config.params =
 85788         AWS.util.merge(self.service.config.params || {}, options.params);
 85789     }
 85790   },
 85791 
 85792 
 85793   batchGet: function(params, callback) {
 85794     var self = this;
 85795     var request = self.service.batchGetItem(params);
 85796     self.setupRequest(request);
 85797     self.setupResponse(request);
 85798     if (typeof callback === 'function') {
 85799       request.send(callback);
 85800     }
 85801     return request;
 85802   },
 85803 
 85804 
 85805   batchWrite: function(params, callback) {
 85806     var self = this;
 85807     var request = self.service.batchWriteItem(params);
 85808     self.setupRequest(request);
 85809     self.setupResponse(request);
 85810     if (typeof callback === 'function') {
 85811       request.send(callback);
 85812     }
 85813     return request;
 85814   },
 85815 
 85816 
 85817   delete: function(params, callback) {
 85818     var self = this;
 85819     var request = self.service.deleteItem(params);
 85820     self.setupRequest(request);
 85821     self.setupResponse(request);
 85822     if (typeof callback === 'function') {
 85823       request.send(callback);
 85824     }
 85825     return request;
 85826   },
 85827 
 85828 
 85829   get: function(params, callback) {
 85830     var self = this;
 85831     var request = self.service.getItem(params);
 85832     self.setupRequest(request);
 85833     self.setupResponse(request);
 85834     if (typeof callback === 'function') {
 85835       request.send(callback);
 85836     }
 85837     return request;
 85838   },
 85839 
 85840 
 85841   put: function put(params, callback) {
 85842     var self = this;
 85843     var request = self.service.putItem(params);
 85844     self.setupRequest(request);
 85845     self.setupResponse(request);
 85846     if (typeof callback === 'function') {
 85847       request.send(callback);
 85848     }
 85849     return request;
 85850   },
 85851 
 85852 
 85853   update: function(params, callback) {
 85854     var self = this;
 85855     var request = self.service.updateItem(params);
 85856     self.setupRequest(request);
 85857     self.setupResponse(request);
 85858     if (typeof callback === 'function') {
 85859       request.send(callback);
 85860     }
 85861     return request;
 85862   },
 85863 
 85864 
 85865   scan: function(params, callback) {
 85866     var self = this;
 85867     var request = self.service.scan(params);
 85868     self.setupRequest(request);
 85869     self.setupResponse(request);
 85870     if (typeof callback === 'function') {
 85871       request.send(callback);
 85872     }
 85873     return request;
 85874   },
 85875 
 85876 
 85877   query: function(params, callback) {
 85878     var self = this;
 85879     var request = self.service.query(params);
 85880     self.setupRequest(request);
 85881     self.setupResponse(request);
 85882     if (typeof callback === 'function') {
 85883       request.send(callback);
 85884     }
 85885     return request;
 85886   },
 85887 
 85888 
 85889   createSet: function(list, options) {
 85890     options = options || {};
 85891     return new DynamoDBSet(list, options);
 85892   },
 85893 
 85894 
 85895   getTranslator: function() {
 85896     return new Translator({attrValue: this.attrValue});
 85897   },
 85898 
 85899 
 85900   setupRequest: function setupRequest(request) {
 85901     var self = this;
 85902     var translator = self.getTranslator();
 85903     var operation = request.operation;
 85904     var inputShape = request.service.api.operations[operation].input;
 85905     request._events.validate.unshift(function(req) {
 85906       req.rawParams = AWS.util.copy(req.params);
 85907       req.params = translator.translateInput(req.rawParams, inputShape);
 85908     });
 85909   },
 85910 
 85911 
 85912   setupResponse: function setupResponse(request) {
 85913     var self = this;
 85914     var translator = self.getTranslator();
 85915     var outputShape = self.service.api.operations[request.operation].output;
 85916     request.on('extractData', function(response) {
 85917       response.data = translator.translateOutput(response.data, outputShape);
 85918     });
 85919 
 85920     var response = request.response;
 85921     response.nextPage = function(cb) {
 85922       var resp = this;
 85923       var req = resp.request;
 85924       var config;
 85925       var service = req.service;
 85926       var operation = req.operation;
 85927       try {
 85928         config = service.paginationConfig(operation, true);
 85929       } catch (e) { resp.error = e; }
 85930 
 85931       if (!resp.hasNextPage()) {
 85932         if (cb) cb(resp.error, null);
 85933         else if (resp.error) throw resp.error;
 85934         return null;
 85935       }
 85936 
 85937       var params = AWS.util.copy(req.rawParams);
 85938       if (!resp.nextPageTokens) {
 85939         return cb ? cb(null, null) : null;
 85940       } else {
 85941         var inputTokens = config.inputToken;
 85942         if (typeof inputTokens === 'string') inputTokens = [inputTokens];
 85943         for (var i = 0; i < inputTokens.length; i++) {
 85944           params[inputTokens[i]] = resp.nextPageTokens[i];
 85945         }
 85946         return self[operation](params, cb);
 85947       }
 85948     };
 85949   }
 85950 
 85951 });
 85952 
 85953 module.exports = AWS.DynamoDB.DocumentClient;
 85954 
 85955 },{"../core":189,"./set":198,"./translator":199}],198:[function(require,module,exports){
 85956 var util = require('../core').util;
 85957 var typeOf = require('./types').typeOf;
 85958 
 85959 var DynamoDBSet = util.inherit({
 85960 
 85961   constructor: function Set(list, options) {
 85962     options = options || {};
 85963     this.initialize(list, options.validate);
 85964   },
 85965 
 85966   initialize: function(list, validate) {
 85967     var self = this;
 85968     self.values = [].concat(list);
 85969     self.detectType();
 85970     if (validate) {
 85971       self.validate();
 85972     }
 85973   },
 85974 
 85975   detectType: function() {
 85976     var self = this;
 85977     var value = self.values[0];
 85978     if (typeOf(value) === 'String') {
 85979       self.type = 'String';
 85980     } else if (typeOf(value) === 'Number') {
 85981       self.type = 'Number';
 85982     } else if (typeOf(value) === 'Binary') {
 85983       self.type = 'Binary';
 85984     } else {
 85985       throw util.error(new Error(), {
 85986         code: 'InvalidSetType',
 85987         message: 'Sets can contain string, number, or binary values'
 85988       });
 85989     }
 85990   },
 85991 
 85992   validate: function() {
 85993     var self = this;
 85994     var length = self.values.length;
 85995     var values = self.values;
 85996     for (var i = 0; i < length; i++) {
 85997       if (typeOf(values[i]) !== self.type) {
 85998         throw util.error(new Error(), {
 85999           code: 'InvalidType',
 86000           message: self.type + ' Set contains ' + typeOf(values[i]) + ' value'
 86001         });
 86002       }
 86003     }
 86004   }
 86005 
 86006 });
 86007 
 86008 module.exports = DynamoDBSet;
 86009 
 86010 },{"../core":189,"./types":200}],199:[function(require,module,exports){
 86011 var util = require('../core').util;
 86012 var convert = require('./converter');
 86013 
 86014 var Translator = function(options) {
 86015   options = options || {};
 86016   this.attrValue = options.attrValue;
 86017 };
 86018 
 86019 Translator.prototype.translateInput = function(value, shape) {
 86020   this.mode = 'input';
 86021   return this.translate(value, shape);
 86022 };
 86023 
 86024 Translator.prototype.translateOutput = function(value, shape) {
 86025   this.mode = 'output';
 86026   return this.translate(value, shape);
 86027 };
 86028 
 86029 Translator.prototype.translate = function(value, shape) {
 86030   var self = this;
 86031   if (!shape || value === undefined) return undefined;
 86032 
 86033   if (shape.shape === self.attrValue) {
 86034     return convert[self.mode](value);
 86035   }
 86036   switch (shape.type) {
 86037     case 'structure': return self.translateStructure(value, shape);
 86038     case 'map': return self.translateMap(value, shape);
 86039     case 'list': return self.translateList(value, shape);
 86040     default: return self.translateScalar(value, shape);
 86041   }
 86042 };
 86043 
 86044 Translator.prototype.translateStructure = function(structure, shape) {
 86045   var self = this;
 86046   if (structure == null) return undefined;
 86047 
 86048   var struct = {};
 86049   util.each(structure, function(name, value) {
 86050     var memberShape = shape.members[name];
 86051     if (memberShape) {
 86052       var result = self.translate(value, memberShape);
 86053       if (result !== undefined) struct[name] = result;
 86054     }
 86055   });
 86056   return struct;
 86057 };
 86058 
 86059 Translator.prototype.translateList = function(list, shape) {
 86060   var self = this;
 86061   if (list == null) return undefined;
 86062 
 86063   var out = [];
 86064   util.arrayEach(list, function(value) {
 86065     var result = self.translate(value, shape.member);
 86066     if (result === undefined) out.push(null);
 86067     else out.push(result);
 86068   });
 86069   return out;
 86070 };
 86071 
 86072 Translator.prototype.translateMap = function(map, shape) {
 86073   var self = this;
 86074   if (map == null) return undefined;
 86075 
 86076   var out = {};
 86077   util.each(map, function(key, value) {
 86078     var result = self.translate(value, shape.value);
 86079     if (result === undefined) out[key] = null;
 86080     else out[key] = result;
 86081   });
 86082   return out;
 86083 };
 86084 
 86085 Translator.prototype.translateScalar = function(value, shape) {
 86086   return shape.toType(value);
 86087 };
 86088 
 86089 module.exports = Translator;
 86090 
 86091 },{"../core":189,"./converter":196}],200:[function(require,module,exports){
 86092 var util = require('../core').util;
 86093 
 86094 function typeOf(data) {
 86095   if (data === null && typeof data === 'object') {
 86096     return 'null';
 86097   } else if (data !== undefined && isBinary(data)) {
 86098     return 'Binary';
 86099   } else if (data !== undefined && data.constructor) {
 86100     return util.typeName(data.constructor);
 86101   } else {
 86102     return 'undefined';
 86103   }
 86104 }
 86105 
 86106 function isBinary(data) {
 86107   var types = [
 86108     'Buffer', 'File', 'Blob', 'ArrayBuffer', 'DataView',
 86109     'Int8Array', 'Uint8Array', 'Uint8ClampedArray',
 86110     'Int16Array', 'Uint16Array', 'Int32Array', 'Uint32Array',
 86111     'Float32Array', 'Float64Array'
 86112   ];
 86113   if (util.isNode()) {
 86114     var Stream = util.stream.Stream;
 86115     if (util.Buffer.isBuffer(data) || data instanceof Stream)
 86116       return true;
 86117   } else {
 86118     for (var i = 0; i < types.length; i++) {
 86119       if (data !== undefined && data.constructor) {
 86120         if (util.isType(data, types[i])) return true;
 86121         if (util.typeName(data.constructor) === types[i]) return true;
 86122       }
 86123     }
 86124   }
 86125   return false;
 86126 }
 86127 
 86128 module.exports = {
 86129   typeOf: typeOf,
 86130   isBinary: isBinary
 86131 };
 86132 
 86133 },{"../core":189}],201:[function(require,module,exports){
 86134 var AWS = require('./core');
 86135 var SequentialExecutor = require('./sequential_executor');
 86136 
 86137 
 86138 AWS.EventListeners = {
 86139 
 86140   Core: {} /* doc hack */
 86141 };
 86142 
 86143 AWS.EventListeners = {
 86144   Core: new SequentialExecutor().addNamedListeners(function(add, addAsync) {
 86145     addAsync('VALIDATE_CREDENTIALS', 'validate',
 86146         function VALIDATE_CREDENTIALS(req, done) {
 86147       if (!req.service.api.signatureVersion) return done(); // none
 86148       req.service.config.getCredentials(function(err) {
 86149         if (err) {
 86150           req.response.error = AWS.util.error(err,
 86151             {code: 'CredentialsError', message: 'Missing credentials in config'});
 86152         }
 86153         done();
 86154       });
 86155     });
 86156 
 86157     add('VALIDATE_REGION', 'validate', function VALIDATE_REGION(req) {
 86158       if (!req.service.config.region && !req.service.isGlobalEndpoint) {
 86159         req.response.error = AWS.util.error(new Error(),
 86160           {code: 'ConfigError', message: 'Missing region in config'});
 86161       }
 86162     });
 86163 
 86164     add('VALIDATE_PARAMETERS', 'validate', function VALIDATE_PARAMETERS(req) {
 86165       var rules = req.service.api.operations[req.operation].input;
 86166       var validation = req.service.config.paramValidation;
 86167       new AWS.ParamValidator(validation).validate(rules, req.params);
 86168     });
 86169 
 86170     addAsync('COMPUTE_SHA256', 'afterBuild', function COMPUTE_SHA256(req, done) {
 86171       req.haltHandlersOnError();
 86172       if (!req.service.api.signatureVersion) return done(); // none
 86173       if (req.service.getSignerClass(req) === AWS.Signers.V4) {
 86174         var body = req.httpRequest.body || '';
 86175         AWS.util.computeSha256(body, function(err, sha) {
 86176           if (err) {
 86177             done(err);
 86178           }
 86179           else {
 86180             req.httpRequest.headers['X-Amz-Content-Sha256'] = sha;
 86181             done();
 86182           }
 86183         });
 86184       } else {
 86185         done();
 86186       }
 86187     });
 86188 
 86189     add('SET_CONTENT_LENGTH', 'afterBuild', function SET_CONTENT_LENGTH(req) {
 86190       if (req.httpRequest.headers['Content-Length'] === undefined) {
 86191         var length = AWS.util.string.byteLength(req.httpRequest.body);
 86192         req.httpRequest.headers['Content-Length'] = length;
 86193       }
 86194     });
 86195 
 86196     add('SET_HTTP_HOST', 'afterBuild', function SET_HTTP_HOST(req) {
 86197       req.httpRequest.headers['Host'] = req.httpRequest.endpoint.host;
 86198     });
 86199 
 86200     add('RESTART', 'restart', function RESTART() {
 86201       var err = this.response.error;
 86202       if (!err || !err.retryable) return;
 86203 
 86204       this.httpRequest = new AWS.HttpRequest(
 86205         this.service.endpoint,
 86206         this.service.region
 86207       );
 86208 
 86209       if (this.response.retryCount < this.service.config.maxRetries) {
 86210         this.response.retryCount++;
 86211       } else {
 86212         this.response.error = null;
 86213       }
 86214     });
 86215 
 86216     addAsync('SIGN', 'sign', function SIGN(req, done) {
 86217       var service = req.service;
 86218       if (!service.api.signatureVersion) return done(); // none
 86219 
 86220       service.config.getCredentials(function (err, credentials) {
 86221         if (err) {
 86222           req.response.error = err;
 86223           return done();
 86224         }
 86225 
 86226         try {
 86227           var date = AWS.util.date.getDate();
 86228           var SignerClass = service.getSignerClass(req);
 86229           var signer = new SignerClass(req.httpRequest,
 86230             service.api.signingName || service.api.endpointPrefix,
 86231            service.config.signatureCache);
 86232           signer.setServiceClientId(service._clientId);
 86233 
 86234           delete req.httpRequest.headers['Authorization'];
 86235           delete req.httpRequest.headers['Date'];
 86236           delete req.httpRequest.headers['X-Amz-Date'];
 86237 
 86238           signer.addAuthorization(credentials, date);
 86239           req.signedAt = date;
 86240         } catch (e) {
 86241           req.response.error = e;
 86242         }
 86243         done();
 86244       });
 86245     });
 86246 
 86247     add('VALIDATE_RESPONSE', 'validateResponse', function VALIDATE_RESPONSE(resp) {
 86248       if (this.service.successfulResponse(resp, this)) {
 86249         resp.data = {};
 86250         resp.error = null;
 86251       } else {
 86252         resp.data = null;
 86253         resp.error = AWS.util.error(new Error(),
 86254           {code: 'UnknownError', message: 'An unknown error occurred.'});
 86255       }
 86256     });
 86257 
 86258     addAsync('SEND', 'send', function SEND(resp, done) {
 86259       resp.httpResponse._abortCallback = done;
 86260       resp.error = null;
 86261       resp.data = null;
 86262 
 86263       function callback(httpResp) {
 86264         resp.httpResponse.stream = httpResp;
 86265 
 86266         httpResp.on('headers', function onHeaders(statusCode, headers) {
 86267           resp.request.emit('httpHeaders', [statusCode, headers, resp]);
 86268 
 86269           if (!resp.httpResponse.streaming) {
 86270             if (AWS.HttpClient.streamsApiVersion === 2) { // streams2 API check
 86271               httpResp.on('readable', function onReadable() {
 86272                 var data = httpResp.read();
 86273                 if (data !== null) {
 86274                   resp.request.emit('httpData', [data, resp]);
 86275                 }
 86276               });
 86277             } else { // legacy streams API
 86278               httpResp.on('data', function onData(data) {
 86279                 resp.request.emit('httpData', [data, resp]);
 86280               });
 86281             }
 86282           }
 86283         });
 86284 
 86285         httpResp.on('end', function onEnd() {
 86286           resp.request.emit('httpDone');
 86287           done();
 86288         });
 86289       }
 86290 
 86291       function progress(httpResp) {
 86292         httpResp.on('sendProgress', function onSendProgress(value) {
 86293           resp.request.emit('httpUploadProgress', [value, resp]);
 86294         });
 86295 
 86296         httpResp.on('receiveProgress', function onReceiveProgress(value) {
 86297           resp.request.emit('httpDownloadProgress', [value, resp]);
 86298         });
 86299       }
 86300 
 86301       function error(err) {
 86302         resp.error = AWS.util.error(err, {
 86303           code: 'NetworkingError',
 86304           region: resp.request.httpRequest.region,
 86305           hostname: resp.request.httpRequest.endpoint.hostname,
 86306           retryable: true
 86307         });
 86308         resp.request.emit('httpError', [resp.error, resp], function() {
 86309           done();
 86310         });
 86311       }
 86312 
 86313       function executeSend() {
 86314         var http = AWS.HttpClient.getInstance();
 86315         var httpOptions = resp.request.service.config.httpOptions || {};
 86316         try {
 86317           var stream = http.handleRequest(resp.request.httpRequest, httpOptions,
 86318                                           callback, error);
 86319           progress(stream);
 86320         } catch (err) {
 86321           error(err);
 86322         }
 86323       }
 86324 
 86325       var timeDiff = (AWS.util.date.getDate() - this.signedAt) / 1000;
 86326       if (timeDiff >= 60 * 10) { // if we signed 10min ago, re-sign
 86327         this.emit('sign', [this], function(err) {
 86328           if (err) done(err);
 86329           else executeSend();
 86330         });
 86331       } else {
 86332         executeSend();
 86333       }
 86334     });
 86335 
 86336     add('HTTP_HEADERS', 'httpHeaders',
 86337         function HTTP_HEADERS(statusCode, headers, resp) {
 86338       resp.httpResponse.statusCode = statusCode;
 86339       resp.httpResponse.headers = headers;
 86340       resp.httpResponse.body = new AWS.util.Buffer('');
 86341       resp.httpResponse.buffers = [];
 86342       resp.httpResponse.numBytes = 0;
 86343       var dateHeader = headers.date || headers.Date;
 86344       if (dateHeader) {
 86345         var serverTime = Date.parse(dateHeader);
 86346         if (resp.request.service.config.correctClockSkew
 86347             && AWS.util.isClockSkewed(serverTime)) {
 86348           AWS.util.applyClockOffset(serverTime);
 86349         }
 86350       }
 86351     });
 86352 
 86353     add('HTTP_DATA', 'httpData', function HTTP_DATA(chunk, resp) {
 86354       if (chunk) {
 86355         if (AWS.util.isNode()) {
 86356           resp.httpResponse.numBytes += chunk.length;
 86357 
 86358           var total = resp.httpResponse.headers['content-length'];
 86359           var progress = { loaded: resp.httpResponse.numBytes, total: total };
 86360           resp.request.emit('httpDownloadProgress', [progress, resp]);
 86361         }
 86362 
 86363         resp.httpResponse.buffers.push(new AWS.util.Buffer(chunk));
 86364       }
 86365     });
 86366 
 86367     add('HTTP_DONE', 'httpDone', function HTTP_DONE(resp) {
 86368       if (resp.httpResponse.buffers && resp.httpResponse.buffers.length > 0) {
 86369         var body = AWS.util.buffer.concat(resp.httpResponse.buffers);
 86370         resp.httpResponse.body = body;
 86371       }
 86372       delete resp.httpResponse.numBytes;
 86373       delete resp.httpResponse.buffers;
 86374     });
 86375 
 86376     add('FINALIZE_ERROR', 'retry', function FINALIZE_ERROR(resp) {
 86377       if (resp.httpResponse.statusCode) {
 86378         resp.error.statusCode = resp.httpResponse.statusCode;
 86379         if (resp.error.retryable === undefined) {
 86380           resp.error.retryable = this.service.retryableError(resp.error, this);
 86381         }
 86382       }
 86383     });
 86384 
 86385     add('INVALIDATE_CREDENTIALS', 'retry', function INVALIDATE_CREDENTIALS(resp) {
 86386       if (!resp.error) return;
 86387       switch (resp.error.code) {
 86388         case 'RequestExpired': // EC2 only
 86389         case 'ExpiredTokenException':
 86390         case 'ExpiredToken':
 86391           resp.error.retryable = true;
 86392           resp.request.service.config.credentials.expired = true;
 86393       }
 86394     });
 86395 
 86396     add('EXPIRED_SIGNATURE', 'retry', function EXPIRED_SIGNATURE(resp) {
 86397       var err = resp.error;
 86398       if (!err) return;
 86399       if (typeof err.code === 'string' && typeof err.message === 'string') {
 86400         if (err.code.match(/Signature/) && err.message.match(/expired/)) {
 86401           resp.error.retryable = true;
 86402         }
 86403       }
 86404     });
 86405 
 86406     add('CLOCK_SKEWED', 'retry', function CLOCK_SKEWED(resp) {
 86407       if (!resp.error) return;
 86408       if (this.service.clockSkewError(resp.error)
 86409           && this.service.config.correctClockSkew
 86410           && AWS.config.isClockSkewed) {
 86411         resp.error.retryable = true;
 86412       }
 86413     });
 86414 
 86415     add('REDIRECT', 'retry', function REDIRECT(resp) {
 86416       if (resp.error && resp.error.statusCode >= 300 &&
 86417           resp.error.statusCode < 400 && resp.httpResponse.headers['location']) {
 86418         this.httpRequest.endpoint =
 86419           new AWS.Endpoint(resp.httpResponse.headers['location']);
 86420         this.httpRequest.headers['Host'] = this.httpRequest.endpoint.host;
 86421         resp.error.redirect = true;
 86422         resp.error.retryable = true;
 86423       }
 86424     });
 86425 
 86426     add('RETRY_CHECK', 'retry', function RETRY_CHECK(resp) {
 86427       if (resp.error) {
 86428         if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {
 86429           resp.error.retryDelay = 0;
 86430         } else if (resp.retryCount < resp.maxRetries) {
 86431           resp.error.retryDelay = this.service.retryDelays(resp.retryCount) || 0;
 86432         }
 86433       }
 86434     });
 86435 
 86436     addAsync('RESET_RETRY_STATE', 'afterRetry', function RESET_RETRY_STATE(resp, done) {
 86437       var delay, willRetry = false;
 86438 
 86439       if (resp.error) {
 86440         delay = resp.error.retryDelay || 0;
 86441         if (resp.error.retryable && resp.retryCount < resp.maxRetries) {
 86442           resp.retryCount++;
 86443           willRetry = true;
 86444         } else if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {
 86445           resp.redirectCount++;
 86446           willRetry = true;
 86447         }
 86448       }
 86449 
 86450       if (willRetry) {
 86451         resp.error = null;
 86452         setTimeout(done, delay);
 86453       } else {
 86454         done();
 86455       }
 86456     });
 86457   }),
 86458 
 86459   CorePost: new SequentialExecutor().addNamedListeners(function(add) {
 86460     add('EXTRACT_REQUEST_ID', 'extractData', AWS.util.extractRequestId);
 86461     add('EXTRACT_REQUEST_ID', 'extractError', AWS.util.extractRequestId);
 86462 
 86463     add('ENOTFOUND_ERROR', 'httpError', function ENOTFOUND_ERROR(err) {
 86464       if (err.code === 'NetworkingError' && err.errno === 'ENOTFOUND') {
 86465         var message = 'Inaccessible host: `' + err.hostname +
 86466           '\'. This service may not be available in the `' + err.region +
 86467           '\' region.';
 86468         this.response.error = AWS.util.error(new Error(message), {
 86469           code: 'UnknownEndpoint',
 86470           region: err.region,
 86471           hostname: err.hostname,
 86472           retryable: true,
 86473           originalError: err
 86474         });
 86475       }
 86476     });
 86477   }),
 86478 
 86479   Logger: new SequentialExecutor().addNamedListeners(function(add) {
 86480     add('LOG_REQUEST', 'complete', function LOG_REQUEST(resp) {
 86481       var req = resp.request;
 86482       var logger = req.service.config.logger;
 86483       if (!logger) return;
 86484 
 86485       function buildMessage() {
 86486         var time = AWS.util.date.getDate().getTime();
 86487         var delta = (time - req.startTime.getTime()) / 1000;
 86488         var ansi = logger.isTTY ? true : false;
 86489         var status = resp.httpResponse.statusCode;
 86490         var params = require('util').inspect(req.params, true, null);
 86491 
 86492         var message = '';
 86493         if (ansi) message += '\x1B[33m';
 86494         message += '[AWS ' + req.service.serviceIdentifier + ' ' + status;
 86495         message += ' ' + delta.toString() + 's ' + resp.retryCount + ' retries]';
 86496         if (ansi) message += '\x1B[0;1m';
 86497         message += ' ' + AWS.util.string.lowerFirst(req.operation);
 86498         message += '(' + params + ')';
 86499         if (ansi) message += '\x1B[0m';
 86500         return message;
 86501       }
 86502 
 86503       var line = buildMessage();
 86504       if (typeof logger.log === 'function') {
 86505         logger.log(line);
 86506       } else if (typeof logger.write === 'function') {
 86507         logger.write(line + '\n');
 86508       }
 86509     });
 86510   }),
 86511 
 86512   Json: new SequentialExecutor().addNamedListeners(function(add) {
 86513     var svc = require('./protocol/json');
 86514     add('BUILD', 'build', svc.buildRequest);
 86515     add('EXTRACT_DATA', 'extractData', svc.extractData);
 86516     add('EXTRACT_ERROR', 'extractError', svc.extractError);
 86517   }),
 86518 
 86519   Rest: new SequentialExecutor().addNamedListeners(function(add) {
 86520     var svc = require('./protocol/rest');
 86521     add('BUILD', 'build', svc.buildRequest);
 86522     add('EXTRACT_DATA', 'extractData', svc.extractData);
 86523     add('EXTRACT_ERROR', 'extractError', svc.extractError);
 86524   }),
 86525 
 86526   RestJson: new SequentialExecutor().addNamedListeners(function(add) {
 86527     var svc = require('./protocol/rest_json');
 86528     add('BUILD', 'build', svc.buildRequest);
 86529     add('EXTRACT_DATA', 'extractData', svc.extractData);
 86530     add('EXTRACT_ERROR', 'extractError', svc.extractError);
 86531   }),
 86532 
 86533   RestXml: new SequentialExecutor().addNamedListeners(function(add) {
 86534     var svc = require('./protocol/rest_xml');
 86535     add('BUILD', 'build', svc.buildRequest);
 86536     add('EXTRACT_DATA', 'extractData', svc.extractData);
 86537     add('EXTRACT_ERROR', 'extractError', svc.extractError);
 86538   }),
 86539 
 86540   Query: new SequentialExecutor().addNamedListeners(function(add) {
 86541     var svc = require('./protocol/query');
 86542     add('BUILD', 'build', svc.buildRequest);
 86543     add('EXTRACT_DATA', 'extractData', svc.extractData);
 86544     add('EXTRACT_ERROR', 'extractError', svc.extractError);
 86545   })
 86546 };
 86547 
 86548 },{"./core":189,"./protocol/json":213,"./protocol/query":214,"./protocol/rest":215,"./protocol/rest_json":216,"./protocol/rest_xml":217,"./sequential_executor":225,"util":258}],202:[function(require,module,exports){
 86549 var AWS = require('./core');
 86550 var inherit = AWS.util.inherit;
 86551 
 86552 
 86553 AWS.Endpoint = inherit({
 86554 
 86555 
 86556   constructor: function Endpoint(endpoint, config) {
 86557     AWS.util.hideProperties(this, ['slashes', 'auth', 'hash', 'search', 'query']);
 86558 
 86559     if (typeof endpoint === 'undefined' || endpoint === null) {
 86560       throw new Error('Invalid endpoint: ' + endpoint);
 86561     } else if (typeof endpoint !== 'string') {
 86562       return AWS.util.copy(endpoint);
 86563     }
 86564 
 86565     if (!endpoint.match(/^http/)) {
 86566       var useSSL = config && config.sslEnabled !== undefined ?
 86567         config.sslEnabled : AWS.config.sslEnabled;
 86568       endpoint = (useSSL ? 'https' : 'http') + '://' + endpoint;
 86569     }
 86570 
 86571     AWS.util.update(this, AWS.util.urlParse(endpoint));
 86572 
 86573     if (this.port) {
 86574       this.port = parseInt(this.port, 10);
 86575     } else {
 86576       this.port = this.protocol === 'https:' ? 443 : 80;
 86577     }
 86578   }
 86579 
 86580 });
 86581 
 86582 
 86583 AWS.HttpRequest = inherit({
 86584 
 86585 
 86586   constructor: function HttpRequest(endpoint, region, customUserAgent) {
 86587     endpoint = new AWS.Endpoint(endpoint);
 86588     this.method = 'POST';
 86589     this.path = endpoint.path || '/';
 86590     this.headers = {};
 86591     this.body = '';
 86592     this.endpoint = endpoint;
 86593     this.region = region;
 86594     this.setUserAgent(customUserAgent);
 86595   },
 86596 
 86597 
 86598   setUserAgent: function setUserAgent(customUserAgent) {
 86599     var prefix = AWS.util.isBrowser() ? 'X-Amz-' : '';
 86600     var customSuffix = '';
 86601     if (typeof customUserAgent === 'string' && customUserAgent) {
 86602       customSuffix += ' ' + customUserAgent;
 86603     }
 86604     this.headers[prefix + 'User-Agent'] = AWS.util.userAgent() + customSuffix;
 86605   },
 86606 
 86607 
 86608   pathname: function pathname() {
 86609     return this.path.split('?', 1)[0];
 86610   },
 86611 
 86612 
 86613   search: function search() {
 86614     var query = this.path.split('?', 2)[1];
 86615     if (query) {
 86616       query = AWS.util.queryStringParse(query);
 86617       return AWS.util.queryParamsToString(query);
 86618     }
 86619     return '';
 86620   }
 86621 
 86622 });
 86623 
 86624 
 86625 AWS.HttpResponse = inherit({
 86626 
 86627 
 86628   constructor: function HttpResponse() {
 86629     this.statusCode = undefined;
 86630     this.headers = {};
 86631     this.body = undefined;
 86632     this.streaming = false;
 86633     this.stream = null;
 86634   },
 86635 
 86636 
 86637   createUnbufferedStream: function createUnbufferedStream() {
 86638     this.streaming = true;
 86639     return this.stream;
 86640   }
 86641 });
 86642 
 86643 
 86644 AWS.HttpClient = inherit({});
 86645 
 86646 
 86647 AWS.HttpClient.getInstance = function getInstance() {
 86648   if (this.singleton === undefined) {
 86649     this.singleton = new this();
 86650   }
 86651   return this.singleton;
 86652 };
 86653 
 86654 },{"./core":189}],203:[function(require,module,exports){
 86655 var AWS = require('../core');
 86656 var EventEmitter = require('events').EventEmitter;
 86657 require('../http');
 86658 
 86659 
 86660 AWS.XHRClient = AWS.util.inherit({
 86661   handleRequest: function handleRequest(httpRequest, httpOptions, callback, errCallback) {
 86662     var self = this;
 86663     var endpoint = httpRequest.endpoint;
 86664     var emitter = new EventEmitter();
 86665     var href = endpoint.protocol + '//' + endpoint.hostname;
 86666     if (endpoint.port !== 80 && endpoint.port !== 443) {
 86667       href += ':' + endpoint.port;
 86668     }
 86669     href += httpRequest.path;
 86670 
 86671     var xhr = new XMLHttpRequest(), headersEmitted = false;
 86672     httpRequest.stream = xhr;
 86673 
 86674     xhr.addEventListener('readystatechange', function() {
 86675       try {
 86676         if (xhr.status === 0) return; // 0 code is invalid
 86677       } catch (e) { return; }
 86678 
 86679       if (this.readyState >= this.HEADERS_RECEIVED && !headersEmitted) {
 86680         try { xhr.responseType = 'arraybuffer'; } catch (e) {}
 86681         emitter.statusCode = xhr.status;
 86682         emitter.headers = self.parseHeaders(xhr.getAllResponseHeaders());
 86683         emitter.emit('headers', emitter.statusCode, emitter.headers);
 86684         headersEmitted = true;
 86685       }
 86686       if (this.readyState === this.DONE) {
 86687         self.finishRequest(xhr, emitter);
 86688       }
 86689     }, false);
 86690     xhr.upload.addEventListener('progress', function (evt) {
 86691       emitter.emit('sendProgress', evt);
 86692     });
 86693     xhr.addEventListener('progress', function (evt) {
 86694       emitter.emit('receiveProgress', evt);
 86695     }, false);
 86696     xhr.addEventListener('timeout', function () {
 86697       errCallback(AWS.util.error(new Error('Timeout'), {code: 'TimeoutError'}));
 86698     }, false);
 86699     xhr.addEventListener('error', function () {
 86700       errCallback(AWS.util.error(new Error('Network Failure'), {
 86701         code: 'NetworkingError'
 86702       }));
 86703     }, false);
 86704 
 86705     callback(emitter);
 86706     xhr.open(httpRequest.method, href, httpOptions.xhrAsync !== false);
 86707     AWS.util.each(httpRequest.headers, function (key, value) {
 86708       if (key !== 'Content-Length' && key !== 'User-Agent' && key !== 'Host') {
 86709         xhr.setRequestHeader(key, value);
 86710       }
 86711     });
 86712 
 86713     if (httpOptions.timeout && httpOptions.xhrAsync !== false) {
 86714       xhr.timeout = httpOptions.timeout;
 86715     }
 86716 
 86717     if (httpOptions.xhrWithCredentials) {
 86718       xhr.withCredentials = true;
 86719     }
 86720 
 86721     try {
 86722       xhr.send(httpRequest.body);
 86723     } catch (err) {
 86724       if (httpRequest.body && typeof httpRequest.body.buffer === 'object') {
 86725         xhr.send(httpRequest.body.buffer); // send ArrayBuffer directly
 86726       } else {
 86727         throw err;
 86728       }
 86729     }
 86730 
 86731     return emitter;
 86732   },
 86733 
 86734   parseHeaders: function parseHeaders(rawHeaders) {
 86735     var headers = {};
 86736     AWS.util.arrayEach(rawHeaders.split(/\r?\n/), function (line) {
 86737       var key = line.split(':', 1)[0];
 86738       var value = line.substring(key.length + 2);
 86739       if (key.length > 0) headers[key.toLowerCase()] = value;
 86740     });
 86741     return headers;
 86742   },
 86743 
 86744   finishRequest: function finishRequest(xhr, emitter) {
 86745     var buffer;
 86746     if (xhr.responseType === 'arraybuffer' && xhr.response) {
 86747       var ab = xhr.response;
 86748       buffer = new AWS.util.Buffer(ab.byteLength);
 86749       var view = new Uint8Array(ab);
 86750       for (var i = 0; i < buffer.length; ++i) {
 86751         buffer[i] = view[i];
 86752       }
 86753     }
 86754 
 86755     try {
 86756       if (!buffer && typeof xhr.responseText === 'string') {
 86757         buffer = new AWS.util.Buffer(xhr.responseText);
 86758       }
 86759     } catch (e) {}
 86760 
 86761     if (buffer) emitter.emit('data', buffer);
 86762     emitter.emit('end');
 86763   }
 86764 });
 86765 
 86766 
 86767 AWS.HttpClient.prototype = AWS.XHRClient.prototype;
 86768 
 86769 
 86770 AWS.HttpClient.streamsApiVersion = 1;
 86771 
 86772 },{"../core":189,"../http":202,"events":250}],204:[function(require,module,exports){
 86773 var util = require('../util');
 86774 
 86775 function JsonBuilder() { }
 86776 
 86777 JsonBuilder.prototype.build = function(value, shape) {
 86778   return JSON.stringify(translate(value, shape));
 86779 };
 86780 
 86781 function translate(value, shape) {
 86782   if (!shape || value === undefined || value === null) return undefined;
 86783 
 86784   switch (shape.type) {
 86785     case 'structure': return translateStructure(value, shape);
 86786     case 'map': return translateMap(value, shape);
 86787     case 'list': return translateList(value, shape);
 86788     default: return translateScalar(value, shape);
 86789   }
 86790 }
 86791 
 86792 function translateStructure(structure, shape) {
 86793   var struct = {};
 86794   util.each(structure, function(name, value) {
 86795     var memberShape = shape.members[name];
 86796     if (memberShape) {
 86797       if (memberShape.location !== 'body') return;
 86798       var locationName = memberShape.isLocationName ? memberShape.name : name;
 86799       var result = translate(value, memberShape);
 86800       if (result !== undefined) struct[locationName] = result;
 86801     }
 86802   });
 86803   return struct;
 86804 }
 86805 
 86806 function translateList(list, shape) {
 86807   var out = [];
 86808   util.arrayEach(list, function(value) {
 86809     var result = translate(value, shape.member);
 86810     if (result !== undefined) out.push(result);
 86811   });
 86812   return out;
 86813 }
 86814 
 86815 function translateMap(map, shape) {
 86816   var out = {};
 86817   util.each(map, function(key, value) {
 86818     var result = translate(value, shape.value);
 86819     if (result !== undefined) out[key] = result;
 86820   });
 86821   return out;
 86822 }
 86823 
 86824 function translateScalar(value, shape) {
 86825   return shape.toWireFormat(value);
 86826 }
 86827 
 86828 module.exports = JsonBuilder;
 86829 
 86830 },{"../util":246}],205:[function(require,module,exports){
 86831 var util = require('../util');
 86832 
 86833 function JsonParser() { }
 86834 
 86835 JsonParser.prototype.parse = function(value, shape) {
 86836   return translate(JSON.parse(value), shape);
 86837 };
 86838 
 86839 function translate(value, shape) {
 86840   if (!shape || value === undefined) return undefined;
 86841 
 86842   switch (shape.type) {
 86843     case 'structure': return translateStructure(value, shape);
 86844     case 'map': return translateMap(value, shape);
 86845     case 'list': return translateList(value, shape);
 86846     default: return translateScalar(value, shape);
 86847   }
 86848 }
 86849 
 86850 function translateStructure(structure, shape) {
 86851   if (structure == null) return undefined;
 86852 
 86853   var struct = {};
 86854   var shapeMembers = shape.members;
 86855   util.each(shapeMembers, function(name, memberShape) {
 86856     var locationName = memberShape.isLocationName ? memberShape.name : name;
 86857     if (Object.prototype.hasOwnProperty.call(structure, locationName)) {
 86858       var value = structure[locationName];
 86859       var result = translate(value, memberShape);
 86860       if (result !== undefined) struct[name] = result;
 86861     }
 86862   });
 86863   return struct;
 86864 }
 86865 
 86866 function translateList(list, shape) {
 86867   if (list == null) return undefined;
 86868 
 86869   var out = [];
 86870   util.arrayEach(list, function(value) {
 86871     var result = translate(value, shape.member);
 86872     if (result === undefined) out.push(null);
 86873     else out.push(result);
 86874   });
 86875   return out;
 86876 }
 86877 
 86878 function translateMap(map, shape) {
 86879   if (map == null) return undefined;
 86880 
 86881   var out = {};
 86882   util.each(map, function(key, value) {
 86883     var result = translate(value, shape.value);
 86884     if (result === undefined) out[key] = null;
 86885     else out[key] = result;
 86886   });
 86887   return out;
 86888 }
 86889 
 86890 function translateScalar(value, shape) {
 86891   return shape.toType(value);
 86892 }
 86893 
 86894 module.exports = JsonParser;
 86895 
 86896 },{"../util":246}],206:[function(require,module,exports){
 86897 var Collection = require('./collection');
 86898 var Operation = require('./operation');
 86899 var Shape = require('./shape');
 86900 var Paginator = require('./paginator');
 86901 var ResourceWaiter = require('./resource_waiter');
 86902 
 86903 var util = require('../util');
 86904 var property = util.property;
 86905 var memoizedProperty = util.memoizedProperty;
 86906 
 86907 function Api(api, options) {
 86908   api = api || {};
 86909   options = options || {};
 86910   options.api = this;
 86911 
 86912   api.metadata = api.metadata || {};
 86913 
 86914   property(this, 'isApi', true, false);
 86915   property(this, 'apiVersion', api.metadata.apiVersion);
 86916   property(this, 'endpointPrefix', api.metadata.endpointPrefix);
 86917   property(this, 'signingName', api.metadata.signingName);
 86918   property(this, 'globalEndpoint', api.metadata.globalEndpoint);
 86919   property(this, 'signatureVersion', api.metadata.signatureVersion);
 86920   property(this, 'jsonVersion', api.metadata.jsonVersion);
 86921   property(this, 'targetPrefix', api.metadata.targetPrefix);
 86922   property(this, 'protocol', api.metadata.protocol);
 86923   property(this, 'timestampFormat', api.metadata.timestampFormat);
 86924   property(this, 'xmlNamespaceUri', api.metadata.xmlNamespace);
 86925   property(this, 'abbreviation', api.metadata.serviceAbbreviation);
 86926   property(this, 'fullName', api.metadata.serviceFullName);
 86927 
 86928   memoizedProperty(this, 'className', function() {
 86929     var name = api.metadata.serviceAbbreviation || api.metadata.serviceFullName;
 86930     if (!name) return null;
 86931 
 86932     name = name.replace(/^Amazon|AWS\s*|\(.*|\s+|\W+/g, '');
 86933     if (name === 'ElasticLoadBalancing') name = 'ELB';
 86934     return name;
 86935   });
 86936 
 86937   property(this, 'operations', new Collection(api.operations, options, function(name, operation) {
 86938     return new Operation(name, operation, options);
 86939   }, util.string.lowerFirst));
 86940 
 86941   property(this, 'shapes', new Collection(api.shapes, options, function(name, shape) {
 86942     return Shape.create(shape, options);
 86943   }));
 86944 
 86945   property(this, 'paginators', new Collection(api.paginators, options, function(name, paginator) {
 86946     return new Paginator(name, paginator, options);
 86947   }));
 86948 
 86949   property(this, 'waiters', new Collection(api.waiters, options, function(name, waiter) {
 86950     return new ResourceWaiter(name, waiter, options);
 86951   }, util.string.lowerFirst));
 86952 
 86953   if (options.documentation) {
 86954     property(this, 'documentation', api.documentation);
 86955     property(this, 'documentationUrl', api.documentationUrl);
 86956   }
 86957 }
 86958 
 86959 module.exports = Api;
 86960 
 86961 },{"../util":246,"./collection":207,"./operation":208,"./paginator":209,"./resource_waiter":210,"./shape":211}],207:[function(require,module,exports){
 86962 var memoizedProperty = require('../util').memoizedProperty;
 86963 
 86964 function memoize(name, value, fn, nameTr) {
 86965   memoizedProperty(this, nameTr(name), function() {
 86966     return fn(name, value);
 86967   });
 86968 }
 86969 
 86970 function Collection(iterable, options, fn, nameTr) {
 86971   nameTr = nameTr || String;
 86972   var self = this;
 86973 
 86974   for (var id in iterable) {
 86975     if (Object.prototype.hasOwnProperty.call(iterable, id)) {
 86976       memoize.call(self, id, iterable[id], fn, nameTr);
 86977     }
 86978   }
 86979 }
 86980 
 86981 module.exports = Collection;
 86982 
 86983 },{"../util":246}],208:[function(require,module,exports){
 86984 var Shape = require('./shape');
 86985 
 86986 var util = require('../util');
 86987 var property = util.property;
 86988 var memoizedProperty = util.memoizedProperty;
 86989 
 86990 function Operation(name, operation, options) {
 86991   options = options || {};
 86992 
 86993   property(this, 'name', operation.name || name);
 86994   property(this, 'api', options.api, false);
 86995 
 86996   operation.http = operation.http || {};
 86997   property(this, 'httpMethod', operation.http.method || 'POST');
 86998   property(this, 'httpPath', operation.http.requestUri || '/');
 86999   property(this, 'authtype', operation.authtype || '');
 87000 
 87001   memoizedProperty(this, 'input', function() {
 87002     if (!operation.input) {
 87003       return new Shape.create({type: 'structure'}, options);
 87004     }
 87005     return Shape.create(operation.input, options);
 87006   });
 87007 
 87008   memoizedProperty(this, 'output', function() {
 87009     if (!operation.output) {
 87010       return new Shape.create({type: 'structure'}, options);
 87011     }
 87012     return Shape.create(operation.output, options);
 87013   });
 87014 
 87015   memoizedProperty(this, 'errors', function() {
 87016     var list = [];
 87017     if (!operation.errors) return null;
 87018 
 87019     for (var i = 0; i < operation.errors.length; i++) {
 87020       list.push(Shape.create(operation.errors[i], options));
 87021     }
 87022 
 87023     return list;
 87024   });
 87025 
 87026   memoizedProperty(this, 'paginator', function() {
 87027     return options.api.paginators[name];
 87028   });
 87029 
 87030   if (options.documentation) {
 87031     property(this, 'documentation', operation.documentation);
 87032     property(this, 'documentationUrl', operation.documentationUrl);
 87033   }
 87034 }
 87035 
 87036 module.exports = Operation;
 87037 
 87038 },{"../util":246,"./shape":211}],209:[function(require,module,exports){
 87039 var property = require('../util').property;
 87040 
 87041 function Paginator(name, paginator) {
 87042   property(this, 'inputToken', paginator.input_token);
 87043   property(this, 'limitKey', paginator.limit_key);
 87044   property(this, 'moreResults', paginator.more_results);
 87045   property(this, 'outputToken', paginator.output_token);
 87046   property(this, 'resultKey', paginator.result_key);
 87047 }
 87048 
 87049 module.exports = Paginator;
 87050 
 87051 },{"../util":246}],210:[function(require,module,exports){
 87052 var util = require('../util');
 87053 var property = util.property;
 87054 
 87055 function ResourceWaiter(name, waiter, options) {
 87056   options = options || {};
 87057   property(this, 'name', name);
 87058   property(this, 'api', options.api, false);
 87059 
 87060   if (waiter.operation) {
 87061     property(this, 'operation', util.string.lowerFirst(waiter.operation));
 87062   }
 87063 
 87064   var self = this;
 87065   var keys = [
 87066     'type',
 87067     'description',
 87068     'delay',
 87069     'maxAttempts',
 87070     'acceptors'
 87071   ];
 87072 
 87073   keys.forEach(function(key) {
 87074     var value = waiter[key];
 87075     if (value) {
 87076       property(self, key, value);
 87077     }
 87078   });
 87079 }
 87080 
 87081 module.exports = ResourceWaiter;
 87082 
 87083 },{"../util":246}],211:[function(require,module,exports){
 87084 var Collection = require('./collection');
 87085 
 87086 var util = require('../util');
 87087 
 87088 function property(obj, name, value) {
 87089   if (value !== null && value !== undefined) {
 87090     util.property.apply(this, arguments);
 87091   }
 87092 }
 87093 
 87094 function memoizedProperty(obj, name) {
 87095   if (!obj.constructor.prototype[name]) {
 87096     util.memoizedProperty.apply(this, arguments);
 87097   }
 87098 }
 87099 
 87100 function Shape(shape, options, memberName) {
 87101   options = options || {};
 87102 
 87103   property(this, 'shape', shape.shape);
 87104   property(this, 'api', options.api, false);
 87105   property(this, 'type', shape.type);
 87106   property(this, 'enum', shape.enum);
 87107   property(this, 'min', shape.min);
 87108   property(this, 'max', shape.max);
 87109   property(this, 'pattern', shape.pattern);
 87110   property(this, 'location', shape.location || this.location || 'body');
 87111   property(this, 'name', this.name || shape.xmlName || shape.queryName ||
 87112     shape.locationName || memberName);
 87113   property(this, 'isStreaming', shape.streaming || this.isStreaming || false);
 87114   property(this, 'isComposite', shape.isComposite || false);
 87115   property(this, 'isShape', true, false);
 87116   property(this, 'isQueryName', shape.queryName ? true : false, false);
 87117   property(this, 'isLocationName', shape.locationName ? true : false, false);
 87118 
 87119   if (options.documentation) {
 87120     property(this, 'documentation', shape.documentation);
 87121     property(this, 'documentationUrl', shape.documentationUrl);
 87122   }
 87123 
 87124   if (shape.xmlAttribute) {
 87125     property(this, 'isXmlAttribute', shape.xmlAttribute || false);
 87126   }
 87127 
 87128   property(this, 'defaultValue', null);
 87129   this.toWireFormat = function(value) {
 87130     if (value === null || value === undefined) return '';
 87131     return value;
 87132   };
 87133   this.toType = function(value) { return value; };
 87134 }
 87135 
 87136 
 87137 Shape.normalizedTypes = {
 87138   character: 'string',
 87139   double: 'float',
 87140   long: 'integer',
 87141   short: 'integer',
 87142   biginteger: 'integer',
 87143   bigdecimal: 'float',
 87144   blob: 'binary'
 87145 };
 87146 
 87147 
 87148 Shape.types = {
 87149   'structure': StructureShape,
 87150   'list': ListShape,
 87151   'map': MapShape,
 87152   'boolean': BooleanShape,
 87153   'timestamp': TimestampShape,
 87154   'float': FloatShape,
 87155   'integer': IntegerShape,
 87156   'string': StringShape,
 87157   'base64': Base64Shape,
 87158   'binary': BinaryShape
 87159 };
 87160 
 87161 Shape.resolve = function resolve(shape, options) {
 87162   if (shape.shape) {
 87163     var refShape = options.api.shapes[shape.shape];
 87164     if (!refShape) {
 87165       throw new Error('Cannot find shape reference: ' + shape.shape);
 87166     }
 87167 
 87168     return refShape;
 87169   } else {
 87170     return null;
 87171   }
 87172 };
 87173 
 87174 Shape.create = function create(shape, options, memberName) {
 87175   if (shape.isShape) return shape;
 87176 
 87177   var refShape = Shape.resolve(shape, options);
 87178   if (refShape) {
 87179     var filteredKeys = Object.keys(shape);
 87180     if (!options.documentation) {
 87181       filteredKeys = filteredKeys.filter(function(name) {
 87182         return !name.match(/documentation/);
 87183       });
 87184     }
 87185     if (filteredKeys === ['shape']) { // no inline customizations
 87186       return refShape;
 87187     }
 87188 
 87189     var InlineShape = function() {
 87190       refShape.constructor.call(this, shape, options, memberName);
 87191     };
 87192     InlineShape.prototype = refShape;
 87193     return new InlineShape();
 87194   } else {
 87195     if (!shape.type) {
 87196       if (shape.members) shape.type = 'structure';
 87197       else if (shape.member) shape.type = 'list';
 87198       else if (shape.key) shape.type = 'map';
 87199       else shape.type = 'string';
 87200     }
 87201 
 87202     var origType = shape.type;
 87203     if (Shape.normalizedTypes[shape.type]) {
 87204       shape.type = Shape.normalizedTypes[shape.type];
 87205     }
 87206 
 87207     if (Shape.types[shape.type]) {
 87208       return new Shape.types[shape.type](shape, options, memberName);
 87209     } else {
 87210       throw new Error('Unrecognized shape type: ' + origType);
 87211     }
 87212   }
 87213 };
 87214 
 87215 function CompositeShape(shape) {
 87216   Shape.apply(this, arguments);
 87217   property(this, 'isComposite', true);
 87218 
 87219   if (shape.flattened) {
 87220     property(this, 'flattened', shape.flattened || false);
 87221   }
 87222 }
 87223 
 87224 function StructureShape(shape, options) {
 87225   var requiredMap = null, firstInit = !this.isShape;
 87226 
 87227   CompositeShape.apply(this, arguments);
 87228 
 87229   if (firstInit) {
 87230     property(this, 'defaultValue', function() { return {}; });
 87231     property(this, 'members', {});
 87232     property(this, 'memberNames', []);
 87233     property(this, 'required', []);
 87234     property(this, 'isRequired', function() { return false; });
 87235   }
 87236 
 87237   if (shape.members) {
 87238     property(this, 'members', new Collection(shape.members, options, function(name, member) {
 87239       return Shape.create(member, options, name);
 87240     }));
 87241     memoizedProperty(this, 'memberNames', function() {
 87242       return shape.xmlOrder || Object.keys(shape.members);
 87243     });
 87244   }
 87245 
 87246   if (shape.required) {
 87247     property(this, 'required', shape.required);
 87248     property(this, 'isRequired', function(name) {
 87249       if (!requiredMap) {
 87250         requiredMap = {};
 87251         for (var i = 0; i < shape.required.length; i++) {
 87252           requiredMap[shape.required[i]] = true;
 87253         }
 87254       }
 87255 
 87256       return requiredMap[name];
 87257     }, false, true);
 87258   }
 87259 
 87260   property(this, 'resultWrapper', shape.resultWrapper || null);
 87261 
 87262   if (shape.payload) {
 87263     property(this, 'payload', shape.payload);
 87264   }
 87265 
 87266   if (typeof shape.xmlNamespace === 'string') {
 87267     property(this, 'xmlNamespaceUri', shape.xmlNamespace);
 87268   } else if (typeof shape.xmlNamespace === 'object') {
 87269     property(this, 'xmlNamespacePrefix', shape.xmlNamespace.prefix);
 87270     property(this, 'xmlNamespaceUri', shape.xmlNamespace.uri);
 87271   }
 87272 }
 87273 
 87274 function ListShape(shape, options) {
 87275   var self = this, firstInit = !this.isShape;
 87276   CompositeShape.apply(this, arguments);
 87277 
 87278   if (firstInit) {
 87279     property(this, 'defaultValue', function() { return []; });
 87280   }
 87281 
 87282   if (shape.member) {
 87283     memoizedProperty(this, 'member', function() {
 87284       return Shape.create(shape.member, options);
 87285     });
 87286   }
 87287 
 87288   if (this.flattened) {
 87289     var oldName = this.name;
 87290     memoizedProperty(this, 'name', function() {
 87291       return self.member.name || oldName;
 87292     });
 87293   }
 87294 }
 87295 
 87296 function MapShape(shape, options) {
 87297   var firstInit = !this.isShape;
 87298   CompositeShape.apply(this, arguments);
 87299 
 87300   if (firstInit) {
 87301     property(this, 'defaultValue', function() { return {}; });
 87302     property(this, 'key', Shape.create({type: 'string'}, options));
 87303     property(this, 'value', Shape.create({type: 'string'}, options));
 87304   }
 87305 
 87306   if (shape.key) {
 87307     memoizedProperty(this, 'key', function() {
 87308       return Shape.create(shape.key, options);
 87309     });
 87310   }
 87311   if (shape.value) {
 87312     memoizedProperty(this, 'value', function() {
 87313       return Shape.create(shape.value, options);
 87314     });
 87315   }
 87316 }
 87317 
 87318 function TimestampShape(shape) {
 87319   var self = this;
 87320   Shape.apply(this, arguments);
 87321 
 87322   if (this.location === 'header') {
 87323     property(this, 'timestampFormat', 'rfc822');
 87324   } else if (shape.timestampFormat) {
 87325     property(this, 'timestampFormat', shape.timestampFormat);
 87326   } else if (this.api) {
 87327     if (this.api.timestampFormat) {
 87328       property(this, 'timestampFormat', this.api.timestampFormat);
 87329     } else {
 87330       switch (this.api.protocol) {
 87331         case 'json':
 87332         case 'rest-json':
 87333           property(this, 'timestampFormat', 'unixTimestamp');
 87334           break;
 87335         case 'rest-xml':
 87336         case 'query':
 87337         case 'ec2':
 87338           property(this, 'timestampFormat', 'iso8601');
 87339           break;
 87340       }
 87341     }
 87342   }
 87343 
 87344   this.toType = function(value) {
 87345     if (value === null || value === undefined) return null;
 87346     if (typeof value.toUTCString === 'function') return value;
 87347     return typeof value === 'string' || typeof value === 'number' ?
 87348            util.date.parseTimestamp(value) : null;
 87349   };
 87350 
 87351   this.toWireFormat = function(value) {
 87352     return util.date.format(value, self.timestampFormat);
 87353   };
 87354 }
 87355 
 87356 function StringShape() {
 87357   Shape.apply(this, arguments);
 87358 
 87359   if (this.api) {
 87360     switch (this.api.protocol) {
 87361       case 'rest-xml':
 87362       case 'query':
 87363       case 'ec2':
 87364         this.toType = function(value) { return value || ''; };
 87365     }
 87366   }
 87367 }
 87368 
 87369 function FloatShape() {
 87370   Shape.apply(this, arguments);
 87371 
 87372   this.toType = function(value) {
 87373     if (value === null || value === undefined) return null;
 87374     return parseFloat(value);
 87375   };
 87376   this.toWireFormat = this.toType;
 87377 }
 87378 
 87379 function IntegerShape() {
 87380   Shape.apply(this, arguments);
 87381 
 87382   this.toType = function(value) {
 87383     if (value === null || value === undefined) return null;
 87384     return parseInt(value, 10);
 87385   };
 87386   this.toWireFormat = this.toType;
 87387 }
 87388 
 87389 function BinaryShape() {
 87390   Shape.apply(this, arguments);
 87391   this.toType = util.base64.decode;
 87392   this.toWireFormat = util.base64.encode;
 87393 }
 87394 
 87395 function Base64Shape() {
 87396   BinaryShape.apply(this, arguments);
 87397 }
 87398 
 87399 function BooleanShape() {
 87400   Shape.apply(this, arguments);
 87401 
 87402   this.toType = function(value) {
 87403     if (typeof value === 'boolean') return value;
 87404     if (value === null || value === undefined) return null;
 87405     return value === 'true';
 87406   };
 87407 }
 87408 
 87409 
 87410 Shape.shapes = {
 87411   StructureShape: StructureShape,
 87412   ListShape: ListShape,
 87413   MapShape: MapShape,
 87414   StringShape: StringShape,
 87415   BooleanShape: BooleanShape,
 87416   Base64Shape: Base64Shape
 87417 };
 87418 
 87419 module.exports = Shape;
 87420 
 87421 },{"../util":246,"./collection":207}],212:[function(require,module,exports){
 87422 var AWS = require('./core');
 87423 
 87424 
 87425 AWS.ParamValidator = AWS.util.inherit({
 87426 
 87427   constructor: function ParamValidator(validation) {
 87428     if (validation === true || validation === undefined) {
 87429       validation = {'min': true};
 87430     }
 87431     this.validation = validation;
 87432   },
 87433 
 87434   validate: function validate(shape, params, context) {
 87435     this.errors = [];
 87436     this.validateMember(shape, params || {}, context || 'params');
 87437 
 87438     if (this.errors.length > 1) {
 87439       var msg = this.errors.join('\n* ');
 87440       msg = 'There were ' + this.errors.length +
 87441         ' validation errors:\n* ' + msg;
 87442       throw AWS.util.error(new Error(msg),
 87443         {code: 'MultipleValidationErrors', errors: this.errors});
 87444     } else if (this.errors.length === 1) {
 87445       throw this.errors[0];
 87446     } else {
 87447       return true;
 87448     }
 87449   },
 87450 
 87451   fail: function fail(code, message) {
 87452     this.errors.push(AWS.util.error(new Error(message), {code: code}));
 87453   },
 87454 
 87455   validateStructure: function validateStructure(shape, params, context) {
 87456     this.validateType(params, context, ['object'], 'structure');
 87457 
 87458     var paramName;
 87459     for (var i = 0; shape.required && i < shape.required.length; i++) {
 87460       paramName = shape.required[i];
 87461       var value = params[paramName];
 87462       if (value === undefined || value === null) {
 87463         this.fail('MissingRequiredParameter',
 87464           'Missing required key \'' + paramName + '\' in ' + context);
 87465       }
 87466     }
 87467 
 87468     for (paramName in params) {
 87469       if (!Object.prototype.hasOwnProperty.call(params, paramName)) continue;
 87470 
 87471       var paramValue = params[paramName],
 87472           memberShape = shape.members[paramName];
 87473 
 87474       if (memberShape !== undefined) {
 87475         var memberContext = [context, paramName].join('.');
 87476         this.validateMember(memberShape, paramValue, memberContext);
 87477       } else {
 87478         this.fail('UnexpectedParameter',
 87479           'Unexpected key \'' + paramName + '\' found in ' + context);
 87480       }
 87481     }
 87482 
 87483     return true;
 87484   },
 87485 
 87486   validateMember: function validateMember(shape, param, context) {
 87487     switch (shape.type) {
 87488       case 'structure':
 87489         return this.validateStructure(shape, param, context);
 87490       case 'list':
 87491         return this.validateList(shape, param, context);
 87492       case 'map':
 87493         return this.validateMap(shape, param, context);
 87494       default:
 87495         return this.validateScalar(shape, param, context);
 87496     }
 87497   },
 87498 
 87499   validateList: function validateList(shape, params, context) {
 87500     if (this.validateType(params, context, [Array])) {
 87501       this.validateRange(shape, params.length, context, 'list member count');
 87502       for (var i = 0; i < params.length; i++) {
 87503         this.validateMember(shape.member, params[i], context + '[' + i + ']');
 87504       }
 87505     }
 87506   },
 87507 
 87508   validateMap: function validateMap(shape, params, context) {
 87509     if (this.validateType(params, context, ['object'], 'map')) {
 87510       var mapCount = 0;
 87511       for (var param in params) {
 87512         if (!Object.prototype.hasOwnProperty.call(params, param)) continue;
 87513         this.validateMember(shape.key, param,
 87514                             context + '[key=\'' + param + '\']')
 87515         this.validateMember(shape.value, params[param],
 87516                             context + '[\'' + param + '\']');
 87517         mapCount++;
 87518       }
 87519       this.validateRange(shape, mapCount, context, 'map member count');
 87520     }
 87521   },
 87522 
 87523   validateScalar: function validateScalar(shape, value, context) {
 87524     switch (shape.type) {
 87525       case null:
 87526       case undefined:
 87527       case 'string':
 87528         return this.validateString(shape, value, context);
 87529       case 'base64':
 87530       case 'binary':
 87531         return this.validatePayload(value, context);
 87532       case 'integer':
 87533       case 'float':
 87534         return this.validateNumber(shape, value, context);
 87535       case 'boolean':
 87536         return this.validateType(value, context, ['boolean']);
 87537       case 'timestamp':
 87538         return this.validateType(value, context, [Date,
 87539           /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/, 'number'],
 87540           'Date object, ISO-8601 string, or a UNIX timestamp');
 87541       default:
 87542         return this.fail('UnkownType', 'Unhandled type ' +
 87543                          shape.type + ' for ' + context);
 87544     }
 87545   },
 87546 
 87547   validateString: function validateString(shape, value, context) {
 87548     if (this.validateType(value, context, ['string'])) {
 87549       this.validateEnum(shape, value, context);
 87550       this.validateRange(shape, value.length, context, 'string length');
 87551       this.validatePattern(shape, value, context);
 87552     }
 87553   },
 87554 
 87555   validatePattern: function validatePattern(shape, value, context) {
 87556     if (this.validation['pattern'] && shape['pattern'] !== undefined) {
 87557       if (!(new RegExp(shape['pattern'])).test(value)) {
 87558         this.fail('PatternMatchError', 'Provided value "' + value + '" '
 87559           + 'does not match regex pattern /' + shape['pattern'] + '/ for '
 87560           + context);
 87561       }
 87562     }
 87563   },
 87564 
 87565   validateRange: function validateRange(shape, value, context, descriptor) {
 87566     if (this.validation['min']) {
 87567       if (shape['min'] !== undefined && value < shape['min']) {
 87568         this.fail('MinRangeError', 'Expected ' + descriptor + ' >= '
 87569           + shape['min'] + ', but found ' + value + ' for ' + context);
 87570       }
 87571     }
 87572     if (this.validation['max']) {
 87573       if (shape['max'] !== undefined && value > shape['max']) {
 87574         this.fail('MaxRangeError', 'Expected ' + descriptor + ' <= '
 87575           + shape['max'] + ', but found ' + value + ' for ' + context);
 87576       }
 87577     }
 87578   },
 87579 
 87580   validateEnum: function validateRange(shape, value, context) {
 87581     if (this.validation['enum'] && shape['enum'] !== undefined) {
 87582       if (shape['enum'].indexOf(value) === -1) {
 87583         this.fail('EnumError', 'Found string value of ' + value + ', but '
 87584           + 'expected ' + shape['enum'].join('|') + ' for ' + context);
 87585       }
 87586     }
 87587   },
 87588 
 87589   validateType: function validateType(value, context, acceptedTypes, type) {
 87590     if (value === null || value === undefined) return false;
 87591 
 87592     var foundInvalidType = false;
 87593     for (var i = 0; i < acceptedTypes.length; i++) {
 87594       if (typeof acceptedTypes[i] === 'string') {
 87595         if (typeof value === acceptedTypes[i]) return true;
 87596       } else if (acceptedTypes[i] instanceof RegExp) {
 87597         if ((value || '').toString().match(acceptedTypes[i])) return true;
 87598       } else {
 87599         if (value instanceof acceptedTypes[i]) return true;
 87600         if (AWS.util.isType(value, acceptedTypes[i])) return true;
 87601         if (!type && !foundInvalidType) acceptedTypes = acceptedTypes.slice();
 87602         acceptedTypes[i] = AWS.util.typeName(acceptedTypes[i]);
 87603       }
 87604       foundInvalidType = true;
 87605     }
 87606 
 87607     var acceptedType = type;
 87608     if (!acceptedType) {
 87609       acceptedType = acceptedTypes.join(', ').replace(/,([^,]+)$/, ', or$1');
 87610     }
 87611 
 87612     var vowel = acceptedType.match(/^[aeiou]/i) ? 'n' : '';
 87613     this.fail('InvalidParameterType', 'Expected ' + context + ' to be a' +
 87614               vowel + ' ' + acceptedType);
 87615     return false;
 87616   },
 87617 
 87618   validateNumber: function validateNumber(shape, value, context) {
 87619     if (value === null || value === undefined) return;
 87620     if (typeof value === 'string') {
 87621       var castedValue = parseFloat(value);
 87622       if (castedValue.toString() === value) value = castedValue;
 87623     }
 87624     if (this.validateType(value, context, ['number'])) {
 87625       this.validateRange(shape, value, context, 'numeric value');
 87626     }
 87627   },
 87628 
 87629   validatePayload: function validatePayload(value, context) {
 87630     if (value === null || value === undefined) return;
 87631     if (typeof value === 'string') return;
 87632     if (value && typeof value.byteLength === 'number') return; // typed arrays
 87633     if (AWS.util.isNode()) { // special check for buffer/stream in Node.js
 87634       var Stream = AWS.util.stream.Stream;
 87635       if (AWS.util.Buffer.isBuffer(value) || value instanceof Stream) return;
 87636     }
 87637 
 87638     var types = ['Buffer', 'Stream', 'File', 'Blob', 'ArrayBuffer', 'DataView'];
 87639     if (value) {
 87640       for (var i = 0; i < types.length; i++) {
 87641         if (AWS.util.isType(value, types[i])) return;
 87642         if (AWS.util.typeName(value.constructor) === types[i]) return;
 87643       }
 87644     }
 87645 
 87646     this.fail('InvalidParameterType', 'Expected ' + context + ' to be a ' +
 87647       'string, Buffer, Stream, Blob, or typed array object');
 87648   }
 87649 });
 87650 
 87651 },{"./core":189}],213:[function(require,module,exports){
 87652 var util = require('../util');
 87653 var JsonBuilder = require('../json/builder');
 87654 var JsonParser = require('../json/parser');
 87655 
 87656 function buildRequest(req) {
 87657   var httpRequest = req.httpRequest;
 87658   var api = req.service.api;
 87659   var target = api.targetPrefix + '.' + api.operations[req.operation].name;
 87660   var version = api.jsonVersion || '1.0';
 87661   var input = api.operations[req.operation].input;
 87662   var builder = new JsonBuilder();
 87663 
 87664   if (version === 1) version = '1.0';
 87665   httpRequest.body = builder.build(req.params || {}, input);
 87666   httpRequest.headers['Content-Type'] = 'application/x-amz-json-' + version;
 87667   httpRequest.headers['X-Amz-Target'] = target;
 87668 }
 87669 
 87670 function extractError(resp) {
 87671   var error = {};
 87672   var httpResponse = resp.httpResponse;
 87673 
 87674   error.code = httpResponse.headers['x-amzn-errortype'] || 'UnknownError';
 87675   if (typeof error.code === 'string') {
 87676     error.code = error.code.split(':')[0];
 87677   }
 87678 
 87679   if (httpResponse.body.length > 0) {
 87680     var e = JSON.parse(httpResponse.body.toString());
 87681     if (e.__type || e.code) {
 87682       error.code = (e.__type || e.code).split('#').pop();
 87683     }
 87684     if (error.code === 'RequestEntityTooLarge') {
 87685       error.message = 'Request body must be less than 1 MB';
 87686     } else {
 87687       error.message = (e.message || e.Message || null);
 87688     }
 87689   } else {
 87690     error.statusCode = httpResponse.statusCode;
 87691     error.message = httpResponse.statusCode.toString();
 87692   }
 87693 
 87694   resp.error = util.error(new Error(), error);
 87695 }
 87696 
 87697 function extractData(resp) {
 87698   var body = resp.httpResponse.body.toString() || '{}';
 87699   if (resp.request.service.config.convertResponseTypes === false) {
 87700     resp.data = JSON.parse(body);
 87701   } else {
 87702     var operation = resp.request.service.api.operations[resp.request.operation];
 87703     var shape = operation.output || {};
 87704     var parser = new JsonParser();
 87705     resp.data = parser.parse(body, shape);
 87706   }
 87707 }
 87708 
 87709 module.exports = {
 87710   buildRequest: buildRequest,
 87711   extractError: extractError,
 87712   extractData: extractData
 87713 };
 87714 
 87715 },{"../json/builder":204,"../json/parser":205,"../util":246}],214:[function(require,module,exports){
 87716 var AWS = require('../core');
 87717 var util = require('../util');
 87718 var QueryParamSerializer = require('../query/query_param_serializer');
 87719 var Shape = require('../model/shape');
 87720 
 87721 function buildRequest(req) {
 87722   var operation = req.service.api.operations[req.operation];
 87723   var httpRequest = req.httpRequest;
 87724   httpRequest.headers['Content-Type'] =
 87725     'application/x-www-form-urlencoded; charset=utf-8';
 87726   httpRequest.params = {
 87727     Version: req.service.api.apiVersion,
 87728     Action: operation.name
 87729   };
 87730 
 87731   var builder = new QueryParamSerializer();
 87732   builder.serialize(req.params, operation.input, function(name, value) {
 87733     httpRequest.params[name] = value;
 87734   });
 87735   httpRequest.body = util.queryParamsToString(httpRequest.params);
 87736 }
 87737 
 87738 function extractError(resp) {
 87739   var data, body = resp.httpResponse.body.toString();
 87740   if (body.match('<UnknownOperationException')) {
 87741     data = {
 87742       Code: 'UnknownOperation',
 87743       Message: 'Unknown operation ' + resp.request.operation
 87744     };
 87745   } else {
 87746     data = new AWS.XML.Parser().parse(body);
 87747   }
 87748 
 87749   if (data.requestId && !resp.requestId) resp.requestId = data.requestId;
 87750   if (data.Errors) data = data.Errors;
 87751   if (data.Error) data = data.Error;
 87752   if (data.Code) {
 87753     resp.error = util.error(new Error(), {
 87754       code: data.Code,
 87755       message: data.Message
 87756     });
 87757   } else {
 87758     resp.error = util.error(new Error(), {
 87759       code: resp.httpResponse.statusCode,
 87760       message: null
 87761     });
 87762   }
 87763 }
 87764 
 87765 function extractData(resp) {
 87766   var req = resp.request;
 87767   var operation = req.service.api.operations[req.operation];
 87768   var shape = operation.output || {};
 87769   var origRules = shape;
 87770 
 87771   if (origRules.resultWrapper) {
 87772     var tmp = Shape.create({type: 'structure'});
 87773     tmp.members[origRules.resultWrapper] = shape;
 87774     tmp.memberNames = [origRules.resultWrapper];
 87775     util.property(shape, 'name', shape.resultWrapper);
 87776     shape = tmp;
 87777   }
 87778 
 87779   var parser = new AWS.XML.Parser();
 87780 
 87781   if (shape && shape.members && !shape.members._XAMZRequestId) {
 87782     var requestIdShape = Shape.create(
 87783       { type: 'string' },
 87784       { api: { protocol: 'query' } },
 87785       'requestId'
 87786     );
 87787     shape.members._XAMZRequestId = requestIdShape;
 87788   }
 87789 
 87790   var data = parser.parse(resp.httpResponse.body.toString(), shape);
 87791   resp.requestId = data._XAMZRequestId || data.requestId;
 87792 
 87793   if (data._XAMZRequestId) delete data._XAMZRequestId;
 87794 
 87795   if (origRules.resultWrapper) {
 87796     if (data[origRules.resultWrapper]) {
 87797       util.update(data, data[origRules.resultWrapper]);
 87798       delete data[origRules.resultWrapper];
 87799     }
 87800   }
 87801 
 87802   resp.data = data;
 87803 }
 87804 
 87805 module.exports = {
 87806   buildRequest: buildRequest,
 87807   extractError: extractError,
 87808   extractData: extractData
 87809 };
 87810 
 87811 },{"../core":189,"../model/shape":211,"../query/query_param_serializer":218,"../util":246}],215:[function(require,module,exports){
 87812 var util = require('../util');
 87813 
 87814 function populateMethod(req) {
 87815   req.httpRequest.method = req.service.api.operations[req.operation].httpMethod;
 87816 }
 87817 
 87818 function populateURI(req) {
 87819   var operation = req.service.api.operations[req.operation];
 87820   var input = operation.input;
 87821   var uri = [req.httpRequest.endpoint.path, operation.httpPath].join('/');
 87822   uri = uri.replace(/\/+/g, '/');
 87823 
 87824   var queryString = {}, queryStringSet = false;
 87825   util.each(input.members, function (name, member) {
 87826     var paramValue = req.params[name];
 87827     if (paramValue === null || paramValue === undefined) return;
 87828     if (member.location === 'uri') {
 87829       var regex = new RegExp('\\{' + member.name + '(\\+)?\\}');
 87830       uri = uri.replace(regex, function(_, plus) {
 87831         var fn = plus ? util.uriEscapePath : util.uriEscape;
 87832         return fn(String(paramValue));
 87833       });
 87834     } else if (member.location === 'querystring') {
 87835       queryStringSet = true;
 87836 
 87837       if (member.type === 'list') {
 87838         queryString[member.name] = paramValue.map(function(val) {
 87839           return util.uriEscape(String(val));
 87840         });
 87841       } else if (member.type === 'map') {
 87842         util.each(paramValue, function(key, value) {
 87843           if (Array.isArray(value)) {
 87844             queryString[key] = value.map(function(val) {
 87845               return util.uriEscape(String(val));
 87846             });
 87847           } else {
 87848             queryString[key] = util.uriEscape(String(value));
 87849           }
 87850         });
 87851       } else {
 87852         queryString[member.name] = util.uriEscape(String(paramValue));
 87853       }
 87854     }
 87855   });
 87856 
 87857   if (queryStringSet) {
 87858     uri += (uri.indexOf('?') >= 0 ? '&' : '?');
 87859     var parts = [];
 87860     util.arrayEach(Object.keys(queryString).sort(), function(key) {
 87861       if (!Array.isArray(queryString[key])) {
 87862         queryString[key] = [queryString[key]];
 87863       }
 87864       for (var i = 0; i < queryString[key].length; i++) {
 87865         parts.push(util.uriEscape(String(key)) + '=' + queryString[key][i]);
 87866       }
 87867     });
 87868     uri += parts.join('&');
 87869   }
 87870 
 87871   req.httpRequest.path = uri;
 87872 }
 87873 
 87874 function populateHeaders(req) {
 87875   var operation = req.service.api.operations[req.operation];
 87876   util.each(operation.input.members, function (name, member) {
 87877     var value = req.params[name];
 87878     if (value === null || value === undefined) return;
 87879 
 87880     if (member.location === 'headers' && member.type === 'map') {
 87881       util.each(value, function(key, memberValue) {
 87882         req.httpRequest.headers[member.name + key] = memberValue;
 87883       });
 87884     } else if (member.location === 'header') {
 87885       value = member.toWireFormat(value).toString();
 87886       req.httpRequest.headers[member.name] = value;
 87887     }
 87888   });
 87889 }
 87890 
 87891 function buildRequest(req) {
 87892   populateMethod(req);
 87893   populateURI(req);
 87894   populateHeaders(req);
 87895 }
 87896 
 87897 function extractError() {
 87898 }
 87899 
 87900 function extractData(resp) {
 87901   var req = resp.request;
 87902   var data = {};
 87903   var r = resp.httpResponse;
 87904   var operation = req.service.api.operations[req.operation];
 87905   var output = operation.output;
 87906 
 87907   var headers = {};
 87908   util.each(r.headers, function (k, v) {
 87909     headers[k.toLowerCase()] = v;
 87910   });
 87911 
 87912   util.each(output.members, function(name, member) {
 87913     var header = (member.name || name).toLowerCase();
 87914     if (member.location === 'headers' && member.type === 'map') {
 87915       data[name] = {};
 87916       var location = member.isLocationName ? member.name : '';
 87917       var pattern = new RegExp('^' + location + '(.+)', 'i');
 87918       util.each(r.headers, function (k, v) {
 87919         var result = k.match(pattern);
 87920         if (result !== null) {
 87921           data[name][result[1]] = v;
 87922         }
 87923       });
 87924     } else if (member.location === 'header') {
 87925       if (headers[header] !== undefined) {
 87926         data[name] = headers[header];
 87927       }
 87928     } else if (member.location === 'statusCode') {
 87929       data[name] = parseInt(r.statusCode, 10);
 87930     }
 87931   });
 87932 
 87933   resp.data = data;
 87934 }
 87935 
 87936 module.exports = {
 87937   buildRequest: buildRequest,
 87938   extractError: extractError,
 87939   extractData: extractData
 87940 };
 87941 
 87942 },{"../util":246}],216:[function(require,module,exports){
 87943 var util = require('../util');
 87944 var Rest = require('./rest');
 87945 var Json = require('./json');
 87946 var JsonBuilder = require('../json/builder');
 87947 var JsonParser = require('../json/parser');
 87948 
 87949 function populateBody(req) {
 87950   var builder = new JsonBuilder();
 87951   var input = req.service.api.operations[req.operation].input;
 87952 
 87953   if (input.payload) {
 87954     var params = {};
 87955     var payloadShape = input.members[input.payload];
 87956     params = req.params[input.payload];
 87957     if (params === undefined) return;
 87958 
 87959     if (payloadShape.type === 'structure') {
 87960       req.httpRequest.body = builder.build(params, payloadShape);
 87961     } else { // non-JSON payload
 87962       req.httpRequest.body = params;
 87963     }
 87964   } else {
 87965     req.httpRequest.body = builder.build(req.params, input);
 87966   }
 87967 }
 87968 
 87969 function buildRequest(req) {
 87970   Rest.buildRequest(req);
 87971 
 87972   if (['GET', 'HEAD', 'DELETE'].indexOf(req.httpRequest.method) < 0) {
 87973     populateBody(req);
 87974   }
 87975 }
 87976 
 87977 function extractError(resp) {
 87978   Json.extractError(resp);
 87979 }
 87980 
 87981 function extractData(resp) {
 87982   Rest.extractData(resp);
 87983 
 87984   var req = resp.request;
 87985   var rules = req.service.api.operations[req.operation].output || {};
 87986   if (rules.payload) {
 87987     var payloadMember = rules.members[rules.payload];
 87988     var body = resp.httpResponse.body;
 87989     if (payloadMember.isStreaming) {
 87990       resp.data[rules.payload] = body;
 87991     } else if (payloadMember.type === 'structure' || payloadMember.type === 'list') {
 87992       var parser = new JsonParser();
 87993       resp.data[rules.payload] = parser.parse(body, payloadMember);
 87994     } else {
 87995       resp.data[rules.payload] = body.toString();
 87996     }
 87997   } else {
 87998     var data = resp.data;
 87999     Json.extractData(resp);
 88000     resp.data = util.merge(data, resp.data);
 88001   }
 88002 }
 88003 
 88004 module.exports = {
 88005   buildRequest: buildRequest,
 88006   extractError: extractError,
 88007   extractData: extractData
 88008 };
 88009 
 88010 },{"../json/builder":204,"../json/parser":205,"../util":246,"./json":213,"./rest":215}],217:[function(require,module,exports){
 88011 var AWS = require('../core');
 88012 var util = require('../util');
 88013 var Rest = require('./rest');
 88014 
 88015 function populateBody(req) {
 88016   var input = req.service.api.operations[req.operation].input;
 88017   var builder = new AWS.XML.Builder();
 88018   var params = req.params;
 88019 
 88020   var payload = input.payload;
 88021   if (payload) {
 88022     var payloadMember = input.members[payload];
 88023     params = params[payload];
 88024     if (params === undefined) return;
 88025 
 88026     if (payloadMember.type === 'structure') {
 88027       var rootElement = payloadMember.name;
 88028       req.httpRequest.body = builder.toXML(params, payloadMember, rootElement, true);
 88029     } else { // non-xml payload
 88030       req.httpRequest.body = params;
 88031     }
 88032   } else {
 88033     req.httpRequest.body = builder.toXML(params, input, input.name ||
 88034       input.shape || util.string.upperFirst(req.operation) + 'Request');
 88035   }
 88036 }
 88037 
 88038 function buildRequest(req) {
 88039   Rest.buildRequest(req);
 88040 
 88041   if (['GET', 'HEAD'].indexOf(req.httpRequest.method) < 0) {
 88042     populateBody(req);
 88043   }
 88044 }
 88045 
 88046 function extractError(resp) {
 88047   Rest.extractError(resp);
 88048 
 88049   var data = new AWS.XML.Parser().parse(resp.httpResponse.body.toString());
 88050   if (data.Errors) data = data.Errors;
 88051   if (data.Error) data = data.Error;
 88052   if (data.Code) {
 88053     resp.error = util.error(new Error(), {
 88054       code: data.Code,
 88055       message: data.Message
 88056     });
 88057   } else {
 88058     resp.error = util.error(new Error(), {
 88059       code: resp.httpResponse.statusCode,
 88060       message: null
 88061     });
 88062   }
 88063 }
 88064 
 88065 function extractData(resp) {
 88066   Rest.extractData(resp);
 88067 
 88068   var parser;
 88069   var req = resp.request;
 88070   var body = resp.httpResponse.body;
 88071   var operation = req.service.api.operations[req.operation];
 88072   var output = operation.output;
 88073 
 88074   var payload = output.payload;
 88075   if (payload) {
 88076     var payloadMember = output.members[payload];
 88077     if (payloadMember.isStreaming) {
 88078       resp.data[payload] = body;
 88079     } else if (payloadMember.type === 'structure') {
 88080       parser = new AWS.XML.Parser();
 88081       resp.data[payload] = parser.parse(body.toString(), payloadMember);
 88082     } else {
 88083       resp.data[payload] = body.toString();
 88084     }
 88085   } else if (body.length > 0) {
 88086     parser = new AWS.XML.Parser();
 88087     var data = parser.parse(body.toString(), output);
 88088     util.update(resp.data, data);
 88089   }
 88090 }
 88091 
 88092 module.exports = {
 88093   buildRequest: buildRequest,
 88094   extractError: extractError,
 88095   extractData: extractData
 88096 };
 88097 
 88098 },{"../core":189,"../util":246,"./rest":215}],218:[function(require,module,exports){
 88099 var util = require('../util');
 88100 
 88101 function QueryParamSerializer() {
 88102 }
 88103 
 88104 QueryParamSerializer.prototype.serialize = function(params, shape, fn) {
 88105   serializeStructure('', params, shape, fn);
 88106 };
 88107 
 88108 function ucfirst(shape) {
 88109   if (shape.isQueryName || shape.api.protocol !== 'ec2') {
 88110     return shape.name;
 88111   } else {
 88112     return shape.name[0].toUpperCase() + shape.name.substr(1);
 88113   }
 88114 }
 88115 
 88116 function serializeStructure(prefix, struct, rules, fn) {
 88117   util.each(rules.members, function(name, member) {
 88118     var value = struct[name];
 88119     if (value === null || value === undefined) return;
 88120 
 88121     var memberName = ucfirst(member);
 88122     memberName = prefix ? prefix + '.' + memberName : memberName;
 88123     serializeMember(memberName, value, member, fn);
 88124   });
 88125 }
 88126 
 88127 function serializeMap(name, map, rules, fn) {
 88128   var i = 1;
 88129   util.each(map, function (key, value) {
 88130     var prefix = rules.flattened ? '.' : '.entry.';
 88131     var position = prefix + (i++) + '.';
 88132     var keyName = position + (rules.key.name || 'key');
 88133     var valueName = position + (rules.value.name || 'value');
 88134     serializeMember(name + keyName, key, rules.key, fn);
 88135     serializeMember(name + valueName, value, rules.value, fn);
 88136   });
 88137 }
 88138 
 88139 function serializeList(name, list, rules, fn) {
 88140   var memberRules = rules.member || {};
 88141 
 88142   if (list.length === 0) {
 88143     fn.call(this, name, null);
 88144     return;
 88145   }
 88146 
 88147   util.arrayEach(list, function (v, n) {
 88148     var suffix = '.' + (n + 1);
 88149     if (rules.api.protocol === 'ec2') {
 88150       suffix = suffix + ''; // make linter happy
 88151     } else if (rules.flattened) {
 88152       if (memberRules.name) {
 88153         var parts = name.split('.');
 88154         parts.pop();
 88155         parts.push(ucfirst(memberRules));
 88156         name = parts.join('.');
 88157       }
 88158     } else {
 88159       suffix = '.member' + suffix;
 88160     }
 88161     serializeMember(name + suffix, v, memberRules, fn);
 88162   });
 88163 }
 88164 
 88165 function serializeMember(name, value, rules, fn) {
 88166   if (value === null || value === undefined) return;
 88167   if (rules.type === 'structure') {
 88168     serializeStructure(name, value, rules, fn);
 88169   } else if (rules.type === 'list') {
 88170     serializeList(name, value, rules, fn);
 88171   } else if (rules.type === 'map') {
 88172     serializeMap(name, value, rules, fn);
 88173   } else {
 88174     fn(name, rules.toWireFormat(value).toString());
 88175   }
 88176 }
 88177 
 88178 module.exports = QueryParamSerializer;
 88179 
 88180 },{"../util":246}],219:[function(require,module,exports){
 88181 module.exports={
 88182   "rules": {
 88183     "*/*": {
 88184       "endpoint": "{service}.{region}.amazonaws.com"
 88185     },
 88186     "cn-*/*": {
 88187       "endpoint": "{service}.{region}.amazonaws.com.cn"
 88188     },
 88189     "*/budgets": "globalSSL",
 88190     "*/cloudfront": "globalSSL",
 88191     "*/iam": "globalSSL",
 88192     "*/sts": "globalSSL",
 88193     "*/importexport": {
 88194       "endpoint": "{service}.amazonaws.com",
 88195       "signatureVersion": "v2",
 88196       "globalEndpoint": true
 88197     },
 88198     "*/route53": {
 88199       "endpoint": "https://{service}.amazonaws.com",
 88200       "signatureVersion": "v3https",
 88201       "globalEndpoint": true
 88202     },
 88203     "*/waf": "globalSSL",
 88204     "us-gov-*/iam": "globalGovCloud",
 88205     "us-gov-*/sts": {
 88206       "endpoint": "{service}.{region}.amazonaws.com"
 88207     },
 88208     "us-gov-west-1/s3": "s3dash",
 88209     "us-west-1/s3": "s3dash",
 88210     "us-west-2/s3": "s3dash",
 88211     "eu-west-1/s3": "s3dash",
 88212     "ap-southeast-1/s3": "s3dash",
 88213     "ap-southeast-2/s3": "s3dash",
 88214     "ap-northeast-1/s3": "s3dash",
 88215     "sa-east-1/s3": "s3dash",
 88216     "us-east-1/s3": {
 88217       "endpoint": "{service}.amazonaws.com",
 88218       "signatureVersion": "s3"
 88219     },
 88220     "us-east-1/sdb": {
 88221       "endpoint": "{service}.amazonaws.com",
 88222       "signatureVersion": "v2"
 88223     },
 88224     "*/sdb": {
 88225       "endpoint": "{service}.{region}.amazonaws.com",
 88226       "signatureVersion": "v2"
 88227     }
 88228   },
 88229 
 88230   "patterns": {
 88231     "globalSSL": {
 88232       "endpoint": "https://{service}.amazonaws.com",
 88233       "globalEndpoint": true
 88234     },
 88235     "globalGovCloud": {
 88236       "endpoint": "{service}.us-gov.amazonaws.com"
 88237     },
 88238     "s3dash": {
 88239       "endpoint": "{service}-{region}.amazonaws.com",
 88240       "signatureVersion": "s3"
 88241     }
 88242   }
 88243 }
 88244 
 88245 },{}],220:[function(require,module,exports){
 88246 var util = require('./util');
 88247 var regionConfig = require('./region_config.json');
 88248 
 88249 function generateRegionPrefix(region) {
 88250   if (!region) return null;
 88251 
 88252   var parts = region.split('-');
 88253   if (parts.length < 3) return null;
 88254   return parts.slice(0, parts.length - 2).join('-') + '-*';
 88255 }
 88256 
 88257 function derivedKeys(service) {
 88258   var region = service.config.region;
 88259   var regionPrefix = generateRegionPrefix(region);
 88260   var endpointPrefix = service.api.endpointPrefix;
 88261 
 88262   return [
 88263     [region, endpointPrefix],
 88264     [regionPrefix, endpointPrefix],
 88265     [region, '*'],
 88266     [regionPrefix, '*'],
 88267     ['*', endpointPrefix],
 88268     ['*', '*']
 88269   ].map(function(item) {
 88270     return item[0] && item[1] ? item.join('/') : null;
 88271   });
 88272 }
 88273 
 88274 function applyConfig(service, config) {
 88275   util.each(config, function(key, value) {
 88276     if (key === 'globalEndpoint') return;
 88277     if (service.config[key] === undefined || service.config[key] === null) {
 88278       service.config[key] = value;
 88279     }
 88280   });
 88281 }
 88282 
 88283 function configureEndpoint(service) {
 88284   var keys = derivedKeys(service);
 88285   for (var i = 0; i < keys.length; i++) {
 88286     var key = keys[i];
 88287     if (!key) continue;
 88288 
 88289     if (Object.prototype.hasOwnProperty.call(regionConfig.rules, key)) {
 88290       var config = regionConfig.rules[key];
 88291       if (typeof config === 'string') {
 88292         config = regionConfig.patterns[config];
 88293       }
 88294 
 88295       if (service.config.useDualstack && util.isDualstackAvailable(service)) {
 88296         config = util.copy(config);
 88297         config.endpoint = '{service}.dualstack.{region}.amazonaws.com';
 88298       }
 88299 
 88300       service.isGlobalEndpoint = !!config.globalEndpoint;
 88301 
 88302       if (!config.signatureVersion) config.signatureVersion = 'v4';
 88303 
 88304       applyConfig(service, config);
 88305       return;
 88306     }
 88307   }
 88308 }
 88309 
 88310 module.exports = configureEndpoint;
 88311 
 88312 },{"./region_config.json":219,"./util":246}],221:[function(require,module,exports){
 88313 (function (process){
 88314 var AWS = require('./core');
 88315 var AcceptorStateMachine = require('./state_machine');
 88316 var inherit = AWS.util.inherit;
 88317 var domain = AWS.util.domain;
 88318 var jmespath = require('jmespath');
 88319 
 88320 
 88321 var hardErrorStates = {success: 1, error: 1, complete: 1};
 88322 
 88323 function isTerminalState(machine) {
 88324   return Object.prototype.hasOwnProperty.call(hardErrorStates, machine._asm.currentState);
 88325 }
 88326 
 88327 var fsm = new AcceptorStateMachine();
 88328 fsm.setupStates = function() {
 88329   var transition = function(_, done) {
 88330     var self = this;
 88331     self._haltHandlersOnError = false;
 88332 
 88333     self.emit(self._asm.currentState, function(err) {
 88334       if (err) {
 88335         if (isTerminalState(self)) {
 88336           if (domain && self.domain instanceof domain.Domain) {
 88337             err.domainEmitter = self;
 88338             err.domain = self.domain;
 88339             err.domainThrown = false;
 88340             self.domain.emit('error', err);
 88341           } else {
 88342             throw err;
 88343           }
 88344         } else {
 88345           self.response.error = err;
 88346           done(err);
 88347         }
 88348       } else {
 88349         done(self.response.error);
 88350       }
 88351     });
 88352 
 88353   };
 88354 
 88355   this.addState('validate', 'build', 'error', transition);
 88356   this.addState('build', 'afterBuild', 'restart', transition);
 88357   this.addState('afterBuild', 'sign', 'restart', transition);
 88358   this.addState('sign', 'send', 'retry', transition);
 88359   this.addState('retry', 'afterRetry', 'afterRetry', transition);
 88360   this.addState('afterRetry', 'sign', 'error', transition);
 88361   this.addState('send', 'validateResponse', 'retry', transition);
 88362   this.addState('validateResponse', 'extractData', 'extractError', transition);
 88363   this.addState('extractError', 'extractData', 'retry', transition);
 88364   this.addState('extractData', 'success', 'retry', transition);
 88365   this.addState('restart', 'build', 'error', transition);
 88366   this.addState('success', 'complete', 'complete', transition);
 88367   this.addState('error', 'complete', 'complete', transition);
 88368   this.addState('complete', null, null, transition);
 88369 };
 88370 fsm.setupStates();
 88371 
 88372 
 88373 AWS.Request = inherit({
 88374 
 88375 
 88376   constructor: function Request(service, operation, params) {
 88377     var endpoint = service.endpoint;
 88378     var region = service.config.region;
 88379     var customUserAgent = service.config.customUserAgent;
 88380 
 88381     if (service.isGlobalEndpoint) region = 'us-east-1';
 88382 
 88383     this.domain = domain && domain.active;
 88384     this.service = service;
 88385     this.operation = operation;
 88386     this.params = params || {};
 88387     this.httpRequest = new AWS.HttpRequest(endpoint, region, customUserAgent);
 88388     this.startTime = AWS.util.date.getDate();
 88389 
 88390     this.response = new AWS.Response(this);
 88391     this._asm = new AcceptorStateMachine(fsm.states, 'validate');
 88392     this._haltHandlersOnError = false;
 88393 
 88394     AWS.SequentialExecutor.call(this);
 88395     this.emit = this.emitEvent;
 88396   },
 88397 
 88398 
 88399 
 88400 
 88401   send: function send(callback) {
 88402     if (callback) {
 88403       this.on('complete', function (resp) {
 88404         callback.call(resp, resp.error, resp.data);
 88405       });
 88406     }
 88407     this.runTo();
 88408 
 88409     return this.response;
 88410   },
 88411 
 88412 
 88413 
 88414 
 88415   build: function build(callback) {
 88416     return this.runTo('send', callback);
 88417   },
 88418 
 88419 
 88420   runTo: function runTo(state, done) {
 88421     this._asm.runTo(state, done, this);
 88422     return this;
 88423   },
 88424 
 88425 
 88426   abort: function abort() {
 88427     this.removeAllListeners('validateResponse');
 88428     this.removeAllListeners('extractError');
 88429     this.on('validateResponse', function addAbortedError(resp) {
 88430       resp.error = AWS.util.error(new Error('Request aborted by user'), {
 88431          code: 'RequestAbortedError', retryable: false
 88432       });
 88433     });
 88434 
 88435     if (this.httpRequest.stream) { // abort HTTP stream
 88436       this.httpRequest.stream.abort();
 88437       if (this.httpRequest._abortCallback) {
 88438          this.httpRequest._abortCallback();
 88439       } else {
 88440         this.removeAllListeners('send'); // haven't sent yet, so let's not
 88441       }
 88442     }
 88443 
 88444     return this;
 88445   },
 88446 
 88447 
 88448   eachPage: function eachPage(callback) {
 88449     callback = AWS.util.fn.makeAsync(callback, 3);
 88450 
 88451     function wrappedCallback(response) {
 88452       callback.call(response, response.error, response.data, function (result) {
 88453         if (result === false) return;
 88454 
 88455         if (response.hasNextPage()) {
 88456           response.nextPage().on('complete', wrappedCallback).send();
 88457         } else {
 88458           callback.call(response, null, null, AWS.util.fn.noop);
 88459         }
 88460       });
 88461     }
 88462 
 88463     this.on('complete', wrappedCallback).send();
 88464   },
 88465 
 88466 
 88467   eachItem: function eachItem(callback) {
 88468     var self = this;
 88469     function wrappedCallback(err, data) {
 88470       if (err) return callback(err, null);
 88471       if (data === null) return callback(null, null);
 88472 
 88473       var config = self.service.paginationConfig(self.operation);
 88474       var resultKey = config.resultKey;
 88475       if (Array.isArray(resultKey)) resultKey = resultKey[0];
 88476       var items = jmespath.search(data, resultKey);
 88477       var continueIteration = true;
 88478       AWS.util.arrayEach(items, function(item) {
 88479         continueIteration = callback(null, item);
 88480         if (continueIteration === false) {
 88481           return AWS.util.abort;
 88482         }
 88483       });
 88484       return continueIteration;
 88485     }
 88486 
 88487     this.eachPage(wrappedCallback);
 88488   },
 88489 
 88490 
 88491   isPageable: function isPageable() {
 88492     return this.service.paginationConfig(this.operation) ? true : false;
 88493   },
 88494 
 88495 
 88496   createReadStream: function createReadStream() {
 88497     var streams = AWS.util.stream;
 88498     var req = this;
 88499     var stream = null;
 88500 
 88501     if (AWS.HttpClient.streamsApiVersion === 2) {
 88502       stream = new streams.PassThrough();
 88503       req.send();
 88504     } else {
 88505       stream = new streams.Stream();
 88506       stream.readable = true;
 88507 
 88508       stream.sent = false;
 88509       stream.on('newListener', function(event) {
 88510         if (!stream.sent && event === 'data') {
 88511           stream.sent = true;
 88512           process.nextTick(function() { req.send(); });
 88513         }
 88514       });
 88515     }
 88516 
 88517     this.on('httpHeaders', function streamHeaders(statusCode, headers, resp) {
 88518       if (statusCode < 300) {
 88519         req.removeListener('httpData', AWS.EventListeners.Core.HTTP_DATA);
 88520         req.removeListener('httpError', AWS.EventListeners.Core.HTTP_ERROR);
 88521         req.on('httpError', function streamHttpError(error) {
 88522           resp.error = error;
 88523           resp.error.retryable = false;
 88524         });
 88525 
 88526         var shouldCheckContentLength = false;
 88527         var expectedLen;
 88528         if (req.httpRequest.method !== 'HEAD') {
 88529           expectedLen = parseInt(headers['content-length'], 10);
 88530         }
 88531         if (expectedLen !== undefined && !isNaN(expectedLen) && expectedLen >= 0) {
 88532           shouldCheckContentLength = true;
 88533           var receivedLen = 0;
 88534         }
 88535 
 88536         var checkContentLengthAndEmit = function checkContentLengthAndEmit() {
 88537           if (shouldCheckContentLength && receivedLen !== expectedLen) {
 88538             stream.emit('error', AWS.util.error(
 88539               new Error('Stream content length mismatch. Received ' +
 88540                 receivedLen + ' of ' + expectedLen + ' bytes.'),
 88541               { code: 'StreamContentLengthMismatch' }
 88542             ));
 88543           } else if (AWS.HttpClient.streamsApiVersion === 2) {
 88544             stream.end();
 88545           } else {
 88546             stream.emit('end')
 88547           }
 88548         }
 88549 
 88550         var httpStream = resp.httpResponse.createUnbufferedStream();
 88551 
 88552         if (AWS.HttpClient.streamsApiVersion === 2) {
 88553           if (shouldCheckContentLength) {
 88554             var lengthAccumulator = new streams.PassThrough();
 88555             lengthAccumulator._write = function(chunk) {
 88556               if (chunk && chunk.length) {
 88557                 receivedLen += chunk.length;
 88558               }
 88559               return streams.PassThrough.prototype._write.apply(this, arguments);
 88560             };
 88561 
 88562             lengthAccumulator.on('end', checkContentLengthAndEmit);
 88563             httpStream.pipe(lengthAccumulator).pipe(stream, { end: false });
 88564           } else {
 88565             httpStream.pipe(stream);
 88566           }
 88567         } else {
 88568 
 88569           if (shouldCheckContentLength) {
 88570             httpStream.on('data', function(arg) {
 88571               if (arg && arg.length) {
 88572                 receivedLen += arg.length;
 88573               }
 88574             });
 88575           }
 88576 
 88577           httpStream.on('data', function(arg) {
 88578             stream.emit('data', arg);
 88579           });
 88580           httpStream.on('end', checkContentLengthAndEmit);
 88581         }
 88582 
 88583         httpStream.on('error', function(err) {
 88584           shouldCheckContentLength = false;
 88585           stream.emit('error', err);
 88586         });
 88587       }
 88588     });
 88589 
 88590     this.on('error', function(err) {
 88591       stream.emit('error', err);
 88592     });
 88593 
 88594     return stream;
 88595   },
 88596 
 88597 
 88598   emitEvent: function emit(eventName, args, done) {
 88599     if (typeof args === 'function') { done = args; args = null; }
 88600     if (!done) done = function() { };
 88601     if (!args) args = this.eventParameters(eventName, this.response);
 88602 
 88603     var origEmit = AWS.SequentialExecutor.prototype.emit;
 88604     origEmit.call(this, eventName, args, function (err) {
 88605       if (err) this.response.error = err;
 88606       done.call(this, err);
 88607     });
 88608   },
 88609 
 88610 
 88611   eventParameters: function eventParameters(eventName) {
 88612     switch (eventName) {
 88613       case 'restart':
 88614       case 'validate':
 88615       case 'sign':
 88616       case 'build':
 88617       case 'afterValidate':
 88618       case 'afterBuild':
 88619         return [this];
 88620       case 'error':
 88621         return [this.response.error, this.response];
 88622       default:
 88623         return [this.response];
 88624     }
 88625   },
 88626 
 88627 
 88628   presign: function presign(expires, callback) {
 88629     if (!callback && typeof expires === 'function') {
 88630       callback = expires;
 88631       expires = null;
 88632     }
 88633     return new AWS.Signers.Presign().sign(this.toGet(), expires, callback);
 88634   },
 88635 
 88636 
 88637   isPresigned: function isPresigned() {
 88638     return Object.prototype.hasOwnProperty.call(this.httpRequest.headers, 'presigned-expires');
 88639   },
 88640 
 88641 
 88642   toUnauthenticated: function toUnauthenticated() {
 88643     this.removeListener('validate', AWS.EventListeners.Core.VALIDATE_CREDENTIALS);
 88644     this.removeListener('sign', AWS.EventListeners.Core.SIGN);
 88645     return this;
 88646   },
 88647 
 88648 
 88649   toGet: function toGet() {
 88650     if (this.service.api.protocol === 'query' ||
 88651         this.service.api.protocol === 'ec2') {
 88652       this.removeListener('build', this.buildAsGet);
 88653       this.addListener('build', this.buildAsGet);
 88654     }
 88655     return this;
 88656   },
 88657 
 88658 
 88659   buildAsGet: function buildAsGet(request) {
 88660     request.httpRequest.method = 'GET';
 88661     request.httpRequest.path = request.service.endpoint.path +
 88662                                '?' + request.httpRequest.body;
 88663     request.httpRequest.body = '';
 88664 
 88665     delete request.httpRequest.headers['Content-Length'];
 88666     delete request.httpRequest.headers['Content-Type'];
 88667   },
 88668 
 88669 
 88670   haltHandlersOnError: function haltHandlersOnError() {
 88671     this._haltHandlersOnError = true;
 88672   }
 88673 });
 88674 
 88675 
 88676 AWS.Request.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
 88677   this.prototype.promise = function promise() {
 88678     var self = this;
 88679     return new PromiseDependency(function(resolve, reject) {
 88680       self.on('complete', function(resp) {
 88681         if (resp.error) {
 88682           reject(resp.error);
 88683         } else {
 88684           resolve(resp.data);
 88685         }
 88686       });
 88687       self.runTo();
 88688     });
 88689   };
 88690 };
 88691 
 88692 
 88693 AWS.Request.deletePromisesFromClass = function deletePromisesFromClass() {
 88694   delete this.prototype.promise;
 88695 };
 88696 
 88697 AWS.util.addPromises(AWS.Request);
 88698 
 88699 AWS.util.mixin(AWS.Request, AWS.SequentialExecutor);
 88700 
 88701 }).call(this,require('_process'))
 88702 },{"./core":189,"./state_machine":245,"_process":251,"jmespath":269}],222:[function(require,module,exports){
 88703 
 88704 
 88705 var AWS = require('./core');
 88706 var inherit = AWS.util.inherit;
 88707 var jmespath = require('jmespath');
 88708 
 88709 
 88710 function CHECK_ACCEPTORS(resp) {
 88711   var waiter = resp.request._waiter;
 88712   var acceptors = waiter.config.acceptors;
 88713   var acceptorMatched = false;
 88714   var state = 'retry';
 88715 
 88716   acceptors.forEach(function(acceptor) {
 88717     if (!acceptorMatched) {
 88718       var matcher = waiter.matchers[acceptor.matcher];
 88719       if (matcher && matcher(resp, acceptor.expected, acceptor.argument)) {
 88720         acceptorMatched = true;
 88721         state = acceptor.state;
 88722       }
 88723     }
 88724   });
 88725 
 88726   if (!acceptorMatched && resp.error) state = 'failure';
 88727 
 88728   if (state === 'success') {
 88729     waiter.setSuccess(resp);
 88730   } else {
 88731     waiter.setError(resp, state === 'retry');
 88732   }
 88733 }
 88734 
 88735 
 88736 AWS.ResourceWaiter = inherit({
 88737 
 88738   constructor: function constructor(service, state) {
 88739     this.service = service;
 88740     this.state = state;
 88741     this.loadWaiterConfig(this.state);
 88742   },
 88743 
 88744   service: null,
 88745 
 88746   state: null,
 88747 
 88748   config: null,
 88749 
 88750   matchers: {
 88751     path: function(resp, expected, argument) {
 88752       var result = jmespath.search(resp.data, argument);
 88753       return jmespath.strictDeepEqual(result,expected);
 88754     },
 88755 
 88756     pathAll: function(resp, expected, argument) {
 88757       var results = jmespath.search(resp.data, argument);
 88758       if (!Array.isArray(results)) results = [results];
 88759       var numResults = results.length;
 88760       if (!numResults) return false;
 88761       for (var ind = 0 ; ind < numResults; ind++) {
 88762         if (!jmespath.strictDeepEqual(results[ind], expected)) {
 88763           return false;
 88764         }
 88765       }
 88766       return true;
 88767     },
 88768 
 88769     pathAny: function(resp, expected, argument) {
 88770       var results = jmespath.search(resp.data, argument);
 88771       if (!Array.isArray(results)) results = [results];
 88772       var numResults = results.length;
 88773       for (var ind = 0 ; ind < numResults; ind++) {
 88774         if (jmespath.strictDeepEqual(results[ind], expected)) {
 88775           return true;
 88776         }
 88777       }
 88778       return false;
 88779     },
 88780 
 88781     status: function(resp, expected) {
 88782       var statusCode = resp.httpResponse.statusCode;
 88783       return (typeof statusCode === 'number') && (statusCode === expected);
 88784     },
 88785 
 88786     error: function(resp, expected) {
 88787       if (typeof expected === 'string' && resp.error) {
 88788         return expected === resp.error.code;
 88789       }
 88790       return expected === !!resp.error;
 88791     }
 88792   },
 88793 
 88794   listeners: new AWS.SequentialExecutor().addNamedListeners(function(add) {
 88795     add('RETRY_CHECK', 'retry', function(resp) {
 88796       var waiter = resp.request._waiter;
 88797       if (resp.error && resp.error.code === 'ResourceNotReady') {
 88798         resp.error.retryDelay = (waiter.config.delay || 0) * 1000;
 88799       }
 88800     });
 88801 
 88802     add('CHECK_OUTPUT', 'extractData', CHECK_ACCEPTORS);
 88803 
 88804     add('CHECK_ERROR', 'extractError', CHECK_ACCEPTORS);
 88805   }),
 88806 
 88807 
 88808   wait: function wait(params, callback) {
 88809     if (typeof params === 'function') {
 88810       callback = params; params = undefined;
 88811     }
 88812 
 88813     var request = this.service.makeRequest(this.config.operation, params);
 88814     request._waiter = this;
 88815     request.response.maxRetries = this.config.maxAttempts;
 88816     request.addListeners(this.listeners);
 88817 
 88818     if (callback) request.send(callback);
 88819     return request;
 88820   },
 88821 
 88822   setSuccess: function setSuccess(resp) {
 88823     resp.error = null;
 88824     resp.data = resp.data || {};
 88825     resp.request.removeAllListeners('extractData');
 88826   },
 88827 
 88828   setError: function setError(resp, retryable) {
 88829     resp.data = null;
 88830     resp.error = AWS.util.error(resp.error || new Error(), {
 88831       code: 'ResourceNotReady',
 88832       message: 'Resource is not in the state ' + this.state,
 88833       retryable: retryable
 88834     });
 88835   },
 88836 
 88837 
 88838   loadWaiterConfig: function loadWaiterConfig(state) {
 88839     if (!this.service.api.waiters[state]) {
 88840       throw new AWS.util.error(new Error(), {
 88841         code: 'StateNotFoundError',
 88842         message: 'State ' + state + ' not found.'
 88843       });
 88844     }
 88845 
 88846     this.config = this.service.api.waiters[state];
 88847   }
 88848 });
 88849 
 88850 },{"./core":189,"jmespath":269}],223:[function(require,module,exports){
 88851 var AWS = require('./core');
 88852 var inherit = AWS.util.inherit;
 88853 var jmespath = require('jmespath');
 88854 
 88855 
 88856 AWS.Response = inherit({
 88857 
 88858 
 88859   constructor: function Response(request) {
 88860     this.request = request;
 88861     this.data = null;
 88862     this.error = null;
 88863     this.retryCount = 0;
 88864     this.redirectCount = 0;
 88865     this.httpResponse = new AWS.HttpResponse();
 88866     if (request) {
 88867       this.maxRetries = request.service.numRetries();
 88868       this.maxRedirects = request.service.config.maxRedirects;
 88869     }
 88870   },
 88871 
 88872 
 88873   nextPage: function nextPage(callback) {
 88874     var config;
 88875     var service = this.request.service;
 88876     var operation = this.request.operation;
 88877     try {
 88878       config = service.paginationConfig(operation, true);
 88879     } catch (e) { this.error = e; }
 88880 
 88881     if (!this.hasNextPage()) {
 88882       if (callback) callback(this.error, null);
 88883       else if (this.error) throw this.error;
 88884       return null;
 88885     }
 88886 
 88887     var params = AWS.util.copy(this.request.params);
 88888     if (!this.nextPageTokens) {
 88889       return callback ? callback(null, null) : null;
 88890     } else {
 88891       var inputTokens = config.inputToken;
 88892       if (typeof inputTokens === 'string') inputTokens = [inputTokens];
 88893       for (var i = 0; i < inputTokens.length; i++) {
 88894         params[inputTokens[i]] = this.nextPageTokens[i];
 88895       }
 88896       return service.makeRequest(this.request.operation, params, callback);
 88897     }
 88898   },
 88899 
 88900 
 88901   hasNextPage: function hasNextPage() {
 88902     this.cacheNextPageTokens();
 88903     if (this.nextPageTokens) return true;
 88904     if (this.nextPageTokens === undefined) return undefined;
 88905     else return false;
 88906   },
 88907 
 88908 
 88909   cacheNextPageTokens: function cacheNextPageTokens() {
 88910     if (Object.prototype.hasOwnProperty.call(this, 'nextPageTokens')) return this.nextPageTokens;
 88911     this.nextPageTokens = undefined;
 88912 
 88913     var config = this.request.service.paginationConfig(this.request.operation);
 88914     if (!config) return this.nextPageTokens;
 88915 
 88916     this.nextPageTokens = null;
 88917     if (config.moreResults) {
 88918       if (!jmespath.search(this.data, config.moreResults)) {
 88919         return this.nextPageTokens;
 88920       }
 88921     }
 88922 
 88923     var exprs = config.outputToken;
 88924     if (typeof exprs === 'string') exprs = [exprs];
 88925     AWS.util.arrayEach.call(this, exprs, function (expr) {
 88926       var output = jmespath.search(this.data, expr);
 88927       if (output) {
 88928         this.nextPageTokens = this.nextPageTokens || [];
 88929         this.nextPageTokens.push(output);
 88930       }
 88931     });
 88932 
 88933     return this.nextPageTokens;
 88934   }
 88935 
 88936 });
 88937 
 88938 },{"./core":189,"jmespath":269}],224:[function(require,module,exports){
 88939 var AWS = require('../core');
 88940 var byteLength = AWS.util.string.byteLength;
 88941 var Buffer = AWS.util.Buffer;
 88942 
 88943 
 88944 AWS.S3.ManagedUpload = AWS.util.inherit({
 88945 
 88946   constructor: function ManagedUpload(options) {
 88947     var self = this;
 88948     AWS.SequentialExecutor.call(self);
 88949     self.body = null;
 88950     self.sliceFn = null;
 88951     self.callback = null;
 88952     self.parts = {};
 88953     self.completeInfo = [];
 88954     self.fillQueue = function() {
 88955       self.callback(new Error('Unsupported body payload ' + typeof self.body));
 88956     };
 88957 
 88958     self.configure(options);
 88959   },
 88960 
 88961 
 88962   configure: function configure(options) {
 88963     options = options || {};
 88964     this.partSize = this.minPartSize;
 88965 
 88966     if (options.queueSize) this.queueSize = options.queueSize;
 88967     if (options.partSize) this.partSize = options.partSize;
 88968     if (options.leavePartsOnError) this.leavePartsOnError = true;
 88969 
 88970     if (this.partSize < this.minPartSize) {
 88971       throw new Error('partSize must be greater than ' +
 88972                       this.minPartSize);
 88973     }
 88974 
 88975     this.service = options.service;
 88976     this.bindServiceObject(options.params);
 88977     this.validateBody();
 88978     this.adjustTotalBytes();
 88979   },
 88980 
 88981 
 88982   leavePartsOnError: false,
 88983 
 88984 
 88985   queueSize: 4,
 88986 
 88987 
 88988   partSize: null,
 88989 
 88990 
 88991   minPartSize: 1024 * 1024 * 5,
 88992 
 88993 
 88994   maxTotalParts: 10000,
 88995 
 88996 
 88997   send: function(callback) {
 88998     var self = this;
 88999     self.failed = false;
 89000     self.callback = callback || function(err) { if (err) throw err; };
 89001 
 89002     var runFill = true;
 89003     if (self.sliceFn) {
 89004       self.fillQueue = self.fillBuffer;
 89005     } else if (AWS.util.isNode()) {
 89006       var Stream = AWS.util.stream.Stream;
 89007       if (self.body instanceof Stream) {
 89008         runFill = false;
 89009         self.fillQueue = self.fillStream;
 89010         self.partBuffers = [];
 89011         self.body.
 89012           on('error', function(err) { self.cleanup(err); }).
 89013           on('readable', function() { self.fillQueue(); }).
 89014           on('end', function() {
 89015             self.isDoneChunking = true;
 89016             self.numParts = self.totalPartNumbers;
 89017             self.fillQueue.call(self);
 89018           });
 89019       }
 89020     }
 89021 
 89022     if (runFill) self.fillQueue.call(self);
 89023   },
 89024 
 89025 
 89026 
 89027 
 89028   abort: function() {
 89029     this.cleanup(AWS.util.error(new Error('Request aborted by user'), {
 89030       code: 'RequestAbortedError', retryable: false
 89031     }));
 89032   },
 89033 
 89034 
 89035   validateBody: function validateBody() {
 89036     var self = this;
 89037     self.body = self.service.config.params.Body;
 89038     if (!self.body) throw new Error('params.Body is required');
 89039     if (typeof self.body === 'string') {
 89040       self.body = new AWS.util.Buffer(self.body);
 89041     }
 89042     self.sliceFn = AWS.util.arraySliceFn(self.body);
 89043   },
 89044 
 89045 
 89046   bindServiceObject: function bindServiceObject(params) {
 89047     params = params || {};
 89048     var self = this;
 89049 
 89050     if (!self.service) {
 89051       self.service = new AWS.S3({params: params});
 89052     } else {
 89053       var config = AWS.util.copy(self.service.config);
 89054       self.service = new self.service.constructor.__super__(config);
 89055       self.service.config.params =
 89056         AWS.util.merge(self.service.config.params || {}, params);
 89057     }
 89058   },
 89059 
 89060 
 89061   adjustTotalBytes: function adjustTotalBytes() {
 89062     var self = this;
 89063     try { // try to get totalBytes
 89064       self.totalBytes = byteLength(self.body);
 89065     } catch (e) { }
 89066 
 89067     if (self.totalBytes) {
 89068       var newPartSize = Math.ceil(self.totalBytes / self.maxTotalParts);
 89069       if (newPartSize > self.partSize) self.partSize = newPartSize;
 89070     } else {
 89071       self.totalBytes = undefined;
 89072     }
 89073   },
 89074 
 89075 
 89076   isDoneChunking: false,
 89077 
 89078 
 89079   partPos: 0,
 89080 
 89081 
 89082   totalChunkedBytes: 0,
 89083 
 89084 
 89085   totalUploadedBytes: 0,
 89086 
 89087 
 89088   totalBytes: undefined,
 89089 
 89090 
 89091   numParts: 0,
 89092 
 89093 
 89094   totalPartNumbers: 0,
 89095 
 89096 
 89097   activeParts: 0,
 89098 
 89099 
 89100   doneParts: 0,
 89101 
 89102 
 89103   parts: null,
 89104 
 89105 
 89106   completeInfo: null,
 89107 
 89108 
 89109   failed: false,
 89110 
 89111 
 89112   multipartReq: null,
 89113 
 89114 
 89115   partBuffers: null,
 89116 
 89117 
 89118   partBufferLength: 0,
 89119 
 89120 
 89121   fillBuffer: function fillBuffer() {
 89122     var self = this;
 89123     var bodyLen = byteLength(self.body);
 89124 
 89125     if (bodyLen === 0) {
 89126       self.isDoneChunking = true;
 89127       self.numParts = 1;
 89128       self.nextChunk(self.body);
 89129       return;
 89130     }
 89131 
 89132     while (self.activeParts < self.queueSize && self.partPos < bodyLen) {
 89133       var endPos = Math.min(self.partPos + self.partSize, bodyLen);
 89134       var buf = self.sliceFn.call(self.body, self.partPos, endPos);
 89135       self.partPos += self.partSize;
 89136 
 89137       if (byteLength(buf) < self.partSize || self.partPos === bodyLen) {
 89138         self.isDoneChunking = true;
 89139         self.numParts = self.totalPartNumbers + 1;
 89140       }
 89141       self.nextChunk(buf);
 89142     }
 89143   },
 89144 
 89145 
 89146   fillStream: function fillStream() {
 89147     var self = this;
 89148     if (self.activeParts >= self.queueSize) return;
 89149 
 89150     var buf = self.body.read(self.partSize - self.partBufferLength) ||
 89151               self.body.read();
 89152     if (buf) {
 89153       self.partBuffers.push(buf);
 89154       self.partBufferLength += buf.length;
 89155       self.totalChunkedBytes += buf.length;
 89156     }
 89157 
 89158     if (self.partBufferLength >= self.partSize) {
 89159       var pbuf = self.partBuffers.length === 1 ?
 89160         self.partBuffers[0] : Buffer.concat(self.partBuffers);
 89161       self.partBuffers = [];
 89162       self.partBufferLength = 0;
 89163 
 89164       if (pbuf.length > self.partSize) {
 89165         var rest = pbuf.slice(self.partSize);
 89166         self.partBuffers.push(rest);
 89167         self.partBufferLength += rest.length;
 89168         pbuf = pbuf.slice(0, self.partSize);
 89169       }
 89170 
 89171       self.nextChunk(pbuf);
 89172     }
 89173 
 89174     if (self.isDoneChunking && !self.isDoneSending) {
 89175       pbuf = self.partBuffers.length === 1 ?
 89176           self.partBuffers[0] : Buffer.concat(self.partBuffers);
 89177       self.partBuffers = [];
 89178       self.partBufferLength = 0;
 89179       self.totalBytes = self.totalChunkedBytes;
 89180       self.isDoneSending = true;
 89181 
 89182       if (self.numParts === 0 || pbuf.length > 0) {
 89183         self.numParts++;
 89184         self.nextChunk(pbuf);
 89185       }
 89186     }
 89187 
 89188     self.body.read(0);
 89189   },
 89190 
 89191 
 89192   nextChunk: function nextChunk(chunk) {
 89193     var self = this;
 89194     if (self.failed) return null;
 89195 
 89196     var partNumber = ++self.totalPartNumbers;
 89197     if (self.isDoneChunking && partNumber === 1) {
 89198       var req = self.service.putObject({Body: chunk});
 89199       req._managedUpload = self;
 89200       req.on('httpUploadProgress', self.progress).send(self.finishSinglePart);
 89201       return null;
 89202     } else if (self.service.config.params.ContentMD5) {
 89203       var err = AWS.util.error(new Error('The Content-MD5 you specified is invalid for multi-part uploads.'), {
 89204         code: 'InvalidDigest', retryable: false
 89205       });
 89206 
 89207       self.cleanup(err);
 89208       return null;
 89209     }
 89210 
 89211     if (self.completeInfo[partNumber] && self.completeInfo[partNumber].ETag !== null) {
 89212       return null; // Already uploaded this part.
 89213     }
 89214 
 89215     self.activeParts++;
 89216     if (!self.service.config.params.UploadId) {
 89217 
 89218       if (!self.multipartReq) { // create multipart
 89219         self.multipartReq = self.service.createMultipartUpload();
 89220         self.multipartReq.on('success', function(resp) {
 89221           self.service.config.params.UploadId = resp.data.UploadId;
 89222           self.multipartReq = null;
 89223         });
 89224         self.queueChunks(chunk, partNumber);
 89225         self.multipartReq.on('error', function(err) {
 89226           self.cleanup(err);
 89227         });
 89228         self.multipartReq.send();
 89229       } else {
 89230         self.queueChunks(chunk, partNumber);
 89231       }
 89232     } else { // multipart is created, just send
 89233       self.uploadPart(chunk, partNumber);
 89234     }
 89235   },
 89236 
 89237 
 89238   uploadPart: function uploadPart(chunk, partNumber) {
 89239     var self = this;
 89240 
 89241     var partParams = {
 89242       Body: chunk,
 89243       ContentLength: AWS.util.string.byteLength(chunk),
 89244       PartNumber: partNumber
 89245     };
 89246 
 89247     var partInfo = {ETag: null, PartNumber: partNumber};
 89248     self.completeInfo[partNumber] = partInfo;
 89249 
 89250     var req = self.service.uploadPart(partParams);
 89251     self.parts[partNumber] = req;
 89252     req._lastUploadedBytes = 0;
 89253     req._managedUpload = self;
 89254     req.on('httpUploadProgress', self.progress);
 89255     req.send(function(err, data) {
 89256       delete self.parts[partParams.PartNumber];
 89257       self.activeParts--;
 89258 
 89259       if (!err && (!data || !data.ETag)) {
 89260         var message = 'No access to ETag property on response.';
 89261         if (AWS.util.isBrowser()) {
 89262           message += ' Check CORS configuration to expose ETag header.';
 89263         }
 89264 
 89265         err = AWS.util.error(new Error(message), {
 89266           code: 'ETagMissing', retryable: false
 89267         });
 89268       }
 89269       if (err) return self.cleanup(err);
 89270 
 89271       partInfo.ETag = data.ETag;
 89272       self.doneParts++;
 89273       if (self.isDoneChunking && self.doneParts === self.numParts) {
 89274         self.finishMultiPart();
 89275       } else {
 89276         self.fillQueue.call(self);
 89277       }
 89278     });
 89279   },
 89280 
 89281 
 89282   queueChunks: function queueChunks(chunk, partNumber) {
 89283     var self = this;
 89284     self.multipartReq.on('success', function() {
 89285       self.uploadPart(chunk, partNumber);
 89286     });
 89287   },
 89288 
 89289 
 89290   cleanup: function cleanup(err) {
 89291     var self = this;
 89292     if (self.failed) return;
 89293 
 89294     if (typeof self.body.removeAllListeners === 'function' &&
 89295         typeof self.body.resume === 'function') {
 89296       self.body.removeAllListeners('readable');
 89297       self.body.removeAllListeners('end');
 89298       self.body.resume();
 89299     }
 89300 
 89301     if (self.service.config.params.UploadId && !self.leavePartsOnError) {
 89302       self.service.abortMultipartUpload().send();
 89303     }
 89304 
 89305     AWS.util.each(self.parts, function(partNumber, part) {
 89306       part.removeAllListeners('complete');
 89307       part.abort();
 89308     });
 89309 
 89310     self.activeParts = 0;
 89311     self.partPos = 0;
 89312     self.numParts = 0;
 89313     self.totalPartNumbers = 0;
 89314     self.parts = {};
 89315     self.failed = true;
 89316     self.callback(err);
 89317   },
 89318 
 89319 
 89320   finishMultiPart: function finishMultiPart() {
 89321     var self = this;
 89322     var completeParams = { MultipartUpload: { Parts: self.completeInfo.slice(1) } };
 89323     self.service.completeMultipartUpload(completeParams, function(err, data) {
 89324       if (err) return self.cleanup(err);
 89325       else self.callback(err, data);
 89326     });
 89327   },
 89328 
 89329 
 89330   finishSinglePart: function finishSinglePart(err, data) {
 89331     var upload = this.request._managedUpload;
 89332     var httpReq = this.request.httpRequest;
 89333     var endpoint = httpReq.endpoint;
 89334     if (err) return upload.callback(err);
 89335     data.Location =
 89336       [endpoint.protocol, '//', endpoint.host, httpReq.path].join('');
 89337     data.key = this.request.params.Key; // will stay undocumented
 89338     data.Key = this.request.params.Key;
 89339     data.Bucket = this.request.params.Bucket;
 89340     upload.callback(err, data);
 89341   },
 89342 
 89343 
 89344   progress: function progress(info) {
 89345     var upload = this._managedUpload;
 89346     if (this.operation === 'putObject') {
 89347       info.part = 1;
 89348       info.key = this.params.Key;
 89349     } else {
 89350       upload.totalUploadedBytes += info.loaded - this._lastUploadedBytes;
 89351       this._lastUploadedBytes = info.loaded;
 89352       info = {
 89353         loaded: upload.totalUploadedBytes,
 89354         total: upload.totalBytes,
 89355         part: this.params.PartNumber,
 89356         key: this.params.Key
 89357       };
 89358     }
 89359     upload.emit('httpUploadProgress', [info]);
 89360   }
 89361 });
 89362 
 89363 AWS.util.mixin(AWS.S3.ManagedUpload, AWS.SequentialExecutor);
 89364 
 89365 
 89366 AWS.S3.ManagedUpload.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
 89367   this.prototype.promise = AWS.util.promisifyMethod('send', PromiseDependency);
 89368 };
 89369 
 89370 
 89371 AWS.S3.ManagedUpload.deletePromisesFromClass = function deletePromisesFromClass() {
 89372   delete this.prototype.promise;
 89373 };
 89374 
 89375 AWS.util.addPromises(AWS.S3.ManagedUpload);
 89376 
 89377 module.exports = AWS.S3.ManagedUpload;
 89378 
 89379 },{"../core":189}],225:[function(require,module,exports){
 89380 var AWS = require('./core');
 89381 
 89382 
 89383 AWS.SequentialExecutor = AWS.util.inherit({
 89384 
 89385   constructor: function SequentialExecutor() {
 89386     this._events = {};
 89387   },
 89388 
 89389 
 89390   listeners: function listeners(eventName) {
 89391     return this._events[eventName] ? this._events[eventName].slice(0) : [];
 89392   },
 89393 
 89394   on: function on(eventName, listener) {
 89395     if (this._events[eventName]) {
 89396       this._events[eventName].push(listener);
 89397     } else {
 89398       this._events[eventName] = [listener];
 89399     }
 89400     return this;
 89401   },
 89402 
 89403 
 89404   onAsync: function onAsync(eventName, listener) {
 89405     listener._isAsync = true;
 89406     return this.on(eventName, listener);
 89407   },
 89408 
 89409   removeListener: function removeListener(eventName, listener) {
 89410     var listeners = this._events[eventName];
 89411     if (listeners) {
 89412       var length = listeners.length;
 89413       var position = -1;
 89414       for (var i = 0; i < length; ++i) {
 89415         if (listeners[i] === listener) {
 89416           position = i;
 89417         }
 89418       }
 89419       if (position > -1) {
 89420         listeners.splice(position, 1);
 89421       }
 89422     }
 89423     return this;
 89424   },
 89425 
 89426   removeAllListeners: function removeAllListeners(eventName) {
 89427     if (eventName) {
 89428       delete this._events[eventName];
 89429     } else {
 89430       this._events = {};
 89431     }
 89432     return this;
 89433   },
 89434 
 89435 
 89436   emit: function emit(eventName, eventArgs, doneCallback) {
 89437     if (!doneCallback) doneCallback = function() { };
 89438     var listeners = this.listeners(eventName);
 89439     var count = listeners.length;
 89440     this.callListeners(listeners, eventArgs, doneCallback);
 89441     return count > 0;
 89442   },
 89443 
 89444 
 89445   callListeners: function callListeners(listeners, args, doneCallback, prevError) {
 89446     var self = this;
 89447     var error = prevError || null;
 89448 
 89449     function callNextListener(err) {
 89450       if (err) {
 89451         error = AWS.util.error(error || new Error(), err);
 89452         if (self._haltHandlersOnError) {
 89453           return doneCallback.call(self, error);
 89454         }
 89455       }
 89456       self.callListeners(listeners, args, doneCallback, error);
 89457     }
 89458 
 89459     while (listeners.length > 0) {
 89460       var listener = listeners.shift();
 89461       if (listener._isAsync) { // asynchronous listener
 89462         listener.apply(self, args.concat([callNextListener]));
 89463         return; // stop here, callNextListener will continue
 89464       } else { // synchronous listener
 89465         try {
 89466           listener.apply(self, args);
 89467         } catch (err) {
 89468           error = AWS.util.error(error || new Error(), err);
 89469         }
 89470         if (error && self._haltHandlersOnError) {
 89471           doneCallback.call(self, error);
 89472           return;
 89473         }
 89474       }
 89475     }
 89476     doneCallback.call(self, error);
 89477   },
 89478 
 89479 
 89480   addListeners: function addListeners(listeners) {
 89481     var self = this;
 89482 
 89483     if (listeners._events) listeners = listeners._events;
 89484 
 89485     AWS.util.each(listeners, function(event, callbacks) {
 89486       if (typeof callbacks === 'function') callbacks = [callbacks];
 89487       AWS.util.arrayEach(callbacks, function(callback) {
 89488         self.on(event, callback);
 89489       });
 89490     });
 89491 
 89492     return self;
 89493   },
 89494 
 89495 
 89496   addNamedListener: function addNamedListener(name, eventName, callback) {
 89497     this[name] = callback;
 89498     this.addListener(eventName, callback);
 89499     return this;
 89500   },
 89501 
 89502 
 89503   addNamedAsyncListener: function addNamedAsyncListener(name, eventName, callback) {
 89504     callback._isAsync = true;
 89505     return this.addNamedListener(name, eventName, callback);
 89506   },
 89507 
 89508 
 89509   addNamedListeners: function addNamedListeners(callback) {
 89510     var self = this;
 89511     callback(
 89512       function() {
 89513         self.addNamedListener.apply(self, arguments);
 89514       },
 89515       function() {
 89516         self.addNamedAsyncListener.apply(self, arguments);
 89517       }
 89518     );
 89519     return this;
 89520   }
 89521 });
 89522 
 89523 
 89524 AWS.SequentialExecutor.prototype.addListener = AWS.SequentialExecutor.prototype.on;
 89525 
 89526 module.exports = AWS.SequentialExecutor;
 89527 
 89528 },{"./core":189}],226:[function(require,module,exports){
 89529 var AWS = require('./core');
 89530 var Api = require('./model/api');
 89531 var regionConfig = require('./region_config');
 89532 var inherit = AWS.util.inherit;
 89533 var clientCount = 0;
 89534 
 89535 
 89536 AWS.Service = inherit({
 89537 
 89538   constructor: function Service(config) {
 89539     if (!this.loadServiceClass) {
 89540       throw AWS.util.error(new Error(),
 89541         'Service must be constructed with `new\' operator');
 89542     }
 89543     var ServiceClass = this.loadServiceClass(config || {});
 89544     if (ServiceClass) {
 89545       var originalConfig = AWS.util.copy(config);
 89546       var svc = new ServiceClass(config);
 89547       Object.defineProperty(svc, '_originalConfig', {
 89548         get: function() { return originalConfig; },
 89549         enumerable: false,
 89550         configurable: true
 89551       });
 89552       svc._clientId = ++clientCount;
 89553       return svc;
 89554     }
 89555     this.initialize(config);
 89556   },
 89557 
 89558 
 89559   initialize: function initialize(config) {
 89560     var svcConfig = AWS.config[this.serviceIdentifier];
 89561 
 89562     this.config = new AWS.Config(AWS.config);
 89563     if (svcConfig) this.config.update(svcConfig, true);
 89564     if (config) this.config.update(config, true);
 89565 
 89566     this.validateService();
 89567     if (!this.config.endpoint) regionConfig(this);
 89568 
 89569     this.config.endpoint = this.endpointFromTemplate(this.config.endpoint);
 89570     this.setEndpoint(this.config.endpoint);
 89571   },
 89572 
 89573 
 89574   validateService: function validateService() {
 89575   },
 89576 
 89577 
 89578   loadServiceClass: function loadServiceClass(serviceConfig) {
 89579     var config = serviceConfig;
 89580     if (!AWS.util.isEmpty(this.api)) {
 89581       return null;
 89582     } else if (config.apiConfig) {
 89583       return AWS.Service.defineServiceApi(this.constructor, config.apiConfig);
 89584     } else if (!this.constructor.services) {
 89585       return null;
 89586     } else {
 89587       config = new AWS.Config(AWS.config);
 89588       config.update(serviceConfig, true);
 89589       var version = config.apiVersions[this.constructor.serviceIdentifier];
 89590       version = version || config.apiVersion;
 89591       return this.getLatestServiceClass(version);
 89592     }
 89593   },
 89594 
 89595 
 89596   getLatestServiceClass: function getLatestServiceClass(version) {
 89597     version = this.getLatestServiceVersion(version);
 89598     if (this.constructor.services[version] === null) {
 89599       AWS.Service.defineServiceApi(this.constructor, version);
 89600     }
 89601 
 89602     return this.constructor.services[version];
 89603   },
 89604 
 89605 
 89606   getLatestServiceVersion: function getLatestServiceVersion(version) {
 89607     if (!this.constructor.services || this.constructor.services.length === 0) {
 89608       throw new Error('No services defined on ' +
 89609                       this.constructor.serviceIdentifier);
 89610     }
 89611 
 89612     if (!version) {
 89613       version = 'latest';
 89614     } else if (AWS.util.isType(version, Date)) {
 89615       version = AWS.util.date.iso8601(version).split('T')[0];
 89616     }
 89617 
 89618     if (Object.hasOwnProperty(this.constructor.services, version)) {
 89619       return version;
 89620     }
 89621 
 89622     var keys = Object.keys(this.constructor.services).sort();
 89623     var selectedVersion = null;
 89624     for (var i = keys.length - 1; i >= 0; i--) {
 89625       if (keys[i][keys[i].length - 1] !== '*') {
 89626         selectedVersion = keys[i];
 89627       }
 89628       if (keys[i].substr(0, 10) <= version) {
 89629         return selectedVersion;
 89630       }
 89631     }
 89632 
 89633     throw new Error('Could not find ' + this.constructor.serviceIdentifier +
 89634                     ' API to satisfy version constraint `' + version + '\'');
 89635   },
 89636 
 89637 
 89638   api: {},
 89639 
 89640 
 89641   defaultRetryCount: 3,
 89642 
 89643 
 89644   customizeRequests: function customizeRequests(callback) {
 89645     if (!callback) {
 89646       this.customRequestHandler = null;
 89647     } else if (typeof callback === 'function') {
 89648       this.customRequestHandler = callback;
 89649     } else {
 89650       throw new Error('Invalid callback type \'' + typeof callback + '\' provided in customizeRequests');
 89651     }
 89652   },
 89653 
 89654 
 89655   makeRequest: function makeRequest(operation, params, callback) {
 89656     if (typeof params === 'function') {
 89657       callback = params;
 89658       params = null;
 89659     }
 89660 
 89661     params = params || {};
 89662     if (this.config.params) { // copy only toplevel bound params
 89663       var rules = this.api.operations[operation];
 89664       if (rules) {
 89665         params = AWS.util.copy(params);
 89666         AWS.util.each(this.config.params, function(key, value) {
 89667           if (rules.input.members[key]) {
 89668             if (params[key] === undefined || params[key] === null) {
 89669               params[key] = value;
 89670             }
 89671           }
 89672         });
 89673       }
 89674     }
 89675 
 89676     var request = new AWS.Request(this, operation, params);
 89677     this.addAllRequestListeners(request);
 89678 
 89679     if (callback) request.send(callback);
 89680     return request;
 89681   },
 89682 
 89683 
 89684   makeUnauthenticatedRequest: function makeUnauthenticatedRequest(operation, params, callback) {
 89685     if (typeof params === 'function') {
 89686       callback = params;
 89687       params = {};
 89688     }
 89689 
 89690     var request = this.makeRequest(operation, params).toUnauthenticated();
 89691     return callback ? request.send(callback) : request;
 89692   },
 89693 
 89694 
 89695   waitFor: function waitFor(state, params, callback) {
 89696     var waiter = new AWS.ResourceWaiter(this, state);
 89697     return waiter.wait(params, callback);
 89698   },
 89699 
 89700 
 89701   addAllRequestListeners: function addAllRequestListeners(request) {
 89702     var list = [AWS.events, AWS.EventListeners.Core, this.serviceInterface(),
 89703                 AWS.EventListeners.CorePost];
 89704     for (var i = 0; i < list.length; i++) {
 89705       if (list[i]) request.addListeners(list[i]);
 89706     }
 89707 
 89708     if (!this.config.paramValidation) {
 89709       request.removeListener('validate',
 89710         AWS.EventListeners.Core.VALIDATE_PARAMETERS);
 89711     }
 89712 
 89713     if (this.config.logger) { // add logging events
 89714       request.addListeners(AWS.EventListeners.Logger);
 89715     }
 89716 
 89717     this.setupRequestListeners(request);
 89718     if (typeof this.constructor.prototype.customRequestHandler === 'function') {
 89719       this.constructor.prototype.customRequestHandler(request);
 89720     }
 89721     if (Object.prototype.hasOwnProperty.call(this, 'customRequestHandler') && typeof this.customRequestHandler === 'function') {
 89722       this.customRequestHandler(request);
 89723     }
 89724   },
 89725 
 89726 
 89727   setupRequestListeners: function setupRequestListeners() {
 89728   },
 89729 
 89730 
 89731   getSignerClass: function getSignerClass() {
 89732     var version;
 89733     if (this.config.signatureVersion) {
 89734       version = this.config.signatureVersion;
 89735     } else {
 89736       version = this.api.signatureVersion;
 89737     }
 89738     return AWS.Signers.RequestSigner.getVersion(version);
 89739   },
 89740 
 89741 
 89742   serviceInterface: function serviceInterface() {
 89743     switch (this.api.protocol) {
 89744       case 'ec2': return AWS.EventListeners.Query;
 89745       case 'query': return AWS.EventListeners.Query;
 89746       case 'json': return AWS.EventListeners.Json;
 89747       case 'rest-json': return AWS.EventListeners.RestJson;
 89748       case 'rest-xml': return AWS.EventListeners.RestXml;
 89749     }
 89750     if (this.api.protocol) {
 89751       throw new Error('Invalid service `protocol\' ' +
 89752         this.api.protocol + ' in API config');
 89753     }
 89754   },
 89755 
 89756 
 89757   successfulResponse: function successfulResponse(resp) {
 89758     return resp.httpResponse.statusCode < 300;
 89759   },
 89760 
 89761 
 89762   numRetries: function numRetries() {
 89763     if (this.config.maxRetries !== undefined) {
 89764       return this.config.maxRetries;
 89765     } else {
 89766       return this.defaultRetryCount;
 89767     }
 89768   },
 89769 
 89770 
 89771   retryDelays: function retryDelays(retryCount) {
 89772     return AWS.util.calculateRetryDelay(retryCount, this.config.retryDelayOptions);
 89773   },
 89774 
 89775 
 89776   retryableError: function retryableError(error) {
 89777     if (this.networkingError(error)) return true;
 89778     if (this.expiredCredentialsError(error)) return true;
 89779     if (this.throttledError(error)) return true;
 89780     if (error.statusCode >= 500) return true;
 89781     return false;
 89782   },
 89783 
 89784 
 89785   networkingError: function networkingError(error) {
 89786     return error.code === 'NetworkingError';
 89787   },
 89788 
 89789 
 89790   expiredCredentialsError: function expiredCredentialsError(error) {
 89791     return (error.code === 'ExpiredTokenException');
 89792   },
 89793 
 89794 
 89795   clockSkewError: function clockSkewError(error) {
 89796     switch (error.code) {
 89797       case 'RequestTimeTooSkewed':
 89798       case 'RequestExpired':
 89799       case 'InvalidSignatureException':
 89800       case 'SignatureDoesNotMatch':
 89801       case 'AuthFailure':
 89802       case 'RequestInTheFuture':
 89803         return true;
 89804       default: return false;
 89805     }
 89806   },
 89807 
 89808 
 89809   throttledError: function throttledError(error) {
 89810     switch (error.code) {
 89811       case 'ProvisionedThroughputExceededException':
 89812       case 'Throttling':
 89813       case 'ThrottlingException':
 89814       case 'RequestLimitExceeded':
 89815       case 'RequestThrottled':
 89816         return true;
 89817       default:
 89818         return false;
 89819     }
 89820   },
 89821 
 89822 
 89823   endpointFromTemplate: function endpointFromTemplate(endpoint) {
 89824     if (typeof endpoint !== 'string') return endpoint;
 89825 
 89826     var e = endpoint;
 89827     e = e.replace(/\{service\}/g, this.api.endpointPrefix);
 89828     e = e.replace(/\{region\}/g, this.config.region);
 89829     e = e.replace(/\{scheme\}/g, this.config.sslEnabled ? 'https' : 'http');
 89830     return e;
 89831   },
 89832 
 89833 
 89834   setEndpoint: function setEndpoint(endpoint) {
 89835     this.endpoint = new AWS.Endpoint(endpoint, this.config);
 89836   },
 89837 
 89838 
 89839   paginationConfig: function paginationConfig(operation, throwException) {
 89840     var paginator = this.api.operations[operation].paginator;
 89841     if (!paginator) {
 89842       if (throwException) {
 89843         var e = new Error();
 89844         throw AWS.util.error(e, 'No pagination configuration for ' + operation);
 89845       }
 89846       return null;
 89847     }
 89848 
 89849     return paginator;
 89850   }
 89851 });
 89852 
 89853 AWS.util.update(AWS.Service, {
 89854 
 89855 
 89856   defineMethods: function defineMethods(svc) {
 89857     AWS.util.each(svc.prototype.api.operations, function iterator(method) {
 89858       if (svc.prototype[method]) return;
 89859       var operation = svc.prototype.api.operations[method];
 89860       if (operation.authtype === 'none') {
 89861         svc.prototype[method] = function (params, callback) {
 89862           return this.makeUnauthenticatedRequest(method, params, callback);
 89863         };
 89864       } else {
 89865         svc.prototype[method] = function (params, callback) {
 89866           return this.makeRequest(method, params, callback);
 89867         };
 89868       }
 89869     });
 89870   },
 89871 
 89872 
 89873   defineService: function defineService(serviceIdentifier, versions, features) {
 89874     AWS.Service._serviceMap[serviceIdentifier] = true;
 89875     if (!Array.isArray(versions)) {
 89876       features = versions;
 89877       versions = [];
 89878     }
 89879 
 89880     var svc = inherit(AWS.Service, features || {});
 89881 
 89882     if (typeof serviceIdentifier === 'string') {
 89883       AWS.Service.addVersions(svc, versions);
 89884 
 89885       var identifier = svc.serviceIdentifier || serviceIdentifier;
 89886       svc.serviceIdentifier = identifier;
 89887     } else { // defineService called with an API
 89888       svc.prototype.api = serviceIdentifier;
 89889       AWS.Service.defineMethods(svc);
 89890     }
 89891 
 89892     return svc;
 89893   },
 89894 
 89895 
 89896   addVersions: function addVersions(svc, versions) {
 89897     if (!Array.isArray(versions)) versions = [versions];
 89898 
 89899     svc.services = svc.services || {};
 89900     for (var i = 0; i < versions.length; i++) {
 89901       if (svc.services[versions[i]] === undefined) {
 89902         svc.services[versions[i]] = null;
 89903       }
 89904     }
 89905 
 89906     svc.apiVersions = Object.keys(svc.services).sort();
 89907   },
 89908 
 89909 
 89910   defineServiceApi: function defineServiceApi(superclass, version, apiConfig) {
 89911     var svc = inherit(superclass, {
 89912       serviceIdentifier: superclass.serviceIdentifier
 89913     });
 89914 
 89915     function setApi(api) {
 89916       if (api.isApi) {
 89917         svc.prototype.api = api;
 89918       } else {
 89919         svc.prototype.api = new Api(api);
 89920       }
 89921     }
 89922 
 89923     if (typeof version === 'string') {
 89924       if (apiConfig) {
 89925         setApi(apiConfig);
 89926       } else {
 89927         try {
 89928           setApi(AWS.apiLoader(superclass.serviceIdentifier, version));
 89929         } catch (err) {
 89930           throw AWS.util.error(err, {
 89931             message: 'Could not find API configuration ' +
 89932               superclass.serviceIdentifier + '-' + version
 89933           });
 89934         }
 89935       }
 89936       if (!Object.prototype.hasOwnProperty.call(superclass.services, version)) {
 89937         superclass.apiVersions = superclass.apiVersions.concat(version).sort();
 89938       }
 89939       superclass.services[version] = svc;
 89940     } else {
 89941       setApi(version);
 89942     }
 89943 
 89944     AWS.Service.defineMethods(svc);
 89945     return svc;
 89946   },
 89947 
 89948 
 89949   hasService: function(identifier) {
 89950     return Object.prototype.hasOwnProperty.call(AWS.Service._serviceMap, identifier);
 89951   },
 89952 
 89953 
 89954   _serviceMap: {}
 89955 });
 89956 
 89957 module.exports = AWS.Service;
 89958 },{"./core":189,"./model/api":206,"./region_config":220}],227:[function(require,module,exports){
 89959 var AWS = require('../core');
 89960 
 89961 AWS.util.update(AWS.APIGateway.prototype, {
 89962 
 89963   setAcceptHeader: function setAcceptHeader(req) {
 89964     var httpRequest = req.httpRequest;
 89965     httpRequest.headers['Accept'] = 'application/json';
 89966   },
 89967 
 89968 
 89969   setupRequestListeners: function setupRequestListeners(request) {
 89970     request.addListener('build', this.setAcceptHeader);
 89971     if (request.operation === 'getSdk') {
 89972       request.addListener('extractData', this.useRawPayload);
 89973     }
 89974   },
 89975 
 89976   useRawPayload: function useRawPayload(resp) {
 89977     var req = resp.request;
 89978     var operation = req.operation;
 89979     var rules = req.service.api.operations[operation].output || {};
 89980     if (rules.payload) {
 89981       var body = resp.httpResponse.body;
 89982       resp.data[rules.payload] = body;
 89983     }
 89984   }
 89985 });
 89986 
 89987 
 89988 },{"../core":189}],228:[function(require,module,exports){
 89989 var AWS = require('../core');
 89990 
 89991 require('../cloudfront/signer');
 89992 
 89993 AWS.util.update(AWS.CloudFront.prototype, {
 89994 
 89995   setupRequestListeners: function setupRequestListeners(request) {
 89996     request.addListener('extractData', AWS.util.hoistPayloadMember);
 89997   }
 89998 
 89999 });
 90000 
 90001 },{"../cloudfront/signer":187,"../core":189}],229:[function(require,module,exports){
 90002 var AWS = require('../core');
 90003 
 90004 AWS.util.update(AWS.CognitoIdentity.prototype, {
 90005   getOpenIdToken: function getOpenIdToken(params, callback) {
 90006     return this.makeUnauthenticatedRequest('getOpenIdToken', params, callback);
 90007   },
 90008 
 90009   getId: function getId(params, callback) {
 90010     return this.makeUnauthenticatedRequest('getId', params, callback);
 90011   },
 90012 
 90013   getCredentialsForIdentity: function getCredentialsForIdentity(params, callback) {
 90014     return this.makeUnauthenticatedRequest('getCredentialsForIdentity', params, callback);
 90015   }
 90016 });
 90017 
 90018 },{"../core":189}],230:[function(require,module,exports){
 90019 var AWS = require('../core');
 90020 require('../dynamodb/document_client');
 90021 
 90022 AWS.util.update(AWS.DynamoDB.prototype, {
 90023 
 90024   setupRequestListeners: function setupRequestListeners(request) {
 90025     if (request.service.config.dynamoDbCrc32) {
 90026       request.removeListener('extractData', AWS.EventListeners.Json.EXTRACT_DATA);
 90027       request.addListener('extractData', this.checkCrc32);
 90028       request.addListener('extractData', AWS.EventListeners.Json.EXTRACT_DATA);
 90029     }
 90030   },
 90031 
 90032 
 90033   checkCrc32: function checkCrc32(resp) {
 90034     if (!resp.httpResponse.streaming && !resp.request.service.crc32IsValid(resp)) {
 90035       resp.data = null;
 90036       resp.error = AWS.util.error(new Error(), {
 90037         code: 'CRC32CheckFailed',
 90038         message: 'CRC32 integrity check failed',
 90039         retryable: true
 90040       });
 90041       resp.request.haltHandlersOnError();
 90042       throw (resp.error);
 90043     }
 90044   },
 90045 
 90046 
 90047   crc32IsValid: function crc32IsValid(resp) {
 90048     var crc = resp.httpResponse.headers['x-amz-crc32'];
 90049     if (!crc) return true; // no (valid) CRC32 header
 90050     return parseInt(crc, 10) === AWS.util.crypto.crc32(resp.httpResponse.body);
 90051   },
 90052 
 90053 
 90054   defaultRetryCount: 10,
 90055 
 90056 
 90057   retryDelays: function retryDelays(retryCount) {
 90058     var delay = retryCount > 0 ? (50 * Math.pow(2, retryCount - 1)) : 0;
 90059     return delay;
 90060   }
 90061 });
 90062 
 90063 },{"../core":189,"../dynamodb/document_client":197}],231:[function(require,module,exports){
 90064 var AWS = require('../core');
 90065 
 90066 AWS.util.update(AWS.EC2.prototype, {
 90067 
 90068   setupRequestListeners: function setupRequestListeners(request) {
 90069     request.removeListener('extractError', AWS.EventListeners.Query.EXTRACT_ERROR);
 90070     request.addListener('extractError', this.extractError);
 90071 
 90072     if (request.operation === 'copySnapshot') {
 90073       request.onAsync('validate', this.buildCopySnapshotPresignedUrl);
 90074     }
 90075   },
 90076 
 90077 
 90078   buildCopySnapshotPresignedUrl: function buildCopySnapshotPresignedUrl(req, done) {
 90079     if (req.params.PresignedUrl || req._subRequest) {
 90080       return done();
 90081     }
 90082 
 90083     req.params = AWS.util.copy(req.params);
 90084     req.params.DestinationRegion = req.service.config.region;
 90085 
 90086     var config = AWS.util.copy(req.service.config);
 90087     delete config.endpoint;
 90088     config.region = req.params.SourceRegion;
 90089     var svc = new req.service.constructor(config);
 90090     var newReq = svc[req.operation](req.params);
 90091     newReq._subRequest = true;
 90092     newReq.presign(function(err, url) {
 90093       if (err) done(err);
 90094       else {
 90095         req.params.PresignedUrl = url;
 90096         done();
 90097       }
 90098     });
 90099   },
 90100 
 90101 
 90102   extractError: function extractError(resp) {
 90103     var httpResponse = resp.httpResponse;
 90104     var data = new AWS.XML.Parser().parse(httpResponse.body.toString() || '');
 90105     if (data.Errors) {
 90106       resp.error = AWS.util.error(new Error(), {
 90107         code: data.Errors.Error.Code,
 90108         message: data.Errors.Error.Message
 90109       });
 90110     } else {
 90111       resp.error = AWS.util.error(new Error(), {
 90112         code: httpResponse.statusCode,
 90113         message: null
 90114       });
 90115     }
 90116     resp.error.requestId = data.RequestID || null;
 90117   }
 90118 });
 90119 
 90120 },{"../core":189}],232:[function(require,module,exports){
 90121 var AWS = require('../core');
 90122 
 90123 
 90124 AWS.util.update(AWS.IotData.prototype, {
 90125 
 90126     validateService: function validateService() {
 90127         if (!this.config.endpoint || this.config.endpoint.indexOf('{') >= 0) {
 90128             var msg = 'AWS.IotData requires an explicit ' +
 90129                 '`endpoint\' configuration option.';
 90130             throw AWS.util.error(new Error(),
 90131                 {name: 'InvalidEndpoint', message: msg});
 90132         }
 90133     },
 90134 
 90135 
 90136     setupRequestListeners: function setupRequestListeners(request) {
 90137         request.addListener('validateResponse', this.validateResponseBody)
 90138     },
 90139 
 90140 
 90141     validateResponseBody: function validateResponseBody(resp) {
 90142         var body = resp.httpResponse.body.toString() || '{}';
 90143         var bodyCheck = body.trim();
 90144         if (!bodyCheck || bodyCheck.charAt(0) !== '{') {
 90145             resp.httpResponse.body = '';
 90146         }
 90147     }
 90148 
 90149 });
 90150 
 90151 },{"../core":189}],233:[function(require,module,exports){
 90152 var AWS = require('../core');
 90153 
 90154 AWS.util.update(AWS.MachineLearning.prototype, {
 90155 
 90156   setupRequestListeners: function setupRequestListeners(request) {
 90157     if (request.operation === 'predict') {
 90158       request.addListener('build', this.buildEndpoint);
 90159     }
 90160   },
 90161 
 90162 
 90163   buildEndpoint: function buildEndpoint(request) {
 90164     var url = request.params.PredictEndpoint;
 90165     if (url) {
 90166       request.httpRequest.endpoint = new AWS.Endpoint(url);
 90167     }
 90168   }
 90169 
 90170 });
 90171 
 90172 },{"../core":189}],234:[function(require,module,exports){
 90173 var AWS = require('../core');
 90174 
 90175 AWS.util.update(AWS.Route53.prototype, {
 90176 
 90177   setupRequestListeners: function setupRequestListeners(request) {
 90178     request.on('build', this.sanitizeUrl);
 90179   },
 90180 
 90181 
 90182   sanitizeUrl: function sanitizeUrl(request) {
 90183     var path = request.httpRequest.path;
 90184     request.httpRequest.path = path.replace(/\/%2F\w+%2F/, '/');
 90185   },
 90186 
 90187 
 90188   retryableError: function retryableError(error) {
 90189     if (error.code === 'PriorRequestNotComplete' &&
 90190         error.statusCode === 400) {
 90191       return true;
 90192     } else {
 90193       var _super = AWS.Service.prototype.retryableError;
 90194       return _super.call(this, error);
 90195     }
 90196   }
 90197 });
 90198 
 90199 },{"../core":189}],235:[function(require,module,exports){
 90200 var AWS = require('../core');
 90201 
 90202 require('../s3/managed_upload');
 90203 
 90204 
 90205 var operationsWith200StatusCodeError = {
 90206   'completeMultipartUpload': true,
 90207   'copyObject': true,
 90208   'uploadPartCopy': true
 90209 };
 90210 
 90211 
 90212  var regionRedirectErrorCodes = [
 90213   'AuthorizationHeaderMalformed', // non-head operations on virtual-hosted global bucket endpoints
 90214   'BadRequest', // head operations on virtual-hosted global bucket endpoints
 90215   'PermanentRedirect', // non-head operations on path-style or regional endpoints
 90216   301 // head operations on path-style or regional endpoints
 90217  ];
 90218 
 90219 AWS.util.update(AWS.S3.prototype, {
 90220 
 90221   getSignerClass: function getSignerClass(request) {
 90222     var defaultApiVersion = this.api.signatureVersion;
 90223     var userDefinedVersion = this._originalConfig ? this._originalConfig.signatureVersion : null;
 90224     var regionDefinedVersion = this.config.signatureVersion;
 90225     var isPresigned = request ? request.isPresigned() : false;
 90226 
 90227     if (userDefinedVersion) {
 90228       userDefinedVersion = userDefinedVersion === 'v2' ? 's3' : userDefinedVersion;
 90229       return AWS.Signers.RequestSigner.getVersion(userDefinedVersion);
 90230     }
 90231     if (regionDefinedVersion) {
 90232       defaultApiVersion = regionDefinedVersion;
 90233     }
 90234 
 90235     return AWS.Signers.RequestSigner.getVersion(defaultApiVersion);
 90236   },
 90237 
 90238 
 90239   validateService: function validateService() {
 90240     var msg;
 90241     var messages = [];
 90242 
 90243     if (!this.config.region) this.config.region = 'us-east-1';
 90244 
 90245     if (!this.config.endpoint && this.config.s3BucketEndpoint) {
 90246       messages.push('An endpoint must be provided when configuring ' +
 90247                     '`s3BucketEndpoint` to true.');
 90248     }
 90249     if (messages.length === 1) {
 90250       msg = messages[0];
 90251     } else if (messages.length > 1) {
 90252       msg = 'Multiple configuration errors:\n' + messages.join('\n');
 90253     }
 90254     if (msg) {
 90255       throw AWS.util.error(new Error(),
 90256         {name: 'InvalidEndpoint', message: msg});
 90257     }
 90258   },
 90259 
 90260 
 90261   shouldDisableBodySigning: function shouldDisableBodySigning(request) {
 90262     var signerClass = this.getSignerClass();
 90263     if (this.config.s3DisableBodySigning === true && signerClass === AWS.Signers.V4
 90264         && request.httpRequest.endpoint.protocol === 'https:') {
 90265       return true;
 90266     }
 90267     return false;
 90268   },
 90269 
 90270 
 90271   setupRequestListeners: function setupRequestListeners(request) {
 90272     request.addListener('validate', this.validateScheme);
 90273     request.addListener('validate', this.validateBucketEndpoint);
 90274     request.addListener('validate', this.correctBucketRegionFromCache);
 90275     request.addListener('build', this.addContentType);
 90276     request.addListener('build', this.populateURI);
 90277     request.addListener('build', this.computeContentMd5);
 90278     request.addListener('build', this.computeSseCustomerKeyMd5);
 90279     request.addListener('afterBuild', this.addExpect100Continue);
 90280     request.removeListener('validate',
 90281       AWS.EventListeners.Core.VALIDATE_REGION);
 90282     request.addListener('extractError', this.extractError);
 90283     request.onAsync('extractError', this.requestBucketRegion);
 90284     request.addListener('extractData', this.extractData);
 90285     request.addListener('extractData', AWS.util.hoistPayloadMember);
 90286     request.addListener('beforePresign', this.prepareSignedUrl);
 90287     if (AWS.util.isBrowser()) {
 90288       request.onAsync('retry', this.reqRegionForNetworkingError);
 90289     }
 90290     if (this.shouldDisableBodySigning(request))  {
 90291       request.removeListener('afterBuild', AWS.EventListeners.Core.COMPUTE_SHA256);
 90292       request.addListener('afterBuild', this.disableBodySigning);
 90293     }
 90294   },
 90295 
 90296 
 90297   validateScheme: function(req) {
 90298     var params = req.params,
 90299         scheme = req.httpRequest.endpoint.protocol,
 90300         sensitive = params.SSECustomerKey || params.CopySourceSSECustomerKey;
 90301     if (sensitive && scheme !== 'https:') {
 90302       var msg = 'Cannot send SSE keys over HTTP. Set \'sslEnabled\'' +
 90303         'to \'true\' in your configuration';
 90304       throw AWS.util.error(new Error(),
 90305         { code: 'ConfigError', message: msg });
 90306     }
 90307   },
 90308 
 90309 
 90310   validateBucketEndpoint: function(req) {
 90311     if (!req.params.Bucket && req.service.config.s3BucketEndpoint) {
 90312       var msg = 'Cannot send requests to root API with `s3BucketEndpoint` set.';
 90313       throw AWS.util.error(new Error(),
 90314         { code: 'ConfigError', message: msg });
 90315     }
 90316   },
 90317 
 90318 
 90319   isValidAccelerateOperation: function isValidAccelerateOperation(operation) {
 90320     var invalidOperations = [
 90321       'createBucket',
 90322       'deleteBucket',
 90323       'listBuckets'
 90324     ];
 90325     return invalidOperations.indexOf(operation) === -1;
 90326   },
 90327 
 90328 
 90329 
 90330   populateURI: function populateURI(req) {
 90331     var httpRequest = req.httpRequest;
 90332     var b = req.params.Bucket;
 90333     var service = req.service;
 90334     var endpoint = httpRequest.endpoint;
 90335 
 90336     if (b) {
 90337       if (!service.pathStyleBucketName(b)) {
 90338         if (service.config.useAccelerateEndpoint && service.isValidAccelerateOperation(req.operation)) {
 90339           if (service.config.useDualstack) {
 90340             endpoint.hostname = b + '.s3-accelerate.dualstack.amazonaws.com';
 90341           } else {
 90342             endpoint.hostname = b + '.s3-accelerate.amazonaws.com';
 90343           }
 90344         } else if (!service.config.s3BucketEndpoint) {
 90345           endpoint.hostname =
 90346             b + '.' + endpoint.hostname;
 90347         }
 90348 
 90349         var port = endpoint.port;
 90350         if (port !== 80 && port !== 443) {
 90351           endpoint.host = endpoint.hostname + ':' +
 90352             endpoint.port;
 90353         } else {
 90354           endpoint.host = endpoint.hostname;
 90355         }
 90356 
 90357         httpRequest.virtualHostedBucket = b; // needed for signing the request
 90358         service.removeVirtualHostedBucketFromPath(req);
 90359       }
 90360     }
 90361   },
 90362 
 90363 
 90364   removeVirtualHostedBucketFromPath: function removeVirtualHostedBucketFromPath(req) {
 90365     var httpRequest = req.httpRequest;
 90366     var bucket = httpRequest.virtualHostedBucket;
 90367     if (bucket && httpRequest.path) {
 90368       httpRequest.path = httpRequest.path.replace(new RegExp('/' + bucket), '');
 90369       if (httpRequest.path[0] !== '/') {
 90370         httpRequest.path = '/' + httpRequest.path;
 90371       }
 90372     }
 90373   },
 90374 
 90375 
 90376   addExpect100Continue: function addExpect100Continue(req) {
 90377     var len = req.httpRequest.headers['Content-Length'];
 90378     if (AWS.util.isNode() && len >= 1024 * 1024) {
 90379       req.httpRequest.headers['Expect'] = '100-continue';
 90380     }
 90381   },
 90382 
 90383 
 90384   addContentType: function addContentType(req) {
 90385     var httpRequest = req.httpRequest;
 90386     if (httpRequest.method === 'GET' || httpRequest.method === 'HEAD') {
 90387       delete httpRequest.headers['Content-Type'];
 90388       return;
 90389     }
 90390 
 90391     if (!httpRequest.headers['Content-Type']) { // always have a Content-Type
 90392       httpRequest.headers['Content-Type'] = 'application/octet-stream';
 90393     }
 90394 
 90395     var contentType = httpRequest.headers['Content-Type'];
 90396     if (AWS.util.isBrowser()) {
 90397       if (typeof httpRequest.body === 'string' && !contentType.match(/;\s*charset=/)) {
 90398         var charset = '; charset=UTF-8';
 90399         httpRequest.headers['Content-Type'] += charset;
 90400       } else {
 90401         var replaceFn = function(_, prefix, charsetName) {
 90402           return prefix + charsetName.toUpperCase();
 90403         };
 90404 
 90405         httpRequest.headers['Content-Type'] =
 90406           contentType.replace(/(;\s*charset=)(.+)$/, replaceFn);
 90407       }
 90408     }
 90409   },
 90410 
 90411 
 90412   computableChecksumOperations: {
 90413     putBucketCors: true,
 90414     putBucketLifecycle: true,
 90415     putBucketLifecycleConfiguration: true,
 90416     putBucketTagging: true,
 90417     deleteObjects: true,
 90418     putBucketReplication: true
 90419   },
 90420 
 90421 
 90422   willComputeChecksums: function willComputeChecksums(req) {
 90423     if (this.computableChecksumOperations[req.operation]) return true;
 90424     if (!this.config.computeChecksums) return false;
 90425 
 90426     if (!AWS.util.Buffer.isBuffer(req.httpRequest.body) &&
 90427         typeof req.httpRequest.body !== 'string') {
 90428       return false;
 90429     }
 90430 
 90431     var rules = req.service.api.operations[req.operation].input.members;
 90432 
 90433     if (req.service.shouldDisableBodySigning(req) && !Object.prototype.hasOwnProperty.call(req.httpRequest.headers, 'presigned-expires')) {
 90434       if (rules.ContentMD5 && !req.params.ContentMD5) {
 90435         return true;
 90436       }
 90437     }
 90438 
 90439     if (req.service.getSignerClass(req) === AWS.Signers.V4) {
 90440       if (rules.ContentMD5 && !rules.ContentMD5.required) return false;
 90441     }
 90442 
 90443     if (rules.ContentMD5 && !req.params.ContentMD5) return true;
 90444   },
 90445 
 90446 
 90447   computeContentMd5: function computeContentMd5(req) {
 90448     if (req.service.willComputeChecksums(req)) {
 90449       var md5 = AWS.util.crypto.md5(req.httpRequest.body, 'base64');
 90450       req.httpRequest.headers['Content-MD5'] = md5;
 90451     }
 90452   },
 90453 
 90454 
 90455   computeSseCustomerKeyMd5: function computeSseCustomerKeyMd5(req) {
 90456     var keys = {
 90457       SSECustomerKey: 'x-amz-server-side-encryption-customer-key-MD5',
 90458       CopySourceSSECustomerKey: 'x-amz-copy-source-server-side-encryption-customer-key-MD5'
 90459     };
 90460     AWS.util.each(keys, function(key, header) {
 90461       if (req.params[key]) {
 90462         var value = AWS.util.crypto.md5(req.params[key], 'base64');
 90463         req.httpRequest.headers[header] = value;
 90464       }
 90465     });
 90466   },
 90467 
 90468 
 90469   pathStyleBucketName: function pathStyleBucketName(bucketName) {
 90470     if (this.config.s3ForcePathStyle) return true;
 90471     if (this.config.s3BucketEndpoint) return false;
 90472 
 90473     if (this.dnsCompatibleBucketName(bucketName)) {
 90474       return (this.config.sslEnabled && bucketName.match(/\./)) ? true : false;
 90475     } else {
 90476       return true; // not dns compatible names must always use path style
 90477     }
 90478   },
 90479 
 90480 
 90481   dnsCompatibleBucketName: function dnsCompatibleBucketName(bucketName) {
 90482     var b = bucketName;
 90483     var domain = new RegExp(/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/);
 90484     var ipAddress = new RegExp(/(\d+\.){3}\d+/);
 90485     var dots = new RegExp(/\.\./);
 90486     return (b.match(domain) && !b.match(ipAddress) && !b.match(dots)) ? true : false;
 90487   },
 90488 
 90489 
 90490   successfulResponse: function successfulResponse(resp) {
 90491     var req = resp.request;
 90492     var httpResponse = resp.httpResponse;
 90493     if (operationsWith200StatusCodeError[req.operation] &&
 90494         httpResponse.body.toString().match('<Error>')) {
 90495       return false;
 90496     } else {
 90497       return httpResponse.statusCode < 300;
 90498     }
 90499   },
 90500 
 90501 
 90502   retryableError: function retryableError(error, request) {
 90503     if (operationsWith200StatusCodeError[request.operation] &&
 90504         error.statusCode === 200) {
 90505       return true;
 90506     } else if (request._requestRegionForBucket &&
 90507         request.service.bucketRegionCache[request._requestRegionForBucket]) {
 90508       return false;
 90509     } else if (error && error.code === 'RequestTimeout') {
 90510       return true;
 90511     } else if (error &&
 90512         regionRedirectErrorCodes.indexOf(error.code) != -1 &&
 90513         error.region && error.region != request.httpRequest.region) {
 90514       request.httpRequest.region = error.region;
 90515       if (error.statusCode === 301) {
 90516         request.service.updateReqBucketRegion(request);
 90517       }
 90518       return true;
 90519     } else {
 90520       var _super = AWS.Service.prototype.retryableError;
 90521       return _super.call(this, error, request);
 90522     }
 90523   },
 90524 
 90525 
 90526   updateReqBucketRegion: function updateReqBucketRegion(request, region) {
 90527     var httpRequest = request.httpRequest;
 90528     if (typeof region === 'string' && region.length) {
 90529       httpRequest.region = region;
 90530     }
 90531     if (!httpRequest.endpoint.host.match(/s3(?!-accelerate).*\.amazonaws\.com$/)) {
 90532       return;
 90533     }
 90534     var service = request.service;
 90535     var s3Config = service.config;
 90536     var s3BucketEndpoint = s3Config.s3BucketEndpoint;
 90537     if (s3BucketEndpoint) {
 90538       delete s3Config.s3BucketEndpoint;
 90539     }
 90540     var newConfig = AWS.util.copy(s3Config);
 90541     delete newConfig.endpoint;
 90542     newConfig.region = httpRequest.region;
 90543 
 90544     httpRequest.endpoint = (new AWS.S3(newConfig)).endpoint;
 90545     service.populateURI(request);
 90546     s3Config.s3BucketEndpoint = s3BucketEndpoint;
 90547     httpRequest.headers.Host = httpRequest.endpoint.host;
 90548 
 90549     if (request._asm.currentState === 'validate') {
 90550       request.removeListener('build', service.populateURI);
 90551       request.addListener('build', service.removeVirtualHostedBucketFromPath);
 90552     }
 90553   },
 90554 
 90555 
 90556   extractData: function extractData(resp) {
 90557     var req = resp.request;
 90558     if (req.operation === 'getBucketLocation') {
 90559       var match = resp.httpResponse.body.toString().match(/>(.+)<\/Location/);
 90560       delete resp.data['_'];
 90561       if (match) {
 90562         resp.data.LocationConstraint = match[1];
 90563       } else {
 90564         resp.data.LocationConstraint = '';
 90565       }
 90566     }
 90567     var bucket = req.params.Bucket || null;
 90568     if (req.operation === 'deleteBucket' && typeof bucket === 'string' && !resp.error) {
 90569       req.service.clearBucketRegionCache(bucket);
 90570     } else {
 90571       var headers = resp.httpResponse.headers || {};
 90572       var region = headers['x-amz-bucket-region'] || null;
 90573       if (!region && req.operation === 'createBucket' && !resp.error) {
 90574         var createBucketConfiguration = req.params.CreateBucketConfiguration;
 90575         if (!createBucketConfiguration) {
 90576           region = 'us-east-1';
 90577         } else if (createBucketConfiguration.LocationConstraint === 'EU') {
 90578           region = 'eu-west-1';
 90579         } else {
 90580           region = createBucketConfiguration.LocationConstraint;
 90581         }
 90582       }
 90583       if (region) {
 90584           if (bucket && region !== req.service.bucketRegionCache[bucket]) {
 90585             req.service.bucketRegionCache[bucket] = region;
 90586           }
 90587       }
 90588     }
 90589     req.service.extractRequestIds(resp);
 90590   },
 90591 
 90592 
 90593   extractError: function extractError(resp) {
 90594     var codes = {
 90595       304: 'NotModified',
 90596       403: 'Forbidden',
 90597       400: 'BadRequest',
 90598       404: 'NotFound'
 90599     };
 90600 
 90601     var req = resp.request;
 90602     var code = resp.httpResponse.statusCode;
 90603     var body = resp.httpResponse.body || '';
 90604 
 90605     var headers = resp.httpResponse.headers || {};
 90606     var region = headers['x-amz-bucket-region'] || null;
 90607     var bucket = req.params.Bucket || null;
 90608     var bucketRegionCache = req.service.bucketRegionCache;
 90609     if (region && bucket && region !== bucketRegionCache[bucket]) {
 90610       bucketRegionCache[bucket] = region;
 90611     }
 90612 
 90613     var cachedRegion;
 90614     if (codes[code] && body.length === 0) {
 90615       if (bucket && !region) {
 90616         cachedRegion = bucketRegionCache[bucket] || null;
 90617         if (cachedRegion !== req.httpRequest.region) {
 90618           region = cachedRegion;
 90619         }
 90620       }
 90621       resp.error = AWS.util.error(new Error(), {
 90622         code: codes[code],
 90623         message: null,
 90624         region: region
 90625       });
 90626     } else {
 90627       var data = new AWS.XML.Parser().parse(body.toString());
 90628 
 90629       if (data.Region && !region) {
 90630         region = data.Region;
 90631         if (bucket && region !== bucketRegionCache[bucket]) {
 90632           bucketRegionCache[bucket] = region;
 90633         }
 90634       } else if (bucket && !region && !data.Region) {
 90635         cachedRegion = bucketRegionCache[bucket] || null;
 90636         if (cachedRegion !== req.httpRequest.region) {
 90637           region = cachedRegion;
 90638         }
 90639       }
 90640 
 90641       resp.error = AWS.util.error(new Error(), {
 90642         code: data.Code || code,
 90643         message: data.Message || null,
 90644         region: region
 90645       });
 90646     }
 90647     req.service.extractRequestIds(resp);
 90648   },
 90649 
 90650 
 90651   requestBucketRegion: function requestBucketRegion(resp, done) {
 90652     var error = resp.error;
 90653     var req = resp.request;
 90654     var bucket = req.params.Bucket || null;
 90655 
 90656     if (!error || !bucket || error.region || req.operation === 'listObjects' ||
 90657         (AWS.util.isNode() && req.operation === 'headBucket') ||
 90658         (error.statusCode === 400 && req.operation !== 'headObject') ||
 90659         regionRedirectErrorCodes.indexOf(error.code) === -1) {
 90660       return done();
 90661     }
 90662     var reqOperation = AWS.util.isNode() ? 'headBucket' : 'listObjects';
 90663     var reqParams = {Bucket: bucket};
 90664     if (reqOperation === 'listObjects') reqParams.MaxKeys = 0;
 90665     var regionReq = req.service[reqOperation](reqParams);
 90666     regionReq._requestRegionForBucket = bucket;
 90667     regionReq.send(function() {
 90668       var region = req.service.bucketRegionCache[bucket] || null;
 90669       error.region = region;
 90670       done();
 90671     });
 90672   },
 90673 
 90674 
 90675    reqRegionForNetworkingError: function reqRegionForNetworkingError(resp, done) {
 90676     if (!AWS.util.isBrowser()) {
 90677       return done();
 90678     }
 90679     var error = resp.error;
 90680     var request = resp.request;
 90681     var bucket = request.params.Bucket;
 90682     if (!error || error.code !== 'NetworkingError' || !bucket ||
 90683         request.httpRequest.region === 'us-east-1') {
 90684       return done();
 90685     }
 90686     var service = request.service;
 90687     var bucketRegionCache = service.bucketRegionCache;
 90688     var cachedRegion = bucketRegionCache[bucket] || null;
 90689 
 90690     if (cachedRegion && cachedRegion !== request.httpRequest.region) {
 90691       service.updateReqBucketRegion(request, cachedRegion);
 90692       done();
 90693     } else if (!service.dnsCompatibleBucketName(bucket)) {
 90694       service.updateReqBucketRegion(request, 'us-east-1');
 90695       if (bucketRegionCache[bucket] !== 'us-east-1') {
 90696         bucketRegionCache[bucket] = 'us-east-1';
 90697       }
 90698       done();
 90699     } else if (request.httpRequest.virtualHostedBucket) {
 90700       var getRegionReq = service.listObjects({Bucket: bucket, MaxKeys: 0});
 90701       service.updateReqBucketRegion(getRegionReq, 'us-east-1');
 90702       getRegionReq._requestRegionForBucket = bucket;
 90703 
 90704       getRegionReq.send(function() {
 90705         var region = service.bucketRegionCache[bucket] || null;
 90706         if (region && region !== request.httpRequest.region) {
 90707           service.updateReqBucketRegion(request, region);
 90708         }
 90709         done();
 90710       });
 90711     } else {
 90712       done();
 90713     }
 90714    },
 90715 
 90716 
 90717    bucketRegionCache: {},
 90718 
 90719 
 90720    clearBucketRegionCache: function(buckets) {
 90721     var bucketRegionCache = this.bucketRegionCache;
 90722     if (!buckets) {
 90723       buckets = Object.keys(bucketRegionCache);
 90724     } else if (typeof buckets === 'string') {
 90725       buckets = [buckets];
 90726     }
 90727     for (var i = 0; i < buckets.length; i++) {
 90728       delete bucketRegionCache[buckets[i]];
 90729     }
 90730     return bucketRegionCache;
 90731    },
 90732 
 90733 
 90734   correctBucketRegionFromCache: function correctBucketRegionFromCache(req) {
 90735     var bucket = req.params.Bucket || null;
 90736     if (bucket) {
 90737       var service = req.service;
 90738       var requestRegion = req.httpRequest.region;
 90739       var cachedRegion = service.bucketRegionCache[bucket];
 90740       if (cachedRegion && cachedRegion !== requestRegion) {
 90741         service.updateReqBucketRegion(req, cachedRegion);
 90742       }
 90743     }
 90744   },
 90745 
 90746 
 90747   extractRequestIds: function extractRequestIds(resp) {
 90748     var extendedRequestId = resp.httpResponse.headers ? resp.httpResponse.headers['x-amz-id-2'] : null;
 90749     var cfId = resp.httpResponse.headers ? resp.httpResponse.headers['x-amz-cf-id'] : null;
 90750     resp.extendedRequestId = extendedRequestId;
 90751     resp.cfId = cfId;
 90752 
 90753     if (resp.error) {
 90754       resp.error.requestId = resp.requestId || null;
 90755       resp.error.extendedRequestId = extendedRequestId;
 90756       resp.error.cfId = cfId;
 90757     }
 90758   },
 90759 
 90760 
 90761   getSignedUrl: function getSignedUrl(operation, params, callback) {
 90762     params = AWS.util.copy(params || {});
 90763     var expires = params.Expires || 900;
 90764     delete params.Expires; // we can't validate this
 90765     var request = this.makeRequest(operation, params);
 90766     return request.presign(expires, callback);
 90767   },
 90768 
 90769 
 90770   prepareSignedUrl: function prepareSignedUrl(request) {
 90771     request.addListener('validate', request.service.noPresignedContentLength);
 90772     request.removeListener('build', request.service.addContentType);
 90773     if (!request.params.Body) {
 90774       request.removeListener('build', request.service.computeContentMd5);
 90775     } else {
 90776       request.addListener('afterBuild', AWS.EventListeners.Core.COMPUTE_SHA256);
 90777     }
 90778   },
 90779 
 90780 
 90781   disableBodySigning: function disableBodySigning(request) {
 90782     var headers = request.httpRequest.headers;
 90783     if (!Object.prototype.hasOwnProperty.call(headers, 'presigned-expires')) {
 90784       headers['X-Amz-Content-Sha256'] = 'UNSIGNED-PAYLOAD';
 90785     }
 90786   },
 90787 
 90788 
 90789   noPresignedContentLength: function noPresignedContentLength(request) {
 90790     if (request.params.ContentLength !== undefined) {
 90791       throw AWS.util.error(new Error(), {code: 'UnexpectedParameter',
 90792         message: 'ContentLength is not supported in pre-signed URLs.'});
 90793     }
 90794   },
 90795 
 90796   createBucket: function createBucket(params, callback) {
 90797     if (typeof params === 'function' || !params) {
 90798       callback = callback || params;
 90799       params = {};
 90800     }
 90801     var hostname = this.endpoint.hostname;
 90802     if (hostname !== this.api.globalEndpoint && !params.CreateBucketConfiguration) {
 90803       params.CreateBucketConfiguration = { LocationConstraint: this.config.region };
 90804     }
 90805     return this.makeRequest('createBucket', params, callback);
 90806   },
 90807 
 90808 
 90809   upload: function upload(params, options, callback) {
 90810     if (typeof options === 'function' && callback === undefined) {
 90811       callback = options;
 90812       options = null;
 90813     }
 90814 
 90815     options = options || {};
 90816     options = AWS.util.merge(options || {}, {service: this, params: params});
 90817 
 90818     var uploader = new AWS.S3.ManagedUpload(options);
 90819     if (typeof callback === 'function') uploader.send(callback);
 90820     return uploader;
 90821   }
 90822 });
 90823 
 90824 },{"../core":189,"../s3/managed_upload":224}],236:[function(require,module,exports){
 90825 var AWS = require('../core');
 90826 
 90827 AWS.util.update(AWS.SQS.prototype, {
 90828 
 90829   setupRequestListeners: function setupRequestListeners(request) {
 90830     request.addListener('build', this.buildEndpoint);
 90831 
 90832     if (request.service.config.computeChecksums) {
 90833       if (request.operation === 'sendMessage') {
 90834         request.addListener('extractData', this.verifySendMessageChecksum);
 90835       } else if (request.operation === 'sendMessageBatch') {
 90836         request.addListener('extractData', this.verifySendMessageBatchChecksum);
 90837       } else if (request.operation === 'receiveMessage') {
 90838         request.addListener('extractData', this.verifyReceiveMessageChecksum);
 90839       }
 90840     }
 90841   },
 90842 
 90843 
 90844   verifySendMessageChecksum: function verifySendMessageChecksum(response) {
 90845     if (!response.data) return;
 90846 
 90847     var md5 = response.data.MD5OfMessageBody;
 90848     var body = this.params.MessageBody;
 90849     var calculatedMd5 = this.service.calculateChecksum(body);
 90850     if (calculatedMd5 !== md5) {
 90851       var msg = 'Got "' + response.data.MD5OfMessageBody +
 90852         '", expecting "' + calculatedMd5 + '".';
 90853       this.service.throwInvalidChecksumError(response,
 90854         [response.data.MessageId], msg);
 90855     }
 90856   },
 90857 
 90858 
 90859   verifySendMessageBatchChecksum: function verifySendMessageBatchChecksum(response) {
 90860     if (!response.data) return;
 90861 
 90862     var service = this.service;
 90863     var entries = {};
 90864     var errors = [];
 90865     var messageIds = [];
 90866     AWS.util.arrayEach(response.data.Successful, function (entry) {
 90867       entries[entry.Id] = entry;
 90868     });
 90869     AWS.util.arrayEach(this.params.Entries, function (entry) {
 90870       if (entries[entry.Id]) {
 90871         var md5 = entries[entry.Id].MD5OfMessageBody;
 90872         var body = entry.MessageBody;
 90873         if (!service.isChecksumValid(md5, body)) {
 90874           errors.push(entry.Id);
 90875           messageIds.push(entries[entry.Id].MessageId);
 90876         }
 90877       }
 90878     });
 90879 
 90880     if (errors.length > 0) {
 90881       service.throwInvalidChecksumError(response, messageIds,
 90882         'Invalid messages: ' + errors.join(', '));
 90883     }
 90884   },
 90885 
 90886 
 90887   verifyReceiveMessageChecksum: function verifyReceiveMessageChecksum(response) {
 90888     if (!response.data) return;
 90889 
 90890     var service = this.service;
 90891     var messageIds = [];
 90892     AWS.util.arrayEach(response.data.Messages, function(message) {
 90893       var md5 = message.MD5OfBody;
 90894       var body = message.Body;
 90895       if (!service.isChecksumValid(md5, body)) {
 90896         messageIds.push(message.MessageId);
 90897       }
 90898     });
 90899 
 90900     if (messageIds.length > 0) {
 90901       service.throwInvalidChecksumError(response, messageIds,
 90902         'Invalid messages: ' + messageIds.join(', '));
 90903     }
 90904   },
 90905 
 90906 
 90907   throwInvalidChecksumError: function throwInvalidChecksumError(response, ids, message) {
 90908     response.error = AWS.util.error(new Error(), {
 90909       retryable: true,
 90910       code: 'InvalidChecksum',
 90911       messageIds: ids,
 90912       message: response.request.operation +
 90913                ' returned an invalid MD5 response. ' + message
 90914     });
 90915   },
 90916 
 90917 
 90918   isChecksumValid: function isChecksumValid(checksum, data) {
 90919     return this.calculateChecksum(data) === checksum;
 90920   },
 90921 
 90922 
 90923   calculateChecksum: function calculateChecksum(data) {
 90924     return AWS.util.crypto.md5(data, 'hex');
 90925   },
 90926 
 90927 
 90928   buildEndpoint: function buildEndpoint(request) {
 90929     var url = request.httpRequest.params.QueueUrl;
 90930     if (url) {
 90931       request.httpRequest.endpoint = new AWS.Endpoint(url);
 90932 
 90933       var matches = request.httpRequest.endpoint.host.match(/^sqs\.(.+?)\./);
 90934       if (matches) request.httpRequest.region = matches[1];
 90935     }
 90936   }
 90937 });
 90938 
 90939 },{"../core":189}],237:[function(require,module,exports){
 90940 var AWS = require('../core');
 90941 
 90942 AWS.util.update(AWS.STS.prototype, {
 90943 
 90944   credentialsFrom: function credentialsFrom(data, credentials) {
 90945     if (!data) return null;
 90946     if (!credentials) credentials = new AWS.TemporaryCredentials();
 90947     credentials.expired = false;
 90948     credentials.accessKeyId = data.Credentials.AccessKeyId;
 90949     credentials.secretAccessKey = data.Credentials.SecretAccessKey;
 90950     credentials.sessionToken = data.Credentials.SessionToken;
 90951     credentials.expireTime = data.Credentials.Expiration;
 90952     return credentials;
 90953   },
 90954 
 90955   assumeRoleWithWebIdentity: function assumeRoleWithWebIdentity(params, callback) {
 90956     return this.makeUnauthenticatedRequest('assumeRoleWithWebIdentity', params, callback);
 90957   },
 90958 
 90959   assumeRoleWithSAML: function assumeRoleWithSAML(params, callback) {
 90960     return this.makeUnauthenticatedRequest('assumeRoleWithSAML', params, callback);
 90961   }
 90962 });
 90963 
 90964 },{"../core":189}],238:[function(require,module,exports){
 90965 var AWS = require('../core');
 90966 var inherit = AWS.util.inherit;
 90967 
 90968 
 90969 var expiresHeader = 'presigned-expires';
 90970 
 90971 
 90972 function signedUrlBuilder(request) {
 90973   var expires = request.httpRequest.headers[expiresHeader];
 90974   var signerClass = request.service.getSignerClass(request);
 90975 
 90976   delete request.httpRequest.headers['User-Agent'];
 90977   delete request.httpRequest.headers['X-Amz-User-Agent'];
 90978 
 90979   if (signerClass === AWS.Signers.V4) {
 90980     if (expires > 604800) { // one week expiry is invalid
 90981       var message = 'Presigning does not support expiry time greater ' +
 90982                     'than a week with SigV4 signing.';
 90983       throw AWS.util.error(new Error(), {
 90984         code: 'InvalidExpiryTime', message: message, retryable: false
 90985       });
 90986     }
 90987     request.httpRequest.headers[expiresHeader] = expires;
 90988   } else if (signerClass === AWS.Signers.S3) {
 90989     request.httpRequest.headers[expiresHeader] = parseInt(
 90990       AWS.util.date.unixTimestamp() + expires, 10).toString();
 90991   } else {
 90992     throw AWS.util.error(new Error(), {
 90993       message: 'Presigning only supports S3 or SigV4 signing.',
 90994       code: 'UnsupportedSigner', retryable: false
 90995     });
 90996   }
 90997 }
 90998 
 90999 
 91000 function signedUrlSigner(request) {
 91001   var endpoint = request.httpRequest.endpoint;
 91002   var parsedUrl = AWS.util.urlParse(request.httpRequest.path);
 91003   var queryParams = {};
 91004 
 91005   if (parsedUrl.search) {
 91006     queryParams = AWS.util.queryStringParse(parsedUrl.search.substr(1));
 91007   }
 91008 
 91009   AWS.util.each(request.httpRequest.headers, function (key, value) {
 91010     if (key === expiresHeader) key = 'Expires';
 91011     if (key.indexOf('x-amz-meta-') === 0) {
 91012       delete queryParams[key];
 91013       key = key.toLowerCase();
 91014     }
 91015     queryParams[key] = value;
 91016   });
 91017   delete request.httpRequest.headers[expiresHeader];
 91018 
 91019   var auth = queryParams['Authorization'].split(' ');
 91020   if (auth[0] === 'AWS') {
 91021     auth = auth[1].split(':');
 91022     queryParams['AWSAccessKeyId'] = auth[0];
 91023     queryParams['Signature'] = auth[1];
 91024   } else if (auth[0] === 'AWS4-HMAC-SHA256') { // SigV4 signing
 91025     auth.shift();
 91026     var rest = auth.join(' ');
 91027     var signature = rest.match(/Signature=(.*?)(?:,|\s|\r?\n|$)/)[1];
 91028     queryParams['X-Amz-Signature'] = signature;
 91029     delete queryParams['Expires'];
 91030   }
 91031   delete queryParams['Authorization'];
 91032   delete queryParams['Host'];
 91033 
 91034   endpoint.pathname = parsedUrl.pathname;
 91035   endpoint.search = AWS.util.queryParamsToString(queryParams);
 91036 }
 91037 
 91038 
 91039 AWS.Signers.Presign = inherit({
 91040 
 91041   sign: function sign(request, expireTime, callback) {
 91042     request.httpRequest.headers[expiresHeader] = expireTime || 3600;
 91043     request.on('build', signedUrlBuilder);
 91044     request.on('sign', signedUrlSigner);
 91045     request.removeListener('afterBuild',
 91046       AWS.EventListeners.Core.SET_CONTENT_LENGTH);
 91047     request.removeListener('afterBuild',
 91048       AWS.EventListeners.Core.COMPUTE_SHA256);
 91049 
 91050     request.emit('beforePresign', [request]);
 91051 
 91052     if (callback) {
 91053       request.build(function() {
 91054         if (this.response.error) callback(this.response.error);
 91055         else {
 91056           callback(null, AWS.util.urlFormat(request.httpRequest.endpoint));
 91057         }
 91058       });
 91059     } else {
 91060       request.build();
 91061       if (request.response.error) throw request.response.error;
 91062       return AWS.util.urlFormat(request.httpRequest.endpoint);
 91063     }
 91064   }
 91065 });
 91066 
 91067 module.exports = AWS.Signers.Presign;
 91068 
 91069 },{"../core":189}],239:[function(require,module,exports){
 91070 var AWS = require('../core');
 91071 var inherit = AWS.util.inherit;
 91072 
 91073 
 91074 AWS.Signers.RequestSigner = inherit({
 91075   constructor: function RequestSigner(request) {
 91076     this.request = request;
 91077   },
 91078 
 91079   setServiceClientId: function setServiceClientId(id) {
 91080     this.serviceClientId = id;
 91081   },
 91082 
 91083   getServiceClientId: function getServiceClientId() {
 91084     return this.serviceClientId;
 91085   }
 91086 });
 91087 
 91088 AWS.Signers.RequestSigner.getVersion = function getVersion(version) {
 91089   switch (version) {
 91090     case 'v2': return AWS.Signers.V2;
 91091     case 'v3': return AWS.Signers.V3;
 91092     case 'v4': return AWS.Signers.V4;
 91093     case 's3': return AWS.Signers.S3;
 91094     case 'v3https': return AWS.Signers.V3Https;
 91095   }
 91096   throw new Error('Unknown signing version ' + version);
 91097 };
 91098 
 91099 require('./v2');
 91100 require('./v3');
 91101 require('./v3https');
 91102 require('./v4');
 91103 require('./s3');
 91104 require('./presign');
 91105 
 91106 },{"../core":189,"./presign":238,"./s3":240,"./v2":241,"./v3":242,"./v3https":243,"./v4":244}],240:[function(require,module,exports){
 91107 var AWS = require('../core');
 91108 var inherit = AWS.util.inherit;
 91109 
 91110 
 91111 AWS.Signers.S3 = inherit(AWS.Signers.RequestSigner, {
 91112 
 91113   subResources: {
 91114     'acl': 1,
 91115     'accelerate': 1,
 91116     'cors': 1,
 91117     'lifecycle': 1,
 91118     'delete': 1,
 91119     'location': 1,
 91120     'logging': 1,
 91121     'notification': 1,
 91122     'partNumber': 1,
 91123     'policy': 1,
 91124     'requestPayment': 1,
 91125     'replication': 1,
 91126     'restore': 1,
 91127     'tagging': 1,
 91128     'torrent': 1,
 91129     'uploadId': 1,
 91130     'uploads': 1,
 91131     'versionId': 1,
 91132     'versioning': 1,
 91133     'versions': 1,
 91134     'website': 1
 91135   },
 91136 
 91137   responseHeaders: {
 91138     'response-content-type': 1,
 91139     'response-content-language': 1,
 91140     'response-expires': 1,
 91141     'response-cache-control': 1,
 91142     'response-content-disposition': 1,
 91143     'response-content-encoding': 1
 91144   },
 91145 
 91146   addAuthorization: function addAuthorization(credentials, date) {
 91147     if (!this.request.headers['presigned-expires']) {
 91148       this.request.headers['X-Amz-Date'] = AWS.util.date.rfc822(date);
 91149     }
 91150 
 91151     if (credentials.sessionToken) {
 91152       this.request.headers['x-amz-security-token'] = credentials.sessionToken;
 91153     }
 91154 
 91155     var signature = this.sign(credentials.secretAccessKey, this.stringToSign());
 91156     var auth = 'AWS ' + credentials.accessKeyId + ':' + signature;
 91157 
 91158     this.request.headers['Authorization'] = auth;
 91159   },
 91160 
 91161   stringToSign: function stringToSign() {
 91162     var r = this.request;
 91163 
 91164     var parts = [];
 91165     parts.push(r.method);
 91166     parts.push(r.headers['Content-MD5'] || '');
 91167     parts.push(r.headers['Content-Type'] || '');
 91168 
 91169     parts.push(r.headers['presigned-expires'] || '');
 91170 
 91171     var headers = this.canonicalizedAmzHeaders();
 91172     if (headers) parts.push(headers);
 91173     parts.push(this.canonicalizedResource());
 91174 
 91175     return parts.join('\n');
 91176 
 91177   },
 91178 
 91179   canonicalizedAmzHeaders: function canonicalizedAmzHeaders() {
 91180 
 91181     var amzHeaders = [];
 91182 
 91183     AWS.util.each(this.request.headers, function (name) {
 91184       if (name.match(/^x-amz-/i))
 91185         amzHeaders.push(name);
 91186     });
 91187 
 91188     amzHeaders.sort(function (a, b) {
 91189       return a.toLowerCase() < b.toLowerCase() ? -1 : 1;
 91190     });
 91191 
 91192     var parts = [];
 91193     AWS.util.arrayEach.call(this, amzHeaders, function (name) {
 91194       parts.push(name.toLowerCase() + ':' + String(this.request.headers[name]));
 91195     });
 91196 
 91197     return parts.join('\n');
 91198 
 91199   },
 91200 
 91201   canonicalizedResource: function canonicalizedResource() {
 91202 
 91203     var r = this.request;
 91204 
 91205     var parts = r.path.split('?');
 91206     var path = parts[0];
 91207     var querystring = parts[1];
 91208 
 91209     var resource = '';
 91210 
 91211     if (r.virtualHostedBucket)
 91212       resource += '/' + r.virtualHostedBucket;
 91213 
 91214     resource += path;
 91215 
 91216     if (querystring) {
 91217 
 91218       var resources = [];
 91219 
 91220       AWS.util.arrayEach.call(this, querystring.split('&'), function (param) {
 91221         var name = param.split('=')[0];
 91222         var value = param.split('=')[1];
 91223         if (this.subResources[name] || this.responseHeaders[name]) {
 91224           var subresource = { name: name };
 91225           if (value !== undefined) {
 91226             if (this.subResources[name]) {
 91227               subresource.value = value;
 91228             } else {
 91229               subresource.value = decodeURIComponent(value);
 91230             }
 91231           }
 91232           resources.push(subresource);
 91233         }
 91234       });
 91235 
 91236       resources.sort(function (a, b) { return a.name < b.name ? -1 : 1; });
 91237 
 91238       if (resources.length) {
 91239 
 91240         querystring = [];
 91241         AWS.util.arrayEach(resources, function (res) {
 91242           if (res.value === undefined) {
 91243             querystring.push(res.name);
 91244           } else {
 91245             querystring.push(res.name + '=' + res.value);
 91246           }
 91247         });
 91248 
 91249         resource += '?' + querystring.join('&');
 91250       }
 91251 
 91252     }
 91253 
 91254     return resource;
 91255 
 91256   },
 91257 
 91258   sign: function sign(secret, string) {
 91259     return AWS.util.crypto.hmac(secret, string, 'base64', 'sha1');
 91260   }
 91261 });
 91262 
 91263 module.exports = AWS.Signers.S3;
 91264 
 91265 },{"../core":189}],241:[function(require,module,exports){
 91266 var AWS = require('../core');
 91267 var inherit = AWS.util.inherit;
 91268 
 91269 
 91270 AWS.Signers.V2 = inherit(AWS.Signers.RequestSigner, {
 91271   addAuthorization: function addAuthorization(credentials, date) {
 91272 
 91273     if (!date) date = AWS.util.date.getDate();
 91274 
 91275     var r = this.request;
 91276 
 91277     r.params.Timestamp = AWS.util.date.iso8601(date);
 91278     r.params.SignatureVersion = '2';
 91279     r.params.SignatureMethod = 'HmacSHA256';
 91280     r.params.AWSAccessKeyId = credentials.accessKeyId;
 91281 
 91282     if (credentials.sessionToken) {
 91283       r.params.SecurityToken = credentials.sessionToken;
 91284     }
 91285 
 91286     delete r.params.Signature; // delete old Signature for re-signing
 91287     r.params.Signature = this.signature(credentials);
 91288 
 91289     r.body = AWS.util.queryParamsToString(r.params);
 91290     r.headers['Content-Length'] = r.body.length;
 91291   },
 91292 
 91293   signature: function signature(credentials) {
 91294     return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64');
 91295   },
 91296 
 91297   stringToSign: function stringToSign() {
 91298     var parts = [];
 91299     parts.push(this.request.method);
 91300     parts.push(this.request.endpoint.host.toLowerCase());
 91301     parts.push(this.request.pathname());
 91302     parts.push(AWS.util.queryParamsToString(this.request.params));
 91303     return parts.join('\n');
 91304   }
 91305 
 91306 });
 91307 
 91308 module.exports = AWS.Signers.V2;
 91309 
 91310 },{"../core":189}],242:[function(require,module,exports){
 91311 var AWS = require('../core');
 91312 var inherit = AWS.util.inherit;
 91313 
 91314 
 91315 AWS.Signers.V3 = inherit(AWS.Signers.RequestSigner, {
 91316   addAuthorization: function addAuthorization(credentials, date) {
 91317 
 91318     var datetime = AWS.util.date.rfc822(date);
 91319 
 91320     this.request.headers['X-Amz-Date'] = datetime;
 91321 
 91322     if (credentials.sessionToken) {
 91323       this.request.headers['x-amz-security-token'] = credentials.sessionToken;
 91324     }
 91325 
 91326     this.request.headers['X-Amzn-Authorization'] =
 91327       this.authorization(credentials, datetime);
 91328 
 91329   },
 91330 
 91331   authorization: function authorization(credentials) {
 91332     return 'AWS3 ' +
 91333       'AWSAccessKeyId=' + credentials.accessKeyId + ',' +
 91334       'Algorithm=HmacSHA256,' +
 91335       'SignedHeaders=' + this.signedHeaders() + ',' +
 91336       'Signature=' + this.signature(credentials);
 91337   },
 91338 
 91339   signedHeaders: function signedHeaders() {
 91340     var headers = [];
 91341     AWS.util.arrayEach(this.headersToSign(), function iterator(h) {
 91342       headers.push(h.toLowerCase());
 91343     });
 91344     return headers.sort().join(';');
 91345   },
 91346 
 91347   canonicalHeaders: function canonicalHeaders() {
 91348     var headers = this.request.headers;
 91349     var parts = [];
 91350     AWS.util.arrayEach(this.headersToSign(), function iterator(h) {
 91351       parts.push(h.toLowerCase().trim() + ':' + String(headers[h]).trim());
 91352     });
 91353     return parts.sort().join('\n') + '\n';
 91354   },
 91355 
 91356   headersToSign: function headersToSign() {
 91357     var headers = [];
 91358     AWS.util.each(this.request.headers, function iterator(k) {
 91359       if (k === 'Host' || k === 'Content-Encoding' || k.match(/^X-Amz/i)) {
 91360         headers.push(k);
 91361       }
 91362     });
 91363     return headers;
 91364   },
 91365 
 91366   signature: function signature(credentials) {
 91367     return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64');
 91368   },
 91369 
 91370   stringToSign: function stringToSign() {
 91371     var parts = [];
 91372     parts.push(this.request.method);
 91373     parts.push('/');
 91374     parts.push('');
 91375     parts.push(this.canonicalHeaders());
 91376     parts.push(this.request.body);
 91377     return AWS.util.crypto.sha256(parts.join('\n'));
 91378   }
 91379 
 91380 });
 91381 
 91382 module.exports = AWS.Signers.V3;
 91383 
 91384 },{"../core":189}],243:[function(require,module,exports){
 91385 var AWS = require('../core');
 91386 var inherit = AWS.util.inherit;
 91387 
 91388 require('./v3');
 91389 
 91390 
 91391 AWS.Signers.V3Https = inherit(AWS.Signers.V3, {
 91392   authorization: function authorization(credentials) {
 91393     return 'AWS3-HTTPS ' +
 91394       'AWSAccessKeyId=' + credentials.accessKeyId + ',' +
 91395       'Algorithm=HmacSHA256,' +
 91396       'Signature=' + this.signature(credentials);
 91397   },
 91398 
 91399   stringToSign: function stringToSign() {
 91400     return this.request.headers['X-Amz-Date'];
 91401   }
 91402 });
 91403 
 91404 module.exports = AWS.Signers.V3Https;
 91405 
 91406 },{"../core":189,"./v3":242}],244:[function(require,module,exports){
 91407 var AWS = require('../core');
 91408 var inherit = AWS.util.inherit;
 91409 
 91410 
 91411 var cachedSecret = {};
 91412 
 91413 
 91414 var cacheQueue = [];
 91415 
 91416 
 91417 var maxCacheEntries = 50;
 91418 
 91419 
 91420 var expiresHeader = 'presigned-expires';
 91421 
 91422 
 91423 AWS.Signers.V4 = inherit(AWS.Signers.RequestSigner, {
 91424   constructor: function V4(request, serviceName, signatureCache) {
 91425     AWS.Signers.RequestSigner.call(this, request);
 91426     this.serviceName = serviceName;
 91427     this.signatureCache = signatureCache;
 91428   },
 91429 
 91430   algorithm: 'AWS4-HMAC-SHA256',
 91431 
 91432   addAuthorization: function addAuthorization(credentials, date) {
 91433     var datetime = AWS.util.date.iso8601(date).replace(/[:\-]|\.\d{3}/g, '');
 91434 
 91435     if (this.isPresigned()) {
 91436       this.updateForPresigned(credentials, datetime);
 91437     } else {
 91438       this.addHeaders(credentials, datetime);
 91439     }
 91440 
 91441     this.request.headers['Authorization'] =
 91442       this.authorization(credentials, datetime);
 91443   },
 91444 
 91445   addHeaders: function addHeaders(credentials, datetime) {
 91446     this.request.headers['X-Amz-Date'] = datetime;
 91447     if (credentials.sessionToken) {
 91448       this.request.headers['x-amz-security-token'] = credentials.sessionToken;
 91449     }
 91450   },
 91451 
 91452   updateForPresigned: function updateForPresigned(credentials, datetime) {
 91453     var credString = this.credentialString(datetime);
 91454     var qs = {
 91455       'X-Amz-Date': datetime,
 91456       'X-Amz-Algorithm': this.algorithm,
 91457       'X-Amz-Credential': credentials.accessKeyId + '/' + credString,
 91458       'X-Amz-Expires': this.request.headers[expiresHeader],
 91459       'X-Amz-SignedHeaders': this.signedHeaders()
 91460     };
 91461 
 91462     if (credentials.sessionToken) {
 91463       qs['X-Amz-Security-Token'] = credentials.sessionToken;
 91464     }
 91465 
 91466     if (this.request.headers['Content-Type']) {
 91467       qs['Content-Type'] = this.request.headers['Content-Type'];
 91468     }
 91469     if (this.request.headers['Content-MD5']) {
 91470       qs['Content-MD5'] = this.request.headers['Content-MD5'];
 91471     }
 91472     if (this.request.headers['Cache-Control']) {
 91473       qs['Cache-Control'] = this.request.headers['Cache-Control'];
 91474     }
 91475 
 91476     AWS.util.each.call(this, this.request.headers, function(key, value) {
 91477       if (key === expiresHeader) return;
 91478       if (this.isSignableHeader(key)) {
 91479         var lowerKey = key.toLowerCase();
 91480         if (lowerKey.indexOf('x-amz-meta-') === 0) {
 91481           qs[lowerKey] = value;
 91482         } else if (lowerKey.indexOf('x-amz-') === 0) {
 91483           qs[key] = value;
 91484         }
 91485       }
 91486     });
 91487 
 91488     var sep = this.request.path.indexOf('?') >= 0 ? '&' : '?';
 91489     this.request.path += sep + AWS.util.queryParamsToString(qs);
 91490   },
 91491 
 91492   authorization: function authorization(credentials, datetime) {
 91493     var parts = [];
 91494     var credString = this.credentialString(datetime);
 91495     parts.push(this.algorithm + ' Credential=' +
 91496       credentials.accessKeyId + '/' + credString);
 91497     parts.push('SignedHeaders=' + this.signedHeaders());
 91498     parts.push('Signature=' + this.signature(credentials, datetime));
 91499     return parts.join(', ');
 91500   },
 91501 
 91502   signature: function signature(credentials, datetime) {
 91503     var cache = null;
 91504     var cacheIdentifier = this.serviceName + (this.getServiceClientId() ? '_' + this.getServiceClientId() : '');
 91505     if (this.signatureCache) {
 91506       var cache = cachedSecret[cacheIdentifier];
 91507       if (!cache) {
 91508         cacheQueue.push(cacheIdentifier);
 91509         if (cacheQueue.length > maxCacheEntries) {
 91510           delete cachedSecret[cacheQueue.shift()];
 91511         }
 91512       }
 91513 
 91514     }
 91515     var date = datetime.substr(0, 8);
 91516 
 91517     if (!cache ||
 91518         cache.akid !== credentials.accessKeyId ||
 91519         cache.region !== this.request.region ||
 91520         cache.date !== date) {
 91521 
 91522       var kSecret = credentials.secretAccessKey;
 91523       var kDate = AWS.util.crypto.hmac('AWS4' + kSecret, date, 'buffer');
 91524       var kRegion = AWS.util.crypto.hmac(kDate, this.request.region, 'buffer');
 91525       var kService = AWS.util.crypto.hmac(kRegion, this.serviceName, 'buffer');
 91526       var kCredentials = AWS.util.crypto.hmac(kService, 'aws4_request', 'buffer');
 91527 
 91528       if (!this.signatureCache) {
 91529         return AWS.util.crypto.hmac(kCredentials, this.stringToSign(datetime), 'hex');
 91530       }
 91531 
 91532       cachedSecret[cacheIdentifier] = {
 91533         region: this.request.region, date: date,
 91534         key: kCredentials, akid: credentials.accessKeyId
 91535       };
 91536     }
 91537 
 91538     var key = cachedSecret[cacheIdentifier].key;
 91539     return AWS.util.crypto.hmac(key, this.stringToSign(datetime), 'hex');
 91540   },
 91541 
 91542   stringToSign: function stringToSign(datetime) {
 91543     var parts = [];
 91544     parts.push('AWS4-HMAC-SHA256');
 91545     parts.push(datetime);
 91546     parts.push(this.credentialString(datetime));
 91547     parts.push(this.hexEncodedHash(this.canonicalString()));
 91548     return parts.join('\n');
 91549   },
 91550 
 91551   canonicalString: function canonicalString() {
 91552     var parts = [], pathname = this.request.pathname();
 91553     if (this.serviceName !== 's3') pathname = AWS.util.uriEscapePath(pathname);
 91554 
 91555     parts.push(this.request.method);
 91556     parts.push(pathname);
 91557     parts.push(this.request.search());
 91558     parts.push(this.canonicalHeaders() + '\n');
 91559     parts.push(this.signedHeaders());
 91560     parts.push(this.hexEncodedBodyHash());
 91561     return parts.join('\n');
 91562   },
 91563 
 91564   canonicalHeaders: function canonicalHeaders() {
 91565     var headers = [];
 91566     AWS.util.each.call(this, this.request.headers, function (key, item) {
 91567       headers.push([key, item]);
 91568     });
 91569     headers.sort(function (a, b) {
 91570       return a[0].toLowerCase() < b[0].toLowerCase() ? -1 : 1;
 91571     });
 91572     var parts = [];
 91573     AWS.util.arrayEach.call(this, headers, function (item) {
 91574       var key = item[0].toLowerCase();
 91575       if (this.isSignableHeader(key)) {
 91576         parts.push(key + ':' +
 91577           this.canonicalHeaderValues(item[1].toString()));
 91578       }
 91579     });
 91580     return parts.join('\n');
 91581   },
 91582 
 91583   canonicalHeaderValues: function canonicalHeaderValues(values) {
 91584     return values.replace(/\s+/g, ' ').replace(/^\s+|\s+$/g, '');
 91585   },
 91586 
 91587   signedHeaders: function signedHeaders() {
 91588     var keys = [];
 91589     AWS.util.each.call(this, this.request.headers, function (key) {
 91590       key = key.toLowerCase();
 91591       if (this.isSignableHeader(key)) keys.push(key);
 91592     });
 91593     return keys.sort().join(';');
 91594   },
 91595 
 91596   credentialString: function credentialString(datetime) {
 91597     var parts = [];
 91598     parts.push(datetime.substr(0, 8));
 91599     parts.push(this.request.region);
 91600     parts.push(this.serviceName);
 91601     parts.push('aws4_request');
 91602     return parts.join('/');
 91603   },
 91604 
 91605   hexEncodedHash: function hash(string) {
 91606     return AWS.util.crypto.sha256(string, 'hex');
 91607   },
 91608 
 91609   hexEncodedBodyHash: function hexEncodedBodyHash() {
 91610     if (this.isPresigned() && this.serviceName === 's3' && !this.request.body) {
 91611       return 'UNSIGNED-PAYLOAD';
 91612     } else if (this.request.headers['X-Amz-Content-Sha256']) {
 91613       return this.request.headers['X-Amz-Content-Sha256'];
 91614     } else {
 91615       return this.hexEncodedHash(this.request.body || '');
 91616     }
 91617   },
 91618 
 91619   unsignableHeaders: ['authorization', 'content-type', 'content-length',
 91620                       'user-agent', expiresHeader, 'expect'],
 91621 
 91622   isSignableHeader: function isSignableHeader(key) {
 91623     if (key.toLowerCase().indexOf('x-amz-') === 0) return true;
 91624     return this.unsignableHeaders.indexOf(key) < 0;
 91625   },
 91626 
 91627   isPresigned: function isPresigned() {
 91628     return this.request.headers[expiresHeader] ? true : false;
 91629   }
 91630 
 91631 });
 91632 
 91633 module.exports = AWS.Signers.V4;
 91634 
 91635 },{"../core":189}],245:[function(require,module,exports){
 91636 function AcceptorStateMachine(states, state) {
 91637   this.currentState = state || null;
 91638   this.states = states || {};
 91639 }
 91640 
 91641 AcceptorStateMachine.prototype.runTo = function runTo(finalState, done, bindObject, inputError) {
 91642   if (typeof finalState === 'function') {
 91643     inputError = bindObject; bindObject = done;
 91644     done = finalState; finalState = null;
 91645   }
 91646 
 91647   var self = this;
 91648   var state = self.states[self.currentState];
 91649   state.fn.call(bindObject || self, inputError, function(err) {
 91650     if (err) {
 91651       if (state.fail) self.currentState = state.fail;
 91652       else return done ? done.call(bindObject, err) : null;
 91653     } else {
 91654       if (state.accept) self.currentState = state.accept;
 91655       else return done ? done.call(bindObject) : null;
 91656     }
 91657     if (self.currentState === finalState) {
 91658       return done ? done.call(bindObject, err) : null;
 91659     }
 91660 
 91661     self.runTo(finalState, done, bindObject, err);
 91662   });
 91663 };
 91664 
 91665 AcceptorStateMachine.prototype.addState = function addState(name, acceptState, failState, fn) {
 91666   if (typeof acceptState === 'function') {
 91667     fn = acceptState; acceptState = null; failState = null;
 91668   } else if (typeof failState === 'function') {
 91669     fn = failState; failState = null;
 91670   }
 91671 
 91672   if (!this.currentState) this.currentState = name;
 91673   this.states[name] = { accept: acceptState, fail: failState, fn: fn };
 91674   return this;
 91675 };
 91676 
 91677 module.exports = AcceptorStateMachine;
 91678 
 91679 },{}],246:[function(require,module,exports){
 91680 (function (process){
 91681 
 91682 var AWS;
 91683 
 91684 
 91685 var util = {
 91686   engine: function engine() {
 91687     if (util.isBrowser() && typeof navigator !== 'undefined') {
 91688       return navigator.userAgent;
 91689     } else {
 91690       return process.platform + '/' + process.version;
 91691     }
 91692   },
 91693 
 91694   userAgent: function userAgent() {
 91695     var name = util.isBrowser() ? 'js' : 'nodejs';
 91696     var agent = 'aws-sdk-' + name + '/' + require('./core').VERSION;
 91697     if (name === 'nodejs') agent += ' ' + util.engine();
 91698     return agent;
 91699   },
 91700 
 91701   isBrowser: function isBrowser() { return process && process.browser; },
 91702   isNode: function isNode() { return !util.isBrowser(); },
 91703   uriEscape: function uriEscape(string) {
 91704     var output = encodeURIComponent(string);
 91705     output = output.replace(/[^A-Za-z0-9_.~\-%]+/g, escape);
 91706 
 91707     output = output.replace(/[*]/g, function(ch) {
 91708       return '%' + ch.charCodeAt(0).toString(16).toUpperCase();
 91709     });
 91710 
 91711     return output;
 91712   },
 91713 
 91714   uriEscapePath: function uriEscapePath(string) {
 91715     var parts = [];
 91716     util.arrayEach(string.split('/'), function (part) {
 91717       parts.push(util.uriEscape(part));
 91718     });
 91719     return parts.join('/');
 91720   },
 91721 
 91722   urlParse: function urlParse(url) {
 91723     return util.url.parse(url);
 91724   },
 91725 
 91726   urlFormat: function urlFormat(url) {
 91727     return util.url.format(url);
 91728   },
 91729 
 91730   queryStringParse: function queryStringParse(qs) {
 91731     return util.querystring.parse(qs);
 91732   },
 91733 
 91734   queryParamsToString: function queryParamsToString(params) {
 91735     var items = [];
 91736     var escape = util.uriEscape;
 91737     var sortedKeys = Object.keys(params).sort();
 91738 
 91739     util.arrayEach(sortedKeys, function(name) {
 91740       var value = params[name];
 91741       var ename = escape(name);
 91742       var result = ename + '=';
 91743       if (Array.isArray(value)) {
 91744         var vals = [];
 91745         util.arrayEach(value, function(item) { vals.push(escape(item)); });
 91746         result = ename + '=' + vals.sort().join('&' + ename + '=');
 91747       } else if (value !== undefined && value !== null) {
 91748         result = ename + '=' + escape(value);
 91749       }
 91750       items.push(result);
 91751     });
 91752 
 91753     return items.join('&');
 91754   },
 91755 
 91756   readFileSync: function readFileSync(path) {
 91757     if (util.isBrowser()) return null;
 91758     return require('fs').readFileSync(path, 'utf-8');
 91759   },
 91760 
 91761   base64: {
 91762 
 91763     encode: function encode64(string) {
 91764       return new util.Buffer(string).toString('base64');
 91765     },
 91766 
 91767     decode: function decode64(string) {
 91768       return new util.Buffer(string, 'base64');
 91769     }
 91770 
 91771   },
 91772 
 91773   buffer: {
 91774     toStream: function toStream(buffer) {
 91775       if (!util.Buffer.isBuffer(buffer)) buffer = new util.Buffer(buffer);
 91776 
 91777       var readable = new (util.stream.Readable)();
 91778       var pos = 0;
 91779       readable._read = function(size) {
 91780         if (pos >= buffer.length) return readable.push(null);
 91781 
 91782         var end = pos + size;
 91783         if (end > buffer.length) end = buffer.length;
 91784         readable.push(buffer.slice(pos, end));
 91785         pos = end;
 91786       };
 91787 
 91788       return readable;
 91789     },
 91790 
 91791 
 91792     concat: function(buffers) {
 91793       var length = 0,
 91794           offset = 0,
 91795           buffer = null, i;
 91796 
 91797       for (i = 0; i < buffers.length; i++) {
 91798         length += buffers[i].length;
 91799       }
 91800 
 91801       buffer = new util.Buffer(length);
 91802 
 91803       for (i = 0; i < buffers.length; i++) {
 91804         buffers[i].copy(buffer, offset);
 91805         offset += buffers[i].length;
 91806       }
 91807 
 91808       return buffer;
 91809     }
 91810   },
 91811 
 91812   string: {
 91813     byteLength: function byteLength(string) {
 91814       if (string === null || string === undefined) return 0;
 91815       if (typeof string === 'string') string = new util.Buffer(string);
 91816 
 91817       if (typeof string.byteLength === 'number') {
 91818         return string.byteLength;
 91819       } else if (typeof string.length === 'number') {
 91820         return string.length;
 91821       } else if (typeof string.size === 'number') {
 91822         return string.size;
 91823       } else if (typeof string.path === 'string') {
 91824         return require('fs').lstatSync(string.path).size;
 91825       } else {
 91826         throw util.error(new Error('Cannot determine length of ' + string),
 91827           { object: string });
 91828       }
 91829     },
 91830 
 91831     upperFirst: function upperFirst(string) {
 91832       return string[0].toUpperCase() + string.substr(1);
 91833     },
 91834 
 91835     lowerFirst: function lowerFirst(string) {
 91836       return string[0].toLowerCase() + string.substr(1);
 91837     }
 91838   },
 91839 
 91840   ini: {
 91841     parse: function string(ini) {
 91842       var currentSection, map = {};
 91843       util.arrayEach(ini.split(/\r?\n/), function(line) {
 91844         line = line.split(/(^|\s)[;#]/)[0]; // remove comments
 91845         var section = line.match(/^\s*\[([^\[\]]+)\]\s*$/);
 91846         if (section) {
 91847           currentSection = section[1];
 91848         } else if (currentSection) {
 91849           var item = line.match(/^\s*(.+?)\s*=\s*(.+?)\s*$/);
 91850           if (item) {
 91851             map[currentSection] = map[currentSection] || {};
 91852             map[currentSection][item[1]] = item[2];
 91853           }
 91854         }
 91855       });
 91856 
 91857       return map;
 91858     }
 91859   },
 91860 
 91861   fn: {
 91862     noop: function() {},
 91863 
 91864 
 91865     makeAsync: function makeAsync(fn, expectedArgs) {
 91866       if (expectedArgs && expectedArgs <= fn.length) {
 91867         return fn;
 91868       }
 91869 
 91870       return function() {
 91871         var args = Array.prototype.slice.call(arguments, 0);
 91872         var callback = args.pop();
 91873         var result = fn.apply(null, args);
 91874         callback(result);
 91875       };
 91876     }
 91877   },
 91878 
 91879 
 91880   date: {
 91881 
 91882 
 91883     getDate: function getDate() {
 91884       if (!AWS) AWS = require('./core');
 91885       if (AWS.config.systemClockOffset) { // use offset when non-zero
 91886         return new Date(new Date().getTime() + AWS.config.systemClockOffset);
 91887       } else {
 91888         return new Date();
 91889       }
 91890     },
 91891 
 91892 
 91893     iso8601: function iso8601(date) {
 91894       if (date === undefined) { date = util.date.getDate(); }
 91895       return date.toISOString().replace(/\.\d{3}Z$/, 'Z');
 91896     },
 91897 
 91898 
 91899     rfc822: function rfc822(date) {
 91900       if (date === undefined) { date = util.date.getDate(); }
 91901       return date.toUTCString();
 91902     },
 91903 
 91904 
 91905     unixTimestamp: function unixTimestamp(date) {
 91906       if (date === undefined) { date = util.date.getDate(); }
 91907       return date.getTime() / 1000;
 91908     },
 91909 
 91910 
 91911     from: function format(date) {
 91912       if (typeof date === 'number') {
 91913         return new Date(date * 1000); // unix timestamp
 91914       } else {
 91915         return new Date(date);
 91916       }
 91917     },
 91918 
 91919 
 91920     format: function format(date, formatter) {
 91921       if (!formatter) formatter = 'iso8601';
 91922       return util.date[formatter](util.date.from(date));
 91923     },
 91924 
 91925     parseTimestamp: function parseTimestamp(value) {
 91926       if (typeof value === 'number') { // unix timestamp (number)
 91927         return new Date(value * 1000);
 91928       } else if (value.match(/^\d+$/)) { // unix timestamp
 91929         return new Date(value * 1000);
 91930       } else if (value.match(/^\d{4}/)) { // iso8601
 91931         return new Date(value);
 91932       } else if (value.match(/^\w{3},/)) { // rfc822
 91933         return new Date(value);
 91934       } else {
 91935         throw util.error(
 91936           new Error('unhandled timestamp format: ' + value),
 91937           {code: 'TimestampParserError'});
 91938       }
 91939     }
 91940 
 91941   },
 91942 
 91943   crypto: {
 91944     crc32Table: [
 91945      0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419,
 91946      0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4,
 91947      0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07,
 91948      0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
 91949      0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856,
 91950      0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9,
 91951      0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4,
 91952      0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
 91953      0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3,
 91954      0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A,
 91955      0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599,
 91956      0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
 91957      0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190,
 91958      0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F,
 91959      0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E,
 91960      0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
 91961      0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED,
 91962      0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950,
 91963      0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3,
 91964      0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
 91965      0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A,
 91966      0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5,
 91967      0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010,
 91968      0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
 91969      0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17,
 91970      0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6,
 91971      0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615,
 91972      0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
 91973      0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344,
 91974      0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB,
 91975      0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A,
 91976      0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
 91977      0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1,
 91978      0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C,
 91979      0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF,
 91980      0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
 91981      0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE,
 91982      0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31,
 91983      0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C,
 91984      0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
 91985      0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B,
 91986      0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242,
 91987      0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1,
 91988      0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
 91989      0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278,
 91990      0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7,
 91991      0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66,
 91992      0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
 91993      0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605,
 91994      0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8,
 91995      0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B,
 91996      0x2D02EF8D],
 91997 
 91998     crc32: function crc32(data) {
 91999       var tbl = util.crypto.crc32Table;
 92000       var crc = 0 ^ -1;
 92001 
 92002       if (typeof data === 'string') {
 92003         data = new util.Buffer(data);
 92004       }
 92005 
 92006       for (var i = 0; i < data.length; i++) {
 92007         var code = data.readUInt8(i);
 92008         crc = (crc >>> 8) ^ tbl[(crc ^ code) & 0xFF];
 92009       }
 92010       return (crc ^ -1) >>> 0;
 92011     },
 92012 
 92013     hmac: function hmac(key, string, digest, fn) {
 92014       if (!digest) digest = 'binary';
 92015       if (digest === 'buffer') { digest = undefined; }
 92016       if (!fn) fn = 'sha256';
 92017       if (typeof string === 'string') string = new util.Buffer(string);
 92018       return util.crypto.lib.createHmac(fn, key).update(string).digest(digest);
 92019     },
 92020 
 92021     md5: function md5(data, digest, callback) {
 92022       return util.crypto.hash('md5', data, digest, callback);
 92023     },
 92024 
 92025     sha256: function sha256(data, digest, callback) {
 92026       return util.crypto.hash('sha256', data, digest, callback);
 92027     },
 92028 
 92029     hash: function(algorithm, data, digest, callback) {
 92030       var hash = util.crypto.createHash(algorithm);
 92031       if (!digest) { digest = 'binary'; }
 92032       if (digest === 'buffer') { digest = undefined; }
 92033       if (typeof data === 'string') data = new util.Buffer(data);
 92034       var sliceFn = util.arraySliceFn(data);
 92035       var isBuffer = util.Buffer.isBuffer(data);
 92036       if (util.isBrowser() && typeof ArrayBuffer !== 'undefined' && data && data.buffer instanceof ArrayBuffer) isBuffer = true;
 92037 
 92038       if (callback && typeof data === 'object' &&
 92039           typeof data.on === 'function' && !isBuffer) {
 92040         data.on('data', function(chunk) { hash.update(chunk); });
 92041         data.on('error', function(err) { callback(err); });
 92042         data.on('end', function() { callback(null, hash.digest(digest)); });
 92043       } else if (callback && sliceFn && !isBuffer &&
 92044                  typeof FileReader !== 'undefined') {
 92045         var index = 0, size = 1024 * 512;
 92046         var reader = new FileReader();
 92047         reader.onerror = function() {
 92048           callback(new Error('Failed to read data.'));
 92049         };
 92050         reader.onload = function() {
 92051           var buf = new util.Buffer(new Uint8Array(reader.result));
 92052           hash.update(buf);
 92053           index += buf.length;
 92054           reader._continueReading();
 92055         };
 92056         reader._continueReading = function() {
 92057           if (index >= data.size) {
 92058             callback(null, hash.digest(digest));
 92059             return;
 92060           }
 92061 
 92062           var back = index + size;
 92063           if (back > data.size) back = data.size;
 92064           reader.readAsArrayBuffer(sliceFn.call(data, index, back));
 92065         };
 92066 
 92067         reader._continueReading();
 92068       } else {
 92069         if (util.isBrowser() && typeof data === 'object' && !isBuffer) {
 92070           data = new util.Buffer(new Uint8Array(data));
 92071         }
 92072         var out = hash.update(data).digest(digest);
 92073         if (callback) callback(null, out);
 92074         return out;
 92075       }
 92076     },
 92077 
 92078     toHex: function toHex(data) {
 92079       var out = [];
 92080       for (var i = 0; i < data.length; i++) {
 92081         out.push(('0' + data.charCodeAt(i).toString(16)).substr(-2, 2));
 92082       }
 92083       return out.join('');
 92084     },
 92085 
 92086     createHash: function createHash(algorithm) {
 92087       return util.crypto.lib.createHash(algorithm);
 92088     }
 92089 
 92090   },
 92091 
 92092 
 92093 
 92094 
 92095   abort: {},
 92096 
 92097   each: function each(object, iterFunction) {
 92098     for (var key in object) {
 92099       if (Object.prototype.hasOwnProperty.call(object, key)) {
 92100         var ret = iterFunction.call(this, key, object[key]);
 92101         if (ret === util.abort) break;
 92102       }
 92103     }
 92104   },
 92105 
 92106   arrayEach: function arrayEach(array, iterFunction) {
 92107     for (var idx in array) {
 92108       if (Object.prototype.hasOwnProperty.call(array, idx)) {
 92109         var ret = iterFunction.call(this, array[idx], parseInt(idx, 10));
 92110         if (ret === util.abort) break;
 92111       }
 92112     }
 92113   },
 92114 
 92115   update: function update(obj1, obj2) {
 92116     util.each(obj2, function iterator(key, item) {
 92117       obj1[key] = item;
 92118     });
 92119     return obj1;
 92120   },
 92121 
 92122   merge: function merge(obj1, obj2) {
 92123     return util.update(util.copy(obj1), obj2);
 92124   },
 92125 
 92126   copy: function copy(object) {
 92127     if (object === null || object === undefined) return object;
 92128     var dupe = {};
 92129     for (var key in object) {
 92130       dupe[key] = object[key];
 92131     }
 92132     return dupe;
 92133   },
 92134 
 92135   isEmpty: function isEmpty(obj) {
 92136     for (var prop in obj) {
 92137       if (Object.prototype.hasOwnProperty.call(obj, prop)) {
 92138         return false;
 92139       }
 92140     }
 92141     return true;
 92142   },
 92143 
 92144   arraySliceFn: function arraySliceFn(obj) {
 92145     var fn = obj.slice || obj.webkitSlice || obj.mozSlice;
 92146     return typeof fn === 'function' ? fn : null;
 92147   },
 92148 
 92149   isType: function isType(obj, type) {
 92150     if (typeof type === 'function') type = util.typeName(type);
 92151     return Object.prototype.toString.call(obj) === '[object ' + type + ']';
 92152   },
 92153 
 92154   typeName: function typeName(type) {
 92155     if (Object.prototype.hasOwnProperty.call(type, 'name')) return type.name;
 92156     var str = type.toString();
 92157     var match = str.match(/^\s*function (.+)\(/);
 92158     return match ? match[1] : str;
 92159   },
 92160 
 92161   error: function error(err, options) {
 92162     var originalError = null;
 92163     if (typeof err.message === 'string' && err.message !== '') {
 92164       if (typeof options === 'string' || (options && options.message)) {
 92165         originalError = util.copy(err);
 92166         originalError.message = err.message;
 92167       }
 92168     }
 92169     err.message = err.message || null;
 92170 
 92171     if (typeof options === 'string') {
 92172       err.message = options;
 92173     } else if (typeof options === 'object' && options !== null) {
 92174       util.update(err, options);
 92175       if (options.message)
 92176         err.message = options.message;
 92177       if (options.code || options.name)
 92178         err.code = options.code || options.name;
 92179       if (options.stack)
 92180         err.stack = options.stack;
 92181     }
 92182 
 92183     if (typeof Object.defineProperty === 'function') {
 92184       Object.defineProperty(err, 'name', {writable: true, enumerable: false});
 92185       Object.defineProperty(err, 'message', {enumerable: true});
 92186     }
 92187 
 92188     err.name = options && options.name || err.name || err.code || 'Error';
 92189     err.time = new Date();
 92190 
 92191     if (originalError) err.originalError = originalError;
 92192 
 92193     return err;
 92194   },
 92195 
 92196 
 92197   inherit: function inherit(klass, features) {
 92198     var newObject = null;
 92199     if (features === undefined) {
 92200       features = klass;
 92201       klass = Object;
 92202       newObject = {};
 92203     } else {
 92204       var ctor = function ConstructorWrapper() {};
 92205       ctor.prototype = klass.prototype;
 92206       newObject = new ctor();
 92207     }
 92208 
 92209     if (features.constructor === Object) {
 92210       features.constructor = function() {
 92211         if (klass !== Object) {
 92212           return klass.apply(this, arguments);
 92213         }
 92214       };
 92215     }
 92216 
 92217     features.constructor.prototype = newObject;
 92218     util.update(features.constructor.prototype, features);
 92219     features.constructor.__super__ = klass;
 92220     return features.constructor;
 92221   },
 92222 
 92223 
 92224   mixin: function mixin() {
 92225     var klass = arguments[0];
 92226     for (var i = 1; i < arguments.length; i++) {
 92227       for (var prop in arguments[i].prototype) {
 92228         var fn = arguments[i].prototype[prop];
 92229         if (prop !== 'constructor') {
 92230           klass.prototype[prop] = fn;
 92231         }
 92232       }
 92233     }
 92234     return klass;
 92235   },
 92236 
 92237 
 92238   hideProperties: function hideProperties(obj, props) {
 92239     if (typeof Object.defineProperty !== 'function') return;
 92240 
 92241     util.arrayEach(props, function (key) {
 92242       Object.defineProperty(obj, key, {
 92243         enumerable: false, writable: true, configurable: true });
 92244     });
 92245   },
 92246 
 92247 
 92248   property: function property(obj, name, value, enumerable, isValue) {
 92249     var opts = {
 92250       configurable: true,
 92251       enumerable: enumerable !== undefined ? enumerable : true
 92252     };
 92253     if (typeof value === 'function' && !isValue) {
 92254       opts.get = value;
 92255     }
 92256     else {
 92257       opts.value = value; opts.writable = true;
 92258     }
 92259 
 92260     Object.defineProperty(obj, name, opts);
 92261   },
 92262 
 92263 
 92264   memoizedProperty: function memoizedProperty(obj, name, get, enumerable) {
 92265     var cachedValue = null;
 92266 
 92267     util.property(obj, name, function() {
 92268       if (cachedValue === null) {
 92269         cachedValue = get();
 92270       }
 92271       return cachedValue;
 92272     }, enumerable);
 92273   },
 92274 
 92275 
 92276   hoistPayloadMember: function hoistPayloadMember(resp) {
 92277     var req = resp.request;
 92278     var operation = req.operation;
 92279     var output = req.service.api.operations[operation].output;
 92280     if (output.payload) {
 92281       var payloadMember = output.members[output.payload];
 92282       var responsePayload = resp.data[output.payload];
 92283       if (payloadMember.type === 'structure') {
 92284         util.each(responsePayload, function(key, value) {
 92285           util.property(resp.data, key, value, false);
 92286         });
 92287       }
 92288     }
 92289   },
 92290 
 92291 
 92292   computeSha256: function computeSha256(body, done) {
 92293     if (util.isNode()) {
 92294       var Stream = util.stream.Stream;
 92295       var fs = require('fs');
 92296       if (body instanceof Stream) {
 92297         if (typeof body.path === 'string') { // assume file object
 92298           var settings = {};
 92299           if (typeof body.start === 'number') {
 92300             settings.start = body.start;
 92301           }
 92302           if (typeof body.end === 'number') {
 92303             settings.end = body.end;
 92304           }
 92305           body = fs.createReadStream(body.path, settings);
 92306         } else { // TODO support other stream types
 92307           return done(new Error('Non-file stream objects are ' +
 92308                                 'not supported with SigV4'));
 92309         }
 92310       }
 92311     }
 92312 
 92313     util.crypto.sha256(body, 'hex', function(err, sha) {
 92314       if (err) done(err);
 92315       else done(null, sha);
 92316     });
 92317   },
 92318 
 92319 
 92320   isClockSkewed: function isClockSkewed(serverTime) {
 92321     if (serverTime) {
 92322       util.property(AWS.config, 'isClockSkewed',
 92323         Math.abs(new Date().getTime() - serverTime) >= 300000, false);
 92324       return AWS.config.isClockSkewed;
 92325     }
 92326   },
 92327 
 92328   applyClockOffset: function applyClockOffset(serverTime) {
 92329     if (serverTime)
 92330       AWS.config.systemClockOffset = serverTime - new Date().getTime();
 92331   },
 92332 
 92333 
 92334   extractRequestId: function extractRequestId(resp) {
 92335     var requestId = resp.httpResponse.headers['x-amz-request-id'] ||
 92336                      resp.httpResponse.headers['x-amzn-requestid'];
 92337 
 92338     if (!requestId && resp.data && resp.data.ResponseMetadata) {
 92339       requestId = resp.data.ResponseMetadata.RequestId;
 92340     }
 92341 
 92342     if (requestId) {
 92343       resp.requestId = requestId;
 92344     }
 92345 
 92346     if (resp.error) {
 92347       resp.error.requestId = requestId;
 92348     }
 92349   },
 92350 
 92351 
 92352   addPromises: function addPromises(constructors, PromiseDependency) {
 92353     if (PromiseDependency === undefined && AWS && AWS.config) {
 92354       PromiseDependency = AWS.config.getPromisesDependency();
 92355     }
 92356     if (PromiseDependency === undefined && typeof Promise !== 'undefined') {
 92357       PromiseDependency = Promise;
 92358     }
 92359     if (typeof PromiseDependency !== 'function') var deletePromises = true;
 92360     if (!Array.isArray(constructors)) constructors = [constructors];
 92361 
 92362     for (var ind = 0; ind < constructors.length; ind++) {
 92363       var constructor = constructors[ind];
 92364       if (deletePromises) {
 92365         if (constructor.deletePromisesFromClass) {
 92366           constructor.deletePromisesFromClass();
 92367         }
 92368       } else if (constructor.addPromisesToClass) {
 92369         constructor.addPromisesToClass(PromiseDependency);
 92370       }
 92371     }
 92372   },
 92373 
 92374 
 92375   promisifyMethod: function promisifyMethod(methodName, PromiseDependency) {
 92376     return function promise() {
 92377       var self = this;
 92378       return new PromiseDependency(function(resolve, reject) {
 92379         self[methodName](function(err, data) {
 92380           if (err) {
 92381             reject(err);
 92382           } else {
 92383             resolve(data);
 92384           }
 92385         });
 92386       });
 92387     };
 92388   },
 92389 
 92390 
 92391   isDualstackAvailable: function isDualstackAvailable(service) {
 92392     if (!service) return false;
 92393     var metadata = require('../apis/metadata.json');
 92394     if (typeof service !== 'string') service = service.serviceIdentifier;
 92395     if (typeof service !== 'string' || !metadata.hasOwnProperty(service)) return false;
 92396     return !!metadata[service].dualstackAvailable;
 92397   },
 92398 
 92399 
 92400   calculateRetryDelay: function calculateRetryDelay(retryCount, retryDelayOptions) {
 92401     if (!retryDelayOptions) retryDelayOptions = {};
 92402     var customBackoff = retryDelayOptions.customBackoff || null;
 92403     if (typeof customBackoff === 'function') {
 92404       return customBackoff(retryCount);
 92405     }
 92406     var base = retryDelayOptions.base || 100;
 92407     var delay = Math.random() * (Math.pow(2, retryCount) * base);
 92408     return delay;
 92409   },
 92410 
 92411 
 92412   handleRequestWithRetries: function handleRequestWithRetries(httpRequest, options, cb) {
 92413     if (!options) options = {};
 92414     var http = AWS.HttpClient.getInstance();
 92415     var httpOptions = options.httpOptions || {};
 92416     var retryCount = 0;
 92417 
 92418     var errCallback = function(err) {
 92419       var maxRetries = options.maxRetries || 0;
 92420       if (err && err.code === 'TimeoutError') err.retryable = true;
 92421       if (err && err.retryable && retryCount < maxRetries) {
 92422         retryCount++;
 92423         var delay = util.calculateRetryDelay(retryCount, options.retryDelayOptions);
 92424         setTimeout(sendRequest, delay + (err.retryAfter || 0));
 92425       } else {
 92426         cb(err);
 92427       }
 92428     };
 92429 
 92430     var sendRequest = function() {
 92431       var data = '';
 92432       http.handleRequest(httpRequest, httpOptions, function(httpResponse) {
 92433         httpResponse.on('data', function(chunk) { data += chunk.toString(); });
 92434         httpResponse.on('end', function() {
 92435           var statusCode = httpResponse.statusCode;
 92436           if (statusCode < 300) {
 92437             cb(null, data);
 92438           } else {
 92439             var retryAfter = parseInt(httpResponse.headers['retry-after'], 10) * 1000 || 0;
 92440             var err = util.error(new Error(),
 92441               { retryable: statusCode >= 500 || statusCode === 429 }
 92442             );
 92443             if (retryAfter && err.retryable) err.retryAfter = retryAfter;
 92444             errCallback(err);
 92445           }
 92446         });
 92447       }, errCallback);
 92448     };
 92449 
 92450     process.nextTick(sendRequest);
 92451   }
 92452 
 92453 };
 92454 
 92455 module.exports = util;
 92456 
 92457 }).call(this,require('_process'))
 92458 },{"../apis/metadata.json":87,"./core":189,"_process":251,"fs":249}],247:[function(require,module,exports){
 92459 var util = require('../util');
 92460 var Shape = require('../model/shape');
 92461 
 92462 function DomXmlParser() { }
 92463 
 92464 DomXmlParser.prototype.parse = function(xml, shape) {
 92465   if (xml.replace(/^\s+/, '') === '') return {};
 92466 
 92467   var result, error;
 92468   try {
 92469     if (window.DOMParser) {
 92470       try {
 92471         var parser = new DOMParser();
 92472         result = parser.parseFromString(xml, 'text/xml');
 92473       } catch (syntaxError) {
 92474         throw util.error(new Error('Parse error in document'),
 92475           {
 92476             originalError: syntaxError,
 92477             code: 'XMLParserError',
 92478             retryable: true
 92479           });
 92480       }
 92481 
 92482       if (result.documentElement === null) {
 92483         throw util.error(new Error('Cannot parse empty document.'),
 92484           {
 92485             code: 'XMLParserError',
 92486             retryable: true
 92487           });
 92488       }
 92489 
 92490       var isError = result.getElementsByTagName('parsererror')[0];
 92491       if (isError && (isError.parentNode === result ||
 92492           isError.parentNode.nodeName === 'body' ||
 92493           isError.parentNode.parentNode === result ||
 92494           isError.parentNode.parentNode.nodeName === 'body')) {
 92495         var errorElement = isError.getElementsByTagName('div')[0] || isError;
 92496         throw util.error(new Error(errorElement.textContent || 'Parser error in document'),
 92497           {
 92498             code: 'XMLParserError',
 92499             retryable: true
 92500           });
 92501       }
 92502     } else if (window.ActiveXObject) {
 92503       result = new window.ActiveXObject('Microsoft.XMLDOM');
 92504       result.async = false;
 92505 
 92506       if (!result.loadXML(xml)) {
 92507         throw util.error(new Error('Parse error in document'),
 92508           {
 92509             code: 'XMLParserError',
 92510             retryable: true
 92511           });
 92512       }
 92513     } else {
 92514       throw new Error('Cannot load XML parser');
 92515     }
 92516   } catch (e) {
 92517     error = e;
 92518   }
 92519 
 92520   if (result && result.documentElement && !error) {
 92521     var data = parseXml(result.documentElement, shape);
 92522     var metadata = result.getElementsByTagName('ResponseMetadata')[0];
 92523     if (metadata) {
 92524       data.ResponseMetadata = parseXml(metadata, {});
 92525     }
 92526     return data;
 92527   } else if (error) {
 92528     throw util.error(error || new Error(), {code: 'XMLParserError', retryable: true});
 92529   } else { // empty xml document
 92530     return {};
 92531   }
 92532 };
 92533 
 92534 function parseXml(xml, shape) {
 92535   if (!shape) shape = {};
 92536   switch (shape.type) {
 92537     case 'structure': return parseStructure(xml, shape);
 92538     case 'map': return parseMap(xml, shape);
 92539     case 'list': return parseList(xml, shape);
 92540     case undefined: case null: return parseUnknown(xml);
 92541     default: return parseScalar(xml, shape);
 92542   }
 92543 }
 92544 
 92545 function parseStructure(xml, shape) {
 92546   var data = {};
 92547   if (xml === null) return data;
 92548 
 92549   util.each(shape.members, function(memberName, memberShape) {
 92550     if (memberShape.isXmlAttribute) {
 92551       if (Object.prototype.hasOwnProperty.call(xml.attributes, memberShape.name)) {
 92552         var value = xml.attributes[memberShape.name].value;
 92553         data[memberName] = parseXml({textContent: value}, memberShape);
 92554       }
 92555     } else {
 92556       var xmlChild = memberShape.flattened ? xml :
 92557         xml.getElementsByTagName(memberShape.name)[0];
 92558       if (xmlChild) {
 92559         data[memberName] = parseXml(xmlChild, memberShape);
 92560       } else if (!memberShape.flattened && memberShape.type === 'list') {
 92561         data[memberName] = memberShape.defaultValue;
 92562       }
 92563     }
 92564   });
 92565 
 92566   return data;
 92567 }
 92568 
 92569 function parseMap(xml, shape) {
 92570   var data = {};
 92571   var xmlKey = shape.key.name || 'key';
 92572   var xmlValue = shape.value.name || 'value';
 92573   var tagName = shape.flattened ? shape.name : 'entry';
 92574 
 92575   var child = xml.firstElementChild;
 92576   while (child) {
 92577     if (child.nodeName === tagName) {
 92578       var key = child.getElementsByTagName(xmlKey)[0].textContent;
 92579       var value = child.getElementsByTagName(xmlValue)[0];
 92580       data[key] = parseXml(value, shape.value);
 92581     }
 92582     child = child.nextElementSibling;
 92583   }
 92584   return data;
 92585 }
 92586 
 92587 function parseList(xml, shape) {
 92588   var data = [];
 92589   var tagName = shape.flattened ? shape.name : (shape.member.name || 'member');
 92590 
 92591   var child = xml.firstElementChild;
 92592   while (child) {
 92593     if (child.nodeName === tagName) {
 92594       data.push(parseXml(child, shape.member));
 92595     }
 92596     child = child.nextElementSibling;
 92597   }
 92598   return data;
 92599 }
 92600 
 92601 function parseScalar(xml, shape) {
 92602   if (xml.getAttribute) {
 92603     var encoding = xml.getAttribute('encoding');
 92604     if (encoding === 'base64') {
 92605       shape = new Shape.create({type: encoding});
 92606     }
 92607   }
 92608 
 92609   var text = xml.textContent;
 92610   if (text === '') text = null;
 92611   if (typeof shape.toType === 'function') {
 92612     return shape.toType(text);
 92613   } else {
 92614     return text;
 92615   }
 92616 }
 92617 
 92618 function parseUnknown(xml) {
 92619   if (xml === undefined || xml === null) return '';
 92620 
 92621   if (!xml.firstElementChild) {
 92622     if (xml.parentNode.parentNode === null) return {};
 92623     if (xml.childNodes.length === 0) return '';
 92624     else return xml.textContent;
 92625   }
 92626 
 92627   var shape = {type: 'structure', members: {}};
 92628   var child = xml.firstElementChild;
 92629   while (child) {
 92630     var tag = child.nodeName;
 92631     if (Object.prototype.hasOwnProperty.call(shape.members, tag)) {
 92632       shape.members[tag].type = 'list';
 92633     } else {
 92634       shape.members[tag] = {name: tag};
 92635     }
 92636     child = child.nextElementSibling;
 92637   }
 92638   return parseStructure(xml, shape);
 92639 }
 92640 
 92641 module.exports = DomXmlParser;
 92642 
 92643 },{"../model/shape":211,"../util":246}],248:[function(require,module,exports){
 92644 var util = require('../util');
 92645 var builder = require('xmlbuilder');
 92646 
 92647 function XmlBuilder() { }
 92648 
 92649 XmlBuilder.prototype.toXML = function(params, shape, rootElement, noEmpty) {
 92650   var xml = builder.create(rootElement);
 92651   applyNamespaces(xml, shape);
 92652   serialize(xml, params, shape);
 92653   return xml.children.length > 0 || noEmpty ? xml.root().toString() : '';
 92654 };
 92655 
 92656 function serialize(xml, value, shape) {
 92657   switch (shape.type) {
 92658     case 'structure': return serializeStructure(xml, value, shape);
 92659     case 'map': return serializeMap(xml, value, shape);
 92660     case 'list': return serializeList(xml, value, shape);
 92661     default: return serializeScalar(xml, value, shape);
 92662   }
 92663 }
 92664 
 92665 function serializeStructure(xml, params, shape) {
 92666   util.arrayEach(shape.memberNames, function(memberName) {
 92667     var memberShape = shape.members[memberName];
 92668     if (memberShape.location !== 'body') return;
 92669 
 92670     var value = params[memberName];
 92671     var name = memberShape.name;
 92672     if (value !== undefined && value !== null) {
 92673       if (memberShape.isXmlAttribute) {
 92674         xml.att(name, value);
 92675       } else if (memberShape.flattened) {
 92676         serialize(xml, value, memberShape);
 92677       } else {
 92678         var element = xml.ele(name);
 92679         applyNamespaces(element, memberShape);
 92680         serialize(element, value, memberShape);
 92681       }
 92682     }
 92683   });
 92684 }
 92685 
 92686 function serializeMap(xml, map, shape) {
 92687   var xmlKey = shape.key.name || 'key';
 92688   var xmlValue = shape.value.name || 'value';
 92689 
 92690   util.each(map, function(key, value) {
 92691     var entry = xml.ele(shape.flattened ? shape.name : 'entry');
 92692     serialize(entry.ele(xmlKey), key, shape.key);
 92693     serialize(entry.ele(xmlValue), value, shape.value);
 92694   });
 92695 }
 92696 
 92697 function serializeList(xml, list, shape) {
 92698   if (shape.flattened) {
 92699     util.arrayEach(list, function(value) {
 92700       var name = shape.member.name || shape.name;
 92701       var element = xml.ele(name);
 92702       serialize(element, value, shape.member);
 92703     });
 92704   } else {
 92705     util.arrayEach(list, function(value) {
 92706       var name = shape.member.name || 'member';
 92707       var element = xml.ele(name);
 92708       serialize(element, value, shape.member);
 92709     });
 92710   }
 92711 }
 92712 
 92713 function serializeScalar(xml, value, shape) {
 92714   xml.txt(shape.toWireFormat(value));
 92715 }
 92716 
 92717 function applyNamespaces(xml, shape) {
 92718   var uri, prefix = 'xmlns';
 92719   if (shape.xmlNamespaceUri) {
 92720     uri = shape.xmlNamespaceUri;
 92721     if (shape.xmlNamespacePrefix) prefix += ':' + shape.xmlNamespacePrefix;
 92722   } else if (xml.isRoot && shape.api.xmlNamespaceUri) {
 92723     uri = shape.api.xmlNamespaceUri;
 92724   }
 92725 
 92726   if (uri) xml.att(prefix, uri);
 92727 }
 92728 
 92729 module.exports = XmlBuilder;
 92730 
 92731 },{"../util":246,"xmlbuilder":290}],249:[function(require,module,exports){
 92732 
 92733 },{}],250:[function(require,module,exports){
 92734 
 92735 function EventEmitter() {
 92736   this._events = this._events || {};
 92737   this._maxListeners = this._maxListeners || undefined;
 92738 }
 92739 module.exports = EventEmitter;
 92740 
 92741 EventEmitter.EventEmitter = EventEmitter;
 92742 
 92743 EventEmitter.prototype._events = undefined;
 92744 EventEmitter.prototype._maxListeners = undefined;
 92745 
 92746 EventEmitter.defaultMaxListeners = 10;
 92747 
 92748 EventEmitter.prototype.setMaxListeners = function(n) {
 92749   if (!isNumber(n) || n < 0 || isNaN(n))
 92750     throw TypeError('n must be a positive number');
 92751   this._maxListeners = n;
 92752   return this;
 92753 };
 92754 
 92755 EventEmitter.prototype.emit = function(type) {
 92756   var er, handler, len, args, i, listeners;
 92757 
 92758   if (!this._events)
 92759     this._events = {};
 92760 
 92761   if (type === 'error') {
 92762     if (!this._events.error ||
 92763         (isObject(this._events.error) && !this._events.error.length)) {
 92764       er = arguments[1];
 92765       if (er instanceof Error) {
 92766         throw er; // Unhandled 'error' event
 92767       } else {
 92768         var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
 92769         err.context = er;
 92770         throw err;
 92771       }
 92772     }
 92773   }
 92774 
 92775   handler = this._events[type];
 92776 
 92777   if (isUndefined(handler))
 92778     return false;
 92779 
 92780   if (isFunction(handler)) {
 92781     switch (arguments.length) {
 92782       case 1:
 92783         handler.call(this);
 92784         break;
 92785       case 2:
 92786         handler.call(this, arguments[1]);
 92787         break;
 92788       case 3:
 92789         handler.call(this, arguments[1], arguments[2]);
 92790         break;
 92791       default:
 92792         args = Array.prototype.slice.call(arguments, 1);
 92793         handler.apply(this, args);
 92794     }
 92795   } else if (isObject(handler)) {
 92796     args = Array.prototype.slice.call(arguments, 1);
 92797     listeners = handler.slice();
 92798     len = listeners.length;
 92799     for (i = 0; i < len; i++)
 92800       listeners[i].apply(this, args);
 92801   }
 92802 
 92803   return true;
 92804 };
 92805 
 92806 EventEmitter.prototype.addListener = function(type, listener) {
 92807   var m;
 92808 
 92809   if (!isFunction(listener))
 92810     throw TypeError('listener must be a function');
 92811 
 92812   if (!this._events)
 92813     this._events = {};
 92814 
 92815   if (this._events.newListener)
 92816     this.emit('newListener', type,
 92817               isFunction(listener.listener) ?
 92818               listener.listener : listener);
 92819 
 92820   if (!this._events[type])
 92821     this._events[type] = listener;
 92822   else if (isObject(this._events[type]))
 92823     this._events[type].push(listener);
 92824   else
 92825     this._events[type] = [this._events[type], listener];
 92826 
 92827   if (isObject(this._events[type]) && !this._events[type].warned) {
 92828     if (!isUndefined(this._maxListeners)) {
 92829       m = this._maxListeners;
 92830     } else {
 92831       m = EventEmitter.defaultMaxListeners;
 92832     }
 92833 
 92834     if (m && m > 0 && this._events[type].length > m) {
 92835       this._events[type].warned = true;
 92836       console.error('(node) warning: possible EventEmitter memory ' +
 92837                     'leak detected. %d listeners added. ' +
 92838                     'Use emitter.setMaxListeners() to increase limit.',
 92839                     this._events[type].length);
 92840       if (typeof console.trace === 'function') {
 92841         console.trace();
 92842       }
 92843     }
 92844   }
 92845 
 92846   return this;
 92847 };
 92848 
 92849 EventEmitter.prototype.on = EventEmitter.prototype.addListener;
 92850 
 92851 EventEmitter.prototype.once = function(type, listener) {
 92852   if (!isFunction(listener))
 92853     throw TypeError('listener must be a function');
 92854 
 92855   var fired = false;
 92856 
 92857   function g() {
 92858     this.removeListener(type, g);
 92859 
 92860     if (!fired) {
 92861       fired = true;
 92862       listener.apply(this, arguments);
 92863     }
 92864   }
 92865 
 92866   g.listener = listener;
 92867   this.on(type, g);
 92868 
 92869   return this;
 92870 };
 92871 
 92872 EventEmitter.prototype.removeListener = function(type, listener) {
 92873   var list, position, length, i;
 92874 
 92875   if (!isFunction(listener))
 92876     throw TypeError('listener must be a function');
 92877 
 92878   if (!this._events || !this._events[type])
 92879     return this;
 92880 
 92881   list = this._events[type];
 92882   length = list.length;
 92883   position = -1;
 92884 
 92885   if (list === listener ||
 92886       (isFunction(list.listener) && list.listener === listener)) {
 92887     delete this._events[type];
 92888     if (this._events.removeListener)
 92889       this.emit('removeListener', type, listener);
 92890 
 92891   } else if (isObject(list)) {
 92892     for (i = length; i-- > 0;) {
 92893       if (list[i] === listener ||
 92894           (list[i].listener && list[i].listener === listener)) {
 92895         position = i;
 92896         break;
 92897       }
 92898     }
 92899 
 92900     if (position < 0)
 92901       return this;
 92902 
 92903     if (list.length === 1) {
 92904       list.length = 0;
 92905       delete this._events[type];
 92906     } else {
 92907       list.splice(position, 1);
 92908     }
 92909 
 92910     if (this._events.removeListener)
 92911       this.emit('removeListener', type, listener);
 92912   }
 92913 
 92914   return this;
 92915 };
 92916 
 92917 EventEmitter.prototype.removeAllListeners = function(type) {
 92918   var key, listeners;
 92919 
 92920   if (!this._events)
 92921     return this;
 92922 
 92923   if (!this._events.removeListener) {
 92924     if (arguments.length === 0)
 92925       this._events = {};
 92926     else if (this._events[type])
 92927       delete this._events[type];
 92928     return this;
 92929   }
 92930 
 92931   if (arguments.length === 0) {
 92932     for (key in this._events) {
 92933       if (key === 'removeListener') continue;
 92934       this.removeAllListeners(key);
 92935     }
 92936     this.removeAllListeners('removeListener');
 92937     this._events = {};
 92938     return this;
 92939   }
 92940 
 92941   listeners = this._events[type];
 92942 
 92943   if (isFunction(listeners)) {
 92944     this.removeListener(type, listeners);
 92945   } else if (listeners) {
 92946     while (listeners.length)
 92947       this.removeListener(type, listeners[listeners.length - 1]);
 92948   }
 92949   delete this._events[type];
 92950 
 92951   return this;
 92952 };
 92953 
 92954 EventEmitter.prototype.listeners = function(type) {
 92955   var ret;
 92956   if (!this._events || !this._events[type])
 92957     ret = [];
 92958   else if (isFunction(this._events[type]))
 92959     ret = [this._events[type]];
 92960   else
 92961     ret = this._events[type].slice();
 92962   return ret;
 92963 };
 92964 
 92965 EventEmitter.prototype.listenerCount = function(type) {
 92966   if (this._events) {
 92967     var evlistener = this._events[type];
 92968 
 92969     if (isFunction(evlistener))
 92970       return 1;
 92971     else if (evlistener)
 92972       return evlistener.length;
 92973   }
 92974   return 0;
 92975 };
 92976 
 92977 EventEmitter.listenerCount = function(emitter, type) {
 92978   return emitter.listenerCount(type);
 92979 };
 92980 
 92981 function isFunction(arg) {
 92982   return typeof arg === 'function';
 92983 }
 92984 
 92985 function isNumber(arg) {
 92986   return typeof arg === 'number';
 92987 }
 92988 
 92989 function isObject(arg) {
 92990   return typeof arg === 'object' && arg !== null;
 92991 }
 92992 
 92993 function isUndefined(arg) {
 92994   return arg === void 0;
 92995 }
 92996 
 92997 },{}],251:[function(require,module,exports){
 92998 var process = module.exports = {};
 92999 
 93000 
 93001 var cachedSetTimeout;
 93002 var cachedClearTimeout;
 93003 
 93004 function defaultSetTimout() {
 93005     throw new Error('setTimeout has not been defined');
 93006 }
 93007 function defaultClearTimeout () {
 93008     throw new Error('clearTimeout has not been defined');
 93009 }
 93010 (function () {
 93011     try {
 93012         if (typeof setTimeout === 'function') {
 93013             cachedSetTimeout = setTimeout;
 93014         } else {
 93015             cachedSetTimeout = defaultSetTimout;
 93016         }
 93017     } catch (e) {
 93018         cachedSetTimeout = defaultSetTimout;
 93019     }
 93020     try {
 93021         if (typeof clearTimeout === 'function') {
 93022             cachedClearTimeout = clearTimeout;
 93023         } else {
 93024             cachedClearTimeout = defaultClearTimeout;
 93025         }
 93026     } catch (e) {
 93027         cachedClearTimeout = defaultClearTimeout;
 93028     }
 93029 } ())
 93030 function runTimeout(fun) {
 93031     if (cachedSetTimeout === setTimeout) {
 93032         return setTimeout(fun, 0);
 93033     }
 93034     if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
 93035         cachedSetTimeout = setTimeout;
 93036         return setTimeout(fun, 0);
 93037     }
 93038     try {
 93039         return cachedSetTimeout(fun, 0);
 93040     } catch(e){
 93041         try {
 93042             return cachedSetTimeout.call(null, fun, 0);
 93043         } catch(e){
 93044             return cachedSetTimeout.call(this, fun, 0);
 93045         }
 93046     }
 93047 
 93048 
 93049 }
 93050 function runClearTimeout(marker) {
 93051     if (cachedClearTimeout === clearTimeout) {
 93052         return clearTimeout(marker);
 93053     }
 93054     if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
 93055         cachedClearTimeout = clearTimeout;
 93056         return clearTimeout(marker);
 93057     }
 93058     try {
 93059         return cachedClearTimeout(marker);
 93060     } catch (e){
 93061         try {
 93062             return cachedClearTimeout.call(null, marker);
 93063         } catch (e){
 93064             return cachedClearTimeout.call(this, marker);
 93065         }
 93066     }
 93067 
 93068 
 93069 
 93070 }
 93071 var queue = [];
 93072 var draining = false;
 93073 var currentQueue;
 93074 var queueIndex = -1;
 93075 
 93076 function cleanUpNextTick() {
 93077     if (!draining || !currentQueue) {
 93078         return;
 93079     }
 93080     draining = false;
 93081     if (currentQueue.length) {
 93082         queue = currentQueue.concat(queue);
 93083     } else {
 93084         queueIndex = -1;
 93085     }
 93086     if (queue.length) {
 93087         drainQueue();
 93088     }
 93089 }
 93090 
 93091 function drainQueue() {
 93092     if (draining) {
 93093         return;
 93094     }
 93095     var timeout = runTimeout(cleanUpNextTick);
 93096     draining = true;
 93097 
 93098     var len = queue.length;
 93099     while(len) {
 93100         currentQueue = queue;
 93101         queue = [];
 93102         while (++queueIndex < len) {
 93103             if (currentQueue) {
 93104                 currentQueue[queueIndex].run();
 93105             }
 93106         }
 93107         queueIndex = -1;
 93108         len = queue.length;
 93109     }
 93110     currentQueue = null;
 93111     draining = false;
 93112     runClearTimeout(timeout);
 93113 }
 93114 
 93115 process.nextTick = function (fun) {
 93116     var args = new Array(arguments.length - 1);
 93117     if (arguments.length > 1) {
 93118         for (var i = 1; i < arguments.length; i++) {
 93119             args[i - 1] = arguments[i];
 93120         }
 93121     }
 93122     queue.push(new Item(fun, args));
 93123     if (queue.length === 1 && !draining) {
 93124         runTimeout(drainQueue);
 93125     }
 93126 };
 93127 
 93128 function Item(fun, array) {
 93129     this.fun = fun;
 93130     this.array = array;
 93131 }
 93132 Item.prototype.run = function () {
 93133     this.fun.apply(null, this.array);
 93134 };
 93135 process.title = 'browser';
 93136 process.browser = true;
 93137 process.env = {};
 93138 process.argv = [];
 93139 process.version = ''; // empty string to avoid regexp issues
 93140 process.versions = {};
 93141 
 93142 function noop() {}
 93143 
 93144 process.on = noop;
 93145 process.addListener = noop;
 93146 process.once = noop;
 93147 process.off = noop;
 93148 process.removeListener = noop;
 93149 process.removeAllListeners = noop;
 93150 process.emit = noop;
 93151 
 93152 process.binding = function (name) {
 93153     throw new Error('process.binding is not supported');
 93154 };
 93155 
 93156 process.cwd = function () { return '/' };
 93157 process.chdir = function (dir) {
 93158     throw new Error('process.chdir is not supported');
 93159 };
 93160 process.umask = function() { return 0; };
 93161 
 93162 },{}],252:[function(require,module,exports){
 93163 (function (global){
 93164 
 93165 ;(function(root) {
 93166 
 93167 
 93168         var freeExports = typeof exports == 'object' && exports &&
 93169                 !exports.nodeType && exports;
 93170         var freeModule = typeof module == 'object' && module &&
 93171                 !module.nodeType && module;
 93172         var freeGlobal = typeof global == 'object' && global;
 93173         if (
 93174                 freeGlobal.global === freeGlobal ||
 93175                 freeGlobal.window === freeGlobal ||
 93176                 freeGlobal.self === freeGlobal
 93177         ) {
 93178                 root = freeGlobal;
 93179         }
 93180 
 93181 
 93182         var punycode,
 93183 
 93184 
 93185         maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
 93186 
 93187 
 93188         base = 36,
 93189         tMin = 1,
 93190         tMax = 26,
 93191         skew = 38,
 93192         damp = 700,
 93193         initialBias = 72,
 93194         initialN = 128, // 0x80
 93195         delimiter = '-', // '\x2D'
 93196 
 93197 
 93198         regexPunycode = /^xn--/,
 93199         regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
 93200         regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
 93201 
 93202 
 93203         errors = {
 93204                 'overflow': 'Overflow: input needs wider integers to process',
 93205                 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
 93206                 'invalid-input': 'Invalid input'
 93207         },
 93208 
 93209 
 93210         baseMinusTMin = base - tMin,
 93211         floor = Math.floor,
 93212         stringFromCharCode = String.fromCharCode,
 93213 
 93214 
 93215         key;
 93216 
 93217 
 93218 
 93219 
 93220         function error(type) {
 93221                 throw new RangeError(errors[type]);
 93222         }
 93223 
 93224 
 93225         function map(array, fn) {
 93226                 var length = array.length;
 93227                 var result = [];
 93228                 while (length--) {
 93229                         result[length] = fn(array[length]);
 93230                 }
 93231                 return result;
 93232         }
 93233 
 93234 
 93235         function mapDomain(string, fn) {
 93236                 var parts = string.split('@');
 93237                 var result = '';
 93238                 if (parts.length > 1) {
 93239                         result = parts[0] + '@';
 93240                         string = parts[1];
 93241                 }
 93242                 string = string.replace(regexSeparators, '\x2E');
 93243                 var labels = string.split('.');
 93244                 var encoded = map(labels, fn).join('.');
 93245                 return result + encoded;
 93246         }
 93247 
 93248 
 93249         function ucs2decode(string) {
 93250                 var output = [],
 93251                     counter = 0,
 93252                     length = string.length,
 93253                     value,
 93254                     extra;
 93255                 while (counter < length) {
 93256                         value = string.charCodeAt(counter++);
 93257                         if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
 93258                                 extra = string.charCodeAt(counter++);
 93259                                 if ((extra & 0xFC00) == 0xDC00) { // low surrogate
 93260                                         output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
 93261                                 } else {
 93262                                         output.push(value);
 93263                                         counter--;
 93264                                 }
 93265                         } else {
 93266                                 output.push(value);
 93267                         }
 93268                 }
 93269                 return output;
 93270         }
 93271 
 93272 
 93273         function ucs2encode(array) {
 93274                 return map(array, function(value) {
 93275                         var output = '';
 93276                         if (value > 0xFFFF) {
 93277                                 value -= 0x10000;
 93278                                 output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
 93279                                 value = 0xDC00 | value & 0x3FF;
 93280                         }
 93281                         output += stringFromCharCode(value);
 93282                         return output;
 93283                 }).join('');
 93284         }
 93285 
 93286 
 93287         function basicToDigit(codePoint) {
 93288                 if (codePoint - 48 < 10) {
 93289                         return codePoint - 22;
 93290                 }
 93291                 if (codePoint - 65 < 26) {
 93292                         return codePoint - 65;
 93293                 }
 93294                 if (codePoint - 97 < 26) {
 93295                         return codePoint - 97;
 93296                 }
 93297                 return base;
 93298         }
 93299 
 93300 
 93301         function digitToBasic(digit, flag) {
 93302                 return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
 93303         }
 93304 
 93305 
 93306         function adapt(delta, numPoints, firstTime) {
 93307                 var k = 0;
 93308                 delta = firstTime ? floor(delta / damp) : delta >> 1;
 93309                 delta += floor(delta / numPoints);
 93310                 for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
 93311                         delta = floor(delta / baseMinusTMin);
 93312                 }
 93313                 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
 93314         }
 93315 
 93316 
 93317         function decode(input) {
 93318                 var output = [],
 93319                     inputLength = input.length,
 93320                     out,
 93321                     i = 0,
 93322                     n = initialN,
 93323                     bias = initialBias,
 93324                     basic,
 93325                     j,
 93326                     index,
 93327                     oldi,
 93328                     w,
 93329                     k,
 93330                     digit,
 93331                     t,
 93332 
 93333                     baseMinusT;
 93334 
 93335 
 93336                 basic = input.lastIndexOf(delimiter);
 93337                 if (basic < 0) {
 93338                         basic = 0;
 93339                 }
 93340 
 93341                 for (j = 0; j < basic; ++j) {
 93342                         if (input.charCodeAt(j) >= 0x80) {
 93343                                 error('not-basic');
 93344                         }
 93345                         output.push(input.charCodeAt(j));
 93346                 }
 93347 
 93348 
 93349                 for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
 93350 
 93351                         for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
 93352 
 93353                                 if (index >= inputLength) {
 93354                                         error('invalid-input');
 93355                                 }
 93356 
 93357                                 digit = basicToDigit(input.charCodeAt(index++));
 93358 
 93359                                 if (digit >= base || digit > floor((maxInt - i) / w)) {
 93360                                         error('overflow');
 93361                                 }
 93362 
 93363                                 i += digit * w;
 93364                                 t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
 93365 
 93366                                 if (digit < t) {
 93367                                         break;
 93368                                 }
 93369 
 93370                                 baseMinusT = base - t;
 93371                                 if (w > floor(maxInt / baseMinusT)) {
 93372                                         error('overflow');
 93373                                 }
 93374 
 93375                                 w *= baseMinusT;
 93376 
 93377                         }
 93378 
 93379                         out = output.length + 1;
 93380                         bias = adapt(i - oldi, out, oldi == 0);
 93381 
 93382                         if (floor(i / out) > maxInt - n) {
 93383                                 error('overflow');
 93384                         }
 93385 
 93386                         n += floor(i / out);
 93387                         i %= out;
 93388 
 93389                         output.splice(i++, 0, n);
 93390 
 93391                 }
 93392 
 93393                 return ucs2encode(output);
 93394         }
 93395 
 93396 
 93397         function encode(input) {
 93398                 var n,
 93399                     delta,
 93400                     handledCPCount,
 93401                     basicLength,
 93402                     bias,
 93403                     j,
 93404                     m,
 93405                     q,
 93406                     k,
 93407                     t,
 93408                     currentValue,
 93409                     output = [],
 93410 
 93411                     inputLength,
 93412 
 93413                     handledCPCountPlusOne,
 93414                     baseMinusT,
 93415                     qMinusT;
 93416 
 93417                 input = ucs2decode(input);
 93418 
 93419                 inputLength = input.length;
 93420 
 93421                 n = initialN;
 93422                 delta = 0;
 93423                 bias = initialBias;
 93424 
 93425                 for (j = 0; j < inputLength; ++j) {
 93426                         currentValue = input[j];
 93427                         if (currentValue < 0x80) {
 93428                                 output.push(stringFromCharCode(currentValue));
 93429                         }
 93430                 }
 93431 
 93432                 handledCPCount = basicLength = output.length;
 93433 
 93434 
 93435                 if (basicLength) {
 93436                         output.push(delimiter);
 93437                 }
 93438 
 93439                 while (handledCPCount < inputLength) {
 93440 
 93441                         for (m = maxInt, j = 0; j < inputLength; ++j) {
 93442                                 currentValue = input[j];
 93443                                 if (currentValue >= n && currentValue < m) {
 93444                                         m = currentValue;
 93445                                 }
 93446                         }
 93447 
 93448                         handledCPCountPlusOne = handledCPCount + 1;
 93449                         if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
 93450                                 error('overflow');
 93451                         }
 93452 
 93453                         delta += (m - n) * handledCPCountPlusOne;
 93454                         n = m;
 93455 
 93456                         for (j = 0; j < inputLength; ++j) {
 93457                                 currentValue = input[j];
 93458 
 93459                                 if (currentValue < n && ++delta > maxInt) {
 93460                                         error('overflow');
 93461                                 }
 93462 
 93463                                 if (currentValue == n) {
 93464                                         for (q = delta, k = base; /* no condition */; k += base) {
 93465                                                 t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
 93466                                                 if (q < t) {
 93467                                                         break;
 93468                                                 }
 93469                                                 qMinusT = q - t;
 93470                                                 baseMinusT = base - t;
 93471                                                 output.push(
 93472                                                         stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
 93473                                                 );
 93474                                                 q = floor(qMinusT / baseMinusT);
 93475                                         }
 93476 
 93477                                         output.push(stringFromCharCode(digitToBasic(q, 0)));
 93478                                         bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
 93479                                         delta = 0;
 93480                                         ++handledCPCount;
 93481                                 }
 93482                         }
 93483 
 93484                         ++delta;
 93485                         ++n;
 93486 
 93487                 }
 93488                 return output.join('');
 93489         }
 93490 
 93491 
 93492         function toUnicode(input) {
 93493                 return mapDomain(input, function(string) {
 93494                         return regexPunycode.test(string)
 93495                                 ? decode(string.slice(4).toLowerCase())
 93496                                 : string;
 93497                 });
 93498         }
 93499 
 93500 
 93501         function toASCII(input) {
 93502                 return mapDomain(input, function(string) {
 93503                         return regexNonASCII.test(string)
 93504                                 ? 'xn--' + encode(string)
 93505                                 : string;
 93506                 });
 93507         }
 93508 
 93509 
 93510 
 93511 
 93512         punycode = {
 93513 
 93514                 'version': '1.4.1',
 93515 
 93516                 'ucs2': {
 93517                         'decode': ucs2decode,
 93518                         'encode': ucs2encode
 93519                 },
 93520                 'decode': decode,
 93521                 'encode': encode,
 93522                 'toASCII': toASCII,
 93523                 'toUnicode': toUnicode
 93524         };
 93525 
 93526 
 93527         if (
 93528                 typeof define == 'function' &&
 93529                 typeof define.amd == 'object' &&
 93530                 define.amd
 93531         ) {
 93532                 define('punycode', function() {
 93533                         return punycode;
 93534                 });
 93535         } else if (freeExports && freeModule) {
 93536                 if (module.exports == freeExports) {
 93537                         freeModule.exports = punycode;
 93538                 } else {
 93539                         for (key in punycode) {
 93540                                 punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
 93541                         }
 93542                 }
 93543         } else {
 93544                 root.punycode = punycode;
 93545         }
 93546 
 93547 }(this));
 93548 
 93549 }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
 93550 },{}],253:[function(require,module,exports){
 93551 
 93552 'use strict';
 93553 
 93554 function hasOwnProperty(obj, prop) {
 93555   return Object.prototype.hasOwnProperty.call(obj, prop);
 93556 }
 93557 
 93558 module.exports = function(qs, sep, eq, options) {
 93559   sep = sep || '&';
 93560   eq = eq || '=';
 93561   var obj = {};
 93562 
 93563   if (typeof qs !== 'string' || qs.length === 0) {
 93564     return obj;
 93565   }
 93566 
 93567   var regexp = /\+/g;
 93568   qs = qs.split(sep);
 93569 
 93570   var maxKeys = 1000;
 93571   if (options && typeof options.maxKeys === 'number') {
 93572     maxKeys = options.maxKeys;
 93573   }
 93574 
 93575   var len = qs.length;
 93576   if (maxKeys > 0 && len > maxKeys) {
 93577     len = maxKeys;
 93578   }
 93579 
 93580   for (var i = 0; i < len; ++i) {
 93581     var x = qs[i].replace(regexp, '%20'),
 93582         idx = x.indexOf(eq),
 93583         kstr, vstr, k, v;
 93584 
 93585     if (idx >= 0) {
 93586       kstr = x.substr(0, idx);
 93587       vstr = x.substr(idx + 1);
 93588     } else {
 93589       kstr = x;
 93590       vstr = '';
 93591     }
 93592 
 93593     k = decodeURIComponent(kstr);
 93594     v = decodeURIComponent(vstr);
 93595 
 93596     if (!hasOwnProperty(obj, k)) {
 93597       obj[k] = v;
 93598     } else if (isArray(obj[k])) {
 93599       obj[k].push(v);
 93600     } else {
 93601       obj[k] = [obj[k], v];
 93602     }
 93603   }
 93604 
 93605   return obj;
 93606 };
 93607 
 93608 var isArray = Array.isArray || function (xs) {
 93609   return Object.prototype.toString.call(xs) === '[object Array]';
 93610 };
 93611 
 93612 },{}],254:[function(require,module,exports){
 93613 
 93614 'use strict';
 93615 
 93616 var stringifyPrimitive = function(v) {
 93617   switch (typeof v) {
 93618     case 'string':
 93619       return v;
 93620 
 93621     case 'boolean':
 93622       return v ? 'true' : 'false';
 93623 
 93624     case 'number':
 93625       return isFinite(v) ? v : '';
 93626 
 93627     default:
 93628       return '';
 93629   }
 93630 };
 93631 
 93632 module.exports = function(obj, sep, eq, name) {
 93633   sep = sep || '&';
 93634   eq = eq || '=';
 93635   if (obj === null) {
 93636     obj = undefined;
 93637   }
 93638 
 93639   if (typeof obj === 'object') {
 93640     return map(objectKeys(obj), function(k) {
 93641       var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
 93642       if (isArray(obj[k])) {
 93643         return map(obj[k], function(v) {
 93644           return ks + encodeURIComponent(stringifyPrimitive(v));
 93645         }).join(sep);
 93646       } else {
 93647         return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
 93648       }
 93649     }).join(sep);
 93650 
 93651   }
 93652 
 93653   if (!name) return '';
 93654   return encodeURIComponent(stringifyPrimitive(name)) + eq +
 93655          encodeURIComponent(stringifyPrimitive(obj));
 93656 };
 93657 
 93658 var isArray = Array.isArray || function (xs) {
 93659   return Object.prototype.toString.call(xs) === '[object Array]';
 93660 };
 93661 
 93662 function map (xs, f) {
 93663   if (xs.map) return xs.map(f);
 93664   var res = [];
 93665   for (var i = 0; i < xs.length; i++) {
 93666     res.push(f(xs[i], i));
 93667   }
 93668   return res;
 93669 }
 93670 
 93671 var objectKeys = Object.keys || function (obj) {
 93672   var res = [];
 93673   for (var key in obj) {
 93674     if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);
 93675   }
 93676   return res;
 93677 };
 93678 
 93679 },{}],255:[function(require,module,exports){
 93680 'use strict';
 93681 
 93682 exports.decode = exports.parse = require('./decode');
 93683 exports.encode = exports.stringify = require('./encode');
 93684 
 93685 },{"./decode":253,"./encode":254}],256:[function(require,module,exports){
 93686 if (typeof Object.create === 'function') {
 93687   module.exports = function inherits(ctor, superCtor) {
 93688     ctor.super_ = superCtor
 93689     ctor.prototype = Object.create(superCtor.prototype, {
 93690       constructor: {
 93691         value: ctor,
 93692         enumerable: false,
 93693         writable: true,
 93694         configurable: true
 93695       }
 93696     });
 93697   };
 93698 } else {
 93699   module.exports = function inherits(ctor, superCtor) {
 93700     ctor.super_ = superCtor
 93701     var TempCtor = function () {}
 93702     TempCtor.prototype = superCtor.prototype
 93703     ctor.prototype = new TempCtor()
 93704     ctor.prototype.constructor = ctor
 93705   }
 93706 }
 93707 
 93708 },{}],257:[function(require,module,exports){
 93709 module.exports = function isBuffer(arg) {
 93710   return arg && typeof arg === 'object'
 93711     && typeof arg.copy === 'function'
 93712     && typeof arg.fill === 'function'
 93713     && typeof arg.readUInt8 === 'function';
 93714 }
 93715 },{}],258:[function(require,module,exports){
 93716 (function (process,global){
 93717 
 93718 var formatRegExp = /%[sdj%]/g;
 93719 exports.format = function(f) {
 93720   if (!isString(f)) {
 93721     var objects = [];
 93722     for (var i = 0; i < arguments.length; i++) {
 93723       objects.push(inspect(arguments[i]));
 93724     }
 93725     return objects.join(' ');
 93726   }
 93727 
 93728   var i = 1;
 93729   var args = arguments;
 93730   var len = args.length;
 93731   var str = String(f).replace(formatRegExp, function(x) {
 93732     if (x === '%') return '%';
 93733     if (i >= len) return x;
 93734     switch (x) {
 93735       case '%s': return String(args[i++]);
 93736       case '%d': return Number(args[i++]);
 93737       case '%j':
 93738         try {
 93739           return JSON.stringify(args[i++]);
 93740         } catch (_) {
 93741           return '[Circular]';
 93742         }
 93743       default:
 93744         return x;
 93745     }
 93746   });
 93747   for (var x = args[i]; i < len; x = args[++i]) {
 93748     if (isNull(x) || !isObject(x)) {
 93749       str += ' ' + x;
 93750     } else {
 93751       str += ' ' + inspect(x);
 93752     }
 93753   }
 93754   return str;
 93755 };
 93756 
 93757 
 93758 exports.deprecate = function(fn, msg) {
 93759   if (isUndefined(global.process)) {
 93760     return function() {
 93761       return exports.deprecate(fn, msg).apply(this, arguments);
 93762     };
 93763   }
 93764 
 93765   if (process.noDeprecation === true) {
 93766     return fn;
 93767   }
 93768 
 93769   var warned = false;
 93770   function deprecated() {
 93771     if (!warned) {
 93772       if (process.throwDeprecation) {
 93773         throw new Error(msg);
 93774       } else if (process.traceDeprecation) {
 93775         console.trace(msg);
 93776       } else {
 93777         console.error(msg);
 93778       }
 93779       warned = true;
 93780     }
 93781     return fn.apply(this, arguments);
 93782   }
 93783 
 93784   return deprecated;
 93785 };
 93786 
 93787 
 93788 var debugs = {};
 93789 var debugEnviron;
 93790 exports.debuglog = function(set) {
 93791   if (isUndefined(debugEnviron))
 93792     debugEnviron = process.env.NODE_DEBUG || '';
 93793   set = set.toUpperCase();
 93794   if (!debugs[set]) {
 93795     if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
 93796       var pid = process.pid;
 93797       debugs[set] = function() {
 93798         var msg = exports.format.apply(exports, arguments);
 93799         console.error('%s %d: %s', set, pid, msg);
 93800       };
 93801     } else {
 93802       debugs[set] = function() {};
 93803     }
 93804   }
 93805   return debugs[set];
 93806 };
 93807 
 93808 
 93809 
 93810 
 93811 function inspect(obj, opts) {
 93812   var ctx = {
 93813     seen: [],
 93814     stylize: stylizeNoColor
 93815   };
 93816   if (arguments.length >= 3) ctx.depth = arguments[2];
 93817   if (arguments.length >= 4) ctx.colors = arguments[3];
 93818   if (isBoolean(opts)) {
 93819     ctx.showHidden = opts;
 93820   } else if (opts) {
 93821     exports._extend(ctx, opts);
 93822   }
 93823   if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
 93824   if (isUndefined(ctx.depth)) ctx.depth = 2;
 93825   if (isUndefined(ctx.colors)) ctx.colors = false;
 93826   if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
 93827   if (ctx.colors) ctx.stylize = stylizeWithColor;
 93828   return formatValue(ctx, obj, ctx.depth);
 93829 }
 93830 exports.inspect = inspect;
 93831 
 93832 
 93833 inspect.colors = {
 93834   'bold' : [1, 22],
 93835   'italic' : [3, 23],
 93836   'underline' : [4, 24],
 93837   'inverse' : [7, 27],
 93838   'white' : [37, 39],
 93839   'grey' : [90, 39],
 93840   'black' : [30, 39],
 93841   'blue' : [34, 39],
 93842   'cyan' : [36, 39],
 93843   'green' : [32, 39],
 93844   'magenta' : [35, 39],
 93845   'red' : [31, 39],
 93846   'yellow' : [33, 39]
 93847 };
 93848 
 93849 inspect.styles = {
 93850   'special': 'cyan',
 93851   'number': 'yellow',
 93852   'boolean': 'yellow',
 93853   'undefined': 'grey',
 93854   'null': 'bold',
 93855   'string': 'green',
 93856   'date': 'magenta',
 93857   'regexp': 'red'
 93858 };
 93859 
 93860 
 93861 function stylizeWithColor(str, styleType) {
 93862   var style = inspect.styles[styleType];
 93863 
 93864   if (style) {
 93865     return '\u001b[' + inspect.colors[style][0] + 'm' + str +
 93866            '\u001b[' + inspect.colors[style][1] + 'm';
 93867   } else {
 93868     return str;
 93869   }
 93870 }
 93871 
 93872 
 93873 function stylizeNoColor(str, styleType) {
 93874   return str;
 93875 }
 93876 
 93877 
 93878 function arrayToHash(array) {
 93879   var hash = {};
 93880 
 93881   array.forEach(function(val, idx) {
 93882     hash[val] = true;
 93883   });
 93884 
 93885   return hash;
 93886 }
 93887 
 93888 
 93889 function formatValue(ctx, value, recurseTimes) {
 93890   if (ctx.customInspect &&
 93891       value &&
 93892       isFunction(value.inspect) &&
 93893       value.inspect !== exports.inspect &&
 93894       !(value.constructor && value.constructor.prototype === value)) {
 93895     var ret = value.inspect(recurseTimes, ctx);
 93896     if (!isString(ret)) {
 93897       ret = formatValue(ctx, ret, recurseTimes);
 93898     }
 93899     return ret;
 93900   }
 93901 
 93902   var primitive = formatPrimitive(ctx, value);
 93903   if (primitive) {
 93904     return primitive;
 93905   }
 93906 
 93907   var keys = Object.keys(value);
 93908   var visibleKeys = arrayToHash(keys);
 93909 
 93910   if (ctx.showHidden) {
 93911     keys = Object.getOwnPropertyNames(value);
 93912   }
 93913 
 93914   if (isError(value)
 93915       && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
 93916     return formatError(value);
 93917   }
 93918 
 93919   if (keys.length === 0) {
 93920     if (isFunction(value)) {
 93921       var name = value.name ? ': ' + value.name : '';
 93922       return ctx.stylize('[Function' + name + ']', 'special');
 93923     }
 93924     if (isRegExp(value)) {
 93925       return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
 93926     }
 93927     if (isDate(value)) {
 93928       return ctx.stylize(Date.prototype.toString.call(value), 'date');
 93929     }
 93930     if (isError(value)) {
 93931       return formatError(value);
 93932     }
 93933   }
 93934 
 93935   var base = '', array = false, braces = ['{', '}'];
 93936 
 93937   if (isArray(value)) {
 93938     array = true;
 93939     braces = ['[', ']'];
 93940   }
 93941 
 93942   if (isFunction(value)) {
 93943     var n = value.name ? ': ' + value.name : '';
 93944     base = ' [Function' + n + ']';
 93945   }
 93946 
 93947   if (isRegExp(value)) {
 93948     base = ' ' + RegExp.prototype.toString.call(value);
 93949   }
 93950 
 93951   if (isDate(value)) {
 93952     base = ' ' + Date.prototype.toUTCString.call(value);
 93953   }
 93954 
 93955   if (isError(value)) {
 93956     base = ' ' + formatError(value);
 93957   }
 93958 
 93959   if (keys.length === 0 && (!array || value.length == 0)) {
 93960     return braces[0] + base + braces[1];
 93961   }
 93962 
 93963   if (recurseTimes < 0) {
 93964     if (isRegExp(value)) {
 93965       return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
 93966     } else {
 93967       return ctx.stylize('[Object]', 'special');
 93968     }
 93969   }
 93970 
 93971   ctx.seen.push(value);
 93972 
 93973   var output;
 93974   if (array) {
 93975     output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
 93976   } else {
 93977     output = keys.map(function(key) {
 93978       return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
 93979     });
 93980   }
 93981 
 93982   ctx.seen.pop();
 93983 
 93984   return reduceToSingleString(output, base, braces);
 93985 }
 93986 
 93987 
 93988 function formatPrimitive(ctx, value) {
 93989   if (isUndefined(value))
 93990     return ctx.stylize('undefined', 'undefined');
 93991   if (isString(value)) {
 93992     var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
 93993                                              .replace(/'/g, "\\'")
 93994                                              .replace(/\\"/g, '"') + '\'';
 93995     return ctx.stylize(simple, 'string');
 93996   }
 93997   if (isNumber(value))
 93998     return ctx.stylize('' + value, 'number');
 93999   if (isBoolean(value))
 94000     return ctx.stylize('' + value, 'boolean');
 94001   if (isNull(value))
 94002     return ctx.stylize('null', 'null');
 94003 }
 94004 
 94005 
 94006 function formatError(value) {
 94007   return '[' + Error.prototype.toString.call(value) + ']';
 94008 }
 94009 
 94010 
 94011 function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
 94012   var output = [];
 94013   for (var i = 0, l = value.length; i < l; ++i) {
 94014     if (hasOwnProperty(value, String(i))) {
 94015       output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
 94016           String(i), true));
 94017     } else {
 94018       output.push('');
 94019     }
 94020   }
 94021   keys.forEach(function(key) {
 94022     if (!key.match(/^\d+$/)) {
 94023       output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
 94024           key, true));
 94025     }
 94026   });
 94027   return output;
 94028 }
 94029 
 94030 
 94031 function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
 94032   var name, str, desc;
 94033   desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
 94034   if (desc.get) {
 94035     if (desc.set) {
 94036       str = ctx.stylize('[Getter/Setter]', 'special');
 94037     } else {
 94038       str = ctx.stylize('[Getter]', 'special');
 94039     }
 94040   } else {
 94041     if (desc.set) {
 94042       str = ctx.stylize('[Setter]', 'special');
 94043     }
 94044   }
 94045   if (!hasOwnProperty(visibleKeys, key)) {
 94046     name = '[' + key + ']';
 94047   }
 94048   if (!str) {
 94049     if (ctx.seen.indexOf(desc.value) < 0) {
 94050       if (isNull(recurseTimes)) {
 94051         str = formatValue(ctx, desc.value, null);
 94052       } else {
 94053         str = formatValue(ctx, desc.value, recurseTimes - 1);
 94054       }
 94055       if (str.indexOf('\n') > -1) {
 94056         if (array) {
 94057           str = str.split('\n').map(function(line) {
 94058             return '  ' + line;
 94059           }).join('\n').substr(2);
 94060         } else {
 94061           str = '\n' + str.split('\n').map(function(line) {
 94062             return '   ' + line;
 94063           }).join('\n');
 94064         }
 94065       }
 94066     } else {
 94067       str = ctx.stylize('[Circular]', 'special');
 94068     }
 94069   }
 94070   if (isUndefined(name)) {
 94071     if (array && key.match(/^\d+$/)) {
 94072       return str;
 94073     }
 94074     name = JSON.stringify('' + key);
 94075     if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
 94076       name = name.substr(1, name.length - 2);
 94077       name = ctx.stylize(name, 'name');
 94078     } else {
 94079       name = name.replace(/'/g, "\\'")
 94080                  .replace(/\\"/g, '"')
 94081                  .replace(/(^"|"$)/g, "'");
 94082       name = ctx.stylize(name, 'string');
 94083     }
 94084   }
 94085 
 94086   return name + ': ' + str;
 94087 }
 94088 
 94089 
 94090 function reduceToSingleString(output, base, braces) {
 94091   var numLinesEst = 0;
 94092   var length = output.reduce(function(prev, cur) {
 94093     numLinesEst++;
 94094     if (cur.indexOf('\n') >= 0) numLinesEst++;
 94095     return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
 94096   }, 0);
 94097 
 94098   if (length > 60) {
 94099     return braces[0] +
 94100            (base === '' ? '' : base + '\n ') +
 94101            ' ' +
 94102            output.join(',\n  ') +
 94103            ' ' +
 94104            braces[1];
 94105   }
 94106 
 94107   return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
 94108 }
 94109 
 94110 
 94111 function isArray(ar) {
 94112   return Array.isArray(ar);
 94113 }
 94114 exports.isArray = isArray;
 94115 
 94116 function isBoolean(arg) {
 94117   return typeof arg === 'boolean';
 94118 }
 94119 exports.isBoolean = isBoolean;
 94120 
 94121 function isNull(arg) {
 94122   return arg === null;
 94123 }
 94124 exports.isNull = isNull;
 94125 
 94126 function isNullOrUndefined(arg) {
 94127   return arg == null;
 94128 }
 94129 exports.isNullOrUndefined = isNullOrUndefined;
 94130 
 94131 function isNumber(arg) {
 94132   return typeof arg === 'number';
 94133 }
 94134 exports.isNumber = isNumber;
 94135 
 94136 function isString(arg) {
 94137   return typeof arg === 'string';
 94138 }
 94139 exports.isString = isString;
 94140 
 94141 function isSymbol(arg) {
 94142   return typeof arg === 'symbol';
 94143 }
 94144 exports.isSymbol = isSymbol;
 94145 
 94146 function isUndefined(arg) {
 94147   return arg === void 0;
 94148 }
 94149 exports.isUndefined = isUndefined;
 94150 
 94151 function isRegExp(re) {
 94152   return isObject(re) && objectToString(re) === '[object RegExp]';
 94153 }
 94154 exports.isRegExp = isRegExp;
 94155 
 94156 function isObject(arg) {
 94157   return typeof arg === 'object' && arg !== null;
 94158 }
 94159 exports.isObject = isObject;
 94160 
 94161 function isDate(d) {
 94162   return isObject(d) && objectToString(d) === '[object Date]';
 94163 }
 94164 exports.isDate = isDate;
 94165 
 94166 function isError(e) {
 94167   return isObject(e) &&
 94168       (objectToString(e) === '[object Error]' || e instanceof Error);
 94169 }
 94170 exports.isError = isError;
 94171 
 94172 function isFunction(arg) {
 94173   return typeof arg === 'function';
 94174 }
 94175 exports.isFunction = isFunction;
 94176 
 94177 function isPrimitive(arg) {
 94178   return arg === null ||
 94179          typeof arg === 'boolean' ||
 94180          typeof arg === 'number' ||
 94181          typeof arg === 'string' ||
 94182          typeof arg === 'symbol' ||  // ES6 symbol
 94183          typeof arg === 'undefined';
 94184 }
 94185 exports.isPrimitive = isPrimitive;
 94186 
 94187 exports.isBuffer = require('./support/isBuffer');
 94188 
 94189 function objectToString(o) {
 94190   return Object.prototype.toString.call(o);
 94191 }
 94192 
 94193 
 94194 function pad(n) {
 94195   return n < 10 ? '0' + n.toString(10) : n.toString(10);
 94196 }
 94197 
 94198 
 94199 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
 94200               'Oct', 'Nov', 'Dec'];
 94201 
 94202 function timestamp() {
 94203   var d = new Date();
 94204   var time = [pad(d.getHours()),
 94205               pad(d.getMinutes()),
 94206               pad(d.getSeconds())].join(':');
 94207   return [d.getDate(), months[d.getMonth()], time].join(' ');
 94208 }
 94209 
 94210 
 94211 exports.log = function() {
 94212   console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
 94213 };
 94214 
 94215 
 94216 
 94217 exports.inherits = require('inherits');
 94218 
 94219 exports._extend = function(origin, add) {
 94220   if (!add || !isObject(add)) return origin;
 94221 
 94222   var keys = Object.keys(add);
 94223   var i = keys.length;
 94224   while (i--) {
 94225     origin[keys[i]] = add[keys[i]];
 94226   }
 94227   return origin;
 94228 };
 94229 
 94230 function hasOwnProperty(obj, prop) {
 94231   return Object.prototype.hasOwnProperty.call(obj, prop);
 94232 }
 94233 
 94234 }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
 94235 },{"./support/isBuffer":257,"_process":251,"inherits":256}],259:[function(require,module,exports){
 94236 (function (global){
 94237 
 94238 
 94239 
 94240 'use strict'
 94241 
 94242 var base64 = require('base64-js')
 94243 var ieee754 = require('ieee754')
 94244 var isArray = require('isarray')
 94245 
 94246 exports.Buffer = Buffer
 94247 exports.SlowBuffer = SlowBuffer
 94248 exports.INSPECT_MAX_BYTES = 50
 94249 
 94250 
 94251 Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
 94252   ? global.TYPED_ARRAY_SUPPORT
 94253   : typedArraySupport()
 94254 
 94255 
 94256 exports.kMaxLength = kMaxLength()
 94257 
 94258 function typedArraySupport () {
 94259   try {
 94260     var arr = new Uint8Array(1)
 94261     arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
 94262     return arr.foo() === 42 && // typed array instances can be augmented
 94263         typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
 94264         arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
 94265   } catch (e) {
 94266     return false
 94267   }
 94268 }
 94269 
 94270 function kMaxLength () {
 94271   return Buffer.TYPED_ARRAY_SUPPORT
 94272     ? 0x7fffffff
 94273     : 0x3fffffff
 94274 }
 94275 
 94276 function createBuffer (that, length) {
 94277   if (kMaxLength() < length) {
 94278     throw new RangeError('Invalid typed array length')
 94279   }
 94280   if (Buffer.TYPED_ARRAY_SUPPORT) {
 94281     that = new Uint8Array(length)
 94282     that.__proto__ = Buffer.prototype
 94283   } else {
 94284     if (that === null) {
 94285       that = new Buffer(length)
 94286     }
 94287     that.length = length
 94288   }
 94289 
 94290   return that
 94291 }
 94292 
 94293 
 94294 
 94295 function Buffer (arg, encodingOrOffset, length) {
 94296   if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
 94297     return new Buffer(arg, encodingOrOffset, length)
 94298   }
 94299 
 94300   if (typeof arg === 'number') {
 94301     if (typeof encodingOrOffset === 'string') {
 94302       throw new Error(
 94303         'If encoding is specified then the first argument must be a string'
 94304       )
 94305     }
 94306     return allocUnsafe(this, arg)
 94307   }
 94308   return from(this, arg, encodingOrOffset, length)
 94309 }
 94310 
 94311 Buffer.poolSize = 8192 // not used by this implementation
 94312 
 94313 Buffer._augment = function (arr) {
 94314   arr.__proto__ = Buffer.prototype
 94315   return arr
 94316 }
 94317 
 94318 function from (that, value, encodingOrOffset, length) {
 94319   if (typeof value === 'number') {
 94320     throw new TypeError('"value" argument must not be a number')
 94321   }
 94322 
 94323   if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
 94324     return fromArrayBuffer(that, value, encodingOrOffset, length)
 94325   }
 94326 
 94327   if (typeof value === 'string') {
 94328     return fromString(that, value, encodingOrOffset)
 94329   }
 94330 
 94331   return fromObject(that, value)
 94332 }
 94333 
 94334 
 94335 Buffer.from = function (value, encodingOrOffset, length) {
 94336   return from(null, value, encodingOrOffset, length)
 94337 }
 94338 
 94339 if (Buffer.TYPED_ARRAY_SUPPORT) {
 94340   Buffer.prototype.__proto__ = Uint8Array.prototype
 94341   Buffer.__proto__ = Uint8Array
 94342   if (typeof Symbol !== 'undefined' && Symbol.species &&
 94343       Buffer[Symbol.species] === Buffer) {
 94344     Object.defineProperty(Buffer, Symbol.species, {
 94345       value: null,
 94346       configurable: true
 94347     })
 94348   }
 94349 }
 94350 
 94351 function assertSize (size) {
 94352   if (typeof size !== 'number') {
 94353     throw new TypeError('"size" argument must be a number')
 94354   } else if (size < 0) {
 94355     throw new RangeError('"size" argument must not be negative')
 94356   }
 94357 }
 94358 
 94359 function alloc (that, size, fill, encoding) {
 94360   assertSize(size)
 94361   if (size <= 0) {
 94362     return createBuffer(that, size)
 94363   }
 94364   if (fill !== undefined) {
 94365     return typeof encoding === 'string'
 94366       ? createBuffer(that, size).fill(fill, encoding)
 94367       : createBuffer(that, size).fill(fill)
 94368   }
 94369   return createBuffer(that, size)
 94370 }
 94371 
 94372 
 94373 Buffer.alloc = function (size, fill, encoding) {
 94374   return alloc(null, size, fill, encoding)
 94375 }
 94376 
 94377 function allocUnsafe (that, size) {
 94378   assertSize(size)
 94379   that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
 94380   if (!Buffer.TYPED_ARRAY_SUPPORT) {
 94381     for (var i = 0; i < size; ++i) {
 94382       that[i] = 0
 94383     }
 94384   }
 94385   return that
 94386 }
 94387 
 94388 
 94389 Buffer.allocUnsafe = function (size) {
 94390   return allocUnsafe(null, size)
 94391 }
 94392 
 94393 Buffer.allocUnsafeSlow = function (size) {
 94394   return allocUnsafe(null, size)
 94395 }
 94396 
 94397 function fromString (that, string, encoding) {
 94398   if (typeof encoding !== 'string' || encoding === '') {
 94399     encoding = 'utf8'
 94400   }
 94401 
 94402   if (!Buffer.isEncoding(encoding)) {
 94403     throw new TypeError('"encoding" must be a valid string encoding')
 94404   }
 94405 
 94406   var length = byteLength(string, encoding) | 0
 94407   that = createBuffer(that, length)
 94408 
 94409   var actual = that.write(string, encoding)
 94410 
 94411   if (actual !== length) {
 94412     that = that.slice(0, actual)
 94413   }
 94414 
 94415   return that
 94416 }
 94417 
 94418 function fromArrayLike (that, array) {
 94419   var length = array.length < 0 ? 0 : checked(array.length) | 0
 94420   that = createBuffer(that, length)
 94421   for (var i = 0; i < length; i += 1) {
 94422     that[i] = array[i] & 255
 94423   }
 94424   return that
 94425 }
 94426 
 94427 function fromArrayBuffer (that, array, byteOffset, length) {
 94428   array.byteLength // this throws if `array` is not a valid ArrayBuffer
 94429 
 94430   if (byteOffset < 0 || array.byteLength < byteOffset) {
 94431     throw new RangeError('\'offset\' is out of bounds')
 94432   }
 94433 
 94434   if (array.byteLength < byteOffset + (length || 0)) {
 94435     throw new RangeError('\'length\' is out of bounds')
 94436   }
 94437 
 94438   if (byteOffset === undefined && length === undefined) {
 94439     array = new Uint8Array(array)
 94440   } else if (length === undefined) {
 94441     array = new Uint8Array(array, byteOffset)
 94442   } else {
 94443     array = new Uint8Array(array, byteOffset, length)
 94444   }
 94445 
 94446   if (Buffer.TYPED_ARRAY_SUPPORT) {
 94447     that = array
 94448     that.__proto__ = Buffer.prototype
 94449   } else {
 94450     that = fromArrayLike(that, array)
 94451   }
 94452   return that
 94453 }
 94454 
 94455 function fromObject (that, obj) {
 94456   if (Buffer.isBuffer(obj)) {
 94457     var len = checked(obj.length) | 0
 94458     that = createBuffer(that, len)
 94459 
 94460     if (that.length === 0) {
 94461       return that
 94462     }
 94463 
 94464     obj.copy(that, 0, 0, len)
 94465     return that
 94466   }
 94467 
 94468   if (obj) {
 94469     if ((typeof ArrayBuffer !== 'undefined' &&
 94470         obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
 94471       if (typeof obj.length !== 'number' || isnan(obj.length)) {
 94472         return createBuffer(that, 0)
 94473       }
 94474       return fromArrayLike(that, obj)
 94475     }
 94476 
 94477     if (obj.type === 'Buffer' && isArray(obj.data)) {
 94478       return fromArrayLike(that, obj.data)
 94479     }
 94480   }
 94481 
 94482   throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
 94483 }
 94484 
 94485 function checked (length) {
 94486   if (length >= kMaxLength()) {
 94487     throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
 94488                          'size: 0x' + kMaxLength().toString(16) + ' bytes')
 94489   }
 94490   return length | 0
 94491 }
 94492 
 94493 function SlowBuffer (length) {
 94494   if (+length != length) { // eslint-disable-line eqeqeq
 94495     length = 0
 94496   }
 94497   return Buffer.alloc(+length)
 94498 }
 94499 
 94500 Buffer.isBuffer = function isBuffer (b) {
 94501   return !!(b != null && b._isBuffer)
 94502 }
 94503 
 94504 Buffer.compare = function compare (a, b) {
 94505   if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
 94506     throw new TypeError('Arguments must be Buffers')
 94507   }
 94508 
 94509   if (a === b) return 0
 94510 
 94511   var x = a.length
 94512   var y = b.length
 94513 
 94514   for (var i = 0, len = Math.min(x, y); i < len; ++i) {
 94515     if (a[i] !== b[i]) {
 94516       x = a[i]
 94517       y = b[i]
 94518       break
 94519     }
 94520   }
 94521 
 94522   if (x < y) return -1
 94523   if (y < x) return 1
 94524   return 0
 94525 }
 94526 
 94527 Buffer.isEncoding = function isEncoding (encoding) {
 94528   switch (String(encoding).toLowerCase()) {
 94529     case 'hex':
 94530     case 'utf8':
 94531     case 'utf-8':
 94532     case 'ascii':
 94533     case 'latin1':
 94534     case 'binary':
 94535     case 'base64':
 94536     case 'ucs2':
 94537     case 'ucs-2':
 94538     case 'utf16le':
 94539     case 'utf-16le':
 94540       return true
 94541     default:
 94542       return false
 94543   }
 94544 }
 94545 
 94546 Buffer.concat = function concat (list, length) {
 94547   if (!isArray(list)) {
 94548     throw new TypeError('"list" argument must be an Array of Buffers')
 94549   }
 94550 
 94551   if (list.length === 0) {
 94552     return Buffer.alloc(0)
 94553   }
 94554 
 94555   var i
 94556   if (length === undefined) {
 94557     length = 0
 94558     for (i = 0; i < list.length; ++i) {
 94559       length += list[i].length
 94560     }
 94561   }
 94562 
 94563   var buffer = Buffer.allocUnsafe(length)
 94564   var pos = 0
 94565   for (i = 0; i < list.length; ++i) {
 94566     var buf = list[i]
 94567     if (!Buffer.isBuffer(buf)) {
 94568       throw new TypeError('"list" argument must be an Array of Buffers')
 94569     }
 94570     buf.copy(buffer, pos)
 94571     pos += buf.length
 94572   }
 94573   return buffer
 94574 }
 94575 
 94576 function byteLength (string, encoding) {
 94577   if (Buffer.isBuffer(string)) {
 94578     return string.length
 94579   }
 94580   if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
 94581       (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
 94582     return string.byteLength
 94583   }
 94584   if (typeof string !== 'string') {
 94585     string = '' + string
 94586   }
 94587 
 94588   var len = string.length
 94589   if (len === 0) return 0
 94590 
 94591   var loweredCase = false
 94592   for (;;) {
 94593     switch (encoding) {
 94594       case 'ascii':
 94595       case 'latin1':
 94596       case 'binary':
 94597         return len
 94598       case 'utf8':
 94599       case 'utf-8':
 94600       case undefined:
 94601         return utf8ToBytes(string).length
 94602       case 'ucs2':
 94603       case 'ucs-2':
 94604       case 'utf16le':
 94605       case 'utf-16le':
 94606         return len * 2
 94607       case 'hex':
 94608         return len >>> 1
 94609       case 'base64':
 94610         return base64ToBytes(string).length
 94611       default:
 94612         if (loweredCase) return utf8ToBytes(string).length // assume utf8
 94613         encoding = ('' + encoding).toLowerCase()
 94614         loweredCase = true
 94615     }
 94616   }
 94617 }
 94618 Buffer.byteLength = byteLength
 94619 
 94620 function slowToString (encoding, start, end) {
 94621   var loweredCase = false
 94622 
 94623 
 94624   if (start === undefined || start < 0) {
 94625     start = 0
 94626   }
 94627   if (start > this.length) {
 94628     return ''
 94629   }
 94630 
 94631   if (end === undefined || end > this.length) {
 94632     end = this.length
 94633   }
 94634 
 94635   if (end <= 0) {
 94636     return ''
 94637   }
 94638 
 94639   end >>>= 0
 94640   start >>>= 0
 94641 
 94642   if (end <= start) {
 94643     return ''
 94644   }
 94645 
 94646   if (!encoding) encoding = 'utf8'
 94647 
 94648   while (true) {
 94649     switch (encoding) {
 94650       case 'hex':
 94651         return hexSlice(this, start, end)
 94652 
 94653       case 'utf8':
 94654       case 'utf-8':
 94655         return utf8Slice(this, start, end)
 94656 
 94657       case 'ascii':
 94658         return asciiSlice(this, start, end)
 94659 
 94660       case 'latin1':
 94661       case 'binary':
 94662         return latin1Slice(this, start, end)
 94663 
 94664       case 'base64':
 94665         return base64Slice(this, start, end)
 94666 
 94667       case 'ucs2':
 94668       case 'ucs-2':
 94669       case 'utf16le':
 94670       case 'utf-16le':
 94671         return utf16leSlice(this, start, end)
 94672 
 94673       default:
 94674         if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
 94675         encoding = (encoding + '').toLowerCase()
 94676         loweredCase = true
 94677     }
 94678   }
 94679 }
 94680 
 94681 Buffer.prototype._isBuffer = true
 94682 
 94683 function swap (b, n, m) {
 94684   var i = b[n]
 94685   b[n] = b[m]
 94686   b[m] = i
 94687 }
 94688 
 94689 Buffer.prototype.swap16 = function swap16 () {
 94690   var len = this.length
 94691   if (len % 2 !== 0) {
 94692     throw new RangeError('Buffer size must be a multiple of 16-bits')
 94693   }
 94694   for (var i = 0; i < len; i += 2) {
 94695     swap(this, i, i + 1)
 94696   }
 94697   return this
 94698 }
 94699 
 94700 Buffer.prototype.swap32 = function swap32 () {
 94701   var len = this.length
 94702   if (len % 4 !== 0) {
 94703     throw new RangeError('Buffer size must be a multiple of 32-bits')
 94704   }
 94705   for (var i = 0; i < len; i += 4) {
 94706     swap(this, i, i + 3)
 94707     swap(this, i + 1, i + 2)
 94708   }
 94709   return this
 94710 }
 94711 
 94712 Buffer.prototype.swap64 = function swap64 () {
 94713   var len = this.length
 94714   if (len % 8 !== 0) {
 94715     throw new RangeError('Buffer size must be a multiple of 64-bits')
 94716   }
 94717   for (var i = 0; i < len; i += 8) {
 94718     swap(this, i, i + 7)
 94719     swap(this, i + 1, i + 6)
 94720     swap(this, i + 2, i + 5)
 94721     swap(this, i + 3, i + 4)
 94722   }
 94723   return this
 94724 }
 94725 
 94726 Buffer.prototype.toString = function toString () {
 94727   var length = this.length | 0
 94728   if (length === 0) return ''
 94729   if (arguments.length === 0) return utf8Slice(this, 0, length)
 94730   return slowToString.apply(this, arguments)
 94731 }
 94732 
 94733 Buffer.prototype.equals = function equals (b) {
 94734   if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
 94735   if (this === b) return true
 94736   return Buffer.compare(this, b) === 0
 94737 }
 94738 
 94739 Buffer.prototype.inspect = function inspect () {
 94740   var str = ''
 94741   var max = exports.INSPECT_MAX_BYTES
 94742   if (this.length > 0) {
 94743     str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
 94744     if (this.length > max) str += ' ... '
 94745   }
 94746   return '<Buffer ' + str + '>'
 94747 }
 94748 
 94749 Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
 94750   if (!Buffer.isBuffer(target)) {
 94751     throw new TypeError('Argument must be a Buffer')
 94752   }
 94753 
 94754   if (start === undefined) {
 94755     start = 0
 94756   }
 94757   if (end === undefined) {
 94758     end = target ? target.length : 0
 94759   }
 94760   if (thisStart === undefined) {
 94761     thisStart = 0
 94762   }
 94763   if (thisEnd === undefined) {
 94764     thisEnd = this.length
 94765   }
 94766 
 94767   if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
 94768     throw new RangeError('out of range index')
 94769   }
 94770 
 94771   if (thisStart >= thisEnd && start >= end) {
 94772     return 0
 94773   }
 94774   if (thisStart >= thisEnd) {
 94775     return -1
 94776   }
 94777   if (start >= end) {
 94778     return 1
 94779   }
 94780 
 94781   start >>>= 0
 94782   end >>>= 0
 94783   thisStart >>>= 0
 94784   thisEnd >>>= 0
 94785 
 94786   if (this === target) return 0
 94787 
 94788   var x = thisEnd - thisStart
 94789   var y = end - start
 94790   var len = Math.min(x, y)
 94791 
 94792   var thisCopy = this.slice(thisStart, thisEnd)
 94793   var targetCopy = target.slice(start, end)
 94794 
 94795   for (var i = 0; i < len; ++i) {
 94796     if (thisCopy[i] !== targetCopy[i]) {
 94797       x = thisCopy[i]
 94798       y = targetCopy[i]
 94799       break
 94800     }
 94801   }
 94802 
 94803   if (x < y) return -1
 94804   if (y < x) return 1
 94805   return 0
 94806 }
 94807 
 94808 function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
 94809   if (buffer.length === 0) return -1
 94810 
 94811   if (typeof byteOffset === 'string') {
 94812     encoding = byteOffset
 94813     byteOffset = 0
 94814   } else if (byteOffset > 0x7fffffff) {
 94815     byteOffset = 0x7fffffff
 94816   } else if (byteOffset < -0x80000000) {
 94817     byteOffset = -0x80000000
 94818   }
 94819   byteOffset = +byteOffset  // Coerce to Number.
 94820   if (isNaN(byteOffset)) {
 94821     byteOffset = dir ? 0 : (buffer.length - 1)
 94822   }
 94823 
 94824   if (byteOffset < 0) byteOffset = buffer.length + byteOffset
 94825   if (byteOffset >= buffer.length) {
 94826     if (dir) return -1
 94827     else byteOffset = buffer.length - 1
 94828   } else if (byteOffset < 0) {
 94829     if (dir) byteOffset = 0
 94830     else return -1
 94831   }
 94832 
 94833   if (typeof val === 'string') {
 94834     val = Buffer.from(val, encoding)
 94835   }
 94836 
 94837   if (Buffer.isBuffer(val)) {
 94838     if (val.length === 0) {
 94839       return -1
 94840     }
 94841     return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
 94842   } else if (typeof val === 'number') {
 94843     val = val & 0xFF // Search for a byte value [0-255]
 94844     if (Buffer.TYPED_ARRAY_SUPPORT &&
 94845         typeof Uint8Array.prototype.indexOf === 'function') {
 94846       if (dir) {
 94847         return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
 94848       } else {
 94849         return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
 94850       }
 94851     }
 94852     return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
 94853   }
 94854 
 94855   throw new TypeError('val must be string, number or Buffer')
 94856 }
 94857 
 94858 function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
 94859   var indexSize = 1
 94860   var arrLength = arr.length
 94861   var valLength = val.length
 94862 
 94863   if (encoding !== undefined) {
 94864     encoding = String(encoding).toLowerCase()
 94865     if (encoding === 'ucs2' || encoding === 'ucs-2' ||
 94866         encoding === 'utf16le' || encoding === 'utf-16le') {
 94867       if (arr.length < 2 || val.length < 2) {
 94868         return -1
 94869       }
 94870       indexSize = 2
 94871       arrLength /= 2
 94872       valLength /= 2
 94873       byteOffset /= 2
 94874     }
 94875   }
 94876 
 94877   function read (buf, i) {
 94878     if (indexSize === 1) {
 94879       return buf[i]
 94880     } else {
 94881       return buf.readUInt16BE(i * indexSize)
 94882     }
 94883   }
 94884 
 94885   var i
 94886   if (dir) {
 94887     var foundIndex = -1
 94888     for (i = byteOffset; i < arrLength; i++) {
 94889       if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
 94890         if (foundIndex === -1) foundIndex = i
 94891         if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
 94892       } else {
 94893         if (foundIndex !== -1) i -= i - foundIndex
 94894         foundIndex = -1
 94895       }
 94896     }
 94897   } else {
 94898     if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
 94899     for (i = byteOffset; i >= 0; i--) {
 94900       var found = true
 94901       for (var j = 0; j < valLength; j++) {
 94902         if (read(arr, i + j) !== read(val, j)) {
 94903           found = false
 94904           break
 94905         }
 94906       }
 94907       if (found) return i
 94908     }
 94909   }
 94910 
 94911   return -1
 94912 }
 94913 
 94914 Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
 94915   return this.indexOf(val, byteOffset, encoding) !== -1
 94916 }
 94917 
 94918 Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
 94919   return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
 94920 }
 94921 
 94922 Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
 94923   return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
 94924 }
 94925 
 94926 function hexWrite (buf, string, offset, length) {
 94927   offset = Number(offset) || 0
 94928   var remaining = buf.length - offset
 94929   if (!length) {
 94930     length = remaining
 94931   } else {
 94932     length = Number(length)
 94933     if (length > remaining) {
 94934       length = remaining
 94935     }
 94936   }
 94937 
 94938   var strLen = string.length
 94939   if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
 94940 
 94941   if (length > strLen / 2) {
 94942     length = strLen / 2
 94943   }
 94944   for (var i = 0; i < length; ++i) {
 94945     var parsed = parseInt(string.substr(i * 2, 2), 16)
 94946     if (isNaN(parsed)) return i
 94947     buf[offset + i] = parsed
 94948   }
 94949   return i
 94950 }
 94951 
 94952 function utf8Write (buf, string, offset, length) {
 94953   return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
 94954 }
 94955 
 94956 function asciiWrite (buf, string, offset, length) {
 94957   return blitBuffer(asciiToBytes(string), buf, offset, length)
 94958 }
 94959 
 94960 function latin1Write (buf, string, offset, length) {
 94961   return asciiWrite(buf, string, offset, length)
 94962 }
 94963 
 94964 function base64Write (buf, string, offset, length) {
 94965   return blitBuffer(base64ToBytes(string), buf, offset, length)
 94966 }
 94967 
 94968 function ucs2Write (buf, string, offset, length) {
 94969   return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
 94970 }
 94971 
 94972 Buffer.prototype.write = function write (string, offset, length, encoding) {
 94973   if (offset === undefined) {
 94974     encoding = 'utf8'
 94975     length = this.length
 94976     offset = 0
 94977   } else if (length === undefined && typeof offset === 'string') {
 94978     encoding = offset
 94979     length = this.length
 94980     offset = 0
 94981   } else if (isFinite(offset)) {
 94982     offset = offset | 0
 94983     if (isFinite(length)) {
 94984       length = length | 0
 94985       if (encoding === undefined) encoding = 'utf8'
 94986     } else {
 94987       encoding = length
 94988       length = undefined
 94989     }
 94990   } else {
 94991     throw new Error(
 94992       'Buffer.write(string, encoding, offset[, length]) is no longer supported'
 94993     )
 94994   }
 94995 
 94996   var remaining = this.length - offset
 94997   if (length === undefined || length > remaining) length = remaining
 94998 
 94999   if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
 95000     throw new RangeError('Attempt to write outside buffer bounds')
 95001   }
 95002 
 95003   if (!encoding) encoding = 'utf8'
 95004 
 95005   var loweredCase = false
 95006   for (;;) {
 95007     switch (encoding) {
 95008       case 'hex':
 95009         return hexWrite(this, string, offset, length)
 95010 
 95011       case 'utf8':
 95012       case 'utf-8':
 95013         return utf8Write(this, string, offset, length)
 95014 
 95015       case 'ascii':
 95016         return asciiWrite(this, string, offset, length)
 95017 
 95018       case 'latin1':
 95019       case 'binary':
 95020         return latin1Write(this, string, offset, length)
 95021 
 95022       case 'base64':
 95023         return base64Write(this, string, offset, length)
 95024 
 95025       case 'ucs2':
 95026       case 'ucs-2':
 95027       case 'utf16le':
 95028       case 'utf-16le':
 95029         return ucs2Write(this, string, offset, length)
 95030 
 95031       default:
 95032         if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
 95033         encoding = ('' + encoding).toLowerCase()
 95034         loweredCase = true
 95035     }
 95036   }
 95037 }
 95038 
 95039 Buffer.prototype.toJSON = function toJSON () {
 95040   return {
 95041     type: 'Buffer',
 95042     data: Array.prototype.slice.call(this._arr || this, 0)
 95043   }
 95044 }
 95045 
 95046 function base64Slice (buf, start, end) {
 95047   if (start === 0 && end === buf.length) {
 95048     return base64.fromByteArray(buf)
 95049   } else {
 95050     return base64.fromByteArray(buf.slice(start, end))
 95051   }
 95052 }
 95053 
 95054 function utf8Slice (buf, start, end) {
 95055   end = Math.min(buf.length, end)
 95056   var res = []
 95057 
 95058   var i = start
 95059   while (i < end) {
 95060     var firstByte = buf[i]
 95061     var codePoint = null
 95062     var bytesPerSequence = (firstByte > 0xEF) ? 4
 95063       : (firstByte > 0xDF) ? 3
 95064       : (firstByte > 0xBF) ? 2
 95065       : 1
 95066 
 95067     if (i + bytesPerSequence <= end) {
 95068       var secondByte, thirdByte, fourthByte, tempCodePoint
 95069 
 95070       switch (bytesPerSequence) {
 95071         case 1:
 95072           if (firstByte < 0x80) {
 95073             codePoint = firstByte
 95074           }
 95075           break
 95076         case 2:
 95077           secondByte = buf[i + 1]
 95078           if ((secondByte & 0xC0) === 0x80) {
 95079             tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
 95080             if (tempCodePoint > 0x7F) {
 95081               codePoint = tempCodePoint
 95082             }
 95083           }
 95084           break
 95085         case 3:
 95086           secondByte = buf[i + 1]
 95087           thirdByte = buf[i + 2]
 95088           if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
 95089             tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
 95090             if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
 95091               codePoint = tempCodePoint
 95092             }
 95093           }
 95094           break
 95095         case 4:
 95096           secondByte = buf[i + 1]
 95097           thirdByte = buf[i + 2]
 95098           fourthByte = buf[i + 3]
 95099           if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
 95100             tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
 95101             if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
 95102               codePoint = tempCodePoint
 95103             }
 95104           }
 95105       }
 95106     }
 95107 
 95108     if (codePoint === null) {
 95109       codePoint = 0xFFFD
 95110       bytesPerSequence = 1
 95111     } else if (codePoint > 0xFFFF) {
 95112       codePoint -= 0x10000
 95113       res.push(codePoint >>> 10 & 0x3FF | 0xD800)
 95114       codePoint = 0xDC00 | codePoint & 0x3FF
 95115     }
 95116 
 95117     res.push(codePoint)
 95118     i += bytesPerSequence
 95119   }
 95120 
 95121   return decodeCodePointsArray(res)
 95122 }
 95123 
 95124 var MAX_ARGUMENTS_LENGTH = 0x1000
 95125 
 95126 function decodeCodePointsArray (codePoints) {
 95127   var len = codePoints.length
 95128   if (len <= MAX_ARGUMENTS_LENGTH) {
 95129     return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
 95130   }
 95131 
 95132   var res = ''
 95133   var i = 0
 95134   while (i < len) {
 95135     res += String.fromCharCode.apply(
 95136       String,
 95137       codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
 95138     )
 95139   }
 95140   return res
 95141 }
 95142 
 95143 function asciiSlice (buf, start, end) {
 95144   var ret = ''
 95145   end = Math.min(buf.length, end)
 95146 
 95147   for (var i = start; i < end; ++i) {
 95148     ret += String.fromCharCode(buf[i] & 0x7F)
 95149   }
 95150   return ret
 95151 }
 95152 
 95153 function latin1Slice (buf, start, end) {
 95154   var ret = ''
 95155   end = Math.min(buf.length, end)
 95156 
 95157   for (var i = start; i < end; ++i) {
 95158     ret += String.fromCharCode(buf[i])
 95159   }
 95160   return ret
 95161 }
 95162 
 95163 function hexSlice (buf, start, end) {
 95164   var len = buf.length
 95165 
 95166   if (!start || start < 0) start = 0
 95167   if (!end || end < 0 || end > len) end = len
 95168 
 95169   var out = ''
 95170   for (var i = start; i < end; ++i) {
 95171     out += toHex(buf[i])
 95172   }
 95173   return out
 95174 }
 95175 
 95176 function utf16leSlice (buf, start, end) {
 95177   var bytes = buf.slice(start, end)
 95178   var res = ''
 95179   for (var i = 0; i < bytes.length; i += 2) {
 95180     res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
 95181   }
 95182   return res
 95183 }
 95184 
 95185 Buffer.prototype.slice = function slice (start, end) {
 95186   var len = this.length
 95187   start = ~~start
 95188   end = end === undefined ? len : ~~end
 95189 
 95190   if (start < 0) {
 95191     start += len
 95192     if (start < 0) start = 0
 95193   } else if (start > len) {
 95194     start = len
 95195   }
 95196 
 95197   if (end < 0) {
 95198     end += len
 95199     if (end < 0) end = 0
 95200   } else if (end > len) {
 95201     end = len
 95202   }
 95203 
 95204   if (end < start) end = start
 95205 
 95206   var newBuf
 95207   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95208     newBuf = this.subarray(start, end)
 95209     newBuf.__proto__ = Buffer.prototype
 95210   } else {
 95211     var sliceLen = end - start
 95212     newBuf = new Buffer(sliceLen, undefined)
 95213     for (var i = 0; i < sliceLen; ++i) {
 95214       newBuf[i] = this[i + start]
 95215     }
 95216   }
 95217 
 95218   return newBuf
 95219 }
 95220 
 95221 
 95222 function checkOffset (offset, ext, length) {
 95223   if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
 95224   if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
 95225 }
 95226 
 95227 Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
 95228   offset = offset | 0
 95229   byteLength = byteLength | 0
 95230   if (!noAssert) checkOffset(offset, byteLength, this.length)
 95231 
 95232   var val = this[offset]
 95233   var mul = 1
 95234   var i = 0
 95235   while (++i < byteLength && (mul *= 0x100)) {
 95236     val += this[offset + i] * mul
 95237   }
 95238 
 95239   return val
 95240 }
 95241 
 95242 Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
 95243   offset = offset | 0
 95244   byteLength = byteLength | 0
 95245   if (!noAssert) {
 95246     checkOffset(offset, byteLength, this.length)
 95247   }
 95248 
 95249   var val = this[offset + --byteLength]
 95250   var mul = 1
 95251   while (byteLength > 0 && (mul *= 0x100)) {
 95252     val += this[offset + --byteLength] * mul
 95253   }
 95254 
 95255   return val
 95256 }
 95257 
 95258 Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
 95259   if (!noAssert) checkOffset(offset, 1, this.length)
 95260   return this[offset]
 95261 }
 95262 
 95263 Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
 95264   if (!noAssert) checkOffset(offset, 2, this.length)
 95265   return this[offset] | (this[offset + 1] << 8)
 95266 }
 95267 
 95268 Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
 95269   if (!noAssert) checkOffset(offset, 2, this.length)
 95270   return (this[offset] << 8) | this[offset + 1]
 95271 }
 95272 
 95273 Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
 95274   if (!noAssert) checkOffset(offset, 4, this.length)
 95275 
 95276   return ((this[offset]) |
 95277       (this[offset + 1] << 8) |
 95278       (this[offset + 2] << 16)) +
 95279       (this[offset + 3] * 0x1000000)
 95280 }
 95281 
 95282 Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
 95283   if (!noAssert) checkOffset(offset, 4, this.length)
 95284 
 95285   return (this[offset] * 0x1000000) +
 95286     ((this[offset + 1] << 16) |
 95287     (this[offset + 2] << 8) |
 95288     this[offset + 3])
 95289 }
 95290 
 95291 Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
 95292   offset = offset | 0
 95293   byteLength = byteLength | 0
 95294   if (!noAssert) checkOffset(offset, byteLength, this.length)
 95295 
 95296   var val = this[offset]
 95297   var mul = 1
 95298   var i = 0
 95299   while (++i < byteLength && (mul *= 0x100)) {
 95300     val += this[offset + i] * mul
 95301   }
 95302   mul *= 0x80
 95303 
 95304   if (val >= mul) val -= Math.pow(2, 8 * byteLength)
 95305 
 95306   return val
 95307 }
 95308 
 95309 Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
 95310   offset = offset | 0
 95311   byteLength = byteLength | 0
 95312   if (!noAssert) checkOffset(offset, byteLength, this.length)
 95313 
 95314   var i = byteLength
 95315   var mul = 1
 95316   var val = this[offset + --i]
 95317   while (i > 0 && (mul *= 0x100)) {
 95318     val += this[offset + --i] * mul
 95319   }
 95320   mul *= 0x80
 95321 
 95322   if (val >= mul) val -= Math.pow(2, 8 * byteLength)
 95323 
 95324   return val
 95325 }
 95326 
 95327 Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
 95328   if (!noAssert) checkOffset(offset, 1, this.length)
 95329   if (!(this[offset] & 0x80)) return (this[offset])
 95330   return ((0xff - this[offset] + 1) * -1)
 95331 }
 95332 
 95333 Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
 95334   if (!noAssert) checkOffset(offset, 2, this.length)
 95335   var val = this[offset] | (this[offset + 1] << 8)
 95336   return (val & 0x8000) ? val | 0xFFFF0000 : val
 95337 }
 95338 
 95339 Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
 95340   if (!noAssert) checkOffset(offset, 2, this.length)
 95341   var val = this[offset + 1] | (this[offset] << 8)
 95342   return (val & 0x8000) ? val | 0xFFFF0000 : val
 95343 }
 95344 
 95345 Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
 95346   if (!noAssert) checkOffset(offset, 4, this.length)
 95347 
 95348   return (this[offset]) |
 95349     (this[offset + 1] << 8) |
 95350     (this[offset + 2] << 16) |
 95351     (this[offset + 3] << 24)
 95352 }
 95353 
 95354 Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
 95355   if (!noAssert) checkOffset(offset, 4, this.length)
 95356 
 95357   return (this[offset] << 24) |
 95358     (this[offset + 1] << 16) |
 95359     (this[offset + 2] << 8) |
 95360     (this[offset + 3])
 95361 }
 95362 
 95363 Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
 95364   if (!noAssert) checkOffset(offset, 4, this.length)
 95365   return ieee754.read(this, offset, true, 23, 4)
 95366 }
 95367 
 95368 Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
 95369   if (!noAssert) checkOffset(offset, 4, this.length)
 95370   return ieee754.read(this, offset, false, 23, 4)
 95371 }
 95372 
 95373 Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
 95374   if (!noAssert) checkOffset(offset, 8, this.length)
 95375   return ieee754.read(this, offset, true, 52, 8)
 95376 }
 95377 
 95378 Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
 95379   if (!noAssert) checkOffset(offset, 8, this.length)
 95380   return ieee754.read(this, offset, false, 52, 8)
 95381 }
 95382 
 95383 function checkInt (buf, value, offset, ext, max, min) {
 95384   if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
 95385   if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
 95386   if (offset + ext > buf.length) throw new RangeError('Index out of range')
 95387 }
 95388 
 95389 Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
 95390   value = +value
 95391   offset = offset | 0
 95392   byteLength = byteLength | 0
 95393   if (!noAssert) {
 95394     var maxBytes = Math.pow(2, 8 * byteLength) - 1
 95395     checkInt(this, value, offset, byteLength, maxBytes, 0)
 95396   }
 95397 
 95398   var mul = 1
 95399   var i = 0
 95400   this[offset] = value & 0xFF
 95401   while (++i < byteLength && (mul *= 0x100)) {
 95402     this[offset + i] = (value / mul) & 0xFF
 95403   }
 95404 
 95405   return offset + byteLength
 95406 }
 95407 
 95408 Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
 95409   value = +value
 95410   offset = offset | 0
 95411   byteLength = byteLength | 0
 95412   if (!noAssert) {
 95413     var maxBytes = Math.pow(2, 8 * byteLength) - 1
 95414     checkInt(this, value, offset, byteLength, maxBytes, 0)
 95415   }
 95416 
 95417   var i = byteLength - 1
 95418   var mul = 1
 95419   this[offset + i] = value & 0xFF
 95420   while (--i >= 0 && (mul *= 0x100)) {
 95421     this[offset + i] = (value / mul) & 0xFF
 95422   }
 95423 
 95424   return offset + byteLength
 95425 }
 95426 
 95427 Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
 95428   value = +value
 95429   offset = offset | 0
 95430   if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
 95431   if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
 95432   this[offset] = (value & 0xff)
 95433   return offset + 1
 95434 }
 95435 
 95436 function objectWriteUInt16 (buf, value, offset, littleEndian) {
 95437   if (value < 0) value = 0xffff + value + 1
 95438   for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
 95439     buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
 95440       (littleEndian ? i : 1 - i) * 8
 95441   }
 95442 }
 95443 
 95444 Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
 95445   value = +value
 95446   offset = offset | 0
 95447   if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
 95448   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95449     this[offset] = (value & 0xff)
 95450     this[offset + 1] = (value >>> 8)
 95451   } else {
 95452     objectWriteUInt16(this, value, offset, true)
 95453   }
 95454   return offset + 2
 95455 }
 95456 
 95457 Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
 95458   value = +value
 95459   offset = offset | 0
 95460   if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
 95461   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95462     this[offset] = (value >>> 8)
 95463     this[offset + 1] = (value & 0xff)
 95464   } else {
 95465     objectWriteUInt16(this, value, offset, false)
 95466   }
 95467   return offset + 2
 95468 }
 95469 
 95470 function objectWriteUInt32 (buf, value, offset, littleEndian) {
 95471   if (value < 0) value = 0xffffffff + value + 1
 95472   for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
 95473     buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
 95474   }
 95475 }
 95476 
 95477 Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
 95478   value = +value
 95479   offset = offset | 0
 95480   if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
 95481   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95482     this[offset + 3] = (value >>> 24)
 95483     this[offset + 2] = (value >>> 16)
 95484     this[offset + 1] = (value >>> 8)
 95485     this[offset] = (value & 0xff)
 95486   } else {
 95487     objectWriteUInt32(this, value, offset, true)
 95488   }
 95489   return offset + 4
 95490 }
 95491 
 95492 Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
 95493   value = +value
 95494   offset = offset | 0
 95495   if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
 95496   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95497     this[offset] = (value >>> 24)
 95498     this[offset + 1] = (value >>> 16)
 95499     this[offset + 2] = (value >>> 8)
 95500     this[offset + 3] = (value & 0xff)
 95501   } else {
 95502     objectWriteUInt32(this, value, offset, false)
 95503   }
 95504   return offset + 4
 95505 }
 95506 
 95507 Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
 95508   value = +value
 95509   offset = offset | 0
 95510   if (!noAssert) {
 95511     var limit = Math.pow(2, 8 * byteLength - 1)
 95512 
 95513     checkInt(this, value, offset, byteLength, limit - 1, -limit)
 95514   }
 95515 
 95516   var i = 0
 95517   var mul = 1
 95518   var sub = 0
 95519   this[offset] = value & 0xFF
 95520   while (++i < byteLength && (mul *= 0x100)) {
 95521     if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
 95522       sub = 1
 95523     }
 95524     this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
 95525   }
 95526 
 95527   return offset + byteLength
 95528 }
 95529 
 95530 Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
 95531   value = +value
 95532   offset = offset | 0
 95533   if (!noAssert) {
 95534     var limit = Math.pow(2, 8 * byteLength - 1)
 95535 
 95536     checkInt(this, value, offset, byteLength, limit - 1, -limit)
 95537   }
 95538 
 95539   var i = byteLength - 1
 95540   var mul = 1
 95541   var sub = 0
 95542   this[offset + i] = value & 0xFF
 95543   while (--i >= 0 && (mul *= 0x100)) {
 95544     if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
 95545       sub = 1
 95546     }
 95547     this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
 95548   }
 95549 
 95550   return offset + byteLength
 95551 }
 95552 
 95553 Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
 95554   value = +value
 95555   offset = offset | 0
 95556   if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
 95557   if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
 95558   if (value < 0) value = 0xff + value + 1
 95559   this[offset] = (value & 0xff)
 95560   return offset + 1
 95561 }
 95562 
 95563 Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
 95564   value = +value
 95565   offset = offset | 0
 95566   if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
 95567   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95568     this[offset] = (value & 0xff)
 95569     this[offset + 1] = (value >>> 8)
 95570   } else {
 95571     objectWriteUInt16(this, value, offset, true)
 95572   }
 95573   return offset + 2
 95574 }
 95575 
 95576 Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
 95577   value = +value
 95578   offset = offset | 0
 95579   if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
 95580   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95581     this[offset] = (value >>> 8)
 95582     this[offset + 1] = (value & 0xff)
 95583   } else {
 95584     objectWriteUInt16(this, value, offset, false)
 95585   }
 95586   return offset + 2
 95587 }
 95588 
 95589 Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
 95590   value = +value
 95591   offset = offset | 0
 95592   if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
 95593   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95594     this[offset] = (value & 0xff)
 95595     this[offset + 1] = (value >>> 8)
 95596     this[offset + 2] = (value >>> 16)
 95597     this[offset + 3] = (value >>> 24)
 95598   } else {
 95599     objectWriteUInt32(this, value, offset, true)
 95600   }
 95601   return offset + 4
 95602 }
 95603 
 95604 Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
 95605   value = +value
 95606   offset = offset | 0
 95607   if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
 95608   if (value < 0) value = 0xffffffff + value + 1
 95609   if (Buffer.TYPED_ARRAY_SUPPORT) {
 95610     this[offset] = (value >>> 24)
 95611     this[offset + 1] = (value >>> 16)
 95612     this[offset + 2] = (value >>> 8)
 95613     this[offset + 3] = (value & 0xff)
 95614   } else {
 95615     objectWriteUInt32(this, value, offset, false)
 95616   }
 95617   return offset + 4
 95618 }
 95619 
 95620 function checkIEEE754 (buf, value, offset, ext, max, min) {
 95621   if (offset + ext > buf.length) throw new RangeError('Index out of range')
 95622   if (offset < 0) throw new RangeError('Index out of range')
 95623 }
 95624 
 95625 function writeFloat (buf, value, offset, littleEndian, noAssert) {
 95626   if (!noAssert) {
 95627     checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
 95628   }
 95629   ieee754.write(buf, value, offset, littleEndian, 23, 4)
 95630   return offset + 4
 95631 }
 95632 
 95633 Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
 95634   return writeFloat(this, value, offset, true, noAssert)
 95635 }
 95636 
 95637 Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
 95638   return writeFloat(this, value, offset, false, noAssert)
 95639 }
 95640 
 95641 function writeDouble (buf, value, offset, littleEndian, noAssert) {
 95642   if (!noAssert) {
 95643     checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
 95644   }
 95645   ieee754.write(buf, value, offset, littleEndian, 52, 8)
 95646   return offset + 8
 95647 }
 95648 
 95649 Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
 95650   return writeDouble(this, value, offset, true, noAssert)
 95651 }
 95652 
 95653 Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
 95654   return writeDouble(this, value, offset, false, noAssert)
 95655 }
 95656 
 95657 Buffer.prototype.copy = function copy (target, targetStart, start, end) {
 95658   if (!start) start = 0
 95659   if (!end && end !== 0) end = this.length
 95660   if (targetStart >= target.length) targetStart = target.length
 95661   if (!targetStart) targetStart = 0
 95662   if (end > 0 && end < start) end = start
 95663 
 95664   if (end === start) return 0
 95665   if (target.length === 0 || this.length === 0) return 0
 95666 
 95667   if (targetStart < 0) {
 95668     throw new RangeError('targetStart out of bounds')
 95669   }
 95670   if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
 95671   if (end < 0) throw new RangeError('sourceEnd out of bounds')
 95672 
 95673   if (end > this.length) end = this.length
 95674   if (target.length - targetStart < end - start) {
 95675     end = target.length - targetStart + start
 95676   }
 95677 
 95678   var len = end - start
 95679   var i
 95680 
 95681   if (this === target && start < targetStart && targetStart < end) {
 95682     for (i = len - 1; i >= 0; --i) {
 95683       target[i + targetStart] = this[i + start]
 95684     }
 95685   } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
 95686     for (i = 0; i < len; ++i) {
 95687       target[i + targetStart] = this[i + start]
 95688     }
 95689   } else {
 95690     Uint8Array.prototype.set.call(
 95691       target,
 95692       this.subarray(start, start + len),
 95693       targetStart
 95694     )
 95695   }
 95696 
 95697   return len
 95698 }
 95699 
 95700 Buffer.prototype.fill = function fill (val, start, end, encoding) {
 95701   if (typeof val === 'string') {
 95702     if (typeof start === 'string') {
 95703       encoding = start
 95704       start = 0
 95705       end = this.length
 95706     } else if (typeof end === 'string') {
 95707       encoding = end
 95708       end = this.length
 95709     }
 95710     if (val.length === 1) {
 95711       var code = val.charCodeAt(0)
 95712       if (code < 256) {
 95713         val = code
 95714       }
 95715     }
 95716     if (encoding !== undefined && typeof encoding !== 'string') {
 95717       throw new TypeError('encoding must be a string')
 95718     }
 95719     if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
 95720       throw new TypeError('Unknown encoding: ' + encoding)
 95721     }
 95722   } else if (typeof val === 'number') {
 95723     val = val & 255
 95724   }
 95725 
 95726   if (start < 0 || this.length < start || this.length < end) {
 95727     throw new RangeError('Out of range index')
 95728   }
 95729 
 95730   if (end <= start) {
 95731     return this
 95732   }
 95733 
 95734   start = start >>> 0
 95735   end = end === undefined ? this.length : end >>> 0
 95736 
 95737   if (!val) val = 0
 95738 
 95739   var i
 95740   if (typeof val === 'number') {
 95741     for (i = start; i < end; ++i) {
 95742       this[i] = val
 95743     }
 95744   } else {
 95745     var bytes = Buffer.isBuffer(val)
 95746       ? val
 95747       : utf8ToBytes(new Buffer(val, encoding).toString())
 95748     var len = bytes.length
 95749     for (i = 0; i < end - start; ++i) {
 95750       this[i + start] = bytes[i % len]
 95751     }
 95752   }
 95753 
 95754   return this
 95755 }
 95756 
 95757 
 95758 var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
 95759 
 95760 function base64clean (str) {
 95761   str = stringtrim(str).replace(INVALID_BASE64_RE, '')
 95762   if (str.length < 2) return ''
 95763   while (str.length % 4 !== 0) {
 95764     str = str + '='
 95765   }
 95766   return str
 95767 }
 95768 
 95769 function stringtrim (str) {
 95770   if (str.trim) return str.trim()
 95771   return str.replace(/^\s+|\s+$/g, '')
 95772 }
 95773 
 95774 function toHex (n) {
 95775   if (n < 16) return '0' + n.toString(16)
 95776   return n.toString(16)
 95777 }
 95778 
 95779 function utf8ToBytes (string, units) {
 95780   units = units || Infinity
 95781   var codePoint
 95782   var length = string.length
 95783   var leadSurrogate = null
 95784   var bytes = []
 95785 
 95786   for (var i = 0; i < length; ++i) {
 95787     codePoint = string.charCodeAt(i)
 95788 
 95789     if (codePoint > 0xD7FF && codePoint < 0xE000) {
 95790       if (!leadSurrogate) {
 95791         if (codePoint > 0xDBFF) {
 95792           if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
 95793           continue
 95794         } else if (i + 1 === length) {
 95795           if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
 95796           continue
 95797         }
 95798 
 95799         leadSurrogate = codePoint
 95800 
 95801         continue
 95802       }
 95803 
 95804       if (codePoint < 0xDC00) {
 95805         if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
 95806         leadSurrogate = codePoint
 95807         continue
 95808       }
 95809 
 95810       codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
 95811     } else if (leadSurrogate) {
 95812       if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
 95813     }
 95814 
 95815     leadSurrogate = null
 95816 
 95817     if (codePoint < 0x80) {
 95818       if ((units -= 1) < 0) break
 95819       bytes.push(codePoint)
 95820     } else if (codePoint < 0x800) {
 95821       if ((units -= 2) < 0) break
 95822       bytes.push(
 95823         codePoint >> 0x6 | 0xC0,
 95824         codePoint & 0x3F | 0x80
 95825       )
 95826     } else if (codePoint < 0x10000) {
 95827       if ((units -= 3) < 0) break
 95828       bytes.push(
 95829         codePoint >> 0xC | 0xE0,
 95830         codePoint >> 0x6 & 0x3F | 0x80,
 95831         codePoint & 0x3F | 0x80
 95832       )
 95833     } else if (codePoint < 0x110000) {
 95834       if ((units -= 4) < 0) break
 95835       bytes.push(
 95836         codePoint >> 0x12 | 0xF0,
 95837         codePoint >> 0xC & 0x3F | 0x80,
 95838         codePoint >> 0x6 & 0x3F | 0x80,
 95839         codePoint & 0x3F | 0x80
 95840       )
 95841     } else {
 95842       throw new Error('Invalid code point')
 95843     }
 95844   }
 95845 
 95846   return bytes
 95847 }
 95848 
 95849 function asciiToBytes (str) {
 95850   var byteArray = []
 95851   for (var i = 0; i < str.length; ++i) {
 95852     byteArray.push(str.charCodeAt(i) & 0xFF)
 95853   }
 95854   return byteArray
 95855 }
 95856 
 95857 function utf16leToBytes (str, units) {
 95858   var c, hi, lo
 95859   var byteArray = []
 95860   for (var i = 0; i < str.length; ++i) {
 95861     if ((units -= 2) < 0) break
 95862 
 95863     c = str.charCodeAt(i)
 95864     hi = c >> 8
 95865     lo = c % 256
 95866     byteArray.push(lo)
 95867     byteArray.push(hi)
 95868   }
 95869 
 95870   return byteArray
 95871 }
 95872 
 95873 function base64ToBytes (str) {
 95874   return base64.toByteArray(base64clean(str))
 95875 }
 95876 
 95877 function blitBuffer (src, dst, offset, length) {
 95878   for (var i = 0; i < length; ++i) {
 95879     if ((i + offset >= dst.length) || (i >= src.length)) break
 95880     dst[i + offset] = src[i]
 95881   }
 95882   return i
 95883 }
 95884 
 95885 function isnan (val) {
 95886   return val !== val // eslint-disable-line no-self-compare
 95887 }
 95888 
 95889 }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
 95890 },{"base64-js":260,"ieee754":261,"isarray":262}],260:[function(require,module,exports){
 95891 'use strict'
 95892 
 95893 exports.byteLength = byteLength
 95894 exports.toByteArray = toByteArray
 95895 exports.fromByteArray = fromByteArray
 95896 
 95897 var lookup = []
 95898 var revLookup = []
 95899 var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
 95900 
 95901 var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
 95902 for (var i = 0, len = code.length; i < len; ++i) {
 95903   lookup[i] = code[i]
 95904   revLookup[code.charCodeAt(i)] = i
 95905 }
 95906 
 95907 revLookup['-'.charCodeAt(0)] = 62
 95908 revLookup['_'.charCodeAt(0)] = 63
 95909 
 95910 function placeHoldersCount (b64) {
 95911   var len = b64.length
 95912   if (len % 4 > 0) {
 95913     throw new Error('Invalid string. Length must be a multiple of 4')
 95914   }
 95915 
 95916   return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0
 95917 }
 95918 
 95919 function byteLength (b64) {
 95920   return b64.length * 3 / 4 - placeHoldersCount(b64)
 95921 }
 95922 
 95923 function toByteArray (b64) {
 95924   var i, j, l, tmp, placeHolders, arr
 95925   var len = b64.length
 95926   placeHolders = placeHoldersCount(b64)
 95927 
 95928   arr = new Arr(len * 3 / 4 - placeHolders)
 95929 
 95930   l = placeHolders > 0 ? len - 4 : len
 95931 
 95932   var L = 0
 95933 
 95934   for (i = 0, j = 0; i < l; i += 4, j += 3) {
 95935     tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]
 95936     arr[L++] = (tmp >> 16) & 0xFF
 95937     arr[L++] = (tmp >> 8) & 0xFF
 95938     arr[L++] = tmp & 0xFF
 95939   }
 95940 
 95941   if (placeHolders === 2) {
 95942     tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)
 95943     arr[L++] = tmp & 0xFF
 95944   } else if (placeHolders === 1) {
 95945     tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)
 95946     arr[L++] = (tmp >> 8) & 0xFF
 95947     arr[L++] = tmp & 0xFF
 95948   }
 95949 
 95950   return arr
 95951 }
 95952 
 95953 function tripletToBase64 (num) {
 95954   return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]
 95955 }
 95956 
 95957 function encodeChunk (uint8, start, end) {
 95958   var tmp
 95959   var output = []
 95960   for (var i = start; i < end; i += 3) {
 95961     tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
 95962     output.push(tripletToBase64(tmp))
 95963   }
 95964   return output.join('')
 95965 }
 95966 
 95967 function fromByteArray (uint8) {
 95968   var tmp
 95969   var len = uint8.length
 95970   var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
 95971   var output = ''
 95972   var parts = []
 95973   var maxChunkLength = 16383 // must be multiple of 3
 95974 
 95975   for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
 95976     parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
 95977   }
 95978 
 95979   if (extraBytes === 1) {
 95980     tmp = uint8[len - 1]
 95981     output += lookup[tmp >> 2]
 95982     output += lookup[(tmp << 4) & 0x3F]
 95983     output += '=='
 95984   } else if (extraBytes === 2) {
 95985     tmp = (uint8[len - 2] << 8) + (uint8[len - 1])
 95986     output += lookup[tmp >> 10]
 95987     output += lookup[(tmp >> 4) & 0x3F]
 95988     output += lookup[(tmp << 2) & 0x3F]
 95989     output += '='
 95990   }
 95991 
 95992   parts.push(output)
 95993 
 95994   return parts.join('')
 95995 }
 95996 
 95997 },{}],261:[function(require,module,exports){
 95998 exports.read = function (buffer, offset, isLE, mLen, nBytes) {
 95999   var e, m
 96000   var eLen = nBytes * 8 - mLen - 1
 96001   var eMax = (1 << eLen) - 1
 96002   var eBias = eMax >> 1
 96003   var nBits = -7
 96004   var i = isLE ? (nBytes - 1) : 0
 96005   var d = isLE ? -1 : 1
 96006   var s = buffer[offset + i]
 96007 
 96008   i += d
 96009 
 96010   e = s & ((1 << (-nBits)) - 1)
 96011   s >>= (-nBits)
 96012   nBits += eLen
 96013   for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
 96014 
 96015   m = e & ((1 << (-nBits)) - 1)
 96016   e >>= (-nBits)
 96017   nBits += mLen
 96018   for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
 96019 
 96020   if (e === 0) {
 96021     e = 1 - eBias
 96022   } else if (e === eMax) {
 96023     return m ? NaN : ((s ? -1 : 1) * Infinity)
 96024   } else {
 96025     m = m + Math.pow(2, mLen)
 96026     e = e - eBias
 96027   }
 96028   return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
 96029 }
 96030 
 96031 exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
 96032   var e, m, c
 96033   var eLen = nBytes * 8 - mLen - 1
 96034   var eMax = (1 << eLen) - 1
 96035   var eBias = eMax >> 1
 96036   var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
 96037   var i = isLE ? 0 : (nBytes - 1)
 96038   var d = isLE ? 1 : -1
 96039   var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
 96040 
 96041   value = Math.abs(value)
 96042 
 96043   if (isNaN(value) || value === Infinity) {
 96044     m = isNaN(value) ? 1 : 0
 96045     e = eMax
 96046   } else {
 96047     e = Math.floor(Math.log(value) / Math.LN2)
 96048     if (value * (c = Math.pow(2, -e)) < 1) {
 96049       e--
 96050       c *= 2
 96051     }
 96052     if (e + eBias >= 1) {
 96053       value += rt / c
 96054     } else {
 96055       value += rt * Math.pow(2, 1 - eBias)
 96056     }
 96057     if (value * c >= 2) {
 96058       e++
 96059       c /= 2
 96060     }
 96061 
 96062     if (e + eBias >= eMax) {
 96063       m = 0
 96064       e = eMax
 96065     } else if (e + eBias >= 1) {
 96066       m = (value * c - 1) * Math.pow(2, mLen)
 96067       e = e + eBias
 96068     } else {
 96069       m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
 96070       e = 0
 96071     }
 96072   }
 96073 
 96074   for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
 96075 
 96076   e = (e << mLen) | m
 96077   eLen += mLen
 96078   for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
 96079 
 96080   buffer[offset + i - d] |= s * 128
 96081 }
 96082 
 96083 },{}],262:[function(require,module,exports){
 96084 var toString = {}.toString;
 96085 
 96086 module.exports = Array.isArray || function (arr) {
 96087   return toString.call(arr) == '[object Array]';
 96088 };
 96089 
 96090 },{}],263:[function(require,module,exports){
 96091 var Buffer = require('buffer').Buffer;
 96092 var intSize = 4;
 96093 var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
 96094 var chrsz = 8;
 96095 
 96096 function toArray(buf, bigEndian) {
 96097   if ((buf.length % intSize) !== 0) {
 96098     var len = buf.length + (intSize - (buf.length % intSize));
 96099     buf = Buffer.concat([buf, zeroBuffer], len);
 96100   }
 96101 
 96102   var arr = [];
 96103   var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
 96104   for (var i = 0; i < buf.length; i += intSize) {
 96105     arr.push(fn.call(buf, i));
 96106   }
 96107   return arr;
 96108 }
 96109 
 96110 function toBuffer(arr, size, bigEndian) {
 96111   var buf = new Buffer(size);
 96112   var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
 96113   for (var i = 0; i < arr.length; i++) {
 96114     fn.call(buf, arr[i], i * 4, true);
 96115   }
 96116   return buf;
 96117 }
 96118 
 96119 function hash(buf, fn, hashSize, bigEndian) {
 96120   if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
 96121   var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
 96122   return toBuffer(arr, hashSize, bigEndian);
 96123 }
 96124 
 96125 module.exports = { hash: hash };
 96126 
 96127 },{"buffer":259}],264:[function(require,module,exports){
 96128 var Buffer = require('buffer').Buffer
 96129 var sha = require('./sha')
 96130 var sha256 = require('./sha256')
 96131 var rng = require('./rng')
 96132 var md5 = require('./md5')
 96133 
 96134 var algorithms = {
 96135   sha1: sha,
 96136   sha256: sha256,
 96137   md5: md5
 96138 }
 96139 
 96140 var blocksize = 64
 96141 var zeroBuffer = new Buffer(blocksize); zeroBuffer.fill(0)
 96142 function hmac(fn, key, data) {
 96143   if(!Buffer.isBuffer(key)) key = new Buffer(key)
 96144   if(!Buffer.isBuffer(data)) data = new Buffer(data)
 96145 
 96146   if(key.length > blocksize) {
 96147     key = fn(key)
 96148   } else if(key.length < blocksize) {
 96149     key = Buffer.concat([key, zeroBuffer], blocksize)
 96150   }
 96151 
 96152   var ipad = new Buffer(blocksize), opad = new Buffer(blocksize)
 96153   for(var i = 0; i < blocksize; i++) {
 96154     ipad[i] = key[i] ^ 0x36
 96155     opad[i] = key[i] ^ 0x5C
 96156   }
 96157 
 96158   var hash = fn(Buffer.concat([ipad, data]))
 96159   return fn(Buffer.concat([opad, hash]))
 96160 }
 96161 
 96162 function hash(alg, key) {
 96163   alg = alg || 'sha1'
 96164   var fn = algorithms[alg]
 96165   var bufs = []
 96166   var length = 0
 96167   if(!fn) error('algorithm:', alg, 'is not yet supported')
 96168   return {
 96169     update: function (data) {
 96170       if(!Buffer.isBuffer(data)) data = new Buffer(data)
 96171         
 96172       bufs.push(data)
 96173       length += data.length
 96174       return this
 96175     },
 96176     digest: function (enc) {
 96177       var buf = Buffer.concat(bufs)
 96178       var r = key ? hmac(fn, key, buf) : fn(buf)
 96179       bufs = null
 96180       return enc ? r.toString(enc) : r
 96181     }
 96182   }
 96183 }
 96184 
 96185 function error () {
 96186   var m = [].slice.call(arguments).join(' ')
 96187   throw new Error([
 96188     m,
 96189     'we accept pull requests',
 96190     'http://github.com/dominictarr/crypto-browserify'
 96191     ].join('\n'))
 96192 }
 96193 
 96194 exports.createHash = function (alg) { return hash(alg) }
 96195 exports.createHmac = function (alg, key) { return hash(alg, key) }
 96196 exports.randomBytes = function(size, callback) {
 96197   if (callback && callback.call) {
 96198     try {
 96199       callback.call(this, undefined, new Buffer(rng(size)))
 96200     } catch (err) { callback(err) }
 96201   } else {
 96202     return new Buffer(rng(size))
 96203   }
 96204 }
 96205 
 96206 function each(a, f) {
 96207   for(var i in a)
 96208     f(a[i], i)
 96209 }
 96210 
 96211 each(['createCredentials'
 96212 , 'createCipher'
 96213 , 'createCipheriv'
 96214 , 'createDecipher'
 96215 , 'createDecipheriv'
 96216 , 'createSign'
 96217 , 'createVerify'
 96218 , 'createDiffieHellman'
 96219 , 'pbkdf2'], function (name) {
 96220   exports[name] = function () {
 96221     error('sorry,', name, 'is not implemented yet')
 96222   }
 96223 })
 96224 
 96225 },{"./md5":265,"./rng":266,"./sha":267,"./sha256":268,"buffer":259}],265:[function(require,module,exports){
 96226 
 96227 
 96228 var helpers = require('./helpers');
 96229 
 96230 
 96231 function md5_vm_test()
 96232 {
 96233   return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
 96234 }
 96235 
 96236 
 96237 function core_md5(x, len)
 96238 {
 96239 
 96240   x[len >> 5] |= 0x80 << ((len) % 32);
 96241   x[(((len + 64) >>> 9) << 4) + 14] = len;
 96242 
 96243   var a =  1732584193;
 96244   var b = -271733879;
 96245   var c = -1732584194;
 96246   var d =  271733878;
 96247 
 96248   for(var i = 0; i < x.length; i += 16)
 96249   {
 96250     var olda = a;
 96251     var oldb = b;
 96252     var oldc = c;
 96253     var oldd = d;
 96254 
 96255     a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
 96256     d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
 96257     c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
 96258     b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
 96259     a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
 96260     d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
 96261     c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
 96262     b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
 96263     a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
 96264     d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
 96265     c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
 96266     b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
 96267     a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
 96268     d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
 96269     c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
 96270     b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);
 96271 
 96272     a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
 96273     d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
 96274     c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
 96275     b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
 96276     a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
 96277     d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
 96278     c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
 96279     b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
 96280     a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
 96281     d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
 96282     c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
 96283     b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
 96284     a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
 96285     d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
 96286     c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
 96287     b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
 96288 
 96289     a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
 96290     d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
 96291     c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
 96292     b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
 96293     a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
 96294     d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
 96295     c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
 96296     b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
 96297     a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
 96298     d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
 96299     c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
 96300     b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
 96301     a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
 96302     d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
 96303     c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
 96304     b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
 96305 
 96306     a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
 96307     d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
 96308     c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
 96309     b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
 96310     a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
 96311     d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
 96312     c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
 96313     b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
 96314     a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
 96315     d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
 96316     c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
 96317     b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
 96318     a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
 96319     d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
 96320     c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
 96321     b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
 96322 
 96323     a = safe_add(a, olda);
 96324     b = safe_add(b, oldb);
 96325     c = safe_add(c, oldc);
 96326     d = safe_add(d, oldd);
 96327   }
 96328   return Array(a, b, c, d);
 96329 
 96330 }
 96331 
 96332 
 96333 function md5_cmn(q, a, b, x, s, t)
 96334 {
 96335   return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
 96336 }
 96337 function md5_ff(a, b, c, d, x, s, t)
 96338 {
 96339   return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
 96340 }
 96341 function md5_gg(a, b, c, d, x, s, t)
 96342 {
 96343   return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
 96344 }
 96345 function md5_hh(a, b, c, d, x, s, t)
 96346 {
 96347   return md5_cmn(b ^ c ^ d, a, b, x, s, t);
 96348 }
 96349 function md5_ii(a, b, c, d, x, s, t)
 96350 {
 96351   return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
 96352 }
 96353 
 96354 
 96355 function safe_add(x, y)
 96356 {
 96357   var lsw = (x & 0xFFFF) + (y & 0xFFFF);
 96358   var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
 96359   return (msw << 16) | (lsw & 0xFFFF);
 96360 }
 96361 
 96362 
 96363 function bit_rol(num, cnt)
 96364 {
 96365   return (num << cnt) | (num >>> (32 - cnt));
 96366 }
 96367 
 96368 module.exports = function md5(buf) {
 96369   return helpers.hash(buf, core_md5, 16);
 96370 };
 96371 
 96372 },{"./helpers":263}],266:[function(require,module,exports){
 96373 (function() {
 96374   var _global = this;
 96375 
 96376   var mathRNG, whatwgRNG;
 96377 
 96378   mathRNG = function(size) {
 96379     var bytes = new Array(size);
 96380     var r;
 96381 
 96382     for (var i = 0, r; i < size; i++) {
 96383       if ((i & 0x03) == 0) r = Math.random() * 0x100000000;
 96384       bytes[i] = r >>> ((i & 0x03) << 3) & 0xff;
 96385     }
 96386 
 96387     return bytes;
 96388   }
 96389 
 96390   if (_global.crypto && crypto.getRandomValues) {
 96391     whatwgRNG = function(size) {
 96392       var bytes = new Uint8Array(size);
 96393       crypto.getRandomValues(bytes);
 96394       return bytes;
 96395     }
 96396   }
 96397 
 96398   module.exports = whatwgRNG || mathRNG;
 96399 
 96400 }())
 96401 
 96402 },{}],267:[function(require,module,exports){
 96403 
 96404 
 96405 var helpers = require('./helpers');
 96406 
 96407 
 96408 function core_sha1(x, len)
 96409 {
 96410 
 96411   x[len >> 5] |= 0x80 << (24 - len % 32);
 96412   x[((len + 64 >> 9) << 4) + 15] = len;
 96413 
 96414   var w = Array(80);
 96415   var a =  1732584193;
 96416   var b = -271733879;
 96417   var c = -1732584194;
 96418   var d =  271733878;
 96419   var e = -1009589776;
 96420 
 96421   for(var i = 0; i < x.length; i += 16)
 96422   {
 96423     var olda = a;
 96424     var oldb = b;
 96425     var oldc = c;
 96426     var oldd = d;
 96427     var olde = e;
 96428 
 96429     for(var j = 0; j < 80; j++)
 96430     {
 96431       if(j < 16) w[j] = x[i + j];
 96432       else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
 96433       var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),
 96434                        safe_add(safe_add(e, w[j]), sha1_kt(j)));
 96435       e = d;
 96436       d = c;
 96437       c = rol(b, 30);
 96438       b = a;
 96439       a = t;
 96440     }
 96441 
 96442     a = safe_add(a, olda);
 96443     b = safe_add(b, oldb);
 96444     c = safe_add(c, oldc);
 96445     d = safe_add(d, oldd);
 96446     e = safe_add(e, olde);
 96447   }
 96448   return Array(a, b, c, d, e);
 96449 
 96450 }
 96451 
 96452 
 96453 function sha1_ft(t, b, c, d)
 96454 {
 96455   if(t < 20) return (b & c) | ((~b) & d);
 96456   if(t < 40) return b ^ c ^ d;
 96457   if(t < 60) return (b & c) | (b & d) | (c & d);
 96458   return b ^ c ^ d;
 96459 }
 96460 
 96461 
 96462 function sha1_kt(t)
 96463 {
 96464   return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
 96465          (t < 60) ? -1894007588 : -899497514;
 96466 }
 96467 
 96468 
 96469 function safe_add(x, y)
 96470 {
 96471   var lsw = (x & 0xFFFF) + (y & 0xFFFF);
 96472   var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
 96473   return (msw << 16) | (lsw & 0xFFFF);
 96474 }
 96475 
 96476 
 96477 function rol(num, cnt)
 96478 {
 96479   return (num << cnt) | (num >>> (32 - cnt));
 96480 }
 96481 
 96482 module.exports = function sha1(buf) {
 96483   return helpers.hash(buf, core_sha1, 20, true);
 96484 };
 96485 
 96486 },{"./helpers":263}],268:[function(require,module,exports){
 96487 
 96488 
 96489 
 96490 var helpers = require('./helpers');
 96491 
 96492 var safe_add = function(x, y) {
 96493   var lsw = (x & 0xFFFF) + (y & 0xFFFF);
 96494   var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
 96495   return (msw << 16) | (lsw & 0xFFFF);
 96496 };
 96497 
 96498 var S = function(X, n) {
 96499   return (X >>> n) | (X << (32 - n));
 96500 };
 96501 
 96502 var R = function(X, n) {
 96503   return (X >>> n);
 96504 };
 96505 
 96506 var Ch = function(x, y, z) {
 96507   return ((x & y) ^ ((~x) & z));
 96508 };
 96509 
 96510 var Maj = function(x, y, z) {
 96511   return ((x & y) ^ (x & z) ^ (y & z));
 96512 };
 96513 
 96514 var Sigma0256 = function(x) {
 96515   return (S(x, 2) ^ S(x, 13) ^ S(x, 22));
 96516 };
 96517 
 96518 var Sigma1256 = function(x) {
 96519   return (S(x, 6) ^ S(x, 11) ^ S(x, 25));
 96520 };
 96521 
 96522 var Gamma0256 = function(x) {
 96523   return (S(x, 7) ^ S(x, 18) ^ R(x, 3));
 96524 };
 96525 
 96526 var Gamma1256 = function(x) {
 96527   return (S(x, 17) ^ S(x, 19) ^ R(x, 10));
 96528 };
 96529 
 96530 var core_sha256 = function(m, l) {
 96531   var K = new Array(0x428A2F98,0x71374491,0xB5C0FBCF,0xE9B5DBA5,0x3956C25B,0x59F111F1,0x923F82A4,0xAB1C5ED5,0xD807AA98,0x12835B01,0x243185BE,0x550C7DC3,0x72BE5D74,0x80DEB1FE,0x9BDC06A7,0xC19BF174,0xE49B69C1,0xEFBE4786,0xFC19DC6,0x240CA1CC,0x2DE92C6F,0x4A7484AA,0x5CB0A9DC,0x76F988DA,0x983E5152,0xA831C66D,0xB00327C8,0xBF597FC7,0xC6E00BF3,0xD5A79147,0x6CA6351,0x14292967,0x27B70A85,0x2E1B2138,0x4D2C6DFC,0x53380D13,0x650A7354,0x766A0ABB,0x81C2C92E,0x92722C85,0xA2BFE8A1,0xA81A664B,0xC24B8B70,0xC76C51A3,0xD192E819,0xD6990624,0xF40E3585,0x106AA070,0x19A4C116,0x1E376C08,0x2748774C,0x34B0BCB5,0x391C0CB3,0x4ED8AA4A,0x5B9CCA4F,0x682E6FF3,0x748F82EE,0x78A5636F,0x84C87814,0x8CC70208,0x90BEFFFA,0xA4506CEB,0xBEF9A3F7,0xC67178F2);
 96532   var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);
 96533     var W = new Array(64);
 96534     var a, b, c, d, e, f, g, h, i, j;
 96535     var T1, T2;
 96536 
 96537   m[l >> 5] |= 0x80 << (24 - l % 32);
 96538   m[((l + 64 >> 9) << 4) + 15] = l;
 96539   for (var i = 0; i < m.length; i += 16) {
 96540     a = HASH[0]; b = HASH[1]; c = HASH[2]; d = HASH[3]; e = HASH[4]; f = HASH[5]; g = HASH[6]; h = HASH[7];
 96541     for (var j = 0; j < 64; j++) {
 96542       if (j < 16) {
 96543         W[j] = m[j + i];
 96544       } else {
 96545         W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]);
 96546       }
 96547       T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]);
 96548       T2 = safe_add(Sigma0256(a), Maj(a, b, c));
 96549       h = g; g = f; f = e; e = safe_add(d, T1); d = c; c = b; b = a; a = safe_add(T1, T2);
 96550     }
 96551     HASH[0] = safe_add(a, HASH[0]); HASH[1] = safe_add(b, HASH[1]); HASH[2] = safe_add(c, HASH[2]); HASH[3] = safe_add(d, HASH[3]);
 96552     HASH[4] = safe_add(e, HASH[4]); HASH[5] = safe_add(f, HASH[5]); HASH[6] = safe_add(g, HASH[6]); HASH[7] = safe_add(h, HASH[7]);
 96553   }
 96554   return HASH;
 96555 };
 96556 
 96557 module.exports = function sha256(buf) {
 96558   return helpers.hash(buf, core_sha256, 32, true);
 96559 };
 96560 
 96561 },{"./helpers":263}],269:[function(require,module,exports){
 96562 (function(exports) {
 96563   "use strict";
 96564 
 96565   function isArray(obj) {
 96566     if (obj !== null) {
 96567       return Object.prototype.toString.call(obj) === "[object Array]";
 96568     } else {
 96569       return false;
 96570     }
 96571   }
 96572 
 96573   function isObject(obj) {
 96574     if (obj !== null) {
 96575       return Object.prototype.toString.call(obj) === "[object Object]";
 96576     } else {
 96577       return false;
 96578     }
 96579   }
 96580 
 96581   function strictDeepEqual(first, second) {
 96582     if (first === second) {
 96583       return true;
 96584     }
 96585 
 96586     var firstType = Object.prototype.toString.call(first);
 96587     if (firstType !== Object.prototype.toString.call(second)) {
 96588       return false;
 96589     }
 96590     if (isArray(first) === true) {
 96591       if (first.length !== second.length) {
 96592         return false;
 96593       }
 96594       for (var i = 0; i < first.length; i++) {
 96595         if (strictDeepEqual(first[i], second[i]) === false) {
 96596           return false;
 96597         }
 96598       }
 96599       return true;
 96600     }
 96601     if (isObject(first) === true) {
 96602       var keysSeen = {};
 96603       for (var key in first) {
 96604         if (hasOwnProperty.call(first, key)) {
 96605           if (strictDeepEqual(first[key], second[key]) === false) {
 96606             return false;
 96607           }
 96608           keysSeen[key] = true;
 96609         }
 96610       }
 96611       for (var key2 in second) {
 96612         if (hasOwnProperty.call(second, key2)) {
 96613           if (keysSeen[key2] !== true) {
 96614             return false;
 96615           }
 96616         }
 96617       }
 96618       return true;
 96619     }
 96620     return false;
 96621   }
 96622 
 96623   function isFalse(obj) {
 96624 
 96625     if (obj === "" || obj === false || obj === null) {
 96626         return true;
 96627     } else if (isArray(obj) && obj.length === 0) {
 96628         return true;
 96629     } else if (isObject(obj)) {
 96630         for (var key in obj) {
 96631             if (obj.hasOwnProperty(key)) {
 96632               return false;
 96633             }
 96634         }
 96635         return true;
 96636     } else {
 96637         return false;
 96638     }
 96639   }
 96640 
 96641   function objValues(obj) {
 96642     var keys = Object.keys(obj);
 96643     var values = [];
 96644     for (var i = 0; i < keys.length; i++) {
 96645       values.push(obj[keys[i]]);
 96646     }
 96647     return values;
 96648   }
 96649 
 96650   function merge(a, b) {
 96651       var merged = {};
 96652       for (var key in a) {
 96653           merged[key] = a[key];
 96654       }
 96655       for (var key2 in b) {
 96656           merged[key2] = b[key2];
 96657       }
 96658       return merged;
 96659   }
 96660 
 96661   var trimLeft;
 96662   if (typeof String.prototype.trimLeft === "function") {
 96663     trimLeft = function(str) {
 96664       return str.trimLeft();
 96665     };
 96666   } else {
 96667     trimLeft = function(str) {
 96668       return str.match(/^\s*(.*)/)[1];
 96669     };
 96670   }
 96671 
 96672   var TYPE_NUMBER = 0;
 96673   var TYPE_ANY = 1;
 96674   var TYPE_STRING = 2;
 96675   var TYPE_ARRAY = 3;
 96676   var TYPE_OBJECT = 4;
 96677   var TYPE_BOOLEAN = 5;
 96678   var TYPE_EXPREF = 6;
 96679   var TYPE_NULL = 7;
 96680   var TYPE_ARRAY_NUMBER = 8;
 96681   var TYPE_ARRAY_STRING = 9;
 96682 
 96683   var TOK_EOF = "EOF";
 96684   var TOK_UNQUOTEDIDENTIFIER = "UnquotedIdentifier";
 96685   var TOK_QUOTEDIDENTIFIER = "QuotedIdentifier";
 96686   var TOK_RBRACKET = "Rbracket";
 96687   var TOK_RPAREN = "Rparen";
 96688   var TOK_COMMA = "Comma";
 96689   var TOK_COLON = "Colon";
 96690   var TOK_RBRACE = "Rbrace";
 96691   var TOK_NUMBER = "Number";
 96692   var TOK_CURRENT = "Current";
 96693   var TOK_EXPREF = "Expref";
 96694   var TOK_PIPE = "Pipe";
 96695   var TOK_OR = "Or";
 96696   var TOK_AND = "And";
 96697   var TOK_EQ = "EQ";
 96698   var TOK_GT = "GT";
 96699   var TOK_LT = "LT";
 96700   var TOK_GTE = "GTE";
 96701   var TOK_LTE = "LTE";
 96702   var TOK_NE = "NE";
 96703   var TOK_FLATTEN = "Flatten";
 96704   var TOK_STAR = "Star";
 96705   var TOK_FILTER = "Filter";
 96706   var TOK_DOT = "Dot";
 96707   var TOK_NOT = "Not";
 96708   var TOK_LBRACE = "Lbrace";
 96709   var TOK_LBRACKET = "Lbracket";
 96710   var TOK_LPAREN= "Lparen";
 96711   var TOK_LITERAL= "Literal";
 96712 
 96713 
 96714   var basicTokens = {
 96715     ".": TOK_DOT,
 96716     "*": TOK_STAR,
 96717     ",": TOK_COMMA,
 96718     ":": TOK_COLON,
 96719     "{": TOK_LBRACE,
 96720     "}": TOK_RBRACE,
 96721     "]": TOK_RBRACKET,
 96722     "(": TOK_LPAREN,
 96723     ")": TOK_RPAREN,
 96724     "@": TOK_CURRENT
 96725   };
 96726 
 96727   var operatorStartToken = {
 96728       "<": true,
 96729       ">": true,
 96730       "=": true,
 96731       "!": true
 96732   };
 96733 
 96734   var skipChars = {
 96735       " ": true,
 96736       "\t": true,
 96737       "\n": true
 96738   };
 96739 
 96740 
 96741   function isAlpha(ch) {
 96742       return (ch >= "a" && ch <= "z") ||
 96743              (ch >= "A" && ch <= "Z") ||
 96744              ch === "_";
 96745   }
 96746 
 96747   function isNum(ch) {
 96748       return (ch >= "0" && ch <= "9") ||
 96749              ch === "-";
 96750   }
 96751   function isAlphaNum(ch) {
 96752       return (ch >= "a" && ch <= "z") ||
 96753              (ch >= "A" && ch <= "Z") ||
 96754              (ch >= "0" && ch <= "9") ||
 96755              ch === "_";
 96756   }
 96757 
 96758   function Lexer() {
 96759   }
 96760   Lexer.prototype = {
 96761       tokenize: function(stream) {
 96762           var tokens = [];
 96763           this._current = 0;
 96764           var start;
 96765           var identifier;
 96766           var token;
 96767           while (this._current < stream.length) {
 96768               if (isAlpha(stream[this._current])) {
 96769                   start = this._current;
 96770                   identifier = this._consumeUnquotedIdentifier(stream);
 96771                   tokens.push({type: TOK_UNQUOTEDIDENTIFIER,
 96772                                value: identifier,
 96773                                start: start});
 96774               } else if (basicTokens[stream[this._current]] !== undefined) {
 96775                   tokens.push({type: basicTokens[stream[this._current]],
 96776                               value: stream[this._current],
 96777                               start: this._current});
 96778                   this._current++;
 96779               } else if (isNum(stream[this._current])) {
 96780                   token = this._consumeNumber(stream);
 96781                   tokens.push(token);
 96782               } else if (stream[this._current] === "[") {
 96783                   token = this._consumeLBracket(stream);
 96784                   tokens.push(token);
 96785               } else if (stream[this._current] === "\"") {
 96786                   start = this._current;
 96787                   identifier = this._consumeQuotedIdentifier(stream);
 96788                   tokens.push({type: TOK_QUOTEDIDENTIFIER,
 96789                                value: identifier,
 96790                                start: start});
 96791               } else if (stream[this._current] === "'") {
 96792                   start = this._current;
 96793                   identifier = this._consumeRawStringLiteral(stream);
 96794                   tokens.push({type: TOK_LITERAL,
 96795                                value: identifier,
 96796                                start: start});
 96797               } else if (stream[this._current] === "`") {
 96798                   start = this._current;
 96799                   var literal = this._consumeLiteral(stream);
 96800                   tokens.push({type: TOK_LITERAL,
 96801                                value: literal,
 96802                                start: start});
 96803               } else if (operatorStartToken[stream[this._current]] !== undefined) {
 96804                   tokens.push(this._consumeOperator(stream));
 96805               } else if (skipChars[stream[this._current]] !== undefined) {
 96806                   this._current++;
 96807               } else if (stream[this._current] === "&") {
 96808                   start = this._current;
 96809                   this._current++;
 96810                   if (stream[this._current] === "&") {
 96811                       this._current++;
 96812                       tokens.push({type: TOK_AND, value: "&&", start: start});
 96813                   } else {
 96814                       tokens.push({type: TOK_EXPREF, value: "&", start: start});
 96815                   }
 96816               } else if (stream[this._current] === "|") {
 96817                   start = this._current;
 96818                   this._current++;
 96819                   if (stream[this._current] === "|") {
 96820                       this._current++;
 96821                       tokens.push({type: TOK_OR, value: "||", start: start});
 96822                   } else {
 96823                       tokens.push({type: TOK_PIPE, value: "|", start: start});
 96824                   }
 96825               } else {
 96826                   var error = new Error("Unknown character:" + stream[this._current]);
 96827                   error.name = "LexerError";
 96828                   throw error;
 96829               }
 96830           }
 96831           return tokens;
 96832       },
 96833 
 96834       _consumeUnquotedIdentifier: function(stream) {
 96835           var start = this._current;
 96836           this._current++;
 96837           while (this._current < stream.length && isAlphaNum(stream[this._current])) {
 96838               this._current++;
 96839           }
 96840           return stream.slice(start, this._current);
 96841       },
 96842 
 96843       _consumeQuotedIdentifier: function(stream) {
 96844           var start = this._current;
 96845           this._current++;
 96846           var maxLength = stream.length;
 96847           while (stream[this._current] !== "\"" && this._current < maxLength) {
 96848               var current = this._current;
 96849               if (stream[current] === "\\" && (stream[current + 1] === "\\" ||
 96850                                                stream[current + 1] === "\"")) {
 96851                   current += 2;
 96852               } else {
 96853                   current++;
 96854               }
 96855               this._current = current;
 96856           }
 96857           this._current++;
 96858           return JSON.parse(stream.slice(start, this._current));
 96859       },
 96860 
 96861       _consumeRawStringLiteral: function(stream) {
 96862           var start = this._current;
 96863           this._current++;
 96864           var maxLength = stream.length;
 96865           while (stream[this._current] !== "'" && this._current < maxLength) {
 96866               var current = this._current;
 96867               if (stream[current] === "\\" && (stream[current + 1] === "\\" ||
 96868                                                stream[current + 1] === "'")) {
 96869                   current += 2;
 96870               } else {
 96871                   current++;
 96872               }
 96873               this._current = current;
 96874           }
 96875           this._current++;
 96876           var literal = stream.slice(start + 1, this._current - 1);
 96877           return literal.replace("\\'", "'");
 96878       },
 96879 
 96880       _consumeNumber: function(stream) {
 96881           var start = this._current;
 96882           this._current++;
 96883           var maxLength = stream.length;
 96884           while (isNum(stream[this._current]) && this._current < maxLength) {
 96885               this._current++;
 96886           }
 96887           var value = parseInt(stream.slice(start, this._current));
 96888           return {type: TOK_NUMBER, value: value, start: start};
 96889       },
 96890 
 96891       _consumeLBracket: function(stream) {
 96892           var start = this._current;
 96893           this._current++;
 96894           if (stream[this._current] === "?") {
 96895               this._current++;
 96896               return {type: TOK_FILTER, value: "[?", start: start};
 96897           } else if (stream[this._current] === "]") {
 96898               this._current++;
 96899               return {type: TOK_FLATTEN, value: "[]", start: start};
 96900           } else {
 96901               return {type: TOK_LBRACKET, value: "[", start: start};
 96902           }
 96903       },
 96904 
 96905       _consumeOperator: function(stream) {
 96906           var start = this._current;
 96907           var startingChar = stream[start];
 96908           this._current++;
 96909           if (startingChar === "!") {
 96910               if (stream[this._current] === "=") {
 96911                   this._current++;
 96912                   return {type: TOK_NE, value: "!=", start: start};
 96913               } else {
 96914                 return {type: TOK_NOT, value: "!", start: start};
 96915               }
 96916           } else if (startingChar === "<") {
 96917               if (stream[this._current] === "=") {
 96918                   this._current++;
 96919                   return {type: TOK_LTE, value: "<=", start: start};
 96920               } else {
 96921                   return {type: TOK_LT, value: "<", start: start};
 96922               }
 96923           } else if (startingChar === ">") {
 96924               if (stream[this._current] === "=") {
 96925                   this._current++;
 96926                   return {type: TOK_GTE, value: ">=", start: start};
 96927               } else {
 96928                   return {type: TOK_GT, value: ">", start: start};
 96929               }
 96930           } else if (startingChar === "=") {
 96931               if (stream[this._current] === "=") {
 96932                   this._current++;
 96933                   return {type: TOK_EQ, value: "==", start: start};
 96934               }
 96935           }
 96936       },
 96937 
 96938       _consumeLiteral: function(stream) {
 96939           this._current++;
 96940           var start = this._current;
 96941           var maxLength = stream.length;
 96942           var literal;
 96943           while(stream[this._current] !== "`" && this._current < maxLength) {
 96944               var current = this._current;
 96945               if (stream[current] === "\\" && (stream[current + 1] === "\\" ||
 96946                                                stream[current + 1] === "`")) {
 96947                   current += 2;
 96948               } else {
 96949                   current++;
 96950               }
 96951               this._current = current;
 96952           }
 96953           var literalString = trimLeft(stream.slice(start, this._current));
 96954           literalString = literalString.replace("\\`", "`");
 96955           if (this._looksLikeJSON(literalString)) {
 96956               literal = JSON.parse(literalString);
 96957           } else {
 96958               literal = JSON.parse("\"" + literalString + "\"");
 96959           }
 96960           this._current++;
 96961           return literal;
 96962       },
 96963 
 96964       _looksLikeJSON: function(literalString) {
 96965           var startingChars = "[{\"";
 96966           var jsonLiterals = ["true", "false", "null"];
 96967           var numberLooking = "-0123456789";
 96968 
 96969           if (literalString === "") {
 96970               return false;
 96971           } else if (startingChars.indexOf(literalString[0]) >= 0) {
 96972               return true;
 96973           } else if (jsonLiterals.indexOf(literalString) >= 0) {
 96974               return true;
 96975           } else if (numberLooking.indexOf(literalString[0]) >= 0) {
 96976               try {
 96977                   JSON.parse(literalString);
 96978                   return true;
 96979               } catch (ex) {
 96980                   return false;
 96981               }
 96982           } else {
 96983               return false;
 96984           }
 96985       }
 96986   };
 96987 
 96988       var bindingPower = {};
 96989       bindingPower[TOK_EOF] = 0;
 96990       bindingPower[TOK_UNQUOTEDIDENTIFIER] = 0;
 96991       bindingPower[TOK_QUOTEDIDENTIFIER] = 0;
 96992       bindingPower[TOK_RBRACKET] = 0;
 96993       bindingPower[TOK_RPAREN] = 0;
 96994       bindingPower[TOK_COMMA] = 0;
 96995       bindingPower[TOK_RBRACE] = 0;
 96996       bindingPower[TOK_NUMBER] = 0;
 96997       bindingPower[TOK_CURRENT] = 0;
 96998       bindingPower[TOK_EXPREF] = 0;
 96999       bindingPower[TOK_PIPE] = 1;
 97000       bindingPower[TOK_OR] = 2;
 97001       bindingPower[TOK_AND] = 3;
 97002       bindingPower[TOK_EQ] = 5;
 97003       bindingPower[TOK_GT] = 5;
 97004       bindingPower[TOK_LT] = 5;
 97005       bindingPower[TOK_GTE] = 5;
 97006       bindingPower[TOK_LTE] = 5;
 97007       bindingPower[TOK_NE] = 5;
 97008       bindingPower[TOK_FLATTEN] = 9;
 97009       bindingPower[TOK_STAR] = 20;
 97010       bindingPower[TOK_FILTER] = 21;
 97011       bindingPower[TOK_DOT] = 40;
 97012       bindingPower[TOK_NOT] = 45;
 97013       bindingPower[TOK_LBRACE] = 50;
 97014       bindingPower[TOK_LBRACKET] = 55;
 97015       bindingPower[TOK_LPAREN] = 60;
 97016 
 97017   function Parser() {
 97018   }
 97019 
 97020   Parser.prototype = {
 97021       parse: function(expression) {
 97022           this._loadTokens(expression);
 97023           this.index = 0;
 97024           var ast = this.expression(0);
 97025           if (this._lookahead(0) !== TOK_EOF) {
 97026               var t = this._lookaheadToken(0);
 97027               var error = new Error(
 97028                   "Unexpected token type: " + t.type + ", value: " + t.value);
 97029               error.name = "ParserError";
 97030               throw error;
 97031           }
 97032           return ast;
 97033       },
 97034 
 97035       _loadTokens: function(expression) {
 97036           var lexer = new Lexer();
 97037           var tokens = lexer.tokenize(expression);
 97038           tokens.push({type: TOK_EOF, value: "", start: expression.length});
 97039           this.tokens = tokens;
 97040       },
 97041 
 97042       expression: function(rbp) {
 97043           var leftToken = this._lookaheadToken(0);
 97044           this._advance();
 97045           var left = this.nud(leftToken);
 97046           var currentToken = this._lookahead(0);
 97047           while (rbp < bindingPower[currentToken]) {
 97048               this._advance();
 97049               left = this.led(currentToken, left);
 97050               currentToken = this._lookahead(0);
 97051           }
 97052           return left;
 97053       },
 97054 
 97055       _lookahead: function(number) {
 97056           return this.tokens[this.index + number].type;
 97057       },
 97058 
 97059       _lookaheadToken: function(number) {
 97060           return this.tokens[this.index + number];
 97061       },
 97062 
 97063       _advance: function() {
 97064           this.index++;
 97065       },
 97066 
 97067       nud: function(token) {
 97068         var left;
 97069         var right;
 97070         var expression;
 97071         switch (token.type) {
 97072           case TOK_LITERAL:
 97073             return {type: "Literal", value: token.value};
 97074           case TOK_UNQUOTEDIDENTIFIER:
 97075             return {type: "Field", name: token.value};
 97076           case TOK_QUOTEDIDENTIFIER:
 97077             var node = {type: "Field", name: token.value};
 97078             if (this._lookahead(0) === TOK_LPAREN) {
 97079                 throw new Error("Quoted identifier not allowed for function names.");
 97080             } else {
 97081                 return node;
 97082             }
 97083             break;
 97084           case TOK_NOT:
 97085             right = this.expression(bindingPower.Not);
 97086             return {type: "NotExpression", children: [right]};
 97087           case TOK_STAR:
 97088             left = {type: "Identity"};
 97089             right = null;
 97090             if (this._lookahead(0) === TOK_RBRACKET) {
 97091                 right = {type: "Identity"};
 97092             } else {
 97093                 right = this._parseProjectionRHS(bindingPower.Star);
 97094             }
 97095             return {type: "ValueProjection", children: [left, right]};
 97096           case TOK_FILTER:
 97097             return this.led(token.type, {type: "Identity"});
 97098           case TOK_LBRACE:
 97099             return this._parseMultiselectHash();
 97100           case TOK_FLATTEN:
 97101             left = {type: TOK_FLATTEN, children: [{type: "Identity"}]};
 97102             right = this._parseProjectionRHS(bindingPower.Flatten);
 97103             return {type: "Projection", children: [left, right]};
 97104           case TOK_LBRACKET:
 97105             if (this._lookahead(0) === TOK_NUMBER || this._lookahead(0) === TOK_COLON) {
 97106                 right = this._parseIndexExpression();
 97107                 return this._projectIfSlice({type: "Identity"}, right);
 97108             } else if (this._lookahead(0) === TOK_STAR &&
 97109                        this._lookahead(1) === TOK_RBRACKET) {
 97110                 this._advance();
 97111                 this._advance();
 97112                 right = this._parseProjectionRHS(bindingPower.Star);
 97113                 return {type: "Projection",
 97114                         children: [{type: "Identity"}, right]};
 97115             } else {
 97116                 return this._parseMultiselectList();
 97117             }
 97118             break;
 97119           case TOK_CURRENT:
 97120             return {type: TOK_CURRENT};
 97121           case TOK_EXPREF:
 97122             expression = this.expression(bindingPower.Expref);
 97123             return {type: "ExpressionReference", children: [expression]};
 97124           case TOK_LPAREN:
 97125             var args = [];
 97126             while (this._lookahead(0) !== TOK_RPAREN) {
 97127               if (this._lookahead(0) === TOK_CURRENT) {
 97128                 expression = {type: TOK_CURRENT};
 97129                 this._advance();
 97130               } else {
 97131                 expression = this.expression(0);
 97132               }
 97133               args.push(expression);
 97134             }
 97135             this._match(TOK_RPAREN);
 97136             return args[0];
 97137           default:
 97138             this._errorToken(token);
 97139         }
 97140       },
 97141 
 97142       led: function(tokenName, left) {
 97143         var right;
 97144         switch(tokenName) {
 97145           case TOK_DOT:
 97146             var rbp = bindingPower.Dot;
 97147             if (this._lookahead(0) !== TOK_STAR) {
 97148                 right = this._parseDotRHS(rbp);
 97149                 return {type: "Subexpression", children: [left, right]};
 97150             } else {
 97151                 this._advance();
 97152                 right = this._parseProjectionRHS(rbp);
 97153                 return {type: "ValueProjection", children: [left, right]};
 97154             }
 97155             break;
 97156           case TOK_PIPE:
 97157             right = this.expression(bindingPower.Pipe);
 97158             return {type: TOK_PIPE, children: [left, right]};
 97159           case TOK_OR:
 97160             right = this.expression(bindingPower.Or);
 97161             return {type: "OrExpression", children: [left, right]};
 97162           case TOK_AND:
 97163             right = this.expression(bindingPower.And);
 97164             return {type: "AndExpression", children: [left, right]};
 97165           case TOK_LPAREN:
 97166             var name = left.name;
 97167             var args = [];
 97168             var expression, node;
 97169             while (this._lookahead(0) !== TOK_RPAREN) {
 97170               if (this._lookahead(0) === TOK_CURRENT) {
 97171                 expression = {type: TOK_CURRENT};
 97172                 this._advance();
 97173               } else {
 97174                 expression = this.expression(0);
 97175               }
 97176               if (this._lookahead(0) === TOK_COMMA) {
 97177                 this._match(TOK_COMMA);
 97178               }
 97179               args.push(expression);
 97180             }
 97181             this._match(TOK_RPAREN);
 97182             node = {type: "Function", name: name, children: args};
 97183             return node;
 97184           case TOK_FILTER:
 97185             var condition = this.expression(0);
 97186             this._match(TOK_RBRACKET);
 97187             if (this._lookahead(0) === TOK_FLATTEN) {
 97188               right = {type: "Identity"};
 97189             } else {
 97190               right = this._parseProjectionRHS(bindingPower.Filter);
 97191             }
 97192             return {type: "FilterProjection", children: [left, right, condition]};
 97193           case TOK_FLATTEN:
 97194             var leftNode = {type: TOK_FLATTEN, children: [left]};
 97195             var rightNode = this._parseProjectionRHS(bindingPower.Flatten);
 97196             return {type: "Projection", children: [leftNode, rightNode]};
 97197           case TOK_EQ:
 97198           case TOK_NE:
 97199           case TOK_GT:
 97200           case TOK_GTE:
 97201           case TOK_LT:
 97202           case TOK_LTE:
 97203             return this._parseComparator(left, tokenName);
 97204           case TOK_LBRACKET:
 97205             var token = this._lookaheadToken(0);
 97206             if (token.type === TOK_NUMBER || token.type === TOK_COLON) {
 97207                 right = this._parseIndexExpression();
 97208                 return this._projectIfSlice(left, right);
 97209             } else {
 97210                 this._match(TOK_STAR);
 97211                 this._match(TOK_RBRACKET);
 97212                 right = this._parseProjectionRHS(bindingPower.Star);
 97213                 return {type: "Projection", children: [left, right]};
 97214             }
 97215             break;
 97216           default:
 97217             this._errorToken(this._lookaheadToken(0));
 97218         }
 97219       },
 97220 
 97221       _match: function(tokenType) {
 97222           if (this._lookahead(0) === tokenType) {
 97223               this._advance();
 97224           } else {
 97225               var t = this._lookaheadToken(0);
 97226               var error = new Error("Expected " + tokenType + ", got: " + t.type);
 97227               error.name = "ParserError";
 97228               throw error;
 97229           }
 97230       },
 97231 
 97232       _errorToken: function(token) {
 97233           var error = new Error("Invalid token (" +
 97234                                 token.type + "): \"" +
 97235                                 token.value + "\"");
 97236           error.name = "ParserError";
 97237           throw error;
 97238       },
 97239 
 97240 
 97241       _parseIndexExpression: function() {
 97242           if (this._lookahead(0) === TOK_COLON || this._lookahead(1) === TOK_COLON) {
 97243               return this._parseSliceExpression();
 97244           } else {
 97245               var node = {
 97246                   type: "Index",
 97247                   value: this._lookaheadToken(0).value};
 97248               this._advance();
 97249               this._match(TOK_RBRACKET);
 97250               return node;
 97251           }
 97252       },
 97253 
 97254       _projectIfSlice: function(left, right) {
 97255           var indexExpr = {type: "IndexExpression", children: [left, right]};
 97256           if (right.type === "Slice") {
 97257               return {
 97258                   type: "Projection",
 97259                   children: [indexExpr, this._parseProjectionRHS(bindingPower.Star)]
 97260               };
 97261           } else {
 97262               return indexExpr;
 97263           }
 97264       },
 97265 
 97266       _parseSliceExpression: function() {
 97267           var parts = [null, null, null];
 97268           var index = 0;
 97269           var currentToken = this._lookahead(0);
 97270           while (currentToken !== TOK_RBRACKET && index < 3) {
 97271               if (currentToken === TOK_COLON) {
 97272                   index++;
 97273                   this._advance();
 97274               } else if (currentToken === TOK_NUMBER) {
 97275                   parts[index] = this._lookaheadToken(0).value;
 97276                   this._advance();
 97277               } else {
 97278                   var t = this._lookahead(0);
 97279                   var error = new Error("Syntax error, unexpected token: " +
 97280                                         t.value + "(" + t.type + ")");
 97281                   error.name = "Parsererror";
 97282                   throw error;
 97283               }
 97284               currentToken = this._lookahead(0);
 97285           }
 97286           this._match(TOK_RBRACKET);
 97287           return {
 97288               type: "Slice",
 97289               children: parts
 97290           };
 97291       },
 97292 
 97293       _parseComparator: function(left, comparator) {
 97294         var right = this.expression(bindingPower[comparator]);
 97295         return {type: "Comparator", name: comparator, children: [left, right]};
 97296       },
 97297 
 97298       _parseDotRHS: function(rbp) {
 97299           var lookahead = this._lookahead(0);
 97300           var exprTokens = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER, TOK_STAR];
 97301           if (exprTokens.indexOf(lookahead) >= 0) {
 97302               return this.expression(rbp);
 97303           } else if (lookahead === TOK_LBRACKET) {
 97304               this._match(TOK_LBRACKET);
 97305               return this._parseMultiselectList();
 97306           } else if (lookahead === TOK_LBRACE) {
 97307               this._match(TOK_LBRACE);
 97308               return this._parseMultiselectHash();
 97309           }
 97310       },
 97311 
 97312       _parseProjectionRHS: function(rbp) {
 97313           var right;
 97314           if (bindingPower[this._lookahead(0)] < 10) {
 97315               right = {type: "Identity"};
 97316           } else if (this._lookahead(0) === TOK_LBRACKET) {
 97317               right = this.expression(rbp);
 97318           } else if (this._lookahead(0) === TOK_FILTER) {
 97319               right = this.expression(rbp);
 97320           } else if (this._lookahead(0) === TOK_DOT) {
 97321               this._match(TOK_DOT);
 97322               right = this._parseDotRHS(rbp);
 97323           } else {
 97324               var t = this._lookaheadToken(0);
 97325               var error = new Error("Sytanx error, unexpected token: " +
 97326                                     t.value + "(" + t.type + ")");
 97327               error.name = "ParserError";
 97328               throw error;
 97329           }
 97330           return right;
 97331       },
 97332 
 97333       _parseMultiselectList: function() {
 97334           var expressions = [];
 97335           while (this._lookahead(0) !== TOK_RBRACKET) {
 97336               var expression = this.expression(0);
 97337               expressions.push(expression);
 97338               if (this._lookahead(0) === TOK_COMMA) {
 97339                   this._match(TOK_COMMA);
 97340                   if (this._lookahead(0) === TOK_RBRACKET) {
 97341                     throw new Error("Unexpected token Rbracket");
 97342                   }
 97343               }
 97344           }
 97345           this._match(TOK_RBRACKET);
 97346           return {type: "MultiSelectList", children: expressions};
 97347       },
 97348 
 97349       _parseMultiselectHash: function() {
 97350         var pairs = [];
 97351         var identifierTypes = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER];
 97352         var keyToken, keyName, value, node;
 97353         for (;;) {
 97354           keyToken = this._lookaheadToken(0);
 97355           if (identifierTypes.indexOf(keyToken.type) < 0) {
 97356             throw new Error("Expecting an identifier token, got: " +
 97357                             keyToken.type);
 97358           }
 97359           keyName = keyToken.value;
 97360           this._advance();
 97361           this._match(TOK_COLON);
 97362           value = this.expression(0);
 97363           node = {type: "KeyValuePair", name: keyName, value: value};
 97364           pairs.push(node);
 97365           if (this._lookahead(0) === TOK_COMMA) {
 97366             this._match(TOK_COMMA);
 97367           } else if (this._lookahead(0) === TOK_RBRACE) {
 97368             this._match(TOK_RBRACE);
 97369             break;
 97370           }
 97371         }
 97372         return {type: "MultiSelectHash", children: pairs};
 97373       }
 97374   };
 97375 
 97376 
 97377   function TreeInterpreter(runtime) {
 97378     this.runtime = runtime;
 97379   }
 97380 
 97381   TreeInterpreter.prototype = {
 97382       search: function(node, value) {
 97383           return this.visit(node, value);
 97384       },
 97385 
 97386       visit: function(node, value) {
 97387           var matched, current, result, first, second, field, left, right, collected, i;
 97388           switch (node.type) {
 97389             case "Field":
 97390               if (value === null ) {
 97391                   return null;
 97392               } else if (isObject(value)) {
 97393                   field = value[node.name];
 97394                   if (field === undefined) {
 97395                       return null;
 97396                   } else {
 97397                       return field;
 97398                   }
 97399               } else {
 97400                 return null;
 97401               }
 97402               break;
 97403             case "Subexpression":
 97404               result = this.visit(node.children[0], value);
 97405               for (i = 1; i < node.children.length; i++) {
 97406                   result = this.visit(node.children[1], result);
 97407                   if (result === null) {
 97408                       return null;
 97409                   }
 97410               }
 97411               return result;
 97412             case "IndexExpression":
 97413               left = this.visit(node.children[0], value);
 97414               right = this.visit(node.children[1], left);
 97415               return right;
 97416             case "Index":
 97417               if (!isArray(value)) {
 97418                 return null;
 97419               }
 97420               var index = node.value;
 97421               if (index < 0) {
 97422                 index = value.length + index;
 97423               }
 97424               result = value[index];
 97425               if (result === undefined) {
 97426                 result = null;
 97427               }
 97428               return result;
 97429             case "Slice":
 97430               if (!isArray(value)) {
 97431                 return null;
 97432               }
 97433               var sliceParams = node.children.slice(0);
 97434               var computed = this.computeSliceParams(value.length, sliceParams);
 97435               var start = computed[0];
 97436               var stop = computed[1];
 97437               var step = computed[2];
 97438               result = [];
 97439               if (step > 0) {
 97440                   for (i = start; i < stop; i += step) {
 97441                       result.push(value[i]);
 97442                   }
 97443               } else {
 97444                   for (i = start; i > stop; i += step) {
 97445                       result.push(value[i]);
 97446                   }
 97447               }
 97448               return result;
 97449             case "Projection":
 97450               var base = this.visit(node.children[0], value);
 97451               if (!isArray(base)) {
 97452                 return null;
 97453               }
 97454               collected = [];
 97455               for (i = 0; i < base.length; i++) {
 97456                 current = this.visit(node.children[1], base[i]);
 97457                 if (current !== null) {
 97458                   collected.push(current);
 97459                 }
 97460               }
 97461               return collected;
 97462             case "ValueProjection":
 97463               base = this.visit(node.children[0], value);
 97464               if (!isObject(base)) {
 97465                 return null;
 97466               }
 97467               collected = [];
 97468               var values = objValues(base);
 97469               for (i = 0; i < values.length; i++) {
 97470                 current = this.visit(node.children[1], values[i]);
 97471                 if (current !== null) {
 97472                   collected.push(current);
 97473                 }
 97474               }
 97475               return collected;
 97476             case "FilterProjection":
 97477               base = this.visit(node.children[0], value);
 97478               if (!isArray(base)) {
 97479                 return null;
 97480               }
 97481               var filtered = [];
 97482               var finalResults = [];
 97483               for (i = 0; i < base.length; i++) {
 97484                 matched = this.visit(node.children[2], base[i]);
 97485                 if (!isFalse(matched)) {
 97486                   filtered.push(base[i]);
 97487                 }
 97488               }
 97489               for (var j = 0; j < filtered.length; j++) {
 97490                 current = this.visit(node.children[1], filtered[j]);
 97491                 if (current !== null) {
 97492                   finalResults.push(current);
 97493                 }
 97494               }
 97495               return finalResults;
 97496             case "Comparator":
 97497               first = this.visit(node.children[0], value);
 97498               second = this.visit(node.children[1], value);
 97499               switch(node.name) {
 97500                 case TOK_EQ:
 97501                   result = strictDeepEqual(first, second);
 97502                   break;
 97503                 case TOK_NE:
 97504                   result = !strictDeepEqual(first, second);
 97505                   break;
 97506                 case TOK_GT:
 97507                   result = first > second;
 97508                   break;
 97509                 case TOK_GTE:
 97510                   result = first >= second;
 97511                   break;
 97512                 case TOK_LT:
 97513                   result = first < second;
 97514                   break;
 97515                 case TOK_LTE:
 97516                   result = first <= second;
 97517                   break;
 97518                 default:
 97519                   throw new Error("Unknown comparator: " + node.name);
 97520               }
 97521               return result;
 97522             case TOK_FLATTEN:
 97523               var original = this.visit(node.children[0], value);
 97524               if (!isArray(original)) {
 97525                 return null;
 97526               }
 97527               var merged = [];
 97528               for (i = 0; i < original.length; i++) {
 97529                 current = original[i];
 97530                 if (isArray(current)) {
 97531                   merged.push.apply(merged, current);
 97532                 } else {
 97533                   merged.push(current);
 97534                 }
 97535               }
 97536               return merged;
 97537             case "Identity":
 97538               return value;
 97539             case "MultiSelectList":
 97540               if (value === null) {
 97541                 return null;
 97542               }
 97543               collected = [];
 97544               for (i = 0; i < node.children.length; i++) {
 97545                   collected.push(this.visit(node.children[i], value));
 97546               }
 97547               return collected;
 97548             case "MultiSelectHash":
 97549               if (value === null) {
 97550                 return null;
 97551               }
 97552               collected = {};
 97553               var child;
 97554               for (i = 0; i < node.children.length; i++) {
 97555                 child = node.children[i];
 97556                 collected[child.name] = this.visit(child.value, value);
 97557               }
 97558               return collected;
 97559             case "OrExpression":
 97560               matched = this.visit(node.children[0], value);
 97561               if (isFalse(matched)) {
 97562                   matched = this.visit(node.children[1], value);
 97563               }
 97564               return matched;
 97565             case "AndExpression":
 97566               first = this.visit(node.children[0], value);
 97567 
 97568               if (isFalse(first) === true) {
 97569                 return first;
 97570               }
 97571               return this.visit(node.children[1], value);
 97572             case "NotExpression":
 97573               first = this.visit(node.children[0], value);
 97574               return isFalse(first);
 97575             case "Literal":
 97576               return node.value;
 97577             case TOK_PIPE:
 97578               left = this.visit(node.children[0], value);
 97579               return this.visit(node.children[1], left);
 97580             case TOK_CURRENT:
 97581               return value;
 97582             case "Function":
 97583               var resolvedArgs = [];
 97584               for (i = 0; i < node.children.length; i++) {
 97585                   resolvedArgs.push(this.visit(node.children[i], value));
 97586               }
 97587               return this.runtime.callFunction(node.name, resolvedArgs);
 97588             case "ExpressionReference":
 97589               var refNode = node.children[0];
 97590               refNode.jmespathType = TOK_EXPREF;
 97591               return refNode;
 97592             default:
 97593               throw new Error("Unknown node type: " + node.type);
 97594           }
 97595       },
 97596 
 97597       computeSliceParams: function(arrayLength, sliceParams) {
 97598         var start = sliceParams[0];
 97599         var stop = sliceParams[1];
 97600         var step = sliceParams[2];
 97601         var computed = [null, null, null];
 97602         if (step === null) {
 97603           step = 1;
 97604         } else if (step === 0) {
 97605           var error = new Error("Invalid slice, step cannot be 0");
 97606           error.name = "RuntimeError";
 97607           throw error;
 97608         }
 97609         var stepValueNegative = step < 0 ? true : false;
 97610 
 97611         if (start === null) {
 97612             start = stepValueNegative ? arrayLength - 1 : 0;
 97613         } else {
 97614             start = this.capSliceRange(arrayLength, start, step);
 97615         }
 97616 
 97617         if (stop === null) {
 97618             stop = stepValueNegative ? -1 : arrayLength;
 97619         } else {
 97620             stop = this.capSliceRange(arrayLength, stop, step);
 97621         }
 97622         computed[0] = start;
 97623         computed[1] = stop;
 97624         computed[2] = step;
 97625         return computed;
 97626       },
 97627 
 97628       capSliceRange: function(arrayLength, actualValue, step) {
 97629           if (actualValue < 0) {
 97630               actualValue += arrayLength;
 97631               if (actualValue < 0) {
 97632                   actualValue = step < 0 ? -1 : 0;
 97633               }
 97634           } else if (actualValue >= arrayLength) {
 97635               actualValue = step < 0 ? arrayLength - 1 : arrayLength;
 97636           }
 97637           return actualValue;
 97638       }
 97639 
 97640   };
 97641 
 97642   function Runtime(interpreter) {
 97643     this._interpreter = interpreter;
 97644     this.functionTable = {
 97645         abs: {_func: this._functionAbs, _signature: [{types: [TYPE_NUMBER]}]},
 97646         avg: {_func: this._functionAvg, _signature: [{types: [TYPE_ARRAY_NUMBER]}]},
 97647         ceil: {_func: this._functionCeil, _signature: [{types: [TYPE_NUMBER]}]},
 97648         contains: {
 97649             _func: this._functionContains,
 97650             _signature: [{types: [TYPE_STRING, TYPE_ARRAY]},
 97651                         {types: [TYPE_ANY]}]},
 97652         "ends_with": {
 97653             _func: this._functionEndsWith,
 97654             _signature: [{types: [TYPE_STRING]}, {types: [TYPE_STRING]}]},
 97655         floor: {_func: this._functionFloor, _signature: [{types: [TYPE_NUMBER]}]},
 97656         length: {
 97657             _func: this._functionLength,
 97658             _signature: [{types: [TYPE_STRING, TYPE_ARRAY, TYPE_OBJECT]}]},
 97659         map: {
 97660             _func: this._functionMap,
 97661             _signature: [{types: [TYPE_EXPREF]}, {types: [TYPE_ARRAY]}]},
 97662         max: {
 97663             _func: this._functionMax,
 97664             _signature: [{types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING]}]},
 97665         "merge": {
 97666             _func: this._functionMerge,
 97667             _signature: [{types: [TYPE_OBJECT], variadic: true}]
 97668         },
 97669         "max_by": {
 97670           _func: this._functionMaxBy,
 97671           _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]
 97672         },
 97673         sum: {_func: this._functionSum, _signature: [{types: [TYPE_ARRAY_NUMBER]}]},
 97674         "starts_with": {
 97675             _func: this._functionStartsWith,
 97676             _signature: [{types: [TYPE_STRING]}, {types: [TYPE_STRING]}]},
 97677         min: {
 97678             _func: this._functionMin,
 97679             _signature: [{types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING]}]},
 97680         "min_by": {
 97681           _func: this._functionMinBy,
 97682           _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]
 97683         },
 97684         type: {_func: this._functionType, _signature: [{types: [TYPE_ANY]}]},
 97685         keys: {_func: this._functionKeys, _signature: [{types: [TYPE_OBJECT]}]},
 97686         values: {_func: this._functionValues, _signature: [{types: [TYPE_OBJECT]}]},
 97687         sort: {_func: this._functionSort, _signature: [{types: [TYPE_ARRAY_STRING, TYPE_ARRAY_NUMBER]}]},
 97688         "sort_by": {
 97689           _func: this._functionSortBy,
 97690           _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]
 97691         },
 97692         join: {
 97693             _func: this._functionJoin,
 97694             _signature: [
 97695                 {types: [TYPE_STRING]},
 97696                 {types: [TYPE_ARRAY_STRING]}
 97697             ]
 97698         },
 97699         reverse: {
 97700             _func: this._functionReverse,
 97701             _signature: [{types: [TYPE_STRING, TYPE_ARRAY]}]},
 97702         "to_array": {_func: this._functionToArray, _signature: [{types: [TYPE_ANY]}]},
 97703         "to_string": {_func: this._functionToString, _signature: [{types: [TYPE_ANY]}]},
 97704         "to_number": {_func: this._functionToNumber, _signature: [{types: [TYPE_ANY]}]},
 97705         "not_null": {
 97706             _func: this._functionNotNull,
 97707             _signature: [{types: [TYPE_ANY], variadic: true}]
 97708         }
 97709     };
 97710   }
 97711 
 97712   Runtime.prototype = {
 97713     callFunction: function(name, resolvedArgs) {
 97714       var functionEntry = this.functionTable[name];
 97715       if (functionEntry === undefined) {
 97716           throw new Error("Unknown function: " + name + "()");
 97717       }
 97718       this._validateArgs(name, resolvedArgs, functionEntry._signature);
 97719       return functionEntry._func.call(this, resolvedArgs);
 97720     },
 97721 
 97722     _validateArgs: function(name, args, signature) {
 97723         var pluralized;
 97724         if (signature[signature.length - 1].variadic) {
 97725             if (args.length < signature.length) {
 97726                 pluralized = signature.length === 1 ? " argument" : " arguments";
 97727                 throw new Error("ArgumentError: " + name + "() " +
 97728                                 "takes at least" + signature.length + pluralized +
 97729                                 " but received " + args.length);
 97730             }
 97731         } else if (args.length !== signature.length) {
 97732             pluralized = signature.length === 1 ? " argument" : " arguments";
 97733             throw new Error("ArgumentError: " + name + "() " +
 97734                             "takes " + signature.length + pluralized +
 97735                             " but received " + args.length);
 97736         }
 97737         var currentSpec;
 97738         var actualType;
 97739         var typeMatched;
 97740         for (var i = 0; i < signature.length; i++) {
 97741             typeMatched = false;
 97742             currentSpec = signature[i].types;
 97743             actualType = this._getTypeName(args[i]);
 97744             for (var j = 0; j < currentSpec.length; j++) {
 97745                 if (this._typeMatches(actualType, currentSpec[j], args[i])) {
 97746                     typeMatched = true;
 97747                     break;
 97748                 }
 97749             }
 97750             if (!typeMatched) {
 97751                 throw new Error("TypeError: " + name + "() " +
 97752                                 "expected argument " + (i + 1) +
 97753                                 " to be type " + currentSpec +
 97754                                 " but received type " + actualType +
 97755                                 " instead.");
 97756             }
 97757         }
 97758     },
 97759 
 97760     _typeMatches: function(actual, expected, argValue) {
 97761         if (expected === TYPE_ANY) {
 97762             return true;
 97763         }
 97764         if (expected === TYPE_ARRAY_STRING ||
 97765             expected === TYPE_ARRAY_NUMBER ||
 97766             expected === TYPE_ARRAY) {
 97767             if (expected === TYPE_ARRAY) {
 97768                 return actual === TYPE_ARRAY;
 97769             } else if (actual === TYPE_ARRAY) {
 97770                 var subtype;
 97771                 if (expected === TYPE_ARRAY_NUMBER) {
 97772                   subtype = TYPE_NUMBER;
 97773                 } else if (expected === TYPE_ARRAY_STRING) {
 97774                   subtype = TYPE_STRING;
 97775                 }
 97776                 for (var i = 0; i < argValue.length; i++) {
 97777                     if (!this._typeMatches(
 97778                             this._getTypeName(argValue[i]), subtype,
 97779                                              argValue[i])) {
 97780                         return false;
 97781                     }
 97782                 }
 97783                 return true;
 97784             }
 97785         } else {
 97786             return actual === expected;
 97787         }
 97788     },
 97789     _getTypeName: function(obj) {
 97790         switch (Object.prototype.toString.call(obj)) {
 97791             case "[object String]":
 97792               return TYPE_STRING;
 97793             case "[object Number]":
 97794               return TYPE_NUMBER;
 97795             case "[object Array]":
 97796               return TYPE_ARRAY;
 97797             case "[object Boolean]":
 97798               return TYPE_BOOLEAN;
 97799             case "[object Null]":
 97800               return TYPE_NULL;
 97801             case "[object Object]":
 97802               if (obj.jmespathType === TOK_EXPREF) {
 97803                 return TYPE_EXPREF;
 97804               } else {
 97805                 return TYPE_OBJECT;
 97806               }
 97807         }
 97808     },
 97809 
 97810     _functionStartsWith: function(resolvedArgs) {
 97811         return resolvedArgs[0].lastIndexOf(resolvedArgs[1]) === 0;
 97812     },
 97813 
 97814     _functionEndsWith: function(resolvedArgs) {
 97815         var searchStr = resolvedArgs[0];
 97816         var suffix = resolvedArgs[1];
 97817         return searchStr.indexOf(suffix, searchStr.length - suffix.length) !== -1;
 97818     },
 97819 
 97820     _functionReverse: function(resolvedArgs) {
 97821         var typeName = this._getTypeName(resolvedArgs[0]);
 97822         if (typeName === TYPE_STRING) {
 97823           var originalStr = resolvedArgs[0];
 97824           var reversedStr = "";
 97825           for (var i = originalStr.length - 1; i >= 0; i--) {
 97826               reversedStr += originalStr[i];
 97827           }
 97828           return reversedStr;
 97829         } else {
 97830           var reversedArray = resolvedArgs[0].slice(0);
 97831           reversedArray.reverse();
 97832           return reversedArray;
 97833         }
 97834     },
 97835 
 97836     _functionAbs: function(resolvedArgs) {
 97837       return Math.abs(resolvedArgs[0]);
 97838     },
 97839 
 97840     _functionCeil: function(resolvedArgs) {
 97841         return Math.ceil(resolvedArgs[0]);
 97842     },
 97843 
 97844     _functionAvg: function(resolvedArgs) {
 97845         var sum = 0;
 97846         var inputArray = resolvedArgs[0];
 97847         for (var i = 0; i < inputArray.length; i++) {
 97848             sum += inputArray[i];
 97849         }
 97850         return sum / inputArray.length;
 97851     },
 97852 
 97853     _functionContains: function(resolvedArgs) {
 97854         return resolvedArgs[0].indexOf(resolvedArgs[1]) >= 0;
 97855     },
 97856 
 97857     _functionFloor: function(resolvedArgs) {
 97858         return Math.floor(resolvedArgs[0]);
 97859     },
 97860 
 97861     _functionLength: function(resolvedArgs) {
 97862        if (!isObject(resolvedArgs[0])) {
 97863          return resolvedArgs[0].length;
 97864        } else {
 97865          return Object.keys(resolvedArgs[0]).length;
 97866        }
 97867     },
 97868 
 97869     _functionMap: function(resolvedArgs) {
 97870       var mapped = [];
 97871       var interpreter = this._interpreter;
 97872       var exprefNode = resolvedArgs[0];
 97873       var elements = resolvedArgs[1];
 97874       for (var i = 0; i < elements.length; i++) {
 97875           mapped.push(interpreter.visit(exprefNode, elements[i]));
 97876       }
 97877       return mapped;
 97878     },
 97879 
 97880     _functionMerge: function(resolvedArgs) {
 97881       var merged = {};
 97882       for (var i = 0; i < resolvedArgs.length; i++) {
 97883         var current = resolvedArgs[i];
 97884         for (var key in current) {
 97885           merged[key] = current[key];
 97886         }
 97887       }
 97888       return merged;
 97889     },
 97890 
 97891     _functionMax: function(resolvedArgs) {
 97892       if (resolvedArgs[0].length > 0) {
 97893         var typeName = this._getTypeName(resolvedArgs[0][0]);
 97894         if (typeName === TYPE_NUMBER) {
 97895           return Math.max.apply(Math, resolvedArgs[0]);
 97896         } else {
 97897           var elements = resolvedArgs[0];
 97898           var maxElement = elements[0];
 97899           for (var i = 1; i < elements.length; i++) {
 97900               if (maxElement.localeCompare(elements[i]) < 0) {
 97901                   maxElement = elements[i];
 97902               }
 97903           }
 97904           return maxElement;
 97905         }
 97906       } else {
 97907           return null;
 97908       }
 97909     },
 97910 
 97911     _functionMin: function(resolvedArgs) {
 97912       if (resolvedArgs[0].length > 0) {
 97913         var typeName = this._getTypeName(resolvedArgs[0][0]);
 97914         if (typeName === TYPE_NUMBER) {
 97915           return Math.min.apply(Math, resolvedArgs[0]);
 97916         } else {
 97917           var elements = resolvedArgs[0];
 97918           var minElement = elements[0];
 97919           for (var i = 1; i < elements.length; i++) {
 97920               if (elements[i].localeCompare(minElement) < 0) {
 97921                   minElement = elements[i];
 97922               }
 97923           }
 97924           return minElement;
 97925         }
 97926       } else {
 97927         return null;
 97928       }
 97929     },
 97930 
 97931     _functionSum: function(resolvedArgs) {
 97932       var sum = 0;
 97933       var listToSum = resolvedArgs[0];
 97934       for (var i = 0; i < listToSum.length; i++) {
 97935         sum += listToSum[i];
 97936       }
 97937       return sum;
 97938     },
 97939 
 97940     _functionType: function(resolvedArgs) {
 97941         switch (this._getTypeName(resolvedArgs[0])) {
 97942           case TYPE_NUMBER:
 97943             return "number";
 97944           case TYPE_STRING:
 97945             return "string";
 97946           case TYPE_ARRAY:
 97947             return "array";
 97948           case TYPE_OBJECT:
 97949             return "object";
 97950           case TYPE_BOOLEAN:
 97951             return "boolean";
 97952           case TYPE_EXPREF:
 97953             return "expref";
 97954           case TYPE_NULL:
 97955             return "null";
 97956         }
 97957     },
 97958 
 97959     _functionKeys: function(resolvedArgs) {
 97960         return Object.keys(resolvedArgs[0]);
 97961     },
 97962 
 97963     _functionValues: function(resolvedArgs) {
 97964         var obj = resolvedArgs[0];
 97965         var keys = Object.keys(obj);
 97966         var values = [];
 97967         for (var i = 0; i < keys.length; i++) {
 97968             values.push(obj[keys[i]]);
 97969         }
 97970         return values;
 97971     },
 97972 
 97973     _functionJoin: function(resolvedArgs) {
 97974         var joinChar = resolvedArgs[0];
 97975         var listJoin = resolvedArgs[1];
 97976         return listJoin.join(joinChar);
 97977     },
 97978 
 97979     _functionToArray: function(resolvedArgs) {
 97980         if (this._getTypeName(resolvedArgs[0]) === TYPE_ARRAY) {
 97981             return resolvedArgs[0];
 97982         } else {
 97983             return [resolvedArgs[0]];
 97984         }
 97985     },
 97986 
 97987     _functionToString: function(resolvedArgs) {
 97988         if (this._getTypeName(resolvedArgs[0]) === TYPE_STRING) {
 97989             return resolvedArgs[0];
 97990         } else {
 97991             return JSON.stringify(resolvedArgs[0]);
 97992         }
 97993     },
 97994 
 97995     _functionToNumber: function(resolvedArgs) {
 97996         var typeName = this._getTypeName(resolvedArgs[0]);
 97997         var convertedValue;
 97998         if (typeName === TYPE_NUMBER) {
 97999             return resolvedArgs[0];
 98000         } else if (typeName === TYPE_STRING) {
 98001             convertedValue = +resolvedArgs[0];
 98002             if (!isNaN(convertedValue)) {
 98003                 return convertedValue;
 98004             }
 98005         }
 98006         return null;
 98007     },
 98008 
 98009     _functionNotNull: function(resolvedArgs) {
 98010         for (var i = 0; i < resolvedArgs.length; i++) {
 98011             if (this._getTypeName(resolvedArgs[i]) !== TYPE_NULL) {
 98012                 return resolvedArgs[i];
 98013             }
 98014         }
 98015         return null;
 98016     },
 98017 
 98018     _functionSort: function(resolvedArgs) {
 98019         var sortedArray = resolvedArgs[0].slice(0);
 98020         sortedArray.sort();
 98021         return sortedArray;
 98022     },
 98023 
 98024     _functionSortBy: function(resolvedArgs) {
 98025         var sortedArray = resolvedArgs[0].slice(0);
 98026         if (sortedArray.length === 0) {
 98027             return sortedArray;
 98028         }
 98029         var interpreter = this._interpreter;
 98030         var exprefNode = resolvedArgs[1];
 98031         var requiredType = this._getTypeName(
 98032             interpreter.visit(exprefNode, sortedArray[0]));
 98033         if ([TYPE_NUMBER, TYPE_STRING].indexOf(requiredType) < 0) {
 98034             throw new Error("TypeError");
 98035         }
 98036         var that = this;
 98037         var decorated = [];
 98038         for (var i = 0; i < sortedArray.length; i++) {
 98039           decorated.push([i, sortedArray[i]]);
 98040         }
 98041         decorated.sort(function(a, b) {
 98042           var exprA = interpreter.visit(exprefNode, a[1]);
 98043           var exprB = interpreter.visit(exprefNode, b[1]);
 98044           if (that._getTypeName(exprA) !== requiredType) {
 98045               throw new Error(
 98046                   "TypeError: expected " + requiredType + ", received " +
 98047                   that._getTypeName(exprA));
 98048           } else if (that._getTypeName(exprB) !== requiredType) {
 98049               throw new Error(
 98050                   "TypeError: expected " + requiredType + ", received " +
 98051                   that._getTypeName(exprB));
 98052           }
 98053           if (exprA > exprB) {
 98054             return 1;
 98055           } else if (exprA < exprB) {
 98056             return -1;
 98057           } else {
 98058             return a[0] - b[0];
 98059           }
 98060         });
 98061         for (var j = 0; j < decorated.length; j++) {
 98062           sortedArray[j] = decorated[j][1];
 98063         }
 98064         return sortedArray;
 98065     },
 98066 
 98067     _functionMaxBy: function(resolvedArgs) {
 98068       var exprefNode = resolvedArgs[1];
 98069       var resolvedArray = resolvedArgs[0];
 98070       var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);
 98071       var maxNumber = -Infinity;
 98072       var maxRecord;
 98073       var current;
 98074       for (var i = 0; i < resolvedArray.length; i++) {
 98075         current = keyFunction(resolvedArray[i]);
 98076         if (current > maxNumber) {
 98077           maxNumber = current;
 98078           maxRecord = resolvedArray[i];
 98079         }
 98080       }
 98081       return maxRecord;
 98082     },
 98083 
 98084     _functionMinBy: function(resolvedArgs) {
 98085       var exprefNode = resolvedArgs[1];
 98086       var resolvedArray = resolvedArgs[0];
 98087       var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);
 98088       var minNumber = Infinity;
 98089       var minRecord;
 98090       var current;
 98091       for (var i = 0; i < resolvedArray.length; i++) {
 98092         current = keyFunction(resolvedArray[i]);
 98093         if (current < minNumber) {
 98094           minNumber = current;
 98095           minRecord = resolvedArray[i];
 98096         }
 98097       }
 98098       return minRecord;
 98099     },
 98100 
 98101     createKeyFunction: function(exprefNode, allowedTypes) {
 98102       var that = this;
 98103       var interpreter = this._interpreter;
 98104       var keyFunc = function(x) {
 98105         var current = interpreter.visit(exprefNode, x);
 98106         if (allowedTypes.indexOf(that._getTypeName(current)) < 0) {
 98107           var msg = "TypeError: expected one of " + allowedTypes +
 98108                     ", received " + that._getTypeName(current);
 98109           throw new Error(msg);
 98110         }
 98111         return current;
 98112       };
 98113       return keyFunc;
 98114     }
 98115 
 98116   };
 98117 
 98118   function compile(stream) {
 98119     var parser = new Parser();
 98120     var ast = parser.parse(stream);
 98121     return ast;
 98122   }
 98123 
 98124   function tokenize(stream) {
 98125       var lexer = new Lexer();
 98126       return lexer.tokenize(stream);
 98127   }
 98128 
 98129   function search(data, expression) {
 98130       var parser = new Parser();
 98131       var runtime = new Runtime();
 98132       var interpreter = new TreeInterpreter(runtime);
 98133       runtime._interpreter = interpreter;
 98134       var node = parser.parse(expression);
 98135       return interpreter.search(node, data);
 98136   }
 98137 
 98138   exports.tokenize = tokenize;
 98139   exports.compile = compile;
 98140   exports.search = search;
 98141   exports.strictDeepEqual = strictDeepEqual;
 98142 })(typeof exports === "undefined" ? this.jmespath = {} : exports);
 98143 
 98144 },{}],270:[function(require,module,exports){
 98145 
 98146 'use strict';
 98147 
 98148 function hasOwnProperty(obj, prop) {
 98149   return Object.prototype.hasOwnProperty.call(obj, prop);
 98150 }
 98151 
 98152 module.exports = function(qs, sep, eq, options) {
 98153   sep = sep || '&';
 98154   eq = eq || '=';
 98155   var obj = {};
 98156 
 98157   if (typeof qs !== 'string' || qs.length === 0) {
 98158     return obj;
 98159   }
 98160 
 98161   var regexp = /\+/g;
 98162   qs = qs.split(sep);
 98163 
 98164   var maxKeys = 1000;
 98165   if (options && typeof options.maxKeys === 'number') {
 98166     maxKeys = options.maxKeys;
 98167   }
 98168 
 98169   var len = qs.length;
 98170   if (maxKeys > 0 && len > maxKeys) {
 98171     len = maxKeys;
 98172   }
 98173 
 98174   for (var i = 0; i < len; ++i) {
 98175     var x = qs[i].replace(regexp, '%20'),
 98176         idx = x.indexOf(eq),
 98177         kstr, vstr, k, v;
 98178 
 98179     if (idx >= 0) {
 98180       kstr = x.substr(0, idx);
 98181       vstr = x.substr(idx + 1);
 98182     } else {
 98183       kstr = x;
 98184       vstr = '';
 98185     }
 98186 
 98187     k = decodeURIComponent(kstr);
 98188     v = decodeURIComponent(vstr);
 98189 
 98190     if (!hasOwnProperty(obj, k)) {
 98191       obj[k] = v;
 98192     } else if (Array.isArray(obj[k])) {
 98193       obj[k].push(v);
 98194     } else {
 98195       obj[k] = [obj[k], v];
 98196     }
 98197   }
 98198 
 98199   return obj;
 98200 };
 98201 
 98202 },{}],271:[function(require,module,exports){
 98203 
 98204 'use strict';
 98205 
 98206 var stringifyPrimitive = function(v) {
 98207   switch (typeof v) {
 98208     case 'string':
 98209       return v;
 98210 
 98211     case 'boolean':
 98212       return v ? 'true' : 'false';
 98213 
 98214     case 'number':
 98215       return isFinite(v) ? v : '';
 98216 
 98217     default:
 98218       return '';
 98219   }
 98220 };
 98221 
 98222 module.exports = function(obj, sep, eq, name) {
 98223   sep = sep || '&';
 98224   eq = eq || '=';
 98225   if (obj === null) {
 98226     obj = undefined;
 98227   }
 98228 
 98229   if (typeof obj === 'object') {
 98230     return Object.keys(obj).map(function(k) {
 98231       var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;
 98232       if (Array.isArray(obj[k])) {
 98233         return obj[k].map(function(v) {
 98234           return ks + encodeURIComponent(stringifyPrimitive(v));
 98235         }).join(sep);
 98236       } else {
 98237         return ks + encodeURIComponent(stringifyPrimitive(obj[k]));
 98238       }
 98239     }).join(sep);
 98240 
 98241   }
 98242 
 98243   if (!name) return '';
 98244   return encodeURIComponent(stringifyPrimitive(name)) + eq +
 98245          encodeURIComponent(stringifyPrimitive(obj));
 98246 };
 98247 
 98248 },{}],272:[function(require,module,exports){
 98249 arguments[4][255][0].apply(exports,arguments)
 98250 },{"./decode":270,"./encode":271,"dup":255}],273:[function(require,module,exports){
 98251 
 98252 var punycode = require('punycode');
 98253 
 98254 exports.parse = urlParse;
 98255 exports.resolve = urlResolve;
 98256 exports.resolveObject = urlResolveObject;
 98257 exports.format = urlFormat;
 98258 
 98259 exports.Url = Url;
 98260 
 98261 function Url() {
 98262   this.protocol = null;
 98263   this.slashes = null;
 98264   this.auth = null;
 98265   this.host = null;
 98266   this.port = null;
 98267   this.hostname = null;
 98268   this.hash = null;
 98269   this.search = null;
 98270   this.query = null;
 98271   this.pathname = null;
 98272   this.path = null;
 98273   this.href = null;
 98274 }
 98275 
 98276 
 98277 var protocolPattern = /^([a-z0-9.+-]+:)/i,
 98278     portPattern = /:[0-9]*$/,
 98279 
 98280     delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'],
 98281 
 98282     unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims),
 98283 
 98284     autoEscape = ['\''].concat(unwise),
 98285     nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),
 98286     hostEndingChars = ['/', '?', '#'],
 98287     hostnameMaxLen = 255,
 98288     hostnamePartPattern = /^[a-z0-9A-Z_-]{0,63}$/,
 98289     hostnamePartStart = /^([a-z0-9A-Z_-]{0,63})(.*)$/,
 98290     unsafeProtocol = {
 98291       'javascript': true,
 98292       'javascript:': true
 98293     },
 98294     hostlessProtocol = {
 98295       'javascript': true,
 98296       'javascript:': true
 98297     },
 98298     slashedProtocol = {
 98299       'http': true,
 98300       'https': true,
 98301       'ftp': true,
 98302       'gopher': true,
 98303       'file': true,
 98304       'http:': true,
 98305       'https:': true,
 98306       'ftp:': true,
 98307       'gopher:': true,
 98308       'file:': true
 98309     },
 98310     querystring = require('querystring');
 98311 
 98312 function urlParse(url, parseQueryString, slashesDenoteHost) {
 98313   if (url && isObject(url) && url instanceof Url) return url;
 98314 
 98315   var u = new Url;
 98316   u.parse(url, parseQueryString, slashesDenoteHost);
 98317   return u;
 98318 }
 98319 
 98320 Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {
 98321   if (!isString(url)) {
 98322     throw new TypeError("Parameter 'url' must be a string, not " + typeof url);
 98323   }
 98324 
 98325   var rest = url;
 98326 
 98327   rest = rest.trim();
 98328 
 98329   var proto = protocolPattern.exec(rest);
 98330   if (proto) {
 98331     proto = proto[0];
 98332     var lowerProto = proto.toLowerCase();
 98333     this.protocol = lowerProto;
 98334     rest = rest.substr(proto.length);
 98335   }
 98336 
 98337   if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) {
 98338     var slashes = rest.substr(0, 2) === '//';
 98339     if (slashes && !(proto && hostlessProtocol[proto])) {
 98340       rest = rest.substr(2);
 98341       this.slashes = true;
 98342     }
 98343   }
 98344 
 98345   if (!hostlessProtocol[proto] &&
 98346       (slashes || (proto && !slashedProtocol[proto]))) {
 98347 
 98348 
 98349 
 98350     var hostEnd = -1;
 98351     for (var i = 0; i < hostEndingChars.length; i++) {
 98352       var hec = rest.indexOf(hostEndingChars[i]);
 98353       if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))
 98354         hostEnd = hec;
 98355     }
 98356 
 98357     var auth, atSign;
 98358     if (hostEnd === -1) {
 98359       atSign = rest.lastIndexOf('@');
 98360     } else {
 98361       atSign = rest.lastIndexOf('@', hostEnd);
 98362     }
 98363 
 98364     if (atSign !== -1) {
 98365       auth = rest.slice(0, atSign);
 98366       rest = rest.slice(atSign + 1);
 98367       this.auth = decodeURIComponent(auth);
 98368     }
 98369 
 98370     hostEnd = -1;
 98371     for (var i = 0; i < nonHostChars.length; i++) {
 98372       var hec = rest.indexOf(nonHostChars[i]);
 98373       if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))
 98374         hostEnd = hec;
 98375     }
 98376     if (hostEnd === -1)
 98377       hostEnd = rest.length;
 98378 
 98379     this.host = rest.slice(0, hostEnd);
 98380     rest = rest.slice(hostEnd);
 98381 
 98382     this.parseHost();
 98383 
 98384     this.hostname = this.hostname || '';
 98385 
 98386     var ipv6Hostname = this.hostname[0] === '[' &&
 98387         this.hostname[this.hostname.length - 1] === ']';
 98388 
 98389     if (!ipv6Hostname) {
 98390       var hostparts = this.hostname.split(/\./);
 98391       for (var i = 0, l = hostparts.length; i < l; i++) {
 98392         var part = hostparts[i];
 98393         if (!part) continue;
 98394         if (!part.match(hostnamePartPattern)) {
 98395           var newpart = '';
 98396           for (var j = 0, k = part.length; j < k; j++) {
 98397             if (part.charCodeAt(j) > 127) {
 98398               newpart += 'x';
 98399             } else {
 98400               newpart += part[j];
 98401             }
 98402           }
 98403           if (!newpart.match(hostnamePartPattern)) {
 98404             var validParts = hostparts.slice(0, i);
 98405             var notHost = hostparts.slice(i + 1);
 98406             var bit = part.match(hostnamePartStart);
 98407             if (bit) {
 98408               validParts.push(bit[1]);
 98409               notHost.unshift(bit[2]);
 98410             }
 98411             if (notHost.length) {
 98412               rest = '/' + notHost.join('.') + rest;
 98413             }
 98414             this.hostname = validParts.join('.');
 98415             break;
 98416           }
 98417         }
 98418       }
 98419     }
 98420 
 98421     if (this.hostname.length > hostnameMaxLen) {
 98422       this.hostname = '';
 98423     } else {
 98424       this.hostname = this.hostname.toLowerCase();
 98425     }
 98426 
 98427     if (!ipv6Hostname) {
 98428       var domainArray = this.hostname.split('.');
 98429       var newOut = [];
 98430       for (var i = 0; i < domainArray.length; ++i) {
 98431         var s = domainArray[i];
 98432         newOut.push(s.match(/[^A-Za-z0-9_-]/) ?
 98433             'xn--' + punycode.encode(s) : s);
 98434       }
 98435       this.hostname = newOut.join('.');
 98436     }
 98437 
 98438     var p = this.port ? ':' + this.port : '';
 98439     var h = this.hostname || '';
 98440     this.host = h + p;
 98441     this.href += this.host;
 98442 
 98443     if (ipv6Hostname) {
 98444       this.hostname = this.hostname.substr(1, this.hostname.length - 2);
 98445       if (rest[0] !== '/') {
 98446         rest = '/' + rest;
 98447       }
 98448     }
 98449   }
 98450 
 98451   if (!unsafeProtocol[lowerProto]) {
 98452 
 98453     for (var i = 0, l = autoEscape.length; i < l; i++) {
 98454       var ae = autoEscape[i];
 98455       var esc = encodeURIComponent(ae);
 98456       if (esc === ae) {
 98457         esc = escape(ae);
 98458       }
 98459       rest = rest.split(ae).join(esc);
 98460     }
 98461   }
 98462 
 98463 
 98464   var hash = rest.indexOf('#');
 98465   if (hash !== -1) {
 98466     this.hash = rest.substr(hash);
 98467     rest = rest.slice(0, hash);
 98468   }
 98469   var qm = rest.indexOf('?');
 98470   if (qm !== -1) {
 98471     this.search = rest.substr(qm);
 98472     this.query = rest.substr(qm + 1);
 98473     if (parseQueryString) {
 98474       this.query = querystring.parse(this.query);
 98475     }
 98476     rest = rest.slice(0, qm);
 98477   } else if (parseQueryString) {
 98478     this.search = '';
 98479     this.query = {};
 98480   }
 98481   if (rest) this.pathname = rest;
 98482   if (slashedProtocol[lowerProto] &&
 98483       this.hostname && !this.pathname) {
 98484     this.pathname = '/';
 98485   }
 98486 
 98487   if (this.pathname || this.search) {
 98488     var p = this.pathname || '';
 98489     var s = this.search || '';
 98490     this.path = p + s;
 98491   }
 98492 
 98493   this.href = this.format();
 98494   return this;
 98495 };
 98496 
 98497 function urlFormat(obj) {
 98498   if (isString(obj)) obj = urlParse(obj);
 98499   if (!(obj instanceof Url)) return Url.prototype.format.call(obj);
 98500   return obj.format();
 98501 }
 98502 
 98503 Url.prototype.format = function() {
 98504   var auth = this.auth || '';
 98505   if (auth) {
 98506     auth = encodeURIComponent(auth);
 98507     auth = auth.replace(/%3A/i, ':');
 98508     auth += '@';
 98509   }
 98510 
 98511   var protocol = this.protocol || '',
 98512       pathname = this.pathname || '',
 98513       hash = this.hash || '',
 98514       host = false,
 98515       query = '';
 98516 
 98517   if (this.host) {
 98518     host = auth + this.host;
 98519   } else if (this.hostname) {
 98520     host = auth + (this.hostname.indexOf(':') === -1 ?
 98521         this.hostname :
 98522         '[' + this.hostname + ']');
 98523     if (this.port) {
 98524       host += ':' + this.port;
 98525     }
 98526   }
 98527 
 98528   if (this.query &&
 98529       isObject(this.query) &&
 98530       Object.keys(this.query).length) {
 98531     query = querystring.stringify(this.query);
 98532   }
 98533 
 98534   var search = this.search || (query && ('?' + query)) || '';
 98535 
 98536   if (protocol && protocol.substr(-1) !== ':') protocol += ':';
 98537 
 98538   if (this.slashes ||
 98539       (!protocol || slashedProtocol[protocol]) && host !== false) {
 98540     host = '//' + (host || '');
 98541     if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;
 98542   } else if (!host) {
 98543     host = '';
 98544   }
 98545 
 98546   if (hash && hash.charAt(0) !== '#') hash = '#' + hash;
 98547   if (search && search.charAt(0) !== '?') search = '?' + search;
 98548 
 98549   pathname = pathname.replace(/[?#]/g, function(match) {
 98550     return encodeURIComponent(match);
 98551   });
 98552   search = search.replace('#', '%23');
 98553 
 98554   return protocol + host + pathname + search + hash;
 98555 };
 98556 
 98557 function urlResolve(source, relative) {
 98558   return urlParse(source, false, true).resolve(relative);
 98559 }
 98560 
 98561 Url.prototype.resolve = function(relative) {
 98562   return this.resolveObject(urlParse(relative, false, true)).format();
 98563 };
 98564 
 98565 function urlResolveObject(source, relative) {
 98566   if (!source) return relative;
 98567   return urlParse(source, false, true).resolveObject(relative);
 98568 }
 98569 
 98570 Url.prototype.resolveObject = function(relative) {
 98571   if (isString(relative)) {
 98572     var rel = new Url();
 98573     rel.parse(relative, false, true);
 98574     relative = rel;
 98575   }
 98576 
 98577   var result = new Url();
 98578   Object.keys(this).forEach(function(k) {
 98579     result[k] = this[k];
 98580   }, this);
 98581 
 98582   result.hash = relative.hash;
 98583 
 98584   if (relative.href === '') {
 98585     result.href = result.format();
 98586     return result;
 98587   }
 98588 
 98589   if (relative.slashes && !relative.protocol) {
 98590     Object.keys(relative).forEach(function(k) {
 98591       if (k !== 'protocol')
 98592         result[k] = relative[k];
 98593     });
 98594 
 98595     if (slashedProtocol[result.protocol] &&
 98596         result.hostname && !result.pathname) {
 98597       result.path = result.pathname = '/';
 98598     }
 98599 
 98600     result.href = result.format();
 98601     return result;
 98602   }
 98603 
 98604   if (relative.protocol && relative.protocol !== result.protocol) {
 98605     if (!slashedProtocol[relative.protocol]) {
 98606       Object.keys(relative).forEach(function(k) {
 98607         result[k] = relative[k];
 98608       });
 98609       result.href = result.format();
 98610       return result;
 98611     }
 98612 
 98613     result.protocol = relative.protocol;
 98614     if (!relative.host && !hostlessProtocol[relative.protocol]) {
 98615       var relPath = (relative.pathname || '').split('/');
 98616       while (relPath.length && !(relative.host = relPath.shift()));
 98617       if (!relative.host) relative.host = '';
 98618       if (!relative.hostname) relative.hostname = '';
 98619       if (relPath[0] !== '') relPath.unshift('');
 98620       if (relPath.length < 2) relPath.unshift('');
 98621       result.pathname = relPath.join('/');
 98622     } else {
 98623       result.pathname = relative.pathname;
 98624     }
 98625     result.search = relative.search;
 98626     result.query = relative.query;
 98627     result.host = relative.host || '';
 98628     result.auth = relative.auth;
 98629     result.hostname = relative.hostname || relative.host;
 98630     result.port = relative.port;
 98631     if (result.pathname || result.search) {
 98632       var p = result.pathname || '';
 98633       var s = result.search || '';
 98634       result.path = p + s;
 98635     }
 98636     result.slashes = result.slashes || relative.slashes;
 98637     result.href = result.format();
 98638     return result;
 98639   }
 98640 
 98641   var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),
 98642       isRelAbs = (
 98643           relative.host ||
 98644           relative.pathname && relative.pathname.charAt(0) === '/'
 98645       ),
 98646       mustEndAbs = (isRelAbs || isSourceAbs ||
 98647                     (result.host && relative.pathname)),
 98648       removeAllDots = mustEndAbs,
 98649       srcPath = result.pathname && result.pathname.split('/') || [],
 98650       relPath = relative.pathname && relative.pathname.split('/') || [],
 98651       psychotic = result.protocol && !slashedProtocol[result.protocol];
 98652 
 98653   if (psychotic) {
 98654     result.hostname = '';
 98655     result.port = null;
 98656     if (result.host) {
 98657       if (srcPath[0] === '') srcPath[0] = result.host;
 98658       else srcPath.unshift(result.host);
 98659     }
 98660     result.host = '';
 98661     if (relative.protocol) {
 98662       relative.hostname = null;
 98663       relative.port = null;
 98664       if (relative.host) {
 98665         if (relPath[0] === '') relPath[0] = relative.host;
 98666         else relPath.unshift(relative.host);
 98667       }
 98668       relative.host = null;
 98669     }
 98670     mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');
 98671   }
 98672 
 98673   if (isRelAbs) {
 98674     result.host = (relative.host || relative.host === '') ?
 98675                   relative.host : result.host;
 98676     result.hostname = (relative.hostname || relative.hostname === '') ?
 98677                       relative.hostname : result.hostname;
 98678     result.search = relative.search;
 98679     result.query = relative.query;
 98680     srcPath = relPath;
 98681   } else if (relPath.length) {
 98682     if (!srcPath) srcPath = [];
 98683     srcPath.pop();
 98684     srcPath = srcPath.concat(relPath);
 98685     result.search = relative.search;
 98686     result.query = relative.query;
 98687   } else if (!isNullOrUndefined(relative.search)) {
 98688     if (psychotic) {
 98689       result.hostname = result.host = srcPath.shift();
 98690       var authInHost = result.host && result.host.indexOf('@') > 0 ?
 98691                        result.host.split('@') : false;
 98692       if (authInHost) {
 98693         result.auth = authInHost.shift();
 98694         result.host = result.hostname = authInHost.shift();
 98695       }
 98696     }
 98697     result.search = relative.search;
 98698     result.query = relative.query;
 98699     if (!isNull(result.pathname) || !isNull(result.search)) {
 98700       result.path = (result.pathname ? result.pathname : '') +
 98701                     (result.search ? result.search : '');
 98702     }
 98703     result.href = result.format();
 98704     return result;
 98705   }
 98706 
 98707   if (!srcPath.length) {
 98708     result.pathname = null;
 98709     if (result.search) {
 98710       result.path = '/' + result.search;
 98711     } else {
 98712       result.path = null;
 98713     }
 98714     result.href = result.format();
 98715     return result;
 98716   }
 98717 
 98718   var last = srcPath.slice(-1)[0];
 98719   var hasTrailingSlash = (
 98720       (result.host || relative.host) && (last === '.' || last === '..') ||
 98721       last === '');
 98722 
 98723   var up = 0;
 98724   for (var i = srcPath.length; i >= 0; i--) {
 98725     last = srcPath[i];
 98726     if (last == '.') {
 98727       srcPath.splice(i, 1);
 98728     } else if (last === '..') {
 98729       srcPath.splice(i, 1);
 98730       up++;
 98731     } else if (up) {
 98732       srcPath.splice(i, 1);
 98733       up--;
 98734     }
 98735   }
 98736 
 98737   if (!mustEndAbs && !removeAllDots) {
 98738     for (; up--; up) {
 98739       srcPath.unshift('..');
 98740     }
 98741   }
 98742 
 98743   if (mustEndAbs && srcPath[0] !== '' &&
 98744       (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {
 98745     srcPath.unshift('');
 98746   }
 98747 
 98748   if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {
 98749     srcPath.push('');
 98750   }
 98751 
 98752   var isAbsolute = srcPath[0] === '' ||
 98753       (srcPath[0] && srcPath[0].charAt(0) === '/');
 98754 
 98755   if (psychotic) {
 98756     result.hostname = result.host = isAbsolute ? '' :
 98757                                     srcPath.length ? srcPath.shift() : '';
 98758     var authInHost = result.host && result.host.indexOf('@') > 0 ?
 98759                      result.host.split('@') : false;
 98760     if (authInHost) {
 98761       result.auth = authInHost.shift();
 98762       result.host = result.hostname = authInHost.shift();
 98763     }
 98764   }
 98765 
 98766   mustEndAbs = mustEndAbs || (result.host && srcPath.length);
 98767 
 98768   if (mustEndAbs && !isAbsolute) {
 98769     srcPath.unshift('');
 98770   }
 98771 
 98772   if (!srcPath.length) {
 98773     result.pathname = null;
 98774     result.path = null;
 98775   } else {
 98776     result.pathname = srcPath.join('/');
 98777   }
 98778 
 98779   if (!isNull(result.pathname) || !isNull(result.search)) {
 98780     result.path = (result.pathname ? result.pathname : '') +
 98781                   (result.search ? result.search : '');
 98782   }
 98783   result.auth = relative.auth || result.auth;
 98784   result.slashes = result.slashes || relative.slashes;
 98785   result.href = result.format();
 98786   return result;
 98787 };
 98788 
 98789 Url.prototype.parseHost = function() {
 98790   var host = this.host;
 98791   var port = portPattern.exec(host);
 98792   if (port) {
 98793     port = port[0];
 98794     if (port !== ':') {
 98795       this.port = port.substr(1);
 98796     }
 98797     host = host.substr(0, host.length - port.length);
 98798   }
 98799   if (host) this.hostname = host;
 98800 };
 98801 
 98802 function isString(arg) {
 98803   return typeof arg === "string";
 98804 }
 98805 
 98806 function isObject(arg) {
 98807   return typeof arg === 'object' && arg !== null;
 98808 }
 98809 
 98810 function isNull(arg) {
 98811   return arg === null;
 98812 }
 98813 function isNullOrUndefined(arg) {
 98814   return  arg == null;
 98815 }
 98816 
 98817 },{"punycode":252,"querystring":255}],274:[function(require,module,exports){
 98818 (function() {
 98819   var XMLAttribute, create;
 98820 
 98821   create = require('lodash/object/create');
 98822 
 98823   module.exports = XMLAttribute = (function() {
 98824     function XMLAttribute(parent, name, value) {
 98825       this.stringify = parent.stringify;
 98826       if (name == null) {
 98827         throw new Error("Missing attribute name of element " + parent.name);
 98828       }
 98829       if (value == null) {
 98830         throw new Error("Missing attribute value for attribute " + name + " of element " + parent.name);
 98831       }
 98832       this.name = this.stringify.attName(name);
 98833       this.value = this.stringify.attValue(value);
 98834     }
 98835 
 98836     XMLAttribute.prototype.clone = function() {
 98837       return create(XMLAttribute.prototype, this);
 98838     };
 98839 
 98840     XMLAttribute.prototype.toString = function(options, level) {
 98841       return ' ' + this.name + '="' + this.value + '"';
 98842     };
 98843 
 98844     return XMLAttribute;
 98845 
 98846   })();
 98847 
 98848 }).call(this);
 98849 
 98850 },{"lodash/object/create":333}],275:[function(require,module,exports){
 98851 (function() {
 98852   var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier;
 98853 
 98854   XMLStringifier = require('./XMLStringifier');
 98855 
 98856   XMLDeclaration = require('./XMLDeclaration');
 98857 
 98858   XMLDocType = require('./XMLDocType');
 98859 
 98860   XMLElement = require('./XMLElement');
 98861 
 98862   module.exports = XMLBuilder = (function() {
 98863     function XMLBuilder(name, options) {
 98864       var root, temp;
 98865       if (name == null) {
 98866         throw new Error("Root element needs a name");
 98867       }
 98868       if (options == null) {
 98869         options = {};
 98870       }
 98871       this.options = options;
 98872       this.stringify = new XMLStringifier(options);
 98873       temp = new XMLElement(this, 'doc');
 98874       root = temp.element(name);
 98875       root.isRoot = true;
 98876       root.documentObject = this;
 98877       this.rootObject = root;
 98878       if (!options.headless) {
 98879         root.declaration(options);
 98880         if ((options.pubID != null) || (options.sysID != null)) {
 98881           root.doctype(options);
 98882         }
 98883       }
 98884     }
 98885 
 98886     XMLBuilder.prototype.root = function() {
 98887       return this.rootObject;
 98888     };
 98889 
 98890     XMLBuilder.prototype.end = function(options) {
 98891       return this.toString(options);
 98892     };
 98893 
 98894     XMLBuilder.prototype.toString = function(options) {
 98895       var indent, newline, offset, pretty, r, ref, ref1, ref2;
 98896       pretty = (options != null ? options.pretty : void 0) || false;
 98897       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 98898       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 98899       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 98900       r = '';
 98901       if (this.xmldec != null) {
 98902         r += this.xmldec.toString(options);
 98903       }
 98904       if (this.doctype != null) {
 98905         r += this.doctype.toString(options);
 98906       }
 98907       r += this.rootObject.toString(options);
 98908       if (pretty && r.slice(-newline.length) === newline) {
 98909         r = r.slice(0, -newline.length);
 98910       }
 98911       return r;
 98912     };
 98913 
 98914     return XMLBuilder;
 98915 
 98916   })();
 98917 
 98918 }).call(this);
 98919 
 98920 },{"./XMLDeclaration":282,"./XMLDocType":283,"./XMLElement":284,"./XMLStringifier":288}],276:[function(require,module,exports){
 98921 (function() {
 98922   var XMLCData, XMLNode, create,
 98923     extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
 98924     hasProp = {}.hasOwnProperty;
 98925 
 98926   create = require('lodash/object/create');
 98927 
 98928   XMLNode = require('./XMLNode');
 98929 
 98930   module.exports = XMLCData = (function(superClass) {
 98931     extend(XMLCData, superClass);
 98932 
 98933     function XMLCData(parent, text) {
 98934       XMLCData.__super__.constructor.call(this, parent);
 98935       if (text == null) {
 98936         throw new Error("Missing CDATA text");
 98937       }
 98938       this.text = this.stringify.cdata(text);
 98939     }
 98940 
 98941     XMLCData.prototype.clone = function() {
 98942       return create(XMLCData.prototype, this);
 98943     };
 98944 
 98945     XMLCData.prototype.toString = function(options, level) {
 98946       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
 98947       pretty = (options != null ? options.pretty : void 0) || false;
 98948       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 98949       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 98950       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 98951       level || (level = 0);
 98952       space = new Array(level + offset + 1).join(indent);
 98953       r = '';
 98954       if (pretty) {
 98955         r += space;
 98956       }
 98957       r += '<![CDATA[' + this.text + ']]>';
 98958       if (pretty) {
 98959         r += newline;
 98960       }
 98961       return r;
 98962     };
 98963 
 98964     return XMLCData;
 98965 
 98966   })(XMLNode);
 98967 
 98968 }).call(this);
 98969 
 98970 },{"./XMLNode":285,"lodash/object/create":333}],277:[function(require,module,exports){
 98971 (function() {
 98972   var XMLComment, XMLNode, create,
 98973     extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
 98974     hasProp = {}.hasOwnProperty;
 98975 
 98976   create = require('lodash/object/create');
 98977 
 98978   XMLNode = require('./XMLNode');
 98979 
 98980   module.exports = XMLComment = (function(superClass) {
 98981     extend(XMLComment, superClass);
 98982 
 98983     function XMLComment(parent, text) {
 98984       XMLComment.__super__.constructor.call(this, parent);
 98985       if (text == null) {
 98986         throw new Error("Missing comment text");
 98987       }
 98988       this.text = this.stringify.comment(text);
 98989     }
 98990 
 98991     XMLComment.prototype.clone = function() {
 98992       return create(XMLComment.prototype, this);
 98993     };
 98994 
 98995     XMLComment.prototype.toString = function(options, level) {
 98996       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
 98997       pretty = (options != null ? options.pretty : void 0) || false;
 98998       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 98999       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99000       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99001       level || (level = 0);
 99002       space = new Array(level + offset + 1).join(indent);
 99003       r = '';
 99004       if (pretty) {
 99005         r += space;
 99006       }
 99007       r += '<!-- ' + this.text + ' -->';
 99008       if (pretty) {
 99009         r += newline;
 99010       }
 99011       return r;
 99012     };
 99013 
 99014     return XMLComment;
 99015 
 99016   })(XMLNode);
 99017 
 99018 }).call(this);
 99019 
 99020 },{"./XMLNode":285,"lodash/object/create":333}],278:[function(require,module,exports){
 99021 (function() {
 99022   var XMLDTDAttList, create;
 99023 
 99024   create = require('lodash/object/create');
 99025 
 99026   module.exports = XMLDTDAttList = (function() {
 99027     function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {
 99028       this.stringify = parent.stringify;
 99029       if (elementName == null) {
 99030         throw new Error("Missing DTD element name");
 99031       }
 99032       if (attributeName == null) {
 99033         throw new Error("Missing DTD attribute name");
 99034       }
 99035       if (!attributeType) {
 99036         throw new Error("Missing DTD attribute type");
 99037       }
 99038       if (!defaultValueType) {
 99039         throw new Error("Missing DTD attribute default");
 99040       }
 99041       if (defaultValueType.indexOf('#') !== 0) {
 99042         defaultValueType = '#' + defaultValueType;
 99043       }
 99044       if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {
 99045         throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT");
 99046       }
 99047       if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {
 99048         throw new Error("Default value only applies to #FIXED or #DEFAULT");
 99049       }
 99050       this.elementName = this.stringify.eleName(elementName);
 99051       this.attributeName = this.stringify.attName(attributeName);
 99052       this.attributeType = this.stringify.dtdAttType(attributeType);
 99053       this.defaultValue = this.stringify.dtdAttDefault(defaultValue);
 99054       this.defaultValueType = defaultValueType;
 99055     }
 99056 
 99057     XMLDTDAttList.prototype.clone = function() {
 99058       return create(XMLDTDAttList.prototype, this);
 99059     };
 99060 
 99061     XMLDTDAttList.prototype.toString = function(options, level) {
 99062       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
 99063       pretty = (options != null ? options.pretty : void 0) || false;
 99064       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 99065       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99066       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99067       level || (level = 0);
 99068       space = new Array(level + offset + 1).join(indent);
 99069       r = '';
 99070       if (pretty) {
 99071         r += space;
 99072       }
 99073       r += '<!ATTLIST ' + this.elementName + ' ' + this.attributeName + ' ' + this.attributeType;
 99074       if (this.defaultValueType !== '#DEFAULT') {
 99075         r += ' ' + this.defaultValueType;
 99076       }
 99077       if (this.defaultValue) {
 99078         r += ' "' + this.defaultValue + '"';
 99079       }
 99080       r += '>';
 99081       if (pretty) {
 99082         r += newline;
 99083       }
 99084       return r;
 99085     };
 99086 
 99087     return XMLDTDAttList;
 99088 
 99089   })();
 99090 
 99091 }).call(this);
 99092 
 99093 },{"lodash/object/create":333}],279:[function(require,module,exports){
 99094 (function() {
 99095   var XMLDTDElement, create, isArray;
 99096 
 99097   create = require('lodash/object/create');
 99098 
 99099   isArray = require('lodash/lang/isArray');
 99100 
 99101   module.exports = XMLDTDElement = (function() {
 99102     function XMLDTDElement(parent, name, value) {
 99103       this.stringify = parent.stringify;
 99104       if (name == null) {
 99105         throw new Error("Missing DTD element name");
 99106       }
 99107       if (!value) {
 99108         value = '(#PCDATA)';
 99109       }
 99110       if (isArray(value)) {
 99111         value = '(' + value.join(',') + ')';
 99112       }
 99113       this.name = this.stringify.eleName(name);
 99114       this.value = this.stringify.dtdElementValue(value);
 99115     }
 99116 
 99117     XMLDTDElement.prototype.clone = function() {
 99118       return create(XMLDTDElement.prototype, this);
 99119     };
 99120 
 99121     XMLDTDElement.prototype.toString = function(options, level) {
 99122       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
 99123       pretty = (options != null ? options.pretty : void 0) || false;
 99124       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 99125       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99126       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99127       level || (level = 0);
 99128       space = new Array(level + offset + 1).join(indent);
 99129       r = '';
 99130       if (pretty) {
 99131         r += space;
 99132       }
 99133       r += '<!ELEMENT ' + this.name + ' ' + this.value + '>';
 99134       if (pretty) {
 99135         r += newline;
 99136       }
 99137       return r;
 99138     };
 99139 
 99140     return XMLDTDElement;
 99141 
 99142   })();
 99143 
 99144 }).call(this);
 99145 
 99146 },{"lodash/lang/isArray":325,"lodash/object/create":333}],280:[function(require,module,exports){
 99147 (function() {
 99148   var XMLDTDEntity, create, isObject;
 99149 
 99150   create = require('lodash/object/create');
 99151 
 99152   isObject = require('lodash/lang/isObject');
 99153 
 99154   module.exports = XMLDTDEntity = (function() {
 99155     function XMLDTDEntity(parent, pe, name, value) {
 99156       this.stringify = parent.stringify;
 99157       if (name == null) {
 99158         throw new Error("Missing entity name");
 99159       }
 99160       if (value == null) {
 99161         throw new Error("Missing entity value");
 99162       }
 99163       this.pe = !!pe;
 99164       this.name = this.stringify.eleName(name);
 99165       if (!isObject(value)) {
 99166         this.value = this.stringify.dtdEntityValue(value);
 99167       } else {
 99168         if (!value.pubID && !value.sysID) {
 99169           throw new Error("Public and/or system identifiers are required for an external entity");
 99170         }
 99171         if (value.pubID && !value.sysID) {
 99172           throw new Error("System identifier is required for a public external entity");
 99173         }
 99174         if (value.pubID != null) {
 99175           this.pubID = this.stringify.dtdPubID(value.pubID);
 99176         }
 99177         if (value.sysID != null) {
 99178           this.sysID = this.stringify.dtdSysID(value.sysID);
 99179         }
 99180         if (value.nData != null) {
 99181           this.nData = this.stringify.dtdNData(value.nData);
 99182         }
 99183         if (this.pe && this.nData) {
 99184           throw new Error("Notation declaration is not allowed in a parameter entity");
 99185         }
 99186       }
 99187     }
 99188 
 99189     XMLDTDEntity.prototype.clone = function() {
 99190       return create(XMLDTDEntity.prototype, this);
 99191     };
 99192 
 99193     XMLDTDEntity.prototype.toString = function(options, level) {
 99194       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
 99195       pretty = (options != null ? options.pretty : void 0) || false;
 99196       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 99197       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99198       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99199       level || (level = 0);
 99200       space = new Array(level + offset + 1).join(indent);
 99201       r = '';
 99202       if (pretty) {
 99203         r += space;
 99204       }
 99205       r += '<!ENTITY';
 99206       if (this.pe) {
 99207         r += ' %';
 99208       }
 99209       r += ' ' + this.name;
 99210       if (this.value) {
 99211         r += ' "' + this.value + '"';
 99212       } else {
 99213         if (this.pubID && this.sysID) {
 99214           r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
 99215         } else if (this.sysID) {
 99216           r += ' SYSTEM "' + this.sysID + '"';
 99217         }
 99218         if (this.nData) {
 99219           r += ' NDATA ' + this.nData;
 99220         }
 99221       }
 99222       r += '>';
 99223       if (pretty) {
 99224         r += newline;
 99225       }
 99226       return r;
 99227     };
 99228 
 99229     return XMLDTDEntity;
 99230 
 99231   })();
 99232 
 99233 }).call(this);
 99234 
 99235 },{"lodash/lang/isObject":329,"lodash/object/create":333}],281:[function(require,module,exports){
 99236 (function() {
 99237   var XMLDTDNotation, create;
 99238 
 99239   create = require('lodash/object/create');
 99240 
 99241   module.exports = XMLDTDNotation = (function() {
 99242     function XMLDTDNotation(parent, name, value) {
 99243       this.stringify = parent.stringify;
 99244       if (name == null) {
 99245         throw new Error("Missing notation name");
 99246       }
 99247       if (!value.pubID && !value.sysID) {
 99248         throw new Error("Public or system identifiers are required for an external entity");
 99249       }
 99250       this.name = this.stringify.eleName(name);
 99251       if (value.pubID != null) {
 99252         this.pubID = this.stringify.dtdPubID(value.pubID);
 99253       }
 99254       if (value.sysID != null) {
 99255         this.sysID = this.stringify.dtdSysID(value.sysID);
 99256       }
 99257     }
 99258 
 99259     XMLDTDNotation.prototype.clone = function() {
 99260       return create(XMLDTDNotation.prototype, this);
 99261     };
 99262 
 99263     XMLDTDNotation.prototype.toString = function(options, level) {
 99264       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
 99265       pretty = (options != null ? options.pretty : void 0) || false;
 99266       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 99267       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99268       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99269       level || (level = 0);
 99270       space = new Array(level + offset + 1).join(indent);
 99271       r = '';
 99272       if (pretty) {
 99273         r += space;
 99274       }
 99275       r += '<!NOTATION ' + this.name;
 99276       if (this.pubID && this.sysID) {
 99277         r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
 99278       } else if (this.pubID) {
 99279         r += ' PUBLIC "' + this.pubID + '"';
 99280       } else if (this.sysID) {
 99281         r += ' SYSTEM "' + this.sysID + '"';
 99282       }
 99283       r += '>';
 99284       if (pretty) {
 99285         r += newline;
 99286       }
 99287       return r;
 99288     };
 99289 
 99290     return XMLDTDNotation;
 99291 
 99292   })();
 99293 
 99294 }).call(this);
 99295 
 99296 },{"lodash/object/create":333}],282:[function(require,module,exports){
 99297 (function() {
 99298   var XMLDeclaration, XMLNode, create, isObject,
 99299     extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
 99300     hasProp = {}.hasOwnProperty;
 99301 
 99302   create = require('lodash/object/create');
 99303 
 99304   isObject = require('lodash/lang/isObject');
 99305 
 99306   XMLNode = require('./XMLNode');
 99307 
 99308   module.exports = XMLDeclaration = (function(superClass) {
 99309     extend(XMLDeclaration, superClass);
 99310 
 99311     function XMLDeclaration(parent, version, encoding, standalone) {
 99312       var ref;
 99313       XMLDeclaration.__super__.constructor.call(this, parent);
 99314       if (isObject(version)) {
 99315         ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;
 99316       }
 99317       if (!version) {
 99318         version = '1.0';
 99319       }
 99320       if (version != null) {
 99321         this.version = this.stringify.xmlVersion(version);
 99322       }
 99323       if (encoding != null) {
 99324         this.encoding = this.stringify.xmlEncoding(encoding);
 99325       }
 99326       if (standalone != null) {
 99327         this.standalone = this.stringify.xmlStandalone(standalone);
 99328       }
 99329     }
 99330 
 99331     XMLDeclaration.prototype.clone = function() {
 99332       return create(XMLDeclaration.prototype, this);
 99333     };
 99334 
 99335     XMLDeclaration.prototype.toString = function(options, level) {
 99336       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
 99337       pretty = (options != null ? options.pretty : void 0) || false;
 99338       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 99339       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99340       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99341       level || (level = 0);
 99342       space = new Array(level + offset + 1).join(indent);
 99343       r = '';
 99344       if (pretty) {
 99345         r += space;
 99346       }
 99347       r += '<?xml';
 99348       if (this.version != null) {
 99349         r += ' version="' + this.version + '"';
 99350       }
 99351       if (this.encoding != null) {
 99352         r += ' encoding="' + this.encoding + '"';
 99353       }
 99354       if (this.standalone != null) {
 99355         r += ' standalone="' + this.standalone + '"';
 99356       }
 99357       r += '?>';
 99358       if (pretty) {
 99359         r += newline;
 99360       }
 99361       return r;
 99362     };
 99363 
 99364     return XMLDeclaration;
 99365 
 99366   })(XMLNode);
 99367 
 99368 }).call(this);
 99369 
 99370 },{"./XMLNode":285,"lodash/lang/isObject":329,"lodash/object/create":333}],283:[function(require,module,exports){
 99371 (function() {
 99372   var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLProcessingInstruction, create, isObject;
 99373 
 99374   create = require('lodash/object/create');
 99375 
 99376   isObject = require('lodash/lang/isObject');
 99377 
 99378   XMLCData = require('./XMLCData');
 99379 
 99380   XMLComment = require('./XMLComment');
 99381 
 99382   XMLDTDAttList = require('./XMLDTDAttList');
 99383 
 99384   XMLDTDEntity = require('./XMLDTDEntity');
 99385 
 99386   XMLDTDElement = require('./XMLDTDElement');
 99387 
 99388   XMLDTDNotation = require('./XMLDTDNotation');
 99389 
 99390   XMLProcessingInstruction = require('./XMLProcessingInstruction');
 99391 
 99392   module.exports = XMLDocType = (function() {
 99393     function XMLDocType(parent, pubID, sysID) {
 99394       var ref, ref1;
 99395       this.documentObject = parent;
 99396       this.stringify = this.documentObject.stringify;
 99397       this.children = [];
 99398       if (isObject(pubID)) {
 99399         ref = pubID, pubID = ref.pubID, sysID = ref.sysID;
 99400       }
 99401       if (sysID == null) {
 99402         ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1];
 99403       }
 99404       if (pubID != null) {
 99405         this.pubID = this.stringify.dtdPubID(pubID);
 99406       }
 99407       if (sysID != null) {
 99408         this.sysID = this.stringify.dtdSysID(sysID);
 99409       }
 99410     }
 99411 
 99412     XMLDocType.prototype.clone = function() {
 99413       return create(XMLDocType.prototype, this);
 99414     };
 99415 
 99416     XMLDocType.prototype.element = function(name, value) {
 99417       var child;
 99418       child = new XMLDTDElement(this, name, value);
 99419       this.children.push(child);
 99420       return this;
 99421     };
 99422 
 99423     XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
 99424       var child;
 99425       child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);
 99426       this.children.push(child);
 99427       return this;
 99428     };
 99429 
 99430     XMLDocType.prototype.entity = function(name, value) {
 99431       var child;
 99432       child = new XMLDTDEntity(this, false, name, value);
 99433       this.children.push(child);
 99434       return this;
 99435     };
 99436 
 99437     XMLDocType.prototype.pEntity = function(name, value) {
 99438       var child;
 99439       child = new XMLDTDEntity(this, true, name, value);
 99440       this.children.push(child);
 99441       return this;
 99442     };
 99443 
 99444     XMLDocType.prototype.notation = function(name, value) {
 99445       var child;
 99446       child = new XMLDTDNotation(this, name, value);
 99447       this.children.push(child);
 99448       return this;
 99449     };
 99450 
 99451     XMLDocType.prototype.cdata = function(value) {
 99452       var child;
 99453       child = new XMLCData(this, value);
 99454       this.children.push(child);
 99455       return this;
 99456     };
 99457 
 99458     XMLDocType.prototype.comment = function(value) {
 99459       var child;
 99460       child = new XMLComment(this, value);
 99461       this.children.push(child);
 99462       return this;
 99463     };
 99464 
 99465     XMLDocType.prototype.instruction = function(target, value) {
 99466       var child;
 99467       child = new XMLProcessingInstruction(this, target, value);
 99468       this.children.push(child);
 99469       return this;
 99470     };
 99471 
 99472     XMLDocType.prototype.root = function() {
 99473       return this.documentObject.root();
 99474     };
 99475 
 99476     XMLDocType.prototype.document = function() {
 99477       return this.documentObject;
 99478     };
 99479 
 99480     XMLDocType.prototype.toString = function(options, level) {
 99481       var child, i, indent, len, newline, offset, pretty, r, ref, ref1, ref2, ref3, space;
 99482       pretty = (options != null ? options.pretty : void 0) || false;
 99483       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 99484       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99485       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99486       level || (level = 0);
 99487       space = new Array(level + offset + 1).join(indent);
 99488       r = '';
 99489       if (pretty) {
 99490         r += space;
 99491       }
 99492       r += '<!DOCTYPE ' + this.root().name;
 99493       if (this.pubID && this.sysID) {
 99494         r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
 99495       } else if (this.sysID) {
 99496         r += ' SYSTEM "' + this.sysID + '"';
 99497       }
 99498       if (this.children.length > 0) {
 99499         r += ' [';
 99500         if (pretty) {
 99501           r += newline;
 99502         }
 99503         ref3 = this.children;
 99504         for (i = 0, len = ref3.length; i < len; i++) {
 99505           child = ref3[i];
 99506           r += child.toString(options, level + 1);
 99507         }
 99508         r += ']';
 99509       }
 99510       r += '>';
 99511       if (pretty) {
 99512         r += newline;
 99513       }
 99514       return r;
 99515     };
 99516 
 99517     XMLDocType.prototype.ele = function(name, value) {
 99518       return this.element(name, value);
 99519     };
 99520 
 99521     XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
 99522       return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);
 99523     };
 99524 
 99525     XMLDocType.prototype.ent = function(name, value) {
 99526       return this.entity(name, value);
 99527     };
 99528 
 99529     XMLDocType.prototype.pent = function(name, value) {
 99530       return this.pEntity(name, value);
 99531     };
 99532 
 99533     XMLDocType.prototype.not = function(name, value) {
 99534       return this.notation(name, value);
 99535     };
 99536 
 99537     XMLDocType.prototype.dat = function(value) {
 99538       return this.cdata(value);
 99539     };
 99540 
 99541     XMLDocType.prototype.com = function(value) {
 99542       return this.comment(value);
 99543     };
 99544 
 99545     XMLDocType.prototype.ins = function(target, value) {
 99546       return this.instruction(target, value);
 99547     };
 99548 
 99549     XMLDocType.prototype.up = function() {
 99550       return this.root();
 99551     };
 99552 
 99553     XMLDocType.prototype.doc = function() {
 99554       return this.document();
 99555     };
 99556 
 99557     return XMLDocType;
 99558 
 99559   })();
 99560 
 99561 }).call(this);
 99562 
 99563 },{"./XMLCData":276,"./XMLComment":277,"./XMLDTDAttList":278,"./XMLDTDElement":279,"./XMLDTDEntity":280,"./XMLDTDNotation":281,"./XMLProcessingInstruction":286,"lodash/lang/isObject":329,"lodash/object/create":333}],284:[function(require,module,exports){
 99564 (function() {
 99565   var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, create, every, isArray, isFunction, isObject,
 99566     extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
 99567     hasProp = {}.hasOwnProperty;
 99568 
 99569   create = require('lodash/object/create');
 99570 
 99571   isObject = require('lodash/lang/isObject');
 99572 
 99573   isArray = require('lodash/lang/isArray');
 99574 
 99575   isFunction = require('lodash/lang/isFunction');
 99576 
 99577   every = require('lodash/collection/every');
 99578 
 99579   XMLNode = require('./XMLNode');
 99580 
 99581   XMLAttribute = require('./XMLAttribute');
 99582 
 99583   XMLProcessingInstruction = require('./XMLProcessingInstruction');
 99584 
 99585   module.exports = XMLElement = (function(superClass) {
 99586     extend(XMLElement, superClass);
 99587 
 99588     function XMLElement(parent, name, attributes) {
 99589       XMLElement.__super__.constructor.call(this, parent);
 99590       if (name == null) {
 99591         throw new Error("Missing element name");
 99592       }
 99593       this.name = this.stringify.eleName(name);
 99594       this.children = [];
 99595       this.instructions = [];
 99596       this.attributes = {};
 99597       if (attributes != null) {
 99598         this.attribute(attributes);
 99599       }
 99600     }
 99601 
 99602     XMLElement.prototype.clone = function() {
 99603       var att, attName, clonedSelf, i, len, pi, ref, ref1;
 99604       clonedSelf = create(XMLElement.prototype, this);
 99605       if (clonedSelf.isRoot) {
 99606         clonedSelf.documentObject = null;
 99607       }
 99608       clonedSelf.attributes = {};
 99609       ref = this.attributes;
 99610       for (attName in ref) {
 99611         if (!hasProp.call(ref, attName)) continue;
 99612         att = ref[attName];
 99613         clonedSelf.attributes[attName] = att.clone();
 99614       }
 99615       clonedSelf.instructions = [];
 99616       ref1 = this.instructions;
 99617       for (i = 0, len = ref1.length; i < len; i++) {
 99618         pi = ref1[i];
 99619         clonedSelf.instructions.push(pi.clone());
 99620       }
 99621       clonedSelf.children = [];
 99622       this.children.forEach(function(child) {
 99623         var clonedChild;
 99624         clonedChild = child.clone();
 99625         clonedChild.parent = clonedSelf;
 99626         return clonedSelf.children.push(clonedChild);
 99627       });
 99628       return clonedSelf;
 99629     };
 99630 
 99631     XMLElement.prototype.attribute = function(name, value) {
 99632       var attName, attValue;
 99633       if (name != null) {
 99634         name = name.valueOf();
 99635       }
 99636       if (isObject(name)) {
 99637         for (attName in name) {
 99638           if (!hasProp.call(name, attName)) continue;
 99639           attValue = name[attName];
 99640           this.attribute(attName, attValue);
 99641         }
 99642       } else {
 99643         if (isFunction(value)) {
 99644           value = value.apply();
 99645         }
 99646         if (!this.options.skipNullAttributes || (value != null)) {
 99647           this.attributes[name] = new XMLAttribute(this, name, value);
 99648         }
 99649       }
 99650       return this;
 99651     };
 99652 
 99653     XMLElement.prototype.removeAttribute = function(name) {
 99654       var attName, i, len;
 99655       if (name == null) {
 99656         throw new Error("Missing attribute name");
 99657       }
 99658       name = name.valueOf();
 99659       if (isArray(name)) {
 99660         for (i = 0, len = name.length; i < len; i++) {
 99661           attName = name[i];
 99662           delete this.attributes[attName];
 99663         }
 99664       } else {
 99665         delete this.attributes[name];
 99666       }
 99667       return this;
 99668     };
 99669 
 99670     XMLElement.prototype.instruction = function(target, value) {
 99671       var i, insTarget, insValue, instruction, len;
 99672       if (target != null) {
 99673         target = target.valueOf();
 99674       }
 99675       if (value != null) {
 99676         value = value.valueOf();
 99677       }
 99678       if (isArray(target)) {
 99679         for (i = 0, len = target.length; i < len; i++) {
 99680           insTarget = target[i];
 99681           this.instruction(insTarget);
 99682         }
 99683       } else if (isObject(target)) {
 99684         for (insTarget in target) {
 99685           if (!hasProp.call(target, insTarget)) continue;
 99686           insValue = target[insTarget];
 99687           this.instruction(insTarget, insValue);
 99688         }
 99689       } else {
 99690         if (isFunction(value)) {
 99691           value = value.apply();
 99692         }
 99693         instruction = new XMLProcessingInstruction(this, target, value);
 99694         this.instructions.push(instruction);
 99695       }
 99696       return this;
 99697     };
 99698 
 99699     XMLElement.prototype.toString = function(options, level) {
 99700       var att, child, i, indent, instruction, j, len, len1, name, newline, offset, pretty, r, ref, ref1, ref2, ref3, ref4, ref5, space;
 99701       pretty = (options != null ? options.pretty : void 0) || false;
 99702       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
 99703       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
 99704       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
 99705       level || (level = 0);
 99706       space = new Array(level + offset + 1).join(indent);
 99707       r = '';
 99708       ref3 = this.instructions;
 99709       for (i = 0, len = ref3.length; i < len; i++) {
 99710         instruction = ref3[i];
 99711         r += instruction.toString(options, level + 1);
 99712       }
 99713       if (pretty) {
 99714         r += space;
 99715       }
 99716       r += '<' + this.name;
 99717       ref4 = this.attributes;
 99718       for (name in ref4) {
 99719         if (!hasProp.call(ref4, name)) continue;
 99720         att = ref4[name];
 99721         r += att.toString(options);
 99722       }
 99723       if (this.children.length === 0 || every(this.children, function(e) {
 99724         return e.value === '';
 99725       })) {
 99726         r += '/>';
 99727         if (pretty) {
 99728           r += newline;
 99729         }
 99730       } else if (pretty && this.children.length === 1 && (this.children[0].value != null)) {
 99731         r += '>';
 99732         r += this.children[0].value;
 99733         r += '</' + this.name + '>';
 99734         r += newline;
 99735       } else {
 99736         r += '>';
 99737         if (pretty) {
 99738           r += newline;
 99739         }
 99740         ref5 = this.children;
 99741         for (j = 0, len1 = ref5.length; j < len1; j++) {
 99742           child = ref5[j];
 99743           r += child.toString(options, level + 1);
 99744         }
 99745         if (pretty) {
 99746           r += space;
 99747         }
 99748         r += '</' + this.name + '>';
 99749         if (pretty) {
 99750           r += newline;
 99751         }
 99752       }
 99753       return r;
 99754     };
 99755 
 99756     XMLElement.prototype.att = function(name, value) {
 99757       return this.attribute(name, value);
 99758     };
 99759 
 99760     XMLElement.prototype.ins = function(target, value) {
 99761       return this.instruction(target, value);
 99762     };
 99763 
 99764     XMLElement.prototype.a = function(name, value) {
 99765       return this.attribute(name, value);
 99766     };
 99767 
 99768     XMLElement.prototype.i = function(target, value) {
 99769       return this.instruction(target, value);
 99770     };
 99771 
 99772     return XMLElement;
 99773 
 99774   })(XMLNode);
 99775 
 99776 }).call(this);
 99777 
 99778 },{"./XMLAttribute":274,"./XMLNode":285,"./XMLProcessingInstruction":286,"lodash/collection/every":291,"lodash/lang/isArray":325,"lodash/lang/isFunction":327,"lodash/lang/isObject":329,"lodash/object/create":333}],285:[function(require,module,exports){
 99779 (function() {
 99780   var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLRaw, XMLText, isArray, isEmpty, isFunction, isObject,
 99781     hasProp = {}.hasOwnProperty;
 99782 
 99783   isObject = require('lodash/lang/isObject');
 99784 
 99785   isArray = require('lodash/lang/isArray');
 99786 
 99787   isFunction = require('lodash/lang/isFunction');
 99788 
 99789   isEmpty = require('lodash/lang/isEmpty');
 99790 
 99791   XMLElement = null;
 99792 
 99793   XMLCData = null;
 99794 
 99795   XMLComment = null;
 99796 
 99797   XMLDeclaration = null;
 99798 
 99799   XMLDocType = null;
 99800 
 99801   XMLRaw = null;
 99802 
 99803   XMLText = null;
 99804 
 99805   module.exports = XMLNode = (function() {
 99806     function XMLNode(parent) {
 99807       this.parent = parent;
 99808       this.options = this.parent.options;
 99809       this.stringify = this.parent.stringify;
 99810       if (XMLElement === null) {
 99811         XMLElement = require('./XMLElement');
 99812         XMLCData = require('./XMLCData');
 99813         XMLComment = require('./XMLComment');
 99814         XMLDeclaration = require('./XMLDeclaration');
 99815         XMLDocType = require('./XMLDocType');
 99816         XMLRaw = require('./XMLRaw');
 99817         XMLText = require('./XMLText');
 99818       }
 99819     }
 99820 
 99821     XMLNode.prototype.clone = function() {
 99822       throw new Error("Cannot clone generic XMLNode");
 99823     };
 99824 
 99825     XMLNode.prototype.element = function(name, attributes, text) {
 99826       var item, j, key, lastChild, len, ref, val;
 99827       lastChild = null;
 99828       if (attributes == null) {
 99829         attributes = {};
 99830       }
 99831       attributes = attributes.valueOf();
 99832       if (!isObject(attributes)) {
 99833         ref = [attributes, text], text = ref[0], attributes = ref[1];
 99834       }
 99835       if (name != null) {
 99836         name = name.valueOf();
 99837       }
 99838       if (isArray(name)) {
 99839         for (j = 0, len = name.length; j < len; j++) {
 99840           item = name[j];
 99841           lastChild = this.element(item);
 99842         }
 99843       } else if (isFunction(name)) {
 99844         lastChild = this.element(name.apply());
 99845       } else if (isObject(name)) {
 99846         for (key in name) {
 99847           if (!hasProp.call(name, key)) continue;
 99848           val = name[key];
 99849           if (isFunction(val)) {
 99850             val = val.apply();
 99851           }
 99852           if ((isObject(val)) && (isEmpty(val))) {
 99853             val = null;
 99854           }
 99855           if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {
 99856             lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);
 99857           } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && key.indexOf(this.stringify.convertPIKey) === 0) {
 99858             lastChild = this.instruction(key.substr(this.stringify.convertPIKey.length), val);
 99859           } else if (isObject(val)) {
 99860             if (!this.options.ignoreDecorators && this.stringify.convertListKey && key.indexOf(this.stringify.convertListKey) === 0 && isArray(val)) {
 99861               lastChild = this.element(val);
 99862             } else {
 99863               lastChild = this.element(key);
 99864               lastChild.element(val);
 99865             }
 99866           } else {
 99867             lastChild = this.element(key, val);
 99868           }
 99869         }
 99870       } else {
 99871         if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {
 99872           lastChild = this.text(text);
 99873         } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {
 99874           lastChild = this.cdata(text);
 99875         } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {
 99876           lastChild = this.comment(text);
 99877         } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {
 99878           lastChild = this.raw(text);
 99879         } else {
 99880           lastChild = this.node(name, attributes, text);
 99881         }
 99882       }
 99883       if (lastChild == null) {
 99884         throw new Error("Could not create any elements with: " + name);
 99885       }
 99886       return lastChild;
 99887     };
 99888 
 99889     XMLNode.prototype.insertBefore = function(name, attributes, text) {
 99890       var child, i, removed;
 99891       if (this.isRoot) {
 99892         throw new Error("Cannot insert elements at root level");
 99893       }
 99894       i = this.parent.children.indexOf(this);
 99895       removed = this.parent.children.splice(i);
 99896       child = this.parent.element(name, attributes, text);
 99897       Array.prototype.push.apply(this.parent.children, removed);
 99898       return child;
 99899     };
 99900 
 99901     XMLNode.prototype.insertAfter = function(name, attributes, text) {
 99902       var child, i, removed;
 99903       if (this.isRoot) {
 99904         throw new Error("Cannot insert elements at root level");
 99905       }
 99906       i = this.parent.children.indexOf(this);
 99907       removed = this.parent.children.splice(i + 1);
 99908       child = this.parent.element(name, attributes, text);
 99909       Array.prototype.push.apply(this.parent.children, removed);
 99910       return child;
 99911     };
 99912 
 99913     XMLNode.prototype.remove = function() {
 99914       var i, ref;
 99915       if (this.isRoot) {
 99916         throw new Error("Cannot remove the root element");
 99917       }
 99918       i = this.parent.children.indexOf(this);
 99919       [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref = [])), ref;
 99920       return this.parent;
 99921     };
 99922 
 99923     XMLNode.prototype.node = function(name, attributes, text) {
 99924       var child, ref;
 99925       if (name != null) {
 99926         name = name.valueOf();
 99927       }
 99928       if (attributes == null) {
 99929         attributes = {};
 99930       }
 99931       attributes = attributes.valueOf();
 99932       if (!isObject(attributes)) {
 99933         ref = [attributes, text], text = ref[0], attributes = ref[1];
 99934       }
 99935       child = new XMLElement(this, name, attributes);
 99936       if (text != null) {
 99937         child.text(text);
 99938       }
 99939       this.children.push(child);
 99940       return child;
 99941     };
 99942 
 99943     XMLNode.prototype.text = function(value) {
 99944       var child;
 99945       child = new XMLText(this, value);
 99946       this.children.push(child);
 99947       return this;
 99948     };
 99949 
 99950     XMLNode.prototype.cdata = function(value) {
 99951       var child;
 99952       child = new XMLCData(this, value);
 99953       this.children.push(child);
 99954       return this;
 99955     };
 99956 
 99957     XMLNode.prototype.comment = function(value) {
 99958       var child;
 99959       child = new XMLComment(this, value);
 99960       this.children.push(child);
 99961       return this;
 99962     };
 99963 
 99964     XMLNode.prototype.raw = function(value) {
 99965       var child;
 99966       child = new XMLRaw(this, value);
 99967       this.children.push(child);
 99968       return this;
 99969     };
 99970 
 99971     XMLNode.prototype.declaration = function(version, encoding, standalone) {
 99972       var doc, xmldec;
 99973       doc = this.document();
 99974       xmldec = new XMLDeclaration(doc, version, encoding, standalone);
 99975       doc.xmldec = xmldec;
 99976       return doc.root();
 99977     };
 99978 
 99979     XMLNode.prototype.doctype = function(pubID, sysID) {
 99980       var doc, doctype;
 99981       doc = this.document();
 99982       doctype = new XMLDocType(doc, pubID, sysID);
 99983       doc.doctype = doctype;
 99984       return doctype;
 99985     };
 99986 
 99987     XMLNode.prototype.up = function() {
 99988       if (this.isRoot) {
 99989         throw new Error("The root node has no parent. Use doc() if you need to get the document object.");
 99990       }
 99991       return this.parent;
 99992     };
 99993 
 99994     XMLNode.prototype.root = function() {
 99995       var child;
 99996       if (this.isRoot) {
 99997         return this;
 99998       }
 99999       child = this.parent;
100000       while (!child.isRoot) {
100001         child = child.parent;
100002       }
100003       return child;
100004     };
100005 
100006     XMLNode.prototype.document = function() {
100007       return this.root().documentObject;
100008     };
100009 
100010     XMLNode.prototype.end = function(options) {
100011       return this.document().toString(options);
100012     };
100013 
100014     XMLNode.prototype.prev = function() {
100015       var i;
100016       if (this.isRoot) {
100017         throw new Error("Root node has no siblings");
100018       }
100019       i = this.parent.children.indexOf(this);
100020       if (i < 1) {
100021         throw new Error("Already at the first node");
100022       }
100023       return this.parent.children[i - 1];
100024     };
100025 
100026     XMLNode.prototype.next = function() {
100027       var i;
100028       if (this.isRoot) {
100029         throw new Error("Root node has no siblings");
100030       }
100031       i = this.parent.children.indexOf(this);
100032       if (i === -1 || i === this.parent.children.length - 1) {
100033         throw new Error("Already at the last node");
100034       }
100035       return this.parent.children[i + 1];
100036     };
100037 
100038     XMLNode.prototype.importXMLBuilder = function(xmlbuilder) {
100039       var clonedRoot;
100040       clonedRoot = xmlbuilder.root().clone();
100041       clonedRoot.parent = this;
100042       clonedRoot.isRoot = false;
100043       this.children.push(clonedRoot);
100044       return this;
100045     };
100046 
100047     XMLNode.prototype.ele = function(name, attributes, text) {
100048       return this.element(name, attributes, text);
100049     };
100050 
100051     XMLNode.prototype.nod = function(name, attributes, text) {
100052       return this.node(name, attributes, text);
100053     };
100054 
100055     XMLNode.prototype.txt = function(value) {
100056       return this.text(value);
100057     };
100058 
100059     XMLNode.prototype.dat = function(value) {
100060       return this.cdata(value);
100061     };
100062 
100063     XMLNode.prototype.com = function(value) {
100064       return this.comment(value);
100065     };
100066 
100067     XMLNode.prototype.doc = function() {
100068       return this.document();
100069     };
100070 
100071     XMLNode.prototype.dec = function(version, encoding, standalone) {
100072       return this.declaration(version, encoding, standalone);
100073     };
100074 
100075     XMLNode.prototype.dtd = function(pubID, sysID) {
100076       return this.doctype(pubID, sysID);
100077     };
100078 
100079     XMLNode.prototype.e = function(name, attributes, text) {
100080       return this.element(name, attributes, text);
100081     };
100082 
100083     XMLNode.prototype.n = function(name, attributes, text) {
100084       return this.node(name, attributes, text);
100085     };
100086 
100087     XMLNode.prototype.t = function(value) {
100088       return this.text(value);
100089     };
100090 
100091     XMLNode.prototype.d = function(value) {
100092       return this.cdata(value);
100093     };
100094 
100095     XMLNode.prototype.c = function(value) {
100096       return this.comment(value);
100097     };
100098 
100099     XMLNode.prototype.r = function(value) {
100100       return this.raw(value);
100101     };
100102 
100103     XMLNode.prototype.u = function() {
100104       return this.up();
100105     };
100106 
100107     return XMLNode;
100108 
100109   })();
100110 
100111 }).call(this);
100112 
100113 },{"./XMLCData":276,"./XMLComment":277,"./XMLDeclaration":282,"./XMLDocType":283,"./XMLElement":284,"./XMLRaw":287,"./XMLText":289,"lodash/lang/isArray":325,"lodash/lang/isEmpty":326,"lodash/lang/isFunction":327,"lodash/lang/isObject":329}],286:[function(require,module,exports){
100114 (function() {
100115   var XMLProcessingInstruction, create;
100116 
100117   create = require('lodash/object/create');
100118 
100119   module.exports = XMLProcessingInstruction = (function() {
100120     function XMLProcessingInstruction(parent, target, value) {
100121       this.stringify = parent.stringify;
100122       if (target == null) {
100123         throw new Error("Missing instruction target");
100124       }
100125       this.target = this.stringify.insTarget(target);
100126       if (value) {
100127         this.value = this.stringify.insValue(value);
100128       }
100129     }
100130 
100131     XMLProcessingInstruction.prototype.clone = function() {
100132       return create(XMLProcessingInstruction.prototype, this);
100133     };
100134 
100135     XMLProcessingInstruction.prototype.toString = function(options, level) {
100136       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
100137       pretty = (options != null ? options.pretty : void 0) || false;
100138       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
100139       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
100140       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
100141       level || (level = 0);
100142       space = new Array(level + offset + 1).join(indent);
100143       r = '';
100144       if (pretty) {
100145         r += space;
100146       }
100147       r += '<?';
100148       r += this.target;
100149       if (this.value) {
100150         r += ' ' + this.value;
100151       }
100152       r += '?>';
100153       if (pretty) {
100154         r += newline;
100155       }
100156       return r;
100157     };
100158 
100159     return XMLProcessingInstruction;
100160 
100161   })();
100162 
100163 }).call(this);
100164 
100165 },{"lodash/object/create":333}],287:[function(require,module,exports){
100166 (function() {
100167   var XMLNode, XMLRaw, create,
100168     extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
100169     hasProp = {}.hasOwnProperty;
100170 
100171   create = require('lodash/object/create');
100172 
100173   XMLNode = require('./XMLNode');
100174 
100175   module.exports = XMLRaw = (function(superClass) {
100176     extend(XMLRaw, superClass);
100177 
100178     function XMLRaw(parent, text) {
100179       XMLRaw.__super__.constructor.call(this, parent);
100180       if (text == null) {
100181         throw new Error("Missing raw text");
100182       }
100183       this.value = this.stringify.raw(text);
100184     }
100185 
100186     XMLRaw.prototype.clone = function() {
100187       return create(XMLRaw.prototype, this);
100188     };
100189 
100190     XMLRaw.prototype.toString = function(options, level) {
100191       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
100192       pretty = (options != null ? options.pretty : void 0) || false;
100193       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
100194       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
100195       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
100196       level || (level = 0);
100197       space = new Array(level + offset + 1).join(indent);
100198       r = '';
100199       if (pretty) {
100200         r += space;
100201       }
100202       r += this.value;
100203       if (pretty) {
100204         r += newline;
100205       }
100206       return r;
100207     };
100208 
100209     return XMLRaw;
100210 
100211   })(XMLNode);
100212 
100213 }).call(this);
100214 
100215 },{"./XMLNode":285,"lodash/object/create":333}],288:[function(require,module,exports){
100216 (function() {
100217   var XMLStringifier,
100218     bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
100219     hasProp = {}.hasOwnProperty;
100220 
100221   module.exports = XMLStringifier = (function() {
100222     function XMLStringifier(options) {
100223       this.assertLegalChar = bind(this.assertLegalChar, this);
100224       var key, ref, value;
100225       this.allowSurrogateChars = options != null ? options.allowSurrogateChars : void 0;
100226       ref = (options != null ? options.stringify : void 0) || {};
100227       for (key in ref) {
100228         if (!hasProp.call(ref, key)) continue;
100229         value = ref[key];
100230         this[key] = value;
100231       }
100232     }
100233 
100234     XMLStringifier.prototype.eleName = function(val) {
100235       val = '' + val || '';
100236       return this.assertLegalChar(val);
100237     };
100238 
100239     XMLStringifier.prototype.eleText = function(val) {
100240       val = '' + val || '';
100241       return this.assertLegalChar(this.elEscape(val));
100242     };
100243 
100244     XMLStringifier.prototype.cdata = function(val) {
100245       val = '' + val || '';
100246       if (val.match(/]]>/)) {
100247         throw new Error("Invalid CDATA text: " + val);
100248       }
100249       return this.assertLegalChar(val);
100250     };
100251 
100252     XMLStringifier.prototype.comment = function(val) {
100253       val = '' + val || '';
100254       if (val.match(/--/)) {
100255         throw new Error("Comment text cannot contain double-hypen: " + val);
100256       }
100257       return this.assertLegalChar(val);
100258     };
100259 
100260     XMLStringifier.prototype.raw = function(val) {
100261       return '' + val || '';
100262     };
100263 
100264     XMLStringifier.prototype.attName = function(val) {
100265       return '' + val || '';
100266     };
100267 
100268     XMLStringifier.prototype.attValue = function(val) {
100269       val = '' + val || '';
100270       return this.attEscape(val);
100271     };
100272 
100273     XMLStringifier.prototype.insTarget = function(val) {
100274       return '' + val || '';
100275     };
100276 
100277     XMLStringifier.prototype.insValue = function(val) {
100278       val = '' + val || '';
100279       if (val.match(/\?>/)) {
100280         throw new Error("Invalid processing instruction value: " + val);
100281       }
100282       return val;
100283     };
100284 
100285     XMLStringifier.prototype.xmlVersion = function(val) {
100286       val = '' + val || '';
100287       if (!val.match(/1\.[0-9]+/)) {
100288         throw new Error("Invalid version number: " + val);
100289       }
100290       return val;
100291     };
100292 
100293     XMLStringifier.prototype.xmlEncoding = function(val) {
100294       val = '' + val || '';
100295       if (!val.match(/[A-Za-z](?:[A-Za-z0-9._-]|-)*/)) {
100296         throw new Error("Invalid encoding: " + val);
100297       }
100298       return val;
100299     };
100300 
100301     XMLStringifier.prototype.xmlStandalone = function(val) {
100302       if (val) {
100303         return "yes";
100304       } else {
100305         return "no";
100306       }
100307     };
100308 
100309     XMLStringifier.prototype.dtdPubID = function(val) {
100310       return '' + val || '';
100311     };
100312 
100313     XMLStringifier.prototype.dtdSysID = function(val) {
100314       return '' + val || '';
100315     };
100316 
100317     XMLStringifier.prototype.dtdElementValue = function(val) {
100318       return '' + val || '';
100319     };
100320 
100321     XMLStringifier.prototype.dtdAttType = function(val) {
100322       return '' + val || '';
100323     };
100324 
100325     XMLStringifier.prototype.dtdAttDefault = function(val) {
100326       if (val != null) {
100327         return '' + val || '';
100328       } else {
100329         return val;
100330       }
100331     };
100332 
100333     XMLStringifier.prototype.dtdEntityValue = function(val) {
100334       return '' + val || '';
100335     };
100336 
100337     XMLStringifier.prototype.dtdNData = function(val) {
100338       return '' + val || '';
100339     };
100340 
100341     XMLStringifier.prototype.convertAttKey = '@';
100342 
100343     XMLStringifier.prototype.convertPIKey = '?';
100344 
100345     XMLStringifier.prototype.convertTextKey = '#text';
100346 
100347     XMLStringifier.prototype.convertCDataKey = '#cdata';
100348 
100349     XMLStringifier.prototype.convertCommentKey = '#comment';
100350 
100351     XMLStringifier.prototype.convertRawKey = '#raw';
100352 
100353     XMLStringifier.prototype.convertListKey = '#list';
100354 
100355     XMLStringifier.prototype.assertLegalChar = function(str) {
100356       var chars, chr;
100357       if (this.allowSurrogateChars) {
100358         chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/;
100359       } else {
100360         chars = /[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/;
100361       }
100362       chr = str.match(chars);
100363       if (chr) {
100364         throw new Error("Invalid character (" + chr + ") in string: " + str + " at index " + chr.index);
100365       }
100366       return str;
100367     };
100368 
100369     XMLStringifier.prototype.elEscape = function(str) {
100370       return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\r/g, '&#xD;');
100371     };
100372 
100373     XMLStringifier.prototype.attEscape = function(str) {
100374       return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;').replace(/\t/g, '&#x9;').replace(/\n/g, '&#xA;').replace(/\r/g, '&#xD;');
100375     };
100376 
100377     return XMLStringifier;
100378 
100379   })();
100380 
100381 }).call(this);
100382 
100383 },{}],289:[function(require,module,exports){
100384 (function() {
100385   var XMLNode, XMLText, create,
100386     extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
100387     hasProp = {}.hasOwnProperty;
100388 
100389   create = require('lodash/object/create');
100390 
100391   XMLNode = require('./XMLNode');
100392 
100393   module.exports = XMLText = (function(superClass) {
100394     extend(XMLText, superClass);
100395 
100396     function XMLText(parent, text) {
100397       XMLText.__super__.constructor.call(this, parent);
100398       if (text == null) {
100399         throw new Error("Missing element text");
100400       }
100401       this.value = this.stringify.eleText(text);
100402     }
100403 
100404     XMLText.prototype.clone = function() {
100405       return create(XMLText.prototype, this);
100406     };
100407 
100408     XMLText.prototype.toString = function(options, level) {
100409       var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
100410       pretty = (options != null ? options.pretty : void 0) || false;
100411       indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
100412       offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
100413       newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
100414       level || (level = 0);
100415       space = new Array(level + offset + 1).join(indent);
100416       r = '';
100417       if (pretty) {
100418         r += space;
100419       }
100420       r += this.value;
100421       if (pretty) {
100422         r += newline;
100423       }
100424       return r;
100425     };
100426 
100427     return XMLText;
100428 
100429   })(XMLNode);
100430 
100431 }).call(this);
100432 
100433 },{"./XMLNode":285,"lodash/object/create":333}],290:[function(require,module,exports){
100434 (function() {
100435   var XMLBuilder, assign;
100436 
100437   assign = require('lodash/object/assign');
100438 
100439   XMLBuilder = require('./XMLBuilder');
100440 
100441   module.exports.create = function(name, xmldec, doctype, options) {
100442     options = assign({}, xmldec, doctype, options);
100443     return new XMLBuilder(name, options).root();
100444   };
100445 
100446 }).call(this);
100447 
100448 },{"./XMLBuilder":275,"lodash/object/assign":332}],291:[function(require,module,exports){
100449 var arrayEvery = require('../internal/arrayEvery'),
100450     baseCallback = require('../internal/baseCallback'),
100451     baseEvery = require('../internal/baseEvery'),
100452     isArray = require('../lang/isArray');
100453 
100454 
100455 function every(collection, predicate, thisArg) {
100456   var func = isArray(collection) ? arrayEvery : baseEvery;
100457   if (typeof predicate != 'function' || typeof thisArg != 'undefined') {
100458     predicate = baseCallback(predicate, thisArg, 3);
100459   }
100460   return func(collection, predicate);
100461 }
100462 
100463 module.exports = every;
100464 
100465 },{"../internal/arrayEvery":292,"../internal/baseCallback":294,"../internal/baseEvery":298,"../lang/isArray":325}],292:[function(require,module,exports){
100466 
100467 function arrayEvery(array, predicate) {
100468   var index = -1,
100469       length = array.length;
100470 
100471   while (++index < length) {
100472     if (!predicate(array[index], index, array)) {
100473       return false;
100474     }
100475   }
100476   return true;
100477 }
100478 
100479 module.exports = arrayEvery;
100480 
100481 },{}],293:[function(require,module,exports){
100482 var baseCopy = require('./baseCopy'),
100483     keys = require('../object/keys');
100484 
100485 
100486 function baseAssign(object, source, customizer) {
100487   var props = keys(source);
100488   if (!customizer) {
100489     return baseCopy(source, object, props);
100490   }
100491   var index = -1,
100492       length = props.length;
100493 
100494   while (++index < length) {
100495     var key = props[index],
100496         value = object[key],
100497         result = customizer(value, source[key], key, object, source);
100498 
100499     if ((result === result ? (result !== value) : (value === value)) ||
100500         (typeof value == 'undefined' && !(key in object))) {
100501       object[key] = result;
100502     }
100503   }
100504   return object;
100505 }
100506 
100507 module.exports = baseAssign;
100508 
100509 },{"../object/keys":334,"./baseCopy":295}],294:[function(require,module,exports){
100510 var baseMatches = require('./baseMatches'),
100511     baseMatchesProperty = require('./baseMatchesProperty'),
100512     baseProperty = require('./baseProperty'),
100513     bindCallback = require('./bindCallback'),
100514     identity = require('../utility/identity'),
100515     isBindable = require('./isBindable');
100516 
100517 
100518 function baseCallback(func, thisArg, argCount) {
100519   var type = typeof func;
100520   if (type == 'function') {
100521     return (typeof thisArg != 'undefined' && isBindable(func))
100522       ? bindCallback(func, thisArg, argCount)
100523       : func;
100524   }
100525   if (func == null) {
100526     return identity;
100527   }
100528   if (type == 'object') {
100529     return baseMatches(func);
100530   }
100531   return typeof thisArg == 'undefined'
100532     ? baseProperty(func + '')
100533     : baseMatchesProperty(func + '', thisArg);
100534 }
100535 
100536 module.exports = baseCallback;
100537 
100538 },{"../utility/identity":338,"./baseMatches":305,"./baseMatchesProperty":306,"./baseProperty":307,"./bindCallback":310,"./isBindable":315}],295:[function(require,module,exports){
100539 
100540 function baseCopy(source, object, props) {
100541   if (!props) {
100542     props = object;
100543     object = {};
100544   }
100545   var index = -1,
100546       length = props.length;
100547 
100548   while (++index < length) {
100549     var key = props[index];
100550     object[key] = source[key];
100551   }
100552   return object;
100553 }
100554 
100555 module.exports = baseCopy;
100556 
100557 },{}],296:[function(require,module,exports){
100558 (function (global){
100559 var isObject = require('../lang/isObject');
100560 
100561 
100562 var baseCreate = (function() {
100563   function Object() {}
100564   return function(prototype) {
100565     if (isObject(prototype)) {
100566       Object.prototype = prototype;
100567       var result = new Object;
100568       Object.prototype = null;
100569     }
100570     return result || global.Object();
100571   };
100572 }());
100573 
100574 module.exports = baseCreate;
100575 
100576 }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
100577 },{"../lang/isObject":329}],297:[function(require,module,exports){
100578 var baseForOwn = require('./baseForOwn'),
100579     isLength = require('./isLength'),
100580     toObject = require('./toObject');
100581 
100582 
100583 function baseEach(collection, iteratee) {
100584   var length = collection ? collection.length : 0;
100585   if (!isLength(length)) {
100586     return baseForOwn(collection, iteratee);
100587   }
100588   var index = -1,
100589       iterable = toObject(collection);
100590 
100591   while (++index < length) {
100592     if (iteratee(iterable[index], index, iterable) === false) {
100593       break;
100594     }
100595   }
100596   return collection;
100597 }
100598 
100599 module.exports = baseEach;
100600 
100601 },{"./baseForOwn":300,"./isLength":318,"./toObject":323}],298:[function(require,module,exports){
100602 var baseEach = require('./baseEach');
100603 
100604 
100605 function baseEvery(collection, predicate) {
100606   var result = true;
100607   baseEach(collection, function(value, index, collection) {
100608     result = !!predicate(value, index, collection);
100609     return result;
100610   });
100611   return result;
100612 }
100613 
100614 module.exports = baseEvery;
100615 
100616 },{"./baseEach":297}],299:[function(require,module,exports){
100617 var toObject = require('./toObject');
100618 
100619 
100620 function baseFor(object, iteratee, keysFunc) {
100621   var index = -1,
100622       iterable = toObject(object),
100623       props = keysFunc(object),
100624       length = props.length;
100625 
100626   while (++index < length) {
100627     var key = props[index];
100628     if (iteratee(iterable[key], key, iterable) === false) {
100629       break;
100630     }
100631   }
100632   return object;
100633 }
100634 
100635 module.exports = baseFor;
100636 
100637 },{"./toObject":323}],300:[function(require,module,exports){
100638 var baseFor = require('./baseFor'),
100639     keys = require('../object/keys');
100640 
100641 
100642 function baseForOwn(object, iteratee) {
100643   return baseFor(object, iteratee, keys);
100644 }
100645 
100646 module.exports = baseForOwn;
100647 
100648 },{"../object/keys":334,"./baseFor":299}],301:[function(require,module,exports){
100649 var baseIsEqualDeep = require('./baseIsEqualDeep');
100650 
100651 
100652 function baseIsEqual(value, other, customizer, isWhere, stackA, stackB) {
100653   if (value === other) {
100654     return value !== 0 || (1 / value == 1 / other);
100655   }
100656   var valType = typeof value,
100657       othType = typeof other;
100658 
100659   if ((valType != 'function' && valType != 'object' && othType != 'function' && othType != 'object') ||
100660       value == null || other == null) {
100661     return value !== value && other !== other;
100662   }
100663   return baseIsEqualDeep(value, other, baseIsEqual, customizer, isWhere, stackA, stackB);
100664 }
100665 
100666 module.exports = baseIsEqual;
100667 
100668 },{"./baseIsEqualDeep":302}],302:[function(require,module,exports){
100669 var equalArrays = require('./equalArrays'),
100670     equalByTag = require('./equalByTag'),
100671     equalObjects = require('./equalObjects'),
100672     isArray = require('../lang/isArray'),
100673     isTypedArray = require('../lang/isTypedArray');
100674 
100675 
100676 var argsTag = '[object Arguments]',
100677     arrayTag = '[object Array]',
100678     objectTag = '[object Object]';
100679 
100680 
100681 var objectProto = Object.prototype;
100682 
100683 
100684 var hasOwnProperty = objectProto.hasOwnProperty;
100685 
100686 
100687 var objToString = objectProto.toString;
100688 
100689 
100690 function baseIsEqualDeep(object, other, equalFunc, customizer, isWhere, stackA, stackB) {
100691   var objIsArr = isArray(object),
100692       othIsArr = isArray(other),
100693       objTag = arrayTag,
100694       othTag = arrayTag;
100695 
100696   if (!objIsArr) {
100697     objTag = objToString.call(object);
100698     if (objTag == argsTag) {
100699       objTag = objectTag;
100700     } else if (objTag != objectTag) {
100701       objIsArr = isTypedArray(object);
100702     }
100703   }
100704   if (!othIsArr) {
100705     othTag = objToString.call(other);
100706     if (othTag == argsTag) {
100707       othTag = objectTag;
100708     } else if (othTag != objectTag) {
100709       othIsArr = isTypedArray(other);
100710     }
100711   }
100712   var objIsObj = objTag == objectTag,
100713       othIsObj = othTag == objectTag,
100714       isSameTag = objTag == othTag;
100715 
100716   if (isSameTag && !(objIsArr || objIsObj)) {
100717     return equalByTag(object, other, objTag);
100718   }
100719   var valWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
100720       othWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
100721 
100722   if (valWrapped || othWrapped) {
100723     return equalFunc(valWrapped ? object.value() : object, othWrapped ? other.value() : other, customizer, isWhere, stackA, stackB);
100724   }
100725   if (!isSameTag) {
100726     return false;
100727   }
100728   stackA || (stackA = []);
100729   stackB || (stackB = []);
100730 
100731   var length = stackA.length;
100732   while (length--) {
100733     if (stackA[length] == object) {
100734       return stackB[length] == other;
100735     }
100736   }
100737   stackA.push(object);
100738   stackB.push(other);
100739 
100740   var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isWhere, stackA, stackB);
100741 
100742   stackA.pop();
100743   stackB.pop();
100744 
100745   return result;
100746 }
100747 
100748 module.exports = baseIsEqualDeep;
100749 
100750 },{"../lang/isArray":325,"../lang/isTypedArray":331,"./equalArrays":312,"./equalByTag":313,"./equalObjects":314}],303:[function(require,module,exports){
100751 
100752 function baseIsFunction(value) {
100753   return typeof value == 'function' || false;
100754 }
100755 
100756 module.exports = baseIsFunction;
100757 
100758 },{}],304:[function(require,module,exports){
100759 var baseIsEqual = require('./baseIsEqual');
100760 
100761 
100762 var objectProto = Object.prototype;
100763 
100764 
100765 var hasOwnProperty = objectProto.hasOwnProperty;
100766 
100767 
100768 function baseIsMatch(object, props, values, strictCompareFlags, customizer) {
100769   var length = props.length;
100770   if (object == null) {
100771     return !length;
100772   }
100773   var index = -1,
100774       noCustomizer = !customizer;
100775 
100776   while (++index < length) {
100777     if ((noCustomizer && strictCompareFlags[index])
100778           ? values[index] !== object[props[index]]
100779           : !hasOwnProperty.call(object, props[index])
100780         ) {
100781       return false;
100782     }
100783   }
100784   index = -1;
100785   while (++index < length) {
100786     var key = props[index];
100787     if (noCustomizer && strictCompareFlags[index]) {
100788       var result = hasOwnProperty.call(object, key);
100789     } else {
100790       var objValue = object[key],
100791           srcValue = values[index];
100792 
100793       result = customizer ? customizer(objValue, srcValue, key) : undefined;
100794       if (typeof result == 'undefined') {
100795         result = baseIsEqual(srcValue, objValue, customizer, true);
100796       }
100797     }
100798     if (!result) {
100799       return false;
100800     }
100801   }
100802   return true;
100803 }
100804 
100805 module.exports = baseIsMatch;
100806 
100807 },{"./baseIsEqual":301}],305:[function(require,module,exports){
100808 var baseIsMatch = require('./baseIsMatch'),
100809     isStrictComparable = require('./isStrictComparable'),
100810     keys = require('../object/keys');
100811 
100812 
100813 var objectProto = Object.prototype;
100814 
100815 
100816 var hasOwnProperty = objectProto.hasOwnProperty;
100817 
100818 
100819 function baseMatches(source) {
100820   var props = keys(source),
100821       length = props.length;
100822 
100823   if (length == 1) {
100824     var key = props[0],
100825         value = source[key];
100826 
100827     if (isStrictComparable(value)) {
100828       return function(object) {
100829         return object != null && object[key] === value && hasOwnProperty.call(object, key);
100830       };
100831     }
100832   }
100833   var values = Array(length),
100834       strictCompareFlags = Array(length);
100835 
100836   while (length--) {
100837     value = source[props[length]];
100838     values[length] = value;
100839     strictCompareFlags[length] = isStrictComparable(value);
100840   }
100841   return function(object) {
100842     return baseIsMatch(object, props, values, strictCompareFlags);
100843   };
100844 }
100845 
100846 module.exports = baseMatches;
100847 
100848 },{"../object/keys":334,"./baseIsMatch":304,"./isStrictComparable":320}],306:[function(require,module,exports){
100849 var baseIsEqual = require('./baseIsEqual'),
100850     isStrictComparable = require('./isStrictComparable');
100851 
100852 
100853 function baseMatchesProperty(key, value) {
100854   if (isStrictComparable(value)) {
100855     return function(object) {
100856       return object != null && object[key] === value;
100857     };
100858   }
100859   return function(object) {
100860     return object != null && baseIsEqual(value, object[key], null, true);
100861   };
100862 }
100863 
100864 module.exports = baseMatchesProperty;
100865 
100866 },{"./baseIsEqual":301,"./isStrictComparable":320}],307:[function(require,module,exports){
100867 
100868 function baseProperty(key) {
100869   return function(object) {
100870     return object == null ? undefined : object[key];
100871   };
100872 }
100873 
100874 module.exports = baseProperty;
100875 
100876 },{}],308:[function(require,module,exports){
100877 var identity = require('../utility/identity'),
100878     metaMap = require('./metaMap');
100879 
100880 
100881 var baseSetData = !metaMap ? identity : function(func, data) {
100882   metaMap.set(func, data);
100883   return func;
100884 };
100885 
100886 module.exports = baseSetData;
100887 
100888 },{"../utility/identity":338,"./metaMap":321}],309:[function(require,module,exports){
100889 
100890 function baseToString(value) {
100891   if (typeof value == 'string') {
100892     return value;
100893   }
100894   return value == null ? '' : (value + '');
100895 }
100896 
100897 module.exports = baseToString;
100898 
100899 },{}],310:[function(require,module,exports){
100900 var identity = require('../utility/identity');
100901 
100902 
100903 function bindCallback(func, thisArg, argCount) {
100904   if (typeof func != 'function') {
100905     return identity;
100906   }
100907   if (typeof thisArg == 'undefined') {
100908     return func;
100909   }
100910   switch (argCount) {
100911     case 1: return function(value) {
100912       return func.call(thisArg, value);
100913     };
100914     case 3: return function(value, index, collection) {
100915       return func.call(thisArg, value, index, collection);
100916     };
100917     case 4: return function(accumulator, value, index, collection) {
100918       return func.call(thisArg, accumulator, value, index, collection);
100919     };
100920     case 5: return function(value, other, key, object, source) {
100921       return func.call(thisArg, value, other, key, object, source);
100922     };
100923   }
100924   return function() {
100925     return func.apply(thisArg, arguments);
100926   };
100927 }
100928 
100929 module.exports = bindCallback;
100930 
100931 },{"../utility/identity":338}],311:[function(require,module,exports){
100932 var bindCallback = require('./bindCallback'),
100933     isIterateeCall = require('./isIterateeCall');
100934 
100935 
100936 function createAssigner(assigner) {
100937   return function() {
100938     var args = arguments,
100939         length = args.length,
100940         object = args[0];
100941 
100942     if (length < 2 || object == null) {
100943       return object;
100944     }
100945     var customizer = args[length - 2],
100946         thisArg = args[length - 1],
100947         guard = args[3];
100948 
100949     if (length > 3 && typeof customizer == 'function') {
100950       customizer = bindCallback(customizer, thisArg, 5);
100951       length -= 2;
100952     } else {
100953       customizer = (length > 2 && typeof thisArg == 'function') ? thisArg : null;
100954       length -= (customizer ? 1 : 0);
100955     }
100956     if (guard && isIterateeCall(args[1], args[2], guard)) {
100957       customizer = length == 3 ? null : customizer;
100958       length = 2;
100959     }
100960     var index = 0;
100961     while (++index < length) {
100962       var source = args[index];
100963       if (source) {
100964         assigner(object, source, customizer);
100965       }
100966     }
100967     return object;
100968   };
100969 }
100970 
100971 module.exports = createAssigner;
100972 
100973 },{"./bindCallback":310,"./isIterateeCall":317}],312:[function(require,module,exports){
100974 
100975 function equalArrays(array, other, equalFunc, customizer, isWhere, stackA, stackB) {
100976   var index = -1,
100977       arrLength = array.length,
100978       othLength = other.length,
100979       result = true;
100980 
100981   if (arrLength != othLength && !(isWhere && othLength > arrLength)) {
100982     return false;
100983   }
100984   while (result && ++index < arrLength) {
100985     var arrValue = array[index],
100986         othValue = other[index];
100987 
100988     result = undefined;
100989     if (customizer) {
100990       result = isWhere
100991         ? customizer(othValue, arrValue, index)
100992         : customizer(arrValue, othValue, index);
100993     }
100994     if (typeof result == 'undefined') {
100995       if (isWhere) {
100996         var othIndex = othLength;
100997         while (othIndex--) {
100998           othValue = other[othIndex];
100999           result = (arrValue && arrValue === othValue) || equalFunc(arrValue, othValue, customizer, isWhere, stackA, stackB);
101000           if (result) {
101001             break;
101002           }
101003         }
101004       } else {
101005         result = (arrValue && arrValue === othValue) || equalFunc(arrValue, othValue, customizer, isWhere, stackA, stackB);
101006       }
101007     }
101008   }
101009   return !!result;
101010 }
101011 
101012 module.exports = equalArrays;
101013 
101014 },{}],313:[function(require,module,exports){
101015 
101016 var boolTag = '[object Boolean]',
101017     dateTag = '[object Date]',
101018     errorTag = '[object Error]',
101019     numberTag = '[object Number]',
101020     regexpTag = '[object RegExp]',
101021     stringTag = '[object String]';
101022 
101023 
101024 function equalByTag(object, other, tag) {
101025   switch (tag) {
101026     case boolTag:
101027     case dateTag:
101028       return +object == +other;
101029 
101030     case errorTag:
101031       return object.name == other.name && object.message == other.message;
101032 
101033     case numberTag:
101034       return (object != +object)
101035         ? other != +other
101036         : (object == 0 ? ((1 / object) == (1 / other)) : object == +other);
101037 
101038     case regexpTag:
101039     case stringTag:
101040       return object == (other + '');
101041   }
101042   return false;
101043 }
101044 
101045 module.exports = equalByTag;
101046 
101047 },{}],314:[function(require,module,exports){
101048 var keys = require('../object/keys');
101049 
101050 
101051 var objectProto = Object.prototype;
101052 
101053 
101054 var hasOwnProperty = objectProto.hasOwnProperty;
101055 
101056 
101057 function equalObjects(object, other, equalFunc, customizer, isWhere, stackA, stackB) {
101058   var objProps = keys(object),
101059       objLength = objProps.length,
101060       othProps = keys(other),
101061       othLength = othProps.length;
101062 
101063   if (objLength != othLength && !isWhere) {
101064     return false;
101065   }
101066   var hasCtor,
101067       index = -1;
101068 
101069   while (++index < objLength) {
101070     var key = objProps[index],
101071         result = hasOwnProperty.call(other, key);
101072 
101073     if (result) {
101074       var objValue = object[key],
101075           othValue = other[key];
101076 
101077       result = undefined;
101078       if (customizer) {
101079         result = isWhere
101080           ? customizer(othValue, objValue, key)
101081           : customizer(objValue, othValue, key);
101082       }
101083       if (typeof result == 'undefined') {
101084         result = (objValue && objValue === othValue) || equalFunc(objValue, othValue, customizer, isWhere, stackA, stackB);
101085       }
101086     }
101087     if (!result) {
101088       return false;
101089     }
101090     hasCtor || (hasCtor = key == 'constructor');
101091   }
101092   if (!hasCtor) {
101093     var objCtor = object.constructor,
101094         othCtor = other.constructor;
101095 
101096     if (objCtor != othCtor &&
101097         ('constructor' in object && 'constructor' in other) &&
101098         !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
101099           typeof othCtor == 'function' && othCtor instanceof othCtor)) {
101100       return false;
101101     }
101102   }
101103   return true;
101104 }
101105 
101106 module.exports = equalObjects;
101107 
101108 },{"../object/keys":334}],315:[function(require,module,exports){
101109 var baseSetData = require('./baseSetData'),
101110     isNative = require('../lang/isNative'),
101111     support = require('../support');
101112 
101113 
101114 var reFuncName = /^\s*function[ \n\r\t]+\w/;
101115 
101116 
101117 var reThis = /\bthis\b/;
101118 
101119 
101120 var fnToString = Function.prototype.toString;
101121 
101122 
101123 function isBindable(func) {
101124   var result = !(support.funcNames ? func.name : support.funcDecomp);
101125 
101126   if (!result) {
101127     var source = fnToString.call(func);
101128     if (!support.funcNames) {
101129       result = !reFuncName.test(source);
101130     }
101131     if (!result) {
101132       result = reThis.test(source) || isNative(func);
101133       baseSetData(func, result);
101134     }
101135   }
101136   return result;
101137 }
101138 
101139 module.exports = isBindable;
101140 
101141 },{"../lang/isNative":328,"../support":337,"./baseSetData":308}],316:[function(require,module,exports){
101142 
101143 var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;
101144 
101145 
101146 function isIndex(value, length) {
101147   value = +value;
101148   length = length == null ? MAX_SAFE_INTEGER : length;
101149   return value > -1 && value % 1 == 0 && value < length;
101150 }
101151 
101152 module.exports = isIndex;
101153 
101154 },{}],317:[function(require,module,exports){
101155 var isIndex = require('./isIndex'),
101156     isLength = require('./isLength'),
101157     isObject = require('../lang/isObject');
101158 
101159 
101160 function isIterateeCall(value, index, object) {
101161   if (!isObject(object)) {
101162     return false;
101163   }
101164   var type = typeof index;
101165   if (type == 'number') {
101166     var length = object.length,
101167         prereq = isLength(length) && isIndex(index, length);
101168   } else {
101169     prereq = type == 'string' && index in object;
101170   }
101171   if (prereq) {
101172     var other = object[index];
101173     return value === value ? (value === other) : (other !== other);
101174   }
101175   return false;
101176 }
101177 
101178 module.exports = isIterateeCall;
101179 
101180 },{"../lang/isObject":329,"./isIndex":316,"./isLength":318}],318:[function(require,module,exports){
101181 
101182 var MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;
101183 
101184 
101185 function isLength(value) {
101186   return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
101187 }
101188 
101189 module.exports = isLength;
101190 
101191 },{}],319:[function(require,module,exports){
101192 
101193 function isObjectLike(value) {
101194   return (value && typeof value == 'object') || false;
101195 }
101196 
101197 module.exports = isObjectLike;
101198 
101199 },{}],320:[function(require,module,exports){
101200 var isObject = require('../lang/isObject');
101201 
101202 
101203 function isStrictComparable(value) {
101204   return value === value && (value === 0 ? ((1 / value) > 0) : !isObject(value));
101205 }
101206 
101207 module.exports = isStrictComparable;
101208 
101209 },{"../lang/isObject":329}],321:[function(require,module,exports){
101210 (function (global){
101211 var isNative = require('../lang/isNative');
101212 
101213 
101214 var WeakMap = isNative(WeakMap = global.WeakMap) && WeakMap;
101215 
101216 
101217 var metaMap = WeakMap && new WeakMap;
101218 
101219 module.exports = metaMap;
101220 
101221 }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
101222 },{"../lang/isNative":328}],322:[function(require,module,exports){
101223 var isArguments = require('../lang/isArguments'),
101224     isArray = require('../lang/isArray'),
101225     isIndex = require('./isIndex'),
101226     isLength = require('./isLength'),
101227     keysIn = require('../object/keysIn'),
101228     support = require('../support');
101229 
101230 
101231 var objectProto = Object.prototype;
101232 
101233 
101234 var hasOwnProperty = objectProto.hasOwnProperty;
101235 
101236 
101237 function shimKeys(object) {
101238   var props = keysIn(object),
101239       propsLength = props.length,
101240       length = propsLength && object.length;
101241 
101242   var allowIndexes = length && isLength(length) &&
101243     (isArray(object) || (support.nonEnumArgs && isArguments(object)));
101244 
101245   var index = -1,
101246       result = [];
101247 
101248   while (++index < propsLength) {
101249     var key = props[index];
101250     if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
101251       result.push(key);
101252     }
101253   }
101254   return result;
101255 }
101256 
101257 module.exports = shimKeys;
101258 
101259 },{"../lang/isArguments":324,"../lang/isArray":325,"../object/keysIn":335,"../support":337,"./isIndex":316,"./isLength":318}],323:[function(require,module,exports){
101260 var isObject = require('../lang/isObject');
101261 
101262 
101263 function toObject(value) {
101264   return isObject(value) ? value : Object(value);
101265 }
101266 
101267 module.exports = toObject;
101268 
101269 },{"../lang/isObject":329}],324:[function(require,module,exports){
101270 var isLength = require('../internal/isLength'),
101271     isObjectLike = require('../internal/isObjectLike');
101272 
101273 
101274 var argsTag = '[object Arguments]';
101275 
101276 
101277 var objectProto = Object.prototype;
101278 
101279 
101280 var objToString = objectProto.toString;
101281 
101282 
101283 function isArguments(value) {
101284   var length = isObjectLike(value) ? value.length : undefined;
101285   return (isLength(length) && objToString.call(value) == argsTag) || false;
101286 }
101287 
101288 module.exports = isArguments;
101289 
101290 },{"../internal/isLength":318,"../internal/isObjectLike":319}],325:[function(require,module,exports){
101291 var isLength = require('../internal/isLength'),
101292     isNative = require('./isNative'),
101293     isObjectLike = require('../internal/isObjectLike');
101294 
101295 
101296 var arrayTag = '[object Array]';
101297 
101298 
101299 var objectProto = Object.prototype;
101300 
101301 
101302 var objToString = objectProto.toString;
101303 
101304 
101305 var nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray;
101306 
101307 
101308 var isArray = nativeIsArray || function(value) {
101309   return (isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag) || false;
101310 };
101311 
101312 module.exports = isArray;
101313 
101314 },{"../internal/isLength":318,"../internal/isObjectLike":319,"./isNative":328}],326:[function(require,module,exports){
101315 var isArguments = require('./isArguments'),
101316     isArray = require('./isArray'),
101317     isFunction = require('./isFunction'),
101318     isLength = require('../internal/isLength'),
101319     isObjectLike = require('../internal/isObjectLike'),
101320     isString = require('./isString'),
101321     keys = require('../object/keys');
101322 
101323 
101324 function isEmpty(value) {
101325   if (value == null) {
101326     return true;
101327   }
101328   var length = value.length;
101329   if (isLength(length) && (isArray(value) || isString(value) || isArguments(value) ||
101330       (isObjectLike(value) && isFunction(value.splice)))) {
101331     return !length;
101332   }
101333   return !keys(value).length;
101334 }
101335 
101336 module.exports = isEmpty;
101337 
101338 },{"../internal/isLength":318,"../internal/isObjectLike":319,"../object/keys":334,"./isArguments":324,"./isArray":325,"./isFunction":327,"./isString":330}],327:[function(require,module,exports){
101339 (function (global){
101340 var baseIsFunction = require('../internal/baseIsFunction'),
101341     isNative = require('./isNative');
101342 
101343 
101344 var funcTag = '[object Function]';
101345 
101346 
101347 var objectProto = Object.prototype;
101348 
101349 
101350 var objToString = objectProto.toString;
101351 
101352 
101353 var Uint8Array = isNative(Uint8Array = global.Uint8Array) && Uint8Array;
101354 
101355 
101356 var isFunction = !(baseIsFunction(/x/) || (Uint8Array && !baseIsFunction(Uint8Array))) ? baseIsFunction : function(value) {
101357   return objToString.call(value) == funcTag;
101358 };
101359 
101360 module.exports = isFunction;
101361 
101362 }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
101363 },{"../internal/baseIsFunction":303,"./isNative":328}],328:[function(require,module,exports){
101364 var escapeRegExp = require('../string/escapeRegExp'),
101365     isObjectLike = require('../internal/isObjectLike');
101366 
101367 
101368 var funcTag = '[object Function]';
101369 
101370 
101371 var reHostCtor = /^\[object .+?Constructor\]$/;
101372 
101373 
101374 var objectProto = Object.prototype;
101375 
101376 
101377 var fnToString = Function.prototype.toString;
101378 
101379 
101380 var objToString = objectProto.toString;
101381 
101382 
101383 var reNative = RegExp('^' +
101384   escapeRegExp(objToString)
101385   .replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '



101386 );
101387 
101388 
101389 function isNative(value) {
101390   if (value == null) {
101391     return false;
101392   }
101393   if (objToString.call(value) == funcTag) {
101394     return reNative.test(fnToString.call(value));
101395   }
101396   return (isObjectLike(value) && reHostCtor.test(value)) || false;
101397 }
101398 
101399 module.exports = isNative;
101400 
101401 },{"../internal/isObjectLike":319,"../string/escapeRegExp":336}],329:[function(require,module,exports){
101402 
101403 function isObject(value) {
101404   var type = typeof value;
101405   return type == 'function' || (value && type == 'object') || false;
101406 }
101407 
101408 module.exports = isObject;
101409 
101410 },{}],330:[function(require,module,exports){
101411 var isObjectLike = require('../internal/isObjectLike');
101412 
101413 
101414 var stringTag = '[object String]';
101415 
101416 
101417 var objectProto = Object.prototype;
101418 
101419 
101420 var objToString = objectProto.toString;
101421 
101422 
101423 function isString(value) {
101424   return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag) || false;
101425 }
101426 
101427 module.exports = isString;
101428 
101429 },{"../internal/isObjectLike":319}],331:[function(require,module,exports){
101430 var isLength = require('../internal/isLength'),
101431     isObjectLike = require('../internal/isObjectLike');
101432 
101433 
101434 var argsTag = '[object Arguments]',
101435     arrayTag = '[object Array]',
101436     boolTag = '[object Boolean]',
101437     dateTag = '[object Date]',
101438     errorTag = '[object Error]',
101439     funcTag = '[object Function]',
101440     mapTag = '[object Map]',
101441     numberTag = '[object Number]',
101442     objectTag = '[object Object]',
101443     regexpTag = '[object RegExp]',
101444     setTag = '[object Set]',
101445     stringTag = '[object String]',
101446     weakMapTag = '[object WeakMap]';
101447 
101448 var arrayBufferTag = '[object ArrayBuffer]',
101449     float32Tag = '[object Float32Array]',
101450     float64Tag = '[object Float64Array]',
101451     int8Tag = '[object Int8Array]',
101452     int16Tag = '[object Int16Array]',
101453     int32Tag = '[object Int32Array]',
101454     uint8Tag = '[object Uint8Array]',
101455     uint8ClampedTag = '[object Uint8ClampedArray]',
101456     uint16Tag = '[object Uint16Array]',
101457     uint32Tag = '[object Uint32Array]';
101458 
101459 
101460 var typedArrayTags = {};
101461 typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
101462 typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
101463 typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
101464 typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
101465 typedArrayTags[uint32Tag] = true;
101466 typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
101467 typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
101468 typedArrayTags[dateTag] = typedArrayTags[errorTag] =
101469 typedArrayTags[funcTag] = typedArrayTags[mapTag] =
101470 typedArrayTags[numberTag] = typedArrayTags[objectTag] =
101471 typedArrayTags[regexpTag] = typedArrayTags[setTag] =
101472 typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
101473 
101474 
101475 var objectProto = Object.prototype;
101476 
101477 
101478 var objToString = objectProto.toString;
101479 
101480 
101481 function isTypedArray(value) {
101482   return (isObjectLike(value) && isLength(value.length) && typedArrayTags[objToString.call(value)]) || false;
101483 }
101484 
101485 module.exports = isTypedArray;
101486 
101487 },{"../internal/isLength":318,"../internal/isObjectLike":319}],332:[function(require,module,exports){
101488 var baseAssign = require('../internal/baseAssign'),
101489     createAssigner = require('../internal/createAssigner');
101490 
101491 
101492 var assign = createAssigner(baseAssign);
101493 
101494 module.exports = assign;
101495 
101496 },{"../internal/baseAssign":293,"../internal/createAssigner":311}],333:[function(require,module,exports){
101497 var baseCopy = require('../internal/baseCopy'),
101498     baseCreate = require('../internal/baseCreate'),
101499     isIterateeCall = require('../internal/isIterateeCall'),
101500     keys = require('./keys');
101501 
101502 
101503 function create(prototype, properties, guard) {
101504   var result = baseCreate(prototype);
101505   if (guard && isIterateeCall(prototype, properties, guard)) {
101506     properties = null;
101507   }
101508   return properties ? baseCopy(properties, result, keys(properties)) : result;
101509 }
101510 
101511 module.exports = create;
101512 
101513 },{"../internal/baseCopy":295,"../internal/baseCreate":296,"../internal/isIterateeCall":317,"./keys":334}],334:[function(require,module,exports){
101514 var isLength = require('../internal/isLength'),
101515     isNative = require('../lang/isNative'),
101516     isObject = require('../lang/isObject'),
101517     shimKeys = require('../internal/shimKeys');
101518 
101519 
101520 var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
101521 
101522 
101523 var keys = !nativeKeys ? shimKeys : function(object) {
101524   if (object) {
101525     var Ctor = object.constructor,
101526         length = object.length;
101527   }
101528   if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
101529       (typeof object != 'function' && (length && isLength(length)))) {
101530     return shimKeys(object);
101531   }
101532   return isObject(object) ? nativeKeys(object) : [];
101533 };
101534 
101535 module.exports = keys;
101536 
101537 },{"../internal/isLength":318,"../internal/shimKeys":322,"../lang/isNative":328,"../lang/isObject":329}],335:[function(require,module,exports){
101538 var isArguments = require('../lang/isArguments'),
101539     isArray = require('../lang/isArray'),
101540     isIndex = require('../internal/isIndex'),
101541     isLength = require('../internal/isLength'),
101542     isObject = require('../lang/isObject'),
101543     support = require('../support');
101544 
101545 
101546 var objectProto = Object.prototype;
101547 
101548 
101549 var hasOwnProperty = objectProto.hasOwnProperty;
101550 
101551 
101552 function keysIn(object) {
101553   if (object == null) {
101554     return [];
101555   }
101556   if (!isObject(object)) {
101557     object = Object(object);
101558   }
101559   var length = object.length;
101560   length = (length && isLength(length) &&
101561     (isArray(object) || (support.nonEnumArgs && isArguments(object))) && length) || 0;
101562 
101563   var Ctor = object.constructor,
101564       index = -1,
101565       isProto = typeof Ctor == 'function' && Ctor.prototype === object,
101566       result = Array(length),
101567       skipIndexes = length > 0;
101568 
101569   while (++index < length) {
101570     result[index] = (index + '');
101571   }
101572   for (var key in object) {
101573     if (!(skipIndexes && isIndex(key, length)) &&
101574         !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
101575       result.push(key);
101576     }
101577   }
101578   return result;
101579 }
101580 
101581 module.exports = keysIn;
101582 
101583 },{"../internal/isIndex":316,"../internal/isLength":318,"../lang/isArguments":324,"../lang/isArray":325,"../lang/isObject":329,"../support":337}],336:[function(require,module,exports){
101584 var baseToString = require('../internal/baseToString');
101585 
101586 
101587 var reRegExpChars = /[.*+?^${}()|[\]\/\\]/g,
101588     reHasRegExpChars = RegExp(reRegExpChars.source);
101589 
101590 
101591 function escapeRegExp(string) {
101592   string = baseToString(string);
101593   return (string && reHasRegExpChars.test(string))
101594     ? string.replace(reRegExpChars, '\\{body}amp;')
101595     : string;
101596 }
101597 
101598 module.exports = escapeRegExp;
101599 
101600 },{"../internal/baseToString":309}],337:[function(require,module,exports){
101601 (function (global){
101602 var isNative = require('./lang/isNative');
101603 
101604 
101605 var reThis = /\bthis\b/;
101606 
101607 
101608 var objectProto = Object.prototype;
101609 
101610 
101611 var document = (document = global.window) && document.document;
101612 
101613 
101614 var propertyIsEnumerable = objectProto.propertyIsEnumerable;
101615 
101616 
101617 var support = {};
101618 
101619 (function(x) {
101620 
101621 
101622   support.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });
101623 
101624 
101625   support.funcNames = typeof Function.name == 'string';
101626 
101627 
101628   try {
101629     support.dom = document.createDocumentFragment().nodeType === 11;
101630   } catch(e) {
101631     support.dom = false;
101632   }
101633 
101634 
101635   try {
101636     support.nonEnumArgs = !propertyIsEnumerable.call(arguments, 1);
101637   } catch(e) {
101638     support.nonEnumArgs = true;
101639   }
101640 }(0, 0));
101641 
101642 module.exports = support;
101643 
101644 }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
101645 },{"./lang/isNative":328}],338:[function(require,module,exports){
101646 
101647 function identity(value) {
101648   return value;
101649 }
101650 
101651 module.exports = identity;
101652 
101653 },{}],339:[function(require,module,exports){
101654 require('./browser_loader');
101655 
101656 var AWS = require('./core');
101657 
101658 if (typeof window !== 'undefined') window.AWS = AWS;
101659 if (typeof module !== 'undefined') module.exports = AWS;
101660 if (typeof self !== 'undefined') self.AWS = AWS;
101661 
101662 
101663 require('../clients/browser_default');
101664 },{"../clients/browser_default":132,"./browser_loader":186,"./core":189}]},{},[339]);
101665