git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

apigateway.d.ts (132680B)


      1 import {Request} from '../lib/request';
      2 import {Response} from '../lib/response';
      3 import {AWSError} from '../lib/error';
      4 import {Service} from '../lib/service';
      5 import {ServiceConfigurationOptions} from '../lib/service';
      6 import {ConfigBase as Config} from '../lib/config';
      7 interface Blob {}
      8 declare class APIGateway extends Service {
      9   /**
     10    * Constructs a service object. This object has one method for each API operation.
     11    */
     12   constructor(options?: APIGateway.Types.ClientConfiguration)
     13   config: Config & APIGateway.Types.ClientConfiguration;
     14   /**
     15    * Create an ApiKey resource.  AWS CLI
     16    */
     17   createApiKey(params: APIGateway.Types.CreateApiKeyRequest, callback?: (err: AWSError, data: APIGateway.Types.ApiKey) => void): Request<APIGateway.Types.ApiKey, AWSError>;
     18   /**
     19    * Create an ApiKey resource.  AWS CLI
     20    */
     21   createApiKey(callback?: (err: AWSError, data: APIGateway.Types.ApiKey) => void): Request<APIGateway.Types.ApiKey, AWSError>;
     22   /**
     23    * Adds a new Authorizer resource to an existing RestApi resource. AWS CLI
     24    */
     25   createAuthorizer(params: APIGateway.Types.CreateAuthorizerRequest, callback?: (err: AWSError, data: APIGateway.Types.Authorizer) => void): Request<APIGateway.Types.Authorizer, AWSError>;
     26   /**
     27    * Adds a new Authorizer resource to an existing RestApi resource. AWS CLI
     28    */
     29   createAuthorizer(callback?: (err: AWSError, data: APIGateway.Types.Authorizer) => void): Request<APIGateway.Types.Authorizer, AWSError>;
     30   /**
     31    * Creates a new BasePathMapping resource.
     32    */
     33   createBasePathMapping(params: APIGateway.Types.CreateBasePathMappingRequest, callback?: (err: AWSError, data: APIGateway.Types.BasePathMapping) => void): Request<APIGateway.Types.BasePathMapping, AWSError>;
     34   /**
     35    * Creates a new BasePathMapping resource.
     36    */
     37   createBasePathMapping(callback?: (err: AWSError, data: APIGateway.Types.BasePathMapping) => void): Request<APIGateway.Types.BasePathMapping, AWSError>;
     38   /**
     39    * Creates a Deployment resource, which makes a specified RestApi callable over the internet.
     40    */
     41   createDeployment(params: APIGateway.Types.CreateDeploymentRequest, callback?: (err: AWSError, data: APIGateway.Types.Deployment) => void): Request<APIGateway.Types.Deployment, AWSError>;
     42   /**
     43    * Creates a Deployment resource, which makes a specified RestApi callable over the internet.
     44    */
     45   createDeployment(callback?: (err: AWSError, data: APIGateway.Types.Deployment) => void): Request<APIGateway.Types.Deployment, AWSError>;
     46   /**
     47    * Creates a new domain name.
     48    */
     49   createDomainName(params: APIGateway.Types.CreateDomainNameRequest, callback?: (err: AWSError, data: APIGateway.Types.DomainName) => void): Request<APIGateway.Types.DomainName, AWSError>;
     50   /**
     51    * Creates a new domain name.
     52    */
     53   createDomainName(callback?: (err: AWSError, data: APIGateway.Types.DomainName) => void): Request<APIGateway.Types.DomainName, AWSError>;
     54   /**
     55    * Adds a new Model resource to an existing RestApi resource.
     56    */
     57   createModel(params: APIGateway.Types.CreateModelRequest, callback?: (err: AWSError, data: APIGateway.Types.Model) => void): Request<APIGateway.Types.Model, AWSError>;
     58   /**
     59    * Adds a new Model resource to an existing RestApi resource.
     60    */
     61   createModel(callback?: (err: AWSError, data: APIGateway.Types.Model) => void): Request<APIGateway.Types.Model, AWSError>;
     62   /**
     63    * Creates a Resource resource.
     64    */
     65   createResource(params: APIGateway.Types.CreateResourceRequest, callback?: (err: AWSError, data: APIGateway.Types.Resource) => void): Request<APIGateway.Types.Resource, AWSError>;
     66   /**
     67    * Creates a Resource resource.
     68    */
     69   createResource(callback?: (err: AWSError, data: APIGateway.Types.Resource) => void): Request<APIGateway.Types.Resource, AWSError>;
     70   /**
     71    * Creates a new RestApi resource.
     72    */
     73   createRestApi(params: APIGateway.Types.CreateRestApiRequest, callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
     74   /**
     75    * Creates a new RestApi resource.
     76    */
     77   createRestApi(callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
     78   /**
     79    * Creates a new Stage resource that references a pre-existing Deployment for the API. 
     80    */
     81   createStage(params: APIGateway.Types.CreateStageRequest, callback?: (err: AWSError, data: APIGateway.Types.Stage) => void): Request<APIGateway.Types.Stage, AWSError>;
     82   /**
     83    * Creates a new Stage resource that references a pre-existing Deployment for the API. 
     84    */
     85   createStage(callback?: (err: AWSError, data: APIGateway.Types.Stage) => void): Request<APIGateway.Types.Stage, AWSError>;
     86   /**
     87    * Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload. 
     88    */
     89   createUsagePlan(params: APIGateway.Types.CreateUsagePlanRequest, callback?: (err: AWSError, data: APIGateway.Types.UsagePlan) => void): Request<APIGateway.Types.UsagePlan, AWSError>;
     90   /**
     91    * Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload. 
     92    */
     93   createUsagePlan(callback?: (err: AWSError, data: APIGateway.Types.UsagePlan) => void): Request<APIGateway.Types.UsagePlan, AWSError>;
     94   /**
     95    * Creates a usage plan key for adding an existing API key to a usage plan.
     96    */
     97   createUsagePlanKey(params: APIGateway.Types.CreateUsagePlanKeyRequest, callback?: (err: AWSError, data: APIGateway.Types.UsagePlanKey) => void): Request<APIGateway.Types.UsagePlanKey, AWSError>;
     98   /**
     99    * Creates a usage plan key for adding an existing API key to a usage plan.
    100    */
    101   createUsagePlanKey(callback?: (err: AWSError, data: APIGateway.Types.UsagePlanKey) => void): Request<APIGateway.Types.UsagePlanKey, AWSError>;
    102   /**
    103    * Deletes the ApiKey resource.
    104    */
    105   deleteApiKey(params: APIGateway.Types.DeleteApiKeyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    106   /**
    107    * Deletes the ApiKey resource.
    108    */
    109   deleteApiKey(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    110   /**
    111    * Deletes an existing Authorizer resource. AWS CLI
    112    */
    113   deleteAuthorizer(params: APIGateway.Types.DeleteAuthorizerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    114   /**
    115    * Deletes an existing Authorizer resource. AWS CLI
    116    */
    117   deleteAuthorizer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    118   /**
    119    * Deletes the BasePathMapping resource.
    120    */
    121   deleteBasePathMapping(params: APIGateway.Types.DeleteBasePathMappingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    122   /**
    123    * Deletes the BasePathMapping resource.
    124    */
    125   deleteBasePathMapping(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    126   /**
    127    * Deletes the ClientCertificate resource.
    128    */
    129   deleteClientCertificate(params: APIGateway.Types.DeleteClientCertificateRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    130   /**
    131    * Deletes the ClientCertificate resource.
    132    */
    133   deleteClientCertificate(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    134   /**
    135    * Deletes a Deployment resource. Deleting a deployment will only succeed if there are no Stage resources associated with it.
    136    */
    137   deleteDeployment(params: APIGateway.Types.DeleteDeploymentRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    138   /**
    139    * Deletes a Deployment resource. Deleting a deployment will only succeed if there are no Stage resources associated with it.
    140    */
    141   deleteDeployment(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    142   /**
    143    * Deletes the DomainName resource.
    144    */
    145   deleteDomainName(params: APIGateway.Types.DeleteDomainNameRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    146   /**
    147    * Deletes the DomainName resource.
    148    */
    149   deleteDomainName(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    150   /**
    151    * Represents a delete integration.
    152    */
    153   deleteIntegration(params: APIGateway.Types.DeleteIntegrationRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    154   /**
    155    * Represents a delete integration.
    156    */
    157   deleteIntegration(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    158   /**
    159    * Represents a delete integration response.
    160    */
    161   deleteIntegrationResponse(params: APIGateway.Types.DeleteIntegrationResponseRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    162   /**
    163    * Represents a delete integration response.
    164    */
    165   deleteIntegrationResponse(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    166   /**
    167    * Deletes an existing Method resource.
    168    */
    169   deleteMethod(params: APIGateway.Types.DeleteMethodRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    170   /**
    171    * Deletes an existing Method resource.
    172    */
    173   deleteMethod(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    174   /**
    175    * Deletes an existing MethodResponse resource.
    176    */
    177   deleteMethodResponse(params: APIGateway.Types.DeleteMethodResponseRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    178   /**
    179    * Deletes an existing MethodResponse resource.
    180    */
    181   deleteMethodResponse(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    182   /**
    183    * Deletes a model.
    184    */
    185   deleteModel(params: APIGateway.Types.DeleteModelRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    186   /**
    187    * Deletes a model.
    188    */
    189   deleteModel(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    190   /**
    191    * Deletes a Resource resource.
    192    */
    193   deleteResource(params: APIGateway.Types.DeleteResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    194   /**
    195    * Deletes a Resource resource.
    196    */
    197   deleteResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    198   /**
    199    * Deletes the specified API.
    200    */
    201   deleteRestApi(params: APIGateway.Types.DeleteRestApiRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    202   /**
    203    * Deletes the specified API.
    204    */
    205   deleteRestApi(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    206   /**
    207    * Deletes a Stage resource.
    208    */
    209   deleteStage(params: APIGateway.Types.DeleteStageRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    210   /**
    211    * Deletes a Stage resource.
    212    */
    213   deleteStage(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    214   /**
    215    * Deletes a usage plan of a given plan Id.
    216    */
    217   deleteUsagePlan(params: APIGateway.Types.DeleteUsagePlanRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    218   /**
    219    * Deletes a usage plan of a given plan Id.
    220    */
    221   deleteUsagePlan(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    222   /**
    223    * Deletes a usage plan key and remove the underlying API key from the associated usage plan.
    224    */
    225   deleteUsagePlanKey(params: APIGateway.Types.DeleteUsagePlanKeyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    226   /**
    227    * Deletes a usage plan key and remove the underlying API key from the associated usage plan.
    228    */
    229   deleteUsagePlanKey(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    230   /**
    231    * Flushes all authorizer cache entries on a stage.
    232    */
    233   flushStageAuthorizersCache(params: APIGateway.Types.FlushStageAuthorizersCacheRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    234   /**
    235    * Flushes all authorizer cache entries on a stage.
    236    */
    237   flushStageAuthorizersCache(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    238   /**
    239    * Flushes a stage's cache.
    240    */
    241   flushStageCache(params: APIGateway.Types.FlushStageCacheRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    242   /**
    243    * Flushes a stage's cache.
    244    */
    245   flushStageCache(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    246   /**
    247    * Generates a ClientCertificate resource.
    248    */
    249   generateClientCertificate(params: APIGateway.Types.GenerateClientCertificateRequest, callback?: (err: AWSError, data: APIGateway.Types.ClientCertificate) => void): Request<APIGateway.Types.ClientCertificate, AWSError>;
    250   /**
    251    * Generates a ClientCertificate resource.
    252    */
    253   generateClientCertificate(callback?: (err: AWSError, data: APIGateway.Types.ClientCertificate) => void): Request<APIGateway.Types.ClientCertificate, AWSError>;
    254   /**
    255    * Gets information about the current Account resource.
    256    */
    257   getAccount(params: APIGateway.Types.GetAccountRequest, callback?: (err: AWSError, data: APIGateway.Types.Account) => void): Request<APIGateway.Types.Account, AWSError>;
    258   /**
    259    * Gets information about the current Account resource.
    260    */
    261   getAccount(callback?: (err: AWSError, data: APIGateway.Types.Account) => void): Request<APIGateway.Types.Account, AWSError>;
    262   /**
    263    * Gets information about the current ApiKey resource.
    264    */
    265   getApiKey(params: APIGateway.Types.GetApiKeyRequest, callback?: (err: AWSError, data: APIGateway.Types.ApiKey) => void): Request<APIGateway.Types.ApiKey, AWSError>;
    266   /**
    267    * Gets information about the current ApiKey resource.
    268    */
    269   getApiKey(callback?: (err: AWSError, data: APIGateway.Types.ApiKey) => void): Request<APIGateway.Types.ApiKey, AWSError>;
    270   /**
    271    * Gets information about the current ApiKeys resource.
    272    */
    273   getApiKeys(params: APIGateway.Types.GetApiKeysRequest, callback?: (err: AWSError, data: APIGateway.Types.ApiKeys) => void): Request<APIGateway.Types.ApiKeys, AWSError>;
    274   /**
    275    * Gets information about the current ApiKeys resource.
    276    */
    277   getApiKeys(callback?: (err: AWSError, data: APIGateway.Types.ApiKeys) => void): Request<APIGateway.Types.ApiKeys, AWSError>;
    278   /**
    279    * Describe an existing Authorizer resource. AWS CLI
    280    */
    281   getAuthorizer(params: APIGateway.Types.GetAuthorizerRequest, callback?: (err: AWSError, data: APIGateway.Types.Authorizer) => void): Request<APIGateway.Types.Authorizer, AWSError>;
    282   /**
    283    * Describe an existing Authorizer resource. AWS CLI
    284    */
    285   getAuthorizer(callback?: (err: AWSError, data: APIGateway.Types.Authorizer) => void): Request<APIGateway.Types.Authorizer, AWSError>;
    286   /**
    287    * Describe an existing Authorizers resource. AWS CLI
    288    */
    289   getAuthorizers(params: APIGateway.Types.GetAuthorizersRequest, callback?: (err: AWSError, data: APIGateway.Types.Authorizers) => void): Request<APIGateway.Types.Authorizers, AWSError>;
    290   /**
    291    * Describe an existing Authorizers resource. AWS CLI
    292    */
    293   getAuthorizers(callback?: (err: AWSError, data: APIGateway.Types.Authorizers) => void): Request<APIGateway.Types.Authorizers, AWSError>;
    294   /**
    295    * Describe a BasePathMapping resource.
    296    */
    297   getBasePathMapping(params: APIGateway.Types.GetBasePathMappingRequest, callback?: (err: AWSError, data: APIGateway.Types.BasePathMapping) => void): Request<APIGateway.Types.BasePathMapping, AWSError>;
    298   /**
    299    * Describe a BasePathMapping resource.
    300    */
    301   getBasePathMapping(callback?: (err: AWSError, data: APIGateway.Types.BasePathMapping) => void): Request<APIGateway.Types.BasePathMapping, AWSError>;
    302   /**
    303    * Represents a collection of BasePathMapping resources.
    304    */
    305   getBasePathMappings(params: APIGateway.Types.GetBasePathMappingsRequest, callback?: (err: AWSError, data: APIGateway.Types.BasePathMappings) => void): Request<APIGateway.Types.BasePathMappings, AWSError>;
    306   /**
    307    * Represents a collection of BasePathMapping resources.
    308    */
    309   getBasePathMappings(callback?: (err: AWSError, data: APIGateway.Types.BasePathMappings) => void): Request<APIGateway.Types.BasePathMappings, AWSError>;
    310   /**
    311    * Gets information about the current ClientCertificate resource.
    312    */
    313   getClientCertificate(params: APIGateway.Types.GetClientCertificateRequest, callback?: (err: AWSError, data: APIGateway.Types.ClientCertificate) => void): Request<APIGateway.Types.ClientCertificate, AWSError>;
    314   /**
    315    * Gets information about the current ClientCertificate resource.
    316    */
    317   getClientCertificate(callback?: (err: AWSError, data: APIGateway.Types.ClientCertificate) => void): Request<APIGateway.Types.ClientCertificate, AWSError>;
    318   /**
    319    * Gets a collection of ClientCertificate resources.
    320    */
    321   getClientCertificates(params: APIGateway.Types.GetClientCertificatesRequest, callback?: (err: AWSError, data: APIGateway.Types.ClientCertificates) => void): Request<APIGateway.Types.ClientCertificates, AWSError>;
    322   /**
    323    * Gets a collection of ClientCertificate resources.
    324    */
    325   getClientCertificates(callback?: (err: AWSError, data: APIGateway.Types.ClientCertificates) => void): Request<APIGateway.Types.ClientCertificates, AWSError>;
    326   /**
    327    * Gets information about a Deployment resource.
    328    */
    329   getDeployment(params: APIGateway.Types.GetDeploymentRequest, callback?: (err: AWSError, data: APIGateway.Types.Deployment) => void): Request<APIGateway.Types.Deployment, AWSError>;
    330   /**
    331    * Gets information about a Deployment resource.
    332    */
    333   getDeployment(callback?: (err: AWSError, data: APIGateway.Types.Deployment) => void): Request<APIGateway.Types.Deployment, AWSError>;
    334   /**
    335    * Gets information about a Deployments collection.
    336    */
    337   getDeployments(params: APIGateway.Types.GetDeploymentsRequest, callback?: (err: AWSError, data: APIGateway.Types.Deployments) => void): Request<APIGateway.Types.Deployments, AWSError>;
    338   /**
    339    * Gets information about a Deployments collection.
    340    */
    341   getDeployments(callback?: (err: AWSError, data: APIGateway.Types.Deployments) => void): Request<APIGateway.Types.Deployments, AWSError>;
    342   /**
    343    * Represents a domain name that is contained in a simpler, more intuitive URL that can be called.
    344    */
    345   getDomainName(params: APIGateway.Types.GetDomainNameRequest, callback?: (err: AWSError, data: APIGateway.Types.DomainName) => void): Request<APIGateway.Types.DomainName, AWSError>;
    346   /**
    347    * Represents a domain name that is contained in a simpler, more intuitive URL that can be called.
    348    */
    349   getDomainName(callback?: (err: AWSError, data: APIGateway.Types.DomainName) => void): Request<APIGateway.Types.DomainName, AWSError>;
    350   /**
    351    * Represents a collection of DomainName resources.
    352    */
    353   getDomainNames(params: APIGateway.Types.GetDomainNamesRequest, callback?: (err: AWSError, data: APIGateway.Types.DomainNames) => void): Request<APIGateway.Types.DomainNames, AWSError>;
    354   /**
    355    * Represents a collection of DomainName resources.
    356    */
    357   getDomainNames(callback?: (err: AWSError, data: APIGateway.Types.DomainNames) => void): Request<APIGateway.Types.DomainNames, AWSError>;
    358   /**
    359    * Exports a deployed version of a RestApi in a specified format.
    360    */
    361   getExport(params: APIGateway.Types.GetExportRequest, callback?: (err: AWSError, data: APIGateway.Types.ExportResponse) => void): Request<APIGateway.Types.ExportResponse, AWSError>;
    362   /**
    363    * Exports a deployed version of a RestApi in a specified format.
    364    */
    365   getExport(callback?: (err: AWSError, data: APIGateway.Types.ExportResponse) => void): Request<APIGateway.Types.ExportResponse, AWSError>;
    366   /**
    367    * Represents a get integration.
    368    */
    369   getIntegration(params: APIGateway.Types.GetIntegrationRequest, callback?: (err: AWSError, data: APIGateway.Types.Integration) => void): Request<APIGateway.Types.Integration, AWSError>;
    370   /**
    371    * Represents a get integration.
    372    */
    373   getIntegration(callback?: (err: AWSError, data: APIGateway.Types.Integration) => void): Request<APIGateway.Types.Integration, AWSError>;
    374   /**
    375    * Represents a get integration response.
    376    */
    377   getIntegrationResponse(params: APIGateway.Types.GetIntegrationResponseRequest, callback?: (err: AWSError, data: APIGateway.Types.IntegrationResponse) => void): Request<APIGateway.Types.IntegrationResponse, AWSError>;
    378   /**
    379    * Represents a get integration response.
    380    */
    381   getIntegrationResponse(callback?: (err: AWSError, data: APIGateway.Types.IntegrationResponse) => void): Request<APIGateway.Types.IntegrationResponse, AWSError>;
    382   /**
    383    * Describe an existing Method resource.
    384    */
    385   getMethod(params: APIGateway.Types.GetMethodRequest, callback?: (err: AWSError, data: APIGateway.Types.Method) => void): Request<APIGateway.Types.Method, AWSError>;
    386   /**
    387    * Describe an existing Method resource.
    388    */
    389   getMethod(callback?: (err: AWSError, data: APIGateway.Types.Method) => void): Request<APIGateway.Types.Method, AWSError>;
    390   /**
    391    * Describes a MethodResponse resource.
    392    */
    393   getMethodResponse(params: APIGateway.Types.GetMethodResponseRequest, callback?: (err: AWSError, data: APIGateway.Types.MethodResponse) => void): Request<APIGateway.Types.MethodResponse, AWSError>;
    394   /**
    395    * Describes a MethodResponse resource.
    396    */
    397   getMethodResponse(callback?: (err: AWSError, data: APIGateway.Types.MethodResponse) => void): Request<APIGateway.Types.MethodResponse, AWSError>;
    398   /**
    399    * Describes an existing model defined for a RestApi resource.
    400    */
    401   getModel(params: APIGateway.Types.GetModelRequest, callback?: (err: AWSError, data: APIGateway.Types.Model) => void): Request<APIGateway.Types.Model, AWSError>;
    402   /**
    403    * Describes an existing model defined for a RestApi resource.
    404    */
    405   getModel(callback?: (err: AWSError, data: APIGateway.Types.Model) => void): Request<APIGateway.Types.Model, AWSError>;
    406   /**
    407    * Generates a sample mapping template that can be used to transform a payload into the structure of a model.
    408    */
    409   getModelTemplate(params: APIGateway.Types.GetModelTemplateRequest, callback?: (err: AWSError, data: APIGateway.Types.Template) => void): Request<APIGateway.Types.Template, AWSError>;
    410   /**
    411    * Generates a sample mapping template that can be used to transform a payload into the structure of a model.
    412    */
    413   getModelTemplate(callback?: (err: AWSError, data: APIGateway.Types.Template) => void): Request<APIGateway.Types.Template, AWSError>;
    414   /**
    415    * Describes existing Models defined for a RestApi resource.
    416    */
    417   getModels(params: APIGateway.Types.GetModelsRequest, callback?: (err: AWSError, data: APIGateway.Types.Models) => void): Request<APIGateway.Types.Models, AWSError>;
    418   /**
    419    * Describes existing Models defined for a RestApi resource.
    420    */
    421   getModels(callback?: (err: AWSError, data: APIGateway.Types.Models) => void): Request<APIGateway.Types.Models, AWSError>;
    422   /**
    423    * Lists information about a resource.
    424    */
    425   getResource(params: APIGateway.Types.GetResourceRequest, callback?: (err: AWSError, data: APIGateway.Types.Resource) => void): Request<APIGateway.Types.Resource, AWSError>;
    426   /**
    427    * Lists information about a resource.
    428    */
    429   getResource(callback?: (err: AWSError, data: APIGateway.Types.Resource) => void): Request<APIGateway.Types.Resource, AWSError>;
    430   /**
    431    * Lists information about a collection of Resource resources.
    432    */
    433   getResources(params: APIGateway.Types.GetResourcesRequest, callback?: (err: AWSError, data: APIGateway.Types.Resources) => void): Request<APIGateway.Types.Resources, AWSError>;
    434   /**
    435    * Lists information about a collection of Resource resources.
    436    */
    437   getResources(callback?: (err: AWSError, data: APIGateway.Types.Resources) => void): Request<APIGateway.Types.Resources, AWSError>;
    438   /**
    439    * Lists the RestApi resource in the collection.
    440    */
    441   getRestApi(params: APIGateway.Types.GetRestApiRequest, callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    442   /**
    443    * Lists the RestApi resource in the collection.
    444    */
    445   getRestApi(callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    446   /**
    447    * Lists the RestApis resources for your collection.
    448    */
    449   getRestApis(params: APIGateway.Types.GetRestApisRequest, callback?: (err: AWSError, data: APIGateway.Types.RestApis) => void): Request<APIGateway.Types.RestApis, AWSError>;
    450   /**
    451    * Lists the RestApis resources for your collection.
    452    */
    453   getRestApis(callback?: (err: AWSError, data: APIGateway.Types.RestApis) => void): Request<APIGateway.Types.RestApis, AWSError>;
    454   /**
    455    * Generates a client SDK for a RestApi and Stage.
    456    */
    457   getSdk(params: APIGateway.Types.GetSdkRequest, callback?: (err: AWSError, data: APIGateway.Types.SdkResponse) => void): Request<APIGateway.Types.SdkResponse, AWSError>;
    458   /**
    459    * Generates a client SDK for a RestApi and Stage.
    460    */
    461   getSdk(callback?: (err: AWSError, data: APIGateway.Types.SdkResponse) => void): Request<APIGateway.Types.SdkResponse, AWSError>;
    462   /**
    463    * Gets information about a Stage resource.
    464    */
    465   getStage(params: APIGateway.Types.GetStageRequest, callback?: (err: AWSError, data: APIGateway.Types.Stage) => void): Request<APIGateway.Types.Stage, AWSError>;
    466   /**
    467    * Gets information about a Stage resource.
    468    */
    469   getStage(callback?: (err: AWSError, data: APIGateway.Types.Stage) => void): Request<APIGateway.Types.Stage, AWSError>;
    470   /**
    471    * Gets information about one or more Stage resources.
    472    */
    473   getStages(params: APIGateway.Types.GetStagesRequest, callback?: (err: AWSError, data: APIGateway.Types.Stages) => void): Request<APIGateway.Types.Stages, AWSError>;
    474   /**
    475    * Gets information about one or more Stage resources.
    476    */
    477   getStages(callback?: (err: AWSError, data: APIGateway.Types.Stages) => void): Request<APIGateway.Types.Stages, AWSError>;
    478   /**
    479    * Gets the usage data of a usage plan in a specified time interval.
    480    */
    481   getUsage(params: APIGateway.Types.GetUsageRequest, callback?: (err: AWSError, data: APIGateway.Types.Usage) => void): Request<APIGateway.Types.Usage, AWSError>;
    482   /**
    483    * Gets the usage data of a usage plan in a specified time interval.
    484    */
    485   getUsage(callback?: (err: AWSError, data: APIGateway.Types.Usage) => void): Request<APIGateway.Types.Usage, AWSError>;
    486   /**
    487    * Gets a usage plan of a given plan identifier.
    488    */
    489   getUsagePlan(params: APIGateway.Types.GetUsagePlanRequest, callback?: (err: AWSError, data: APIGateway.Types.UsagePlan) => void): Request<APIGateway.Types.UsagePlan, AWSError>;
    490   /**
    491    * Gets a usage plan of a given plan identifier.
    492    */
    493   getUsagePlan(callback?: (err: AWSError, data: APIGateway.Types.UsagePlan) => void): Request<APIGateway.Types.UsagePlan, AWSError>;
    494   /**
    495    * Gets a usage plan key of a given key identifier.
    496    */
    497   getUsagePlanKey(params: APIGateway.Types.GetUsagePlanKeyRequest, callback?: (err: AWSError, data: APIGateway.Types.UsagePlanKey) => void): Request<APIGateway.Types.UsagePlanKey, AWSError>;
    498   /**
    499    * Gets a usage plan key of a given key identifier.
    500    */
    501   getUsagePlanKey(callback?: (err: AWSError, data: APIGateway.Types.UsagePlanKey) => void): Request<APIGateway.Types.UsagePlanKey, AWSError>;
    502   /**
    503    * Gets all the usage plan keys representing the API keys added to a specified usage plan.
    504    */
    505   getUsagePlanKeys(params: APIGateway.Types.GetUsagePlanKeysRequest, callback?: (err: AWSError, data: APIGateway.Types.UsagePlanKeys) => void): Request<APIGateway.Types.UsagePlanKeys, AWSError>;
    506   /**
    507    * Gets all the usage plan keys representing the API keys added to a specified usage plan.
    508    */
    509   getUsagePlanKeys(callback?: (err: AWSError, data: APIGateway.Types.UsagePlanKeys) => void): Request<APIGateway.Types.UsagePlanKeys, AWSError>;
    510   /**
    511    * Gets all the usage plans of the caller's account.
    512    */
    513   getUsagePlans(params: APIGateway.Types.GetUsagePlansRequest, callback?: (err: AWSError, data: APIGateway.Types.UsagePlans) => void): Request<APIGateway.Types.UsagePlans, AWSError>;
    514   /**
    515    * Gets all the usage plans of the caller's account.
    516    */
    517   getUsagePlans(callback?: (err: AWSError, data: APIGateway.Types.UsagePlans) => void): Request<APIGateway.Types.UsagePlans, AWSError>;
    518   /**
    519    * Import API keys from an external source, such as a CSV-formatted file.
    520    */
    521   importApiKeys(params: APIGateway.Types.ImportApiKeysRequest, callback?: (err: AWSError, data: APIGateway.Types.ApiKeyIds) => void): Request<APIGateway.Types.ApiKeyIds, AWSError>;
    522   /**
    523    * Import API keys from an external source, such as a CSV-formatted file.
    524    */
    525   importApiKeys(callback?: (err: AWSError, data: APIGateway.Types.ApiKeyIds) => void): Request<APIGateway.Types.ApiKeyIds, AWSError>;
    526   /**
    527    * A feature of the Amazon API Gateway control service for creating a new API from an external API definition file.
    528    */
    529   importRestApi(params: APIGateway.Types.ImportRestApiRequest, callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    530   /**
    531    * A feature of the Amazon API Gateway control service for creating a new API from an external API definition file.
    532    */
    533   importRestApi(callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    534   /**
    535    * Represents a put integration.
    536    */
    537   putIntegration(params: APIGateway.Types.PutIntegrationRequest, callback?: (err: AWSError, data: APIGateway.Types.Integration) => void): Request<APIGateway.Types.Integration, AWSError>;
    538   /**
    539    * Represents a put integration.
    540    */
    541   putIntegration(callback?: (err: AWSError, data: APIGateway.Types.Integration) => void): Request<APIGateway.Types.Integration, AWSError>;
    542   /**
    543    * Represents a put integration.
    544    */
    545   putIntegrationResponse(params: APIGateway.Types.PutIntegrationResponseRequest, callback?: (err: AWSError, data: APIGateway.Types.IntegrationResponse) => void): Request<APIGateway.Types.IntegrationResponse, AWSError>;
    546   /**
    547    * Represents a put integration.
    548    */
    549   putIntegrationResponse(callback?: (err: AWSError, data: APIGateway.Types.IntegrationResponse) => void): Request<APIGateway.Types.IntegrationResponse, AWSError>;
    550   /**
    551    * Add a method to an existing Resource resource.
    552    */
    553   putMethod(params: APIGateway.Types.PutMethodRequest, callback?: (err: AWSError, data: APIGateway.Types.Method) => void): Request<APIGateway.Types.Method, AWSError>;
    554   /**
    555    * Add a method to an existing Resource resource.
    556    */
    557   putMethod(callback?: (err: AWSError, data: APIGateway.Types.Method) => void): Request<APIGateway.Types.Method, AWSError>;
    558   /**
    559    * Adds a MethodResponse to an existing Method resource.
    560    */
    561   putMethodResponse(params: APIGateway.Types.PutMethodResponseRequest, callback?: (err: AWSError, data: APIGateway.Types.MethodResponse) => void): Request<APIGateway.Types.MethodResponse, AWSError>;
    562   /**
    563    * Adds a MethodResponse to an existing Method resource.
    564    */
    565   putMethodResponse(callback?: (err: AWSError, data: APIGateway.Types.MethodResponse) => void): Request<APIGateway.Types.MethodResponse, AWSError>;
    566   /**
    567    * A feature of the Amazon API Gateway control service for updating an existing API with an input of external API definitions. The update can take the form of merging the supplied definition into the existing API or overwriting the existing API.
    568    */
    569   putRestApi(params: APIGateway.Types.PutRestApiRequest, callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    570   /**
    571    * A feature of the Amazon API Gateway control service for updating an existing API with an input of external API definitions. The update can take the form of merging the supplied definition into the existing API or overwriting the existing API.
    572    */
    573   putRestApi(callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    574   /**
    575    * Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.  Enable custom authorizers 
    576    */
    577   testInvokeAuthorizer(params: APIGateway.Types.TestInvokeAuthorizerRequest, callback?: (err: AWSError, data: APIGateway.Types.TestInvokeAuthorizerResponse) => void): Request<APIGateway.Types.TestInvokeAuthorizerResponse, AWSError>;
    578   /**
    579    * Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.  Enable custom authorizers 
    580    */
    581   testInvokeAuthorizer(callback?: (err: AWSError, data: APIGateway.Types.TestInvokeAuthorizerResponse) => void): Request<APIGateway.Types.TestInvokeAuthorizerResponse, AWSError>;
    582   /**
    583    * Simulate the execution of a Method in your RestApi with headers, parameters, and an incoming request body.
    584    */
    585   testInvokeMethod(params: APIGateway.Types.TestInvokeMethodRequest, callback?: (err: AWSError, data: APIGateway.Types.TestInvokeMethodResponse) => void): Request<APIGateway.Types.TestInvokeMethodResponse, AWSError>;
    586   /**
    587    * Simulate the execution of a Method in your RestApi with headers, parameters, and an incoming request body.
    588    */
    589   testInvokeMethod(callback?: (err: AWSError, data: APIGateway.Types.TestInvokeMethodResponse) => void): Request<APIGateway.Types.TestInvokeMethodResponse, AWSError>;
    590   /**
    591    * Changes information about the current Account resource.
    592    */
    593   updateAccount(params: APIGateway.Types.UpdateAccountRequest, callback?: (err: AWSError, data: APIGateway.Types.Account) => void): Request<APIGateway.Types.Account, AWSError>;
    594   /**
    595    * Changes information about the current Account resource.
    596    */
    597   updateAccount(callback?: (err: AWSError, data: APIGateway.Types.Account) => void): Request<APIGateway.Types.Account, AWSError>;
    598   /**
    599    * Changes information about an ApiKey resource.
    600    */
    601   updateApiKey(params: APIGateway.Types.UpdateApiKeyRequest, callback?: (err: AWSError, data: APIGateway.Types.ApiKey) => void): Request<APIGateway.Types.ApiKey, AWSError>;
    602   /**
    603    * Changes information about an ApiKey resource.
    604    */
    605   updateApiKey(callback?: (err: AWSError, data: APIGateway.Types.ApiKey) => void): Request<APIGateway.Types.ApiKey, AWSError>;
    606   /**
    607    * Updates an existing Authorizer resource. AWS CLI
    608    */
    609   updateAuthorizer(params: APIGateway.Types.UpdateAuthorizerRequest, callback?: (err: AWSError, data: APIGateway.Types.Authorizer) => void): Request<APIGateway.Types.Authorizer, AWSError>;
    610   /**
    611    * Updates an existing Authorizer resource. AWS CLI
    612    */
    613   updateAuthorizer(callback?: (err: AWSError, data: APIGateway.Types.Authorizer) => void): Request<APIGateway.Types.Authorizer, AWSError>;
    614   /**
    615    * Changes information about the BasePathMapping resource.
    616    */
    617   updateBasePathMapping(params: APIGateway.Types.UpdateBasePathMappingRequest, callback?: (err: AWSError, data: APIGateway.Types.BasePathMapping) => void): Request<APIGateway.Types.BasePathMapping, AWSError>;
    618   /**
    619    * Changes information about the BasePathMapping resource.
    620    */
    621   updateBasePathMapping(callback?: (err: AWSError, data: APIGateway.Types.BasePathMapping) => void): Request<APIGateway.Types.BasePathMapping, AWSError>;
    622   /**
    623    * Changes information about an ClientCertificate resource.
    624    */
    625   updateClientCertificate(params: APIGateway.Types.UpdateClientCertificateRequest, callback?: (err: AWSError, data: APIGateway.Types.ClientCertificate) => void): Request<APIGateway.Types.ClientCertificate, AWSError>;
    626   /**
    627    * Changes information about an ClientCertificate resource.
    628    */
    629   updateClientCertificate(callback?: (err: AWSError, data: APIGateway.Types.ClientCertificate) => void): Request<APIGateway.Types.ClientCertificate, AWSError>;
    630   /**
    631    * Changes information about a Deployment resource.
    632    */
    633   updateDeployment(params: APIGateway.Types.UpdateDeploymentRequest, callback?: (err: AWSError, data: APIGateway.Types.Deployment) => void): Request<APIGateway.Types.Deployment, AWSError>;
    634   /**
    635    * Changes information about a Deployment resource.
    636    */
    637   updateDeployment(callback?: (err: AWSError, data: APIGateway.Types.Deployment) => void): Request<APIGateway.Types.Deployment, AWSError>;
    638   /**
    639    * Changes information about the DomainName resource.
    640    */
    641   updateDomainName(params: APIGateway.Types.UpdateDomainNameRequest, callback?: (err: AWSError, data: APIGateway.Types.DomainName) => void): Request<APIGateway.Types.DomainName, AWSError>;
    642   /**
    643    * Changes information about the DomainName resource.
    644    */
    645   updateDomainName(callback?: (err: AWSError, data: APIGateway.Types.DomainName) => void): Request<APIGateway.Types.DomainName, AWSError>;
    646   /**
    647    * Represents an update integration.
    648    */
    649   updateIntegration(params: APIGateway.Types.UpdateIntegrationRequest, callback?: (err: AWSError, data: APIGateway.Types.Integration) => void): Request<APIGateway.Types.Integration, AWSError>;
    650   /**
    651    * Represents an update integration.
    652    */
    653   updateIntegration(callback?: (err: AWSError, data: APIGateway.Types.Integration) => void): Request<APIGateway.Types.Integration, AWSError>;
    654   /**
    655    * Represents an update integration response.
    656    */
    657   updateIntegrationResponse(params: APIGateway.Types.UpdateIntegrationResponseRequest, callback?: (err: AWSError, data: APIGateway.Types.IntegrationResponse) => void): Request<APIGateway.Types.IntegrationResponse, AWSError>;
    658   /**
    659    * Represents an update integration response.
    660    */
    661   updateIntegrationResponse(callback?: (err: AWSError, data: APIGateway.Types.IntegrationResponse) => void): Request<APIGateway.Types.IntegrationResponse, AWSError>;
    662   /**
    663    * Updates an existing Method resource.
    664    */
    665   updateMethod(params: APIGateway.Types.UpdateMethodRequest, callback?: (err: AWSError, data: APIGateway.Types.Method) => void): Request<APIGateway.Types.Method, AWSError>;
    666   /**
    667    * Updates an existing Method resource.
    668    */
    669   updateMethod(callback?: (err: AWSError, data: APIGateway.Types.Method) => void): Request<APIGateway.Types.Method, AWSError>;
    670   /**
    671    * Updates an existing MethodResponse resource.
    672    */
    673   updateMethodResponse(params: APIGateway.Types.UpdateMethodResponseRequest, callback?: (err: AWSError, data: APIGateway.Types.MethodResponse) => void): Request<APIGateway.Types.MethodResponse, AWSError>;
    674   /**
    675    * Updates an existing MethodResponse resource.
    676    */
    677   updateMethodResponse(callback?: (err: AWSError, data: APIGateway.Types.MethodResponse) => void): Request<APIGateway.Types.MethodResponse, AWSError>;
    678   /**
    679    * Changes information about a model.
    680    */
    681   updateModel(params: APIGateway.Types.UpdateModelRequest, callback?: (err: AWSError, data: APIGateway.Types.Model) => void): Request<APIGateway.Types.Model, AWSError>;
    682   /**
    683    * Changes information about a model.
    684    */
    685   updateModel(callback?: (err: AWSError, data: APIGateway.Types.Model) => void): Request<APIGateway.Types.Model, AWSError>;
    686   /**
    687    * Changes information about a Resource resource.
    688    */
    689   updateResource(params: APIGateway.Types.UpdateResourceRequest, callback?: (err: AWSError, data: APIGateway.Types.Resource) => void): Request<APIGateway.Types.Resource, AWSError>;
    690   /**
    691    * Changes information about a Resource resource.
    692    */
    693   updateResource(callback?: (err: AWSError, data: APIGateway.Types.Resource) => void): Request<APIGateway.Types.Resource, AWSError>;
    694   /**
    695    * Changes information about the specified API.
    696    */
    697   updateRestApi(params: APIGateway.Types.UpdateRestApiRequest, callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    698   /**
    699    * Changes information about the specified API.
    700    */
    701   updateRestApi(callback?: (err: AWSError, data: APIGateway.Types.RestApi) => void): Request<APIGateway.Types.RestApi, AWSError>;
    702   /**
    703    * Changes information about a Stage resource.
    704    */
    705   updateStage(params: APIGateway.Types.UpdateStageRequest, callback?: (err: AWSError, data: APIGateway.Types.Stage) => void): Request<APIGateway.Types.Stage, AWSError>;
    706   /**
    707    * Changes information about a Stage resource.
    708    */
    709   updateStage(callback?: (err: AWSError, data: APIGateway.Types.Stage) => void): Request<APIGateway.Types.Stage, AWSError>;
    710   /**
    711    * Grants a temporary extension to the reamining quota of a usage plan associated with a specified API key.
    712    */
    713   updateUsage(params: APIGateway.Types.UpdateUsageRequest, callback?: (err: AWSError, data: APIGateway.Types.Usage) => void): Request<APIGateway.Types.Usage, AWSError>;
    714   /**
    715    * Grants a temporary extension to the reamining quota of a usage plan associated with a specified API key.
    716    */
    717   updateUsage(callback?: (err: AWSError, data: APIGateway.Types.Usage) => void): Request<APIGateway.Types.Usage, AWSError>;
    718   /**
    719    * Updates a usage plan of a given plan Id.
    720    */
    721   updateUsagePlan(params: APIGateway.Types.UpdateUsagePlanRequest, callback?: (err: AWSError, data: APIGateway.Types.UsagePlan) => void): Request<APIGateway.Types.UsagePlan, AWSError>;
    722   /**
    723    * Updates a usage plan of a given plan Id.
    724    */
    725   updateUsagePlan(callback?: (err: AWSError, data: APIGateway.Types.UsagePlan) => void): Request<APIGateway.Types.UsagePlan, AWSError>;
    726 }
    727 declare namespace APIGateway.Types {
    728   export interface Account {
    729     /**
    730      * The ARN of an Amazon CloudWatch role for the current Account. 
    731      */
    732     cloudwatchRoleArn?: String;
    733     /**
    734      * Specifies the API request limits configured for the current Account.
    735      */
    736     throttleSettings?: ThrottleSettings;
    737     /**
    738      * A list of features supported for the account. When usage plans are enabled, the features list will include an entry of "UsagePlans".
    739      */
    740     features?: ListOfString;
    741     /**
    742      * The version of the API keys used for the account.
    743      */
    744     apiKeyVersion?: String;
    745   }
    746   export interface ApiKey {
    747     /**
    748      * The identifier of the API Key.
    749      */
    750     id?: String;
    751     /**
    752      * The value of the API Key.
    753      */
    754     value?: String;
    755     /**
    756      * The name of the API Key.
    757      */
    758     name?: String;
    759     /**
    760      * The description of the API Key.
    761      */
    762     description?: String;
    763     /**
    764      * Specifies whether the API Key can be used by callers.
    765      */
    766     enabled?: Boolean;
    767     /**
    768      * The date when the API Key was created, in ISO 8601 format.
    769      */
    770     createdDate?: Timestamp;
    771     /**
    772      * When the API Key was last updated, in ISO 8601 format.
    773      */
    774     lastUpdatedDate?: Timestamp;
    775     /**
    776      * A list of Stage resources that are associated with the ApiKey resource.
    777      */
    778     stageKeys?: ListOfString;
    779   }
    780   export interface ApiKeyIds {
    781     /**
    782      * A list of all the ApiKey identifiers.
    783      */
    784     ids?: ListOfString;
    785     /**
    786      * A list of warning messages.
    787      */
    788     warnings?: ListOfString;
    789   }
    790   export interface ApiKeys {
    791     /**
    792      * A list of warning messages logged during the import of API keys when the failOnWarnings option is set to true.
    793      */
    794     warnings?: ListOfString;
    795     position?: String;
    796     /**
    797      * The current page of any ApiKey resources in the collection of ApiKey resources.
    798      */
    799     items?: ListOfApiKey;
    800   }
    801   export type ApiKeysFormat = "csv"|string;
    802   export interface ApiStage {
    803     /**
    804      * API Id of the associated API stage in a usage plan.
    805      */
    806     apiId?: String;
    807     /**
    808      * API stage name of the associated API stage in a usage plan.
    809      */
    810     stage?: String;
    811   }
    812   export interface Authorizer {
    813     /**
    814      * The identifier for the authorizer resource.
    815      */
    816     id?: String;
    817     /**
    818      * [Required] The name of the authorizer.
    819      */
    820     name?: String;
    821     /**
    822      * [Required] The type of the authorizer. Currently, the valid type is TOKEN for a Lambda function or COGNITO_USER_POOLS for an Amazon Cognito user pool.
    823      */
    824     type?: AuthorizerType;
    825     /**
    826      * A list of the provider ARNs of the authorizer. For an TOKEN authorizer, this is not defined. For authorizers of the COGNITO_USER_POOLS type, each element corresponds to a user pool ARN of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. 
    827      */
    828     providerARNs?: ListOfARNs;
    829     /**
    830      * Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.
    831      */
    832     authType?: String;
    833     /**
    834      * [Required] Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.
    835      */
    836     authorizerUri?: String;
    837     /**
    838      * Specifies the credentials required for the authorizer, if any. Two options are available. To specify an IAM role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
    839      */
    840     authorizerCredentials?: String;
    841     /**
    842      * [Required] The source of the identity in an incoming request. For a TOKEN authorizer, this value is a mapping expression with the same syntax as integration parameter mappings. The only valid source for tokens is 'header', so the expression should match 'method.request.header.[headerName]'. The value of the header '[headerName]' will be interpreted as the incoming token. For COGNITO_USER_POOLS authorizers, this property is used.
    843      */
    844     identitySource?: String;
    845     /**
    846      * A validation expression for the incoming identity. For TOKEN authorizers, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.
    847      */
    848     identityValidationExpression?: String;
    849     /**
    850      * The TTL in seconds of cached authorizer results. If greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
    851      */
    852     authorizerResultTtlInSeconds?: NullableInteger;
    853   }
    854   export type AuthorizerType = "TOKEN"|"COGNITO_USER_POOLS"|string;
    855   export interface Authorizers {
    856     position?: String;
    857     /**
    858      * Gets the current list of Authorizer resources in the collection.
    859      */
    860     items?: ListOfAuthorizer;
    861   }
    862   export interface BasePathMapping {
    863     /**
    864      * The base path name that callers of the API must provide as part of the URL after the domain name.
    865      */
    866     basePath?: String;
    867     /**
    868      * The name of the API.
    869      */
    870     restApiId?: String;
    871     /**
    872      * The name of the API's stage.
    873      */
    874     stage?: String;
    875   }
    876   export interface BasePathMappings {
    877     position?: String;
    878     /**
    879      * The current page of any BasePathMapping resources in the collection of base path mapping resources.
    880      */
    881     items?: ListOfBasePathMapping;
    882   }
    883   export type _Blob = Buffer|Uint8Array|Blob|string;
    884   export type Boolean = boolean;
    885   export type CacheClusterSize = "0.5"|"1.6"|"6.1"|"13.5"|"28.4"|"58.2"|"118"|"237"|string;
    886   export type CacheClusterStatus = "CREATE_IN_PROGRESS"|"AVAILABLE"|"DELETE_IN_PROGRESS"|"NOT_AVAILABLE"|"FLUSH_IN_PROGRESS"|string;
    887   export interface ClientCertificate {
    888     /**
    889      * The identifier of the client certificate.
    890      */
    891     clientCertificateId?: String;
    892     /**
    893      * The description of the client certificate.
    894      */
    895     description?: String;
    896     /**
    897      * The PEM-encoded public key of the client certificate, which can be used to configure certificate authentication in the integration endpoint .
    898      */
    899     pemEncodedCertificate?: String;
    900     /**
    901      * The date when the client certificate was created, in ISO 8601 format.
    902      */
    903     createdDate?: Timestamp;
    904     /**
    905      * The date when the client certificate will expire, in ISO 8601 format.
    906      */
    907     expirationDate?: Timestamp;
    908   }
    909   export interface ClientCertificates {
    910     position?: String;
    911     /**
    912      * The current page of any ClientCertificate resources in the collection of ClientCertificate resources.
    913      */
    914     items?: ListOfClientCertificate;
    915   }
    916   export type ContentHandlingStrategy = "CONVERT_TO_BINARY"|"CONVERT_TO_TEXT"|string;
    917   export interface CreateApiKeyRequest {
    918     /**
    919      * The name of the ApiKey.
    920      */
    921     name?: String;
    922     /**
    923      * The description of the ApiKey.
    924      */
    925     description?: String;
    926     /**
    927      * Specifies whether the ApiKey can be used by callers.
    928      */
    929     enabled?: Boolean;
    930     /**
    931      * Specifies whether (true) or not (false) the key identifier is distinct from the created API key value.
    932      */
    933     generateDistinctId?: Boolean;
    934     /**
    935      * Specifies a value of the API key.
    936      */
    937     value?: String;
    938     /**
    939      * DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
    940      */
    941     stageKeys?: ListOfStageKeys;
    942   }
    943   export interface CreateAuthorizerRequest {
    944     /**
    945      * The RestApi identifier under which the Authorizer will be created.
    946      */
    947     restApiId: String;
    948     /**
    949      * [Required] The name of the authorizer.
    950      */
    951     name: String;
    952     /**
    953      * [Required] The type of the authorizer.
    954      */
    955     type: AuthorizerType;
    956     /**
    957      * A list of the Cognito Your User Pool authorizer's provider ARNs.
    958      */
    959     providerARNs?: ListOfARNs;
    960     /**
    961      * Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.
    962      */
    963     authType?: String;
    964     /**
    965      * [Required] Specifies the authorizer's Uniform Resource Identifier (URI).
    966      */
    967     authorizerUri?: String;
    968     /**
    969      * Specifies the credentials required for the authorizer, if any.
    970      */
    971     authorizerCredentials?: String;
    972     /**
    973      * [Required] The source of the identity in an incoming request.
    974      */
    975     identitySource: String;
    976     /**
    977      * A validation expression for the incoming identity.
    978      */
    979     identityValidationExpression?: String;
    980     /**
    981      * The TTL of cached authorizer results.
    982      */
    983     authorizerResultTtlInSeconds?: NullableInteger;
    984   }
    985   export interface CreateBasePathMappingRequest {
    986     /**
    987      * The domain name of the BasePathMapping resource to create.
    988      */
    989     domainName: String;
    990     /**
    991      * The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify a base path name after the domain name.
    992      */
    993     basePath?: String;
    994     /**
    995      * The name of the API that you want to apply this mapping to.
    996      */
    997     restApiId: String;
    998     /**
    999      * The name of the API's stage that you want to use for this mapping. Leave this blank if you do not want callers to explicitly specify the stage name after any base path name.
   1000      */
   1001     stage?: String;
   1002   }
   1003   export interface CreateDeploymentRequest {
   1004     /**
   1005      * The RestApi resource identifier for the Deployment resource to create.
   1006      */
   1007     restApiId: String;
   1008     /**
   1009      * The name of the Stage resource for the Deployment resource to create.
   1010      */
   1011     stageName?: String;
   1012     /**
   1013      * The description of the Stage resource for the Deployment resource to create.
   1014      */
   1015     stageDescription?: String;
   1016     /**
   1017      * The description for the Deployment resource to create.
   1018      */
   1019     description?: String;
   1020     /**
   1021      * Enables a cache cluster for the Stage resource specified in the input.
   1022      */
   1023     cacheClusterEnabled?: NullableBoolean;
   1024     /**
   1025      * Specifies the cache cluster size for the Stage resource specified in the input, if a cache cluster is enabled.
   1026      */
   1027     cacheClusterSize?: CacheClusterSize;
   1028     /**
   1029      * A map that defines the stage variables for the Stage resource that is associated with the new deployment. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
   1030      */
   1031     variables?: MapOfStringToString;
   1032   }
   1033   export interface CreateDomainNameRequest {
   1034     /**
   1035      * The name of the DomainName resource.
   1036      */
   1037     domainName: String;
   1038     /**
   1039      * The name of the certificate.
   1040      */
   1041     certificateName: String;
   1042     /**
   1043      * The body of the server certificate provided by your certificate authority.
   1044      */
   1045     certificateBody: String;
   1046     /**
   1047      * Your certificate's private key.
   1048      */
   1049     certificatePrivateKey: String;
   1050     /**
   1051      * The intermediate certificates and optionally the root certificate, one after the other without any blank lines. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.
   1052      */
   1053     certificateChain: String;
   1054   }
   1055   export interface CreateModelRequest {
   1056     /**
   1057      * The RestApi identifier under which the Model will be created.
   1058      */
   1059     restApiId: String;
   1060     /**
   1061      * The name of the model.
   1062      */
   1063     name: String;
   1064     /**
   1065      * The description of the model.
   1066      */
   1067     description?: String;
   1068     /**
   1069      * The schema for the model. For application/json models, this should be JSON-schema draft v4 model.
   1070      */
   1071     schema?: String;
   1072     /**
   1073      * The content-type for the model.
   1074      */
   1075     contentType: String;
   1076   }
   1077   export interface CreateResourceRequest {
   1078     /**
   1079      * The identifier of the RestApi for the resource. 
   1080      */
   1081     restApiId: String;
   1082     /**
   1083      * The parent resource's identifier.
   1084      */
   1085     parentId: String;
   1086     /**
   1087      * The last path segment for this resource.
   1088      */
   1089     pathPart: String;
   1090   }
   1091   export interface CreateRestApiRequest {
   1092     /**
   1093      * The name of the RestApi.
   1094      */
   1095     name: String;
   1096     /**
   1097      * The description of the RestApi.
   1098      */
   1099     description?: String;
   1100     /**
   1101      * The ID of the RestApi that you want to clone from.
   1102      */
   1103     cloneFrom?: String;
   1104     /**
   1105      * The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.
   1106      */
   1107     binaryMediaTypes?: ListOfString;
   1108   }
   1109   export interface CreateStageRequest {
   1110     /**
   1111      * The identifier of the RestApi resource for the Stage resource to create.
   1112      */
   1113     restApiId: String;
   1114     /**
   1115      * The name for the Stage resource.
   1116      */
   1117     stageName: String;
   1118     /**
   1119      * The identifier of the Deployment resource for the Stage resource.
   1120      */
   1121     deploymentId: String;
   1122     /**
   1123      * The description of the Stage resource.
   1124      */
   1125     description?: String;
   1126     /**
   1127      * Whether cache clustering is enabled for the stage.
   1128      */
   1129     cacheClusterEnabled?: Boolean;
   1130     /**
   1131      * The stage's cache cluster size.
   1132      */
   1133     cacheClusterSize?: CacheClusterSize;
   1134     /**
   1135      * A map that defines the stage variables for the new Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
   1136      */
   1137     variables?: MapOfStringToString;
   1138   }
   1139   export interface CreateUsagePlanKeyRequest {
   1140     /**
   1141      * The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.
   1142      */
   1143     usagePlanId: String;
   1144     /**
   1145      * The identifier of a UsagePlanKey resource for a plan customer.
   1146      */
   1147     keyId: String;
   1148     /**
   1149      * The type of a UsagePlanKey resource for a plan customer.
   1150      */
   1151     keyType: String;
   1152   }
   1153   export interface CreateUsagePlanRequest {
   1154     /**
   1155      * The name of the usage plan.
   1156      */
   1157     name: String;
   1158     /**
   1159      * The description of the usage plan.
   1160      */
   1161     description?: String;
   1162     /**
   1163      * The associated API stages of the usage plan.
   1164      */
   1165     apiStages?: ListOfApiStage;
   1166     /**
   1167      * The throttling limits of the usage plan.
   1168      */
   1169     throttle?: ThrottleSettings;
   1170     /**
   1171      * The quota of the usage plan.
   1172      */
   1173     quota?: QuotaSettings;
   1174   }
   1175   export interface DeleteApiKeyRequest {
   1176     /**
   1177      * The identifier of the ApiKey resource to be deleted.
   1178      */
   1179     apiKey: String;
   1180   }
   1181   export interface DeleteAuthorizerRequest {
   1182     /**
   1183      * The RestApi identifier for the Authorizer resource.
   1184      */
   1185     restApiId: String;
   1186     /**
   1187      * The identifier of the Authorizer resource.
   1188      */
   1189     authorizerId: String;
   1190   }
   1191   export interface DeleteBasePathMappingRequest {
   1192     /**
   1193      * The domain name of the BasePathMapping resource to delete.
   1194      */
   1195     domainName: String;
   1196     /**
   1197      * The base path name of the BasePathMapping resource to delete.
   1198      */
   1199     basePath: String;
   1200   }
   1201   export interface DeleteClientCertificateRequest {
   1202     /**
   1203      * The identifier of the ClientCertificate resource to be deleted.
   1204      */
   1205     clientCertificateId: String;
   1206   }
   1207   export interface DeleteDeploymentRequest {
   1208     /**
   1209      * The identifier of the RestApi resource for the Deployment resource to delete.
   1210      */
   1211     restApiId: String;
   1212     /**
   1213      * The identifier of the Deployment resource to delete.
   1214      */
   1215     deploymentId: String;
   1216   }
   1217   export interface DeleteDomainNameRequest {
   1218     /**
   1219      * The name of the DomainName resource to be deleted.
   1220      */
   1221     domainName: String;
   1222   }
   1223   export interface DeleteIntegrationRequest {
   1224     /**
   1225      * Specifies a delete integration request's API identifier.
   1226      */
   1227     restApiId: String;
   1228     /**
   1229      * Specifies a delete integration request's resource identifier.
   1230      */
   1231     resourceId: String;
   1232     /**
   1233      * Specifies a delete integration request's HTTP method.
   1234      */
   1235     httpMethod: String;
   1236   }
   1237   export interface DeleteIntegrationResponseRequest {
   1238     /**
   1239      * Specifies a delete integration response request's API identifier.
   1240      */
   1241     restApiId: String;
   1242     /**
   1243      * Specifies a delete integration response request's resource identifier.
   1244      */
   1245     resourceId: String;
   1246     /**
   1247      * Specifies a delete integration response request's HTTP method.
   1248      */
   1249     httpMethod: String;
   1250     /**
   1251      * Specifies a delete integration response request's status code.
   1252      */
   1253     statusCode: StatusCode;
   1254   }
   1255   export interface DeleteMethodRequest {
   1256     /**
   1257      * The RestApi identifier for the Method resource.
   1258      */
   1259     restApiId: String;
   1260     /**
   1261      * The Resource identifier for the Method resource.
   1262      */
   1263     resourceId: String;
   1264     /**
   1265      * The HTTP verb of the Method resource.
   1266      */
   1267     httpMethod: String;
   1268   }
   1269   export interface DeleteMethodResponseRequest {
   1270     /**
   1271      * The RestApi identifier for the MethodResponse resource.
   1272      */
   1273     restApiId: String;
   1274     /**
   1275      * The Resource identifier for the MethodResponse resource.
   1276      */
   1277     resourceId: String;
   1278     /**
   1279      * The HTTP verb of the Method resource.
   1280      */
   1281     httpMethod: String;
   1282     /**
   1283      * The status code identifier for the MethodResponse resource.
   1284      */
   1285     statusCode: StatusCode;
   1286   }
   1287   export interface DeleteModelRequest {
   1288     /**
   1289      * The RestApi under which the model will be deleted.
   1290      */
   1291     restApiId: String;
   1292     /**
   1293      * The name of the model to delete.
   1294      */
   1295     modelName: String;
   1296   }
   1297   export interface DeleteResourceRequest {
   1298     /**
   1299      * The RestApi identifier for the Resource resource.
   1300      */
   1301     restApiId: String;
   1302     /**
   1303      * The identifier of the Resource resource.
   1304      */
   1305     resourceId: String;
   1306   }
   1307   export interface DeleteRestApiRequest {
   1308     /**
   1309      * The ID of the RestApi you want to delete.
   1310      */
   1311     restApiId: String;
   1312   }
   1313   export interface DeleteStageRequest {
   1314     /**
   1315      * The identifier of the RestApi resource for the Stage resource to delete.
   1316      */
   1317     restApiId: String;
   1318     /**
   1319      * The name of the Stage resource to delete.
   1320      */
   1321     stageName: String;
   1322   }
   1323   export interface DeleteUsagePlanKeyRequest {
   1324     /**
   1325      * The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.
   1326      */
   1327     usagePlanId: String;
   1328     /**
   1329      * The Id of the UsagePlanKey resource to be deleted.
   1330      */
   1331     keyId: String;
   1332   }
   1333   export interface DeleteUsagePlanRequest {
   1334     /**
   1335      * The Id of the to-be-deleted usage plan.
   1336      */
   1337     usagePlanId: String;
   1338   }
   1339   export interface Deployment {
   1340     /**
   1341      * The identifier for the deployment resource.
   1342      */
   1343     id?: String;
   1344     /**
   1345      * The description for the deployment resource.
   1346      */
   1347     description?: String;
   1348     /**
   1349      * The date and time that the deployment resource was created.
   1350      */
   1351     createdDate?: Timestamp;
   1352     /**
   1353      * A summary of the RestApi at the date and time that the deployment resource was created.
   1354      */
   1355     apiSummary?: PathToMapOfMethodSnapshot;
   1356   }
   1357   export interface Deployments {
   1358     position?: String;
   1359     /**
   1360      * The current page of any Deployment resources in the collection of deployment resources.
   1361      */
   1362     items?: ListOfDeployment;
   1363   }
   1364   export interface DomainName {
   1365     /**
   1366      * The name of the DomainName resource.
   1367      */
   1368     domainName?: String;
   1369     /**
   1370      * The name of the certificate.
   1371      */
   1372     certificateName?: String;
   1373     /**
   1374      * The date when the certificate was uploaded, in ISO 8601 format.
   1375      */
   1376     certificateUploadDate?: Timestamp;
   1377     /**
   1378      * The domain name of the Amazon CloudFront distribution. For more information, see the Amazon CloudFront documentation.
   1379      */
   1380     distributionDomainName?: String;
   1381   }
   1382   export interface DomainNames {
   1383     position?: String;
   1384     /**
   1385      * The current page of any DomainName resources in the collection of DomainName resources.
   1386      */
   1387     items?: ListOfDomainName;
   1388   }
   1389   export type Double = number;
   1390   export interface ExportResponse {
   1391     /**
   1392      * The content-type header value in the HTTP response. This will correspond to a valid 'accept' type in the request.
   1393      */
   1394     contentType?: String;
   1395     /**
   1396      * The content-disposition header value in the HTTP response.
   1397      */
   1398     contentDisposition?: String;
   1399     /**
   1400      * The binary blob response to GetExport, which contains the export.
   1401      */
   1402     body?: _Blob;
   1403   }
   1404   export interface FlushStageAuthorizersCacheRequest {
   1405     /**
   1406      * The API identifier of the stage to flush.
   1407      */
   1408     restApiId: String;
   1409     /**
   1410      * The name of the stage to flush.
   1411      */
   1412     stageName: String;
   1413   }
   1414   export interface FlushStageCacheRequest {
   1415     /**
   1416      * The API identifier of the stage to flush its cache.
   1417      */
   1418     restApiId: String;
   1419     /**
   1420      * The name of the stage to flush its cache.
   1421      */
   1422     stageName: String;
   1423   }
   1424   export interface GenerateClientCertificateRequest {
   1425     /**
   1426      * The description of the ClientCertificate.
   1427      */
   1428     description?: String;
   1429   }
   1430   export interface GetAccountRequest {
   1431   }
   1432   export interface GetApiKeyRequest {
   1433     /**
   1434      * The identifier of the ApiKey resource.
   1435      */
   1436     apiKey: String;
   1437     /**
   1438      * A boolean flag to specify whether (true) or not (false) the result contains the key value.
   1439      */
   1440     includeValue?: NullableBoolean;
   1441   }
   1442   export interface GetApiKeysRequest {
   1443     /**
   1444      * The position of the current ApiKeys resource to get information about.
   1445      */
   1446     position?: String;
   1447     /**
   1448      * The maximum number of ApiKeys to get information about.
   1449      */
   1450     limit?: NullableInteger;
   1451     /**
   1452      * The name of queried API keys.
   1453      */
   1454     nameQuery?: String;
   1455     customerId?: String;
   1456     /**
   1457      * A boolean flag to specify whether (true) or not (false) the result contains key values.
   1458      */
   1459     includeValues?: NullableBoolean;
   1460   }
   1461   export interface GetAuthorizerRequest {
   1462     /**
   1463      * The RestApi identifier for the Authorizer resource.
   1464      */
   1465     restApiId: String;
   1466     /**
   1467      * The identifier of the Authorizer resource.
   1468      */
   1469     authorizerId: String;
   1470   }
   1471   export interface GetAuthorizersRequest {
   1472     /**
   1473      * The RestApi identifier for the Authorizers resource.
   1474      */
   1475     restApiId: String;
   1476     /**
   1477      * If not all Authorizer resources in the response were present, the position will specify where to start the next page of results.
   1478      */
   1479     position?: String;
   1480     /**
   1481      * Limit the number of Authorizer resources in the response.
   1482      */
   1483     limit?: NullableInteger;
   1484   }
   1485   export interface GetBasePathMappingRequest {
   1486     /**
   1487      * The domain name of the BasePathMapping resource to be described.
   1488      */
   1489     domainName: String;
   1490     /**
   1491      * The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify any base path name after the domain name.
   1492      */
   1493     basePath: String;
   1494   }
   1495   export interface GetBasePathMappingsRequest {
   1496     /**
   1497      * The domain name of a BasePathMapping resource.
   1498      */
   1499     domainName: String;
   1500     /**
   1501      * The position of the current BasePathMapping resource in the collection to get information about.
   1502      */
   1503     position?: String;
   1504     /**
   1505      * The maximum number of BasePathMapping resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.
   1506      */
   1507     limit?: NullableInteger;
   1508   }
   1509   export interface GetClientCertificateRequest {
   1510     /**
   1511      * The identifier of the ClientCertificate resource to be described.
   1512      */
   1513     clientCertificateId: String;
   1514   }
   1515   export interface GetClientCertificatesRequest {
   1516     /**
   1517      * The position of the current ClientCertificate resource in the collection to get information about.
   1518      */
   1519     position?: String;
   1520     /**
   1521      * The maximum number of ClientCertificate resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.
   1522      */
   1523     limit?: NullableInteger;
   1524   }
   1525   export interface GetDeploymentRequest {
   1526     /**
   1527      * The identifier of the RestApi resource for the Deployment resource to get information about.
   1528      */
   1529     restApiId: String;
   1530     /**
   1531      * The identifier of the Deployment resource to get information about.
   1532      */
   1533     deploymentId: String;
   1534   }
   1535   export interface GetDeploymentsRequest {
   1536     /**
   1537      * The identifier of the RestApi resource for the collection of Deployment resources to get information about.
   1538      */
   1539     restApiId: String;
   1540     /**
   1541      * The position of the current Deployment resource in the collection to get information about.
   1542      */
   1543     position?: String;
   1544     /**
   1545      * The maximum number of Deployment resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.
   1546      */
   1547     limit?: NullableInteger;
   1548   }
   1549   export interface GetDomainNameRequest {
   1550     /**
   1551      * The name of the DomainName resource.
   1552      */
   1553     domainName: String;
   1554   }
   1555   export interface GetDomainNamesRequest {
   1556     /**
   1557      * The position of the current domain names to get information about.
   1558      */
   1559     position?: String;
   1560     /**
   1561      * The maximum number of DomainName resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.
   1562      */
   1563     limit?: NullableInteger;
   1564   }
   1565   export interface GetExportRequest {
   1566     /**
   1567      * The identifier of the RestApi to be exported.
   1568      */
   1569     restApiId: String;
   1570     /**
   1571      * The name of the Stage that will be exported.
   1572      */
   1573     stageName: String;
   1574     /**
   1575      * The type of export. Currently only 'swagger' is supported.
   1576      */
   1577     exportType: String;
   1578     /**
   1579      * A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType swagger, any combination of the following parameters are supported: integrations will export the API with x-amazon-apigateway-integration extensions. authorizers will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool
   1580      */
   1581     parameters?: MapOfStringToString;
   1582     /**
   1583      * The content-type of the export, for example application/json. Currently application/json and application/yaml are supported for exportType of swagger. This should be specified in the Accept header for direct API requests.
   1584      */
   1585     accepts?: String;
   1586   }
   1587   export interface GetIntegrationRequest {
   1588     /**
   1589      * Specifies a get integration request's API identifier.
   1590      */
   1591     restApiId: String;
   1592     /**
   1593      * Specifies a get integration request's resource identifier
   1594      */
   1595     resourceId: String;
   1596     /**
   1597      * Specifies a get integration request's HTTP method.
   1598      */
   1599     httpMethod: String;
   1600   }
   1601   export interface GetIntegrationResponseRequest {
   1602     /**
   1603      * Specifies a get integration response request's API identifier.
   1604      */
   1605     restApiId: String;
   1606     /**
   1607      * Specifies a get integration response request's resource identifier.
   1608      */
   1609     resourceId: String;
   1610     /**
   1611      * Specifies a get integration response request's HTTP method.
   1612      */
   1613     httpMethod: String;
   1614     /**
   1615      * Specifies a get integration response request's status code.
   1616      */
   1617     statusCode: StatusCode;
   1618   }
   1619   export interface GetMethodRequest {
   1620     /**
   1621      * The RestApi identifier for the Method resource.
   1622      */
   1623     restApiId: String;
   1624     /**
   1625      * The Resource identifier for the Method resource.
   1626      */
   1627     resourceId: String;
   1628     /**
   1629      * Specifies the method request's HTTP method type.
   1630      */
   1631     httpMethod: String;
   1632   }
   1633   export interface GetMethodResponseRequest {
   1634     /**
   1635      * The RestApi identifier for the MethodResponse resource.
   1636      */
   1637     restApiId: String;
   1638     /**
   1639      * The Resource identifier for the MethodResponse resource.
   1640      */
   1641     resourceId: String;
   1642     /**
   1643      * The HTTP verb of the Method resource.
   1644      */
   1645     httpMethod: String;
   1646     /**
   1647      * The status code for the MethodResponse resource.
   1648      */
   1649     statusCode: StatusCode;
   1650   }
   1651   export interface GetModelRequest {
   1652     /**
   1653      * The RestApi identifier under which the Model exists.
   1654      */
   1655     restApiId: String;
   1656     /**
   1657      * The name of the model as an identifier.
   1658      */
   1659     modelName: String;
   1660     /**
   1661      * A query parameter of a Boolean value to resolve (true) all external model references and returns a flattened model schema or not (false) The default is false.
   1662      */
   1663     flatten?: Boolean;
   1664   }
   1665   export interface GetModelTemplateRequest {
   1666     /**
   1667      * The ID of the RestApi under which the model exists.
   1668      */
   1669     restApiId: String;
   1670     /**
   1671      * The name of the model for which to generate a template.
   1672      */
   1673     modelName: String;
   1674   }
   1675   export interface GetModelsRequest {
   1676     /**
   1677      * The RestApi identifier.
   1678      */
   1679     restApiId: String;
   1680     /**
   1681      * The position of the next set of results in the Models resource to get information about.
   1682      */
   1683     position?: String;
   1684     /**
   1685      * The maximum number of models in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.
   1686      */
   1687     limit?: NullableInteger;
   1688   }
   1689   export interface GetResourceRequest {
   1690     /**
   1691      * The RestApi identifier for the resource.
   1692      */
   1693     restApiId: String;
   1694     /**
   1695      * The identifier for the Resource resource.
   1696      */
   1697     resourceId: String;
   1698   }
   1699   export interface GetResourcesRequest {
   1700     /**
   1701      * The RestApi identifier for the Resource.
   1702      */
   1703     restApiId: String;
   1704     /**
   1705      * The position of the next set of results in the current Resources resource to get information about.
   1706      */
   1707     position?: String;
   1708     /**
   1709      * The maximum number of Resource resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.
   1710      */
   1711     limit?: NullableInteger;
   1712   }
   1713   export interface GetRestApiRequest {
   1714     /**
   1715      * The identifier of the RestApi resource.
   1716      */
   1717     restApiId: String;
   1718   }
   1719   export interface GetRestApisRequest {
   1720     /**
   1721      * The position of the current RestApis resource in the collection to get information about.
   1722      */
   1723     position?: String;
   1724     /**
   1725      * The maximum number of RestApi resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.
   1726      */
   1727     limit?: NullableInteger;
   1728   }
   1729   export interface GetSdkRequest {
   1730     /**
   1731      * The identifier of the RestApi that the SDK will use.
   1732      */
   1733     restApiId: String;
   1734     /**
   1735      * The name of the Stage that the SDK will use.
   1736      */
   1737     stageName: String;
   1738     /**
   1739      * The language for the generated SDK. Currently javascript, android, and objectivec (for iOS) are supported.
   1740      */
   1741     sdkType: String;
   1742     /**
   1743      * A key-value map of query string parameters that specify properties of the SDK, depending on the requested sdkType. For sdkType of objectivec, a parameter named classPrefix is required. For sdkType of android, parameters named groupId, artifactId, artifactVersion, and invokerPackage are required.
   1744      */
   1745     parameters?: MapOfStringToString;
   1746   }
   1747   export interface GetStageRequest {
   1748     /**
   1749      * The identifier of the RestApi resource for the Stage resource to get information about.
   1750      */
   1751     restApiId: String;
   1752     /**
   1753      * The name of the Stage resource to get information about.
   1754      */
   1755     stageName: String;
   1756   }
   1757   export interface GetStagesRequest {
   1758     /**
   1759      * The stages' API identifiers.
   1760      */
   1761     restApiId: String;
   1762     /**
   1763      * The stages' deployment identifiers.
   1764      */
   1765     deploymentId?: String;
   1766   }
   1767   export interface GetUsagePlanKeyRequest {
   1768     /**
   1769      * The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.
   1770      */
   1771     usagePlanId: String;
   1772     /**
   1773      * The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.
   1774      */
   1775     keyId: String;
   1776   }
   1777   export interface GetUsagePlanKeysRequest {
   1778     /**
   1779      * The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.
   1780      */
   1781     usagePlanId: String;
   1782     /**
   1783      * A query parameter specifying the zero-based index specifying the position of a usage plan key.
   1784      */
   1785     position?: String;
   1786     /**
   1787      * A query parameter specifying the maximum number usage plan keys returned by the GET request.
   1788      */
   1789     limit?: NullableInteger;
   1790     /**
   1791      * A query parameter specifying the name of the to-be-returned usage plan keys.
   1792      */
   1793     nameQuery?: String;
   1794   }
   1795   export interface GetUsagePlanRequest {
   1796     /**
   1797      * The identifier of the UsagePlan resource to be retrieved.
   1798      */
   1799     usagePlanId: String;
   1800   }
   1801   export interface GetUsagePlansRequest {
   1802     /**
   1803      * The zero-based array index specifying the position of the to-be-retrieved UsagePlan resource.
   1804      */
   1805     position?: String;
   1806     /**
   1807      * The identifier of the API key associated with the usage plans.
   1808      */
   1809     keyId?: String;
   1810     /**
   1811      * The number of UsagePlan resources to be returned as the result.
   1812      */
   1813     limit?: NullableInteger;
   1814   }
   1815   export interface GetUsageRequest {
   1816     /**
   1817      * The Id of the usage plan associated with the usage data.
   1818      */
   1819     usagePlanId: String;
   1820     /**
   1821      * The Id of the API key associated with the resultant usage data.
   1822      */
   1823     keyId?: String;
   1824     /**
   1825      * The starting date (e.g., 2016-01-01) of the usage data.
   1826      */
   1827     startDate: String;
   1828     /**
   1829      * The ending date (e.g., 2016-12-31) of the usage data.
   1830      */
   1831     endDate: String;
   1832     /**
   1833      * Position
   1834      */
   1835     position?: String;
   1836     /**
   1837      * The maximum number of results to be returned.
   1838      */
   1839     limit?: NullableInteger;
   1840   }
   1841   export interface ImportApiKeysRequest {
   1842     /**
   1843      * The payload of the POST request to import API keys. For the payload format, see API Key File Format.
   1844      */
   1845     body: _Blob;
   1846     /**
   1847      * A query parameter to specify the input format to imported API keys. Currently, only the csv format is supported.
   1848      */
   1849     format: ApiKeysFormat;
   1850     /**
   1851      * A query parameter to indicate whether to rollback ApiKey importation (true) or not (false) when error is encountered.
   1852      */
   1853     failOnWarnings?: Boolean;
   1854   }
   1855   export interface ImportRestApiRequest {
   1856     /**
   1857      * A query parameter to indicate whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false.
   1858      */
   1859     failOnWarnings?: Boolean;
   1860     /**
   1861      * Custom header parameters as part of the request.
   1862      */
   1863     parameters?: MapOfStringToString;
   1864     /**
   1865      * The POST request body containing external API definitions. Currently, only Swagger definition JSON files are supported.
   1866      */
   1867     body: _Blob;
   1868   }
   1869   export type Integer = number;
   1870   export interface Integration {
   1871     /**
   1872      * Specifies the integration's type. The valid value is HTTP for integrating with an HTTP back end, AWS for any AWS service endpoints, MOCK for testing without actually invoking the back end, HTTP_PROXY for integrating with the HTTP proxy integration, or AWS_PROXY for integrating with the Lambda proxy integration type.
   1873      */
   1874     type?: IntegrationType;
   1875     /**
   1876      * Specifies the integration's HTTP method type.
   1877      */
   1878     httpMethod?: String;
   1879     /**
   1880      * Specifies the integration's Uniform Resource Identifier (URI). For HTTP integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification. For AWS integrations, the URI should be of the form arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}. Region, subdomain and service are used to determine the right endpoint. For AWS services that use the Action= query string parameter, service_api should be a valid action for the desired service. For RESTful AWS service APIs, path is used to indicate that the remaining substring in the URI should be treated as the path to the resource, including the initial /.
   1881      */
   1882     uri?: String;
   1883     /**
   1884      * Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\*:user/\*. To use resource-based permissions on supported AWS services, specify null.
   1885      */
   1886     credentials?: String;
   1887     /**
   1888      * A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.
   1889      */
   1890     requestParameters?: MapOfStringToString;
   1891     /**
   1892      * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.
   1893      */
   1894     requestTemplates?: MapOfStringToString;
   1895     /**
   1896      *   Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in requestTemplates. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER.    WHEN_NO_MATCH passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.   WHEN_NO_TEMPLATES passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.   NEVER rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.   
   1897      */
   1898     passthroughBehavior?: String;
   1899     /**
   1900      * Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:  CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.  If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.
   1901      */
   1902     contentHandling?: ContentHandlingStrategy;
   1903     /**
   1904      * Specifies the integration's cache namespace.
   1905      */
   1906     cacheNamespace?: String;
   1907     /**
   1908      * Specifies the integration's cache key parameters.
   1909      */
   1910     cacheKeyParameters?: ListOfString;
   1911     /**
   1912      * Specifies the integration's responses.   Example: Get integration responses of a method Request  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}  Response The successful response returns 200 OK status and a payload as follows: { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" }    Creating an API 
   1913      */
   1914     integrationResponses?: MapOfIntegrationResponse;
   1915   }
   1916   export interface IntegrationResponse {
   1917     /**
   1918      * Specifies the status code that is used to map the integration response to an existing MethodResponse.
   1919      */
   1920     statusCode?: StatusCode;
   1921     /**
   1922      * Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+ regex to match error response. However, make sure that the error response does not contain any newline (\n) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.
   1923      */
   1924     selectionPattern?: String;
   1925     /**
   1926      * A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
   1927      */
   1928     responseParameters?: MapOfStringToString;
   1929     /**
   1930      * Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
   1931      */
   1932     responseTemplates?: MapOfStringToString;
   1933     /**
   1934      * Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:  CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.  If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
   1935      */
   1936     contentHandling?: ContentHandlingStrategy;
   1937   }
   1938   export type IntegrationType = "HTTP"|"AWS"|"MOCK"|"HTTP_PROXY"|"AWS_PROXY"|string;
   1939   export type ListOfARNs = ProviderARN[];
   1940   export type ListOfApiKey = ApiKey[];
   1941   export type ListOfApiStage = ApiStage[];
   1942   export type ListOfAuthorizer = Authorizer[];
   1943   export type ListOfBasePathMapping = BasePathMapping[];
   1944   export type ListOfClientCertificate = ClientCertificate[];
   1945   export type ListOfDeployment = Deployment[];
   1946   export type ListOfDomainName = DomainName[];
   1947   export type ListOfLong = Long[];
   1948   export type ListOfModel = Model[];
   1949   export type ListOfPatchOperation = PatchOperation[];
   1950   export type ListOfResource = Resource[];
   1951   export type ListOfRestApi = RestApi[];
   1952   export type ListOfStage = Stage[];
   1953   export type ListOfStageKeys = StageKey[];
   1954   export type ListOfString = String[];
   1955   export type ListOfUsage = ListOfLong[];
   1956   export type ListOfUsagePlan = UsagePlan[];
   1957   export type ListOfUsagePlanKey = UsagePlanKey[];
   1958   export type Long = number;
   1959   export type MapOfHeaderValues = {[key: string]: String};
   1960   export type MapOfIntegrationResponse = {[key: string]: IntegrationResponse};
   1961   export type MapOfKeyUsages = {[key: string]: ListOfUsage};
   1962   export type MapOfMethod = {[key: string]: Method};
   1963   export type MapOfMethodResponse = {[key: string]: MethodResponse};
   1964   export type MapOfMethodSettings = {[key: string]: MethodSetting};
   1965   export type MapOfMethodSnapshot = {[key: string]: MethodSnapshot};
   1966   export type MapOfStringToBoolean = {[key: string]: NullableBoolean};
   1967   export type MapOfStringToList = {[key: string]: ListOfString};
   1968   export type MapOfStringToString = {[key: string]: String};
   1969   export interface Method {
   1970     /**
   1971      * The method's HTTP verb.
   1972      */
   1973     httpMethod?: String;
   1974     /**
   1975      * The method's authorization type.
   1976      */
   1977     authorizationType?: String;
   1978     /**
   1979      * The identifier of an Authorizer to use on this method. The authorizationType must be CUSTOM.
   1980      */
   1981     authorizerId?: String;
   1982     /**
   1983      * A boolean flag specifying whether a valid ApiKey is required to invoke this method.
   1984      */
   1985     apiKeyRequired?: NullableBoolean;
   1986     /**
   1987      * A key-value map defining required or optional method request parameters that can be accepted by Amazon API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.
   1988      */
   1989     requestParameters?: MapOfStringToBoolean;
   1990     /**
   1991      * A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).
   1992      */
   1993     requestModels?: MapOfStringToString;
   1994     /**
   1995      * Gets a method response associated with a given HTTP status code.   The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response. Example: Get a 200 OK response of a GET method Request  GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response The successful response returns a 200 OK status code and a payload similar to the following: { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.operator": false, "method.response.header.operand_2": false, "method.response.header.operand_1": false }, "statusCode": "200" }    AWS CLI 
   1996      */
   1997     methodResponses?: MapOfMethodResponse;
   1998     /**
   1999      * Gets the method's integration responsible for passing the client-submitted request to the back end and performing necessary transformations to make the request compliant with the back end.   Example:  Request  GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response The successful response returns a 200 OK status code and a payload similar to the following: { "_links": { "curies": [ { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true } ], "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:responses": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": { "application/json": "{\n \"a\": \"$input.params('operand1')\",\n \"b\": \"$input.params('operand2')\", \n \"op\": \"$input.params('operator')\" \n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations", "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.operator": "integration.response.body.op", "method.response.header.operand_2": "integration.response.body.b", "method.response.header.operand_1": "integration.response.body.a" }, "responseTemplates": { "application/json": "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op => $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" } } }    AWS CLI 
   2000      */
   2001     methodIntegration?: Integration;
   2002   }
   2003   export interface MethodResponse {
   2004     /**
   2005      * The method response's status code.
   2006      */
   2007     statusCode?: StatusCode;
   2008     /**
   2009      * A key-value map specifying required or optional response parameters that Amazon API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}, where name is a valid and unique header name. Amazon API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)
   2010      */
   2011     responseParameters?: MapOfStringToBoolean;
   2012     /**
   2013      * Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.
   2014      */
   2015     responseModels?: MapOfStringToString;
   2016   }
   2017   export interface MethodSetting {
   2018     /**
   2019      * Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled, and the value is a Boolean.
   2020      */
   2021     metricsEnabled?: Boolean;
   2022     /**
   2023      * Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO.
   2024      */
   2025     loggingLevel?: String;
   2026     /**
   2027      * Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.
   2028      */
   2029     dataTraceEnabled?: Boolean;
   2030     /**
   2031      * Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit, and the value is an integer.
   2032      */
   2033     throttlingBurstLimit?: Integer;
   2034     /**
   2035      * Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit, and the value is a double.
   2036      */
   2037     throttlingRateLimit?: Double;
   2038     /**
   2039      * Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled, and the value is a Boolean.
   2040      */
   2041     cachingEnabled?: Boolean;
   2042     /**
   2043      * Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds, and the value is an integer.
   2044      */
   2045     cacheTtlInSeconds?: Integer;
   2046     /**
   2047      * Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted, and the value is a Boolean.
   2048      */
   2049     cacheDataEncrypted?: Boolean;
   2050     /**
   2051      * Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl, and the value is a Boolean.
   2052      */
   2053     requireAuthorizationForCacheControl?: Boolean;
   2054     /**
   2055      * Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy, and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER, SUCCEED_WITHOUT_RESPONSE_HEADER.
   2056      */
   2057     unauthorizedCacheControlHeaderStrategy?: UnauthorizedCacheControlHeaderStrategy;
   2058   }
   2059   export interface MethodSnapshot {
   2060     /**
   2061      * Specifies the type of authorization used for the method.
   2062      */
   2063     authorizationType?: String;
   2064     /**
   2065      * Specifies whether the method requires a valid ApiKey.
   2066      */
   2067     apiKeyRequired?: Boolean;
   2068   }
   2069   export interface Model {
   2070     /**
   2071      * The identifier for the model resource.
   2072      */
   2073     id?: String;
   2074     /**
   2075      * The name of the model.
   2076      */
   2077     name?: String;
   2078     /**
   2079      * The description of the model.
   2080      */
   2081     description?: String;
   2082     /**
   2083      * The schema for the model. For application/json models, this should be JSON-schema draft v4 model. Do not include "\*" characters in the description of any properties because such "\*" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.
   2084      */
   2085     schema?: String;
   2086     /**
   2087      * The content-type for the model.
   2088      */
   2089     contentType?: String;
   2090   }
   2091   export interface Models {
   2092     position?: String;
   2093     /**
   2094      * Gets the current Model resource in the collection.
   2095      */
   2096     items?: ListOfModel;
   2097   }
   2098   export type NullableBoolean = boolean;
   2099   export type NullableInteger = number;
   2100   export type Op = "add"|"remove"|"replace"|"move"|"copy"|"test"|string;
   2101   export interface PatchOperation {
   2102     /**
   2103      * An update operation to be performed with this PATCH request. The valid value can be "add", "remove", or "replace". Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.
   2104      */
   2105     op?: Op;
   2106     /**
   2107      * The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.
   2108      */
   2109     path?: String;
   2110     /**
   2111      * The new target value of the update operation. 
   2112      */
   2113     value?: String;
   2114     /**
   2115      *  Not supported.
   2116      */
   2117     from?: String;
   2118   }
   2119   export type PathToMapOfMethodSnapshot = {[key: string]: MapOfMethodSnapshot};
   2120   export type ProviderARN = string;
   2121   export interface PutIntegrationRequest {
   2122     /**
   2123      * Specifies a put integration request's API identifier.
   2124      */
   2125     restApiId: String;
   2126     /**
   2127      * Specifies a put integration request's resource ID.
   2128      */
   2129     resourceId: String;
   2130     /**
   2131      * Specifies a put integration request's HTTP method.
   2132      */
   2133     httpMethod: String;
   2134     /**
   2135      * Specifies a put integration input's type.
   2136      */
   2137     type: IntegrationType;
   2138     /**
   2139      * Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.
   2140      */
   2141     integrationHttpMethod?: String;
   2142     /**
   2143      * Specifies a put integration input's Uniform Resource Identifier (URI). When the integration type is HTTP or AWS, this field is required. For integration with Lambda as an AWS service proxy, this value is of the 'arn:aws:apigateway:&lt;region&gt;:lambda:path/2015-03-31/functions/&lt;functionArn&gt;/invocations' format.
   2144      */
   2145     uri?: String;
   2146     /**
   2147      * Specifies whether credentials are required for a put integration.
   2148      */
   2149     credentials?: String;
   2150     /**
   2151      * A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.
   2152      */
   2153     requestParameters?: MapOfStringToString;
   2154     /**
   2155      * Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.
   2156      */
   2157     requestTemplates?: MapOfStringToString;
   2158     /**
   2159      * Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER.   WHEN_NO_MATCH passes the request body for unmapped content types through to the integration back end without transformation. NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media Type' response. WHEN_NO_TEMPLATES allows pass-through when the integration has NO content types mapped to templates. However if there is at least one content type defined, unmapped content types will be rejected with the same 415 response. 
   2160      */
   2161     passthroughBehavior?: String;
   2162     /**
   2163      * Specifies a put integration input's cache namespace.
   2164      */
   2165     cacheNamespace?: String;
   2166     /**
   2167      * Specifies a put integration input's cache key parameters.
   2168      */
   2169     cacheKeyParameters?: ListOfString;
   2170     /**
   2171      * Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:  CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.  If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.
   2172      */
   2173     contentHandling?: ContentHandlingStrategy;
   2174   }
   2175   export interface PutIntegrationResponseRequest {
   2176     /**
   2177      * Specifies a put integration response request's API identifier.
   2178      */
   2179     restApiId: String;
   2180     /**
   2181      * Specifies a put integration response request's resource identifier.
   2182      */
   2183     resourceId: String;
   2184     /**
   2185      * Specifies a put integration response request's HTTP method.
   2186      */
   2187     httpMethod: String;
   2188     /**
   2189      * Specifies the status code that is used to map the integration response to an existing MethodResponse.
   2190      */
   2191     statusCode: StatusCode;
   2192     /**
   2193      * Specifies the selection pattern of a put integration response.
   2194      */
   2195     selectionPattern?: String;
   2196     /**
   2197      * A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name must be a valid and unique response header name and JSON-expression a valid JSON expression without the $ prefix.
   2198      */
   2199     responseParameters?: MapOfStringToString;
   2200     /**
   2201      * Specifies a put integration response's templates.
   2202      */
   2203     responseTemplates?: MapOfStringToString;
   2204     /**
   2205      * Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:  CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob. CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.  If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
   2206      */
   2207     contentHandling?: ContentHandlingStrategy;
   2208   }
   2209   export interface PutMethodRequest {
   2210     /**
   2211      * The RestApi identifier for the new Method resource.
   2212      */
   2213     restApiId: String;
   2214     /**
   2215      * The Resource identifier for the new Method resource.
   2216      */
   2217     resourceId: String;
   2218     /**
   2219      * Specifies the method request's HTTP method type.
   2220      */
   2221     httpMethod: String;
   2222     /**
   2223      * Specifies the type of authorization used for the method.
   2224      */
   2225     authorizationType: String;
   2226     /**
   2227      * Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM.
   2228      */
   2229     authorizerId?: String;
   2230     /**
   2231      * Specifies whether the method required a valid ApiKey.
   2232      */
   2233     apiKeyRequired?: Boolean;
   2234     /**
   2235      * A key-value map defining required or optional method request parameters that can be accepted by Amazon API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.
   2236      */
   2237     requestParameters?: MapOfStringToBoolean;
   2238     /**
   2239      * Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.
   2240      */
   2241     requestModels?: MapOfStringToString;
   2242   }
   2243   export interface PutMethodResponseRequest {
   2244     /**
   2245      * The RestApi identifier for the Method resource.
   2246      */
   2247     restApiId: String;
   2248     /**
   2249      * The Resource identifier for the Method resource.
   2250      */
   2251     resourceId: String;
   2252     /**
   2253      * The HTTP verb of the Method resource.
   2254      */
   2255     httpMethod: String;
   2256     /**
   2257      * The method response's status code.
   2258      */
   2259     statusCode: StatusCode;
   2260     /**
   2261      * A key-value map specifying required or optional response parameters that Amazon API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)
   2262      */
   2263     responseParameters?: MapOfStringToBoolean;
   2264     /**
   2265      * Specifies the Model resources used for the response's content type. Response models are represented as a key/value map, with a content type as the key and a Model name as the value.
   2266      */
   2267     responseModels?: MapOfStringToString;
   2268   }
   2269   export type PutMode = "merge"|"overwrite"|string;
   2270   export interface PutRestApiRequest {
   2271     /**
   2272      * The identifier of the RestApi to be updated. 
   2273      */
   2274     restApiId: String;
   2275     /**
   2276      * The mode query parameter to specify the update mode. Valid values are "merge" and "overwrite". By default, the update mode is "merge".
   2277      */
   2278     mode?: PutMode;
   2279     /**
   2280      * A query parameter to indicate whether to rollback the API update (true) or not (false) when a warning is encountered. The default value is false.
   2281      */
   2282     failOnWarnings?: Boolean;
   2283     /**
   2284      * Custom headers supplied as part of the request. 
   2285      */
   2286     parameters?: MapOfStringToString;
   2287     /**
   2288      * The PUT request body containing external API definitions. Currently, only Swagger definition JSON files are supported.
   2289      */
   2290     body: _Blob;
   2291   }
   2292   export type QuotaPeriodType = "DAY"|"WEEK"|"MONTH"|string;
   2293   export interface QuotaSettings {
   2294     /**
   2295      * The maximum number of requests that can be made in a given time period.
   2296      */
   2297     limit?: Integer;
   2298     /**
   2299      * The number of requests subtracted from the given limit in the initial time period.
   2300      */
   2301     offset?: Integer;
   2302     /**
   2303      * The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".
   2304      */
   2305     period?: QuotaPeriodType;
   2306   }
   2307   export interface Resource {
   2308     /**
   2309      * The resource's identifier.
   2310      */
   2311     id?: String;
   2312     /**
   2313      * The parent resource's identifier.
   2314      */
   2315     parentId?: String;
   2316     /**
   2317      * The last path segment for this resource.
   2318      */
   2319     pathPart?: String;
   2320     /**
   2321      * The full path for this resource.
   2322      */
   2323     path?: String;
   2324     /**
   2325      * Gets an API resource's method of a given HTTP verb.  The resource methods are a map of methods indexed by methods' HTTP verbs enabled on the resource. This method map is included in the 200 OK response of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods request. Example: Get the GET method of an API resource Request GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160608T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160608/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} Response { "_links": { "curies": [ { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", "name": "method", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET", "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET" }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}", "templated": true } }, "apiKeyRequired": false, "authorizationType": "NONE", "httpMethod": "GET", "_embedded": { "method:integration": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration" }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod": "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json": "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams", "_embedded": { "integration:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200", "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200" } }, "responseModels": { "application/json": "Empty" }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" } } } If the OPTIONS is enabled on the resource, you can follow the example here to get that method. Just replace the GET of the last path segment in the request URL with OPTIONS.   
   2326      */
   2327     resourceMethods?: MapOfMethod;
   2328   }
   2329   export interface Resources {
   2330     position?: String;
   2331     /**
   2332      * Gets the current Resource resource in the collection.
   2333      */
   2334     items?: ListOfResource;
   2335   }
   2336   export interface RestApi {
   2337     /**
   2338      * The API's identifier. This identifier is unique across all of your APIs in Amazon API Gateway.
   2339      */
   2340     id?: String;
   2341     /**
   2342      * The API's name.
   2343      */
   2344     name?: String;
   2345     /**
   2346      * The API's description.
   2347      */
   2348     description?: String;
   2349     /**
   2350      * The date when the API was created, in ISO 8601 format.
   2351      */
   2352     createdDate?: Timestamp;
   2353     /**
   2354      * The warning messages reported when failonwarnings is turned on during API import.
   2355      */
   2356     warnings?: ListOfString;
   2357     /**
   2358      * The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.
   2359      */
   2360     binaryMediaTypes?: ListOfString;
   2361   }
   2362   export interface RestApis {
   2363     position?: String;
   2364     /**
   2365      * An array of links to the current page of RestApi resources.
   2366      */
   2367     items?: ListOfRestApi;
   2368   }
   2369   export interface SdkResponse {
   2370     /**
   2371      * The content-type header value in the HTTP response.
   2372      */
   2373     contentType?: String;
   2374     /**
   2375      * The content-disposition header value in the HTTP response.
   2376      */
   2377     contentDisposition?: String;
   2378     /**
   2379      * The binary blob response to GetSdk, which contains the generated SDK.
   2380      */
   2381     body?: _Blob;
   2382   }
   2383   export interface Stage {
   2384     /**
   2385      * The identifier of the Deployment that the stage points to.
   2386      */
   2387     deploymentId?: String;
   2388     /**
   2389      * The identifier of a client certificate for an API stage.
   2390      */
   2391     clientCertificateId?: String;
   2392     /**
   2393      * The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to Amazon API Gateway.
   2394      */
   2395     stageName?: String;
   2396     /**
   2397      * The stage's description.
   2398      */
   2399     description?: String;
   2400     /**
   2401      * Specifies whether a cache cluster is enabled for the stage.
   2402      */
   2403     cacheClusterEnabled?: Boolean;
   2404     /**
   2405      * The size of the cache cluster for the stage, if enabled.
   2406      */
   2407     cacheClusterSize?: CacheClusterSize;
   2408     /**
   2409      * The status of the cache cluster for the stage, if enabled.
   2410      */
   2411     cacheClusterStatus?: CacheClusterStatus;
   2412     /**
   2413      * A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*\* for overriding all methods in the stage. 
   2414      */
   2415     methodSettings?: MapOfMethodSettings;
   2416     /**
   2417      * A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+.
   2418      */
   2419     variables?: MapOfStringToString;
   2420     /**
   2421      * The date and time that the stage was created, in ISO 8601 format.
   2422      */
   2423     createdDate?: Timestamp;
   2424     /**
   2425      * The date and time that information about the stage was last updated, in ISO 8601 format.
   2426      */
   2427     lastUpdatedDate?: Timestamp;
   2428   }
   2429   export interface StageKey {
   2430     /**
   2431      * A list of Stage resources that are associated with the ApiKey resource.
   2432      */
   2433     restApiId?: String;
   2434     /**
   2435      * The stage name in the RestApi that the stage key references.
   2436      */
   2437     stageName?: String;
   2438   }
   2439   export interface Stages {
   2440     /**
   2441      * An individual Stage resource.
   2442      */
   2443     item?: ListOfStage;
   2444   }
   2445   export type StatusCode = string;
   2446   export type String = string;
   2447   export interface Template {
   2448     /**
   2449      * The Apache Velocity Template Language (VTL) template content used for the template resource.
   2450      */
   2451     value?: String;
   2452   }
   2453   export interface TestInvokeAuthorizerRequest {
   2454     /**
   2455      * Specifies a test invoke authorizer request's RestApi identifier.
   2456      */
   2457     restApiId: String;
   2458     /**
   2459      * Specifies a test invoke authorizer request's Authorizer ID.
   2460      */
   2461     authorizerId: String;
   2462     /**
   2463      * [Required] A key-value map of headers to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, should be specified.
   2464      */
   2465     headers?: MapOfHeaderValues;
   2466     /**
   2467      * [Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.
   2468      */
   2469     pathWithQueryString?: String;
   2470     /**
   2471      * [Optional] The simulated request body of an incoming invocation request.
   2472      */
   2473     body?: String;
   2474     /**
   2475      * A key-value map of stage variables to simulate an invocation on a deployed Stage.
   2476      */
   2477     stageVariables?: MapOfStringToString;
   2478     /**
   2479      * [Optional] A key-value map of additional context variables.
   2480      */
   2481     additionalContext?: MapOfStringToString;
   2482   }
   2483   export interface TestInvokeAuthorizerResponse {
   2484     /**
   2485      * The HTTP status code that the client would have received. Value is 0 if the authorizer succeeded.
   2486      */
   2487     clientStatus?: Integer;
   2488     /**
   2489      * The Amazon API Gateway execution log for the test authorizer request.
   2490      */
   2491     log?: String;
   2492     /**
   2493      * The execution latency of the test authorizer request.
   2494      */
   2495     latency?: Long;
   2496     /**
   2497      * The principal identity returned by the Authorizer
   2498      */
   2499     principalId?: String;
   2500     /**
   2501      * The JSON policy document returned by the Authorizer
   2502      */
   2503     policy?: String;
   2504     authorization?: MapOfStringToList;
   2505     /**
   2506      * The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.
   2507      */
   2508     claims?: MapOfStringToString;
   2509   }
   2510   export interface TestInvokeMethodRequest {
   2511     /**
   2512      * Specifies a test invoke method request's API identifier.
   2513      */
   2514     restApiId: String;
   2515     /**
   2516      * Specifies a test invoke method request's resource ID.
   2517      */
   2518     resourceId: String;
   2519     /**
   2520      * Specifies a test invoke method request's HTTP method.
   2521      */
   2522     httpMethod: String;
   2523     /**
   2524      * The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.
   2525      */
   2526     pathWithQueryString?: String;
   2527     /**
   2528      * The simulated request body of an incoming invocation request.
   2529      */
   2530     body?: String;
   2531     /**
   2532      * A key-value map of headers to simulate an incoming invocation request.
   2533      */
   2534     headers?: MapOfHeaderValues;
   2535     /**
   2536      * A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.
   2537      */
   2538     clientCertificateId?: String;
   2539     /**
   2540      * A key-value map of stage variables to simulate an invocation on a deployed Stage.
   2541      */
   2542     stageVariables?: MapOfStringToString;
   2543   }
   2544   export interface TestInvokeMethodResponse {
   2545     /**
   2546      * The HTTP status code.
   2547      */
   2548     status?: Integer;
   2549     /**
   2550      * The body of the HTTP response.
   2551      */
   2552     body?: String;
   2553     /**
   2554      * The headers of the HTTP response.
   2555      */
   2556     headers?: MapOfHeaderValues;
   2557     /**
   2558      * The Amazon API Gateway execution log for the test invoke request.
   2559      */
   2560     log?: String;
   2561     /**
   2562      * The execution latency of the test invoke request.
   2563      */
   2564     latency?: Long;
   2565   }
   2566   export interface ThrottleSettings {
   2567     /**
   2568      * The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.
   2569      */
   2570     burstLimit?: Integer;
   2571     /**
   2572      * The API request steady-state rate limit.
   2573      */
   2574     rateLimit?: Double;
   2575   }
   2576   export type Timestamp = Date;
   2577   export type UnauthorizedCacheControlHeaderStrategy = "FAIL_WITH_403"|"SUCCEED_WITH_RESPONSE_HEADER"|"SUCCEED_WITHOUT_RESPONSE_HEADER"|string;
   2578   export interface UpdateAccountRequest {
   2579     /**
   2580      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2581      */
   2582     patchOperations?: ListOfPatchOperation;
   2583   }
   2584   export interface UpdateApiKeyRequest {
   2585     /**
   2586      * The identifier of the ApiKey resource to be updated.
   2587      */
   2588     apiKey: String;
   2589     /**
   2590      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2591      */
   2592     patchOperations?: ListOfPatchOperation;
   2593   }
   2594   export interface UpdateAuthorizerRequest {
   2595     /**
   2596      * The RestApi identifier for the Authorizer resource.
   2597      */
   2598     restApiId: String;
   2599     /**
   2600      * The identifier of the Authorizer resource.
   2601      */
   2602     authorizerId: String;
   2603     /**
   2604      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2605      */
   2606     patchOperations?: ListOfPatchOperation;
   2607   }
   2608   export interface UpdateBasePathMappingRequest {
   2609     /**
   2610      * The domain name of the BasePathMapping resource to change.
   2611      */
   2612     domainName: String;
   2613     /**
   2614      * The base path of the BasePathMapping resource to change.
   2615      */
   2616     basePath: String;
   2617     /**
   2618      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2619      */
   2620     patchOperations?: ListOfPatchOperation;
   2621   }
   2622   export interface UpdateClientCertificateRequest {
   2623     /**
   2624      * The identifier of the ClientCertificate resource to be updated.
   2625      */
   2626     clientCertificateId: String;
   2627     /**
   2628      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2629      */
   2630     patchOperations?: ListOfPatchOperation;
   2631   }
   2632   export interface UpdateDeploymentRequest {
   2633     /**
   2634      * The replacement identifier of the RestApi resource for the Deployment resource to change information about.
   2635      */
   2636     restApiId: String;
   2637     /**
   2638      * The replacement identifier for the Deployment resource to change information about.
   2639      */
   2640     deploymentId: String;
   2641     /**
   2642      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2643      */
   2644     patchOperations?: ListOfPatchOperation;
   2645   }
   2646   export interface UpdateDomainNameRequest {
   2647     /**
   2648      * The name of the DomainName resource to be changed.
   2649      */
   2650     domainName: String;
   2651     /**
   2652      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2653      */
   2654     patchOperations?: ListOfPatchOperation;
   2655   }
   2656   export interface UpdateIntegrationRequest {
   2657     /**
   2658      * Represents an update integration request's API identifier.
   2659      */
   2660     restApiId: String;
   2661     /**
   2662      * Represents an update integration request's resource identifier.
   2663      */
   2664     resourceId: String;
   2665     /**
   2666      * Represents an update integration request's HTTP method.
   2667      */
   2668     httpMethod: String;
   2669     /**
   2670      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2671      */
   2672     patchOperations?: ListOfPatchOperation;
   2673   }
   2674   export interface UpdateIntegrationResponseRequest {
   2675     /**
   2676      * Specifies an update integration response request's API identifier.
   2677      */
   2678     restApiId: String;
   2679     /**
   2680      * Specifies an update integration response request's resource identifier.
   2681      */
   2682     resourceId: String;
   2683     /**
   2684      * Specifies an update integration response request's HTTP method.
   2685      */
   2686     httpMethod: String;
   2687     /**
   2688      * Specifies an update integration response request's status code.
   2689      */
   2690     statusCode: StatusCode;
   2691     /**
   2692      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2693      */
   2694     patchOperations?: ListOfPatchOperation;
   2695   }
   2696   export interface UpdateMethodRequest {
   2697     /**
   2698      * The RestApi identifier for the Method resource.
   2699      */
   2700     restApiId: String;
   2701     /**
   2702      * The Resource identifier for the Method resource.
   2703      */
   2704     resourceId: String;
   2705     /**
   2706      * The HTTP verb of the Method resource.
   2707      */
   2708     httpMethod: String;
   2709     /**
   2710      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2711      */
   2712     patchOperations?: ListOfPatchOperation;
   2713   }
   2714   export interface UpdateMethodResponseRequest {
   2715     /**
   2716      * The RestApi identifier for the MethodResponse resource.
   2717      */
   2718     restApiId: String;
   2719     /**
   2720      * The Resource identifier for the MethodResponse resource.
   2721      */
   2722     resourceId: String;
   2723     /**
   2724      * The HTTP verb of the Method resource.
   2725      */
   2726     httpMethod: String;
   2727     /**
   2728      * The status code for the MethodResponse resource.
   2729      */
   2730     statusCode: StatusCode;
   2731     /**
   2732      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2733      */
   2734     patchOperations?: ListOfPatchOperation;
   2735   }
   2736   export interface UpdateModelRequest {
   2737     /**
   2738      * The RestApi identifier under which the model exists.
   2739      */
   2740     restApiId: String;
   2741     /**
   2742      * The name of the model to update.
   2743      */
   2744     modelName: String;
   2745     /**
   2746      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2747      */
   2748     patchOperations?: ListOfPatchOperation;
   2749   }
   2750   export interface UpdateResourceRequest {
   2751     /**
   2752      * The RestApi identifier for the Resource resource.
   2753      */
   2754     restApiId: String;
   2755     /**
   2756      * The identifier of the Resource resource.
   2757      */
   2758     resourceId: String;
   2759     /**
   2760      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2761      */
   2762     patchOperations?: ListOfPatchOperation;
   2763   }
   2764   export interface UpdateRestApiRequest {
   2765     /**
   2766      * The ID of the RestApi you want to update.
   2767      */
   2768     restApiId: String;
   2769     /**
   2770      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2771      */
   2772     patchOperations?: ListOfPatchOperation;
   2773   }
   2774   export interface UpdateStageRequest {
   2775     /**
   2776      * The identifier of the RestApi resource for the Stage resource to change information about.
   2777      */
   2778     restApiId: String;
   2779     /**
   2780      * The name of the Stage resource to change information about.
   2781      */
   2782     stageName: String;
   2783     /**
   2784      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2785      */
   2786     patchOperations?: ListOfPatchOperation;
   2787   }
   2788   export interface UpdateUsagePlanRequest {
   2789     /**
   2790      * The Id of the to-be-updated usage plan.
   2791      */
   2792     usagePlanId: String;
   2793     /**
   2794      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2795      */
   2796     patchOperations?: ListOfPatchOperation;
   2797   }
   2798   export interface UpdateUsageRequest {
   2799     /**
   2800      * The Id of the usage plan associated with the usage data.
   2801      */
   2802     usagePlanId: String;
   2803     /**
   2804      * The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.
   2805      */
   2806     keyId: String;
   2807     /**
   2808      * A list of update operations to be applied to the specified resource and in the order specified in this list.
   2809      */
   2810     patchOperations?: ListOfPatchOperation;
   2811   }
   2812   export interface Usage {
   2813     /**
   2814      * The plan Id associated with this usage data.
   2815      */
   2816     usagePlanId?: String;
   2817     /**
   2818      * The starting date of the usage data.
   2819      */
   2820     startDate?: String;
   2821     /**
   2822      * The ending date of the usage data.
   2823      */
   2824     endDate?: String;
   2825     position?: String;
   2826     /**
   2827      * The usage data, as daily logs of used and remaining quotas, over the specified time interval indexed over the API keys in a usage plan. For example, {..., "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}, where {api_key} stands for an API key value and the daily log entry is of the format [used quota, remaining quota].
   2828      */
   2829     items?: MapOfKeyUsages;
   2830   }
   2831   export interface UsagePlan {
   2832     /**
   2833      * The identifier of a UsagePlan resource.
   2834      */
   2835     id?: String;
   2836     /**
   2837      * The name of a usage plan.
   2838      */
   2839     name?: String;
   2840     /**
   2841      * The description of a usage plan.
   2842      */
   2843     description?: String;
   2844     /**
   2845      * The associated API stages of a usage plan.
   2846      */
   2847     apiStages?: ListOfApiStage;
   2848     /**
   2849      * The request throttle limits of a usage plan.
   2850      */
   2851     throttle?: ThrottleSettings;
   2852     /**
   2853      * The maximum number of permitted requests per a given unit time interval.
   2854      */
   2855     quota?: QuotaSettings;
   2856   }
   2857   export interface UsagePlanKey {
   2858     /**
   2859      * The Id of a usage plan key.
   2860      */
   2861     id?: String;
   2862     /**
   2863      * The type of a usage plan key. Currently, the valid key type is API_KEY.
   2864      */
   2865     type?: String;
   2866     /**
   2867      * The value of a usage plan key.
   2868      */
   2869     value?: String;
   2870     /**
   2871      * The name of a usage plan key.
   2872      */
   2873     name?: String;
   2874   }
   2875   export interface UsagePlanKeys {
   2876     position?: String;
   2877     /**
   2878      * Gets the current item of the usage plan keys collection.
   2879      */
   2880     items?: ListOfUsagePlanKey;
   2881   }
   2882   export interface UsagePlans {
   2883     position?: String;
   2884     /**
   2885      * Gets the current item when enumerating the collection of UsagePlan.
   2886      */
   2887     items?: ListOfUsagePlan;
   2888   }
   2889   /**
   2890    * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   2891    */
   2892   export type apiVersion = "2015-07-09"|"latest"|string;
   2893   export interface ClientApiVersions {
   2894     /**
   2895      * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   2896      */
   2897     apiVersion?: apiVersion;
   2898   }
   2899   export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
   2900 }
   2901 export = APIGateway;