github.com/aavshr/aws-sdk-go@v1.41.3/service/apigateway/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package apigateway
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opCreateApiKey = "CreateApiKey"
    17  
    18  // CreateApiKeyRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateApiKey operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See CreateApiKey for more information on using the CreateApiKey
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the CreateApiKeyRequest method.
    34  //    req, resp := client.CreateApiKeyRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  func (c *APIGateway) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request.Request, output *ApiKey) {
    41  	op := &request.Operation{
    42  		Name:       opCreateApiKey,
    43  		HTTPMethod: "POST",
    44  		HTTPPath:   "/apikeys",
    45  	}
    46  
    47  	if input == nil {
    48  		input = &CreateApiKeyInput{}
    49  	}
    50  
    51  	output = &ApiKey{}
    52  	req = c.newRequest(op, input, output)
    53  	return
    54  }
    55  
    56  // CreateApiKey API operation for Amazon API Gateway.
    57  //
    58  // Create an ApiKey resource.
    59  //
    60  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-api-key.html)
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Amazon API Gateway's
    67  // API operation CreateApiKey for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * BadRequestException
    71  //   The submitted request is not valid, for example, the input is incomplete
    72  //   or incorrect. See the accompanying error message for details.
    73  //
    74  //   * ConflictException
    75  //   The request configuration has conflicts. For details, see the accompanying
    76  //   error message.
    77  //
    78  //   * LimitExceededException
    79  //   The request exceeded the rate limit. Retry after the specified time period.
    80  //
    81  //   * NotFoundException
    82  //   The requested resource is not found. Make sure that the request URI is correct.
    83  //
    84  //   * UnauthorizedException
    85  //   The request is denied because the caller has insufficient permissions.
    86  //
    87  //   * TooManyRequestsException
    88  //   The request has reached its throttling limit. Retry after the specified time
    89  //   period.
    90  //
    91  func (c *APIGateway) CreateApiKey(input *CreateApiKeyInput) (*ApiKey, error) {
    92  	req, out := c.CreateApiKeyRequest(input)
    93  	return out, req.Send()
    94  }
    95  
    96  // CreateApiKeyWithContext is the same as CreateApiKey with the addition of
    97  // the ability to pass a context and additional request options.
    98  //
    99  // See CreateApiKey for details on how to use this API operation.
   100  //
   101  // The context must be non-nil and will be used for request cancellation. If
   102  // the context is nil a panic will occur. In the future the SDK may create
   103  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   104  // for more information on using Contexts.
   105  func (c *APIGateway) CreateApiKeyWithContext(ctx aws.Context, input *CreateApiKeyInput, opts ...request.Option) (*ApiKey, error) {
   106  	req, out := c.CreateApiKeyRequest(input)
   107  	req.SetContext(ctx)
   108  	req.ApplyOptions(opts...)
   109  	return out, req.Send()
   110  }
   111  
   112  const opCreateAuthorizer = "CreateAuthorizer"
   113  
   114  // CreateAuthorizerRequest generates a "aws/request.Request" representing the
   115  // client's request for the CreateAuthorizer operation. The "output" return
   116  // value will be populated with the request's response once the request completes
   117  // successfully.
   118  //
   119  // Use "Send" method on the returned Request to send the API call to the service.
   120  // the "output" return value is not valid until after Send returns without error.
   121  //
   122  // See CreateAuthorizer for more information on using the CreateAuthorizer
   123  // API call, and error handling.
   124  //
   125  // This method is useful when you want to inject custom logic or configuration
   126  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   127  //
   128  //
   129  //    // Example sending a request using the CreateAuthorizerRequest method.
   130  //    req, resp := client.CreateAuthorizerRequest(params)
   131  //
   132  //    err := req.Send()
   133  //    if err == nil { // resp is now filled
   134  //        fmt.Println(resp)
   135  //    }
   136  func (c *APIGateway) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req *request.Request, output *Authorizer) {
   137  	op := &request.Operation{
   138  		Name:       opCreateAuthorizer,
   139  		HTTPMethod: "POST",
   140  		HTTPPath:   "/restapis/{restapi_id}/authorizers",
   141  	}
   142  
   143  	if input == nil {
   144  		input = &CreateAuthorizerInput{}
   145  	}
   146  
   147  	output = &Authorizer{}
   148  	req = c.newRequest(op, input, output)
   149  	return
   150  }
   151  
   152  // CreateAuthorizer API operation for Amazon API Gateway.
   153  //
   154  // Adds a new Authorizer resource to an existing RestApi resource.
   155  //
   156  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-authorizer.html)
   157  //
   158  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   159  // with awserr.Error's Code and Message methods to get detailed information about
   160  // the error.
   161  //
   162  // See the AWS API reference guide for Amazon API Gateway's
   163  // API operation CreateAuthorizer for usage and error information.
   164  //
   165  // Returned Error Types:
   166  //   * BadRequestException
   167  //   The submitted request is not valid, for example, the input is incomplete
   168  //   or incorrect. See the accompanying error message for details.
   169  //
   170  //   * ConflictException
   171  //   The request configuration has conflicts. For details, see the accompanying
   172  //   error message.
   173  //
   174  //   * LimitExceededException
   175  //   The request exceeded the rate limit. Retry after the specified time period.
   176  //
   177  //   * NotFoundException
   178  //   The requested resource is not found. Make sure that the request URI is correct.
   179  //
   180  //   * UnauthorizedException
   181  //   The request is denied because the caller has insufficient permissions.
   182  //
   183  //   * TooManyRequestsException
   184  //   The request has reached its throttling limit. Retry after the specified time
   185  //   period.
   186  //
   187  func (c *APIGateway) CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer, error) {
   188  	req, out := c.CreateAuthorizerRequest(input)
   189  	return out, req.Send()
   190  }
   191  
   192  // CreateAuthorizerWithContext is the same as CreateAuthorizer with the addition of
   193  // the ability to pass a context and additional request options.
   194  //
   195  // See CreateAuthorizer for details on how to use this API operation.
   196  //
   197  // The context must be non-nil and will be used for request cancellation. If
   198  // the context is nil a panic will occur. In the future the SDK may create
   199  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   200  // for more information on using Contexts.
   201  func (c *APIGateway) CreateAuthorizerWithContext(ctx aws.Context, input *CreateAuthorizerInput, opts ...request.Option) (*Authorizer, error) {
   202  	req, out := c.CreateAuthorizerRequest(input)
   203  	req.SetContext(ctx)
   204  	req.ApplyOptions(opts...)
   205  	return out, req.Send()
   206  }
   207  
   208  const opCreateBasePathMapping = "CreateBasePathMapping"
   209  
   210  // CreateBasePathMappingRequest generates a "aws/request.Request" representing the
   211  // client's request for the CreateBasePathMapping operation. The "output" return
   212  // value will be populated with the request's response once the request completes
   213  // successfully.
   214  //
   215  // Use "Send" method on the returned Request to send the API call to the service.
   216  // the "output" return value is not valid until after Send returns without error.
   217  //
   218  // See CreateBasePathMapping for more information on using the CreateBasePathMapping
   219  // API call, and error handling.
   220  //
   221  // This method is useful when you want to inject custom logic or configuration
   222  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   223  //
   224  //
   225  //    // Example sending a request using the CreateBasePathMappingRequest method.
   226  //    req, resp := client.CreateBasePathMappingRequest(params)
   227  //
   228  //    err := req.Send()
   229  //    if err == nil { // resp is now filled
   230  //        fmt.Println(resp)
   231  //    }
   232  func (c *APIGateway) CreateBasePathMappingRequest(input *CreateBasePathMappingInput) (req *request.Request, output *BasePathMapping) {
   233  	op := &request.Operation{
   234  		Name:       opCreateBasePathMapping,
   235  		HTTPMethod: "POST",
   236  		HTTPPath:   "/domainnames/{domain_name}/basepathmappings",
   237  	}
   238  
   239  	if input == nil {
   240  		input = &CreateBasePathMappingInput{}
   241  	}
   242  
   243  	output = &BasePathMapping{}
   244  	req = c.newRequest(op, input, output)
   245  	return
   246  }
   247  
   248  // CreateBasePathMapping API operation for Amazon API Gateway.
   249  //
   250  // Creates a new BasePathMapping resource.
   251  //
   252  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   253  // with awserr.Error's Code and Message methods to get detailed information about
   254  // the error.
   255  //
   256  // See the AWS API reference guide for Amazon API Gateway's
   257  // API operation CreateBasePathMapping for usage and error information.
   258  //
   259  // Returned Error Types:
   260  //   * BadRequestException
   261  //   The submitted request is not valid, for example, the input is incomplete
   262  //   or incorrect. See the accompanying error message for details.
   263  //
   264  //   * ConflictException
   265  //   The request configuration has conflicts. For details, see the accompanying
   266  //   error message.
   267  //
   268  //   * LimitExceededException
   269  //   The request exceeded the rate limit. Retry after the specified time period.
   270  //
   271  //   * NotFoundException
   272  //   The requested resource is not found. Make sure that the request URI is correct.
   273  //
   274  //   * UnauthorizedException
   275  //   The request is denied because the caller has insufficient permissions.
   276  //
   277  //   * TooManyRequestsException
   278  //   The request has reached its throttling limit. Retry after the specified time
   279  //   period.
   280  //
   281  func (c *APIGateway) CreateBasePathMapping(input *CreateBasePathMappingInput) (*BasePathMapping, error) {
   282  	req, out := c.CreateBasePathMappingRequest(input)
   283  	return out, req.Send()
   284  }
   285  
   286  // CreateBasePathMappingWithContext is the same as CreateBasePathMapping with the addition of
   287  // the ability to pass a context and additional request options.
   288  //
   289  // See CreateBasePathMapping for details on how to use this API operation.
   290  //
   291  // The context must be non-nil and will be used for request cancellation. If
   292  // the context is nil a panic will occur. In the future the SDK may create
   293  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   294  // for more information on using Contexts.
   295  func (c *APIGateway) CreateBasePathMappingWithContext(ctx aws.Context, input *CreateBasePathMappingInput, opts ...request.Option) (*BasePathMapping, error) {
   296  	req, out := c.CreateBasePathMappingRequest(input)
   297  	req.SetContext(ctx)
   298  	req.ApplyOptions(opts...)
   299  	return out, req.Send()
   300  }
   301  
   302  const opCreateDeployment = "CreateDeployment"
   303  
   304  // CreateDeploymentRequest generates a "aws/request.Request" representing the
   305  // client's request for the CreateDeployment operation. The "output" return
   306  // value will be populated with the request's response once the request completes
   307  // successfully.
   308  //
   309  // Use "Send" method on the returned Request to send the API call to the service.
   310  // the "output" return value is not valid until after Send returns without error.
   311  //
   312  // See CreateDeployment for more information on using the CreateDeployment
   313  // API call, and error handling.
   314  //
   315  // This method is useful when you want to inject custom logic or configuration
   316  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   317  //
   318  //
   319  //    // Example sending a request using the CreateDeploymentRequest method.
   320  //    req, resp := client.CreateDeploymentRequest(params)
   321  //
   322  //    err := req.Send()
   323  //    if err == nil { // resp is now filled
   324  //        fmt.Println(resp)
   325  //    }
   326  func (c *APIGateway) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *Deployment) {
   327  	op := &request.Operation{
   328  		Name:       opCreateDeployment,
   329  		HTTPMethod: "POST",
   330  		HTTPPath:   "/restapis/{restapi_id}/deployments",
   331  	}
   332  
   333  	if input == nil {
   334  		input = &CreateDeploymentInput{}
   335  	}
   336  
   337  	output = &Deployment{}
   338  	req = c.newRequest(op, input, output)
   339  	return
   340  }
   341  
   342  // CreateDeployment API operation for Amazon API Gateway.
   343  //
   344  // Creates a Deployment resource, which makes a specified RestApi callable over
   345  // the internet.
   346  //
   347  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   348  // with awserr.Error's Code and Message methods to get detailed information about
   349  // the error.
   350  //
   351  // See the AWS API reference guide for Amazon API Gateway's
   352  // API operation CreateDeployment for usage and error information.
   353  //
   354  // Returned Error Types:
   355  //   * BadRequestException
   356  //   The submitted request is not valid, for example, the input is incomplete
   357  //   or incorrect. See the accompanying error message for details.
   358  //
   359  //   * ConflictException
   360  //   The request configuration has conflicts. For details, see the accompanying
   361  //   error message.
   362  //
   363  //   * LimitExceededException
   364  //   The request exceeded the rate limit. Retry after the specified time period.
   365  //
   366  //   * NotFoundException
   367  //   The requested resource is not found. Make sure that the request URI is correct.
   368  //
   369  //   * UnauthorizedException
   370  //   The request is denied because the caller has insufficient permissions.
   371  //
   372  //   * TooManyRequestsException
   373  //   The request has reached its throttling limit. Retry after the specified time
   374  //   period.
   375  //
   376  //   * ServiceUnavailableException
   377  //   The requested service is not available. For details see the accompanying
   378  //   error message. Retry after the specified time period.
   379  //
   380  func (c *APIGateway) CreateDeployment(input *CreateDeploymentInput) (*Deployment, error) {
   381  	req, out := c.CreateDeploymentRequest(input)
   382  	return out, req.Send()
   383  }
   384  
   385  // CreateDeploymentWithContext is the same as CreateDeployment with the addition of
   386  // the ability to pass a context and additional request options.
   387  //
   388  // See CreateDeployment for details on how to use this API operation.
   389  //
   390  // The context must be non-nil and will be used for request cancellation. If
   391  // the context is nil a panic will occur. In the future the SDK may create
   392  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   393  // for more information on using Contexts.
   394  func (c *APIGateway) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*Deployment, error) {
   395  	req, out := c.CreateDeploymentRequest(input)
   396  	req.SetContext(ctx)
   397  	req.ApplyOptions(opts...)
   398  	return out, req.Send()
   399  }
   400  
   401  const opCreateDocumentationPart = "CreateDocumentationPart"
   402  
   403  // CreateDocumentationPartRequest generates a "aws/request.Request" representing the
   404  // client's request for the CreateDocumentationPart operation. The "output" return
   405  // value will be populated with the request's response once the request completes
   406  // successfully.
   407  //
   408  // Use "Send" method on the returned Request to send the API call to the service.
   409  // the "output" return value is not valid until after Send returns without error.
   410  //
   411  // See CreateDocumentationPart for more information on using the CreateDocumentationPart
   412  // API call, and error handling.
   413  //
   414  // This method is useful when you want to inject custom logic or configuration
   415  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   416  //
   417  //
   418  //    // Example sending a request using the CreateDocumentationPartRequest method.
   419  //    req, resp := client.CreateDocumentationPartRequest(params)
   420  //
   421  //    err := req.Send()
   422  //    if err == nil { // resp is now filled
   423  //        fmt.Println(resp)
   424  //    }
   425  func (c *APIGateway) CreateDocumentationPartRequest(input *CreateDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
   426  	op := &request.Operation{
   427  		Name:       opCreateDocumentationPart,
   428  		HTTPMethod: "POST",
   429  		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
   430  	}
   431  
   432  	if input == nil {
   433  		input = &CreateDocumentationPartInput{}
   434  	}
   435  
   436  	output = &DocumentationPart{}
   437  	req = c.newRequest(op, input, output)
   438  	return
   439  }
   440  
   441  // CreateDocumentationPart API operation for Amazon API Gateway.
   442  //
   443  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   444  // with awserr.Error's Code and Message methods to get detailed information about
   445  // the error.
   446  //
   447  // See the AWS API reference guide for Amazon API Gateway's
   448  // API operation CreateDocumentationPart for usage and error information.
   449  //
   450  // Returned Error Types:
   451  //   * BadRequestException
   452  //   The submitted request is not valid, for example, the input is incomplete
   453  //   or incorrect. See the accompanying error message for details.
   454  //
   455  //   * ConflictException
   456  //   The request configuration has conflicts. For details, see the accompanying
   457  //   error message.
   458  //
   459  //   * LimitExceededException
   460  //   The request exceeded the rate limit. Retry after the specified time period.
   461  //
   462  //   * NotFoundException
   463  //   The requested resource is not found. Make sure that the request URI is correct.
   464  //
   465  //   * UnauthorizedException
   466  //   The request is denied because the caller has insufficient permissions.
   467  //
   468  //   * TooManyRequestsException
   469  //   The request has reached its throttling limit. Retry after the specified time
   470  //   period.
   471  //
   472  func (c *APIGateway) CreateDocumentationPart(input *CreateDocumentationPartInput) (*DocumentationPart, error) {
   473  	req, out := c.CreateDocumentationPartRequest(input)
   474  	return out, req.Send()
   475  }
   476  
   477  // CreateDocumentationPartWithContext is the same as CreateDocumentationPart with the addition of
   478  // the ability to pass a context and additional request options.
   479  //
   480  // See CreateDocumentationPart for details on how to use this API operation.
   481  //
   482  // The context must be non-nil and will be used for request cancellation. If
   483  // the context is nil a panic will occur. In the future the SDK may create
   484  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   485  // for more information on using Contexts.
   486  func (c *APIGateway) CreateDocumentationPartWithContext(ctx aws.Context, input *CreateDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
   487  	req, out := c.CreateDocumentationPartRequest(input)
   488  	req.SetContext(ctx)
   489  	req.ApplyOptions(opts...)
   490  	return out, req.Send()
   491  }
   492  
   493  const opCreateDocumentationVersion = "CreateDocumentationVersion"
   494  
   495  // CreateDocumentationVersionRequest generates a "aws/request.Request" representing the
   496  // client's request for the CreateDocumentationVersion operation. The "output" return
   497  // value will be populated with the request's response once the request completes
   498  // successfully.
   499  //
   500  // Use "Send" method on the returned Request to send the API call to the service.
   501  // the "output" return value is not valid until after Send returns without error.
   502  //
   503  // See CreateDocumentationVersion for more information on using the CreateDocumentationVersion
   504  // API call, and error handling.
   505  //
   506  // This method is useful when you want to inject custom logic or configuration
   507  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   508  //
   509  //
   510  //    // Example sending a request using the CreateDocumentationVersionRequest method.
   511  //    req, resp := client.CreateDocumentationVersionRequest(params)
   512  //
   513  //    err := req.Send()
   514  //    if err == nil { // resp is now filled
   515  //        fmt.Println(resp)
   516  //    }
   517  func (c *APIGateway) CreateDocumentationVersionRequest(input *CreateDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
   518  	op := &request.Operation{
   519  		Name:       opCreateDocumentationVersion,
   520  		HTTPMethod: "POST",
   521  		HTTPPath:   "/restapis/{restapi_id}/documentation/versions",
   522  	}
   523  
   524  	if input == nil {
   525  		input = &CreateDocumentationVersionInput{}
   526  	}
   527  
   528  	output = &DocumentationVersion{}
   529  	req = c.newRequest(op, input, output)
   530  	return
   531  }
   532  
   533  // CreateDocumentationVersion API operation for Amazon API Gateway.
   534  //
   535  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   536  // with awserr.Error's Code and Message methods to get detailed information about
   537  // the error.
   538  //
   539  // See the AWS API reference guide for Amazon API Gateway's
   540  // API operation CreateDocumentationVersion for usage and error information.
   541  //
   542  // Returned Error Types:
   543  //   * BadRequestException
   544  //   The submitted request is not valid, for example, the input is incomplete
   545  //   or incorrect. See the accompanying error message for details.
   546  //
   547  //   * ConflictException
   548  //   The request configuration has conflicts. For details, see the accompanying
   549  //   error message.
   550  //
   551  //   * LimitExceededException
   552  //   The request exceeded the rate limit. Retry after the specified time period.
   553  //
   554  //   * NotFoundException
   555  //   The requested resource is not found. Make sure that the request URI is correct.
   556  //
   557  //   * UnauthorizedException
   558  //   The request is denied because the caller has insufficient permissions.
   559  //
   560  //   * TooManyRequestsException
   561  //   The request has reached its throttling limit. Retry after the specified time
   562  //   period.
   563  //
   564  func (c *APIGateway) CreateDocumentationVersion(input *CreateDocumentationVersionInput) (*DocumentationVersion, error) {
   565  	req, out := c.CreateDocumentationVersionRequest(input)
   566  	return out, req.Send()
   567  }
   568  
   569  // CreateDocumentationVersionWithContext is the same as CreateDocumentationVersion with the addition of
   570  // the ability to pass a context and additional request options.
   571  //
   572  // See CreateDocumentationVersion for details on how to use this API operation.
   573  //
   574  // The context must be non-nil and will be used for request cancellation. If
   575  // the context is nil a panic will occur. In the future the SDK may create
   576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   577  // for more information on using Contexts.
   578  func (c *APIGateway) CreateDocumentationVersionWithContext(ctx aws.Context, input *CreateDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
   579  	req, out := c.CreateDocumentationVersionRequest(input)
   580  	req.SetContext(ctx)
   581  	req.ApplyOptions(opts...)
   582  	return out, req.Send()
   583  }
   584  
   585  const opCreateDomainName = "CreateDomainName"
   586  
   587  // CreateDomainNameRequest generates a "aws/request.Request" representing the
   588  // client's request for the CreateDomainName operation. The "output" return
   589  // value will be populated with the request's response once the request completes
   590  // successfully.
   591  //
   592  // Use "Send" method on the returned Request to send the API call to the service.
   593  // the "output" return value is not valid until after Send returns without error.
   594  //
   595  // See CreateDomainName for more information on using the CreateDomainName
   596  // API call, and error handling.
   597  //
   598  // This method is useful when you want to inject custom logic or configuration
   599  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   600  //
   601  //
   602  //    // Example sending a request using the CreateDomainNameRequest method.
   603  //    req, resp := client.CreateDomainNameRequest(params)
   604  //
   605  //    err := req.Send()
   606  //    if err == nil { // resp is now filled
   607  //        fmt.Println(resp)
   608  //    }
   609  func (c *APIGateway) CreateDomainNameRequest(input *CreateDomainNameInput) (req *request.Request, output *DomainName) {
   610  	op := &request.Operation{
   611  		Name:       opCreateDomainName,
   612  		HTTPMethod: "POST",
   613  		HTTPPath:   "/domainnames",
   614  	}
   615  
   616  	if input == nil {
   617  		input = &CreateDomainNameInput{}
   618  	}
   619  
   620  	output = &DomainName{}
   621  	req = c.newRequest(op, input, output)
   622  	return
   623  }
   624  
   625  // CreateDomainName API operation for Amazon API Gateway.
   626  //
   627  // Creates a new domain name.
   628  //
   629  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   630  // with awserr.Error's Code and Message methods to get detailed information about
   631  // the error.
   632  //
   633  // See the AWS API reference guide for Amazon API Gateway's
   634  // API operation CreateDomainName for usage and error information.
   635  //
   636  // Returned Error Types:
   637  //   * BadRequestException
   638  //   The submitted request is not valid, for example, the input is incomplete
   639  //   or incorrect. See the accompanying error message for details.
   640  //
   641  //   * ConflictException
   642  //   The request configuration has conflicts. For details, see the accompanying
   643  //   error message.
   644  //
   645  //   * LimitExceededException
   646  //   The request exceeded the rate limit. Retry after the specified time period.
   647  //
   648  //   * UnauthorizedException
   649  //   The request is denied because the caller has insufficient permissions.
   650  //
   651  //   * TooManyRequestsException
   652  //   The request has reached its throttling limit. Retry after the specified time
   653  //   period.
   654  //
   655  func (c *APIGateway) CreateDomainName(input *CreateDomainNameInput) (*DomainName, error) {
   656  	req, out := c.CreateDomainNameRequest(input)
   657  	return out, req.Send()
   658  }
   659  
   660  // CreateDomainNameWithContext is the same as CreateDomainName with the addition of
   661  // the ability to pass a context and additional request options.
   662  //
   663  // See CreateDomainName for details on how to use this API operation.
   664  //
   665  // The context must be non-nil and will be used for request cancellation. If
   666  // the context is nil a panic will occur. In the future the SDK may create
   667  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   668  // for more information on using Contexts.
   669  func (c *APIGateway) CreateDomainNameWithContext(ctx aws.Context, input *CreateDomainNameInput, opts ...request.Option) (*DomainName, error) {
   670  	req, out := c.CreateDomainNameRequest(input)
   671  	req.SetContext(ctx)
   672  	req.ApplyOptions(opts...)
   673  	return out, req.Send()
   674  }
   675  
   676  const opCreateModel = "CreateModel"
   677  
   678  // CreateModelRequest generates a "aws/request.Request" representing the
   679  // client's request for the CreateModel operation. The "output" return
   680  // value will be populated with the request's response once the request completes
   681  // successfully.
   682  //
   683  // Use "Send" method on the returned Request to send the API call to the service.
   684  // the "output" return value is not valid until after Send returns without error.
   685  //
   686  // See CreateModel for more information on using the CreateModel
   687  // API call, and error handling.
   688  //
   689  // This method is useful when you want to inject custom logic or configuration
   690  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   691  //
   692  //
   693  //    // Example sending a request using the CreateModelRequest method.
   694  //    req, resp := client.CreateModelRequest(params)
   695  //
   696  //    err := req.Send()
   697  //    if err == nil { // resp is now filled
   698  //        fmt.Println(resp)
   699  //    }
   700  func (c *APIGateway) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *Model) {
   701  	op := &request.Operation{
   702  		Name:       opCreateModel,
   703  		HTTPMethod: "POST",
   704  		HTTPPath:   "/restapis/{restapi_id}/models",
   705  	}
   706  
   707  	if input == nil {
   708  		input = &CreateModelInput{}
   709  	}
   710  
   711  	output = &Model{}
   712  	req = c.newRequest(op, input, output)
   713  	return
   714  }
   715  
   716  // CreateModel API operation for Amazon API Gateway.
   717  //
   718  // Adds a new Model resource to an existing RestApi resource.
   719  //
   720  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   721  // with awserr.Error's Code and Message methods to get detailed information about
   722  // the error.
   723  //
   724  // See the AWS API reference guide for Amazon API Gateway's
   725  // API operation CreateModel for usage and error information.
   726  //
   727  // Returned Error Types:
   728  //   * BadRequestException
   729  //   The submitted request is not valid, for example, the input is incomplete
   730  //   or incorrect. See the accompanying error message for details.
   731  //
   732  //   * ConflictException
   733  //   The request configuration has conflicts. For details, see the accompanying
   734  //   error message.
   735  //
   736  //   * LimitExceededException
   737  //   The request exceeded the rate limit. Retry after the specified time period.
   738  //
   739  //   * NotFoundException
   740  //   The requested resource is not found. Make sure that the request URI is correct.
   741  //
   742  //   * UnauthorizedException
   743  //   The request is denied because the caller has insufficient permissions.
   744  //
   745  //   * TooManyRequestsException
   746  //   The request has reached its throttling limit. Retry after the specified time
   747  //   period.
   748  //
   749  func (c *APIGateway) CreateModel(input *CreateModelInput) (*Model, error) {
   750  	req, out := c.CreateModelRequest(input)
   751  	return out, req.Send()
   752  }
   753  
   754  // CreateModelWithContext is the same as CreateModel with the addition of
   755  // the ability to pass a context and additional request options.
   756  //
   757  // See CreateModel for details on how to use this API operation.
   758  //
   759  // The context must be non-nil and will be used for request cancellation. If
   760  // the context is nil a panic will occur. In the future the SDK may create
   761  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   762  // for more information on using Contexts.
   763  func (c *APIGateway) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*Model, error) {
   764  	req, out := c.CreateModelRequest(input)
   765  	req.SetContext(ctx)
   766  	req.ApplyOptions(opts...)
   767  	return out, req.Send()
   768  }
   769  
   770  const opCreateRequestValidator = "CreateRequestValidator"
   771  
   772  // CreateRequestValidatorRequest generates a "aws/request.Request" representing the
   773  // client's request for the CreateRequestValidator operation. The "output" return
   774  // value will be populated with the request's response once the request completes
   775  // successfully.
   776  //
   777  // Use "Send" method on the returned Request to send the API call to the service.
   778  // the "output" return value is not valid until after Send returns without error.
   779  //
   780  // See CreateRequestValidator for more information on using the CreateRequestValidator
   781  // API call, and error handling.
   782  //
   783  // This method is useful when you want to inject custom logic or configuration
   784  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   785  //
   786  //
   787  //    // Example sending a request using the CreateRequestValidatorRequest method.
   788  //    req, resp := client.CreateRequestValidatorRequest(params)
   789  //
   790  //    err := req.Send()
   791  //    if err == nil { // resp is now filled
   792  //        fmt.Println(resp)
   793  //    }
   794  func (c *APIGateway) CreateRequestValidatorRequest(input *CreateRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
   795  	op := &request.Operation{
   796  		Name:       opCreateRequestValidator,
   797  		HTTPMethod: "POST",
   798  		HTTPPath:   "/restapis/{restapi_id}/requestvalidators",
   799  	}
   800  
   801  	if input == nil {
   802  		input = &CreateRequestValidatorInput{}
   803  	}
   804  
   805  	output = &UpdateRequestValidatorOutput{}
   806  	req = c.newRequest(op, input, output)
   807  	return
   808  }
   809  
   810  // CreateRequestValidator API operation for Amazon API Gateway.
   811  //
   812  // Creates a ReqeustValidator of a given RestApi.
   813  //
   814  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   815  // with awserr.Error's Code and Message methods to get detailed information about
   816  // the error.
   817  //
   818  // See the AWS API reference guide for Amazon API Gateway's
   819  // API operation CreateRequestValidator for usage and error information.
   820  //
   821  // Returned Error Types:
   822  //   * BadRequestException
   823  //   The submitted request is not valid, for example, the input is incomplete
   824  //   or incorrect. See the accompanying error message for details.
   825  //
   826  //   * ConflictException
   827  //   The request configuration has conflicts. For details, see the accompanying
   828  //   error message.
   829  //
   830  //   * LimitExceededException
   831  //   The request exceeded the rate limit. Retry after the specified time period.
   832  //
   833  //   * NotFoundException
   834  //   The requested resource is not found. Make sure that the request URI is correct.
   835  //
   836  //   * UnauthorizedException
   837  //   The request is denied because the caller has insufficient permissions.
   838  //
   839  //   * TooManyRequestsException
   840  //   The request has reached its throttling limit. Retry after the specified time
   841  //   period.
   842  //
   843  func (c *APIGateway) CreateRequestValidator(input *CreateRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
   844  	req, out := c.CreateRequestValidatorRequest(input)
   845  	return out, req.Send()
   846  }
   847  
   848  // CreateRequestValidatorWithContext is the same as CreateRequestValidator with the addition of
   849  // the ability to pass a context and additional request options.
   850  //
   851  // See CreateRequestValidator for details on how to use this API operation.
   852  //
   853  // The context must be non-nil and will be used for request cancellation. If
   854  // the context is nil a panic will occur. In the future the SDK may create
   855  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   856  // for more information on using Contexts.
   857  func (c *APIGateway) CreateRequestValidatorWithContext(ctx aws.Context, input *CreateRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
   858  	req, out := c.CreateRequestValidatorRequest(input)
   859  	req.SetContext(ctx)
   860  	req.ApplyOptions(opts...)
   861  	return out, req.Send()
   862  }
   863  
   864  const opCreateResource = "CreateResource"
   865  
   866  // CreateResourceRequest generates a "aws/request.Request" representing the
   867  // client's request for the CreateResource operation. The "output" return
   868  // value will be populated with the request's response once the request completes
   869  // successfully.
   870  //
   871  // Use "Send" method on the returned Request to send the API call to the service.
   872  // the "output" return value is not valid until after Send returns without error.
   873  //
   874  // See CreateResource for more information on using the CreateResource
   875  // API call, and error handling.
   876  //
   877  // This method is useful when you want to inject custom logic or configuration
   878  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   879  //
   880  //
   881  //    // Example sending a request using the CreateResourceRequest method.
   882  //    req, resp := client.CreateResourceRequest(params)
   883  //
   884  //    err := req.Send()
   885  //    if err == nil { // resp is now filled
   886  //        fmt.Println(resp)
   887  //    }
   888  func (c *APIGateway) CreateResourceRequest(input *CreateResourceInput) (req *request.Request, output *Resource) {
   889  	op := &request.Operation{
   890  		Name:       opCreateResource,
   891  		HTTPMethod: "POST",
   892  		HTTPPath:   "/restapis/{restapi_id}/resources/{parent_id}",
   893  	}
   894  
   895  	if input == nil {
   896  		input = &CreateResourceInput{}
   897  	}
   898  
   899  	output = &Resource{}
   900  	req = c.newRequest(op, input, output)
   901  	return
   902  }
   903  
   904  // CreateResource API operation for Amazon API Gateway.
   905  //
   906  // Creates a Resource resource.
   907  //
   908  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   909  // with awserr.Error's Code and Message methods to get detailed information about
   910  // the error.
   911  //
   912  // See the AWS API reference guide for Amazon API Gateway's
   913  // API operation CreateResource for usage and error information.
   914  //
   915  // Returned Error Types:
   916  //   * UnauthorizedException
   917  //   The request is denied because the caller has insufficient permissions.
   918  //
   919  //   * NotFoundException
   920  //   The requested resource is not found. Make sure that the request URI is correct.
   921  //
   922  //   * ConflictException
   923  //   The request configuration has conflicts. For details, see the accompanying
   924  //   error message.
   925  //
   926  //   * LimitExceededException
   927  //   The request exceeded the rate limit. Retry after the specified time period.
   928  //
   929  //   * BadRequestException
   930  //   The submitted request is not valid, for example, the input is incomplete
   931  //   or incorrect. See the accompanying error message for details.
   932  //
   933  //   * TooManyRequestsException
   934  //   The request has reached its throttling limit. Retry after the specified time
   935  //   period.
   936  //
   937  func (c *APIGateway) CreateResource(input *CreateResourceInput) (*Resource, error) {
   938  	req, out := c.CreateResourceRequest(input)
   939  	return out, req.Send()
   940  }
   941  
   942  // CreateResourceWithContext is the same as CreateResource with the addition of
   943  // the ability to pass a context and additional request options.
   944  //
   945  // See CreateResource for details on how to use this API operation.
   946  //
   947  // The context must be non-nil and will be used for request cancellation. If
   948  // the context is nil a panic will occur. In the future the SDK may create
   949  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   950  // for more information on using Contexts.
   951  func (c *APIGateway) CreateResourceWithContext(ctx aws.Context, input *CreateResourceInput, opts ...request.Option) (*Resource, error) {
   952  	req, out := c.CreateResourceRequest(input)
   953  	req.SetContext(ctx)
   954  	req.ApplyOptions(opts...)
   955  	return out, req.Send()
   956  }
   957  
   958  const opCreateRestApi = "CreateRestApi"
   959  
   960  // CreateRestApiRequest generates a "aws/request.Request" representing the
   961  // client's request for the CreateRestApi operation. The "output" return
   962  // value will be populated with the request's response once the request completes
   963  // successfully.
   964  //
   965  // Use "Send" method on the returned Request to send the API call to the service.
   966  // the "output" return value is not valid until after Send returns without error.
   967  //
   968  // See CreateRestApi for more information on using the CreateRestApi
   969  // API call, and error handling.
   970  //
   971  // This method is useful when you want to inject custom logic or configuration
   972  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   973  //
   974  //
   975  //    // Example sending a request using the CreateRestApiRequest method.
   976  //    req, resp := client.CreateRestApiRequest(params)
   977  //
   978  //    err := req.Send()
   979  //    if err == nil { // resp is now filled
   980  //        fmt.Println(resp)
   981  //    }
   982  func (c *APIGateway) CreateRestApiRequest(input *CreateRestApiInput) (req *request.Request, output *RestApi) {
   983  	op := &request.Operation{
   984  		Name:       opCreateRestApi,
   985  		HTTPMethod: "POST",
   986  		HTTPPath:   "/restapis",
   987  	}
   988  
   989  	if input == nil {
   990  		input = &CreateRestApiInput{}
   991  	}
   992  
   993  	output = &RestApi{}
   994  	req = c.newRequest(op, input, output)
   995  	return
   996  }
   997  
   998  // CreateRestApi API operation for Amazon API Gateway.
   999  //
  1000  // Creates a new RestApi resource.
  1001  //
  1002  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1003  // with awserr.Error's Code and Message methods to get detailed information about
  1004  // the error.
  1005  //
  1006  // See the AWS API reference guide for Amazon API Gateway's
  1007  // API operation CreateRestApi for usage and error information.
  1008  //
  1009  // Returned Error Types:
  1010  //   * BadRequestException
  1011  //   The submitted request is not valid, for example, the input is incomplete
  1012  //   or incorrect. See the accompanying error message for details.
  1013  //
  1014  //   * ConflictException
  1015  //   The request configuration has conflicts. For details, see the accompanying
  1016  //   error message.
  1017  //
  1018  //   * LimitExceededException
  1019  //   The request exceeded the rate limit. Retry after the specified time period.
  1020  //
  1021  //   * UnauthorizedException
  1022  //   The request is denied because the caller has insufficient permissions.
  1023  //
  1024  //   * TooManyRequestsException
  1025  //   The request has reached its throttling limit. Retry after the specified time
  1026  //   period.
  1027  //
  1028  func (c *APIGateway) CreateRestApi(input *CreateRestApiInput) (*RestApi, error) {
  1029  	req, out := c.CreateRestApiRequest(input)
  1030  	return out, req.Send()
  1031  }
  1032  
  1033  // CreateRestApiWithContext is the same as CreateRestApi with the addition of
  1034  // the ability to pass a context and additional request options.
  1035  //
  1036  // See CreateRestApi for details on how to use this API operation.
  1037  //
  1038  // The context must be non-nil and will be used for request cancellation. If
  1039  // the context is nil a panic will occur. In the future the SDK may create
  1040  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1041  // for more information on using Contexts.
  1042  func (c *APIGateway) CreateRestApiWithContext(ctx aws.Context, input *CreateRestApiInput, opts ...request.Option) (*RestApi, error) {
  1043  	req, out := c.CreateRestApiRequest(input)
  1044  	req.SetContext(ctx)
  1045  	req.ApplyOptions(opts...)
  1046  	return out, req.Send()
  1047  }
  1048  
  1049  const opCreateStage = "CreateStage"
  1050  
  1051  // CreateStageRequest generates a "aws/request.Request" representing the
  1052  // client's request for the CreateStage operation. The "output" return
  1053  // value will be populated with the request's response once the request completes
  1054  // successfully.
  1055  //
  1056  // Use "Send" method on the returned Request to send the API call to the service.
  1057  // the "output" return value is not valid until after Send returns without error.
  1058  //
  1059  // See CreateStage for more information on using the CreateStage
  1060  // API call, and error handling.
  1061  //
  1062  // This method is useful when you want to inject custom logic or configuration
  1063  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1064  //
  1065  //
  1066  //    // Example sending a request using the CreateStageRequest method.
  1067  //    req, resp := client.CreateStageRequest(params)
  1068  //
  1069  //    err := req.Send()
  1070  //    if err == nil { // resp is now filled
  1071  //        fmt.Println(resp)
  1072  //    }
  1073  func (c *APIGateway) CreateStageRequest(input *CreateStageInput) (req *request.Request, output *Stage) {
  1074  	op := &request.Operation{
  1075  		Name:       opCreateStage,
  1076  		HTTPMethod: "POST",
  1077  		HTTPPath:   "/restapis/{restapi_id}/stages",
  1078  	}
  1079  
  1080  	if input == nil {
  1081  		input = &CreateStageInput{}
  1082  	}
  1083  
  1084  	output = &Stage{}
  1085  	req = c.newRequest(op, input, output)
  1086  	return
  1087  }
  1088  
  1089  // CreateStage API operation for Amazon API Gateway.
  1090  //
  1091  // Creates a new Stage resource that references a pre-existing Deployment for
  1092  // the API.
  1093  //
  1094  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1095  // with awserr.Error's Code and Message methods to get detailed information about
  1096  // the error.
  1097  //
  1098  // See the AWS API reference guide for Amazon API Gateway's
  1099  // API operation CreateStage for usage and error information.
  1100  //
  1101  // Returned Error Types:
  1102  //   * UnauthorizedException
  1103  //   The request is denied because the caller has insufficient permissions.
  1104  //
  1105  //   * BadRequestException
  1106  //   The submitted request is not valid, for example, the input is incomplete
  1107  //   or incorrect. See the accompanying error message for details.
  1108  //
  1109  //   * NotFoundException
  1110  //   The requested resource is not found. Make sure that the request URI is correct.
  1111  //
  1112  //   * ConflictException
  1113  //   The request configuration has conflicts. For details, see the accompanying
  1114  //   error message.
  1115  //
  1116  //   * LimitExceededException
  1117  //   The request exceeded the rate limit. Retry after the specified time period.
  1118  //
  1119  //   * TooManyRequestsException
  1120  //   The request has reached its throttling limit. Retry after the specified time
  1121  //   period.
  1122  //
  1123  func (c *APIGateway) CreateStage(input *CreateStageInput) (*Stage, error) {
  1124  	req, out := c.CreateStageRequest(input)
  1125  	return out, req.Send()
  1126  }
  1127  
  1128  // CreateStageWithContext is the same as CreateStage with the addition of
  1129  // the ability to pass a context and additional request options.
  1130  //
  1131  // See CreateStage for details on how to use this API operation.
  1132  //
  1133  // The context must be non-nil and will be used for request cancellation. If
  1134  // the context is nil a panic will occur. In the future the SDK may create
  1135  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1136  // for more information on using Contexts.
  1137  func (c *APIGateway) CreateStageWithContext(ctx aws.Context, input *CreateStageInput, opts ...request.Option) (*Stage, error) {
  1138  	req, out := c.CreateStageRequest(input)
  1139  	req.SetContext(ctx)
  1140  	req.ApplyOptions(opts...)
  1141  	return out, req.Send()
  1142  }
  1143  
  1144  const opCreateUsagePlan = "CreateUsagePlan"
  1145  
  1146  // CreateUsagePlanRequest generates a "aws/request.Request" representing the
  1147  // client's request for the CreateUsagePlan operation. The "output" return
  1148  // value will be populated with the request's response once the request completes
  1149  // successfully.
  1150  //
  1151  // Use "Send" method on the returned Request to send the API call to the service.
  1152  // the "output" return value is not valid until after Send returns without error.
  1153  //
  1154  // See CreateUsagePlan for more information on using the CreateUsagePlan
  1155  // API call, and error handling.
  1156  //
  1157  // This method is useful when you want to inject custom logic or configuration
  1158  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1159  //
  1160  //
  1161  //    // Example sending a request using the CreateUsagePlanRequest method.
  1162  //    req, resp := client.CreateUsagePlanRequest(params)
  1163  //
  1164  //    err := req.Send()
  1165  //    if err == nil { // resp is now filled
  1166  //        fmt.Println(resp)
  1167  //    }
  1168  func (c *APIGateway) CreateUsagePlanRequest(input *CreateUsagePlanInput) (req *request.Request, output *UsagePlan) {
  1169  	op := &request.Operation{
  1170  		Name:       opCreateUsagePlan,
  1171  		HTTPMethod: "POST",
  1172  		HTTPPath:   "/usageplans",
  1173  	}
  1174  
  1175  	if input == nil {
  1176  		input = &CreateUsagePlanInput{}
  1177  	}
  1178  
  1179  	output = &UsagePlan{}
  1180  	req = c.newRequest(op, input, output)
  1181  	return
  1182  }
  1183  
  1184  // CreateUsagePlan API operation for Amazon API Gateway.
  1185  //
  1186  // Creates a usage plan with the throttle and quota limits, as well as the associated
  1187  // API stages, specified in the payload.
  1188  //
  1189  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1190  // with awserr.Error's Code and Message methods to get detailed information about
  1191  // the error.
  1192  //
  1193  // See the AWS API reference guide for Amazon API Gateway's
  1194  // API operation CreateUsagePlan for usage and error information.
  1195  //
  1196  // Returned Error Types:
  1197  //   * BadRequestException
  1198  //   The submitted request is not valid, for example, the input is incomplete
  1199  //   or incorrect. See the accompanying error message for details.
  1200  //
  1201  //   * ConflictException
  1202  //   The request configuration has conflicts. For details, see the accompanying
  1203  //   error message.
  1204  //
  1205  //   * LimitExceededException
  1206  //   The request exceeded the rate limit. Retry after the specified time period.
  1207  //
  1208  //   * NotFoundException
  1209  //   The requested resource is not found. Make sure that the request URI is correct.
  1210  //
  1211  //   * UnauthorizedException
  1212  //   The request is denied because the caller has insufficient permissions.
  1213  //
  1214  //   * TooManyRequestsException
  1215  //   The request has reached its throttling limit. Retry after the specified time
  1216  //   period.
  1217  //
  1218  func (c *APIGateway) CreateUsagePlan(input *CreateUsagePlanInput) (*UsagePlan, error) {
  1219  	req, out := c.CreateUsagePlanRequest(input)
  1220  	return out, req.Send()
  1221  }
  1222  
  1223  // CreateUsagePlanWithContext is the same as CreateUsagePlan with the addition of
  1224  // the ability to pass a context and additional request options.
  1225  //
  1226  // See CreateUsagePlan for details on how to use this API operation.
  1227  //
  1228  // The context must be non-nil and will be used for request cancellation. If
  1229  // the context is nil a panic will occur. In the future the SDK may create
  1230  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1231  // for more information on using Contexts.
  1232  func (c *APIGateway) CreateUsagePlanWithContext(ctx aws.Context, input *CreateUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
  1233  	req, out := c.CreateUsagePlanRequest(input)
  1234  	req.SetContext(ctx)
  1235  	req.ApplyOptions(opts...)
  1236  	return out, req.Send()
  1237  }
  1238  
  1239  const opCreateUsagePlanKey = "CreateUsagePlanKey"
  1240  
  1241  // CreateUsagePlanKeyRequest generates a "aws/request.Request" representing the
  1242  // client's request for the CreateUsagePlanKey operation. The "output" return
  1243  // value will be populated with the request's response once the request completes
  1244  // successfully.
  1245  //
  1246  // Use "Send" method on the returned Request to send the API call to the service.
  1247  // the "output" return value is not valid until after Send returns without error.
  1248  //
  1249  // See CreateUsagePlanKey for more information on using the CreateUsagePlanKey
  1250  // API call, and error handling.
  1251  //
  1252  // This method is useful when you want to inject custom logic or configuration
  1253  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1254  //
  1255  //
  1256  //    // Example sending a request using the CreateUsagePlanKeyRequest method.
  1257  //    req, resp := client.CreateUsagePlanKeyRequest(params)
  1258  //
  1259  //    err := req.Send()
  1260  //    if err == nil { // resp is now filled
  1261  //        fmt.Println(resp)
  1262  //    }
  1263  func (c *APIGateway) CreateUsagePlanKeyRequest(input *CreateUsagePlanKeyInput) (req *request.Request, output *UsagePlanKey) {
  1264  	op := &request.Operation{
  1265  		Name:       opCreateUsagePlanKey,
  1266  		HTTPMethod: "POST",
  1267  		HTTPPath:   "/usageplans/{usageplanId}/keys",
  1268  	}
  1269  
  1270  	if input == nil {
  1271  		input = &CreateUsagePlanKeyInput{}
  1272  	}
  1273  
  1274  	output = &UsagePlanKey{}
  1275  	req = c.newRequest(op, input, output)
  1276  	return
  1277  }
  1278  
  1279  // CreateUsagePlanKey API operation for Amazon API Gateway.
  1280  //
  1281  // Creates a usage plan key for adding an existing API key to a usage plan.
  1282  //
  1283  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1284  // with awserr.Error's Code and Message methods to get detailed information about
  1285  // the error.
  1286  //
  1287  // See the AWS API reference guide for Amazon API Gateway's
  1288  // API operation CreateUsagePlanKey for usage and error information.
  1289  //
  1290  // Returned Error Types:
  1291  //   * BadRequestException
  1292  //   The submitted request is not valid, for example, the input is incomplete
  1293  //   or incorrect. See the accompanying error message for details.
  1294  //
  1295  //   * ConflictException
  1296  //   The request configuration has conflicts. For details, see the accompanying
  1297  //   error message.
  1298  //
  1299  //   * LimitExceededException
  1300  //   The request exceeded the rate limit. Retry after the specified time period.
  1301  //
  1302  //   * NotFoundException
  1303  //   The requested resource is not found. Make sure that the request URI is correct.
  1304  //
  1305  //   * UnauthorizedException
  1306  //   The request is denied because the caller has insufficient permissions.
  1307  //
  1308  //   * TooManyRequestsException
  1309  //   The request has reached its throttling limit. Retry after the specified time
  1310  //   period.
  1311  //
  1312  func (c *APIGateway) CreateUsagePlanKey(input *CreateUsagePlanKeyInput) (*UsagePlanKey, error) {
  1313  	req, out := c.CreateUsagePlanKeyRequest(input)
  1314  	return out, req.Send()
  1315  }
  1316  
  1317  // CreateUsagePlanKeyWithContext is the same as CreateUsagePlanKey with the addition of
  1318  // the ability to pass a context and additional request options.
  1319  //
  1320  // See CreateUsagePlanKey for details on how to use this API operation.
  1321  //
  1322  // The context must be non-nil and will be used for request cancellation. If
  1323  // the context is nil a panic will occur. In the future the SDK may create
  1324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1325  // for more information on using Contexts.
  1326  func (c *APIGateway) CreateUsagePlanKeyWithContext(ctx aws.Context, input *CreateUsagePlanKeyInput, opts ...request.Option) (*UsagePlanKey, error) {
  1327  	req, out := c.CreateUsagePlanKeyRequest(input)
  1328  	req.SetContext(ctx)
  1329  	req.ApplyOptions(opts...)
  1330  	return out, req.Send()
  1331  }
  1332  
  1333  const opCreateVpcLink = "CreateVpcLink"
  1334  
  1335  // CreateVpcLinkRequest generates a "aws/request.Request" representing the
  1336  // client's request for the CreateVpcLink operation. The "output" return
  1337  // value will be populated with the request's response once the request completes
  1338  // successfully.
  1339  //
  1340  // Use "Send" method on the returned Request to send the API call to the service.
  1341  // the "output" return value is not valid until after Send returns without error.
  1342  //
  1343  // See CreateVpcLink for more information on using the CreateVpcLink
  1344  // API call, and error handling.
  1345  //
  1346  // This method is useful when you want to inject custom logic or configuration
  1347  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1348  //
  1349  //
  1350  //    // Example sending a request using the CreateVpcLinkRequest method.
  1351  //    req, resp := client.CreateVpcLinkRequest(params)
  1352  //
  1353  //    err := req.Send()
  1354  //    if err == nil { // resp is now filled
  1355  //        fmt.Println(resp)
  1356  //    }
  1357  func (c *APIGateway) CreateVpcLinkRequest(input *CreateVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
  1358  	op := &request.Operation{
  1359  		Name:       opCreateVpcLink,
  1360  		HTTPMethod: "POST",
  1361  		HTTPPath:   "/vpclinks",
  1362  	}
  1363  
  1364  	if input == nil {
  1365  		input = &CreateVpcLinkInput{}
  1366  	}
  1367  
  1368  	output = &UpdateVpcLinkOutput{}
  1369  	req = c.newRequest(op, input, output)
  1370  	return
  1371  }
  1372  
  1373  // CreateVpcLink API operation for Amazon API Gateway.
  1374  //
  1375  // Creates a VPC link, under the caller's account in a selected region, in an
  1376  // asynchronous operation that typically takes 2-4 minutes to complete and become
  1377  // operational. The caller must have permissions to create and update VPC Endpoint
  1378  // services.
  1379  //
  1380  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1381  // with awserr.Error's Code and Message methods to get detailed information about
  1382  // the error.
  1383  //
  1384  // See the AWS API reference guide for Amazon API Gateway's
  1385  // API operation CreateVpcLink for usage and error information.
  1386  //
  1387  // Returned Error Types:
  1388  //   * BadRequestException
  1389  //   The submitted request is not valid, for example, the input is incomplete
  1390  //   or incorrect. See the accompanying error message for details.
  1391  //
  1392  //   * ConflictException
  1393  //   The request configuration has conflicts. For details, see the accompanying
  1394  //   error message.
  1395  //
  1396  //   * LimitExceededException
  1397  //   The request exceeded the rate limit. Retry after the specified time period.
  1398  //
  1399  //   * UnauthorizedException
  1400  //   The request is denied because the caller has insufficient permissions.
  1401  //
  1402  //   * TooManyRequestsException
  1403  //   The request has reached its throttling limit. Retry after the specified time
  1404  //   period.
  1405  //
  1406  func (c *APIGateway) CreateVpcLink(input *CreateVpcLinkInput) (*UpdateVpcLinkOutput, error) {
  1407  	req, out := c.CreateVpcLinkRequest(input)
  1408  	return out, req.Send()
  1409  }
  1410  
  1411  // CreateVpcLinkWithContext is the same as CreateVpcLink with the addition of
  1412  // the ability to pass a context and additional request options.
  1413  //
  1414  // See CreateVpcLink for details on how to use this API operation.
  1415  //
  1416  // The context must be non-nil and will be used for request cancellation. If
  1417  // the context is nil a panic will occur. In the future the SDK may create
  1418  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1419  // for more information on using Contexts.
  1420  func (c *APIGateway) CreateVpcLinkWithContext(ctx aws.Context, input *CreateVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
  1421  	req, out := c.CreateVpcLinkRequest(input)
  1422  	req.SetContext(ctx)
  1423  	req.ApplyOptions(opts...)
  1424  	return out, req.Send()
  1425  }
  1426  
  1427  const opDeleteApiKey = "DeleteApiKey"
  1428  
  1429  // DeleteApiKeyRequest generates a "aws/request.Request" representing the
  1430  // client's request for the DeleteApiKey operation. The "output" return
  1431  // value will be populated with the request's response once the request completes
  1432  // successfully.
  1433  //
  1434  // Use "Send" method on the returned Request to send the API call to the service.
  1435  // the "output" return value is not valid until after Send returns without error.
  1436  //
  1437  // See DeleteApiKey for more information on using the DeleteApiKey
  1438  // API call, and error handling.
  1439  //
  1440  // This method is useful when you want to inject custom logic or configuration
  1441  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1442  //
  1443  //
  1444  //    // Example sending a request using the DeleteApiKeyRequest method.
  1445  //    req, resp := client.DeleteApiKeyRequest(params)
  1446  //
  1447  //    err := req.Send()
  1448  //    if err == nil { // resp is now filled
  1449  //        fmt.Println(resp)
  1450  //    }
  1451  func (c *APIGateway) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request.Request, output *DeleteApiKeyOutput) {
  1452  	op := &request.Operation{
  1453  		Name:       opDeleteApiKey,
  1454  		HTTPMethod: "DELETE",
  1455  		HTTPPath:   "/apikeys/{api_Key}",
  1456  	}
  1457  
  1458  	if input == nil {
  1459  		input = &DeleteApiKeyInput{}
  1460  	}
  1461  
  1462  	output = &DeleteApiKeyOutput{}
  1463  	req = c.newRequest(op, input, output)
  1464  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1465  	return
  1466  }
  1467  
  1468  // DeleteApiKey API operation for Amazon API Gateway.
  1469  //
  1470  // Deletes the ApiKey resource.
  1471  //
  1472  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1473  // with awserr.Error's Code and Message methods to get detailed information about
  1474  // the error.
  1475  //
  1476  // See the AWS API reference guide for Amazon API Gateway's
  1477  // API operation DeleteApiKey for usage and error information.
  1478  //
  1479  // Returned Error Types:
  1480  //   * BadRequestException
  1481  //   The submitted request is not valid, for example, the input is incomplete
  1482  //   or incorrect. See the accompanying error message for details.
  1483  //
  1484  //   * ConflictException
  1485  //   The request configuration has conflicts. For details, see the accompanying
  1486  //   error message.
  1487  //
  1488  //   * NotFoundException
  1489  //   The requested resource is not found. Make sure that the request URI is correct.
  1490  //
  1491  //   * UnauthorizedException
  1492  //   The request is denied because the caller has insufficient permissions.
  1493  //
  1494  //   * TooManyRequestsException
  1495  //   The request has reached its throttling limit. Retry after the specified time
  1496  //   period.
  1497  //
  1498  func (c *APIGateway) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error) {
  1499  	req, out := c.DeleteApiKeyRequest(input)
  1500  	return out, req.Send()
  1501  }
  1502  
  1503  // DeleteApiKeyWithContext is the same as DeleteApiKey with the addition of
  1504  // the ability to pass a context and additional request options.
  1505  //
  1506  // See DeleteApiKey for details on how to use this API operation.
  1507  //
  1508  // The context must be non-nil and will be used for request cancellation. If
  1509  // the context is nil a panic will occur. In the future the SDK may create
  1510  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1511  // for more information on using Contexts.
  1512  func (c *APIGateway) DeleteApiKeyWithContext(ctx aws.Context, input *DeleteApiKeyInput, opts ...request.Option) (*DeleteApiKeyOutput, error) {
  1513  	req, out := c.DeleteApiKeyRequest(input)
  1514  	req.SetContext(ctx)
  1515  	req.ApplyOptions(opts...)
  1516  	return out, req.Send()
  1517  }
  1518  
  1519  const opDeleteAuthorizer = "DeleteAuthorizer"
  1520  
  1521  // DeleteAuthorizerRequest generates a "aws/request.Request" representing the
  1522  // client's request for the DeleteAuthorizer operation. The "output" return
  1523  // value will be populated with the request's response once the request completes
  1524  // successfully.
  1525  //
  1526  // Use "Send" method on the returned Request to send the API call to the service.
  1527  // the "output" return value is not valid until after Send returns without error.
  1528  //
  1529  // See DeleteAuthorizer for more information on using the DeleteAuthorizer
  1530  // API call, and error handling.
  1531  //
  1532  // This method is useful when you want to inject custom logic or configuration
  1533  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1534  //
  1535  //
  1536  //    // Example sending a request using the DeleteAuthorizerRequest method.
  1537  //    req, resp := client.DeleteAuthorizerRequest(params)
  1538  //
  1539  //    err := req.Send()
  1540  //    if err == nil { // resp is now filled
  1541  //        fmt.Println(resp)
  1542  //    }
  1543  func (c *APIGateway) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req *request.Request, output *DeleteAuthorizerOutput) {
  1544  	op := &request.Operation{
  1545  		Name:       opDeleteAuthorizer,
  1546  		HTTPMethod: "DELETE",
  1547  		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
  1548  	}
  1549  
  1550  	if input == nil {
  1551  		input = &DeleteAuthorizerInput{}
  1552  	}
  1553  
  1554  	output = &DeleteAuthorizerOutput{}
  1555  	req = c.newRequest(op, input, output)
  1556  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1557  	return
  1558  }
  1559  
  1560  // DeleteAuthorizer API operation for Amazon API Gateway.
  1561  //
  1562  // Deletes an existing Authorizer resource.
  1563  //
  1564  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/delete-authorizer.html)
  1565  //
  1566  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1567  // with awserr.Error's Code and Message methods to get detailed information about
  1568  // the error.
  1569  //
  1570  // See the AWS API reference guide for Amazon API Gateway's
  1571  // API operation DeleteAuthorizer for usage and error information.
  1572  //
  1573  // Returned Error Types:
  1574  //   * BadRequestException
  1575  //   The submitted request is not valid, for example, the input is incomplete
  1576  //   or incorrect. See the accompanying error message for details.
  1577  //
  1578  //   * ConflictException
  1579  //   The request configuration has conflicts. For details, see the accompanying
  1580  //   error message.
  1581  //
  1582  //   * NotFoundException
  1583  //   The requested resource is not found. Make sure that the request URI is correct.
  1584  //
  1585  //   * UnauthorizedException
  1586  //   The request is denied because the caller has insufficient permissions.
  1587  //
  1588  //   * TooManyRequestsException
  1589  //   The request has reached its throttling limit. Retry after the specified time
  1590  //   period.
  1591  //
  1592  func (c *APIGateway) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuthorizerOutput, error) {
  1593  	req, out := c.DeleteAuthorizerRequest(input)
  1594  	return out, req.Send()
  1595  }
  1596  
  1597  // DeleteAuthorizerWithContext is the same as DeleteAuthorizer with the addition of
  1598  // the ability to pass a context and additional request options.
  1599  //
  1600  // See DeleteAuthorizer for details on how to use this API operation.
  1601  //
  1602  // The context must be non-nil and will be used for request cancellation. If
  1603  // the context is nil a panic will occur. In the future the SDK may create
  1604  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1605  // for more information on using Contexts.
  1606  func (c *APIGateway) DeleteAuthorizerWithContext(ctx aws.Context, input *DeleteAuthorizerInput, opts ...request.Option) (*DeleteAuthorizerOutput, error) {
  1607  	req, out := c.DeleteAuthorizerRequest(input)
  1608  	req.SetContext(ctx)
  1609  	req.ApplyOptions(opts...)
  1610  	return out, req.Send()
  1611  }
  1612  
  1613  const opDeleteBasePathMapping = "DeleteBasePathMapping"
  1614  
  1615  // DeleteBasePathMappingRequest generates a "aws/request.Request" representing the
  1616  // client's request for the DeleteBasePathMapping operation. The "output" return
  1617  // value will be populated with the request's response once the request completes
  1618  // successfully.
  1619  //
  1620  // Use "Send" method on the returned Request to send the API call to the service.
  1621  // the "output" return value is not valid until after Send returns without error.
  1622  //
  1623  // See DeleteBasePathMapping for more information on using the DeleteBasePathMapping
  1624  // API call, and error handling.
  1625  //
  1626  // This method is useful when you want to inject custom logic or configuration
  1627  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1628  //
  1629  //
  1630  //    // Example sending a request using the DeleteBasePathMappingRequest method.
  1631  //    req, resp := client.DeleteBasePathMappingRequest(params)
  1632  //
  1633  //    err := req.Send()
  1634  //    if err == nil { // resp is now filled
  1635  //        fmt.Println(resp)
  1636  //    }
  1637  func (c *APIGateway) DeleteBasePathMappingRequest(input *DeleteBasePathMappingInput) (req *request.Request, output *DeleteBasePathMappingOutput) {
  1638  	op := &request.Operation{
  1639  		Name:       opDeleteBasePathMapping,
  1640  		HTTPMethod: "DELETE",
  1641  		HTTPPath:   "/domainnames/{domain_name}/basepathmappings/{base_path}",
  1642  	}
  1643  
  1644  	if input == nil {
  1645  		input = &DeleteBasePathMappingInput{}
  1646  	}
  1647  
  1648  	output = &DeleteBasePathMappingOutput{}
  1649  	req = c.newRequest(op, input, output)
  1650  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1651  	return
  1652  }
  1653  
  1654  // DeleteBasePathMapping API operation for Amazon API Gateway.
  1655  //
  1656  // Deletes the BasePathMapping resource.
  1657  //
  1658  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1659  // with awserr.Error's Code and Message methods to get detailed information about
  1660  // the error.
  1661  //
  1662  // See the AWS API reference guide for Amazon API Gateway's
  1663  // API operation DeleteBasePathMapping for usage and error information.
  1664  //
  1665  // Returned Error Types:
  1666  //   * BadRequestException
  1667  //   The submitted request is not valid, for example, the input is incomplete
  1668  //   or incorrect. See the accompanying error message for details.
  1669  //
  1670  //   * ConflictException
  1671  //   The request configuration has conflicts. For details, see the accompanying
  1672  //   error message.
  1673  //
  1674  //   * NotFoundException
  1675  //   The requested resource is not found. Make sure that the request URI is correct.
  1676  //
  1677  //   * UnauthorizedException
  1678  //   The request is denied because the caller has insufficient permissions.
  1679  //
  1680  //   * TooManyRequestsException
  1681  //   The request has reached its throttling limit. Retry after the specified time
  1682  //   period.
  1683  //
  1684  func (c *APIGateway) DeleteBasePathMapping(input *DeleteBasePathMappingInput) (*DeleteBasePathMappingOutput, error) {
  1685  	req, out := c.DeleteBasePathMappingRequest(input)
  1686  	return out, req.Send()
  1687  }
  1688  
  1689  // DeleteBasePathMappingWithContext is the same as DeleteBasePathMapping with the addition of
  1690  // the ability to pass a context and additional request options.
  1691  //
  1692  // See DeleteBasePathMapping for details on how to use this API operation.
  1693  //
  1694  // The context must be non-nil and will be used for request cancellation. If
  1695  // the context is nil a panic will occur. In the future the SDK may create
  1696  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1697  // for more information on using Contexts.
  1698  func (c *APIGateway) DeleteBasePathMappingWithContext(ctx aws.Context, input *DeleteBasePathMappingInput, opts ...request.Option) (*DeleteBasePathMappingOutput, error) {
  1699  	req, out := c.DeleteBasePathMappingRequest(input)
  1700  	req.SetContext(ctx)
  1701  	req.ApplyOptions(opts...)
  1702  	return out, req.Send()
  1703  }
  1704  
  1705  const opDeleteClientCertificate = "DeleteClientCertificate"
  1706  
  1707  // DeleteClientCertificateRequest generates a "aws/request.Request" representing the
  1708  // client's request for the DeleteClientCertificate operation. The "output" return
  1709  // value will be populated with the request's response once the request completes
  1710  // successfully.
  1711  //
  1712  // Use "Send" method on the returned Request to send the API call to the service.
  1713  // the "output" return value is not valid until after Send returns without error.
  1714  //
  1715  // See DeleteClientCertificate for more information on using the DeleteClientCertificate
  1716  // API call, and error handling.
  1717  //
  1718  // This method is useful when you want to inject custom logic or configuration
  1719  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1720  //
  1721  //
  1722  //    // Example sending a request using the DeleteClientCertificateRequest method.
  1723  //    req, resp := client.DeleteClientCertificateRequest(params)
  1724  //
  1725  //    err := req.Send()
  1726  //    if err == nil { // resp is now filled
  1727  //        fmt.Println(resp)
  1728  //    }
  1729  func (c *APIGateway) DeleteClientCertificateRequest(input *DeleteClientCertificateInput) (req *request.Request, output *DeleteClientCertificateOutput) {
  1730  	op := &request.Operation{
  1731  		Name:       opDeleteClientCertificate,
  1732  		HTTPMethod: "DELETE",
  1733  		HTTPPath:   "/clientcertificates/{clientcertificate_id}",
  1734  	}
  1735  
  1736  	if input == nil {
  1737  		input = &DeleteClientCertificateInput{}
  1738  	}
  1739  
  1740  	output = &DeleteClientCertificateOutput{}
  1741  	req = c.newRequest(op, input, output)
  1742  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1743  	return
  1744  }
  1745  
  1746  // DeleteClientCertificate API operation for Amazon API Gateway.
  1747  //
  1748  // Deletes the ClientCertificate resource.
  1749  //
  1750  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1751  // with awserr.Error's Code and Message methods to get detailed information about
  1752  // the error.
  1753  //
  1754  // See the AWS API reference guide for Amazon API Gateway's
  1755  // API operation DeleteClientCertificate for usage and error information.
  1756  //
  1757  // Returned Error Types:
  1758  //   * BadRequestException
  1759  //   The submitted request is not valid, for example, the input is incomplete
  1760  //   or incorrect. See the accompanying error message for details.
  1761  //
  1762  //   * ConflictException
  1763  //   The request configuration has conflicts. For details, see the accompanying
  1764  //   error message.
  1765  //
  1766  //   * NotFoundException
  1767  //   The requested resource is not found. Make sure that the request URI is correct.
  1768  //
  1769  //   * UnauthorizedException
  1770  //   The request is denied because the caller has insufficient permissions.
  1771  //
  1772  //   * TooManyRequestsException
  1773  //   The request has reached its throttling limit. Retry after the specified time
  1774  //   period.
  1775  //
  1776  func (c *APIGateway) DeleteClientCertificate(input *DeleteClientCertificateInput) (*DeleteClientCertificateOutput, error) {
  1777  	req, out := c.DeleteClientCertificateRequest(input)
  1778  	return out, req.Send()
  1779  }
  1780  
  1781  // DeleteClientCertificateWithContext is the same as DeleteClientCertificate with the addition of
  1782  // the ability to pass a context and additional request options.
  1783  //
  1784  // See DeleteClientCertificate for details on how to use this API operation.
  1785  //
  1786  // The context must be non-nil and will be used for request cancellation. If
  1787  // the context is nil a panic will occur. In the future the SDK may create
  1788  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1789  // for more information on using Contexts.
  1790  func (c *APIGateway) DeleteClientCertificateWithContext(ctx aws.Context, input *DeleteClientCertificateInput, opts ...request.Option) (*DeleteClientCertificateOutput, error) {
  1791  	req, out := c.DeleteClientCertificateRequest(input)
  1792  	req.SetContext(ctx)
  1793  	req.ApplyOptions(opts...)
  1794  	return out, req.Send()
  1795  }
  1796  
  1797  const opDeleteDeployment = "DeleteDeployment"
  1798  
  1799  // DeleteDeploymentRequest generates a "aws/request.Request" representing the
  1800  // client's request for the DeleteDeployment operation. The "output" return
  1801  // value will be populated with the request's response once the request completes
  1802  // successfully.
  1803  //
  1804  // Use "Send" method on the returned Request to send the API call to the service.
  1805  // the "output" return value is not valid until after Send returns without error.
  1806  //
  1807  // See DeleteDeployment for more information on using the DeleteDeployment
  1808  // API call, and error handling.
  1809  //
  1810  // This method is useful when you want to inject custom logic or configuration
  1811  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1812  //
  1813  //
  1814  //    // Example sending a request using the DeleteDeploymentRequest method.
  1815  //    req, resp := client.DeleteDeploymentRequest(params)
  1816  //
  1817  //    err := req.Send()
  1818  //    if err == nil { // resp is now filled
  1819  //        fmt.Println(resp)
  1820  //    }
  1821  func (c *APIGateway) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) {
  1822  	op := &request.Operation{
  1823  		Name:       opDeleteDeployment,
  1824  		HTTPMethod: "DELETE",
  1825  		HTTPPath:   "/restapis/{restapi_id}/deployments/{deployment_id}",
  1826  	}
  1827  
  1828  	if input == nil {
  1829  		input = &DeleteDeploymentInput{}
  1830  	}
  1831  
  1832  	output = &DeleteDeploymentOutput{}
  1833  	req = c.newRequest(op, input, output)
  1834  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1835  	return
  1836  }
  1837  
  1838  // DeleteDeployment API operation for Amazon API Gateway.
  1839  //
  1840  // Deletes a Deployment resource. Deleting a deployment will only succeed if
  1841  // there are no Stage resources associated with it.
  1842  //
  1843  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1844  // with awserr.Error's Code and Message methods to get detailed information about
  1845  // the error.
  1846  //
  1847  // See the AWS API reference guide for Amazon API Gateway's
  1848  // API operation DeleteDeployment for usage and error information.
  1849  //
  1850  // Returned Error Types:
  1851  //   * BadRequestException
  1852  //   The submitted request is not valid, for example, the input is incomplete
  1853  //   or incorrect. See the accompanying error message for details.
  1854  //
  1855  //   * ConflictException
  1856  //   The request configuration has conflicts. For details, see the accompanying
  1857  //   error message.
  1858  //
  1859  //   * LimitExceededException
  1860  //   The request exceeded the rate limit. Retry after the specified time period.
  1861  //
  1862  //   * NotFoundException
  1863  //   The requested resource is not found. Make sure that the request URI is correct.
  1864  //
  1865  //   * UnauthorizedException
  1866  //   The request is denied because the caller has insufficient permissions.
  1867  //
  1868  //   * TooManyRequestsException
  1869  //   The request has reached its throttling limit. Retry after the specified time
  1870  //   period.
  1871  //
  1872  func (c *APIGateway) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) {
  1873  	req, out := c.DeleteDeploymentRequest(input)
  1874  	return out, req.Send()
  1875  }
  1876  
  1877  // DeleteDeploymentWithContext is the same as DeleteDeployment with the addition of
  1878  // the ability to pass a context and additional request options.
  1879  //
  1880  // See DeleteDeployment for details on how to use this API operation.
  1881  //
  1882  // The context must be non-nil and will be used for request cancellation. If
  1883  // the context is nil a panic will occur. In the future the SDK may create
  1884  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1885  // for more information on using Contexts.
  1886  func (c *APIGateway) DeleteDeploymentWithContext(ctx aws.Context, input *DeleteDeploymentInput, opts ...request.Option) (*DeleteDeploymentOutput, error) {
  1887  	req, out := c.DeleteDeploymentRequest(input)
  1888  	req.SetContext(ctx)
  1889  	req.ApplyOptions(opts...)
  1890  	return out, req.Send()
  1891  }
  1892  
  1893  const opDeleteDocumentationPart = "DeleteDocumentationPart"
  1894  
  1895  // DeleteDocumentationPartRequest generates a "aws/request.Request" representing the
  1896  // client's request for the DeleteDocumentationPart operation. The "output" return
  1897  // value will be populated with the request's response once the request completes
  1898  // successfully.
  1899  //
  1900  // Use "Send" method on the returned Request to send the API call to the service.
  1901  // the "output" return value is not valid until after Send returns without error.
  1902  //
  1903  // See DeleteDocumentationPart for more information on using the DeleteDocumentationPart
  1904  // API call, and error handling.
  1905  //
  1906  // This method is useful when you want to inject custom logic or configuration
  1907  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1908  //
  1909  //
  1910  //    // Example sending a request using the DeleteDocumentationPartRequest method.
  1911  //    req, resp := client.DeleteDocumentationPartRequest(params)
  1912  //
  1913  //    err := req.Send()
  1914  //    if err == nil { // resp is now filled
  1915  //        fmt.Println(resp)
  1916  //    }
  1917  func (c *APIGateway) DeleteDocumentationPartRequest(input *DeleteDocumentationPartInput) (req *request.Request, output *DeleteDocumentationPartOutput) {
  1918  	op := &request.Operation{
  1919  		Name:       opDeleteDocumentationPart,
  1920  		HTTPMethod: "DELETE",
  1921  		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
  1922  	}
  1923  
  1924  	if input == nil {
  1925  		input = &DeleteDocumentationPartInput{}
  1926  	}
  1927  
  1928  	output = &DeleteDocumentationPartOutput{}
  1929  	req = c.newRequest(op, input, output)
  1930  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1931  	return
  1932  }
  1933  
  1934  // DeleteDocumentationPart API operation for Amazon API Gateway.
  1935  //
  1936  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1937  // with awserr.Error's Code and Message methods to get detailed information about
  1938  // the error.
  1939  //
  1940  // See the AWS API reference guide for Amazon API Gateway's
  1941  // API operation DeleteDocumentationPart for usage and error information.
  1942  //
  1943  // Returned Error Types:
  1944  //   * BadRequestException
  1945  //   The submitted request is not valid, for example, the input is incomplete
  1946  //   or incorrect. See the accompanying error message for details.
  1947  //
  1948  //   * ConflictException
  1949  //   The request configuration has conflicts. For details, see the accompanying
  1950  //   error message.
  1951  //
  1952  //   * NotFoundException
  1953  //   The requested resource is not found. Make sure that the request URI is correct.
  1954  //
  1955  //   * UnauthorizedException
  1956  //   The request is denied because the caller has insufficient permissions.
  1957  //
  1958  //   * TooManyRequestsException
  1959  //   The request has reached its throttling limit. Retry after the specified time
  1960  //   period.
  1961  //
  1962  func (c *APIGateway) DeleteDocumentationPart(input *DeleteDocumentationPartInput) (*DeleteDocumentationPartOutput, error) {
  1963  	req, out := c.DeleteDocumentationPartRequest(input)
  1964  	return out, req.Send()
  1965  }
  1966  
  1967  // DeleteDocumentationPartWithContext is the same as DeleteDocumentationPart with the addition of
  1968  // the ability to pass a context and additional request options.
  1969  //
  1970  // See DeleteDocumentationPart for details on how to use this API operation.
  1971  //
  1972  // The context must be non-nil and will be used for request cancellation. If
  1973  // the context is nil a panic will occur. In the future the SDK may create
  1974  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1975  // for more information on using Contexts.
  1976  func (c *APIGateway) DeleteDocumentationPartWithContext(ctx aws.Context, input *DeleteDocumentationPartInput, opts ...request.Option) (*DeleteDocumentationPartOutput, error) {
  1977  	req, out := c.DeleteDocumentationPartRequest(input)
  1978  	req.SetContext(ctx)
  1979  	req.ApplyOptions(opts...)
  1980  	return out, req.Send()
  1981  }
  1982  
  1983  const opDeleteDocumentationVersion = "DeleteDocumentationVersion"
  1984  
  1985  // DeleteDocumentationVersionRequest generates a "aws/request.Request" representing the
  1986  // client's request for the DeleteDocumentationVersion operation. The "output" return
  1987  // value will be populated with the request's response once the request completes
  1988  // successfully.
  1989  //
  1990  // Use "Send" method on the returned Request to send the API call to the service.
  1991  // the "output" return value is not valid until after Send returns without error.
  1992  //
  1993  // See DeleteDocumentationVersion for more information on using the DeleteDocumentationVersion
  1994  // API call, and error handling.
  1995  //
  1996  // This method is useful when you want to inject custom logic or configuration
  1997  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1998  //
  1999  //
  2000  //    // Example sending a request using the DeleteDocumentationVersionRequest method.
  2001  //    req, resp := client.DeleteDocumentationVersionRequest(params)
  2002  //
  2003  //    err := req.Send()
  2004  //    if err == nil { // resp is now filled
  2005  //        fmt.Println(resp)
  2006  //    }
  2007  func (c *APIGateway) DeleteDocumentationVersionRequest(input *DeleteDocumentationVersionInput) (req *request.Request, output *DeleteDocumentationVersionOutput) {
  2008  	op := &request.Operation{
  2009  		Name:       opDeleteDocumentationVersion,
  2010  		HTTPMethod: "DELETE",
  2011  		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
  2012  	}
  2013  
  2014  	if input == nil {
  2015  		input = &DeleteDocumentationVersionInput{}
  2016  	}
  2017  
  2018  	output = &DeleteDocumentationVersionOutput{}
  2019  	req = c.newRequest(op, input, output)
  2020  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2021  	return
  2022  }
  2023  
  2024  // DeleteDocumentationVersion API operation for Amazon API Gateway.
  2025  //
  2026  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2027  // with awserr.Error's Code and Message methods to get detailed information about
  2028  // the error.
  2029  //
  2030  // See the AWS API reference guide for Amazon API Gateway's
  2031  // API operation DeleteDocumentationVersion for usage and error information.
  2032  //
  2033  // Returned Error Types:
  2034  //   * BadRequestException
  2035  //   The submitted request is not valid, for example, the input is incomplete
  2036  //   or incorrect. See the accompanying error message for details.
  2037  //
  2038  //   * ConflictException
  2039  //   The request configuration has conflicts. For details, see the accompanying
  2040  //   error message.
  2041  //
  2042  //   * NotFoundException
  2043  //   The requested resource is not found. Make sure that the request URI is correct.
  2044  //
  2045  //   * UnauthorizedException
  2046  //   The request is denied because the caller has insufficient permissions.
  2047  //
  2048  //   * TooManyRequestsException
  2049  //   The request has reached its throttling limit. Retry after the specified time
  2050  //   period.
  2051  //
  2052  func (c *APIGateway) DeleteDocumentationVersion(input *DeleteDocumentationVersionInput) (*DeleteDocumentationVersionOutput, error) {
  2053  	req, out := c.DeleteDocumentationVersionRequest(input)
  2054  	return out, req.Send()
  2055  }
  2056  
  2057  // DeleteDocumentationVersionWithContext is the same as DeleteDocumentationVersion with the addition of
  2058  // the ability to pass a context and additional request options.
  2059  //
  2060  // See DeleteDocumentationVersion for details on how to use this API operation.
  2061  //
  2062  // The context must be non-nil and will be used for request cancellation. If
  2063  // the context is nil a panic will occur. In the future the SDK may create
  2064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2065  // for more information on using Contexts.
  2066  func (c *APIGateway) DeleteDocumentationVersionWithContext(ctx aws.Context, input *DeleteDocumentationVersionInput, opts ...request.Option) (*DeleteDocumentationVersionOutput, error) {
  2067  	req, out := c.DeleteDocumentationVersionRequest(input)
  2068  	req.SetContext(ctx)
  2069  	req.ApplyOptions(opts...)
  2070  	return out, req.Send()
  2071  }
  2072  
  2073  const opDeleteDomainName = "DeleteDomainName"
  2074  
  2075  // DeleteDomainNameRequest generates a "aws/request.Request" representing the
  2076  // client's request for the DeleteDomainName operation. The "output" return
  2077  // value will be populated with the request's response once the request completes
  2078  // successfully.
  2079  //
  2080  // Use "Send" method on the returned Request to send the API call to the service.
  2081  // the "output" return value is not valid until after Send returns without error.
  2082  //
  2083  // See DeleteDomainName for more information on using the DeleteDomainName
  2084  // API call, and error handling.
  2085  //
  2086  // This method is useful when you want to inject custom logic or configuration
  2087  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2088  //
  2089  //
  2090  //    // Example sending a request using the DeleteDomainNameRequest method.
  2091  //    req, resp := client.DeleteDomainNameRequest(params)
  2092  //
  2093  //    err := req.Send()
  2094  //    if err == nil { // resp is now filled
  2095  //        fmt.Println(resp)
  2096  //    }
  2097  func (c *APIGateway) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req *request.Request, output *DeleteDomainNameOutput) {
  2098  	op := &request.Operation{
  2099  		Name:       opDeleteDomainName,
  2100  		HTTPMethod: "DELETE",
  2101  		HTTPPath:   "/domainnames/{domain_name}",
  2102  	}
  2103  
  2104  	if input == nil {
  2105  		input = &DeleteDomainNameInput{}
  2106  	}
  2107  
  2108  	output = &DeleteDomainNameOutput{}
  2109  	req = c.newRequest(op, input, output)
  2110  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2111  	return
  2112  }
  2113  
  2114  // DeleteDomainName API operation for Amazon API Gateway.
  2115  //
  2116  // Deletes the DomainName resource.
  2117  //
  2118  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2119  // with awserr.Error's Code and Message methods to get detailed information about
  2120  // the error.
  2121  //
  2122  // See the AWS API reference guide for Amazon API Gateway's
  2123  // API operation DeleteDomainName for usage and error information.
  2124  //
  2125  // Returned Error Types:
  2126  //   * BadRequestException
  2127  //   The submitted request is not valid, for example, the input is incomplete
  2128  //   or incorrect. See the accompanying error message for details.
  2129  //
  2130  //   * ConflictException
  2131  //   The request configuration has conflicts. For details, see the accompanying
  2132  //   error message.
  2133  //
  2134  //   * NotFoundException
  2135  //   The requested resource is not found. Make sure that the request URI is correct.
  2136  //
  2137  //   * UnauthorizedException
  2138  //   The request is denied because the caller has insufficient permissions.
  2139  //
  2140  //   * TooManyRequestsException
  2141  //   The request has reached its throttling limit. Retry after the specified time
  2142  //   period.
  2143  //
  2144  func (c *APIGateway) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDomainNameOutput, error) {
  2145  	req, out := c.DeleteDomainNameRequest(input)
  2146  	return out, req.Send()
  2147  }
  2148  
  2149  // DeleteDomainNameWithContext is the same as DeleteDomainName with the addition of
  2150  // the ability to pass a context and additional request options.
  2151  //
  2152  // See DeleteDomainName for details on how to use this API operation.
  2153  //
  2154  // The context must be non-nil and will be used for request cancellation. If
  2155  // the context is nil a panic will occur. In the future the SDK may create
  2156  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2157  // for more information on using Contexts.
  2158  func (c *APIGateway) DeleteDomainNameWithContext(ctx aws.Context, input *DeleteDomainNameInput, opts ...request.Option) (*DeleteDomainNameOutput, error) {
  2159  	req, out := c.DeleteDomainNameRequest(input)
  2160  	req.SetContext(ctx)
  2161  	req.ApplyOptions(opts...)
  2162  	return out, req.Send()
  2163  }
  2164  
  2165  const opDeleteGatewayResponse = "DeleteGatewayResponse"
  2166  
  2167  // DeleteGatewayResponseRequest generates a "aws/request.Request" representing the
  2168  // client's request for the DeleteGatewayResponse operation. The "output" return
  2169  // value will be populated with the request's response once the request completes
  2170  // successfully.
  2171  //
  2172  // Use "Send" method on the returned Request to send the API call to the service.
  2173  // the "output" return value is not valid until after Send returns without error.
  2174  //
  2175  // See DeleteGatewayResponse for more information on using the DeleteGatewayResponse
  2176  // API call, and error handling.
  2177  //
  2178  // This method is useful when you want to inject custom logic or configuration
  2179  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2180  //
  2181  //
  2182  //    // Example sending a request using the DeleteGatewayResponseRequest method.
  2183  //    req, resp := client.DeleteGatewayResponseRequest(params)
  2184  //
  2185  //    err := req.Send()
  2186  //    if err == nil { // resp is now filled
  2187  //        fmt.Println(resp)
  2188  //    }
  2189  func (c *APIGateway) DeleteGatewayResponseRequest(input *DeleteGatewayResponseInput) (req *request.Request, output *DeleteGatewayResponseOutput) {
  2190  	op := &request.Operation{
  2191  		Name:       opDeleteGatewayResponse,
  2192  		HTTPMethod: "DELETE",
  2193  		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
  2194  	}
  2195  
  2196  	if input == nil {
  2197  		input = &DeleteGatewayResponseInput{}
  2198  	}
  2199  
  2200  	output = &DeleteGatewayResponseOutput{}
  2201  	req = c.newRequest(op, input, output)
  2202  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2203  	return
  2204  }
  2205  
  2206  // DeleteGatewayResponse API operation for Amazon API Gateway.
  2207  //
  2208  // Clears any customization of a GatewayResponse of a specified response type
  2209  // on the given RestApi and resets it with the default settings.
  2210  //
  2211  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2212  // with awserr.Error's Code and Message methods to get detailed information about
  2213  // the error.
  2214  //
  2215  // See the AWS API reference guide for Amazon API Gateway's
  2216  // API operation DeleteGatewayResponse for usage and error information.
  2217  //
  2218  // Returned Error Types:
  2219  //   * BadRequestException
  2220  //   The submitted request is not valid, for example, the input is incomplete
  2221  //   or incorrect. See the accompanying error message for details.
  2222  //
  2223  //   * ConflictException
  2224  //   The request configuration has conflicts. For details, see the accompanying
  2225  //   error message.
  2226  //
  2227  //   * NotFoundException
  2228  //   The requested resource is not found. Make sure that the request URI is correct.
  2229  //
  2230  //   * UnauthorizedException
  2231  //   The request is denied because the caller has insufficient permissions.
  2232  //
  2233  //   * TooManyRequestsException
  2234  //   The request has reached its throttling limit. Retry after the specified time
  2235  //   period.
  2236  //
  2237  func (c *APIGateway) DeleteGatewayResponse(input *DeleteGatewayResponseInput) (*DeleteGatewayResponseOutput, error) {
  2238  	req, out := c.DeleteGatewayResponseRequest(input)
  2239  	return out, req.Send()
  2240  }
  2241  
  2242  // DeleteGatewayResponseWithContext is the same as DeleteGatewayResponse with the addition of
  2243  // the ability to pass a context and additional request options.
  2244  //
  2245  // See DeleteGatewayResponse for details on how to use this API operation.
  2246  //
  2247  // The context must be non-nil and will be used for request cancellation. If
  2248  // the context is nil a panic will occur. In the future the SDK may create
  2249  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2250  // for more information on using Contexts.
  2251  func (c *APIGateway) DeleteGatewayResponseWithContext(ctx aws.Context, input *DeleteGatewayResponseInput, opts ...request.Option) (*DeleteGatewayResponseOutput, error) {
  2252  	req, out := c.DeleteGatewayResponseRequest(input)
  2253  	req.SetContext(ctx)
  2254  	req.ApplyOptions(opts...)
  2255  	return out, req.Send()
  2256  }
  2257  
  2258  const opDeleteIntegration = "DeleteIntegration"
  2259  
  2260  // DeleteIntegrationRequest generates a "aws/request.Request" representing the
  2261  // client's request for the DeleteIntegration operation. The "output" return
  2262  // value will be populated with the request's response once the request completes
  2263  // successfully.
  2264  //
  2265  // Use "Send" method on the returned Request to send the API call to the service.
  2266  // the "output" return value is not valid until after Send returns without error.
  2267  //
  2268  // See DeleteIntegration for more information on using the DeleteIntegration
  2269  // API call, and error handling.
  2270  //
  2271  // This method is useful when you want to inject custom logic or configuration
  2272  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2273  //
  2274  //
  2275  //    // Example sending a request using the DeleteIntegrationRequest method.
  2276  //    req, resp := client.DeleteIntegrationRequest(params)
  2277  //
  2278  //    err := req.Send()
  2279  //    if err == nil { // resp is now filled
  2280  //        fmt.Println(resp)
  2281  //    }
  2282  func (c *APIGateway) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) {
  2283  	op := &request.Operation{
  2284  		Name:       opDeleteIntegration,
  2285  		HTTPMethod: "DELETE",
  2286  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
  2287  	}
  2288  
  2289  	if input == nil {
  2290  		input = &DeleteIntegrationInput{}
  2291  	}
  2292  
  2293  	output = &DeleteIntegrationOutput{}
  2294  	req = c.newRequest(op, input, output)
  2295  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2296  	return
  2297  }
  2298  
  2299  // DeleteIntegration API operation for Amazon API Gateway.
  2300  //
  2301  // Represents a delete integration.
  2302  //
  2303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2304  // with awserr.Error's Code and Message methods to get detailed information about
  2305  // the error.
  2306  //
  2307  // See the AWS API reference guide for Amazon API Gateway's
  2308  // API operation DeleteIntegration for usage and error information.
  2309  //
  2310  // Returned Error Types:
  2311  //   * BadRequestException
  2312  //   The submitted request is not valid, for example, the input is incomplete
  2313  //   or incorrect. See the accompanying error message for details.
  2314  //
  2315  //   * ConflictException
  2316  //   The request configuration has conflicts. For details, see the accompanying
  2317  //   error message.
  2318  //
  2319  //   * NotFoundException
  2320  //   The requested resource is not found. Make sure that the request URI is correct.
  2321  //
  2322  //   * UnauthorizedException
  2323  //   The request is denied because the caller has insufficient permissions.
  2324  //
  2325  //   * TooManyRequestsException
  2326  //   The request has reached its throttling limit. Retry after the specified time
  2327  //   period.
  2328  //
  2329  func (c *APIGateway) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) {
  2330  	req, out := c.DeleteIntegrationRequest(input)
  2331  	return out, req.Send()
  2332  }
  2333  
  2334  // DeleteIntegrationWithContext is the same as DeleteIntegration with the addition of
  2335  // the ability to pass a context and additional request options.
  2336  //
  2337  // See DeleteIntegration for details on how to use this API operation.
  2338  //
  2339  // The context must be non-nil and will be used for request cancellation. If
  2340  // the context is nil a panic will occur. In the future the SDK may create
  2341  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2342  // for more information on using Contexts.
  2343  func (c *APIGateway) DeleteIntegrationWithContext(ctx aws.Context, input *DeleteIntegrationInput, opts ...request.Option) (*DeleteIntegrationOutput, error) {
  2344  	req, out := c.DeleteIntegrationRequest(input)
  2345  	req.SetContext(ctx)
  2346  	req.ApplyOptions(opts...)
  2347  	return out, req.Send()
  2348  }
  2349  
  2350  const opDeleteIntegrationResponse = "DeleteIntegrationResponse"
  2351  
  2352  // DeleteIntegrationResponseRequest generates a "aws/request.Request" representing the
  2353  // client's request for the DeleteIntegrationResponse operation. The "output" return
  2354  // value will be populated with the request's response once the request completes
  2355  // successfully.
  2356  //
  2357  // Use "Send" method on the returned Request to send the API call to the service.
  2358  // the "output" return value is not valid until after Send returns without error.
  2359  //
  2360  // See DeleteIntegrationResponse for more information on using the DeleteIntegrationResponse
  2361  // API call, and error handling.
  2362  //
  2363  // This method is useful when you want to inject custom logic or configuration
  2364  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2365  //
  2366  //
  2367  //    // Example sending a request using the DeleteIntegrationResponseRequest method.
  2368  //    req, resp := client.DeleteIntegrationResponseRequest(params)
  2369  //
  2370  //    err := req.Send()
  2371  //    if err == nil { // resp is now filled
  2372  //        fmt.Println(resp)
  2373  //    }
  2374  func (c *APIGateway) DeleteIntegrationResponseRequest(input *DeleteIntegrationResponseInput) (req *request.Request, output *DeleteIntegrationResponseOutput) {
  2375  	op := &request.Operation{
  2376  		Name:       opDeleteIntegrationResponse,
  2377  		HTTPMethod: "DELETE",
  2378  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
  2379  	}
  2380  
  2381  	if input == nil {
  2382  		input = &DeleteIntegrationResponseInput{}
  2383  	}
  2384  
  2385  	output = &DeleteIntegrationResponseOutput{}
  2386  	req = c.newRequest(op, input, output)
  2387  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2388  	return
  2389  }
  2390  
  2391  // DeleteIntegrationResponse API operation for Amazon API Gateway.
  2392  //
  2393  // Represents a delete integration response.
  2394  //
  2395  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2396  // with awserr.Error's Code and Message methods to get detailed information about
  2397  // the error.
  2398  //
  2399  // See the AWS API reference guide for Amazon API Gateway's
  2400  // API operation DeleteIntegrationResponse for usage and error information.
  2401  //
  2402  // Returned Error Types:
  2403  //   * BadRequestException
  2404  //   The submitted request is not valid, for example, the input is incomplete
  2405  //   or incorrect. See the accompanying error message for details.
  2406  //
  2407  //   * ConflictException
  2408  //   The request configuration has conflicts. For details, see the accompanying
  2409  //   error message.
  2410  //
  2411  //   * NotFoundException
  2412  //   The requested resource is not found. Make sure that the request URI is correct.
  2413  //
  2414  //   * UnauthorizedException
  2415  //   The request is denied because the caller has insufficient permissions.
  2416  //
  2417  //   * TooManyRequestsException
  2418  //   The request has reached its throttling limit. Retry after the specified time
  2419  //   period.
  2420  //
  2421  func (c *APIGateway) DeleteIntegrationResponse(input *DeleteIntegrationResponseInput) (*DeleteIntegrationResponseOutput, error) {
  2422  	req, out := c.DeleteIntegrationResponseRequest(input)
  2423  	return out, req.Send()
  2424  }
  2425  
  2426  // DeleteIntegrationResponseWithContext is the same as DeleteIntegrationResponse with the addition of
  2427  // the ability to pass a context and additional request options.
  2428  //
  2429  // See DeleteIntegrationResponse for details on how to use this API operation.
  2430  //
  2431  // The context must be non-nil and will be used for request cancellation. If
  2432  // the context is nil a panic will occur. In the future the SDK may create
  2433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2434  // for more information on using Contexts.
  2435  func (c *APIGateway) DeleteIntegrationResponseWithContext(ctx aws.Context, input *DeleteIntegrationResponseInput, opts ...request.Option) (*DeleteIntegrationResponseOutput, error) {
  2436  	req, out := c.DeleteIntegrationResponseRequest(input)
  2437  	req.SetContext(ctx)
  2438  	req.ApplyOptions(opts...)
  2439  	return out, req.Send()
  2440  }
  2441  
  2442  const opDeleteMethod = "DeleteMethod"
  2443  
  2444  // DeleteMethodRequest generates a "aws/request.Request" representing the
  2445  // client's request for the DeleteMethod operation. The "output" return
  2446  // value will be populated with the request's response once the request completes
  2447  // successfully.
  2448  //
  2449  // Use "Send" method on the returned Request to send the API call to the service.
  2450  // the "output" return value is not valid until after Send returns without error.
  2451  //
  2452  // See DeleteMethod for more information on using the DeleteMethod
  2453  // API call, and error handling.
  2454  //
  2455  // This method is useful when you want to inject custom logic or configuration
  2456  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2457  //
  2458  //
  2459  //    // Example sending a request using the DeleteMethodRequest method.
  2460  //    req, resp := client.DeleteMethodRequest(params)
  2461  //
  2462  //    err := req.Send()
  2463  //    if err == nil { // resp is now filled
  2464  //        fmt.Println(resp)
  2465  //    }
  2466  func (c *APIGateway) DeleteMethodRequest(input *DeleteMethodInput) (req *request.Request, output *DeleteMethodOutput) {
  2467  	op := &request.Operation{
  2468  		Name:       opDeleteMethod,
  2469  		HTTPMethod: "DELETE",
  2470  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
  2471  	}
  2472  
  2473  	if input == nil {
  2474  		input = &DeleteMethodInput{}
  2475  	}
  2476  
  2477  	output = &DeleteMethodOutput{}
  2478  	req = c.newRequest(op, input, output)
  2479  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2480  	return
  2481  }
  2482  
  2483  // DeleteMethod API operation for Amazon API Gateway.
  2484  //
  2485  // Deletes an existing Method resource.
  2486  //
  2487  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2488  // with awserr.Error's Code and Message methods to get detailed information about
  2489  // the error.
  2490  //
  2491  // See the AWS API reference guide for Amazon API Gateway's
  2492  // API operation DeleteMethod for usage and error information.
  2493  //
  2494  // Returned Error Types:
  2495  //   * UnauthorizedException
  2496  //   The request is denied because the caller has insufficient permissions.
  2497  //
  2498  //   * NotFoundException
  2499  //   The requested resource is not found. Make sure that the request URI is correct.
  2500  //
  2501  //   * TooManyRequestsException
  2502  //   The request has reached its throttling limit. Retry after the specified time
  2503  //   period.
  2504  //
  2505  //   * ConflictException
  2506  //   The request configuration has conflicts. For details, see the accompanying
  2507  //   error message.
  2508  //
  2509  func (c *APIGateway) DeleteMethod(input *DeleteMethodInput) (*DeleteMethodOutput, error) {
  2510  	req, out := c.DeleteMethodRequest(input)
  2511  	return out, req.Send()
  2512  }
  2513  
  2514  // DeleteMethodWithContext is the same as DeleteMethod with the addition of
  2515  // the ability to pass a context and additional request options.
  2516  //
  2517  // See DeleteMethod for details on how to use this API operation.
  2518  //
  2519  // The context must be non-nil and will be used for request cancellation. If
  2520  // the context is nil a panic will occur. In the future the SDK may create
  2521  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2522  // for more information on using Contexts.
  2523  func (c *APIGateway) DeleteMethodWithContext(ctx aws.Context, input *DeleteMethodInput, opts ...request.Option) (*DeleteMethodOutput, error) {
  2524  	req, out := c.DeleteMethodRequest(input)
  2525  	req.SetContext(ctx)
  2526  	req.ApplyOptions(opts...)
  2527  	return out, req.Send()
  2528  }
  2529  
  2530  const opDeleteMethodResponse = "DeleteMethodResponse"
  2531  
  2532  // DeleteMethodResponseRequest generates a "aws/request.Request" representing the
  2533  // client's request for the DeleteMethodResponse operation. The "output" return
  2534  // value will be populated with the request's response once the request completes
  2535  // successfully.
  2536  //
  2537  // Use "Send" method on the returned Request to send the API call to the service.
  2538  // the "output" return value is not valid until after Send returns without error.
  2539  //
  2540  // See DeleteMethodResponse for more information on using the DeleteMethodResponse
  2541  // API call, and error handling.
  2542  //
  2543  // This method is useful when you want to inject custom logic or configuration
  2544  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2545  //
  2546  //
  2547  //    // Example sending a request using the DeleteMethodResponseRequest method.
  2548  //    req, resp := client.DeleteMethodResponseRequest(params)
  2549  //
  2550  //    err := req.Send()
  2551  //    if err == nil { // resp is now filled
  2552  //        fmt.Println(resp)
  2553  //    }
  2554  func (c *APIGateway) DeleteMethodResponseRequest(input *DeleteMethodResponseInput) (req *request.Request, output *DeleteMethodResponseOutput) {
  2555  	op := &request.Operation{
  2556  		Name:       opDeleteMethodResponse,
  2557  		HTTPMethod: "DELETE",
  2558  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
  2559  	}
  2560  
  2561  	if input == nil {
  2562  		input = &DeleteMethodResponseInput{}
  2563  	}
  2564  
  2565  	output = &DeleteMethodResponseOutput{}
  2566  	req = c.newRequest(op, input, output)
  2567  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2568  	return
  2569  }
  2570  
  2571  // DeleteMethodResponse API operation for Amazon API Gateway.
  2572  //
  2573  // Deletes an existing MethodResponse resource.
  2574  //
  2575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2576  // with awserr.Error's Code and Message methods to get detailed information about
  2577  // the error.
  2578  //
  2579  // See the AWS API reference guide for Amazon API Gateway's
  2580  // API operation DeleteMethodResponse for usage and error information.
  2581  //
  2582  // Returned Error Types:
  2583  //   * UnauthorizedException
  2584  //   The request is denied because the caller has insufficient permissions.
  2585  //
  2586  //   * NotFoundException
  2587  //   The requested resource is not found. Make sure that the request URI is correct.
  2588  //
  2589  //   * TooManyRequestsException
  2590  //   The request has reached its throttling limit. Retry after the specified time
  2591  //   period.
  2592  //
  2593  //   * BadRequestException
  2594  //   The submitted request is not valid, for example, the input is incomplete
  2595  //   or incorrect. See the accompanying error message for details.
  2596  //
  2597  //   * ConflictException
  2598  //   The request configuration has conflicts. For details, see the accompanying
  2599  //   error message.
  2600  //
  2601  func (c *APIGateway) DeleteMethodResponse(input *DeleteMethodResponseInput) (*DeleteMethodResponseOutput, error) {
  2602  	req, out := c.DeleteMethodResponseRequest(input)
  2603  	return out, req.Send()
  2604  }
  2605  
  2606  // DeleteMethodResponseWithContext is the same as DeleteMethodResponse with the addition of
  2607  // the ability to pass a context and additional request options.
  2608  //
  2609  // See DeleteMethodResponse for details on how to use this API operation.
  2610  //
  2611  // The context must be non-nil and will be used for request cancellation. If
  2612  // the context is nil a panic will occur. In the future the SDK may create
  2613  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2614  // for more information on using Contexts.
  2615  func (c *APIGateway) DeleteMethodResponseWithContext(ctx aws.Context, input *DeleteMethodResponseInput, opts ...request.Option) (*DeleteMethodResponseOutput, error) {
  2616  	req, out := c.DeleteMethodResponseRequest(input)
  2617  	req.SetContext(ctx)
  2618  	req.ApplyOptions(opts...)
  2619  	return out, req.Send()
  2620  }
  2621  
  2622  const opDeleteModel = "DeleteModel"
  2623  
  2624  // DeleteModelRequest generates a "aws/request.Request" representing the
  2625  // client's request for the DeleteModel operation. The "output" return
  2626  // value will be populated with the request's response once the request completes
  2627  // successfully.
  2628  //
  2629  // Use "Send" method on the returned Request to send the API call to the service.
  2630  // the "output" return value is not valid until after Send returns without error.
  2631  //
  2632  // See DeleteModel for more information on using the DeleteModel
  2633  // API call, and error handling.
  2634  //
  2635  // This method is useful when you want to inject custom logic or configuration
  2636  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2637  //
  2638  //
  2639  //    // Example sending a request using the DeleteModelRequest method.
  2640  //    req, resp := client.DeleteModelRequest(params)
  2641  //
  2642  //    err := req.Send()
  2643  //    if err == nil { // resp is now filled
  2644  //        fmt.Println(resp)
  2645  //    }
  2646  func (c *APIGateway) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) {
  2647  	op := &request.Operation{
  2648  		Name:       opDeleteModel,
  2649  		HTTPMethod: "DELETE",
  2650  		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
  2651  	}
  2652  
  2653  	if input == nil {
  2654  		input = &DeleteModelInput{}
  2655  	}
  2656  
  2657  	output = &DeleteModelOutput{}
  2658  	req = c.newRequest(op, input, output)
  2659  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2660  	return
  2661  }
  2662  
  2663  // DeleteModel API operation for Amazon API Gateway.
  2664  //
  2665  // Deletes a model.
  2666  //
  2667  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2668  // with awserr.Error's Code and Message methods to get detailed information about
  2669  // the error.
  2670  //
  2671  // See the AWS API reference guide for Amazon API Gateway's
  2672  // API operation DeleteModel for usage and error information.
  2673  //
  2674  // Returned Error Types:
  2675  //   * BadRequestException
  2676  //   The submitted request is not valid, for example, the input is incomplete
  2677  //   or incorrect. See the accompanying error message for details.
  2678  //
  2679  //   * ConflictException
  2680  //   The request configuration has conflicts. For details, see the accompanying
  2681  //   error message.
  2682  //
  2683  //   * NotFoundException
  2684  //   The requested resource is not found. Make sure that the request URI is correct.
  2685  //
  2686  //   * UnauthorizedException
  2687  //   The request is denied because the caller has insufficient permissions.
  2688  //
  2689  //   * TooManyRequestsException
  2690  //   The request has reached its throttling limit. Retry after the specified time
  2691  //   period.
  2692  //
  2693  func (c *APIGateway) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) {
  2694  	req, out := c.DeleteModelRequest(input)
  2695  	return out, req.Send()
  2696  }
  2697  
  2698  // DeleteModelWithContext is the same as DeleteModel with the addition of
  2699  // the ability to pass a context and additional request options.
  2700  //
  2701  // See DeleteModel for details on how to use this API operation.
  2702  //
  2703  // The context must be non-nil and will be used for request cancellation. If
  2704  // the context is nil a panic will occur. In the future the SDK may create
  2705  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2706  // for more information on using Contexts.
  2707  func (c *APIGateway) DeleteModelWithContext(ctx aws.Context, input *DeleteModelInput, opts ...request.Option) (*DeleteModelOutput, error) {
  2708  	req, out := c.DeleteModelRequest(input)
  2709  	req.SetContext(ctx)
  2710  	req.ApplyOptions(opts...)
  2711  	return out, req.Send()
  2712  }
  2713  
  2714  const opDeleteRequestValidator = "DeleteRequestValidator"
  2715  
  2716  // DeleteRequestValidatorRequest generates a "aws/request.Request" representing the
  2717  // client's request for the DeleteRequestValidator operation. The "output" return
  2718  // value will be populated with the request's response once the request completes
  2719  // successfully.
  2720  //
  2721  // Use "Send" method on the returned Request to send the API call to the service.
  2722  // the "output" return value is not valid until after Send returns without error.
  2723  //
  2724  // See DeleteRequestValidator for more information on using the DeleteRequestValidator
  2725  // API call, and error handling.
  2726  //
  2727  // This method is useful when you want to inject custom logic or configuration
  2728  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2729  //
  2730  //
  2731  //    // Example sending a request using the DeleteRequestValidatorRequest method.
  2732  //    req, resp := client.DeleteRequestValidatorRequest(params)
  2733  //
  2734  //    err := req.Send()
  2735  //    if err == nil { // resp is now filled
  2736  //        fmt.Println(resp)
  2737  //    }
  2738  func (c *APIGateway) DeleteRequestValidatorRequest(input *DeleteRequestValidatorInput) (req *request.Request, output *DeleteRequestValidatorOutput) {
  2739  	op := &request.Operation{
  2740  		Name:       opDeleteRequestValidator,
  2741  		HTTPMethod: "DELETE",
  2742  		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
  2743  	}
  2744  
  2745  	if input == nil {
  2746  		input = &DeleteRequestValidatorInput{}
  2747  	}
  2748  
  2749  	output = &DeleteRequestValidatorOutput{}
  2750  	req = c.newRequest(op, input, output)
  2751  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2752  	return
  2753  }
  2754  
  2755  // DeleteRequestValidator API operation for Amazon API Gateway.
  2756  //
  2757  // Deletes a RequestValidator of a given RestApi.
  2758  //
  2759  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2760  // with awserr.Error's Code and Message methods to get detailed information about
  2761  // the error.
  2762  //
  2763  // See the AWS API reference guide for Amazon API Gateway's
  2764  // API operation DeleteRequestValidator for usage and error information.
  2765  //
  2766  // Returned Error Types:
  2767  //   * BadRequestException
  2768  //   The submitted request is not valid, for example, the input is incomplete
  2769  //   or incorrect. See the accompanying error message for details.
  2770  //
  2771  //   * ConflictException
  2772  //   The request configuration has conflicts. For details, see the accompanying
  2773  //   error message.
  2774  //
  2775  //   * NotFoundException
  2776  //   The requested resource is not found. Make sure that the request URI is correct.
  2777  //
  2778  //   * UnauthorizedException
  2779  //   The request is denied because the caller has insufficient permissions.
  2780  //
  2781  //   * TooManyRequestsException
  2782  //   The request has reached its throttling limit. Retry after the specified time
  2783  //   period.
  2784  //
  2785  func (c *APIGateway) DeleteRequestValidator(input *DeleteRequestValidatorInput) (*DeleteRequestValidatorOutput, error) {
  2786  	req, out := c.DeleteRequestValidatorRequest(input)
  2787  	return out, req.Send()
  2788  }
  2789  
  2790  // DeleteRequestValidatorWithContext is the same as DeleteRequestValidator with the addition of
  2791  // the ability to pass a context and additional request options.
  2792  //
  2793  // See DeleteRequestValidator for details on how to use this API operation.
  2794  //
  2795  // The context must be non-nil and will be used for request cancellation. If
  2796  // the context is nil a panic will occur. In the future the SDK may create
  2797  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2798  // for more information on using Contexts.
  2799  func (c *APIGateway) DeleteRequestValidatorWithContext(ctx aws.Context, input *DeleteRequestValidatorInput, opts ...request.Option) (*DeleteRequestValidatorOutput, error) {
  2800  	req, out := c.DeleteRequestValidatorRequest(input)
  2801  	req.SetContext(ctx)
  2802  	req.ApplyOptions(opts...)
  2803  	return out, req.Send()
  2804  }
  2805  
  2806  const opDeleteResource = "DeleteResource"
  2807  
  2808  // DeleteResourceRequest generates a "aws/request.Request" representing the
  2809  // client's request for the DeleteResource operation. The "output" return
  2810  // value will be populated with the request's response once the request completes
  2811  // successfully.
  2812  //
  2813  // Use "Send" method on the returned Request to send the API call to the service.
  2814  // the "output" return value is not valid until after Send returns without error.
  2815  //
  2816  // See DeleteResource for more information on using the DeleteResource
  2817  // API call, and error handling.
  2818  //
  2819  // This method is useful when you want to inject custom logic or configuration
  2820  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2821  //
  2822  //
  2823  //    // Example sending a request using the DeleteResourceRequest method.
  2824  //    req, resp := client.DeleteResourceRequest(params)
  2825  //
  2826  //    err := req.Send()
  2827  //    if err == nil { // resp is now filled
  2828  //        fmt.Println(resp)
  2829  //    }
  2830  func (c *APIGateway) DeleteResourceRequest(input *DeleteResourceInput) (req *request.Request, output *DeleteResourceOutput) {
  2831  	op := &request.Operation{
  2832  		Name:       opDeleteResource,
  2833  		HTTPMethod: "DELETE",
  2834  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
  2835  	}
  2836  
  2837  	if input == nil {
  2838  		input = &DeleteResourceInput{}
  2839  	}
  2840  
  2841  	output = &DeleteResourceOutput{}
  2842  	req = c.newRequest(op, input, output)
  2843  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2844  	return
  2845  }
  2846  
  2847  // DeleteResource API operation for Amazon API Gateway.
  2848  //
  2849  // Deletes a Resource resource.
  2850  //
  2851  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2852  // with awserr.Error's Code and Message methods to get detailed information about
  2853  // the error.
  2854  //
  2855  // See the AWS API reference guide for Amazon API Gateway's
  2856  // API operation DeleteResource for usage and error information.
  2857  //
  2858  // Returned Error Types:
  2859  //   * UnauthorizedException
  2860  //   The request is denied because the caller has insufficient permissions.
  2861  //
  2862  //   * NotFoundException
  2863  //   The requested resource is not found. Make sure that the request URI is correct.
  2864  //
  2865  //   * BadRequestException
  2866  //   The submitted request is not valid, for example, the input is incomplete
  2867  //   or incorrect. See the accompanying error message for details.
  2868  //
  2869  //   * ConflictException
  2870  //   The request configuration has conflicts. For details, see the accompanying
  2871  //   error message.
  2872  //
  2873  //   * TooManyRequestsException
  2874  //   The request has reached its throttling limit. Retry after the specified time
  2875  //   period.
  2876  //
  2877  func (c *APIGateway) DeleteResource(input *DeleteResourceInput) (*DeleteResourceOutput, error) {
  2878  	req, out := c.DeleteResourceRequest(input)
  2879  	return out, req.Send()
  2880  }
  2881  
  2882  // DeleteResourceWithContext is the same as DeleteResource with the addition of
  2883  // the ability to pass a context and additional request options.
  2884  //
  2885  // See DeleteResource for details on how to use this API operation.
  2886  //
  2887  // The context must be non-nil and will be used for request cancellation. If
  2888  // the context is nil a panic will occur. In the future the SDK may create
  2889  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2890  // for more information on using Contexts.
  2891  func (c *APIGateway) DeleteResourceWithContext(ctx aws.Context, input *DeleteResourceInput, opts ...request.Option) (*DeleteResourceOutput, error) {
  2892  	req, out := c.DeleteResourceRequest(input)
  2893  	req.SetContext(ctx)
  2894  	req.ApplyOptions(opts...)
  2895  	return out, req.Send()
  2896  }
  2897  
  2898  const opDeleteRestApi = "DeleteRestApi"
  2899  
  2900  // DeleteRestApiRequest generates a "aws/request.Request" representing the
  2901  // client's request for the DeleteRestApi operation. The "output" return
  2902  // value will be populated with the request's response once the request completes
  2903  // successfully.
  2904  //
  2905  // Use "Send" method on the returned Request to send the API call to the service.
  2906  // the "output" return value is not valid until after Send returns without error.
  2907  //
  2908  // See DeleteRestApi for more information on using the DeleteRestApi
  2909  // API call, and error handling.
  2910  //
  2911  // This method is useful when you want to inject custom logic or configuration
  2912  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2913  //
  2914  //
  2915  //    // Example sending a request using the DeleteRestApiRequest method.
  2916  //    req, resp := client.DeleteRestApiRequest(params)
  2917  //
  2918  //    err := req.Send()
  2919  //    if err == nil { // resp is now filled
  2920  //        fmt.Println(resp)
  2921  //    }
  2922  func (c *APIGateway) DeleteRestApiRequest(input *DeleteRestApiInput) (req *request.Request, output *DeleteRestApiOutput) {
  2923  	op := &request.Operation{
  2924  		Name:       opDeleteRestApi,
  2925  		HTTPMethod: "DELETE",
  2926  		HTTPPath:   "/restapis/{restapi_id}",
  2927  	}
  2928  
  2929  	if input == nil {
  2930  		input = &DeleteRestApiInput{}
  2931  	}
  2932  
  2933  	output = &DeleteRestApiOutput{}
  2934  	req = c.newRequest(op, input, output)
  2935  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2936  	return
  2937  }
  2938  
  2939  // DeleteRestApi API operation for Amazon API Gateway.
  2940  //
  2941  // Deletes the specified API.
  2942  //
  2943  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2944  // with awserr.Error's Code and Message methods to get detailed information about
  2945  // the error.
  2946  //
  2947  // See the AWS API reference guide for Amazon API Gateway's
  2948  // API operation DeleteRestApi for usage and error information.
  2949  //
  2950  // Returned Error Types:
  2951  //   * BadRequestException
  2952  //   The submitted request is not valid, for example, the input is incomplete
  2953  //   or incorrect. See the accompanying error message for details.
  2954  //
  2955  //   * ConflictException
  2956  //   The request configuration has conflicts. For details, see the accompanying
  2957  //   error message.
  2958  //
  2959  //   * NotFoundException
  2960  //   The requested resource is not found. Make sure that the request URI is correct.
  2961  //
  2962  //   * UnauthorizedException
  2963  //   The request is denied because the caller has insufficient permissions.
  2964  //
  2965  //   * TooManyRequestsException
  2966  //   The request has reached its throttling limit. Retry after the specified time
  2967  //   period.
  2968  //
  2969  func (c *APIGateway) DeleteRestApi(input *DeleteRestApiInput) (*DeleteRestApiOutput, error) {
  2970  	req, out := c.DeleteRestApiRequest(input)
  2971  	return out, req.Send()
  2972  }
  2973  
  2974  // DeleteRestApiWithContext is the same as DeleteRestApi with the addition of
  2975  // the ability to pass a context and additional request options.
  2976  //
  2977  // See DeleteRestApi for details on how to use this API operation.
  2978  //
  2979  // The context must be non-nil and will be used for request cancellation. If
  2980  // the context is nil a panic will occur. In the future the SDK may create
  2981  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2982  // for more information on using Contexts.
  2983  func (c *APIGateway) DeleteRestApiWithContext(ctx aws.Context, input *DeleteRestApiInput, opts ...request.Option) (*DeleteRestApiOutput, error) {
  2984  	req, out := c.DeleteRestApiRequest(input)
  2985  	req.SetContext(ctx)
  2986  	req.ApplyOptions(opts...)
  2987  	return out, req.Send()
  2988  }
  2989  
  2990  const opDeleteStage = "DeleteStage"
  2991  
  2992  // DeleteStageRequest generates a "aws/request.Request" representing the
  2993  // client's request for the DeleteStage operation. The "output" return
  2994  // value will be populated with the request's response once the request completes
  2995  // successfully.
  2996  //
  2997  // Use "Send" method on the returned Request to send the API call to the service.
  2998  // the "output" return value is not valid until after Send returns without error.
  2999  //
  3000  // See DeleteStage for more information on using the DeleteStage
  3001  // API call, and error handling.
  3002  //
  3003  // This method is useful when you want to inject custom logic or configuration
  3004  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3005  //
  3006  //
  3007  //    // Example sending a request using the DeleteStageRequest method.
  3008  //    req, resp := client.DeleteStageRequest(params)
  3009  //
  3010  //    err := req.Send()
  3011  //    if err == nil { // resp is now filled
  3012  //        fmt.Println(resp)
  3013  //    }
  3014  func (c *APIGateway) DeleteStageRequest(input *DeleteStageInput) (req *request.Request, output *DeleteStageOutput) {
  3015  	op := &request.Operation{
  3016  		Name:       opDeleteStage,
  3017  		HTTPMethod: "DELETE",
  3018  		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
  3019  	}
  3020  
  3021  	if input == nil {
  3022  		input = &DeleteStageInput{}
  3023  	}
  3024  
  3025  	output = &DeleteStageOutput{}
  3026  	req = c.newRequest(op, input, output)
  3027  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3028  	return
  3029  }
  3030  
  3031  // DeleteStage API operation for Amazon API Gateway.
  3032  //
  3033  // Deletes a Stage resource.
  3034  //
  3035  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3036  // with awserr.Error's Code and Message methods to get detailed information about
  3037  // the error.
  3038  //
  3039  // See the AWS API reference guide for Amazon API Gateway's
  3040  // API operation DeleteStage for usage and error information.
  3041  //
  3042  // Returned Error Types:
  3043  //   * BadRequestException
  3044  //   The submitted request is not valid, for example, the input is incomplete
  3045  //   or incorrect. See the accompanying error message for details.
  3046  //
  3047  //   * ConflictException
  3048  //   The request configuration has conflicts. For details, see the accompanying
  3049  //   error message.
  3050  //
  3051  //   * LimitExceededException
  3052  //   The request exceeded the rate limit. Retry after the specified time period.
  3053  //
  3054  //   * NotFoundException
  3055  //   The requested resource is not found. Make sure that the request URI is correct.
  3056  //
  3057  //   * UnauthorizedException
  3058  //   The request is denied because the caller has insufficient permissions.
  3059  //
  3060  //   * TooManyRequestsException
  3061  //   The request has reached its throttling limit. Retry after the specified time
  3062  //   period.
  3063  //
  3064  func (c *APIGateway) DeleteStage(input *DeleteStageInput) (*DeleteStageOutput, error) {
  3065  	req, out := c.DeleteStageRequest(input)
  3066  	return out, req.Send()
  3067  }
  3068  
  3069  // DeleteStageWithContext is the same as DeleteStage with the addition of
  3070  // the ability to pass a context and additional request options.
  3071  //
  3072  // See DeleteStage for details on how to use this API operation.
  3073  //
  3074  // The context must be non-nil and will be used for request cancellation. If
  3075  // the context is nil a panic will occur. In the future the SDK may create
  3076  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3077  // for more information on using Contexts.
  3078  func (c *APIGateway) DeleteStageWithContext(ctx aws.Context, input *DeleteStageInput, opts ...request.Option) (*DeleteStageOutput, error) {
  3079  	req, out := c.DeleteStageRequest(input)
  3080  	req.SetContext(ctx)
  3081  	req.ApplyOptions(opts...)
  3082  	return out, req.Send()
  3083  }
  3084  
  3085  const opDeleteUsagePlan = "DeleteUsagePlan"
  3086  
  3087  // DeleteUsagePlanRequest generates a "aws/request.Request" representing the
  3088  // client's request for the DeleteUsagePlan operation. The "output" return
  3089  // value will be populated with the request's response once the request completes
  3090  // successfully.
  3091  //
  3092  // Use "Send" method on the returned Request to send the API call to the service.
  3093  // the "output" return value is not valid until after Send returns without error.
  3094  //
  3095  // See DeleteUsagePlan for more information on using the DeleteUsagePlan
  3096  // API call, and error handling.
  3097  //
  3098  // This method is useful when you want to inject custom logic or configuration
  3099  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3100  //
  3101  //
  3102  //    // Example sending a request using the DeleteUsagePlanRequest method.
  3103  //    req, resp := client.DeleteUsagePlanRequest(params)
  3104  //
  3105  //    err := req.Send()
  3106  //    if err == nil { // resp is now filled
  3107  //        fmt.Println(resp)
  3108  //    }
  3109  func (c *APIGateway) DeleteUsagePlanRequest(input *DeleteUsagePlanInput) (req *request.Request, output *DeleteUsagePlanOutput) {
  3110  	op := &request.Operation{
  3111  		Name:       opDeleteUsagePlan,
  3112  		HTTPMethod: "DELETE",
  3113  		HTTPPath:   "/usageplans/{usageplanId}",
  3114  	}
  3115  
  3116  	if input == nil {
  3117  		input = &DeleteUsagePlanInput{}
  3118  	}
  3119  
  3120  	output = &DeleteUsagePlanOutput{}
  3121  	req = c.newRequest(op, input, output)
  3122  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3123  	return
  3124  }
  3125  
  3126  // DeleteUsagePlan API operation for Amazon API Gateway.
  3127  //
  3128  // Deletes a usage plan of a given plan Id.
  3129  //
  3130  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3131  // with awserr.Error's Code and Message methods to get detailed information about
  3132  // the error.
  3133  //
  3134  // See the AWS API reference guide for Amazon API Gateway's
  3135  // API operation DeleteUsagePlan for usage and error information.
  3136  //
  3137  // Returned Error Types:
  3138  //   * BadRequestException
  3139  //   The submitted request is not valid, for example, the input is incomplete
  3140  //   or incorrect. See the accompanying error message for details.
  3141  //
  3142  //   * ConflictException
  3143  //   The request configuration has conflicts. For details, see the accompanying
  3144  //   error message.
  3145  //
  3146  //   * NotFoundException
  3147  //   The requested resource is not found. Make sure that the request URI is correct.
  3148  //
  3149  //   * UnauthorizedException
  3150  //   The request is denied because the caller has insufficient permissions.
  3151  //
  3152  //   * TooManyRequestsException
  3153  //   The request has reached its throttling limit. Retry after the specified time
  3154  //   period.
  3155  //
  3156  func (c *APIGateway) DeleteUsagePlan(input *DeleteUsagePlanInput) (*DeleteUsagePlanOutput, error) {
  3157  	req, out := c.DeleteUsagePlanRequest(input)
  3158  	return out, req.Send()
  3159  }
  3160  
  3161  // DeleteUsagePlanWithContext is the same as DeleteUsagePlan with the addition of
  3162  // the ability to pass a context and additional request options.
  3163  //
  3164  // See DeleteUsagePlan for details on how to use this API operation.
  3165  //
  3166  // The context must be non-nil and will be used for request cancellation. If
  3167  // the context is nil a panic will occur. In the future the SDK may create
  3168  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3169  // for more information on using Contexts.
  3170  func (c *APIGateway) DeleteUsagePlanWithContext(ctx aws.Context, input *DeleteUsagePlanInput, opts ...request.Option) (*DeleteUsagePlanOutput, error) {
  3171  	req, out := c.DeleteUsagePlanRequest(input)
  3172  	req.SetContext(ctx)
  3173  	req.ApplyOptions(opts...)
  3174  	return out, req.Send()
  3175  }
  3176  
  3177  const opDeleteUsagePlanKey = "DeleteUsagePlanKey"
  3178  
  3179  // DeleteUsagePlanKeyRequest generates a "aws/request.Request" representing the
  3180  // client's request for the DeleteUsagePlanKey operation. The "output" return
  3181  // value will be populated with the request's response once the request completes
  3182  // successfully.
  3183  //
  3184  // Use "Send" method on the returned Request to send the API call to the service.
  3185  // the "output" return value is not valid until after Send returns without error.
  3186  //
  3187  // See DeleteUsagePlanKey for more information on using the DeleteUsagePlanKey
  3188  // API call, and error handling.
  3189  //
  3190  // This method is useful when you want to inject custom logic or configuration
  3191  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3192  //
  3193  //
  3194  //    // Example sending a request using the DeleteUsagePlanKeyRequest method.
  3195  //    req, resp := client.DeleteUsagePlanKeyRequest(params)
  3196  //
  3197  //    err := req.Send()
  3198  //    if err == nil { // resp is now filled
  3199  //        fmt.Println(resp)
  3200  //    }
  3201  func (c *APIGateway) DeleteUsagePlanKeyRequest(input *DeleteUsagePlanKeyInput) (req *request.Request, output *DeleteUsagePlanKeyOutput) {
  3202  	op := &request.Operation{
  3203  		Name:       opDeleteUsagePlanKey,
  3204  		HTTPMethod: "DELETE",
  3205  		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}",
  3206  	}
  3207  
  3208  	if input == nil {
  3209  		input = &DeleteUsagePlanKeyInput{}
  3210  	}
  3211  
  3212  	output = &DeleteUsagePlanKeyOutput{}
  3213  	req = c.newRequest(op, input, output)
  3214  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3215  	return
  3216  }
  3217  
  3218  // DeleteUsagePlanKey API operation for Amazon API Gateway.
  3219  //
  3220  // Deletes a usage plan key and remove the underlying API key from the associated
  3221  // usage plan.
  3222  //
  3223  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3224  // with awserr.Error's Code and Message methods to get detailed information about
  3225  // the error.
  3226  //
  3227  // See the AWS API reference guide for Amazon API Gateway's
  3228  // API operation DeleteUsagePlanKey for usage and error information.
  3229  //
  3230  // Returned Error Types:
  3231  //   * BadRequestException
  3232  //   The submitted request is not valid, for example, the input is incomplete
  3233  //   or incorrect. See the accompanying error message for details.
  3234  //
  3235  //   * ConflictException
  3236  //   The request configuration has conflicts. For details, see the accompanying
  3237  //   error message.
  3238  //
  3239  //   * NotFoundException
  3240  //   The requested resource is not found. Make sure that the request URI is correct.
  3241  //
  3242  //   * UnauthorizedException
  3243  //   The request is denied because the caller has insufficient permissions.
  3244  //
  3245  //   * TooManyRequestsException
  3246  //   The request has reached its throttling limit. Retry after the specified time
  3247  //   period.
  3248  //
  3249  func (c *APIGateway) DeleteUsagePlanKey(input *DeleteUsagePlanKeyInput) (*DeleteUsagePlanKeyOutput, error) {
  3250  	req, out := c.DeleteUsagePlanKeyRequest(input)
  3251  	return out, req.Send()
  3252  }
  3253  
  3254  // DeleteUsagePlanKeyWithContext is the same as DeleteUsagePlanKey with the addition of
  3255  // the ability to pass a context and additional request options.
  3256  //
  3257  // See DeleteUsagePlanKey for details on how to use this API operation.
  3258  //
  3259  // The context must be non-nil and will be used for request cancellation. If
  3260  // the context is nil a panic will occur. In the future the SDK may create
  3261  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3262  // for more information on using Contexts.
  3263  func (c *APIGateway) DeleteUsagePlanKeyWithContext(ctx aws.Context, input *DeleteUsagePlanKeyInput, opts ...request.Option) (*DeleteUsagePlanKeyOutput, error) {
  3264  	req, out := c.DeleteUsagePlanKeyRequest(input)
  3265  	req.SetContext(ctx)
  3266  	req.ApplyOptions(opts...)
  3267  	return out, req.Send()
  3268  }
  3269  
  3270  const opDeleteVpcLink = "DeleteVpcLink"
  3271  
  3272  // DeleteVpcLinkRequest generates a "aws/request.Request" representing the
  3273  // client's request for the DeleteVpcLink operation. The "output" return
  3274  // value will be populated with the request's response once the request completes
  3275  // successfully.
  3276  //
  3277  // Use "Send" method on the returned Request to send the API call to the service.
  3278  // the "output" return value is not valid until after Send returns without error.
  3279  //
  3280  // See DeleteVpcLink for more information on using the DeleteVpcLink
  3281  // API call, and error handling.
  3282  //
  3283  // This method is useful when you want to inject custom logic or configuration
  3284  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3285  //
  3286  //
  3287  //    // Example sending a request using the DeleteVpcLinkRequest method.
  3288  //    req, resp := client.DeleteVpcLinkRequest(params)
  3289  //
  3290  //    err := req.Send()
  3291  //    if err == nil { // resp is now filled
  3292  //        fmt.Println(resp)
  3293  //    }
  3294  func (c *APIGateway) DeleteVpcLinkRequest(input *DeleteVpcLinkInput) (req *request.Request, output *DeleteVpcLinkOutput) {
  3295  	op := &request.Operation{
  3296  		Name:       opDeleteVpcLink,
  3297  		HTTPMethod: "DELETE",
  3298  		HTTPPath:   "/vpclinks/{vpclink_id}",
  3299  	}
  3300  
  3301  	if input == nil {
  3302  		input = &DeleteVpcLinkInput{}
  3303  	}
  3304  
  3305  	output = &DeleteVpcLinkOutput{}
  3306  	req = c.newRequest(op, input, output)
  3307  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3308  	return
  3309  }
  3310  
  3311  // DeleteVpcLink API operation for Amazon API Gateway.
  3312  //
  3313  // Deletes an existing VpcLink of a specified identifier.
  3314  //
  3315  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3316  // with awserr.Error's Code and Message methods to get detailed information about
  3317  // the error.
  3318  //
  3319  // See the AWS API reference guide for Amazon API Gateway's
  3320  // API operation DeleteVpcLink for usage and error information.
  3321  //
  3322  // Returned Error Types:
  3323  //   * BadRequestException
  3324  //   The submitted request is not valid, for example, the input is incomplete
  3325  //   or incorrect. See the accompanying error message for details.
  3326  //
  3327  //   * ConflictException
  3328  //   The request configuration has conflicts. For details, see the accompanying
  3329  //   error message.
  3330  //
  3331  //   * NotFoundException
  3332  //   The requested resource is not found. Make sure that the request URI is correct.
  3333  //
  3334  //   * UnauthorizedException
  3335  //   The request is denied because the caller has insufficient permissions.
  3336  //
  3337  //   * TooManyRequestsException
  3338  //   The request has reached its throttling limit. Retry after the specified time
  3339  //   period.
  3340  //
  3341  func (c *APIGateway) DeleteVpcLink(input *DeleteVpcLinkInput) (*DeleteVpcLinkOutput, error) {
  3342  	req, out := c.DeleteVpcLinkRequest(input)
  3343  	return out, req.Send()
  3344  }
  3345  
  3346  // DeleteVpcLinkWithContext is the same as DeleteVpcLink with the addition of
  3347  // the ability to pass a context and additional request options.
  3348  //
  3349  // See DeleteVpcLink for details on how to use this API operation.
  3350  //
  3351  // The context must be non-nil and will be used for request cancellation. If
  3352  // the context is nil a panic will occur. In the future the SDK may create
  3353  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3354  // for more information on using Contexts.
  3355  func (c *APIGateway) DeleteVpcLinkWithContext(ctx aws.Context, input *DeleteVpcLinkInput, opts ...request.Option) (*DeleteVpcLinkOutput, error) {
  3356  	req, out := c.DeleteVpcLinkRequest(input)
  3357  	req.SetContext(ctx)
  3358  	req.ApplyOptions(opts...)
  3359  	return out, req.Send()
  3360  }
  3361  
  3362  const opFlushStageAuthorizersCache = "FlushStageAuthorizersCache"
  3363  
  3364  // FlushStageAuthorizersCacheRequest generates a "aws/request.Request" representing the
  3365  // client's request for the FlushStageAuthorizersCache operation. The "output" return
  3366  // value will be populated with the request's response once the request completes
  3367  // successfully.
  3368  //
  3369  // Use "Send" method on the returned Request to send the API call to the service.
  3370  // the "output" return value is not valid until after Send returns without error.
  3371  //
  3372  // See FlushStageAuthorizersCache for more information on using the FlushStageAuthorizersCache
  3373  // API call, and error handling.
  3374  //
  3375  // This method is useful when you want to inject custom logic or configuration
  3376  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3377  //
  3378  //
  3379  //    // Example sending a request using the FlushStageAuthorizersCacheRequest method.
  3380  //    req, resp := client.FlushStageAuthorizersCacheRequest(params)
  3381  //
  3382  //    err := req.Send()
  3383  //    if err == nil { // resp is now filled
  3384  //        fmt.Println(resp)
  3385  //    }
  3386  func (c *APIGateway) FlushStageAuthorizersCacheRequest(input *FlushStageAuthorizersCacheInput) (req *request.Request, output *FlushStageAuthorizersCacheOutput) {
  3387  	op := &request.Operation{
  3388  		Name:       opFlushStageAuthorizersCache,
  3389  		HTTPMethod: "DELETE",
  3390  		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers",
  3391  	}
  3392  
  3393  	if input == nil {
  3394  		input = &FlushStageAuthorizersCacheInput{}
  3395  	}
  3396  
  3397  	output = &FlushStageAuthorizersCacheOutput{}
  3398  	req = c.newRequest(op, input, output)
  3399  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3400  	return
  3401  }
  3402  
  3403  // FlushStageAuthorizersCache API operation for Amazon API Gateway.
  3404  //
  3405  // Flushes all authorizer cache entries on a stage.
  3406  //
  3407  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3408  // with awserr.Error's Code and Message methods to get detailed information about
  3409  // the error.
  3410  //
  3411  // See the AWS API reference guide for Amazon API Gateway's
  3412  // API operation FlushStageAuthorizersCache for usage and error information.
  3413  //
  3414  // Returned Error Types:
  3415  //   * BadRequestException
  3416  //   The submitted request is not valid, for example, the input is incomplete
  3417  //   or incorrect. See the accompanying error message for details.
  3418  //
  3419  //   * ConflictException
  3420  //   The request configuration has conflicts. For details, see the accompanying
  3421  //   error message.
  3422  //
  3423  //   * LimitExceededException
  3424  //   The request exceeded the rate limit. Retry after the specified time period.
  3425  //
  3426  //   * NotFoundException
  3427  //   The requested resource is not found. Make sure that the request URI is correct.
  3428  //
  3429  //   * UnauthorizedException
  3430  //   The request is denied because the caller has insufficient permissions.
  3431  //
  3432  //   * TooManyRequestsException
  3433  //   The request has reached its throttling limit. Retry after the specified time
  3434  //   period.
  3435  //
  3436  func (c *APIGateway) FlushStageAuthorizersCache(input *FlushStageAuthorizersCacheInput) (*FlushStageAuthorizersCacheOutput, error) {
  3437  	req, out := c.FlushStageAuthorizersCacheRequest(input)
  3438  	return out, req.Send()
  3439  }
  3440  
  3441  // FlushStageAuthorizersCacheWithContext is the same as FlushStageAuthorizersCache with the addition of
  3442  // the ability to pass a context and additional request options.
  3443  //
  3444  // See FlushStageAuthorizersCache for details on how to use this API operation.
  3445  //
  3446  // The context must be non-nil and will be used for request cancellation. If
  3447  // the context is nil a panic will occur. In the future the SDK may create
  3448  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3449  // for more information on using Contexts.
  3450  func (c *APIGateway) FlushStageAuthorizersCacheWithContext(ctx aws.Context, input *FlushStageAuthorizersCacheInput, opts ...request.Option) (*FlushStageAuthorizersCacheOutput, error) {
  3451  	req, out := c.FlushStageAuthorizersCacheRequest(input)
  3452  	req.SetContext(ctx)
  3453  	req.ApplyOptions(opts...)
  3454  	return out, req.Send()
  3455  }
  3456  
  3457  const opFlushStageCache = "FlushStageCache"
  3458  
  3459  // FlushStageCacheRequest generates a "aws/request.Request" representing the
  3460  // client's request for the FlushStageCache operation. The "output" return
  3461  // value will be populated with the request's response once the request completes
  3462  // successfully.
  3463  //
  3464  // Use "Send" method on the returned Request to send the API call to the service.
  3465  // the "output" return value is not valid until after Send returns without error.
  3466  //
  3467  // See FlushStageCache for more information on using the FlushStageCache
  3468  // API call, and error handling.
  3469  //
  3470  // This method is useful when you want to inject custom logic or configuration
  3471  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3472  //
  3473  //
  3474  //    // Example sending a request using the FlushStageCacheRequest method.
  3475  //    req, resp := client.FlushStageCacheRequest(params)
  3476  //
  3477  //    err := req.Send()
  3478  //    if err == nil { // resp is now filled
  3479  //        fmt.Println(resp)
  3480  //    }
  3481  func (c *APIGateway) FlushStageCacheRequest(input *FlushStageCacheInput) (req *request.Request, output *FlushStageCacheOutput) {
  3482  	op := &request.Operation{
  3483  		Name:       opFlushStageCache,
  3484  		HTTPMethod: "DELETE",
  3485  		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/cache/data",
  3486  	}
  3487  
  3488  	if input == nil {
  3489  		input = &FlushStageCacheInput{}
  3490  	}
  3491  
  3492  	output = &FlushStageCacheOutput{}
  3493  	req = c.newRequest(op, input, output)
  3494  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3495  	return
  3496  }
  3497  
  3498  // FlushStageCache API operation for Amazon API Gateway.
  3499  //
  3500  // Flushes a stage's cache.
  3501  //
  3502  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3503  // with awserr.Error's Code and Message methods to get detailed information about
  3504  // the error.
  3505  //
  3506  // See the AWS API reference guide for Amazon API Gateway's
  3507  // API operation FlushStageCache for usage and error information.
  3508  //
  3509  // Returned Error Types:
  3510  //   * BadRequestException
  3511  //   The submitted request is not valid, for example, the input is incomplete
  3512  //   or incorrect. See the accompanying error message for details.
  3513  //
  3514  //   * ConflictException
  3515  //   The request configuration has conflicts. For details, see the accompanying
  3516  //   error message.
  3517  //
  3518  //   * LimitExceededException
  3519  //   The request exceeded the rate limit. Retry after the specified time period.
  3520  //
  3521  //   * NotFoundException
  3522  //   The requested resource is not found. Make sure that the request URI is correct.
  3523  //
  3524  //   * UnauthorizedException
  3525  //   The request is denied because the caller has insufficient permissions.
  3526  //
  3527  //   * TooManyRequestsException
  3528  //   The request has reached its throttling limit. Retry after the specified time
  3529  //   period.
  3530  //
  3531  func (c *APIGateway) FlushStageCache(input *FlushStageCacheInput) (*FlushStageCacheOutput, error) {
  3532  	req, out := c.FlushStageCacheRequest(input)
  3533  	return out, req.Send()
  3534  }
  3535  
  3536  // FlushStageCacheWithContext is the same as FlushStageCache with the addition of
  3537  // the ability to pass a context and additional request options.
  3538  //
  3539  // See FlushStageCache for details on how to use this API operation.
  3540  //
  3541  // The context must be non-nil and will be used for request cancellation. If
  3542  // the context is nil a panic will occur. In the future the SDK may create
  3543  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3544  // for more information on using Contexts.
  3545  func (c *APIGateway) FlushStageCacheWithContext(ctx aws.Context, input *FlushStageCacheInput, opts ...request.Option) (*FlushStageCacheOutput, error) {
  3546  	req, out := c.FlushStageCacheRequest(input)
  3547  	req.SetContext(ctx)
  3548  	req.ApplyOptions(opts...)
  3549  	return out, req.Send()
  3550  }
  3551  
  3552  const opGenerateClientCertificate = "GenerateClientCertificate"
  3553  
  3554  // GenerateClientCertificateRequest generates a "aws/request.Request" representing the
  3555  // client's request for the GenerateClientCertificate operation. The "output" return
  3556  // value will be populated with the request's response once the request completes
  3557  // successfully.
  3558  //
  3559  // Use "Send" method on the returned Request to send the API call to the service.
  3560  // the "output" return value is not valid until after Send returns without error.
  3561  //
  3562  // See GenerateClientCertificate for more information on using the GenerateClientCertificate
  3563  // API call, and error handling.
  3564  //
  3565  // This method is useful when you want to inject custom logic or configuration
  3566  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3567  //
  3568  //
  3569  //    // Example sending a request using the GenerateClientCertificateRequest method.
  3570  //    req, resp := client.GenerateClientCertificateRequest(params)
  3571  //
  3572  //    err := req.Send()
  3573  //    if err == nil { // resp is now filled
  3574  //        fmt.Println(resp)
  3575  //    }
  3576  func (c *APIGateway) GenerateClientCertificateRequest(input *GenerateClientCertificateInput) (req *request.Request, output *ClientCertificate) {
  3577  	op := &request.Operation{
  3578  		Name:       opGenerateClientCertificate,
  3579  		HTTPMethod: "POST",
  3580  		HTTPPath:   "/clientcertificates",
  3581  	}
  3582  
  3583  	if input == nil {
  3584  		input = &GenerateClientCertificateInput{}
  3585  	}
  3586  
  3587  	output = &ClientCertificate{}
  3588  	req = c.newRequest(op, input, output)
  3589  	return
  3590  }
  3591  
  3592  // GenerateClientCertificate API operation for Amazon API Gateway.
  3593  //
  3594  // Generates a ClientCertificate resource.
  3595  //
  3596  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3597  // with awserr.Error's Code and Message methods to get detailed information about
  3598  // the error.
  3599  //
  3600  // See the AWS API reference guide for Amazon API Gateway's
  3601  // API operation GenerateClientCertificate for usage and error information.
  3602  //
  3603  // Returned Error Types:
  3604  //   * BadRequestException
  3605  //   The submitted request is not valid, for example, the input is incomplete
  3606  //   or incorrect. See the accompanying error message for details.
  3607  //
  3608  //   * ConflictException
  3609  //   The request configuration has conflicts. For details, see the accompanying
  3610  //   error message.
  3611  //
  3612  //   * LimitExceededException
  3613  //   The request exceeded the rate limit. Retry after the specified time period.
  3614  //
  3615  //   * UnauthorizedException
  3616  //   The request is denied because the caller has insufficient permissions.
  3617  //
  3618  //   * TooManyRequestsException
  3619  //   The request has reached its throttling limit. Retry after the specified time
  3620  //   period.
  3621  //
  3622  func (c *APIGateway) GenerateClientCertificate(input *GenerateClientCertificateInput) (*ClientCertificate, error) {
  3623  	req, out := c.GenerateClientCertificateRequest(input)
  3624  	return out, req.Send()
  3625  }
  3626  
  3627  // GenerateClientCertificateWithContext is the same as GenerateClientCertificate with the addition of
  3628  // the ability to pass a context and additional request options.
  3629  //
  3630  // See GenerateClientCertificate for details on how to use this API operation.
  3631  //
  3632  // The context must be non-nil and will be used for request cancellation. If
  3633  // the context is nil a panic will occur. In the future the SDK may create
  3634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3635  // for more information on using Contexts.
  3636  func (c *APIGateway) GenerateClientCertificateWithContext(ctx aws.Context, input *GenerateClientCertificateInput, opts ...request.Option) (*ClientCertificate, error) {
  3637  	req, out := c.GenerateClientCertificateRequest(input)
  3638  	req.SetContext(ctx)
  3639  	req.ApplyOptions(opts...)
  3640  	return out, req.Send()
  3641  }
  3642  
  3643  const opGetAccount = "GetAccount"
  3644  
  3645  // GetAccountRequest generates a "aws/request.Request" representing the
  3646  // client's request for the GetAccount operation. The "output" return
  3647  // value will be populated with the request's response once the request completes
  3648  // successfully.
  3649  //
  3650  // Use "Send" method on the returned Request to send the API call to the service.
  3651  // the "output" return value is not valid until after Send returns without error.
  3652  //
  3653  // See GetAccount for more information on using the GetAccount
  3654  // API call, and error handling.
  3655  //
  3656  // This method is useful when you want to inject custom logic or configuration
  3657  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3658  //
  3659  //
  3660  //    // Example sending a request using the GetAccountRequest method.
  3661  //    req, resp := client.GetAccountRequest(params)
  3662  //
  3663  //    err := req.Send()
  3664  //    if err == nil { // resp is now filled
  3665  //        fmt.Println(resp)
  3666  //    }
  3667  func (c *APIGateway) GetAccountRequest(input *GetAccountInput) (req *request.Request, output *Account) {
  3668  	op := &request.Operation{
  3669  		Name:       opGetAccount,
  3670  		HTTPMethod: "GET",
  3671  		HTTPPath:   "/account",
  3672  	}
  3673  
  3674  	if input == nil {
  3675  		input = &GetAccountInput{}
  3676  	}
  3677  
  3678  	output = &Account{}
  3679  	req = c.newRequest(op, input, output)
  3680  	return
  3681  }
  3682  
  3683  // GetAccount API operation for Amazon API Gateway.
  3684  //
  3685  // Gets information about the current Account resource.
  3686  //
  3687  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3688  // with awserr.Error's Code and Message methods to get detailed information about
  3689  // the error.
  3690  //
  3691  // See the AWS API reference guide for Amazon API Gateway's
  3692  // API operation GetAccount for usage and error information.
  3693  //
  3694  // Returned Error Types:
  3695  //   * BadRequestException
  3696  //   The submitted request is not valid, for example, the input is incomplete
  3697  //   or incorrect. See the accompanying error message for details.
  3698  //
  3699  //   * NotFoundException
  3700  //   The requested resource is not found. Make sure that the request URI is correct.
  3701  //
  3702  //   * UnauthorizedException
  3703  //   The request is denied because the caller has insufficient permissions.
  3704  //
  3705  //   * TooManyRequestsException
  3706  //   The request has reached its throttling limit. Retry after the specified time
  3707  //   period.
  3708  //
  3709  func (c *APIGateway) GetAccount(input *GetAccountInput) (*Account, error) {
  3710  	req, out := c.GetAccountRequest(input)
  3711  	return out, req.Send()
  3712  }
  3713  
  3714  // GetAccountWithContext is the same as GetAccount with the addition of
  3715  // the ability to pass a context and additional request options.
  3716  //
  3717  // See GetAccount for details on how to use this API operation.
  3718  //
  3719  // The context must be non-nil and will be used for request cancellation. If
  3720  // the context is nil a panic will occur. In the future the SDK may create
  3721  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3722  // for more information on using Contexts.
  3723  func (c *APIGateway) GetAccountWithContext(ctx aws.Context, input *GetAccountInput, opts ...request.Option) (*Account, error) {
  3724  	req, out := c.GetAccountRequest(input)
  3725  	req.SetContext(ctx)
  3726  	req.ApplyOptions(opts...)
  3727  	return out, req.Send()
  3728  }
  3729  
  3730  const opGetApiKey = "GetApiKey"
  3731  
  3732  // GetApiKeyRequest generates a "aws/request.Request" representing the
  3733  // client's request for the GetApiKey operation. The "output" return
  3734  // value will be populated with the request's response once the request completes
  3735  // successfully.
  3736  //
  3737  // Use "Send" method on the returned Request to send the API call to the service.
  3738  // the "output" return value is not valid until after Send returns without error.
  3739  //
  3740  // See GetApiKey for more information on using the GetApiKey
  3741  // API call, and error handling.
  3742  //
  3743  // This method is useful when you want to inject custom logic or configuration
  3744  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3745  //
  3746  //
  3747  //    // Example sending a request using the GetApiKeyRequest method.
  3748  //    req, resp := client.GetApiKeyRequest(params)
  3749  //
  3750  //    err := req.Send()
  3751  //    if err == nil { // resp is now filled
  3752  //        fmt.Println(resp)
  3753  //    }
  3754  func (c *APIGateway) GetApiKeyRequest(input *GetApiKeyInput) (req *request.Request, output *ApiKey) {
  3755  	op := &request.Operation{
  3756  		Name:       opGetApiKey,
  3757  		HTTPMethod: "GET",
  3758  		HTTPPath:   "/apikeys/{api_Key}",
  3759  	}
  3760  
  3761  	if input == nil {
  3762  		input = &GetApiKeyInput{}
  3763  	}
  3764  
  3765  	output = &ApiKey{}
  3766  	req = c.newRequest(op, input, output)
  3767  	return
  3768  }
  3769  
  3770  // GetApiKey API operation for Amazon API Gateway.
  3771  //
  3772  // Gets information about the current ApiKey resource.
  3773  //
  3774  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3775  // with awserr.Error's Code and Message methods to get detailed information about
  3776  // the error.
  3777  //
  3778  // See the AWS API reference guide for Amazon API Gateway's
  3779  // API operation GetApiKey for usage and error information.
  3780  //
  3781  // Returned Error Types:
  3782  //   * BadRequestException
  3783  //   The submitted request is not valid, for example, the input is incomplete
  3784  //   or incorrect. See the accompanying error message for details.
  3785  //
  3786  //   * NotFoundException
  3787  //   The requested resource is not found. Make sure that the request URI is correct.
  3788  //
  3789  //   * UnauthorizedException
  3790  //   The request is denied because the caller has insufficient permissions.
  3791  //
  3792  //   * TooManyRequestsException
  3793  //   The request has reached its throttling limit. Retry after the specified time
  3794  //   period.
  3795  //
  3796  func (c *APIGateway) GetApiKey(input *GetApiKeyInput) (*ApiKey, error) {
  3797  	req, out := c.GetApiKeyRequest(input)
  3798  	return out, req.Send()
  3799  }
  3800  
  3801  // GetApiKeyWithContext is the same as GetApiKey with the addition of
  3802  // the ability to pass a context and additional request options.
  3803  //
  3804  // See GetApiKey for details on how to use this API operation.
  3805  //
  3806  // The context must be non-nil and will be used for request cancellation. If
  3807  // the context is nil a panic will occur. In the future the SDK may create
  3808  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3809  // for more information on using Contexts.
  3810  func (c *APIGateway) GetApiKeyWithContext(ctx aws.Context, input *GetApiKeyInput, opts ...request.Option) (*ApiKey, error) {
  3811  	req, out := c.GetApiKeyRequest(input)
  3812  	req.SetContext(ctx)
  3813  	req.ApplyOptions(opts...)
  3814  	return out, req.Send()
  3815  }
  3816  
  3817  const opGetApiKeys = "GetApiKeys"
  3818  
  3819  // GetApiKeysRequest generates a "aws/request.Request" representing the
  3820  // client's request for the GetApiKeys operation. The "output" return
  3821  // value will be populated with the request's response once the request completes
  3822  // successfully.
  3823  //
  3824  // Use "Send" method on the returned Request to send the API call to the service.
  3825  // the "output" return value is not valid until after Send returns without error.
  3826  //
  3827  // See GetApiKeys for more information on using the GetApiKeys
  3828  // API call, and error handling.
  3829  //
  3830  // This method is useful when you want to inject custom logic or configuration
  3831  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3832  //
  3833  //
  3834  //    // Example sending a request using the GetApiKeysRequest method.
  3835  //    req, resp := client.GetApiKeysRequest(params)
  3836  //
  3837  //    err := req.Send()
  3838  //    if err == nil { // resp is now filled
  3839  //        fmt.Println(resp)
  3840  //    }
  3841  func (c *APIGateway) GetApiKeysRequest(input *GetApiKeysInput) (req *request.Request, output *GetApiKeysOutput) {
  3842  	op := &request.Operation{
  3843  		Name:       opGetApiKeys,
  3844  		HTTPMethod: "GET",
  3845  		HTTPPath:   "/apikeys",
  3846  		Paginator: &request.Paginator{
  3847  			InputTokens:     []string{"position"},
  3848  			OutputTokens:    []string{"position"},
  3849  			LimitToken:      "limit",
  3850  			TruncationToken: "",
  3851  		},
  3852  	}
  3853  
  3854  	if input == nil {
  3855  		input = &GetApiKeysInput{}
  3856  	}
  3857  
  3858  	output = &GetApiKeysOutput{}
  3859  	req = c.newRequest(op, input, output)
  3860  	return
  3861  }
  3862  
  3863  // GetApiKeys API operation for Amazon API Gateway.
  3864  //
  3865  // Gets information about the current ApiKeys resource.
  3866  //
  3867  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3868  // with awserr.Error's Code and Message methods to get detailed information about
  3869  // the error.
  3870  //
  3871  // See the AWS API reference guide for Amazon API Gateway's
  3872  // API operation GetApiKeys for usage and error information.
  3873  //
  3874  // Returned Error Types:
  3875  //   * BadRequestException
  3876  //   The submitted request is not valid, for example, the input is incomplete
  3877  //   or incorrect. See the accompanying error message for details.
  3878  //
  3879  //   * NotFoundException
  3880  //   The requested resource is not found. Make sure that the request URI is correct.
  3881  //
  3882  //   * UnauthorizedException
  3883  //   The request is denied because the caller has insufficient permissions.
  3884  //
  3885  //   * TooManyRequestsException
  3886  //   The request has reached its throttling limit. Retry after the specified time
  3887  //   period.
  3888  //
  3889  func (c *APIGateway) GetApiKeys(input *GetApiKeysInput) (*GetApiKeysOutput, error) {
  3890  	req, out := c.GetApiKeysRequest(input)
  3891  	return out, req.Send()
  3892  }
  3893  
  3894  // GetApiKeysWithContext is the same as GetApiKeys with the addition of
  3895  // the ability to pass a context and additional request options.
  3896  //
  3897  // See GetApiKeys for details on how to use this API operation.
  3898  //
  3899  // The context must be non-nil and will be used for request cancellation. If
  3900  // the context is nil a panic will occur. In the future the SDK may create
  3901  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3902  // for more information on using Contexts.
  3903  func (c *APIGateway) GetApiKeysWithContext(ctx aws.Context, input *GetApiKeysInput, opts ...request.Option) (*GetApiKeysOutput, error) {
  3904  	req, out := c.GetApiKeysRequest(input)
  3905  	req.SetContext(ctx)
  3906  	req.ApplyOptions(opts...)
  3907  	return out, req.Send()
  3908  }
  3909  
  3910  // GetApiKeysPages iterates over the pages of a GetApiKeys operation,
  3911  // calling the "fn" function with the response data for each page. To stop
  3912  // iterating, return false from the fn function.
  3913  //
  3914  // See GetApiKeys method for more information on how to use this operation.
  3915  //
  3916  // Note: This operation can generate multiple requests to a service.
  3917  //
  3918  //    // Example iterating over at most 3 pages of a GetApiKeys operation.
  3919  //    pageNum := 0
  3920  //    err := client.GetApiKeysPages(params,
  3921  //        func(page *apigateway.GetApiKeysOutput, lastPage bool) bool {
  3922  //            pageNum++
  3923  //            fmt.Println(page)
  3924  //            return pageNum <= 3
  3925  //        })
  3926  //
  3927  func (c *APIGateway) GetApiKeysPages(input *GetApiKeysInput, fn func(*GetApiKeysOutput, bool) bool) error {
  3928  	return c.GetApiKeysPagesWithContext(aws.BackgroundContext(), input, fn)
  3929  }
  3930  
  3931  // GetApiKeysPagesWithContext same as GetApiKeysPages except
  3932  // it takes a Context and allows setting request options on the pages.
  3933  //
  3934  // The context must be non-nil and will be used for request cancellation. If
  3935  // the context is nil a panic will occur. In the future the SDK may create
  3936  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3937  // for more information on using Contexts.
  3938  func (c *APIGateway) GetApiKeysPagesWithContext(ctx aws.Context, input *GetApiKeysInput, fn func(*GetApiKeysOutput, bool) bool, opts ...request.Option) error {
  3939  	p := request.Pagination{
  3940  		NewRequest: func() (*request.Request, error) {
  3941  			var inCpy *GetApiKeysInput
  3942  			if input != nil {
  3943  				tmp := *input
  3944  				inCpy = &tmp
  3945  			}
  3946  			req, _ := c.GetApiKeysRequest(inCpy)
  3947  			req.SetContext(ctx)
  3948  			req.ApplyOptions(opts...)
  3949  			return req, nil
  3950  		},
  3951  	}
  3952  
  3953  	for p.Next() {
  3954  		if !fn(p.Page().(*GetApiKeysOutput), !p.HasNextPage()) {
  3955  			break
  3956  		}
  3957  	}
  3958  
  3959  	return p.Err()
  3960  }
  3961  
  3962  const opGetAuthorizer = "GetAuthorizer"
  3963  
  3964  // GetAuthorizerRequest generates a "aws/request.Request" representing the
  3965  // client's request for the GetAuthorizer operation. The "output" return
  3966  // value will be populated with the request's response once the request completes
  3967  // successfully.
  3968  //
  3969  // Use "Send" method on the returned Request to send the API call to the service.
  3970  // the "output" return value is not valid until after Send returns without error.
  3971  //
  3972  // See GetAuthorizer for more information on using the GetAuthorizer
  3973  // API call, and error handling.
  3974  //
  3975  // This method is useful when you want to inject custom logic or configuration
  3976  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3977  //
  3978  //
  3979  //    // Example sending a request using the GetAuthorizerRequest method.
  3980  //    req, resp := client.GetAuthorizerRequest(params)
  3981  //
  3982  //    err := req.Send()
  3983  //    if err == nil { // resp is now filled
  3984  //        fmt.Println(resp)
  3985  //    }
  3986  func (c *APIGateway) GetAuthorizerRequest(input *GetAuthorizerInput) (req *request.Request, output *Authorizer) {
  3987  	op := &request.Operation{
  3988  		Name:       opGetAuthorizer,
  3989  		HTTPMethod: "GET",
  3990  		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
  3991  	}
  3992  
  3993  	if input == nil {
  3994  		input = &GetAuthorizerInput{}
  3995  	}
  3996  
  3997  	output = &Authorizer{}
  3998  	req = c.newRequest(op, input, output)
  3999  	return
  4000  }
  4001  
  4002  // GetAuthorizer API operation for Amazon API Gateway.
  4003  //
  4004  // Describe an existing Authorizer resource.
  4005  //
  4006  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-authorizer.html)
  4007  //
  4008  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4009  // with awserr.Error's Code and Message methods to get detailed information about
  4010  // the error.
  4011  //
  4012  // See the AWS API reference guide for Amazon API Gateway's
  4013  // API operation GetAuthorizer for usage and error information.
  4014  //
  4015  // Returned Error Types:
  4016  //   * BadRequestException
  4017  //   The submitted request is not valid, for example, the input is incomplete
  4018  //   or incorrect. See the accompanying error message for details.
  4019  //
  4020  //   * NotFoundException
  4021  //   The requested resource is not found. Make sure that the request URI is correct.
  4022  //
  4023  //   * UnauthorizedException
  4024  //   The request is denied because the caller has insufficient permissions.
  4025  //
  4026  //   * TooManyRequestsException
  4027  //   The request has reached its throttling limit. Retry after the specified time
  4028  //   period.
  4029  //
  4030  func (c *APIGateway) GetAuthorizer(input *GetAuthorizerInput) (*Authorizer, error) {
  4031  	req, out := c.GetAuthorizerRequest(input)
  4032  	return out, req.Send()
  4033  }
  4034  
  4035  // GetAuthorizerWithContext is the same as GetAuthorizer with the addition of
  4036  // the ability to pass a context and additional request options.
  4037  //
  4038  // See GetAuthorizer for details on how to use this API operation.
  4039  //
  4040  // The context must be non-nil and will be used for request cancellation. If
  4041  // the context is nil a panic will occur. In the future the SDK may create
  4042  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4043  // for more information on using Contexts.
  4044  func (c *APIGateway) GetAuthorizerWithContext(ctx aws.Context, input *GetAuthorizerInput, opts ...request.Option) (*Authorizer, error) {
  4045  	req, out := c.GetAuthorizerRequest(input)
  4046  	req.SetContext(ctx)
  4047  	req.ApplyOptions(opts...)
  4048  	return out, req.Send()
  4049  }
  4050  
  4051  const opGetAuthorizers = "GetAuthorizers"
  4052  
  4053  // GetAuthorizersRequest generates a "aws/request.Request" representing the
  4054  // client's request for the GetAuthorizers operation. The "output" return
  4055  // value will be populated with the request's response once the request completes
  4056  // successfully.
  4057  //
  4058  // Use "Send" method on the returned Request to send the API call to the service.
  4059  // the "output" return value is not valid until after Send returns without error.
  4060  //
  4061  // See GetAuthorizers for more information on using the GetAuthorizers
  4062  // API call, and error handling.
  4063  //
  4064  // This method is useful when you want to inject custom logic or configuration
  4065  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4066  //
  4067  //
  4068  //    // Example sending a request using the GetAuthorizersRequest method.
  4069  //    req, resp := client.GetAuthorizersRequest(params)
  4070  //
  4071  //    err := req.Send()
  4072  //    if err == nil { // resp is now filled
  4073  //        fmt.Println(resp)
  4074  //    }
  4075  func (c *APIGateway) GetAuthorizersRequest(input *GetAuthorizersInput) (req *request.Request, output *GetAuthorizersOutput) {
  4076  	op := &request.Operation{
  4077  		Name:       opGetAuthorizers,
  4078  		HTTPMethod: "GET",
  4079  		HTTPPath:   "/restapis/{restapi_id}/authorizers",
  4080  	}
  4081  
  4082  	if input == nil {
  4083  		input = &GetAuthorizersInput{}
  4084  	}
  4085  
  4086  	output = &GetAuthorizersOutput{}
  4087  	req = c.newRequest(op, input, output)
  4088  	return
  4089  }
  4090  
  4091  // GetAuthorizers API operation for Amazon API Gateway.
  4092  //
  4093  // Describe an existing Authorizers resource.
  4094  //
  4095  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-authorizers.html)
  4096  //
  4097  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4098  // with awserr.Error's Code and Message methods to get detailed information about
  4099  // the error.
  4100  //
  4101  // See the AWS API reference guide for Amazon API Gateway's
  4102  // API operation GetAuthorizers for usage and error information.
  4103  //
  4104  // Returned Error Types:
  4105  //   * BadRequestException
  4106  //   The submitted request is not valid, for example, the input is incomplete
  4107  //   or incorrect. See the accompanying error message for details.
  4108  //
  4109  //   * NotFoundException
  4110  //   The requested resource is not found. Make sure that the request URI is correct.
  4111  //
  4112  //   * UnauthorizedException
  4113  //   The request is denied because the caller has insufficient permissions.
  4114  //
  4115  //   * TooManyRequestsException
  4116  //   The request has reached its throttling limit. Retry after the specified time
  4117  //   period.
  4118  //
  4119  func (c *APIGateway) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizersOutput, error) {
  4120  	req, out := c.GetAuthorizersRequest(input)
  4121  	return out, req.Send()
  4122  }
  4123  
  4124  // GetAuthorizersWithContext is the same as GetAuthorizers with the addition of
  4125  // the ability to pass a context and additional request options.
  4126  //
  4127  // See GetAuthorizers for details on how to use this API operation.
  4128  //
  4129  // The context must be non-nil and will be used for request cancellation. If
  4130  // the context is nil a panic will occur. In the future the SDK may create
  4131  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4132  // for more information on using Contexts.
  4133  func (c *APIGateway) GetAuthorizersWithContext(ctx aws.Context, input *GetAuthorizersInput, opts ...request.Option) (*GetAuthorizersOutput, error) {
  4134  	req, out := c.GetAuthorizersRequest(input)
  4135  	req.SetContext(ctx)
  4136  	req.ApplyOptions(opts...)
  4137  	return out, req.Send()
  4138  }
  4139  
  4140  const opGetBasePathMapping = "GetBasePathMapping"
  4141  
  4142  // GetBasePathMappingRequest generates a "aws/request.Request" representing the
  4143  // client's request for the GetBasePathMapping operation. The "output" return
  4144  // value will be populated with the request's response once the request completes
  4145  // successfully.
  4146  //
  4147  // Use "Send" method on the returned Request to send the API call to the service.
  4148  // the "output" return value is not valid until after Send returns without error.
  4149  //
  4150  // See GetBasePathMapping for more information on using the GetBasePathMapping
  4151  // API call, and error handling.
  4152  //
  4153  // This method is useful when you want to inject custom logic or configuration
  4154  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4155  //
  4156  //
  4157  //    // Example sending a request using the GetBasePathMappingRequest method.
  4158  //    req, resp := client.GetBasePathMappingRequest(params)
  4159  //
  4160  //    err := req.Send()
  4161  //    if err == nil { // resp is now filled
  4162  //        fmt.Println(resp)
  4163  //    }
  4164  func (c *APIGateway) GetBasePathMappingRequest(input *GetBasePathMappingInput) (req *request.Request, output *BasePathMapping) {
  4165  	op := &request.Operation{
  4166  		Name:       opGetBasePathMapping,
  4167  		HTTPMethod: "GET",
  4168  		HTTPPath:   "/domainnames/{domain_name}/basepathmappings/{base_path}",
  4169  	}
  4170  
  4171  	if input == nil {
  4172  		input = &GetBasePathMappingInput{}
  4173  	}
  4174  
  4175  	output = &BasePathMapping{}
  4176  	req = c.newRequest(op, input, output)
  4177  	return
  4178  }
  4179  
  4180  // GetBasePathMapping API operation for Amazon API Gateway.
  4181  //
  4182  // Describe a BasePathMapping resource.
  4183  //
  4184  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4185  // with awserr.Error's Code and Message methods to get detailed information about
  4186  // the error.
  4187  //
  4188  // See the AWS API reference guide for Amazon API Gateway's
  4189  // API operation GetBasePathMapping for usage and error information.
  4190  //
  4191  // Returned Error Types:
  4192  //   * BadRequestException
  4193  //   The submitted request is not valid, for example, the input is incomplete
  4194  //   or incorrect. See the accompanying error message for details.
  4195  //
  4196  //   * NotFoundException
  4197  //   The requested resource is not found. Make sure that the request URI is correct.
  4198  //
  4199  //   * UnauthorizedException
  4200  //   The request is denied because the caller has insufficient permissions.
  4201  //
  4202  //   * TooManyRequestsException
  4203  //   The request has reached its throttling limit. Retry after the specified time
  4204  //   period.
  4205  //
  4206  func (c *APIGateway) GetBasePathMapping(input *GetBasePathMappingInput) (*BasePathMapping, error) {
  4207  	req, out := c.GetBasePathMappingRequest(input)
  4208  	return out, req.Send()
  4209  }
  4210  
  4211  // GetBasePathMappingWithContext is the same as GetBasePathMapping with the addition of
  4212  // the ability to pass a context and additional request options.
  4213  //
  4214  // See GetBasePathMapping for details on how to use this API operation.
  4215  //
  4216  // The context must be non-nil and will be used for request cancellation. If
  4217  // the context is nil a panic will occur. In the future the SDK may create
  4218  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4219  // for more information on using Contexts.
  4220  func (c *APIGateway) GetBasePathMappingWithContext(ctx aws.Context, input *GetBasePathMappingInput, opts ...request.Option) (*BasePathMapping, error) {
  4221  	req, out := c.GetBasePathMappingRequest(input)
  4222  	req.SetContext(ctx)
  4223  	req.ApplyOptions(opts...)
  4224  	return out, req.Send()
  4225  }
  4226  
  4227  const opGetBasePathMappings = "GetBasePathMappings"
  4228  
  4229  // GetBasePathMappingsRequest generates a "aws/request.Request" representing the
  4230  // client's request for the GetBasePathMappings operation. The "output" return
  4231  // value will be populated with the request's response once the request completes
  4232  // successfully.
  4233  //
  4234  // Use "Send" method on the returned Request to send the API call to the service.
  4235  // the "output" return value is not valid until after Send returns without error.
  4236  //
  4237  // See GetBasePathMappings for more information on using the GetBasePathMappings
  4238  // API call, and error handling.
  4239  //
  4240  // This method is useful when you want to inject custom logic or configuration
  4241  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4242  //
  4243  //
  4244  //    // Example sending a request using the GetBasePathMappingsRequest method.
  4245  //    req, resp := client.GetBasePathMappingsRequest(params)
  4246  //
  4247  //    err := req.Send()
  4248  //    if err == nil { // resp is now filled
  4249  //        fmt.Println(resp)
  4250  //    }
  4251  func (c *APIGateway) GetBasePathMappingsRequest(input *GetBasePathMappingsInput) (req *request.Request, output *GetBasePathMappingsOutput) {
  4252  	op := &request.Operation{
  4253  		Name:       opGetBasePathMappings,
  4254  		HTTPMethod: "GET",
  4255  		HTTPPath:   "/domainnames/{domain_name}/basepathmappings",
  4256  		Paginator: &request.Paginator{
  4257  			InputTokens:     []string{"position"},
  4258  			OutputTokens:    []string{"position"},
  4259  			LimitToken:      "limit",
  4260  			TruncationToken: "",
  4261  		},
  4262  	}
  4263  
  4264  	if input == nil {
  4265  		input = &GetBasePathMappingsInput{}
  4266  	}
  4267  
  4268  	output = &GetBasePathMappingsOutput{}
  4269  	req = c.newRequest(op, input, output)
  4270  	return
  4271  }
  4272  
  4273  // GetBasePathMappings API operation for Amazon API Gateway.
  4274  //
  4275  // Represents a collection of BasePathMapping resources.
  4276  //
  4277  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4278  // with awserr.Error's Code and Message methods to get detailed information about
  4279  // the error.
  4280  //
  4281  // See the AWS API reference guide for Amazon API Gateway's
  4282  // API operation GetBasePathMappings for usage and error information.
  4283  //
  4284  // Returned Error Types:
  4285  //   * BadRequestException
  4286  //   The submitted request is not valid, for example, the input is incomplete
  4287  //   or incorrect. See the accompanying error message for details.
  4288  //
  4289  //   * NotFoundException
  4290  //   The requested resource is not found. Make sure that the request URI is correct.
  4291  //
  4292  //   * UnauthorizedException
  4293  //   The request is denied because the caller has insufficient permissions.
  4294  //
  4295  //   * TooManyRequestsException
  4296  //   The request has reached its throttling limit. Retry after the specified time
  4297  //   period.
  4298  //
  4299  func (c *APIGateway) GetBasePathMappings(input *GetBasePathMappingsInput) (*GetBasePathMappingsOutput, error) {
  4300  	req, out := c.GetBasePathMappingsRequest(input)
  4301  	return out, req.Send()
  4302  }
  4303  
  4304  // GetBasePathMappingsWithContext is the same as GetBasePathMappings with the addition of
  4305  // the ability to pass a context and additional request options.
  4306  //
  4307  // See GetBasePathMappings for details on how to use this API operation.
  4308  //
  4309  // The context must be non-nil and will be used for request cancellation. If
  4310  // the context is nil a panic will occur. In the future the SDK may create
  4311  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4312  // for more information on using Contexts.
  4313  func (c *APIGateway) GetBasePathMappingsWithContext(ctx aws.Context, input *GetBasePathMappingsInput, opts ...request.Option) (*GetBasePathMappingsOutput, error) {
  4314  	req, out := c.GetBasePathMappingsRequest(input)
  4315  	req.SetContext(ctx)
  4316  	req.ApplyOptions(opts...)
  4317  	return out, req.Send()
  4318  }
  4319  
  4320  // GetBasePathMappingsPages iterates over the pages of a GetBasePathMappings operation,
  4321  // calling the "fn" function with the response data for each page. To stop
  4322  // iterating, return false from the fn function.
  4323  //
  4324  // See GetBasePathMappings method for more information on how to use this operation.
  4325  //
  4326  // Note: This operation can generate multiple requests to a service.
  4327  //
  4328  //    // Example iterating over at most 3 pages of a GetBasePathMappings operation.
  4329  //    pageNum := 0
  4330  //    err := client.GetBasePathMappingsPages(params,
  4331  //        func(page *apigateway.GetBasePathMappingsOutput, lastPage bool) bool {
  4332  //            pageNum++
  4333  //            fmt.Println(page)
  4334  //            return pageNum <= 3
  4335  //        })
  4336  //
  4337  func (c *APIGateway) GetBasePathMappingsPages(input *GetBasePathMappingsInput, fn func(*GetBasePathMappingsOutput, bool) bool) error {
  4338  	return c.GetBasePathMappingsPagesWithContext(aws.BackgroundContext(), input, fn)
  4339  }
  4340  
  4341  // GetBasePathMappingsPagesWithContext same as GetBasePathMappingsPages except
  4342  // it takes a Context and allows setting request options on the pages.
  4343  //
  4344  // The context must be non-nil and will be used for request cancellation. If
  4345  // the context is nil a panic will occur. In the future the SDK may create
  4346  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4347  // for more information on using Contexts.
  4348  func (c *APIGateway) GetBasePathMappingsPagesWithContext(ctx aws.Context, input *GetBasePathMappingsInput, fn func(*GetBasePathMappingsOutput, bool) bool, opts ...request.Option) error {
  4349  	p := request.Pagination{
  4350  		NewRequest: func() (*request.Request, error) {
  4351  			var inCpy *GetBasePathMappingsInput
  4352  			if input != nil {
  4353  				tmp := *input
  4354  				inCpy = &tmp
  4355  			}
  4356  			req, _ := c.GetBasePathMappingsRequest(inCpy)
  4357  			req.SetContext(ctx)
  4358  			req.ApplyOptions(opts...)
  4359  			return req, nil
  4360  		},
  4361  	}
  4362  
  4363  	for p.Next() {
  4364  		if !fn(p.Page().(*GetBasePathMappingsOutput), !p.HasNextPage()) {
  4365  			break
  4366  		}
  4367  	}
  4368  
  4369  	return p.Err()
  4370  }
  4371  
  4372  const opGetClientCertificate = "GetClientCertificate"
  4373  
  4374  // GetClientCertificateRequest generates a "aws/request.Request" representing the
  4375  // client's request for the GetClientCertificate operation. The "output" return
  4376  // value will be populated with the request's response once the request completes
  4377  // successfully.
  4378  //
  4379  // Use "Send" method on the returned Request to send the API call to the service.
  4380  // the "output" return value is not valid until after Send returns without error.
  4381  //
  4382  // See GetClientCertificate for more information on using the GetClientCertificate
  4383  // API call, and error handling.
  4384  //
  4385  // This method is useful when you want to inject custom logic or configuration
  4386  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4387  //
  4388  //
  4389  //    // Example sending a request using the GetClientCertificateRequest method.
  4390  //    req, resp := client.GetClientCertificateRequest(params)
  4391  //
  4392  //    err := req.Send()
  4393  //    if err == nil { // resp is now filled
  4394  //        fmt.Println(resp)
  4395  //    }
  4396  func (c *APIGateway) GetClientCertificateRequest(input *GetClientCertificateInput) (req *request.Request, output *ClientCertificate) {
  4397  	op := &request.Operation{
  4398  		Name:       opGetClientCertificate,
  4399  		HTTPMethod: "GET",
  4400  		HTTPPath:   "/clientcertificates/{clientcertificate_id}",
  4401  	}
  4402  
  4403  	if input == nil {
  4404  		input = &GetClientCertificateInput{}
  4405  	}
  4406  
  4407  	output = &ClientCertificate{}
  4408  	req = c.newRequest(op, input, output)
  4409  	return
  4410  }
  4411  
  4412  // GetClientCertificate API operation for Amazon API Gateway.
  4413  //
  4414  // Gets information about the current ClientCertificate resource.
  4415  //
  4416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4417  // with awserr.Error's Code and Message methods to get detailed information about
  4418  // the error.
  4419  //
  4420  // See the AWS API reference guide for Amazon API Gateway's
  4421  // API operation GetClientCertificate for usage and error information.
  4422  //
  4423  // Returned Error Types:
  4424  //   * BadRequestException
  4425  //   The submitted request is not valid, for example, the input is incomplete
  4426  //   or incorrect. See the accompanying error message for details.
  4427  //
  4428  //   * NotFoundException
  4429  //   The requested resource is not found. Make sure that the request URI is correct.
  4430  //
  4431  //   * UnauthorizedException
  4432  //   The request is denied because the caller has insufficient permissions.
  4433  //
  4434  //   * TooManyRequestsException
  4435  //   The request has reached its throttling limit. Retry after the specified time
  4436  //   period.
  4437  //
  4438  func (c *APIGateway) GetClientCertificate(input *GetClientCertificateInput) (*ClientCertificate, error) {
  4439  	req, out := c.GetClientCertificateRequest(input)
  4440  	return out, req.Send()
  4441  }
  4442  
  4443  // GetClientCertificateWithContext is the same as GetClientCertificate with the addition of
  4444  // the ability to pass a context and additional request options.
  4445  //
  4446  // See GetClientCertificate for details on how to use this API operation.
  4447  //
  4448  // The context must be non-nil and will be used for request cancellation. If
  4449  // the context is nil a panic will occur. In the future the SDK may create
  4450  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4451  // for more information on using Contexts.
  4452  func (c *APIGateway) GetClientCertificateWithContext(ctx aws.Context, input *GetClientCertificateInput, opts ...request.Option) (*ClientCertificate, error) {
  4453  	req, out := c.GetClientCertificateRequest(input)
  4454  	req.SetContext(ctx)
  4455  	req.ApplyOptions(opts...)
  4456  	return out, req.Send()
  4457  }
  4458  
  4459  const opGetClientCertificates = "GetClientCertificates"
  4460  
  4461  // GetClientCertificatesRequest generates a "aws/request.Request" representing the
  4462  // client's request for the GetClientCertificates operation. The "output" return
  4463  // value will be populated with the request's response once the request completes
  4464  // successfully.
  4465  //
  4466  // Use "Send" method on the returned Request to send the API call to the service.
  4467  // the "output" return value is not valid until after Send returns without error.
  4468  //
  4469  // See GetClientCertificates for more information on using the GetClientCertificates
  4470  // API call, and error handling.
  4471  //
  4472  // This method is useful when you want to inject custom logic or configuration
  4473  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4474  //
  4475  //
  4476  //    // Example sending a request using the GetClientCertificatesRequest method.
  4477  //    req, resp := client.GetClientCertificatesRequest(params)
  4478  //
  4479  //    err := req.Send()
  4480  //    if err == nil { // resp is now filled
  4481  //        fmt.Println(resp)
  4482  //    }
  4483  func (c *APIGateway) GetClientCertificatesRequest(input *GetClientCertificatesInput) (req *request.Request, output *GetClientCertificatesOutput) {
  4484  	op := &request.Operation{
  4485  		Name:       opGetClientCertificates,
  4486  		HTTPMethod: "GET",
  4487  		HTTPPath:   "/clientcertificates",
  4488  		Paginator: &request.Paginator{
  4489  			InputTokens:     []string{"position"},
  4490  			OutputTokens:    []string{"position"},
  4491  			LimitToken:      "limit",
  4492  			TruncationToken: "",
  4493  		},
  4494  	}
  4495  
  4496  	if input == nil {
  4497  		input = &GetClientCertificatesInput{}
  4498  	}
  4499  
  4500  	output = &GetClientCertificatesOutput{}
  4501  	req = c.newRequest(op, input, output)
  4502  	return
  4503  }
  4504  
  4505  // GetClientCertificates API operation for Amazon API Gateway.
  4506  //
  4507  // Gets a collection of ClientCertificate resources.
  4508  //
  4509  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4510  // with awserr.Error's Code and Message methods to get detailed information about
  4511  // the error.
  4512  //
  4513  // See the AWS API reference guide for Amazon API Gateway's
  4514  // API operation GetClientCertificates for usage and error information.
  4515  //
  4516  // Returned Error Types:
  4517  //   * BadRequestException
  4518  //   The submitted request is not valid, for example, the input is incomplete
  4519  //   or incorrect. See the accompanying error message for details.
  4520  //
  4521  //   * NotFoundException
  4522  //   The requested resource is not found. Make sure that the request URI is correct.
  4523  //
  4524  //   * UnauthorizedException
  4525  //   The request is denied because the caller has insufficient permissions.
  4526  //
  4527  //   * TooManyRequestsException
  4528  //   The request has reached its throttling limit. Retry after the specified time
  4529  //   period.
  4530  //
  4531  func (c *APIGateway) GetClientCertificates(input *GetClientCertificatesInput) (*GetClientCertificatesOutput, error) {
  4532  	req, out := c.GetClientCertificatesRequest(input)
  4533  	return out, req.Send()
  4534  }
  4535  
  4536  // GetClientCertificatesWithContext is the same as GetClientCertificates with the addition of
  4537  // the ability to pass a context and additional request options.
  4538  //
  4539  // See GetClientCertificates for details on how to use this API operation.
  4540  //
  4541  // The context must be non-nil and will be used for request cancellation. If
  4542  // the context is nil a panic will occur. In the future the SDK may create
  4543  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4544  // for more information on using Contexts.
  4545  func (c *APIGateway) GetClientCertificatesWithContext(ctx aws.Context, input *GetClientCertificatesInput, opts ...request.Option) (*GetClientCertificatesOutput, error) {
  4546  	req, out := c.GetClientCertificatesRequest(input)
  4547  	req.SetContext(ctx)
  4548  	req.ApplyOptions(opts...)
  4549  	return out, req.Send()
  4550  }
  4551  
  4552  // GetClientCertificatesPages iterates over the pages of a GetClientCertificates operation,
  4553  // calling the "fn" function with the response data for each page. To stop
  4554  // iterating, return false from the fn function.
  4555  //
  4556  // See GetClientCertificates method for more information on how to use this operation.
  4557  //
  4558  // Note: This operation can generate multiple requests to a service.
  4559  //
  4560  //    // Example iterating over at most 3 pages of a GetClientCertificates operation.
  4561  //    pageNum := 0
  4562  //    err := client.GetClientCertificatesPages(params,
  4563  //        func(page *apigateway.GetClientCertificatesOutput, lastPage bool) bool {
  4564  //            pageNum++
  4565  //            fmt.Println(page)
  4566  //            return pageNum <= 3
  4567  //        })
  4568  //
  4569  func (c *APIGateway) GetClientCertificatesPages(input *GetClientCertificatesInput, fn func(*GetClientCertificatesOutput, bool) bool) error {
  4570  	return c.GetClientCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
  4571  }
  4572  
  4573  // GetClientCertificatesPagesWithContext same as GetClientCertificatesPages except
  4574  // it takes a Context and allows setting request options on the pages.
  4575  //
  4576  // The context must be non-nil and will be used for request cancellation. If
  4577  // the context is nil a panic will occur. In the future the SDK may create
  4578  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4579  // for more information on using Contexts.
  4580  func (c *APIGateway) GetClientCertificatesPagesWithContext(ctx aws.Context, input *GetClientCertificatesInput, fn func(*GetClientCertificatesOutput, bool) bool, opts ...request.Option) error {
  4581  	p := request.Pagination{
  4582  		NewRequest: func() (*request.Request, error) {
  4583  			var inCpy *GetClientCertificatesInput
  4584  			if input != nil {
  4585  				tmp := *input
  4586  				inCpy = &tmp
  4587  			}
  4588  			req, _ := c.GetClientCertificatesRequest(inCpy)
  4589  			req.SetContext(ctx)
  4590  			req.ApplyOptions(opts...)
  4591  			return req, nil
  4592  		},
  4593  	}
  4594  
  4595  	for p.Next() {
  4596  		if !fn(p.Page().(*GetClientCertificatesOutput), !p.HasNextPage()) {
  4597  			break
  4598  		}
  4599  	}
  4600  
  4601  	return p.Err()
  4602  }
  4603  
  4604  const opGetDeployment = "GetDeployment"
  4605  
  4606  // GetDeploymentRequest generates a "aws/request.Request" representing the
  4607  // client's request for the GetDeployment operation. The "output" return
  4608  // value will be populated with the request's response once the request completes
  4609  // successfully.
  4610  //
  4611  // Use "Send" method on the returned Request to send the API call to the service.
  4612  // the "output" return value is not valid until after Send returns without error.
  4613  //
  4614  // See GetDeployment for more information on using the GetDeployment
  4615  // API call, and error handling.
  4616  //
  4617  // This method is useful when you want to inject custom logic or configuration
  4618  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4619  //
  4620  //
  4621  //    // Example sending a request using the GetDeploymentRequest method.
  4622  //    req, resp := client.GetDeploymentRequest(params)
  4623  //
  4624  //    err := req.Send()
  4625  //    if err == nil { // resp is now filled
  4626  //        fmt.Println(resp)
  4627  //    }
  4628  func (c *APIGateway) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *Deployment) {
  4629  	op := &request.Operation{
  4630  		Name:       opGetDeployment,
  4631  		HTTPMethod: "GET",
  4632  		HTTPPath:   "/restapis/{restapi_id}/deployments/{deployment_id}",
  4633  	}
  4634  
  4635  	if input == nil {
  4636  		input = &GetDeploymentInput{}
  4637  	}
  4638  
  4639  	output = &Deployment{}
  4640  	req = c.newRequest(op, input, output)
  4641  	return
  4642  }
  4643  
  4644  // GetDeployment API operation for Amazon API Gateway.
  4645  //
  4646  // Gets information about a Deployment resource.
  4647  //
  4648  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4649  // with awserr.Error's Code and Message methods to get detailed information about
  4650  // the error.
  4651  //
  4652  // See the AWS API reference guide for Amazon API Gateway's
  4653  // API operation GetDeployment for usage and error information.
  4654  //
  4655  // Returned Error Types:
  4656  //   * BadRequestException
  4657  //   The submitted request is not valid, for example, the input is incomplete
  4658  //   or incorrect. See the accompanying error message for details.
  4659  //
  4660  //   * NotFoundException
  4661  //   The requested resource is not found. Make sure that the request URI is correct.
  4662  //
  4663  //   * UnauthorizedException
  4664  //   The request is denied because the caller has insufficient permissions.
  4665  //
  4666  //   * TooManyRequestsException
  4667  //   The request has reached its throttling limit. Retry after the specified time
  4668  //   period.
  4669  //
  4670  //   * ServiceUnavailableException
  4671  //   The requested service is not available. For details see the accompanying
  4672  //   error message. Retry after the specified time period.
  4673  //
  4674  func (c *APIGateway) GetDeployment(input *GetDeploymentInput) (*Deployment, error) {
  4675  	req, out := c.GetDeploymentRequest(input)
  4676  	return out, req.Send()
  4677  }
  4678  
  4679  // GetDeploymentWithContext is the same as GetDeployment with the addition of
  4680  // the ability to pass a context and additional request options.
  4681  //
  4682  // See GetDeployment for details on how to use this API operation.
  4683  //
  4684  // The context must be non-nil and will be used for request cancellation. If
  4685  // the context is nil a panic will occur. In the future the SDK may create
  4686  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4687  // for more information on using Contexts.
  4688  func (c *APIGateway) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*Deployment, error) {
  4689  	req, out := c.GetDeploymentRequest(input)
  4690  	req.SetContext(ctx)
  4691  	req.ApplyOptions(opts...)
  4692  	return out, req.Send()
  4693  }
  4694  
  4695  const opGetDeployments = "GetDeployments"
  4696  
  4697  // GetDeploymentsRequest generates a "aws/request.Request" representing the
  4698  // client's request for the GetDeployments operation. The "output" return
  4699  // value will be populated with the request's response once the request completes
  4700  // successfully.
  4701  //
  4702  // Use "Send" method on the returned Request to send the API call to the service.
  4703  // the "output" return value is not valid until after Send returns without error.
  4704  //
  4705  // See GetDeployments for more information on using the GetDeployments
  4706  // API call, and error handling.
  4707  //
  4708  // This method is useful when you want to inject custom logic or configuration
  4709  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4710  //
  4711  //
  4712  //    // Example sending a request using the GetDeploymentsRequest method.
  4713  //    req, resp := client.GetDeploymentsRequest(params)
  4714  //
  4715  //    err := req.Send()
  4716  //    if err == nil { // resp is now filled
  4717  //        fmt.Println(resp)
  4718  //    }
  4719  func (c *APIGateway) GetDeploymentsRequest(input *GetDeploymentsInput) (req *request.Request, output *GetDeploymentsOutput) {
  4720  	op := &request.Operation{
  4721  		Name:       opGetDeployments,
  4722  		HTTPMethod: "GET",
  4723  		HTTPPath:   "/restapis/{restapi_id}/deployments",
  4724  		Paginator: &request.Paginator{
  4725  			InputTokens:     []string{"position"},
  4726  			OutputTokens:    []string{"position"},
  4727  			LimitToken:      "limit",
  4728  			TruncationToken: "",
  4729  		},
  4730  	}
  4731  
  4732  	if input == nil {
  4733  		input = &GetDeploymentsInput{}
  4734  	}
  4735  
  4736  	output = &GetDeploymentsOutput{}
  4737  	req = c.newRequest(op, input, output)
  4738  	return
  4739  }
  4740  
  4741  // GetDeployments API operation for Amazon API Gateway.
  4742  //
  4743  // Gets information about a Deployments collection.
  4744  //
  4745  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4746  // with awserr.Error's Code and Message methods to get detailed information about
  4747  // the error.
  4748  //
  4749  // See the AWS API reference guide for Amazon API Gateway's
  4750  // API operation GetDeployments for usage and error information.
  4751  //
  4752  // Returned Error Types:
  4753  //   * BadRequestException
  4754  //   The submitted request is not valid, for example, the input is incomplete
  4755  //   or incorrect. See the accompanying error message for details.
  4756  //
  4757  //   * NotFoundException
  4758  //   The requested resource is not found. Make sure that the request URI is correct.
  4759  //
  4760  //   * UnauthorizedException
  4761  //   The request is denied because the caller has insufficient permissions.
  4762  //
  4763  //   * TooManyRequestsException
  4764  //   The request has reached its throttling limit. Retry after the specified time
  4765  //   period.
  4766  //
  4767  //   * ServiceUnavailableException
  4768  //   The requested service is not available. For details see the accompanying
  4769  //   error message. Retry after the specified time period.
  4770  //
  4771  func (c *APIGateway) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) {
  4772  	req, out := c.GetDeploymentsRequest(input)
  4773  	return out, req.Send()
  4774  }
  4775  
  4776  // GetDeploymentsWithContext is the same as GetDeployments with the addition of
  4777  // the ability to pass a context and additional request options.
  4778  //
  4779  // See GetDeployments for details on how to use this API operation.
  4780  //
  4781  // The context must be non-nil and will be used for request cancellation. If
  4782  // the context is nil a panic will occur. In the future the SDK may create
  4783  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4784  // for more information on using Contexts.
  4785  func (c *APIGateway) GetDeploymentsWithContext(ctx aws.Context, input *GetDeploymentsInput, opts ...request.Option) (*GetDeploymentsOutput, error) {
  4786  	req, out := c.GetDeploymentsRequest(input)
  4787  	req.SetContext(ctx)
  4788  	req.ApplyOptions(opts...)
  4789  	return out, req.Send()
  4790  }
  4791  
  4792  // GetDeploymentsPages iterates over the pages of a GetDeployments operation,
  4793  // calling the "fn" function with the response data for each page. To stop
  4794  // iterating, return false from the fn function.
  4795  //
  4796  // See GetDeployments method for more information on how to use this operation.
  4797  //
  4798  // Note: This operation can generate multiple requests to a service.
  4799  //
  4800  //    // Example iterating over at most 3 pages of a GetDeployments operation.
  4801  //    pageNum := 0
  4802  //    err := client.GetDeploymentsPages(params,
  4803  //        func(page *apigateway.GetDeploymentsOutput, lastPage bool) bool {
  4804  //            pageNum++
  4805  //            fmt.Println(page)
  4806  //            return pageNum <= 3
  4807  //        })
  4808  //
  4809  func (c *APIGateway) GetDeploymentsPages(input *GetDeploymentsInput, fn func(*GetDeploymentsOutput, bool) bool) error {
  4810  	return c.GetDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn)
  4811  }
  4812  
  4813  // GetDeploymentsPagesWithContext same as GetDeploymentsPages except
  4814  // it takes a Context and allows setting request options on the pages.
  4815  //
  4816  // The context must be non-nil and will be used for request cancellation. If
  4817  // the context is nil a panic will occur. In the future the SDK may create
  4818  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4819  // for more information on using Contexts.
  4820  func (c *APIGateway) GetDeploymentsPagesWithContext(ctx aws.Context, input *GetDeploymentsInput, fn func(*GetDeploymentsOutput, bool) bool, opts ...request.Option) error {
  4821  	p := request.Pagination{
  4822  		NewRequest: func() (*request.Request, error) {
  4823  			var inCpy *GetDeploymentsInput
  4824  			if input != nil {
  4825  				tmp := *input
  4826  				inCpy = &tmp
  4827  			}
  4828  			req, _ := c.GetDeploymentsRequest(inCpy)
  4829  			req.SetContext(ctx)
  4830  			req.ApplyOptions(opts...)
  4831  			return req, nil
  4832  		},
  4833  	}
  4834  
  4835  	for p.Next() {
  4836  		if !fn(p.Page().(*GetDeploymentsOutput), !p.HasNextPage()) {
  4837  			break
  4838  		}
  4839  	}
  4840  
  4841  	return p.Err()
  4842  }
  4843  
  4844  const opGetDocumentationPart = "GetDocumentationPart"
  4845  
  4846  // GetDocumentationPartRequest generates a "aws/request.Request" representing the
  4847  // client's request for the GetDocumentationPart operation. The "output" return
  4848  // value will be populated with the request's response once the request completes
  4849  // successfully.
  4850  //
  4851  // Use "Send" method on the returned Request to send the API call to the service.
  4852  // the "output" return value is not valid until after Send returns without error.
  4853  //
  4854  // See GetDocumentationPart for more information on using the GetDocumentationPart
  4855  // API call, and error handling.
  4856  //
  4857  // This method is useful when you want to inject custom logic or configuration
  4858  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4859  //
  4860  //
  4861  //    // Example sending a request using the GetDocumentationPartRequest method.
  4862  //    req, resp := client.GetDocumentationPartRequest(params)
  4863  //
  4864  //    err := req.Send()
  4865  //    if err == nil { // resp is now filled
  4866  //        fmt.Println(resp)
  4867  //    }
  4868  func (c *APIGateway) GetDocumentationPartRequest(input *GetDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
  4869  	op := &request.Operation{
  4870  		Name:       opGetDocumentationPart,
  4871  		HTTPMethod: "GET",
  4872  		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
  4873  	}
  4874  
  4875  	if input == nil {
  4876  		input = &GetDocumentationPartInput{}
  4877  	}
  4878  
  4879  	output = &DocumentationPart{}
  4880  	req = c.newRequest(op, input, output)
  4881  	return
  4882  }
  4883  
  4884  // GetDocumentationPart API operation for Amazon API Gateway.
  4885  //
  4886  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4887  // with awserr.Error's Code and Message methods to get detailed information about
  4888  // the error.
  4889  //
  4890  // See the AWS API reference guide for Amazon API Gateway's
  4891  // API operation GetDocumentationPart for usage and error information.
  4892  //
  4893  // Returned Error Types:
  4894  //   * BadRequestException
  4895  //   The submitted request is not valid, for example, the input is incomplete
  4896  //   or incorrect. See the accompanying error message for details.
  4897  //
  4898  //   * NotFoundException
  4899  //   The requested resource is not found. Make sure that the request URI is correct.
  4900  //
  4901  //   * UnauthorizedException
  4902  //   The request is denied because the caller has insufficient permissions.
  4903  //
  4904  //   * TooManyRequestsException
  4905  //   The request has reached its throttling limit. Retry after the specified time
  4906  //   period.
  4907  //
  4908  func (c *APIGateway) GetDocumentationPart(input *GetDocumentationPartInput) (*DocumentationPart, error) {
  4909  	req, out := c.GetDocumentationPartRequest(input)
  4910  	return out, req.Send()
  4911  }
  4912  
  4913  // GetDocumentationPartWithContext is the same as GetDocumentationPart with the addition of
  4914  // the ability to pass a context and additional request options.
  4915  //
  4916  // See GetDocumentationPart for details on how to use this API operation.
  4917  //
  4918  // The context must be non-nil and will be used for request cancellation. If
  4919  // the context is nil a panic will occur. In the future the SDK may create
  4920  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4921  // for more information on using Contexts.
  4922  func (c *APIGateway) GetDocumentationPartWithContext(ctx aws.Context, input *GetDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
  4923  	req, out := c.GetDocumentationPartRequest(input)
  4924  	req.SetContext(ctx)
  4925  	req.ApplyOptions(opts...)
  4926  	return out, req.Send()
  4927  }
  4928  
  4929  const opGetDocumentationParts = "GetDocumentationParts"
  4930  
  4931  // GetDocumentationPartsRequest generates a "aws/request.Request" representing the
  4932  // client's request for the GetDocumentationParts operation. The "output" return
  4933  // value will be populated with the request's response once the request completes
  4934  // successfully.
  4935  //
  4936  // Use "Send" method on the returned Request to send the API call to the service.
  4937  // the "output" return value is not valid until after Send returns without error.
  4938  //
  4939  // See GetDocumentationParts for more information on using the GetDocumentationParts
  4940  // API call, and error handling.
  4941  //
  4942  // This method is useful when you want to inject custom logic or configuration
  4943  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4944  //
  4945  //
  4946  //    // Example sending a request using the GetDocumentationPartsRequest method.
  4947  //    req, resp := client.GetDocumentationPartsRequest(params)
  4948  //
  4949  //    err := req.Send()
  4950  //    if err == nil { // resp is now filled
  4951  //        fmt.Println(resp)
  4952  //    }
  4953  func (c *APIGateway) GetDocumentationPartsRequest(input *GetDocumentationPartsInput) (req *request.Request, output *GetDocumentationPartsOutput) {
  4954  	op := &request.Operation{
  4955  		Name:       opGetDocumentationParts,
  4956  		HTTPMethod: "GET",
  4957  		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
  4958  	}
  4959  
  4960  	if input == nil {
  4961  		input = &GetDocumentationPartsInput{}
  4962  	}
  4963  
  4964  	output = &GetDocumentationPartsOutput{}
  4965  	req = c.newRequest(op, input, output)
  4966  	return
  4967  }
  4968  
  4969  // GetDocumentationParts API operation for Amazon API Gateway.
  4970  //
  4971  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4972  // with awserr.Error's Code and Message methods to get detailed information about
  4973  // the error.
  4974  //
  4975  // See the AWS API reference guide for Amazon API Gateway's
  4976  // API operation GetDocumentationParts for usage and error information.
  4977  //
  4978  // Returned Error Types:
  4979  //   * BadRequestException
  4980  //   The submitted request is not valid, for example, the input is incomplete
  4981  //   or incorrect. See the accompanying error message for details.
  4982  //
  4983  //   * NotFoundException
  4984  //   The requested resource is not found. Make sure that the request URI is correct.
  4985  //
  4986  //   * UnauthorizedException
  4987  //   The request is denied because the caller has insufficient permissions.
  4988  //
  4989  //   * TooManyRequestsException
  4990  //   The request has reached its throttling limit. Retry after the specified time
  4991  //   period.
  4992  //
  4993  func (c *APIGateway) GetDocumentationParts(input *GetDocumentationPartsInput) (*GetDocumentationPartsOutput, error) {
  4994  	req, out := c.GetDocumentationPartsRequest(input)
  4995  	return out, req.Send()
  4996  }
  4997  
  4998  // GetDocumentationPartsWithContext is the same as GetDocumentationParts with the addition of
  4999  // the ability to pass a context and additional request options.
  5000  //
  5001  // See GetDocumentationParts for details on how to use this API operation.
  5002  //
  5003  // The context must be non-nil and will be used for request cancellation. If
  5004  // the context is nil a panic will occur. In the future the SDK may create
  5005  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5006  // for more information on using Contexts.
  5007  func (c *APIGateway) GetDocumentationPartsWithContext(ctx aws.Context, input *GetDocumentationPartsInput, opts ...request.Option) (*GetDocumentationPartsOutput, error) {
  5008  	req, out := c.GetDocumentationPartsRequest(input)
  5009  	req.SetContext(ctx)
  5010  	req.ApplyOptions(opts...)
  5011  	return out, req.Send()
  5012  }
  5013  
  5014  const opGetDocumentationVersion = "GetDocumentationVersion"
  5015  
  5016  // GetDocumentationVersionRequest generates a "aws/request.Request" representing the
  5017  // client's request for the GetDocumentationVersion operation. The "output" return
  5018  // value will be populated with the request's response once the request completes
  5019  // successfully.
  5020  //
  5021  // Use "Send" method on the returned Request to send the API call to the service.
  5022  // the "output" return value is not valid until after Send returns without error.
  5023  //
  5024  // See GetDocumentationVersion for more information on using the GetDocumentationVersion
  5025  // API call, and error handling.
  5026  //
  5027  // This method is useful when you want to inject custom logic or configuration
  5028  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5029  //
  5030  //
  5031  //    // Example sending a request using the GetDocumentationVersionRequest method.
  5032  //    req, resp := client.GetDocumentationVersionRequest(params)
  5033  //
  5034  //    err := req.Send()
  5035  //    if err == nil { // resp is now filled
  5036  //        fmt.Println(resp)
  5037  //    }
  5038  func (c *APIGateway) GetDocumentationVersionRequest(input *GetDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
  5039  	op := &request.Operation{
  5040  		Name:       opGetDocumentationVersion,
  5041  		HTTPMethod: "GET",
  5042  		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
  5043  	}
  5044  
  5045  	if input == nil {
  5046  		input = &GetDocumentationVersionInput{}
  5047  	}
  5048  
  5049  	output = &DocumentationVersion{}
  5050  	req = c.newRequest(op, input, output)
  5051  	return
  5052  }
  5053  
  5054  // GetDocumentationVersion API operation for Amazon API Gateway.
  5055  //
  5056  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5057  // with awserr.Error's Code and Message methods to get detailed information about
  5058  // the error.
  5059  //
  5060  // See the AWS API reference guide for Amazon API Gateway's
  5061  // API operation GetDocumentationVersion for usage and error information.
  5062  //
  5063  // Returned Error Types:
  5064  //   * UnauthorizedException
  5065  //   The request is denied because the caller has insufficient permissions.
  5066  //
  5067  //   * NotFoundException
  5068  //   The requested resource is not found. Make sure that the request URI is correct.
  5069  //
  5070  //   * TooManyRequestsException
  5071  //   The request has reached its throttling limit. Retry after the specified time
  5072  //   period.
  5073  //
  5074  func (c *APIGateway) GetDocumentationVersion(input *GetDocumentationVersionInput) (*DocumentationVersion, error) {
  5075  	req, out := c.GetDocumentationVersionRequest(input)
  5076  	return out, req.Send()
  5077  }
  5078  
  5079  // GetDocumentationVersionWithContext is the same as GetDocumentationVersion with the addition of
  5080  // the ability to pass a context and additional request options.
  5081  //
  5082  // See GetDocumentationVersion for details on how to use this API operation.
  5083  //
  5084  // The context must be non-nil and will be used for request cancellation. If
  5085  // the context is nil a panic will occur. In the future the SDK may create
  5086  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5087  // for more information on using Contexts.
  5088  func (c *APIGateway) GetDocumentationVersionWithContext(ctx aws.Context, input *GetDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
  5089  	req, out := c.GetDocumentationVersionRequest(input)
  5090  	req.SetContext(ctx)
  5091  	req.ApplyOptions(opts...)
  5092  	return out, req.Send()
  5093  }
  5094  
  5095  const opGetDocumentationVersions = "GetDocumentationVersions"
  5096  
  5097  // GetDocumentationVersionsRequest generates a "aws/request.Request" representing the
  5098  // client's request for the GetDocumentationVersions operation. The "output" return
  5099  // value will be populated with the request's response once the request completes
  5100  // successfully.
  5101  //
  5102  // Use "Send" method on the returned Request to send the API call to the service.
  5103  // the "output" return value is not valid until after Send returns without error.
  5104  //
  5105  // See GetDocumentationVersions for more information on using the GetDocumentationVersions
  5106  // API call, and error handling.
  5107  //
  5108  // This method is useful when you want to inject custom logic or configuration
  5109  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5110  //
  5111  //
  5112  //    // Example sending a request using the GetDocumentationVersionsRequest method.
  5113  //    req, resp := client.GetDocumentationVersionsRequest(params)
  5114  //
  5115  //    err := req.Send()
  5116  //    if err == nil { // resp is now filled
  5117  //        fmt.Println(resp)
  5118  //    }
  5119  func (c *APIGateway) GetDocumentationVersionsRequest(input *GetDocumentationVersionsInput) (req *request.Request, output *GetDocumentationVersionsOutput) {
  5120  	op := &request.Operation{
  5121  		Name:       opGetDocumentationVersions,
  5122  		HTTPMethod: "GET",
  5123  		HTTPPath:   "/restapis/{restapi_id}/documentation/versions",
  5124  	}
  5125  
  5126  	if input == nil {
  5127  		input = &GetDocumentationVersionsInput{}
  5128  	}
  5129  
  5130  	output = &GetDocumentationVersionsOutput{}
  5131  	req = c.newRequest(op, input, output)
  5132  	return
  5133  }
  5134  
  5135  // GetDocumentationVersions API operation for Amazon API Gateway.
  5136  //
  5137  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5138  // with awserr.Error's Code and Message methods to get detailed information about
  5139  // the error.
  5140  //
  5141  // See the AWS API reference guide for Amazon API Gateway's
  5142  // API operation GetDocumentationVersions for usage and error information.
  5143  //
  5144  // Returned Error Types:
  5145  //   * BadRequestException
  5146  //   The submitted request is not valid, for example, the input is incomplete
  5147  //   or incorrect. See the accompanying error message for details.
  5148  //
  5149  //   * UnauthorizedException
  5150  //   The request is denied because the caller has insufficient permissions.
  5151  //
  5152  //   * NotFoundException
  5153  //   The requested resource is not found. Make sure that the request URI is correct.
  5154  //
  5155  //   * TooManyRequestsException
  5156  //   The request has reached its throttling limit. Retry after the specified time
  5157  //   period.
  5158  //
  5159  func (c *APIGateway) GetDocumentationVersions(input *GetDocumentationVersionsInput) (*GetDocumentationVersionsOutput, error) {
  5160  	req, out := c.GetDocumentationVersionsRequest(input)
  5161  	return out, req.Send()
  5162  }
  5163  
  5164  // GetDocumentationVersionsWithContext is the same as GetDocumentationVersions with the addition of
  5165  // the ability to pass a context and additional request options.
  5166  //
  5167  // See GetDocumentationVersions for details on how to use this API operation.
  5168  //
  5169  // The context must be non-nil and will be used for request cancellation. If
  5170  // the context is nil a panic will occur. In the future the SDK may create
  5171  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5172  // for more information on using Contexts.
  5173  func (c *APIGateway) GetDocumentationVersionsWithContext(ctx aws.Context, input *GetDocumentationVersionsInput, opts ...request.Option) (*GetDocumentationVersionsOutput, error) {
  5174  	req, out := c.GetDocumentationVersionsRequest(input)
  5175  	req.SetContext(ctx)
  5176  	req.ApplyOptions(opts...)
  5177  	return out, req.Send()
  5178  }
  5179  
  5180  const opGetDomainName = "GetDomainName"
  5181  
  5182  // GetDomainNameRequest generates a "aws/request.Request" representing the
  5183  // client's request for the GetDomainName operation. The "output" return
  5184  // value will be populated with the request's response once the request completes
  5185  // successfully.
  5186  //
  5187  // Use "Send" method on the returned Request to send the API call to the service.
  5188  // the "output" return value is not valid until after Send returns without error.
  5189  //
  5190  // See GetDomainName for more information on using the GetDomainName
  5191  // API call, and error handling.
  5192  //
  5193  // This method is useful when you want to inject custom logic or configuration
  5194  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5195  //
  5196  //
  5197  //    // Example sending a request using the GetDomainNameRequest method.
  5198  //    req, resp := client.GetDomainNameRequest(params)
  5199  //
  5200  //    err := req.Send()
  5201  //    if err == nil { // resp is now filled
  5202  //        fmt.Println(resp)
  5203  //    }
  5204  func (c *APIGateway) GetDomainNameRequest(input *GetDomainNameInput) (req *request.Request, output *DomainName) {
  5205  	op := &request.Operation{
  5206  		Name:       opGetDomainName,
  5207  		HTTPMethod: "GET",
  5208  		HTTPPath:   "/domainnames/{domain_name}",
  5209  	}
  5210  
  5211  	if input == nil {
  5212  		input = &GetDomainNameInput{}
  5213  	}
  5214  
  5215  	output = &DomainName{}
  5216  	req = c.newRequest(op, input, output)
  5217  	return
  5218  }
  5219  
  5220  // GetDomainName API operation for Amazon API Gateway.
  5221  //
  5222  // Represents a domain name that is contained in a simpler, more intuitive URL
  5223  // that can be called.
  5224  //
  5225  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5226  // with awserr.Error's Code and Message methods to get detailed information about
  5227  // the error.
  5228  //
  5229  // See the AWS API reference guide for Amazon API Gateway's
  5230  // API operation GetDomainName for usage and error information.
  5231  //
  5232  // Returned Error Types:
  5233  //   * BadRequestException
  5234  //   The submitted request is not valid, for example, the input is incomplete
  5235  //   or incorrect. See the accompanying error message for details.
  5236  //
  5237  //   * NotFoundException
  5238  //   The requested resource is not found. Make sure that the request URI is correct.
  5239  //
  5240  //   * UnauthorizedException
  5241  //   The request is denied because the caller has insufficient permissions.
  5242  //
  5243  //   * TooManyRequestsException
  5244  //   The request has reached its throttling limit. Retry after the specified time
  5245  //   period.
  5246  //
  5247  func (c *APIGateway) GetDomainName(input *GetDomainNameInput) (*DomainName, error) {
  5248  	req, out := c.GetDomainNameRequest(input)
  5249  	return out, req.Send()
  5250  }
  5251  
  5252  // GetDomainNameWithContext is the same as GetDomainName with the addition of
  5253  // the ability to pass a context and additional request options.
  5254  //
  5255  // See GetDomainName for details on how to use this API operation.
  5256  //
  5257  // The context must be non-nil and will be used for request cancellation. If
  5258  // the context is nil a panic will occur. In the future the SDK may create
  5259  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5260  // for more information on using Contexts.
  5261  func (c *APIGateway) GetDomainNameWithContext(ctx aws.Context, input *GetDomainNameInput, opts ...request.Option) (*DomainName, error) {
  5262  	req, out := c.GetDomainNameRequest(input)
  5263  	req.SetContext(ctx)
  5264  	req.ApplyOptions(opts...)
  5265  	return out, req.Send()
  5266  }
  5267  
  5268  const opGetDomainNames = "GetDomainNames"
  5269  
  5270  // GetDomainNamesRequest generates a "aws/request.Request" representing the
  5271  // client's request for the GetDomainNames operation. The "output" return
  5272  // value will be populated with the request's response once the request completes
  5273  // successfully.
  5274  //
  5275  // Use "Send" method on the returned Request to send the API call to the service.
  5276  // the "output" return value is not valid until after Send returns without error.
  5277  //
  5278  // See GetDomainNames for more information on using the GetDomainNames
  5279  // API call, and error handling.
  5280  //
  5281  // This method is useful when you want to inject custom logic or configuration
  5282  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5283  //
  5284  //
  5285  //    // Example sending a request using the GetDomainNamesRequest method.
  5286  //    req, resp := client.GetDomainNamesRequest(params)
  5287  //
  5288  //    err := req.Send()
  5289  //    if err == nil { // resp is now filled
  5290  //        fmt.Println(resp)
  5291  //    }
  5292  func (c *APIGateway) GetDomainNamesRequest(input *GetDomainNamesInput) (req *request.Request, output *GetDomainNamesOutput) {
  5293  	op := &request.Operation{
  5294  		Name:       opGetDomainNames,
  5295  		HTTPMethod: "GET",
  5296  		HTTPPath:   "/domainnames",
  5297  		Paginator: &request.Paginator{
  5298  			InputTokens:     []string{"position"},
  5299  			OutputTokens:    []string{"position"},
  5300  			LimitToken:      "limit",
  5301  			TruncationToken: "",
  5302  		},
  5303  	}
  5304  
  5305  	if input == nil {
  5306  		input = &GetDomainNamesInput{}
  5307  	}
  5308  
  5309  	output = &GetDomainNamesOutput{}
  5310  	req = c.newRequest(op, input, output)
  5311  	return
  5312  }
  5313  
  5314  // GetDomainNames API operation for Amazon API Gateway.
  5315  //
  5316  // Represents a collection of DomainName resources.
  5317  //
  5318  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5319  // with awserr.Error's Code and Message methods to get detailed information about
  5320  // the error.
  5321  //
  5322  // See the AWS API reference guide for Amazon API Gateway's
  5323  // API operation GetDomainNames for usage and error information.
  5324  //
  5325  // Returned Error Types:
  5326  //   * BadRequestException
  5327  //   The submitted request is not valid, for example, the input is incomplete
  5328  //   or incorrect. See the accompanying error message for details.
  5329  //
  5330  //   * NotFoundException
  5331  //   The requested resource is not found. Make sure that the request URI is correct.
  5332  //
  5333  //   * UnauthorizedException
  5334  //   The request is denied because the caller has insufficient permissions.
  5335  //
  5336  //   * TooManyRequestsException
  5337  //   The request has reached its throttling limit. Retry after the specified time
  5338  //   period.
  5339  //
  5340  func (c *APIGateway) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) {
  5341  	req, out := c.GetDomainNamesRequest(input)
  5342  	return out, req.Send()
  5343  }
  5344  
  5345  // GetDomainNamesWithContext is the same as GetDomainNames with the addition of
  5346  // the ability to pass a context and additional request options.
  5347  //
  5348  // See GetDomainNames for details on how to use this API operation.
  5349  //
  5350  // The context must be non-nil and will be used for request cancellation. If
  5351  // the context is nil a panic will occur. In the future the SDK may create
  5352  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5353  // for more information on using Contexts.
  5354  func (c *APIGateway) GetDomainNamesWithContext(ctx aws.Context, input *GetDomainNamesInput, opts ...request.Option) (*GetDomainNamesOutput, error) {
  5355  	req, out := c.GetDomainNamesRequest(input)
  5356  	req.SetContext(ctx)
  5357  	req.ApplyOptions(opts...)
  5358  	return out, req.Send()
  5359  }
  5360  
  5361  // GetDomainNamesPages iterates over the pages of a GetDomainNames operation,
  5362  // calling the "fn" function with the response data for each page. To stop
  5363  // iterating, return false from the fn function.
  5364  //
  5365  // See GetDomainNames method for more information on how to use this operation.
  5366  //
  5367  // Note: This operation can generate multiple requests to a service.
  5368  //
  5369  //    // Example iterating over at most 3 pages of a GetDomainNames operation.
  5370  //    pageNum := 0
  5371  //    err := client.GetDomainNamesPages(params,
  5372  //        func(page *apigateway.GetDomainNamesOutput, lastPage bool) bool {
  5373  //            pageNum++
  5374  //            fmt.Println(page)
  5375  //            return pageNum <= 3
  5376  //        })
  5377  //
  5378  func (c *APIGateway) GetDomainNamesPages(input *GetDomainNamesInput, fn func(*GetDomainNamesOutput, bool) bool) error {
  5379  	return c.GetDomainNamesPagesWithContext(aws.BackgroundContext(), input, fn)
  5380  }
  5381  
  5382  // GetDomainNamesPagesWithContext same as GetDomainNamesPages except
  5383  // it takes a Context and allows setting request options on the pages.
  5384  //
  5385  // The context must be non-nil and will be used for request cancellation. If
  5386  // the context is nil a panic will occur. In the future the SDK may create
  5387  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5388  // for more information on using Contexts.
  5389  func (c *APIGateway) GetDomainNamesPagesWithContext(ctx aws.Context, input *GetDomainNamesInput, fn func(*GetDomainNamesOutput, bool) bool, opts ...request.Option) error {
  5390  	p := request.Pagination{
  5391  		NewRequest: func() (*request.Request, error) {
  5392  			var inCpy *GetDomainNamesInput
  5393  			if input != nil {
  5394  				tmp := *input
  5395  				inCpy = &tmp
  5396  			}
  5397  			req, _ := c.GetDomainNamesRequest(inCpy)
  5398  			req.SetContext(ctx)
  5399  			req.ApplyOptions(opts...)
  5400  			return req, nil
  5401  		},
  5402  	}
  5403  
  5404  	for p.Next() {
  5405  		if !fn(p.Page().(*GetDomainNamesOutput), !p.HasNextPage()) {
  5406  			break
  5407  		}
  5408  	}
  5409  
  5410  	return p.Err()
  5411  }
  5412  
  5413  const opGetExport = "GetExport"
  5414  
  5415  // GetExportRequest generates a "aws/request.Request" representing the
  5416  // client's request for the GetExport operation. The "output" return
  5417  // value will be populated with the request's response once the request completes
  5418  // successfully.
  5419  //
  5420  // Use "Send" method on the returned Request to send the API call to the service.
  5421  // the "output" return value is not valid until after Send returns without error.
  5422  //
  5423  // See GetExport for more information on using the GetExport
  5424  // API call, and error handling.
  5425  //
  5426  // This method is useful when you want to inject custom logic or configuration
  5427  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5428  //
  5429  //
  5430  //    // Example sending a request using the GetExportRequest method.
  5431  //    req, resp := client.GetExportRequest(params)
  5432  //
  5433  //    err := req.Send()
  5434  //    if err == nil { // resp is now filled
  5435  //        fmt.Println(resp)
  5436  //    }
  5437  func (c *APIGateway) GetExportRequest(input *GetExportInput) (req *request.Request, output *GetExportOutput) {
  5438  	op := &request.Operation{
  5439  		Name:       opGetExport,
  5440  		HTTPMethod: "GET",
  5441  		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}",
  5442  	}
  5443  
  5444  	if input == nil {
  5445  		input = &GetExportInput{}
  5446  	}
  5447  
  5448  	output = &GetExportOutput{}
  5449  	req = c.newRequest(op, input, output)
  5450  	return
  5451  }
  5452  
  5453  // GetExport API operation for Amazon API Gateway.
  5454  //
  5455  // Exports a deployed version of a RestApi in a specified format.
  5456  //
  5457  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5458  // with awserr.Error's Code and Message methods to get detailed information about
  5459  // the error.
  5460  //
  5461  // See the AWS API reference guide for Amazon API Gateway's
  5462  // API operation GetExport for usage and error information.
  5463  //
  5464  // Returned Error Types:
  5465  //   * BadRequestException
  5466  //   The submitted request is not valid, for example, the input is incomplete
  5467  //   or incorrect. See the accompanying error message for details.
  5468  //
  5469  //   * ConflictException
  5470  //   The request configuration has conflicts. For details, see the accompanying
  5471  //   error message.
  5472  //
  5473  //   * LimitExceededException
  5474  //   The request exceeded the rate limit. Retry after the specified time period.
  5475  //
  5476  //   * NotFoundException
  5477  //   The requested resource is not found. Make sure that the request URI is correct.
  5478  //
  5479  //   * UnauthorizedException
  5480  //   The request is denied because the caller has insufficient permissions.
  5481  //
  5482  //   * TooManyRequestsException
  5483  //   The request has reached its throttling limit. Retry after the specified time
  5484  //   period.
  5485  //
  5486  func (c *APIGateway) GetExport(input *GetExportInput) (*GetExportOutput, error) {
  5487  	req, out := c.GetExportRequest(input)
  5488  	return out, req.Send()
  5489  }
  5490  
  5491  // GetExportWithContext is the same as GetExport with the addition of
  5492  // the ability to pass a context and additional request options.
  5493  //
  5494  // See GetExport for details on how to use this API operation.
  5495  //
  5496  // The context must be non-nil and will be used for request cancellation. If
  5497  // the context is nil a panic will occur. In the future the SDK may create
  5498  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5499  // for more information on using Contexts.
  5500  func (c *APIGateway) GetExportWithContext(ctx aws.Context, input *GetExportInput, opts ...request.Option) (*GetExportOutput, error) {
  5501  	req, out := c.GetExportRequest(input)
  5502  	req.SetContext(ctx)
  5503  	req.ApplyOptions(opts...)
  5504  	return out, req.Send()
  5505  }
  5506  
  5507  const opGetGatewayResponse = "GetGatewayResponse"
  5508  
  5509  // GetGatewayResponseRequest generates a "aws/request.Request" representing the
  5510  // client's request for the GetGatewayResponse operation. The "output" return
  5511  // value will be populated with the request's response once the request completes
  5512  // successfully.
  5513  //
  5514  // Use "Send" method on the returned Request to send the API call to the service.
  5515  // the "output" return value is not valid until after Send returns without error.
  5516  //
  5517  // See GetGatewayResponse for more information on using the GetGatewayResponse
  5518  // API call, and error handling.
  5519  //
  5520  // This method is useful when you want to inject custom logic or configuration
  5521  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5522  //
  5523  //
  5524  //    // Example sending a request using the GetGatewayResponseRequest method.
  5525  //    req, resp := client.GetGatewayResponseRequest(params)
  5526  //
  5527  //    err := req.Send()
  5528  //    if err == nil { // resp is now filled
  5529  //        fmt.Println(resp)
  5530  //    }
  5531  func (c *APIGateway) GetGatewayResponseRequest(input *GetGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
  5532  	op := &request.Operation{
  5533  		Name:       opGetGatewayResponse,
  5534  		HTTPMethod: "GET",
  5535  		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
  5536  	}
  5537  
  5538  	if input == nil {
  5539  		input = &GetGatewayResponseInput{}
  5540  	}
  5541  
  5542  	output = &UpdateGatewayResponseOutput{}
  5543  	req = c.newRequest(op, input, output)
  5544  	return
  5545  }
  5546  
  5547  // GetGatewayResponse API operation for Amazon API Gateway.
  5548  //
  5549  // Gets a GatewayResponse of a specified response type on the given RestApi.
  5550  //
  5551  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5552  // with awserr.Error's Code and Message methods to get detailed information about
  5553  // the error.
  5554  //
  5555  // See the AWS API reference guide for Amazon API Gateway's
  5556  // API operation GetGatewayResponse for usage and error information.
  5557  //
  5558  // Returned Error Types:
  5559  //   * BadRequestException
  5560  //   The submitted request is not valid, for example, the input is incomplete
  5561  //   or incorrect. See the accompanying error message for details.
  5562  //
  5563  //   * NotFoundException
  5564  //   The requested resource is not found. Make sure that the request URI is correct.
  5565  //
  5566  //   * UnauthorizedException
  5567  //   The request is denied because the caller has insufficient permissions.
  5568  //
  5569  //   * TooManyRequestsException
  5570  //   The request has reached its throttling limit. Retry after the specified time
  5571  //   period.
  5572  //
  5573  func (c *APIGateway) GetGatewayResponse(input *GetGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
  5574  	req, out := c.GetGatewayResponseRequest(input)
  5575  	return out, req.Send()
  5576  }
  5577  
  5578  // GetGatewayResponseWithContext is the same as GetGatewayResponse with the addition of
  5579  // the ability to pass a context and additional request options.
  5580  //
  5581  // See GetGatewayResponse for details on how to use this API operation.
  5582  //
  5583  // The context must be non-nil and will be used for request cancellation. If
  5584  // the context is nil a panic will occur. In the future the SDK may create
  5585  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5586  // for more information on using Contexts.
  5587  func (c *APIGateway) GetGatewayResponseWithContext(ctx aws.Context, input *GetGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
  5588  	req, out := c.GetGatewayResponseRequest(input)
  5589  	req.SetContext(ctx)
  5590  	req.ApplyOptions(opts...)
  5591  	return out, req.Send()
  5592  }
  5593  
  5594  const opGetGatewayResponses = "GetGatewayResponses"
  5595  
  5596  // GetGatewayResponsesRequest generates a "aws/request.Request" representing the
  5597  // client's request for the GetGatewayResponses operation. The "output" return
  5598  // value will be populated with the request's response once the request completes
  5599  // successfully.
  5600  //
  5601  // Use "Send" method on the returned Request to send the API call to the service.
  5602  // the "output" return value is not valid until after Send returns without error.
  5603  //
  5604  // See GetGatewayResponses for more information on using the GetGatewayResponses
  5605  // API call, and error handling.
  5606  //
  5607  // This method is useful when you want to inject custom logic or configuration
  5608  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5609  //
  5610  //
  5611  //    // Example sending a request using the GetGatewayResponsesRequest method.
  5612  //    req, resp := client.GetGatewayResponsesRequest(params)
  5613  //
  5614  //    err := req.Send()
  5615  //    if err == nil { // resp is now filled
  5616  //        fmt.Println(resp)
  5617  //    }
  5618  func (c *APIGateway) GetGatewayResponsesRequest(input *GetGatewayResponsesInput) (req *request.Request, output *GetGatewayResponsesOutput) {
  5619  	op := &request.Operation{
  5620  		Name:       opGetGatewayResponses,
  5621  		HTTPMethod: "GET",
  5622  		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses",
  5623  	}
  5624  
  5625  	if input == nil {
  5626  		input = &GetGatewayResponsesInput{}
  5627  	}
  5628  
  5629  	output = &GetGatewayResponsesOutput{}
  5630  	req = c.newRequest(op, input, output)
  5631  	return
  5632  }
  5633  
  5634  // GetGatewayResponses API operation for Amazon API Gateway.
  5635  //
  5636  // Gets the GatewayResponses collection on the given RestApi. If an API developer
  5637  // has not added any definitions for gateway responses, the result will be the
  5638  // API Gateway-generated default GatewayResponses collection for the supported
  5639  // response types.
  5640  //
  5641  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5642  // with awserr.Error's Code and Message methods to get detailed information about
  5643  // the error.
  5644  //
  5645  // See the AWS API reference guide for Amazon API Gateway's
  5646  // API operation GetGatewayResponses for usage and error information.
  5647  //
  5648  // Returned Error Types:
  5649  //   * BadRequestException
  5650  //   The submitted request is not valid, for example, the input is incomplete
  5651  //   or incorrect. See the accompanying error message for details.
  5652  //
  5653  //   * NotFoundException
  5654  //   The requested resource is not found. Make sure that the request URI is correct.
  5655  //
  5656  //   * UnauthorizedException
  5657  //   The request is denied because the caller has insufficient permissions.
  5658  //
  5659  //   * TooManyRequestsException
  5660  //   The request has reached its throttling limit. Retry after the specified time
  5661  //   period.
  5662  //
  5663  func (c *APIGateway) GetGatewayResponses(input *GetGatewayResponsesInput) (*GetGatewayResponsesOutput, error) {
  5664  	req, out := c.GetGatewayResponsesRequest(input)
  5665  	return out, req.Send()
  5666  }
  5667  
  5668  // GetGatewayResponsesWithContext is the same as GetGatewayResponses with the addition of
  5669  // the ability to pass a context and additional request options.
  5670  //
  5671  // See GetGatewayResponses for details on how to use this API operation.
  5672  //
  5673  // The context must be non-nil and will be used for request cancellation. If
  5674  // the context is nil a panic will occur. In the future the SDK may create
  5675  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5676  // for more information on using Contexts.
  5677  func (c *APIGateway) GetGatewayResponsesWithContext(ctx aws.Context, input *GetGatewayResponsesInput, opts ...request.Option) (*GetGatewayResponsesOutput, error) {
  5678  	req, out := c.GetGatewayResponsesRequest(input)
  5679  	req.SetContext(ctx)
  5680  	req.ApplyOptions(opts...)
  5681  	return out, req.Send()
  5682  }
  5683  
  5684  const opGetIntegration = "GetIntegration"
  5685  
  5686  // GetIntegrationRequest generates a "aws/request.Request" representing the
  5687  // client's request for the GetIntegration operation. The "output" return
  5688  // value will be populated with the request's response once the request completes
  5689  // successfully.
  5690  //
  5691  // Use "Send" method on the returned Request to send the API call to the service.
  5692  // the "output" return value is not valid until after Send returns without error.
  5693  //
  5694  // See GetIntegration for more information on using the GetIntegration
  5695  // API call, and error handling.
  5696  //
  5697  // This method is useful when you want to inject custom logic or configuration
  5698  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5699  //
  5700  //
  5701  //    // Example sending a request using the GetIntegrationRequest method.
  5702  //    req, resp := client.GetIntegrationRequest(params)
  5703  //
  5704  //    err := req.Send()
  5705  //    if err == nil { // resp is now filled
  5706  //        fmt.Println(resp)
  5707  //    }
  5708  func (c *APIGateway) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *Integration) {
  5709  	op := &request.Operation{
  5710  		Name:       opGetIntegration,
  5711  		HTTPMethod: "GET",
  5712  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
  5713  	}
  5714  
  5715  	if input == nil {
  5716  		input = &GetIntegrationInput{}
  5717  	}
  5718  
  5719  	output = &Integration{}
  5720  	req = c.newRequest(op, input, output)
  5721  	return
  5722  }
  5723  
  5724  // GetIntegration API operation for Amazon API Gateway.
  5725  //
  5726  // Get the integration settings.
  5727  //
  5728  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5729  // with awserr.Error's Code and Message methods to get detailed information about
  5730  // the error.
  5731  //
  5732  // See the AWS API reference guide for Amazon API Gateway's
  5733  // API operation GetIntegration for usage and error information.
  5734  //
  5735  // Returned Error Types:
  5736  //   * BadRequestException
  5737  //   The submitted request is not valid, for example, the input is incomplete
  5738  //   or incorrect. See the accompanying error message for details.
  5739  //
  5740  //   * NotFoundException
  5741  //   The requested resource is not found. Make sure that the request URI is correct.
  5742  //
  5743  //   * UnauthorizedException
  5744  //   The request is denied because the caller has insufficient permissions.
  5745  //
  5746  //   * TooManyRequestsException
  5747  //   The request has reached its throttling limit. Retry after the specified time
  5748  //   period.
  5749  //
  5750  func (c *APIGateway) GetIntegration(input *GetIntegrationInput) (*Integration, error) {
  5751  	req, out := c.GetIntegrationRequest(input)
  5752  	return out, req.Send()
  5753  }
  5754  
  5755  // GetIntegrationWithContext is the same as GetIntegration with the addition of
  5756  // the ability to pass a context and additional request options.
  5757  //
  5758  // See GetIntegration for details on how to use this API operation.
  5759  //
  5760  // The context must be non-nil and will be used for request cancellation. If
  5761  // the context is nil a panic will occur. In the future the SDK may create
  5762  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5763  // for more information on using Contexts.
  5764  func (c *APIGateway) GetIntegrationWithContext(ctx aws.Context, input *GetIntegrationInput, opts ...request.Option) (*Integration, error) {
  5765  	req, out := c.GetIntegrationRequest(input)
  5766  	req.SetContext(ctx)
  5767  	req.ApplyOptions(opts...)
  5768  	return out, req.Send()
  5769  }
  5770  
  5771  const opGetIntegrationResponse = "GetIntegrationResponse"
  5772  
  5773  // GetIntegrationResponseRequest generates a "aws/request.Request" representing the
  5774  // client's request for the GetIntegrationResponse operation. The "output" return
  5775  // value will be populated with the request's response once the request completes
  5776  // successfully.
  5777  //
  5778  // Use "Send" method on the returned Request to send the API call to the service.
  5779  // the "output" return value is not valid until after Send returns without error.
  5780  //
  5781  // See GetIntegrationResponse for more information on using the GetIntegrationResponse
  5782  // API call, and error handling.
  5783  //
  5784  // This method is useful when you want to inject custom logic or configuration
  5785  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5786  //
  5787  //
  5788  //    // Example sending a request using the GetIntegrationResponseRequest method.
  5789  //    req, resp := client.GetIntegrationResponseRequest(params)
  5790  //
  5791  //    err := req.Send()
  5792  //    if err == nil { // resp is now filled
  5793  //        fmt.Println(resp)
  5794  //    }
  5795  func (c *APIGateway) GetIntegrationResponseRequest(input *GetIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
  5796  	op := &request.Operation{
  5797  		Name:       opGetIntegrationResponse,
  5798  		HTTPMethod: "GET",
  5799  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
  5800  	}
  5801  
  5802  	if input == nil {
  5803  		input = &GetIntegrationResponseInput{}
  5804  	}
  5805  
  5806  	output = &IntegrationResponse{}
  5807  	req = c.newRequest(op, input, output)
  5808  	return
  5809  }
  5810  
  5811  // GetIntegrationResponse API operation for Amazon API Gateway.
  5812  //
  5813  // Represents a get integration response.
  5814  //
  5815  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5816  // with awserr.Error's Code and Message methods to get detailed information about
  5817  // the error.
  5818  //
  5819  // See the AWS API reference guide for Amazon API Gateway's
  5820  // API operation GetIntegrationResponse for usage and error information.
  5821  //
  5822  // Returned Error Types:
  5823  //   * BadRequestException
  5824  //   The submitted request is not valid, for example, the input is incomplete
  5825  //   or incorrect. See the accompanying error message for details.
  5826  //
  5827  //   * NotFoundException
  5828  //   The requested resource is not found. Make sure that the request URI is correct.
  5829  //
  5830  //   * UnauthorizedException
  5831  //   The request is denied because the caller has insufficient permissions.
  5832  //
  5833  //   * TooManyRequestsException
  5834  //   The request has reached its throttling limit. Retry after the specified time
  5835  //   period.
  5836  //
  5837  func (c *APIGateway) GetIntegrationResponse(input *GetIntegrationResponseInput) (*IntegrationResponse, error) {
  5838  	req, out := c.GetIntegrationResponseRequest(input)
  5839  	return out, req.Send()
  5840  }
  5841  
  5842  // GetIntegrationResponseWithContext is the same as GetIntegrationResponse with the addition of
  5843  // the ability to pass a context and additional request options.
  5844  //
  5845  // See GetIntegrationResponse for details on how to use this API operation.
  5846  //
  5847  // The context must be non-nil and will be used for request cancellation. If
  5848  // the context is nil a panic will occur. In the future the SDK may create
  5849  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5850  // for more information on using Contexts.
  5851  func (c *APIGateway) GetIntegrationResponseWithContext(ctx aws.Context, input *GetIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
  5852  	req, out := c.GetIntegrationResponseRequest(input)
  5853  	req.SetContext(ctx)
  5854  	req.ApplyOptions(opts...)
  5855  	return out, req.Send()
  5856  }
  5857  
  5858  const opGetMethod = "GetMethod"
  5859  
  5860  // GetMethodRequest generates a "aws/request.Request" representing the
  5861  // client's request for the GetMethod operation. The "output" return
  5862  // value will be populated with the request's response once the request completes
  5863  // successfully.
  5864  //
  5865  // Use "Send" method on the returned Request to send the API call to the service.
  5866  // the "output" return value is not valid until after Send returns without error.
  5867  //
  5868  // See GetMethod for more information on using the GetMethod
  5869  // API call, and error handling.
  5870  //
  5871  // This method is useful when you want to inject custom logic or configuration
  5872  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5873  //
  5874  //
  5875  //    // Example sending a request using the GetMethodRequest method.
  5876  //    req, resp := client.GetMethodRequest(params)
  5877  //
  5878  //    err := req.Send()
  5879  //    if err == nil { // resp is now filled
  5880  //        fmt.Println(resp)
  5881  //    }
  5882  func (c *APIGateway) GetMethodRequest(input *GetMethodInput) (req *request.Request, output *Method) {
  5883  	op := &request.Operation{
  5884  		Name:       opGetMethod,
  5885  		HTTPMethod: "GET",
  5886  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
  5887  	}
  5888  
  5889  	if input == nil {
  5890  		input = &GetMethodInput{}
  5891  	}
  5892  
  5893  	output = &Method{}
  5894  	req = c.newRequest(op, input, output)
  5895  	return
  5896  }
  5897  
  5898  // GetMethod API operation for Amazon API Gateway.
  5899  //
  5900  // Describe an existing Method resource.
  5901  //
  5902  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5903  // with awserr.Error's Code and Message methods to get detailed information about
  5904  // the error.
  5905  //
  5906  // See the AWS API reference guide for Amazon API Gateway's
  5907  // API operation GetMethod for usage and error information.
  5908  //
  5909  // Returned Error Types:
  5910  //   * UnauthorizedException
  5911  //   The request is denied because the caller has insufficient permissions.
  5912  //
  5913  //   * NotFoundException
  5914  //   The requested resource is not found. Make sure that the request URI is correct.
  5915  //
  5916  //   * TooManyRequestsException
  5917  //   The request has reached its throttling limit. Retry after the specified time
  5918  //   period.
  5919  //
  5920  func (c *APIGateway) GetMethod(input *GetMethodInput) (*Method, error) {
  5921  	req, out := c.GetMethodRequest(input)
  5922  	return out, req.Send()
  5923  }
  5924  
  5925  // GetMethodWithContext is the same as GetMethod with the addition of
  5926  // the ability to pass a context and additional request options.
  5927  //
  5928  // See GetMethod for details on how to use this API operation.
  5929  //
  5930  // The context must be non-nil and will be used for request cancellation. If
  5931  // the context is nil a panic will occur. In the future the SDK may create
  5932  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5933  // for more information on using Contexts.
  5934  func (c *APIGateway) GetMethodWithContext(ctx aws.Context, input *GetMethodInput, opts ...request.Option) (*Method, error) {
  5935  	req, out := c.GetMethodRequest(input)
  5936  	req.SetContext(ctx)
  5937  	req.ApplyOptions(opts...)
  5938  	return out, req.Send()
  5939  }
  5940  
  5941  const opGetMethodResponse = "GetMethodResponse"
  5942  
  5943  // GetMethodResponseRequest generates a "aws/request.Request" representing the
  5944  // client's request for the GetMethodResponse operation. The "output" return
  5945  // value will be populated with the request's response once the request completes
  5946  // successfully.
  5947  //
  5948  // Use "Send" method on the returned Request to send the API call to the service.
  5949  // the "output" return value is not valid until after Send returns without error.
  5950  //
  5951  // See GetMethodResponse for more information on using the GetMethodResponse
  5952  // API call, and error handling.
  5953  //
  5954  // This method is useful when you want to inject custom logic or configuration
  5955  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5956  //
  5957  //
  5958  //    // Example sending a request using the GetMethodResponseRequest method.
  5959  //    req, resp := client.GetMethodResponseRequest(params)
  5960  //
  5961  //    err := req.Send()
  5962  //    if err == nil { // resp is now filled
  5963  //        fmt.Println(resp)
  5964  //    }
  5965  func (c *APIGateway) GetMethodResponseRequest(input *GetMethodResponseInput) (req *request.Request, output *MethodResponse) {
  5966  	op := &request.Operation{
  5967  		Name:       opGetMethodResponse,
  5968  		HTTPMethod: "GET",
  5969  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
  5970  	}
  5971  
  5972  	if input == nil {
  5973  		input = &GetMethodResponseInput{}
  5974  	}
  5975  
  5976  	output = &MethodResponse{}
  5977  	req = c.newRequest(op, input, output)
  5978  	return
  5979  }
  5980  
  5981  // GetMethodResponse API operation for Amazon API Gateway.
  5982  //
  5983  // Describes a MethodResponse resource.
  5984  //
  5985  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5986  // with awserr.Error's Code and Message methods to get detailed information about
  5987  // the error.
  5988  //
  5989  // See the AWS API reference guide for Amazon API Gateway's
  5990  // API operation GetMethodResponse for usage and error information.
  5991  //
  5992  // Returned Error Types:
  5993  //   * UnauthorizedException
  5994  //   The request is denied because the caller has insufficient permissions.
  5995  //
  5996  //   * NotFoundException
  5997  //   The requested resource is not found. Make sure that the request URI is correct.
  5998  //
  5999  //   * TooManyRequestsException
  6000  //   The request has reached its throttling limit. Retry after the specified time
  6001  //   period.
  6002  //
  6003  func (c *APIGateway) GetMethodResponse(input *GetMethodResponseInput) (*MethodResponse, error) {
  6004  	req, out := c.GetMethodResponseRequest(input)
  6005  	return out, req.Send()
  6006  }
  6007  
  6008  // GetMethodResponseWithContext is the same as GetMethodResponse with the addition of
  6009  // the ability to pass a context and additional request options.
  6010  //
  6011  // See GetMethodResponse for details on how to use this API operation.
  6012  //
  6013  // The context must be non-nil and will be used for request cancellation. If
  6014  // the context is nil a panic will occur. In the future the SDK may create
  6015  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6016  // for more information on using Contexts.
  6017  func (c *APIGateway) GetMethodResponseWithContext(ctx aws.Context, input *GetMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
  6018  	req, out := c.GetMethodResponseRequest(input)
  6019  	req.SetContext(ctx)
  6020  	req.ApplyOptions(opts...)
  6021  	return out, req.Send()
  6022  }
  6023  
  6024  const opGetModel = "GetModel"
  6025  
  6026  // GetModelRequest generates a "aws/request.Request" representing the
  6027  // client's request for the GetModel operation. The "output" return
  6028  // value will be populated with the request's response once the request completes
  6029  // successfully.
  6030  //
  6031  // Use "Send" method on the returned Request to send the API call to the service.
  6032  // the "output" return value is not valid until after Send returns without error.
  6033  //
  6034  // See GetModel for more information on using the GetModel
  6035  // API call, and error handling.
  6036  //
  6037  // This method is useful when you want to inject custom logic or configuration
  6038  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6039  //
  6040  //
  6041  //    // Example sending a request using the GetModelRequest method.
  6042  //    req, resp := client.GetModelRequest(params)
  6043  //
  6044  //    err := req.Send()
  6045  //    if err == nil { // resp is now filled
  6046  //        fmt.Println(resp)
  6047  //    }
  6048  func (c *APIGateway) GetModelRequest(input *GetModelInput) (req *request.Request, output *Model) {
  6049  	op := &request.Operation{
  6050  		Name:       opGetModel,
  6051  		HTTPMethod: "GET",
  6052  		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
  6053  	}
  6054  
  6055  	if input == nil {
  6056  		input = &GetModelInput{}
  6057  	}
  6058  
  6059  	output = &Model{}
  6060  	req = c.newRequest(op, input, output)
  6061  	return
  6062  }
  6063  
  6064  // GetModel API operation for Amazon API Gateway.
  6065  //
  6066  // Describes an existing model defined for a RestApi resource.
  6067  //
  6068  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6069  // with awserr.Error's Code and Message methods to get detailed information about
  6070  // the error.
  6071  //
  6072  // See the AWS API reference guide for Amazon API Gateway's
  6073  // API operation GetModel for usage and error information.
  6074  //
  6075  // Returned Error Types:
  6076  //   * BadRequestException
  6077  //   The submitted request is not valid, for example, the input is incomplete
  6078  //   or incorrect. See the accompanying error message for details.
  6079  //
  6080  //   * NotFoundException
  6081  //   The requested resource is not found. Make sure that the request URI is correct.
  6082  //
  6083  //   * UnauthorizedException
  6084  //   The request is denied because the caller has insufficient permissions.
  6085  //
  6086  //   * TooManyRequestsException
  6087  //   The request has reached its throttling limit. Retry after the specified time
  6088  //   period.
  6089  //
  6090  func (c *APIGateway) GetModel(input *GetModelInput) (*Model, error) {
  6091  	req, out := c.GetModelRequest(input)
  6092  	return out, req.Send()
  6093  }
  6094  
  6095  // GetModelWithContext is the same as GetModel with the addition of
  6096  // the ability to pass a context and additional request options.
  6097  //
  6098  // See GetModel for details on how to use this API operation.
  6099  //
  6100  // The context must be non-nil and will be used for request cancellation. If
  6101  // the context is nil a panic will occur. In the future the SDK may create
  6102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6103  // for more information on using Contexts.
  6104  func (c *APIGateway) GetModelWithContext(ctx aws.Context, input *GetModelInput, opts ...request.Option) (*Model, error) {
  6105  	req, out := c.GetModelRequest(input)
  6106  	req.SetContext(ctx)
  6107  	req.ApplyOptions(opts...)
  6108  	return out, req.Send()
  6109  }
  6110  
  6111  const opGetModelTemplate = "GetModelTemplate"
  6112  
  6113  // GetModelTemplateRequest generates a "aws/request.Request" representing the
  6114  // client's request for the GetModelTemplate operation. The "output" return
  6115  // value will be populated with the request's response once the request completes
  6116  // successfully.
  6117  //
  6118  // Use "Send" method on the returned Request to send the API call to the service.
  6119  // the "output" return value is not valid until after Send returns without error.
  6120  //
  6121  // See GetModelTemplate for more information on using the GetModelTemplate
  6122  // API call, and error handling.
  6123  //
  6124  // This method is useful when you want to inject custom logic or configuration
  6125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6126  //
  6127  //
  6128  //    // Example sending a request using the GetModelTemplateRequest method.
  6129  //    req, resp := client.GetModelTemplateRequest(params)
  6130  //
  6131  //    err := req.Send()
  6132  //    if err == nil { // resp is now filled
  6133  //        fmt.Println(resp)
  6134  //    }
  6135  func (c *APIGateway) GetModelTemplateRequest(input *GetModelTemplateInput) (req *request.Request, output *GetModelTemplateOutput) {
  6136  	op := &request.Operation{
  6137  		Name:       opGetModelTemplate,
  6138  		HTTPMethod: "GET",
  6139  		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}/default_template",
  6140  	}
  6141  
  6142  	if input == nil {
  6143  		input = &GetModelTemplateInput{}
  6144  	}
  6145  
  6146  	output = &GetModelTemplateOutput{}
  6147  	req = c.newRequest(op, input, output)
  6148  	return
  6149  }
  6150  
  6151  // GetModelTemplate API operation for Amazon API Gateway.
  6152  //
  6153  // Generates a sample mapping template that can be used to transform a payload
  6154  // into the structure of a model.
  6155  //
  6156  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6157  // with awserr.Error's Code and Message methods to get detailed information about
  6158  // the error.
  6159  //
  6160  // See the AWS API reference guide for Amazon API Gateway's
  6161  // API operation GetModelTemplate for usage and error information.
  6162  //
  6163  // Returned Error Types:
  6164  //   * UnauthorizedException
  6165  //   The request is denied because the caller has insufficient permissions.
  6166  //
  6167  //   * NotFoundException
  6168  //   The requested resource is not found. Make sure that the request URI is correct.
  6169  //
  6170  //   * BadRequestException
  6171  //   The submitted request is not valid, for example, the input is incomplete
  6172  //   or incorrect. See the accompanying error message for details.
  6173  //
  6174  //   * TooManyRequestsException
  6175  //   The request has reached its throttling limit. Retry after the specified time
  6176  //   period.
  6177  //
  6178  func (c *APIGateway) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) {
  6179  	req, out := c.GetModelTemplateRequest(input)
  6180  	return out, req.Send()
  6181  }
  6182  
  6183  // GetModelTemplateWithContext is the same as GetModelTemplate with the addition of
  6184  // the ability to pass a context and additional request options.
  6185  //
  6186  // See GetModelTemplate for details on how to use this API operation.
  6187  //
  6188  // The context must be non-nil and will be used for request cancellation. If
  6189  // the context is nil a panic will occur. In the future the SDK may create
  6190  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6191  // for more information on using Contexts.
  6192  func (c *APIGateway) GetModelTemplateWithContext(ctx aws.Context, input *GetModelTemplateInput, opts ...request.Option) (*GetModelTemplateOutput, error) {
  6193  	req, out := c.GetModelTemplateRequest(input)
  6194  	req.SetContext(ctx)
  6195  	req.ApplyOptions(opts...)
  6196  	return out, req.Send()
  6197  }
  6198  
  6199  const opGetModels = "GetModels"
  6200  
  6201  // GetModelsRequest generates a "aws/request.Request" representing the
  6202  // client's request for the GetModels operation. The "output" return
  6203  // value will be populated with the request's response once the request completes
  6204  // successfully.
  6205  //
  6206  // Use "Send" method on the returned Request to send the API call to the service.
  6207  // the "output" return value is not valid until after Send returns without error.
  6208  //
  6209  // See GetModels for more information on using the GetModels
  6210  // API call, and error handling.
  6211  //
  6212  // This method is useful when you want to inject custom logic or configuration
  6213  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6214  //
  6215  //
  6216  //    // Example sending a request using the GetModelsRequest method.
  6217  //    req, resp := client.GetModelsRequest(params)
  6218  //
  6219  //    err := req.Send()
  6220  //    if err == nil { // resp is now filled
  6221  //        fmt.Println(resp)
  6222  //    }
  6223  func (c *APIGateway) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) {
  6224  	op := &request.Operation{
  6225  		Name:       opGetModels,
  6226  		HTTPMethod: "GET",
  6227  		HTTPPath:   "/restapis/{restapi_id}/models",
  6228  		Paginator: &request.Paginator{
  6229  			InputTokens:     []string{"position"},
  6230  			OutputTokens:    []string{"position"},
  6231  			LimitToken:      "limit",
  6232  			TruncationToken: "",
  6233  		},
  6234  	}
  6235  
  6236  	if input == nil {
  6237  		input = &GetModelsInput{}
  6238  	}
  6239  
  6240  	output = &GetModelsOutput{}
  6241  	req = c.newRequest(op, input, output)
  6242  	return
  6243  }
  6244  
  6245  // GetModels API operation for Amazon API Gateway.
  6246  //
  6247  // Describes existing Models defined for a RestApi resource.
  6248  //
  6249  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6250  // with awserr.Error's Code and Message methods to get detailed information about
  6251  // the error.
  6252  //
  6253  // See the AWS API reference guide for Amazon API Gateway's
  6254  // API operation GetModels for usage and error information.
  6255  //
  6256  // Returned Error Types:
  6257  //   * BadRequestException
  6258  //   The submitted request is not valid, for example, the input is incomplete
  6259  //   or incorrect. See the accompanying error message for details.
  6260  //
  6261  //   * UnauthorizedException
  6262  //   The request is denied because the caller has insufficient permissions.
  6263  //
  6264  //   * NotFoundException
  6265  //   The requested resource is not found. Make sure that the request URI is correct.
  6266  //
  6267  //   * TooManyRequestsException
  6268  //   The request has reached its throttling limit. Retry after the specified time
  6269  //   period.
  6270  //
  6271  func (c *APIGateway) GetModels(input *GetModelsInput) (*GetModelsOutput, error) {
  6272  	req, out := c.GetModelsRequest(input)
  6273  	return out, req.Send()
  6274  }
  6275  
  6276  // GetModelsWithContext is the same as GetModels with the addition of
  6277  // the ability to pass a context and additional request options.
  6278  //
  6279  // See GetModels for details on how to use this API operation.
  6280  //
  6281  // The context must be non-nil and will be used for request cancellation. If
  6282  // the context is nil a panic will occur. In the future the SDK may create
  6283  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6284  // for more information on using Contexts.
  6285  func (c *APIGateway) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) {
  6286  	req, out := c.GetModelsRequest(input)
  6287  	req.SetContext(ctx)
  6288  	req.ApplyOptions(opts...)
  6289  	return out, req.Send()
  6290  }
  6291  
  6292  // GetModelsPages iterates over the pages of a GetModels operation,
  6293  // calling the "fn" function with the response data for each page. To stop
  6294  // iterating, return false from the fn function.
  6295  //
  6296  // See GetModels method for more information on how to use this operation.
  6297  //
  6298  // Note: This operation can generate multiple requests to a service.
  6299  //
  6300  //    // Example iterating over at most 3 pages of a GetModels operation.
  6301  //    pageNum := 0
  6302  //    err := client.GetModelsPages(params,
  6303  //        func(page *apigateway.GetModelsOutput, lastPage bool) bool {
  6304  //            pageNum++
  6305  //            fmt.Println(page)
  6306  //            return pageNum <= 3
  6307  //        })
  6308  //
  6309  func (c *APIGateway) GetModelsPages(input *GetModelsInput, fn func(*GetModelsOutput, bool) bool) error {
  6310  	return c.GetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
  6311  }
  6312  
  6313  // GetModelsPagesWithContext same as GetModelsPages except
  6314  // it takes a Context and allows setting request options on the pages.
  6315  //
  6316  // The context must be non-nil and will be used for request cancellation. If
  6317  // the context is nil a panic will occur. In the future the SDK may create
  6318  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6319  // for more information on using Contexts.
  6320  func (c *APIGateway) GetModelsPagesWithContext(ctx aws.Context, input *GetModelsInput, fn func(*GetModelsOutput, bool) bool, opts ...request.Option) error {
  6321  	p := request.Pagination{
  6322  		NewRequest: func() (*request.Request, error) {
  6323  			var inCpy *GetModelsInput
  6324  			if input != nil {
  6325  				tmp := *input
  6326  				inCpy = &tmp
  6327  			}
  6328  			req, _ := c.GetModelsRequest(inCpy)
  6329  			req.SetContext(ctx)
  6330  			req.ApplyOptions(opts...)
  6331  			return req, nil
  6332  		},
  6333  	}
  6334  
  6335  	for p.Next() {
  6336  		if !fn(p.Page().(*GetModelsOutput), !p.HasNextPage()) {
  6337  			break
  6338  		}
  6339  	}
  6340  
  6341  	return p.Err()
  6342  }
  6343  
  6344  const opGetRequestValidator = "GetRequestValidator"
  6345  
  6346  // GetRequestValidatorRequest generates a "aws/request.Request" representing the
  6347  // client's request for the GetRequestValidator operation. The "output" return
  6348  // value will be populated with the request's response once the request completes
  6349  // successfully.
  6350  //
  6351  // Use "Send" method on the returned Request to send the API call to the service.
  6352  // the "output" return value is not valid until after Send returns without error.
  6353  //
  6354  // See GetRequestValidator for more information on using the GetRequestValidator
  6355  // API call, and error handling.
  6356  //
  6357  // This method is useful when you want to inject custom logic or configuration
  6358  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6359  //
  6360  //
  6361  //    // Example sending a request using the GetRequestValidatorRequest method.
  6362  //    req, resp := client.GetRequestValidatorRequest(params)
  6363  //
  6364  //    err := req.Send()
  6365  //    if err == nil { // resp is now filled
  6366  //        fmt.Println(resp)
  6367  //    }
  6368  func (c *APIGateway) GetRequestValidatorRequest(input *GetRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
  6369  	op := &request.Operation{
  6370  		Name:       opGetRequestValidator,
  6371  		HTTPMethod: "GET",
  6372  		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
  6373  	}
  6374  
  6375  	if input == nil {
  6376  		input = &GetRequestValidatorInput{}
  6377  	}
  6378  
  6379  	output = &UpdateRequestValidatorOutput{}
  6380  	req = c.newRequest(op, input, output)
  6381  	return
  6382  }
  6383  
  6384  // GetRequestValidator API operation for Amazon API Gateway.
  6385  //
  6386  // Gets a RequestValidator of a given RestApi.
  6387  //
  6388  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6389  // with awserr.Error's Code and Message methods to get detailed information about
  6390  // the error.
  6391  //
  6392  // See the AWS API reference guide for Amazon API Gateway's
  6393  // API operation GetRequestValidator for usage and error information.
  6394  //
  6395  // Returned Error Types:
  6396  //   * BadRequestException
  6397  //   The submitted request is not valid, for example, the input is incomplete
  6398  //   or incorrect. See the accompanying error message for details.
  6399  //
  6400  //   * NotFoundException
  6401  //   The requested resource is not found. Make sure that the request URI is correct.
  6402  //
  6403  //   * UnauthorizedException
  6404  //   The request is denied because the caller has insufficient permissions.
  6405  //
  6406  //   * TooManyRequestsException
  6407  //   The request has reached its throttling limit. Retry after the specified time
  6408  //   period.
  6409  //
  6410  func (c *APIGateway) GetRequestValidator(input *GetRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
  6411  	req, out := c.GetRequestValidatorRequest(input)
  6412  	return out, req.Send()
  6413  }
  6414  
  6415  // GetRequestValidatorWithContext is the same as GetRequestValidator with the addition of
  6416  // the ability to pass a context and additional request options.
  6417  //
  6418  // See GetRequestValidator for details on how to use this API operation.
  6419  //
  6420  // The context must be non-nil and will be used for request cancellation. If
  6421  // the context is nil a panic will occur. In the future the SDK may create
  6422  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6423  // for more information on using Contexts.
  6424  func (c *APIGateway) GetRequestValidatorWithContext(ctx aws.Context, input *GetRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
  6425  	req, out := c.GetRequestValidatorRequest(input)
  6426  	req.SetContext(ctx)
  6427  	req.ApplyOptions(opts...)
  6428  	return out, req.Send()
  6429  }
  6430  
  6431  const opGetRequestValidators = "GetRequestValidators"
  6432  
  6433  // GetRequestValidatorsRequest generates a "aws/request.Request" representing the
  6434  // client's request for the GetRequestValidators operation. The "output" return
  6435  // value will be populated with the request's response once the request completes
  6436  // successfully.
  6437  //
  6438  // Use "Send" method on the returned Request to send the API call to the service.
  6439  // the "output" return value is not valid until after Send returns without error.
  6440  //
  6441  // See GetRequestValidators for more information on using the GetRequestValidators
  6442  // API call, and error handling.
  6443  //
  6444  // This method is useful when you want to inject custom logic or configuration
  6445  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6446  //
  6447  //
  6448  //    // Example sending a request using the GetRequestValidatorsRequest method.
  6449  //    req, resp := client.GetRequestValidatorsRequest(params)
  6450  //
  6451  //    err := req.Send()
  6452  //    if err == nil { // resp is now filled
  6453  //        fmt.Println(resp)
  6454  //    }
  6455  func (c *APIGateway) GetRequestValidatorsRequest(input *GetRequestValidatorsInput) (req *request.Request, output *GetRequestValidatorsOutput) {
  6456  	op := &request.Operation{
  6457  		Name:       opGetRequestValidators,
  6458  		HTTPMethod: "GET",
  6459  		HTTPPath:   "/restapis/{restapi_id}/requestvalidators",
  6460  	}
  6461  
  6462  	if input == nil {
  6463  		input = &GetRequestValidatorsInput{}
  6464  	}
  6465  
  6466  	output = &GetRequestValidatorsOutput{}
  6467  	req = c.newRequest(op, input, output)
  6468  	return
  6469  }
  6470  
  6471  // GetRequestValidators API operation for Amazon API Gateway.
  6472  //
  6473  // Gets the RequestValidators collection of a given RestApi.
  6474  //
  6475  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6476  // with awserr.Error's Code and Message methods to get detailed information about
  6477  // the error.
  6478  //
  6479  // See the AWS API reference guide for Amazon API Gateway's
  6480  // API operation GetRequestValidators for usage and error information.
  6481  //
  6482  // Returned Error Types:
  6483  //   * BadRequestException
  6484  //   The submitted request is not valid, for example, the input is incomplete
  6485  //   or incorrect. See the accompanying error message for details.
  6486  //
  6487  //   * NotFoundException
  6488  //   The requested resource is not found. Make sure that the request URI is correct.
  6489  //
  6490  //   * UnauthorizedException
  6491  //   The request is denied because the caller has insufficient permissions.
  6492  //
  6493  //   * TooManyRequestsException
  6494  //   The request has reached its throttling limit. Retry after the specified time
  6495  //   period.
  6496  //
  6497  func (c *APIGateway) GetRequestValidators(input *GetRequestValidatorsInput) (*GetRequestValidatorsOutput, error) {
  6498  	req, out := c.GetRequestValidatorsRequest(input)
  6499  	return out, req.Send()
  6500  }
  6501  
  6502  // GetRequestValidatorsWithContext is the same as GetRequestValidators with the addition of
  6503  // the ability to pass a context and additional request options.
  6504  //
  6505  // See GetRequestValidators for details on how to use this API operation.
  6506  //
  6507  // The context must be non-nil and will be used for request cancellation. If
  6508  // the context is nil a panic will occur. In the future the SDK may create
  6509  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6510  // for more information on using Contexts.
  6511  func (c *APIGateway) GetRequestValidatorsWithContext(ctx aws.Context, input *GetRequestValidatorsInput, opts ...request.Option) (*GetRequestValidatorsOutput, error) {
  6512  	req, out := c.GetRequestValidatorsRequest(input)
  6513  	req.SetContext(ctx)
  6514  	req.ApplyOptions(opts...)
  6515  	return out, req.Send()
  6516  }
  6517  
  6518  const opGetResource = "GetResource"
  6519  
  6520  // GetResourceRequest generates a "aws/request.Request" representing the
  6521  // client's request for the GetResource operation. The "output" return
  6522  // value will be populated with the request's response once the request completes
  6523  // successfully.
  6524  //
  6525  // Use "Send" method on the returned Request to send the API call to the service.
  6526  // the "output" return value is not valid until after Send returns without error.
  6527  //
  6528  // See GetResource for more information on using the GetResource
  6529  // API call, and error handling.
  6530  //
  6531  // This method is useful when you want to inject custom logic or configuration
  6532  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6533  //
  6534  //
  6535  //    // Example sending a request using the GetResourceRequest method.
  6536  //    req, resp := client.GetResourceRequest(params)
  6537  //
  6538  //    err := req.Send()
  6539  //    if err == nil { // resp is now filled
  6540  //        fmt.Println(resp)
  6541  //    }
  6542  func (c *APIGateway) GetResourceRequest(input *GetResourceInput) (req *request.Request, output *Resource) {
  6543  	op := &request.Operation{
  6544  		Name:       opGetResource,
  6545  		HTTPMethod: "GET",
  6546  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
  6547  	}
  6548  
  6549  	if input == nil {
  6550  		input = &GetResourceInput{}
  6551  	}
  6552  
  6553  	output = &Resource{}
  6554  	req = c.newRequest(op, input, output)
  6555  	return
  6556  }
  6557  
  6558  // GetResource API operation for Amazon API Gateway.
  6559  //
  6560  // Lists information about a resource.
  6561  //
  6562  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6563  // with awserr.Error's Code and Message methods to get detailed information about
  6564  // the error.
  6565  //
  6566  // See the AWS API reference guide for Amazon API Gateway's
  6567  // API operation GetResource for usage and error information.
  6568  //
  6569  // Returned Error Types:
  6570  //   * UnauthorizedException
  6571  //   The request is denied because the caller has insufficient permissions.
  6572  //
  6573  //   * NotFoundException
  6574  //   The requested resource is not found. Make sure that the request URI is correct.
  6575  //
  6576  //   * TooManyRequestsException
  6577  //   The request has reached its throttling limit. Retry after the specified time
  6578  //   period.
  6579  //
  6580  func (c *APIGateway) GetResource(input *GetResourceInput) (*Resource, error) {
  6581  	req, out := c.GetResourceRequest(input)
  6582  	return out, req.Send()
  6583  }
  6584  
  6585  // GetResourceWithContext is the same as GetResource with the addition of
  6586  // the ability to pass a context and additional request options.
  6587  //
  6588  // See GetResource for details on how to use this API operation.
  6589  //
  6590  // The context must be non-nil and will be used for request cancellation. If
  6591  // the context is nil a panic will occur. In the future the SDK may create
  6592  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6593  // for more information on using Contexts.
  6594  func (c *APIGateway) GetResourceWithContext(ctx aws.Context, input *GetResourceInput, opts ...request.Option) (*Resource, error) {
  6595  	req, out := c.GetResourceRequest(input)
  6596  	req.SetContext(ctx)
  6597  	req.ApplyOptions(opts...)
  6598  	return out, req.Send()
  6599  }
  6600  
  6601  const opGetResources = "GetResources"
  6602  
  6603  // GetResourcesRequest generates a "aws/request.Request" representing the
  6604  // client's request for the GetResources operation. The "output" return
  6605  // value will be populated with the request's response once the request completes
  6606  // successfully.
  6607  //
  6608  // Use "Send" method on the returned Request to send the API call to the service.
  6609  // the "output" return value is not valid until after Send returns without error.
  6610  //
  6611  // See GetResources for more information on using the GetResources
  6612  // API call, and error handling.
  6613  //
  6614  // This method is useful when you want to inject custom logic or configuration
  6615  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6616  //
  6617  //
  6618  //    // Example sending a request using the GetResourcesRequest method.
  6619  //    req, resp := client.GetResourcesRequest(params)
  6620  //
  6621  //    err := req.Send()
  6622  //    if err == nil { // resp is now filled
  6623  //        fmt.Println(resp)
  6624  //    }
  6625  func (c *APIGateway) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) {
  6626  	op := &request.Operation{
  6627  		Name:       opGetResources,
  6628  		HTTPMethod: "GET",
  6629  		HTTPPath:   "/restapis/{restapi_id}/resources",
  6630  		Paginator: &request.Paginator{
  6631  			InputTokens:     []string{"position"},
  6632  			OutputTokens:    []string{"position"},
  6633  			LimitToken:      "limit",
  6634  			TruncationToken: "",
  6635  		},
  6636  	}
  6637  
  6638  	if input == nil {
  6639  		input = &GetResourcesInput{}
  6640  	}
  6641  
  6642  	output = &GetResourcesOutput{}
  6643  	req = c.newRequest(op, input, output)
  6644  	return
  6645  }
  6646  
  6647  // GetResources API operation for Amazon API Gateway.
  6648  //
  6649  // Lists information about a collection of Resource resources.
  6650  //
  6651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6652  // with awserr.Error's Code and Message methods to get detailed information about
  6653  // the error.
  6654  //
  6655  // See the AWS API reference guide for Amazon API Gateway's
  6656  // API operation GetResources for usage and error information.
  6657  //
  6658  // Returned Error Types:
  6659  //   * BadRequestException
  6660  //   The submitted request is not valid, for example, the input is incomplete
  6661  //   or incorrect. See the accompanying error message for details.
  6662  //
  6663  //   * UnauthorizedException
  6664  //   The request is denied because the caller has insufficient permissions.
  6665  //
  6666  //   * NotFoundException
  6667  //   The requested resource is not found. Make sure that the request URI is correct.
  6668  //
  6669  //   * TooManyRequestsException
  6670  //   The request has reached its throttling limit. Retry after the specified time
  6671  //   period.
  6672  //
  6673  func (c *APIGateway) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) {
  6674  	req, out := c.GetResourcesRequest(input)
  6675  	return out, req.Send()
  6676  }
  6677  
  6678  // GetResourcesWithContext is the same as GetResources with the addition of
  6679  // the ability to pass a context and additional request options.
  6680  //
  6681  // See GetResources for details on how to use this API operation.
  6682  //
  6683  // The context must be non-nil and will be used for request cancellation. If
  6684  // the context is nil a panic will occur. In the future the SDK may create
  6685  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6686  // for more information on using Contexts.
  6687  func (c *APIGateway) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) {
  6688  	req, out := c.GetResourcesRequest(input)
  6689  	req.SetContext(ctx)
  6690  	req.ApplyOptions(opts...)
  6691  	return out, req.Send()
  6692  }
  6693  
  6694  // GetResourcesPages iterates over the pages of a GetResources operation,
  6695  // calling the "fn" function with the response data for each page. To stop
  6696  // iterating, return false from the fn function.
  6697  //
  6698  // See GetResources method for more information on how to use this operation.
  6699  //
  6700  // Note: This operation can generate multiple requests to a service.
  6701  //
  6702  //    // Example iterating over at most 3 pages of a GetResources operation.
  6703  //    pageNum := 0
  6704  //    err := client.GetResourcesPages(params,
  6705  //        func(page *apigateway.GetResourcesOutput, lastPage bool) bool {
  6706  //            pageNum++
  6707  //            fmt.Println(page)
  6708  //            return pageNum <= 3
  6709  //        })
  6710  //
  6711  func (c *APIGateway) GetResourcesPages(input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool) error {
  6712  	return c.GetResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
  6713  }
  6714  
  6715  // GetResourcesPagesWithContext same as GetResourcesPages except
  6716  // it takes a Context and allows setting request options on the pages.
  6717  //
  6718  // The context must be non-nil and will be used for request cancellation. If
  6719  // the context is nil a panic will occur. In the future the SDK may create
  6720  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6721  // for more information on using Contexts.
  6722  func (c *APIGateway) GetResourcesPagesWithContext(ctx aws.Context, input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool, opts ...request.Option) error {
  6723  	p := request.Pagination{
  6724  		NewRequest: func() (*request.Request, error) {
  6725  			var inCpy *GetResourcesInput
  6726  			if input != nil {
  6727  				tmp := *input
  6728  				inCpy = &tmp
  6729  			}
  6730  			req, _ := c.GetResourcesRequest(inCpy)
  6731  			req.SetContext(ctx)
  6732  			req.ApplyOptions(opts...)
  6733  			return req, nil
  6734  		},
  6735  	}
  6736  
  6737  	for p.Next() {
  6738  		if !fn(p.Page().(*GetResourcesOutput), !p.HasNextPage()) {
  6739  			break
  6740  		}
  6741  	}
  6742  
  6743  	return p.Err()
  6744  }
  6745  
  6746  const opGetRestApi = "GetRestApi"
  6747  
  6748  // GetRestApiRequest generates a "aws/request.Request" representing the
  6749  // client's request for the GetRestApi operation. The "output" return
  6750  // value will be populated with the request's response once the request completes
  6751  // successfully.
  6752  //
  6753  // Use "Send" method on the returned Request to send the API call to the service.
  6754  // the "output" return value is not valid until after Send returns without error.
  6755  //
  6756  // See GetRestApi for more information on using the GetRestApi
  6757  // API call, and error handling.
  6758  //
  6759  // This method is useful when you want to inject custom logic or configuration
  6760  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6761  //
  6762  //
  6763  //    // Example sending a request using the GetRestApiRequest method.
  6764  //    req, resp := client.GetRestApiRequest(params)
  6765  //
  6766  //    err := req.Send()
  6767  //    if err == nil { // resp is now filled
  6768  //        fmt.Println(resp)
  6769  //    }
  6770  func (c *APIGateway) GetRestApiRequest(input *GetRestApiInput) (req *request.Request, output *RestApi) {
  6771  	op := &request.Operation{
  6772  		Name:       opGetRestApi,
  6773  		HTTPMethod: "GET",
  6774  		HTTPPath:   "/restapis/{restapi_id}",
  6775  	}
  6776  
  6777  	if input == nil {
  6778  		input = &GetRestApiInput{}
  6779  	}
  6780  
  6781  	output = &RestApi{}
  6782  	req = c.newRequest(op, input, output)
  6783  	return
  6784  }
  6785  
  6786  // GetRestApi API operation for Amazon API Gateway.
  6787  //
  6788  // Lists the RestApi resource in the collection.
  6789  //
  6790  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6791  // with awserr.Error's Code and Message methods to get detailed information about
  6792  // the error.
  6793  //
  6794  // See the AWS API reference guide for Amazon API Gateway's
  6795  // API operation GetRestApi for usage and error information.
  6796  //
  6797  // Returned Error Types:
  6798  //   * BadRequestException
  6799  //   The submitted request is not valid, for example, the input is incomplete
  6800  //   or incorrect. See the accompanying error message for details.
  6801  //
  6802  //   * NotFoundException
  6803  //   The requested resource is not found. Make sure that the request URI is correct.
  6804  //
  6805  //   * UnauthorizedException
  6806  //   The request is denied because the caller has insufficient permissions.
  6807  //
  6808  //   * TooManyRequestsException
  6809  //   The request has reached its throttling limit. Retry after the specified time
  6810  //   period.
  6811  //
  6812  func (c *APIGateway) GetRestApi(input *GetRestApiInput) (*RestApi, error) {
  6813  	req, out := c.GetRestApiRequest(input)
  6814  	return out, req.Send()
  6815  }
  6816  
  6817  // GetRestApiWithContext is the same as GetRestApi with the addition of
  6818  // the ability to pass a context and additional request options.
  6819  //
  6820  // See GetRestApi for details on how to use this API operation.
  6821  //
  6822  // The context must be non-nil and will be used for request cancellation. If
  6823  // the context is nil a panic will occur. In the future the SDK may create
  6824  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6825  // for more information on using Contexts.
  6826  func (c *APIGateway) GetRestApiWithContext(ctx aws.Context, input *GetRestApiInput, opts ...request.Option) (*RestApi, error) {
  6827  	req, out := c.GetRestApiRequest(input)
  6828  	req.SetContext(ctx)
  6829  	req.ApplyOptions(opts...)
  6830  	return out, req.Send()
  6831  }
  6832  
  6833  const opGetRestApis = "GetRestApis"
  6834  
  6835  // GetRestApisRequest generates a "aws/request.Request" representing the
  6836  // client's request for the GetRestApis operation. The "output" return
  6837  // value will be populated with the request's response once the request completes
  6838  // successfully.
  6839  //
  6840  // Use "Send" method on the returned Request to send the API call to the service.
  6841  // the "output" return value is not valid until after Send returns without error.
  6842  //
  6843  // See GetRestApis for more information on using the GetRestApis
  6844  // API call, and error handling.
  6845  //
  6846  // This method is useful when you want to inject custom logic or configuration
  6847  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6848  //
  6849  //
  6850  //    // Example sending a request using the GetRestApisRequest method.
  6851  //    req, resp := client.GetRestApisRequest(params)
  6852  //
  6853  //    err := req.Send()
  6854  //    if err == nil { // resp is now filled
  6855  //        fmt.Println(resp)
  6856  //    }
  6857  func (c *APIGateway) GetRestApisRequest(input *GetRestApisInput) (req *request.Request, output *GetRestApisOutput) {
  6858  	op := &request.Operation{
  6859  		Name:       opGetRestApis,
  6860  		HTTPMethod: "GET",
  6861  		HTTPPath:   "/restapis",
  6862  		Paginator: &request.Paginator{
  6863  			InputTokens:     []string{"position"},
  6864  			OutputTokens:    []string{"position"},
  6865  			LimitToken:      "limit",
  6866  			TruncationToken: "",
  6867  		},
  6868  	}
  6869  
  6870  	if input == nil {
  6871  		input = &GetRestApisInput{}
  6872  	}
  6873  
  6874  	output = &GetRestApisOutput{}
  6875  	req = c.newRequest(op, input, output)
  6876  	return
  6877  }
  6878  
  6879  // GetRestApis API operation for Amazon API Gateway.
  6880  //
  6881  // Lists the RestApis resources for your collection.
  6882  //
  6883  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6884  // with awserr.Error's Code and Message methods to get detailed information about
  6885  // the error.
  6886  //
  6887  // See the AWS API reference guide for Amazon API Gateway's
  6888  // API operation GetRestApis for usage and error information.
  6889  //
  6890  // Returned Error Types:
  6891  //   * BadRequestException
  6892  //   The submitted request is not valid, for example, the input is incomplete
  6893  //   or incorrect. See the accompanying error message for details.
  6894  //
  6895  //   * NotFoundException
  6896  //   The requested resource is not found. Make sure that the request URI is correct.
  6897  //
  6898  //   * UnauthorizedException
  6899  //   The request is denied because the caller has insufficient permissions.
  6900  //
  6901  //   * TooManyRequestsException
  6902  //   The request has reached its throttling limit. Retry after the specified time
  6903  //   period.
  6904  //
  6905  func (c *APIGateway) GetRestApis(input *GetRestApisInput) (*GetRestApisOutput, error) {
  6906  	req, out := c.GetRestApisRequest(input)
  6907  	return out, req.Send()
  6908  }
  6909  
  6910  // GetRestApisWithContext is the same as GetRestApis with the addition of
  6911  // the ability to pass a context and additional request options.
  6912  //
  6913  // See GetRestApis for details on how to use this API operation.
  6914  //
  6915  // The context must be non-nil and will be used for request cancellation. If
  6916  // the context is nil a panic will occur. In the future the SDK may create
  6917  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6918  // for more information on using Contexts.
  6919  func (c *APIGateway) GetRestApisWithContext(ctx aws.Context, input *GetRestApisInput, opts ...request.Option) (*GetRestApisOutput, error) {
  6920  	req, out := c.GetRestApisRequest(input)
  6921  	req.SetContext(ctx)
  6922  	req.ApplyOptions(opts...)
  6923  	return out, req.Send()
  6924  }
  6925  
  6926  // GetRestApisPages iterates over the pages of a GetRestApis operation,
  6927  // calling the "fn" function with the response data for each page. To stop
  6928  // iterating, return false from the fn function.
  6929  //
  6930  // See GetRestApis method for more information on how to use this operation.
  6931  //
  6932  // Note: This operation can generate multiple requests to a service.
  6933  //
  6934  //    // Example iterating over at most 3 pages of a GetRestApis operation.
  6935  //    pageNum := 0
  6936  //    err := client.GetRestApisPages(params,
  6937  //        func(page *apigateway.GetRestApisOutput, lastPage bool) bool {
  6938  //            pageNum++
  6939  //            fmt.Println(page)
  6940  //            return pageNum <= 3
  6941  //        })
  6942  //
  6943  func (c *APIGateway) GetRestApisPages(input *GetRestApisInput, fn func(*GetRestApisOutput, bool) bool) error {
  6944  	return c.GetRestApisPagesWithContext(aws.BackgroundContext(), input, fn)
  6945  }
  6946  
  6947  // GetRestApisPagesWithContext same as GetRestApisPages except
  6948  // it takes a Context and allows setting request options on the pages.
  6949  //
  6950  // The context must be non-nil and will be used for request cancellation. If
  6951  // the context is nil a panic will occur. In the future the SDK may create
  6952  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6953  // for more information on using Contexts.
  6954  func (c *APIGateway) GetRestApisPagesWithContext(ctx aws.Context, input *GetRestApisInput, fn func(*GetRestApisOutput, bool) bool, opts ...request.Option) error {
  6955  	p := request.Pagination{
  6956  		NewRequest: func() (*request.Request, error) {
  6957  			var inCpy *GetRestApisInput
  6958  			if input != nil {
  6959  				tmp := *input
  6960  				inCpy = &tmp
  6961  			}
  6962  			req, _ := c.GetRestApisRequest(inCpy)
  6963  			req.SetContext(ctx)
  6964  			req.ApplyOptions(opts...)
  6965  			return req, nil
  6966  		},
  6967  	}
  6968  
  6969  	for p.Next() {
  6970  		if !fn(p.Page().(*GetRestApisOutput), !p.HasNextPage()) {
  6971  			break
  6972  		}
  6973  	}
  6974  
  6975  	return p.Err()
  6976  }
  6977  
  6978  const opGetSdk = "GetSdk"
  6979  
  6980  // GetSdkRequest generates a "aws/request.Request" representing the
  6981  // client's request for the GetSdk operation. The "output" return
  6982  // value will be populated with the request's response once the request completes
  6983  // successfully.
  6984  //
  6985  // Use "Send" method on the returned Request to send the API call to the service.
  6986  // the "output" return value is not valid until after Send returns without error.
  6987  //
  6988  // See GetSdk for more information on using the GetSdk
  6989  // API call, and error handling.
  6990  //
  6991  // This method is useful when you want to inject custom logic or configuration
  6992  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6993  //
  6994  //
  6995  //    // Example sending a request using the GetSdkRequest method.
  6996  //    req, resp := client.GetSdkRequest(params)
  6997  //
  6998  //    err := req.Send()
  6999  //    if err == nil { // resp is now filled
  7000  //        fmt.Println(resp)
  7001  //    }
  7002  func (c *APIGateway) GetSdkRequest(input *GetSdkInput) (req *request.Request, output *GetSdkOutput) {
  7003  	op := &request.Operation{
  7004  		Name:       opGetSdk,
  7005  		HTTPMethod: "GET",
  7006  		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
  7007  	}
  7008  
  7009  	if input == nil {
  7010  		input = &GetSdkInput{}
  7011  	}
  7012  
  7013  	output = &GetSdkOutput{}
  7014  	req = c.newRequest(op, input, output)
  7015  	return
  7016  }
  7017  
  7018  // GetSdk API operation for Amazon API Gateway.
  7019  //
  7020  // Generates a client SDK for a RestApi and Stage.
  7021  //
  7022  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7023  // with awserr.Error's Code and Message methods to get detailed information about
  7024  // the error.
  7025  //
  7026  // See the AWS API reference guide for Amazon API Gateway's
  7027  // API operation GetSdk for usage and error information.
  7028  //
  7029  // Returned Error Types:
  7030  //   * BadRequestException
  7031  //   The submitted request is not valid, for example, the input is incomplete
  7032  //   or incorrect. See the accompanying error message for details.
  7033  //
  7034  //   * ConflictException
  7035  //   The request configuration has conflicts. For details, see the accompanying
  7036  //   error message.
  7037  //
  7038  //   * LimitExceededException
  7039  //   The request exceeded the rate limit. Retry after the specified time period.
  7040  //
  7041  //   * NotFoundException
  7042  //   The requested resource is not found. Make sure that the request URI is correct.
  7043  //
  7044  //   * UnauthorizedException
  7045  //   The request is denied because the caller has insufficient permissions.
  7046  //
  7047  //   * TooManyRequestsException
  7048  //   The request has reached its throttling limit. Retry after the specified time
  7049  //   period.
  7050  //
  7051  func (c *APIGateway) GetSdk(input *GetSdkInput) (*GetSdkOutput, error) {
  7052  	req, out := c.GetSdkRequest(input)
  7053  	return out, req.Send()
  7054  }
  7055  
  7056  // GetSdkWithContext is the same as GetSdk with the addition of
  7057  // the ability to pass a context and additional request options.
  7058  //
  7059  // See GetSdk for details on how to use this API operation.
  7060  //
  7061  // The context must be non-nil and will be used for request cancellation. If
  7062  // the context is nil a panic will occur. In the future the SDK may create
  7063  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7064  // for more information on using Contexts.
  7065  func (c *APIGateway) GetSdkWithContext(ctx aws.Context, input *GetSdkInput, opts ...request.Option) (*GetSdkOutput, error) {
  7066  	req, out := c.GetSdkRequest(input)
  7067  	req.SetContext(ctx)
  7068  	req.ApplyOptions(opts...)
  7069  	return out, req.Send()
  7070  }
  7071  
  7072  const opGetSdkType = "GetSdkType"
  7073  
  7074  // GetSdkTypeRequest generates a "aws/request.Request" representing the
  7075  // client's request for the GetSdkType operation. The "output" return
  7076  // value will be populated with the request's response once the request completes
  7077  // successfully.
  7078  //
  7079  // Use "Send" method on the returned Request to send the API call to the service.
  7080  // the "output" return value is not valid until after Send returns without error.
  7081  //
  7082  // See GetSdkType for more information on using the GetSdkType
  7083  // API call, and error handling.
  7084  //
  7085  // This method is useful when you want to inject custom logic or configuration
  7086  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7087  //
  7088  //
  7089  //    // Example sending a request using the GetSdkTypeRequest method.
  7090  //    req, resp := client.GetSdkTypeRequest(params)
  7091  //
  7092  //    err := req.Send()
  7093  //    if err == nil { // resp is now filled
  7094  //        fmt.Println(resp)
  7095  //    }
  7096  func (c *APIGateway) GetSdkTypeRequest(input *GetSdkTypeInput) (req *request.Request, output *SdkType) {
  7097  	op := &request.Operation{
  7098  		Name:       opGetSdkType,
  7099  		HTTPMethod: "GET",
  7100  		HTTPPath:   "/sdktypes/{sdktype_id}",
  7101  	}
  7102  
  7103  	if input == nil {
  7104  		input = &GetSdkTypeInput{}
  7105  	}
  7106  
  7107  	output = &SdkType{}
  7108  	req = c.newRequest(op, input, output)
  7109  	return
  7110  }
  7111  
  7112  // GetSdkType API operation for Amazon API Gateway.
  7113  //
  7114  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7115  // with awserr.Error's Code and Message methods to get detailed information about
  7116  // the error.
  7117  //
  7118  // See the AWS API reference guide for Amazon API Gateway's
  7119  // API operation GetSdkType for usage and error information.
  7120  //
  7121  // Returned Error Types:
  7122  //   * BadRequestException
  7123  //   The submitted request is not valid, for example, the input is incomplete
  7124  //   or incorrect. See the accompanying error message for details.
  7125  //
  7126  //   * NotFoundException
  7127  //   The requested resource is not found. Make sure that the request URI is correct.
  7128  //
  7129  //   * UnauthorizedException
  7130  //   The request is denied because the caller has insufficient permissions.
  7131  //
  7132  //   * TooManyRequestsException
  7133  //   The request has reached its throttling limit. Retry after the specified time
  7134  //   period.
  7135  //
  7136  func (c *APIGateway) GetSdkType(input *GetSdkTypeInput) (*SdkType, error) {
  7137  	req, out := c.GetSdkTypeRequest(input)
  7138  	return out, req.Send()
  7139  }
  7140  
  7141  // GetSdkTypeWithContext is the same as GetSdkType with the addition of
  7142  // the ability to pass a context and additional request options.
  7143  //
  7144  // See GetSdkType for details on how to use this API operation.
  7145  //
  7146  // The context must be non-nil and will be used for request cancellation. If
  7147  // the context is nil a panic will occur. In the future the SDK may create
  7148  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7149  // for more information on using Contexts.
  7150  func (c *APIGateway) GetSdkTypeWithContext(ctx aws.Context, input *GetSdkTypeInput, opts ...request.Option) (*SdkType, error) {
  7151  	req, out := c.GetSdkTypeRequest(input)
  7152  	req.SetContext(ctx)
  7153  	req.ApplyOptions(opts...)
  7154  	return out, req.Send()
  7155  }
  7156  
  7157  const opGetSdkTypes = "GetSdkTypes"
  7158  
  7159  // GetSdkTypesRequest generates a "aws/request.Request" representing the
  7160  // client's request for the GetSdkTypes operation. The "output" return
  7161  // value will be populated with the request's response once the request completes
  7162  // successfully.
  7163  //
  7164  // Use "Send" method on the returned Request to send the API call to the service.
  7165  // the "output" return value is not valid until after Send returns without error.
  7166  //
  7167  // See GetSdkTypes for more information on using the GetSdkTypes
  7168  // API call, and error handling.
  7169  //
  7170  // This method is useful when you want to inject custom logic or configuration
  7171  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7172  //
  7173  //
  7174  //    // Example sending a request using the GetSdkTypesRequest method.
  7175  //    req, resp := client.GetSdkTypesRequest(params)
  7176  //
  7177  //    err := req.Send()
  7178  //    if err == nil { // resp is now filled
  7179  //        fmt.Println(resp)
  7180  //    }
  7181  func (c *APIGateway) GetSdkTypesRequest(input *GetSdkTypesInput) (req *request.Request, output *GetSdkTypesOutput) {
  7182  	op := &request.Operation{
  7183  		Name:       opGetSdkTypes,
  7184  		HTTPMethod: "GET",
  7185  		HTTPPath:   "/sdktypes",
  7186  	}
  7187  
  7188  	if input == nil {
  7189  		input = &GetSdkTypesInput{}
  7190  	}
  7191  
  7192  	output = &GetSdkTypesOutput{}
  7193  	req = c.newRequest(op, input, output)
  7194  	return
  7195  }
  7196  
  7197  // GetSdkTypes API operation for Amazon API Gateway.
  7198  //
  7199  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7200  // with awserr.Error's Code and Message methods to get detailed information about
  7201  // the error.
  7202  //
  7203  // See the AWS API reference guide for Amazon API Gateway's
  7204  // API operation GetSdkTypes for usage and error information.
  7205  //
  7206  // Returned Error Types:
  7207  //   * BadRequestException
  7208  //   The submitted request is not valid, for example, the input is incomplete
  7209  //   or incorrect. See the accompanying error message for details.
  7210  //
  7211  //   * NotFoundException
  7212  //   The requested resource is not found. Make sure that the request URI is correct.
  7213  //
  7214  //   * UnauthorizedException
  7215  //   The request is denied because the caller has insufficient permissions.
  7216  //
  7217  //   * TooManyRequestsException
  7218  //   The request has reached its throttling limit. Retry after the specified time
  7219  //   period.
  7220  //
  7221  func (c *APIGateway) GetSdkTypes(input *GetSdkTypesInput) (*GetSdkTypesOutput, error) {
  7222  	req, out := c.GetSdkTypesRequest(input)
  7223  	return out, req.Send()
  7224  }
  7225  
  7226  // GetSdkTypesWithContext is the same as GetSdkTypes with the addition of
  7227  // the ability to pass a context and additional request options.
  7228  //
  7229  // See GetSdkTypes for details on how to use this API operation.
  7230  //
  7231  // The context must be non-nil and will be used for request cancellation. If
  7232  // the context is nil a panic will occur. In the future the SDK may create
  7233  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7234  // for more information on using Contexts.
  7235  func (c *APIGateway) GetSdkTypesWithContext(ctx aws.Context, input *GetSdkTypesInput, opts ...request.Option) (*GetSdkTypesOutput, error) {
  7236  	req, out := c.GetSdkTypesRequest(input)
  7237  	req.SetContext(ctx)
  7238  	req.ApplyOptions(opts...)
  7239  	return out, req.Send()
  7240  }
  7241  
  7242  const opGetStage = "GetStage"
  7243  
  7244  // GetStageRequest generates a "aws/request.Request" representing the
  7245  // client's request for the GetStage operation. The "output" return
  7246  // value will be populated with the request's response once the request completes
  7247  // successfully.
  7248  //
  7249  // Use "Send" method on the returned Request to send the API call to the service.
  7250  // the "output" return value is not valid until after Send returns without error.
  7251  //
  7252  // See GetStage for more information on using the GetStage
  7253  // API call, and error handling.
  7254  //
  7255  // This method is useful when you want to inject custom logic or configuration
  7256  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7257  //
  7258  //
  7259  //    // Example sending a request using the GetStageRequest method.
  7260  //    req, resp := client.GetStageRequest(params)
  7261  //
  7262  //    err := req.Send()
  7263  //    if err == nil { // resp is now filled
  7264  //        fmt.Println(resp)
  7265  //    }
  7266  func (c *APIGateway) GetStageRequest(input *GetStageInput) (req *request.Request, output *Stage) {
  7267  	op := &request.Operation{
  7268  		Name:       opGetStage,
  7269  		HTTPMethod: "GET",
  7270  		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
  7271  	}
  7272  
  7273  	if input == nil {
  7274  		input = &GetStageInput{}
  7275  	}
  7276  
  7277  	output = &Stage{}
  7278  	req = c.newRequest(op, input, output)
  7279  	return
  7280  }
  7281  
  7282  // GetStage API operation for Amazon API Gateway.
  7283  //
  7284  // Gets information about a Stage resource.
  7285  //
  7286  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7287  // with awserr.Error's Code and Message methods to get detailed information about
  7288  // the error.
  7289  //
  7290  // See the AWS API reference guide for Amazon API Gateway's
  7291  // API operation GetStage for usage and error information.
  7292  //
  7293  // Returned Error Types:
  7294  //   * BadRequestException
  7295  //   The submitted request is not valid, for example, the input is incomplete
  7296  //   or incorrect. See the accompanying error message for details.
  7297  //
  7298  //   * ConflictException
  7299  //   The request configuration has conflicts. For details, see the accompanying
  7300  //   error message.
  7301  //
  7302  //   * LimitExceededException
  7303  //   The request exceeded the rate limit. Retry after the specified time period.
  7304  //
  7305  //   * NotFoundException
  7306  //   The requested resource is not found. Make sure that the request URI is correct.
  7307  //
  7308  //   * UnauthorizedException
  7309  //   The request is denied because the caller has insufficient permissions.
  7310  //
  7311  //   * TooManyRequestsException
  7312  //   The request has reached its throttling limit. Retry after the specified time
  7313  //   period.
  7314  //
  7315  func (c *APIGateway) GetStage(input *GetStageInput) (*Stage, error) {
  7316  	req, out := c.GetStageRequest(input)
  7317  	return out, req.Send()
  7318  }
  7319  
  7320  // GetStageWithContext is the same as GetStage with the addition of
  7321  // the ability to pass a context and additional request options.
  7322  //
  7323  // See GetStage for details on how to use this API operation.
  7324  //
  7325  // The context must be non-nil and will be used for request cancellation. If
  7326  // the context is nil a panic will occur. In the future the SDK may create
  7327  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7328  // for more information on using Contexts.
  7329  func (c *APIGateway) GetStageWithContext(ctx aws.Context, input *GetStageInput, opts ...request.Option) (*Stage, error) {
  7330  	req, out := c.GetStageRequest(input)
  7331  	req.SetContext(ctx)
  7332  	req.ApplyOptions(opts...)
  7333  	return out, req.Send()
  7334  }
  7335  
  7336  const opGetStages = "GetStages"
  7337  
  7338  // GetStagesRequest generates a "aws/request.Request" representing the
  7339  // client's request for the GetStages operation. The "output" return
  7340  // value will be populated with the request's response once the request completes
  7341  // successfully.
  7342  //
  7343  // Use "Send" method on the returned Request to send the API call to the service.
  7344  // the "output" return value is not valid until after Send returns without error.
  7345  //
  7346  // See GetStages for more information on using the GetStages
  7347  // API call, and error handling.
  7348  //
  7349  // This method is useful when you want to inject custom logic or configuration
  7350  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7351  //
  7352  //
  7353  //    // Example sending a request using the GetStagesRequest method.
  7354  //    req, resp := client.GetStagesRequest(params)
  7355  //
  7356  //    err := req.Send()
  7357  //    if err == nil { // resp is now filled
  7358  //        fmt.Println(resp)
  7359  //    }
  7360  func (c *APIGateway) GetStagesRequest(input *GetStagesInput) (req *request.Request, output *GetStagesOutput) {
  7361  	op := &request.Operation{
  7362  		Name:       opGetStages,
  7363  		HTTPMethod: "GET",
  7364  		HTTPPath:   "/restapis/{restapi_id}/stages",
  7365  	}
  7366  
  7367  	if input == nil {
  7368  		input = &GetStagesInput{}
  7369  	}
  7370  
  7371  	output = &GetStagesOutput{}
  7372  	req = c.newRequest(op, input, output)
  7373  	return
  7374  }
  7375  
  7376  // GetStages API operation for Amazon API Gateway.
  7377  //
  7378  // Gets information about one or more Stage resources.
  7379  //
  7380  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7381  // with awserr.Error's Code and Message methods to get detailed information about
  7382  // the error.
  7383  //
  7384  // See the AWS API reference guide for Amazon API Gateway's
  7385  // API operation GetStages for usage and error information.
  7386  //
  7387  // Returned Error Types:
  7388  //   * BadRequestException
  7389  //   The submitted request is not valid, for example, the input is incomplete
  7390  //   or incorrect. See the accompanying error message for details.
  7391  //
  7392  //   * ConflictException
  7393  //   The request configuration has conflicts. For details, see the accompanying
  7394  //   error message.
  7395  //
  7396  //   * LimitExceededException
  7397  //   The request exceeded the rate limit. Retry after the specified time period.
  7398  //
  7399  //   * NotFoundException
  7400  //   The requested resource is not found. Make sure that the request URI is correct.
  7401  //
  7402  //   * UnauthorizedException
  7403  //   The request is denied because the caller has insufficient permissions.
  7404  //
  7405  //   * TooManyRequestsException
  7406  //   The request has reached its throttling limit. Retry after the specified time
  7407  //   period.
  7408  //
  7409  func (c *APIGateway) GetStages(input *GetStagesInput) (*GetStagesOutput, error) {
  7410  	req, out := c.GetStagesRequest(input)
  7411  	return out, req.Send()
  7412  }
  7413  
  7414  // GetStagesWithContext is the same as GetStages with the addition of
  7415  // the ability to pass a context and additional request options.
  7416  //
  7417  // See GetStages for details on how to use this API operation.
  7418  //
  7419  // The context must be non-nil and will be used for request cancellation. If
  7420  // the context is nil a panic will occur. In the future the SDK may create
  7421  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7422  // for more information on using Contexts.
  7423  func (c *APIGateway) GetStagesWithContext(ctx aws.Context, input *GetStagesInput, opts ...request.Option) (*GetStagesOutput, error) {
  7424  	req, out := c.GetStagesRequest(input)
  7425  	req.SetContext(ctx)
  7426  	req.ApplyOptions(opts...)
  7427  	return out, req.Send()
  7428  }
  7429  
  7430  const opGetTags = "GetTags"
  7431  
  7432  // GetTagsRequest generates a "aws/request.Request" representing the
  7433  // client's request for the GetTags operation. The "output" return
  7434  // value will be populated with the request's response once the request completes
  7435  // successfully.
  7436  //
  7437  // Use "Send" method on the returned Request to send the API call to the service.
  7438  // the "output" return value is not valid until after Send returns without error.
  7439  //
  7440  // See GetTags for more information on using the GetTags
  7441  // API call, and error handling.
  7442  //
  7443  // This method is useful when you want to inject custom logic or configuration
  7444  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7445  //
  7446  //
  7447  //    // Example sending a request using the GetTagsRequest method.
  7448  //    req, resp := client.GetTagsRequest(params)
  7449  //
  7450  //    err := req.Send()
  7451  //    if err == nil { // resp is now filled
  7452  //        fmt.Println(resp)
  7453  //    }
  7454  func (c *APIGateway) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) {
  7455  	op := &request.Operation{
  7456  		Name:       opGetTags,
  7457  		HTTPMethod: "GET",
  7458  		HTTPPath:   "/tags/{resource_arn}",
  7459  	}
  7460  
  7461  	if input == nil {
  7462  		input = &GetTagsInput{}
  7463  	}
  7464  
  7465  	output = &GetTagsOutput{}
  7466  	req = c.newRequest(op, input, output)
  7467  	return
  7468  }
  7469  
  7470  // GetTags API operation for Amazon API Gateway.
  7471  //
  7472  // Gets the Tags collection for a given resource.
  7473  //
  7474  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7475  // with awserr.Error's Code and Message methods to get detailed information about
  7476  // the error.
  7477  //
  7478  // See the AWS API reference guide for Amazon API Gateway's
  7479  // API operation GetTags for usage and error information.
  7480  //
  7481  // Returned Error Types:
  7482  //   * BadRequestException
  7483  //   The submitted request is not valid, for example, the input is incomplete
  7484  //   or incorrect. See the accompanying error message for details.
  7485  //
  7486  //   * NotFoundException
  7487  //   The requested resource is not found. Make sure that the request URI is correct.
  7488  //
  7489  //   * UnauthorizedException
  7490  //   The request is denied because the caller has insufficient permissions.
  7491  //
  7492  //   * TooManyRequestsException
  7493  //   The request has reached its throttling limit. Retry after the specified time
  7494  //   period.
  7495  //
  7496  func (c *APIGateway) GetTags(input *GetTagsInput) (*GetTagsOutput, error) {
  7497  	req, out := c.GetTagsRequest(input)
  7498  	return out, req.Send()
  7499  }
  7500  
  7501  // GetTagsWithContext is the same as GetTags with the addition of
  7502  // the ability to pass a context and additional request options.
  7503  //
  7504  // See GetTags for details on how to use this API operation.
  7505  //
  7506  // The context must be non-nil and will be used for request cancellation. If
  7507  // the context is nil a panic will occur. In the future the SDK may create
  7508  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7509  // for more information on using Contexts.
  7510  func (c *APIGateway) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) {
  7511  	req, out := c.GetTagsRequest(input)
  7512  	req.SetContext(ctx)
  7513  	req.ApplyOptions(opts...)
  7514  	return out, req.Send()
  7515  }
  7516  
  7517  const opGetUsage = "GetUsage"
  7518  
  7519  // GetUsageRequest generates a "aws/request.Request" representing the
  7520  // client's request for the GetUsage operation. The "output" return
  7521  // value will be populated with the request's response once the request completes
  7522  // successfully.
  7523  //
  7524  // Use "Send" method on the returned Request to send the API call to the service.
  7525  // the "output" return value is not valid until after Send returns without error.
  7526  //
  7527  // See GetUsage for more information on using the GetUsage
  7528  // API call, and error handling.
  7529  //
  7530  // This method is useful when you want to inject custom logic or configuration
  7531  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7532  //
  7533  //
  7534  //    // Example sending a request using the GetUsageRequest method.
  7535  //    req, resp := client.GetUsageRequest(params)
  7536  //
  7537  //    err := req.Send()
  7538  //    if err == nil { // resp is now filled
  7539  //        fmt.Println(resp)
  7540  //    }
  7541  func (c *APIGateway) GetUsageRequest(input *GetUsageInput) (req *request.Request, output *Usage) {
  7542  	op := &request.Operation{
  7543  		Name:       opGetUsage,
  7544  		HTTPMethod: "GET",
  7545  		HTTPPath:   "/usageplans/{usageplanId}/usage",
  7546  		Paginator: &request.Paginator{
  7547  			InputTokens:     []string{"position"},
  7548  			OutputTokens:    []string{"position"},
  7549  			LimitToken:      "limit",
  7550  			TruncationToken: "",
  7551  		},
  7552  	}
  7553  
  7554  	if input == nil {
  7555  		input = &GetUsageInput{}
  7556  	}
  7557  
  7558  	output = &Usage{}
  7559  	req = c.newRequest(op, input, output)
  7560  	return
  7561  }
  7562  
  7563  // GetUsage API operation for Amazon API Gateway.
  7564  //
  7565  // Gets the usage data of a usage plan in a specified time interval.
  7566  //
  7567  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7568  // with awserr.Error's Code and Message methods to get detailed information about
  7569  // the error.
  7570  //
  7571  // See the AWS API reference guide for Amazon API Gateway's
  7572  // API operation GetUsage for usage and error information.
  7573  //
  7574  // Returned Error Types:
  7575  //   * BadRequestException
  7576  //   The submitted request is not valid, for example, the input is incomplete
  7577  //   or incorrect. See the accompanying error message for details.
  7578  //
  7579  //   * UnauthorizedException
  7580  //   The request is denied because the caller has insufficient permissions.
  7581  //
  7582  //   * NotFoundException
  7583  //   The requested resource is not found. Make sure that the request URI is correct.
  7584  //
  7585  //   * TooManyRequestsException
  7586  //   The request has reached its throttling limit. Retry after the specified time
  7587  //   period.
  7588  //
  7589  func (c *APIGateway) GetUsage(input *GetUsageInput) (*Usage, error) {
  7590  	req, out := c.GetUsageRequest(input)
  7591  	return out, req.Send()
  7592  }
  7593  
  7594  // GetUsageWithContext is the same as GetUsage with the addition of
  7595  // the ability to pass a context and additional request options.
  7596  //
  7597  // See GetUsage for details on how to use this API operation.
  7598  //
  7599  // The context must be non-nil and will be used for request cancellation. If
  7600  // the context is nil a panic will occur. In the future the SDK may create
  7601  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7602  // for more information on using Contexts.
  7603  func (c *APIGateway) GetUsageWithContext(ctx aws.Context, input *GetUsageInput, opts ...request.Option) (*Usage, error) {
  7604  	req, out := c.GetUsageRequest(input)
  7605  	req.SetContext(ctx)
  7606  	req.ApplyOptions(opts...)
  7607  	return out, req.Send()
  7608  }
  7609  
  7610  // GetUsagePages iterates over the pages of a GetUsage operation,
  7611  // calling the "fn" function with the response data for each page. To stop
  7612  // iterating, return false from the fn function.
  7613  //
  7614  // See GetUsage method for more information on how to use this operation.
  7615  //
  7616  // Note: This operation can generate multiple requests to a service.
  7617  //
  7618  //    // Example iterating over at most 3 pages of a GetUsage operation.
  7619  //    pageNum := 0
  7620  //    err := client.GetUsagePages(params,
  7621  //        func(page *apigateway.Usage, lastPage bool) bool {
  7622  //            pageNum++
  7623  //            fmt.Println(page)
  7624  //            return pageNum <= 3
  7625  //        })
  7626  //
  7627  func (c *APIGateway) GetUsagePages(input *GetUsageInput, fn func(*Usage, bool) bool) error {
  7628  	return c.GetUsagePagesWithContext(aws.BackgroundContext(), input, fn)
  7629  }
  7630  
  7631  // GetUsagePagesWithContext same as GetUsagePages except
  7632  // it takes a Context and allows setting request options on the pages.
  7633  //
  7634  // The context must be non-nil and will be used for request cancellation. If
  7635  // the context is nil a panic will occur. In the future the SDK may create
  7636  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7637  // for more information on using Contexts.
  7638  func (c *APIGateway) GetUsagePagesWithContext(ctx aws.Context, input *GetUsageInput, fn func(*Usage, bool) bool, opts ...request.Option) error {
  7639  	p := request.Pagination{
  7640  		NewRequest: func() (*request.Request, error) {
  7641  			var inCpy *GetUsageInput
  7642  			if input != nil {
  7643  				tmp := *input
  7644  				inCpy = &tmp
  7645  			}
  7646  			req, _ := c.GetUsageRequest(inCpy)
  7647  			req.SetContext(ctx)
  7648  			req.ApplyOptions(opts...)
  7649  			return req, nil
  7650  		},
  7651  	}
  7652  
  7653  	for p.Next() {
  7654  		if !fn(p.Page().(*Usage), !p.HasNextPage()) {
  7655  			break
  7656  		}
  7657  	}
  7658  
  7659  	return p.Err()
  7660  }
  7661  
  7662  const opGetUsagePlan = "GetUsagePlan"
  7663  
  7664  // GetUsagePlanRequest generates a "aws/request.Request" representing the
  7665  // client's request for the GetUsagePlan operation. The "output" return
  7666  // value will be populated with the request's response once the request completes
  7667  // successfully.
  7668  //
  7669  // Use "Send" method on the returned Request to send the API call to the service.
  7670  // the "output" return value is not valid until after Send returns without error.
  7671  //
  7672  // See GetUsagePlan for more information on using the GetUsagePlan
  7673  // API call, and error handling.
  7674  //
  7675  // This method is useful when you want to inject custom logic or configuration
  7676  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7677  //
  7678  //
  7679  //    // Example sending a request using the GetUsagePlanRequest method.
  7680  //    req, resp := client.GetUsagePlanRequest(params)
  7681  //
  7682  //    err := req.Send()
  7683  //    if err == nil { // resp is now filled
  7684  //        fmt.Println(resp)
  7685  //    }
  7686  func (c *APIGateway) GetUsagePlanRequest(input *GetUsagePlanInput) (req *request.Request, output *UsagePlan) {
  7687  	op := &request.Operation{
  7688  		Name:       opGetUsagePlan,
  7689  		HTTPMethod: "GET",
  7690  		HTTPPath:   "/usageplans/{usageplanId}",
  7691  	}
  7692  
  7693  	if input == nil {
  7694  		input = &GetUsagePlanInput{}
  7695  	}
  7696  
  7697  	output = &UsagePlan{}
  7698  	req = c.newRequest(op, input, output)
  7699  	return
  7700  }
  7701  
  7702  // GetUsagePlan API operation for Amazon API Gateway.
  7703  //
  7704  // Gets a usage plan of a given plan identifier.
  7705  //
  7706  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7707  // with awserr.Error's Code and Message methods to get detailed information about
  7708  // the error.
  7709  //
  7710  // See the AWS API reference guide for Amazon API Gateway's
  7711  // API operation GetUsagePlan for usage and error information.
  7712  //
  7713  // Returned Error Types:
  7714  //   * BadRequestException
  7715  //   The submitted request is not valid, for example, the input is incomplete
  7716  //   or incorrect. See the accompanying error message for details.
  7717  //
  7718  //   * NotFoundException
  7719  //   The requested resource is not found. Make sure that the request URI is correct.
  7720  //
  7721  //   * UnauthorizedException
  7722  //   The request is denied because the caller has insufficient permissions.
  7723  //
  7724  //   * TooManyRequestsException
  7725  //   The request has reached its throttling limit. Retry after the specified time
  7726  //   period.
  7727  //
  7728  func (c *APIGateway) GetUsagePlan(input *GetUsagePlanInput) (*UsagePlan, error) {
  7729  	req, out := c.GetUsagePlanRequest(input)
  7730  	return out, req.Send()
  7731  }
  7732  
  7733  // GetUsagePlanWithContext is the same as GetUsagePlan with the addition of
  7734  // the ability to pass a context and additional request options.
  7735  //
  7736  // See GetUsagePlan for details on how to use this API operation.
  7737  //
  7738  // The context must be non-nil and will be used for request cancellation. If
  7739  // the context is nil a panic will occur. In the future the SDK may create
  7740  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7741  // for more information on using Contexts.
  7742  func (c *APIGateway) GetUsagePlanWithContext(ctx aws.Context, input *GetUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
  7743  	req, out := c.GetUsagePlanRequest(input)
  7744  	req.SetContext(ctx)
  7745  	req.ApplyOptions(opts...)
  7746  	return out, req.Send()
  7747  }
  7748  
  7749  const opGetUsagePlanKey = "GetUsagePlanKey"
  7750  
  7751  // GetUsagePlanKeyRequest generates a "aws/request.Request" representing the
  7752  // client's request for the GetUsagePlanKey operation. The "output" return
  7753  // value will be populated with the request's response once the request completes
  7754  // successfully.
  7755  //
  7756  // Use "Send" method on the returned Request to send the API call to the service.
  7757  // the "output" return value is not valid until after Send returns without error.
  7758  //
  7759  // See GetUsagePlanKey for more information on using the GetUsagePlanKey
  7760  // API call, and error handling.
  7761  //
  7762  // This method is useful when you want to inject custom logic or configuration
  7763  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7764  //
  7765  //
  7766  //    // Example sending a request using the GetUsagePlanKeyRequest method.
  7767  //    req, resp := client.GetUsagePlanKeyRequest(params)
  7768  //
  7769  //    err := req.Send()
  7770  //    if err == nil { // resp is now filled
  7771  //        fmt.Println(resp)
  7772  //    }
  7773  func (c *APIGateway) GetUsagePlanKeyRequest(input *GetUsagePlanKeyInput) (req *request.Request, output *UsagePlanKey) {
  7774  	op := &request.Operation{
  7775  		Name:       opGetUsagePlanKey,
  7776  		HTTPMethod: "GET",
  7777  		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}",
  7778  	}
  7779  
  7780  	if input == nil {
  7781  		input = &GetUsagePlanKeyInput{}
  7782  	}
  7783  
  7784  	output = &UsagePlanKey{}
  7785  	req = c.newRequest(op, input, output)
  7786  	return
  7787  }
  7788  
  7789  // GetUsagePlanKey API operation for Amazon API Gateway.
  7790  //
  7791  // Gets a usage plan key of a given key identifier.
  7792  //
  7793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7794  // with awserr.Error's Code and Message methods to get detailed information about
  7795  // the error.
  7796  //
  7797  // See the AWS API reference guide for Amazon API Gateway's
  7798  // API operation GetUsagePlanKey for usage and error information.
  7799  //
  7800  // Returned Error Types:
  7801  //   * BadRequestException
  7802  //   The submitted request is not valid, for example, the input is incomplete
  7803  //   or incorrect. See the accompanying error message for details.
  7804  //
  7805  //   * NotFoundException
  7806  //   The requested resource is not found. Make sure that the request URI is correct.
  7807  //
  7808  //   * UnauthorizedException
  7809  //   The request is denied because the caller has insufficient permissions.
  7810  //
  7811  //   * TooManyRequestsException
  7812  //   The request has reached its throttling limit. Retry after the specified time
  7813  //   period.
  7814  //
  7815  func (c *APIGateway) GetUsagePlanKey(input *GetUsagePlanKeyInput) (*UsagePlanKey, error) {
  7816  	req, out := c.GetUsagePlanKeyRequest(input)
  7817  	return out, req.Send()
  7818  }
  7819  
  7820  // GetUsagePlanKeyWithContext is the same as GetUsagePlanKey with the addition of
  7821  // the ability to pass a context and additional request options.
  7822  //
  7823  // See GetUsagePlanKey for details on how to use this API operation.
  7824  //
  7825  // The context must be non-nil and will be used for request cancellation. If
  7826  // the context is nil a panic will occur. In the future the SDK may create
  7827  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7828  // for more information on using Contexts.
  7829  func (c *APIGateway) GetUsagePlanKeyWithContext(ctx aws.Context, input *GetUsagePlanKeyInput, opts ...request.Option) (*UsagePlanKey, error) {
  7830  	req, out := c.GetUsagePlanKeyRequest(input)
  7831  	req.SetContext(ctx)
  7832  	req.ApplyOptions(opts...)
  7833  	return out, req.Send()
  7834  }
  7835  
  7836  const opGetUsagePlanKeys = "GetUsagePlanKeys"
  7837  
  7838  // GetUsagePlanKeysRequest generates a "aws/request.Request" representing the
  7839  // client's request for the GetUsagePlanKeys operation. The "output" return
  7840  // value will be populated with the request's response once the request completes
  7841  // successfully.
  7842  //
  7843  // Use "Send" method on the returned Request to send the API call to the service.
  7844  // the "output" return value is not valid until after Send returns without error.
  7845  //
  7846  // See GetUsagePlanKeys for more information on using the GetUsagePlanKeys
  7847  // API call, and error handling.
  7848  //
  7849  // This method is useful when you want to inject custom logic or configuration
  7850  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7851  //
  7852  //
  7853  //    // Example sending a request using the GetUsagePlanKeysRequest method.
  7854  //    req, resp := client.GetUsagePlanKeysRequest(params)
  7855  //
  7856  //    err := req.Send()
  7857  //    if err == nil { // resp is now filled
  7858  //        fmt.Println(resp)
  7859  //    }
  7860  func (c *APIGateway) GetUsagePlanKeysRequest(input *GetUsagePlanKeysInput) (req *request.Request, output *GetUsagePlanKeysOutput) {
  7861  	op := &request.Operation{
  7862  		Name:       opGetUsagePlanKeys,
  7863  		HTTPMethod: "GET",
  7864  		HTTPPath:   "/usageplans/{usageplanId}/keys",
  7865  		Paginator: &request.Paginator{
  7866  			InputTokens:     []string{"position"},
  7867  			OutputTokens:    []string{"position"},
  7868  			LimitToken:      "limit",
  7869  			TruncationToken: "",
  7870  		},
  7871  	}
  7872  
  7873  	if input == nil {
  7874  		input = &GetUsagePlanKeysInput{}
  7875  	}
  7876  
  7877  	output = &GetUsagePlanKeysOutput{}
  7878  	req = c.newRequest(op, input, output)
  7879  	return
  7880  }
  7881  
  7882  // GetUsagePlanKeys API operation for Amazon API Gateway.
  7883  //
  7884  // Gets all the usage plan keys representing the API keys added to a specified
  7885  // usage plan.
  7886  //
  7887  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7888  // with awserr.Error's Code and Message methods to get detailed information about
  7889  // the error.
  7890  //
  7891  // See the AWS API reference guide for Amazon API Gateway's
  7892  // API operation GetUsagePlanKeys for usage and error information.
  7893  //
  7894  // Returned Error Types:
  7895  //   * BadRequestException
  7896  //   The submitted request is not valid, for example, the input is incomplete
  7897  //   or incorrect. See the accompanying error message for details.
  7898  //
  7899  //   * NotFoundException
  7900  //   The requested resource is not found. Make sure that the request URI is correct.
  7901  //
  7902  //   * UnauthorizedException
  7903  //   The request is denied because the caller has insufficient permissions.
  7904  //
  7905  //   * TooManyRequestsException
  7906  //   The request has reached its throttling limit. Retry after the specified time
  7907  //   period.
  7908  //
  7909  func (c *APIGateway) GetUsagePlanKeys(input *GetUsagePlanKeysInput) (*GetUsagePlanKeysOutput, error) {
  7910  	req, out := c.GetUsagePlanKeysRequest(input)
  7911  	return out, req.Send()
  7912  }
  7913  
  7914  // GetUsagePlanKeysWithContext is the same as GetUsagePlanKeys with the addition of
  7915  // the ability to pass a context and additional request options.
  7916  //
  7917  // See GetUsagePlanKeys for details on how to use this API operation.
  7918  //
  7919  // The context must be non-nil and will be used for request cancellation. If
  7920  // the context is nil a panic will occur. In the future the SDK may create
  7921  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7922  // for more information on using Contexts.
  7923  func (c *APIGateway) GetUsagePlanKeysWithContext(ctx aws.Context, input *GetUsagePlanKeysInput, opts ...request.Option) (*GetUsagePlanKeysOutput, error) {
  7924  	req, out := c.GetUsagePlanKeysRequest(input)
  7925  	req.SetContext(ctx)
  7926  	req.ApplyOptions(opts...)
  7927  	return out, req.Send()
  7928  }
  7929  
  7930  // GetUsagePlanKeysPages iterates over the pages of a GetUsagePlanKeys operation,
  7931  // calling the "fn" function with the response data for each page. To stop
  7932  // iterating, return false from the fn function.
  7933  //
  7934  // See GetUsagePlanKeys method for more information on how to use this operation.
  7935  //
  7936  // Note: This operation can generate multiple requests to a service.
  7937  //
  7938  //    // Example iterating over at most 3 pages of a GetUsagePlanKeys operation.
  7939  //    pageNum := 0
  7940  //    err := client.GetUsagePlanKeysPages(params,
  7941  //        func(page *apigateway.GetUsagePlanKeysOutput, lastPage bool) bool {
  7942  //            pageNum++
  7943  //            fmt.Println(page)
  7944  //            return pageNum <= 3
  7945  //        })
  7946  //
  7947  func (c *APIGateway) GetUsagePlanKeysPages(input *GetUsagePlanKeysInput, fn func(*GetUsagePlanKeysOutput, bool) bool) error {
  7948  	return c.GetUsagePlanKeysPagesWithContext(aws.BackgroundContext(), input, fn)
  7949  }
  7950  
  7951  // GetUsagePlanKeysPagesWithContext same as GetUsagePlanKeysPages except
  7952  // it takes a Context and allows setting request options on the pages.
  7953  //
  7954  // The context must be non-nil and will be used for request cancellation. If
  7955  // the context is nil a panic will occur. In the future the SDK may create
  7956  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7957  // for more information on using Contexts.
  7958  func (c *APIGateway) GetUsagePlanKeysPagesWithContext(ctx aws.Context, input *GetUsagePlanKeysInput, fn func(*GetUsagePlanKeysOutput, bool) bool, opts ...request.Option) error {
  7959  	p := request.Pagination{
  7960  		NewRequest: func() (*request.Request, error) {
  7961  			var inCpy *GetUsagePlanKeysInput
  7962  			if input != nil {
  7963  				tmp := *input
  7964  				inCpy = &tmp
  7965  			}
  7966  			req, _ := c.GetUsagePlanKeysRequest(inCpy)
  7967  			req.SetContext(ctx)
  7968  			req.ApplyOptions(opts...)
  7969  			return req, nil
  7970  		},
  7971  	}
  7972  
  7973  	for p.Next() {
  7974  		if !fn(p.Page().(*GetUsagePlanKeysOutput), !p.HasNextPage()) {
  7975  			break
  7976  		}
  7977  	}
  7978  
  7979  	return p.Err()
  7980  }
  7981  
  7982  const opGetUsagePlans = "GetUsagePlans"
  7983  
  7984  // GetUsagePlansRequest generates a "aws/request.Request" representing the
  7985  // client's request for the GetUsagePlans operation. The "output" return
  7986  // value will be populated with the request's response once the request completes
  7987  // successfully.
  7988  //
  7989  // Use "Send" method on the returned Request to send the API call to the service.
  7990  // the "output" return value is not valid until after Send returns without error.
  7991  //
  7992  // See GetUsagePlans for more information on using the GetUsagePlans
  7993  // API call, and error handling.
  7994  //
  7995  // This method is useful when you want to inject custom logic or configuration
  7996  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7997  //
  7998  //
  7999  //    // Example sending a request using the GetUsagePlansRequest method.
  8000  //    req, resp := client.GetUsagePlansRequest(params)
  8001  //
  8002  //    err := req.Send()
  8003  //    if err == nil { // resp is now filled
  8004  //        fmt.Println(resp)
  8005  //    }
  8006  func (c *APIGateway) GetUsagePlansRequest(input *GetUsagePlansInput) (req *request.Request, output *GetUsagePlansOutput) {
  8007  	op := &request.Operation{
  8008  		Name:       opGetUsagePlans,
  8009  		HTTPMethod: "GET",
  8010  		HTTPPath:   "/usageplans",
  8011  		Paginator: &request.Paginator{
  8012  			InputTokens:     []string{"position"},
  8013  			OutputTokens:    []string{"position"},
  8014  			LimitToken:      "limit",
  8015  			TruncationToken: "",
  8016  		},
  8017  	}
  8018  
  8019  	if input == nil {
  8020  		input = &GetUsagePlansInput{}
  8021  	}
  8022  
  8023  	output = &GetUsagePlansOutput{}
  8024  	req = c.newRequest(op, input, output)
  8025  	return
  8026  }
  8027  
  8028  // GetUsagePlans API operation for Amazon API Gateway.
  8029  //
  8030  // Gets all the usage plans of the caller's account.
  8031  //
  8032  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8033  // with awserr.Error's Code and Message methods to get detailed information about
  8034  // the error.
  8035  //
  8036  // See the AWS API reference guide for Amazon API Gateway's
  8037  // API operation GetUsagePlans for usage and error information.
  8038  //
  8039  // Returned Error Types:
  8040  //   * BadRequestException
  8041  //   The submitted request is not valid, for example, the input is incomplete
  8042  //   or incorrect. See the accompanying error message for details.
  8043  //
  8044  //   * NotFoundException
  8045  //   The requested resource is not found. Make sure that the request URI is correct.
  8046  //
  8047  //   * UnauthorizedException
  8048  //   The request is denied because the caller has insufficient permissions.
  8049  //
  8050  //   * TooManyRequestsException
  8051  //   The request has reached its throttling limit. Retry after the specified time
  8052  //   period.
  8053  //
  8054  func (c *APIGateway) GetUsagePlans(input *GetUsagePlansInput) (*GetUsagePlansOutput, error) {
  8055  	req, out := c.GetUsagePlansRequest(input)
  8056  	return out, req.Send()
  8057  }
  8058  
  8059  // GetUsagePlansWithContext is the same as GetUsagePlans with the addition of
  8060  // the ability to pass a context and additional request options.
  8061  //
  8062  // See GetUsagePlans for details on how to use this API operation.
  8063  //
  8064  // The context must be non-nil and will be used for request cancellation. If
  8065  // the context is nil a panic will occur. In the future the SDK may create
  8066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8067  // for more information on using Contexts.
  8068  func (c *APIGateway) GetUsagePlansWithContext(ctx aws.Context, input *GetUsagePlansInput, opts ...request.Option) (*GetUsagePlansOutput, error) {
  8069  	req, out := c.GetUsagePlansRequest(input)
  8070  	req.SetContext(ctx)
  8071  	req.ApplyOptions(opts...)
  8072  	return out, req.Send()
  8073  }
  8074  
  8075  // GetUsagePlansPages iterates over the pages of a GetUsagePlans operation,
  8076  // calling the "fn" function with the response data for each page. To stop
  8077  // iterating, return false from the fn function.
  8078  //
  8079  // See GetUsagePlans method for more information on how to use this operation.
  8080  //
  8081  // Note: This operation can generate multiple requests to a service.
  8082  //
  8083  //    // Example iterating over at most 3 pages of a GetUsagePlans operation.
  8084  //    pageNum := 0
  8085  //    err := client.GetUsagePlansPages(params,
  8086  //        func(page *apigateway.GetUsagePlansOutput, lastPage bool) bool {
  8087  //            pageNum++
  8088  //            fmt.Println(page)
  8089  //            return pageNum <= 3
  8090  //        })
  8091  //
  8092  func (c *APIGateway) GetUsagePlansPages(input *GetUsagePlansInput, fn func(*GetUsagePlansOutput, bool) bool) error {
  8093  	return c.GetUsagePlansPagesWithContext(aws.BackgroundContext(), input, fn)
  8094  }
  8095  
  8096  // GetUsagePlansPagesWithContext same as GetUsagePlansPages except
  8097  // it takes a Context and allows setting request options on the pages.
  8098  //
  8099  // The context must be non-nil and will be used for request cancellation. If
  8100  // the context is nil a panic will occur. In the future the SDK may create
  8101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8102  // for more information on using Contexts.
  8103  func (c *APIGateway) GetUsagePlansPagesWithContext(ctx aws.Context, input *GetUsagePlansInput, fn func(*GetUsagePlansOutput, bool) bool, opts ...request.Option) error {
  8104  	p := request.Pagination{
  8105  		NewRequest: func() (*request.Request, error) {
  8106  			var inCpy *GetUsagePlansInput
  8107  			if input != nil {
  8108  				tmp := *input
  8109  				inCpy = &tmp
  8110  			}
  8111  			req, _ := c.GetUsagePlansRequest(inCpy)
  8112  			req.SetContext(ctx)
  8113  			req.ApplyOptions(opts...)
  8114  			return req, nil
  8115  		},
  8116  	}
  8117  
  8118  	for p.Next() {
  8119  		if !fn(p.Page().(*GetUsagePlansOutput), !p.HasNextPage()) {
  8120  			break
  8121  		}
  8122  	}
  8123  
  8124  	return p.Err()
  8125  }
  8126  
  8127  const opGetVpcLink = "GetVpcLink"
  8128  
  8129  // GetVpcLinkRequest generates a "aws/request.Request" representing the
  8130  // client's request for the GetVpcLink operation. The "output" return
  8131  // value will be populated with the request's response once the request completes
  8132  // successfully.
  8133  //
  8134  // Use "Send" method on the returned Request to send the API call to the service.
  8135  // the "output" return value is not valid until after Send returns without error.
  8136  //
  8137  // See GetVpcLink for more information on using the GetVpcLink
  8138  // API call, and error handling.
  8139  //
  8140  // This method is useful when you want to inject custom logic or configuration
  8141  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8142  //
  8143  //
  8144  //    // Example sending a request using the GetVpcLinkRequest method.
  8145  //    req, resp := client.GetVpcLinkRequest(params)
  8146  //
  8147  //    err := req.Send()
  8148  //    if err == nil { // resp is now filled
  8149  //        fmt.Println(resp)
  8150  //    }
  8151  func (c *APIGateway) GetVpcLinkRequest(input *GetVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
  8152  	op := &request.Operation{
  8153  		Name:       opGetVpcLink,
  8154  		HTTPMethod: "GET",
  8155  		HTTPPath:   "/vpclinks/{vpclink_id}",
  8156  	}
  8157  
  8158  	if input == nil {
  8159  		input = &GetVpcLinkInput{}
  8160  	}
  8161  
  8162  	output = &UpdateVpcLinkOutput{}
  8163  	req = c.newRequest(op, input, output)
  8164  	return
  8165  }
  8166  
  8167  // GetVpcLink API operation for Amazon API Gateway.
  8168  //
  8169  // Gets a specified VPC link under the caller's account in a region.
  8170  //
  8171  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8172  // with awserr.Error's Code and Message methods to get detailed information about
  8173  // the error.
  8174  //
  8175  // See the AWS API reference guide for Amazon API Gateway's
  8176  // API operation GetVpcLink for usage and error information.
  8177  //
  8178  // Returned Error Types:
  8179  //   * BadRequestException
  8180  //   The submitted request is not valid, for example, the input is incomplete
  8181  //   or incorrect. See the accompanying error message for details.
  8182  //
  8183  //   * NotFoundException
  8184  //   The requested resource is not found. Make sure that the request URI is correct.
  8185  //
  8186  //   * UnauthorizedException
  8187  //   The request is denied because the caller has insufficient permissions.
  8188  //
  8189  //   * TooManyRequestsException
  8190  //   The request has reached its throttling limit. Retry after the specified time
  8191  //   period.
  8192  //
  8193  func (c *APIGateway) GetVpcLink(input *GetVpcLinkInput) (*UpdateVpcLinkOutput, error) {
  8194  	req, out := c.GetVpcLinkRequest(input)
  8195  	return out, req.Send()
  8196  }
  8197  
  8198  // GetVpcLinkWithContext is the same as GetVpcLink with the addition of
  8199  // the ability to pass a context and additional request options.
  8200  //
  8201  // See GetVpcLink for details on how to use this API operation.
  8202  //
  8203  // The context must be non-nil and will be used for request cancellation. If
  8204  // the context is nil a panic will occur. In the future the SDK may create
  8205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8206  // for more information on using Contexts.
  8207  func (c *APIGateway) GetVpcLinkWithContext(ctx aws.Context, input *GetVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
  8208  	req, out := c.GetVpcLinkRequest(input)
  8209  	req.SetContext(ctx)
  8210  	req.ApplyOptions(opts...)
  8211  	return out, req.Send()
  8212  }
  8213  
  8214  const opGetVpcLinks = "GetVpcLinks"
  8215  
  8216  // GetVpcLinksRequest generates a "aws/request.Request" representing the
  8217  // client's request for the GetVpcLinks operation. The "output" return
  8218  // value will be populated with the request's response once the request completes
  8219  // successfully.
  8220  //
  8221  // Use "Send" method on the returned Request to send the API call to the service.
  8222  // the "output" return value is not valid until after Send returns without error.
  8223  //
  8224  // See GetVpcLinks for more information on using the GetVpcLinks
  8225  // API call, and error handling.
  8226  //
  8227  // This method is useful when you want to inject custom logic or configuration
  8228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8229  //
  8230  //
  8231  //    // Example sending a request using the GetVpcLinksRequest method.
  8232  //    req, resp := client.GetVpcLinksRequest(params)
  8233  //
  8234  //    err := req.Send()
  8235  //    if err == nil { // resp is now filled
  8236  //        fmt.Println(resp)
  8237  //    }
  8238  func (c *APIGateway) GetVpcLinksRequest(input *GetVpcLinksInput) (req *request.Request, output *GetVpcLinksOutput) {
  8239  	op := &request.Operation{
  8240  		Name:       opGetVpcLinks,
  8241  		HTTPMethod: "GET",
  8242  		HTTPPath:   "/vpclinks",
  8243  		Paginator: &request.Paginator{
  8244  			InputTokens:     []string{"position"},
  8245  			OutputTokens:    []string{"position"},
  8246  			LimitToken:      "limit",
  8247  			TruncationToken: "",
  8248  		},
  8249  	}
  8250  
  8251  	if input == nil {
  8252  		input = &GetVpcLinksInput{}
  8253  	}
  8254  
  8255  	output = &GetVpcLinksOutput{}
  8256  	req = c.newRequest(op, input, output)
  8257  	return
  8258  }
  8259  
  8260  // GetVpcLinks API operation for Amazon API Gateway.
  8261  //
  8262  // Gets the VpcLinks collection under the caller's account in a selected region.
  8263  //
  8264  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8265  // with awserr.Error's Code and Message methods to get detailed information about
  8266  // the error.
  8267  //
  8268  // See the AWS API reference guide for Amazon API Gateway's
  8269  // API operation GetVpcLinks for usage and error information.
  8270  //
  8271  // Returned Error Types:
  8272  //   * BadRequestException
  8273  //   The submitted request is not valid, for example, the input is incomplete
  8274  //   or incorrect. See the accompanying error message for details.
  8275  //
  8276  //   * NotFoundException
  8277  //   The requested resource is not found. Make sure that the request URI is correct.
  8278  //
  8279  //   * UnauthorizedException
  8280  //   The request is denied because the caller has insufficient permissions.
  8281  //
  8282  //   * TooManyRequestsException
  8283  //   The request has reached its throttling limit. Retry after the specified time
  8284  //   period.
  8285  //
  8286  func (c *APIGateway) GetVpcLinks(input *GetVpcLinksInput) (*GetVpcLinksOutput, error) {
  8287  	req, out := c.GetVpcLinksRequest(input)
  8288  	return out, req.Send()
  8289  }
  8290  
  8291  // GetVpcLinksWithContext is the same as GetVpcLinks with the addition of
  8292  // the ability to pass a context and additional request options.
  8293  //
  8294  // See GetVpcLinks for details on how to use this API operation.
  8295  //
  8296  // The context must be non-nil and will be used for request cancellation. If
  8297  // the context is nil a panic will occur. In the future the SDK may create
  8298  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8299  // for more information on using Contexts.
  8300  func (c *APIGateway) GetVpcLinksWithContext(ctx aws.Context, input *GetVpcLinksInput, opts ...request.Option) (*GetVpcLinksOutput, error) {
  8301  	req, out := c.GetVpcLinksRequest(input)
  8302  	req.SetContext(ctx)
  8303  	req.ApplyOptions(opts...)
  8304  	return out, req.Send()
  8305  }
  8306  
  8307  // GetVpcLinksPages iterates over the pages of a GetVpcLinks operation,
  8308  // calling the "fn" function with the response data for each page. To stop
  8309  // iterating, return false from the fn function.
  8310  //
  8311  // See GetVpcLinks method for more information on how to use this operation.
  8312  //
  8313  // Note: This operation can generate multiple requests to a service.
  8314  //
  8315  //    // Example iterating over at most 3 pages of a GetVpcLinks operation.
  8316  //    pageNum := 0
  8317  //    err := client.GetVpcLinksPages(params,
  8318  //        func(page *apigateway.GetVpcLinksOutput, lastPage bool) bool {
  8319  //            pageNum++
  8320  //            fmt.Println(page)
  8321  //            return pageNum <= 3
  8322  //        })
  8323  //
  8324  func (c *APIGateway) GetVpcLinksPages(input *GetVpcLinksInput, fn func(*GetVpcLinksOutput, bool) bool) error {
  8325  	return c.GetVpcLinksPagesWithContext(aws.BackgroundContext(), input, fn)
  8326  }
  8327  
  8328  // GetVpcLinksPagesWithContext same as GetVpcLinksPages except
  8329  // it takes a Context and allows setting request options on the pages.
  8330  //
  8331  // The context must be non-nil and will be used for request cancellation. If
  8332  // the context is nil a panic will occur. In the future the SDK may create
  8333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8334  // for more information on using Contexts.
  8335  func (c *APIGateway) GetVpcLinksPagesWithContext(ctx aws.Context, input *GetVpcLinksInput, fn func(*GetVpcLinksOutput, bool) bool, opts ...request.Option) error {
  8336  	p := request.Pagination{
  8337  		NewRequest: func() (*request.Request, error) {
  8338  			var inCpy *GetVpcLinksInput
  8339  			if input != nil {
  8340  				tmp := *input
  8341  				inCpy = &tmp
  8342  			}
  8343  			req, _ := c.GetVpcLinksRequest(inCpy)
  8344  			req.SetContext(ctx)
  8345  			req.ApplyOptions(opts...)
  8346  			return req, nil
  8347  		},
  8348  	}
  8349  
  8350  	for p.Next() {
  8351  		if !fn(p.Page().(*GetVpcLinksOutput), !p.HasNextPage()) {
  8352  			break
  8353  		}
  8354  	}
  8355  
  8356  	return p.Err()
  8357  }
  8358  
  8359  const opImportApiKeys = "ImportApiKeys"
  8360  
  8361  // ImportApiKeysRequest generates a "aws/request.Request" representing the
  8362  // client's request for the ImportApiKeys operation. The "output" return
  8363  // value will be populated with the request's response once the request completes
  8364  // successfully.
  8365  //
  8366  // Use "Send" method on the returned Request to send the API call to the service.
  8367  // the "output" return value is not valid until after Send returns without error.
  8368  //
  8369  // See ImportApiKeys for more information on using the ImportApiKeys
  8370  // API call, and error handling.
  8371  //
  8372  // This method is useful when you want to inject custom logic or configuration
  8373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8374  //
  8375  //
  8376  //    // Example sending a request using the ImportApiKeysRequest method.
  8377  //    req, resp := client.ImportApiKeysRequest(params)
  8378  //
  8379  //    err := req.Send()
  8380  //    if err == nil { // resp is now filled
  8381  //        fmt.Println(resp)
  8382  //    }
  8383  func (c *APIGateway) ImportApiKeysRequest(input *ImportApiKeysInput) (req *request.Request, output *ImportApiKeysOutput) {
  8384  	op := &request.Operation{
  8385  		Name:       opImportApiKeys,
  8386  		HTTPMethod: "POST",
  8387  		HTTPPath:   "/apikeys?mode=import",
  8388  	}
  8389  
  8390  	if input == nil {
  8391  		input = &ImportApiKeysInput{}
  8392  	}
  8393  
  8394  	output = &ImportApiKeysOutput{}
  8395  	req = c.newRequest(op, input, output)
  8396  	return
  8397  }
  8398  
  8399  // ImportApiKeys API operation for Amazon API Gateway.
  8400  //
  8401  // Import API keys from an external source, such as a CSV-formatted file.
  8402  //
  8403  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8404  // with awserr.Error's Code and Message methods to get detailed information about
  8405  // the error.
  8406  //
  8407  // See the AWS API reference guide for Amazon API Gateway's
  8408  // API operation ImportApiKeys for usage and error information.
  8409  //
  8410  // Returned Error Types:
  8411  //   * BadRequestException
  8412  //   The submitted request is not valid, for example, the input is incomplete
  8413  //   or incorrect. See the accompanying error message for details.
  8414  //
  8415  //   * ConflictException
  8416  //   The request configuration has conflicts. For details, see the accompanying
  8417  //   error message.
  8418  //
  8419  //   * LimitExceededException
  8420  //   The request exceeded the rate limit. Retry after the specified time period.
  8421  //
  8422  //   * NotFoundException
  8423  //   The requested resource is not found. Make sure that the request URI is correct.
  8424  //
  8425  //   * UnauthorizedException
  8426  //   The request is denied because the caller has insufficient permissions.
  8427  //
  8428  //   * TooManyRequestsException
  8429  //   The request has reached its throttling limit. Retry after the specified time
  8430  //   period.
  8431  //
  8432  func (c *APIGateway) ImportApiKeys(input *ImportApiKeysInput) (*ImportApiKeysOutput, error) {
  8433  	req, out := c.ImportApiKeysRequest(input)
  8434  	return out, req.Send()
  8435  }
  8436  
  8437  // ImportApiKeysWithContext is the same as ImportApiKeys with the addition of
  8438  // the ability to pass a context and additional request options.
  8439  //
  8440  // See ImportApiKeys for details on how to use this API operation.
  8441  //
  8442  // The context must be non-nil and will be used for request cancellation. If
  8443  // the context is nil a panic will occur. In the future the SDK may create
  8444  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8445  // for more information on using Contexts.
  8446  func (c *APIGateway) ImportApiKeysWithContext(ctx aws.Context, input *ImportApiKeysInput, opts ...request.Option) (*ImportApiKeysOutput, error) {
  8447  	req, out := c.ImportApiKeysRequest(input)
  8448  	req.SetContext(ctx)
  8449  	req.ApplyOptions(opts...)
  8450  	return out, req.Send()
  8451  }
  8452  
  8453  const opImportDocumentationParts = "ImportDocumentationParts"
  8454  
  8455  // ImportDocumentationPartsRequest generates a "aws/request.Request" representing the
  8456  // client's request for the ImportDocumentationParts operation. The "output" return
  8457  // value will be populated with the request's response once the request completes
  8458  // successfully.
  8459  //
  8460  // Use "Send" method on the returned Request to send the API call to the service.
  8461  // the "output" return value is not valid until after Send returns without error.
  8462  //
  8463  // See ImportDocumentationParts for more information on using the ImportDocumentationParts
  8464  // API call, and error handling.
  8465  //
  8466  // This method is useful when you want to inject custom logic or configuration
  8467  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8468  //
  8469  //
  8470  //    // Example sending a request using the ImportDocumentationPartsRequest method.
  8471  //    req, resp := client.ImportDocumentationPartsRequest(params)
  8472  //
  8473  //    err := req.Send()
  8474  //    if err == nil { // resp is now filled
  8475  //        fmt.Println(resp)
  8476  //    }
  8477  func (c *APIGateway) ImportDocumentationPartsRequest(input *ImportDocumentationPartsInput) (req *request.Request, output *ImportDocumentationPartsOutput) {
  8478  	op := &request.Operation{
  8479  		Name:       opImportDocumentationParts,
  8480  		HTTPMethod: "PUT",
  8481  		HTTPPath:   "/restapis/{restapi_id}/documentation/parts",
  8482  	}
  8483  
  8484  	if input == nil {
  8485  		input = &ImportDocumentationPartsInput{}
  8486  	}
  8487  
  8488  	output = &ImportDocumentationPartsOutput{}
  8489  	req = c.newRequest(op, input, output)
  8490  	return
  8491  }
  8492  
  8493  // ImportDocumentationParts API operation for Amazon API Gateway.
  8494  //
  8495  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8496  // with awserr.Error's Code and Message methods to get detailed information about
  8497  // the error.
  8498  //
  8499  // See the AWS API reference guide for Amazon API Gateway's
  8500  // API operation ImportDocumentationParts for usage and error information.
  8501  //
  8502  // Returned Error Types:
  8503  //   * BadRequestException
  8504  //   The submitted request is not valid, for example, the input is incomplete
  8505  //   or incorrect. See the accompanying error message for details.
  8506  //
  8507  //   * ConflictException
  8508  //   The request configuration has conflicts. For details, see the accompanying
  8509  //   error message.
  8510  //
  8511  //   * LimitExceededException
  8512  //   The request exceeded the rate limit. Retry after the specified time period.
  8513  //
  8514  //   * NotFoundException
  8515  //   The requested resource is not found. Make sure that the request URI is correct.
  8516  //
  8517  //   * UnauthorizedException
  8518  //   The request is denied because the caller has insufficient permissions.
  8519  //
  8520  //   * TooManyRequestsException
  8521  //   The request has reached its throttling limit. Retry after the specified time
  8522  //   period.
  8523  //
  8524  func (c *APIGateway) ImportDocumentationParts(input *ImportDocumentationPartsInput) (*ImportDocumentationPartsOutput, error) {
  8525  	req, out := c.ImportDocumentationPartsRequest(input)
  8526  	return out, req.Send()
  8527  }
  8528  
  8529  // ImportDocumentationPartsWithContext is the same as ImportDocumentationParts with the addition of
  8530  // the ability to pass a context and additional request options.
  8531  //
  8532  // See ImportDocumentationParts for details on how to use this API operation.
  8533  //
  8534  // The context must be non-nil and will be used for request cancellation. If
  8535  // the context is nil a panic will occur. In the future the SDK may create
  8536  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8537  // for more information on using Contexts.
  8538  func (c *APIGateway) ImportDocumentationPartsWithContext(ctx aws.Context, input *ImportDocumentationPartsInput, opts ...request.Option) (*ImportDocumentationPartsOutput, error) {
  8539  	req, out := c.ImportDocumentationPartsRequest(input)
  8540  	req.SetContext(ctx)
  8541  	req.ApplyOptions(opts...)
  8542  	return out, req.Send()
  8543  }
  8544  
  8545  const opImportRestApi = "ImportRestApi"
  8546  
  8547  // ImportRestApiRequest generates a "aws/request.Request" representing the
  8548  // client's request for the ImportRestApi operation. The "output" return
  8549  // value will be populated with the request's response once the request completes
  8550  // successfully.
  8551  //
  8552  // Use "Send" method on the returned Request to send the API call to the service.
  8553  // the "output" return value is not valid until after Send returns without error.
  8554  //
  8555  // See ImportRestApi for more information on using the ImportRestApi
  8556  // API call, and error handling.
  8557  //
  8558  // This method is useful when you want to inject custom logic or configuration
  8559  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8560  //
  8561  //
  8562  //    // Example sending a request using the ImportRestApiRequest method.
  8563  //    req, resp := client.ImportRestApiRequest(params)
  8564  //
  8565  //    err := req.Send()
  8566  //    if err == nil { // resp is now filled
  8567  //        fmt.Println(resp)
  8568  //    }
  8569  func (c *APIGateway) ImportRestApiRequest(input *ImportRestApiInput) (req *request.Request, output *RestApi) {
  8570  	op := &request.Operation{
  8571  		Name:       opImportRestApi,
  8572  		HTTPMethod: "POST",
  8573  		HTTPPath:   "/restapis?mode=import",
  8574  	}
  8575  
  8576  	if input == nil {
  8577  		input = &ImportRestApiInput{}
  8578  	}
  8579  
  8580  	output = &RestApi{}
  8581  	req = c.newRequest(op, input, output)
  8582  	return
  8583  }
  8584  
  8585  // ImportRestApi API operation for Amazon API Gateway.
  8586  //
  8587  // A feature of the API Gateway control service for creating a new API from
  8588  // an external API definition file.
  8589  //
  8590  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8591  // with awserr.Error's Code and Message methods to get detailed information about
  8592  // the error.
  8593  //
  8594  // See the AWS API reference guide for Amazon API Gateway's
  8595  // API operation ImportRestApi for usage and error information.
  8596  //
  8597  // Returned Error Types:
  8598  //   * BadRequestException
  8599  //   The submitted request is not valid, for example, the input is incomplete
  8600  //   or incorrect. See the accompanying error message for details.
  8601  //
  8602  //   * ConflictException
  8603  //   The request configuration has conflicts. For details, see the accompanying
  8604  //   error message.
  8605  //
  8606  //   * LimitExceededException
  8607  //   The request exceeded the rate limit. Retry after the specified time period.
  8608  //
  8609  //   * NotFoundException
  8610  //   The requested resource is not found. Make sure that the request URI is correct.
  8611  //
  8612  //   * UnauthorizedException
  8613  //   The request is denied because the caller has insufficient permissions.
  8614  //
  8615  //   * TooManyRequestsException
  8616  //   The request has reached its throttling limit. Retry after the specified time
  8617  //   period.
  8618  //
  8619  func (c *APIGateway) ImportRestApi(input *ImportRestApiInput) (*RestApi, error) {
  8620  	req, out := c.ImportRestApiRequest(input)
  8621  	return out, req.Send()
  8622  }
  8623  
  8624  // ImportRestApiWithContext is the same as ImportRestApi with the addition of
  8625  // the ability to pass a context and additional request options.
  8626  //
  8627  // See ImportRestApi for details on how to use this API operation.
  8628  //
  8629  // The context must be non-nil and will be used for request cancellation. If
  8630  // the context is nil a panic will occur. In the future the SDK may create
  8631  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8632  // for more information on using Contexts.
  8633  func (c *APIGateway) ImportRestApiWithContext(ctx aws.Context, input *ImportRestApiInput, opts ...request.Option) (*RestApi, error) {
  8634  	req, out := c.ImportRestApiRequest(input)
  8635  	req.SetContext(ctx)
  8636  	req.ApplyOptions(opts...)
  8637  	return out, req.Send()
  8638  }
  8639  
  8640  const opPutGatewayResponse = "PutGatewayResponse"
  8641  
  8642  // PutGatewayResponseRequest generates a "aws/request.Request" representing the
  8643  // client's request for the PutGatewayResponse operation. The "output" return
  8644  // value will be populated with the request's response once the request completes
  8645  // successfully.
  8646  //
  8647  // Use "Send" method on the returned Request to send the API call to the service.
  8648  // the "output" return value is not valid until after Send returns without error.
  8649  //
  8650  // See PutGatewayResponse for more information on using the PutGatewayResponse
  8651  // API call, and error handling.
  8652  //
  8653  // This method is useful when you want to inject custom logic or configuration
  8654  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8655  //
  8656  //
  8657  //    // Example sending a request using the PutGatewayResponseRequest method.
  8658  //    req, resp := client.PutGatewayResponseRequest(params)
  8659  //
  8660  //    err := req.Send()
  8661  //    if err == nil { // resp is now filled
  8662  //        fmt.Println(resp)
  8663  //    }
  8664  func (c *APIGateway) PutGatewayResponseRequest(input *PutGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
  8665  	op := &request.Operation{
  8666  		Name:       opPutGatewayResponse,
  8667  		HTTPMethod: "PUT",
  8668  		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
  8669  	}
  8670  
  8671  	if input == nil {
  8672  		input = &PutGatewayResponseInput{}
  8673  	}
  8674  
  8675  	output = &UpdateGatewayResponseOutput{}
  8676  	req = c.newRequest(op, input, output)
  8677  	return
  8678  }
  8679  
  8680  // PutGatewayResponse API operation for Amazon API Gateway.
  8681  //
  8682  // Creates a customization of a GatewayResponse of a specified response type
  8683  // and status code on the given RestApi.
  8684  //
  8685  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8686  // with awserr.Error's Code and Message methods to get detailed information about
  8687  // the error.
  8688  //
  8689  // See the AWS API reference guide for Amazon API Gateway's
  8690  // API operation PutGatewayResponse for usage and error information.
  8691  //
  8692  // Returned Error Types:
  8693  //   * BadRequestException
  8694  //   The submitted request is not valid, for example, the input is incomplete
  8695  //   or incorrect. See the accompanying error message for details.
  8696  //
  8697  //   * ConflictException
  8698  //   The request configuration has conflicts. For details, see the accompanying
  8699  //   error message.
  8700  //
  8701  //   * LimitExceededException
  8702  //   The request exceeded the rate limit. Retry after the specified time period.
  8703  //
  8704  //   * NotFoundException
  8705  //   The requested resource is not found. Make sure that the request URI is correct.
  8706  //
  8707  //   * UnauthorizedException
  8708  //   The request is denied because the caller has insufficient permissions.
  8709  //
  8710  //   * TooManyRequestsException
  8711  //   The request has reached its throttling limit. Retry after the specified time
  8712  //   period.
  8713  //
  8714  func (c *APIGateway) PutGatewayResponse(input *PutGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
  8715  	req, out := c.PutGatewayResponseRequest(input)
  8716  	return out, req.Send()
  8717  }
  8718  
  8719  // PutGatewayResponseWithContext is the same as PutGatewayResponse with the addition of
  8720  // the ability to pass a context and additional request options.
  8721  //
  8722  // See PutGatewayResponse for details on how to use this API operation.
  8723  //
  8724  // The context must be non-nil and will be used for request cancellation. If
  8725  // the context is nil a panic will occur. In the future the SDK may create
  8726  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8727  // for more information on using Contexts.
  8728  func (c *APIGateway) PutGatewayResponseWithContext(ctx aws.Context, input *PutGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
  8729  	req, out := c.PutGatewayResponseRequest(input)
  8730  	req.SetContext(ctx)
  8731  	req.ApplyOptions(opts...)
  8732  	return out, req.Send()
  8733  }
  8734  
  8735  const opPutIntegration = "PutIntegration"
  8736  
  8737  // PutIntegrationRequest generates a "aws/request.Request" representing the
  8738  // client's request for the PutIntegration operation. The "output" return
  8739  // value will be populated with the request's response once the request completes
  8740  // successfully.
  8741  //
  8742  // Use "Send" method on the returned Request to send the API call to the service.
  8743  // the "output" return value is not valid until after Send returns without error.
  8744  //
  8745  // See PutIntegration for more information on using the PutIntegration
  8746  // API call, and error handling.
  8747  //
  8748  // This method is useful when you want to inject custom logic or configuration
  8749  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8750  //
  8751  //
  8752  //    // Example sending a request using the PutIntegrationRequest method.
  8753  //    req, resp := client.PutIntegrationRequest(params)
  8754  //
  8755  //    err := req.Send()
  8756  //    if err == nil { // resp is now filled
  8757  //        fmt.Println(resp)
  8758  //    }
  8759  func (c *APIGateway) PutIntegrationRequest(input *PutIntegrationInput) (req *request.Request, output *Integration) {
  8760  	op := &request.Operation{
  8761  		Name:       opPutIntegration,
  8762  		HTTPMethod: "PUT",
  8763  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
  8764  	}
  8765  
  8766  	if input == nil {
  8767  		input = &PutIntegrationInput{}
  8768  	}
  8769  
  8770  	output = &Integration{}
  8771  	req = c.newRequest(op, input, output)
  8772  	return
  8773  }
  8774  
  8775  // PutIntegration API operation for Amazon API Gateway.
  8776  //
  8777  // Sets up a method's integration.
  8778  //
  8779  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8780  // with awserr.Error's Code and Message methods to get detailed information about
  8781  // the error.
  8782  //
  8783  // See the AWS API reference guide for Amazon API Gateway's
  8784  // API operation PutIntegration for usage and error information.
  8785  //
  8786  // Returned Error Types:
  8787  //   * BadRequestException
  8788  //   The submitted request is not valid, for example, the input is incomplete
  8789  //   or incorrect. See the accompanying error message for details.
  8790  //
  8791  //   * ConflictException
  8792  //   The request configuration has conflicts. For details, see the accompanying
  8793  //   error message.
  8794  //
  8795  //   * LimitExceededException
  8796  //   The request exceeded the rate limit. Retry after the specified time period.
  8797  //
  8798  //   * NotFoundException
  8799  //   The requested resource is not found. Make sure that the request URI is correct.
  8800  //
  8801  //   * UnauthorizedException
  8802  //   The request is denied because the caller has insufficient permissions.
  8803  //
  8804  //   * TooManyRequestsException
  8805  //   The request has reached its throttling limit. Retry after the specified time
  8806  //   period.
  8807  //
  8808  func (c *APIGateway) PutIntegration(input *PutIntegrationInput) (*Integration, error) {
  8809  	req, out := c.PutIntegrationRequest(input)
  8810  	return out, req.Send()
  8811  }
  8812  
  8813  // PutIntegrationWithContext is the same as PutIntegration with the addition of
  8814  // the ability to pass a context and additional request options.
  8815  //
  8816  // See PutIntegration for details on how to use this API operation.
  8817  //
  8818  // The context must be non-nil and will be used for request cancellation. If
  8819  // the context is nil a panic will occur. In the future the SDK may create
  8820  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8821  // for more information on using Contexts.
  8822  func (c *APIGateway) PutIntegrationWithContext(ctx aws.Context, input *PutIntegrationInput, opts ...request.Option) (*Integration, error) {
  8823  	req, out := c.PutIntegrationRequest(input)
  8824  	req.SetContext(ctx)
  8825  	req.ApplyOptions(opts...)
  8826  	return out, req.Send()
  8827  }
  8828  
  8829  const opPutIntegrationResponse = "PutIntegrationResponse"
  8830  
  8831  // PutIntegrationResponseRequest generates a "aws/request.Request" representing the
  8832  // client's request for the PutIntegrationResponse operation. The "output" return
  8833  // value will be populated with the request's response once the request completes
  8834  // successfully.
  8835  //
  8836  // Use "Send" method on the returned Request to send the API call to the service.
  8837  // the "output" return value is not valid until after Send returns without error.
  8838  //
  8839  // See PutIntegrationResponse for more information on using the PutIntegrationResponse
  8840  // API call, and error handling.
  8841  //
  8842  // This method is useful when you want to inject custom logic or configuration
  8843  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8844  //
  8845  //
  8846  //    // Example sending a request using the PutIntegrationResponseRequest method.
  8847  //    req, resp := client.PutIntegrationResponseRequest(params)
  8848  //
  8849  //    err := req.Send()
  8850  //    if err == nil { // resp is now filled
  8851  //        fmt.Println(resp)
  8852  //    }
  8853  func (c *APIGateway) PutIntegrationResponseRequest(input *PutIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
  8854  	op := &request.Operation{
  8855  		Name:       opPutIntegrationResponse,
  8856  		HTTPMethod: "PUT",
  8857  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
  8858  	}
  8859  
  8860  	if input == nil {
  8861  		input = &PutIntegrationResponseInput{}
  8862  	}
  8863  
  8864  	output = &IntegrationResponse{}
  8865  	req = c.newRequest(op, input, output)
  8866  	return
  8867  }
  8868  
  8869  // PutIntegrationResponse API operation for Amazon API Gateway.
  8870  //
  8871  // Represents a put integration.
  8872  //
  8873  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8874  // with awserr.Error's Code and Message methods to get detailed information about
  8875  // the error.
  8876  //
  8877  // See the AWS API reference guide for Amazon API Gateway's
  8878  // API operation PutIntegrationResponse for usage and error information.
  8879  //
  8880  // Returned Error Types:
  8881  //   * BadRequestException
  8882  //   The submitted request is not valid, for example, the input is incomplete
  8883  //   or incorrect. See the accompanying error message for details.
  8884  //
  8885  //   * ConflictException
  8886  //   The request configuration has conflicts. For details, see the accompanying
  8887  //   error message.
  8888  //
  8889  //   * LimitExceededException
  8890  //   The request exceeded the rate limit. Retry after the specified time period.
  8891  //
  8892  //   * NotFoundException
  8893  //   The requested resource is not found. Make sure that the request URI is correct.
  8894  //
  8895  //   * UnauthorizedException
  8896  //   The request is denied because the caller has insufficient permissions.
  8897  //
  8898  //   * TooManyRequestsException
  8899  //   The request has reached its throttling limit. Retry after the specified time
  8900  //   period.
  8901  //
  8902  func (c *APIGateway) PutIntegrationResponse(input *PutIntegrationResponseInput) (*IntegrationResponse, error) {
  8903  	req, out := c.PutIntegrationResponseRequest(input)
  8904  	return out, req.Send()
  8905  }
  8906  
  8907  // PutIntegrationResponseWithContext is the same as PutIntegrationResponse with the addition of
  8908  // the ability to pass a context and additional request options.
  8909  //
  8910  // See PutIntegrationResponse for details on how to use this API operation.
  8911  //
  8912  // The context must be non-nil and will be used for request cancellation. If
  8913  // the context is nil a panic will occur. In the future the SDK may create
  8914  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8915  // for more information on using Contexts.
  8916  func (c *APIGateway) PutIntegrationResponseWithContext(ctx aws.Context, input *PutIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
  8917  	req, out := c.PutIntegrationResponseRequest(input)
  8918  	req.SetContext(ctx)
  8919  	req.ApplyOptions(opts...)
  8920  	return out, req.Send()
  8921  }
  8922  
  8923  const opPutMethod = "PutMethod"
  8924  
  8925  // PutMethodRequest generates a "aws/request.Request" representing the
  8926  // client's request for the PutMethod operation. The "output" return
  8927  // value will be populated with the request's response once the request completes
  8928  // successfully.
  8929  //
  8930  // Use "Send" method on the returned Request to send the API call to the service.
  8931  // the "output" return value is not valid until after Send returns without error.
  8932  //
  8933  // See PutMethod for more information on using the PutMethod
  8934  // API call, and error handling.
  8935  //
  8936  // This method is useful when you want to inject custom logic or configuration
  8937  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8938  //
  8939  //
  8940  //    // Example sending a request using the PutMethodRequest method.
  8941  //    req, resp := client.PutMethodRequest(params)
  8942  //
  8943  //    err := req.Send()
  8944  //    if err == nil { // resp is now filled
  8945  //        fmt.Println(resp)
  8946  //    }
  8947  func (c *APIGateway) PutMethodRequest(input *PutMethodInput) (req *request.Request, output *Method) {
  8948  	op := &request.Operation{
  8949  		Name:       opPutMethod,
  8950  		HTTPMethod: "PUT",
  8951  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
  8952  	}
  8953  
  8954  	if input == nil {
  8955  		input = &PutMethodInput{}
  8956  	}
  8957  
  8958  	output = &Method{}
  8959  	req = c.newRequest(op, input, output)
  8960  	return
  8961  }
  8962  
  8963  // PutMethod API operation for Amazon API Gateway.
  8964  //
  8965  // Add a method to an existing Resource resource.
  8966  //
  8967  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8968  // with awserr.Error's Code and Message methods to get detailed information about
  8969  // the error.
  8970  //
  8971  // See the AWS API reference guide for Amazon API Gateway's
  8972  // API operation PutMethod for usage and error information.
  8973  //
  8974  // Returned Error Types:
  8975  //   * BadRequestException
  8976  //   The submitted request is not valid, for example, the input is incomplete
  8977  //   or incorrect. See the accompanying error message for details.
  8978  //
  8979  //   * UnauthorizedException
  8980  //   The request is denied because the caller has insufficient permissions.
  8981  //
  8982  //   * NotFoundException
  8983  //   The requested resource is not found. Make sure that the request URI is correct.
  8984  //
  8985  //   * ConflictException
  8986  //   The request configuration has conflicts. For details, see the accompanying
  8987  //   error message.
  8988  //
  8989  //   * LimitExceededException
  8990  //   The request exceeded the rate limit. Retry after the specified time period.
  8991  //
  8992  //   * TooManyRequestsException
  8993  //   The request has reached its throttling limit. Retry after the specified time
  8994  //   period.
  8995  //
  8996  func (c *APIGateway) PutMethod(input *PutMethodInput) (*Method, error) {
  8997  	req, out := c.PutMethodRequest(input)
  8998  	return out, req.Send()
  8999  }
  9000  
  9001  // PutMethodWithContext is the same as PutMethod with the addition of
  9002  // the ability to pass a context and additional request options.
  9003  //
  9004  // See PutMethod for details on how to use this API operation.
  9005  //
  9006  // The context must be non-nil and will be used for request cancellation. If
  9007  // the context is nil a panic will occur. In the future the SDK may create
  9008  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9009  // for more information on using Contexts.
  9010  func (c *APIGateway) PutMethodWithContext(ctx aws.Context, input *PutMethodInput, opts ...request.Option) (*Method, error) {
  9011  	req, out := c.PutMethodRequest(input)
  9012  	req.SetContext(ctx)
  9013  	req.ApplyOptions(opts...)
  9014  	return out, req.Send()
  9015  }
  9016  
  9017  const opPutMethodResponse = "PutMethodResponse"
  9018  
  9019  // PutMethodResponseRequest generates a "aws/request.Request" representing the
  9020  // client's request for the PutMethodResponse operation. The "output" return
  9021  // value will be populated with the request's response once the request completes
  9022  // successfully.
  9023  //
  9024  // Use "Send" method on the returned Request to send the API call to the service.
  9025  // the "output" return value is not valid until after Send returns without error.
  9026  //
  9027  // See PutMethodResponse for more information on using the PutMethodResponse
  9028  // API call, and error handling.
  9029  //
  9030  // This method is useful when you want to inject custom logic or configuration
  9031  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9032  //
  9033  //
  9034  //    // Example sending a request using the PutMethodResponseRequest method.
  9035  //    req, resp := client.PutMethodResponseRequest(params)
  9036  //
  9037  //    err := req.Send()
  9038  //    if err == nil { // resp is now filled
  9039  //        fmt.Println(resp)
  9040  //    }
  9041  func (c *APIGateway) PutMethodResponseRequest(input *PutMethodResponseInput) (req *request.Request, output *MethodResponse) {
  9042  	op := &request.Operation{
  9043  		Name:       opPutMethodResponse,
  9044  		HTTPMethod: "PUT",
  9045  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
  9046  	}
  9047  
  9048  	if input == nil {
  9049  		input = &PutMethodResponseInput{}
  9050  	}
  9051  
  9052  	output = &MethodResponse{}
  9053  	req = c.newRequest(op, input, output)
  9054  	return
  9055  }
  9056  
  9057  // PutMethodResponse API operation for Amazon API Gateway.
  9058  //
  9059  // Adds a MethodResponse to an existing Method resource.
  9060  //
  9061  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9062  // with awserr.Error's Code and Message methods to get detailed information about
  9063  // the error.
  9064  //
  9065  // See the AWS API reference guide for Amazon API Gateway's
  9066  // API operation PutMethodResponse for usage and error information.
  9067  //
  9068  // Returned Error Types:
  9069  //   * UnauthorizedException
  9070  //   The request is denied because the caller has insufficient permissions.
  9071  //
  9072  //   * NotFoundException
  9073  //   The requested resource is not found. Make sure that the request URI is correct.
  9074  //
  9075  //   * ConflictException
  9076  //   The request configuration has conflicts. For details, see the accompanying
  9077  //   error message.
  9078  //
  9079  //   * LimitExceededException
  9080  //   The request exceeded the rate limit. Retry after the specified time period.
  9081  //
  9082  //   * BadRequestException
  9083  //   The submitted request is not valid, for example, the input is incomplete
  9084  //   or incorrect. See the accompanying error message for details.
  9085  //
  9086  //   * TooManyRequestsException
  9087  //   The request has reached its throttling limit. Retry after the specified time
  9088  //   period.
  9089  //
  9090  func (c *APIGateway) PutMethodResponse(input *PutMethodResponseInput) (*MethodResponse, error) {
  9091  	req, out := c.PutMethodResponseRequest(input)
  9092  	return out, req.Send()
  9093  }
  9094  
  9095  // PutMethodResponseWithContext is the same as PutMethodResponse with the addition of
  9096  // the ability to pass a context and additional request options.
  9097  //
  9098  // See PutMethodResponse for details on how to use this API operation.
  9099  //
  9100  // The context must be non-nil and will be used for request cancellation. If
  9101  // the context is nil a panic will occur. In the future the SDK may create
  9102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9103  // for more information on using Contexts.
  9104  func (c *APIGateway) PutMethodResponseWithContext(ctx aws.Context, input *PutMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
  9105  	req, out := c.PutMethodResponseRequest(input)
  9106  	req.SetContext(ctx)
  9107  	req.ApplyOptions(opts...)
  9108  	return out, req.Send()
  9109  }
  9110  
  9111  const opPutRestApi = "PutRestApi"
  9112  
  9113  // PutRestApiRequest generates a "aws/request.Request" representing the
  9114  // client's request for the PutRestApi operation. The "output" return
  9115  // value will be populated with the request's response once the request completes
  9116  // successfully.
  9117  //
  9118  // Use "Send" method on the returned Request to send the API call to the service.
  9119  // the "output" return value is not valid until after Send returns without error.
  9120  //
  9121  // See PutRestApi for more information on using the PutRestApi
  9122  // API call, and error handling.
  9123  //
  9124  // This method is useful when you want to inject custom logic or configuration
  9125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9126  //
  9127  //
  9128  //    // Example sending a request using the PutRestApiRequest method.
  9129  //    req, resp := client.PutRestApiRequest(params)
  9130  //
  9131  //    err := req.Send()
  9132  //    if err == nil { // resp is now filled
  9133  //        fmt.Println(resp)
  9134  //    }
  9135  func (c *APIGateway) PutRestApiRequest(input *PutRestApiInput) (req *request.Request, output *RestApi) {
  9136  	op := &request.Operation{
  9137  		Name:       opPutRestApi,
  9138  		HTTPMethod: "PUT",
  9139  		HTTPPath:   "/restapis/{restapi_id}",
  9140  	}
  9141  
  9142  	if input == nil {
  9143  		input = &PutRestApiInput{}
  9144  	}
  9145  
  9146  	output = &RestApi{}
  9147  	req = c.newRequest(op, input, output)
  9148  	return
  9149  }
  9150  
  9151  // PutRestApi API operation for Amazon API Gateway.
  9152  //
  9153  // A feature of the API Gateway control service for updating an existing API
  9154  // with an input of external API definitions. The update can take the form of
  9155  // merging the supplied definition into the existing API or overwriting the
  9156  // existing API.
  9157  //
  9158  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9159  // with awserr.Error's Code and Message methods to get detailed information about
  9160  // the error.
  9161  //
  9162  // See the AWS API reference guide for Amazon API Gateway's
  9163  // API operation PutRestApi for usage and error information.
  9164  //
  9165  // Returned Error Types:
  9166  //   * BadRequestException
  9167  //   The submitted request is not valid, for example, the input is incomplete
  9168  //   or incorrect. See the accompanying error message for details.
  9169  //
  9170  //   * ConflictException
  9171  //   The request configuration has conflicts. For details, see the accompanying
  9172  //   error message.
  9173  //
  9174  //   * LimitExceededException
  9175  //   The request exceeded the rate limit. Retry after the specified time period.
  9176  //
  9177  //   * NotFoundException
  9178  //   The requested resource is not found. Make sure that the request URI is correct.
  9179  //
  9180  //   * UnauthorizedException
  9181  //   The request is denied because the caller has insufficient permissions.
  9182  //
  9183  //   * TooManyRequestsException
  9184  //   The request has reached its throttling limit. Retry after the specified time
  9185  //   period.
  9186  //
  9187  func (c *APIGateway) PutRestApi(input *PutRestApiInput) (*RestApi, error) {
  9188  	req, out := c.PutRestApiRequest(input)
  9189  	return out, req.Send()
  9190  }
  9191  
  9192  // PutRestApiWithContext is the same as PutRestApi with the addition of
  9193  // the ability to pass a context and additional request options.
  9194  //
  9195  // See PutRestApi for details on how to use this API operation.
  9196  //
  9197  // The context must be non-nil and will be used for request cancellation. If
  9198  // the context is nil a panic will occur. In the future the SDK may create
  9199  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9200  // for more information on using Contexts.
  9201  func (c *APIGateway) PutRestApiWithContext(ctx aws.Context, input *PutRestApiInput, opts ...request.Option) (*RestApi, error) {
  9202  	req, out := c.PutRestApiRequest(input)
  9203  	req.SetContext(ctx)
  9204  	req.ApplyOptions(opts...)
  9205  	return out, req.Send()
  9206  }
  9207  
  9208  const opTagResource = "TagResource"
  9209  
  9210  // TagResourceRequest generates a "aws/request.Request" representing the
  9211  // client's request for the TagResource operation. The "output" return
  9212  // value will be populated with the request's response once the request completes
  9213  // successfully.
  9214  //
  9215  // Use "Send" method on the returned Request to send the API call to the service.
  9216  // the "output" return value is not valid until after Send returns without error.
  9217  //
  9218  // See TagResource for more information on using the TagResource
  9219  // API call, and error handling.
  9220  //
  9221  // This method is useful when you want to inject custom logic or configuration
  9222  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9223  //
  9224  //
  9225  //    // Example sending a request using the TagResourceRequest method.
  9226  //    req, resp := client.TagResourceRequest(params)
  9227  //
  9228  //    err := req.Send()
  9229  //    if err == nil { // resp is now filled
  9230  //        fmt.Println(resp)
  9231  //    }
  9232  func (c *APIGateway) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  9233  	op := &request.Operation{
  9234  		Name:       opTagResource,
  9235  		HTTPMethod: "PUT",
  9236  		HTTPPath:   "/tags/{resource_arn}",
  9237  	}
  9238  
  9239  	if input == nil {
  9240  		input = &TagResourceInput{}
  9241  	}
  9242  
  9243  	output = &TagResourceOutput{}
  9244  	req = c.newRequest(op, input, output)
  9245  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9246  	return
  9247  }
  9248  
  9249  // TagResource API operation for Amazon API Gateway.
  9250  //
  9251  // Adds or updates a tag on a given resource.
  9252  //
  9253  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9254  // with awserr.Error's Code and Message methods to get detailed information about
  9255  // the error.
  9256  //
  9257  // See the AWS API reference guide for Amazon API Gateway's
  9258  // API operation TagResource for usage and error information.
  9259  //
  9260  // Returned Error Types:
  9261  //   * BadRequestException
  9262  //   The submitted request is not valid, for example, the input is incomplete
  9263  //   or incorrect. See the accompanying error message for details.
  9264  //
  9265  //   * ConflictException
  9266  //   The request configuration has conflicts. For details, see the accompanying
  9267  //   error message.
  9268  //
  9269  //   * LimitExceededException
  9270  //   The request exceeded the rate limit. Retry after the specified time period.
  9271  //
  9272  //   * NotFoundException
  9273  //   The requested resource is not found. Make sure that the request URI is correct.
  9274  //
  9275  //   * UnauthorizedException
  9276  //   The request is denied because the caller has insufficient permissions.
  9277  //
  9278  //   * TooManyRequestsException
  9279  //   The request has reached its throttling limit. Retry after the specified time
  9280  //   period.
  9281  //
  9282  func (c *APIGateway) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  9283  	req, out := c.TagResourceRequest(input)
  9284  	return out, req.Send()
  9285  }
  9286  
  9287  // TagResourceWithContext is the same as TagResource with the addition of
  9288  // the ability to pass a context and additional request options.
  9289  //
  9290  // See TagResource for details on how to use this API operation.
  9291  //
  9292  // The context must be non-nil and will be used for request cancellation. If
  9293  // the context is nil a panic will occur. In the future the SDK may create
  9294  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9295  // for more information on using Contexts.
  9296  func (c *APIGateway) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  9297  	req, out := c.TagResourceRequest(input)
  9298  	req.SetContext(ctx)
  9299  	req.ApplyOptions(opts...)
  9300  	return out, req.Send()
  9301  }
  9302  
  9303  const opTestInvokeAuthorizer = "TestInvokeAuthorizer"
  9304  
  9305  // TestInvokeAuthorizerRequest generates a "aws/request.Request" representing the
  9306  // client's request for the TestInvokeAuthorizer operation. The "output" return
  9307  // value will be populated with the request's response once the request completes
  9308  // successfully.
  9309  //
  9310  // Use "Send" method on the returned Request to send the API call to the service.
  9311  // the "output" return value is not valid until after Send returns without error.
  9312  //
  9313  // See TestInvokeAuthorizer for more information on using the TestInvokeAuthorizer
  9314  // API call, and error handling.
  9315  //
  9316  // This method is useful when you want to inject custom logic or configuration
  9317  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9318  //
  9319  //
  9320  //    // Example sending a request using the TestInvokeAuthorizerRequest method.
  9321  //    req, resp := client.TestInvokeAuthorizerRequest(params)
  9322  //
  9323  //    err := req.Send()
  9324  //    if err == nil { // resp is now filled
  9325  //        fmt.Println(resp)
  9326  //    }
  9327  func (c *APIGateway) TestInvokeAuthorizerRequest(input *TestInvokeAuthorizerInput) (req *request.Request, output *TestInvokeAuthorizerOutput) {
  9328  	op := &request.Operation{
  9329  		Name:       opTestInvokeAuthorizer,
  9330  		HTTPMethod: "POST",
  9331  		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
  9332  	}
  9333  
  9334  	if input == nil {
  9335  		input = &TestInvokeAuthorizerInput{}
  9336  	}
  9337  
  9338  	output = &TestInvokeAuthorizerOutput{}
  9339  	req = c.newRequest(op, input, output)
  9340  	return
  9341  }
  9342  
  9343  // TestInvokeAuthorizer API operation for Amazon API Gateway.
  9344  //
  9345  // Simulate the execution of an Authorizer in your RestApi with headers, parameters,
  9346  // and an incoming request body.
  9347  //
  9348  // Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
  9349  // Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
  9350  //
  9351  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9352  // with awserr.Error's Code and Message methods to get detailed information about
  9353  // the error.
  9354  //
  9355  // See the AWS API reference guide for Amazon API Gateway's
  9356  // API operation TestInvokeAuthorizer for usage and error information.
  9357  //
  9358  // Returned Error Types:
  9359  //   * BadRequestException
  9360  //   The submitted request is not valid, for example, the input is incomplete
  9361  //   or incorrect. See the accompanying error message for details.
  9362  //
  9363  //   * UnauthorizedException
  9364  //   The request is denied because the caller has insufficient permissions.
  9365  //
  9366  //   * NotFoundException
  9367  //   The requested resource is not found. Make sure that the request URI is correct.
  9368  //
  9369  //   * TooManyRequestsException
  9370  //   The request has reached its throttling limit. Retry after the specified time
  9371  //   period.
  9372  //
  9373  func (c *APIGateway) TestInvokeAuthorizer(input *TestInvokeAuthorizerInput) (*TestInvokeAuthorizerOutput, error) {
  9374  	req, out := c.TestInvokeAuthorizerRequest(input)
  9375  	return out, req.Send()
  9376  }
  9377  
  9378  // TestInvokeAuthorizerWithContext is the same as TestInvokeAuthorizer with the addition of
  9379  // the ability to pass a context and additional request options.
  9380  //
  9381  // See TestInvokeAuthorizer for details on how to use this API operation.
  9382  //
  9383  // The context must be non-nil and will be used for request cancellation. If
  9384  // the context is nil a panic will occur. In the future the SDK may create
  9385  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9386  // for more information on using Contexts.
  9387  func (c *APIGateway) TestInvokeAuthorizerWithContext(ctx aws.Context, input *TestInvokeAuthorizerInput, opts ...request.Option) (*TestInvokeAuthorizerOutput, error) {
  9388  	req, out := c.TestInvokeAuthorizerRequest(input)
  9389  	req.SetContext(ctx)
  9390  	req.ApplyOptions(opts...)
  9391  	return out, req.Send()
  9392  }
  9393  
  9394  const opTestInvokeMethod = "TestInvokeMethod"
  9395  
  9396  // TestInvokeMethodRequest generates a "aws/request.Request" representing the
  9397  // client's request for the TestInvokeMethod operation. The "output" return
  9398  // value will be populated with the request's response once the request completes
  9399  // successfully.
  9400  //
  9401  // Use "Send" method on the returned Request to send the API call to the service.
  9402  // the "output" return value is not valid until after Send returns without error.
  9403  //
  9404  // See TestInvokeMethod for more information on using the TestInvokeMethod
  9405  // API call, and error handling.
  9406  //
  9407  // This method is useful when you want to inject custom logic or configuration
  9408  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9409  //
  9410  //
  9411  //    // Example sending a request using the TestInvokeMethodRequest method.
  9412  //    req, resp := client.TestInvokeMethodRequest(params)
  9413  //
  9414  //    err := req.Send()
  9415  //    if err == nil { // resp is now filled
  9416  //        fmt.Println(resp)
  9417  //    }
  9418  func (c *APIGateway) TestInvokeMethodRequest(input *TestInvokeMethodInput) (req *request.Request, output *TestInvokeMethodOutput) {
  9419  	op := &request.Operation{
  9420  		Name:       opTestInvokeMethod,
  9421  		HTTPMethod: "POST",
  9422  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
  9423  	}
  9424  
  9425  	if input == nil {
  9426  		input = &TestInvokeMethodInput{}
  9427  	}
  9428  
  9429  	output = &TestInvokeMethodOutput{}
  9430  	req = c.newRequest(op, input, output)
  9431  	return
  9432  }
  9433  
  9434  // TestInvokeMethod API operation for Amazon API Gateway.
  9435  //
  9436  // Simulate the execution of a Method in your RestApi with headers, parameters,
  9437  // and an incoming request body.
  9438  //
  9439  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9440  // with awserr.Error's Code and Message methods to get detailed information about
  9441  // the error.
  9442  //
  9443  // See the AWS API reference guide for Amazon API Gateway's
  9444  // API operation TestInvokeMethod for usage and error information.
  9445  //
  9446  // Returned Error Types:
  9447  //   * BadRequestException
  9448  //   The submitted request is not valid, for example, the input is incomplete
  9449  //   or incorrect. See the accompanying error message for details.
  9450  //
  9451  //   * UnauthorizedException
  9452  //   The request is denied because the caller has insufficient permissions.
  9453  //
  9454  //   * NotFoundException
  9455  //   The requested resource is not found. Make sure that the request URI is correct.
  9456  //
  9457  //   * TooManyRequestsException
  9458  //   The request has reached its throttling limit. Retry after the specified time
  9459  //   period.
  9460  //
  9461  func (c *APIGateway) TestInvokeMethod(input *TestInvokeMethodInput) (*TestInvokeMethodOutput, error) {
  9462  	req, out := c.TestInvokeMethodRequest(input)
  9463  	return out, req.Send()
  9464  }
  9465  
  9466  // TestInvokeMethodWithContext is the same as TestInvokeMethod with the addition of
  9467  // the ability to pass a context and additional request options.
  9468  //
  9469  // See TestInvokeMethod for details on how to use this API operation.
  9470  //
  9471  // The context must be non-nil and will be used for request cancellation. If
  9472  // the context is nil a panic will occur. In the future the SDK may create
  9473  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9474  // for more information on using Contexts.
  9475  func (c *APIGateway) TestInvokeMethodWithContext(ctx aws.Context, input *TestInvokeMethodInput, opts ...request.Option) (*TestInvokeMethodOutput, error) {
  9476  	req, out := c.TestInvokeMethodRequest(input)
  9477  	req.SetContext(ctx)
  9478  	req.ApplyOptions(opts...)
  9479  	return out, req.Send()
  9480  }
  9481  
  9482  const opUntagResource = "UntagResource"
  9483  
  9484  // UntagResourceRequest generates a "aws/request.Request" representing the
  9485  // client's request for the UntagResource operation. The "output" return
  9486  // value will be populated with the request's response once the request completes
  9487  // successfully.
  9488  //
  9489  // Use "Send" method on the returned Request to send the API call to the service.
  9490  // the "output" return value is not valid until after Send returns without error.
  9491  //
  9492  // See UntagResource for more information on using the UntagResource
  9493  // API call, and error handling.
  9494  //
  9495  // This method is useful when you want to inject custom logic or configuration
  9496  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9497  //
  9498  //
  9499  //    // Example sending a request using the UntagResourceRequest method.
  9500  //    req, resp := client.UntagResourceRequest(params)
  9501  //
  9502  //    err := req.Send()
  9503  //    if err == nil { // resp is now filled
  9504  //        fmt.Println(resp)
  9505  //    }
  9506  func (c *APIGateway) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  9507  	op := &request.Operation{
  9508  		Name:       opUntagResource,
  9509  		HTTPMethod: "DELETE",
  9510  		HTTPPath:   "/tags/{resource_arn}",
  9511  	}
  9512  
  9513  	if input == nil {
  9514  		input = &UntagResourceInput{}
  9515  	}
  9516  
  9517  	output = &UntagResourceOutput{}
  9518  	req = c.newRequest(op, input, output)
  9519  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9520  	return
  9521  }
  9522  
  9523  // UntagResource API operation for Amazon API Gateway.
  9524  //
  9525  // Removes a tag from a given resource.
  9526  //
  9527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9528  // with awserr.Error's Code and Message methods to get detailed information about
  9529  // the error.
  9530  //
  9531  // See the AWS API reference guide for Amazon API Gateway's
  9532  // API operation UntagResource for usage and error information.
  9533  //
  9534  // Returned Error Types:
  9535  //   * BadRequestException
  9536  //   The submitted request is not valid, for example, the input is incomplete
  9537  //   or incorrect. See the accompanying error message for details.
  9538  //
  9539  //   * ConflictException
  9540  //   The request configuration has conflicts. For details, see the accompanying
  9541  //   error message.
  9542  //
  9543  //   * LimitExceededException
  9544  //   The request exceeded the rate limit. Retry after the specified time period.
  9545  //
  9546  //   * NotFoundException
  9547  //   The requested resource is not found. Make sure that the request URI is correct.
  9548  //
  9549  //   * UnauthorizedException
  9550  //   The request is denied because the caller has insufficient permissions.
  9551  //
  9552  //   * TooManyRequestsException
  9553  //   The request has reached its throttling limit. Retry after the specified time
  9554  //   period.
  9555  //
  9556  func (c *APIGateway) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  9557  	req, out := c.UntagResourceRequest(input)
  9558  	return out, req.Send()
  9559  }
  9560  
  9561  // UntagResourceWithContext is the same as UntagResource with the addition of
  9562  // the ability to pass a context and additional request options.
  9563  //
  9564  // See UntagResource for details on how to use this API operation.
  9565  //
  9566  // The context must be non-nil and will be used for request cancellation. If
  9567  // the context is nil a panic will occur. In the future the SDK may create
  9568  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9569  // for more information on using Contexts.
  9570  func (c *APIGateway) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  9571  	req, out := c.UntagResourceRequest(input)
  9572  	req.SetContext(ctx)
  9573  	req.ApplyOptions(opts...)
  9574  	return out, req.Send()
  9575  }
  9576  
  9577  const opUpdateAccount = "UpdateAccount"
  9578  
  9579  // UpdateAccountRequest generates a "aws/request.Request" representing the
  9580  // client's request for the UpdateAccount operation. The "output" return
  9581  // value will be populated with the request's response once the request completes
  9582  // successfully.
  9583  //
  9584  // Use "Send" method on the returned Request to send the API call to the service.
  9585  // the "output" return value is not valid until after Send returns without error.
  9586  //
  9587  // See UpdateAccount for more information on using the UpdateAccount
  9588  // API call, and error handling.
  9589  //
  9590  // This method is useful when you want to inject custom logic or configuration
  9591  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9592  //
  9593  //
  9594  //    // Example sending a request using the UpdateAccountRequest method.
  9595  //    req, resp := client.UpdateAccountRequest(params)
  9596  //
  9597  //    err := req.Send()
  9598  //    if err == nil { // resp is now filled
  9599  //        fmt.Println(resp)
  9600  //    }
  9601  func (c *APIGateway) UpdateAccountRequest(input *UpdateAccountInput) (req *request.Request, output *Account) {
  9602  	op := &request.Operation{
  9603  		Name:       opUpdateAccount,
  9604  		HTTPMethod: "PATCH",
  9605  		HTTPPath:   "/account",
  9606  	}
  9607  
  9608  	if input == nil {
  9609  		input = &UpdateAccountInput{}
  9610  	}
  9611  
  9612  	output = &Account{}
  9613  	req = c.newRequest(op, input, output)
  9614  	return
  9615  }
  9616  
  9617  // UpdateAccount API operation for Amazon API Gateway.
  9618  //
  9619  // Changes information about the current Account resource.
  9620  //
  9621  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9622  // with awserr.Error's Code and Message methods to get detailed information about
  9623  // the error.
  9624  //
  9625  // See the AWS API reference guide for Amazon API Gateway's
  9626  // API operation UpdateAccount for usage and error information.
  9627  //
  9628  // Returned Error Types:
  9629  //   * BadRequestException
  9630  //   The submitted request is not valid, for example, the input is incomplete
  9631  //   or incorrect. See the accompanying error message for details.
  9632  //
  9633  //   * ConflictException
  9634  //   The request configuration has conflicts. For details, see the accompanying
  9635  //   error message.
  9636  //
  9637  //   * LimitExceededException
  9638  //   The request exceeded the rate limit. Retry after the specified time period.
  9639  //
  9640  //   * NotFoundException
  9641  //   The requested resource is not found. Make sure that the request URI is correct.
  9642  //
  9643  //   * UnauthorizedException
  9644  //   The request is denied because the caller has insufficient permissions.
  9645  //
  9646  //   * TooManyRequestsException
  9647  //   The request has reached its throttling limit. Retry after the specified time
  9648  //   period.
  9649  //
  9650  func (c *APIGateway) UpdateAccount(input *UpdateAccountInput) (*Account, error) {
  9651  	req, out := c.UpdateAccountRequest(input)
  9652  	return out, req.Send()
  9653  }
  9654  
  9655  // UpdateAccountWithContext is the same as UpdateAccount with the addition of
  9656  // the ability to pass a context and additional request options.
  9657  //
  9658  // See UpdateAccount for details on how to use this API operation.
  9659  //
  9660  // The context must be non-nil and will be used for request cancellation. If
  9661  // the context is nil a panic will occur. In the future the SDK may create
  9662  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9663  // for more information on using Contexts.
  9664  func (c *APIGateway) UpdateAccountWithContext(ctx aws.Context, input *UpdateAccountInput, opts ...request.Option) (*Account, error) {
  9665  	req, out := c.UpdateAccountRequest(input)
  9666  	req.SetContext(ctx)
  9667  	req.ApplyOptions(opts...)
  9668  	return out, req.Send()
  9669  }
  9670  
  9671  const opUpdateApiKey = "UpdateApiKey"
  9672  
  9673  // UpdateApiKeyRequest generates a "aws/request.Request" representing the
  9674  // client's request for the UpdateApiKey operation. The "output" return
  9675  // value will be populated with the request's response once the request completes
  9676  // successfully.
  9677  //
  9678  // Use "Send" method on the returned Request to send the API call to the service.
  9679  // the "output" return value is not valid until after Send returns without error.
  9680  //
  9681  // See UpdateApiKey for more information on using the UpdateApiKey
  9682  // API call, and error handling.
  9683  //
  9684  // This method is useful when you want to inject custom logic or configuration
  9685  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9686  //
  9687  //
  9688  //    // Example sending a request using the UpdateApiKeyRequest method.
  9689  //    req, resp := client.UpdateApiKeyRequest(params)
  9690  //
  9691  //    err := req.Send()
  9692  //    if err == nil { // resp is now filled
  9693  //        fmt.Println(resp)
  9694  //    }
  9695  func (c *APIGateway) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request.Request, output *ApiKey) {
  9696  	op := &request.Operation{
  9697  		Name:       opUpdateApiKey,
  9698  		HTTPMethod: "PATCH",
  9699  		HTTPPath:   "/apikeys/{api_Key}",
  9700  	}
  9701  
  9702  	if input == nil {
  9703  		input = &UpdateApiKeyInput{}
  9704  	}
  9705  
  9706  	output = &ApiKey{}
  9707  	req = c.newRequest(op, input, output)
  9708  	return
  9709  }
  9710  
  9711  // UpdateApiKey API operation for Amazon API Gateway.
  9712  //
  9713  // Changes information about an ApiKey resource.
  9714  //
  9715  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9716  // with awserr.Error's Code and Message methods to get detailed information about
  9717  // the error.
  9718  //
  9719  // See the AWS API reference guide for Amazon API Gateway's
  9720  // API operation UpdateApiKey for usage and error information.
  9721  //
  9722  // Returned Error Types:
  9723  //   * BadRequestException
  9724  //   The submitted request is not valid, for example, the input is incomplete
  9725  //   or incorrect. See the accompanying error message for details.
  9726  //
  9727  //   * ConflictException
  9728  //   The request configuration has conflicts. For details, see the accompanying
  9729  //   error message.
  9730  //
  9731  //   * LimitExceededException
  9732  //   The request exceeded the rate limit. Retry after the specified time period.
  9733  //
  9734  //   * NotFoundException
  9735  //   The requested resource is not found. Make sure that the request URI is correct.
  9736  //
  9737  //   * UnauthorizedException
  9738  //   The request is denied because the caller has insufficient permissions.
  9739  //
  9740  //   * TooManyRequestsException
  9741  //   The request has reached its throttling limit. Retry after the specified time
  9742  //   period.
  9743  //
  9744  func (c *APIGateway) UpdateApiKey(input *UpdateApiKeyInput) (*ApiKey, error) {
  9745  	req, out := c.UpdateApiKeyRequest(input)
  9746  	return out, req.Send()
  9747  }
  9748  
  9749  // UpdateApiKeyWithContext is the same as UpdateApiKey with the addition of
  9750  // the ability to pass a context and additional request options.
  9751  //
  9752  // See UpdateApiKey for details on how to use this API operation.
  9753  //
  9754  // The context must be non-nil and will be used for request cancellation. If
  9755  // the context is nil a panic will occur. In the future the SDK may create
  9756  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9757  // for more information on using Contexts.
  9758  func (c *APIGateway) UpdateApiKeyWithContext(ctx aws.Context, input *UpdateApiKeyInput, opts ...request.Option) (*ApiKey, error) {
  9759  	req, out := c.UpdateApiKeyRequest(input)
  9760  	req.SetContext(ctx)
  9761  	req.ApplyOptions(opts...)
  9762  	return out, req.Send()
  9763  }
  9764  
  9765  const opUpdateAuthorizer = "UpdateAuthorizer"
  9766  
  9767  // UpdateAuthorizerRequest generates a "aws/request.Request" representing the
  9768  // client's request for the UpdateAuthorizer operation. The "output" return
  9769  // value will be populated with the request's response once the request completes
  9770  // successfully.
  9771  //
  9772  // Use "Send" method on the returned Request to send the API call to the service.
  9773  // the "output" return value is not valid until after Send returns without error.
  9774  //
  9775  // See UpdateAuthorizer for more information on using the UpdateAuthorizer
  9776  // API call, and error handling.
  9777  //
  9778  // This method is useful when you want to inject custom logic or configuration
  9779  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9780  //
  9781  //
  9782  //    // Example sending a request using the UpdateAuthorizerRequest method.
  9783  //    req, resp := client.UpdateAuthorizerRequest(params)
  9784  //
  9785  //    err := req.Send()
  9786  //    if err == nil { // resp is now filled
  9787  //        fmt.Println(resp)
  9788  //    }
  9789  func (c *APIGateway) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req *request.Request, output *Authorizer) {
  9790  	op := &request.Operation{
  9791  		Name:       opUpdateAuthorizer,
  9792  		HTTPMethod: "PATCH",
  9793  		HTTPPath:   "/restapis/{restapi_id}/authorizers/{authorizer_id}",
  9794  	}
  9795  
  9796  	if input == nil {
  9797  		input = &UpdateAuthorizerInput{}
  9798  	}
  9799  
  9800  	output = &Authorizer{}
  9801  	req = c.newRequest(op, input, output)
  9802  	return
  9803  }
  9804  
  9805  // UpdateAuthorizer API operation for Amazon API Gateway.
  9806  //
  9807  // Updates an existing Authorizer resource.
  9808  //
  9809  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-authorizer.html)
  9810  //
  9811  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9812  // with awserr.Error's Code and Message methods to get detailed information about
  9813  // the error.
  9814  //
  9815  // See the AWS API reference guide for Amazon API Gateway's
  9816  // API operation UpdateAuthorizer for usage and error information.
  9817  //
  9818  // Returned Error Types:
  9819  //   * BadRequestException
  9820  //   The submitted request is not valid, for example, the input is incomplete
  9821  //   or incorrect. See the accompanying error message for details.
  9822  //
  9823  //   * ConflictException
  9824  //   The request configuration has conflicts. For details, see the accompanying
  9825  //   error message.
  9826  //
  9827  //   * LimitExceededException
  9828  //   The request exceeded the rate limit. Retry after the specified time period.
  9829  //
  9830  //   * NotFoundException
  9831  //   The requested resource is not found. Make sure that the request URI is correct.
  9832  //
  9833  //   * UnauthorizedException
  9834  //   The request is denied because the caller has insufficient permissions.
  9835  //
  9836  //   * TooManyRequestsException
  9837  //   The request has reached its throttling limit. Retry after the specified time
  9838  //   period.
  9839  //
  9840  func (c *APIGateway) UpdateAuthorizer(input *UpdateAuthorizerInput) (*Authorizer, error) {
  9841  	req, out := c.UpdateAuthorizerRequest(input)
  9842  	return out, req.Send()
  9843  }
  9844  
  9845  // UpdateAuthorizerWithContext is the same as UpdateAuthorizer with the addition of
  9846  // the ability to pass a context and additional request options.
  9847  //
  9848  // See UpdateAuthorizer for details on how to use this API operation.
  9849  //
  9850  // The context must be non-nil and will be used for request cancellation. If
  9851  // the context is nil a panic will occur. In the future the SDK may create
  9852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9853  // for more information on using Contexts.
  9854  func (c *APIGateway) UpdateAuthorizerWithContext(ctx aws.Context, input *UpdateAuthorizerInput, opts ...request.Option) (*Authorizer, error) {
  9855  	req, out := c.UpdateAuthorizerRequest(input)
  9856  	req.SetContext(ctx)
  9857  	req.ApplyOptions(opts...)
  9858  	return out, req.Send()
  9859  }
  9860  
  9861  const opUpdateBasePathMapping = "UpdateBasePathMapping"
  9862  
  9863  // UpdateBasePathMappingRequest generates a "aws/request.Request" representing the
  9864  // client's request for the UpdateBasePathMapping operation. The "output" return
  9865  // value will be populated with the request's response once the request completes
  9866  // successfully.
  9867  //
  9868  // Use "Send" method on the returned Request to send the API call to the service.
  9869  // the "output" return value is not valid until after Send returns without error.
  9870  //
  9871  // See UpdateBasePathMapping for more information on using the UpdateBasePathMapping
  9872  // API call, and error handling.
  9873  //
  9874  // This method is useful when you want to inject custom logic or configuration
  9875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9876  //
  9877  //
  9878  //    // Example sending a request using the UpdateBasePathMappingRequest method.
  9879  //    req, resp := client.UpdateBasePathMappingRequest(params)
  9880  //
  9881  //    err := req.Send()
  9882  //    if err == nil { // resp is now filled
  9883  //        fmt.Println(resp)
  9884  //    }
  9885  func (c *APIGateway) UpdateBasePathMappingRequest(input *UpdateBasePathMappingInput) (req *request.Request, output *BasePathMapping) {
  9886  	op := &request.Operation{
  9887  		Name:       opUpdateBasePathMapping,
  9888  		HTTPMethod: "PATCH",
  9889  		HTTPPath:   "/domainnames/{domain_name}/basepathmappings/{base_path}",
  9890  	}
  9891  
  9892  	if input == nil {
  9893  		input = &UpdateBasePathMappingInput{}
  9894  	}
  9895  
  9896  	output = &BasePathMapping{}
  9897  	req = c.newRequest(op, input, output)
  9898  	return
  9899  }
  9900  
  9901  // UpdateBasePathMapping API operation for Amazon API Gateway.
  9902  //
  9903  // Changes information about the BasePathMapping resource.
  9904  //
  9905  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9906  // with awserr.Error's Code and Message methods to get detailed information about
  9907  // the error.
  9908  //
  9909  // See the AWS API reference guide for Amazon API Gateway's
  9910  // API operation UpdateBasePathMapping for usage and error information.
  9911  //
  9912  // Returned Error Types:
  9913  //   * BadRequestException
  9914  //   The submitted request is not valid, for example, the input is incomplete
  9915  //   or incorrect. See the accompanying error message for details.
  9916  //
  9917  //   * ConflictException
  9918  //   The request configuration has conflicts. For details, see the accompanying
  9919  //   error message.
  9920  //
  9921  //   * LimitExceededException
  9922  //   The request exceeded the rate limit. Retry after the specified time period.
  9923  //
  9924  //   * NotFoundException
  9925  //   The requested resource is not found. Make sure that the request URI is correct.
  9926  //
  9927  //   * UnauthorizedException
  9928  //   The request is denied because the caller has insufficient permissions.
  9929  //
  9930  //   * TooManyRequestsException
  9931  //   The request has reached its throttling limit. Retry after the specified time
  9932  //   period.
  9933  //
  9934  func (c *APIGateway) UpdateBasePathMapping(input *UpdateBasePathMappingInput) (*BasePathMapping, error) {
  9935  	req, out := c.UpdateBasePathMappingRequest(input)
  9936  	return out, req.Send()
  9937  }
  9938  
  9939  // UpdateBasePathMappingWithContext is the same as UpdateBasePathMapping with the addition of
  9940  // the ability to pass a context and additional request options.
  9941  //
  9942  // See UpdateBasePathMapping for details on how to use this API operation.
  9943  //
  9944  // The context must be non-nil and will be used for request cancellation. If
  9945  // the context is nil a panic will occur. In the future the SDK may create
  9946  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9947  // for more information on using Contexts.
  9948  func (c *APIGateway) UpdateBasePathMappingWithContext(ctx aws.Context, input *UpdateBasePathMappingInput, opts ...request.Option) (*BasePathMapping, error) {
  9949  	req, out := c.UpdateBasePathMappingRequest(input)
  9950  	req.SetContext(ctx)
  9951  	req.ApplyOptions(opts...)
  9952  	return out, req.Send()
  9953  }
  9954  
  9955  const opUpdateClientCertificate = "UpdateClientCertificate"
  9956  
  9957  // UpdateClientCertificateRequest generates a "aws/request.Request" representing the
  9958  // client's request for the UpdateClientCertificate operation. The "output" return
  9959  // value will be populated with the request's response once the request completes
  9960  // successfully.
  9961  //
  9962  // Use "Send" method on the returned Request to send the API call to the service.
  9963  // the "output" return value is not valid until after Send returns without error.
  9964  //
  9965  // See UpdateClientCertificate for more information on using the UpdateClientCertificate
  9966  // API call, and error handling.
  9967  //
  9968  // This method is useful when you want to inject custom logic or configuration
  9969  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9970  //
  9971  //
  9972  //    // Example sending a request using the UpdateClientCertificateRequest method.
  9973  //    req, resp := client.UpdateClientCertificateRequest(params)
  9974  //
  9975  //    err := req.Send()
  9976  //    if err == nil { // resp is now filled
  9977  //        fmt.Println(resp)
  9978  //    }
  9979  func (c *APIGateway) UpdateClientCertificateRequest(input *UpdateClientCertificateInput) (req *request.Request, output *ClientCertificate) {
  9980  	op := &request.Operation{
  9981  		Name:       opUpdateClientCertificate,
  9982  		HTTPMethod: "PATCH",
  9983  		HTTPPath:   "/clientcertificates/{clientcertificate_id}",
  9984  	}
  9985  
  9986  	if input == nil {
  9987  		input = &UpdateClientCertificateInput{}
  9988  	}
  9989  
  9990  	output = &ClientCertificate{}
  9991  	req = c.newRequest(op, input, output)
  9992  	return
  9993  }
  9994  
  9995  // UpdateClientCertificate API operation for Amazon API Gateway.
  9996  //
  9997  // Changes information about an ClientCertificate resource.
  9998  //
  9999  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10000  // with awserr.Error's Code and Message methods to get detailed information about
 10001  // the error.
 10002  //
 10003  // See the AWS API reference guide for Amazon API Gateway's
 10004  // API operation UpdateClientCertificate for usage and error information.
 10005  //
 10006  // Returned Error Types:
 10007  //   * BadRequestException
 10008  //   The submitted request is not valid, for example, the input is incomplete
 10009  //   or incorrect. See the accompanying error message for details.
 10010  //
 10011  //   * ConflictException
 10012  //   The request configuration has conflicts. For details, see the accompanying
 10013  //   error message.
 10014  //
 10015  //   * LimitExceededException
 10016  //   The request exceeded the rate limit. Retry after the specified time period.
 10017  //
 10018  //   * NotFoundException
 10019  //   The requested resource is not found. Make sure that the request URI is correct.
 10020  //
 10021  //   * UnauthorizedException
 10022  //   The request is denied because the caller has insufficient permissions.
 10023  //
 10024  //   * TooManyRequestsException
 10025  //   The request has reached its throttling limit. Retry after the specified time
 10026  //   period.
 10027  //
 10028  func (c *APIGateway) UpdateClientCertificate(input *UpdateClientCertificateInput) (*ClientCertificate, error) {
 10029  	req, out := c.UpdateClientCertificateRequest(input)
 10030  	return out, req.Send()
 10031  }
 10032  
 10033  // UpdateClientCertificateWithContext is the same as UpdateClientCertificate with the addition of
 10034  // the ability to pass a context and additional request options.
 10035  //
 10036  // See UpdateClientCertificate for details on how to use this API operation.
 10037  //
 10038  // The context must be non-nil and will be used for request cancellation. If
 10039  // the context is nil a panic will occur. In the future the SDK may create
 10040  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10041  // for more information on using Contexts.
 10042  func (c *APIGateway) UpdateClientCertificateWithContext(ctx aws.Context, input *UpdateClientCertificateInput, opts ...request.Option) (*ClientCertificate, error) {
 10043  	req, out := c.UpdateClientCertificateRequest(input)
 10044  	req.SetContext(ctx)
 10045  	req.ApplyOptions(opts...)
 10046  	return out, req.Send()
 10047  }
 10048  
 10049  const opUpdateDeployment = "UpdateDeployment"
 10050  
 10051  // UpdateDeploymentRequest generates a "aws/request.Request" representing the
 10052  // client's request for the UpdateDeployment operation. The "output" return
 10053  // value will be populated with the request's response once the request completes
 10054  // successfully.
 10055  //
 10056  // Use "Send" method on the returned Request to send the API call to the service.
 10057  // the "output" return value is not valid until after Send returns without error.
 10058  //
 10059  // See UpdateDeployment for more information on using the UpdateDeployment
 10060  // API call, and error handling.
 10061  //
 10062  // This method is useful when you want to inject custom logic or configuration
 10063  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10064  //
 10065  //
 10066  //    // Example sending a request using the UpdateDeploymentRequest method.
 10067  //    req, resp := client.UpdateDeploymentRequest(params)
 10068  //
 10069  //    err := req.Send()
 10070  //    if err == nil { // resp is now filled
 10071  //        fmt.Println(resp)
 10072  //    }
 10073  func (c *APIGateway) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req *request.Request, output *Deployment) {
 10074  	op := &request.Operation{
 10075  		Name:       opUpdateDeployment,
 10076  		HTTPMethod: "PATCH",
 10077  		HTTPPath:   "/restapis/{restapi_id}/deployments/{deployment_id}",
 10078  	}
 10079  
 10080  	if input == nil {
 10081  		input = &UpdateDeploymentInput{}
 10082  	}
 10083  
 10084  	output = &Deployment{}
 10085  	req = c.newRequest(op, input, output)
 10086  	return
 10087  }
 10088  
 10089  // UpdateDeployment API operation for Amazon API Gateway.
 10090  //
 10091  // Changes information about a Deployment resource.
 10092  //
 10093  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10094  // with awserr.Error's Code and Message methods to get detailed information about
 10095  // the error.
 10096  //
 10097  // See the AWS API reference guide for Amazon API Gateway's
 10098  // API operation UpdateDeployment for usage and error information.
 10099  //
 10100  // Returned Error Types:
 10101  //   * BadRequestException
 10102  //   The submitted request is not valid, for example, the input is incomplete
 10103  //   or incorrect. See the accompanying error message for details.
 10104  //
 10105  //   * ConflictException
 10106  //   The request configuration has conflicts. For details, see the accompanying
 10107  //   error message.
 10108  //
 10109  //   * LimitExceededException
 10110  //   The request exceeded the rate limit. Retry after the specified time period.
 10111  //
 10112  //   * NotFoundException
 10113  //   The requested resource is not found. Make sure that the request URI is correct.
 10114  //
 10115  //   * UnauthorizedException
 10116  //   The request is denied because the caller has insufficient permissions.
 10117  //
 10118  //   * TooManyRequestsException
 10119  //   The request has reached its throttling limit. Retry after the specified time
 10120  //   period.
 10121  //
 10122  //   * ServiceUnavailableException
 10123  //   The requested service is not available. For details see the accompanying
 10124  //   error message. Retry after the specified time period.
 10125  //
 10126  func (c *APIGateway) UpdateDeployment(input *UpdateDeploymentInput) (*Deployment, error) {
 10127  	req, out := c.UpdateDeploymentRequest(input)
 10128  	return out, req.Send()
 10129  }
 10130  
 10131  // UpdateDeploymentWithContext is the same as UpdateDeployment with the addition of
 10132  // the ability to pass a context and additional request options.
 10133  //
 10134  // See UpdateDeployment for details on how to use this API operation.
 10135  //
 10136  // The context must be non-nil and will be used for request cancellation. If
 10137  // the context is nil a panic will occur. In the future the SDK may create
 10138  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10139  // for more information on using Contexts.
 10140  func (c *APIGateway) UpdateDeploymentWithContext(ctx aws.Context, input *UpdateDeploymentInput, opts ...request.Option) (*Deployment, error) {
 10141  	req, out := c.UpdateDeploymentRequest(input)
 10142  	req.SetContext(ctx)
 10143  	req.ApplyOptions(opts...)
 10144  	return out, req.Send()
 10145  }
 10146  
 10147  const opUpdateDocumentationPart = "UpdateDocumentationPart"
 10148  
 10149  // UpdateDocumentationPartRequest generates a "aws/request.Request" representing the
 10150  // client's request for the UpdateDocumentationPart operation. The "output" return
 10151  // value will be populated with the request's response once the request completes
 10152  // successfully.
 10153  //
 10154  // Use "Send" method on the returned Request to send the API call to the service.
 10155  // the "output" return value is not valid until after Send returns without error.
 10156  //
 10157  // See UpdateDocumentationPart for more information on using the UpdateDocumentationPart
 10158  // API call, and error handling.
 10159  //
 10160  // This method is useful when you want to inject custom logic or configuration
 10161  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10162  //
 10163  //
 10164  //    // Example sending a request using the UpdateDocumentationPartRequest method.
 10165  //    req, resp := client.UpdateDocumentationPartRequest(params)
 10166  //
 10167  //    err := req.Send()
 10168  //    if err == nil { // resp is now filled
 10169  //        fmt.Println(resp)
 10170  //    }
 10171  func (c *APIGateway) UpdateDocumentationPartRequest(input *UpdateDocumentationPartInput) (req *request.Request, output *DocumentationPart) {
 10172  	op := &request.Operation{
 10173  		Name:       opUpdateDocumentationPart,
 10174  		HTTPMethod: "PATCH",
 10175  		HTTPPath:   "/restapis/{restapi_id}/documentation/parts/{part_id}",
 10176  	}
 10177  
 10178  	if input == nil {
 10179  		input = &UpdateDocumentationPartInput{}
 10180  	}
 10181  
 10182  	output = &DocumentationPart{}
 10183  	req = c.newRequest(op, input, output)
 10184  	return
 10185  }
 10186  
 10187  // UpdateDocumentationPart API operation for Amazon API Gateway.
 10188  //
 10189  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10190  // with awserr.Error's Code and Message methods to get detailed information about
 10191  // the error.
 10192  //
 10193  // See the AWS API reference guide for Amazon API Gateway's
 10194  // API operation UpdateDocumentationPart for usage and error information.
 10195  //
 10196  // Returned Error Types:
 10197  //   * BadRequestException
 10198  //   The submitted request is not valid, for example, the input is incomplete
 10199  //   or incorrect. See the accompanying error message for details.
 10200  //
 10201  //   * ConflictException
 10202  //   The request configuration has conflicts. For details, see the accompanying
 10203  //   error message.
 10204  //
 10205  //   * LimitExceededException
 10206  //   The request exceeded the rate limit. Retry after the specified time period.
 10207  //
 10208  //   * NotFoundException
 10209  //   The requested resource is not found. Make sure that the request URI is correct.
 10210  //
 10211  //   * UnauthorizedException
 10212  //   The request is denied because the caller has insufficient permissions.
 10213  //
 10214  //   * TooManyRequestsException
 10215  //   The request has reached its throttling limit. Retry after the specified time
 10216  //   period.
 10217  //
 10218  func (c *APIGateway) UpdateDocumentationPart(input *UpdateDocumentationPartInput) (*DocumentationPart, error) {
 10219  	req, out := c.UpdateDocumentationPartRequest(input)
 10220  	return out, req.Send()
 10221  }
 10222  
 10223  // UpdateDocumentationPartWithContext is the same as UpdateDocumentationPart with the addition of
 10224  // the ability to pass a context and additional request options.
 10225  //
 10226  // See UpdateDocumentationPart for details on how to use this API operation.
 10227  //
 10228  // The context must be non-nil and will be used for request cancellation. If
 10229  // the context is nil a panic will occur. In the future the SDK may create
 10230  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10231  // for more information on using Contexts.
 10232  func (c *APIGateway) UpdateDocumentationPartWithContext(ctx aws.Context, input *UpdateDocumentationPartInput, opts ...request.Option) (*DocumentationPart, error) {
 10233  	req, out := c.UpdateDocumentationPartRequest(input)
 10234  	req.SetContext(ctx)
 10235  	req.ApplyOptions(opts...)
 10236  	return out, req.Send()
 10237  }
 10238  
 10239  const opUpdateDocumentationVersion = "UpdateDocumentationVersion"
 10240  
 10241  // UpdateDocumentationVersionRequest generates a "aws/request.Request" representing the
 10242  // client's request for the UpdateDocumentationVersion operation. The "output" return
 10243  // value will be populated with the request's response once the request completes
 10244  // successfully.
 10245  //
 10246  // Use "Send" method on the returned Request to send the API call to the service.
 10247  // the "output" return value is not valid until after Send returns without error.
 10248  //
 10249  // See UpdateDocumentationVersion for more information on using the UpdateDocumentationVersion
 10250  // API call, and error handling.
 10251  //
 10252  // This method is useful when you want to inject custom logic or configuration
 10253  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10254  //
 10255  //
 10256  //    // Example sending a request using the UpdateDocumentationVersionRequest method.
 10257  //    req, resp := client.UpdateDocumentationVersionRequest(params)
 10258  //
 10259  //    err := req.Send()
 10260  //    if err == nil { // resp is now filled
 10261  //        fmt.Println(resp)
 10262  //    }
 10263  func (c *APIGateway) UpdateDocumentationVersionRequest(input *UpdateDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) {
 10264  	op := &request.Operation{
 10265  		Name:       opUpdateDocumentationVersion,
 10266  		HTTPMethod: "PATCH",
 10267  		HTTPPath:   "/restapis/{restapi_id}/documentation/versions/{doc_version}",
 10268  	}
 10269  
 10270  	if input == nil {
 10271  		input = &UpdateDocumentationVersionInput{}
 10272  	}
 10273  
 10274  	output = &DocumentationVersion{}
 10275  	req = c.newRequest(op, input, output)
 10276  	return
 10277  }
 10278  
 10279  // UpdateDocumentationVersion API operation for Amazon API Gateway.
 10280  //
 10281  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10282  // with awserr.Error's Code and Message methods to get detailed information about
 10283  // the error.
 10284  //
 10285  // See the AWS API reference guide for Amazon API Gateway's
 10286  // API operation UpdateDocumentationVersion for usage and error information.
 10287  //
 10288  // Returned Error Types:
 10289  //   * BadRequestException
 10290  //   The submitted request is not valid, for example, the input is incomplete
 10291  //   or incorrect. See the accompanying error message for details.
 10292  //
 10293  //   * ConflictException
 10294  //   The request configuration has conflicts. For details, see the accompanying
 10295  //   error message.
 10296  //
 10297  //   * LimitExceededException
 10298  //   The request exceeded the rate limit. Retry after the specified time period.
 10299  //
 10300  //   * NotFoundException
 10301  //   The requested resource is not found. Make sure that the request URI is correct.
 10302  //
 10303  //   * UnauthorizedException
 10304  //   The request is denied because the caller has insufficient permissions.
 10305  //
 10306  //   * TooManyRequestsException
 10307  //   The request has reached its throttling limit. Retry after the specified time
 10308  //   period.
 10309  //
 10310  func (c *APIGateway) UpdateDocumentationVersion(input *UpdateDocumentationVersionInput) (*DocumentationVersion, error) {
 10311  	req, out := c.UpdateDocumentationVersionRequest(input)
 10312  	return out, req.Send()
 10313  }
 10314  
 10315  // UpdateDocumentationVersionWithContext is the same as UpdateDocumentationVersion with the addition of
 10316  // the ability to pass a context and additional request options.
 10317  //
 10318  // See UpdateDocumentationVersion for details on how to use this API operation.
 10319  //
 10320  // The context must be non-nil and will be used for request cancellation. If
 10321  // the context is nil a panic will occur. In the future the SDK may create
 10322  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10323  // for more information on using Contexts.
 10324  func (c *APIGateway) UpdateDocumentationVersionWithContext(ctx aws.Context, input *UpdateDocumentationVersionInput, opts ...request.Option) (*DocumentationVersion, error) {
 10325  	req, out := c.UpdateDocumentationVersionRequest(input)
 10326  	req.SetContext(ctx)
 10327  	req.ApplyOptions(opts...)
 10328  	return out, req.Send()
 10329  }
 10330  
 10331  const opUpdateDomainName = "UpdateDomainName"
 10332  
 10333  // UpdateDomainNameRequest generates a "aws/request.Request" representing the
 10334  // client's request for the UpdateDomainName operation. The "output" return
 10335  // value will be populated with the request's response once the request completes
 10336  // successfully.
 10337  //
 10338  // Use "Send" method on the returned Request to send the API call to the service.
 10339  // the "output" return value is not valid until after Send returns without error.
 10340  //
 10341  // See UpdateDomainName for more information on using the UpdateDomainName
 10342  // API call, and error handling.
 10343  //
 10344  // This method is useful when you want to inject custom logic or configuration
 10345  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10346  //
 10347  //
 10348  //    // Example sending a request using the UpdateDomainNameRequest method.
 10349  //    req, resp := client.UpdateDomainNameRequest(params)
 10350  //
 10351  //    err := req.Send()
 10352  //    if err == nil { // resp is now filled
 10353  //        fmt.Println(resp)
 10354  //    }
 10355  func (c *APIGateway) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req *request.Request, output *DomainName) {
 10356  	op := &request.Operation{
 10357  		Name:       opUpdateDomainName,
 10358  		HTTPMethod: "PATCH",
 10359  		HTTPPath:   "/domainnames/{domain_name}",
 10360  	}
 10361  
 10362  	if input == nil {
 10363  		input = &UpdateDomainNameInput{}
 10364  	}
 10365  
 10366  	output = &DomainName{}
 10367  	req = c.newRequest(op, input, output)
 10368  	return
 10369  }
 10370  
 10371  // UpdateDomainName API operation for Amazon API Gateway.
 10372  //
 10373  // Changes information about the DomainName resource.
 10374  //
 10375  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10376  // with awserr.Error's Code and Message methods to get detailed information about
 10377  // the error.
 10378  //
 10379  // See the AWS API reference guide for Amazon API Gateway's
 10380  // API operation UpdateDomainName for usage and error information.
 10381  //
 10382  // Returned Error Types:
 10383  //   * BadRequestException
 10384  //   The submitted request is not valid, for example, the input is incomplete
 10385  //   or incorrect. See the accompanying error message for details.
 10386  //
 10387  //   * ConflictException
 10388  //   The request configuration has conflicts. For details, see the accompanying
 10389  //   error message.
 10390  //
 10391  //   * LimitExceededException
 10392  //   The request exceeded the rate limit. Retry after the specified time period.
 10393  //
 10394  //   * NotFoundException
 10395  //   The requested resource is not found. Make sure that the request URI is correct.
 10396  //
 10397  //   * UnauthorizedException
 10398  //   The request is denied because the caller has insufficient permissions.
 10399  //
 10400  //   * TooManyRequestsException
 10401  //   The request has reached its throttling limit. Retry after the specified time
 10402  //   period.
 10403  //
 10404  func (c *APIGateway) UpdateDomainName(input *UpdateDomainNameInput) (*DomainName, error) {
 10405  	req, out := c.UpdateDomainNameRequest(input)
 10406  	return out, req.Send()
 10407  }
 10408  
 10409  // UpdateDomainNameWithContext is the same as UpdateDomainName with the addition of
 10410  // the ability to pass a context and additional request options.
 10411  //
 10412  // See UpdateDomainName for details on how to use this API operation.
 10413  //
 10414  // The context must be non-nil and will be used for request cancellation. If
 10415  // the context is nil a panic will occur. In the future the SDK may create
 10416  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10417  // for more information on using Contexts.
 10418  func (c *APIGateway) UpdateDomainNameWithContext(ctx aws.Context, input *UpdateDomainNameInput, opts ...request.Option) (*DomainName, error) {
 10419  	req, out := c.UpdateDomainNameRequest(input)
 10420  	req.SetContext(ctx)
 10421  	req.ApplyOptions(opts...)
 10422  	return out, req.Send()
 10423  }
 10424  
 10425  const opUpdateGatewayResponse = "UpdateGatewayResponse"
 10426  
 10427  // UpdateGatewayResponseRequest generates a "aws/request.Request" representing the
 10428  // client's request for the UpdateGatewayResponse operation. The "output" return
 10429  // value will be populated with the request's response once the request completes
 10430  // successfully.
 10431  //
 10432  // Use "Send" method on the returned Request to send the API call to the service.
 10433  // the "output" return value is not valid until after Send returns without error.
 10434  //
 10435  // See UpdateGatewayResponse for more information on using the UpdateGatewayResponse
 10436  // API call, and error handling.
 10437  //
 10438  // This method is useful when you want to inject custom logic or configuration
 10439  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10440  //
 10441  //
 10442  //    // Example sending a request using the UpdateGatewayResponseRequest method.
 10443  //    req, resp := client.UpdateGatewayResponseRequest(params)
 10444  //
 10445  //    err := req.Send()
 10446  //    if err == nil { // resp is now filled
 10447  //        fmt.Println(resp)
 10448  //    }
 10449  func (c *APIGateway) UpdateGatewayResponseRequest(input *UpdateGatewayResponseInput) (req *request.Request, output *UpdateGatewayResponseOutput) {
 10450  	op := &request.Operation{
 10451  		Name:       opUpdateGatewayResponse,
 10452  		HTTPMethod: "PATCH",
 10453  		HTTPPath:   "/restapis/{restapi_id}/gatewayresponses/{response_type}",
 10454  	}
 10455  
 10456  	if input == nil {
 10457  		input = &UpdateGatewayResponseInput{}
 10458  	}
 10459  
 10460  	output = &UpdateGatewayResponseOutput{}
 10461  	req = c.newRequest(op, input, output)
 10462  	return
 10463  }
 10464  
 10465  // UpdateGatewayResponse API operation for Amazon API Gateway.
 10466  //
 10467  // Updates a GatewayResponse of a specified response type on the given RestApi.
 10468  //
 10469  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10470  // with awserr.Error's Code and Message methods to get detailed information about
 10471  // the error.
 10472  //
 10473  // See the AWS API reference guide for Amazon API Gateway's
 10474  // API operation UpdateGatewayResponse for usage and error information.
 10475  //
 10476  // Returned Error Types:
 10477  //   * BadRequestException
 10478  //   The submitted request is not valid, for example, the input is incomplete
 10479  //   or incorrect. See the accompanying error message for details.
 10480  //
 10481  //   * ConflictException
 10482  //   The request configuration has conflicts. For details, see the accompanying
 10483  //   error message.
 10484  //
 10485  //   * LimitExceededException
 10486  //   The request exceeded the rate limit. Retry after the specified time period.
 10487  //
 10488  //   * NotFoundException
 10489  //   The requested resource is not found. Make sure that the request URI is correct.
 10490  //
 10491  //   * UnauthorizedException
 10492  //   The request is denied because the caller has insufficient permissions.
 10493  //
 10494  //   * TooManyRequestsException
 10495  //   The request has reached its throttling limit. Retry after the specified time
 10496  //   period.
 10497  //
 10498  func (c *APIGateway) UpdateGatewayResponse(input *UpdateGatewayResponseInput) (*UpdateGatewayResponseOutput, error) {
 10499  	req, out := c.UpdateGatewayResponseRequest(input)
 10500  	return out, req.Send()
 10501  }
 10502  
 10503  // UpdateGatewayResponseWithContext is the same as UpdateGatewayResponse with the addition of
 10504  // the ability to pass a context and additional request options.
 10505  //
 10506  // See UpdateGatewayResponse for details on how to use this API operation.
 10507  //
 10508  // The context must be non-nil and will be used for request cancellation. If
 10509  // the context is nil a panic will occur. In the future the SDK may create
 10510  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10511  // for more information on using Contexts.
 10512  func (c *APIGateway) UpdateGatewayResponseWithContext(ctx aws.Context, input *UpdateGatewayResponseInput, opts ...request.Option) (*UpdateGatewayResponseOutput, error) {
 10513  	req, out := c.UpdateGatewayResponseRequest(input)
 10514  	req.SetContext(ctx)
 10515  	req.ApplyOptions(opts...)
 10516  	return out, req.Send()
 10517  }
 10518  
 10519  const opUpdateIntegration = "UpdateIntegration"
 10520  
 10521  // UpdateIntegrationRequest generates a "aws/request.Request" representing the
 10522  // client's request for the UpdateIntegration operation. The "output" return
 10523  // value will be populated with the request's response once the request completes
 10524  // successfully.
 10525  //
 10526  // Use "Send" method on the returned Request to send the API call to the service.
 10527  // the "output" return value is not valid until after Send returns without error.
 10528  //
 10529  // See UpdateIntegration for more information on using the UpdateIntegration
 10530  // API call, and error handling.
 10531  //
 10532  // This method is useful when you want to inject custom logic or configuration
 10533  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10534  //
 10535  //
 10536  //    // Example sending a request using the UpdateIntegrationRequest method.
 10537  //    req, resp := client.UpdateIntegrationRequest(params)
 10538  //
 10539  //    err := req.Send()
 10540  //    if err == nil { // resp is now filled
 10541  //        fmt.Println(resp)
 10542  //    }
 10543  func (c *APIGateway) UpdateIntegrationRequest(input *UpdateIntegrationInput) (req *request.Request, output *Integration) {
 10544  	op := &request.Operation{
 10545  		Name:       opUpdateIntegration,
 10546  		HTTPMethod: "PATCH",
 10547  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
 10548  	}
 10549  
 10550  	if input == nil {
 10551  		input = &UpdateIntegrationInput{}
 10552  	}
 10553  
 10554  	output = &Integration{}
 10555  	req = c.newRequest(op, input, output)
 10556  	return
 10557  }
 10558  
 10559  // UpdateIntegration API operation for Amazon API Gateway.
 10560  //
 10561  // Represents an update integration.
 10562  //
 10563  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10564  // with awserr.Error's Code and Message methods to get detailed information about
 10565  // the error.
 10566  //
 10567  // See the AWS API reference guide for Amazon API Gateway's
 10568  // API operation UpdateIntegration for usage and error information.
 10569  //
 10570  // Returned Error Types:
 10571  //   * BadRequestException
 10572  //   The submitted request is not valid, for example, the input is incomplete
 10573  //   or incorrect. See the accompanying error message for details.
 10574  //
 10575  //   * ConflictException
 10576  //   The request configuration has conflicts. For details, see the accompanying
 10577  //   error message.
 10578  //
 10579  //   * LimitExceededException
 10580  //   The request exceeded the rate limit. Retry after the specified time period.
 10581  //
 10582  //   * NotFoundException
 10583  //   The requested resource is not found. Make sure that the request URI is correct.
 10584  //
 10585  //   * UnauthorizedException
 10586  //   The request is denied because the caller has insufficient permissions.
 10587  //
 10588  //   * TooManyRequestsException
 10589  //   The request has reached its throttling limit. Retry after the specified time
 10590  //   period.
 10591  //
 10592  func (c *APIGateway) UpdateIntegration(input *UpdateIntegrationInput) (*Integration, error) {
 10593  	req, out := c.UpdateIntegrationRequest(input)
 10594  	return out, req.Send()
 10595  }
 10596  
 10597  // UpdateIntegrationWithContext is the same as UpdateIntegration with the addition of
 10598  // the ability to pass a context and additional request options.
 10599  //
 10600  // See UpdateIntegration for details on how to use this API operation.
 10601  //
 10602  // The context must be non-nil and will be used for request cancellation. If
 10603  // the context is nil a panic will occur. In the future the SDK may create
 10604  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10605  // for more information on using Contexts.
 10606  func (c *APIGateway) UpdateIntegrationWithContext(ctx aws.Context, input *UpdateIntegrationInput, opts ...request.Option) (*Integration, error) {
 10607  	req, out := c.UpdateIntegrationRequest(input)
 10608  	req.SetContext(ctx)
 10609  	req.ApplyOptions(opts...)
 10610  	return out, req.Send()
 10611  }
 10612  
 10613  const opUpdateIntegrationResponse = "UpdateIntegrationResponse"
 10614  
 10615  // UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the
 10616  // client's request for the UpdateIntegrationResponse operation. The "output" return
 10617  // value will be populated with the request's response once the request completes
 10618  // successfully.
 10619  //
 10620  // Use "Send" method on the returned Request to send the API call to the service.
 10621  // the "output" return value is not valid until after Send returns without error.
 10622  //
 10623  // See UpdateIntegrationResponse for more information on using the UpdateIntegrationResponse
 10624  // API call, and error handling.
 10625  //
 10626  // This method is useful when you want to inject custom logic or configuration
 10627  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10628  //
 10629  //
 10630  //    // Example sending a request using the UpdateIntegrationResponseRequest method.
 10631  //    req, resp := client.UpdateIntegrationResponseRequest(params)
 10632  //
 10633  //    err := req.Send()
 10634  //    if err == nil { // resp is now filled
 10635  //        fmt.Println(resp)
 10636  //    }
 10637  func (c *APIGateway) UpdateIntegrationResponseRequest(input *UpdateIntegrationResponseInput) (req *request.Request, output *IntegrationResponse) {
 10638  	op := &request.Operation{
 10639  		Name:       opUpdateIntegrationResponse,
 10640  		HTTPMethod: "PATCH",
 10641  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
 10642  	}
 10643  
 10644  	if input == nil {
 10645  		input = &UpdateIntegrationResponseInput{}
 10646  	}
 10647  
 10648  	output = &IntegrationResponse{}
 10649  	req = c.newRequest(op, input, output)
 10650  	return
 10651  }
 10652  
 10653  // UpdateIntegrationResponse API operation for Amazon API Gateway.
 10654  //
 10655  // Represents an update integration response.
 10656  //
 10657  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10658  // with awserr.Error's Code and Message methods to get detailed information about
 10659  // the error.
 10660  //
 10661  // See the AWS API reference guide for Amazon API Gateway's
 10662  // API operation UpdateIntegrationResponse for usage and error information.
 10663  //
 10664  // Returned Error Types:
 10665  //   * BadRequestException
 10666  //   The submitted request is not valid, for example, the input is incomplete
 10667  //   or incorrect. See the accompanying error message for details.
 10668  //
 10669  //   * ConflictException
 10670  //   The request configuration has conflicts. For details, see the accompanying
 10671  //   error message.
 10672  //
 10673  //   * LimitExceededException
 10674  //   The request exceeded the rate limit. Retry after the specified time period.
 10675  //
 10676  //   * NotFoundException
 10677  //   The requested resource is not found. Make sure that the request URI is correct.
 10678  //
 10679  //   * UnauthorizedException
 10680  //   The request is denied because the caller has insufficient permissions.
 10681  //
 10682  //   * TooManyRequestsException
 10683  //   The request has reached its throttling limit. Retry after the specified time
 10684  //   period.
 10685  //
 10686  func (c *APIGateway) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*IntegrationResponse, error) {
 10687  	req, out := c.UpdateIntegrationResponseRequest(input)
 10688  	return out, req.Send()
 10689  }
 10690  
 10691  // UpdateIntegrationResponseWithContext is the same as UpdateIntegrationResponse with the addition of
 10692  // the ability to pass a context and additional request options.
 10693  //
 10694  // See UpdateIntegrationResponse for details on how to use this API operation.
 10695  //
 10696  // The context must be non-nil and will be used for request cancellation. If
 10697  // the context is nil a panic will occur. In the future the SDK may create
 10698  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10699  // for more information on using Contexts.
 10700  func (c *APIGateway) UpdateIntegrationResponseWithContext(ctx aws.Context, input *UpdateIntegrationResponseInput, opts ...request.Option) (*IntegrationResponse, error) {
 10701  	req, out := c.UpdateIntegrationResponseRequest(input)
 10702  	req.SetContext(ctx)
 10703  	req.ApplyOptions(opts...)
 10704  	return out, req.Send()
 10705  }
 10706  
 10707  const opUpdateMethod = "UpdateMethod"
 10708  
 10709  // UpdateMethodRequest generates a "aws/request.Request" representing the
 10710  // client's request for the UpdateMethod operation. The "output" return
 10711  // value will be populated with the request's response once the request completes
 10712  // successfully.
 10713  //
 10714  // Use "Send" method on the returned Request to send the API call to the service.
 10715  // the "output" return value is not valid until after Send returns without error.
 10716  //
 10717  // See UpdateMethod for more information on using the UpdateMethod
 10718  // API call, and error handling.
 10719  //
 10720  // This method is useful when you want to inject custom logic or configuration
 10721  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10722  //
 10723  //
 10724  //    // Example sending a request using the UpdateMethodRequest method.
 10725  //    req, resp := client.UpdateMethodRequest(params)
 10726  //
 10727  //    err := req.Send()
 10728  //    if err == nil { // resp is now filled
 10729  //        fmt.Println(resp)
 10730  //    }
 10731  func (c *APIGateway) UpdateMethodRequest(input *UpdateMethodInput) (req *request.Request, output *Method) {
 10732  	op := &request.Operation{
 10733  		Name:       opUpdateMethod,
 10734  		HTTPMethod: "PATCH",
 10735  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
 10736  	}
 10737  
 10738  	if input == nil {
 10739  		input = &UpdateMethodInput{}
 10740  	}
 10741  
 10742  	output = &Method{}
 10743  	req = c.newRequest(op, input, output)
 10744  	return
 10745  }
 10746  
 10747  // UpdateMethod API operation for Amazon API Gateway.
 10748  //
 10749  // Updates an existing Method resource.
 10750  //
 10751  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10752  // with awserr.Error's Code and Message methods to get detailed information about
 10753  // the error.
 10754  //
 10755  // See the AWS API reference guide for Amazon API Gateway's
 10756  // API operation UpdateMethod for usage and error information.
 10757  //
 10758  // Returned Error Types:
 10759  //   * UnauthorizedException
 10760  //   The request is denied because the caller has insufficient permissions.
 10761  //
 10762  //   * NotFoundException
 10763  //   The requested resource is not found. Make sure that the request URI is correct.
 10764  //
 10765  //   * BadRequestException
 10766  //   The submitted request is not valid, for example, the input is incomplete
 10767  //   or incorrect. See the accompanying error message for details.
 10768  //
 10769  //   * ConflictException
 10770  //   The request configuration has conflicts. For details, see the accompanying
 10771  //   error message.
 10772  //
 10773  //   * TooManyRequestsException
 10774  //   The request has reached its throttling limit. Retry after the specified time
 10775  //   period.
 10776  //
 10777  func (c *APIGateway) UpdateMethod(input *UpdateMethodInput) (*Method, error) {
 10778  	req, out := c.UpdateMethodRequest(input)
 10779  	return out, req.Send()
 10780  }
 10781  
 10782  // UpdateMethodWithContext is the same as UpdateMethod with the addition of
 10783  // the ability to pass a context and additional request options.
 10784  //
 10785  // See UpdateMethod for details on how to use this API operation.
 10786  //
 10787  // The context must be non-nil and will be used for request cancellation. If
 10788  // the context is nil a panic will occur. In the future the SDK may create
 10789  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10790  // for more information on using Contexts.
 10791  func (c *APIGateway) UpdateMethodWithContext(ctx aws.Context, input *UpdateMethodInput, opts ...request.Option) (*Method, error) {
 10792  	req, out := c.UpdateMethodRequest(input)
 10793  	req.SetContext(ctx)
 10794  	req.ApplyOptions(opts...)
 10795  	return out, req.Send()
 10796  }
 10797  
 10798  const opUpdateMethodResponse = "UpdateMethodResponse"
 10799  
 10800  // UpdateMethodResponseRequest generates a "aws/request.Request" representing the
 10801  // client's request for the UpdateMethodResponse operation. The "output" return
 10802  // value will be populated with the request's response once the request completes
 10803  // successfully.
 10804  //
 10805  // Use "Send" method on the returned Request to send the API call to the service.
 10806  // the "output" return value is not valid until after Send returns without error.
 10807  //
 10808  // See UpdateMethodResponse for more information on using the UpdateMethodResponse
 10809  // API call, and error handling.
 10810  //
 10811  // This method is useful when you want to inject custom logic or configuration
 10812  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10813  //
 10814  //
 10815  //    // Example sending a request using the UpdateMethodResponseRequest method.
 10816  //    req, resp := client.UpdateMethodResponseRequest(params)
 10817  //
 10818  //    err := req.Send()
 10819  //    if err == nil { // resp is now filled
 10820  //        fmt.Println(resp)
 10821  //    }
 10822  func (c *APIGateway) UpdateMethodResponseRequest(input *UpdateMethodResponseInput) (req *request.Request, output *MethodResponse) {
 10823  	op := &request.Operation{
 10824  		Name:       opUpdateMethodResponse,
 10825  		HTTPMethod: "PATCH",
 10826  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
 10827  	}
 10828  
 10829  	if input == nil {
 10830  		input = &UpdateMethodResponseInput{}
 10831  	}
 10832  
 10833  	output = &MethodResponse{}
 10834  	req = c.newRequest(op, input, output)
 10835  	return
 10836  }
 10837  
 10838  // UpdateMethodResponse API operation for Amazon API Gateway.
 10839  //
 10840  // Updates an existing MethodResponse resource.
 10841  //
 10842  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10843  // with awserr.Error's Code and Message methods to get detailed information about
 10844  // the error.
 10845  //
 10846  // See the AWS API reference guide for Amazon API Gateway's
 10847  // API operation UpdateMethodResponse for usage and error information.
 10848  //
 10849  // Returned Error Types:
 10850  //   * UnauthorizedException
 10851  //   The request is denied because the caller has insufficient permissions.
 10852  //
 10853  //   * NotFoundException
 10854  //   The requested resource is not found. Make sure that the request URI is correct.
 10855  //
 10856  //   * ConflictException
 10857  //   The request configuration has conflicts. For details, see the accompanying
 10858  //   error message.
 10859  //
 10860  //   * LimitExceededException
 10861  //   The request exceeded the rate limit. Retry after the specified time period.
 10862  //
 10863  //   * BadRequestException
 10864  //   The submitted request is not valid, for example, the input is incomplete
 10865  //   or incorrect. See the accompanying error message for details.
 10866  //
 10867  //   * TooManyRequestsException
 10868  //   The request has reached its throttling limit. Retry after the specified time
 10869  //   period.
 10870  //
 10871  func (c *APIGateway) UpdateMethodResponse(input *UpdateMethodResponseInput) (*MethodResponse, error) {
 10872  	req, out := c.UpdateMethodResponseRequest(input)
 10873  	return out, req.Send()
 10874  }
 10875  
 10876  // UpdateMethodResponseWithContext is the same as UpdateMethodResponse with the addition of
 10877  // the ability to pass a context and additional request options.
 10878  //
 10879  // See UpdateMethodResponse for details on how to use this API operation.
 10880  //
 10881  // The context must be non-nil and will be used for request cancellation. If
 10882  // the context is nil a panic will occur. In the future the SDK may create
 10883  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10884  // for more information on using Contexts.
 10885  func (c *APIGateway) UpdateMethodResponseWithContext(ctx aws.Context, input *UpdateMethodResponseInput, opts ...request.Option) (*MethodResponse, error) {
 10886  	req, out := c.UpdateMethodResponseRequest(input)
 10887  	req.SetContext(ctx)
 10888  	req.ApplyOptions(opts...)
 10889  	return out, req.Send()
 10890  }
 10891  
 10892  const opUpdateModel = "UpdateModel"
 10893  
 10894  // UpdateModelRequest generates a "aws/request.Request" representing the
 10895  // client's request for the UpdateModel operation. The "output" return
 10896  // value will be populated with the request's response once the request completes
 10897  // successfully.
 10898  //
 10899  // Use "Send" method on the returned Request to send the API call to the service.
 10900  // the "output" return value is not valid until after Send returns without error.
 10901  //
 10902  // See UpdateModel for more information on using the UpdateModel
 10903  // API call, and error handling.
 10904  //
 10905  // This method is useful when you want to inject custom logic or configuration
 10906  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10907  //
 10908  //
 10909  //    // Example sending a request using the UpdateModelRequest method.
 10910  //    req, resp := client.UpdateModelRequest(params)
 10911  //
 10912  //    err := req.Send()
 10913  //    if err == nil { // resp is now filled
 10914  //        fmt.Println(resp)
 10915  //    }
 10916  func (c *APIGateway) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *Model) {
 10917  	op := &request.Operation{
 10918  		Name:       opUpdateModel,
 10919  		HTTPMethod: "PATCH",
 10920  		HTTPPath:   "/restapis/{restapi_id}/models/{model_name}",
 10921  	}
 10922  
 10923  	if input == nil {
 10924  		input = &UpdateModelInput{}
 10925  	}
 10926  
 10927  	output = &Model{}
 10928  	req = c.newRequest(op, input, output)
 10929  	return
 10930  }
 10931  
 10932  // UpdateModel API operation for Amazon API Gateway.
 10933  //
 10934  // Changes information about a model.
 10935  //
 10936  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10937  // with awserr.Error's Code and Message methods to get detailed information about
 10938  // the error.
 10939  //
 10940  // See the AWS API reference guide for Amazon API Gateway's
 10941  // API operation UpdateModel for usage and error information.
 10942  //
 10943  // Returned Error Types:
 10944  //   * BadRequestException
 10945  //   The submitted request is not valid, for example, the input is incomplete
 10946  //   or incorrect. See the accompanying error message for details.
 10947  //
 10948  //   * ConflictException
 10949  //   The request configuration has conflicts. For details, see the accompanying
 10950  //   error message.
 10951  //
 10952  //   * LimitExceededException
 10953  //   The request exceeded the rate limit. Retry after the specified time period.
 10954  //
 10955  //   * NotFoundException
 10956  //   The requested resource is not found. Make sure that the request URI is correct.
 10957  //
 10958  //   * UnauthorizedException
 10959  //   The request is denied because the caller has insufficient permissions.
 10960  //
 10961  //   * TooManyRequestsException
 10962  //   The request has reached its throttling limit. Retry after the specified time
 10963  //   period.
 10964  //
 10965  func (c *APIGateway) UpdateModel(input *UpdateModelInput) (*Model, error) {
 10966  	req, out := c.UpdateModelRequest(input)
 10967  	return out, req.Send()
 10968  }
 10969  
 10970  // UpdateModelWithContext is the same as UpdateModel with the addition of
 10971  // the ability to pass a context and additional request options.
 10972  //
 10973  // See UpdateModel for details on how to use this API operation.
 10974  //
 10975  // The context must be non-nil and will be used for request cancellation. If
 10976  // the context is nil a panic will occur. In the future the SDK may create
 10977  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10978  // for more information on using Contexts.
 10979  func (c *APIGateway) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*Model, error) {
 10980  	req, out := c.UpdateModelRequest(input)
 10981  	req.SetContext(ctx)
 10982  	req.ApplyOptions(opts...)
 10983  	return out, req.Send()
 10984  }
 10985  
 10986  const opUpdateRequestValidator = "UpdateRequestValidator"
 10987  
 10988  // UpdateRequestValidatorRequest generates a "aws/request.Request" representing the
 10989  // client's request for the UpdateRequestValidator operation. The "output" return
 10990  // value will be populated with the request's response once the request completes
 10991  // successfully.
 10992  //
 10993  // Use "Send" method on the returned Request to send the API call to the service.
 10994  // the "output" return value is not valid until after Send returns without error.
 10995  //
 10996  // See UpdateRequestValidator for more information on using the UpdateRequestValidator
 10997  // API call, and error handling.
 10998  //
 10999  // This method is useful when you want to inject custom logic or configuration
 11000  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11001  //
 11002  //
 11003  //    // Example sending a request using the UpdateRequestValidatorRequest method.
 11004  //    req, resp := client.UpdateRequestValidatorRequest(params)
 11005  //
 11006  //    err := req.Send()
 11007  //    if err == nil { // resp is now filled
 11008  //        fmt.Println(resp)
 11009  //    }
 11010  func (c *APIGateway) UpdateRequestValidatorRequest(input *UpdateRequestValidatorInput) (req *request.Request, output *UpdateRequestValidatorOutput) {
 11011  	op := &request.Operation{
 11012  		Name:       opUpdateRequestValidator,
 11013  		HTTPMethod: "PATCH",
 11014  		HTTPPath:   "/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}",
 11015  	}
 11016  
 11017  	if input == nil {
 11018  		input = &UpdateRequestValidatorInput{}
 11019  	}
 11020  
 11021  	output = &UpdateRequestValidatorOutput{}
 11022  	req = c.newRequest(op, input, output)
 11023  	return
 11024  }
 11025  
 11026  // UpdateRequestValidator API operation for Amazon API Gateway.
 11027  //
 11028  // Updates a RequestValidator of a given RestApi.
 11029  //
 11030  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11031  // with awserr.Error's Code and Message methods to get detailed information about
 11032  // the error.
 11033  //
 11034  // See the AWS API reference guide for Amazon API Gateway's
 11035  // API operation UpdateRequestValidator for usage and error information.
 11036  //
 11037  // Returned Error Types:
 11038  //   * BadRequestException
 11039  //   The submitted request is not valid, for example, the input is incomplete
 11040  //   or incorrect. See the accompanying error message for details.
 11041  //
 11042  //   * ConflictException
 11043  //   The request configuration has conflicts. For details, see the accompanying
 11044  //   error message.
 11045  //
 11046  //   * LimitExceededException
 11047  //   The request exceeded the rate limit. Retry after the specified time period.
 11048  //
 11049  //   * NotFoundException
 11050  //   The requested resource is not found. Make sure that the request URI is correct.
 11051  //
 11052  //   * UnauthorizedException
 11053  //   The request is denied because the caller has insufficient permissions.
 11054  //
 11055  //   * TooManyRequestsException
 11056  //   The request has reached its throttling limit. Retry after the specified time
 11057  //   period.
 11058  //
 11059  func (c *APIGateway) UpdateRequestValidator(input *UpdateRequestValidatorInput) (*UpdateRequestValidatorOutput, error) {
 11060  	req, out := c.UpdateRequestValidatorRequest(input)
 11061  	return out, req.Send()
 11062  }
 11063  
 11064  // UpdateRequestValidatorWithContext is the same as UpdateRequestValidator with the addition of
 11065  // the ability to pass a context and additional request options.
 11066  //
 11067  // See UpdateRequestValidator for details on how to use this API operation.
 11068  //
 11069  // The context must be non-nil and will be used for request cancellation. If
 11070  // the context is nil a panic will occur. In the future the SDK may create
 11071  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11072  // for more information on using Contexts.
 11073  func (c *APIGateway) UpdateRequestValidatorWithContext(ctx aws.Context, input *UpdateRequestValidatorInput, opts ...request.Option) (*UpdateRequestValidatorOutput, error) {
 11074  	req, out := c.UpdateRequestValidatorRequest(input)
 11075  	req.SetContext(ctx)
 11076  	req.ApplyOptions(opts...)
 11077  	return out, req.Send()
 11078  }
 11079  
 11080  const opUpdateResource = "UpdateResource"
 11081  
 11082  // UpdateResourceRequest generates a "aws/request.Request" representing the
 11083  // client's request for the UpdateResource operation. The "output" return
 11084  // value will be populated with the request's response once the request completes
 11085  // successfully.
 11086  //
 11087  // Use "Send" method on the returned Request to send the API call to the service.
 11088  // the "output" return value is not valid until after Send returns without error.
 11089  //
 11090  // See UpdateResource for more information on using the UpdateResource
 11091  // API call, and error handling.
 11092  //
 11093  // This method is useful when you want to inject custom logic or configuration
 11094  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11095  //
 11096  //
 11097  //    // Example sending a request using the UpdateResourceRequest method.
 11098  //    req, resp := client.UpdateResourceRequest(params)
 11099  //
 11100  //    err := req.Send()
 11101  //    if err == nil { // resp is now filled
 11102  //        fmt.Println(resp)
 11103  //    }
 11104  func (c *APIGateway) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *Resource) {
 11105  	op := &request.Operation{
 11106  		Name:       opUpdateResource,
 11107  		HTTPMethod: "PATCH",
 11108  		HTTPPath:   "/restapis/{restapi_id}/resources/{resource_id}",
 11109  	}
 11110  
 11111  	if input == nil {
 11112  		input = &UpdateResourceInput{}
 11113  	}
 11114  
 11115  	output = &Resource{}
 11116  	req = c.newRequest(op, input, output)
 11117  	return
 11118  }
 11119  
 11120  // UpdateResource API operation for Amazon API Gateway.
 11121  //
 11122  // Changes information about a Resource resource.
 11123  //
 11124  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11125  // with awserr.Error's Code and Message methods to get detailed information about
 11126  // the error.
 11127  //
 11128  // See the AWS API reference guide for Amazon API Gateway's
 11129  // API operation UpdateResource for usage and error information.
 11130  //
 11131  // Returned Error Types:
 11132  //   * UnauthorizedException
 11133  //   The request is denied because the caller has insufficient permissions.
 11134  //
 11135  //   * NotFoundException
 11136  //   The requested resource is not found. Make sure that the request URI is correct.
 11137  //
 11138  //   * ConflictException
 11139  //   The request configuration has conflicts. For details, see the accompanying
 11140  //   error message.
 11141  //
 11142  //   * BadRequestException
 11143  //   The submitted request is not valid, for example, the input is incomplete
 11144  //   or incorrect. See the accompanying error message for details.
 11145  //
 11146  //   * TooManyRequestsException
 11147  //   The request has reached its throttling limit. Retry after the specified time
 11148  //   period.
 11149  //
 11150  func (c *APIGateway) UpdateResource(input *UpdateResourceInput) (*Resource, error) {
 11151  	req, out := c.UpdateResourceRequest(input)
 11152  	return out, req.Send()
 11153  }
 11154  
 11155  // UpdateResourceWithContext is the same as UpdateResource with the addition of
 11156  // the ability to pass a context and additional request options.
 11157  //
 11158  // See UpdateResource for details on how to use this API operation.
 11159  //
 11160  // The context must be non-nil and will be used for request cancellation. If
 11161  // the context is nil a panic will occur. In the future the SDK may create
 11162  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11163  // for more information on using Contexts.
 11164  func (c *APIGateway) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*Resource, error) {
 11165  	req, out := c.UpdateResourceRequest(input)
 11166  	req.SetContext(ctx)
 11167  	req.ApplyOptions(opts...)
 11168  	return out, req.Send()
 11169  }
 11170  
 11171  const opUpdateRestApi = "UpdateRestApi"
 11172  
 11173  // UpdateRestApiRequest generates a "aws/request.Request" representing the
 11174  // client's request for the UpdateRestApi operation. The "output" return
 11175  // value will be populated with the request's response once the request completes
 11176  // successfully.
 11177  //
 11178  // Use "Send" method on the returned Request to send the API call to the service.
 11179  // the "output" return value is not valid until after Send returns without error.
 11180  //
 11181  // See UpdateRestApi for more information on using the UpdateRestApi
 11182  // API call, and error handling.
 11183  //
 11184  // This method is useful when you want to inject custom logic or configuration
 11185  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11186  //
 11187  //
 11188  //    // Example sending a request using the UpdateRestApiRequest method.
 11189  //    req, resp := client.UpdateRestApiRequest(params)
 11190  //
 11191  //    err := req.Send()
 11192  //    if err == nil { // resp is now filled
 11193  //        fmt.Println(resp)
 11194  //    }
 11195  func (c *APIGateway) UpdateRestApiRequest(input *UpdateRestApiInput) (req *request.Request, output *RestApi) {
 11196  	op := &request.Operation{
 11197  		Name:       opUpdateRestApi,
 11198  		HTTPMethod: "PATCH",
 11199  		HTTPPath:   "/restapis/{restapi_id}",
 11200  	}
 11201  
 11202  	if input == nil {
 11203  		input = &UpdateRestApiInput{}
 11204  	}
 11205  
 11206  	output = &RestApi{}
 11207  	req = c.newRequest(op, input, output)
 11208  	return
 11209  }
 11210  
 11211  // UpdateRestApi API operation for Amazon API Gateway.
 11212  //
 11213  // Changes information about the specified API.
 11214  //
 11215  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11216  // with awserr.Error's Code and Message methods to get detailed information about
 11217  // the error.
 11218  //
 11219  // See the AWS API reference guide for Amazon API Gateway's
 11220  // API operation UpdateRestApi for usage and error information.
 11221  //
 11222  // Returned Error Types:
 11223  //   * BadRequestException
 11224  //   The submitted request is not valid, for example, the input is incomplete
 11225  //   or incorrect. See the accompanying error message for details.
 11226  //
 11227  //   * ConflictException
 11228  //   The request configuration has conflicts. For details, see the accompanying
 11229  //   error message.
 11230  //
 11231  //   * LimitExceededException
 11232  //   The request exceeded the rate limit. Retry after the specified time period.
 11233  //
 11234  //   * NotFoundException
 11235  //   The requested resource is not found. Make sure that the request URI is correct.
 11236  //
 11237  //   * UnauthorizedException
 11238  //   The request is denied because the caller has insufficient permissions.
 11239  //
 11240  //   * TooManyRequestsException
 11241  //   The request has reached its throttling limit. Retry after the specified time
 11242  //   period.
 11243  //
 11244  func (c *APIGateway) UpdateRestApi(input *UpdateRestApiInput) (*RestApi, error) {
 11245  	req, out := c.UpdateRestApiRequest(input)
 11246  	return out, req.Send()
 11247  }
 11248  
 11249  // UpdateRestApiWithContext is the same as UpdateRestApi with the addition of
 11250  // the ability to pass a context and additional request options.
 11251  //
 11252  // See UpdateRestApi for details on how to use this API operation.
 11253  //
 11254  // The context must be non-nil and will be used for request cancellation. If
 11255  // the context is nil a panic will occur. In the future the SDK may create
 11256  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11257  // for more information on using Contexts.
 11258  func (c *APIGateway) UpdateRestApiWithContext(ctx aws.Context, input *UpdateRestApiInput, opts ...request.Option) (*RestApi, error) {
 11259  	req, out := c.UpdateRestApiRequest(input)
 11260  	req.SetContext(ctx)
 11261  	req.ApplyOptions(opts...)
 11262  	return out, req.Send()
 11263  }
 11264  
 11265  const opUpdateStage = "UpdateStage"
 11266  
 11267  // UpdateStageRequest generates a "aws/request.Request" representing the
 11268  // client's request for the UpdateStage operation. The "output" return
 11269  // value will be populated with the request's response once the request completes
 11270  // successfully.
 11271  //
 11272  // Use "Send" method on the returned Request to send the API call to the service.
 11273  // the "output" return value is not valid until after Send returns without error.
 11274  //
 11275  // See UpdateStage for more information on using the UpdateStage
 11276  // API call, and error handling.
 11277  //
 11278  // This method is useful when you want to inject custom logic or configuration
 11279  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11280  //
 11281  //
 11282  //    // Example sending a request using the UpdateStageRequest method.
 11283  //    req, resp := client.UpdateStageRequest(params)
 11284  //
 11285  //    err := req.Send()
 11286  //    if err == nil { // resp is now filled
 11287  //        fmt.Println(resp)
 11288  //    }
 11289  func (c *APIGateway) UpdateStageRequest(input *UpdateStageInput) (req *request.Request, output *Stage) {
 11290  	op := &request.Operation{
 11291  		Name:       opUpdateStage,
 11292  		HTTPMethod: "PATCH",
 11293  		HTTPPath:   "/restapis/{restapi_id}/stages/{stage_name}",
 11294  	}
 11295  
 11296  	if input == nil {
 11297  		input = &UpdateStageInput{}
 11298  	}
 11299  
 11300  	output = &Stage{}
 11301  	req = c.newRequest(op, input, output)
 11302  	return
 11303  }
 11304  
 11305  // UpdateStage API operation for Amazon API Gateway.
 11306  //
 11307  // Changes information about a Stage resource.
 11308  //
 11309  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11310  // with awserr.Error's Code and Message methods to get detailed information about
 11311  // the error.
 11312  //
 11313  // See the AWS API reference guide for Amazon API Gateway's
 11314  // API operation UpdateStage for usage and error information.
 11315  //
 11316  // Returned Error Types:
 11317  //   * BadRequestException
 11318  //   The submitted request is not valid, for example, the input is incomplete
 11319  //   or incorrect. See the accompanying error message for details.
 11320  //
 11321  //   * ConflictException
 11322  //   The request configuration has conflicts. For details, see the accompanying
 11323  //   error message.
 11324  //
 11325  //   * LimitExceededException
 11326  //   The request exceeded the rate limit. Retry after the specified time period.
 11327  //
 11328  //   * NotFoundException
 11329  //   The requested resource is not found. Make sure that the request URI is correct.
 11330  //
 11331  //   * UnauthorizedException
 11332  //   The request is denied because the caller has insufficient permissions.
 11333  //
 11334  //   * TooManyRequestsException
 11335  //   The request has reached its throttling limit. Retry after the specified time
 11336  //   period.
 11337  //
 11338  func (c *APIGateway) UpdateStage(input *UpdateStageInput) (*Stage, error) {
 11339  	req, out := c.UpdateStageRequest(input)
 11340  	return out, req.Send()
 11341  }
 11342  
 11343  // UpdateStageWithContext is the same as UpdateStage with the addition of
 11344  // the ability to pass a context and additional request options.
 11345  //
 11346  // See UpdateStage for details on how to use this API operation.
 11347  //
 11348  // The context must be non-nil and will be used for request cancellation. If
 11349  // the context is nil a panic will occur. In the future the SDK may create
 11350  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11351  // for more information on using Contexts.
 11352  func (c *APIGateway) UpdateStageWithContext(ctx aws.Context, input *UpdateStageInput, opts ...request.Option) (*Stage, error) {
 11353  	req, out := c.UpdateStageRequest(input)
 11354  	req.SetContext(ctx)
 11355  	req.ApplyOptions(opts...)
 11356  	return out, req.Send()
 11357  }
 11358  
 11359  const opUpdateUsage = "UpdateUsage"
 11360  
 11361  // UpdateUsageRequest generates a "aws/request.Request" representing the
 11362  // client's request for the UpdateUsage operation. The "output" return
 11363  // value will be populated with the request's response once the request completes
 11364  // successfully.
 11365  //
 11366  // Use "Send" method on the returned Request to send the API call to the service.
 11367  // the "output" return value is not valid until after Send returns without error.
 11368  //
 11369  // See UpdateUsage for more information on using the UpdateUsage
 11370  // API call, and error handling.
 11371  //
 11372  // This method is useful when you want to inject custom logic or configuration
 11373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11374  //
 11375  //
 11376  //    // Example sending a request using the UpdateUsageRequest method.
 11377  //    req, resp := client.UpdateUsageRequest(params)
 11378  //
 11379  //    err := req.Send()
 11380  //    if err == nil { // resp is now filled
 11381  //        fmt.Println(resp)
 11382  //    }
 11383  func (c *APIGateway) UpdateUsageRequest(input *UpdateUsageInput) (req *request.Request, output *Usage) {
 11384  	op := &request.Operation{
 11385  		Name:       opUpdateUsage,
 11386  		HTTPMethod: "PATCH",
 11387  		HTTPPath:   "/usageplans/{usageplanId}/keys/{keyId}/usage",
 11388  	}
 11389  
 11390  	if input == nil {
 11391  		input = &UpdateUsageInput{}
 11392  	}
 11393  
 11394  	output = &Usage{}
 11395  	req = c.newRequest(op, input, output)
 11396  	return
 11397  }
 11398  
 11399  // UpdateUsage API operation for Amazon API Gateway.
 11400  //
 11401  // Grants a temporary extension to the remaining quota of a usage plan associated
 11402  // with a specified API key.
 11403  //
 11404  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11405  // with awserr.Error's Code and Message methods to get detailed information about
 11406  // the error.
 11407  //
 11408  // See the AWS API reference guide for Amazon API Gateway's
 11409  // API operation UpdateUsage for usage and error information.
 11410  //
 11411  // Returned Error Types:
 11412  //   * BadRequestException
 11413  //   The submitted request is not valid, for example, the input is incomplete
 11414  //   or incorrect. See the accompanying error message for details.
 11415  //
 11416  //   * ConflictException
 11417  //   The request configuration has conflicts. For details, see the accompanying
 11418  //   error message.
 11419  //
 11420  //   * LimitExceededException
 11421  //   The request exceeded the rate limit. Retry after the specified time period.
 11422  //
 11423  //   * NotFoundException
 11424  //   The requested resource is not found. Make sure that the request URI is correct.
 11425  //
 11426  //   * UnauthorizedException
 11427  //   The request is denied because the caller has insufficient permissions.
 11428  //
 11429  //   * TooManyRequestsException
 11430  //   The request has reached its throttling limit. Retry after the specified time
 11431  //   period.
 11432  //
 11433  func (c *APIGateway) UpdateUsage(input *UpdateUsageInput) (*Usage, error) {
 11434  	req, out := c.UpdateUsageRequest(input)
 11435  	return out, req.Send()
 11436  }
 11437  
 11438  // UpdateUsageWithContext is the same as UpdateUsage with the addition of
 11439  // the ability to pass a context and additional request options.
 11440  //
 11441  // See UpdateUsage for details on how to use this API operation.
 11442  //
 11443  // The context must be non-nil and will be used for request cancellation. If
 11444  // the context is nil a panic will occur. In the future the SDK may create
 11445  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11446  // for more information on using Contexts.
 11447  func (c *APIGateway) UpdateUsageWithContext(ctx aws.Context, input *UpdateUsageInput, opts ...request.Option) (*Usage, error) {
 11448  	req, out := c.UpdateUsageRequest(input)
 11449  	req.SetContext(ctx)
 11450  	req.ApplyOptions(opts...)
 11451  	return out, req.Send()
 11452  }
 11453  
 11454  const opUpdateUsagePlan = "UpdateUsagePlan"
 11455  
 11456  // UpdateUsagePlanRequest generates a "aws/request.Request" representing the
 11457  // client's request for the UpdateUsagePlan operation. The "output" return
 11458  // value will be populated with the request's response once the request completes
 11459  // successfully.
 11460  //
 11461  // Use "Send" method on the returned Request to send the API call to the service.
 11462  // the "output" return value is not valid until after Send returns without error.
 11463  //
 11464  // See UpdateUsagePlan for more information on using the UpdateUsagePlan
 11465  // API call, and error handling.
 11466  //
 11467  // This method is useful when you want to inject custom logic or configuration
 11468  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11469  //
 11470  //
 11471  //    // Example sending a request using the UpdateUsagePlanRequest method.
 11472  //    req, resp := client.UpdateUsagePlanRequest(params)
 11473  //
 11474  //    err := req.Send()
 11475  //    if err == nil { // resp is now filled
 11476  //        fmt.Println(resp)
 11477  //    }
 11478  func (c *APIGateway) UpdateUsagePlanRequest(input *UpdateUsagePlanInput) (req *request.Request, output *UsagePlan) {
 11479  	op := &request.Operation{
 11480  		Name:       opUpdateUsagePlan,
 11481  		HTTPMethod: "PATCH",
 11482  		HTTPPath:   "/usageplans/{usageplanId}",
 11483  	}
 11484  
 11485  	if input == nil {
 11486  		input = &UpdateUsagePlanInput{}
 11487  	}
 11488  
 11489  	output = &UsagePlan{}
 11490  	req = c.newRequest(op, input, output)
 11491  	return
 11492  }
 11493  
 11494  // UpdateUsagePlan API operation for Amazon API Gateway.
 11495  //
 11496  // Updates a usage plan of a given plan Id.
 11497  //
 11498  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11499  // with awserr.Error's Code and Message methods to get detailed information about
 11500  // the error.
 11501  //
 11502  // See the AWS API reference guide for Amazon API Gateway's
 11503  // API operation UpdateUsagePlan for usage and error information.
 11504  //
 11505  // Returned Error Types:
 11506  //   * BadRequestException
 11507  //   The submitted request is not valid, for example, the input is incomplete
 11508  //   or incorrect. See the accompanying error message for details.
 11509  //
 11510  //   * ConflictException
 11511  //   The request configuration has conflicts. For details, see the accompanying
 11512  //   error message.
 11513  //
 11514  //   * LimitExceededException
 11515  //   The request exceeded the rate limit. Retry after the specified time period.
 11516  //
 11517  //   * NotFoundException
 11518  //   The requested resource is not found. Make sure that the request URI is correct.
 11519  //
 11520  //   * UnauthorizedException
 11521  //   The request is denied because the caller has insufficient permissions.
 11522  //
 11523  //   * TooManyRequestsException
 11524  //   The request has reached its throttling limit. Retry after the specified time
 11525  //   period.
 11526  //
 11527  func (c *APIGateway) UpdateUsagePlan(input *UpdateUsagePlanInput) (*UsagePlan, error) {
 11528  	req, out := c.UpdateUsagePlanRequest(input)
 11529  	return out, req.Send()
 11530  }
 11531  
 11532  // UpdateUsagePlanWithContext is the same as UpdateUsagePlan with the addition of
 11533  // the ability to pass a context and additional request options.
 11534  //
 11535  // See UpdateUsagePlan for details on how to use this API operation.
 11536  //
 11537  // The context must be non-nil and will be used for request cancellation. If
 11538  // the context is nil a panic will occur. In the future the SDK may create
 11539  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11540  // for more information on using Contexts.
 11541  func (c *APIGateway) UpdateUsagePlanWithContext(ctx aws.Context, input *UpdateUsagePlanInput, opts ...request.Option) (*UsagePlan, error) {
 11542  	req, out := c.UpdateUsagePlanRequest(input)
 11543  	req.SetContext(ctx)
 11544  	req.ApplyOptions(opts...)
 11545  	return out, req.Send()
 11546  }
 11547  
 11548  const opUpdateVpcLink = "UpdateVpcLink"
 11549  
 11550  // UpdateVpcLinkRequest generates a "aws/request.Request" representing the
 11551  // client's request for the UpdateVpcLink operation. The "output" return
 11552  // value will be populated with the request's response once the request completes
 11553  // successfully.
 11554  //
 11555  // Use "Send" method on the returned Request to send the API call to the service.
 11556  // the "output" return value is not valid until after Send returns without error.
 11557  //
 11558  // See UpdateVpcLink for more information on using the UpdateVpcLink
 11559  // API call, and error handling.
 11560  //
 11561  // This method is useful when you want to inject custom logic or configuration
 11562  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11563  //
 11564  //
 11565  //    // Example sending a request using the UpdateVpcLinkRequest method.
 11566  //    req, resp := client.UpdateVpcLinkRequest(params)
 11567  //
 11568  //    err := req.Send()
 11569  //    if err == nil { // resp is now filled
 11570  //        fmt.Println(resp)
 11571  //    }
 11572  func (c *APIGateway) UpdateVpcLinkRequest(input *UpdateVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
 11573  	op := &request.Operation{
 11574  		Name:       opUpdateVpcLink,
 11575  		HTTPMethod: "PATCH",
 11576  		HTTPPath:   "/vpclinks/{vpclink_id}",
 11577  	}
 11578  
 11579  	if input == nil {
 11580  		input = &UpdateVpcLinkInput{}
 11581  	}
 11582  
 11583  	output = &UpdateVpcLinkOutput{}
 11584  	req = c.newRequest(op, input, output)
 11585  	return
 11586  }
 11587  
 11588  // UpdateVpcLink API operation for Amazon API Gateway.
 11589  //
 11590  // Updates an existing VpcLink of a specified identifier.
 11591  //
 11592  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11593  // with awserr.Error's Code and Message methods to get detailed information about
 11594  // the error.
 11595  //
 11596  // See the AWS API reference guide for Amazon API Gateway's
 11597  // API operation UpdateVpcLink for usage and error information.
 11598  //
 11599  // Returned Error Types:
 11600  //   * BadRequestException
 11601  //   The submitted request is not valid, for example, the input is incomplete
 11602  //   or incorrect. See the accompanying error message for details.
 11603  //
 11604  //   * ConflictException
 11605  //   The request configuration has conflicts. For details, see the accompanying
 11606  //   error message.
 11607  //
 11608  //   * LimitExceededException
 11609  //   The request exceeded the rate limit. Retry after the specified time period.
 11610  //
 11611  //   * NotFoundException
 11612  //   The requested resource is not found. Make sure that the request URI is correct.
 11613  //
 11614  //   * UnauthorizedException
 11615  //   The request is denied because the caller has insufficient permissions.
 11616  //
 11617  //   * TooManyRequestsException
 11618  //   The request has reached its throttling limit. Retry after the specified time
 11619  //   period.
 11620  //
 11621  func (c *APIGateway) UpdateVpcLink(input *UpdateVpcLinkInput) (*UpdateVpcLinkOutput, error) {
 11622  	req, out := c.UpdateVpcLinkRequest(input)
 11623  	return out, req.Send()
 11624  }
 11625  
 11626  // UpdateVpcLinkWithContext is the same as UpdateVpcLink with the addition of
 11627  // the ability to pass a context and additional request options.
 11628  //
 11629  // See UpdateVpcLink for details on how to use this API operation.
 11630  //
 11631  // The context must be non-nil and will be used for request cancellation. If
 11632  // the context is nil a panic will occur. In the future the SDK may create
 11633  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11634  // for more information on using Contexts.
 11635  func (c *APIGateway) UpdateVpcLinkWithContext(ctx aws.Context, input *UpdateVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
 11636  	req, out := c.UpdateVpcLinkRequest(input)
 11637  	req.SetContext(ctx)
 11638  	req.ApplyOptions(opts...)
 11639  	return out, req.Send()
 11640  }
 11641  
 11642  // Access log settings, including the access log format and access log destination
 11643  // ARN.
 11644  type AccessLogSettings struct {
 11645  	_ struct{} `type:"structure"`
 11646  
 11647  	// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis
 11648  	// Data Firehose delivery stream to receive access logs. If you specify a Kinesis
 11649  	// Data Firehose delivery stream, the stream name must begin with amazon-apigateway-.
 11650  	DestinationArn *string `locationName:"destinationArn" type:"string"`
 11651  
 11652  	// A single line format of the access logs of data, as specified by selected
 11653  	// $context variables (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference).
 11654  	// The format must include at least $context.requestId.
 11655  	Format *string `locationName:"format" type:"string"`
 11656  }
 11657  
 11658  // String returns the string representation.
 11659  //
 11660  // API parameter values that are decorated as "sensitive" in the API will not
 11661  // be included in the string output. The member name will be present, but the
 11662  // value will be replaced with "sensitive".
 11663  func (s AccessLogSettings) String() string {
 11664  	return awsutil.Prettify(s)
 11665  }
 11666  
 11667  // GoString returns the string representation.
 11668  //
 11669  // API parameter values that are decorated as "sensitive" in the API will not
 11670  // be included in the string output. The member name will be present, but the
 11671  // value will be replaced with "sensitive".
 11672  func (s AccessLogSettings) GoString() string {
 11673  	return s.String()
 11674  }
 11675  
 11676  // SetDestinationArn sets the DestinationArn field's value.
 11677  func (s *AccessLogSettings) SetDestinationArn(v string) *AccessLogSettings {
 11678  	s.DestinationArn = &v
 11679  	return s
 11680  }
 11681  
 11682  // SetFormat sets the Format field's value.
 11683  func (s *AccessLogSettings) SetFormat(v string) *AccessLogSettings {
 11684  	s.Format = &v
 11685  	return s
 11686  }
 11687  
 11688  // Represents an AWS account that is associated with API Gateway.
 11689  //
 11690  // To view the account info, call GET on this resource.
 11691  //
 11692  // Error Codes
 11693  //
 11694  // The following exception may be thrown when the request fails.
 11695  //
 11696  //    * UnauthorizedException
 11697  //
 11698  //    * NotFoundException
 11699  //
 11700  //    * TooManyRequestsException
 11701  //
 11702  // For detailed error code information, including the corresponding HTTP Status
 11703  // Codes, see API Gateway Error Codes (https://docs.aws.amazon.com/apigateway/api-reference/handling-errors/#api-error-codes)
 11704  //
 11705  // Example: Get the information about an account.
 11706  //
 11707  // Request
 11708  //  GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
 11709  //  X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request,
 11710  //  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 11711  // Response
 11712  //
 11713  // The successful response returns a 200 OK status code and a payload similar
 11714  // to the following:
 11715  //  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html",
 11716  //  "name": "account", "templated": true }, "self": { "href": "/account" },
 11717  //  "account:update": { "href": "/account" } }, "cloudwatchRoleArn": "arn:aws:iam::123456789012:role/apigAwsProxyRole",
 11718  //  "throttleSettings": { "rateLimit": 500, "burstLimit": 1000 } }
 11719  // In addition to making the REST API call directly, you can use the AWS CLI
 11720  // and an AWS SDK to access this resource.
 11721  //
 11722  // API Gateway Limits (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-limits.html)
 11723  // Developer Guide (https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html),
 11724  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-account.html)
 11725  type Account struct {
 11726  	_ struct{} `type:"structure"`
 11727  
 11728  	// The version of the API keys used for the account.
 11729  	ApiKeyVersion *string `locationName:"apiKeyVersion" type:"string"`
 11730  
 11731  	// The ARN of an Amazon CloudWatch role for the current Account.
 11732  	CloudwatchRoleArn *string `locationName:"cloudwatchRoleArn" type:"string"`
 11733  
 11734  	// A list of features supported for the account. When usage plans are enabled,
 11735  	// the features list will include an entry of "UsagePlans".
 11736  	Features []*string `locationName:"features" type:"list"`
 11737  
 11738  	// Specifies the API request limits configured for the current Account.
 11739  	ThrottleSettings *ThrottleSettings `locationName:"throttleSettings" type:"structure"`
 11740  }
 11741  
 11742  // String returns the string representation.
 11743  //
 11744  // API parameter values that are decorated as "sensitive" in the API will not
 11745  // be included in the string output. The member name will be present, but the
 11746  // value will be replaced with "sensitive".
 11747  func (s Account) String() string {
 11748  	return awsutil.Prettify(s)
 11749  }
 11750  
 11751  // GoString returns the string representation.
 11752  //
 11753  // API parameter values that are decorated as "sensitive" in the API will not
 11754  // be included in the string output. The member name will be present, but the
 11755  // value will be replaced with "sensitive".
 11756  func (s Account) GoString() string {
 11757  	return s.String()
 11758  }
 11759  
 11760  // SetApiKeyVersion sets the ApiKeyVersion field's value.
 11761  func (s *Account) SetApiKeyVersion(v string) *Account {
 11762  	s.ApiKeyVersion = &v
 11763  	return s
 11764  }
 11765  
 11766  // SetCloudwatchRoleArn sets the CloudwatchRoleArn field's value.
 11767  func (s *Account) SetCloudwatchRoleArn(v string) *Account {
 11768  	s.CloudwatchRoleArn = &v
 11769  	return s
 11770  }
 11771  
 11772  // SetFeatures sets the Features field's value.
 11773  func (s *Account) SetFeatures(v []*string) *Account {
 11774  	s.Features = v
 11775  	return s
 11776  }
 11777  
 11778  // SetThrottleSettings sets the ThrottleSettings field's value.
 11779  func (s *Account) SetThrottleSettings(v *ThrottleSettings) *Account {
 11780  	s.ThrottleSettings = v
 11781  	return s
 11782  }
 11783  
 11784  // A resource that can be distributed to callers for executing Method resources
 11785  // that require an API key. API keys can be mapped to any Stage on any RestApi,
 11786  // which indicates that the callers with the API key can make requests to that
 11787  // stage.
 11788  //
 11789  // Use API Keys (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html)
 11790  type ApiKey struct {
 11791  	_ struct{} `type:"structure"`
 11792  
 11793  	// The timestamp when the API Key was created.
 11794  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
 11795  
 11796  	// An AWS Marketplace customer identifier , when integrating with the AWS SaaS
 11797  	// Marketplace.
 11798  	CustomerId *string `locationName:"customerId" type:"string"`
 11799  
 11800  	// The description of the API Key.
 11801  	Description *string `locationName:"description" type:"string"`
 11802  
 11803  	// Specifies whether the API Key can be used by callers.
 11804  	Enabled *bool `locationName:"enabled" type:"boolean"`
 11805  
 11806  	// The identifier of the API Key.
 11807  	Id *string `locationName:"id" type:"string"`
 11808  
 11809  	// The timestamp when the API Key was last updated.
 11810  	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"`
 11811  
 11812  	// The name of the API Key.
 11813  	Name *string `locationName:"name" type:"string"`
 11814  
 11815  	// A list of Stage resources that are associated with the ApiKey resource.
 11816  	StageKeys []*string `locationName:"stageKeys" type:"list"`
 11817  
 11818  	// The collection of tags. Each tag element is associated with a given resource.
 11819  	Tags map[string]*string `locationName:"tags" type:"map"`
 11820  
 11821  	// The value of the API Key.
 11822  	Value *string `locationName:"value" type:"string"`
 11823  }
 11824  
 11825  // String returns the string representation.
 11826  //
 11827  // API parameter values that are decorated as "sensitive" in the API will not
 11828  // be included in the string output. The member name will be present, but the
 11829  // value will be replaced with "sensitive".
 11830  func (s ApiKey) String() string {
 11831  	return awsutil.Prettify(s)
 11832  }
 11833  
 11834  // GoString returns the string representation.
 11835  //
 11836  // API parameter values that are decorated as "sensitive" in the API will not
 11837  // be included in the string output. The member name will be present, but the
 11838  // value will be replaced with "sensitive".
 11839  func (s ApiKey) GoString() string {
 11840  	return s.String()
 11841  }
 11842  
 11843  // SetCreatedDate sets the CreatedDate field's value.
 11844  func (s *ApiKey) SetCreatedDate(v time.Time) *ApiKey {
 11845  	s.CreatedDate = &v
 11846  	return s
 11847  }
 11848  
 11849  // SetCustomerId sets the CustomerId field's value.
 11850  func (s *ApiKey) SetCustomerId(v string) *ApiKey {
 11851  	s.CustomerId = &v
 11852  	return s
 11853  }
 11854  
 11855  // SetDescription sets the Description field's value.
 11856  func (s *ApiKey) SetDescription(v string) *ApiKey {
 11857  	s.Description = &v
 11858  	return s
 11859  }
 11860  
 11861  // SetEnabled sets the Enabled field's value.
 11862  func (s *ApiKey) SetEnabled(v bool) *ApiKey {
 11863  	s.Enabled = &v
 11864  	return s
 11865  }
 11866  
 11867  // SetId sets the Id field's value.
 11868  func (s *ApiKey) SetId(v string) *ApiKey {
 11869  	s.Id = &v
 11870  	return s
 11871  }
 11872  
 11873  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
 11874  func (s *ApiKey) SetLastUpdatedDate(v time.Time) *ApiKey {
 11875  	s.LastUpdatedDate = &v
 11876  	return s
 11877  }
 11878  
 11879  // SetName sets the Name field's value.
 11880  func (s *ApiKey) SetName(v string) *ApiKey {
 11881  	s.Name = &v
 11882  	return s
 11883  }
 11884  
 11885  // SetStageKeys sets the StageKeys field's value.
 11886  func (s *ApiKey) SetStageKeys(v []*string) *ApiKey {
 11887  	s.StageKeys = v
 11888  	return s
 11889  }
 11890  
 11891  // SetTags sets the Tags field's value.
 11892  func (s *ApiKey) SetTags(v map[string]*string) *ApiKey {
 11893  	s.Tags = v
 11894  	return s
 11895  }
 11896  
 11897  // SetValue sets the Value field's value.
 11898  func (s *ApiKey) SetValue(v string) *ApiKey {
 11899  	s.Value = &v
 11900  	return s
 11901  }
 11902  
 11903  // API stage name of the associated API stage in a usage plan.
 11904  type ApiStage struct {
 11905  	_ struct{} `type:"structure"`
 11906  
 11907  	// API Id of the associated API stage in a usage plan.
 11908  	ApiId *string `locationName:"apiId" type:"string"`
 11909  
 11910  	// API stage name of the associated API stage in a usage plan.
 11911  	Stage *string `locationName:"stage" type:"string"`
 11912  
 11913  	// Map containing method level throttling information for API stage in a usage
 11914  	// plan.
 11915  	Throttle map[string]*ThrottleSettings `locationName:"throttle" type:"map"`
 11916  }
 11917  
 11918  // String returns the string representation.
 11919  //
 11920  // API parameter values that are decorated as "sensitive" in the API will not
 11921  // be included in the string output. The member name will be present, but the
 11922  // value will be replaced with "sensitive".
 11923  func (s ApiStage) String() string {
 11924  	return awsutil.Prettify(s)
 11925  }
 11926  
 11927  // GoString returns the string representation.
 11928  //
 11929  // API parameter values that are decorated as "sensitive" in the API will not
 11930  // be included in the string output. The member name will be present, but the
 11931  // value will be replaced with "sensitive".
 11932  func (s ApiStage) GoString() string {
 11933  	return s.String()
 11934  }
 11935  
 11936  // SetApiId sets the ApiId field's value.
 11937  func (s *ApiStage) SetApiId(v string) *ApiStage {
 11938  	s.ApiId = &v
 11939  	return s
 11940  }
 11941  
 11942  // SetStage sets the Stage field's value.
 11943  func (s *ApiStage) SetStage(v string) *ApiStage {
 11944  	s.Stage = &v
 11945  	return s
 11946  }
 11947  
 11948  // SetThrottle sets the Throttle field's value.
 11949  func (s *ApiStage) SetThrottle(v map[string]*ThrottleSettings) *ApiStage {
 11950  	s.Throttle = v
 11951  	return s
 11952  }
 11953  
 11954  // Represents an authorization layer for methods. If enabled on a method, API
 11955  // Gateway will activate the authorizer when a client calls the method.
 11956  //
 11957  // Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
 11958  // Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
 11959  type Authorizer struct {
 11960  	_ struct{} `type:"structure"`
 11961  
 11962  	// Optional customer-defined field, used in OpenAPI imports and exports without
 11963  	// functional impact.
 11964  	AuthType *string `locationName:"authType" type:"string"`
 11965  
 11966  	// Specifies the required credentials as an IAM role for API Gateway to invoke
 11967  	// the authorizer. To specify an IAM role for API Gateway to assume, use the
 11968  	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
 11969  	// Lambda function, specify null.
 11970  	AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"`
 11971  
 11972  	// The TTL in seconds of cached authorizer results. If it equals 0, authorization
 11973  	// caching is disabled. If it is greater than 0, API Gateway will cache authorizer
 11974  	// responses. If this field is not set, the default value is 300. The maximum
 11975  	// value is 3600, or 1 hour.
 11976  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
 11977  
 11978  	// Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or
 11979  	// REQUEST authorizers, this must be a well-formed Lambda function URI, for
 11980  	// 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.
 11981  	// In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api},
 11982  	// where {region} is the same as the region hosting the Lambda function, path
 11983  	// indicates that the remaining substring in the URI should be treated as the
 11984  	// path to the resource, including the initial /. For Lambda functions, this
 11985  	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.
 11986  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
 11987  
 11988  	// The identifier for the authorizer resource.
 11989  	Id *string `locationName:"id" type:"string"`
 11990  
 11991  	// The identity source for which authorization is requested.
 11992  	//    * For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies
 11993  	//    the request header mapping expression for the custom header holding the
 11994  	//    authorization token submitted by the client. For example, if the token
 11995  	//    header name is Auth, the header mapping expression is method.request.header.Auth.
 11996  	//
 11997  	//    * For the REQUEST authorizer, this is required when authorization caching
 11998  	//    is enabled. The value is a comma-separated string of one or more mapping
 11999  	//    expressions of the specified request parameters. For example, if an Auth
 12000  	//    header, a Name query string parameter are defined as identity sources,
 12001  	//    this value is method.request.header.Auth, method.request.querystring.Name.
 12002  	//    These parameters will be used to derive the authorization caching key
 12003  	//    and to perform runtime validation of the REQUEST authorizer by verifying
 12004  	//    all of the identity-related request parameters are present, not null and
 12005  	//    non-empty. Only when this is true does the authorizer invoke the authorizer
 12006  	//    Lambda function, otherwise, it returns a 401 Unauthorized response without
 12007  	//    calling the Lambda function. The valid value is a string of comma-separated
 12008  	//    mapping expressions of the specified request parameters. When the authorization
 12009  	//    caching is not enabled, this property is optional.
 12010  	IdentitySource *string `locationName:"identitySource" type:"string"`
 12011  
 12012  	// A validation expression for the incoming identity token. For TOKEN authorizers,
 12013  	// this value is a regular expression. For COGNITO_USER_POOLS authorizers, API
 12014  	// Gateway will match the aud field of the incoming token from the client against
 12015  	// the specified regular expression. It will invoke the authorizer's Lambda
 12016  	// function when there is a match. Otherwise, it will return a 401 Unauthorized
 12017  	// response without calling the Lambda function. The validation expression does
 12018  	// not apply to the REQUEST authorizer.
 12019  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
 12020  
 12021  	// [Required] The name of the authorizer.
 12022  	Name *string `locationName:"name" type:"string"`
 12023  
 12024  	// A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer.
 12025  	// Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}.
 12026  	// For a TOKEN or REQUEST authorizer, this is not defined.
 12027  	ProviderARNs []*string `locationName:"providerARNs" type:"list"`
 12028  
 12029  	// The authorizer type. Valid values are TOKEN for a Lambda function using a
 12030  	// single authorization token submitted in a custom header, REQUEST for a Lambda
 12031  	// function using incoming request parameters, and COGNITO_USER_POOLS for using
 12032  	// an Amazon Cognito user pool.
 12033  	Type *string `locationName:"type" type:"string" enum:"AuthorizerType"`
 12034  }
 12035  
 12036  // String returns the string representation.
 12037  //
 12038  // API parameter values that are decorated as "sensitive" in the API will not
 12039  // be included in the string output. The member name will be present, but the
 12040  // value will be replaced with "sensitive".
 12041  func (s Authorizer) String() string {
 12042  	return awsutil.Prettify(s)
 12043  }
 12044  
 12045  // GoString returns the string representation.
 12046  //
 12047  // API parameter values that are decorated as "sensitive" in the API will not
 12048  // be included in the string output. The member name will be present, but the
 12049  // value will be replaced with "sensitive".
 12050  func (s Authorizer) GoString() string {
 12051  	return s.String()
 12052  }
 12053  
 12054  // SetAuthType sets the AuthType field's value.
 12055  func (s *Authorizer) SetAuthType(v string) *Authorizer {
 12056  	s.AuthType = &v
 12057  	return s
 12058  }
 12059  
 12060  // SetAuthorizerCredentials sets the AuthorizerCredentials field's value.
 12061  func (s *Authorizer) SetAuthorizerCredentials(v string) *Authorizer {
 12062  	s.AuthorizerCredentials = &v
 12063  	return s
 12064  }
 12065  
 12066  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
 12067  func (s *Authorizer) SetAuthorizerResultTtlInSeconds(v int64) *Authorizer {
 12068  	s.AuthorizerResultTtlInSeconds = &v
 12069  	return s
 12070  }
 12071  
 12072  // SetAuthorizerUri sets the AuthorizerUri field's value.
 12073  func (s *Authorizer) SetAuthorizerUri(v string) *Authorizer {
 12074  	s.AuthorizerUri = &v
 12075  	return s
 12076  }
 12077  
 12078  // SetId sets the Id field's value.
 12079  func (s *Authorizer) SetId(v string) *Authorizer {
 12080  	s.Id = &v
 12081  	return s
 12082  }
 12083  
 12084  // SetIdentitySource sets the IdentitySource field's value.
 12085  func (s *Authorizer) SetIdentitySource(v string) *Authorizer {
 12086  	s.IdentitySource = &v
 12087  	return s
 12088  }
 12089  
 12090  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
 12091  func (s *Authorizer) SetIdentityValidationExpression(v string) *Authorizer {
 12092  	s.IdentityValidationExpression = &v
 12093  	return s
 12094  }
 12095  
 12096  // SetName sets the Name field's value.
 12097  func (s *Authorizer) SetName(v string) *Authorizer {
 12098  	s.Name = &v
 12099  	return s
 12100  }
 12101  
 12102  // SetProviderARNs sets the ProviderARNs field's value.
 12103  func (s *Authorizer) SetProviderARNs(v []*string) *Authorizer {
 12104  	s.ProviderARNs = v
 12105  	return s
 12106  }
 12107  
 12108  // SetType sets the Type field's value.
 12109  func (s *Authorizer) SetType(v string) *Authorizer {
 12110  	s.Type = &v
 12111  	return s
 12112  }
 12113  
 12114  // The submitted request is not valid, for example, the input is incomplete
 12115  // or incorrect. See the accompanying error message for details.
 12116  type BadRequestException struct {
 12117  	_            struct{}                  `type:"structure"`
 12118  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12119  
 12120  	Message_ *string `locationName:"message" type:"string"`
 12121  }
 12122  
 12123  // String returns the string representation.
 12124  //
 12125  // API parameter values that are decorated as "sensitive" in the API will not
 12126  // be included in the string output. The member name will be present, but the
 12127  // value will be replaced with "sensitive".
 12128  func (s BadRequestException) String() string {
 12129  	return awsutil.Prettify(s)
 12130  }
 12131  
 12132  // GoString returns the string representation.
 12133  //
 12134  // API parameter values that are decorated as "sensitive" in the API will not
 12135  // be included in the string output. The member name will be present, but the
 12136  // value will be replaced with "sensitive".
 12137  func (s BadRequestException) GoString() string {
 12138  	return s.String()
 12139  }
 12140  
 12141  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
 12142  	return &BadRequestException{
 12143  		RespMetadata: v,
 12144  	}
 12145  }
 12146  
 12147  // Code returns the exception type name.
 12148  func (s *BadRequestException) Code() string {
 12149  	return "BadRequestException"
 12150  }
 12151  
 12152  // Message returns the exception's message.
 12153  func (s *BadRequestException) Message() string {
 12154  	if s.Message_ != nil {
 12155  		return *s.Message_
 12156  	}
 12157  	return ""
 12158  }
 12159  
 12160  // OrigErr always returns nil, satisfies awserr.Error interface.
 12161  func (s *BadRequestException) OrigErr() error {
 12162  	return nil
 12163  }
 12164  
 12165  func (s *BadRequestException) Error() string {
 12166  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12167  }
 12168  
 12169  // Status code returns the HTTP status code for the request's response error.
 12170  func (s *BadRequestException) StatusCode() int {
 12171  	return s.RespMetadata.StatusCode
 12172  }
 12173  
 12174  // RequestID returns the service's response RequestID for request.
 12175  func (s *BadRequestException) RequestID() string {
 12176  	return s.RespMetadata.RequestID
 12177  }
 12178  
 12179  // Represents the base path that callers of the API must provide as part of
 12180  // the URL after the domain name.
 12181  //
 12182  // A custom domain name plus a BasePathMapping specification identifies a deployed
 12183  // RestApi in a given stage of the owner Account.
 12184  //
 12185  // Use Custom Domain Names (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
 12186  type BasePathMapping struct {
 12187  	_ struct{} `type:"structure"`
 12188  
 12189  	// The base path name that callers of the API must provide as part of the URL
 12190  	// after the domain name.
 12191  	BasePath *string `locationName:"basePath" type:"string"`
 12192  
 12193  	// The string identifier of the associated RestApi.
 12194  	RestApiId *string `locationName:"restApiId" type:"string"`
 12195  
 12196  	// The name of the associated stage.
 12197  	Stage *string `locationName:"stage" type:"string"`
 12198  }
 12199  
 12200  // String returns the string representation.
 12201  //
 12202  // API parameter values that are decorated as "sensitive" in the API will not
 12203  // be included in the string output. The member name will be present, but the
 12204  // value will be replaced with "sensitive".
 12205  func (s BasePathMapping) String() string {
 12206  	return awsutil.Prettify(s)
 12207  }
 12208  
 12209  // GoString returns the string representation.
 12210  //
 12211  // API parameter values that are decorated as "sensitive" in the API will not
 12212  // be included in the string output. The member name will be present, but the
 12213  // value will be replaced with "sensitive".
 12214  func (s BasePathMapping) GoString() string {
 12215  	return s.String()
 12216  }
 12217  
 12218  // SetBasePath sets the BasePath field's value.
 12219  func (s *BasePathMapping) SetBasePath(v string) *BasePathMapping {
 12220  	s.BasePath = &v
 12221  	return s
 12222  }
 12223  
 12224  // SetRestApiId sets the RestApiId field's value.
 12225  func (s *BasePathMapping) SetRestApiId(v string) *BasePathMapping {
 12226  	s.RestApiId = &v
 12227  	return s
 12228  }
 12229  
 12230  // SetStage sets the Stage field's value.
 12231  func (s *BasePathMapping) SetStage(v string) *BasePathMapping {
 12232  	s.Stage = &v
 12233  	return s
 12234  }
 12235  
 12236  // Configuration settings of a canary deployment.
 12237  type CanarySettings struct {
 12238  	_ struct{} `type:"structure"`
 12239  
 12240  	// The ID of the canary deployment.
 12241  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 12242  
 12243  	// The percent (0-100) of traffic diverted to a canary deployment.
 12244  	PercentTraffic *float64 `locationName:"percentTraffic" type:"double"`
 12245  
 12246  	// Stage variables overridden for a canary release deployment, including new
 12247  	// stage variables introduced in the canary. These stage variables are represented
 12248  	// as a string-to-string map between stage variable names and their values.
 12249  	StageVariableOverrides map[string]*string `locationName:"stageVariableOverrides" type:"map"`
 12250  
 12251  	// A Boolean flag to indicate whether the canary deployment uses the stage cache
 12252  	// or not.
 12253  	UseStageCache *bool `locationName:"useStageCache" type:"boolean"`
 12254  }
 12255  
 12256  // String returns the string representation.
 12257  //
 12258  // API parameter values that are decorated as "sensitive" in the API will not
 12259  // be included in the string output. The member name will be present, but the
 12260  // value will be replaced with "sensitive".
 12261  func (s CanarySettings) String() string {
 12262  	return awsutil.Prettify(s)
 12263  }
 12264  
 12265  // GoString returns the string representation.
 12266  //
 12267  // API parameter values that are decorated as "sensitive" in the API will not
 12268  // be included in the string output. The member name will be present, but the
 12269  // value will be replaced with "sensitive".
 12270  func (s CanarySettings) GoString() string {
 12271  	return s.String()
 12272  }
 12273  
 12274  // SetDeploymentId sets the DeploymentId field's value.
 12275  func (s *CanarySettings) SetDeploymentId(v string) *CanarySettings {
 12276  	s.DeploymentId = &v
 12277  	return s
 12278  }
 12279  
 12280  // SetPercentTraffic sets the PercentTraffic field's value.
 12281  func (s *CanarySettings) SetPercentTraffic(v float64) *CanarySettings {
 12282  	s.PercentTraffic = &v
 12283  	return s
 12284  }
 12285  
 12286  // SetStageVariableOverrides sets the StageVariableOverrides field's value.
 12287  func (s *CanarySettings) SetStageVariableOverrides(v map[string]*string) *CanarySettings {
 12288  	s.StageVariableOverrides = v
 12289  	return s
 12290  }
 12291  
 12292  // SetUseStageCache sets the UseStageCache field's value.
 12293  func (s *CanarySettings) SetUseStageCache(v bool) *CanarySettings {
 12294  	s.UseStageCache = &v
 12295  	return s
 12296  }
 12297  
 12298  // Represents a client certificate used to configure client-side SSL authentication
 12299  // while sending requests to the integration endpoint.
 12300  //
 12301  // Client certificates are used to authenticate an API by the backend server.
 12302  // To authenticate an API client (or user), use IAM roles and policies, a custom
 12303  // Authorizer or an Amazon Cognito user pool.
 12304  //
 12305  // Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html)
 12306  type ClientCertificate struct {
 12307  	_ struct{} `type:"structure"`
 12308  
 12309  	// The identifier of the client certificate.
 12310  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
 12311  
 12312  	// The timestamp when the client certificate was created.
 12313  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
 12314  
 12315  	// The description of the client certificate.
 12316  	Description *string `locationName:"description" type:"string"`
 12317  
 12318  	// The timestamp when the client certificate will expire.
 12319  	ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp"`
 12320  
 12321  	// The PEM-encoded public key of the client certificate, which can be used to
 12322  	// configure certificate authentication in the integration endpoint .
 12323  	PemEncodedCertificate *string `locationName:"pemEncodedCertificate" type:"string"`
 12324  
 12325  	// The collection of tags. Each tag element is associated with a given resource.
 12326  	Tags map[string]*string `locationName:"tags" type:"map"`
 12327  }
 12328  
 12329  // String returns the string representation.
 12330  //
 12331  // API parameter values that are decorated as "sensitive" in the API will not
 12332  // be included in the string output. The member name will be present, but the
 12333  // value will be replaced with "sensitive".
 12334  func (s ClientCertificate) String() string {
 12335  	return awsutil.Prettify(s)
 12336  }
 12337  
 12338  // GoString returns the string representation.
 12339  //
 12340  // API parameter values that are decorated as "sensitive" in the API will not
 12341  // be included in the string output. The member name will be present, but the
 12342  // value will be replaced with "sensitive".
 12343  func (s ClientCertificate) GoString() string {
 12344  	return s.String()
 12345  }
 12346  
 12347  // SetClientCertificateId sets the ClientCertificateId field's value.
 12348  func (s *ClientCertificate) SetClientCertificateId(v string) *ClientCertificate {
 12349  	s.ClientCertificateId = &v
 12350  	return s
 12351  }
 12352  
 12353  // SetCreatedDate sets the CreatedDate field's value.
 12354  func (s *ClientCertificate) SetCreatedDate(v time.Time) *ClientCertificate {
 12355  	s.CreatedDate = &v
 12356  	return s
 12357  }
 12358  
 12359  // SetDescription sets the Description field's value.
 12360  func (s *ClientCertificate) SetDescription(v string) *ClientCertificate {
 12361  	s.Description = &v
 12362  	return s
 12363  }
 12364  
 12365  // SetExpirationDate sets the ExpirationDate field's value.
 12366  func (s *ClientCertificate) SetExpirationDate(v time.Time) *ClientCertificate {
 12367  	s.ExpirationDate = &v
 12368  	return s
 12369  }
 12370  
 12371  // SetPemEncodedCertificate sets the PemEncodedCertificate field's value.
 12372  func (s *ClientCertificate) SetPemEncodedCertificate(v string) *ClientCertificate {
 12373  	s.PemEncodedCertificate = &v
 12374  	return s
 12375  }
 12376  
 12377  // SetTags sets the Tags field's value.
 12378  func (s *ClientCertificate) SetTags(v map[string]*string) *ClientCertificate {
 12379  	s.Tags = v
 12380  	return s
 12381  }
 12382  
 12383  // The request configuration has conflicts. For details, see the accompanying
 12384  // error message.
 12385  type ConflictException struct {
 12386  	_            struct{}                  `type:"structure"`
 12387  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12388  
 12389  	Message_ *string `locationName:"message" type:"string"`
 12390  }
 12391  
 12392  // String returns the string representation.
 12393  //
 12394  // API parameter values that are decorated as "sensitive" in the API will not
 12395  // be included in the string output. The member name will be present, but the
 12396  // value will be replaced with "sensitive".
 12397  func (s ConflictException) String() string {
 12398  	return awsutil.Prettify(s)
 12399  }
 12400  
 12401  // GoString returns the string representation.
 12402  //
 12403  // API parameter values that are decorated as "sensitive" in the API will not
 12404  // be included in the string output. The member name will be present, but the
 12405  // value will be replaced with "sensitive".
 12406  func (s ConflictException) GoString() string {
 12407  	return s.String()
 12408  }
 12409  
 12410  func newErrorConflictException(v protocol.ResponseMetadata) error {
 12411  	return &ConflictException{
 12412  		RespMetadata: v,
 12413  	}
 12414  }
 12415  
 12416  // Code returns the exception type name.
 12417  func (s *ConflictException) Code() string {
 12418  	return "ConflictException"
 12419  }
 12420  
 12421  // Message returns the exception's message.
 12422  func (s *ConflictException) Message() string {
 12423  	if s.Message_ != nil {
 12424  		return *s.Message_
 12425  	}
 12426  	return ""
 12427  }
 12428  
 12429  // OrigErr always returns nil, satisfies awserr.Error interface.
 12430  func (s *ConflictException) OrigErr() error {
 12431  	return nil
 12432  }
 12433  
 12434  func (s *ConflictException) Error() string {
 12435  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12436  }
 12437  
 12438  // Status code returns the HTTP status code for the request's response error.
 12439  func (s *ConflictException) StatusCode() int {
 12440  	return s.RespMetadata.StatusCode
 12441  }
 12442  
 12443  // RequestID returns the service's response RequestID for request.
 12444  func (s *ConflictException) RequestID() string {
 12445  	return s.RespMetadata.RequestID
 12446  }
 12447  
 12448  // Request to create an ApiKey resource.
 12449  type CreateApiKeyInput struct {
 12450  	_ struct{} `type:"structure"`
 12451  
 12452  	// An AWS Marketplace customer identifier , when integrating with the AWS SaaS
 12453  	// Marketplace.
 12454  	CustomerId *string `locationName:"customerId" type:"string"`
 12455  
 12456  	// The description of the ApiKey.
 12457  	Description *string `locationName:"description" type:"string"`
 12458  
 12459  	// Specifies whether the ApiKey can be used by callers.
 12460  	Enabled *bool `locationName:"enabled" type:"boolean"`
 12461  
 12462  	// Specifies whether (true) or not (false) the key identifier is distinct from
 12463  	// the created API key value. This parameter is deprecated and should not be
 12464  	// used.
 12465  	GenerateDistinctId *bool `locationName:"generateDistinctId" type:"boolean"`
 12466  
 12467  	// The name of the ApiKey.
 12468  	Name *string `locationName:"name" type:"string"`
 12469  
 12470  	// DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
 12471  	StageKeys []*StageKey `locationName:"stageKeys" type:"list"`
 12472  
 12473  	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 12474  	// The tag key can be up to 128 characters and must not start with aws:. The
 12475  	// tag value can be up to 256 characters.
 12476  	Tags map[string]*string `locationName:"tags" type:"map"`
 12477  
 12478  	// Specifies a value of the API key.
 12479  	Value *string `locationName:"value" type:"string"`
 12480  }
 12481  
 12482  // String returns the string representation.
 12483  //
 12484  // API parameter values that are decorated as "sensitive" in the API will not
 12485  // be included in the string output. The member name will be present, but the
 12486  // value will be replaced with "sensitive".
 12487  func (s CreateApiKeyInput) String() string {
 12488  	return awsutil.Prettify(s)
 12489  }
 12490  
 12491  // GoString returns the string representation.
 12492  //
 12493  // API parameter values that are decorated as "sensitive" in the API will not
 12494  // be included in the string output. The member name will be present, but the
 12495  // value will be replaced with "sensitive".
 12496  func (s CreateApiKeyInput) GoString() string {
 12497  	return s.String()
 12498  }
 12499  
 12500  // SetCustomerId sets the CustomerId field's value.
 12501  func (s *CreateApiKeyInput) SetCustomerId(v string) *CreateApiKeyInput {
 12502  	s.CustomerId = &v
 12503  	return s
 12504  }
 12505  
 12506  // SetDescription sets the Description field's value.
 12507  func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput {
 12508  	s.Description = &v
 12509  	return s
 12510  }
 12511  
 12512  // SetEnabled sets the Enabled field's value.
 12513  func (s *CreateApiKeyInput) SetEnabled(v bool) *CreateApiKeyInput {
 12514  	s.Enabled = &v
 12515  	return s
 12516  }
 12517  
 12518  // SetGenerateDistinctId sets the GenerateDistinctId field's value.
 12519  func (s *CreateApiKeyInput) SetGenerateDistinctId(v bool) *CreateApiKeyInput {
 12520  	s.GenerateDistinctId = &v
 12521  	return s
 12522  }
 12523  
 12524  // SetName sets the Name field's value.
 12525  func (s *CreateApiKeyInput) SetName(v string) *CreateApiKeyInput {
 12526  	s.Name = &v
 12527  	return s
 12528  }
 12529  
 12530  // SetStageKeys sets the StageKeys field's value.
 12531  func (s *CreateApiKeyInput) SetStageKeys(v []*StageKey) *CreateApiKeyInput {
 12532  	s.StageKeys = v
 12533  	return s
 12534  }
 12535  
 12536  // SetTags sets the Tags field's value.
 12537  func (s *CreateApiKeyInput) SetTags(v map[string]*string) *CreateApiKeyInput {
 12538  	s.Tags = v
 12539  	return s
 12540  }
 12541  
 12542  // SetValue sets the Value field's value.
 12543  func (s *CreateApiKeyInput) SetValue(v string) *CreateApiKeyInput {
 12544  	s.Value = &v
 12545  	return s
 12546  }
 12547  
 12548  // Request to add a new Authorizer to an existing RestApi resource.
 12549  type CreateAuthorizerInput struct {
 12550  	_ struct{} `type:"structure"`
 12551  
 12552  	// Optional customer-defined field, used in OpenAPI imports and exports without
 12553  	// functional impact.
 12554  	AuthType *string `locationName:"authType" type:"string"`
 12555  
 12556  	// Specifies the required credentials as an IAM role for API Gateway to invoke
 12557  	// the authorizer. To specify an IAM role for API Gateway to assume, use the
 12558  	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
 12559  	// Lambda function, specify null.
 12560  	AuthorizerCredentials *string `locationName:"authorizerCredentials" type:"string"`
 12561  
 12562  	// The TTL in seconds of cached authorizer results. If it equals 0, authorization
 12563  	// caching is disabled. If it is greater than 0, API Gateway will cache authorizer
 12564  	// responses. If this field is not set, the default value is 300. The maximum
 12565  	// value is 3600, or 1 hour.
 12566  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
 12567  
 12568  	// Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or
 12569  	// REQUEST authorizers, this must be a well-formed Lambda function URI, for
 12570  	// 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.
 12571  	// In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api},
 12572  	// where {region} is the same as the region hosting the Lambda function, path
 12573  	// indicates that the remaining substring in the URI should be treated as the
 12574  	// path to the resource, including the initial /. For Lambda functions, this
 12575  	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.
 12576  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
 12577  
 12578  	// The identity source for which authorization is requested.
 12579  	//    * For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies
 12580  	//    the request header mapping expression for the custom header holding the
 12581  	//    authorization token submitted by the client. For example, if the token
 12582  	//    header name is Auth, the header mapping expression is method.request.header.Auth.
 12583  	//
 12584  	//    * For the REQUEST authorizer, this is required when authorization caching
 12585  	//    is enabled. The value is a comma-separated string of one or more mapping
 12586  	//    expressions of the specified request parameters. For example, if an Auth
 12587  	//    header, a Name query string parameter are defined as identity sources,
 12588  	//    this value is method.request.header.Auth, method.request.querystring.Name.
 12589  	//    These parameters will be used to derive the authorization caching key
 12590  	//    and to perform runtime validation of the REQUEST authorizer by verifying
 12591  	//    all of the identity-related request parameters are present, not null and
 12592  	//    non-empty. Only when this is true does the authorizer invoke the authorizer
 12593  	//    Lambda function, otherwise, it returns a 401 Unauthorized response without
 12594  	//    calling the Lambda function. The valid value is a string of comma-separated
 12595  	//    mapping expressions of the specified request parameters. When the authorization
 12596  	//    caching is not enabled, this property is optional.
 12597  	IdentitySource *string `locationName:"identitySource" type:"string"`
 12598  
 12599  	// A validation expression for the incoming identity token. For TOKEN authorizers,
 12600  	// this value is a regular expression. For COGNITO_USER_POOLS authorizers, API
 12601  	// Gateway will match the aud field of the incoming token from the client against
 12602  	// the specified regular expression. It will invoke the authorizer's Lambda
 12603  	// function when there is a match. Otherwise, it will return a 401 Unauthorized
 12604  	// response without calling the Lambda function. The validation expression does
 12605  	// not apply to the REQUEST authorizer.
 12606  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
 12607  
 12608  	// [Required] The name of the authorizer.
 12609  	//
 12610  	// Name is a required field
 12611  	Name *string `locationName:"name" type:"string" required:"true"`
 12612  
 12613  	// A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer.
 12614  	// Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}.
 12615  	// For a TOKEN or REQUEST authorizer, this is not defined.
 12616  	ProviderARNs []*string `locationName:"providerARNs" type:"list"`
 12617  
 12618  	// [Required] The string identifier of the associated RestApi.
 12619  	//
 12620  	// RestApiId is a required field
 12621  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 12622  
 12623  	// [Required] The authorizer type. Valid values are TOKEN for a Lambda function
 12624  	// using a single authorization token submitted in a custom header, REQUEST
 12625  	// for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS
 12626  	// for using an Amazon Cognito user pool.
 12627  	//
 12628  	// Type is a required field
 12629  	Type *string `locationName:"type" type:"string" required:"true" enum:"AuthorizerType"`
 12630  }
 12631  
 12632  // String returns the string representation.
 12633  //
 12634  // API parameter values that are decorated as "sensitive" in the API will not
 12635  // be included in the string output. The member name will be present, but the
 12636  // value will be replaced with "sensitive".
 12637  func (s CreateAuthorizerInput) String() string {
 12638  	return awsutil.Prettify(s)
 12639  }
 12640  
 12641  // GoString returns the string representation.
 12642  //
 12643  // API parameter values that are decorated as "sensitive" in the API will not
 12644  // be included in the string output. The member name will be present, but the
 12645  // value will be replaced with "sensitive".
 12646  func (s CreateAuthorizerInput) GoString() string {
 12647  	return s.String()
 12648  }
 12649  
 12650  // Validate inspects the fields of the type to determine if they are valid.
 12651  func (s *CreateAuthorizerInput) Validate() error {
 12652  	invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"}
 12653  	if s.Name == nil {
 12654  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12655  	}
 12656  	if s.RestApiId == nil {
 12657  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 12658  	}
 12659  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 12660  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 12661  	}
 12662  	if s.Type == nil {
 12663  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12664  	}
 12665  
 12666  	if invalidParams.Len() > 0 {
 12667  		return invalidParams
 12668  	}
 12669  	return nil
 12670  }
 12671  
 12672  // SetAuthType sets the AuthType field's value.
 12673  func (s *CreateAuthorizerInput) SetAuthType(v string) *CreateAuthorizerInput {
 12674  	s.AuthType = &v
 12675  	return s
 12676  }
 12677  
 12678  // SetAuthorizerCredentials sets the AuthorizerCredentials field's value.
 12679  func (s *CreateAuthorizerInput) SetAuthorizerCredentials(v string) *CreateAuthorizerInput {
 12680  	s.AuthorizerCredentials = &v
 12681  	return s
 12682  }
 12683  
 12684  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
 12685  func (s *CreateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerInput {
 12686  	s.AuthorizerResultTtlInSeconds = &v
 12687  	return s
 12688  }
 12689  
 12690  // SetAuthorizerUri sets the AuthorizerUri field's value.
 12691  func (s *CreateAuthorizerInput) SetAuthorizerUri(v string) *CreateAuthorizerInput {
 12692  	s.AuthorizerUri = &v
 12693  	return s
 12694  }
 12695  
 12696  // SetIdentitySource sets the IdentitySource field's value.
 12697  func (s *CreateAuthorizerInput) SetIdentitySource(v string) *CreateAuthorizerInput {
 12698  	s.IdentitySource = &v
 12699  	return s
 12700  }
 12701  
 12702  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
 12703  func (s *CreateAuthorizerInput) SetIdentityValidationExpression(v string) *CreateAuthorizerInput {
 12704  	s.IdentityValidationExpression = &v
 12705  	return s
 12706  }
 12707  
 12708  // SetName sets the Name field's value.
 12709  func (s *CreateAuthorizerInput) SetName(v string) *CreateAuthorizerInput {
 12710  	s.Name = &v
 12711  	return s
 12712  }
 12713  
 12714  // SetProviderARNs sets the ProviderARNs field's value.
 12715  func (s *CreateAuthorizerInput) SetProviderARNs(v []*string) *CreateAuthorizerInput {
 12716  	s.ProviderARNs = v
 12717  	return s
 12718  }
 12719  
 12720  // SetRestApiId sets the RestApiId field's value.
 12721  func (s *CreateAuthorizerInput) SetRestApiId(v string) *CreateAuthorizerInput {
 12722  	s.RestApiId = &v
 12723  	return s
 12724  }
 12725  
 12726  // SetType sets the Type field's value.
 12727  func (s *CreateAuthorizerInput) SetType(v string) *CreateAuthorizerInput {
 12728  	s.Type = &v
 12729  	return s
 12730  }
 12731  
 12732  // Requests API Gateway to create a new BasePathMapping resource.
 12733  type CreateBasePathMappingInput struct {
 12734  	_ struct{} `type:"structure"`
 12735  
 12736  	// The base path name that callers of the API must provide as part of the URL
 12737  	// after the domain name. This value must be unique for all of the mappings
 12738  	// across a single API. Specify '(none)' if you do not want callers to specify
 12739  	// a base path name after the domain name.
 12740  	BasePath *string `locationName:"basePath" type:"string"`
 12741  
 12742  	// [Required] The domain name of the BasePathMapping resource to create.
 12743  	//
 12744  	// DomainName is a required field
 12745  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 12746  
 12747  	// [Required] The string identifier of the associated RestApi.
 12748  	//
 12749  	// RestApiId is a required field
 12750  	RestApiId *string `locationName:"restApiId" type:"string" required:"true"`
 12751  
 12752  	// The name of the API's stage that you want to use for this mapping. Specify
 12753  	// '(none)' if you want callers to explicitly specify the stage name after any
 12754  	// base path name.
 12755  	Stage *string `locationName:"stage" type:"string"`
 12756  }
 12757  
 12758  // String returns the string representation.
 12759  //
 12760  // API parameter values that are decorated as "sensitive" in the API will not
 12761  // be included in the string output. The member name will be present, but the
 12762  // value will be replaced with "sensitive".
 12763  func (s CreateBasePathMappingInput) String() string {
 12764  	return awsutil.Prettify(s)
 12765  }
 12766  
 12767  // GoString returns the string representation.
 12768  //
 12769  // API parameter values that are decorated as "sensitive" in the API will not
 12770  // be included in the string output. The member name will be present, but the
 12771  // value will be replaced with "sensitive".
 12772  func (s CreateBasePathMappingInput) GoString() string {
 12773  	return s.String()
 12774  }
 12775  
 12776  // Validate inspects the fields of the type to determine if they are valid.
 12777  func (s *CreateBasePathMappingInput) Validate() error {
 12778  	invalidParams := request.ErrInvalidParams{Context: "CreateBasePathMappingInput"}
 12779  	if s.DomainName == nil {
 12780  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 12781  	}
 12782  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 12783  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 12784  	}
 12785  	if s.RestApiId == nil {
 12786  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 12787  	}
 12788  
 12789  	if invalidParams.Len() > 0 {
 12790  		return invalidParams
 12791  	}
 12792  	return nil
 12793  }
 12794  
 12795  // SetBasePath sets the BasePath field's value.
 12796  func (s *CreateBasePathMappingInput) SetBasePath(v string) *CreateBasePathMappingInput {
 12797  	s.BasePath = &v
 12798  	return s
 12799  }
 12800  
 12801  // SetDomainName sets the DomainName field's value.
 12802  func (s *CreateBasePathMappingInput) SetDomainName(v string) *CreateBasePathMappingInput {
 12803  	s.DomainName = &v
 12804  	return s
 12805  }
 12806  
 12807  // SetRestApiId sets the RestApiId field's value.
 12808  func (s *CreateBasePathMappingInput) SetRestApiId(v string) *CreateBasePathMappingInput {
 12809  	s.RestApiId = &v
 12810  	return s
 12811  }
 12812  
 12813  // SetStage sets the Stage field's value.
 12814  func (s *CreateBasePathMappingInput) SetStage(v string) *CreateBasePathMappingInput {
 12815  	s.Stage = &v
 12816  	return s
 12817  }
 12818  
 12819  // Requests API Gateway to create a Deployment resource.
 12820  type CreateDeploymentInput struct {
 12821  	_ struct{} `type:"structure"`
 12822  
 12823  	// Enables a cache cluster for the Stage resource specified in the input.
 12824  	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
 12825  
 12826  	// Specifies the cache cluster size for the Stage resource specified in the
 12827  	// input, if a cache cluster is enabled.
 12828  	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
 12829  
 12830  	// The input configuration for the canary deployment when the deployment is
 12831  	// a canary release deployment.
 12832  	CanarySettings *DeploymentCanarySettings `locationName:"canarySettings" type:"structure"`
 12833  
 12834  	// The description for the Deployment resource to create.
 12835  	Description *string `locationName:"description" type:"string"`
 12836  
 12837  	// [Required] The string identifier of the associated RestApi.
 12838  	//
 12839  	// RestApiId is a required field
 12840  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 12841  
 12842  	// The description of the Stage resource for the Deployment resource to create.
 12843  	StageDescription *string `locationName:"stageDescription" type:"string"`
 12844  
 12845  	// The name of the Stage resource for the Deployment resource to create.
 12846  	StageName *string `locationName:"stageName" type:"string"`
 12847  
 12848  	// Specifies whether active tracing with X-ray is enabled for the Stage.
 12849  	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
 12850  
 12851  	// A map that defines the stage variables for the Stage resource that is associated
 12852  	// with the new deployment. Variable names can have alphanumeric and underscore
 12853  	// characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
 12854  	Variables map[string]*string `locationName:"variables" type:"map"`
 12855  }
 12856  
 12857  // String returns the string representation.
 12858  //
 12859  // API parameter values that are decorated as "sensitive" in the API will not
 12860  // be included in the string output. The member name will be present, but the
 12861  // value will be replaced with "sensitive".
 12862  func (s CreateDeploymentInput) String() string {
 12863  	return awsutil.Prettify(s)
 12864  }
 12865  
 12866  // GoString returns the string representation.
 12867  //
 12868  // API parameter values that are decorated as "sensitive" in the API will not
 12869  // be included in the string output. The member name will be present, but the
 12870  // value will be replaced with "sensitive".
 12871  func (s CreateDeploymentInput) GoString() string {
 12872  	return s.String()
 12873  }
 12874  
 12875  // Validate inspects the fields of the type to determine if they are valid.
 12876  func (s *CreateDeploymentInput) Validate() error {
 12877  	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
 12878  	if s.RestApiId == nil {
 12879  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 12880  	}
 12881  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 12882  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 12883  	}
 12884  
 12885  	if invalidParams.Len() > 0 {
 12886  		return invalidParams
 12887  	}
 12888  	return nil
 12889  }
 12890  
 12891  // SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
 12892  func (s *CreateDeploymentInput) SetCacheClusterEnabled(v bool) *CreateDeploymentInput {
 12893  	s.CacheClusterEnabled = &v
 12894  	return s
 12895  }
 12896  
 12897  // SetCacheClusterSize sets the CacheClusterSize field's value.
 12898  func (s *CreateDeploymentInput) SetCacheClusterSize(v string) *CreateDeploymentInput {
 12899  	s.CacheClusterSize = &v
 12900  	return s
 12901  }
 12902  
 12903  // SetCanarySettings sets the CanarySettings field's value.
 12904  func (s *CreateDeploymentInput) SetCanarySettings(v *DeploymentCanarySettings) *CreateDeploymentInput {
 12905  	s.CanarySettings = v
 12906  	return s
 12907  }
 12908  
 12909  // SetDescription sets the Description field's value.
 12910  func (s *CreateDeploymentInput) SetDescription(v string) *CreateDeploymentInput {
 12911  	s.Description = &v
 12912  	return s
 12913  }
 12914  
 12915  // SetRestApiId sets the RestApiId field's value.
 12916  func (s *CreateDeploymentInput) SetRestApiId(v string) *CreateDeploymentInput {
 12917  	s.RestApiId = &v
 12918  	return s
 12919  }
 12920  
 12921  // SetStageDescription sets the StageDescription field's value.
 12922  func (s *CreateDeploymentInput) SetStageDescription(v string) *CreateDeploymentInput {
 12923  	s.StageDescription = &v
 12924  	return s
 12925  }
 12926  
 12927  // SetStageName sets the StageName field's value.
 12928  func (s *CreateDeploymentInput) SetStageName(v string) *CreateDeploymentInput {
 12929  	s.StageName = &v
 12930  	return s
 12931  }
 12932  
 12933  // SetTracingEnabled sets the TracingEnabled field's value.
 12934  func (s *CreateDeploymentInput) SetTracingEnabled(v bool) *CreateDeploymentInput {
 12935  	s.TracingEnabled = &v
 12936  	return s
 12937  }
 12938  
 12939  // SetVariables sets the Variables field's value.
 12940  func (s *CreateDeploymentInput) SetVariables(v map[string]*string) *CreateDeploymentInput {
 12941  	s.Variables = v
 12942  	return s
 12943  }
 12944  
 12945  // Creates a new documentation part of a given API.
 12946  type CreateDocumentationPartInput struct {
 12947  	_ struct{} `type:"structure"`
 12948  
 12949  	// [Required] The location of the targeted API entity of the to-be-created documentation
 12950  	// part.
 12951  	//
 12952  	// Location is a required field
 12953  	Location *DocumentationPartLocation `locationName:"location" type:"structure" required:"true"`
 12954  
 12955  	// [Required] The new documentation content map of the targeted API entity.
 12956  	// Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value
 12957  	// pairs can be exported and, hence, published.
 12958  	//
 12959  	// Properties is a required field
 12960  	Properties *string `locationName:"properties" type:"string" required:"true"`
 12961  
 12962  	// [Required] The string identifier of the associated RestApi.
 12963  	//
 12964  	// RestApiId is a required field
 12965  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 12966  }
 12967  
 12968  // String returns the string representation.
 12969  //
 12970  // API parameter values that are decorated as "sensitive" in the API will not
 12971  // be included in the string output. The member name will be present, but the
 12972  // value will be replaced with "sensitive".
 12973  func (s CreateDocumentationPartInput) String() string {
 12974  	return awsutil.Prettify(s)
 12975  }
 12976  
 12977  // GoString returns the string representation.
 12978  //
 12979  // API parameter values that are decorated as "sensitive" in the API will not
 12980  // be included in the string output. The member name will be present, but the
 12981  // value will be replaced with "sensitive".
 12982  func (s CreateDocumentationPartInput) GoString() string {
 12983  	return s.String()
 12984  }
 12985  
 12986  // Validate inspects the fields of the type to determine if they are valid.
 12987  func (s *CreateDocumentationPartInput) Validate() error {
 12988  	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationPartInput"}
 12989  	if s.Location == nil {
 12990  		invalidParams.Add(request.NewErrParamRequired("Location"))
 12991  	}
 12992  	if s.Properties == nil {
 12993  		invalidParams.Add(request.NewErrParamRequired("Properties"))
 12994  	}
 12995  	if s.RestApiId == nil {
 12996  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 12997  	}
 12998  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 12999  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 13000  	}
 13001  	if s.Location != nil {
 13002  		if err := s.Location.Validate(); err != nil {
 13003  			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
 13004  		}
 13005  	}
 13006  
 13007  	if invalidParams.Len() > 0 {
 13008  		return invalidParams
 13009  	}
 13010  	return nil
 13011  }
 13012  
 13013  // SetLocation sets the Location field's value.
 13014  func (s *CreateDocumentationPartInput) SetLocation(v *DocumentationPartLocation) *CreateDocumentationPartInput {
 13015  	s.Location = v
 13016  	return s
 13017  }
 13018  
 13019  // SetProperties sets the Properties field's value.
 13020  func (s *CreateDocumentationPartInput) SetProperties(v string) *CreateDocumentationPartInput {
 13021  	s.Properties = &v
 13022  	return s
 13023  }
 13024  
 13025  // SetRestApiId sets the RestApiId field's value.
 13026  func (s *CreateDocumentationPartInput) SetRestApiId(v string) *CreateDocumentationPartInput {
 13027  	s.RestApiId = &v
 13028  	return s
 13029  }
 13030  
 13031  // Creates a new documentation version of a given API.
 13032  type CreateDocumentationVersionInput struct {
 13033  	_ struct{} `type:"structure"`
 13034  
 13035  	// A description about the new documentation snapshot.
 13036  	Description *string `locationName:"description" type:"string"`
 13037  
 13038  	// [Required] The version identifier of the new snapshot.
 13039  	//
 13040  	// DocumentationVersion is a required field
 13041  	DocumentationVersion *string `locationName:"documentationVersion" type:"string" required:"true"`
 13042  
 13043  	// [Required] The string identifier of the associated RestApi.
 13044  	//
 13045  	// RestApiId is a required field
 13046  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 13047  
 13048  	// The stage name to be associated with the new documentation snapshot.
 13049  	StageName *string `locationName:"stageName" type:"string"`
 13050  }
 13051  
 13052  // String returns the string representation.
 13053  //
 13054  // API parameter values that are decorated as "sensitive" in the API will not
 13055  // be included in the string output. The member name will be present, but the
 13056  // value will be replaced with "sensitive".
 13057  func (s CreateDocumentationVersionInput) String() string {
 13058  	return awsutil.Prettify(s)
 13059  }
 13060  
 13061  // GoString returns the string representation.
 13062  //
 13063  // API parameter values that are decorated as "sensitive" in the API will not
 13064  // be included in the string output. The member name will be present, but the
 13065  // value will be replaced with "sensitive".
 13066  func (s CreateDocumentationVersionInput) GoString() string {
 13067  	return s.String()
 13068  }
 13069  
 13070  // Validate inspects the fields of the type to determine if they are valid.
 13071  func (s *CreateDocumentationVersionInput) Validate() error {
 13072  	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationVersionInput"}
 13073  	if s.DocumentationVersion == nil {
 13074  		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
 13075  	}
 13076  	if s.RestApiId == nil {
 13077  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 13078  	}
 13079  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 13080  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 13081  	}
 13082  
 13083  	if invalidParams.Len() > 0 {
 13084  		return invalidParams
 13085  	}
 13086  	return nil
 13087  }
 13088  
 13089  // SetDescription sets the Description field's value.
 13090  func (s *CreateDocumentationVersionInput) SetDescription(v string) *CreateDocumentationVersionInput {
 13091  	s.Description = &v
 13092  	return s
 13093  }
 13094  
 13095  // SetDocumentationVersion sets the DocumentationVersion field's value.
 13096  func (s *CreateDocumentationVersionInput) SetDocumentationVersion(v string) *CreateDocumentationVersionInput {
 13097  	s.DocumentationVersion = &v
 13098  	return s
 13099  }
 13100  
 13101  // SetRestApiId sets the RestApiId field's value.
 13102  func (s *CreateDocumentationVersionInput) SetRestApiId(v string) *CreateDocumentationVersionInput {
 13103  	s.RestApiId = &v
 13104  	return s
 13105  }
 13106  
 13107  // SetStageName sets the StageName field's value.
 13108  func (s *CreateDocumentationVersionInput) SetStageName(v string) *CreateDocumentationVersionInput {
 13109  	s.StageName = &v
 13110  	return s
 13111  }
 13112  
 13113  // A request to create a new domain name.
 13114  type CreateDomainNameInput struct {
 13115  	_ struct{} `type:"structure"`
 13116  
 13117  	// The reference to an AWS-managed certificate that will be used by edge-optimized
 13118  	// endpoint for this domain name. AWS Certificate Manager is the only supported
 13119  	// source.
 13120  	CertificateArn *string `locationName:"certificateArn" type:"string"`
 13121  
 13122  	// [Deprecated] The body of the server certificate that will be used by edge-optimized
 13123  	// endpoint for this domain name provided by your certificate authority.
 13124  	CertificateBody *string `locationName:"certificateBody" type:"string"`
 13125  
 13126  	// [Deprecated] The intermediate certificates and optionally the root certificate,
 13127  	// one after the other without any blank lines, used by an edge-optimized endpoint
 13128  	// for this domain name. If you include the root certificate, your certificate
 13129  	// chain must start with intermediate certificates and end with the root certificate.
 13130  	// Use the intermediate certificates that were provided by your certificate
 13131  	// authority. Do not include any intermediaries that are not in the chain of
 13132  	// trust path.
 13133  	CertificateChain *string `locationName:"certificateChain" type:"string"`
 13134  
 13135  	// The user-friendly name of the certificate that will be used by edge-optimized
 13136  	// endpoint for this domain name.
 13137  	CertificateName *string `locationName:"certificateName" type:"string"`
 13138  
 13139  	// [Deprecated] Your edge-optimized endpoint's domain name certificate's private
 13140  	// key.
 13141  	CertificatePrivateKey *string `locationName:"certificatePrivateKey" type:"string"`
 13142  
 13143  	// [Required] The name of the DomainName resource.
 13144  	//
 13145  	// DomainName is a required field
 13146  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 13147  
 13148  	// The endpoint configuration of this DomainName showing the endpoint types
 13149  	// of the domain name.
 13150  	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
 13151  
 13152  	// If specified, API Gateway performs two-way authentication between the client
 13153  	// and the server. Clients must present a trusted certificate to access your
 13154  	// custom domain name.
 13155  	MutualTlsAuthentication *MutualTlsAuthenticationInput `locationName:"mutualTlsAuthentication" type:"structure"`
 13156  
 13157  	// The ARN of the public certificate issued by ACM to validate ownership of
 13158  	// your custom domain. Only required when configuring mutual TLS and using an
 13159  	// ACM imported or private CA certificate ARN as the regionalCertificateArn.
 13160  	OwnershipVerificationCertificateArn *string `locationName:"ownershipVerificationCertificateArn" type:"string"`
 13161  
 13162  	// The reference to an AWS-managed certificate that will be used by regional
 13163  	// endpoint for this domain name. AWS Certificate Manager is the only supported
 13164  	// source.
 13165  	RegionalCertificateArn *string `locationName:"regionalCertificateArn" type:"string"`
 13166  
 13167  	// The user-friendly name of the certificate that will be used by regional endpoint
 13168  	// for this domain name.
 13169  	RegionalCertificateName *string `locationName:"regionalCertificateName" type:"string"`
 13170  
 13171  	// The Transport Layer Security (TLS) version + cipher suite for this DomainName.
 13172  	// The valid values are TLS_1_0 and TLS_1_2.
 13173  	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
 13174  
 13175  	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 13176  	// The tag key can be up to 128 characters and must not start with aws:. The
 13177  	// tag value can be up to 256 characters.
 13178  	Tags map[string]*string `locationName:"tags" type:"map"`
 13179  }
 13180  
 13181  // String returns the string representation.
 13182  //
 13183  // API parameter values that are decorated as "sensitive" in the API will not
 13184  // be included in the string output. The member name will be present, but the
 13185  // value will be replaced with "sensitive".
 13186  func (s CreateDomainNameInput) String() string {
 13187  	return awsutil.Prettify(s)
 13188  }
 13189  
 13190  // GoString returns the string representation.
 13191  //
 13192  // API parameter values that are decorated as "sensitive" in the API will not
 13193  // be included in the string output. The member name will be present, but the
 13194  // value will be replaced with "sensitive".
 13195  func (s CreateDomainNameInput) GoString() string {
 13196  	return s.String()
 13197  }
 13198  
 13199  // Validate inspects the fields of the type to determine if they are valid.
 13200  func (s *CreateDomainNameInput) Validate() error {
 13201  	invalidParams := request.ErrInvalidParams{Context: "CreateDomainNameInput"}
 13202  	if s.DomainName == nil {
 13203  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 13204  	}
 13205  
 13206  	if invalidParams.Len() > 0 {
 13207  		return invalidParams
 13208  	}
 13209  	return nil
 13210  }
 13211  
 13212  // SetCertificateArn sets the CertificateArn field's value.
 13213  func (s *CreateDomainNameInput) SetCertificateArn(v string) *CreateDomainNameInput {
 13214  	s.CertificateArn = &v
 13215  	return s
 13216  }
 13217  
 13218  // SetCertificateBody sets the CertificateBody field's value.
 13219  func (s *CreateDomainNameInput) SetCertificateBody(v string) *CreateDomainNameInput {
 13220  	s.CertificateBody = &v
 13221  	return s
 13222  }
 13223  
 13224  // SetCertificateChain sets the CertificateChain field's value.
 13225  func (s *CreateDomainNameInput) SetCertificateChain(v string) *CreateDomainNameInput {
 13226  	s.CertificateChain = &v
 13227  	return s
 13228  }
 13229  
 13230  // SetCertificateName sets the CertificateName field's value.
 13231  func (s *CreateDomainNameInput) SetCertificateName(v string) *CreateDomainNameInput {
 13232  	s.CertificateName = &v
 13233  	return s
 13234  }
 13235  
 13236  // SetCertificatePrivateKey sets the CertificatePrivateKey field's value.
 13237  func (s *CreateDomainNameInput) SetCertificatePrivateKey(v string) *CreateDomainNameInput {
 13238  	s.CertificatePrivateKey = &v
 13239  	return s
 13240  }
 13241  
 13242  // SetDomainName sets the DomainName field's value.
 13243  func (s *CreateDomainNameInput) SetDomainName(v string) *CreateDomainNameInput {
 13244  	s.DomainName = &v
 13245  	return s
 13246  }
 13247  
 13248  // SetEndpointConfiguration sets the EndpointConfiguration field's value.
 13249  func (s *CreateDomainNameInput) SetEndpointConfiguration(v *EndpointConfiguration) *CreateDomainNameInput {
 13250  	s.EndpointConfiguration = v
 13251  	return s
 13252  }
 13253  
 13254  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
 13255  func (s *CreateDomainNameInput) SetMutualTlsAuthentication(v *MutualTlsAuthenticationInput) *CreateDomainNameInput {
 13256  	s.MutualTlsAuthentication = v
 13257  	return s
 13258  }
 13259  
 13260  // SetOwnershipVerificationCertificateArn sets the OwnershipVerificationCertificateArn field's value.
 13261  func (s *CreateDomainNameInput) SetOwnershipVerificationCertificateArn(v string) *CreateDomainNameInput {
 13262  	s.OwnershipVerificationCertificateArn = &v
 13263  	return s
 13264  }
 13265  
 13266  // SetRegionalCertificateArn sets the RegionalCertificateArn field's value.
 13267  func (s *CreateDomainNameInput) SetRegionalCertificateArn(v string) *CreateDomainNameInput {
 13268  	s.RegionalCertificateArn = &v
 13269  	return s
 13270  }
 13271  
 13272  // SetRegionalCertificateName sets the RegionalCertificateName field's value.
 13273  func (s *CreateDomainNameInput) SetRegionalCertificateName(v string) *CreateDomainNameInput {
 13274  	s.RegionalCertificateName = &v
 13275  	return s
 13276  }
 13277  
 13278  // SetSecurityPolicy sets the SecurityPolicy field's value.
 13279  func (s *CreateDomainNameInput) SetSecurityPolicy(v string) *CreateDomainNameInput {
 13280  	s.SecurityPolicy = &v
 13281  	return s
 13282  }
 13283  
 13284  // SetTags sets the Tags field's value.
 13285  func (s *CreateDomainNameInput) SetTags(v map[string]*string) *CreateDomainNameInput {
 13286  	s.Tags = v
 13287  	return s
 13288  }
 13289  
 13290  // Request to add a new Model to an existing RestApi resource.
 13291  type CreateModelInput struct {
 13292  	_ struct{} `type:"structure"`
 13293  
 13294  	// [Required] The content-type for the model.
 13295  	//
 13296  	// ContentType is a required field
 13297  	ContentType *string `locationName:"contentType" type:"string" required:"true"`
 13298  
 13299  	// The description of the model.
 13300  	Description *string `locationName:"description" type:"string"`
 13301  
 13302  	// [Required] The name of the model. Must be alphanumeric.
 13303  	//
 13304  	// Name is a required field
 13305  	Name *string `locationName:"name" type:"string" required:"true"`
 13306  
 13307  	// [Required] The RestApi identifier under which the Model will be created.
 13308  	//
 13309  	// RestApiId is a required field
 13310  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 13311  
 13312  	// The schema for the model. For application/json models, this should be JSON
 13313  	// schema draft 4 (https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
 13314  	Schema *string `locationName:"schema" type:"string"`
 13315  }
 13316  
 13317  // String returns the string representation.
 13318  //
 13319  // API parameter values that are decorated as "sensitive" in the API will not
 13320  // be included in the string output. The member name will be present, but the
 13321  // value will be replaced with "sensitive".
 13322  func (s CreateModelInput) String() string {
 13323  	return awsutil.Prettify(s)
 13324  }
 13325  
 13326  // GoString returns the string representation.
 13327  //
 13328  // API parameter values that are decorated as "sensitive" in the API will not
 13329  // be included in the string output. The member name will be present, but the
 13330  // value will be replaced with "sensitive".
 13331  func (s CreateModelInput) GoString() string {
 13332  	return s.String()
 13333  }
 13334  
 13335  // Validate inspects the fields of the type to determine if they are valid.
 13336  func (s *CreateModelInput) Validate() error {
 13337  	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
 13338  	if s.ContentType == nil {
 13339  		invalidParams.Add(request.NewErrParamRequired("ContentType"))
 13340  	}
 13341  	if s.Name == nil {
 13342  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13343  	}
 13344  	if s.RestApiId == nil {
 13345  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 13346  	}
 13347  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 13348  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 13349  	}
 13350  
 13351  	if invalidParams.Len() > 0 {
 13352  		return invalidParams
 13353  	}
 13354  	return nil
 13355  }
 13356  
 13357  // SetContentType sets the ContentType field's value.
 13358  func (s *CreateModelInput) SetContentType(v string) *CreateModelInput {
 13359  	s.ContentType = &v
 13360  	return s
 13361  }
 13362  
 13363  // SetDescription sets the Description field's value.
 13364  func (s *CreateModelInput) SetDescription(v string) *CreateModelInput {
 13365  	s.Description = &v
 13366  	return s
 13367  }
 13368  
 13369  // SetName sets the Name field's value.
 13370  func (s *CreateModelInput) SetName(v string) *CreateModelInput {
 13371  	s.Name = &v
 13372  	return s
 13373  }
 13374  
 13375  // SetRestApiId sets the RestApiId field's value.
 13376  func (s *CreateModelInput) SetRestApiId(v string) *CreateModelInput {
 13377  	s.RestApiId = &v
 13378  	return s
 13379  }
 13380  
 13381  // SetSchema sets the Schema field's value.
 13382  func (s *CreateModelInput) SetSchema(v string) *CreateModelInput {
 13383  	s.Schema = &v
 13384  	return s
 13385  }
 13386  
 13387  // Creates a RequestValidator of a given RestApi.
 13388  type CreateRequestValidatorInput struct {
 13389  	_ struct{} `type:"structure"`
 13390  
 13391  	// The name of the to-be-created RequestValidator.
 13392  	Name *string `locationName:"name" type:"string"`
 13393  
 13394  	// [Required] The string identifier of the associated RestApi.
 13395  	//
 13396  	// RestApiId is a required field
 13397  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 13398  
 13399  	// A Boolean flag to indicate whether to validate request body according to
 13400  	// the configured model schema for the method (true) or not (false).
 13401  	ValidateRequestBody *bool `locationName:"validateRequestBody" type:"boolean"`
 13402  
 13403  	// A Boolean flag to indicate whether to validate request parameters, true,
 13404  	// or not false.
 13405  	ValidateRequestParameters *bool `locationName:"validateRequestParameters" type:"boolean"`
 13406  }
 13407  
 13408  // String returns the string representation.
 13409  //
 13410  // API parameter values that are decorated as "sensitive" in the API will not
 13411  // be included in the string output. The member name will be present, but the
 13412  // value will be replaced with "sensitive".
 13413  func (s CreateRequestValidatorInput) String() string {
 13414  	return awsutil.Prettify(s)
 13415  }
 13416  
 13417  // GoString returns the string representation.
 13418  //
 13419  // API parameter values that are decorated as "sensitive" in the API will not
 13420  // be included in the string output. The member name will be present, but the
 13421  // value will be replaced with "sensitive".
 13422  func (s CreateRequestValidatorInput) GoString() string {
 13423  	return s.String()
 13424  }
 13425  
 13426  // Validate inspects the fields of the type to determine if they are valid.
 13427  func (s *CreateRequestValidatorInput) Validate() error {
 13428  	invalidParams := request.ErrInvalidParams{Context: "CreateRequestValidatorInput"}
 13429  	if s.RestApiId == nil {
 13430  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 13431  	}
 13432  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 13433  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 13434  	}
 13435  
 13436  	if invalidParams.Len() > 0 {
 13437  		return invalidParams
 13438  	}
 13439  	return nil
 13440  }
 13441  
 13442  // SetName sets the Name field's value.
 13443  func (s *CreateRequestValidatorInput) SetName(v string) *CreateRequestValidatorInput {
 13444  	s.Name = &v
 13445  	return s
 13446  }
 13447  
 13448  // SetRestApiId sets the RestApiId field's value.
 13449  func (s *CreateRequestValidatorInput) SetRestApiId(v string) *CreateRequestValidatorInput {
 13450  	s.RestApiId = &v
 13451  	return s
 13452  }
 13453  
 13454  // SetValidateRequestBody sets the ValidateRequestBody field's value.
 13455  func (s *CreateRequestValidatorInput) SetValidateRequestBody(v bool) *CreateRequestValidatorInput {
 13456  	s.ValidateRequestBody = &v
 13457  	return s
 13458  }
 13459  
 13460  // SetValidateRequestParameters sets the ValidateRequestParameters field's value.
 13461  func (s *CreateRequestValidatorInput) SetValidateRequestParameters(v bool) *CreateRequestValidatorInput {
 13462  	s.ValidateRequestParameters = &v
 13463  	return s
 13464  }
 13465  
 13466  // Requests API Gateway to create a Resource resource.
 13467  type CreateResourceInput struct {
 13468  	_ struct{} `type:"structure"`
 13469  
 13470  	// [Required] The parent resource's identifier.
 13471  	//
 13472  	// ParentId is a required field
 13473  	ParentId *string `location:"uri" locationName:"parent_id" type:"string" required:"true"`
 13474  
 13475  	// The last path segment for this resource.
 13476  	//
 13477  	// PathPart is a required field
 13478  	PathPart *string `locationName:"pathPart" type:"string" required:"true"`
 13479  
 13480  	// [Required] The string identifier of the associated RestApi.
 13481  	//
 13482  	// RestApiId is a required field
 13483  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 13484  }
 13485  
 13486  // String returns the string representation.
 13487  //
 13488  // API parameter values that are decorated as "sensitive" in the API will not
 13489  // be included in the string output. The member name will be present, but the
 13490  // value will be replaced with "sensitive".
 13491  func (s CreateResourceInput) String() string {
 13492  	return awsutil.Prettify(s)
 13493  }
 13494  
 13495  // GoString returns the string representation.
 13496  //
 13497  // API parameter values that are decorated as "sensitive" in the API will not
 13498  // be included in the string output. The member name will be present, but the
 13499  // value will be replaced with "sensitive".
 13500  func (s CreateResourceInput) GoString() string {
 13501  	return s.String()
 13502  }
 13503  
 13504  // Validate inspects the fields of the type to determine if they are valid.
 13505  func (s *CreateResourceInput) Validate() error {
 13506  	invalidParams := request.ErrInvalidParams{Context: "CreateResourceInput"}
 13507  	if s.ParentId == nil {
 13508  		invalidParams.Add(request.NewErrParamRequired("ParentId"))
 13509  	}
 13510  	if s.ParentId != nil && len(*s.ParentId) < 1 {
 13511  		invalidParams.Add(request.NewErrParamMinLen("ParentId", 1))
 13512  	}
 13513  	if s.PathPart == nil {
 13514  		invalidParams.Add(request.NewErrParamRequired("PathPart"))
 13515  	}
 13516  	if s.RestApiId == nil {
 13517  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 13518  	}
 13519  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 13520  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 13521  	}
 13522  
 13523  	if invalidParams.Len() > 0 {
 13524  		return invalidParams
 13525  	}
 13526  	return nil
 13527  }
 13528  
 13529  // SetParentId sets the ParentId field's value.
 13530  func (s *CreateResourceInput) SetParentId(v string) *CreateResourceInput {
 13531  	s.ParentId = &v
 13532  	return s
 13533  }
 13534  
 13535  // SetPathPart sets the PathPart field's value.
 13536  func (s *CreateResourceInput) SetPathPart(v string) *CreateResourceInput {
 13537  	s.PathPart = &v
 13538  	return s
 13539  }
 13540  
 13541  // SetRestApiId sets the RestApiId field's value.
 13542  func (s *CreateResourceInput) SetRestApiId(v string) *CreateResourceInput {
 13543  	s.RestApiId = &v
 13544  	return s
 13545  }
 13546  
 13547  // The POST Request to add a new RestApi resource to your collection.
 13548  type CreateRestApiInput struct {
 13549  	_ struct{} `type:"structure"`
 13550  
 13551  	// The source of the API key for metering requests according to a usage plan.
 13552  	// Valid values are:
 13553  	//    * HEADER to read the API key from the X-API-Key header of a request.
 13554  	//
 13555  	//    * AUTHORIZER to read the API key from the UsageIdentifierKey from a custom
 13556  	//    authorizer.
 13557  	ApiKeySource *string `locationName:"apiKeySource" type:"string" enum:"ApiKeySourceType"`
 13558  
 13559  	// The list of binary media types supported by the RestApi. By default, the
 13560  	// RestApi supports only UTF-8-encoded text payloads.
 13561  	BinaryMediaTypes []*string `locationName:"binaryMediaTypes" type:"list"`
 13562  
 13563  	// The ID of the RestApi that you want to clone from.
 13564  	CloneFrom *string `locationName:"cloneFrom" type:"string"`
 13565  
 13566  	// The description of the RestApi.
 13567  	Description *string `locationName:"description" type:"string"`
 13568  
 13569  	// Specifies whether clients can invoke your API by using the default execute-api
 13570  	// endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com
 13571  	// endpoint. To require that clients use a custom domain name to invoke your
 13572  	// API, disable the default endpoint.
 13573  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
 13574  
 13575  	// The endpoint configuration of this RestApi showing the endpoint types of
 13576  	// the API.
 13577  	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
 13578  
 13579  	// A nullable integer that is used to enable compression (with non-negative
 13580  	// between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with
 13581  	// a null value) on an API. When compression is enabled, compression or decompression
 13582  	// is not applied on the payload if the payload size is smaller than this value.
 13583  	// Setting it to zero allows compression for any payload size.
 13584  	MinimumCompressionSize *int64 `locationName:"minimumCompressionSize" type:"integer"`
 13585  
 13586  	// [Required] The name of the RestApi.
 13587  	//
 13588  	// Name is a required field
 13589  	Name *string `locationName:"name" type:"string" required:"true"`
 13590  
 13591  	// A stringified JSON policy document that applies to this RestApi regardless
 13592  	// of the caller and Method configuration.
 13593  	Policy *string `locationName:"policy" type:"string"`
 13594  
 13595  	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 13596  	// The tag key can be up to 128 characters and must not start with aws:. The
 13597  	// tag value can be up to 256 characters.
 13598  	Tags map[string]*string `locationName:"tags" type:"map"`
 13599  
 13600  	// A version identifier for the API.
 13601  	Version *string `locationName:"version" type:"string"`
 13602  }
 13603  
 13604  // String returns the string representation.
 13605  //
 13606  // API parameter values that are decorated as "sensitive" in the API will not
 13607  // be included in the string output. The member name will be present, but the
 13608  // value will be replaced with "sensitive".
 13609  func (s CreateRestApiInput) String() string {
 13610  	return awsutil.Prettify(s)
 13611  }
 13612  
 13613  // GoString returns the string representation.
 13614  //
 13615  // API parameter values that are decorated as "sensitive" in the API will not
 13616  // be included in the string output. The member name will be present, but the
 13617  // value will be replaced with "sensitive".
 13618  func (s CreateRestApiInput) GoString() string {
 13619  	return s.String()
 13620  }
 13621  
 13622  // Validate inspects the fields of the type to determine if they are valid.
 13623  func (s *CreateRestApiInput) Validate() error {
 13624  	invalidParams := request.ErrInvalidParams{Context: "CreateRestApiInput"}
 13625  	if s.Name == nil {
 13626  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13627  	}
 13628  
 13629  	if invalidParams.Len() > 0 {
 13630  		return invalidParams
 13631  	}
 13632  	return nil
 13633  }
 13634  
 13635  // SetApiKeySource sets the ApiKeySource field's value.
 13636  func (s *CreateRestApiInput) SetApiKeySource(v string) *CreateRestApiInput {
 13637  	s.ApiKeySource = &v
 13638  	return s
 13639  }
 13640  
 13641  // SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
 13642  func (s *CreateRestApiInput) SetBinaryMediaTypes(v []*string) *CreateRestApiInput {
 13643  	s.BinaryMediaTypes = v
 13644  	return s
 13645  }
 13646  
 13647  // SetCloneFrom sets the CloneFrom field's value.
 13648  func (s *CreateRestApiInput) SetCloneFrom(v string) *CreateRestApiInput {
 13649  	s.CloneFrom = &v
 13650  	return s
 13651  }
 13652  
 13653  // SetDescription sets the Description field's value.
 13654  func (s *CreateRestApiInput) SetDescription(v string) *CreateRestApiInput {
 13655  	s.Description = &v
 13656  	return s
 13657  }
 13658  
 13659  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
 13660  func (s *CreateRestApiInput) SetDisableExecuteApiEndpoint(v bool) *CreateRestApiInput {
 13661  	s.DisableExecuteApiEndpoint = &v
 13662  	return s
 13663  }
 13664  
 13665  // SetEndpointConfiguration sets the EndpointConfiguration field's value.
 13666  func (s *CreateRestApiInput) SetEndpointConfiguration(v *EndpointConfiguration) *CreateRestApiInput {
 13667  	s.EndpointConfiguration = v
 13668  	return s
 13669  }
 13670  
 13671  // SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
 13672  func (s *CreateRestApiInput) SetMinimumCompressionSize(v int64) *CreateRestApiInput {
 13673  	s.MinimumCompressionSize = &v
 13674  	return s
 13675  }
 13676  
 13677  // SetName sets the Name field's value.
 13678  func (s *CreateRestApiInput) SetName(v string) *CreateRestApiInput {
 13679  	s.Name = &v
 13680  	return s
 13681  }
 13682  
 13683  // SetPolicy sets the Policy field's value.
 13684  func (s *CreateRestApiInput) SetPolicy(v string) *CreateRestApiInput {
 13685  	s.Policy = &v
 13686  	return s
 13687  }
 13688  
 13689  // SetTags sets the Tags field's value.
 13690  func (s *CreateRestApiInput) SetTags(v map[string]*string) *CreateRestApiInput {
 13691  	s.Tags = v
 13692  	return s
 13693  }
 13694  
 13695  // SetVersion sets the Version field's value.
 13696  func (s *CreateRestApiInput) SetVersion(v string) *CreateRestApiInput {
 13697  	s.Version = &v
 13698  	return s
 13699  }
 13700  
 13701  // Requests API Gateway to create a Stage resource.
 13702  type CreateStageInput struct {
 13703  	_ struct{} `type:"structure"`
 13704  
 13705  	// Whether cache clustering is enabled for the stage.
 13706  	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
 13707  
 13708  	// The stage's cache cluster size.
 13709  	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
 13710  
 13711  	// The canary deployment settings of this stage.
 13712  	CanarySettings *CanarySettings `locationName:"canarySettings" type:"structure"`
 13713  
 13714  	// [Required] The identifier of the Deployment resource for the Stage resource.
 13715  	//
 13716  	// DeploymentId is a required field
 13717  	DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"`
 13718  
 13719  	// The description of the Stage resource.
 13720  	Description *string `locationName:"description" type:"string"`
 13721  
 13722  	// The version of the associated API documentation.
 13723  	DocumentationVersion *string `locationName:"documentationVersion" type:"string"`
 13724  
 13725  	// [Required] The string identifier of the associated RestApi.
 13726  	//
 13727  	// RestApiId is a required field
 13728  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 13729  
 13730  	// [Required] The name for the Stage resource. Stage names can only contain
 13731  	// alphanumeric characters, hyphens, and underscores. Maximum length is 128
 13732  	// characters.
 13733  	//
 13734  	// StageName is a required field
 13735  	StageName *string `locationName:"stageName" type:"string" required:"true"`
 13736  
 13737  	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 13738  	// The tag key can be up to 128 characters and must not start with aws:. The
 13739  	// tag value can be up to 256 characters.
 13740  	Tags map[string]*string `locationName:"tags" type:"map"`
 13741  
 13742  	// Specifies whether active tracing with X-ray is enabled for the Stage.
 13743  	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
 13744  
 13745  	// A map that defines the stage variables for the new Stage resource. Variable
 13746  	// names can have alphanumeric and underscore characters, and the values must
 13747  	// match [A-Za-z0-9-._~:/?#&=,]+.
 13748  	Variables map[string]*string `locationName:"variables" type:"map"`
 13749  }
 13750  
 13751  // String returns the string representation.
 13752  //
 13753  // API parameter values that are decorated as "sensitive" in the API will not
 13754  // be included in the string output. The member name will be present, but the
 13755  // value will be replaced with "sensitive".
 13756  func (s CreateStageInput) String() string {
 13757  	return awsutil.Prettify(s)
 13758  }
 13759  
 13760  // GoString returns the string representation.
 13761  //
 13762  // API parameter values that are decorated as "sensitive" in the API will not
 13763  // be included in the string output. The member name will be present, but the
 13764  // value will be replaced with "sensitive".
 13765  func (s CreateStageInput) GoString() string {
 13766  	return s.String()
 13767  }
 13768  
 13769  // Validate inspects the fields of the type to determine if they are valid.
 13770  func (s *CreateStageInput) Validate() error {
 13771  	invalidParams := request.ErrInvalidParams{Context: "CreateStageInput"}
 13772  	if s.DeploymentId == nil {
 13773  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 13774  	}
 13775  	if s.RestApiId == nil {
 13776  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 13777  	}
 13778  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 13779  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 13780  	}
 13781  	if s.StageName == nil {
 13782  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 13783  	}
 13784  
 13785  	if invalidParams.Len() > 0 {
 13786  		return invalidParams
 13787  	}
 13788  	return nil
 13789  }
 13790  
 13791  // SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
 13792  func (s *CreateStageInput) SetCacheClusterEnabled(v bool) *CreateStageInput {
 13793  	s.CacheClusterEnabled = &v
 13794  	return s
 13795  }
 13796  
 13797  // SetCacheClusterSize sets the CacheClusterSize field's value.
 13798  func (s *CreateStageInput) SetCacheClusterSize(v string) *CreateStageInput {
 13799  	s.CacheClusterSize = &v
 13800  	return s
 13801  }
 13802  
 13803  // SetCanarySettings sets the CanarySettings field's value.
 13804  func (s *CreateStageInput) SetCanarySettings(v *CanarySettings) *CreateStageInput {
 13805  	s.CanarySettings = v
 13806  	return s
 13807  }
 13808  
 13809  // SetDeploymentId sets the DeploymentId field's value.
 13810  func (s *CreateStageInput) SetDeploymentId(v string) *CreateStageInput {
 13811  	s.DeploymentId = &v
 13812  	return s
 13813  }
 13814  
 13815  // SetDescription sets the Description field's value.
 13816  func (s *CreateStageInput) SetDescription(v string) *CreateStageInput {
 13817  	s.Description = &v
 13818  	return s
 13819  }
 13820  
 13821  // SetDocumentationVersion sets the DocumentationVersion field's value.
 13822  func (s *CreateStageInput) SetDocumentationVersion(v string) *CreateStageInput {
 13823  	s.DocumentationVersion = &v
 13824  	return s
 13825  }
 13826  
 13827  // SetRestApiId sets the RestApiId field's value.
 13828  func (s *CreateStageInput) SetRestApiId(v string) *CreateStageInput {
 13829  	s.RestApiId = &v
 13830  	return s
 13831  }
 13832  
 13833  // SetStageName sets the StageName field's value.
 13834  func (s *CreateStageInput) SetStageName(v string) *CreateStageInput {
 13835  	s.StageName = &v
 13836  	return s
 13837  }
 13838  
 13839  // SetTags sets the Tags field's value.
 13840  func (s *CreateStageInput) SetTags(v map[string]*string) *CreateStageInput {
 13841  	s.Tags = v
 13842  	return s
 13843  }
 13844  
 13845  // SetTracingEnabled sets the TracingEnabled field's value.
 13846  func (s *CreateStageInput) SetTracingEnabled(v bool) *CreateStageInput {
 13847  	s.TracingEnabled = &v
 13848  	return s
 13849  }
 13850  
 13851  // SetVariables sets the Variables field's value.
 13852  func (s *CreateStageInput) SetVariables(v map[string]*string) *CreateStageInput {
 13853  	s.Variables = v
 13854  	return s
 13855  }
 13856  
 13857  // The POST request to create a usage plan with the name, description, throttle
 13858  // limits and quota limits, as well as the associated API stages, specified
 13859  // in the payload.
 13860  type CreateUsagePlanInput struct {
 13861  	_ struct{} `type:"structure"`
 13862  
 13863  	// The associated API stages of the usage plan.
 13864  	ApiStages []*ApiStage `locationName:"apiStages" type:"list"`
 13865  
 13866  	// The description of the usage plan.
 13867  	Description *string `locationName:"description" type:"string"`
 13868  
 13869  	// [Required] The name of the usage plan.
 13870  	//
 13871  	// Name is a required field
 13872  	Name *string `locationName:"name" type:"string" required:"true"`
 13873  
 13874  	// The quota of the usage plan.
 13875  	Quota *QuotaSettings `locationName:"quota" type:"structure"`
 13876  
 13877  	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 13878  	// The tag key can be up to 128 characters and must not start with aws:. The
 13879  	// tag value can be up to 256 characters.
 13880  	Tags map[string]*string `locationName:"tags" type:"map"`
 13881  
 13882  	// The throttling limits of the usage plan.
 13883  	Throttle *ThrottleSettings `locationName:"throttle" type:"structure"`
 13884  }
 13885  
 13886  // String returns the string representation.
 13887  //
 13888  // API parameter values that are decorated as "sensitive" in the API will not
 13889  // be included in the string output. The member name will be present, but the
 13890  // value will be replaced with "sensitive".
 13891  func (s CreateUsagePlanInput) String() string {
 13892  	return awsutil.Prettify(s)
 13893  }
 13894  
 13895  // GoString returns the string representation.
 13896  //
 13897  // API parameter values that are decorated as "sensitive" in the API will not
 13898  // be included in the string output. The member name will be present, but the
 13899  // value will be replaced with "sensitive".
 13900  func (s CreateUsagePlanInput) GoString() string {
 13901  	return s.String()
 13902  }
 13903  
 13904  // Validate inspects the fields of the type to determine if they are valid.
 13905  func (s *CreateUsagePlanInput) Validate() error {
 13906  	invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanInput"}
 13907  	if s.Name == nil {
 13908  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13909  	}
 13910  
 13911  	if invalidParams.Len() > 0 {
 13912  		return invalidParams
 13913  	}
 13914  	return nil
 13915  }
 13916  
 13917  // SetApiStages sets the ApiStages field's value.
 13918  func (s *CreateUsagePlanInput) SetApiStages(v []*ApiStage) *CreateUsagePlanInput {
 13919  	s.ApiStages = v
 13920  	return s
 13921  }
 13922  
 13923  // SetDescription sets the Description field's value.
 13924  func (s *CreateUsagePlanInput) SetDescription(v string) *CreateUsagePlanInput {
 13925  	s.Description = &v
 13926  	return s
 13927  }
 13928  
 13929  // SetName sets the Name field's value.
 13930  func (s *CreateUsagePlanInput) SetName(v string) *CreateUsagePlanInput {
 13931  	s.Name = &v
 13932  	return s
 13933  }
 13934  
 13935  // SetQuota sets the Quota field's value.
 13936  func (s *CreateUsagePlanInput) SetQuota(v *QuotaSettings) *CreateUsagePlanInput {
 13937  	s.Quota = v
 13938  	return s
 13939  }
 13940  
 13941  // SetTags sets the Tags field's value.
 13942  func (s *CreateUsagePlanInput) SetTags(v map[string]*string) *CreateUsagePlanInput {
 13943  	s.Tags = v
 13944  	return s
 13945  }
 13946  
 13947  // SetThrottle sets the Throttle field's value.
 13948  func (s *CreateUsagePlanInput) SetThrottle(v *ThrottleSettings) *CreateUsagePlanInput {
 13949  	s.Throttle = v
 13950  	return s
 13951  }
 13952  
 13953  // The POST request to create a usage plan key for adding an existing API key
 13954  // to a usage plan.
 13955  type CreateUsagePlanKeyInput struct {
 13956  	_ struct{} `type:"structure"`
 13957  
 13958  	// [Required] The identifier of a UsagePlanKey resource for a plan customer.
 13959  	//
 13960  	// KeyId is a required field
 13961  	KeyId *string `locationName:"keyId" type:"string" required:"true"`
 13962  
 13963  	// [Required] The type of a UsagePlanKey resource for a plan customer.
 13964  	//
 13965  	// KeyType is a required field
 13966  	KeyType *string `locationName:"keyType" type:"string" required:"true"`
 13967  
 13968  	// [Required] The Id of the UsagePlan resource representing the usage plan containing
 13969  	// the to-be-created UsagePlanKey resource representing a plan customer.
 13970  	//
 13971  	// UsagePlanId is a required field
 13972  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 13973  }
 13974  
 13975  // String returns the string representation.
 13976  //
 13977  // API parameter values that are decorated as "sensitive" in the API will not
 13978  // be included in the string output. The member name will be present, but the
 13979  // value will be replaced with "sensitive".
 13980  func (s CreateUsagePlanKeyInput) String() string {
 13981  	return awsutil.Prettify(s)
 13982  }
 13983  
 13984  // GoString returns the string representation.
 13985  //
 13986  // API parameter values that are decorated as "sensitive" in the API will not
 13987  // be included in the string output. The member name will be present, but the
 13988  // value will be replaced with "sensitive".
 13989  func (s CreateUsagePlanKeyInput) GoString() string {
 13990  	return s.String()
 13991  }
 13992  
 13993  // Validate inspects the fields of the type to determine if they are valid.
 13994  func (s *CreateUsagePlanKeyInput) Validate() error {
 13995  	invalidParams := request.ErrInvalidParams{Context: "CreateUsagePlanKeyInput"}
 13996  	if s.KeyId == nil {
 13997  		invalidParams.Add(request.NewErrParamRequired("KeyId"))
 13998  	}
 13999  	if s.KeyType == nil {
 14000  		invalidParams.Add(request.NewErrParamRequired("KeyType"))
 14001  	}
 14002  	if s.UsagePlanId == nil {
 14003  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 14004  	}
 14005  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 14006  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 14007  	}
 14008  
 14009  	if invalidParams.Len() > 0 {
 14010  		return invalidParams
 14011  	}
 14012  	return nil
 14013  }
 14014  
 14015  // SetKeyId sets the KeyId field's value.
 14016  func (s *CreateUsagePlanKeyInput) SetKeyId(v string) *CreateUsagePlanKeyInput {
 14017  	s.KeyId = &v
 14018  	return s
 14019  }
 14020  
 14021  // SetKeyType sets the KeyType field's value.
 14022  func (s *CreateUsagePlanKeyInput) SetKeyType(v string) *CreateUsagePlanKeyInput {
 14023  	s.KeyType = &v
 14024  	return s
 14025  }
 14026  
 14027  // SetUsagePlanId sets the UsagePlanId field's value.
 14028  func (s *CreateUsagePlanKeyInput) SetUsagePlanId(v string) *CreateUsagePlanKeyInput {
 14029  	s.UsagePlanId = &v
 14030  	return s
 14031  }
 14032  
 14033  // Creates a VPC link, under the caller's account in a selected region, in an
 14034  // asynchronous operation that typically takes 2-4 minutes to complete and become
 14035  // operational. The caller must have permissions to create and update VPC Endpoint
 14036  // services.
 14037  type CreateVpcLinkInput struct {
 14038  	_ struct{} `type:"structure"`
 14039  
 14040  	// The description of the VPC link.
 14041  	Description *string `locationName:"description" type:"string"`
 14042  
 14043  	// [Required] The name used to label and identify the VPC link.
 14044  	//
 14045  	// Name is a required field
 14046  	Name *string `locationName:"name" type:"string" required:"true"`
 14047  
 14048  	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 14049  	// The tag key can be up to 128 characters and must not start with aws:. The
 14050  	// tag value can be up to 256 characters.
 14051  	Tags map[string]*string `locationName:"tags" type:"map"`
 14052  
 14053  	// [Required] The ARN of the network load balancer of the VPC targeted by the
 14054  	// VPC link. The network load balancer must be owned by the same AWS account
 14055  	// of the API owner.
 14056  	//
 14057  	// TargetArns is a required field
 14058  	TargetArns []*string `locationName:"targetArns" type:"list" required:"true"`
 14059  }
 14060  
 14061  // String returns the string representation.
 14062  //
 14063  // API parameter values that are decorated as "sensitive" in the API will not
 14064  // be included in the string output. The member name will be present, but the
 14065  // value will be replaced with "sensitive".
 14066  func (s CreateVpcLinkInput) String() string {
 14067  	return awsutil.Prettify(s)
 14068  }
 14069  
 14070  // GoString returns the string representation.
 14071  //
 14072  // API parameter values that are decorated as "sensitive" in the API will not
 14073  // be included in the string output. The member name will be present, but the
 14074  // value will be replaced with "sensitive".
 14075  func (s CreateVpcLinkInput) GoString() string {
 14076  	return s.String()
 14077  }
 14078  
 14079  // Validate inspects the fields of the type to determine if they are valid.
 14080  func (s *CreateVpcLinkInput) Validate() error {
 14081  	invalidParams := request.ErrInvalidParams{Context: "CreateVpcLinkInput"}
 14082  	if s.Name == nil {
 14083  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14084  	}
 14085  	if s.TargetArns == nil {
 14086  		invalidParams.Add(request.NewErrParamRequired("TargetArns"))
 14087  	}
 14088  
 14089  	if invalidParams.Len() > 0 {
 14090  		return invalidParams
 14091  	}
 14092  	return nil
 14093  }
 14094  
 14095  // SetDescription sets the Description field's value.
 14096  func (s *CreateVpcLinkInput) SetDescription(v string) *CreateVpcLinkInput {
 14097  	s.Description = &v
 14098  	return s
 14099  }
 14100  
 14101  // SetName sets the Name field's value.
 14102  func (s *CreateVpcLinkInput) SetName(v string) *CreateVpcLinkInput {
 14103  	s.Name = &v
 14104  	return s
 14105  }
 14106  
 14107  // SetTags sets the Tags field's value.
 14108  func (s *CreateVpcLinkInput) SetTags(v map[string]*string) *CreateVpcLinkInput {
 14109  	s.Tags = v
 14110  	return s
 14111  }
 14112  
 14113  // SetTargetArns sets the TargetArns field's value.
 14114  func (s *CreateVpcLinkInput) SetTargetArns(v []*string) *CreateVpcLinkInput {
 14115  	s.TargetArns = v
 14116  	return s
 14117  }
 14118  
 14119  // A request to delete the ApiKey resource.
 14120  type DeleteApiKeyInput struct {
 14121  	_ struct{} `type:"structure" nopayload:"true"`
 14122  
 14123  	// [Required] The identifier of the ApiKey resource to be deleted.
 14124  	//
 14125  	// ApiKey is a required field
 14126  	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
 14127  }
 14128  
 14129  // String returns the string representation.
 14130  //
 14131  // API parameter values that are decorated as "sensitive" in the API will not
 14132  // be included in the string output. The member name will be present, but the
 14133  // value will be replaced with "sensitive".
 14134  func (s DeleteApiKeyInput) String() string {
 14135  	return awsutil.Prettify(s)
 14136  }
 14137  
 14138  // GoString returns the string representation.
 14139  //
 14140  // API parameter values that are decorated as "sensitive" in the API will not
 14141  // be included in the string output. The member name will be present, but the
 14142  // value will be replaced with "sensitive".
 14143  func (s DeleteApiKeyInput) GoString() string {
 14144  	return s.String()
 14145  }
 14146  
 14147  // Validate inspects the fields of the type to determine if they are valid.
 14148  func (s *DeleteApiKeyInput) Validate() error {
 14149  	invalidParams := request.ErrInvalidParams{Context: "DeleteApiKeyInput"}
 14150  	if s.ApiKey == nil {
 14151  		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
 14152  	}
 14153  	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
 14154  		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
 14155  	}
 14156  
 14157  	if invalidParams.Len() > 0 {
 14158  		return invalidParams
 14159  	}
 14160  	return nil
 14161  }
 14162  
 14163  // SetApiKey sets the ApiKey field's value.
 14164  func (s *DeleteApiKeyInput) SetApiKey(v string) *DeleteApiKeyInput {
 14165  	s.ApiKey = &v
 14166  	return s
 14167  }
 14168  
 14169  type DeleteApiKeyOutput struct {
 14170  	_ struct{} `type:"structure" nopayload:"true"`
 14171  }
 14172  
 14173  // String returns the string representation.
 14174  //
 14175  // API parameter values that are decorated as "sensitive" in the API will not
 14176  // be included in the string output. The member name will be present, but the
 14177  // value will be replaced with "sensitive".
 14178  func (s DeleteApiKeyOutput) String() string {
 14179  	return awsutil.Prettify(s)
 14180  }
 14181  
 14182  // GoString returns the string representation.
 14183  //
 14184  // API parameter values that are decorated as "sensitive" in the API will not
 14185  // be included in the string output. The member name will be present, but the
 14186  // value will be replaced with "sensitive".
 14187  func (s DeleteApiKeyOutput) GoString() string {
 14188  	return s.String()
 14189  }
 14190  
 14191  // Request to delete an existing Authorizer resource.
 14192  type DeleteAuthorizerInput struct {
 14193  	_ struct{} `type:"structure" nopayload:"true"`
 14194  
 14195  	// [Required] The identifier of the Authorizer resource.
 14196  	//
 14197  	// AuthorizerId is a required field
 14198  	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
 14199  
 14200  	// [Required] The string identifier of the associated RestApi.
 14201  	//
 14202  	// RestApiId is a required field
 14203  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 14204  }
 14205  
 14206  // String returns the string representation.
 14207  //
 14208  // API parameter values that are decorated as "sensitive" in the API will not
 14209  // be included in the string output. The member name will be present, but the
 14210  // value will be replaced with "sensitive".
 14211  func (s DeleteAuthorizerInput) String() string {
 14212  	return awsutil.Prettify(s)
 14213  }
 14214  
 14215  // GoString returns the string representation.
 14216  //
 14217  // API parameter values that are decorated as "sensitive" in the API will not
 14218  // be included in the string output. The member name will be present, but the
 14219  // value will be replaced with "sensitive".
 14220  func (s DeleteAuthorizerInput) GoString() string {
 14221  	return s.String()
 14222  }
 14223  
 14224  // Validate inspects the fields of the type to determine if they are valid.
 14225  func (s *DeleteAuthorizerInput) Validate() error {
 14226  	invalidParams := request.ErrInvalidParams{Context: "DeleteAuthorizerInput"}
 14227  	if s.AuthorizerId == nil {
 14228  		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
 14229  	}
 14230  	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
 14231  		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
 14232  	}
 14233  	if s.RestApiId == nil {
 14234  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 14235  	}
 14236  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 14237  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 14238  	}
 14239  
 14240  	if invalidParams.Len() > 0 {
 14241  		return invalidParams
 14242  	}
 14243  	return nil
 14244  }
 14245  
 14246  // SetAuthorizerId sets the AuthorizerId field's value.
 14247  func (s *DeleteAuthorizerInput) SetAuthorizerId(v string) *DeleteAuthorizerInput {
 14248  	s.AuthorizerId = &v
 14249  	return s
 14250  }
 14251  
 14252  // SetRestApiId sets the RestApiId field's value.
 14253  func (s *DeleteAuthorizerInput) SetRestApiId(v string) *DeleteAuthorizerInput {
 14254  	s.RestApiId = &v
 14255  	return s
 14256  }
 14257  
 14258  type DeleteAuthorizerOutput struct {
 14259  	_ struct{} `type:"structure" nopayload:"true"`
 14260  }
 14261  
 14262  // String returns the string representation.
 14263  //
 14264  // API parameter values that are decorated as "sensitive" in the API will not
 14265  // be included in the string output. The member name will be present, but the
 14266  // value will be replaced with "sensitive".
 14267  func (s DeleteAuthorizerOutput) String() string {
 14268  	return awsutil.Prettify(s)
 14269  }
 14270  
 14271  // GoString returns the string representation.
 14272  //
 14273  // API parameter values that are decorated as "sensitive" in the API will not
 14274  // be included in the string output. The member name will be present, but the
 14275  // value will be replaced with "sensitive".
 14276  func (s DeleteAuthorizerOutput) GoString() string {
 14277  	return s.String()
 14278  }
 14279  
 14280  // A request to delete the BasePathMapping resource.
 14281  type DeleteBasePathMappingInput struct {
 14282  	_ struct{} `type:"structure" nopayload:"true"`
 14283  
 14284  	// [Required] The base path name of the BasePathMapping resource to delete.
 14285  	//
 14286  	// To specify an empty base path, set this parameter to '(none)'.
 14287  	//
 14288  	// BasePath is a required field
 14289  	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
 14290  
 14291  	// [Required] The domain name of the BasePathMapping resource to delete.
 14292  	//
 14293  	// DomainName is a required field
 14294  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 14295  }
 14296  
 14297  // String returns the string representation.
 14298  //
 14299  // API parameter values that are decorated as "sensitive" in the API will not
 14300  // be included in the string output. The member name will be present, but the
 14301  // value will be replaced with "sensitive".
 14302  func (s DeleteBasePathMappingInput) String() string {
 14303  	return awsutil.Prettify(s)
 14304  }
 14305  
 14306  // GoString returns the string representation.
 14307  //
 14308  // API parameter values that are decorated as "sensitive" in the API will not
 14309  // be included in the string output. The member name will be present, but the
 14310  // value will be replaced with "sensitive".
 14311  func (s DeleteBasePathMappingInput) GoString() string {
 14312  	return s.String()
 14313  }
 14314  
 14315  // Validate inspects the fields of the type to determine if they are valid.
 14316  func (s *DeleteBasePathMappingInput) Validate() error {
 14317  	invalidParams := request.ErrInvalidParams{Context: "DeleteBasePathMappingInput"}
 14318  	if s.BasePath == nil {
 14319  		invalidParams.Add(request.NewErrParamRequired("BasePath"))
 14320  	}
 14321  	if s.BasePath != nil && len(*s.BasePath) < 1 {
 14322  		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
 14323  	}
 14324  	if s.DomainName == nil {
 14325  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 14326  	}
 14327  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 14328  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 14329  	}
 14330  
 14331  	if invalidParams.Len() > 0 {
 14332  		return invalidParams
 14333  	}
 14334  	return nil
 14335  }
 14336  
 14337  // SetBasePath sets the BasePath field's value.
 14338  func (s *DeleteBasePathMappingInput) SetBasePath(v string) *DeleteBasePathMappingInput {
 14339  	s.BasePath = &v
 14340  	return s
 14341  }
 14342  
 14343  // SetDomainName sets the DomainName field's value.
 14344  func (s *DeleteBasePathMappingInput) SetDomainName(v string) *DeleteBasePathMappingInput {
 14345  	s.DomainName = &v
 14346  	return s
 14347  }
 14348  
 14349  type DeleteBasePathMappingOutput struct {
 14350  	_ struct{} `type:"structure" nopayload:"true"`
 14351  }
 14352  
 14353  // String returns the string representation.
 14354  //
 14355  // API parameter values that are decorated as "sensitive" in the API will not
 14356  // be included in the string output. The member name will be present, but the
 14357  // value will be replaced with "sensitive".
 14358  func (s DeleteBasePathMappingOutput) String() string {
 14359  	return awsutil.Prettify(s)
 14360  }
 14361  
 14362  // GoString returns the string representation.
 14363  //
 14364  // API parameter values that are decorated as "sensitive" in the API will not
 14365  // be included in the string output. The member name will be present, but the
 14366  // value will be replaced with "sensitive".
 14367  func (s DeleteBasePathMappingOutput) GoString() string {
 14368  	return s.String()
 14369  }
 14370  
 14371  // A request to delete the ClientCertificate resource.
 14372  type DeleteClientCertificateInput struct {
 14373  	_ struct{} `type:"structure" nopayload:"true"`
 14374  
 14375  	// [Required] The identifier of the ClientCertificate resource to be deleted.
 14376  	//
 14377  	// ClientCertificateId is a required field
 14378  	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
 14379  }
 14380  
 14381  // String returns the string representation.
 14382  //
 14383  // API parameter values that are decorated as "sensitive" in the API will not
 14384  // be included in the string output. The member name will be present, but the
 14385  // value will be replaced with "sensitive".
 14386  func (s DeleteClientCertificateInput) String() string {
 14387  	return awsutil.Prettify(s)
 14388  }
 14389  
 14390  // GoString returns the string representation.
 14391  //
 14392  // API parameter values that are decorated as "sensitive" in the API will not
 14393  // be included in the string output. The member name will be present, but the
 14394  // value will be replaced with "sensitive".
 14395  func (s DeleteClientCertificateInput) GoString() string {
 14396  	return s.String()
 14397  }
 14398  
 14399  // Validate inspects the fields of the type to determine if they are valid.
 14400  func (s *DeleteClientCertificateInput) Validate() error {
 14401  	invalidParams := request.ErrInvalidParams{Context: "DeleteClientCertificateInput"}
 14402  	if s.ClientCertificateId == nil {
 14403  		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
 14404  	}
 14405  	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
 14406  		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
 14407  	}
 14408  
 14409  	if invalidParams.Len() > 0 {
 14410  		return invalidParams
 14411  	}
 14412  	return nil
 14413  }
 14414  
 14415  // SetClientCertificateId sets the ClientCertificateId field's value.
 14416  func (s *DeleteClientCertificateInput) SetClientCertificateId(v string) *DeleteClientCertificateInput {
 14417  	s.ClientCertificateId = &v
 14418  	return s
 14419  }
 14420  
 14421  type DeleteClientCertificateOutput struct {
 14422  	_ struct{} `type:"structure" nopayload:"true"`
 14423  }
 14424  
 14425  // String returns the string representation.
 14426  //
 14427  // API parameter values that are decorated as "sensitive" in the API will not
 14428  // be included in the string output. The member name will be present, but the
 14429  // value will be replaced with "sensitive".
 14430  func (s DeleteClientCertificateOutput) String() string {
 14431  	return awsutil.Prettify(s)
 14432  }
 14433  
 14434  // GoString returns the string representation.
 14435  //
 14436  // API parameter values that are decorated as "sensitive" in the API will not
 14437  // be included in the string output. The member name will be present, but the
 14438  // value will be replaced with "sensitive".
 14439  func (s DeleteClientCertificateOutput) GoString() string {
 14440  	return s.String()
 14441  }
 14442  
 14443  // Requests API Gateway to delete a Deployment resource.
 14444  type DeleteDeploymentInput struct {
 14445  	_ struct{} `type:"structure" nopayload:"true"`
 14446  
 14447  	// [Required] The identifier of the Deployment resource to delete.
 14448  	//
 14449  	// DeploymentId is a required field
 14450  	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
 14451  
 14452  	// [Required] The string identifier of the associated RestApi.
 14453  	//
 14454  	// RestApiId is a required field
 14455  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 14456  }
 14457  
 14458  // String returns the string representation.
 14459  //
 14460  // API parameter values that are decorated as "sensitive" in the API will not
 14461  // be included in the string output. The member name will be present, but the
 14462  // value will be replaced with "sensitive".
 14463  func (s DeleteDeploymentInput) String() string {
 14464  	return awsutil.Prettify(s)
 14465  }
 14466  
 14467  // GoString returns the string representation.
 14468  //
 14469  // API parameter values that are decorated as "sensitive" in the API will not
 14470  // be included in the string output. The member name will be present, but the
 14471  // value will be replaced with "sensitive".
 14472  func (s DeleteDeploymentInput) GoString() string {
 14473  	return s.String()
 14474  }
 14475  
 14476  // Validate inspects the fields of the type to determine if they are valid.
 14477  func (s *DeleteDeploymentInput) Validate() error {
 14478  	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"}
 14479  	if s.DeploymentId == nil {
 14480  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 14481  	}
 14482  	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
 14483  		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
 14484  	}
 14485  	if s.RestApiId == nil {
 14486  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 14487  	}
 14488  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 14489  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 14490  	}
 14491  
 14492  	if invalidParams.Len() > 0 {
 14493  		return invalidParams
 14494  	}
 14495  	return nil
 14496  }
 14497  
 14498  // SetDeploymentId sets the DeploymentId field's value.
 14499  func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput {
 14500  	s.DeploymentId = &v
 14501  	return s
 14502  }
 14503  
 14504  // SetRestApiId sets the RestApiId field's value.
 14505  func (s *DeleteDeploymentInput) SetRestApiId(v string) *DeleteDeploymentInput {
 14506  	s.RestApiId = &v
 14507  	return s
 14508  }
 14509  
 14510  type DeleteDeploymentOutput struct {
 14511  	_ struct{} `type:"structure" nopayload:"true"`
 14512  }
 14513  
 14514  // String returns the string representation.
 14515  //
 14516  // API parameter values that are decorated as "sensitive" in the API will not
 14517  // be included in the string output. The member name will be present, but the
 14518  // value will be replaced with "sensitive".
 14519  func (s DeleteDeploymentOutput) String() string {
 14520  	return awsutil.Prettify(s)
 14521  }
 14522  
 14523  // GoString returns the string representation.
 14524  //
 14525  // API parameter values that are decorated as "sensitive" in the API will not
 14526  // be included in the string output. The member name will be present, but the
 14527  // value will be replaced with "sensitive".
 14528  func (s DeleteDeploymentOutput) GoString() string {
 14529  	return s.String()
 14530  }
 14531  
 14532  // Deletes an existing documentation part of an API.
 14533  type DeleteDocumentationPartInput struct {
 14534  	_ struct{} `type:"structure" nopayload:"true"`
 14535  
 14536  	// [Required] The identifier of the to-be-deleted documentation part.
 14537  	//
 14538  	// DocumentationPartId is a required field
 14539  	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
 14540  
 14541  	// [Required] The string identifier of the associated RestApi.
 14542  	//
 14543  	// RestApiId is a required field
 14544  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 14545  }
 14546  
 14547  // String returns the string representation.
 14548  //
 14549  // API parameter values that are decorated as "sensitive" in the API will not
 14550  // be included in the string output. The member name will be present, but the
 14551  // value will be replaced with "sensitive".
 14552  func (s DeleteDocumentationPartInput) String() string {
 14553  	return awsutil.Prettify(s)
 14554  }
 14555  
 14556  // GoString returns the string representation.
 14557  //
 14558  // API parameter values that are decorated as "sensitive" in the API will not
 14559  // be included in the string output. The member name will be present, but the
 14560  // value will be replaced with "sensitive".
 14561  func (s DeleteDocumentationPartInput) GoString() string {
 14562  	return s.String()
 14563  }
 14564  
 14565  // Validate inspects the fields of the type to determine if they are valid.
 14566  func (s *DeleteDocumentationPartInput) Validate() error {
 14567  	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationPartInput"}
 14568  	if s.DocumentationPartId == nil {
 14569  		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
 14570  	}
 14571  	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
 14572  		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
 14573  	}
 14574  	if s.RestApiId == nil {
 14575  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 14576  	}
 14577  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 14578  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 14579  	}
 14580  
 14581  	if invalidParams.Len() > 0 {
 14582  		return invalidParams
 14583  	}
 14584  	return nil
 14585  }
 14586  
 14587  // SetDocumentationPartId sets the DocumentationPartId field's value.
 14588  func (s *DeleteDocumentationPartInput) SetDocumentationPartId(v string) *DeleteDocumentationPartInput {
 14589  	s.DocumentationPartId = &v
 14590  	return s
 14591  }
 14592  
 14593  // SetRestApiId sets the RestApiId field's value.
 14594  func (s *DeleteDocumentationPartInput) SetRestApiId(v string) *DeleteDocumentationPartInput {
 14595  	s.RestApiId = &v
 14596  	return s
 14597  }
 14598  
 14599  type DeleteDocumentationPartOutput struct {
 14600  	_ struct{} `type:"structure" nopayload:"true"`
 14601  }
 14602  
 14603  // String returns the string representation.
 14604  //
 14605  // API parameter values that are decorated as "sensitive" in the API will not
 14606  // be included in the string output. The member name will be present, but the
 14607  // value will be replaced with "sensitive".
 14608  func (s DeleteDocumentationPartOutput) String() string {
 14609  	return awsutil.Prettify(s)
 14610  }
 14611  
 14612  // GoString returns the string representation.
 14613  //
 14614  // API parameter values that are decorated as "sensitive" in the API will not
 14615  // be included in the string output. The member name will be present, but the
 14616  // value will be replaced with "sensitive".
 14617  func (s DeleteDocumentationPartOutput) GoString() string {
 14618  	return s.String()
 14619  }
 14620  
 14621  // Deletes an existing documentation version of an API.
 14622  type DeleteDocumentationVersionInput struct {
 14623  	_ struct{} `type:"structure" nopayload:"true"`
 14624  
 14625  	// [Required] The version identifier of a to-be-deleted documentation snapshot.
 14626  	//
 14627  	// DocumentationVersion is a required field
 14628  	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
 14629  
 14630  	// [Required] The string identifier of the associated RestApi.
 14631  	//
 14632  	// RestApiId is a required field
 14633  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 14634  }
 14635  
 14636  // String returns the string representation.
 14637  //
 14638  // API parameter values that are decorated as "sensitive" in the API will not
 14639  // be included in the string output. The member name will be present, but the
 14640  // value will be replaced with "sensitive".
 14641  func (s DeleteDocumentationVersionInput) String() string {
 14642  	return awsutil.Prettify(s)
 14643  }
 14644  
 14645  // GoString returns the string representation.
 14646  //
 14647  // API parameter values that are decorated as "sensitive" in the API will not
 14648  // be included in the string output. The member name will be present, but the
 14649  // value will be replaced with "sensitive".
 14650  func (s DeleteDocumentationVersionInput) GoString() string {
 14651  	return s.String()
 14652  }
 14653  
 14654  // Validate inspects the fields of the type to determine if they are valid.
 14655  func (s *DeleteDocumentationVersionInput) Validate() error {
 14656  	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationVersionInput"}
 14657  	if s.DocumentationVersion == nil {
 14658  		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
 14659  	}
 14660  	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
 14661  		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
 14662  	}
 14663  	if s.RestApiId == nil {
 14664  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 14665  	}
 14666  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 14667  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 14668  	}
 14669  
 14670  	if invalidParams.Len() > 0 {
 14671  		return invalidParams
 14672  	}
 14673  	return nil
 14674  }
 14675  
 14676  // SetDocumentationVersion sets the DocumentationVersion field's value.
 14677  func (s *DeleteDocumentationVersionInput) SetDocumentationVersion(v string) *DeleteDocumentationVersionInput {
 14678  	s.DocumentationVersion = &v
 14679  	return s
 14680  }
 14681  
 14682  // SetRestApiId sets the RestApiId field's value.
 14683  func (s *DeleteDocumentationVersionInput) SetRestApiId(v string) *DeleteDocumentationVersionInput {
 14684  	s.RestApiId = &v
 14685  	return s
 14686  }
 14687  
 14688  type DeleteDocumentationVersionOutput struct {
 14689  	_ struct{} `type:"structure" nopayload:"true"`
 14690  }
 14691  
 14692  // String returns the string representation.
 14693  //
 14694  // API parameter values that are decorated as "sensitive" in the API will not
 14695  // be included in the string output. The member name will be present, but the
 14696  // value will be replaced with "sensitive".
 14697  func (s DeleteDocumentationVersionOutput) String() string {
 14698  	return awsutil.Prettify(s)
 14699  }
 14700  
 14701  // GoString returns the string representation.
 14702  //
 14703  // API parameter values that are decorated as "sensitive" in the API will not
 14704  // be included in the string output. The member name will be present, but the
 14705  // value will be replaced with "sensitive".
 14706  func (s DeleteDocumentationVersionOutput) GoString() string {
 14707  	return s.String()
 14708  }
 14709  
 14710  // A request to delete the DomainName resource.
 14711  type DeleteDomainNameInput struct {
 14712  	_ struct{} `type:"structure" nopayload:"true"`
 14713  
 14714  	// [Required] The name of the DomainName resource to be deleted.
 14715  	//
 14716  	// DomainName is a required field
 14717  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 14718  }
 14719  
 14720  // String returns the string representation.
 14721  //
 14722  // API parameter values that are decorated as "sensitive" in the API will not
 14723  // be included in the string output. The member name will be present, but the
 14724  // value will be replaced with "sensitive".
 14725  func (s DeleteDomainNameInput) String() string {
 14726  	return awsutil.Prettify(s)
 14727  }
 14728  
 14729  // GoString returns the string representation.
 14730  //
 14731  // API parameter values that are decorated as "sensitive" in the API will not
 14732  // be included in the string output. The member name will be present, but the
 14733  // value will be replaced with "sensitive".
 14734  func (s DeleteDomainNameInput) GoString() string {
 14735  	return s.String()
 14736  }
 14737  
 14738  // Validate inspects the fields of the type to determine if they are valid.
 14739  func (s *DeleteDomainNameInput) Validate() error {
 14740  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainNameInput"}
 14741  	if s.DomainName == nil {
 14742  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 14743  	}
 14744  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 14745  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 14746  	}
 14747  
 14748  	if invalidParams.Len() > 0 {
 14749  		return invalidParams
 14750  	}
 14751  	return nil
 14752  }
 14753  
 14754  // SetDomainName sets the DomainName field's value.
 14755  func (s *DeleteDomainNameInput) SetDomainName(v string) *DeleteDomainNameInput {
 14756  	s.DomainName = &v
 14757  	return s
 14758  }
 14759  
 14760  type DeleteDomainNameOutput struct {
 14761  	_ struct{} `type:"structure" nopayload:"true"`
 14762  }
 14763  
 14764  // String returns the string representation.
 14765  //
 14766  // API parameter values that are decorated as "sensitive" in the API will not
 14767  // be included in the string output. The member name will be present, but the
 14768  // value will be replaced with "sensitive".
 14769  func (s DeleteDomainNameOutput) String() string {
 14770  	return awsutil.Prettify(s)
 14771  }
 14772  
 14773  // GoString returns the string representation.
 14774  //
 14775  // API parameter values that are decorated as "sensitive" in the API will not
 14776  // be included in the string output. The member name will be present, but the
 14777  // value will be replaced with "sensitive".
 14778  func (s DeleteDomainNameOutput) GoString() string {
 14779  	return s.String()
 14780  }
 14781  
 14782  // Clears any customization of a GatewayResponse of a specified response type
 14783  // on the given RestApi and resets it with the default settings.
 14784  type DeleteGatewayResponseInput struct {
 14785  	_ struct{} `type:"structure" nopayload:"true"`
 14786  
 14787  	// [Required]
 14788  	// The response type of the associated GatewayResponse.
 14789  	//
 14790  	// ResponseType is a required field
 14791  	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
 14792  
 14793  	// [Required] The string identifier of the associated RestApi.
 14794  	//
 14795  	// RestApiId is a required field
 14796  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 14797  }
 14798  
 14799  // String returns the string representation.
 14800  //
 14801  // API parameter values that are decorated as "sensitive" in the API will not
 14802  // be included in the string output. The member name will be present, but the
 14803  // value will be replaced with "sensitive".
 14804  func (s DeleteGatewayResponseInput) String() string {
 14805  	return awsutil.Prettify(s)
 14806  }
 14807  
 14808  // GoString returns the string representation.
 14809  //
 14810  // API parameter values that are decorated as "sensitive" in the API will not
 14811  // be included in the string output. The member name will be present, but the
 14812  // value will be replaced with "sensitive".
 14813  func (s DeleteGatewayResponseInput) GoString() string {
 14814  	return s.String()
 14815  }
 14816  
 14817  // Validate inspects the fields of the type to determine if they are valid.
 14818  func (s *DeleteGatewayResponseInput) Validate() error {
 14819  	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayResponseInput"}
 14820  	if s.ResponseType == nil {
 14821  		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
 14822  	}
 14823  	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
 14824  		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
 14825  	}
 14826  	if s.RestApiId == nil {
 14827  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 14828  	}
 14829  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 14830  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 14831  	}
 14832  
 14833  	if invalidParams.Len() > 0 {
 14834  		return invalidParams
 14835  	}
 14836  	return nil
 14837  }
 14838  
 14839  // SetResponseType sets the ResponseType field's value.
 14840  func (s *DeleteGatewayResponseInput) SetResponseType(v string) *DeleteGatewayResponseInput {
 14841  	s.ResponseType = &v
 14842  	return s
 14843  }
 14844  
 14845  // SetRestApiId sets the RestApiId field's value.
 14846  func (s *DeleteGatewayResponseInput) SetRestApiId(v string) *DeleteGatewayResponseInput {
 14847  	s.RestApiId = &v
 14848  	return s
 14849  }
 14850  
 14851  type DeleteGatewayResponseOutput struct {
 14852  	_ struct{} `type:"structure" nopayload:"true"`
 14853  }
 14854  
 14855  // String returns the string representation.
 14856  //
 14857  // API parameter values that are decorated as "sensitive" in the API will not
 14858  // be included in the string output. The member name will be present, but the
 14859  // value will be replaced with "sensitive".
 14860  func (s DeleteGatewayResponseOutput) String() string {
 14861  	return awsutil.Prettify(s)
 14862  }
 14863  
 14864  // GoString returns the string representation.
 14865  //
 14866  // API parameter values that are decorated as "sensitive" in the API will not
 14867  // be included in the string output. The member name will be present, but the
 14868  // value will be replaced with "sensitive".
 14869  func (s DeleteGatewayResponseOutput) GoString() string {
 14870  	return s.String()
 14871  }
 14872  
 14873  // Represents a delete integration request.
 14874  type DeleteIntegrationInput struct {
 14875  	_ struct{} `type:"structure" nopayload:"true"`
 14876  
 14877  	// [Required] Specifies a delete integration request's HTTP method.
 14878  	//
 14879  	// HttpMethod is a required field
 14880  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 14881  
 14882  	// [Required] Specifies a delete integration request's resource identifier.
 14883  	//
 14884  	// ResourceId is a required field
 14885  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 14886  
 14887  	// [Required] The string identifier of the associated RestApi.
 14888  	//
 14889  	// RestApiId is a required field
 14890  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 14891  }
 14892  
 14893  // String returns the string representation.
 14894  //
 14895  // API parameter values that are decorated as "sensitive" in the API will not
 14896  // be included in the string output. The member name will be present, but the
 14897  // value will be replaced with "sensitive".
 14898  func (s DeleteIntegrationInput) String() string {
 14899  	return awsutil.Prettify(s)
 14900  }
 14901  
 14902  // GoString returns the string representation.
 14903  //
 14904  // API parameter values that are decorated as "sensitive" in the API will not
 14905  // be included in the string output. The member name will be present, but the
 14906  // value will be replaced with "sensitive".
 14907  func (s DeleteIntegrationInput) GoString() string {
 14908  	return s.String()
 14909  }
 14910  
 14911  // Validate inspects the fields of the type to determine if they are valid.
 14912  func (s *DeleteIntegrationInput) Validate() error {
 14913  	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"}
 14914  	if s.HttpMethod == nil {
 14915  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 14916  	}
 14917  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 14918  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 14919  	}
 14920  	if s.ResourceId == nil {
 14921  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 14922  	}
 14923  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 14924  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 14925  	}
 14926  	if s.RestApiId == nil {
 14927  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 14928  	}
 14929  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 14930  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 14931  	}
 14932  
 14933  	if invalidParams.Len() > 0 {
 14934  		return invalidParams
 14935  	}
 14936  	return nil
 14937  }
 14938  
 14939  // SetHttpMethod sets the HttpMethod field's value.
 14940  func (s *DeleteIntegrationInput) SetHttpMethod(v string) *DeleteIntegrationInput {
 14941  	s.HttpMethod = &v
 14942  	return s
 14943  }
 14944  
 14945  // SetResourceId sets the ResourceId field's value.
 14946  func (s *DeleteIntegrationInput) SetResourceId(v string) *DeleteIntegrationInput {
 14947  	s.ResourceId = &v
 14948  	return s
 14949  }
 14950  
 14951  // SetRestApiId sets the RestApiId field's value.
 14952  func (s *DeleteIntegrationInput) SetRestApiId(v string) *DeleteIntegrationInput {
 14953  	s.RestApiId = &v
 14954  	return s
 14955  }
 14956  
 14957  type DeleteIntegrationOutput struct {
 14958  	_ struct{} `type:"structure" nopayload:"true"`
 14959  }
 14960  
 14961  // String returns the string representation.
 14962  //
 14963  // API parameter values that are decorated as "sensitive" in the API will not
 14964  // be included in the string output. The member name will be present, but the
 14965  // value will be replaced with "sensitive".
 14966  func (s DeleteIntegrationOutput) String() string {
 14967  	return awsutil.Prettify(s)
 14968  }
 14969  
 14970  // GoString returns the string representation.
 14971  //
 14972  // API parameter values that are decorated as "sensitive" in the API will not
 14973  // be included in the string output. The member name will be present, but the
 14974  // value will be replaced with "sensitive".
 14975  func (s DeleteIntegrationOutput) GoString() string {
 14976  	return s.String()
 14977  }
 14978  
 14979  // Represents a delete integration response request.
 14980  type DeleteIntegrationResponseInput struct {
 14981  	_ struct{} `type:"structure" nopayload:"true"`
 14982  
 14983  	// [Required] Specifies a delete integration response request's HTTP method.
 14984  	//
 14985  	// HttpMethod is a required field
 14986  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 14987  
 14988  	// [Required] Specifies a delete integration response request's resource identifier.
 14989  	//
 14990  	// ResourceId is a required field
 14991  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 14992  
 14993  	// [Required] The string identifier of the associated RestApi.
 14994  	//
 14995  	// RestApiId is a required field
 14996  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 14997  
 14998  	// [Required] Specifies a delete integration response request's status code.
 14999  	//
 15000  	// StatusCode is a required field
 15001  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 15002  }
 15003  
 15004  // String returns the string representation.
 15005  //
 15006  // API parameter values that are decorated as "sensitive" in the API will not
 15007  // be included in the string output. The member name will be present, but the
 15008  // value will be replaced with "sensitive".
 15009  func (s DeleteIntegrationResponseInput) String() string {
 15010  	return awsutil.Prettify(s)
 15011  }
 15012  
 15013  // GoString returns the string representation.
 15014  //
 15015  // API parameter values that are decorated as "sensitive" in the API will not
 15016  // be included in the string output. The member name will be present, but the
 15017  // value will be replaced with "sensitive".
 15018  func (s DeleteIntegrationResponseInput) GoString() string {
 15019  	return s.String()
 15020  }
 15021  
 15022  // Validate inspects the fields of the type to determine if they are valid.
 15023  func (s *DeleteIntegrationResponseInput) Validate() error {
 15024  	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationResponseInput"}
 15025  	if s.HttpMethod == nil {
 15026  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 15027  	}
 15028  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 15029  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 15030  	}
 15031  	if s.ResourceId == nil {
 15032  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 15033  	}
 15034  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 15035  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 15036  	}
 15037  	if s.RestApiId == nil {
 15038  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15039  	}
 15040  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15041  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15042  	}
 15043  	if s.StatusCode == nil {
 15044  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 15045  	}
 15046  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 15047  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 15048  	}
 15049  
 15050  	if invalidParams.Len() > 0 {
 15051  		return invalidParams
 15052  	}
 15053  	return nil
 15054  }
 15055  
 15056  // SetHttpMethod sets the HttpMethod field's value.
 15057  func (s *DeleteIntegrationResponseInput) SetHttpMethod(v string) *DeleteIntegrationResponseInput {
 15058  	s.HttpMethod = &v
 15059  	return s
 15060  }
 15061  
 15062  // SetResourceId sets the ResourceId field's value.
 15063  func (s *DeleteIntegrationResponseInput) SetResourceId(v string) *DeleteIntegrationResponseInput {
 15064  	s.ResourceId = &v
 15065  	return s
 15066  }
 15067  
 15068  // SetRestApiId sets the RestApiId field's value.
 15069  func (s *DeleteIntegrationResponseInput) SetRestApiId(v string) *DeleteIntegrationResponseInput {
 15070  	s.RestApiId = &v
 15071  	return s
 15072  }
 15073  
 15074  // SetStatusCode sets the StatusCode field's value.
 15075  func (s *DeleteIntegrationResponseInput) SetStatusCode(v string) *DeleteIntegrationResponseInput {
 15076  	s.StatusCode = &v
 15077  	return s
 15078  }
 15079  
 15080  type DeleteIntegrationResponseOutput struct {
 15081  	_ struct{} `type:"structure" nopayload:"true"`
 15082  }
 15083  
 15084  // String returns the string representation.
 15085  //
 15086  // API parameter values that are decorated as "sensitive" in the API will not
 15087  // be included in the string output. The member name will be present, but the
 15088  // value will be replaced with "sensitive".
 15089  func (s DeleteIntegrationResponseOutput) String() string {
 15090  	return awsutil.Prettify(s)
 15091  }
 15092  
 15093  // GoString returns the string representation.
 15094  //
 15095  // API parameter values that are decorated as "sensitive" in the API will not
 15096  // be included in the string output. The member name will be present, but the
 15097  // value will be replaced with "sensitive".
 15098  func (s DeleteIntegrationResponseOutput) GoString() string {
 15099  	return s.String()
 15100  }
 15101  
 15102  // Request to delete an existing Method resource.
 15103  type DeleteMethodInput struct {
 15104  	_ struct{} `type:"structure" nopayload:"true"`
 15105  
 15106  	// [Required] The HTTP verb of the Method resource.
 15107  	//
 15108  	// HttpMethod is a required field
 15109  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 15110  
 15111  	// [Required] The Resource identifier for the Method resource.
 15112  	//
 15113  	// ResourceId is a required field
 15114  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 15115  
 15116  	// [Required] The string identifier of the associated RestApi.
 15117  	//
 15118  	// RestApiId is a required field
 15119  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 15120  }
 15121  
 15122  // String returns the string representation.
 15123  //
 15124  // API parameter values that are decorated as "sensitive" in the API will not
 15125  // be included in the string output. The member name will be present, but the
 15126  // value will be replaced with "sensitive".
 15127  func (s DeleteMethodInput) String() string {
 15128  	return awsutil.Prettify(s)
 15129  }
 15130  
 15131  // GoString returns the string representation.
 15132  //
 15133  // API parameter values that are decorated as "sensitive" in the API will not
 15134  // be included in the string output. The member name will be present, but the
 15135  // value will be replaced with "sensitive".
 15136  func (s DeleteMethodInput) GoString() string {
 15137  	return s.String()
 15138  }
 15139  
 15140  // Validate inspects the fields of the type to determine if they are valid.
 15141  func (s *DeleteMethodInput) Validate() error {
 15142  	invalidParams := request.ErrInvalidParams{Context: "DeleteMethodInput"}
 15143  	if s.HttpMethod == nil {
 15144  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 15145  	}
 15146  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 15147  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 15148  	}
 15149  	if s.ResourceId == nil {
 15150  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 15151  	}
 15152  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 15153  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 15154  	}
 15155  	if s.RestApiId == nil {
 15156  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15157  	}
 15158  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15159  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15160  	}
 15161  
 15162  	if invalidParams.Len() > 0 {
 15163  		return invalidParams
 15164  	}
 15165  	return nil
 15166  }
 15167  
 15168  // SetHttpMethod sets the HttpMethod field's value.
 15169  func (s *DeleteMethodInput) SetHttpMethod(v string) *DeleteMethodInput {
 15170  	s.HttpMethod = &v
 15171  	return s
 15172  }
 15173  
 15174  // SetResourceId sets the ResourceId field's value.
 15175  func (s *DeleteMethodInput) SetResourceId(v string) *DeleteMethodInput {
 15176  	s.ResourceId = &v
 15177  	return s
 15178  }
 15179  
 15180  // SetRestApiId sets the RestApiId field's value.
 15181  func (s *DeleteMethodInput) SetRestApiId(v string) *DeleteMethodInput {
 15182  	s.RestApiId = &v
 15183  	return s
 15184  }
 15185  
 15186  type DeleteMethodOutput struct {
 15187  	_ struct{} `type:"structure" nopayload:"true"`
 15188  }
 15189  
 15190  // String returns the string representation.
 15191  //
 15192  // API parameter values that are decorated as "sensitive" in the API will not
 15193  // be included in the string output. The member name will be present, but the
 15194  // value will be replaced with "sensitive".
 15195  func (s DeleteMethodOutput) String() string {
 15196  	return awsutil.Prettify(s)
 15197  }
 15198  
 15199  // GoString returns the string representation.
 15200  //
 15201  // API parameter values that are decorated as "sensitive" in the API will not
 15202  // be included in the string output. The member name will be present, but the
 15203  // value will be replaced with "sensitive".
 15204  func (s DeleteMethodOutput) GoString() string {
 15205  	return s.String()
 15206  }
 15207  
 15208  // A request to delete an existing MethodResponse resource.
 15209  type DeleteMethodResponseInput struct {
 15210  	_ struct{} `type:"structure" nopayload:"true"`
 15211  
 15212  	// [Required] The HTTP verb of the Method resource.
 15213  	//
 15214  	// HttpMethod is a required field
 15215  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 15216  
 15217  	// [Required] The Resource identifier for the MethodResponse resource.
 15218  	//
 15219  	// ResourceId is a required field
 15220  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 15221  
 15222  	// [Required] The string identifier of the associated RestApi.
 15223  	//
 15224  	// RestApiId is a required field
 15225  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 15226  
 15227  	// [Required] The status code identifier for the MethodResponse resource.
 15228  	//
 15229  	// StatusCode is a required field
 15230  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 15231  }
 15232  
 15233  // String returns the string representation.
 15234  //
 15235  // API parameter values that are decorated as "sensitive" in the API will not
 15236  // be included in the string output. The member name will be present, but the
 15237  // value will be replaced with "sensitive".
 15238  func (s DeleteMethodResponseInput) String() string {
 15239  	return awsutil.Prettify(s)
 15240  }
 15241  
 15242  // GoString returns the string representation.
 15243  //
 15244  // API parameter values that are decorated as "sensitive" in the API will not
 15245  // be included in the string output. The member name will be present, but the
 15246  // value will be replaced with "sensitive".
 15247  func (s DeleteMethodResponseInput) GoString() string {
 15248  	return s.String()
 15249  }
 15250  
 15251  // Validate inspects the fields of the type to determine if they are valid.
 15252  func (s *DeleteMethodResponseInput) Validate() error {
 15253  	invalidParams := request.ErrInvalidParams{Context: "DeleteMethodResponseInput"}
 15254  	if s.HttpMethod == nil {
 15255  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 15256  	}
 15257  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 15258  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 15259  	}
 15260  	if s.ResourceId == nil {
 15261  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 15262  	}
 15263  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 15264  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 15265  	}
 15266  	if s.RestApiId == nil {
 15267  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15268  	}
 15269  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15270  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15271  	}
 15272  	if s.StatusCode == nil {
 15273  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 15274  	}
 15275  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 15276  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 15277  	}
 15278  
 15279  	if invalidParams.Len() > 0 {
 15280  		return invalidParams
 15281  	}
 15282  	return nil
 15283  }
 15284  
 15285  // SetHttpMethod sets the HttpMethod field's value.
 15286  func (s *DeleteMethodResponseInput) SetHttpMethod(v string) *DeleteMethodResponseInput {
 15287  	s.HttpMethod = &v
 15288  	return s
 15289  }
 15290  
 15291  // SetResourceId sets the ResourceId field's value.
 15292  func (s *DeleteMethodResponseInput) SetResourceId(v string) *DeleteMethodResponseInput {
 15293  	s.ResourceId = &v
 15294  	return s
 15295  }
 15296  
 15297  // SetRestApiId sets the RestApiId field's value.
 15298  func (s *DeleteMethodResponseInput) SetRestApiId(v string) *DeleteMethodResponseInput {
 15299  	s.RestApiId = &v
 15300  	return s
 15301  }
 15302  
 15303  // SetStatusCode sets the StatusCode field's value.
 15304  func (s *DeleteMethodResponseInput) SetStatusCode(v string) *DeleteMethodResponseInput {
 15305  	s.StatusCode = &v
 15306  	return s
 15307  }
 15308  
 15309  type DeleteMethodResponseOutput struct {
 15310  	_ struct{} `type:"structure" nopayload:"true"`
 15311  }
 15312  
 15313  // String returns the string representation.
 15314  //
 15315  // API parameter values that are decorated as "sensitive" in the API will not
 15316  // be included in the string output. The member name will be present, but the
 15317  // value will be replaced with "sensitive".
 15318  func (s DeleteMethodResponseOutput) String() string {
 15319  	return awsutil.Prettify(s)
 15320  }
 15321  
 15322  // GoString returns the string representation.
 15323  //
 15324  // API parameter values that are decorated as "sensitive" in the API will not
 15325  // be included in the string output. The member name will be present, but the
 15326  // value will be replaced with "sensitive".
 15327  func (s DeleteMethodResponseOutput) GoString() string {
 15328  	return s.String()
 15329  }
 15330  
 15331  // Request to delete an existing model in an existing RestApi resource.
 15332  type DeleteModelInput struct {
 15333  	_ struct{} `type:"structure" nopayload:"true"`
 15334  
 15335  	// [Required] The name of the model to delete.
 15336  	//
 15337  	// ModelName is a required field
 15338  	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
 15339  
 15340  	// [Required] The string identifier of the associated RestApi.
 15341  	//
 15342  	// RestApiId is a required field
 15343  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 15344  }
 15345  
 15346  // String returns the string representation.
 15347  //
 15348  // API parameter values that are decorated as "sensitive" in the API will not
 15349  // be included in the string output. The member name will be present, but the
 15350  // value will be replaced with "sensitive".
 15351  func (s DeleteModelInput) String() string {
 15352  	return awsutil.Prettify(s)
 15353  }
 15354  
 15355  // GoString returns the string representation.
 15356  //
 15357  // API parameter values that are decorated as "sensitive" in the API will not
 15358  // be included in the string output. The member name will be present, but the
 15359  // value will be replaced with "sensitive".
 15360  func (s DeleteModelInput) GoString() string {
 15361  	return s.String()
 15362  }
 15363  
 15364  // Validate inspects the fields of the type to determine if they are valid.
 15365  func (s *DeleteModelInput) Validate() error {
 15366  	invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"}
 15367  	if s.ModelName == nil {
 15368  		invalidParams.Add(request.NewErrParamRequired("ModelName"))
 15369  	}
 15370  	if s.ModelName != nil && len(*s.ModelName) < 1 {
 15371  		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
 15372  	}
 15373  	if s.RestApiId == nil {
 15374  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15375  	}
 15376  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15377  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15378  	}
 15379  
 15380  	if invalidParams.Len() > 0 {
 15381  		return invalidParams
 15382  	}
 15383  	return nil
 15384  }
 15385  
 15386  // SetModelName sets the ModelName field's value.
 15387  func (s *DeleteModelInput) SetModelName(v string) *DeleteModelInput {
 15388  	s.ModelName = &v
 15389  	return s
 15390  }
 15391  
 15392  // SetRestApiId sets the RestApiId field's value.
 15393  func (s *DeleteModelInput) SetRestApiId(v string) *DeleteModelInput {
 15394  	s.RestApiId = &v
 15395  	return s
 15396  }
 15397  
 15398  type DeleteModelOutput struct {
 15399  	_ struct{} `type:"structure" nopayload:"true"`
 15400  }
 15401  
 15402  // String returns the string representation.
 15403  //
 15404  // API parameter values that are decorated as "sensitive" in the API will not
 15405  // be included in the string output. The member name will be present, but the
 15406  // value will be replaced with "sensitive".
 15407  func (s DeleteModelOutput) String() string {
 15408  	return awsutil.Prettify(s)
 15409  }
 15410  
 15411  // GoString returns the string representation.
 15412  //
 15413  // API parameter values that are decorated as "sensitive" in the API will not
 15414  // be included in the string output. The member name will be present, but the
 15415  // value will be replaced with "sensitive".
 15416  func (s DeleteModelOutput) GoString() string {
 15417  	return s.String()
 15418  }
 15419  
 15420  // Deletes a specified RequestValidator of a given RestApi.
 15421  type DeleteRequestValidatorInput struct {
 15422  	_ struct{} `type:"structure" nopayload:"true"`
 15423  
 15424  	// [Required] The identifier of the RequestValidator to be deleted.
 15425  	//
 15426  	// RequestValidatorId is a required field
 15427  	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
 15428  
 15429  	// [Required] The string identifier of the associated RestApi.
 15430  	//
 15431  	// RestApiId is a required field
 15432  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 15433  }
 15434  
 15435  // String returns the string representation.
 15436  //
 15437  // API parameter values that are decorated as "sensitive" in the API will not
 15438  // be included in the string output. The member name will be present, but the
 15439  // value will be replaced with "sensitive".
 15440  func (s DeleteRequestValidatorInput) String() string {
 15441  	return awsutil.Prettify(s)
 15442  }
 15443  
 15444  // GoString returns the string representation.
 15445  //
 15446  // API parameter values that are decorated as "sensitive" in the API will not
 15447  // be included in the string output. The member name will be present, but the
 15448  // value will be replaced with "sensitive".
 15449  func (s DeleteRequestValidatorInput) GoString() string {
 15450  	return s.String()
 15451  }
 15452  
 15453  // Validate inspects the fields of the type to determine if they are valid.
 15454  func (s *DeleteRequestValidatorInput) Validate() error {
 15455  	invalidParams := request.ErrInvalidParams{Context: "DeleteRequestValidatorInput"}
 15456  	if s.RequestValidatorId == nil {
 15457  		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
 15458  	}
 15459  	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
 15460  		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
 15461  	}
 15462  	if s.RestApiId == nil {
 15463  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15464  	}
 15465  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15466  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15467  	}
 15468  
 15469  	if invalidParams.Len() > 0 {
 15470  		return invalidParams
 15471  	}
 15472  	return nil
 15473  }
 15474  
 15475  // SetRequestValidatorId sets the RequestValidatorId field's value.
 15476  func (s *DeleteRequestValidatorInput) SetRequestValidatorId(v string) *DeleteRequestValidatorInput {
 15477  	s.RequestValidatorId = &v
 15478  	return s
 15479  }
 15480  
 15481  // SetRestApiId sets the RestApiId field's value.
 15482  func (s *DeleteRequestValidatorInput) SetRestApiId(v string) *DeleteRequestValidatorInput {
 15483  	s.RestApiId = &v
 15484  	return s
 15485  }
 15486  
 15487  type DeleteRequestValidatorOutput struct {
 15488  	_ struct{} `type:"structure" nopayload:"true"`
 15489  }
 15490  
 15491  // String returns the string representation.
 15492  //
 15493  // API parameter values that are decorated as "sensitive" in the API will not
 15494  // be included in the string output. The member name will be present, but the
 15495  // value will be replaced with "sensitive".
 15496  func (s DeleteRequestValidatorOutput) String() string {
 15497  	return awsutil.Prettify(s)
 15498  }
 15499  
 15500  // GoString returns the string representation.
 15501  //
 15502  // API parameter values that are decorated as "sensitive" in the API will not
 15503  // be included in the string output. The member name will be present, but the
 15504  // value will be replaced with "sensitive".
 15505  func (s DeleteRequestValidatorOutput) GoString() string {
 15506  	return s.String()
 15507  }
 15508  
 15509  // Request to delete a Resource.
 15510  type DeleteResourceInput struct {
 15511  	_ struct{} `type:"structure" nopayload:"true"`
 15512  
 15513  	// [Required] The identifier of the Resource resource.
 15514  	//
 15515  	// ResourceId is a required field
 15516  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 15517  
 15518  	// [Required] The string identifier of the associated RestApi.
 15519  	//
 15520  	// RestApiId is a required field
 15521  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 15522  }
 15523  
 15524  // String returns the string representation.
 15525  //
 15526  // API parameter values that are decorated as "sensitive" in the API will not
 15527  // be included in the string output. The member name will be present, but the
 15528  // value will be replaced with "sensitive".
 15529  func (s DeleteResourceInput) String() string {
 15530  	return awsutil.Prettify(s)
 15531  }
 15532  
 15533  // GoString returns the string representation.
 15534  //
 15535  // API parameter values that are decorated as "sensitive" in the API will not
 15536  // be included in the string output. The member name will be present, but the
 15537  // value will be replaced with "sensitive".
 15538  func (s DeleteResourceInput) GoString() string {
 15539  	return s.String()
 15540  }
 15541  
 15542  // Validate inspects the fields of the type to determine if they are valid.
 15543  func (s *DeleteResourceInput) Validate() error {
 15544  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceInput"}
 15545  	if s.ResourceId == nil {
 15546  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 15547  	}
 15548  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 15549  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 15550  	}
 15551  	if s.RestApiId == nil {
 15552  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15553  	}
 15554  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15555  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15556  	}
 15557  
 15558  	if invalidParams.Len() > 0 {
 15559  		return invalidParams
 15560  	}
 15561  	return nil
 15562  }
 15563  
 15564  // SetResourceId sets the ResourceId field's value.
 15565  func (s *DeleteResourceInput) SetResourceId(v string) *DeleteResourceInput {
 15566  	s.ResourceId = &v
 15567  	return s
 15568  }
 15569  
 15570  // SetRestApiId sets the RestApiId field's value.
 15571  func (s *DeleteResourceInput) SetRestApiId(v string) *DeleteResourceInput {
 15572  	s.RestApiId = &v
 15573  	return s
 15574  }
 15575  
 15576  type DeleteResourceOutput struct {
 15577  	_ struct{} `type:"structure" nopayload:"true"`
 15578  }
 15579  
 15580  // String returns the string representation.
 15581  //
 15582  // API parameter values that are decorated as "sensitive" in the API will not
 15583  // be included in the string output. The member name will be present, but the
 15584  // value will be replaced with "sensitive".
 15585  func (s DeleteResourceOutput) String() string {
 15586  	return awsutil.Prettify(s)
 15587  }
 15588  
 15589  // GoString returns the string representation.
 15590  //
 15591  // API parameter values that are decorated as "sensitive" in the API will not
 15592  // be included in the string output. The member name will be present, but the
 15593  // value will be replaced with "sensitive".
 15594  func (s DeleteResourceOutput) GoString() string {
 15595  	return s.String()
 15596  }
 15597  
 15598  // Request to delete the specified API from your collection.
 15599  type DeleteRestApiInput struct {
 15600  	_ struct{} `type:"structure" nopayload:"true"`
 15601  
 15602  	// [Required] The string identifier of the associated RestApi.
 15603  	//
 15604  	// RestApiId is a required field
 15605  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 15606  }
 15607  
 15608  // String returns the string representation.
 15609  //
 15610  // API parameter values that are decorated as "sensitive" in the API will not
 15611  // be included in the string output. The member name will be present, but the
 15612  // value will be replaced with "sensitive".
 15613  func (s DeleteRestApiInput) String() string {
 15614  	return awsutil.Prettify(s)
 15615  }
 15616  
 15617  // GoString returns the string representation.
 15618  //
 15619  // API parameter values that are decorated as "sensitive" in the API will not
 15620  // be included in the string output. The member name will be present, but the
 15621  // value will be replaced with "sensitive".
 15622  func (s DeleteRestApiInput) GoString() string {
 15623  	return s.String()
 15624  }
 15625  
 15626  // Validate inspects the fields of the type to determine if they are valid.
 15627  func (s *DeleteRestApiInput) Validate() error {
 15628  	invalidParams := request.ErrInvalidParams{Context: "DeleteRestApiInput"}
 15629  	if s.RestApiId == nil {
 15630  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15631  	}
 15632  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15633  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15634  	}
 15635  
 15636  	if invalidParams.Len() > 0 {
 15637  		return invalidParams
 15638  	}
 15639  	return nil
 15640  }
 15641  
 15642  // SetRestApiId sets the RestApiId field's value.
 15643  func (s *DeleteRestApiInput) SetRestApiId(v string) *DeleteRestApiInput {
 15644  	s.RestApiId = &v
 15645  	return s
 15646  }
 15647  
 15648  type DeleteRestApiOutput struct {
 15649  	_ struct{} `type:"structure" nopayload:"true"`
 15650  }
 15651  
 15652  // String returns the string representation.
 15653  //
 15654  // API parameter values that are decorated as "sensitive" in the API will not
 15655  // be included in the string output. The member name will be present, but the
 15656  // value will be replaced with "sensitive".
 15657  func (s DeleteRestApiOutput) String() string {
 15658  	return awsutil.Prettify(s)
 15659  }
 15660  
 15661  // GoString returns the string representation.
 15662  //
 15663  // API parameter values that are decorated as "sensitive" in the API will not
 15664  // be included in the string output. The member name will be present, but the
 15665  // value will be replaced with "sensitive".
 15666  func (s DeleteRestApiOutput) GoString() string {
 15667  	return s.String()
 15668  }
 15669  
 15670  // Requests API Gateway to delete a Stage resource.
 15671  type DeleteStageInput struct {
 15672  	_ struct{} `type:"structure" nopayload:"true"`
 15673  
 15674  	// [Required] The string identifier of the associated RestApi.
 15675  	//
 15676  	// RestApiId is a required field
 15677  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 15678  
 15679  	// [Required] The name of the Stage resource to delete.
 15680  	//
 15681  	// StageName is a required field
 15682  	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
 15683  }
 15684  
 15685  // String returns the string representation.
 15686  //
 15687  // API parameter values that are decorated as "sensitive" in the API will not
 15688  // be included in the string output. The member name will be present, but the
 15689  // value will be replaced with "sensitive".
 15690  func (s DeleteStageInput) String() string {
 15691  	return awsutil.Prettify(s)
 15692  }
 15693  
 15694  // GoString returns the string representation.
 15695  //
 15696  // API parameter values that are decorated as "sensitive" in the API will not
 15697  // be included in the string output. The member name will be present, but the
 15698  // value will be replaced with "sensitive".
 15699  func (s DeleteStageInput) GoString() string {
 15700  	return s.String()
 15701  }
 15702  
 15703  // Validate inspects the fields of the type to determine if they are valid.
 15704  func (s *DeleteStageInput) Validate() error {
 15705  	invalidParams := request.ErrInvalidParams{Context: "DeleteStageInput"}
 15706  	if s.RestApiId == nil {
 15707  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 15708  	}
 15709  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 15710  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 15711  	}
 15712  	if s.StageName == nil {
 15713  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 15714  	}
 15715  	if s.StageName != nil && len(*s.StageName) < 1 {
 15716  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 15717  	}
 15718  
 15719  	if invalidParams.Len() > 0 {
 15720  		return invalidParams
 15721  	}
 15722  	return nil
 15723  }
 15724  
 15725  // SetRestApiId sets the RestApiId field's value.
 15726  func (s *DeleteStageInput) SetRestApiId(v string) *DeleteStageInput {
 15727  	s.RestApiId = &v
 15728  	return s
 15729  }
 15730  
 15731  // SetStageName sets the StageName field's value.
 15732  func (s *DeleteStageInput) SetStageName(v string) *DeleteStageInput {
 15733  	s.StageName = &v
 15734  	return s
 15735  }
 15736  
 15737  type DeleteStageOutput struct {
 15738  	_ struct{} `type:"structure" nopayload:"true"`
 15739  }
 15740  
 15741  // String returns the string representation.
 15742  //
 15743  // API parameter values that are decorated as "sensitive" in the API will not
 15744  // be included in the string output. The member name will be present, but the
 15745  // value will be replaced with "sensitive".
 15746  func (s DeleteStageOutput) String() string {
 15747  	return awsutil.Prettify(s)
 15748  }
 15749  
 15750  // GoString returns the string representation.
 15751  //
 15752  // API parameter values that are decorated as "sensitive" in the API will not
 15753  // be included in the string output. The member name will be present, but the
 15754  // value will be replaced with "sensitive".
 15755  func (s DeleteStageOutput) GoString() string {
 15756  	return s.String()
 15757  }
 15758  
 15759  // The DELETE request to delete a usage plan of a given plan Id.
 15760  type DeleteUsagePlanInput struct {
 15761  	_ struct{} `type:"structure" nopayload:"true"`
 15762  
 15763  	// [Required] The Id of the to-be-deleted usage plan.
 15764  	//
 15765  	// UsagePlanId is a required field
 15766  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 15767  }
 15768  
 15769  // String returns the string representation.
 15770  //
 15771  // API parameter values that are decorated as "sensitive" in the API will not
 15772  // be included in the string output. The member name will be present, but the
 15773  // value will be replaced with "sensitive".
 15774  func (s DeleteUsagePlanInput) String() string {
 15775  	return awsutil.Prettify(s)
 15776  }
 15777  
 15778  // GoString returns the string representation.
 15779  //
 15780  // API parameter values that are decorated as "sensitive" in the API will not
 15781  // be included in the string output. The member name will be present, but the
 15782  // value will be replaced with "sensitive".
 15783  func (s DeleteUsagePlanInput) GoString() string {
 15784  	return s.String()
 15785  }
 15786  
 15787  // Validate inspects the fields of the type to determine if they are valid.
 15788  func (s *DeleteUsagePlanInput) Validate() error {
 15789  	invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanInput"}
 15790  	if s.UsagePlanId == nil {
 15791  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 15792  	}
 15793  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 15794  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 15795  	}
 15796  
 15797  	if invalidParams.Len() > 0 {
 15798  		return invalidParams
 15799  	}
 15800  	return nil
 15801  }
 15802  
 15803  // SetUsagePlanId sets the UsagePlanId field's value.
 15804  func (s *DeleteUsagePlanInput) SetUsagePlanId(v string) *DeleteUsagePlanInput {
 15805  	s.UsagePlanId = &v
 15806  	return s
 15807  }
 15808  
 15809  // The DELETE request to delete a usage plan key and remove the underlying API
 15810  // key from the associated usage plan.
 15811  type DeleteUsagePlanKeyInput struct {
 15812  	_ struct{} `type:"structure" nopayload:"true"`
 15813  
 15814  	// [Required] The Id of the UsagePlanKey resource to be deleted.
 15815  	//
 15816  	// KeyId is a required field
 15817  	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
 15818  
 15819  	// [Required] The Id of the UsagePlan resource representing the usage plan containing
 15820  	// the to-be-deleted UsagePlanKey resource representing a plan customer.
 15821  	//
 15822  	// UsagePlanId is a required field
 15823  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 15824  }
 15825  
 15826  // String returns the string representation.
 15827  //
 15828  // API parameter values that are decorated as "sensitive" in the API will not
 15829  // be included in the string output. The member name will be present, but the
 15830  // value will be replaced with "sensitive".
 15831  func (s DeleteUsagePlanKeyInput) String() string {
 15832  	return awsutil.Prettify(s)
 15833  }
 15834  
 15835  // GoString returns the string representation.
 15836  //
 15837  // API parameter values that are decorated as "sensitive" in the API will not
 15838  // be included in the string output. The member name will be present, but the
 15839  // value will be replaced with "sensitive".
 15840  func (s DeleteUsagePlanKeyInput) GoString() string {
 15841  	return s.String()
 15842  }
 15843  
 15844  // Validate inspects the fields of the type to determine if they are valid.
 15845  func (s *DeleteUsagePlanKeyInput) Validate() error {
 15846  	invalidParams := request.ErrInvalidParams{Context: "DeleteUsagePlanKeyInput"}
 15847  	if s.KeyId == nil {
 15848  		invalidParams.Add(request.NewErrParamRequired("KeyId"))
 15849  	}
 15850  	if s.KeyId != nil && len(*s.KeyId) < 1 {
 15851  		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
 15852  	}
 15853  	if s.UsagePlanId == nil {
 15854  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 15855  	}
 15856  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 15857  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 15858  	}
 15859  
 15860  	if invalidParams.Len() > 0 {
 15861  		return invalidParams
 15862  	}
 15863  	return nil
 15864  }
 15865  
 15866  // SetKeyId sets the KeyId field's value.
 15867  func (s *DeleteUsagePlanKeyInput) SetKeyId(v string) *DeleteUsagePlanKeyInput {
 15868  	s.KeyId = &v
 15869  	return s
 15870  }
 15871  
 15872  // SetUsagePlanId sets the UsagePlanId field's value.
 15873  func (s *DeleteUsagePlanKeyInput) SetUsagePlanId(v string) *DeleteUsagePlanKeyInput {
 15874  	s.UsagePlanId = &v
 15875  	return s
 15876  }
 15877  
 15878  type DeleteUsagePlanKeyOutput struct {
 15879  	_ struct{} `type:"structure" nopayload:"true"`
 15880  }
 15881  
 15882  // String returns the string representation.
 15883  //
 15884  // API parameter values that are decorated as "sensitive" in the API will not
 15885  // be included in the string output. The member name will be present, but the
 15886  // value will be replaced with "sensitive".
 15887  func (s DeleteUsagePlanKeyOutput) String() string {
 15888  	return awsutil.Prettify(s)
 15889  }
 15890  
 15891  // GoString returns the string representation.
 15892  //
 15893  // API parameter values that are decorated as "sensitive" in the API will not
 15894  // be included in the string output. The member name will be present, but the
 15895  // value will be replaced with "sensitive".
 15896  func (s DeleteUsagePlanKeyOutput) GoString() string {
 15897  	return s.String()
 15898  }
 15899  
 15900  type DeleteUsagePlanOutput struct {
 15901  	_ struct{} `type:"structure" nopayload:"true"`
 15902  }
 15903  
 15904  // String returns the string representation.
 15905  //
 15906  // API parameter values that are decorated as "sensitive" in the API will not
 15907  // be included in the string output. The member name will be present, but the
 15908  // value will be replaced with "sensitive".
 15909  func (s DeleteUsagePlanOutput) String() string {
 15910  	return awsutil.Prettify(s)
 15911  }
 15912  
 15913  // GoString returns the string representation.
 15914  //
 15915  // API parameter values that are decorated as "sensitive" in the API will not
 15916  // be included in the string output. The member name will be present, but the
 15917  // value will be replaced with "sensitive".
 15918  func (s DeleteUsagePlanOutput) GoString() string {
 15919  	return s.String()
 15920  }
 15921  
 15922  // Deletes an existing VpcLink of a specified identifier.
 15923  type DeleteVpcLinkInput struct {
 15924  	_ struct{} `type:"structure" nopayload:"true"`
 15925  
 15926  	// [Required] The identifier of the VpcLink. It is used in an Integration to
 15927  	// reference this VpcLink.
 15928  	//
 15929  	// VpcLinkId is a required field
 15930  	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
 15931  }
 15932  
 15933  // String returns the string representation.
 15934  //
 15935  // API parameter values that are decorated as "sensitive" in the API will not
 15936  // be included in the string output. The member name will be present, but the
 15937  // value will be replaced with "sensitive".
 15938  func (s DeleteVpcLinkInput) String() string {
 15939  	return awsutil.Prettify(s)
 15940  }
 15941  
 15942  // GoString returns the string representation.
 15943  //
 15944  // API parameter values that are decorated as "sensitive" in the API will not
 15945  // be included in the string output. The member name will be present, but the
 15946  // value will be replaced with "sensitive".
 15947  func (s DeleteVpcLinkInput) GoString() string {
 15948  	return s.String()
 15949  }
 15950  
 15951  // Validate inspects the fields of the type to determine if they are valid.
 15952  func (s *DeleteVpcLinkInput) Validate() error {
 15953  	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcLinkInput"}
 15954  	if s.VpcLinkId == nil {
 15955  		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
 15956  	}
 15957  	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
 15958  		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
 15959  	}
 15960  
 15961  	if invalidParams.Len() > 0 {
 15962  		return invalidParams
 15963  	}
 15964  	return nil
 15965  }
 15966  
 15967  // SetVpcLinkId sets the VpcLinkId field's value.
 15968  func (s *DeleteVpcLinkInput) SetVpcLinkId(v string) *DeleteVpcLinkInput {
 15969  	s.VpcLinkId = &v
 15970  	return s
 15971  }
 15972  
 15973  type DeleteVpcLinkOutput struct {
 15974  	_ struct{} `type:"structure" nopayload:"true"`
 15975  }
 15976  
 15977  // String returns the string representation.
 15978  //
 15979  // API parameter values that are decorated as "sensitive" in the API will not
 15980  // be included in the string output. The member name will be present, but the
 15981  // value will be replaced with "sensitive".
 15982  func (s DeleteVpcLinkOutput) String() string {
 15983  	return awsutil.Prettify(s)
 15984  }
 15985  
 15986  // GoString returns the string representation.
 15987  //
 15988  // API parameter values that are decorated as "sensitive" in the API will not
 15989  // be included in the string output. The member name will be present, but the
 15990  // value will be replaced with "sensitive".
 15991  func (s DeleteVpcLinkOutput) GoString() string {
 15992  	return s.String()
 15993  }
 15994  
 15995  // An immutable representation of a RestApi resource that can be called by users
 15996  // using Stages. A deployment must be associated with a Stage for it to be callable
 15997  // over the Internet.
 15998  //
 15999  // To create a deployment, call POST on the Deployments resource of a RestApi.
 16000  // To view, update, or delete a deployment, call GET, PATCH, or DELETE on the
 16001  // specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}).
 16002  //
 16003  // RestApi, Deployments, Stage, AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html),
 16004  // AWS SDKs (https://aws.amazon.com/tools/)
 16005  type Deployment struct {
 16006  	_ struct{} `type:"structure"`
 16007  
 16008  	// A summary of the RestApi at the date and time that the deployment resource
 16009  	// was created.
 16010  	ApiSummary map[string]map[string]*MethodSnapshot `locationName:"apiSummary" type:"map"`
 16011  
 16012  	// The date and time that the deployment resource was created.
 16013  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
 16014  
 16015  	// The description for the deployment resource.
 16016  	Description *string `locationName:"description" type:"string"`
 16017  
 16018  	// The identifier for the deployment resource.
 16019  	Id *string `locationName:"id" type:"string"`
 16020  }
 16021  
 16022  // String returns the string representation.
 16023  //
 16024  // API parameter values that are decorated as "sensitive" in the API will not
 16025  // be included in the string output. The member name will be present, but the
 16026  // value will be replaced with "sensitive".
 16027  func (s Deployment) String() string {
 16028  	return awsutil.Prettify(s)
 16029  }
 16030  
 16031  // GoString returns the string representation.
 16032  //
 16033  // API parameter values that are decorated as "sensitive" in the API will not
 16034  // be included in the string output. The member name will be present, but the
 16035  // value will be replaced with "sensitive".
 16036  func (s Deployment) GoString() string {
 16037  	return s.String()
 16038  }
 16039  
 16040  // SetApiSummary sets the ApiSummary field's value.
 16041  func (s *Deployment) SetApiSummary(v map[string]map[string]*MethodSnapshot) *Deployment {
 16042  	s.ApiSummary = v
 16043  	return s
 16044  }
 16045  
 16046  // SetCreatedDate sets the CreatedDate field's value.
 16047  func (s *Deployment) SetCreatedDate(v time.Time) *Deployment {
 16048  	s.CreatedDate = &v
 16049  	return s
 16050  }
 16051  
 16052  // SetDescription sets the Description field's value.
 16053  func (s *Deployment) SetDescription(v string) *Deployment {
 16054  	s.Description = &v
 16055  	return s
 16056  }
 16057  
 16058  // SetId sets the Id field's value.
 16059  func (s *Deployment) SetId(v string) *Deployment {
 16060  	s.Id = &v
 16061  	return s
 16062  }
 16063  
 16064  // The input configuration for a canary deployment.
 16065  type DeploymentCanarySettings struct {
 16066  	_ struct{} `type:"structure"`
 16067  
 16068  	// The percentage (0.0-100.0) of traffic routed to the canary deployment.
 16069  	PercentTraffic *float64 `locationName:"percentTraffic" type:"double"`
 16070  
 16071  	// A stage variable overrides used for the canary release deployment. They can
 16072  	// override existing stage variables or add new stage variables for the canary
 16073  	// release deployment. These stage variables are represented as a string-to-string
 16074  	// map between stage variable names and their values.
 16075  	StageVariableOverrides map[string]*string `locationName:"stageVariableOverrides" type:"map"`
 16076  
 16077  	// A Boolean flag to indicate whether the canary release deployment uses the
 16078  	// stage cache or not.
 16079  	UseStageCache *bool `locationName:"useStageCache" type:"boolean"`
 16080  }
 16081  
 16082  // String returns the string representation.
 16083  //
 16084  // API parameter values that are decorated as "sensitive" in the API will not
 16085  // be included in the string output. The member name will be present, but the
 16086  // value will be replaced with "sensitive".
 16087  func (s DeploymentCanarySettings) String() string {
 16088  	return awsutil.Prettify(s)
 16089  }
 16090  
 16091  // GoString returns the string representation.
 16092  //
 16093  // API parameter values that are decorated as "sensitive" in the API will not
 16094  // be included in the string output. The member name will be present, but the
 16095  // value will be replaced with "sensitive".
 16096  func (s DeploymentCanarySettings) GoString() string {
 16097  	return s.String()
 16098  }
 16099  
 16100  // SetPercentTraffic sets the PercentTraffic field's value.
 16101  func (s *DeploymentCanarySettings) SetPercentTraffic(v float64) *DeploymentCanarySettings {
 16102  	s.PercentTraffic = &v
 16103  	return s
 16104  }
 16105  
 16106  // SetStageVariableOverrides sets the StageVariableOverrides field's value.
 16107  func (s *DeploymentCanarySettings) SetStageVariableOverrides(v map[string]*string) *DeploymentCanarySettings {
 16108  	s.StageVariableOverrides = v
 16109  	return s
 16110  }
 16111  
 16112  // SetUseStageCache sets the UseStageCache field's value.
 16113  func (s *DeploymentCanarySettings) SetUseStageCache(v bool) *DeploymentCanarySettings {
 16114  	s.UseStageCache = &v
 16115  	return s
 16116  }
 16117  
 16118  // A documentation part for a targeted API entity.
 16119  //
 16120  // A documentation part consists of a content map (properties) and a target
 16121  // (location). The target specifies an API entity to which the documentation
 16122  // content applies. The supported API entity types are API, AUTHORIZER, MODEL,
 16123  // RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY,
 16124  // RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Valid location fields depend
 16125  // on the API entity type. All valid fields are not required.
 16126  //
 16127  // The content map is a JSON string of API-specific key-value pairs. Although
 16128  // an API can use any shape for the content map, only the OpenAPI-compliant
 16129  // documentation fields will be injected into the associated API entity definition
 16130  // in the exported OpenAPI definition file.
 16131  //
 16132  // Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
 16133  // DocumentationParts
 16134  type DocumentationPart struct {
 16135  	_ struct{} `type:"structure"`
 16136  
 16137  	// The DocumentationPart identifier, generated by API Gateway when the DocumentationPart
 16138  	// is created.
 16139  	Id *string `locationName:"id" type:"string"`
 16140  
 16141  	// The location of the API entity to which the documentation applies. Valid
 16142  	// fields depend on the targeted API entity type. All the valid location fields
 16143  	// are not required. If not explicitly specified, a valid location field is
 16144  	// treated as a wildcard and associated documentation content may be inherited
 16145  	// by matching entities, unless overridden.
 16146  	Location *DocumentationPartLocation `locationName:"location" type:"structure"`
 16147  
 16148  	// A content map of API-specific key-value pairs describing the targeted API
 16149  	// entity. The map must be encoded as a JSON string, e.g., "{ \"description\":
 16150  	// \"The API does ...\" }". Only OpenAPI-compliant documentation-related fields
 16151  	// from the properties map are exported and, hence, published as part of the
 16152  	// API entity definitions, while the original documentation parts are exported
 16153  	// in a OpenAPI extension of x-amazon-apigateway-documentation.
 16154  	Properties *string `locationName:"properties" type:"string"`
 16155  }
 16156  
 16157  // String returns the string representation.
 16158  //
 16159  // API parameter values that are decorated as "sensitive" in the API will not
 16160  // be included in the string output. The member name will be present, but the
 16161  // value will be replaced with "sensitive".
 16162  func (s DocumentationPart) String() string {
 16163  	return awsutil.Prettify(s)
 16164  }
 16165  
 16166  // GoString returns the string representation.
 16167  //
 16168  // API parameter values that are decorated as "sensitive" in the API will not
 16169  // be included in the string output. The member name will be present, but the
 16170  // value will be replaced with "sensitive".
 16171  func (s DocumentationPart) GoString() string {
 16172  	return s.String()
 16173  }
 16174  
 16175  // SetId sets the Id field's value.
 16176  func (s *DocumentationPart) SetId(v string) *DocumentationPart {
 16177  	s.Id = &v
 16178  	return s
 16179  }
 16180  
 16181  // SetLocation sets the Location field's value.
 16182  func (s *DocumentationPart) SetLocation(v *DocumentationPartLocation) *DocumentationPart {
 16183  	s.Location = v
 16184  	return s
 16185  }
 16186  
 16187  // SetProperties sets the Properties field's value.
 16188  func (s *DocumentationPart) SetProperties(v string) *DocumentationPart {
 16189  	s.Properties = &v
 16190  	return s
 16191  }
 16192  
 16193  // Specifies the target API entity to which the documentation applies.
 16194  type DocumentationPartLocation struct {
 16195  	_ struct{} `type:"structure"`
 16196  
 16197  	// The HTTP verb of a method. It is a valid field for the API entity types of
 16198  	// METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE,
 16199  	// RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method.
 16200  	// When an applicable child entity inherits the content of an entity of the
 16201  	// same type with more general specifications of the other location attributes,
 16202  	// the child entity's method attribute must match that of the parent entity
 16203  	// exactly.
 16204  	Method *string `locationName:"method" type:"string"`
 16205  
 16206  	// The name of the targeted API entity. It is a valid and required field for
 16207  	// the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER,
 16208  	// REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field
 16209  	// for any other entity type.
 16210  	Name *string `locationName:"name" type:"string"`
 16211  
 16212  	// The URL path of the target. It is a valid field for the API entity types
 16213  	// of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY,
 16214  	// RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for
 16215  	// the root resource. When an applicable child entity inherits the content of
 16216  	// another entity of the same type with more general specifications of the other
 16217  	// location attributes, the child entity's path attribute must match that of
 16218  	// the parent entity as a prefix.
 16219  	Path *string `locationName:"path" type:"string"`
 16220  
 16221  	// The HTTP status code of a response. It is a valid field for the API entity
 16222  	// types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value
 16223  	// is * for any status code. When an applicable child entity inherits the content
 16224  	// of an entity of the same type with more general specifications of the other
 16225  	// location attributes, the child entity's statusCode attribute must match that
 16226  	// of the parent entity exactly.
 16227  	StatusCode *string `locationName:"statusCode" type:"string"`
 16228  
 16229  	// [Required] The type of API entity to which the documentation content applies.
 16230  	// Valid values are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER,
 16231  	// QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER,
 16232  	// and RESPONSE_BODY. Content inheritance does not apply to any entity of the
 16233  	// API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.
 16234  	//
 16235  	// Type is a required field
 16236  	Type *string `locationName:"type" type:"string" required:"true" enum:"DocumentationPartType"`
 16237  }
 16238  
 16239  // String returns the string representation.
 16240  //
 16241  // API parameter values that are decorated as "sensitive" in the API will not
 16242  // be included in the string output. The member name will be present, but the
 16243  // value will be replaced with "sensitive".
 16244  func (s DocumentationPartLocation) String() string {
 16245  	return awsutil.Prettify(s)
 16246  }
 16247  
 16248  // GoString returns the string representation.
 16249  //
 16250  // API parameter values that are decorated as "sensitive" in the API will not
 16251  // be included in the string output. The member name will be present, but the
 16252  // value will be replaced with "sensitive".
 16253  func (s DocumentationPartLocation) GoString() string {
 16254  	return s.String()
 16255  }
 16256  
 16257  // Validate inspects the fields of the type to determine if they are valid.
 16258  func (s *DocumentationPartLocation) Validate() error {
 16259  	invalidParams := request.ErrInvalidParams{Context: "DocumentationPartLocation"}
 16260  	if s.Type == nil {
 16261  		invalidParams.Add(request.NewErrParamRequired("Type"))
 16262  	}
 16263  
 16264  	if invalidParams.Len() > 0 {
 16265  		return invalidParams
 16266  	}
 16267  	return nil
 16268  }
 16269  
 16270  // SetMethod sets the Method field's value.
 16271  func (s *DocumentationPartLocation) SetMethod(v string) *DocumentationPartLocation {
 16272  	s.Method = &v
 16273  	return s
 16274  }
 16275  
 16276  // SetName sets the Name field's value.
 16277  func (s *DocumentationPartLocation) SetName(v string) *DocumentationPartLocation {
 16278  	s.Name = &v
 16279  	return s
 16280  }
 16281  
 16282  // SetPath sets the Path field's value.
 16283  func (s *DocumentationPartLocation) SetPath(v string) *DocumentationPartLocation {
 16284  	s.Path = &v
 16285  	return s
 16286  }
 16287  
 16288  // SetStatusCode sets the StatusCode field's value.
 16289  func (s *DocumentationPartLocation) SetStatusCode(v string) *DocumentationPartLocation {
 16290  	s.StatusCode = &v
 16291  	return s
 16292  }
 16293  
 16294  // SetType sets the Type field's value.
 16295  func (s *DocumentationPartLocation) SetType(v string) *DocumentationPartLocation {
 16296  	s.Type = &v
 16297  	return s
 16298  }
 16299  
 16300  // A snapshot of the documentation of an API.
 16301  //
 16302  // Publishing API documentation involves creating a documentation version associated
 16303  // with an API stage and exporting the versioned documentation to an external
 16304  // (e.g., OpenAPI) file.
 16305  //
 16306  // Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
 16307  // DocumentationPart, DocumentationVersions
 16308  type DocumentationVersion struct {
 16309  	_ struct{} `type:"structure"`
 16310  
 16311  	// The date when the API documentation snapshot is created.
 16312  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
 16313  
 16314  	// The description of the API documentation snapshot.
 16315  	Description *string `locationName:"description" type:"string"`
 16316  
 16317  	// The version identifier of the API documentation snapshot.
 16318  	Version *string `locationName:"version" type:"string"`
 16319  }
 16320  
 16321  // String returns the string representation.
 16322  //
 16323  // API parameter values that are decorated as "sensitive" in the API will not
 16324  // be included in the string output. The member name will be present, but the
 16325  // value will be replaced with "sensitive".
 16326  func (s DocumentationVersion) String() string {
 16327  	return awsutil.Prettify(s)
 16328  }
 16329  
 16330  // GoString returns the string representation.
 16331  //
 16332  // API parameter values that are decorated as "sensitive" in the API will not
 16333  // be included in the string output. The member name will be present, but the
 16334  // value will be replaced with "sensitive".
 16335  func (s DocumentationVersion) GoString() string {
 16336  	return s.String()
 16337  }
 16338  
 16339  // SetCreatedDate sets the CreatedDate field's value.
 16340  func (s *DocumentationVersion) SetCreatedDate(v time.Time) *DocumentationVersion {
 16341  	s.CreatedDate = &v
 16342  	return s
 16343  }
 16344  
 16345  // SetDescription sets the Description field's value.
 16346  func (s *DocumentationVersion) SetDescription(v string) *DocumentationVersion {
 16347  	s.Description = &v
 16348  	return s
 16349  }
 16350  
 16351  // SetVersion sets the Version field's value.
 16352  func (s *DocumentationVersion) SetVersion(v string) *DocumentationVersion {
 16353  	s.Version = &v
 16354  	return s
 16355  }
 16356  
 16357  // Represents a custom domain name as a user-friendly host name of an API (RestApi).
 16358  //
 16359  // When you deploy an API, API Gateway creates a default host name for the API.
 16360  // This default API host name is of the {restapi-id}.execute-api.{region}.amazonaws.com
 16361  // format. With the default host name, you can access the API's root resource
 16362  // with the URL of https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/.
 16363  // When you set up a custom domain name of apis.example.com for this API, you
 16364  // can then access the same resource using the URL of the https://apis.examples.com/myApi,
 16365  // where myApi is the base path mapping (BasePathMapping) of your API under
 16366  // the custom domain name.
 16367  //
 16368  // Set a Custom Host Name for an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
 16369  type DomainName struct {
 16370  	_ struct{} `type:"structure"`
 16371  
 16372  	// The reference to an AWS-managed certificate that will be used by edge-optimized
 16373  	// endpoint for this domain name. AWS Certificate Manager is the only supported
 16374  	// source.
 16375  	CertificateArn *string `locationName:"certificateArn" type:"string"`
 16376  
 16377  	// The name of the certificate that will be used by edge-optimized endpoint
 16378  	// for this domain name.
 16379  	CertificateName *string `locationName:"certificateName" type:"string"`
 16380  
 16381  	// The timestamp when the certificate that was used by edge-optimized endpoint
 16382  	// for this domain name was uploaded.
 16383  	CertificateUploadDate *time.Time `locationName:"certificateUploadDate" type:"timestamp"`
 16384  
 16385  	// The domain name of the Amazon CloudFront distribution associated with this
 16386  	// custom domain name for an edge-optimized endpoint. You set up this association
 16387  	// when adding a DNS record pointing the custom domain name to this distribution
 16388  	// name. For more information about CloudFront distributions, see the Amazon
 16389  	// CloudFront documentation (https://aws.amazon.com/documentation/cloudfront/).
 16390  	DistributionDomainName *string `locationName:"distributionDomainName" type:"string"`
 16391  
 16392  	// The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized
 16393  	// endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more
 16394  	// information, see Set up a Regional Custom Domain Name (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-regional-api-custom-domain-create.html)
 16395  	// and AWS Regions and Endpoints for API Gateway (https://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region).
 16396  	DistributionHostedZoneId *string `locationName:"distributionHostedZoneId" type:"string"`
 16397  
 16398  	// The custom domain name as an API host name, for example, my-api.example.com.
 16399  	DomainName *string `locationName:"domainName" type:"string"`
 16400  
 16401  	// The status of the DomainName migration. The valid values are AVAILABLE, UPDATING,
 16402  	// PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION. If the
 16403  	// status is UPDATING, the domain cannot be modified further until the existing
 16404  	// operation is complete. If it is AVAILABLE, the domain can be updated.
 16405  	DomainNameStatus *string `locationName:"domainNameStatus" type:"string" enum:"DomainNameStatus"`
 16406  
 16407  	// An optional text message containing detailed information about status of
 16408  	// the DomainName migration.
 16409  	DomainNameStatusMessage *string `locationName:"domainNameStatusMessage" type:"string"`
 16410  
 16411  	// The endpoint configuration of this DomainName showing the endpoint types
 16412  	// of the domain name.
 16413  	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
 16414  
 16415  	// The mutual TLS authentication configuration for a custom domain name. If
 16416  	// specified, API Gateway performs two-way authentication between the client
 16417  	// and the server. Clients must present a trusted certificate to access your
 16418  	// API.
 16419  	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
 16420  
 16421  	// The ARN of the public certificate issued by ACM to validate ownership of
 16422  	// your custom domain. Only required when configuring mutual TLS and using an
 16423  	// ACM imported or private CA certificate ARN as the regionalCertificateArn.
 16424  	OwnershipVerificationCertificateArn *string `locationName:"ownershipVerificationCertificateArn" type:"string"`
 16425  
 16426  	// The reference to an AWS-managed certificate that will be used for validating
 16427  	// the regional domain name. AWS Certificate Manager is the only supported source.
 16428  	RegionalCertificateArn *string `locationName:"regionalCertificateArn" type:"string"`
 16429  
 16430  	// The name of the certificate that will be used for validating the regional
 16431  	// domain name.
 16432  	RegionalCertificateName *string `locationName:"regionalCertificateName" type:"string"`
 16433  
 16434  	// The domain name associated with the regional endpoint for this custom domain
 16435  	// name. You set up this association by adding a DNS record that points the
 16436  	// custom domain name to this regional domain name. The regional domain name
 16437  	// is returned by API Gateway when you create a regional endpoint.
 16438  	RegionalDomainName *string `locationName:"regionalDomainName" type:"string"`
 16439  
 16440  	// The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
 16441  	// For more information, see Set up a Regional Custom Domain Name (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-regional-api-custom-domain-create.html)
 16442  	// and AWS Regions and Endpoints for API Gateway (https://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region).
 16443  	RegionalHostedZoneId *string `locationName:"regionalHostedZoneId" type:"string"`
 16444  
 16445  	// The Transport Layer Security (TLS) version + cipher suite for this DomainName.
 16446  	// The valid values are TLS_1_0 and TLS_1_2.
 16447  	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
 16448  
 16449  	// The collection of tags. Each tag element is associated with a given resource.
 16450  	Tags map[string]*string `locationName:"tags" type:"map"`
 16451  }
 16452  
 16453  // String returns the string representation.
 16454  //
 16455  // API parameter values that are decorated as "sensitive" in the API will not
 16456  // be included in the string output. The member name will be present, but the
 16457  // value will be replaced with "sensitive".
 16458  func (s DomainName) String() string {
 16459  	return awsutil.Prettify(s)
 16460  }
 16461  
 16462  // GoString returns the string representation.
 16463  //
 16464  // API parameter values that are decorated as "sensitive" in the API will not
 16465  // be included in the string output. The member name will be present, but the
 16466  // value will be replaced with "sensitive".
 16467  func (s DomainName) GoString() string {
 16468  	return s.String()
 16469  }
 16470  
 16471  // SetCertificateArn sets the CertificateArn field's value.
 16472  func (s *DomainName) SetCertificateArn(v string) *DomainName {
 16473  	s.CertificateArn = &v
 16474  	return s
 16475  }
 16476  
 16477  // SetCertificateName sets the CertificateName field's value.
 16478  func (s *DomainName) SetCertificateName(v string) *DomainName {
 16479  	s.CertificateName = &v
 16480  	return s
 16481  }
 16482  
 16483  // SetCertificateUploadDate sets the CertificateUploadDate field's value.
 16484  func (s *DomainName) SetCertificateUploadDate(v time.Time) *DomainName {
 16485  	s.CertificateUploadDate = &v
 16486  	return s
 16487  }
 16488  
 16489  // SetDistributionDomainName sets the DistributionDomainName field's value.
 16490  func (s *DomainName) SetDistributionDomainName(v string) *DomainName {
 16491  	s.DistributionDomainName = &v
 16492  	return s
 16493  }
 16494  
 16495  // SetDistributionHostedZoneId sets the DistributionHostedZoneId field's value.
 16496  func (s *DomainName) SetDistributionHostedZoneId(v string) *DomainName {
 16497  	s.DistributionHostedZoneId = &v
 16498  	return s
 16499  }
 16500  
 16501  // SetDomainName sets the DomainName field's value.
 16502  func (s *DomainName) SetDomainName(v string) *DomainName {
 16503  	s.DomainName = &v
 16504  	return s
 16505  }
 16506  
 16507  // SetDomainNameStatus sets the DomainNameStatus field's value.
 16508  func (s *DomainName) SetDomainNameStatus(v string) *DomainName {
 16509  	s.DomainNameStatus = &v
 16510  	return s
 16511  }
 16512  
 16513  // SetDomainNameStatusMessage sets the DomainNameStatusMessage field's value.
 16514  func (s *DomainName) SetDomainNameStatusMessage(v string) *DomainName {
 16515  	s.DomainNameStatusMessage = &v
 16516  	return s
 16517  }
 16518  
 16519  // SetEndpointConfiguration sets the EndpointConfiguration field's value.
 16520  func (s *DomainName) SetEndpointConfiguration(v *EndpointConfiguration) *DomainName {
 16521  	s.EndpointConfiguration = v
 16522  	return s
 16523  }
 16524  
 16525  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
 16526  func (s *DomainName) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *DomainName {
 16527  	s.MutualTlsAuthentication = v
 16528  	return s
 16529  }
 16530  
 16531  // SetOwnershipVerificationCertificateArn sets the OwnershipVerificationCertificateArn field's value.
 16532  func (s *DomainName) SetOwnershipVerificationCertificateArn(v string) *DomainName {
 16533  	s.OwnershipVerificationCertificateArn = &v
 16534  	return s
 16535  }
 16536  
 16537  // SetRegionalCertificateArn sets the RegionalCertificateArn field's value.
 16538  func (s *DomainName) SetRegionalCertificateArn(v string) *DomainName {
 16539  	s.RegionalCertificateArn = &v
 16540  	return s
 16541  }
 16542  
 16543  // SetRegionalCertificateName sets the RegionalCertificateName field's value.
 16544  func (s *DomainName) SetRegionalCertificateName(v string) *DomainName {
 16545  	s.RegionalCertificateName = &v
 16546  	return s
 16547  }
 16548  
 16549  // SetRegionalDomainName sets the RegionalDomainName field's value.
 16550  func (s *DomainName) SetRegionalDomainName(v string) *DomainName {
 16551  	s.RegionalDomainName = &v
 16552  	return s
 16553  }
 16554  
 16555  // SetRegionalHostedZoneId sets the RegionalHostedZoneId field's value.
 16556  func (s *DomainName) SetRegionalHostedZoneId(v string) *DomainName {
 16557  	s.RegionalHostedZoneId = &v
 16558  	return s
 16559  }
 16560  
 16561  // SetSecurityPolicy sets the SecurityPolicy field's value.
 16562  func (s *DomainName) SetSecurityPolicy(v string) *DomainName {
 16563  	s.SecurityPolicy = &v
 16564  	return s
 16565  }
 16566  
 16567  // SetTags sets the Tags field's value.
 16568  func (s *DomainName) SetTags(v map[string]*string) *DomainName {
 16569  	s.Tags = v
 16570  	return s
 16571  }
 16572  
 16573  // The endpoint configuration to indicate the types of endpoints an API (RestApi)
 16574  // or its custom domain name (DomainName) has.
 16575  type EndpointConfiguration struct {
 16576  	_ struct{} `type:"structure"`
 16577  
 16578  	// A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).
 16579  	// For an edge-optimized API and its custom domain name, the endpoint type is
 16580  	// "EDGE". For a regional API and its custom domain name, the endpoint type
 16581  	// is REGIONAL. For a private API, the endpoint type is PRIVATE.
 16582  	Types []*string `locationName:"types" type:"list"`
 16583  
 16584  	// A list of VpcEndpointIds of an API (RestApi) against which to create Route53
 16585  	// ALIASes. It is only supported for PRIVATE endpoint type.
 16586  	VpcEndpointIds []*string `locationName:"vpcEndpointIds" type:"list"`
 16587  }
 16588  
 16589  // String returns the string representation.
 16590  //
 16591  // API parameter values that are decorated as "sensitive" in the API will not
 16592  // be included in the string output. The member name will be present, but the
 16593  // value will be replaced with "sensitive".
 16594  func (s EndpointConfiguration) String() string {
 16595  	return awsutil.Prettify(s)
 16596  }
 16597  
 16598  // GoString returns the string representation.
 16599  //
 16600  // API parameter values that are decorated as "sensitive" in the API will not
 16601  // be included in the string output. The member name will be present, but the
 16602  // value will be replaced with "sensitive".
 16603  func (s EndpointConfiguration) GoString() string {
 16604  	return s.String()
 16605  }
 16606  
 16607  // SetTypes sets the Types field's value.
 16608  func (s *EndpointConfiguration) SetTypes(v []*string) *EndpointConfiguration {
 16609  	s.Types = v
 16610  	return s
 16611  }
 16612  
 16613  // SetVpcEndpointIds sets the VpcEndpointIds field's value.
 16614  func (s *EndpointConfiguration) SetVpcEndpointIds(v []*string) *EndpointConfiguration {
 16615  	s.VpcEndpointIds = v
 16616  	return s
 16617  }
 16618  
 16619  // Request to flush authorizer cache entries on a specified stage.
 16620  type FlushStageAuthorizersCacheInput struct {
 16621  	_ struct{} `type:"structure" nopayload:"true"`
 16622  
 16623  	// The string identifier of the associated RestApi.
 16624  	//
 16625  	// RestApiId is a required field
 16626  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 16627  
 16628  	// The name of the stage to flush.
 16629  	//
 16630  	// StageName is a required field
 16631  	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
 16632  }
 16633  
 16634  // String returns the string representation.
 16635  //
 16636  // API parameter values that are decorated as "sensitive" in the API will not
 16637  // be included in the string output. The member name will be present, but the
 16638  // value will be replaced with "sensitive".
 16639  func (s FlushStageAuthorizersCacheInput) String() string {
 16640  	return awsutil.Prettify(s)
 16641  }
 16642  
 16643  // GoString returns the string representation.
 16644  //
 16645  // API parameter values that are decorated as "sensitive" in the API will not
 16646  // be included in the string output. The member name will be present, but the
 16647  // value will be replaced with "sensitive".
 16648  func (s FlushStageAuthorizersCacheInput) GoString() string {
 16649  	return s.String()
 16650  }
 16651  
 16652  // Validate inspects the fields of the type to determine if they are valid.
 16653  func (s *FlushStageAuthorizersCacheInput) Validate() error {
 16654  	invalidParams := request.ErrInvalidParams{Context: "FlushStageAuthorizersCacheInput"}
 16655  	if s.RestApiId == nil {
 16656  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 16657  	}
 16658  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 16659  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 16660  	}
 16661  	if s.StageName == nil {
 16662  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 16663  	}
 16664  	if s.StageName != nil && len(*s.StageName) < 1 {
 16665  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 16666  	}
 16667  
 16668  	if invalidParams.Len() > 0 {
 16669  		return invalidParams
 16670  	}
 16671  	return nil
 16672  }
 16673  
 16674  // SetRestApiId sets the RestApiId field's value.
 16675  func (s *FlushStageAuthorizersCacheInput) SetRestApiId(v string) *FlushStageAuthorizersCacheInput {
 16676  	s.RestApiId = &v
 16677  	return s
 16678  }
 16679  
 16680  // SetStageName sets the StageName field's value.
 16681  func (s *FlushStageAuthorizersCacheInput) SetStageName(v string) *FlushStageAuthorizersCacheInput {
 16682  	s.StageName = &v
 16683  	return s
 16684  }
 16685  
 16686  type FlushStageAuthorizersCacheOutput struct {
 16687  	_ struct{} `type:"structure" nopayload:"true"`
 16688  }
 16689  
 16690  // String returns the string representation.
 16691  //
 16692  // API parameter values that are decorated as "sensitive" in the API will not
 16693  // be included in the string output. The member name will be present, but the
 16694  // value will be replaced with "sensitive".
 16695  func (s FlushStageAuthorizersCacheOutput) String() string {
 16696  	return awsutil.Prettify(s)
 16697  }
 16698  
 16699  // GoString returns the string representation.
 16700  //
 16701  // API parameter values that are decorated as "sensitive" in the API will not
 16702  // be included in the string output. The member name will be present, but the
 16703  // value will be replaced with "sensitive".
 16704  func (s FlushStageAuthorizersCacheOutput) GoString() string {
 16705  	return s.String()
 16706  }
 16707  
 16708  // Requests API Gateway to flush a stage's cache.
 16709  type FlushStageCacheInput struct {
 16710  	_ struct{} `type:"structure" nopayload:"true"`
 16711  
 16712  	// [Required] The string identifier of the associated RestApi.
 16713  	//
 16714  	// RestApiId is a required field
 16715  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 16716  
 16717  	// [Required] The name of the stage to flush its cache.
 16718  	//
 16719  	// StageName is a required field
 16720  	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
 16721  }
 16722  
 16723  // String returns the string representation.
 16724  //
 16725  // API parameter values that are decorated as "sensitive" in the API will not
 16726  // be included in the string output. The member name will be present, but the
 16727  // value will be replaced with "sensitive".
 16728  func (s FlushStageCacheInput) String() string {
 16729  	return awsutil.Prettify(s)
 16730  }
 16731  
 16732  // GoString returns the string representation.
 16733  //
 16734  // API parameter values that are decorated as "sensitive" in the API will not
 16735  // be included in the string output. The member name will be present, but the
 16736  // value will be replaced with "sensitive".
 16737  func (s FlushStageCacheInput) GoString() string {
 16738  	return s.String()
 16739  }
 16740  
 16741  // Validate inspects the fields of the type to determine if they are valid.
 16742  func (s *FlushStageCacheInput) Validate() error {
 16743  	invalidParams := request.ErrInvalidParams{Context: "FlushStageCacheInput"}
 16744  	if s.RestApiId == nil {
 16745  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 16746  	}
 16747  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 16748  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 16749  	}
 16750  	if s.StageName == nil {
 16751  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 16752  	}
 16753  	if s.StageName != nil && len(*s.StageName) < 1 {
 16754  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 16755  	}
 16756  
 16757  	if invalidParams.Len() > 0 {
 16758  		return invalidParams
 16759  	}
 16760  	return nil
 16761  }
 16762  
 16763  // SetRestApiId sets the RestApiId field's value.
 16764  func (s *FlushStageCacheInput) SetRestApiId(v string) *FlushStageCacheInput {
 16765  	s.RestApiId = &v
 16766  	return s
 16767  }
 16768  
 16769  // SetStageName sets the StageName field's value.
 16770  func (s *FlushStageCacheInput) SetStageName(v string) *FlushStageCacheInput {
 16771  	s.StageName = &v
 16772  	return s
 16773  }
 16774  
 16775  type FlushStageCacheOutput struct {
 16776  	_ struct{} `type:"structure" nopayload:"true"`
 16777  }
 16778  
 16779  // String returns the string representation.
 16780  //
 16781  // API parameter values that are decorated as "sensitive" in the API will not
 16782  // be included in the string output. The member name will be present, but the
 16783  // value will be replaced with "sensitive".
 16784  func (s FlushStageCacheOutput) String() string {
 16785  	return awsutil.Prettify(s)
 16786  }
 16787  
 16788  // GoString returns the string representation.
 16789  //
 16790  // API parameter values that are decorated as "sensitive" in the API will not
 16791  // be included in the string output. The member name will be present, but the
 16792  // value will be replaced with "sensitive".
 16793  func (s FlushStageCacheOutput) GoString() string {
 16794  	return s.String()
 16795  }
 16796  
 16797  // A request to generate a ClientCertificate resource.
 16798  type GenerateClientCertificateInput struct {
 16799  	_ struct{} `type:"structure"`
 16800  
 16801  	// The description of the ClientCertificate.
 16802  	Description *string `locationName:"description" type:"string"`
 16803  
 16804  	// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 16805  	// The tag key can be up to 128 characters and must not start with aws:. The
 16806  	// tag value can be up to 256 characters.
 16807  	Tags map[string]*string `locationName:"tags" type:"map"`
 16808  }
 16809  
 16810  // String returns the string representation.
 16811  //
 16812  // API parameter values that are decorated as "sensitive" in the API will not
 16813  // be included in the string output. The member name will be present, but the
 16814  // value will be replaced with "sensitive".
 16815  func (s GenerateClientCertificateInput) String() string {
 16816  	return awsutil.Prettify(s)
 16817  }
 16818  
 16819  // GoString returns the string representation.
 16820  //
 16821  // API parameter values that are decorated as "sensitive" in the API will not
 16822  // be included in the string output. The member name will be present, but the
 16823  // value will be replaced with "sensitive".
 16824  func (s GenerateClientCertificateInput) GoString() string {
 16825  	return s.String()
 16826  }
 16827  
 16828  // SetDescription sets the Description field's value.
 16829  func (s *GenerateClientCertificateInput) SetDescription(v string) *GenerateClientCertificateInput {
 16830  	s.Description = &v
 16831  	return s
 16832  }
 16833  
 16834  // SetTags sets the Tags field's value.
 16835  func (s *GenerateClientCertificateInput) SetTags(v map[string]*string) *GenerateClientCertificateInput {
 16836  	s.Tags = v
 16837  	return s
 16838  }
 16839  
 16840  // Requests API Gateway to get information about the current Account resource.
 16841  type GetAccountInput struct {
 16842  	_ struct{} `type:"structure" nopayload:"true"`
 16843  }
 16844  
 16845  // String returns the string representation.
 16846  //
 16847  // API parameter values that are decorated as "sensitive" in the API will not
 16848  // be included in the string output. The member name will be present, but the
 16849  // value will be replaced with "sensitive".
 16850  func (s GetAccountInput) String() string {
 16851  	return awsutil.Prettify(s)
 16852  }
 16853  
 16854  // GoString returns the string representation.
 16855  //
 16856  // API parameter values that are decorated as "sensitive" in the API will not
 16857  // be included in the string output. The member name will be present, but the
 16858  // value will be replaced with "sensitive".
 16859  func (s GetAccountInput) GoString() string {
 16860  	return s.String()
 16861  }
 16862  
 16863  // A request to get information about the current ApiKey resource.
 16864  type GetApiKeyInput struct {
 16865  	_ struct{} `type:"structure" nopayload:"true"`
 16866  
 16867  	// [Required] The identifier of the ApiKey resource.
 16868  	//
 16869  	// ApiKey is a required field
 16870  	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
 16871  
 16872  	// A boolean flag to specify whether (true) or not (false) the result contains
 16873  	// the key value.
 16874  	IncludeValue *bool `location:"querystring" locationName:"includeValue" type:"boolean"`
 16875  }
 16876  
 16877  // String returns the string representation.
 16878  //
 16879  // API parameter values that are decorated as "sensitive" in the API will not
 16880  // be included in the string output. The member name will be present, but the
 16881  // value will be replaced with "sensitive".
 16882  func (s GetApiKeyInput) String() string {
 16883  	return awsutil.Prettify(s)
 16884  }
 16885  
 16886  // GoString returns the string representation.
 16887  //
 16888  // API parameter values that are decorated as "sensitive" in the API will not
 16889  // be included in the string output. The member name will be present, but the
 16890  // value will be replaced with "sensitive".
 16891  func (s GetApiKeyInput) GoString() string {
 16892  	return s.String()
 16893  }
 16894  
 16895  // Validate inspects the fields of the type to determine if they are valid.
 16896  func (s *GetApiKeyInput) Validate() error {
 16897  	invalidParams := request.ErrInvalidParams{Context: "GetApiKeyInput"}
 16898  	if s.ApiKey == nil {
 16899  		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
 16900  	}
 16901  	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
 16902  		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
 16903  	}
 16904  
 16905  	if invalidParams.Len() > 0 {
 16906  		return invalidParams
 16907  	}
 16908  	return nil
 16909  }
 16910  
 16911  // SetApiKey sets the ApiKey field's value.
 16912  func (s *GetApiKeyInput) SetApiKey(v string) *GetApiKeyInput {
 16913  	s.ApiKey = &v
 16914  	return s
 16915  }
 16916  
 16917  // SetIncludeValue sets the IncludeValue field's value.
 16918  func (s *GetApiKeyInput) SetIncludeValue(v bool) *GetApiKeyInput {
 16919  	s.IncludeValue = &v
 16920  	return s
 16921  }
 16922  
 16923  // A request to get information about the current ApiKeys resource.
 16924  type GetApiKeysInput struct {
 16925  	_ struct{} `type:"structure" nopayload:"true"`
 16926  
 16927  	// The identifier of a customer in AWS Marketplace or an external system, such
 16928  	// as a developer portal.
 16929  	CustomerId *string `location:"querystring" locationName:"customerId" type:"string"`
 16930  
 16931  	// A boolean flag to specify whether (true) or not (false) the result contains
 16932  	// key values.
 16933  	IncludeValues *bool `location:"querystring" locationName:"includeValues" type:"boolean"`
 16934  
 16935  	// The maximum number of returned results per page. The default value is 25
 16936  	// and the maximum value is 500.
 16937  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 16938  
 16939  	// The name of queried API keys.
 16940  	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
 16941  
 16942  	// The current pagination position in the paged result set.
 16943  	Position *string `location:"querystring" locationName:"position" type:"string"`
 16944  }
 16945  
 16946  // String returns the string representation.
 16947  //
 16948  // API parameter values that are decorated as "sensitive" in the API will not
 16949  // be included in the string output. The member name will be present, but the
 16950  // value will be replaced with "sensitive".
 16951  func (s GetApiKeysInput) String() string {
 16952  	return awsutil.Prettify(s)
 16953  }
 16954  
 16955  // GoString returns the string representation.
 16956  //
 16957  // API parameter values that are decorated as "sensitive" in the API will not
 16958  // be included in the string output. The member name will be present, but the
 16959  // value will be replaced with "sensitive".
 16960  func (s GetApiKeysInput) GoString() string {
 16961  	return s.String()
 16962  }
 16963  
 16964  // SetCustomerId sets the CustomerId field's value.
 16965  func (s *GetApiKeysInput) SetCustomerId(v string) *GetApiKeysInput {
 16966  	s.CustomerId = &v
 16967  	return s
 16968  }
 16969  
 16970  // SetIncludeValues sets the IncludeValues field's value.
 16971  func (s *GetApiKeysInput) SetIncludeValues(v bool) *GetApiKeysInput {
 16972  	s.IncludeValues = &v
 16973  	return s
 16974  }
 16975  
 16976  // SetLimit sets the Limit field's value.
 16977  func (s *GetApiKeysInput) SetLimit(v int64) *GetApiKeysInput {
 16978  	s.Limit = &v
 16979  	return s
 16980  }
 16981  
 16982  // SetNameQuery sets the NameQuery field's value.
 16983  func (s *GetApiKeysInput) SetNameQuery(v string) *GetApiKeysInput {
 16984  	s.NameQuery = &v
 16985  	return s
 16986  }
 16987  
 16988  // SetPosition sets the Position field's value.
 16989  func (s *GetApiKeysInput) SetPosition(v string) *GetApiKeysInput {
 16990  	s.Position = &v
 16991  	return s
 16992  }
 16993  
 16994  // Represents a collection of API keys as represented by an ApiKeys resource.
 16995  //
 16996  // Use API Keys (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html)
 16997  type GetApiKeysOutput struct {
 16998  	_ struct{} `type:"structure"`
 16999  
 17000  	// The current page of elements from this collection.
 17001  	Items []*ApiKey `locationName:"item" type:"list"`
 17002  
 17003  	Position *string `locationName:"position" type:"string"`
 17004  
 17005  	// A list of warning messages logged during the import of API keys when the
 17006  	// failOnWarnings option is set to true.
 17007  	Warnings []*string `locationName:"warnings" type:"list"`
 17008  }
 17009  
 17010  // String returns the string representation.
 17011  //
 17012  // API parameter values that are decorated as "sensitive" in the API will not
 17013  // be included in the string output. The member name will be present, but the
 17014  // value will be replaced with "sensitive".
 17015  func (s GetApiKeysOutput) String() string {
 17016  	return awsutil.Prettify(s)
 17017  }
 17018  
 17019  // GoString returns the string representation.
 17020  //
 17021  // API parameter values that are decorated as "sensitive" in the API will not
 17022  // be included in the string output. The member name will be present, but the
 17023  // value will be replaced with "sensitive".
 17024  func (s GetApiKeysOutput) GoString() string {
 17025  	return s.String()
 17026  }
 17027  
 17028  // SetItems sets the Items field's value.
 17029  func (s *GetApiKeysOutput) SetItems(v []*ApiKey) *GetApiKeysOutput {
 17030  	s.Items = v
 17031  	return s
 17032  }
 17033  
 17034  // SetPosition sets the Position field's value.
 17035  func (s *GetApiKeysOutput) SetPosition(v string) *GetApiKeysOutput {
 17036  	s.Position = &v
 17037  	return s
 17038  }
 17039  
 17040  // SetWarnings sets the Warnings field's value.
 17041  func (s *GetApiKeysOutput) SetWarnings(v []*string) *GetApiKeysOutput {
 17042  	s.Warnings = v
 17043  	return s
 17044  }
 17045  
 17046  // Request to describe an existing Authorizer resource.
 17047  type GetAuthorizerInput struct {
 17048  	_ struct{} `type:"structure" nopayload:"true"`
 17049  
 17050  	// [Required] The identifier of the Authorizer resource.
 17051  	//
 17052  	// AuthorizerId is a required field
 17053  	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
 17054  
 17055  	// [Required] The string identifier of the associated RestApi.
 17056  	//
 17057  	// RestApiId is a required field
 17058  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 17059  }
 17060  
 17061  // String returns the string representation.
 17062  //
 17063  // API parameter values that are decorated as "sensitive" in the API will not
 17064  // be included in the string output. The member name will be present, but the
 17065  // value will be replaced with "sensitive".
 17066  func (s GetAuthorizerInput) String() string {
 17067  	return awsutil.Prettify(s)
 17068  }
 17069  
 17070  // GoString returns the string representation.
 17071  //
 17072  // API parameter values that are decorated as "sensitive" in the API will not
 17073  // be included in the string output. The member name will be present, but the
 17074  // value will be replaced with "sensitive".
 17075  func (s GetAuthorizerInput) GoString() string {
 17076  	return s.String()
 17077  }
 17078  
 17079  // Validate inspects the fields of the type to determine if they are valid.
 17080  func (s *GetAuthorizerInput) Validate() error {
 17081  	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizerInput"}
 17082  	if s.AuthorizerId == nil {
 17083  		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
 17084  	}
 17085  	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
 17086  		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
 17087  	}
 17088  	if s.RestApiId == nil {
 17089  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 17090  	}
 17091  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 17092  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 17093  	}
 17094  
 17095  	if invalidParams.Len() > 0 {
 17096  		return invalidParams
 17097  	}
 17098  	return nil
 17099  }
 17100  
 17101  // SetAuthorizerId sets the AuthorizerId field's value.
 17102  func (s *GetAuthorizerInput) SetAuthorizerId(v string) *GetAuthorizerInput {
 17103  	s.AuthorizerId = &v
 17104  	return s
 17105  }
 17106  
 17107  // SetRestApiId sets the RestApiId field's value.
 17108  func (s *GetAuthorizerInput) SetRestApiId(v string) *GetAuthorizerInput {
 17109  	s.RestApiId = &v
 17110  	return s
 17111  }
 17112  
 17113  // Request to describe an existing Authorizers resource.
 17114  type GetAuthorizersInput struct {
 17115  	_ struct{} `type:"structure" nopayload:"true"`
 17116  
 17117  	// The maximum number of returned results per page. The default value is 25
 17118  	// and the maximum value is 500.
 17119  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 17120  
 17121  	// The current pagination position in the paged result set.
 17122  	Position *string `location:"querystring" locationName:"position" type:"string"`
 17123  
 17124  	// [Required] The string identifier of the associated RestApi.
 17125  	//
 17126  	// RestApiId is a required field
 17127  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 17128  }
 17129  
 17130  // String returns the string representation.
 17131  //
 17132  // API parameter values that are decorated as "sensitive" in the API will not
 17133  // be included in the string output. The member name will be present, but the
 17134  // value will be replaced with "sensitive".
 17135  func (s GetAuthorizersInput) String() string {
 17136  	return awsutil.Prettify(s)
 17137  }
 17138  
 17139  // GoString returns the string representation.
 17140  //
 17141  // API parameter values that are decorated as "sensitive" in the API will not
 17142  // be included in the string output. The member name will be present, but the
 17143  // value will be replaced with "sensitive".
 17144  func (s GetAuthorizersInput) GoString() string {
 17145  	return s.String()
 17146  }
 17147  
 17148  // Validate inspects the fields of the type to determine if they are valid.
 17149  func (s *GetAuthorizersInput) Validate() error {
 17150  	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizersInput"}
 17151  	if s.RestApiId == nil {
 17152  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 17153  	}
 17154  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 17155  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 17156  	}
 17157  
 17158  	if invalidParams.Len() > 0 {
 17159  		return invalidParams
 17160  	}
 17161  	return nil
 17162  }
 17163  
 17164  // SetLimit sets the Limit field's value.
 17165  func (s *GetAuthorizersInput) SetLimit(v int64) *GetAuthorizersInput {
 17166  	s.Limit = &v
 17167  	return s
 17168  }
 17169  
 17170  // SetPosition sets the Position field's value.
 17171  func (s *GetAuthorizersInput) SetPosition(v string) *GetAuthorizersInput {
 17172  	s.Position = &v
 17173  	return s
 17174  }
 17175  
 17176  // SetRestApiId sets the RestApiId field's value.
 17177  func (s *GetAuthorizersInput) SetRestApiId(v string) *GetAuthorizersInput {
 17178  	s.RestApiId = &v
 17179  	return s
 17180  }
 17181  
 17182  // Represents a collection of Authorizer resources.
 17183  //
 17184  // Use Lambda Function as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)
 17185  // Use Cognito User Pool as Authorizer (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)
 17186  type GetAuthorizersOutput struct {
 17187  	_ struct{} `type:"structure"`
 17188  
 17189  	// The current page of elements from this collection.
 17190  	Items []*Authorizer `locationName:"item" type:"list"`
 17191  
 17192  	Position *string `locationName:"position" type:"string"`
 17193  }
 17194  
 17195  // String returns the string representation.
 17196  //
 17197  // API parameter values that are decorated as "sensitive" in the API will not
 17198  // be included in the string output. The member name will be present, but the
 17199  // value will be replaced with "sensitive".
 17200  func (s GetAuthorizersOutput) String() string {
 17201  	return awsutil.Prettify(s)
 17202  }
 17203  
 17204  // GoString returns the string representation.
 17205  //
 17206  // API parameter values that are decorated as "sensitive" in the API will not
 17207  // be included in the string output. The member name will be present, but the
 17208  // value will be replaced with "sensitive".
 17209  func (s GetAuthorizersOutput) GoString() string {
 17210  	return s.String()
 17211  }
 17212  
 17213  // SetItems sets the Items field's value.
 17214  func (s *GetAuthorizersOutput) SetItems(v []*Authorizer) *GetAuthorizersOutput {
 17215  	s.Items = v
 17216  	return s
 17217  }
 17218  
 17219  // SetPosition sets the Position field's value.
 17220  func (s *GetAuthorizersOutput) SetPosition(v string) *GetAuthorizersOutput {
 17221  	s.Position = &v
 17222  	return s
 17223  }
 17224  
 17225  // Request to describe a BasePathMapping resource.
 17226  type GetBasePathMappingInput struct {
 17227  	_ struct{} `type:"structure" nopayload:"true"`
 17228  
 17229  	// [Required] The base path name that callers of the API must provide as part
 17230  	// of the URL after the domain name. This value must be unique for all of the
 17231  	// mappings across a single API. Specify '(none)' if you do not want callers
 17232  	// to specify any base path name after the domain name.
 17233  	//
 17234  	// BasePath is a required field
 17235  	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
 17236  
 17237  	// [Required] The domain name of the BasePathMapping resource to be described.
 17238  	//
 17239  	// DomainName is a required field
 17240  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 17241  }
 17242  
 17243  // String returns the string representation.
 17244  //
 17245  // API parameter values that are decorated as "sensitive" in the API will not
 17246  // be included in the string output. The member name will be present, but the
 17247  // value will be replaced with "sensitive".
 17248  func (s GetBasePathMappingInput) String() string {
 17249  	return awsutil.Prettify(s)
 17250  }
 17251  
 17252  // GoString returns the string representation.
 17253  //
 17254  // API parameter values that are decorated as "sensitive" in the API will not
 17255  // be included in the string output. The member name will be present, but the
 17256  // value will be replaced with "sensitive".
 17257  func (s GetBasePathMappingInput) GoString() string {
 17258  	return s.String()
 17259  }
 17260  
 17261  // Validate inspects the fields of the type to determine if they are valid.
 17262  func (s *GetBasePathMappingInput) Validate() error {
 17263  	invalidParams := request.ErrInvalidParams{Context: "GetBasePathMappingInput"}
 17264  	if s.BasePath == nil {
 17265  		invalidParams.Add(request.NewErrParamRequired("BasePath"))
 17266  	}
 17267  	if s.BasePath != nil && len(*s.BasePath) < 1 {
 17268  		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
 17269  	}
 17270  	if s.DomainName == nil {
 17271  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 17272  	}
 17273  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 17274  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 17275  	}
 17276  
 17277  	if invalidParams.Len() > 0 {
 17278  		return invalidParams
 17279  	}
 17280  	return nil
 17281  }
 17282  
 17283  // SetBasePath sets the BasePath field's value.
 17284  func (s *GetBasePathMappingInput) SetBasePath(v string) *GetBasePathMappingInput {
 17285  	s.BasePath = &v
 17286  	return s
 17287  }
 17288  
 17289  // SetDomainName sets the DomainName field's value.
 17290  func (s *GetBasePathMappingInput) SetDomainName(v string) *GetBasePathMappingInput {
 17291  	s.DomainName = &v
 17292  	return s
 17293  }
 17294  
 17295  // A request to get information about a collection of BasePathMapping resources.
 17296  type GetBasePathMappingsInput struct {
 17297  	_ struct{} `type:"structure" nopayload:"true"`
 17298  
 17299  	// [Required] The domain name of a BasePathMapping resource.
 17300  	//
 17301  	// DomainName is a required field
 17302  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 17303  
 17304  	// The maximum number of returned results per page. The default value is 25
 17305  	// and the maximum value is 500.
 17306  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 17307  
 17308  	// The current pagination position in the paged result set.
 17309  	Position *string `location:"querystring" locationName:"position" type:"string"`
 17310  }
 17311  
 17312  // String returns the string representation.
 17313  //
 17314  // API parameter values that are decorated as "sensitive" in the API will not
 17315  // be included in the string output. The member name will be present, but the
 17316  // value will be replaced with "sensitive".
 17317  func (s GetBasePathMappingsInput) String() string {
 17318  	return awsutil.Prettify(s)
 17319  }
 17320  
 17321  // GoString returns the string representation.
 17322  //
 17323  // API parameter values that are decorated as "sensitive" in the API will not
 17324  // be included in the string output. The member name will be present, but the
 17325  // value will be replaced with "sensitive".
 17326  func (s GetBasePathMappingsInput) GoString() string {
 17327  	return s.String()
 17328  }
 17329  
 17330  // Validate inspects the fields of the type to determine if they are valid.
 17331  func (s *GetBasePathMappingsInput) Validate() error {
 17332  	invalidParams := request.ErrInvalidParams{Context: "GetBasePathMappingsInput"}
 17333  	if s.DomainName == nil {
 17334  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 17335  	}
 17336  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 17337  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 17338  	}
 17339  
 17340  	if invalidParams.Len() > 0 {
 17341  		return invalidParams
 17342  	}
 17343  	return nil
 17344  }
 17345  
 17346  // SetDomainName sets the DomainName field's value.
 17347  func (s *GetBasePathMappingsInput) SetDomainName(v string) *GetBasePathMappingsInput {
 17348  	s.DomainName = &v
 17349  	return s
 17350  }
 17351  
 17352  // SetLimit sets the Limit field's value.
 17353  func (s *GetBasePathMappingsInput) SetLimit(v int64) *GetBasePathMappingsInput {
 17354  	s.Limit = &v
 17355  	return s
 17356  }
 17357  
 17358  // SetPosition sets the Position field's value.
 17359  func (s *GetBasePathMappingsInput) SetPosition(v string) *GetBasePathMappingsInput {
 17360  	s.Position = &v
 17361  	return s
 17362  }
 17363  
 17364  // Represents a collection of BasePathMapping resources.
 17365  //
 17366  // Use Custom Domain Names (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
 17367  type GetBasePathMappingsOutput struct {
 17368  	_ struct{} `type:"structure"`
 17369  
 17370  	// The current page of elements from this collection.
 17371  	Items []*BasePathMapping `locationName:"item" type:"list"`
 17372  
 17373  	Position *string `locationName:"position" type:"string"`
 17374  }
 17375  
 17376  // String returns the string representation.
 17377  //
 17378  // API parameter values that are decorated as "sensitive" in the API will not
 17379  // be included in the string output. The member name will be present, but the
 17380  // value will be replaced with "sensitive".
 17381  func (s GetBasePathMappingsOutput) String() string {
 17382  	return awsutil.Prettify(s)
 17383  }
 17384  
 17385  // GoString returns the string representation.
 17386  //
 17387  // API parameter values that are decorated as "sensitive" in the API will not
 17388  // be included in the string output. The member name will be present, but the
 17389  // value will be replaced with "sensitive".
 17390  func (s GetBasePathMappingsOutput) GoString() string {
 17391  	return s.String()
 17392  }
 17393  
 17394  // SetItems sets the Items field's value.
 17395  func (s *GetBasePathMappingsOutput) SetItems(v []*BasePathMapping) *GetBasePathMappingsOutput {
 17396  	s.Items = v
 17397  	return s
 17398  }
 17399  
 17400  // SetPosition sets the Position field's value.
 17401  func (s *GetBasePathMappingsOutput) SetPosition(v string) *GetBasePathMappingsOutput {
 17402  	s.Position = &v
 17403  	return s
 17404  }
 17405  
 17406  // A request to get information about the current ClientCertificate resource.
 17407  type GetClientCertificateInput struct {
 17408  	_ struct{} `type:"structure" nopayload:"true"`
 17409  
 17410  	// [Required] The identifier of the ClientCertificate resource to be described.
 17411  	//
 17412  	// ClientCertificateId is a required field
 17413  	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
 17414  }
 17415  
 17416  // String returns the string representation.
 17417  //
 17418  // API parameter values that are decorated as "sensitive" in the API will not
 17419  // be included in the string output. The member name will be present, but the
 17420  // value will be replaced with "sensitive".
 17421  func (s GetClientCertificateInput) String() string {
 17422  	return awsutil.Prettify(s)
 17423  }
 17424  
 17425  // GoString returns the string representation.
 17426  //
 17427  // API parameter values that are decorated as "sensitive" in the API will not
 17428  // be included in the string output. The member name will be present, but the
 17429  // value will be replaced with "sensitive".
 17430  func (s GetClientCertificateInput) GoString() string {
 17431  	return s.String()
 17432  }
 17433  
 17434  // Validate inspects the fields of the type to determine if they are valid.
 17435  func (s *GetClientCertificateInput) Validate() error {
 17436  	invalidParams := request.ErrInvalidParams{Context: "GetClientCertificateInput"}
 17437  	if s.ClientCertificateId == nil {
 17438  		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
 17439  	}
 17440  	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
 17441  		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
 17442  	}
 17443  
 17444  	if invalidParams.Len() > 0 {
 17445  		return invalidParams
 17446  	}
 17447  	return nil
 17448  }
 17449  
 17450  // SetClientCertificateId sets the ClientCertificateId field's value.
 17451  func (s *GetClientCertificateInput) SetClientCertificateId(v string) *GetClientCertificateInput {
 17452  	s.ClientCertificateId = &v
 17453  	return s
 17454  }
 17455  
 17456  // A request to get information about a collection of ClientCertificate resources.
 17457  type GetClientCertificatesInput struct {
 17458  	_ struct{} `type:"structure" nopayload:"true"`
 17459  
 17460  	// The maximum number of returned results per page. The default value is 25
 17461  	// and the maximum value is 500.
 17462  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 17463  
 17464  	// The current pagination position in the paged result set.
 17465  	Position *string `location:"querystring" locationName:"position" type:"string"`
 17466  }
 17467  
 17468  // String returns the string representation.
 17469  //
 17470  // API parameter values that are decorated as "sensitive" in the API will not
 17471  // be included in the string output. The member name will be present, but the
 17472  // value will be replaced with "sensitive".
 17473  func (s GetClientCertificatesInput) String() string {
 17474  	return awsutil.Prettify(s)
 17475  }
 17476  
 17477  // GoString returns the string representation.
 17478  //
 17479  // API parameter values that are decorated as "sensitive" in the API will not
 17480  // be included in the string output. The member name will be present, but the
 17481  // value will be replaced with "sensitive".
 17482  func (s GetClientCertificatesInput) GoString() string {
 17483  	return s.String()
 17484  }
 17485  
 17486  // SetLimit sets the Limit field's value.
 17487  func (s *GetClientCertificatesInput) SetLimit(v int64) *GetClientCertificatesInput {
 17488  	s.Limit = &v
 17489  	return s
 17490  }
 17491  
 17492  // SetPosition sets the Position field's value.
 17493  func (s *GetClientCertificatesInput) SetPosition(v string) *GetClientCertificatesInput {
 17494  	s.Position = &v
 17495  	return s
 17496  }
 17497  
 17498  // Represents a collection of ClientCertificate resources.
 17499  //
 17500  // Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html)
 17501  type GetClientCertificatesOutput struct {
 17502  	_ struct{} `type:"structure"`
 17503  
 17504  	// The current page of elements from this collection.
 17505  	Items []*ClientCertificate `locationName:"item" type:"list"`
 17506  
 17507  	Position *string `locationName:"position" type:"string"`
 17508  }
 17509  
 17510  // String returns the string representation.
 17511  //
 17512  // API parameter values that are decorated as "sensitive" in the API will not
 17513  // be included in the string output. The member name will be present, but the
 17514  // value will be replaced with "sensitive".
 17515  func (s GetClientCertificatesOutput) String() string {
 17516  	return awsutil.Prettify(s)
 17517  }
 17518  
 17519  // GoString returns the string representation.
 17520  //
 17521  // API parameter values that are decorated as "sensitive" in the API will not
 17522  // be included in the string output. The member name will be present, but the
 17523  // value will be replaced with "sensitive".
 17524  func (s GetClientCertificatesOutput) GoString() string {
 17525  	return s.String()
 17526  }
 17527  
 17528  // SetItems sets the Items field's value.
 17529  func (s *GetClientCertificatesOutput) SetItems(v []*ClientCertificate) *GetClientCertificatesOutput {
 17530  	s.Items = v
 17531  	return s
 17532  }
 17533  
 17534  // SetPosition sets the Position field's value.
 17535  func (s *GetClientCertificatesOutput) SetPosition(v string) *GetClientCertificatesOutput {
 17536  	s.Position = &v
 17537  	return s
 17538  }
 17539  
 17540  // Requests API Gateway to get information about a Deployment resource.
 17541  type GetDeploymentInput struct {
 17542  	_ struct{} `type:"structure" nopayload:"true"`
 17543  
 17544  	// [Required] The identifier of the Deployment resource to get information about.
 17545  	//
 17546  	// DeploymentId is a required field
 17547  	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
 17548  
 17549  	// A query parameter to retrieve the specified embedded resources of the returned
 17550  	// Deployment resource in the response. In a REST API call, this embed parameter
 17551  	// value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2.
 17552  	// The SDK and other platform-dependent libraries might use a different format
 17553  	// for the list. Currently, this request supports only retrieval of the embedded
 17554  	// API summary this way. Hence, the parameter value must be a single-valued
 17555  	// list containing only the "apisummary" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary.
 17556  	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
 17557  
 17558  	// [Required] The string identifier of the associated RestApi.
 17559  	//
 17560  	// RestApiId is a required field
 17561  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 17562  }
 17563  
 17564  // String returns the string representation.
 17565  //
 17566  // API parameter values that are decorated as "sensitive" in the API will not
 17567  // be included in the string output. The member name will be present, but the
 17568  // value will be replaced with "sensitive".
 17569  func (s GetDeploymentInput) String() string {
 17570  	return awsutil.Prettify(s)
 17571  }
 17572  
 17573  // GoString returns the string representation.
 17574  //
 17575  // API parameter values that are decorated as "sensitive" in the API will not
 17576  // be included in the string output. The member name will be present, but the
 17577  // value will be replaced with "sensitive".
 17578  func (s GetDeploymentInput) GoString() string {
 17579  	return s.String()
 17580  }
 17581  
 17582  // Validate inspects the fields of the type to determine if they are valid.
 17583  func (s *GetDeploymentInput) Validate() error {
 17584  	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
 17585  	if s.DeploymentId == nil {
 17586  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 17587  	}
 17588  	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
 17589  		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
 17590  	}
 17591  	if s.RestApiId == nil {
 17592  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 17593  	}
 17594  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 17595  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 17596  	}
 17597  
 17598  	if invalidParams.Len() > 0 {
 17599  		return invalidParams
 17600  	}
 17601  	return nil
 17602  }
 17603  
 17604  // SetDeploymentId sets the DeploymentId field's value.
 17605  func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput {
 17606  	s.DeploymentId = &v
 17607  	return s
 17608  }
 17609  
 17610  // SetEmbed sets the Embed field's value.
 17611  func (s *GetDeploymentInput) SetEmbed(v []*string) *GetDeploymentInput {
 17612  	s.Embed = v
 17613  	return s
 17614  }
 17615  
 17616  // SetRestApiId sets the RestApiId field's value.
 17617  func (s *GetDeploymentInput) SetRestApiId(v string) *GetDeploymentInput {
 17618  	s.RestApiId = &v
 17619  	return s
 17620  }
 17621  
 17622  // Requests API Gateway to get information about a Deployments collection.
 17623  type GetDeploymentsInput struct {
 17624  	_ struct{} `type:"structure" nopayload:"true"`
 17625  
 17626  	// The maximum number of returned results per page. The default value is 25
 17627  	// and the maximum value is 500.
 17628  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 17629  
 17630  	// The current pagination position in the paged result set.
 17631  	Position *string `location:"querystring" locationName:"position" type:"string"`
 17632  
 17633  	// [Required] The string identifier of the associated RestApi.
 17634  	//
 17635  	// RestApiId is a required field
 17636  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 17637  }
 17638  
 17639  // String returns the string representation.
 17640  //
 17641  // API parameter values that are decorated as "sensitive" in the API will not
 17642  // be included in the string output. The member name will be present, but the
 17643  // value will be replaced with "sensitive".
 17644  func (s GetDeploymentsInput) String() string {
 17645  	return awsutil.Prettify(s)
 17646  }
 17647  
 17648  // GoString returns the string representation.
 17649  //
 17650  // API parameter values that are decorated as "sensitive" in the API will not
 17651  // be included in the string output. The member name will be present, but the
 17652  // value will be replaced with "sensitive".
 17653  func (s GetDeploymentsInput) GoString() string {
 17654  	return s.String()
 17655  }
 17656  
 17657  // Validate inspects the fields of the type to determine if they are valid.
 17658  func (s *GetDeploymentsInput) Validate() error {
 17659  	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentsInput"}
 17660  	if s.RestApiId == nil {
 17661  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 17662  	}
 17663  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 17664  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 17665  	}
 17666  
 17667  	if invalidParams.Len() > 0 {
 17668  		return invalidParams
 17669  	}
 17670  	return nil
 17671  }
 17672  
 17673  // SetLimit sets the Limit field's value.
 17674  func (s *GetDeploymentsInput) SetLimit(v int64) *GetDeploymentsInput {
 17675  	s.Limit = &v
 17676  	return s
 17677  }
 17678  
 17679  // SetPosition sets the Position field's value.
 17680  func (s *GetDeploymentsInput) SetPosition(v string) *GetDeploymentsInput {
 17681  	s.Position = &v
 17682  	return s
 17683  }
 17684  
 17685  // SetRestApiId sets the RestApiId field's value.
 17686  func (s *GetDeploymentsInput) SetRestApiId(v string) *GetDeploymentsInput {
 17687  	s.RestApiId = &v
 17688  	return s
 17689  }
 17690  
 17691  // Represents a collection resource that contains zero or more references to
 17692  // your existing deployments, and links that guide you on how to interact with
 17693  // your collection. The collection offers a paginated view of the contained
 17694  // deployments.
 17695  //
 17696  // To create a new deployment of a RestApi, make a POST request against this
 17697  // resource. To view, update, or delete an existing deployment, make a GET,
 17698  // PATCH, or DELETE request, respectively, on a specified Deployment resource.
 17699  //
 17700  // Deploying an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html),
 17701  // AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-deployment.html),
 17702  // AWS SDKs (https://aws.amazon.com/tools/)
 17703  type GetDeploymentsOutput struct {
 17704  	_ struct{} `type:"structure"`
 17705  
 17706  	// The current page of elements from this collection.
 17707  	Items []*Deployment `locationName:"item" type:"list"`
 17708  
 17709  	Position *string `locationName:"position" type:"string"`
 17710  }
 17711  
 17712  // String returns the string representation.
 17713  //
 17714  // API parameter values that are decorated as "sensitive" in the API will not
 17715  // be included in the string output. The member name will be present, but the
 17716  // value will be replaced with "sensitive".
 17717  func (s GetDeploymentsOutput) String() string {
 17718  	return awsutil.Prettify(s)
 17719  }
 17720  
 17721  // GoString returns the string representation.
 17722  //
 17723  // API parameter values that are decorated as "sensitive" in the API will not
 17724  // be included in the string output. The member name will be present, but the
 17725  // value will be replaced with "sensitive".
 17726  func (s GetDeploymentsOutput) GoString() string {
 17727  	return s.String()
 17728  }
 17729  
 17730  // SetItems sets the Items field's value.
 17731  func (s *GetDeploymentsOutput) SetItems(v []*Deployment) *GetDeploymentsOutput {
 17732  	s.Items = v
 17733  	return s
 17734  }
 17735  
 17736  // SetPosition sets the Position field's value.
 17737  func (s *GetDeploymentsOutput) SetPosition(v string) *GetDeploymentsOutput {
 17738  	s.Position = &v
 17739  	return s
 17740  }
 17741  
 17742  // Gets a specified documentation part of a given API.
 17743  type GetDocumentationPartInput struct {
 17744  	_ struct{} `type:"structure" nopayload:"true"`
 17745  
 17746  	// [Required] The string identifier of the associated RestApi.
 17747  	//
 17748  	// DocumentationPartId is a required field
 17749  	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
 17750  
 17751  	// [Required] The string identifier of the associated RestApi.
 17752  	//
 17753  	// RestApiId is a required field
 17754  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 17755  }
 17756  
 17757  // String returns the string representation.
 17758  //
 17759  // API parameter values that are decorated as "sensitive" in the API will not
 17760  // be included in the string output. The member name will be present, but the
 17761  // value will be replaced with "sensitive".
 17762  func (s GetDocumentationPartInput) String() string {
 17763  	return awsutil.Prettify(s)
 17764  }
 17765  
 17766  // GoString returns the string representation.
 17767  //
 17768  // API parameter values that are decorated as "sensitive" in the API will not
 17769  // be included in the string output. The member name will be present, but the
 17770  // value will be replaced with "sensitive".
 17771  func (s GetDocumentationPartInput) GoString() string {
 17772  	return s.String()
 17773  }
 17774  
 17775  // Validate inspects the fields of the type to determine if they are valid.
 17776  func (s *GetDocumentationPartInput) Validate() error {
 17777  	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartInput"}
 17778  	if s.DocumentationPartId == nil {
 17779  		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
 17780  	}
 17781  	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
 17782  		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
 17783  	}
 17784  	if s.RestApiId == nil {
 17785  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 17786  	}
 17787  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 17788  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 17789  	}
 17790  
 17791  	if invalidParams.Len() > 0 {
 17792  		return invalidParams
 17793  	}
 17794  	return nil
 17795  }
 17796  
 17797  // SetDocumentationPartId sets the DocumentationPartId field's value.
 17798  func (s *GetDocumentationPartInput) SetDocumentationPartId(v string) *GetDocumentationPartInput {
 17799  	s.DocumentationPartId = &v
 17800  	return s
 17801  }
 17802  
 17803  // SetRestApiId sets the RestApiId field's value.
 17804  func (s *GetDocumentationPartInput) SetRestApiId(v string) *GetDocumentationPartInput {
 17805  	s.RestApiId = &v
 17806  	return s
 17807  }
 17808  
 17809  // Gets the documentation parts of an API. The result may be filtered by the
 17810  // type, name, or path of API entities (targets).
 17811  type GetDocumentationPartsInput struct {
 17812  	_ struct{} `type:"structure" nopayload:"true"`
 17813  
 17814  	// The maximum number of returned results per page. The default value is 25
 17815  	// and the maximum value is 500.
 17816  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 17817  
 17818  	// The status of the API documentation parts to retrieve. Valid values are DOCUMENTED
 17819  	// for retrieving DocumentationPart resources with content and UNDOCUMENTED
 17820  	// for DocumentationPart resources without content.
 17821  	LocationStatus *string `location:"querystring" locationName:"locationStatus" type:"string" enum:"LocationStatusType"`
 17822  
 17823  	// The name of API entities of the to-be-retrieved documentation parts.
 17824  	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
 17825  
 17826  	// The path of API entities of the to-be-retrieved documentation parts.
 17827  	Path *string `location:"querystring" locationName:"path" type:"string"`
 17828  
 17829  	// The current pagination position in the paged result set.
 17830  	Position *string `location:"querystring" locationName:"position" type:"string"`
 17831  
 17832  	// [Required] The string identifier of the associated RestApi.
 17833  	//
 17834  	// RestApiId is a required field
 17835  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 17836  
 17837  	// The type of API entities of the to-be-retrieved documentation parts.
 17838  	Type *string `location:"querystring" locationName:"type" type:"string" enum:"DocumentationPartType"`
 17839  }
 17840  
 17841  // String returns the string representation.
 17842  //
 17843  // API parameter values that are decorated as "sensitive" in the API will not
 17844  // be included in the string output. The member name will be present, but the
 17845  // value will be replaced with "sensitive".
 17846  func (s GetDocumentationPartsInput) String() string {
 17847  	return awsutil.Prettify(s)
 17848  }
 17849  
 17850  // GoString returns the string representation.
 17851  //
 17852  // API parameter values that are decorated as "sensitive" in the API will not
 17853  // be included in the string output. The member name will be present, but the
 17854  // value will be replaced with "sensitive".
 17855  func (s GetDocumentationPartsInput) GoString() string {
 17856  	return s.String()
 17857  }
 17858  
 17859  // Validate inspects the fields of the type to determine if they are valid.
 17860  func (s *GetDocumentationPartsInput) Validate() error {
 17861  	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartsInput"}
 17862  	if s.RestApiId == nil {
 17863  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 17864  	}
 17865  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 17866  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 17867  	}
 17868  
 17869  	if invalidParams.Len() > 0 {
 17870  		return invalidParams
 17871  	}
 17872  	return nil
 17873  }
 17874  
 17875  // SetLimit sets the Limit field's value.
 17876  func (s *GetDocumentationPartsInput) SetLimit(v int64) *GetDocumentationPartsInput {
 17877  	s.Limit = &v
 17878  	return s
 17879  }
 17880  
 17881  // SetLocationStatus sets the LocationStatus field's value.
 17882  func (s *GetDocumentationPartsInput) SetLocationStatus(v string) *GetDocumentationPartsInput {
 17883  	s.LocationStatus = &v
 17884  	return s
 17885  }
 17886  
 17887  // SetNameQuery sets the NameQuery field's value.
 17888  func (s *GetDocumentationPartsInput) SetNameQuery(v string) *GetDocumentationPartsInput {
 17889  	s.NameQuery = &v
 17890  	return s
 17891  }
 17892  
 17893  // SetPath sets the Path field's value.
 17894  func (s *GetDocumentationPartsInput) SetPath(v string) *GetDocumentationPartsInput {
 17895  	s.Path = &v
 17896  	return s
 17897  }
 17898  
 17899  // SetPosition sets the Position field's value.
 17900  func (s *GetDocumentationPartsInput) SetPosition(v string) *GetDocumentationPartsInput {
 17901  	s.Position = &v
 17902  	return s
 17903  }
 17904  
 17905  // SetRestApiId sets the RestApiId field's value.
 17906  func (s *GetDocumentationPartsInput) SetRestApiId(v string) *GetDocumentationPartsInput {
 17907  	s.RestApiId = &v
 17908  	return s
 17909  }
 17910  
 17911  // SetType sets the Type field's value.
 17912  func (s *GetDocumentationPartsInput) SetType(v string) *GetDocumentationPartsInput {
 17913  	s.Type = &v
 17914  	return s
 17915  }
 17916  
 17917  // The collection of documentation parts of an API.
 17918  //
 17919  // Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
 17920  // DocumentationPart
 17921  type GetDocumentationPartsOutput struct {
 17922  	_ struct{} `type:"structure"`
 17923  
 17924  	// The current page of elements from this collection.
 17925  	Items []*DocumentationPart `locationName:"item" type:"list"`
 17926  
 17927  	Position *string `locationName:"position" type:"string"`
 17928  }
 17929  
 17930  // String returns the string representation.
 17931  //
 17932  // API parameter values that are decorated as "sensitive" in the API will not
 17933  // be included in the string output. The member name will be present, but the
 17934  // value will be replaced with "sensitive".
 17935  func (s GetDocumentationPartsOutput) String() string {
 17936  	return awsutil.Prettify(s)
 17937  }
 17938  
 17939  // GoString returns the string representation.
 17940  //
 17941  // API parameter values that are decorated as "sensitive" in the API will not
 17942  // be included in the string output. The member name will be present, but the
 17943  // value will be replaced with "sensitive".
 17944  func (s GetDocumentationPartsOutput) GoString() string {
 17945  	return s.String()
 17946  }
 17947  
 17948  // SetItems sets the Items field's value.
 17949  func (s *GetDocumentationPartsOutput) SetItems(v []*DocumentationPart) *GetDocumentationPartsOutput {
 17950  	s.Items = v
 17951  	return s
 17952  }
 17953  
 17954  // SetPosition sets the Position field's value.
 17955  func (s *GetDocumentationPartsOutput) SetPosition(v string) *GetDocumentationPartsOutput {
 17956  	s.Position = &v
 17957  	return s
 17958  }
 17959  
 17960  // Gets a documentation snapshot of an API.
 17961  type GetDocumentationVersionInput struct {
 17962  	_ struct{} `type:"structure" nopayload:"true"`
 17963  
 17964  	// [Required] The version identifier of the to-be-retrieved documentation snapshot.
 17965  	//
 17966  	// DocumentationVersion is a required field
 17967  	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
 17968  
 17969  	// [Required] The string identifier of the associated RestApi.
 17970  	//
 17971  	// RestApiId is a required field
 17972  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 17973  }
 17974  
 17975  // String returns the string representation.
 17976  //
 17977  // API parameter values that are decorated as "sensitive" in the API will not
 17978  // be included in the string output. The member name will be present, but the
 17979  // value will be replaced with "sensitive".
 17980  func (s GetDocumentationVersionInput) String() string {
 17981  	return awsutil.Prettify(s)
 17982  }
 17983  
 17984  // GoString returns the string representation.
 17985  //
 17986  // API parameter values that are decorated as "sensitive" in the API will not
 17987  // be included in the string output. The member name will be present, but the
 17988  // value will be replaced with "sensitive".
 17989  func (s GetDocumentationVersionInput) GoString() string {
 17990  	return s.String()
 17991  }
 17992  
 17993  // Validate inspects the fields of the type to determine if they are valid.
 17994  func (s *GetDocumentationVersionInput) Validate() error {
 17995  	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionInput"}
 17996  	if s.DocumentationVersion == nil {
 17997  		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
 17998  	}
 17999  	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
 18000  		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
 18001  	}
 18002  	if s.RestApiId == nil {
 18003  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 18004  	}
 18005  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 18006  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 18007  	}
 18008  
 18009  	if invalidParams.Len() > 0 {
 18010  		return invalidParams
 18011  	}
 18012  	return nil
 18013  }
 18014  
 18015  // SetDocumentationVersion sets the DocumentationVersion field's value.
 18016  func (s *GetDocumentationVersionInput) SetDocumentationVersion(v string) *GetDocumentationVersionInput {
 18017  	s.DocumentationVersion = &v
 18018  	return s
 18019  }
 18020  
 18021  // SetRestApiId sets the RestApiId field's value.
 18022  func (s *GetDocumentationVersionInput) SetRestApiId(v string) *GetDocumentationVersionInput {
 18023  	s.RestApiId = &v
 18024  	return s
 18025  }
 18026  
 18027  // Gets the documentation versions of an API.
 18028  type GetDocumentationVersionsInput struct {
 18029  	_ struct{} `type:"structure" nopayload:"true"`
 18030  
 18031  	// The maximum number of returned results per page. The default value is 25
 18032  	// and the maximum value is 500.
 18033  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 18034  
 18035  	// The current pagination position in the paged result set.
 18036  	Position *string `location:"querystring" locationName:"position" type:"string"`
 18037  
 18038  	// [Required] The string identifier of the associated RestApi.
 18039  	//
 18040  	// RestApiId is a required field
 18041  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 18042  }
 18043  
 18044  // String returns the string representation.
 18045  //
 18046  // API parameter values that are decorated as "sensitive" in the API will not
 18047  // be included in the string output. The member name will be present, but the
 18048  // value will be replaced with "sensitive".
 18049  func (s GetDocumentationVersionsInput) String() string {
 18050  	return awsutil.Prettify(s)
 18051  }
 18052  
 18053  // GoString returns the string representation.
 18054  //
 18055  // API parameter values that are decorated as "sensitive" in the API will not
 18056  // be included in the string output. The member name will be present, but the
 18057  // value will be replaced with "sensitive".
 18058  func (s GetDocumentationVersionsInput) GoString() string {
 18059  	return s.String()
 18060  }
 18061  
 18062  // Validate inspects the fields of the type to determine if they are valid.
 18063  func (s *GetDocumentationVersionsInput) Validate() error {
 18064  	invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionsInput"}
 18065  	if s.RestApiId == nil {
 18066  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 18067  	}
 18068  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 18069  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 18070  	}
 18071  
 18072  	if invalidParams.Len() > 0 {
 18073  		return invalidParams
 18074  	}
 18075  	return nil
 18076  }
 18077  
 18078  // SetLimit sets the Limit field's value.
 18079  func (s *GetDocumentationVersionsInput) SetLimit(v int64) *GetDocumentationVersionsInput {
 18080  	s.Limit = &v
 18081  	return s
 18082  }
 18083  
 18084  // SetPosition sets the Position field's value.
 18085  func (s *GetDocumentationVersionsInput) SetPosition(v string) *GetDocumentationVersionsInput {
 18086  	s.Position = &v
 18087  	return s
 18088  }
 18089  
 18090  // SetRestApiId sets the RestApiId field's value.
 18091  func (s *GetDocumentationVersionsInput) SetRestApiId(v string) *GetDocumentationVersionsInput {
 18092  	s.RestApiId = &v
 18093  	return s
 18094  }
 18095  
 18096  // The collection of documentation snapshots of an API.
 18097  //
 18098  // Use the DocumentationVersions to manage documentation snapshots associated
 18099  // with various API stages.
 18100  //
 18101  // Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
 18102  // DocumentationPart, DocumentationVersion
 18103  type GetDocumentationVersionsOutput struct {
 18104  	_ struct{} `type:"structure"`
 18105  
 18106  	// The current page of elements from this collection.
 18107  	Items []*DocumentationVersion `locationName:"item" type:"list"`
 18108  
 18109  	Position *string `locationName:"position" type:"string"`
 18110  }
 18111  
 18112  // String returns the string representation.
 18113  //
 18114  // API parameter values that are decorated as "sensitive" in the API will not
 18115  // be included in the string output. The member name will be present, but the
 18116  // value will be replaced with "sensitive".
 18117  func (s GetDocumentationVersionsOutput) String() string {
 18118  	return awsutil.Prettify(s)
 18119  }
 18120  
 18121  // GoString returns the string representation.
 18122  //
 18123  // API parameter values that are decorated as "sensitive" in the API will not
 18124  // be included in the string output. The member name will be present, but the
 18125  // value will be replaced with "sensitive".
 18126  func (s GetDocumentationVersionsOutput) GoString() string {
 18127  	return s.String()
 18128  }
 18129  
 18130  // SetItems sets the Items field's value.
 18131  func (s *GetDocumentationVersionsOutput) SetItems(v []*DocumentationVersion) *GetDocumentationVersionsOutput {
 18132  	s.Items = v
 18133  	return s
 18134  }
 18135  
 18136  // SetPosition sets the Position field's value.
 18137  func (s *GetDocumentationVersionsOutput) SetPosition(v string) *GetDocumentationVersionsOutput {
 18138  	s.Position = &v
 18139  	return s
 18140  }
 18141  
 18142  // Request to get the name of a DomainName resource.
 18143  type GetDomainNameInput struct {
 18144  	_ struct{} `type:"structure" nopayload:"true"`
 18145  
 18146  	// [Required] The name of the DomainName resource.
 18147  	//
 18148  	// DomainName is a required field
 18149  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 18150  }
 18151  
 18152  // String returns the string representation.
 18153  //
 18154  // API parameter values that are decorated as "sensitive" in the API will not
 18155  // be included in the string output. The member name will be present, but the
 18156  // value will be replaced with "sensitive".
 18157  func (s GetDomainNameInput) String() string {
 18158  	return awsutil.Prettify(s)
 18159  }
 18160  
 18161  // GoString returns the string representation.
 18162  //
 18163  // API parameter values that are decorated as "sensitive" in the API will not
 18164  // be included in the string output. The member name will be present, but the
 18165  // value will be replaced with "sensitive".
 18166  func (s GetDomainNameInput) GoString() string {
 18167  	return s.String()
 18168  }
 18169  
 18170  // Validate inspects the fields of the type to determine if they are valid.
 18171  func (s *GetDomainNameInput) Validate() error {
 18172  	invalidParams := request.ErrInvalidParams{Context: "GetDomainNameInput"}
 18173  	if s.DomainName == nil {
 18174  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 18175  	}
 18176  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 18177  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 18178  	}
 18179  
 18180  	if invalidParams.Len() > 0 {
 18181  		return invalidParams
 18182  	}
 18183  	return nil
 18184  }
 18185  
 18186  // SetDomainName sets the DomainName field's value.
 18187  func (s *GetDomainNameInput) SetDomainName(v string) *GetDomainNameInput {
 18188  	s.DomainName = &v
 18189  	return s
 18190  }
 18191  
 18192  // Request to describe a collection of DomainName resources.
 18193  type GetDomainNamesInput struct {
 18194  	_ struct{} `type:"structure" nopayload:"true"`
 18195  
 18196  	// The maximum number of returned results per page. The default value is 25
 18197  	// and the maximum value is 500.
 18198  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 18199  
 18200  	// The current pagination position in the paged result set.
 18201  	Position *string `location:"querystring" locationName:"position" type:"string"`
 18202  }
 18203  
 18204  // String returns the string representation.
 18205  //
 18206  // API parameter values that are decorated as "sensitive" in the API will not
 18207  // be included in the string output. The member name will be present, but the
 18208  // value will be replaced with "sensitive".
 18209  func (s GetDomainNamesInput) String() string {
 18210  	return awsutil.Prettify(s)
 18211  }
 18212  
 18213  // GoString returns the string representation.
 18214  //
 18215  // API parameter values that are decorated as "sensitive" in the API will not
 18216  // be included in the string output. The member name will be present, but the
 18217  // value will be replaced with "sensitive".
 18218  func (s GetDomainNamesInput) GoString() string {
 18219  	return s.String()
 18220  }
 18221  
 18222  // SetLimit sets the Limit field's value.
 18223  func (s *GetDomainNamesInput) SetLimit(v int64) *GetDomainNamesInput {
 18224  	s.Limit = &v
 18225  	return s
 18226  }
 18227  
 18228  // SetPosition sets the Position field's value.
 18229  func (s *GetDomainNamesInput) SetPosition(v string) *GetDomainNamesInput {
 18230  	s.Position = &v
 18231  	return s
 18232  }
 18233  
 18234  // Represents a collection of DomainName resources.
 18235  //
 18236  // Use Client-Side Certificate (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)
 18237  type GetDomainNamesOutput struct {
 18238  	_ struct{} `type:"structure"`
 18239  
 18240  	// The current page of elements from this collection.
 18241  	Items []*DomainName `locationName:"item" type:"list"`
 18242  
 18243  	Position *string `locationName:"position" type:"string"`
 18244  }
 18245  
 18246  // String returns the string representation.
 18247  //
 18248  // API parameter values that are decorated as "sensitive" in the API will not
 18249  // be included in the string output. The member name will be present, but the
 18250  // value will be replaced with "sensitive".
 18251  func (s GetDomainNamesOutput) String() string {
 18252  	return awsutil.Prettify(s)
 18253  }
 18254  
 18255  // GoString returns the string representation.
 18256  //
 18257  // API parameter values that are decorated as "sensitive" in the API will not
 18258  // be included in the string output. The member name will be present, but the
 18259  // value will be replaced with "sensitive".
 18260  func (s GetDomainNamesOutput) GoString() string {
 18261  	return s.String()
 18262  }
 18263  
 18264  // SetItems sets the Items field's value.
 18265  func (s *GetDomainNamesOutput) SetItems(v []*DomainName) *GetDomainNamesOutput {
 18266  	s.Items = v
 18267  	return s
 18268  }
 18269  
 18270  // SetPosition sets the Position field's value.
 18271  func (s *GetDomainNamesOutput) SetPosition(v string) *GetDomainNamesOutput {
 18272  	s.Position = &v
 18273  	return s
 18274  }
 18275  
 18276  // Request a new export of a RestApi for a particular Stage.
 18277  type GetExportInput struct {
 18278  	_ struct{} `type:"structure" nopayload:"true"`
 18279  
 18280  	// The content-type of the export, for example application/json. Currently application/json
 18281  	// and application/yaml are supported for exportType ofoas30 and swagger. This
 18282  	// should be specified in the Accept header for direct API requests.
 18283  	Accepts *string `location:"header" locationName:"Accept" type:"string"`
 18284  
 18285  	// [Required] The type of export. Acceptable values are 'oas30' for OpenAPI
 18286  	// 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.
 18287  	//
 18288  	// ExportType is a required field
 18289  	ExportType *string `location:"uri" locationName:"export_type" type:"string" required:"true"`
 18290  
 18291  	// A key-value map of query string parameters that specify properties of the
 18292  	// export, depending on the requested exportType. For exportType oas30 and swagger,
 18293  	// any combination of the following parameters are supported: extensions='integrations'
 18294  	// or extensions='apigateway' will export the API with x-amazon-apigateway-integration
 18295  	// extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer
 18296  	// extensions. postman will export the API with Postman extensions, allowing
 18297  	// for import to the Postman tool
 18298  	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
 18299  
 18300  	// [Required] The string identifier of the associated RestApi.
 18301  	//
 18302  	// RestApiId is a required field
 18303  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 18304  
 18305  	// [Required] The name of the Stage that will be exported.
 18306  	//
 18307  	// StageName is a required field
 18308  	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
 18309  }
 18310  
 18311  // String returns the string representation.
 18312  //
 18313  // API parameter values that are decorated as "sensitive" in the API will not
 18314  // be included in the string output. The member name will be present, but the
 18315  // value will be replaced with "sensitive".
 18316  func (s GetExportInput) String() string {
 18317  	return awsutil.Prettify(s)
 18318  }
 18319  
 18320  // GoString returns the string representation.
 18321  //
 18322  // API parameter values that are decorated as "sensitive" in the API will not
 18323  // be included in the string output. The member name will be present, but the
 18324  // value will be replaced with "sensitive".
 18325  func (s GetExportInput) GoString() string {
 18326  	return s.String()
 18327  }
 18328  
 18329  // Validate inspects the fields of the type to determine if they are valid.
 18330  func (s *GetExportInput) Validate() error {
 18331  	invalidParams := request.ErrInvalidParams{Context: "GetExportInput"}
 18332  	if s.ExportType == nil {
 18333  		invalidParams.Add(request.NewErrParamRequired("ExportType"))
 18334  	}
 18335  	if s.ExportType != nil && len(*s.ExportType) < 1 {
 18336  		invalidParams.Add(request.NewErrParamMinLen("ExportType", 1))
 18337  	}
 18338  	if s.RestApiId == nil {
 18339  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 18340  	}
 18341  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 18342  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 18343  	}
 18344  	if s.StageName == nil {
 18345  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 18346  	}
 18347  	if s.StageName != nil && len(*s.StageName) < 1 {
 18348  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 18349  	}
 18350  
 18351  	if invalidParams.Len() > 0 {
 18352  		return invalidParams
 18353  	}
 18354  	return nil
 18355  }
 18356  
 18357  // SetAccepts sets the Accepts field's value.
 18358  func (s *GetExportInput) SetAccepts(v string) *GetExportInput {
 18359  	s.Accepts = &v
 18360  	return s
 18361  }
 18362  
 18363  // SetExportType sets the ExportType field's value.
 18364  func (s *GetExportInput) SetExportType(v string) *GetExportInput {
 18365  	s.ExportType = &v
 18366  	return s
 18367  }
 18368  
 18369  // SetParameters sets the Parameters field's value.
 18370  func (s *GetExportInput) SetParameters(v map[string]*string) *GetExportInput {
 18371  	s.Parameters = v
 18372  	return s
 18373  }
 18374  
 18375  // SetRestApiId sets the RestApiId field's value.
 18376  func (s *GetExportInput) SetRestApiId(v string) *GetExportInput {
 18377  	s.RestApiId = &v
 18378  	return s
 18379  }
 18380  
 18381  // SetStageName sets the StageName field's value.
 18382  func (s *GetExportInput) SetStageName(v string) *GetExportInput {
 18383  	s.StageName = &v
 18384  	return s
 18385  }
 18386  
 18387  // The binary blob response to GetExport, which contains the generated SDK.
 18388  type GetExportOutput struct {
 18389  	_ struct{} `type:"structure" payload:"Body"`
 18390  
 18391  	// The binary blob response to GetExport, which contains the export.
 18392  	Body []byte `locationName:"body" type:"blob"`
 18393  
 18394  	// The content-disposition header value in the HTTP response.
 18395  	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
 18396  
 18397  	// The content-type header value in the HTTP response. This will correspond
 18398  	// to a valid 'accept' type in the request.
 18399  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
 18400  }
 18401  
 18402  // String returns the string representation.
 18403  //
 18404  // API parameter values that are decorated as "sensitive" in the API will not
 18405  // be included in the string output. The member name will be present, but the
 18406  // value will be replaced with "sensitive".
 18407  func (s GetExportOutput) String() string {
 18408  	return awsutil.Prettify(s)
 18409  }
 18410  
 18411  // GoString returns the string representation.
 18412  //
 18413  // API parameter values that are decorated as "sensitive" in the API will not
 18414  // be included in the string output. The member name will be present, but the
 18415  // value will be replaced with "sensitive".
 18416  func (s GetExportOutput) GoString() string {
 18417  	return s.String()
 18418  }
 18419  
 18420  // SetBody sets the Body field's value.
 18421  func (s *GetExportOutput) SetBody(v []byte) *GetExportOutput {
 18422  	s.Body = v
 18423  	return s
 18424  }
 18425  
 18426  // SetContentDisposition sets the ContentDisposition field's value.
 18427  func (s *GetExportOutput) SetContentDisposition(v string) *GetExportOutput {
 18428  	s.ContentDisposition = &v
 18429  	return s
 18430  }
 18431  
 18432  // SetContentType sets the ContentType field's value.
 18433  func (s *GetExportOutput) SetContentType(v string) *GetExportOutput {
 18434  	s.ContentType = &v
 18435  	return s
 18436  }
 18437  
 18438  // Gets a GatewayResponse of a specified response type on the given RestApi.
 18439  type GetGatewayResponseInput struct {
 18440  	_ struct{} `type:"structure" nopayload:"true"`
 18441  
 18442  	// [Required]
 18443  	// The response type of the associated GatewayResponse.
 18444  	//
 18445  	// ResponseType is a required field
 18446  	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
 18447  
 18448  	// [Required] The string identifier of the associated RestApi.
 18449  	//
 18450  	// RestApiId is a required field
 18451  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 18452  }
 18453  
 18454  // String returns the string representation.
 18455  //
 18456  // API parameter values that are decorated as "sensitive" in the API will not
 18457  // be included in the string output. The member name will be present, but the
 18458  // value will be replaced with "sensitive".
 18459  func (s GetGatewayResponseInput) String() string {
 18460  	return awsutil.Prettify(s)
 18461  }
 18462  
 18463  // GoString returns the string representation.
 18464  //
 18465  // API parameter values that are decorated as "sensitive" in the API will not
 18466  // be included in the string output. The member name will be present, but the
 18467  // value will be replaced with "sensitive".
 18468  func (s GetGatewayResponseInput) GoString() string {
 18469  	return s.String()
 18470  }
 18471  
 18472  // Validate inspects the fields of the type to determine if they are valid.
 18473  func (s *GetGatewayResponseInput) Validate() error {
 18474  	invalidParams := request.ErrInvalidParams{Context: "GetGatewayResponseInput"}
 18475  	if s.ResponseType == nil {
 18476  		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
 18477  	}
 18478  	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
 18479  		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
 18480  	}
 18481  	if s.RestApiId == nil {
 18482  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 18483  	}
 18484  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 18485  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 18486  	}
 18487  
 18488  	if invalidParams.Len() > 0 {
 18489  		return invalidParams
 18490  	}
 18491  	return nil
 18492  }
 18493  
 18494  // SetResponseType sets the ResponseType field's value.
 18495  func (s *GetGatewayResponseInput) SetResponseType(v string) *GetGatewayResponseInput {
 18496  	s.ResponseType = &v
 18497  	return s
 18498  }
 18499  
 18500  // SetRestApiId sets the RestApiId field's value.
 18501  func (s *GetGatewayResponseInput) SetRestApiId(v string) *GetGatewayResponseInput {
 18502  	s.RestApiId = &v
 18503  	return s
 18504  }
 18505  
 18506  // Gets the GatewayResponses collection on the given RestApi. If an API developer
 18507  // has not added any definitions for gateway responses, the result will be the
 18508  // API Gateway-generated default GatewayResponses collection for the supported
 18509  // response types.
 18510  type GetGatewayResponsesInput struct {
 18511  	_ struct{} `type:"structure" nopayload:"true"`
 18512  
 18513  	// The maximum number of returned results per page. The default value is 25
 18514  	// and the maximum value is 500. The GatewayResponses collection does not support
 18515  	// pagination and the limit does not apply here.
 18516  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 18517  
 18518  	// The current pagination position in the paged result set. The GatewayResponse
 18519  	// collection does not support pagination and the position does not apply here.
 18520  	Position *string `location:"querystring" locationName:"position" type:"string"`
 18521  
 18522  	// [Required] The string identifier of the associated RestApi.
 18523  	//
 18524  	// RestApiId is a required field
 18525  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 18526  }
 18527  
 18528  // String returns the string representation.
 18529  //
 18530  // API parameter values that are decorated as "sensitive" in the API will not
 18531  // be included in the string output. The member name will be present, but the
 18532  // value will be replaced with "sensitive".
 18533  func (s GetGatewayResponsesInput) String() string {
 18534  	return awsutil.Prettify(s)
 18535  }
 18536  
 18537  // GoString returns the string representation.
 18538  //
 18539  // API parameter values that are decorated as "sensitive" in the API will not
 18540  // be included in the string output. The member name will be present, but the
 18541  // value will be replaced with "sensitive".
 18542  func (s GetGatewayResponsesInput) GoString() string {
 18543  	return s.String()
 18544  }
 18545  
 18546  // Validate inspects the fields of the type to determine if they are valid.
 18547  func (s *GetGatewayResponsesInput) Validate() error {
 18548  	invalidParams := request.ErrInvalidParams{Context: "GetGatewayResponsesInput"}
 18549  	if s.RestApiId == nil {
 18550  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 18551  	}
 18552  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 18553  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 18554  	}
 18555  
 18556  	if invalidParams.Len() > 0 {
 18557  		return invalidParams
 18558  	}
 18559  	return nil
 18560  }
 18561  
 18562  // SetLimit sets the Limit field's value.
 18563  func (s *GetGatewayResponsesInput) SetLimit(v int64) *GetGatewayResponsesInput {
 18564  	s.Limit = &v
 18565  	return s
 18566  }
 18567  
 18568  // SetPosition sets the Position field's value.
 18569  func (s *GetGatewayResponsesInput) SetPosition(v string) *GetGatewayResponsesInput {
 18570  	s.Position = &v
 18571  	return s
 18572  }
 18573  
 18574  // SetRestApiId sets the RestApiId field's value.
 18575  func (s *GetGatewayResponsesInput) SetRestApiId(v string) *GetGatewayResponsesInput {
 18576  	s.RestApiId = &v
 18577  	return s
 18578  }
 18579  
 18580  // The collection of the GatewayResponse instances of a RestApi as a responseType-to-GatewayResponse
 18581  // object map of key-value pairs. As such, pagination is not supported for querying
 18582  // this collection.
 18583  //
 18584  // For more information about valid gateway response types, see Gateway Response
 18585  // Types Supported by API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html)
 18586  //
 18587  // Example: Get the collection of gateway responses of an API
 18588  //
 18589  // Request
 18590  //
 18591  // This example request shows how to retrieve the GatewayResponses collection
 18592  // from an API.
 18593  //  GET /restapis/o81lxisefl/gatewayresponses HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com
 18594  //  Content-Type: application/json X-Amz-Date: 20170503T220604Z Authorization:
 18595  //  AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request,
 18596  //  SignedHeaders=content-type;host;x-amz-date, Signature=59b42fe54a76a5de8adf2c67baa6d39206f8e9ad49a1d77ccc6a5da3103a398a
 18597  //  Cache-Control: no-cache Postman-Token: 5637af27-dc29-fc5c-9dfe-0645d52cb515
 18598  // Response
 18599  //
 18600  // The successful operation returns the 200 OK status code and a payload similar
 18601  // to the following:
 18602  //  { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html",
 18603  //  "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses"
 18604  //  }, "first": { "href": "/restapis/o81lxisefl/gatewayresponses" }, "gatewayresponse:by-type":
 18605  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18606  //  true }, "item": [ { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
 18607  //  }, { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND"
 18608  //  }, { "href": "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE" },
 18609  //  { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, { "href":
 18610  //  "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE" }, { "href":
 18611  //  "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR" },
 18612  //  { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX" }, { "href":
 18613  //  "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX" }, { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
 18614  //  }, { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY" },
 18615  //  { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN" }, { "href":
 18616  //  "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY"
 18617  //  }, { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, { "href":
 18618  //  "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR" }, { "href":
 18619  //  "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED" }, { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT"
 18620  //  }, { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
 18621  //  }, { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE" },
 18622  //  { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE" } ]
 18623  //  }, "_embedded": { "item": [ { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
 18624  //  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 18625  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE"
 18626  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18627  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18628  //  "INTEGRATION_FAILURE", "statusCode": "504" }, { "_links": { "self": { "href":
 18629  //  "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND" }, "gatewayresponse:put":
 18630  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18631  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND"
 18632  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18633  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18634  //  "RESOURCE_NOT_FOUND", "statusCode": "404" }, { "_links": { "self": { "href":
 18635  //  "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE" }, "gatewayresponse:put":
 18636  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18637  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE"
 18638  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18639  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18640  //  "REQUEST_TOO_LARGE", "statusCode": "413" }, { "_links": { "self": { "href":
 18641  //  "/restapis/o81lxisefl/gatewayresponses/THROTTLED" }, "gatewayresponse:put":
 18642  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18643  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/THROTTLED"
 18644  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18645  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18646  //  "THROTTLED", "statusCode": "429" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE"
 18647  //  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 18648  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE"
 18649  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18650  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18651  //  "UNSUPPORTED_MEDIA_TYPE", "statusCode": "415" }, { "_links": { "self": {
 18652  //  "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR"
 18653  //  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 18654  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR"
 18655  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18656  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18657  //  "AUTHORIZER_CONFIGURATION_ERROR", "statusCode": "500" }, { "_links": { "self":
 18658  //  { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX" }, "gatewayresponse:put":
 18659  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18660  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX"
 18661  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18662  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18663  //  "DEFAULT_5XX" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX"
 18664  //  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 18665  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX"
 18666  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18667  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18668  //  "DEFAULT_4XX" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
 18669  //  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 18670  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS"
 18671  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18672  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18673  //  "BAD_REQUEST_PARAMETERS", "statusCode": "400" }, { "_links": { "self": {
 18674  //  "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY" }, "gatewayresponse:put":
 18675  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18676  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY"
 18677  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18678  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18679  //  "BAD_REQUEST_BODY", "statusCode": "400" }, { "_links": { "self": { "href":
 18680  //  "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN" }, "gatewayresponse:put":
 18681  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18682  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN"
 18683  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18684  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18685  //  "EXPIRED_TOKEN", "statusCode": "403" }, { "_links": { "self": { "href":
 18686  //  "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED" }, "gatewayresponse:put":
 18687  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18688  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED"
 18689  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18690  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18691  //  "ACCESS_DENIED", "statusCode": "403" }, { "_links": { "self": { "href":
 18692  //  "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY" }, "gatewayresponse:put":
 18693  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18694  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY"
 18695  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18696  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18697  //  "INVALID_API_KEY", "statusCode": "403" }, { "_links": { "self": { "href":
 18698  //  "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED" }, "gatewayresponse:put":
 18699  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18700  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED"
 18701  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18702  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18703  //  "UNAUTHORIZED", "statusCode": "401" }, { "_links": { "self": { "href": "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR"
 18704  //  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 18705  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR"
 18706  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18707  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18708  //  "API_CONFIGURATION_ERROR", "statusCode": "500" }, { "_links": { "self":
 18709  //  { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED" }, "gatewayresponse:put":
 18710  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18711  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED"
 18712  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18713  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18714  //  "QUOTA_EXCEEDED", "statusCode": "429" }, { "_links": { "self": { "href":
 18715  //  "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT" }, "gatewayresponse:put":
 18716  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18717  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT"
 18718  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18719  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18720  //  "INTEGRATION_TIMEOUT", "statusCode": "504" }, { "_links": { "self": { "href":
 18721  //  "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" },
 18722  //  "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 18723  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
 18724  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18725  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18726  //  "MISSING_AUTHENTICATION_TOKEN", "statusCode": "403" }, { "_links": { "self":
 18727  //  { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE" }, "gatewayresponse:put":
 18728  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18729  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE"
 18730  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18731  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18732  //  "INVALID_SIGNATURE", "statusCode": "403" }, { "_links": { "self": { "href":
 18733  //  "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE" }, "gatewayresponse:put":
 18734  //  { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated":
 18735  //  true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE"
 18736  //  } }, "defaultResponse": true, "responseParameters": {}, "responseTemplates":
 18737  //  { "application/json": "{\"message\":$context.error.messageString}" }, "responseType":
 18738  //  "AUTHORIZER_FAILURE", "statusCode": "500" } ] } }
 18739  //
 18740  // Customize Gateway Responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html)
 18741  type GetGatewayResponsesOutput struct {
 18742  	_ struct{} `type:"structure"`
 18743  
 18744  	// Returns the entire collection, because of no pagination support.
 18745  	Items []*UpdateGatewayResponseOutput `locationName:"item" type:"list"`
 18746  
 18747  	Position *string `locationName:"position" type:"string"`
 18748  }
 18749  
 18750  // String returns the string representation.
 18751  //
 18752  // API parameter values that are decorated as "sensitive" in the API will not
 18753  // be included in the string output. The member name will be present, but the
 18754  // value will be replaced with "sensitive".
 18755  func (s GetGatewayResponsesOutput) String() string {
 18756  	return awsutil.Prettify(s)
 18757  }
 18758  
 18759  // GoString returns the string representation.
 18760  //
 18761  // API parameter values that are decorated as "sensitive" in the API will not
 18762  // be included in the string output. The member name will be present, but the
 18763  // value will be replaced with "sensitive".
 18764  func (s GetGatewayResponsesOutput) GoString() string {
 18765  	return s.String()
 18766  }
 18767  
 18768  // SetItems sets the Items field's value.
 18769  func (s *GetGatewayResponsesOutput) SetItems(v []*UpdateGatewayResponseOutput) *GetGatewayResponsesOutput {
 18770  	s.Items = v
 18771  	return s
 18772  }
 18773  
 18774  // SetPosition sets the Position field's value.
 18775  func (s *GetGatewayResponsesOutput) SetPosition(v string) *GetGatewayResponsesOutput {
 18776  	s.Position = &v
 18777  	return s
 18778  }
 18779  
 18780  // Represents a request to get the integration configuration.
 18781  type GetIntegrationInput struct {
 18782  	_ struct{} `type:"structure" nopayload:"true"`
 18783  
 18784  	// [Required] Specifies a get integration request's HTTP method.
 18785  	//
 18786  	// HttpMethod is a required field
 18787  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 18788  
 18789  	// [Required] Specifies a get integration request's resource identifier
 18790  	//
 18791  	// ResourceId is a required field
 18792  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 18793  
 18794  	// [Required] The string identifier of the associated RestApi.
 18795  	//
 18796  	// RestApiId is a required field
 18797  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 18798  }
 18799  
 18800  // String returns the string representation.
 18801  //
 18802  // API parameter values that are decorated as "sensitive" in the API will not
 18803  // be included in the string output. The member name will be present, but the
 18804  // value will be replaced with "sensitive".
 18805  func (s GetIntegrationInput) String() string {
 18806  	return awsutil.Prettify(s)
 18807  }
 18808  
 18809  // GoString returns the string representation.
 18810  //
 18811  // API parameter values that are decorated as "sensitive" in the API will not
 18812  // be included in the string output. The member name will be present, but the
 18813  // value will be replaced with "sensitive".
 18814  func (s GetIntegrationInput) GoString() string {
 18815  	return s.String()
 18816  }
 18817  
 18818  // Validate inspects the fields of the type to determine if they are valid.
 18819  func (s *GetIntegrationInput) Validate() error {
 18820  	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"}
 18821  	if s.HttpMethod == nil {
 18822  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 18823  	}
 18824  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 18825  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 18826  	}
 18827  	if s.ResourceId == nil {
 18828  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 18829  	}
 18830  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 18831  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 18832  	}
 18833  	if s.RestApiId == nil {
 18834  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 18835  	}
 18836  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 18837  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 18838  	}
 18839  
 18840  	if invalidParams.Len() > 0 {
 18841  		return invalidParams
 18842  	}
 18843  	return nil
 18844  }
 18845  
 18846  // SetHttpMethod sets the HttpMethod field's value.
 18847  func (s *GetIntegrationInput) SetHttpMethod(v string) *GetIntegrationInput {
 18848  	s.HttpMethod = &v
 18849  	return s
 18850  }
 18851  
 18852  // SetResourceId sets the ResourceId field's value.
 18853  func (s *GetIntegrationInput) SetResourceId(v string) *GetIntegrationInput {
 18854  	s.ResourceId = &v
 18855  	return s
 18856  }
 18857  
 18858  // SetRestApiId sets the RestApiId field's value.
 18859  func (s *GetIntegrationInput) SetRestApiId(v string) *GetIntegrationInput {
 18860  	s.RestApiId = &v
 18861  	return s
 18862  }
 18863  
 18864  // Represents a get integration response request.
 18865  type GetIntegrationResponseInput struct {
 18866  	_ struct{} `type:"structure" nopayload:"true"`
 18867  
 18868  	// [Required] Specifies a get integration response request's HTTP method.
 18869  	//
 18870  	// HttpMethod is a required field
 18871  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 18872  
 18873  	// [Required] Specifies a get integration response request's resource identifier.
 18874  	//
 18875  	// ResourceId is a required field
 18876  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 18877  
 18878  	// [Required] The string identifier of the associated RestApi.
 18879  	//
 18880  	// RestApiId is a required field
 18881  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 18882  
 18883  	// [Required] Specifies a get integration response request's status code.
 18884  	//
 18885  	// StatusCode is a required field
 18886  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 18887  }
 18888  
 18889  // String returns the string representation.
 18890  //
 18891  // API parameter values that are decorated as "sensitive" in the API will not
 18892  // be included in the string output. The member name will be present, but the
 18893  // value will be replaced with "sensitive".
 18894  func (s GetIntegrationResponseInput) String() string {
 18895  	return awsutil.Prettify(s)
 18896  }
 18897  
 18898  // GoString returns the string representation.
 18899  //
 18900  // API parameter values that are decorated as "sensitive" in the API will not
 18901  // be included in the string output. The member name will be present, but the
 18902  // value will be replaced with "sensitive".
 18903  func (s GetIntegrationResponseInput) GoString() string {
 18904  	return s.String()
 18905  }
 18906  
 18907  // Validate inspects the fields of the type to determine if they are valid.
 18908  func (s *GetIntegrationResponseInput) Validate() error {
 18909  	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponseInput"}
 18910  	if s.HttpMethod == nil {
 18911  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 18912  	}
 18913  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 18914  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 18915  	}
 18916  	if s.ResourceId == nil {
 18917  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 18918  	}
 18919  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 18920  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 18921  	}
 18922  	if s.RestApiId == nil {
 18923  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 18924  	}
 18925  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 18926  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 18927  	}
 18928  	if s.StatusCode == nil {
 18929  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 18930  	}
 18931  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 18932  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 18933  	}
 18934  
 18935  	if invalidParams.Len() > 0 {
 18936  		return invalidParams
 18937  	}
 18938  	return nil
 18939  }
 18940  
 18941  // SetHttpMethod sets the HttpMethod field's value.
 18942  func (s *GetIntegrationResponseInput) SetHttpMethod(v string) *GetIntegrationResponseInput {
 18943  	s.HttpMethod = &v
 18944  	return s
 18945  }
 18946  
 18947  // SetResourceId sets the ResourceId field's value.
 18948  func (s *GetIntegrationResponseInput) SetResourceId(v string) *GetIntegrationResponseInput {
 18949  	s.ResourceId = &v
 18950  	return s
 18951  }
 18952  
 18953  // SetRestApiId sets the RestApiId field's value.
 18954  func (s *GetIntegrationResponseInput) SetRestApiId(v string) *GetIntegrationResponseInput {
 18955  	s.RestApiId = &v
 18956  	return s
 18957  }
 18958  
 18959  // SetStatusCode sets the StatusCode field's value.
 18960  func (s *GetIntegrationResponseInput) SetStatusCode(v string) *GetIntegrationResponseInput {
 18961  	s.StatusCode = &v
 18962  	return s
 18963  }
 18964  
 18965  // Request to describe an existing Method resource.
 18966  type GetMethodInput struct {
 18967  	_ struct{} `type:"structure" nopayload:"true"`
 18968  
 18969  	// [Required] Specifies the method request's HTTP method type.
 18970  	//
 18971  	// HttpMethod is a required field
 18972  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 18973  
 18974  	// [Required] The Resource identifier for the Method resource.
 18975  	//
 18976  	// ResourceId is a required field
 18977  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 18978  
 18979  	// [Required] The string identifier of the associated RestApi.
 18980  	//
 18981  	// RestApiId is a required field
 18982  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 18983  }
 18984  
 18985  // String returns the string representation.
 18986  //
 18987  // API parameter values that are decorated as "sensitive" in the API will not
 18988  // be included in the string output. The member name will be present, but the
 18989  // value will be replaced with "sensitive".
 18990  func (s GetMethodInput) String() string {
 18991  	return awsutil.Prettify(s)
 18992  }
 18993  
 18994  // GoString returns the string representation.
 18995  //
 18996  // API parameter values that are decorated as "sensitive" in the API will not
 18997  // be included in the string output. The member name will be present, but the
 18998  // value will be replaced with "sensitive".
 18999  func (s GetMethodInput) GoString() string {
 19000  	return s.String()
 19001  }
 19002  
 19003  // Validate inspects the fields of the type to determine if they are valid.
 19004  func (s *GetMethodInput) Validate() error {
 19005  	invalidParams := request.ErrInvalidParams{Context: "GetMethodInput"}
 19006  	if s.HttpMethod == nil {
 19007  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 19008  	}
 19009  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 19010  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 19011  	}
 19012  	if s.ResourceId == nil {
 19013  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 19014  	}
 19015  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 19016  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 19017  	}
 19018  	if s.RestApiId == nil {
 19019  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19020  	}
 19021  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19022  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19023  	}
 19024  
 19025  	if invalidParams.Len() > 0 {
 19026  		return invalidParams
 19027  	}
 19028  	return nil
 19029  }
 19030  
 19031  // SetHttpMethod sets the HttpMethod field's value.
 19032  func (s *GetMethodInput) SetHttpMethod(v string) *GetMethodInput {
 19033  	s.HttpMethod = &v
 19034  	return s
 19035  }
 19036  
 19037  // SetResourceId sets the ResourceId field's value.
 19038  func (s *GetMethodInput) SetResourceId(v string) *GetMethodInput {
 19039  	s.ResourceId = &v
 19040  	return s
 19041  }
 19042  
 19043  // SetRestApiId sets the RestApiId field's value.
 19044  func (s *GetMethodInput) SetRestApiId(v string) *GetMethodInput {
 19045  	s.RestApiId = &v
 19046  	return s
 19047  }
 19048  
 19049  // Request to describe a MethodResponse resource.
 19050  type GetMethodResponseInput struct {
 19051  	_ struct{} `type:"structure" nopayload:"true"`
 19052  
 19053  	// [Required] The HTTP verb of the Method resource.
 19054  	//
 19055  	// HttpMethod is a required field
 19056  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 19057  
 19058  	// [Required] The Resource identifier for the MethodResponse resource.
 19059  	//
 19060  	// ResourceId is a required field
 19061  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 19062  
 19063  	// [Required] The string identifier of the associated RestApi.
 19064  	//
 19065  	// RestApiId is a required field
 19066  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19067  
 19068  	// [Required] The status code for the MethodResponse resource.
 19069  	//
 19070  	// StatusCode is a required field
 19071  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 19072  }
 19073  
 19074  // String returns the string representation.
 19075  //
 19076  // API parameter values that are decorated as "sensitive" in the API will not
 19077  // be included in the string output. The member name will be present, but the
 19078  // value will be replaced with "sensitive".
 19079  func (s GetMethodResponseInput) String() string {
 19080  	return awsutil.Prettify(s)
 19081  }
 19082  
 19083  // GoString returns the string representation.
 19084  //
 19085  // API parameter values that are decorated as "sensitive" in the API will not
 19086  // be included in the string output. The member name will be present, but the
 19087  // value will be replaced with "sensitive".
 19088  func (s GetMethodResponseInput) GoString() string {
 19089  	return s.String()
 19090  }
 19091  
 19092  // Validate inspects the fields of the type to determine if they are valid.
 19093  func (s *GetMethodResponseInput) Validate() error {
 19094  	invalidParams := request.ErrInvalidParams{Context: "GetMethodResponseInput"}
 19095  	if s.HttpMethod == nil {
 19096  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 19097  	}
 19098  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 19099  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 19100  	}
 19101  	if s.ResourceId == nil {
 19102  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 19103  	}
 19104  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 19105  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 19106  	}
 19107  	if s.RestApiId == nil {
 19108  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19109  	}
 19110  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19111  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19112  	}
 19113  	if s.StatusCode == nil {
 19114  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 19115  	}
 19116  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 19117  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 19118  	}
 19119  
 19120  	if invalidParams.Len() > 0 {
 19121  		return invalidParams
 19122  	}
 19123  	return nil
 19124  }
 19125  
 19126  // SetHttpMethod sets the HttpMethod field's value.
 19127  func (s *GetMethodResponseInput) SetHttpMethod(v string) *GetMethodResponseInput {
 19128  	s.HttpMethod = &v
 19129  	return s
 19130  }
 19131  
 19132  // SetResourceId sets the ResourceId field's value.
 19133  func (s *GetMethodResponseInput) SetResourceId(v string) *GetMethodResponseInput {
 19134  	s.ResourceId = &v
 19135  	return s
 19136  }
 19137  
 19138  // SetRestApiId sets the RestApiId field's value.
 19139  func (s *GetMethodResponseInput) SetRestApiId(v string) *GetMethodResponseInput {
 19140  	s.RestApiId = &v
 19141  	return s
 19142  }
 19143  
 19144  // SetStatusCode sets the StatusCode field's value.
 19145  func (s *GetMethodResponseInput) SetStatusCode(v string) *GetMethodResponseInput {
 19146  	s.StatusCode = &v
 19147  	return s
 19148  }
 19149  
 19150  // Request to list information about a model in an existing RestApi resource.
 19151  type GetModelInput struct {
 19152  	_ struct{} `type:"structure" nopayload:"true"`
 19153  
 19154  	// A query parameter of a Boolean value to resolve (true) all external model
 19155  	// references and returns a flattened model schema or not (false) The default
 19156  	// is false.
 19157  	Flatten *bool `location:"querystring" locationName:"flatten" type:"boolean"`
 19158  
 19159  	// [Required] The name of the model as an identifier.
 19160  	//
 19161  	// ModelName is a required field
 19162  	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
 19163  
 19164  	// [Required] The RestApi identifier under which the Model exists.
 19165  	//
 19166  	// RestApiId is a required field
 19167  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19168  }
 19169  
 19170  // String returns the string representation.
 19171  //
 19172  // API parameter values that are decorated as "sensitive" in the API will not
 19173  // be included in the string output. The member name will be present, but the
 19174  // value will be replaced with "sensitive".
 19175  func (s GetModelInput) String() string {
 19176  	return awsutil.Prettify(s)
 19177  }
 19178  
 19179  // GoString returns the string representation.
 19180  //
 19181  // API parameter values that are decorated as "sensitive" in the API will not
 19182  // be included in the string output. The member name will be present, but the
 19183  // value will be replaced with "sensitive".
 19184  func (s GetModelInput) GoString() string {
 19185  	return s.String()
 19186  }
 19187  
 19188  // Validate inspects the fields of the type to determine if they are valid.
 19189  func (s *GetModelInput) Validate() error {
 19190  	invalidParams := request.ErrInvalidParams{Context: "GetModelInput"}
 19191  	if s.ModelName == nil {
 19192  		invalidParams.Add(request.NewErrParamRequired("ModelName"))
 19193  	}
 19194  	if s.ModelName != nil && len(*s.ModelName) < 1 {
 19195  		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
 19196  	}
 19197  	if s.RestApiId == nil {
 19198  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19199  	}
 19200  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19201  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19202  	}
 19203  
 19204  	if invalidParams.Len() > 0 {
 19205  		return invalidParams
 19206  	}
 19207  	return nil
 19208  }
 19209  
 19210  // SetFlatten sets the Flatten field's value.
 19211  func (s *GetModelInput) SetFlatten(v bool) *GetModelInput {
 19212  	s.Flatten = &v
 19213  	return s
 19214  }
 19215  
 19216  // SetModelName sets the ModelName field's value.
 19217  func (s *GetModelInput) SetModelName(v string) *GetModelInput {
 19218  	s.ModelName = &v
 19219  	return s
 19220  }
 19221  
 19222  // SetRestApiId sets the RestApiId field's value.
 19223  func (s *GetModelInput) SetRestApiId(v string) *GetModelInput {
 19224  	s.RestApiId = &v
 19225  	return s
 19226  }
 19227  
 19228  // Request to generate a sample mapping template used to transform the payload.
 19229  type GetModelTemplateInput struct {
 19230  	_ struct{} `type:"structure" nopayload:"true"`
 19231  
 19232  	// [Required] The name of the model for which to generate a template.
 19233  	//
 19234  	// ModelName is a required field
 19235  	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
 19236  
 19237  	// [Required] The string identifier of the associated RestApi.
 19238  	//
 19239  	// RestApiId is a required field
 19240  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19241  }
 19242  
 19243  // String returns the string representation.
 19244  //
 19245  // API parameter values that are decorated as "sensitive" in the API will not
 19246  // be included in the string output. The member name will be present, but the
 19247  // value will be replaced with "sensitive".
 19248  func (s GetModelTemplateInput) String() string {
 19249  	return awsutil.Prettify(s)
 19250  }
 19251  
 19252  // GoString returns the string representation.
 19253  //
 19254  // API parameter values that are decorated as "sensitive" in the API will not
 19255  // be included in the string output. The member name will be present, but the
 19256  // value will be replaced with "sensitive".
 19257  func (s GetModelTemplateInput) GoString() string {
 19258  	return s.String()
 19259  }
 19260  
 19261  // Validate inspects the fields of the type to determine if they are valid.
 19262  func (s *GetModelTemplateInput) Validate() error {
 19263  	invalidParams := request.ErrInvalidParams{Context: "GetModelTemplateInput"}
 19264  	if s.ModelName == nil {
 19265  		invalidParams.Add(request.NewErrParamRequired("ModelName"))
 19266  	}
 19267  	if s.ModelName != nil && len(*s.ModelName) < 1 {
 19268  		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
 19269  	}
 19270  	if s.RestApiId == nil {
 19271  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19272  	}
 19273  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19274  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19275  	}
 19276  
 19277  	if invalidParams.Len() > 0 {
 19278  		return invalidParams
 19279  	}
 19280  	return nil
 19281  }
 19282  
 19283  // SetModelName sets the ModelName field's value.
 19284  func (s *GetModelTemplateInput) SetModelName(v string) *GetModelTemplateInput {
 19285  	s.ModelName = &v
 19286  	return s
 19287  }
 19288  
 19289  // SetRestApiId sets the RestApiId field's value.
 19290  func (s *GetModelTemplateInput) SetRestApiId(v string) *GetModelTemplateInput {
 19291  	s.RestApiId = &v
 19292  	return s
 19293  }
 19294  
 19295  // Represents a mapping template used to transform a payload.
 19296  //
 19297  // Mapping Templates (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html#models-mappings-mappings)
 19298  type GetModelTemplateOutput struct {
 19299  	_ struct{} `type:"structure"`
 19300  
 19301  	// The Apache Velocity Template Language (VTL) (https://velocity.apache.org/engine/devel/vtl-reference.html)
 19302  	// template content used for the template resource.
 19303  	Value *string `locationName:"value" type:"string"`
 19304  }
 19305  
 19306  // String returns the string representation.
 19307  //
 19308  // API parameter values that are decorated as "sensitive" in the API will not
 19309  // be included in the string output. The member name will be present, but the
 19310  // value will be replaced with "sensitive".
 19311  func (s GetModelTemplateOutput) String() string {
 19312  	return awsutil.Prettify(s)
 19313  }
 19314  
 19315  // GoString returns the string representation.
 19316  //
 19317  // API parameter values that are decorated as "sensitive" in the API will not
 19318  // be included in the string output. The member name will be present, but the
 19319  // value will be replaced with "sensitive".
 19320  func (s GetModelTemplateOutput) GoString() string {
 19321  	return s.String()
 19322  }
 19323  
 19324  // SetValue sets the Value field's value.
 19325  func (s *GetModelTemplateOutput) SetValue(v string) *GetModelTemplateOutput {
 19326  	s.Value = &v
 19327  	return s
 19328  }
 19329  
 19330  // Request to list existing Models defined for a RestApi resource.
 19331  type GetModelsInput struct {
 19332  	_ struct{} `type:"structure" nopayload:"true"`
 19333  
 19334  	// The maximum number of returned results per page. The default value is 25
 19335  	// and the maximum value is 500.
 19336  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 19337  
 19338  	// The current pagination position in the paged result set.
 19339  	Position *string `location:"querystring" locationName:"position" type:"string"`
 19340  
 19341  	// [Required] The string identifier of the associated RestApi.
 19342  	//
 19343  	// RestApiId is a required field
 19344  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19345  }
 19346  
 19347  // String returns the string representation.
 19348  //
 19349  // API parameter values that are decorated as "sensitive" in the API will not
 19350  // be included in the string output. The member name will be present, but the
 19351  // value will be replaced with "sensitive".
 19352  func (s GetModelsInput) String() string {
 19353  	return awsutil.Prettify(s)
 19354  }
 19355  
 19356  // GoString returns the string representation.
 19357  //
 19358  // API parameter values that are decorated as "sensitive" in the API will not
 19359  // be included in the string output. The member name will be present, but the
 19360  // value will be replaced with "sensitive".
 19361  func (s GetModelsInput) GoString() string {
 19362  	return s.String()
 19363  }
 19364  
 19365  // Validate inspects the fields of the type to determine if they are valid.
 19366  func (s *GetModelsInput) Validate() error {
 19367  	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
 19368  	if s.RestApiId == nil {
 19369  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19370  	}
 19371  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19372  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19373  	}
 19374  
 19375  	if invalidParams.Len() > 0 {
 19376  		return invalidParams
 19377  	}
 19378  	return nil
 19379  }
 19380  
 19381  // SetLimit sets the Limit field's value.
 19382  func (s *GetModelsInput) SetLimit(v int64) *GetModelsInput {
 19383  	s.Limit = &v
 19384  	return s
 19385  }
 19386  
 19387  // SetPosition sets the Position field's value.
 19388  func (s *GetModelsInput) SetPosition(v string) *GetModelsInput {
 19389  	s.Position = &v
 19390  	return s
 19391  }
 19392  
 19393  // SetRestApiId sets the RestApiId field's value.
 19394  func (s *GetModelsInput) SetRestApiId(v string) *GetModelsInput {
 19395  	s.RestApiId = &v
 19396  	return s
 19397  }
 19398  
 19399  // Represents a collection of Model resources.
 19400  //
 19401  // Method, MethodResponse, Models and Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html)
 19402  type GetModelsOutput struct {
 19403  	_ struct{} `type:"structure"`
 19404  
 19405  	// The current page of elements from this collection.
 19406  	Items []*Model `locationName:"item" type:"list"`
 19407  
 19408  	Position *string `locationName:"position" type:"string"`
 19409  }
 19410  
 19411  // String returns the string representation.
 19412  //
 19413  // API parameter values that are decorated as "sensitive" in the API will not
 19414  // be included in the string output. The member name will be present, but the
 19415  // value will be replaced with "sensitive".
 19416  func (s GetModelsOutput) String() string {
 19417  	return awsutil.Prettify(s)
 19418  }
 19419  
 19420  // GoString returns the string representation.
 19421  //
 19422  // API parameter values that are decorated as "sensitive" in the API will not
 19423  // be included in the string output. The member name will be present, but the
 19424  // value will be replaced with "sensitive".
 19425  func (s GetModelsOutput) GoString() string {
 19426  	return s.String()
 19427  }
 19428  
 19429  // SetItems sets the Items field's value.
 19430  func (s *GetModelsOutput) SetItems(v []*Model) *GetModelsOutput {
 19431  	s.Items = v
 19432  	return s
 19433  }
 19434  
 19435  // SetPosition sets the Position field's value.
 19436  func (s *GetModelsOutput) SetPosition(v string) *GetModelsOutput {
 19437  	s.Position = &v
 19438  	return s
 19439  }
 19440  
 19441  // Gets a RequestValidator of a given RestApi.
 19442  type GetRequestValidatorInput struct {
 19443  	_ struct{} `type:"structure" nopayload:"true"`
 19444  
 19445  	// [Required] The identifier of the RequestValidator to be retrieved.
 19446  	//
 19447  	// RequestValidatorId is a required field
 19448  	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
 19449  
 19450  	// [Required] The string identifier of the associated RestApi.
 19451  	//
 19452  	// RestApiId is a required field
 19453  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19454  }
 19455  
 19456  // String returns the string representation.
 19457  //
 19458  // API parameter values that are decorated as "sensitive" in the API will not
 19459  // be included in the string output. The member name will be present, but the
 19460  // value will be replaced with "sensitive".
 19461  func (s GetRequestValidatorInput) String() string {
 19462  	return awsutil.Prettify(s)
 19463  }
 19464  
 19465  // GoString returns the string representation.
 19466  //
 19467  // API parameter values that are decorated as "sensitive" in the API will not
 19468  // be included in the string output. The member name will be present, but the
 19469  // value will be replaced with "sensitive".
 19470  func (s GetRequestValidatorInput) GoString() string {
 19471  	return s.String()
 19472  }
 19473  
 19474  // Validate inspects the fields of the type to determine if they are valid.
 19475  func (s *GetRequestValidatorInput) Validate() error {
 19476  	invalidParams := request.ErrInvalidParams{Context: "GetRequestValidatorInput"}
 19477  	if s.RequestValidatorId == nil {
 19478  		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
 19479  	}
 19480  	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
 19481  		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
 19482  	}
 19483  	if s.RestApiId == nil {
 19484  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19485  	}
 19486  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19487  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19488  	}
 19489  
 19490  	if invalidParams.Len() > 0 {
 19491  		return invalidParams
 19492  	}
 19493  	return nil
 19494  }
 19495  
 19496  // SetRequestValidatorId sets the RequestValidatorId field's value.
 19497  func (s *GetRequestValidatorInput) SetRequestValidatorId(v string) *GetRequestValidatorInput {
 19498  	s.RequestValidatorId = &v
 19499  	return s
 19500  }
 19501  
 19502  // SetRestApiId sets the RestApiId field's value.
 19503  func (s *GetRequestValidatorInput) SetRestApiId(v string) *GetRequestValidatorInput {
 19504  	s.RestApiId = &v
 19505  	return s
 19506  }
 19507  
 19508  // Gets the RequestValidators collection of a given RestApi.
 19509  type GetRequestValidatorsInput struct {
 19510  	_ struct{} `type:"structure" nopayload:"true"`
 19511  
 19512  	// The maximum number of returned results per page. The default value is 25
 19513  	// and the maximum value is 500.
 19514  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 19515  
 19516  	// The current pagination position in the paged result set.
 19517  	Position *string `location:"querystring" locationName:"position" type:"string"`
 19518  
 19519  	// [Required] The string identifier of the associated RestApi.
 19520  	//
 19521  	// RestApiId is a required field
 19522  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19523  }
 19524  
 19525  // String returns the string representation.
 19526  //
 19527  // API parameter values that are decorated as "sensitive" in the API will not
 19528  // be included in the string output. The member name will be present, but the
 19529  // value will be replaced with "sensitive".
 19530  func (s GetRequestValidatorsInput) String() string {
 19531  	return awsutil.Prettify(s)
 19532  }
 19533  
 19534  // GoString returns the string representation.
 19535  //
 19536  // API parameter values that are decorated as "sensitive" in the API will not
 19537  // be included in the string output. The member name will be present, but the
 19538  // value will be replaced with "sensitive".
 19539  func (s GetRequestValidatorsInput) GoString() string {
 19540  	return s.String()
 19541  }
 19542  
 19543  // Validate inspects the fields of the type to determine if they are valid.
 19544  func (s *GetRequestValidatorsInput) Validate() error {
 19545  	invalidParams := request.ErrInvalidParams{Context: "GetRequestValidatorsInput"}
 19546  	if s.RestApiId == nil {
 19547  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19548  	}
 19549  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19550  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19551  	}
 19552  
 19553  	if invalidParams.Len() > 0 {
 19554  		return invalidParams
 19555  	}
 19556  	return nil
 19557  }
 19558  
 19559  // SetLimit sets the Limit field's value.
 19560  func (s *GetRequestValidatorsInput) SetLimit(v int64) *GetRequestValidatorsInput {
 19561  	s.Limit = &v
 19562  	return s
 19563  }
 19564  
 19565  // SetPosition sets the Position field's value.
 19566  func (s *GetRequestValidatorsInput) SetPosition(v string) *GetRequestValidatorsInput {
 19567  	s.Position = &v
 19568  	return s
 19569  }
 19570  
 19571  // SetRestApiId sets the RestApiId field's value.
 19572  func (s *GetRequestValidatorsInput) SetRestApiId(v string) *GetRequestValidatorsInput {
 19573  	s.RestApiId = &v
 19574  	return s
 19575  }
 19576  
 19577  // A collection of RequestValidator resources of a given RestApi.
 19578  //
 19579  // In OpenAPI, the RequestValidators of an API is defined by the x-amazon-apigateway-request-validators
 19580  // (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validators.html)
 19581  // extension.
 19582  //
 19583  // Enable Basic Request Validation in API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)
 19584  type GetRequestValidatorsOutput struct {
 19585  	_ struct{} `type:"structure"`
 19586  
 19587  	// The current page of elements from this collection.
 19588  	Items []*UpdateRequestValidatorOutput `locationName:"item" type:"list"`
 19589  
 19590  	Position *string `locationName:"position" type:"string"`
 19591  }
 19592  
 19593  // String returns the string representation.
 19594  //
 19595  // API parameter values that are decorated as "sensitive" in the API will not
 19596  // be included in the string output. The member name will be present, but the
 19597  // value will be replaced with "sensitive".
 19598  func (s GetRequestValidatorsOutput) String() string {
 19599  	return awsutil.Prettify(s)
 19600  }
 19601  
 19602  // GoString returns the string representation.
 19603  //
 19604  // API parameter values that are decorated as "sensitive" in the API will not
 19605  // be included in the string output. The member name will be present, but the
 19606  // value will be replaced with "sensitive".
 19607  func (s GetRequestValidatorsOutput) GoString() string {
 19608  	return s.String()
 19609  }
 19610  
 19611  // SetItems sets the Items field's value.
 19612  func (s *GetRequestValidatorsOutput) SetItems(v []*UpdateRequestValidatorOutput) *GetRequestValidatorsOutput {
 19613  	s.Items = v
 19614  	return s
 19615  }
 19616  
 19617  // SetPosition sets the Position field's value.
 19618  func (s *GetRequestValidatorsOutput) SetPosition(v string) *GetRequestValidatorsOutput {
 19619  	s.Position = &v
 19620  	return s
 19621  }
 19622  
 19623  // Request to list information about a resource.
 19624  type GetResourceInput struct {
 19625  	_ struct{} `type:"structure" nopayload:"true"`
 19626  
 19627  	// A query parameter to retrieve the specified resources embedded in the returned
 19628  	// Resource representation in the response. This embed parameter value is a
 19629  	// list of comma-separated strings. Currently, the request supports only retrieval
 19630  	// of the embedded Method resources this way. The query parameter value must
 19631  	// be a single-valued list and contain the "methods" string. For example, GET
 19632  	// /restapis/{restapi_id}/resources/{resource_id}?embed=methods.
 19633  	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
 19634  
 19635  	// [Required] The identifier for the Resource resource.
 19636  	//
 19637  	// ResourceId is a required field
 19638  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 19639  
 19640  	// [Required] The string identifier of the associated RestApi.
 19641  	//
 19642  	// RestApiId is a required field
 19643  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19644  }
 19645  
 19646  // String returns the string representation.
 19647  //
 19648  // API parameter values that are decorated as "sensitive" in the API will not
 19649  // be included in the string output. The member name will be present, but the
 19650  // value will be replaced with "sensitive".
 19651  func (s GetResourceInput) String() string {
 19652  	return awsutil.Prettify(s)
 19653  }
 19654  
 19655  // GoString returns the string representation.
 19656  //
 19657  // API parameter values that are decorated as "sensitive" in the API will not
 19658  // be included in the string output. The member name will be present, but the
 19659  // value will be replaced with "sensitive".
 19660  func (s GetResourceInput) GoString() string {
 19661  	return s.String()
 19662  }
 19663  
 19664  // Validate inspects the fields of the type to determine if they are valid.
 19665  func (s *GetResourceInput) Validate() error {
 19666  	invalidParams := request.ErrInvalidParams{Context: "GetResourceInput"}
 19667  	if s.ResourceId == nil {
 19668  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 19669  	}
 19670  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 19671  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 19672  	}
 19673  	if s.RestApiId == nil {
 19674  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19675  	}
 19676  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19677  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19678  	}
 19679  
 19680  	if invalidParams.Len() > 0 {
 19681  		return invalidParams
 19682  	}
 19683  	return nil
 19684  }
 19685  
 19686  // SetEmbed sets the Embed field's value.
 19687  func (s *GetResourceInput) SetEmbed(v []*string) *GetResourceInput {
 19688  	s.Embed = v
 19689  	return s
 19690  }
 19691  
 19692  // SetResourceId sets the ResourceId field's value.
 19693  func (s *GetResourceInput) SetResourceId(v string) *GetResourceInput {
 19694  	s.ResourceId = &v
 19695  	return s
 19696  }
 19697  
 19698  // SetRestApiId sets the RestApiId field's value.
 19699  func (s *GetResourceInput) SetRestApiId(v string) *GetResourceInput {
 19700  	s.RestApiId = &v
 19701  	return s
 19702  }
 19703  
 19704  // Request to list information about a collection of resources.
 19705  type GetResourcesInput struct {
 19706  	_ struct{} `type:"structure" nopayload:"true"`
 19707  
 19708  	// A query parameter used to retrieve the specified resources embedded in the
 19709  	// returned Resources resource in the response. This embed parameter value is
 19710  	// a list of comma-separated strings. Currently, the request supports only retrieval
 19711  	// of the embedded Method resources this way. The query parameter value must
 19712  	// be a single-valued list and contain the "methods" string. For example, GET
 19713  	// /restapis/{restapi_id}/resources?embed=methods.
 19714  	Embed []*string `location:"querystring" locationName:"embed" type:"list"`
 19715  
 19716  	// The maximum number of returned results per page. The default value is 25
 19717  	// and the maximum value is 500.
 19718  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 19719  
 19720  	// The current pagination position in the paged result set.
 19721  	Position *string `location:"querystring" locationName:"position" type:"string"`
 19722  
 19723  	// [Required] The string identifier of the associated RestApi.
 19724  	//
 19725  	// RestApiId is a required field
 19726  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19727  }
 19728  
 19729  // String returns the string representation.
 19730  //
 19731  // API parameter values that are decorated as "sensitive" in the API will not
 19732  // be included in the string output. The member name will be present, but the
 19733  // value will be replaced with "sensitive".
 19734  func (s GetResourcesInput) String() string {
 19735  	return awsutil.Prettify(s)
 19736  }
 19737  
 19738  // GoString returns the string representation.
 19739  //
 19740  // API parameter values that are decorated as "sensitive" in the API will not
 19741  // be included in the string output. The member name will be present, but the
 19742  // value will be replaced with "sensitive".
 19743  func (s GetResourcesInput) GoString() string {
 19744  	return s.String()
 19745  }
 19746  
 19747  // Validate inspects the fields of the type to determine if they are valid.
 19748  func (s *GetResourcesInput) Validate() error {
 19749  	invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"}
 19750  	if s.RestApiId == nil {
 19751  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19752  	}
 19753  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19754  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19755  	}
 19756  
 19757  	if invalidParams.Len() > 0 {
 19758  		return invalidParams
 19759  	}
 19760  	return nil
 19761  }
 19762  
 19763  // SetEmbed sets the Embed field's value.
 19764  func (s *GetResourcesInput) SetEmbed(v []*string) *GetResourcesInput {
 19765  	s.Embed = v
 19766  	return s
 19767  }
 19768  
 19769  // SetLimit sets the Limit field's value.
 19770  func (s *GetResourcesInput) SetLimit(v int64) *GetResourcesInput {
 19771  	s.Limit = &v
 19772  	return s
 19773  }
 19774  
 19775  // SetPosition sets the Position field's value.
 19776  func (s *GetResourcesInput) SetPosition(v string) *GetResourcesInput {
 19777  	s.Position = &v
 19778  	return s
 19779  }
 19780  
 19781  // SetRestApiId sets the RestApiId field's value.
 19782  func (s *GetResourcesInput) SetRestApiId(v string) *GetResourcesInput {
 19783  	s.RestApiId = &v
 19784  	return s
 19785  }
 19786  
 19787  // Represents a collection of Resource resources.
 19788  //
 19789  // Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 19790  type GetResourcesOutput struct {
 19791  	_ struct{} `type:"structure"`
 19792  
 19793  	// The current page of elements from this collection.
 19794  	Items []*Resource `locationName:"item" type:"list"`
 19795  
 19796  	Position *string `locationName:"position" type:"string"`
 19797  }
 19798  
 19799  // String returns the string representation.
 19800  //
 19801  // API parameter values that are decorated as "sensitive" in the API will not
 19802  // be included in the string output. The member name will be present, but the
 19803  // value will be replaced with "sensitive".
 19804  func (s GetResourcesOutput) String() string {
 19805  	return awsutil.Prettify(s)
 19806  }
 19807  
 19808  // GoString returns the string representation.
 19809  //
 19810  // API parameter values that are decorated as "sensitive" in the API will not
 19811  // be included in the string output. The member name will be present, but the
 19812  // value will be replaced with "sensitive".
 19813  func (s GetResourcesOutput) GoString() string {
 19814  	return s.String()
 19815  }
 19816  
 19817  // SetItems sets the Items field's value.
 19818  func (s *GetResourcesOutput) SetItems(v []*Resource) *GetResourcesOutput {
 19819  	s.Items = v
 19820  	return s
 19821  }
 19822  
 19823  // SetPosition sets the Position field's value.
 19824  func (s *GetResourcesOutput) SetPosition(v string) *GetResourcesOutput {
 19825  	s.Position = &v
 19826  	return s
 19827  }
 19828  
 19829  // The GET request to list an existing RestApi defined for your collection.
 19830  type GetRestApiInput struct {
 19831  	_ struct{} `type:"structure" nopayload:"true"`
 19832  
 19833  	// [Required] The string identifier of the associated RestApi.
 19834  	//
 19835  	// RestApiId is a required field
 19836  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19837  }
 19838  
 19839  // String returns the string representation.
 19840  //
 19841  // API parameter values that are decorated as "sensitive" in the API will not
 19842  // be included in the string output. The member name will be present, but the
 19843  // value will be replaced with "sensitive".
 19844  func (s GetRestApiInput) String() string {
 19845  	return awsutil.Prettify(s)
 19846  }
 19847  
 19848  // GoString returns the string representation.
 19849  //
 19850  // API parameter values that are decorated as "sensitive" in the API will not
 19851  // be included in the string output. The member name will be present, but the
 19852  // value will be replaced with "sensitive".
 19853  func (s GetRestApiInput) GoString() string {
 19854  	return s.String()
 19855  }
 19856  
 19857  // Validate inspects the fields of the type to determine if they are valid.
 19858  func (s *GetRestApiInput) Validate() error {
 19859  	invalidParams := request.ErrInvalidParams{Context: "GetRestApiInput"}
 19860  	if s.RestApiId == nil {
 19861  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 19862  	}
 19863  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 19864  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 19865  	}
 19866  
 19867  	if invalidParams.Len() > 0 {
 19868  		return invalidParams
 19869  	}
 19870  	return nil
 19871  }
 19872  
 19873  // SetRestApiId sets the RestApiId field's value.
 19874  func (s *GetRestApiInput) SetRestApiId(v string) *GetRestApiInput {
 19875  	s.RestApiId = &v
 19876  	return s
 19877  }
 19878  
 19879  // The GET request to list existing RestApis defined for your collection.
 19880  type GetRestApisInput struct {
 19881  	_ struct{} `type:"structure" nopayload:"true"`
 19882  
 19883  	// The maximum number of returned results per page. The default value is 25
 19884  	// and the maximum value is 500.
 19885  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 19886  
 19887  	// The current pagination position in the paged result set.
 19888  	Position *string `location:"querystring" locationName:"position" type:"string"`
 19889  }
 19890  
 19891  // String returns the string representation.
 19892  //
 19893  // API parameter values that are decorated as "sensitive" in the API will not
 19894  // be included in the string output. The member name will be present, but the
 19895  // value will be replaced with "sensitive".
 19896  func (s GetRestApisInput) String() string {
 19897  	return awsutil.Prettify(s)
 19898  }
 19899  
 19900  // GoString returns the string representation.
 19901  //
 19902  // API parameter values that are decorated as "sensitive" in the API will not
 19903  // be included in the string output. The member name will be present, but the
 19904  // value will be replaced with "sensitive".
 19905  func (s GetRestApisInput) GoString() string {
 19906  	return s.String()
 19907  }
 19908  
 19909  // SetLimit sets the Limit field's value.
 19910  func (s *GetRestApisInput) SetLimit(v int64) *GetRestApisInput {
 19911  	s.Limit = &v
 19912  	return s
 19913  }
 19914  
 19915  // SetPosition sets the Position field's value.
 19916  func (s *GetRestApisInput) SetPosition(v string) *GetRestApisInput {
 19917  	s.Position = &v
 19918  	return s
 19919  }
 19920  
 19921  // Contains references to your APIs and links that guide you in how to interact
 19922  // with your collection. A collection offers a paginated view of your APIs.
 19923  //
 19924  // Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 19925  type GetRestApisOutput struct {
 19926  	_ struct{} `type:"structure"`
 19927  
 19928  	// The current page of elements from this collection.
 19929  	Items []*RestApi `locationName:"item" type:"list"`
 19930  
 19931  	Position *string `locationName:"position" type:"string"`
 19932  }
 19933  
 19934  // String returns the string representation.
 19935  //
 19936  // API parameter values that are decorated as "sensitive" in the API will not
 19937  // be included in the string output. The member name will be present, but the
 19938  // value will be replaced with "sensitive".
 19939  func (s GetRestApisOutput) String() string {
 19940  	return awsutil.Prettify(s)
 19941  }
 19942  
 19943  // GoString returns the string representation.
 19944  //
 19945  // API parameter values that are decorated as "sensitive" in the API will not
 19946  // be included in the string output. The member name will be present, but the
 19947  // value will be replaced with "sensitive".
 19948  func (s GetRestApisOutput) GoString() string {
 19949  	return s.String()
 19950  }
 19951  
 19952  // SetItems sets the Items field's value.
 19953  func (s *GetRestApisOutput) SetItems(v []*RestApi) *GetRestApisOutput {
 19954  	s.Items = v
 19955  	return s
 19956  }
 19957  
 19958  // SetPosition sets the Position field's value.
 19959  func (s *GetRestApisOutput) SetPosition(v string) *GetRestApisOutput {
 19960  	s.Position = &v
 19961  	return s
 19962  }
 19963  
 19964  // Request a new generated client SDK for a RestApi and Stage.
 19965  type GetSdkInput struct {
 19966  	_ struct{} `type:"structure" nopayload:"true"`
 19967  
 19968  	// A string-to-string key-value map of query parameters sdkType-dependent properties
 19969  	// of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix
 19970  	// is required. For sdkType of android, parameters named groupId, artifactId,
 19971  	// artifactVersion, and invokerPackage are required. For sdkType of java, parameters
 19972  	// named serviceName and javaPackageName are required.
 19973  	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
 19974  
 19975  	// [Required] The string identifier of the associated RestApi.
 19976  	//
 19977  	// RestApiId is a required field
 19978  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 19979  
 19980  	// [Required] The language for the generated SDK. Currently java, javascript,
 19981  	// android, objectivec (for iOS), swift (for iOS), and ruby are supported.
 19982  	//
 19983  	// SdkType is a required field
 19984  	SdkType *string `location:"uri" locationName:"sdk_type" type:"string" required:"true"`
 19985  
 19986  	// [Required] The name of the Stage that the SDK will use.
 19987  	//
 19988  	// StageName is a required field
 19989  	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
 19990  }
 19991  
 19992  // String returns the string representation.
 19993  //
 19994  // API parameter values that are decorated as "sensitive" in the API will not
 19995  // be included in the string output. The member name will be present, but the
 19996  // value will be replaced with "sensitive".
 19997  func (s GetSdkInput) String() string {
 19998  	return awsutil.Prettify(s)
 19999  }
 20000  
 20001  // GoString returns the string representation.
 20002  //
 20003  // API parameter values that are decorated as "sensitive" in the API will not
 20004  // be included in the string output. The member name will be present, but the
 20005  // value will be replaced with "sensitive".
 20006  func (s GetSdkInput) GoString() string {
 20007  	return s.String()
 20008  }
 20009  
 20010  // Validate inspects the fields of the type to determine if they are valid.
 20011  func (s *GetSdkInput) Validate() error {
 20012  	invalidParams := request.ErrInvalidParams{Context: "GetSdkInput"}
 20013  	if s.RestApiId == nil {
 20014  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 20015  	}
 20016  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 20017  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 20018  	}
 20019  	if s.SdkType == nil {
 20020  		invalidParams.Add(request.NewErrParamRequired("SdkType"))
 20021  	}
 20022  	if s.SdkType != nil && len(*s.SdkType) < 1 {
 20023  		invalidParams.Add(request.NewErrParamMinLen("SdkType", 1))
 20024  	}
 20025  	if s.StageName == nil {
 20026  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 20027  	}
 20028  	if s.StageName != nil && len(*s.StageName) < 1 {
 20029  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 20030  	}
 20031  
 20032  	if invalidParams.Len() > 0 {
 20033  		return invalidParams
 20034  	}
 20035  	return nil
 20036  }
 20037  
 20038  // SetParameters sets the Parameters field's value.
 20039  func (s *GetSdkInput) SetParameters(v map[string]*string) *GetSdkInput {
 20040  	s.Parameters = v
 20041  	return s
 20042  }
 20043  
 20044  // SetRestApiId sets the RestApiId field's value.
 20045  func (s *GetSdkInput) SetRestApiId(v string) *GetSdkInput {
 20046  	s.RestApiId = &v
 20047  	return s
 20048  }
 20049  
 20050  // SetSdkType sets the SdkType field's value.
 20051  func (s *GetSdkInput) SetSdkType(v string) *GetSdkInput {
 20052  	s.SdkType = &v
 20053  	return s
 20054  }
 20055  
 20056  // SetStageName sets the StageName field's value.
 20057  func (s *GetSdkInput) SetStageName(v string) *GetSdkInput {
 20058  	s.StageName = &v
 20059  	return s
 20060  }
 20061  
 20062  // The binary blob response to GetSdk, which contains the generated SDK.
 20063  type GetSdkOutput struct {
 20064  	_ struct{} `type:"structure" payload:"Body"`
 20065  
 20066  	// The binary blob response to GetSdk, which contains the generated SDK.
 20067  	Body []byte `locationName:"body" type:"blob"`
 20068  
 20069  	// The content-disposition header value in the HTTP response.
 20070  	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
 20071  
 20072  	// The content-type header value in the HTTP response.
 20073  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
 20074  }
 20075  
 20076  // String returns the string representation.
 20077  //
 20078  // API parameter values that are decorated as "sensitive" in the API will not
 20079  // be included in the string output. The member name will be present, but the
 20080  // value will be replaced with "sensitive".
 20081  func (s GetSdkOutput) String() string {
 20082  	return awsutil.Prettify(s)
 20083  }
 20084  
 20085  // GoString returns the string representation.
 20086  //
 20087  // API parameter values that are decorated as "sensitive" in the API will not
 20088  // be included in the string output. The member name will be present, but the
 20089  // value will be replaced with "sensitive".
 20090  func (s GetSdkOutput) GoString() string {
 20091  	return s.String()
 20092  }
 20093  
 20094  // SetBody sets the Body field's value.
 20095  func (s *GetSdkOutput) SetBody(v []byte) *GetSdkOutput {
 20096  	s.Body = v
 20097  	return s
 20098  }
 20099  
 20100  // SetContentDisposition sets the ContentDisposition field's value.
 20101  func (s *GetSdkOutput) SetContentDisposition(v string) *GetSdkOutput {
 20102  	s.ContentDisposition = &v
 20103  	return s
 20104  }
 20105  
 20106  // SetContentType sets the ContentType field's value.
 20107  func (s *GetSdkOutput) SetContentType(v string) *GetSdkOutput {
 20108  	s.ContentType = &v
 20109  	return s
 20110  }
 20111  
 20112  // Get an SdkType instance.
 20113  type GetSdkTypeInput struct {
 20114  	_ struct{} `type:"structure" nopayload:"true"`
 20115  
 20116  	// [Required] The identifier of the queried SdkType instance.
 20117  	//
 20118  	// Id is a required field
 20119  	Id *string `location:"uri" locationName:"sdktype_id" type:"string" required:"true"`
 20120  }
 20121  
 20122  // String returns the string representation.
 20123  //
 20124  // API parameter values that are decorated as "sensitive" in the API will not
 20125  // be included in the string output. The member name will be present, but the
 20126  // value will be replaced with "sensitive".
 20127  func (s GetSdkTypeInput) String() string {
 20128  	return awsutil.Prettify(s)
 20129  }
 20130  
 20131  // GoString returns the string representation.
 20132  //
 20133  // API parameter values that are decorated as "sensitive" in the API will not
 20134  // be included in the string output. The member name will be present, but the
 20135  // value will be replaced with "sensitive".
 20136  func (s GetSdkTypeInput) GoString() string {
 20137  	return s.String()
 20138  }
 20139  
 20140  // Validate inspects the fields of the type to determine if they are valid.
 20141  func (s *GetSdkTypeInput) Validate() error {
 20142  	invalidParams := request.ErrInvalidParams{Context: "GetSdkTypeInput"}
 20143  	if s.Id == nil {
 20144  		invalidParams.Add(request.NewErrParamRequired("Id"))
 20145  	}
 20146  	if s.Id != nil && len(*s.Id) < 1 {
 20147  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 20148  	}
 20149  
 20150  	if invalidParams.Len() > 0 {
 20151  		return invalidParams
 20152  	}
 20153  	return nil
 20154  }
 20155  
 20156  // SetId sets the Id field's value.
 20157  func (s *GetSdkTypeInput) SetId(v string) *GetSdkTypeInput {
 20158  	s.Id = &v
 20159  	return s
 20160  }
 20161  
 20162  // Get the SdkTypes collection.
 20163  type GetSdkTypesInput struct {
 20164  	_ struct{} `type:"structure" nopayload:"true"`
 20165  
 20166  	// The maximum number of returned results per page. The default value is 25
 20167  	// and the maximum value is 500.
 20168  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 20169  
 20170  	// The current pagination position in the paged result set.
 20171  	Position *string `location:"querystring" locationName:"position" type:"string"`
 20172  }
 20173  
 20174  // String returns the string representation.
 20175  //
 20176  // API parameter values that are decorated as "sensitive" in the API will not
 20177  // be included in the string output. The member name will be present, but the
 20178  // value will be replaced with "sensitive".
 20179  func (s GetSdkTypesInput) String() string {
 20180  	return awsutil.Prettify(s)
 20181  }
 20182  
 20183  // GoString returns the string representation.
 20184  //
 20185  // API parameter values that are decorated as "sensitive" in the API will not
 20186  // be included in the string output. The member name will be present, but the
 20187  // value will be replaced with "sensitive".
 20188  func (s GetSdkTypesInput) GoString() string {
 20189  	return s.String()
 20190  }
 20191  
 20192  // SetLimit sets the Limit field's value.
 20193  func (s *GetSdkTypesInput) SetLimit(v int64) *GetSdkTypesInput {
 20194  	s.Limit = &v
 20195  	return s
 20196  }
 20197  
 20198  // SetPosition sets the Position field's value.
 20199  func (s *GetSdkTypesInput) SetPosition(v string) *GetSdkTypesInput {
 20200  	s.Position = &v
 20201  	return s
 20202  }
 20203  
 20204  // The collection of SdkType instances.
 20205  type GetSdkTypesOutput struct {
 20206  	_ struct{} `type:"structure"`
 20207  
 20208  	// The current page of elements from this collection.
 20209  	Items []*SdkType `locationName:"item" type:"list"`
 20210  
 20211  	Position *string `locationName:"position" type:"string"`
 20212  }
 20213  
 20214  // String returns the string representation.
 20215  //
 20216  // API parameter values that are decorated as "sensitive" in the API will not
 20217  // be included in the string output. The member name will be present, but the
 20218  // value will be replaced with "sensitive".
 20219  func (s GetSdkTypesOutput) String() string {
 20220  	return awsutil.Prettify(s)
 20221  }
 20222  
 20223  // GoString returns the string representation.
 20224  //
 20225  // API parameter values that are decorated as "sensitive" in the API will not
 20226  // be included in the string output. The member name will be present, but the
 20227  // value will be replaced with "sensitive".
 20228  func (s GetSdkTypesOutput) GoString() string {
 20229  	return s.String()
 20230  }
 20231  
 20232  // SetItems sets the Items field's value.
 20233  func (s *GetSdkTypesOutput) SetItems(v []*SdkType) *GetSdkTypesOutput {
 20234  	s.Items = v
 20235  	return s
 20236  }
 20237  
 20238  // SetPosition sets the Position field's value.
 20239  func (s *GetSdkTypesOutput) SetPosition(v string) *GetSdkTypesOutput {
 20240  	s.Position = &v
 20241  	return s
 20242  }
 20243  
 20244  // Requests API Gateway to get information about a Stage resource.
 20245  type GetStageInput struct {
 20246  	_ struct{} `type:"structure" nopayload:"true"`
 20247  
 20248  	// [Required] The string identifier of the associated RestApi.
 20249  	//
 20250  	// RestApiId is a required field
 20251  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 20252  
 20253  	// [Required] The name of the Stage resource to get information about.
 20254  	//
 20255  	// StageName is a required field
 20256  	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
 20257  }
 20258  
 20259  // String returns the string representation.
 20260  //
 20261  // API parameter values that are decorated as "sensitive" in the API will not
 20262  // be included in the string output. The member name will be present, but the
 20263  // value will be replaced with "sensitive".
 20264  func (s GetStageInput) String() string {
 20265  	return awsutil.Prettify(s)
 20266  }
 20267  
 20268  // GoString returns the string representation.
 20269  //
 20270  // API parameter values that are decorated as "sensitive" in the API will not
 20271  // be included in the string output. The member name will be present, but the
 20272  // value will be replaced with "sensitive".
 20273  func (s GetStageInput) GoString() string {
 20274  	return s.String()
 20275  }
 20276  
 20277  // Validate inspects the fields of the type to determine if they are valid.
 20278  func (s *GetStageInput) Validate() error {
 20279  	invalidParams := request.ErrInvalidParams{Context: "GetStageInput"}
 20280  	if s.RestApiId == nil {
 20281  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 20282  	}
 20283  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 20284  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 20285  	}
 20286  	if s.StageName == nil {
 20287  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 20288  	}
 20289  	if s.StageName != nil && len(*s.StageName) < 1 {
 20290  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 20291  	}
 20292  
 20293  	if invalidParams.Len() > 0 {
 20294  		return invalidParams
 20295  	}
 20296  	return nil
 20297  }
 20298  
 20299  // SetRestApiId sets the RestApiId field's value.
 20300  func (s *GetStageInput) SetRestApiId(v string) *GetStageInput {
 20301  	s.RestApiId = &v
 20302  	return s
 20303  }
 20304  
 20305  // SetStageName sets the StageName field's value.
 20306  func (s *GetStageInput) SetStageName(v string) *GetStageInput {
 20307  	s.StageName = &v
 20308  	return s
 20309  }
 20310  
 20311  // Requests API Gateway to get information about one or more Stage resources.
 20312  type GetStagesInput struct {
 20313  	_ struct{} `type:"structure" nopayload:"true"`
 20314  
 20315  	// The stages' deployment identifiers.
 20316  	DeploymentId *string `location:"querystring" locationName:"deploymentId" type:"string"`
 20317  
 20318  	// [Required] The string identifier of the associated RestApi.
 20319  	//
 20320  	// RestApiId is a required field
 20321  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 20322  }
 20323  
 20324  // String returns the string representation.
 20325  //
 20326  // API parameter values that are decorated as "sensitive" in the API will not
 20327  // be included in the string output. The member name will be present, but the
 20328  // value will be replaced with "sensitive".
 20329  func (s GetStagesInput) String() string {
 20330  	return awsutil.Prettify(s)
 20331  }
 20332  
 20333  // GoString returns the string representation.
 20334  //
 20335  // API parameter values that are decorated as "sensitive" in the API will not
 20336  // be included in the string output. The member name will be present, but the
 20337  // value will be replaced with "sensitive".
 20338  func (s GetStagesInput) GoString() string {
 20339  	return s.String()
 20340  }
 20341  
 20342  // Validate inspects the fields of the type to determine if they are valid.
 20343  func (s *GetStagesInput) Validate() error {
 20344  	invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"}
 20345  	if s.RestApiId == nil {
 20346  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 20347  	}
 20348  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 20349  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 20350  	}
 20351  
 20352  	if invalidParams.Len() > 0 {
 20353  		return invalidParams
 20354  	}
 20355  	return nil
 20356  }
 20357  
 20358  // SetDeploymentId sets the DeploymentId field's value.
 20359  func (s *GetStagesInput) SetDeploymentId(v string) *GetStagesInput {
 20360  	s.DeploymentId = &v
 20361  	return s
 20362  }
 20363  
 20364  // SetRestApiId sets the RestApiId field's value.
 20365  func (s *GetStagesInput) SetRestApiId(v string) *GetStagesInput {
 20366  	s.RestApiId = &v
 20367  	return s
 20368  }
 20369  
 20370  // A list of Stage resources that are associated with the ApiKey resource.
 20371  //
 20372  // Deploying API in Stages (https://docs.aws.amazon.com/apigateway/latest/developerguide/stages.html)
 20373  type GetStagesOutput struct {
 20374  	_ struct{} `type:"structure"`
 20375  
 20376  	// The current page of elements from this collection.
 20377  	Item []*Stage `locationName:"item" type:"list"`
 20378  }
 20379  
 20380  // String returns the string representation.
 20381  //
 20382  // API parameter values that are decorated as "sensitive" in the API will not
 20383  // be included in the string output. The member name will be present, but the
 20384  // value will be replaced with "sensitive".
 20385  func (s GetStagesOutput) String() string {
 20386  	return awsutil.Prettify(s)
 20387  }
 20388  
 20389  // GoString returns the string representation.
 20390  //
 20391  // API parameter values that are decorated as "sensitive" in the API will not
 20392  // be included in the string output. The member name will be present, but the
 20393  // value will be replaced with "sensitive".
 20394  func (s GetStagesOutput) GoString() string {
 20395  	return s.String()
 20396  }
 20397  
 20398  // SetItem sets the Item field's value.
 20399  func (s *GetStagesOutput) SetItem(v []*Stage) *GetStagesOutput {
 20400  	s.Item = v
 20401  	return s
 20402  }
 20403  
 20404  // Gets the Tags collection for a given resource.
 20405  type GetTagsInput struct {
 20406  	_ struct{} `type:"structure" nopayload:"true"`
 20407  
 20408  	// (Not currently supported) The maximum number of returned results per page.
 20409  	// The default value is 25 and the maximum value is 500.
 20410  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 20411  
 20412  	// (Not currently supported) The current pagination position in the paged result
 20413  	// set.
 20414  	Position *string `location:"querystring" locationName:"position" type:"string"`
 20415  
 20416  	// [Required] The ARN of a resource that can be tagged.
 20417  	//
 20418  	// ResourceArn is a required field
 20419  	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
 20420  }
 20421  
 20422  // String returns the string representation.
 20423  //
 20424  // API parameter values that are decorated as "sensitive" in the API will not
 20425  // be included in the string output. The member name will be present, but the
 20426  // value will be replaced with "sensitive".
 20427  func (s GetTagsInput) String() string {
 20428  	return awsutil.Prettify(s)
 20429  }
 20430  
 20431  // GoString returns the string representation.
 20432  //
 20433  // API parameter values that are decorated as "sensitive" in the API will not
 20434  // be included in the string output. The member name will be present, but the
 20435  // value will be replaced with "sensitive".
 20436  func (s GetTagsInput) GoString() string {
 20437  	return s.String()
 20438  }
 20439  
 20440  // Validate inspects the fields of the type to determine if they are valid.
 20441  func (s *GetTagsInput) Validate() error {
 20442  	invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"}
 20443  	if s.ResourceArn == nil {
 20444  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 20445  	}
 20446  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 20447  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 20448  	}
 20449  
 20450  	if invalidParams.Len() > 0 {
 20451  		return invalidParams
 20452  	}
 20453  	return nil
 20454  }
 20455  
 20456  // SetLimit sets the Limit field's value.
 20457  func (s *GetTagsInput) SetLimit(v int64) *GetTagsInput {
 20458  	s.Limit = &v
 20459  	return s
 20460  }
 20461  
 20462  // SetPosition sets the Position field's value.
 20463  func (s *GetTagsInput) SetPosition(v string) *GetTagsInput {
 20464  	s.Position = &v
 20465  	return s
 20466  }
 20467  
 20468  // SetResourceArn sets the ResourceArn field's value.
 20469  func (s *GetTagsInput) SetResourceArn(v string) *GetTagsInput {
 20470  	s.ResourceArn = &v
 20471  	return s
 20472  }
 20473  
 20474  // The collection of tags. Each tag element is associated with a given resource.
 20475  type GetTagsOutput struct {
 20476  	_ struct{} `type:"structure"`
 20477  
 20478  	// The collection of tags. Each tag element is associated with a given resource.
 20479  	Tags map[string]*string `locationName:"tags" type:"map"`
 20480  }
 20481  
 20482  // String returns the string representation.
 20483  //
 20484  // API parameter values that are decorated as "sensitive" in the API will not
 20485  // be included in the string output. The member name will be present, but the
 20486  // value will be replaced with "sensitive".
 20487  func (s GetTagsOutput) String() string {
 20488  	return awsutil.Prettify(s)
 20489  }
 20490  
 20491  // GoString returns the string representation.
 20492  //
 20493  // API parameter values that are decorated as "sensitive" in the API will not
 20494  // be included in the string output. The member name will be present, but the
 20495  // value will be replaced with "sensitive".
 20496  func (s GetTagsOutput) GoString() string {
 20497  	return s.String()
 20498  }
 20499  
 20500  // SetTags sets the Tags field's value.
 20501  func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput {
 20502  	s.Tags = v
 20503  	return s
 20504  }
 20505  
 20506  // The GET request to get the usage data of a usage plan in a specified time
 20507  // interval.
 20508  type GetUsageInput struct {
 20509  	_ struct{} `type:"structure" nopayload:"true"`
 20510  
 20511  	// [Required] The ending date (e.g., 2016-12-31) of the usage data.
 20512  	//
 20513  	// EndDate is a required field
 20514  	EndDate *string `location:"querystring" locationName:"endDate" type:"string" required:"true"`
 20515  
 20516  	// The Id of the API key associated with the resultant usage data.
 20517  	KeyId *string `location:"querystring" locationName:"keyId" type:"string"`
 20518  
 20519  	// The maximum number of returned results per page. The default value is 25
 20520  	// and the maximum value is 500.
 20521  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 20522  
 20523  	// The current pagination position in the paged result set.
 20524  	Position *string `location:"querystring" locationName:"position" type:"string"`
 20525  
 20526  	// [Required] The starting date (e.g., 2016-01-01) of the usage data.
 20527  	//
 20528  	// StartDate is a required field
 20529  	StartDate *string `location:"querystring" locationName:"startDate" type:"string" required:"true"`
 20530  
 20531  	// [Required] The Id of the usage plan associated with the usage data.
 20532  	//
 20533  	// UsagePlanId is a required field
 20534  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 20535  }
 20536  
 20537  // String returns the string representation.
 20538  //
 20539  // API parameter values that are decorated as "sensitive" in the API will not
 20540  // be included in the string output. The member name will be present, but the
 20541  // value will be replaced with "sensitive".
 20542  func (s GetUsageInput) String() string {
 20543  	return awsutil.Prettify(s)
 20544  }
 20545  
 20546  // GoString returns the string representation.
 20547  //
 20548  // API parameter values that are decorated as "sensitive" in the API will not
 20549  // be included in the string output. The member name will be present, but the
 20550  // value will be replaced with "sensitive".
 20551  func (s GetUsageInput) GoString() string {
 20552  	return s.String()
 20553  }
 20554  
 20555  // Validate inspects the fields of the type to determine if they are valid.
 20556  func (s *GetUsageInput) Validate() error {
 20557  	invalidParams := request.ErrInvalidParams{Context: "GetUsageInput"}
 20558  	if s.EndDate == nil {
 20559  		invalidParams.Add(request.NewErrParamRequired("EndDate"))
 20560  	}
 20561  	if s.StartDate == nil {
 20562  		invalidParams.Add(request.NewErrParamRequired("StartDate"))
 20563  	}
 20564  	if s.UsagePlanId == nil {
 20565  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 20566  	}
 20567  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 20568  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 20569  	}
 20570  
 20571  	if invalidParams.Len() > 0 {
 20572  		return invalidParams
 20573  	}
 20574  	return nil
 20575  }
 20576  
 20577  // SetEndDate sets the EndDate field's value.
 20578  func (s *GetUsageInput) SetEndDate(v string) *GetUsageInput {
 20579  	s.EndDate = &v
 20580  	return s
 20581  }
 20582  
 20583  // SetKeyId sets the KeyId field's value.
 20584  func (s *GetUsageInput) SetKeyId(v string) *GetUsageInput {
 20585  	s.KeyId = &v
 20586  	return s
 20587  }
 20588  
 20589  // SetLimit sets the Limit field's value.
 20590  func (s *GetUsageInput) SetLimit(v int64) *GetUsageInput {
 20591  	s.Limit = &v
 20592  	return s
 20593  }
 20594  
 20595  // SetPosition sets the Position field's value.
 20596  func (s *GetUsageInput) SetPosition(v string) *GetUsageInput {
 20597  	s.Position = &v
 20598  	return s
 20599  }
 20600  
 20601  // SetStartDate sets the StartDate field's value.
 20602  func (s *GetUsageInput) SetStartDate(v string) *GetUsageInput {
 20603  	s.StartDate = &v
 20604  	return s
 20605  }
 20606  
 20607  // SetUsagePlanId sets the UsagePlanId field's value.
 20608  func (s *GetUsageInput) SetUsagePlanId(v string) *GetUsageInput {
 20609  	s.UsagePlanId = &v
 20610  	return s
 20611  }
 20612  
 20613  // The GET request to get a usage plan of a given plan identifier.
 20614  type GetUsagePlanInput struct {
 20615  	_ struct{} `type:"structure" nopayload:"true"`
 20616  
 20617  	// [Required] The identifier of the UsagePlan resource to be retrieved.
 20618  	//
 20619  	// UsagePlanId is a required field
 20620  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 20621  }
 20622  
 20623  // String returns the string representation.
 20624  //
 20625  // API parameter values that are decorated as "sensitive" in the API will not
 20626  // be included in the string output. The member name will be present, but the
 20627  // value will be replaced with "sensitive".
 20628  func (s GetUsagePlanInput) String() string {
 20629  	return awsutil.Prettify(s)
 20630  }
 20631  
 20632  // GoString returns the string representation.
 20633  //
 20634  // API parameter values that are decorated as "sensitive" in the API will not
 20635  // be included in the string output. The member name will be present, but the
 20636  // value will be replaced with "sensitive".
 20637  func (s GetUsagePlanInput) GoString() string {
 20638  	return s.String()
 20639  }
 20640  
 20641  // Validate inspects the fields of the type to determine if they are valid.
 20642  func (s *GetUsagePlanInput) Validate() error {
 20643  	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanInput"}
 20644  	if s.UsagePlanId == nil {
 20645  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 20646  	}
 20647  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 20648  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 20649  	}
 20650  
 20651  	if invalidParams.Len() > 0 {
 20652  		return invalidParams
 20653  	}
 20654  	return nil
 20655  }
 20656  
 20657  // SetUsagePlanId sets the UsagePlanId field's value.
 20658  func (s *GetUsagePlanInput) SetUsagePlanId(v string) *GetUsagePlanInput {
 20659  	s.UsagePlanId = &v
 20660  	return s
 20661  }
 20662  
 20663  // The GET request to get a usage plan key of a given key identifier.
 20664  type GetUsagePlanKeyInput struct {
 20665  	_ struct{} `type:"structure" nopayload:"true"`
 20666  
 20667  	// [Required] The key Id of the to-be-retrieved UsagePlanKey resource representing
 20668  	// a plan customer.
 20669  	//
 20670  	// KeyId is a required field
 20671  	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
 20672  
 20673  	// [Required] The Id of the UsagePlan resource representing the usage plan containing
 20674  	// the to-be-retrieved UsagePlanKey resource representing a plan customer.
 20675  	//
 20676  	// UsagePlanId is a required field
 20677  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 20678  }
 20679  
 20680  // String returns the string representation.
 20681  //
 20682  // API parameter values that are decorated as "sensitive" in the API will not
 20683  // be included in the string output. The member name will be present, but the
 20684  // value will be replaced with "sensitive".
 20685  func (s GetUsagePlanKeyInput) String() string {
 20686  	return awsutil.Prettify(s)
 20687  }
 20688  
 20689  // GoString returns the string representation.
 20690  //
 20691  // API parameter values that are decorated as "sensitive" in the API will not
 20692  // be included in the string output. The member name will be present, but the
 20693  // value will be replaced with "sensitive".
 20694  func (s GetUsagePlanKeyInput) GoString() string {
 20695  	return s.String()
 20696  }
 20697  
 20698  // Validate inspects the fields of the type to determine if they are valid.
 20699  func (s *GetUsagePlanKeyInput) Validate() error {
 20700  	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeyInput"}
 20701  	if s.KeyId == nil {
 20702  		invalidParams.Add(request.NewErrParamRequired("KeyId"))
 20703  	}
 20704  	if s.KeyId != nil && len(*s.KeyId) < 1 {
 20705  		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
 20706  	}
 20707  	if s.UsagePlanId == nil {
 20708  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 20709  	}
 20710  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 20711  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 20712  	}
 20713  
 20714  	if invalidParams.Len() > 0 {
 20715  		return invalidParams
 20716  	}
 20717  	return nil
 20718  }
 20719  
 20720  // SetKeyId sets the KeyId field's value.
 20721  func (s *GetUsagePlanKeyInput) SetKeyId(v string) *GetUsagePlanKeyInput {
 20722  	s.KeyId = &v
 20723  	return s
 20724  }
 20725  
 20726  // SetUsagePlanId sets the UsagePlanId field's value.
 20727  func (s *GetUsagePlanKeyInput) SetUsagePlanId(v string) *GetUsagePlanKeyInput {
 20728  	s.UsagePlanId = &v
 20729  	return s
 20730  }
 20731  
 20732  // The GET request to get all the usage plan keys representing the API keys
 20733  // added to a specified usage plan.
 20734  type GetUsagePlanKeysInput struct {
 20735  	_ struct{} `type:"structure" nopayload:"true"`
 20736  
 20737  	// The maximum number of returned results per page. The default value is 25
 20738  	// and the maximum value is 500.
 20739  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 20740  
 20741  	// A query parameter specifying the name of the to-be-returned usage plan keys.
 20742  	NameQuery *string `location:"querystring" locationName:"name" type:"string"`
 20743  
 20744  	// The current pagination position in the paged result set.
 20745  	Position *string `location:"querystring" locationName:"position" type:"string"`
 20746  
 20747  	// [Required] The Id of the UsagePlan resource representing the usage plan containing
 20748  	// the to-be-retrieved UsagePlanKey resource representing a plan customer.
 20749  	//
 20750  	// UsagePlanId is a required field
 20751  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 20752  }
 20753  
 20754  // String returns the string representation.
 20755  //
 20756  // API parameter values that are decorated as "sensitive" in the API will not
 20757  // be included in the string output. The member name will be present, but the
 20758  // value will be replaced with "sensitive".
 20759  func (s GetUsagePlanKeysInput) String() string {
 20760  	return awsutil.Prettify(s)
 20761  }
 20762  
 20763  // GoString returns the string representation.
 20764  //
 20765  // API parameter values that are decorated as "sensitive" in the API will not
 20766  // be included in the string output. The member name will be present, but the
 20767  // value will be replaced with "sensitive".
 20768  func (s GetUsagePlanKeysInput) GoString() string {
 20769  	return s.String()
 20770  }
 20771  
 20772  // Validate inspects the fields of the type to determine if they are valid.
 20773  func (s *GetUsagePlanKeysInput) Validate() error {
 20774  	invalidParams := request.ErrInvalidParams{Context: "GetUsagePlanKeysInput"}
 20775  	if s.UsagePlanId == nil {
 20776  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 20777  	}
 20778  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 20779  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 20780  	}
 20781  
 20782  	if invalidParams.Len() > 0 {
 20783  		return invalidParams
 20784  	}
 20785  	return nil
 20786  }
 20787  
 20788  // SetLimit sets the Limit field's value.
 20789  func (s *GetUsagePlanKeysInput) SetLimit(v int64) *GetUsagePlanKeysInput {
 20790  	s.Limit = &v
 20791  	return s
 20792  }
 20793  
 20794  // SetNameQuery sets the NameQuery field's value.
 20795  func (s *GetUsagePlanKeysInput) SetNameQuery(v string) *GetUsagePlanKeysInput {
 20796  	s.NameQuery = &v
 20797  	return s
 20798  }
 20799  
 20800  // SetPosition sets the Position field's value.
 20801  func (s *GetUsagePlanKeysInput) SetPosition(v string) *GetUsagePlanKeysInput {
 20802  	s.Position = &v
 20803  	return s
 20804  }
 20805  
 20806  // SetUsagePlanId sets the UsagePlanId field's value.
 20807  func (s *GetUsagePlanKeysInput) SetUsagePlanId(v string) *GetUsagePlanKeysInput {
 20808  	s.UsagePlanId = &v
 20809  	return s
 20810  }
 20811  
 20812  // Represents the collection of usage plan keys added to usage plans for the
 20813  // associated API keys and, possibly, other types of keys.
 20814  //
 20815  // Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
 20816  type GetUsagePlanKeysOutput struct {
 20817  	_ struct{} `type:"structure"`
 20818  
 20819  	// The current page of elements from this collection.
 20820  	Items []*UsagePlanKey `locationName:"item" type:"list"`
 20821  
 20822  	Position *string `locationName:"position" type:"string"`
 20823  }
 20824  
 20825  // String returns the string representation.
 20826  //
 20827  // API parameter values that are decorated as "sensitive" in the API will not
 20828  // be included in the string output. The member name will be present, but the
 20829  // value will be replaced with "sensitive".
 20830  func (s GetUsagePlanKeysOutput) String() string {
 20831  	return awsutil.Prettify(s)
 20832  }
 20833  
 20834  // GoString returns the string representation.
 20835  //
 20836  // API parameter values that are decorated as "sensitive" in the API will not
 20837  // be included in the string output. The member name will be present, but the
 20838  // value will be replaced with "sensitive".
 20839  func (s GetUsagePlanKeysOutput) GoString() string {
 20840  	return s.String()
 20841  }
 20842  
 20843  // SetItems sets the Items field's value.
 20844  func (s *GetUsagePlanKeysOutput) SetItems(v []*UsagePlanKey) *GetUsagePlanKeysOutput {
 20845  	s.Items = v
 20846  	return s
 20847  }
 20848  
 20849  // SetPosition sets the Position field's value.
 20850  func (s *GetUsagePlanKeysOutput) SetPosition(v string) *GetUsagePlanKeysOutput {
 20851  	s.Position = &v
 20852  	return s
 20853  }
 20854  
 20855  // The GET request to get all the usage plans of the caller's account.
 20856  type GetUsagePlansInput struct {
 20857  	_ struct{} `type:"structure" nopayload:"true"`
 20858  
 20859  	// The identifier of the API key associated with the usage plans.
 20860  	KeyId *string `location:"querystring" locationName:"keyId" type:"string"`
 20861  
 20862  	// The maximum number of returned results per page. The default value is 25
 20863  	// and the maximum value is 500.
 20864  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 20865  
 20866  	// The current pagination position in the paged result set.
 20867  	Position *string `location:"querystring" locationName:"position" type:"string"`
 20868  }
 20869  
 20870  // String returns the string representation.
 20871  //
 20872  // API parameter values that are decorated as "sensitive" in the API will not
 20873  // be included in the string output. The member name will be present, but the
 20874  // value will be replaced with "sensitive".
 20875  func (s GetUsagePlansInput) String() string {
 20876  	return awsutil.Prettify(s)
 20877  }
 20878  
 20879  // GoString returns the string representation.
 20880  //
 20881  // API parameter values that are decorated as "sensitive" in the API will not
 20882  // be included in the string output. The member name will be present, but the
 20883  // value will be replaced with "sensitive".
 20884  func (s GetUsagePlansInput) GoString() string {
 20885  	return s.String()
 20886  }
 20887  
 20888  // SetKeyId sets the KeyId field's value.
 20889  func (s *GetUsagePlansInput) SetKeyId(v string) *GetUsagePlansInput {
 20890  	s.KeyId = &v
 20891  	return s
 20892  }
 20893  
 20894  // SetLimit sets the Limit field's value.
 20895  func (s *GetUsagePlansInput) SetLimit(v int64) *GetUsagePlansInput {
 20896  	s.Limit = &v
 20897  	return s
 20898  }
 20899  
 20900  // SetPosition sets the Position field's value.
 20901  func (s *GetUsagePlansInput) SetPosition(v string) *GetUsagePlansInput {
 20902  	s.Position = &v
 20903  	return s
 20904  }
 20905  
 20906  // Represents a collection of usage plans for an AWS account.
 20907  //
 20908  // Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
 20909  type GetUsagePlansOutput struct {
 20910  	_ struct{} `type:"structure"`
 20911  
 20912  	// The current page of elements from this collection.
 20913  	Items []*UsagePlan `locationName:"item" type:"list"`
 20914  
 20915  	Position *string `locationName:"position" type:"string"`
 20916  }
 20917  
 20918  // String returns the string representation.
 20919  //
 20920  // API parameter values that are decorated as "sensitive" in the API will not
 20921  // be included in the string output. The member name will be present, but the
 20922  // value will be replaced with "sensitive".
 20923  func (s GetUsagePlansOutput) String() string {
 20924  	return awsutil.Prettify(s)
 20925  }
 20926  
 20927  // GoString returns the string representation.
 20928  //
 20929  // API parameter values that are decorated as "sensitive" in the API will not
 20930  // be included in the string output. The member name will be present, but the
 20931  // value will be replaced with "sensitive".
 20932  func (s GetUsagePlansOutput) GoString() string {
 20933  	return s.String()
 20934  }
 20935  
 20936  // SetItems sets the Items field's value.
 20937  func (s *GetUsagePlansOutput) SetItems(v []*UsagePlan) *GetUsagePlansOutput {
 20938  	s.Items = v
 20939  	return s
 20940  }
 20941  
 20942  // SetPosition sets the Position field's value.
 20943  func (s *GetUsagePlansOutput) SetPosition(v string) *GetUsagePlansOutput {
 20944  	s.Position = &v
 20945  	return s
 20946  }
 20947  
 20948  // Gets a specified VPC link under the caller's account in a region.
 20949  type GetVpcLinkInput struct {
 20950  	_ struct{} `type:"structure" nopayload:"true"`
 20951  
 20952  	// [Required] The identifier of the VpcLink. It is used in an Integration to
 20953  	// reference this VpcLink.
 20954  	//
 20955  	// VpcLinkId is a required field
 20956  	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
 20957  }
 20958  
 20959  // String returns the string representation.
 20960  //
 20961  // API parameter values that are decorated as "sensitive" in the API will not
 20962  // be included in the string output. The member name will be present, but the
 20963  // value will be replaced with "sensitive".
 20964  func (s GetVpcLinkInput) String() string {
 20965  	return awsutil.Prettify(s)
 20966  }
 20967  
 20968  // GoString returns the string representation.
 20969  //
 20970  // API parameter values that are decorated as "sensitive" in the API will not
 20971  // be included in the string output. The member name will be present, but the
 20972  // value will be replaced with "sensitive".
 20973  func (s GetVpcLinkInput) GoString() string {
 20974  	return s.String()
 20975  }
 20976  
 20977  // Validate inspects the fields of the type to determine if they are valid.
 20978  func (s *GetVpcLinkInput) Validate() error {
 20979  	invalidParams := request.ErrInvalidParams{Context: "GetVpcLinkInput"}
 20980  	if s.VpcLinkId == nil {
 20981  		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
 20982  	}
 20983  	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
 20984  		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
 20985  	}
 20986  
 20987  	if invalidParams.Len() > 0 {
 20988  		return invalidParams
 20989  	}
 20990  	return nil
 20991  }
 20992  
 20993  // SetVpcLinkId sets the VpcLinkId field's value.
 20994  func (s *GetVpcLinkInput) SetVpcLinkId(v string) *GetVpcLinkInput {
 20995  	s.VpcLinkId = &v
 20996  	return s
 20997  }
 20998  
 20999  // Gets the VpcLinks collection under the caller's account in a selected region.
 21000  type GetVpcLinksInput struct {
 21001  	_ struct{} `type:"structure" nopayload:"true"`
 21002  
 21003  	// The maximum number of returned results per page. The default value is 25
 21004  	// and the maximum value is 500.
 21005  	Limit *int64 `location:"querystring" locationName:"limit" type:"integer"`
 21006  
 21007  	// The current pagination position in the paged result set.
 21008  	Position *string `location:"querystring" locationName:"position" type:"string"`
 21009  }
 21010  
 21011  // String returns the string representation.
 21012  //
 21013  // API parameter values that are decorated as "sensitive" in the API will not
 21014  // be included in the string output. The member name will be present, but the
 21015  // value will be replaced with "sensitive".
 21016  func (s GetVpcLinksInput) String() string {
 21017  	return awsutil.Prettify(s)
 21018  }
 21019  
 21020  // GoString returns the string representation.
 21021  //
 21022  // API parameter values that are decorated as "sensitive" in the API will not
 21023  // be included in the string output. The member name will be present, but the
 21024  // value will be replaced with "sensitive".
 21025  func (s GetVpcLinksInput) GoString() string {
 21026  	return s.String()
 21027  }
 21028  
 21029  // SetLimit sets the Limit field's value.
 21030  func (s *GetVpcLinksInput) SetLimit(v int64) *GetVpcLinksInput {
 21031  	s.Limit = &v
 21032  	return s
 21033  }
 21034  
 21035  // SetPosition sets the Position field's value.
 21036  func (s *GetVpcLinksInput) SetPosition(v string) *GetVpcLinksInput {
 21037  	s.Position = &v
 21038  	return s
 21039  }
 21040  
 21041  // The collection of VPC links under the caller's account in a region.
 21042  //
 21043  // Getting Started with Private Integrations (https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-with-private-integration.html),
 21044  // Set up Private Integrations (https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-private-integration.html)
 21045  type GetVpcLinksOutput struct {
 21046  	_ struct{} `type:"structure"`
 21047  
 21048  	// The current page of elements from this collection.
 21049  	Items []*UpdateVpcLinkOutput `locationName:"item" type:"list"`
 21050  
 21051  	Position *string `locationName:"position" type:"string"`
 21052  }
 21053  
 21054  // String returns the string representation.
 21055  //
 21056  // API parameter values that are decorated as "sensitive" in the API will not
 21057  // be included in the string output. The member name will be present, but the
 21058  // value will be replaced with "sensitive".
 21059  func (s GetVpcLinksOutput) String() string {
 21060  	return awsutil.Prettify(s)
 21061  }
 21062  
 21063  // GoString returns the string representation.
 21064  //
 21065  // API parameter values that are decorated as "sensitive" in the API will not
 21066  // be included in the string output. The member name will be present, but the
 21067  // value will be replaced with "sensitive".
 21068  func (s GetVpcLinksOutput) GoString() string {
 21069  	return s.String()
 21070  }
 21071  
 21072  // SetItems sets the Items field's value.
 21073  func (s *GetVpcLinksOutput) SetItems(v []*UpdateVpcLinkOutput) *GetVpcLinksOutput {
 21074  	s.Items = v
 21075  	return s
 21076  }
 21077  
 21078  // SetPosition sets the Position field's value.
 21079  func (s *GetVpcLinksOutput) SetPosition(v string) *GetVpcLinksOutput {
 21080  	s.Position = &v
 21081  	return s
 21082  }
 21083  
 21084  // The POST request to import API keys from an external source, such as a CSV-formatted
 21085  // file.
 21086  type ImportApiKeysInput struct {
 21087  	_ struct{} `type:"structure" payload:"Body"`
 21088  
 21089  	// The payload of the POST request to import API keys. For the payload format,
 21090  	// see API Key File Format (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-key-file-format.html).
 21091  	//
 21092  	// Body is a required field
 21093  	Body []byte `locationName:"body" type:"blob" required:"true"`
 21094  
 21095  	// A query parameter to indicate whether to rollback ApiKey importation (true)
 21096  	// or not (false) when error is encountered.
 21097  	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
 21098  
 21099  	// A query parameter to specify the input format to imported API keys. Currently,
 21100  	// only the csv format is supported.
 21101  	//
 21102  	// Format is a required field
 21103  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"ApiKeysFormat"`
 21104  }
 21105  
 21106  // String returns the string representation.
 21107  //
 21108  // API parameter values that are decorated as "sensitive" in the API will not
 21109  // be included in the string output. The member name will be present, but the
 21110  // value will be replaced with "sensitive".
 21111  func (s ImportApiKeysInput) String() string {
 21112  	return awsutil.Prettify(s)
 21113  }
 21114  
 21115  // GoString returns the string representation.
 21116  //
 21117  // API parameter values that are decorated as "sensitive" in the API will not
 21118  // be included in the string output. The member name will be present, but the
 21119  // value will be replaced with "sensitive".
 21120  func (s ImportApiKeysInput) GoString() string {
 21121  	return s.String()
 21122  }
 21123  
 21124  // Validate inspects the fields of the type to determine if they are valid.
 21125  func (s *ImportApiKeysInput) Validate() error {
 21126  	invalidParams := request.ErrInvalidParams{Context: "ImportApiKeysInput"}
 21127  	if s.Body == nil {
 21128  		invalidParams.Add(request.NewErrParamRequired("Body"))
 21129  	}
 21130  	if s.Format == nil {
 21131  		invalidParams.Add(request.NewErrParamRequired("Format"))
 21132  	}
 21133  
 21134  	if invalidParams.Len() > 0 {
 21135  		return invalidParams
 21136  	}
 21137  	return nil
 21138  }
 21139  
 21140  // SetBody sets the Body field's value.
 21141  func (s *ImportApiKeysInput) SetBody(v []byte) *ImportApiKeysInput {
 21142  	s.Body = v
 21143  	return s
 21144  }
 21145  
 21146  // SetFailOnWarnings sets the FailOnWarnings field's value.
 21147  func (s *ImportApiKeysInput) SetFailOnWarnings(v bool) *ImportApiKeysInput {
 21148  	s.FailOnWarnings = &v
 21149  	return s
 21150  }
 21151  
 21152  // SetFormat sets the Format field's value.
 21153  func (s *ImportApiKeysInput) SetFormat(v string) *ImportApiKeysInput {
 21154  	s.Format = &v
 21155  	return s
 21156  }
 21157  
 21158  // The identifier of an ApiKey used in a UsagePlan.
 21159  type ImportApiKeysOutput struct {
 21160  	_ struct{} `type:"structure"`
 21161  
 21162  	// A list of all the ApiKey identifiers.
 21163  	Ids []*string `locationName:"ids" type:"list"`
 21164  
 21165  	// A list of warning messages.
 21166  	Warnings []*string `locationName:"warnings" type:"list"`
 21167  }
 21168  
 21169  // String returns the string representation.
 21170  //
 21171  // API parameter values that are decorated as "sensitive" in the API will not
 21172  // be included in the string output. The member name will be present, but the
 21173  // value will be replaced with "sensitive".
 21174  func (s ImportApiKeysOutput) String() string {
 21175  	return awsutil.Prettify(s)
 21176  }
 21177  
 21178  // GoString returns the string representation.
 21179  //
 21180  // API parameter values that are decorated as "sensitive" in the API will not
 21181  // be included in the string output. The member name will be present, but the
 21182  // value will be replaced with "sensitive".
 21183  func (s ImportApiKeysOutput) GoString() string {
 21184  	return s.String()
 21185  }
 21186  
 21187  // SetIds sets the Ids field's value.
 21188  func (s *ImportApiKeysOutput) SetIds(v []*string) *ImportApiKeysOutput {
 21189  	s.Ids = v
 21190  	return s
 21191  }
 21192  
 21193  // SetWarnings sets the Warnings field's value.
 21194  func (s *ImportApiKeysOutput) SetWarnings(v []*string) *ImportApiKeysOutput {
 21195  	s.Warnings = v
 21196  	return s
 21197  }
 21198  
 21199  // Import documentation parts from an external (e.g., OpenAPI) definition file.
 21200  type ImportDocumentationPartsInput struct {
 21201  	_ struct{} `type:"structure" payload:"Body"`
 21202  
 21203  	// [Required] Raw byte array representing the to-be-imported documentation parts.
 21204  	// To import from an OpenAPI file, this is a JSON object.
 21205  	//
 21206  	// Body is a required field
 21207  	Body []byte `locationName:"body" type:"blob" required:"true"`
 21208  
 21209  	// A query parameter to specify whether to rollback the documentation importation
 21210  	// (true) or not (false) when a warning is encountered. The default value is
 21211  	// false.
 21212  	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
 21213  
 21214  	// A query parameter to indicate whether to overwrite (OVERWRITE) any existing
 21215  	// DocumentationParts definition or to merge (MERGE) the new definition into
 21216  	// the existing one. The default value is MERGE.
 21217  	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"PutMode"`
 21218  
 21219  	// [Required] The string identifier of the associated RestApi.
 21220  	//
 21221  	// RestApiId is a required field
 21222  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 21223  }
 21224  
 21225  // String returns the string representation.
 21226  //
 21227  // API parameter values that are decorated as "sensitive" in the API will not
 21228  // be included in the string output. The member name will be present, but the
 21229  // value will be replaced with "sensitive".
 21230  func (s ImportDocumentationPartsInput) String() string {
 21231  	return awsutil.Prettify(s)
 21232  }
 21233  
 21234  // GoString returns the string representation.
 21235  //
 21236  // API parameter values that are decorated as "sensitive" in the API will not
 21237  // be included in the string output. The member name will be present, but the
 21238  // value will be replaced with "sensitive".
 21239  func (s ImportDocumentationPartsInput) GoString() string {
 21240  	return s.String()
 21241  }
 21242  
 21243  // Validate inspects the fields of the type to determine if they are valid.
 21244  func (s *ImportDocumentationPartsInput) Validate() error {
 21245  	invalidParams := request.ErrInvalidParams{Context: "ImportDocumentationPartsInput"}
 21246  	if s.Body == nil {
 21247  		invalidParams.Add(request.NewErrParamRequired("Body"))
 21248  	}
 21249  	if s.RestApiId == nil {
 21250  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 21251  	}
 21252  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 21253  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 21254  	}
 21255  
 21256  	if invalidParams.Len() > 0 {
 21257  		return invalidParams
 21258  	}
 21259  	return nil
 21260  }
 21261  
 21262  // SetBody sets the Body field's value.
 21263  func (s *ImportDocumentationPartsInput) SetBody(v []byte) *ImportDocumentationPartsInput {
 21264  	s.Body = v
 21265  	return s
 21266  }
 21267  
 21268  // SetFailOnWarnings sets the FailOnWarnings field's value.
 21269  func (s *ImportDocumentationPartsInput) SetFailOnWarnings(v bool) *ImportDocumentationPartsInput {
 21270  	s.FailOnWarnings = &v
 21271  	return s
 21272  }
 21273  
 21274  // SetMode sets the Mode field's value.
 21275  func (s *ImportDocumentationPartsInput) SetMode(v string) *ImportDocumentationPartsInput {
 21276  	s.Mode = &v
 21277  	return s
 21278  }
 21279  
 21280  // SetRestApiId sets the RestApiId field's value.
 21281  func (s *ImportDocumentationPartsInput) SetRestApiId(v string) *ImportDocumentationPartsInput {
 21282  	s.RestApiId = &v
 21283  	return s
 21284  }
 21285  
 21286  // A collection of the imported DocumentationPart identifiers.
 21287  //
 21288  // This is used to return the result when documentation parts in an external
 21289  // (e.g., OpenAPI) file are imported into API Gateway
 21290  //
 21291  // Documenting an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html),
 21292  // documentationpart:import (https://docs.aws.amazon.com/apigateway/api-reference/link-relation/documentationpart-import/),
 21293  // DocumentationPart
 21294  type ImportDocumentationPartsOutput struct {
 21295  	_ struct{} `type:"structure"`
 21296  
 21297  	// A list of the returned documentation part identifiers.
 21298  	Ids []*string `locationName:"ids" type:"list"`
 21299  
 21300  	// A list of warning messages reported during import of documentation parts.
 21301  	Warnings []*string `locationName:"warnings" type:"list"`
 21302  }
 21303  
 21304  // String returns the string representation.
 21305  //
 21306  // API parameter values that are decorated as "sensitive" in the API will not
 21307  // be included in the string output. The member name will be present, but the
 21308  // value will be replaced with "sensitive".
 21309  func (s ImportDocumentationPartsOutput) String() string {
 21310  	return awsutil.Prettify(s)
 21311  }
 21312  
 21313  // GoString returns the string representation.
 21314  //
 21315  // API parameter values that are decorated as "sensitive" in the API will not
 21316  // be included in the string output. The member name will be present, but the
 21317  // value will be replaced with "sensitive".
 21318  func (s ImportDocumentationPartsOutput) GoString() string {
 21319  	return s.String()
 21320  }
 21321  
 21322  // SetIds sets the Ids field's value.
 21323  func (s *ImportDocumentationPartsOutput) SetIds(v []*string) *ImportDocumentationPartsOutput {
 21324  	s.Ids = v
 21325  	return s
 21326  }
 21327  
 21328  // SetWarnings sets the Warnings field's value.
 21329  func (s *ImportDocumentationPartsOutput) SetWarnings(v []*string) *ImportDocumentationPartsOutput {
 21330  	s.Warnings = v
 21331  	return s
 21332  }
 21333  
 21334  // A POST request to import an API to API Gateway using an input of an API definition
 21335  // file.
 21336  type ImportRestApiInput struct {
 21337  	_ struct{} `type:"structure" payload:"Body"`
 21338  
 21339  	// [Required] The POST request body containing external API definitions. Currently,
 21340  	// only OpenAPI definition JSON/YAML files are supported. The maximum size of
 21341  	// the API definition file is 6MB.
 21342  	//
 21343  	// Body is a required field
 21344  	Body []byte `locationName:"body" type:"blob" required:"true"`
 21345  
 21346  	// A query parameter to indicate whether to rollback the API creation (true)
 21347  	// or not (false) when a warning is encountered. The default value is false.
 21348  	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
 21349  
 21350  	// A key-value map of context-specific query string parameters specifying the
 21351  	// behavior of different API importing operations. The following shows operation-specific
 21352  	// parameters and their supported values.
 21353  	//
 21354  	// To exclude DocumentationParts from the import, set parameters as ignore=documentation.
 21355  	//
 21356  	// To configure the endpoint type, set parameters as endpointConfigurationTypes=EDGE,
 21357  	// endpointConfigurationTypes=REGIONAL, or endpointConfigurationTypes=PRIVATE.
 21358  	// The default endpoint type is EDGE.
 21359  	//
 21360  	// To handle imported basepath, set parameters as basepath=ignore, basepath=prepend
 21361  	// or basepath=split.
 21362  	//
 21363  	// For example, the AWS CLI command to exclude documentation from the imported
 21364  	// API is:
 21365  	//
 21366  	//    aws apigateway import-rest-api --parameters ignore=documentation --body
 21367  	//    'file:///path/to/imported-api-body.json'
 21368  	//
 21369  	// The AWS CLI command to set the regional endpoint on the imported API is:
 21370  	//
 21371  	//    aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL
 21372  	//    --body 'file:///path/to/imported-api-body.json'
 21373  	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
 21374  }
 21375  
 21376  // String returns the string representation.
 21377  //
 21378  // API parameter values that are decorated as "sensitive" in the API will not
 21379  // be included in the string output. The member name will be present, but the
 21380  // value will be replaced with "sensitive".
 21381  func (s ImportRestApiInput) String() string {
 21382  	return awsutil.Prettify(s)
 21383  }
 21384  
 21385  // GoString returns the string representation.
 21386  //
 21387  // API parameter values that are decorated as "sensitive" in the API will not
 21388  // be included in the string output. The member name will be present, but the
 21389  // value will be replaced with "sensitive".
 21390  func (s ImportRestApiInput) GoString() string {
 21391  	return s.String()
 21392  }
 21393  
 21394  // Validate inspects the fields of the type to determine if they are valid.
 21395  func (s *ImportRestApiInput) Validate() error {
 21396  	invalidParams := request.ErrInvalidParams{Context: "ImportRestApiInput"}
 21397  	if s.Body == nil {
 21398  		invalidParams.Add(request.NewErrParamRequired("Body"))
 21399  	}
 21400  
 21401  	if invalidParams.Len() > 0 {
 21402  		return invalidParams
 21403  	}
 21404  	return nil
 21405  }
 21406  
 21407  // SetBody sets the Body field's value.
 21408  func (s *ImportRestApiInput) SetBody(v []byte) *ImportRestApiInput {
 21409  	s.Body = v
 21410  	return s
 21411  }
 21412  
 21413  // SetFailOnWarnings sets the FailOnWarnings field's value.
 21414  func (s *ImportRestApiInput) SetFailOnWarnings(v bool) *ImportRestApiInput {
 21415  	s.FailOnWarnings = &v
 21416  	return s
 21417  }
 21418  
 21419  // SetParameters sets the Parameters field's value.
 21420  func (s *ImportRestApiInput) SetParameters(v map[string]*string) *ImportRestApiInput {
 21421  	s.Parameters = v
 21422  	return s
 21423  }
 21424  
 21425  // Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.
 21426  //
 21427  // In the API Gateway console, the built-in Lambda integration is an AWS integration.
 21428  //
 21429  // Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 21430  type Integration struct {
 21431  	_ struct{} `type:"structure"`
 21432  
 21433  	// A list of request parameters whose values API Gateway caches. To be valid
 21434  	// values for cacheKeyParameters, these parameters must also be specified for
 21435  	// Method requestParameters.
 21436  	CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"`
 21437  
 21438  	// Specifies a group of related cached parameters. By default, API Gateway uses
 21439  	// the resource ID as the cacheNamespace. You can specify the same cacheNamespace
 21440  	// across resources to return the same cached data for requests to different
 21441  	// resources.
 21442  	CacheNamespace *string `locationName:"cacheNamespace" type:"string"`
 21443  
 21444  	// The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id))
 21445  	// of the VpcLink used for the integration when connectionType=VPC_LINK and
 21446  	// undefined, otherwise.
 21447  	ConnectionId *string `locationName:"connectionId" type:"string"`
 21448  
 21449  	// The type of the network connection to the integration endpoint. The valid
 21450  	// value is INTERNET for connections through the public routable internet or
 21451  	// VPC_LINK for private connections between API Gateway and a network load balancer
 21452  	// in a VPC. The default value is INTERNET.
 21453  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
 21454  
 21455  	// Specifies how to handle request payload content type conversions. Supported
 21456  	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
 21457  	//
 21458  	//    * CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded
 21459  	//    string to the corresponding binary blob.
 21460  	//
 21461  	//    * CONVERT_TO_TEXT: Converts a request payload from a binary blob to a
 21462  	//    Base64-encoded string.
 21463  	//
 21464  	// If this property is not defined, the request payload will be passed through
 21465  	// from the method request to integration request without modification, provided
 21466  	// that the passthroughBehavior is configured to support payload pass-through.
 21467  	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
 21468  
 21469  	// Specifies the credentials required for the integration, if any. For AWS integrations,
 21470  	// three options are available. To specify an IAM Role for API Gateway to assume,
 21471  	// use the role's Amazon Resource Name (ARN). To require that the caller's identity
 21472  	// be passed through from the request, specify the string arn:aws:iam::\*:user/\*.
 21473  	// To use resource-based permissions on supported AWS services, specify null.
 21474  	Credentials *string `locationName:"credentials" type:"string"`
 21475  
 21476  	// Specifies the integration's HTTP method type.
 21477  	HttpMethod *string `locationName:"httpMethod" type:"string"`
 21478  
 21479  	// Specifies the integration's responses.
 21480  	//
 21481  	// Example: Get integration responses of a method
 21482  	//
 21483  	// Request
 21484  	//   GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200
 21485  	//   HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
 21486  	//   X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request,
 21487  	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 21488  	// Response
 21489  	//
 21490  	// The successful response returns 200 OK status and a payload as follows:
 21491  	//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
 21492  	//  "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
 21493  	//  "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
 21494  	//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
 21495  	//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
 21496  	//  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream
 21497  	//  in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
 21498  	//  }, "statusCode": "200" }
 21499  	//
 21500  	// Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 21501  	IntegrationResponses map[string]*IntegrationResponse `locationName:"integrationResponses" type:"map"`
 21502  
 21503  	// Specifies how the method request body of an unmapped content type will be
 21504  	// passed through the integration request to the back end without transformation.
 21505  	// A content type is unmapped if no mapping template is defined in the integration
 21506  	// or the content type does not match any of the mapped content types, as specified
 21507  	// in requestTemplates. The valid value is one of the following:
 21508  	//
 21509  	//    * WHEN_NO_MATCH: passes the method request body through the integration
 21510  	//    request to the back end without transformation when the method request
 21511  	//    content type does not match any content type associated with the mapping
 21512  	//    templates defined in the integration request.
 21513  	//
 21514  	//    * WHEN_NO_TEMPLATES: passes the method request body through the integration
 21515  	//    request to the back end without transformation when no mapping template
 21516  	//    is defined in the integration request. If a template is defined when this
 21517  	//    option is selected, the method request of an unmapped content-type will
 21518  	//    be rejected with an HTTP 415 Unsupported Media Type response.
 21519  	//
 21520  	//    * NEVER: rejects the method request with an HTTP 415 Unsupported Media
 21521  	//    Type response when either the method request content type does not match
 21522  	//    any content type associated with the mapping templates defined in the
 21523  	//    integration request or no mapping template is defined in the integration
 21524  	//    request.
 21525  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"`
 21526  
 21527  	// A key-value map specifying request parameters that are passed from the method
 21528  	// request to the back end. The key is an integration request parameter name
 21529  	// and the associated value is a method request parameter value or static value
 21530  	// that must be enclosed within single quotes and pre-encoded as required by
 21531  	// the back end. The method request parameter value must match the pattern of
 21532  	// method.request.{location}.{name}, where location is querystring, path, or
 21533  	// header and name must be a valid and unique method request parameter name.
 21534  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
 21535  
 21536  	// Represents a map of Velocity templates that are applied on the request payload
 21537  	// based on the value of the Content-Type header sent by the client. The content
 21538  	// type value is the key in this map, and the template (as a String) is the
 21539  	// value.
 21540  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
 21541  
 21542  	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000
 21543  	// milliseconds or 29 seconds.
 21544  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"`
 21545  
 21546  	// Specifies the TLS configuration for an integration.
 21547  	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
 21548  
 21549  	// Specifies an API method integration type. The valid value is one of the following:
 21550  	//
 21551  	//    * AWS: for integrating the API method request with an AWS service action,
 21552  	//    including the Lambda function-invoking action. With the Lambda function-invoking
 21553  	//    action, this is referred to as the Lambda custom integration. With any
 21554  	//    other AWS service action, this is known as AWS integration.
 21555  	//
 21556  	//    * AWS_PROXY: for integrating the API method request with the Lambda function-invoking
 21557  	//    action with the client request passed through as-is. This integration
 21558  	//    is also referred to as the Lambda proxy integration.
 21559  	//
 21560  	//    * HTTP: for integrating the API method request with an HTTP endpoint,
 21561  	//    including a private HTTP endpoint within a VPC. This integration is also
 21562  	//    referred to as the HTTP custom integration.
 21563  	//
 21564  	//    * HTTP_PROXY: for integrating the API method request with an HTTP endpoint,
 21565  	//    including a private HTTP endpoint within a VPC, with the client request
 21566  	//    passed through as-is. This is also referred to as the HTTP proxy integration.
 21567  	//
 21568  	//    * MOCK: for integrating the API method request with API Gateway as a "loop-back"
 21569  	//    endpoint without invoking any backend.
 21570  	//
 21571  	// For the HTTP and HTTP proxy integrations, each integration can specify a
 21572  	// protocol (http/https), port and path. Standard 80 and 443 ports are supported
 21573  	// as well as custom ports above 1024. An HTTP or HTTP proxy integration with
 21574  	// a connectionType of VPC_LINK is referred to as a private integration and
 21575  	// uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
 21576  	Type *string `locationName:"type" type:"string" enum:"IntegrationType"`
 21577  
 21578  	// Specifies Uniform Resource Identifier (URI) of the integration endpoint.
 21579  	//
 21580  	//    * For HTTP or HTTP_PROXY integrations, the URI must be a fully formed,
 21581  	//    encoded HTTP(S) URL according to the RFC-3986 specification (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier),
 21582  	//    for either standard integration, where connectionType is not VPC_LINK,
 21583  	//    or private integration, where connectionType is VPC_LINK. For a private
 21584  	//    HTTP integration, the URI is not used for routing.
 21585  	//
 21586  	//    * For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}.
 21587  	//    Here, {Region} is the API Gateway region (e.g., us-east-1); {service}
 21588  	//    is the name of the integrated AWS service (e.g., s3); and {subdomain}
 21589  	//    is a designated subdomain supported by certain AWS service for fast host-name
 21590  	//    lookup. action can be used for an AWS service action-based API, using
 21591  	//    an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api}
 21592  	//    refers to a supported action {name} plus any required input parameters.
 21593  	//    Alternatively, path can be used for an AWS service path-based API. The
 21594  	//    ensuing service_api refers to the path to an AWS service resource, including
 21595  	//    the region of the integrated AWS service, if applicable. For example,
 21596  	//    for integration with the S3 API of GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),
 21597  	//    the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
 21598  	//    or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
 21599  	Uri *string `locationName:"uri" type:"string"`
 21600  }
 21601  
 21602  // String returns the string representation.
 21603  //
 21604  // API parameter values that are decorated as "sensitive" in the API will not
 21605  // be included in the string output. The member name will be present, but the
 21606  // value will be replaced with "sensitive".
 21607  func (s Integration) String() string {
 21608  	return awsutil.Prettify(s)
 21609  }
 21610  
 21611  // GoString returns the string representation.
 21612  //
 21613  // API parameter values that are decorated as "sensitive" in the API will not
 21614  // be included in the string output. The member name will be present, but the
 21615  // value will be replaced with "sensitive".
 21616  func (s Integration) GoString() string {
 21617  	return s.String()
 21618  }
 21619  
 21620  // SetCacheKeyParameters sets the CacheKeyParameters field's value.
 21621  func (s *Integration) SetCacheKeyParameters(v []*string) *Integration {
 21622  	s.CacheKeyParameters = v
 21623  	return s
 21624  }
 21625  
 21626  // SetCacheNamespace sets the CacheNamespace field's value.
 21627  func (s *Integration) SetCacheNamespace(v string) *Integration {
 21628  	s.CacheNamespace = &v
 21629  	return s
 21630  }
 21631  
 21632  // SetConnectionId sets the ConnectionId field's value.
 21633  func (s *Integration) SetConnectionId(v string) *Integration {
 21634  	s.ConnectionId = &v
 21635  	return s
 21636  }
 21637  
 21638  // SetConnectionType sets the ConnectionType field's value.
 21639  func (s *Integration) SetConnectionType(v string) *Integration {
 21640  	s.ConnectionType = &v
 21641  	return s
 21642  }
 21643  
 21644  // SetContentHandling sets the ContentHandling field's value.
 21645  func (s *Integration) SetContentHandling(v string) *Integration {
 21646  	s.ContentHandling = &v
 21647  	return s
 21648  }
 21649  
 21650  // SetCredentials sets the Credentials field's value.
 21651  func (s *Integration) SetCredentials(v string) *Integration {
 21652  	s.Credentials = &v
 21653  	return s
 21654  }
 21655  
 21656  // SetHttpMethod sets the HttpMethod field's value.
 21657  func (s *Integration) SetHttpMethod(v string) *Integration {
 21658  	s.HttpMethod = &v
 21659  	return s
 21660  }
 21661  
 21662  // SetIntegrationResponses sets the IntegrationResponses field's value.
 21663  func (s *Integration) SetIntegrationResponses(v map[string]*IntegrationResponse) *Integration {
 21664  	s.IntegrationResponses = v
 21665  	return s
 21666  }
 21667  
 21668  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
 21669  func (s *Integration) SetPassthroughBehavior(v string) *Integration {
 21670  	s.PassthroughBehavior = &v
 21671  	return s
 21672  }
 21673  
 21674  // SetRequestParameters sets the RequestParameters field's value.
 21675  func (s *Integration) SetRequestParameters(v map[string]*string) *Integration {
 21676  	s.RequestParameters = v
 21677  	return s
 21678  }
 21679  
 21680  // SetRequestTemplates sets the RequestTemplates field's value.
 21681  func (s *Integration) SetRequestTemplates(v map[string]*string) *Integration {
 21682  	s.RequestTemplates = v
 21683  	return s
 21684  }
 21685  
 21686  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
 21687  func (s *Integration) SetTimeoutInMillis(v int64) *Integration {
 21688  	s.TimeoutInMillis = &v
 21689  	return s
 21690  }
 21691  
 21692  // SetTlsConfig sets the TlsConfig field's value.
 21693  func (s *Integration) SetTlsConfig(v *TlsConfig) *Integration {
 21694  	s.TlsConfig = v
 21695  	return s
 21696  }
 21697  
 21698  // SetType sets the Type field's value.
 21699  func (s *Integration) SetType(v string) *Integration {
 21700  	s.Type = &v
 21701  	return s
 21702  }
 21703  
 21704  // SetUri sets the Uri field's value.
 21705  func (s *Integration) SetUri(v string) *Integration {
 21706  	s.Uri = &v
 21707  	return s
 21708  }
 21709  
 21710  // Represents an integration response. The status code must map to an existing
 21711  // MethodResponse, and parameters and templates can be used to transform the
 21712  // back-end response.
 21713  //
 21714  // Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 21715  type IntegrationResponse struct {
 21716  	_ struct{} `type:"structure"`
 21717  
 21718  	// Specifies how to handle response payload content type conversions. Supported
 21719  	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
 21720  	//
 21721  	//    * CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded
 21722  	//    string to the corresponding binary blob.
 21723  	//
 21724  	//    * CONVERT_TO_TEXT: Converts a response payload from a binary blob to a
 21725  	//    Base64-encoded string.
 21726  	//
 21727  	// If this property is not defined, the response payload will be passed through
 21728  	// from the integration response to the method response without modification.
 21729  	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
 21730  
 21731  	// A key-value map specifying response parameters that are passed to the method
 21732  	// response from the back end. The key is a method response header parameter
 21733  	// name and the mapped value is an integration response header value, a static
 21734  	// value enclosed within a pair of single quotes, or a JSON expression from
 21735  	// the integration response body. The mapping key must match the pattern of
 21736  	// method.response.header.{name}, where name is a valid and unique header name.
 21737  	// The mapped non-static value must match the pattern of integration.response.header.{name}
 21738  	// or integration.response.body.{JSON-expression}, where name is a valid and
 21739  	// unique response header name and JSON-expression is a valid JSON expression
 21740  	// without the $ prefix.
 21741  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 21742  
 21743  	// Specifies the templates used to transform the integration response body.
 21744  	// Response templates are represented as a key/value map, with a content-type
 21745  	// as the key and a template as the value.
 21746  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 21747  
 21748  	// Specifies the regular expression (regex) pattern used to choose an integration
 21749  	// response based on the response from the back end. For example, if the success
 21750  	// response returns nothing and the error response returns some string, you
 21751  	// could use the .+ regex to match error response. However, make sure that the
 21752  	// error response does not contain any newline (\n) character in such cases.
 21753  	// If the back end is an AWS Lambda function, the AWS Lambda function error
 21754  	// header is matched. For all other HTTP and AWS back ends, the HTTP status
 21755  	// code is matched.
 21756  	SelectionPattern *string `locationName:"selectionPattern" type:"string"`
 21757  
 21758  	// Specifies the status code that is used to map the integration response to
 21759  	// an existing MethodResponse.
 21760  	StatusCode *string `locationName:"statusCode" type:"string"`
 21761  }
 21762  
 21763  // String returns the string representation.
 21764  //
 21765  // API parameter values that are decorated as "sensitive" in the API will not
 21766  // be included in the string output. The member name will be present, but the
 21767  // value will be replaced with "sensitive".
 21768  func (s IntegrationResponse) String() string {
 21769  	return awsutil.Prettify(s)
 21770  }
 21771  
 21772  // GoString returns the string representation.
 21773  //
 21774  // API parameter values that are decorated as "sensitive" in the API will not
 21775  // be included in the string output. The member name will be present, but the
 21776  // value will be replaced with "sensitive".
 21777  func (s IntegrationResponse) GoString() string {
 21778  	return s.String()
 21779  }
 21780  
 21781  // SetContentHandling sets the ContentHandling field's value.
 21782  func (s *IntegrationResponse) SetContentHandling(v string) *IntegrationResponse {
 21783  	s.ContentHandling = &v
 21784  	return s
 21785  }
 21786  
 21787  // SetResponseParameters sets the ResponseParameters field's value.
 21788  func (s *IntegrationResponse) SetResponseParameters(v map[string]*string) *IntegrationResponse {
 21789  	s.ResponseParameters = v
 21790  	return s
 21791  }
 21792  
 21793  // SetResponseTemplates sets the ResponseTemplates field's value.
 21794  func (s *IntegrationResponse) SetResponseTemplates(v map[string]*string) *IntegrationResponse {
 21795  	s.ResponseTemplates = v
 21796  	return s
 21797  }
 21798  
 21799  // SetSelectionPattern sets the SelectionPattern field's value.
 21800  func (s *IntegrationResponse) SetSelectionPattern(v string) *IntegrationResponse {
 21801  	s.SelectionPattern = &v
 21802  	return s
 21803  }
 21804  
 21805  // SetStatusCode sets the StatusCode field's value.
 21806  func (s *IntegrationResponse) SetStatusCode(v string) *IntegrationResponse {
 21807  	s.StatusCode = &v
 21808  	return s
 21809  }
 21810  
 21811  // The request exceeded the rate limit. Retry after the specified time period.
 21812  type LimitExceededException struct {
 21813  	_            struct{}                  `type:"structure"`
 21814  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21815  
 21816  	Message_ *string `locationName:"message" type:"string"`
 21817  
 21818  	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
 21819  }
 21820  
 21821  // String returns the string representation.
 21822  //
 21823  // API parameter values that are decorated as "sensitive" in the API will not
 21824  // be included in the string output. The member name will be present, but the
 21825  // value will be replaced with "sensitive".
 21826  func (s LimitExceededException) String() string {
 21827  	return awsutil.Prettify(s)
 21828  }
 21829  
 21830  // GoString returns the string representation.
 21831  //
 21832  // API parameter values that are decorated as "sensitive" in the API will not
 21833  // be included in the string output. The member name will be present, but the
 21834  // value will be replaced with "sensitive".
 21835  func (s LimitExceededException) GoString() string {
 21836  	return s.String()
 21837  }
 21838  
 21839  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 21840  	return &LimitExceededException{
 21841  		RespMetadata: v,
 21842  	}
 21843  }
 21844  
 21845  // Code returns the exception type name.
 21846  func (s *LimitExceededException) Code() string {
 21847  	return "LimitExceededException"
 21848  }
 21849  
 21850  // Message returns the exception's message.
 21851  func (s *LimitExceededException) Message() string {
 21852  	if s.Message_ != nil {
 21853  		return *s.Message_
 21854  	}
 21855  	return ""
 21856  }
 21857  
 21858  // OrigErr always returns nil, satisfies awserr.Error interface.
 21859  func (s *LimitExceededException) OrigErr() error {
 21860  	return nil
 21861  }
 21862  
 21863  func (s *LimitExceededException) Error() string {
 21864  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 21865  }
 21866  
 21867  // Status code returns the HTTP status code for the request's response error.
 21868  func (s *LimitExceededException) StatusCode() int {
 21869  	return s.RespMetadata.StatusCode
 21870  }
 21871  
 21872  // RequestID returns the service's response RequestID for request.
 21873  func (s *LimitExceededException) RequestID() string {
 21874  	return s.RespMetadata.RequestID
 21875  }
 21876  
 21877  // Represents a client-facing interface by which the client calls the API to
 21878  // access back-end resources. A Method resource is integrated with an Integration
 21879  // resource. Both consist of a request and one or more responses. The method
 21880  // request takes the client input that is passed to the back end through the
 21881  // integration request. A method response returns the output from the back end
 21882  // to the client through an integration response. A method request is embodied
 21883  // in a Method resource, whereas an integration request is embodied in an Integration
 21884  // resource. On the other hand, a method response is represented by a MethodResponse
 21885  // resource, whereas an integration response is represented by an IntegrationResponse
 21886  // resource.
 21887  //
 21888  // Example: Retrive the GET method on a specified resource
 21889  //
 21890  // Request
 21891  //
 21892  // The following example request retrieves the information about the GET method
 21893  // on an API resource (3kzxbg5sa2) of an API (fugvjdxtri).
 21894  //  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
 21895  //  application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z
 21896  //  Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request,
 21897  //  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 21898  // Response
 21899  //
 21900  // The successful response returns a 200 OK status code and a payload similar
 21901  // to the following:
 21902  //  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
 21903  //  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
 21904  //  "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html",
 21905  //  "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
 21906  //  "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET",
 21907  //  "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 21908  //  }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
 21909  //  }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 21910  //  }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
 21911  //  "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
 21912  //  }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
 21913  //  "templated": true } }, "apiKeyRequired": true, "authorizationType": "NONE",
 21914  //  "httpMethod": "GET", "_embedded": { "method:integration": { "_links": {
 21915  //  "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 21916  //  }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 21917  //  }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
 21918  //  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 21919  //  }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}",
 21920  //  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2",
 21921  //  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
 21922  //  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type":
 21923  //  "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json":
 21924  //  "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams",
 21925  //  "_embedded": { "integration:responses": { "_links": { "self": { "href":
 21926  //  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
 21927  //  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
 21928  //  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
 21929  //  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
 21930  //  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
 21931  //  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\")"
 21932  //  }, "statusCode": "200" } } }, "method:responses": { "_links": { "self":
 21933  //  { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
 21934  //  "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
 21935  //  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
 21936  //  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
 21937  //  { "method.response.header.Content-Type": false }, "statusCode": "200" }
 21938  //  } }
 21939  // In the example above, the response template for the 200 OK response maps
 21940  // the JSON output from the ListStreams action in the back end to an XML output.
 21941  // The mapping template is URL-encoded as %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E
 21942  // and the output is decoded using the $util.urlDecode() (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#util-templat-reference)
 21943  // helper function.
 21944  //
 21945  // MethodResponse, Integration, IntegrationResponse, Resource, Set up an API's
 21946  // method (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html)
 21947  type Method struct {
 21948  	_ struct{} `type:"structure"`
 21949  
 21950  	// A boolean flag specifying whether a valid ApiKey is required to invoke this
 21951  	// method.
 21952  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
 21953  
 21954  	// A list of authorization scopes configured on the method. The scopes are used
 21955  	// with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
 21956  	// The authorization works by matching the method scopes against the scopes
 21957  	// parsed from the access token in the incoming request. The method invocation
 21958  	// is authorized if any method scopes matches a claimed scope in the access
 21959  	// token. Otherwise, the invocation is not authorized. When the method scope
 21960  	// is configured, the client must provide an access token instead of an identity
 21961  	// token for authorization purposes.
 21962  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
 21963  
 21964  	// The method's authorization type. Valid values are NONE for open access, AWS_IAM
 21965  	// for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS
 21966  	// for using a Cognito user pool.
 21967  	AuthorizationType *string `locationName:"authorizationType" type:"string"`
 21968  
 21969  	// The identifier of an Authorizer to use on this method. The authorizationType
 21970  	// must be CUSTOM.
 21971  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 21972  
 21973  	// The method's HTTP verb.
 21974  	HttpMethod *string `locationName:"httpMethod" type:"string"`
 21975  
 21976  	// Gets the method's integration responsible for passing the client-submitted
 21977  	// request to the back end and performing necessary transformations to make
 21978  	// the request compliant with the back end.
 21979  	//
 21980  	// Example:
 21981  	//
 21982  	// Request
 21983  	//   GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1
 21984  	//   Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
 21985  	//   Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256
 21986  	//   Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
 21987  	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 21988  	// Response
 21989  	//
 21990  	// The successful response returns a 200 OK status code and a payload similar
 21991  	// to the following:
 21992  	//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
 21993  	//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
 21994  	//  "name": "integrationresponse", "templated": true } ], "self": { "href":
 21995  	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration" }, "integration:delete":
 21996  	//  { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration"
 21997  	//  }, "integration:responses": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
 21998  	//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration"
 21999  	//  }, "integrationresponse:put": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}",
 22000  	//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "0cjtch",
 22001  	//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
 22002  	//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestTemplates": { "application/json":
 22003  	//  "{\n \"a\": \"$input.params('operand1')\",\n \"b\": \"$input.params('operand2')\",
 22004  	//  \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",
 22005  	//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
 22006  	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200",
 22007  	//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
 22008  	//  "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200"
 22009  	//  }, "integrationresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200"
 22010  	//  } }, "responseParameters": { "method.response.header.operator": "integration.response.body.op",
 22011  	//  "method.response.header.operand_2": "integration.response.body.b", "method.response.header.operand_1":
 22012  	//  "integration.response.body.a" }, "responseTemplates": { "application/json":
 22013  	//  "#set($res = $input.path('$'))\n{\n \"result\": \"$res.a, $res.b, $res.op
 22014  	//  => $res.c\",\n \"a\" : \"$res.a\",\n \"b\" : \"$res.b\",\n \"op\" : \"$res.op\",\n
 22015  	//  \"c\" : \"$res.c\"\n}" }, "selectionPattern": "", "statusCode": "200" }
 22016  	//  } }
 22017  	//
 22018  	// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-integration.html)
 22019  	MethodIntegration *Integration `locationName:"methodIntegration" type:"structure"`
 22020  
 22021  	// Gets a method response associated with a given HTTP status code.
 22022  	//
 22023  	// The collection of method responses are encapsulated in a key-value map, where
 22024  	// the key is a response's HTTP status code and the value is a MethodResponse
 22025  	// resource that specifies the response returned to the caller from the back
 22026  	// end through the integration response.
 22027  	//
 22028  	// Example: Get a 200 OK response of a GET method
 22029  	//
 22030  	// Request
 22031  	//   GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
 22032  	//   Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
 22033  	//   Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256
 22034  	//   Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request,
 22035  	//   SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 22036  	// Response
 22037  	//
 22038  	// The successful response returns a 200 OK status code and a payload similar
 22039  	// to the following:
 22040  	//  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
 22041  	//  "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200",
 22042  	//  "title": "200" }, "methodresponse:delete": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
 22043  	//  }, "methodresponse:update": { "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
 22044  	//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
 22045  	//  { "method.response.header.operator": false, "method.response.header.operand_2":
 22046  	//  false, "method.response.header.operand_1": false }, "statusCode": "200"
 22047  	//  }
 22048  	//
 22049  	// AWS CLI (https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-method-response.html)
 22050  	MethodResponses map[string]*MethodResponse `locationName:"methodResponses" type:"map"`
 22051  
 22052  	// A human-friendly operation identifier for the method. For example, you can
 22053  	// assign the operationName of ListPets for the GET /pets method in the PetStore
 22054  	// example.
 22055  	OperationName *string `locationName:"operationName" type:"string"`
 22056  
 22057  	// A key-value map specifying data schemas, represented by Model resources,
 22058  	// (as the mapped value) of the request payloads of given content types (as
 22059  	// the mapping key).
 22060  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
 22061  
 22062  	// A key-value map defining required or optional method request parameters that
 22063  	// can be accepted by API Gateway. A key is a method request parameter name
 22064  	// matching the pattern of method.request.{location}.{name}, where location
 22065  	// is querystring, path, or header and name is a valid and unique parameter
 22066  	// name. The value associated with the key is a Boolean flag indicating whether
 22067  	// the parameter is required (true) or optional (false). The method request
 22068  	// parameter names defined here are available in Integration to be mapped to
 22069  	// integration request parameters or templates.
 22070  	RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"`
 22071  
 22072  	// The identifier of a RequestValidator for request validation.
 22073  	RequestValidatorId *string `locationName:"requestValidatorId" type:"string"`
 22074  }
 22075  
 22076  // String returns the string representation.
 22077  //
 22078  // API parameter values that are decorated as "sensitive" in the API will not
 22079  // be included in the string output. The member name will be present, but the
 22080  // value will be replaced with "sensitive".
 22081  func (s Method) String() string {
 22082  	return awsutil.Prettify(s)
 22083  }
 22084  
 22085  // GoString returns the string representation.
 22086  //
 22087  // API parameter values that are decorated as "sensitive" in the API will not
 22088  // be included in the string output. The member name will be present, but the
 22089  // value will be replaced with "sensitive".
 22090  func (s Method) GoString() string {
 22091  	return s.String()
 22092  }
 22093  
 22094  // SetApiKeyRequired sets the ApiKeyRequired field's value.
 22095  func (s *Method) SetApiKeyRequired(v bool) *Method {
 22096  	s.ApiKeyRequired = &v
 22097  	return s
 22098  }
 22099  
 22100  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
 22101  func (s *Method) SetAuthorizationScopes(v []*string) *Method {
 22102  	s.AuthorizationScopes = v
 22103  	return s
 22104  }
 22105  
 22106  // SetAuthorizationType sets the AuthorizationType field's value.
 22107  func (s *Method) SetAuthorizationType(v string) *Method {
 22108  	s.AuthorizationType = &v
 22109  	return s
 22110  }
 22111  
 22112  // SetAuthorizerId sets the AuthorizerId field's value.
 22113  func (s *Method) SetAuthorizerId(v string) *Method {
 22114  	s.AuthorizerId = &v
 22115  	return s
 22116  }
 22117  
 22118  // SetHttpMethod sets the HttpMethod field's value.
 22119  func (s *Method) SetHttpMethod(v string) *Method {
 22120  	s.HttpMethod = &v
 22121  	return s
 22122  }
 22123  
 22124  // SetMethodIntegration sets the MethodIntegration field's value.
 22125  func (s *Method) SetMethodIntegration(v *Integration) *Method {
 22126  	s.MethodIntegration = v
 22127  	return s
 22128  }
 22129  
 22130  // SetMethodResponses sets the MethodResponses field's value.
 22131  func (s *Method) SetMethodResponses(v map[string]*MethodResponse) *Method {
 22132  	s.MethodResponses = v
 22133  	return s
 22134  }
 22135  
 22136  // SetOperationName sets the OperationName field's value.
 22137  func (s *Method) SetOperationName(v string) *Method {
 22138  	s.OperationName = &v
 22139  	return s
 22140  }
 22141  
 22142  // SetRequestModels sets the RequestModels field's value.
 22143  func (s *Method) SetRequestModels(v map[string]*string) *Method {
 22144  	s.RequestModels = v
 22145  	return s
 22146  }
 22147  
 22148  // SetRequestParameters sets the RequestParameters field's value.
 22149  func (s *Method) SetRequestParameters(v map[string]*bool) *Method {
 22150  	s.RequestParameters = v
 22151  	return s
 22152  }
 22153  
 22154  // SetRequestValidatorId sets the RequestValidatorId field's value.
 22155  func (s *Method) SetRequestValidatorId(v string) *Method {
 22156  	s.RequestValidatorId = &v
 22157  	return s
 22158  }
 22159  
 22160  // Represents a method response of a given HTTP status code returned to the
 22161  // client. The method response is passed from the back end through the associated
 22162  // integration response that can be transformed using a mapping template.
 22163  //
 22164  // Example: A MethodResponse instance of an API
 22165  //
 22166  // Request
 22167  //
 22168  // The example request retrieves a MethodResponse of the 200 status code.
 22169  //  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200
 22170  //  HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com
 22171  //  X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request,
 22172  //  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 22173  // Response
 22174  //
 22175  // The successful response returns 200 OK status and a payload as follows:
 22176  //  { "_links": { "curies": { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
 22177  //  "name": "methodresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
 22178  //  "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
 22179  //  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
 22180  //  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
 22181  //  { "method.response.header.Content-Type": false }, "statusCode": "200" }
 22182  //
 22183  // Method, IntegrationResponse, Integration Creating an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 22184  type MethodResponse struct {
 22185  	_ struct{} `type:"structure"`
 22186  
 22187  	// Specifies the Model resources used for the response's content-type. Response
 22188  	// models are represented as a key/value map, with a content-type as the key
 22189  	// and a Model name as the value.
 22190  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
 22191  
 22192  	// A key-value map specifying required or optional response parameters that
 22193  	// API Gateway can send back to the caller. A key defines a method response
 22194  	// header and the value specifies whether the associated method response header
 22195  	// is required or not. The expression of the key must match the pattern method.response.header.{name},
 22196  	// where name is a valid and unique header name. API Gateway passes certain
 22197  	// integration response data to the method response headers specified here according
 22198  	// to the mapping you prescribe in the API's IntegrationResponse. The integration
 22199  	// response data that can be mapped include an integration response header expressed
 22200  	// in integration.response.header.{name}, a static value enclosed within a pair
 22201  	// of single quotes (e.g., 'application/json'), or a JSON expression from the
 22202  	// back-end response payload in the form of integration.response.body.{JSON-expression},
 22203  	// where JSON-expression is a valid JSON expression without the $ prefix.)
 22204  	ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"`
 22205  
 22206  	// The method response's status code.
 22207  	StatusCode *string `locationName:"statusCode" type:"string"`
 22208  }
 22209  
 22210  // String returns the string representation.
 22211  //
 22212  // API parameter values that are decorated as "sensitive" in the API will not
 22213  // be included in the string output. The member name will be present, but the
 22214  // value will be replaced with "sensitive".
 22215  func (s MethodResponse) String() string {
 22216  	return awsutil.Prettify(s)
 22217  }
 22218  
 22219  // GoString returns the string representation.
 22220  //
 22221  // API parameter values that are decorated as "sensitive" in the API will not
 22222  // be included in the string output. The member name will be present, but the
 22223  // value will be replaced with "sensitive".
 22224  func (s MethodResponse) GoString() string {
 22225  	return s.String()
 22226  }
 22227  
 22228  // SetResponseModels sets the ResponseModels field's value.
 22229  func (s *MethodResponse) SetResponseModels(v map[string]*string) *MethodResponse {
 22230  	s.ResponseModels = v
 22231  	return s
 22232  }
 22233  
 22234  // SetResponseParameters sets the ResponseParameters field's value.
 22235  func (s *MethodResponse) SetResponseParameters(v map[string]*bool) *MethodResponse {
 22236  	s.ResponseParameters = v
 22237  	return s
 22238  }
 22239  
 22240  // SetStatusCode sets the StatusCode field's value.
 22241  func (s *MethodResponse) SetStatusCode(v string) *MethodResponse {
 22242  	s.StatusCode = &v
 22243  	return s
 22244  }
 22245  
 22246  // Specifies the method setting properties.
 22247  type MethodSetting struct {
 22248  	_ struct{} `type:"structure"`
 22249  
 22250  	// Specifies whether the cached responses are encrypted. The PATCH path for
 22251  	// this setting is /{method_setting_key}/caching/dataEncrypted, and the value
 22252  	// is a Boolean.
 22253  	CacheDataEncrypted *bool `locationName:"cacheDataEncrypted" type:"boolean"`
 22254  
 22255  	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
 22256  	// the TTL, the longer the response will be cached. The PATCH path for this
 22257  	// setting is /{method_setting_key}/caching/ttlInSeconds, and the value is an
 22258  	// integer.
 22259  	CacheTtlInSeconds *int64 `locationName:"cacheTtlInSeconds" type:"integer"`
 22260  
 22261  	// Specifies whether responses should be cached and returned for requests. A
 22262  	// cache cluster must be enabled on the stage for responses to be cached. The
 22263  	// PATCH path for this setting is /{method_setting_key}/caching/enabled, and
 22264  	// the value is a Boolean.
 22265  	CachingEnabled *bool `locationName:"cachingEnabled" type:"boolean"`
 22266  
 22267  	// Specifies whether data trace logging is enabled for this method, which affects
 22268  	// the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this
 22269  	// setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.
 22270  	DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"`
 22271  
 22272  	// Specifies the logging level for this method, which affects the log entries
 22273  	// pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel,
 22274  	// and the available levels are OFF, ERROR, and INFO. Choose ERROR to write
 22275  	// only error-level entries to CloudWatch Logs, or choose INFO to include all
 22276  	// ERROR events as well as extra informational events.
 22277  	LoggingLevel *string `locationName:"loggingLevel" type:"string"`
 22278  
 22279  	// Specifies whether Amazon CloudWatch metrics are enabled for this method.
 22280  	// The PATCH path for this setting is /{method_setting_key}/metrics/enabled,
 22281  	// and the value is a Boolean.
 22282  	MetricsEnabled *bool `locationName:"metricsEnabled" type:"boolean"`
 22283  
 22284  	// Specifies whether authorization is required for a cache invalidation request.
 22285  	// The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl,
 22286  	// and the value is a Boolean.
 22287  	RequireAuthorizationForCacheControl *bool `locationName:"requireAuthorizationForCacheControl" type:"boolean"`
 22288  
 22289  	// Specifies the throttling burst limit. The PATCH path for this setting is
 22290  	// /{method_setting_key}/throttling/burstLimit, and the value is an integer.
 22291  	ThrottlingBurstLimit *int64 `locationName:"throttlingBurstLimit" type:"integer"`
 22292  
 22293  	// Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit,
 22294  	// and the value is a double.
 22295  	ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"`
 22296  
 22297  	// Specifies how to handle unauthorized requests for cache invalidation. The
 22298  	// PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy,
 22299  	// and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER,
 22300  	// SUCCEED_WITHOUT_RESPONSE_HEADER.
 22301  	UnauthorizedCacheControlHeaderStrategy *string `locationName:"unauthorizedCacheControlHeaderStrategy" type:"string" enum:"UnauthorizedCacheControlHeaderStrategy"`
 22302  }
 22303  
 22304  // String returns the string representation.
 22305  //
 22306  // API parameter values that are decorated as "sensitive" in the API will not
 22307  // be included in the string output. The member name will be present, but the
 22308  // value will be replaced with "sensitive".
 22309  func (s MethodSetting) String() string {
 22310  	return awsutil.Prettify(s)
 22311  }
 22312  
 22313  // GoString returns the string representation.
 22314  //
 22315  // API parameter values that are decorated as "sensitive" in the API will not
 22316  // be included in the string output. The member name will be present, but the
 22317  // value will be replaced with "sensitive".
 22318  func (s MethodSetting) GoString() string {
 22319  	return s.String()
 22320  }
 22321  
 22322  // SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
 22323  func (s *MethodSetting) SetCacheDataEncrypted(v bool) *MethodSetting {
 22324  	s.CacheDataEncrypted = &v
 22325  	return s
 22326  }
 22327  
 22328  // SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
 22329  func (s *MethodSetting) SetCacheTtlInSeconds(v int64) *MethodSetting {
 22330  	s.CacheTtlInSeconds = &v
 22331  	return s
 22332  }
 22333  
 22334  // SetCachingEnabled sets the CachingEnabled field's value.
 22335  func (s *MethodSetting) SetCachingEnabled(v bool) *MethodSetting {
 22336  	s.CachingEnabled = &v
 22337  	return s
 22338  }
 22339  
 22340  // SetDataTraceEnabled sets the DataTraceEnabled field's value.
 22341  func (s *MethodSetting) SetDataTraceEnabled(v bool) *MethodSetting {
 22342  	s.DataTraceEnabled = &v
 22343  	return s
 22344  }
 22345  
 22346  // SetLoggingLevel sets the LoggingLevel field's value.
 22347  func (s *MethodSetting) SetLoggingLevel(v string) *MethodSetting {
 22348  	s.LoggingLevel = &v
 22349  	return s
 22350  }
 22351  
 22352  // SetMetricsEnabled sets the MetricsEnabled field's value.
 22353  func (s *MethodSetting) SetMetricsEnabled(v bool) *MethodSetting {
 22354  	s.MetricsEnabled = &v
 22355  	return s
 22356  }
 22357  
 22358  // SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
 22359  func (s *MethodSetting) SetRequireAuthorizationForCacheControl(v bool) *MethodSetting {
 22360  	s.RequireAuthorizationForCacheControl = &v
 22361  	return s
 22362  }
 22363  
 22364  // SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
 22365  func (s *MethodSetting) SetThrottlingBurstLimit(v int64) *MethodSetting {
 22366  	s.ThrottlingBurstLimit = &v
 22367  	return s
 22368  }
 22369  
 22370  // SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
 22371  func (s *MethodSetting) SetThrottlingRateLimit(v float64) *MethodSetting {
 22372  	s.ThrottlingRateLimit = &v
 22373  	return s
 22374  }
 22375  
 22376  // SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
 22377  func (s *MethodSetting) SetUnauthorizedCacheControlHeaderStrategy(v string) *MethodSetting {
 22378  	s.UnauthorizedCacheControlHeaderStrategy = &v
 22379  	return s
 22380  }
 22381  
 22382  // Represents a summary of a Method resource, given a particular date and time.
 22383  type MethodSnapshot struct {
 22384  	_ struct{} `type:"structure"`
 22385  
 22386  	// Specifies whether the method requires a valid ApiKey.
 22387  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
 22388  
 22389  	// The method's authorization type. Valid values are NONE for open access, AWS_IAM
 22390  	// for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS
 22391  	// for using a Cognito user pool.
 22392  	AuthorizationType *string `locationName:"authorizationType" type:"string"`
 22393  }
 22394  
 22395  // String returns the string representation.
 22396  //
 22397  // API parameter values that are decorated as "sensitive" in the API will not
 22398  // be included in the string output. The member name will be present, but the
 22399  // value will be replaced with "sensitive".
 22400  func (s MethodSnapshot) String() string {
 22401  	return awsutil.Prettify(s)
 22402  }
 22403  
 22404  // GoString returns the string representation.
 22405  //
 22406  // API parameter values that are decorated as "sensitive" in the API will not
 22407  // be included in the string output. The member name will be present, but the
 22408  // value will be replaced with "sensitive".
 22409  func (s MethodSnapshot) GoString() string {
 22410  	return s.String()
 22411  }
 22412  
 22413  // SetApiKeyRequired sets the ApiKeyRequired field's value.
 22414  func (s *MethodSnapshot) SetApiKeyRequired(v bool) *MethodSnapshot {
 22415  	s.ApiKeyRequired = &v
 22416  	return s
 22417  }
 22418  
 22419  // SetAuthorizationType sets the AuthorizationType field's value.
 22420  func (s *MethodSnapshot) SetAuthorizationType(v string) *MethodSnapshot {
 22421  	s.AuthorizationType = &v
 22422  	return s
 22423  }
 22424  
 22425  // Represents the data structure of a method's request or response payload.
 22426  //
 22427  // A request model defines the data structure of the client-supplied request
 22428  // payload. A response model defines the data structure of the response payload
 22429  // returned by the back end. Although not required, models are useful for mapping
 22430  // payloads between the front end and back end.
 22431  //
 22432  // A model is used for generating an API's SDK, validating the input request
 22433  // body, and creating a skeletal mapping template.
 22434  //
 22435  // Method, MethodResponse, Models and Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html)
 22436  type Model struct {
 22437  	_ struct{} `type:"structure"`
 22438  
 22439  	// The content-type for the model.
 22440  	ContentType *string `locationName:"contentType" type:"string"`
 22441  
 22442  	// The description of the model.
 22443  	Description *string `locationName:"description" type:"string"`
 22444  
 22445  	// The identifier for the model resource.
 22446  	Id *string `locationName:"id" type:"string"`
 22447  
 22448  	// The name of the model. Must be an alphanumeric string.
 22449  	Name *string `locationName:"name" type:"string"`
 22450  
 22451  	// The schema for the model. For application/json models, this should be JSON
 22452  	// schema draft 4 (https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
 22453  	// Do not include "\*/" characters in the description of any properties because
 22454  	// such "\*/" characters may be interpreted as the closing marker for comments
 22455  	// in some languages, such as Java or JavaScript, causing the installation of
 22456  	// your API's SDK generated by API Gateway to fail.
 22457  	Schema *string `locationName:"schema" type:"string"`
 22458  }
 22459  
 22460  // String returns the string representation.
 22461  //
 22462  // API parameter values that are decorated as "sensitive" in the API will not
 22463  // be included in the string output. The member name will be present, but the
 22464  // value will be replaced with "sensitive".
 22465  func (s Model) String() string {
 22466  	return awsutil.Prettify(s)
 22467  }
 22468  
 22469  // GoString returns the string representation.
 22470  //
 22471  // API parameter values that are decorated as "sensitive" in the API will not
 22472  // be included in the string output. The member name will be present, but the
 22473  // value will be replaced with "sensitive".
 22474  func (s Model) GoString() string {
 22475  	return s.String()
 22476  }
 22477  
 22478  // SetContentType sets the ContentType field's value.
 22479  func (s *Model) SetContentType(v string) *Model {
 22480  	s.ContentType = &v
 22481  	return s
 22482  }
 22483  
 22484  // SetDescription sets the Description field's value.
 22485  func (s *Model) SetDescription(v string) *Model {
 22486  	s.Description = &v
 22487  	return s
 22488  }
 22489  
 22490  // SetId sets the Id field's value.
 22491  func (s *Model) SetId(v string) *Model {
 22492  	s.Id = &v
 22493  	return s
 22494  }
 22495  
 22496  // SetName sets the Name field's value.
 22497  func (s *Model) SetName(v string) *Model {
 22498  	s.Name = &v
 22499  	return s
 22500  }
 22501  
 22502  // SetSchema sets the Schema field's value.
 22503  func (s *Model) SetSchema(v string) *Model {
 22504  	s.Schema = &v
 22505  	return s
 22506  }
 22507  
 22508  // If specified, API Gateway performs two-way authentication between the client
 22509  // and the server. Clients must present a trusted certificate to access your
 22510  // custom domain name.
 22511  type MutualTlsAuthentication struct {
 22512  	_ struct{} `type:"structure"`
 22513  
 22514  	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
 22515  	// for example s3://bucket-name/key-name. The truststore can contain certificates
 22516  	// from public or private certificate authorities. To update the truststore,
 22517  	// upload a new version to S3, and then update your custom domain name to use
 22518  	// the new version. To update the truststore, you must have permissions to access
 22519  	// the S3 object.
 22520  	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
 22521  
 22522  	// The version of the S3 object that contains your truststore. To specify a
 22523  	// version, you must have versioning enabled for the S3 bucket.
 22524  	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
 22525  
 22526  	// A list of warnings that API Gateway returns while processing your truststore.
 22527  	// Invalid certificates produce warnings. Mutual TLS is still enabled, but some
 22528  	// clients might not be able to access your API. To resolve warnings, upload
 22529  	// a new truststore to S3, and then update you domain name to use the new version.
 22530  	TruststoreWarnings []*string `locationName:"truststoreWarnings" type:"list"`
 22531  }
 22532  
 22533  // String returns the string representation.
 22534  //
 22535  // API parameter values that are decorated as "sensitive" in the API will not
 22536  // be included in the string output. The member name will be present, but the
 22537  // value will be replaced with "sensitive".
 22538  func (s MutualTlsAuthentication) String() string {
 22539  	return awsutil.Prettify(s)
 22540  }
 22541  
 22542  // GoString returns the string representation.
 22543  //
 22544  // API parameter values that are decorated as "sensitive" in the API will not
 22545  // be included in the string output. The member name will be present, but the
 22546  // value will be replaced with "sensitive".
 22547  func (s MutualTlsAuthentication) GoString() string {
 22548  	return s.String()
 22549  }
 22550  
 22551  // SetTruststoreUri sets the TruststoreUri field's value.
 22552  func (s *MutualTlsAuthentication) SetTruststoreUri(v string) *MutualTlsAuthentication {
 22553  	s.TruststoreUri = &v
 22554  	return s
 22555  }
 22556  
 22557  // SetTruststoreVersion sets the TruststoreVersion field's value.
 22558  func (s *MutualTlsAuthentication) SetTruststoreVersion(v string) *MutualTlsAuthentication {
 22559  	s.TruststoreVersion = &v
 22560  	return s
 22561  }
 22562  
 22563  // SetTruststoreWarnings sets the TruststoreWarnings field's value.
 22564  func (s *MutualTlsAuthentication) SetTruststoreWarnings(v []*string) *MutualTlsAuthentication {
 22565  	s.TruststoreWarnings = v
 22566  	return s
 22567  }
 22568  
 22569  // If specified, API Gateway performs two-way authentication between the client
 22570  // and the server. Clients must present a trusted certificate to access your
 22571  // custom domain name.
 22572  type MutualTlsAuthenticationInput struct {
 22573  	_ struct{} `type:"structure"`
 22574  
 22575  	// An Amazon S3 resource ARN that specifies the truststore for mutual TLS authentication,
 22576  	// for example, s3://bucket-name/key-name. The truststore can contain certificates
 22577  	// from public or private certificate authorities. To update the truststore,
 22578  	// upload a new version to S3, and then update your custom domain name to use
 22579  	// the new version. To update the truststore, you must have permissions to access
 22580  	// the S3 object.
 22581  	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
 22582  
 22583  	// The version of the S3 object that contains your truststore. To specify a
 22584  	// version, you must have versioning enabled for the S3 bucket.
 22585  	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
 22586  }
 22587  
 22588  // String returns the string representation.
 22589  //
 22590  // API parameter values that are decorated as "sensitive" in the API will not
 22591  // be included in the string output. The member name will be present, but the
 22592  // value will be replaced with "sensitive".
 22593  func (s MutualTlsAuthenticationInput) String() string {
 22594  	return awsutil.Prettify(s)
 22595  }
 22596  
 22597  // GoString returns the string representation.
 22598  //
 22599  // API parameter values that are decorated as "sensitive" in the API will not
 22600  // be included in the string output. The member name will be present, but the
 22601  // value will be replaced with "sensitive".
 22602  func (s MutualTlsAuthenticationInput) GoString() string {
 22603  	return s.String()
 22604  }
 22605  
 22606  // SetTruststoreUri sets the TruststoreUri field's value.
 22607  func (s *MutualTlsAuthenticationInput) SetTruststoreUri(v string) *MutualTlsAuthenticationInput {
 22608  	s.TruststoreUri = &v
 22609  	return s
 22610  }
 22611  
 22612  // SetTruststoreVersion sets the TruststoreVersion field's value.
 22613  func (s *MutualTlsAuthenticationInput) SetTruststoreVersion(v string) *MutualTlsAuthenticationInput {
 22614  	s.TruststoreVersion = &v
 22615  	return s
 22616  }
 22617  
 22618  // The requested resource is not found. Make sure that the request URI is correct.
 22619  type NotFoundException struct {
 22620  	_            struct{}                  `type:"structure"`
 22621  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22622  
 22623  	Message_ *string `locationName:"message" type:"string"`
 22624  }
 22625  
 22626  // String returns the string representation.
 22627  //
 22628  // API parameter values that are decorated as "sensitive" in the API will not
 22629  // be included in the string output. The member name will be present, but the
 22630  // value will be replaced with "sensitive".
 22631  func (s NotFoundException) String() string {
 22632  	return awsutil.Prettify(s)
 22633  }
 22634  
 22635  // GoString returns the string representation.
 22636  //
 22637  // API parameter values that are decorated as "sensitive" in the API will not
 22638  // be included in the string output. The member name will be present, but the
 22639  // value will be replaced with "sensitive".
 22640  func (s NotFoundException) GoString() string {
 22641  	return s.String()
 22642  }
 22643  
 22644  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 22645  	return &NotFoundException{
 22646  		RespMetadata: v,
 22647  	}
 22648  }
 22649  
 22650  // Code returns the exception type name.
 22651  func (s *NotFoundException) Code() string {
 22652  	return "NotFoundException"
 22653  }
 22654  
 22655  // Message returns the exception's message.
 22656  func (s *NotFoundException) Message() string {
 22657  	if s.Message_ != nil {
 22658  		return *s.Message_
 22659  	}
 22660  	return ""
 22661  }
 22662  
 22663  // OrigErr always returns nil, satisfies awserr.Error interface.
 22664  func (s *NotFoundException) OrigErr() error {
 22665  	return nil
 22666  }
 22667  
 22668  func (s *NotFoundException) Error() string {
 22669  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22670  }
 22671  
 22672  // Status code returns the HTTP status code for the request's response error.
 22673  func (s *NotFoundException) StatusCode() int {
 22674  	return s.RespMetadata.StatusCode
 22675  }
 22676  
 22677  // RequestID returns the service's response RequestID for request.
 22678  func (s *NotFoundException) RequestID() string {
 22679  	return s.RespMetadata.RequestID
 22680  }
 22681  
 22682  // A single patch operation to apply to the specified resource. Please refer
 22683  // to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how
 22684  // each operation is used.
 22685  type PatchOperation struct {
 22686  	_ struct{} `type:"structure"`
 22687  
 22688  	// The copy update operation's source as identified by a JSON-Pointer value
 22689  	// referencing the location within the targeted resource to copy the value from.
 22690  	// For example, to promote a canary deployment, you copy the canary deployment
 22691  	// ID to the affiliated deployment ID by calling a PATCH request on a Stage
 22692  	// resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".
 22693  	From *string `locationName:"from" type:"string"`
 22694  
 22695  	// An update operation to be performed with this PATCH request. The valid value
 22696  	// can be add, remove, replace or copy. Not all valid operations are supported
 22697  	// for a given resource. Support of the operations depends on specific operational
 22698  	// contexts. Attempts to apply an unsupported operation on a resource will return
 22699  	// an error message.
 22700  	Op *string `locationName:"op" type:"string" enum:"Op"`
 22701  
 22702  	// The op operation's target, as identified by a JSON Pointer (https://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08)
 22703  	// value that references a location within the targeted resource. For example,
 22704  	// if the target resource has an updateable property of {"name":"value"}, the
 22705  	// path for this property is /name. If the name property value is a JSON object
 22706  	// (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name
 22707  	// property will be /name/child~1name. Any slash ("/") character appearing in
 22708  	// path names must be escaped with "~1", as shown in the example above. Each
 22709  	// op operation can have only one path associated with it.
 22710  	Path *string `locationName:"path" type:"string"`
 22711  
 22712  	// The new target value of the update operation. It is applicable for the add
 22713  	// or replace operation. When using AWS CLI to update a property of a JSON value,
 22714  	// enclose the JSON object with a pair of single quotes in a Linux shell, e.g.,
 22715  	// '{"a": ...}'. In a Windows shell, see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json).
 22716  	Value *string `locationName:"value" type:"string"`
 22717  }
 22718  
 22719  // String returns the string representation.
 22720  //
 22721  // API parameter values that are decorated as "sensitive" in the API will not
 22722  // be included in the string output. The member name will be present, but the
 22723  // value will be replaced with "sensitive".
 22724  func (s PatchOperation) String() string {
 22725  	return awsutil.Prettify(s)
 22726  }
 22727  
 22728  // GoString returns the string representation.
 22729  //
 22730  // API parameter values that are decorated as "sensitive" in the API will not
 22731  // be included in the string output. The member name will be present, but the
 22732  // value will be replaced with "sensitive".
 22733  func (s PatchOperation) GoString() string {
 22734  	return s.String()
 22735  }
 22736  
 22737  // SetFrom sets the From field's value.
 22738  func (s *PatchOperation) SetFrom(v string) *PatchOperation {
 22739  	s.From = &v
 22740  	return s
 22741  }
 22742  
 22743  // SetOp sets the Op field's value.
 22744  func (s *PatchOperation) SetOp(v string) *PatchOperation {
 22745  	s.Op = &v
 22746  	return s
 22747  }
 22748  
 22749  // SetPath sets the Path field's value.
 22750  func (s *PatchOperation) SetPath(v string) *PatchOperation {
 22751  	s.Path = &v
 22752  	return s
 22753  }
 22754  
 22755  // SetValue sets the Value field's value.
 22756  func (s *PatchOperation) SetValue(v string) *PatchOperation {
 22757  	s.Value = &v
 22758  	return s
 22759  }
 22760  
 22761  // Creates a customization of a GatewayResponse of a specified response type
 22762  // and status code on the given RestApi.
 22763  type PutGatewayResponseInput struct {
 22764  	_ struct{} `type:"structure"`
 22765  
 22766  	// Response parameters (paths, query strings and headers) of the GatewayResponse
 22767  	// as a string-to-string map of key-value pairs.
 22768  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 22769  
 22770  	// Response templates of the GatewayResponse as a string-to-string map of key-value
 22771  	// pairs.
 22772  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 22773  
 22774  	// [Required]
 22775  	// The response type of the associated GatewayResponse.
 22776  	//
 22777  	// ResponseType is a required field
 22778  	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
 22779  
 22780  	// [Required] The string identifier of the associated RestApi.
 22781  	//
 22782  	// RestApiId is a required field
 22783  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 22784  
 22785  	// The HTTP status code of the GatewayResponse.
 22786  	StatusCode *string `locationName:"statusCode" type:"string"`
 22787  }
 22788  
 22789  // String returns the string representation.
 22790  //
 22791  // API parameter values that are decorated as "sensitive" in the API will not
 22792  // be included in the string output. The member name will be present, but the
 22793  // value will be replaced with "sensitive".
 22794  func (s PutGatewayResponseInput) String() string {
 22795  	return awsutil.Prettify(s)
 22796  }
 22797  
 22798  // GoString returns the string representation.
 22799  //
 22800  // API parameter values that are decorated as "sensitive" in the API will not
 22801  // be included in the string output. The member name will be present, but the
 22802  // value will be replaced with "sensitive".
 22803  func (s PutGatewayResponseInput) GoString() string {
 22804  	return s.String()
 22805  }
 22806  
 22807  // Validate inspects the fields of the type to determine if they are valid.
 22808  func (s *PutGatewayResponseInput) Validate() error {
 22809  	invalidParams := request.ErrInvalidParams{Context: "PutGatewayResponseInput"}
 22810  	if s.ResponseType == nil {
 22811  		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
 22812  	}
 22813  	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
 22814  		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
 22815  	}
 22816  	if s.RestApiId == nil {
 22817  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 22818  	}
 22819  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 22820  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 22821  	}
 22822  
 22823  	if invalidParams.Len() > 0 {
 22824  		return invalidParams
 22825  	}
 22826  	return nil
 22827  }
 22828  
 22829  // SetResponseParameters sets the ResponseParameters field's value.
 22830  func (s *PutGatewayResponseInput) SetResponseParameters(v map[string]*string) *PutGatewayResponseInput {
 22831  	s.ResponseParameters = v
 22832  	return s
 22833  }
 22834  
 22835  // SetResponseTemplates sets the ResponseTemplates field's value.
 22836  func (s *PutGatewayResponseInput) SetResponseTemplates(v map[string]*string) *PutGatewayResponseInput {
 22837  	s.ResponseTemplates = v
 22838  	return s
 22839  }
 22840  
 22841  // SetResponseType sets the ResponseType field's value.
 22842  func (s *PutGatewayResponseInput) SetResponseType(v string) *PutGatewayResponseInput {
 22843  	s.ResponseType = &v
 22844  	return s
 22845  }
 22846  
 22847  // SetRestApiId sets the RestApiId field's value.
 22848  func (s *PutGatewayResponseInput) SetRestApiId(v string) *PutGatewayResponseInput {
 22849  	s.RestApiId = &v
 22850  	return s
 22851  }
 22852  
 22853  // SetStatusCode sets the StatusCode field's value.
 22854  func (s *PutGatewayResponseInput) SetStatusCode(v string) *PutGatewayResponseInput {
 22855  	s.StatusCode = &v
 22856  	return s
 22857  }
 22858  
 22859  // Sets up a method's integration.
 22860  type PutIntegrationInput struct {
 22861  	_ struct{} `type:"structure"`
 22862  
 22863  	// A list of request parameters whose values API Gateway caches. To be valid
 22864  	// values for cacheKeyParameters, these parameters must also be specified for
 22865  	// Method requestParameters.
 22866  	CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"`
 22867  
 22868  	// Specifies a group of related cached parameters. By default, API Gateway uses
 22869  	// the resource ID as the cacheNamespace. You can specify the same cacheNamespace
 22870  	// across resources to return the same cached data for requests to different
 22871  	// resources.
 22872  	CacheNamespace *string `locationName:"cacheNamespace" type:"string"`
 22873  
 22874  	// The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id))
 22875  	// of the VpcLink used for the integration when connectionType=VPC_LINK and
 22876  	// undefined, otherwise.
 22877  	ConnectionId *string `locationName:"connectionId" type:"string"`
 22878  
 22879  	// The type of the network connection to the integration endpoint. The valid
 22880  	// value is INTERNET for connections through the public routable internet or
 22881  	// VPC_LINK for private connections between API Gateway and a network load balancer
 22882  	// in a VPC. The default value is INTERNET.
 22883  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
 22884  
 22885  	// Specifies how to handle request payload content type conversions. Supported
 22886  	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
 22887  	//
 22888  	//    * CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded
 22889  	//    string to the corresponding binary blob.
 22890  	//
 22891  	//    * CONVERT_TO_TEXT: Converts a request payload from a binary blob to a
 22892  	//    Base64-encoded string.
 22893  	//
 22894  	// If this property is not defined, the request payload will be passed through
 22895  	// from the method request to integration request without modification, provided
 22896  	// that the passthroughBehavior is configured to support payload pass-through.
 22897  	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
 22898  
 22899  	// Specifies whether credentials are required for a put integration.
 22900  	Credentials *string `locationName:"credentials" type:"string"`
 22901  
 22902  	// [Required] Specifies a put integration request's HTTP method.
 22903  	//
 22904  	// HttpMethod is a required field
 22905  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 22906  
 22907  	// Specifies a put integration HTTP method. When the integration type is HTTP
 22908  	// or AWS, this field is required.
 22909  	IntegrationHttpMethod *string `locationName:"httpMethod" type:"string"`
 22910  
 22911  	// Specifies the pass-through behavior for incoming requests based on the Content-Type
 22912  	// header in the request, and the available mapping templates specified as the
 22913  	// requestTemplates property on the Integration resource. There are three valid
 22914  	// values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER.
 22915  	//
 22916  	//    * WHEN_NO_MATCH passes the request body for unmapped content types through
 22917  	//    to the integration back end without transformation.
 22918  	//
 22919  	//    * NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media
 22920  	//    Type' response.
 22921  	//
 22922  	//    * WHEN_NO_TEMPLATES allows pass-through when the integration has NO content
 22923  	//    types mapped to templates. However if there is at least one content type
 22924  	//    defined, unmapped content types will be rejected with the same 415 response.
 22925  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string"`
 22926  
 22927  	// A key-value map specifying request parameters that are passed from the method
 22928  	// request to the back end. The key is an integration request parameter name
 22929  	// and the associated value is a method request parameter value or static value
 22930  	// that must be enclosed within single quotes and pre-encoded as required by
 22931  	// the back end. The method request parameter value must match the pattern of
 22932  	// method.request.{location}.{name}, where location is querystring, path, or
 22933  	// header and name must be a valid and unique method request parameter name.
 22934  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
 22935  
 22936  	// Represents a map of Velocity templates that are applied on the request payload
 22937  	// based on the value of the Content-Type header sent by the client. The content
 22938  	// type value is the key in this map, and the template (as a String) is the
 22939  	// value.
 22940  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
 22941  
 22942  	// [Required] Specifies a put integration request's resource ID.
 22943  	//
 22944  	// ResourceId is a required field
 22945  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 22946  
 22947  	// [Required] The string identifier of the associated RestApi.
 22948  	//
 22949  	// RestApiId is a required field
 22950  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 22951  
 22952  	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000
 22953  	// milliseconds or 29 seconds.
 22954  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"`
 22955  
 22956  	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
 22957  
 22958  	// [Required] Specifies a put integration input's type.
 22959  	//
 22960  	// Type is a required field
 22961  	Type *string `locationName:"type" type:"string" required:"true" enum:"IntegrationType"`
 22962  
 22963  	// Specifies Uniform Resource Identifier (URI) of the integration endpoint.
 22964  	//
 22965  	//    * For HTTP or HTTP_PROXY integrations, the URI must be a fully formed,
 22966  	//    encoded HTTP(S) URL according to the RFC-3986 specification (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier),
 22967  	//    for either standard integration, where connectionType is not VPC_LINK,
 22968  	//    or private integration, where connectionType is VPC_LINK. For a private
 22969  	//    HTTP integration, the URI is not used for routing.
 22970  	//
 22971  	//    * For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}.
 22972  	//    Here, {Region} is the API Gateway region (e.g., us-east-1); {service}
 22973  	//    is the name of the integrated AWS service (e.g., s3); and {subdomain}
 22974  	//    is a designated subdomain supported by certain AWS service for fast host-name
 22975  	//    lookup. action can be used for an AWS service action-based API, using
 22976  	//    an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api}
 22977  	//    refers to a supported action {name} plus any required input parameters.
 22978  	//    Alternatively, path can be used for an AWS service path-based API. The
 22979  	//    ensuing service_api refers to the path to an AWS service resource, including
 22980  	//    the region of the integrated AWS service, if applicable. For example,
 22981  	//    for integration with the S3 API of GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),
 22982  	//    the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
 22983  	//    or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
 22984  	Uri *string `locationName:"uri" type:"string"`
 22985  }
 22986  
 22987  // String returns the string representation.
 22988  //
 22989  // API parameter values that are decorated as "sensitive" in the API will not
 22990  // be included in the string output. The member name will be present, but the
 22991  // value will be replaced with "sensitive".
 22992  func (s PutIntegrationInput) String() string {
 22993  	return awsutil.Prettify(s)
 22994  }
 22995  
 22996  // GoString returns the string representation.
 22997  //
 22998  // API parameter values that are decorated as "sensitive" in the API will not
 22999  // be included in the string output. The member name will be present, but the
 23000  // value will be replaced with "sensitive".
 23001  func (s PutIntegrationInput) GoString() string {
 23002  	return s.String()
 23003  }
 23004  
 23005  // Validate inspects the fields of the type to determine if they are valid.
 23006  func (s *PutIntegrationInput) Validate() error {
 23007  	invalidParams := request.ErrInvalidParams{Context: "PutIntegrationInput"}
 23008  	if s.HttpMethod == nil {
 23009  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 23010  	}
 23011  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 23012  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 23013  	}
 23014  	if s.ResourceId == nil {
 23015  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 23016  	}
 23017  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 23018  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 23019  	}
 23020  	if s.RestApiId == nil {
 23021  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 23022  	}
 23023  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 23024  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 23025  	}
 23026  	if s.Type == nil {
 23027  		invalidParams.Add(request.NewErrParamRequired("Type"))
 23028  	}
 23029  
 23030  	if invalidParams.Len() > 0 {
 23031  		return invalidParams
 23032  	}
 23033  	return nil
 23034  }
 23035  
 23036  // SetCacheKeyParameters sets the CacheKeyParameters field's value.
 23037  func (s *PutIntegrationInput) SetCacheKeyParameters(v []*string) *PutIntegrationInput {
 23038  	s.CacheKeyParameters = v
 23039  	return s
 23040  }
 23041  
 23042  // SetCacheNamespace sets the CacheNamespace field's value.
 23043  func (s *PutIntegrationInput) SetCacheNamespace(v string) *PutIntegrationInput {
 23044  	s.CacheNamespace = &v
 23045  	return s
 23046  }
 23047  
 23048  // SetConnectionId sets the ConnectionId field's value.
 23049  func (s *PutIntegrationInput) SetConnectionId(v string) *PutIntegrationInput {
 23050  	s.ConnectionId = &v
 23051  	return s
 23052  }
 23053  
 23054  // SetConnectionType sets the ConnectionType field's value.
 23055  func (s *PutIntegrationInput) SetConnectionType(v string) *PutIntegrationInput {
 23056  	s.ConnectionType = &v
 23057  	return s
 23058  }
 23059  
 23060  // SetContentHandling sets the ContentHandling field's value.
 23061  func (s *PutIntegrationInput) SetContentHandling(v string) *PutIntegrationInput {
 23062  	s.ContentHandling = &v
 23063  	return s
 23064  }
 23065  
 23066  // SetCredentials sets the Credentials field's value.
 23067  func (s *PutIntegrationInput) SetCredentials(v string) *PutIntegrationInput {
 23068  	s.Credentials = &v
 23069  	return s
 23070  }
 23071  
 23072  // SetHttpMethod sets the HttpMethod field's value.
 23073  func (s *PutIntegrationInput) SetHttpMethod(v string) *PutIntegrationInput {
 23074  	s.HttpMethod = &v
 23075  	return s
 23076  }
 23077  
 23078  // SetIntegrationHttpMethod sets the IntegrationHttpMethod field's value.
 23079  func (s *PutIntegrationInput) SetIntegrationHttpMethod(v string) *PutIntegrationInput {
 23080  	s.IntegrationHttpMethod = &v
 23081  	return s
 23082  }
 23083  
 23084  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
 23085  func (s *PutIntegrationInput) SetPassthroughBehavior(v string) *PutIntegrationInput {
 23086  	s.PassthroughBehavior = &v
 23087  	return s
 23088  }
 23089  
 23090  // SetRequestParameters sets the RequestParameters field's value.
 23091  func (s *PutIntegrationInput) SetRequestParameters(v map[string]*string) *PutIntegrationInput {
 23092  	s.RequestParameters = v
 23093  	return s
 23094  }
 23095  
 23096  // SetRequestTemplates sets the RequestTemplates field's value.
 23097  func (s *PutIntegrationInput) SetRequestTemplates(v map[string]*string) *PutIntegrationInput {
 23098  	s.RequestTemplates = v
 23099  	return s
 23100  }
 23101  
 23102  // SetResourceId sets the ResourceId field's value.
 23103  func (s *PutIntegrationInput) SetResourceId(v string) *PutIntegrationInput {
 23104  	s.ResourceId = &v
 23105  	return s
 23106  }
 23107  
 23108  // SetRestApiId sets the RestApiId field's value.
 23109  func (s *PutIntegrationInput) SetRestApiId(v string) *PutIntegrationInput {
 23110  	s.RestApiId = &v
 23111  	return s
 23112  }
 23113  
 23114  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
 23115  func (s *PutIntegrationInput) SetTimeoutInMillis(v int64) *PutIntegrationInput {
 23116  	s.TimeoutInMillis = &v
 23117  	return s
 23118  }
 23119  
 23120  // SetTlsConfig sets the TlsConfig field's value.
 23121  func (s *PutIntegrationInput) SetTlsConfig(v *TlsConfig) *PutIntegrationInput {
 23122  	s.TlsConfig = v
 23123  	return s
 23124  }
 23125  
 23126  // SetType sets the Type field's value.
 23127  func (s *PutIntegrationInput) SetType(v string) *PutIntegrationInput {
 23128  	s.Type = &v
 23129  	return s
 23130  }
 23131  
 23132  // SetUri sets the Uri field's value.
 23133  func (s *PutIntegrationInput) SetUri(v string) *PutIntegrationInput {
 23134  	s.Uri = &v
 23135  	return s
 23136  }
 23137  
 23138  // Represents a put integration response request.
 23139  type PutIntegrationResponseInput struct {
 23140  	_ struct{} `type:"structure"`
 23141  
 23142  	// Specifies how to handle response payload content type conversions. Supported
 23143  	// values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
 23144  	//
 23145  	//    * CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded
 23146  	//    string to the corresponding binary blob.
 23147  	//
 23148  	//    * CONVERT_TO_TEXT: Converts a response payload from a binary blob to a
 23149  	//    Base64-encoded string.
 23150  	//
 23151  	// If this property is not defined, the response payload will be passed through
 23152  	// from the integration response to the method response without modification.
 23153  	ContentHandling *string `locationName:"contentHandling" type:"string" enum:"ContentHandlingStrategy"`
 23154  
 23155  	// [Required] Specifies a put integration response request's HTTP method.
 23156  	//
 23157  	// HttpMethod is a required field
 23158  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 23159  
 23160  	// [Required] Specifies a put integration response request's resource identifier.
 23161  	//
 23162  	// ResourceId is a required field
 23163  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 23164  
 23165  	// A key-value map specifying response parameters that are passed to the method
 23166  	// response from the back end. The key is a method response header parameter
 23167  	// name and the mapped value is an integration response header value, a static
 23168  	// value enclosed within a pair of single quotes, or a JSON expression from
 23169  	// the integration response body. The mapping key must match the pattern of
 23170  	// method.response.header.{name}, where name is a valid and unique header name.
 23171  	// The mapped non-static value must match the pattern of integration.response.header.{name}
 23172  	// or integration.response.body.{JSON-expression}, where name must be a valid
 23173  	// and unique response header name and JSON-expression a valid JSON expression
 23174  	// without the $ prefix.
 23175  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 23176  
 23177  	// Specifies a put integration response's templates.
 23178  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 23179  
 23180  	// [Required] The string identifier of the associated RestApi.
 23181  	//
 23182  	// RestApiId is a required field
 23183  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 23184  
 23185  	// Specifies the selection pattern of a put integration response.
 23186  	SelectionPattern *string `locationName:"selectionPattern" type:"string"`
 23187  
 23188  	// [Required] Specifies the status code that is used to map the integration
 23189  	// response to an existing MethodResponse.
 23190  	//
 23191  	// StatusCode is a required field
 23192  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 23193  }
 23194  
 23195  // String returns the string representation.
 23196  //
 23197  // API parameter values that are decorated as "sensitive" in the API will not
 23198  // be included in the string output. The member name will be present, but the
 23199  // value will be replaced with "sensitive".
 23200  func (s PutIntegrationResponseInput) String() string {
 23201  	return awsutil.Prettify(s)
 23202  }
 23203  
 23204  // GoString returns the string representation.
 23205  //
 23206  // API parameter values that are decorated as "sensitive" in the API will not
 23207  // be included in the string output. The member name will be present, but the
 23208  // value will be replaced with "sensitive".
 23209  func (s PutIntegrationResponseInput) GoString() string {
 23210  	return s.String()
 23211  }
 23212  
 23213  // Validate inspects the fields of the type to determine if they are valid.
 23214  func (s *PutIntegrationResponseInput) Validate() error {
 23215  	invalidParams := request.ErrInvalidParams{Context: "PutIntegrationResponseInput"}
 23216  	if s.HttpMethod == nil {
 23217  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 23218  	}
 23219  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 23220  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 23221  	}
 23222  	if s.ResourceId == nil {
 23223  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 23224  	}
 23225  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 23226  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 23227  	}
 23228  	if s.RestApiId == nil {
 23229  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 23230  	}
 23231  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 23232  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 23233  	}
 23234  	if s.StatusCode == nil {
 23235  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 23236  	}
 23237  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 23238  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 23239  	}
 23240  
 23241  	if invalidParams.Len() > 0 {
 23242  		return invalidParams
 23243  	}
 23244  	return nil
 23245  }
 23246  
 23247  // SetContentHandling sets the ContentHandling field's value.
 23248  func (s *PutIntegrationResponseInput) SetContentHandling(v string) *PutIntegrationResponseInput {
 23249  	s.ContentHandling = &v
 23250  	return s
 23251  }
 23252  
 23253  // SetHttpMethod sets the HttpMethod field's value.
 23254  func (s *PutIntegrationResponseInput) SetHttpMethod(v string) *PutIntegrationResponseInput {
 23255  	s.HttpMethod = &v
 23256  	return s
 23257  }
 23258  
 23259  // SetResourceId sets the ResourceId field's value.
 23260  func (s *PutIntegrationResponseInput) SetResourceId(v string) *PutIntegrationResponseInput {
 23261  	s.ResourceId = &v
 23262  	return s
 23263  }
 23264  
 23265  // SetResponseParameters sets the ResponseParameters field's value.
 23266  func (s *PutIntegrationResponseInput) SetResponseParameters(v map[string]*string) *PutIntegrationResponseInput {
 23267  	s.ResponseParameters = v
 23268  	return s
 23269  }
 23270  
 23271  // SetResponseTemplates sets the ResponseTemplates field's value.
 23272  func (s *PutIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *PutIntegrationResponseInput {
 23273  	s.ResponseTemplates = v
 23274  	return s
 23275  }
 23276  
 23277  // SetRestApiId sets the RestApiId field's value.
 23278  func (s *PutIntegrationResponseInput) SetRestApiId(v string) *PutIntegrationResponseInput {
 23279  	s.RestApiId = &v
 23280  	return s
 23281  }
 23282  
 23283  // SetSelectionPattern sets the SelectionPattern field's value.
 23284  func (s *PutIntegrationResponseInput) SetSelectionPattern(v string) *PutIntegrationResponseInput {
 23285  	s.SelectionPattern = &v
 23286  	return s
 23287  }
 23288  
 23289  // SetStatusCode sets the StatusCode field's value.
 23290  func (s *PutIntegrationResponseInput) SetStatusCode(v string) *PutIntegrationResponseInput {
 23291  	s.StatusCode = &v
 23292  	return s
 23293  }
 23294  
 23295  // Request to add a method to an existing Resource resource.
 23296  type PutMethodInput struct {
 23297  	_ struct{} `type:"structure"`
 23298  
 23299  	// Specifies whether the method required a valid ApiKey.
 23300  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
 23301  
 23302  	// A list of authorization scopes configured on the method. The scopes are used
 23303  	// with a COGNITO_USER_POOLS authorizer to authorize the method invocation.
 23304  	// The authorization works by matching the method scopes against the scopes
 23305  	// parsed from the access token in the incoming request. The method invocation
 23306  	// is authorized if any method scopes matches a claimed scope in the access
 23307  	// token. Otherwise, the invocation is not authorized. When the method scope
 23308  	// is configured, the client must provide an access token instead of an identity
 23309  	// token for authorization purposes.
 23310  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
 23311  
 23312  	// [Required] The method's authorization type. Valid values are NONE for open
 23313  	// access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom
 23314  	// authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.
 23315  	//
 23316  	// AuthorizationType is a required field
 23317  	AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true"`
 23318  
 23319  	// Specifies the identifier of an Authorizer to use on this Method, if the type
 23320  	// is CUSTOM or COGNITO_USER_POOLS. The authorizer identifier is generated by
 23321  	// API Gateway when you created the authorizer.
 23322  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 23323  
 23324  	// [Required] Specifies the method request's HTTP method type.
 23325  	//
 23326  	// HttpMethod is a required field
 23327  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 23328  
 23329  	// A human-friendly operation identifier for the method. For example, you can
 23330  	// assign the operationName of ListPets for the GET /pets method in the PetStore
 23331  	// example.
 23332  	OperationName *string `locationName:"operationName" type:"string"`
 23333  
 23334  	// Specifies the Model resources used for the request's content type. Request
 23335  	// models are represented as a key/value map, with a content type as the key
 23336  	// and a Model name as the value.
 23337  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
 23338  
 23339  	// A key-value map defining required or optional method request parameters that
 23340  	// can be accepted by API Gateway. A key defines a method request parameter
 23341  	// name matching the pattern of method.request.{location}.{name}, where location
 23342  	// is querystring, path, or header and name is a valid and unique parameter
 23343  	// name. The value associated with the key is a Boolean flag indicating whether
 23344  	// the parameter is required (true) or optional (false). The method request
 23345  	// parameter names defined here are available in Integration to be mapped to
 23346  	// integration request parameters or body-mapping templates.
 23347  	RequestParameters map[string]*bool `locationName:"requestParameters" type:"map"`
 23348  
 23349  	// The identifier of a RequestValidator for validating the method request.
 23350  	RequestValidatorId *string `locationName:"requestValidatorId" type:"string"`
 23351  
 23352  	// [Required] The Resource identifier for the new Method resource.
 23353  	//
 23354  	// ResourceId is a required field
 23355  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 23356  
 23357  	// [Required] The string identifier of the associated RestApi.
 23358  	//
 23359  	// RestApiId is a required field
 23360  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 23361  }
 23362  
 23363  // String returns the string representation.
 23364  //
 23365  // API parameter values that are decorated as "sensitive" in the API will not
 23366  // be included in the string output. The member name will be present, but the
 23367  // value will be replaced with "sensitive".
 23368  func (s PutMethodInput) String() string {
 23369  	return awsutil.Prettify(s)
 23370  }
 23371  
 23372  // GoString returns the string representation.
 23373  //
 23374  // API parameter values that are decorated as "sensitive" in the API will not
 23375  // be included in the string output. The member name will be present, but the
 23376  // value will be replaced with "sensitive".
 23377  func (s PutMethodInput) GoString() string {
 23378  	return s.String()
 23379  }
 23380  
 23381  // Validate inspects the fields of the type to determine if they are valid.
 23382  func (s *PutMethodInput) Validate() error {
 23383  	invalidParams := request.ErrInvalidParams{Context: "PutMethodInput"}
 23384  	if s.AuthorizationType == nil {
 23385  		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
 23386  	}
 23387  	if s.HttpMethod == nil {
 23388  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 23389  	}
 23390  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 23391  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 23392  	}
 23393  	if s.ResourceId == nil {
 23394  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 23395  	}
 23396  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 23397  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 23398  	}
 23399  	if s.RestApiId == nil {
 23400  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 23401  	}
 23402  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 23403  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 23404  	}
 23405  
 23406  	if invalidParams.Len() > 0 {
 23407  		return invalidParams
 23408  	}
 23409  	return nil
 23410  }
 23411  
 23412  // SetApiKeyRequired sets the ApiKeyRequired field's value.
 23413  func (s *PutMethodInput) SetApiKeyRequired(v bool) *PutMethodInput {
 23414  	s.ApiKeyRequired = &v
 23415  	return s
 23416  }
 23417  
 23418  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
 23419  func (s *PutMethodInput) SetAuthorizationScopes(v []*string) *PutMethodInput {
 23420  	s.AuthorizationScopes = v
 23421  	return s
 23422  }
 23423  
 23424  // SetAuthorizationType sets the AuthorizationType field's value.
 23425  func (s *PutMethodInput) SetAuthorizationType(v string) *PutMethodInput {
 23426  	s.AuthorizationType = &v
 23427  	return s
 23428  }
 23429  
 23430  // SetAuthorizerId sets the AuthorizerId field's value.
 23431  func (s *PutMethodInput) SetAuthorizerId(v string) *PutMethodInput {
 23432  	s.AuthorizerId = &v
 23433  	return s
 23434  }
 23435  
 23436  // SetHttpMethod sets the HttpMethod field's value.
 23437  func (s *PutMethodInput) SetHttpMethod(v string) *PutMethodInput {
 23438  	s.HttpMethod = &v
 23439  	return s
 23440  }
 23441  
 23442  // SetOperationName sets the OperationName field's value.
 23443  func (s *PutMethodInput) SetOperationName(v string) *PutMethodInput {
 23444  	s.OperationName = &v
 23445  	return s
 23446  }
 23447  
 23448  // SetRequestModels sets the RequestModels field's value.
 23449  func (s *PutMethodInput) SetRequestModels(v map[string]*string) *PutMethodInput {
 23450  	s.RequestModels = v
 23451  	return s
 23452  }
 23453  
 23454  // SetRequestParameters sets the RequestParameters field's value.
 23455  func (s *PutMethodInput) SetRequestParameters(v map[string]*bool) *PutMethodInput {
 23456  	s.RequestParameters = v
 23457  	return s
 23458  }
 23459  
 23460  // SetRequestValidatorId sets the RequestValidatorId field's value.
 23461  func (s *PutMethodInput) SetRequestValidatorId(v string) *PutMethodInput {
 23462  	s.RequestValidatorId = &v
 23463  	return s
 23464  }
 23465  
 23466  // SetResourceId sets the ResourceId field's value.
 23467  func (s *PutMethodInput) SetResourceId(v string) *PutMethodInput {
 23468  	s.ResourceId = &v
 23469  	return s
 23470  }
 23471  
 23472  // SetRestApiId sets the RestApiId field's value.
 23473  func (s *PutMethodInput) SetRestApiId(v string) *PutMethodInput {
 23474  	s.RestApiId = &v
 23475  	return s
 23476  }
 23477  
 23478  // Request to add a MethodResponse to an existing Method resource.
 23479  type PutMethodResponseInput struct {
 23480  	_ struct{} `type:"structure"`
 23481  
 23482  	// [Required] The HTTP verb of the Method resource.
 23483  	//
 23484  	// HttpMethod is a required field
 23485  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 23486  
 23487  	// [Required] The Resource identifier for the Method resource.
 23488  	//
 23489  	// ResourceId is a required field
 23490  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 23491  
 23492  	// Specifies the Model resources used for the response's content type. Response
 23493  	// models are represented as a key/value map, with a content type as the key
 23494  	// and a Model name as the value.
 23495  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
 23496  
 23497  	// A key-value map specifying required or optional response parameters that
 23498  	// API Gateway can send back to the caller. A key defines a method response
 23499  	// header name and the associated value is a Boolean flag indicating whether
 23500  	// the method response parameter is required or not. The method response header
 23501  	// names must match the pattern of method.response.header.{name}, where name
 23502  	// is a valid and unique header name. The response parameter names defined here
 23503  	// are available in the integration response to be mapped from an integration
 23504  	// response header expressed in integration.response.header.{name}, a static
 23505  	// value enclosed within a pair of single quotes (e.g., 'application/json'),
 23506  	// or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression},
 23507  	// where JSON-expression is a valid JSON expression without the $ prefix.)
 23508  	ResponseParameters map[string]*bool `locationName:"responseParameters" type:"map"`
 23509  
 23510  	// [Required] The string identifier of the associated RestApi.
 23511  	//
 23512  	// RestApiId is a required field
 23513  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 23514  
 23515  	// [Required] The method response's status code.
 23516  	//
 23517  	// StatusCode is a required field
 23518  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 23519  }
 23520  
 23521  // String returns the string representation.
 23522  //
 23523  // API parameter values that are decorated as "sensitive" in the API will not
 23524  // be included in the string output. The member name will be present, but the
 23525  // value will be replaced with "sensitive".
 23526  func (s PutMethodResponseInput) String() string {
 23527  	return awsutil.Prettify(s)
 23528  }
 23529  
 23530  // GoString returns the string representation.
 23531  //
 23532  // API parameter values that are decorated as "sensitive" in the API will not
 23533  // be included in the string output. The member name will be present, but the
 23534  // value will be replaced with "sensitive".
 23535  func (s PutMethodResponseInput) GoString() string {
 23536  	return s.String()
 23537  }
 23538  
 23539  // Validate inspects the fields of the type to determine if they are valid.
 23540  func (s *PutMethodResponseInput) Validate() error {
 23541  	invalidParams := request.ErrInvalidParams{Context: "PutMethodResponseInput"}
 23542  	if s.HttpMethod == nil {
 23543  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 23544  	}
 23545  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 23546  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 23547  	}
 23548  	if s.ResourceId == nil {
 23549  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 23550  	}
 23551  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 23552  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 23553  	}
 23554  	if s.RestApiId == nil {
 23555  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 23556  	}
 23557  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 23558  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 23559  	}
 23560  	if s.StatusCode == nil {
 23561  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 23562  	}
 23563  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 23564  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 23565  	}
 23566  
 23567  	if invalidParams.Len() > 0 {
 23568  		return invalidParams
 23569  	}
 23570  	return nil
 23571  }
 23572  
 23573  // SetHttpMethod sets the HttpMethod field's value.
 23574  func (s *PutMethodResponseInput) SetHttpMethod(v string) *PutMethodResponseInput {
 23575  	s.HttpMethod = &v
 23576  	return s
 23577  }
 23578  
 23579  // SetResourceId sets the ResourceId field's value.
 23580  func (s *PutMethodResponseInput) SetResourceId(v string) *PutMethodResponseInput {
 23581  	s.ResourceId = &v
 23582  	return s
 23583  }
 23584  
 23585  // SetResponseModels sets the ResponseModels field's value.
 23586  func (s *PutMethodResponseInput) SetResponseModels(v map[string]*string) *PutMethodResponseInput {
 23587  	s.ResponseModels = v
 23588  	return s
 23589  }
 23590  
 23591  // SetResponseParameters sets the ResponseParameters field's value.
 23592  func (s *PutMethodResponseInput) SetResponseParameters(v map[string]*bool) *PutMethodResponseInput {
 23593  	s.ResponseParameters = v
 23594  	return s
 23595  }
 23596  
 23597  // SetRestApiId sets the RestApiId field's value.
 23598  func (s *PutMethodResponseInput) SetRestApiId(v string) *PutMethodResponseInput {
 23599  	s.RestApiId = &v
 23600  	return s
 23601  }
 23602  
 23603  // SetStatusCode sets the StatusCode field's value.
 23604  func (s *PutMethodResponseInput) SetStatusCode(v string) *PutMethodResponseInput {
 23605  	s.StatusCode = &v
 23606  	return s
 23607  }
 23608  
 23609  // A PUT request to update an existing API, with external API definitions specified
 23610  // as the request body.
 23611  type PutRestApiInput struct {
 23612  	_ struct{} `type:"structure" payload:"Body"`
 23613  
 23614  	// [Required] The PUT request body containing external API definitions. Currently,
 23615  	// only OpenAPI definition JSON/YAML files are supported. The maximum size of
 23616  	// the API definition file is 6MB.
 23617  	//
 23618  	// Body is a required field
 23619  	Body []byte `locationName:"body" type:"blob" required:"true"`
 23620  
 23621  	// A query parameter to indicate whether to rollback the API update (true) or
 23622  	// not (false) when a warning is encountered. The default value is false.
 23623  	FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"`
 23624  
 23625  	// The mode query parameter to specify the update mode. Valid values are "merge"
 23626  	// and "overwrite". By default, the update mode is "merge".
 23627  	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"PutMode"`
 23628  
 23629  	// Custom header parameters as part of the request. For example, to exclude
 23630  	// DocumentationParts from an imported API, set ignore=documentation as a parameters
 23631  	// value, as in the AWS CLI command of aws apigateway import-rest-api --parameters
 23632  	// ignore=documentation --body 'file:///path/to/imported-api-body.json'.
 23633  	Parameters map[string]*string `location:"querystring" locationName:"parameters" type:"map"`
 23634  
 23635  	// [Required] The string identifier of the associated RestApi.
 23636  	//
 23637  	// RestApiId is a required field
 23638  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 23639  }
 23640  
 23641  // String returns the string representation.
 23642  //
 23643  // API parameter values that are decorated as "sensitive" in the API will not
 23644  // be included in the string output. The member name will be present, but the
 23645  // value will be replaced with "sensitive".
 23646  func (s PutRestApiInput) String() string {
 23647  	return awsutil.Prettify(s)
 23648  }
 23649  
 23650  // GoString returns the string representation.
 23651  //
 23652  // API parameter values that are decorated as "sensitive" in the API will not
 23653  // be included in the string output. The member name will be present, but the
 23654  // value will be replaced with "sensitive".
 23655  func (s PutRestApiInput) GoString() string {
 23656  	return s.String()
 23657  }
 23658  
 23659  // Validate inspects the fields of the type to determine if they are valid.
 23660  func (s *PutRestApiInput) Validate() error {
 23661  	invalidParams := request.ErrInvalidParams{Context: "PutRestApiInput"}
 23662  	if s.Body == nil {
 23663  		invalidParams.Add(request.NewErrParamRequired("Body"))
 23664  	}
 23665  	if s.RestApiId == nil {
 23666  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 23667  	}
 23668  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 23669  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 23670  	}
 23671  
 23672  	if invalidParams.Len() > 0 {
 23673  		return invalidParams
 23674  	}
 23675  	return nil
 23676  }
 23677  
 23678  // SetBody sets the Body field's value.
 23679  func (s *PutRestApiInput) SetBody(v []byte) *PutRestApiInput {
 23680  	s.Body = v
 23681  	return s
 23682  }
 23683  
 23684  // SetFailOnWarnings sets the FailOnWarnings field's value.
 23685  func (s *PutRestApiInput) SetFailOnWarnings(v bool) *PutRestApiInput {
 23686  	s.FailOnWarnings = &v
 23687  	return s
 23688  }
 23689  
 23690  // SetMode sets the Mode field's value.
 23691  func (s *PutRestApiInput) SetMode(v string) *PutRestApiInput {
 23692  	s.Mode = &v
 23693  	return s
 23694  }
 23695  
 23696  // SetParameters sets the Parameters field's value.
 23697  func (s *PutRestApiInput) SetParameters(v map[string]*string) *PutRestApiInput {
 23698  	s.Parameters = v
 23699  	return s
 23700  }
 23701  
 23702  // SetRestApiId sets the RestApiId field's value.
 23703  func (s *PutRestApiInput) SetRestApiId(v string) *PutRestApiInput {
 23704  	s.RestApiId = &v
 23705  	return s
 23706  }
 23707  
 23708  // Quotas configured for a usage plan.
 23709  type QuotaSettings struct {
 23710  	_ struct{} `type:"structure"`
 23711  
 23712  	// The maximum number of requests that can be made in a given time period.
 23713  	Limit *int64 `locationName:"limit" type:"integer"`
 23714  
 23715  	// The day that a time period starts. For example, with a time period of WEEK,
 23716  	// an offset of 0 starts on Sunday, and an offset of 1 starts on Monday.
 23717  	Offset *int64 `locationName:"offset" type:"integer"`
 23718  
 23719  	// The time period in which the limit applies. Valid values are "DAY", "WEEK"
 23720  	// or "MONTH".
 23721  	Period *string `locationName:"period" type:"string" enum:"QuotaPeriodType"`
 23722  }
 23723  
 23724  // String returns the string representation.
 23725  //
 23726  // API parameter values that are decorated as "sensitive" in the API will not
 23727  // be included in the string output. The member name will be present, but the
 23728  // value will be replaced with "sensitive".
 23729  func (s QuotaSettings) String() string {
 23730  	return awsutil.Prettify(s)
 23731  }
 23732  
 23733  // GoString returns the string representation.
 23734  //
 23735  // API parameter values that are decorated as "sensitive" in the API will not
 23736  // be included in the string output. The member name will be present, but the
 23737  // value will be replaced with "sensitive".
 23738  func (s QuotaSettings) GoString() string {
 23739  	return s.String()
 23740  }
 23741  
 23742  // SetLimit sets the Limit field's value.
 23743  func (s *QuotaSettings) SetLimit(v int64) *QuotaSettings {
 23744  	s.Limit = &v
 23745  	return s
 23746  }
 23747  
 23748  // SetOffset sets the Offset field's value.
 23749  func (s *QuotaSettings) SetOffset(v int64) *QuotaSettings {
 23750  	s.Offset = &v
 23751  	return s
 23752  }
 23753  
 23754  // SetPeriod sets the Period field's value.
 23755  func (s *QuotaSettings) SetPeriod(v string) *QuotaSettings {
 23756  	s.Period = &v
 23757  	return s
 23758  }
 23759  
 23760  // Represents an API resource.
 23761  //
 23762  // Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 23763  type Resource struct {
 23764  	_ struct{} `type:"structure"`
 23765  
 23766  	// The resource's identifier.
 23767  	Id *string `locationName:"id" type:"string"`
 23768  
 23769  	// The parent resource's identifier.
 23770  	ParentId *string `locationName:"parentId" type:"string"`
 23771  
 23772  	// The full path for this resource.
 23773  	Path *string `locationName:"path" type:"string"`
 23774  
 23775  	// The last path segment for this resource.
 23776  	PathPart *string `locationName:"pathPart" type:"string"`
 23777  
 23778  	// Gets an API resource's method of a given HTTP verb.
 23779  	//
 23780  	// The resource methods are a map of methods indexed by methods' HTTP verbs
 23781  	// enabled on the resource. This method map is included in the 200 OK response
 23782  	// of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods
 23783  	// request.
 23784  	//
 23785  	// Example: Get the GET method of an API resource
 23786  	//
 23787  	// Request
 23788  	//  GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type:
 23789  	//  application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170223T031827Z
 23790  	//  Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request,
 23791  	//  SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
 23792  	// Response
 23793  	//  { "_links": { "curies": [ { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html",
 23794  	//  "name": "integration", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html",
 23795  	//  "name": "integrationresponse", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html",
 23796  	//  "name": "method", "templated": true }, { "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
 23797  	//  "name": "methodresponse", "templated": true } ], "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET",
 23798  	//  "name": "GET", "title": "GET" }, "integration:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 23799  	//  }, "method:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
 23800  	//  }, "method:integration": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 23801  	//  }, "method:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
 23802  	//  "name": "200", "title": "200" }, "method:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
 23803  	//  }, "methodresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
 23804  	//  "templated": true } }, "apiKeyRequired": false, "authorizationType": "NONE",
 23805  	//  "httpMethod": "GET", "_embedded": { "method:integration": { "_links": {
 23806  	//  "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 23807  	//  }, "integration:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 23808  	//  }, "integration:responses": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
 23809  	//  "name": "200", "title": "200" }, "integration:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
 23810  	//  }, "integrationresponse:put": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}",
 23811  	//  "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2",
 23812  	//  "credentials": "arn:aws:iam::123456789012:role/apigAwsProxyRole", "httpMethod":
 23813  	//  "POST", "passthroughBehavior": "WHEN_NO_MATCH", "requestParameters": { "integration.request.header.Content-Type":
 23814  	//  "'application/x-amz-json-1.1'" }, "requestTemplates": { "application/json":
 23815  	//  "{\n}" }, "type": "AWS", "uri": "arn:aws:apigateway:us-east-1:kinesis:action/ListStreams",
 23816  	//  "_embedded": { "integration:responses": { "_links": { "self": { "href":
 23817  	//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200",
 23818  	//  "name": "200", "title": "200" }, "integrationresponse:delete": { "href":
 23819  	//  "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
 23820  	//  }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200"
 23821  	//  } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'"
 23822  	//  }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream
 23823  	//  in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n"
 23824  	//  }, "statusCode": "200" } } }, "method:responses": { "_links": { "self":
 23825  	//  { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200",
 23826  	//  "name": "200", "title": "200" }, "methodresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
 23827  	//  }, "methodresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200"
 23828  	//  } }, "responseModels": { "application/json": "Empty" }, "responseParameters":
 23829  	//  { "method.response.header.Content-Type": false }, "statusCode": "200" }
 23830  	//  } }
 23831  	// If the OPTIONS is enabled on the resource, you can follow the example here
 23832  	// to get that method. Just replace the GET of the last path segment in the
 23833  	// request URL with OPTIONS.
 23834  	ResourceMethods map[string]*Method `locationName:"resourceMethods" type:"map"`
 23835  }
 23836  
 23837  // String returns the string representation.
 23838  //
 23839  // API parameter values that are decorated as "sensitive" in the API will not
 23840  // be included in the string output. The member name will be present, but the
 23841  // value will be replaced with "sensitive".
 23842  func (s Resource) String() string {
 23843  	return awsutil.Prettify(s)
 23844  }
 23845  
 23846  // GoString returns the string representation.
 23847  //
 23848  // API parameter values that are decorated as "sensitive" in the API will not
 23849  // be included in the string output. The member name will be present, but the
 23850  // value will be replaced with "sensitive".
 23851  func (s Resource) GoString() string {
 23852  	return s.String()
 23853  }
 23854  
 23855  // SetId sets the Id field's value.
 23856  func (s *Resource) SetId(v string) *Resource {
 23857  	s.Id = &v
 23858  	return s
 23859  }
 23860  
 23861  // SetParentId sets the ParentId field's value.
 23862  func (s *Resource) SetParentId(v string) *Resource {
 23863  	s.ParentId = &v
 23864  	return s
 23865  }
 23866  
 23867  // SetPath sets the Path field's value.
 23868  func (s *Resource) SetPath(v string) *Resource {
 23869  	s.Path = &v
 23870  	return s
 23871  }
 23872  
 23873  // SetPathPart sets the PathPart field's value.
 23874  func (s *Resource) SetPathPart(v string) *Resource {
 23875  	s.PathPart = &v
 23876  	return s
 23877  }
 23878  
 23879  // SetResourceMethods sets the ResourceMethods field's value.
 23880  func (s *Resource) SetResourceMethods(v map[string]*Method) *Resource {
 23881  	s.ResourceMethods = v
 23882  	return s
 23883  }
 23884  
 23885  // Represents a REST API.
 23886  //
 23887  // Create an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html)
 23888  type RestApi struct {
 23889  	_ struct{} `type:"structure"`
 23890  
 23891  	// The source of the API key for metering requests according to a usage plan.
 23892  	// Valid values are:
 23893  	//    * HEADER to read the API key from the X-API-Key header of a request.
 23894  	//
 23895  	//    * AUTHORIZER to read the API key from the UsageIdentifierKey from a custom
 23896  	//    authorizer.
 23897  	ApiKeySource *string `locationName:"apiKeySource" type:"string" enum:"ApiKeySourceType"`
 23898  
 23899  	// The list of binary media types supported by the RestApi. By default, the
 23900  	// RestApi supports only UTF-8-encoded text payloads.
 23901  	BinaryMediaTypes []*string `locationName:"binaryMediaTypes" type:"list"`
 23902  
 23903  	// The timestamp when the API was created.
 23904  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
 23905  
 23906  	// The API's description.
 23907  	Description *string `locationName:"description" type:"string"`
 23908  
 23909  	// Specifies whether clients can invoke your API by using the default execute-api
 23910  	// endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com
 23911  	// endpoint. To require that clients use a custom domain name to invoke your
 23912  	// API, disable the default endpoint.
 23913  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
 23914  
 23915  	// The endpoint configuration of this RestApi showing the endpoint types of
 23916  	// the API.
 23917  	EndpointConfiguration *EndpointConfiguration `locationName:"endpointConfiguration" type:"structure"`
 23918  
 23919  	// The API's identifier. This identifier is unique across all of your APIs in
 23920  	// API Gateway.
 23921  	Id *string `locationName:"id" type:"string"`
 23922  
 23923  	// A nullable integer that is used to enable compression (with non-negative
 23924  	// between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with
 23925  	// a null value) on an API. When compression is enabled, compression or decompression
 23926  	// is not applied on the payload if the payload size is smaller than this value.
 23927  	// Setting it to zero allows compression for any payload size.
 23928  	MinimumCompressionSize *int64 `locationName:"minimumCompressionSize" type:"integer"`
 23929  
 23930  	// The API's name.
 23931  	Name *string `locationName:"name" type:"string"`
 23932  
 23933  	// A stringified JSON policy document that applies to this RestApi regardless
 23934  	// of the caller and Method configuration.
 23935  	Policy *string `locationName:"policy" type:"string"`
 23936  
 23937  	// The collection of tags. Each tag element is associated with a given resource.
 23938  	Tags map[string]*string `locationName:"tags" type:"map"`
 23939  
 23940  	// A version identifier for the API.
 23941  	Version *string `locationName:"version" type:"string"`
 23942  
 23943  	// The warning messages reported when failonwarnings is turned on during API
 23944  	// import.
 23945  	Warnings []*string `locationName:"warnings" type:"list"`
 23946  }
 23947  
 23948  // String returns the string representation.
 23949  //
 23950  // API parameter values that are decorated as "sensitive" in the API will not
 23951  // be included in the string output. The member name will be present, but the
 23952  // value will be replaced with "sensitive".
 23953  func (s RestApi) String() string {
 23954  	return awsutil.Prettify(s)
 23955  }
 23956  
 23957  // GoString returns the string representation.
 23958  //
 23959  // API parameter values that are decorated as "sensitive" in the API will not
 23960  // be included in the string output. The member name will be present, but the
 23961  // value will be replaced with "sensitive".
 23962  func (s RestApi) GoString() string {
 23963  	return s.String()
 23964  }
 23965  
 23966  // SetApiKeySource sets the ApiKeySource field's value.
 23967  func (s *RestApi) SetApiKeySource(v string) *RestApi {
 23968  	s.ApiKeySource = &v
 23969  	return s
 23970  }
 23971  
 23972  // SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
 23973  func (s *RestApi) SetBinaryMediaTypes(v []*string) *RestApi {
 23974  	s.BinaryMediaTypes = v
 23975  	return s
 23976  }
 23977  
 23978  // SetCreatedDate sets the CreatedDate field's value.
 23979  func (s *RestApi) SetCreatedDate(v time.Time) *RestApi {
 23980  	s.CreatedDate = &v
 23981  	return s
 23982  }
 23983  
 23984  // SetDescription sets the Description field's value.
 23985  func (s *RestApi) SetDescription(v string) *RestApi {
 23986  	s.Description = &v
 23987  	return s
 23988  }
 23989  
 23990  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
 23991  func (s *RestApi) SetDisableExecuteApiEndpoint(v bool) *RestApi {
 23992  	s.DisableExecuteApiEndpoint = &v
 23993  	return s
 23994  }
 23995  
 23996  // SetEndpointConfiguration sets the EndpointConfiguration field's value.
 23997  func (s *RestApi) SetEndpointConfiguration(v *EndpointConfiguration) *RestApi {
 23998  	s.EndpointConfiguration = v
 23999  	return s
 24000  }
 24001  
 24002  // SetId sets the Id field's value.
 24003  func (s *RestApi) SetId(v string) *RestApi {
 24004  	s.Id = &v
 24005  	return s
 24006  }
 24007  
 24008  // SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
 24009  func (s *RestApi) SetMinimumCompressionSize(v int64) *RestApi {
 24010  	s.MinimumCompressionSize = &v
 24011  	return s
 24012  }
 24013  
 24014  // SetName sets the Name field's value.
 24015  func (s *RestApi) SetName(v string) *RestApi {
 24016  	s.Name = &v
 24017  	return s
 24018  }
 24019  
 24020  // SetPolicy sets the Policy field's value.
 24021  func (s *RestApi) SetPolicy(v string) *RestApi {
 24022  	s.Policy = &v
 24023  	return s
 24024  }
 24025  
 24026  // SetTags sets the Tags field's value.
 24027  func (s *RestApi) SetTags(v map[string]*string) *RestApi {
 24028  	s.Tags = v
 24029  	return s
 24030  }
 24031  
 24032  // SetVersion sets the Version field's value.
 24033  func (s *RestApi) SetVersion(v string) *RestApi {
 24034  	s.Version = &v
 24035  	return s
 24036  }
 24037  
 24038  // SetWarnings sets the Warnings field's value.
 24039  func (s *RestApi) SetWarnings(v []*string) *RestApi {
 24040  	s.Warnings = v
 24041  	return s
 24042  }
 24043  
 24044  // A configuration property of an SDK type.
 24045  type SdkConfigurationProperty struct {
 24046  	_ struct{} `type:"structure"`
 24047  
 24048  	// The default value of an SdkType configuration property.
 24049  	DefaultValue *string `locationName:"defaultValue" type:"string"`
 24050  
 24051  	// The description of an SdkType configuration property.
 24052  	Description *string `locationName:"description" type:"string"`
 24053  
 24054  	// The user-friendly name of an SdkType configuration property.
 24055  	FriendlyName *string `locationName:"friendlyName" type:"string"`
 24056  
 24057  	// The name of a an SdkType configuration property.
 24058  	Name *string `locationName:"name" type:"string"`
 24059  
 24060  	// A boolean flag of an SdkType configuration property to indicate if the associated
 24061  	// SDK configuration property is required (true) or not (false).
 24062  	Required *bool `locationName:"required" type:"boolean"`
 24063  }
 24064  
 24065  // String returns the string representation.
 24066  //
 24067  // API parameter values that are decorated as "sensitive" in the API will not
 24068  // be included in the string output. The member name will be present, but the
 24069  // value will be replaced with "sensitive".
 24070  func (s SdkConfigurationProperty) String() string {
 24071  	return awsutil.Prettify(s)
 24072  }
 24073  
 24074  // GoString returns the string representation.
 24075  //
 24076  // API parameter values that are decorated as "sensitive" in the API will not
 24077  // be included in the string output. The member name will be present, but the
 24078  // value will be replaced with "sensitive".
 24079  func (s SdkConfigurationProperty) GoString() string {
 24080  	return s.String()
 24081  }
 24082  
 24083  // SetDefaultValue sets the DefaultValue field's value.
 24084  func (s *SdkConfigurationProperty) SetDefaultValue(v string) *SdkConfigurationProperty {
 24085  	s.DefaultValue = &v
 24086  	return s
 24087  }
 24088  
 24089  // SetDescription sets the Description field's value.
 24090  func (s *SdkConfigurationProperty) SetDescription(v string) *SdkConfigurationProperty {
 24091  	s.Description = &v
 24092  	return s
 24093  }
 24094  
 24095  // SetFriendlyName sets the FriendlyName field's value.
 24096  func (s *SdkConfigurationProperty) SetFriendlyName(v string) *SdkConfigurationProperty {
 24097  	s.FriendlyName = &v
 24098  	return s
 24099  }
 24100  
 24101  // SetName sets the Name field's value.
 24102  func (s *SdkConfigurationProperty) SetName(v string) *SdkConfigurationProperty {
 24103  	s.Name = &v
 24104  	return s
 24105  }
 24106  
 24107  // SetRequired sets the Required field's value.
 24108  func (s *SdkConfigurationProperty) SetRequired(v bool) *SdkConfigurationProperty {
 24109  	s.Required = &v
 24110  	return s
 24111  }
 24112  
 24113  // A type of SDK that API Gateway can generate.
 24114  type SdkType struct {
 24115  	_ struct{} `type:"structure"`
 24116  
 24117  	// A list of configuration properties of an SdkType.
 24118  	ConfigurationProperties []*SdkConfigurationProperty `locationName:"configurationProperties" type:"list"`
 24119  
 24120  	// The description of an SdkType.
 24121  	Description *string `locationName:"description" type:"string"`
 24122  
 24123  	// The user-friendly name of an SdkType instance.
 24124  	FriendlyName *string `locationName:"friendlyName" type:"string"`
 24125  
 24126  	// The identifier of an SdkType instance.
 24127  	Id *string `locationName:"id" type:"string"`
 24128  }
 24129  
 24130  // String returns the string representation.
 24131  //
 24132  // API parameter values that are decorated as "sensitive" in the API will not
 24133  // be included in the string output. The member name will be present, but the
 24134  // value will be replaced with "sensitive".
 24135  func (s SdkType) String() string {
 24136  	return awsutil.Prettify(s)
 24137  }
 24138  
 24139  // GoString returns the string representation.
 24140  //
 24141  // API parameter values that are decorated as "sensitive" in the API will not
 24142  // be included in the string output. The member name will be present, but the
 24143  // value will be replaced with "sensitive".
 24144  func (s SdkType) GoString() string {
 24145  	return s.String()
 24146  }
 24147  
 24148  // SetConfigurationProperties sets the ConfigurationProperties field's value.
 24149  func (s *SdkType) SetConfigurationProperties(v []*SdkConfigurationProperty) *SdkType {
 24150  	s.ConfigurationProperties = v
 24151  	return s
 24152  }
 24153  
 24154  // SetDescription sets the Description field's value.
 24155  func (s *SdkType) SetDescription(v string) *SdkType {
 24156  	s.Description = &v
 24157  	return s
 24158  }
 24159  
 24160  // SetFriendlyName sets the FriendlyName field's value.
 24161  func (s *SdkType) SetFriendlyName(v string) *SdkType {
 24162  	s.FriendlyName = &v
 24163  	return s
 24164  }
 24165  
 24166  // SetId sets the Id field's value.
 24167  func (s *SdkType) SetId(v string) *SdkType {
 24168  	s.Id = &v
 24169  	return s
 24170  }
 24171  
 24172  // The requested service is not available. For details see the accompanying
 24173  // error message. Retry after the specified time period.
 24174  type ServiceUnavailableException struct {
 24175  	_            struct{}                  `type:"structure"`
 24176  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24177  
 24178  	Message_ *string `locationName:"message" type:"string"`
 24179  
 24180  	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
 24181  }
 24182  
 24183  // String returns the string representation.
 24184  //
 24185  // API parameter values that are decorated as "sensitive" in the API will not
 24186  // be included in the string output. The member name will be present, but the
 24187  // value will be replaced with "sensitive".
 24188  func (s ServiceUnavailableException) String() string {
 24189  	return awsutil.Prettify(s)
 24190  }
 24191  
 24192  // GoString returns the string representation.
 24193  //
 24194  // API parameter values that are decorated as "sensitive" in the API will not
 24195  // be included in the string output. The member name will be present, but the
 24196  // value will be replaced with "sensitive".
 24197  func (s ServiceUnavailableException) GoString() string {
 24198  	return s.String()
 24199  }
 24200  
 24201  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 24202  	return &ServiceUnavailableException{
 24203  		RespMetadata: v,
 24204  	}
 24205  }
 24206  
 24207  // Code returns the exception type name.
 24208  func (s *ServiceUnavailableException) Code() string {
 24209  	return "ServiceUnavailableException"
 24210  }
 24211  
 24212  // Message returns the exception's message.
 24213  func (s *ServiceUnavailableException) Message() string {
 24214  	if s.Message_ != nil {
 24215  		return *s.Message_
 24216  	}
 24217  	return ""
 24218  }
 24219  
 24220  // OrigErr always returns nil, satisfies awserr.Error interface.
 24221  func (s *ServiceUnavailableException) OrigErr() error {
 24222  	return nil
 24223  }
 24224  
 24225  func (s *ServiceUnavailableException) Error() string {
 24226  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 24227  }
 24228  
 24229  // Status code returns the HTTP status code for the request's response error.
 24230  func (s *ServiceUnavailableException) StatusCode() int {
 24231  	return s.RespMetadata.StatusCode
 24232  }
 24233  
 24234  // RequestID returns the service's response RequestID for request.
 24235  func (s *ServiceUnavailableException) RequestID() string {
 24236  	return s.RespMetadata.RequestID
 24237  }
 24238  
 24239  // Represents a unique identifier for a version of a deployed RestApi that is
 24240  // callable by users.
 24241  //
 24242  // Deploy an API (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html)
 24243  type Stage struct {
 24244  	_ struct{} `type:"structure"`
 24245  
 24246  	// Settings for logging access in this stage.
 24247  	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
 24248  
 24249  	// Specifies whether a cache cluster is enabled for the stage.
 24250  	CacheClusterEnabled *bool `locationName:"cacheClusterEnabled" type:"boolean"`
 24251  
 24252  	// The size of the cache cluster for the stage, if enabled.
 24253  	CacheClusterSize *string `locationName:"cacheClusterSize" type:"string" enum:"CacheClusterSize"`
 24254  
 24255  	// The status of the cache cluster for the stage, if enabled.
 24256  	CacheClusterStatus *string `locationName:"cacheClusterStatus" type:"string" enum:"CacheClusterStatus"`
 24257  
 24258  	// Settings for the canary deployment in this stage.
 24259  	CanarySettings *CanarySettings `locationName:"canarySettings" type:"structure"`
 24260  
 24261  	// The identifier of a client certificate for an API stage.
 24262  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
 24263  
 24264  	// The timestamp when the stage was created.
 24265  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
 24266  
 24267  	// The identifier of the Deployment that the stage points to.
 24268  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 24269  
 24270  	// The stage's description.
 24271  	Description *string `locationName:"description" type:"string"`
 24272  
 24273  	// The version of the associated API documentation.
 24274  	DocumentationVersion *string `locationName:"documentationVersion" type:"string"`
 24275  
 24276  	// The timestamp when the stage last updated.
 24277  	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"`
 24278  
 24279  	// A map that defines the method settings for a Stage resource. Keys (designated
 24280  	// as /{method_setting_key below) are method paths defined as {resource_path}/{http_method}
 24281  	// for an individual method override, or /\*/\* for overriding all methods in
 24282  	// the stage.
 24283  	MethodSettings map[string]*MethodSetting `locationName:"methodSettings" type:"map"`
 24284  
 24285  	// The name of the stage is the first path segment in the Uniform Resource Identifier
 24286  	// (URI) of a call to API Gateway. Stage names can only contain alphanumeric
 24287  	// characters, hyphens, and underscores. Maximum length is 128 characters.
 24288  	StageName *string `locationName:"stageName" type:"string"`
 24289  
 24290  	// The collection of tags. Each tag element is associated with a given resource.
 24291  	Tags map[string]*string `locationName:"tags" type:"map"`
 24292  
 24293  	// Specifies whether active tracing with X-ray is enabled for the Stage.
 24294  	TracingEnabled *bool `locationName:"tracingEnabled" type:"boolean"`
 24295  
 24296  	// A map that defines the stage variables for a Stage resource. Variable names
 24297  	// can have alphanumeric and underscore characters, and the values must match
 24298  	// [A-Za-z0-9-._~:/?#&=,]+.
 24299  	Variables map[string]*string `locationName:"variables" type:"map"`
 24300  
 24301  	// The ARN of the WebAcl associated with the Stage.
 24302  	WebAclArn *string `locationName:"webAclArn" type:"string"`
 24303  }
 24304  
 24305  // String returns the string representation.
 24306  //
 24307  // API parameter values that are decorated as "sensitive" in the API will not
 24308  // be included in the string output. The member name will be present, but the
 24309  // value will be replaced with "sensitive".
 24310  func (s Stage) String() string {
 24311  	return awsutil.Prettify(s)
 24312  }
 24313  
 24314  // GoString returns the string representation.
 24315  //
 24316  // API parameter values that are decorated as "sensitive" in the API will not
 24317  // be included in the string output. The member name will be present, but the
 24318  // value will be replaced with "sensitive".
 24319  func (s Stage) GoString() string {
 24320  	return s.String()
 24321  }
 24322  
 24323  // SetAccessLogSettings sets the AccessLogSettings field's value.
 24324  func (s *Stage) SetAccessLogSettings(v *AccessLogSettings) *Stage {
 24325  	s.AccessLogSettings = v
 24326  	return s
 24327  }
 24328  
 24329  // SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
 24330  func (s *Stage) SetCacheClusterEnabled(v bool) *Stage {
 24331  	s.CacheClusterEnabled = &v
 24332  	return s
 24333  }
 24334  
 24335  // SetCacheClusterSize sets the CacheClusterSize field's value.
 24336  func (s *Stage) SetCacheClusterSize(v string) *Stage {
 24337  	s.CacheClusterSize = &v
 24338  	return s
 24339  }
 24340  
 24341  // SetCacheClusterStatus sets the CacheClusterStatus field's value.
 24342  func (s *Stage) SetCacheClusterStatus(v string) *Stage {
 24343  	s.CacheClusterStatus = &v
 24344  	return s
 24345  }
 24346  
 24347  // SetCanarySettings sets the CanarySettings field's value.
 24348  func (s *Stage) SetCanarySettings(v *CanarySettings) *Stage {
 24349  	s.CanarySettings = v
 24350  	return s
 24351  }
 24352  
 24353  // SetClientCertificateId sets the ClientCertificateId field's value.
 24354  func (s *Stage) SetClientCertificateId(v string) *Stage {
 24355  	s.ClientCertificateId = &v
 24356  	return s
 24357  }
 24358  
 24359  // SetCreatedDate sets the CreatedDate field's value.
 24360  func (s *Stage) SetCreatedDate(v time.Time) *Stage {
 24361  	s.CreatedDate = &v
 24362  	return s
 24363  }
 24364  
 24365  // SetDeploymentId sets the DeploymentId field's value.
 24366  func (s *Stage) SetDeploymentId(v string) *Stage {
 24367  	s.DeploymentId = &v
 24368  	return s
 24369  }
 24370  
 24371  // SetDescription sets the Description field's value.
 24372  func (s *Stage) SetDescription(v string) *Stage {
 24373  	s.Description = &v
 24374  	return s
 24375  }
 24376  
 24377  // SetDocumentationVersion sets the DocumentationVersion field's value.
 24378  func (s *Stage) SetDocumentationVersion(v string) *Stage {
 24379  	s.DocumentationVersion = &v
 24380  	return s
 24381  }
 24382  
 24383  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
 24384  func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage {
 24385  	s.LastUpdatedDate = &v
 24386  	return s
 24387  }
 24388  
 24389  // SetMethodSettings sets the MethodSettings field's value.
 24390  func (s *Stage) SetMethodSettings(v map[string]*MethodSetting) *Stage {
 24391  	s.MethodSettings = v
 24392  	return s
 24393  }
 24394  
 24395  // SetStageName sets the StageName field's value.
 24396  func (s *Stage) SetStageName(v string) *Stage {
 24397  	s.StageName = &v
 24398  	return s
 24399  }
 24400  
 24401  // SetTags sets the Tags field's value.
 24402  func (s *Stage) SetTags(v map[string]*string) *Stage {
 24403  	s.Tags = v
 24404  	return s
 24405  }
 24406  
 24407  // SetTracingEnabled sets the TracingEnabled field's value.
 24408  func (s *Stage) SetTracingEnabled(v bool) *Stage {
 24409  	s.TracingEnabled = &v
 24410  	return s
 24411  }
 24412  
 24413  // SetVariables sets the Variables field's value.
 24414  func (s *Stage) SetVariables(v map[string]*string) *Stage {
 24415  	s.Variables = v
 24416  	return s
 24417  }
 24418  
 24419  // SetWebAclArn sets the WebAclArn field's value.
 24420  func (s *Stage) SetWebAclArn(v string) *Stage {
 24421  	s.WebAclArn = &v
 24422  	return s
 24423  }
 24424  
 24425  // A reference to a unique stage identified in the format {restApiId}/{stage}.
 24426  type StageKey struct {
 24427  	_ struct{} `type:"structure"`
 24428  
 24429  	// The string identifier of the associated RestApi.
 24430  	RestApiId *string `locationName:"restApiId" type:"string"`
 24431  
 24432  	// The stage name associated with the stage key.
 24433  	StageName *string `locationName:"stageName" type:"string"`
 24434  }
 24435  
 24436  // String returns the string representation.
 24437  //
 24438  // API parameter values that are decorated as "sensitive" in the API will not
 24439  // be included in the string output. The member name will be present, but the
 24440  // value will be replaced with "sensitive".
 24441  func (s StageKey) String() string {
 24442  	return awsutil.Prettify(s)
 24443  }
 24444  
 24445  // GoString returns the string representation.
 24446  //
 24447  // API parameter values that are decorated as "sensitive" in the API will not
 24448  // be included in the string output. The member name will be present, but the
 24449  // value will be replaced with "sensitive".
 24450  func (s StageKey) GoString() string {
 24451  	return s.String()
 24452  }
 24453  
 24454  // SetRestApiId sets the RestApiId field's value.
 24455  func (s *StageKey) SetRestApiId(v string) *StageKey {
 24456  	s.RestApiId = &v
 24457  	return s
 24458  }
 24459  
 24460  // SetStageName sets the StageName field's value.
 24461  func (s *StageKey) SetStageName(v string) *StageKey {
 24462  	s.StageName = &v
 24463  	return s
 24464  }
 24465  
 24466  // Adds or updates a tag on a given resource.
 24467  type TagResourceInput struct {
 24468  	_ struct{} `type:"structure"`
 24469  
 24470  	// [Required] The ARN of a resource that can be tagged.
 24471  	//
 24472  	// ResourceArn is a required field
 24473  	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
 24474  
 24475  	// [Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
 24476  	// The tag key can be up to 128 characters and must not start with aws:. The
 24477  	// tag value can be up to 256 characters.
 24478  	//
 24479  	// Tags is a required field
 24480  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
 24481  }
 24482  
 24483  // String returns the string representation.
 24484  //
 24485  // API parameter values that are decorated as "sensitive" in the API will not
 24486  // be included in the string output. The member name will be present, but the
 24487  // value will be replaced with "sensitive".
 24488  func (s TagResourceInput) String() string {
 24489  	return awsutil.Prettify(s)
 24490  }
 24491  
 24492  // GoString returns the string representation.
 24493  //
 24494  // API parameter values that are decorated as "sensitive" in the API will not
 24495  // be included in the string output. The member name will be present, but the
 24496  // value will be replaced with "sensitive".
 24497  func (s TagResourceInput) GoString() string {
 24498  	return s.String()
 24499  }
 24500  
 24501  // Validate inspects the fields of the type to determine if they are valid.
 24502  func (s *TagResourceInput) Validate() error {
 24503  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 24504  	if s.ResourceArn == nil {
 24505  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 24506  	}
 24507  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 24508  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 24509  	}
 24510  	if s.Tags == nil {
 24511  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 24512  	}
 24513  
 24514  	if invalidParams.Len() > 0 {
 24515  		return invalidParams
 24516  	}
 24517  	return nil
 24518  }
 24519  
 24520  // SetResourceArn sets the ResourceArn field's value.
 24521  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 24522  	s.ResourceArn = &v
 24523  	return s
 24524  }
 24525  
 24526  // SetTags sets the Tags field's value.
 24527  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 24528  	s.Tags = v
 24529  	return s
 24530  }
 24531  
 24532  type TagResourceOutput struct {
 24533  	_ struct{} `type:"structure" nopayload:"true"`
 24534  }
 24535  
 24536  // String returns the string representation.
 24537  //
 24538  // API parameter values that are decorated as "sensitive" in the API will not
 24539  // be included in the string output. The member name will be present, but the
 24540  // value will be replaced with "sensitive".
 24541  func (s TagResourceOutput) String() string {
 24542  	return awsutil.Prettify(s)
 24543  }
 24544  
 24545  // GoString returns the string representation.
 24546  //
 24547  // API parameter values that are decorated as "sensitive" in the API will not
 24548  // be included in the string output. The member name will be present, but the
 24549  // value will be replaced with "sensitive".
 24550  func (s TagResourceOutput) GoString() string {
 24551  	return s.String()
 24552  }
 24553  
 24554  // Make a request to simulate the execution of an Authorizer.
 24555  type TestInvokeAuthorizerInput struct {
 24556  	_ struct{} `type:"structure"`
 24557  
 24558  	// [Optional] A key-value map of additional context variables.
 24559  	AdditionalContext map[string]*string `locationName:"additionalContext" type:"map"`
 24560  
 24561  	// [Required] Specifies a test invoke authorizer request's Authorizer ID.
 24562  	//
 24563  	// AuthorizerId is a required field
 24564  	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
 24565  
 24566  	// [Optional] The simulated request body of an incoming invocation request.
 24567  	Body *string `locationName:"body" type:"string"`
 24568  
 24569  	// [Required] A key-value map of headers to simulate an incoming invocation
 24570  	// request. This is where the incoming authorization token, or identity source,
 24571  	// should be specified.
 24572  	Headers map[string]*string `locationName:"headers" type:"map"`
 24573  
 24574  	// [Optional] The headers as a map from string to list of values to simulate
 24575  	// an incoming invocation request. This is where the incoming authorization
 24576  	// token, or identity source, may be specified.
 24577  	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
 24578  
 24579  	// [Optional] The URI path, including query string, of the simulated invocation
 24580  	// request. Use this to specify path parameters and query string parameters.
 24581  	PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"`
 24582  
 24583  	// [Required] The string identifier of the associated RestApi.
 24584  	//
 24585  	// RestApiId is a required field
 24586  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 24587  
 24588  	// A key-value map of stage variables to simulate an invocation on a deployed
 24589  	// Stage.
 24590  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
 24591  }
 24592  
 24593  // String returns the string representation.
 24594  //
 24595  // API parameter values that are decorated as "sensitive" in the API will not
 24596  // be included in the string output. The member name will be present, but the
 24597  // value will be replaced with "sensitive".
 24598  func (s TestInvokeAuthorizerInput) String() string {
 24599  	return awsutil.Prettify(s)
 24600  }
 24601  
 24602  // GoString returns the string representation.
 24603  //
 24604  // API parameter values that are decorated as "sensitive" in the API will not
 24605  // be included in the string output. The member name will be present, but the
 24606  // value will be replaced with "sensitive".
 24607  func (s TestInvokeAuthorizerInput) GoString() string {
 24608  	return s.String()
 24609  }
 24610  
 24611  // Validate inspects the fields of the type to determine if they are valid.
 24612  func (s *TestInvokeAuthorizerInput) Validate() error {
 24613  	invalidParams := request.ErrInvalidParams{Context: "TestInvokeAuthorizerInput"}
 24614  	if s.AuthorizerId == nil {
 24615  		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
 24616  	}
 24617  	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
 24618  		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
 24619  	}
 24620  	if s.RestApiId == nil {
 24621  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 24622  	}
 24623  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 24624  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 24625  	}
 24626  
 24627  	if invalidParams.Len() > 0 {
 24628  		return invalidParams
 24629  	}
 24630  	return nil
 24631  }
 24632  
 24633  // SetAdditionalContext sets the AdditionalContext field's value.
 24634  func (s *TestInvokeAuthorizerInput) SetAdditionalContext(v map[string]*string) *TestInvokeAuthorizerInput {
 24635  	s.AdditionalContext = v
 24636  	return s
 24637  }
 24638  
 24639  // SetAuthorizerId sets the AuthorizerId field's value.
 24640  func (s *TestInvokeAuthorizerInput) SetAuthorizerId(v string) *TestInvokeAuthorizerInput {
 24641  	s.AuthorizerId = &v
 24642  	return s
 24643  }
 24644  
 24645  // SetBody sets the Body field's value.
 24646  func (s *TestInvokeAuthorizerInput) SetBody(v string) *TestInvokeAuthorizerInput {
 24647  	s.Body = &v
 24648  	return s
 24649  }
 24650  
 24651  // SetHeaders sets the Headers field's value.
 24652  func (s *TestInvokeAuthorizerInput) SetHeaders(v map[string]*string) *TestInvokeAuthorizerInput {
 24653  	s.Headers = v
 24654  	return s
 24655  }
 24656  
 24657  // SetMultiValueHeaders sets the MultiValueHeaders field's value.
 24658  func (s *TestInvokeAuthorizerInput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeAuthorizerInput {
 24659  	s.MultiValueHeaders = v
 24660  	return s
 24661  }
 24662  
 24663  // SetPathWithQueryString sets the PathWithQueryString field's value.
 24664  func (s *TestInvokeAuthorizerInput) SetPathWithQueryString(v string) *TestInvokeAuthorizerInput {
 24665  	s.PathWithQueryString = &v
 24666  	return s
 24667  }
 24668  
 24669  // SetRestApiId sets the RestApiId field's value.
 24670  func (s *TestInvokeAuthorizerInput) SetRestApiId(v string) *TestInvokeAuthorizerInput {
 24671  	s.RestApiId = &v
 24672  	return s
 24673  }
 24674  
 24675  // SetStageVariables sets the StageVariables field's value.
 24676  func (s *TestInvokeAuthorizerInput) SetStageVariables(v map[string]*string) *TestInvokeAuthorizerInput {
 24677  	s.StageVariables = v
 24678  	return s
 24679  }
 24680  
 24681  // Represents the response of the test invoke request for a custom Authorizer
 24682  type TestInvokeAuthorizerOutput struct {
 24683  	_ struct{} `type:"structure"`
 24684  
 24685  	Authorization map[string][]*string `locationName:"authorization" type:"map"`
 24686  
 24687  	// The open identity claims (https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims),
 24688  	// with any supported custom attributes, returned from the Cognito Your User
 24689  	// Pool configured for the API.
 24690  	Claims map[string]*string `locationName:"claims" type:"map"`
 24691  
 24692  	// The HTTP status code that the client would have received. Value is 0 if the
 24693  	// authorizer succeeded.
 24694  	ClientStatus *int64 `locationName:"clientStatus" type:"integer"`
 24695  
 24696  	// The execution latency of the test authorizer request.
 24697  	Latency *int64 `locationName:"latency" type:"long"`
 24698  
 24699  	// The API Gateway execution log for the test authorizer request.
 24700  	Log *string `locationName:"log" type:"string"`
 24701  
 24702  	// The JSON policy document returned by the Authorizer
 24703  	Policy *string `locationName:"policy" type:"string"`
 24704  
 24705  	// The principal identity returned by the Authorizer
 24706  	PrincipalId *string `locationName:"principalId" type:"string"`
 24707  }
 24708  
 24709  // String returns the string representation.
 24710  //
 24711  // API parameter values that are decorated as "sensitive" in the API will not
 24712  // be included in the string output. The member name will be present, but the
 24713  // value will be replaced with "sensitive".
 24714  func (s TestInvokeAuthorizerOutput) String() string {
 24715  	return awsutil.Prettify(s)
 24716  }
 24717  
 24718  // GoString returns the string representation.
 24719  //
 24720  // API parameter values that are decorated as "sensitive" in the API will not
 24721  // be included in the string output. The member name will be present, but the
 24722  // value will be replaced with "sensitive".
 24723  func (s TestInvokeAuthorizerOutput) GoString() string {
 24724  	return s.String()
 24725  }
 24726  
 24727  // SetAuthorization sets the Authorization field's value.
 24728  func (s *TestInvokeAuthorizerOutput) SetAuthorization(v map[string][]*string) *TestInvokeAuthorizerOutput {
 24729  	s.Authorization = v
 24730  	return s
 24731  }
 24732  
 24733  // SetClaims sets the Claims field's value.
 24734  func (s *TestInvokeAuthorizerOutput) SetClaims(v map[string]*string) *TestInvokeAuthorizerOutput {
 24735  	s.Claims = v
 24736  	return s
 24737  }
 24738  
 24739  // SetClientStatus sets the ClientStatus field's value.
 24740  func (s *TestInvokeAuthorizerOutput) SetClientStatus(v int64) *TestInvokeAuthorizerOutput {
 24741  	s.ClientStatus = &v
 24742  	return s
 24743  }
 24744  
 24745  // SetLatency sets the Latency field's value.
 24746  func (s *TestInvokeAuthorizerOutput) SetLatency(v int64) *TestInvokeAuthorizerOutput {
 24747  	s.Latency = &v
 24748  	return s
 24749  }
 24750  
 24751  // SetLog sets the Log field's value.
 24752  func (s *TestInvokeAuthorizerOutput) SetLog(v string) *TestInvokeAuthorizerOutput {
 24753  	s.Log = &v
 24754  	return s
 24755  }
 24756  
 24757  // SetPolicy sets the Policy field's value.
 24758  func (s *TestInvokeAuthorizerOutput) SetPolicy(v string) *TestInvokeAuthorizerOutput {
 24759  	s.Policy = &v
 24760  	return s
 24761  }
 24762  
 24763  // SetPrincipalId sets the PrincipalId field's value.
 24764  func (s *TestInvokeAuthorizerOutput) SetPrincipalId(v string) *TestInvokeAuthorizerOutput {
 24765  	s.PrincipalId = &v
 24766  	return s
 24767  }
 24768  
 24769  // Make a request to simulate the execution of a Method.
 24770  type TestInvokeMethodInput struct {
 24771  	_ struct{} `type:"structure"`
 24772  
 24773  	// The simulated request body of an incoming invocation request.
 24774  	Body *string `locationName:"body" type:"string"`
 24775  
 24776  	// A ClientCertificate identifier to use in the test invocation. API Gateway
 24777  	// will use the certificate when making the HTTPS request to the defined back-end
 24778  	// endpoint.
 24779  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
 24780  
 24781  	// A key-value map of headers to simulate an incoming invocation request.
 24782  	Headers map[string]*string `locationName:"headers" type:"map"`
 24783  
 24784  	// [Required] Specifies a test invoke method request's HTTP method.
 24785  	//
 24786  	// HttpMethod is a required field
 24787  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 24788  
 24789  	// The headers as a map from string to list of values to simulate an incoming
 24790  	// invocation request.
 24791  	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
 24792  
 24793  	// The URI path, including query string, of the simulated invocation request.
 24794  	// Use this to specify path parameters and query string parameters.
 24795  	PathWithQueryString *string `locationName:"pathWithQueryString" type:"string"`
 24796  
 24797  	// [Required] Specifies a test invoke method request's resource ID.
 24798  	//
 24799  	// ResourceId is a required field
 24800  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 24801  
 24802  	// [Required] The string identifier of the associated RestApi.
 24803  	//
 24804  	// RestApiId is a required field
 24805  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 24806  
 24807  	// A key-value map of stage variables to simulate an invocation on a deployed
 24808  	// Stage.
 24809  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
 24810  }
 24811  
 24812  // String returns the string representation.
 24813  //
 24814  // API parameter values that are decorated as "sensitive" in the API will not
 24815  // be included in the string output. The member name will be present, but the
 24816  // value will be replaced with "sensitive".
 24817  func (s TestInvokeMethodInput) String() string {
 24818  	return awsutil.Prettify(s)
 24819  }
 24820  
 24821  // GoString returns the string representation.
 24822  //
 24823  // API parameter values that are decorated as "sensitive" in the API will not
 24824  // be included in the string output. The member name will be present, but the
 24825  // value will be replaced with "sensitive".
 24826  func (s TestInvokeMethodInput) GoString() string {
 24827  	return s.String()
 24828  }
 24829  
 24830  // Validate inspects the fields of the type to determine if they are valid.
 24831  func (s *TestInvokeMethodInput) Validate() error {
 24832  	invalidParams := request.ErrInvalidParams{Context: "TestInvokeMethodInput"}
 24833  	if s.HttpMethod == nil {
 24834  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 24835  	}
 24836  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 24837  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 24838  	}
 24839  	if s.ResourceId == nil {
 24840  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 24841  	}
 24842  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 24843  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 24844  	}
 24845  	if s.RestApiId == nil {
 24846  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 24847  	}
 24848  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 24849  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 24850  	}
 24851  
 24852  	if invalidParams.Len() > 0 {
 24853  		return invalidParams
 24854  	}
 24855  	return nil
 24856  }
 24857  
 24858  // SetBody sets the Body field's value.
 24859  func (s *TestInvokeMethodInput) SetBody(v string) *TestInvokeMethodInput {
 24860  	s.Body = &v
 24861  	return s
 24862  }
 24863  
 24864  // SetClientCertificateId sets the ClientCertificateId field's value.
 24865  func (s *TestInvokeMethodInput) SetClientCertificateId(v string) *TestInvokeMethodInput {
 24866  	s.ClientCertificateId = &v
 24867  	return s
 24868  }
 24869  
 24870  // SetHeaders sets the Headers field's value.
 24871  func (s *TestInvokeMethodInput) SetHeaders(v map[string]*string) *TestInvokeMethodInput {
 24872  	s.Headers = v
 24873  	return s
 24874  }
 24875  
 24876  // SetHttpMethod sets the HttpMethod field's value.
 24877  func (s *TestInvokeMethodInput) SetHttpMethod(v string) *TestInvokeMethodInput {
 24878  	s.HttpMethod = &v
 24879  	return s
 24880  }
 24881  
 24882  // SetMultiValueHeaders sets the MultiValueHeaders field's value.
 24883  func (s *TestInvokeMethodInput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeMethodInput {
 24884  	s.MultiValueHeaders = v
 24885  	return s
 24886  }
 24887  
 24888  // SetPathWithQueryString sets the PathWithQueryString field's value.
 24889  func (s *TestInvokeMethodInput) SetPathWithQueryString(v string) *TestInvokeMethodInput {
 24890  	s.PathWithQueryString = &v
 24891  	return s
 24892  }
 24893  
 24894  // SetResourceId sets the ResourceId field's value.
 24895  func (s *TestInvokeMethodInput) SetResourceId(v string) *TestInvokeMethodInput {
 24896  	s.ResourceId = &v
 24897  	return s
 24898  }
 24899  
 24900  // SetRestApiId sets the RestApiId field's value.
 24901  func (s *TestInvokeMethodInput) SetRestApiId(v string) *TestInvokeMethodInput {
 24902  	s.RestApiId = &v
 24903  	return s
 24904  }
 24905  
 24906  // SetStageVariables sets the StageVariables field's value.
 24907  func (s *TestInvokeMethodInput) SetStageVariables(v map[string]*string) *TestInvokeMethodInput {
 24908  	s.StageVariables = v
 24909  	return s
 24910  }
 24911  
 24912  // Represents the response of the test invoke request in the HTTP method.
 24913  //
 24914  // Test API using the API Gateway console (https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-test-method.html#how-to-test-method-console)
 24915  type TestInvokeMethodOutput struct {
 24916  	_ struct{} `type:"structure"`
 24917  
 24918  	// The body of the HTTP response.
 24919  	Body *string `locationName:"body" type:"string"`
 24920  
 24921  	// The headers of the HTTP response.
 24922  	Headers map[string]*string `locationName:"headers" type:"map"`
 24923  
 24924  	// The execution latency of the test invoke request.
 24925  	Latency *int64 `locationName:"latency" type:"long"`
 24926  
 24927  	// The API Gateway execution log for the test invoke request.
 24928  	Log *string `locationName:"log" type:"string"`
 24929  
 24930  	// The headers of the HTTP response as a map from string to list of values.
 24931  	MultiValueHeaders map[string][]*string `locationName:"multiValueHeaders" type:"map"`
 24932  
 24933  	// The HTTP status code.
 24934  	Status *int64 `locationName:"status" type:"integer"`
 24935  }
 24936  
 24937  // String returns the string representation.
 24938  //
 24939  // API parameter values that are decorated as "sensitive" in the API will not
 24940  // be included in the string output. The member name will be present, but the
 24941  // value will be replaced with "sensitive".
 24942  func (s TestInvokeMethodOutput) String() string {
 24943  	return awsutil.Prettify(s)
 24944  }
 24945  
 24946  // GoString returns the string representation.
 24947  //
 24948  // API parameter values that are decorated as "sensitive" in the API will not
 24949  // be included in the string output. The member name will be present, but the
 24950  // value will be replaced with "sensitive".
 24951  func (s TestInvokeMethodOutput) GoString() string {
 24952  	return s.String()
 24953  }
 24954  
 24955  // SetBody sets the Body field's value.
 24956  func (s *TestInvokeMethodOutput) SetBody(v string) *TestInvokeMethodOutput {
 24957  	s.Body = &v
 24958  	return s
 24959  }
 24960  
 24961  // SetHeaders sets the Headers field's value.
 24962  func (s *TestInvokeMethodOutput) SetHeaders(v map[string]*string) *TestInvokeMethodOutput {
 24963  	s.Headers = v
 24964  	return s
 24965  }
 24966  
 24967  // SetLatency sets the Latency field's value.
 24968  func (s *TestInvokeMethodOutput) SetLatency(v int64) *TestInvokeMethodOutput {
 24969  	s.Latency = &v
 24970  	return s
 24971  }
 24972  
 24973  // SetLog sets the Log field's value.
 24974  func (s *TestInvokeMethodOutput) SetLog(v string) *TestInvokeMethodOutput {
 24975  	s.Log = &v
 24976  	return s
 24977  }
 24978  
 24979  // SetMultiValueHeaders sets the MultiValueHeaders field's value.
 24980  func (s *TestInvokeMethodOutput) SetMultiValueHeaders(v map[string][]*string) *TestInvokeMethodOutput {
 24981  	s.MultiValueHeaders = v
 24982  	return s
 24983  }
 24984  
 24985  // SetStatus sets the Status field's value.
 24986  func (s *TestInvokeMethodOutput) SetStatus(v int64) *TestInvokeMethodOutput {
 24987  	s.Status = &v
 24988  	return s
 24989  }
 24990  
 24991  // The API request rate limits.
 24992  type ThrottleSettings struct {
 24993  	_ struct{} `type:"structure"`
 24994  
 24995  	// The API request burst limit, the maximum rate limit over a time ranging from
 24996  	// one to a few seconds, depending upon whether the underlying token bucket
 24997  	// is at its full capacity.
 24998  	BurstLimit *int64 `locationName:"burstLimit" type:"integer"`
 24999  
 25000  	// The API request steady-state rate limit.
 25001  	RateLimit *float64 `locationName:"rateLimit" type:"double"`
 25002  }
 25003  
 25004  // String returns the string representation.
 25005  //
 25006  // API parameter values that are decorated as "sensitive" in the API will not
 25007  // be included in the string output. The member name will be present, but the
 25008  // value will be replaced with "sensitive".
 25009  func (s ThrottleSettings) String() string {
 25010  	return awsutil.Prettify(s)
 25011  }
 25012  
 25013  // GoString returns the string representation.
 25014  //
 25015  // API parameter values that are decorated as "sensitive" in the API will not
 25016  // be included in the string output. The member name will be present, but the
 25017  // value will be replaced with "sensitive".
 25018  func (s ThrottleSettings) GoString() string {
 25019  	return s.String()
 25020  }
 25021  
 25022  // SetBurstLimit sets the BurstLimit field's value.
 25023  func (s *ThrottleSettings) SetBurstLimit(v int64) *ThrottleSettings {
 25024  	s.BurstLimit = &v
 25025  	return s
 25026  }
 25027  
 25028  // SetRateLimit sets the RateLimit field's value.
 25029  func (s *ThrottleSettings) SetRateLimit(v float64) *ThrottleSettings {
 25030  	s.RateLimit = &v
 25031  	return s
 25032  }
 25033  
 25034  type TlsConfig struct {
 25035  	_ struct{} `type:"structure"`
 25036  
 25037  	// Specifies whether or not API Gateway skips verification that the certificate
 25038  	// for an integration endpoint is issued by a supported certificate authority
 25039  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html).
 25040  	// This isn’t recommended, but it enables you to use certificates that are
 25041  	// signed by private certificate authorities, or certificates that are self-signed.
 25042  	// If enabled, API Gateway still performs basic certificate validation, which
 25043  	// includes checking the certificate's expiration date, hostname, and presence
 25044  	// of a root certificate authority. Supported only for HTTP and HTTP_PROXY integrations.
 25045  	InsecureSkipVerification *bool `locationName:"insecureSkipVerification" type:"boolean"`
 25046  }
 25047  
 25048  // String returns the string representation.
 25049  //
 25050  // API parameter values that are decorated as "sensitive" in the API will not
 25051  // be included in the string output. The member name will be present, but the
 25052  // value will be replaced with "sensitive".
 25053  func (s TlsConfig) String() string {
 25054  	return awsutil.Prettify(s)
 25055  }
 25056  
 25057  // GoString returns the string representation.
 25058  //
 25059  // API parameter values that are decorated as "sensitive" in the API will not
 25060  // be included in the string output. The member name will be present, but the
 25061  // value will be replaced with "sensitive".
 25062  func (s TlsConfig) GoString() string {
 25063  	return s.String()
 25064  }
 25065  
 25066  // SetInsecureSkipVerification sets the InsecureSkipVerification field's value.
 25067  func (s *TlsConfig) SetInsecureSkipVerification(v bool) *TlsConfig {
 25068  	s.InsecureSkipVerification = &v
 25069  	return s
 25070  }
 25071  
 25072  // The request has reached its throttling limit. Retry after the specified time
 25073  // period.
 25074  type TooManyRequestsException struct {
 25075  	_            struct{}                  `type:"structure"`
 25076  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25077  
 25078  	Message_ *string `locationName:"message" type:"string"`
 25079  
 25080  	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
 25081  }
 25082  
 25083  // String returns the string representation.
 25084  //
 25085  // API parameter values that are decorated as "sensitive" in the API will not
 25086  // be included in the string output. The member name will be present, but the
 25087  // value will be replaced with "sensitive".
 25088  func (s TooManyRequestsException) String() string {
 25089  	return awsutil.Prettify(s)
 25090  }
 25091  
 25092  // GoString returns the string representation.
 25093  //
 25094  // API parameter values that are decorated as "sensitive" in the API will not
 25095  // be included in the string output. The member name will be present, but the
 25096  // value will be replaced with "sensitive".
 25097  func (s TooManyRequestsException) GoString() string {
 25098  	return s.String()
 25099  }
 25100  
 25101  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
 25102  	return &TooManyRequestsException{
 25103  		RespMetadata: v,
 25104  	}
 25105  }
 25106  
 25107  // Code returns the exception type name.
 25108  func (s *TooManyRequestsException) Code() string {
 25109  	return "TooManyRequestsException"
 25110  }
 25111  
 25112  // Message returns the exception's message.
 25113  func (s *TooManyRequestsException) Message() string {
 25114  	if s.Message_ != nil {
 25115  		return *s.Message_
 25116  	}
 25117  	return ""
 25118  }
 25119  
 25120  // OrigErr always returns nil, satisfies awserr.Error interface.
 25121  func (s *TooManyRequestsException) OrigErr() error {
 25122  	return nil
 25123  }
 25124  
 25125  func (s *TooManyRequestsException) Error() string {
 25126  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 25127  }
 25128  
 25129  // Status code returns the HTTP status code for the request's response error.
 25130  func (s *TooManyRequestsException) StatusCode() int {
 25131  	return s.RespMetadata.StatusCode
 25132  }
 25133  
 25134  // RequestID returns the service's response RequestID for request.
 25135  func (s *TooManyRequestsException) RequestID() string {
 25136  	return s.RespMetadata.RequestID
 25137  }
 25138  
 25139  // The request is denied because the caller has insufficient permissions.
 25140  type UnauthorizedException struct {
 25141  	_            struct{}                  `type:"structure"`
 25142  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25143  
 25144  	Message_ *string `locationName:"message" type:"string"`
 25145  }
 25146  
 25147  // String returns the string representation.
 25148  //
 25149  // API parameter values that are decorated as "sensitive" in the API will not
 25150  // be included in the string output. The member name will be present, but the
 25151  // value will be replaced with "sensitive".
 25152  func (s UnauthorizedException) String() string {
 25153  	return awsutil.Prettify(s)
 25154  }
 25155  
 25156  // GoString returns the string representation.
 25157  //
 25158  // API parameter values that are decorated as "sensitive" in the API will not
 25159  // be included in the string output. The member name will be present, but the
 25160  // value will be replaced with "sensitive".
 25161  func (s UnauthorizedException) GoString() string {
 25162  	return s.String()
 25163  }
 25164  
 25165  func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
 25166  	return &UnauthorizedException{
 25167  		RespMetadata: v,
 25168  	}
 25169  }
 25170  
 25171  // Code returns the exception type name.
 25172  func (s *UnauthorizedException) Code() string {
 25173  	return "UnauthorizedException"
 25174  }
 25175  
 25176  // Message returns the exception's message.
 25177  func (s *UnauthorizedException) Message() string {
 25178  	if s.Message_ != nil {
 25179  		return *s.Message_
 25180  	}
 25181  	return ""
 25182  }
 25183  
 25184  // OrigErr always returns nil, satisfies awserr.Error interface.
 25185  func (s *UnauthorizedException) OrigErr() error {
 25186  	return nil
 25187  }
 25188  
 25189  func (s *UnauthorizedException) Error() string {
 25190  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25191  }
 25192  
 25193  // Status code returns the HTTP status code for the request's response error.
 25194  func (s *UnauthorizedException) StatusCode() int {
 25195  	return s.RespMetadata.StatusCode
 25196  }
 25197  
 25198  // RequestID returns the service's response RequestID for request.
 25199  func (s *UnauthorizedException) RequestID() string {
 25200  	return s.RespMetadata.RequestID
 25201  }
 25202  
 25203  // Removes a tag from a given resource.
 25204  type UntagResourceInput struct {
 25205  	_ struct{} `type:"structure" nopayload:"true"`
 25206  
 25207  	// [Required] The ARN of a resource that can be tagged.
 25208  	//
 25209  	// ResourceArn is a required field
 25210  	ResourceArn *string `location:"uri" locationName:"resource_arn" type:"string" required:"true"`
 25211  
 25212  	// [Required] The Tag keys to delete.
 25213  	//
 25214  	// TagKeys is a required field
 25215  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 25216  }
 25217  
 25218  // String returns the string representation.
 25219  //
 25220  // API parameter values that are decorated as "sensitive" in the API will not
 25221  // be included in the string output. The member name will be present, but the
 25222  // value will be replaced with "sensitive".
 25223  func (s UntagResourceInput) String() string {
 25224  	return awsutil.Prettify(s)
 25225  }
 25226  
 25227  // GoString returns the string representation.
 25228  //
 25229  // API parameter values that are decorated as "sensitive" in the API will not
 25230  // be included in the string output. The member name will be present, but the
 25231  // value will be replaced with "sensitive".
 25232  func (s UntagResourceInput) GoString() string {
 25233  	return s.String()
 25234  }
 25235  
 25236  // Validate inspects the fields of the type to determine if they are valid.
 25237  func (s *UntagResourceInput) Validate() error {
 25238  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 25239  	if s.ResourceArn == nil {
 25240  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 25241  	}
 25242  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 25243  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 25244  	}
 25245  	if s.TagKeys == nil {
 25246  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 25247  	}
 25248  
 25249  	if invalidParams.Len() > 0 {
 25250  		return invalidParams
 25251  	}
 25252  	return nil
 25253  }
 25254  
 25255  // SetResourceArn sets the ResourceArn field's value.
 25256  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 25257  	s.ResourceArn = &v
 25258  	return s
 25259  }
 25260  
 25261  // SetTagKeys sets the TagKeys field's value.
 25262  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 25263  	s.TagKeys = v
 25264  	return s
 25265  }
 25266  
 25267  type UntagResourceOutput struct {
 25268  	_ struct{} `type:"structure" nopayload:"true"`
 25269  }
 25270  
 25271  // String returns the string representation.
 25272  //
 25273  // API parameter values that are decorated as "sensitive" in the API will not
 25274  // be included in the string output. The member name will be present, but the
 25275  // value will be replaced with "sensitive".
 25276  func (s UntagResourceOutput) String() string {
 25277  	return awsutil.Prettify(s)
 25278  }
 25279  
 25280  // GoString returns the string representation.
 25281  //
 25282  // API parameter values that are decorated as "sensitive" in the API will not
 25283  // be included in the string output. The member name will be present, but the
 25284  // value will be replaced with "sensitive".
 25285  func (s UntagResourceOutput) GoString() string {
 25286  	return s.String()
 25287  }
 25288  
 25289  // Requests API Gateway to change information about the current Account resource.
 25290  type UpdateAccountInput struct {
 25291  	_ struct{} `type:"structure"`
 25292  
 25293  	// A list of update operations to be applied to the specified resource and in
 25294  	// the order specified in this list.
 25295  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25296  }
 25297  
 25298  // String returns the string representation.
 25299  //
 25300  // API parameter values that are decorated as "sensitive" in the API will not
 25301  // be included in the string output. The member name will be present, but the
 25302  // value will be replaced with "sensitive".
 25303  func (s UpdateAccountInput) String() string {
 25304  	return awsutil.Prettify(s)
 25305  }
 25306  
 25307  // GoString returns the string representation.
 25308  //
 25309  // API parameter values that are decorated as "sensitive" in the API will not
 25310  // be included in the string output. The member name will be present, but the
 25311  // value will be replaced with "sensitive".
 25312  func (s UpdateAccountInput) GoString() string {
 25313  	return s.String()
 25314  }
 25315  
 25316  // SetPatchOperations sets the PatchOperations field's value.
 25317  func (s *UpdateAccountInput) SetPatchOperations(v []*PatchOperation) *UpdateAccountInput {
 25318  	s.PatchOperations = v
 25319  	return s
 25320  }
 25321  
 25322  // A request to change information about an ApiKey resource.
 25323  type UpdateApiKeyInput struct {
 25324  	_ struct{} `type:"structure"`
 25325  
 25326  	// [Required] The identifier of the ApiKey resource to be updated.
 25327  	//
 25328  	// ApiKey is a required field
 25329  	ApiKey *string `location:"uri" locationName:"api_Key" type:"string" required:"true"`
 25330  
 25331  	// A list of update operations to be applied to the specified resource and in
 25332  	// the order specified in this list.
 25333  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25334  }
 25335  
 25336  // String returns the string representation.
 25337  //
 25338  // API parameter values that are decorated as "sensitive" in the API will not
 25339  // be included in the string output. The member name will be present, but the
 25340  // value will be replaced with "sensitive".
 25341  func (s UpdateApiKeyInput) String() string {
 25342  	return awsutil.Prettify(s)
 25343  }
 25344  
 25345  // GoString returns the string representation.
 25346  //
 25347  // API parameter values that are decorated as "sensitive" in the API will not
 25348  // be included in the string output. The member name will be present, but the
 25349  // value will be replaced with "sensitive".
 25350  func (s UpdateApiKeyInput) GoString() string {
 25351  	return s.String()
 25352  }
 25353  
 25354  // Validate inspects the fields of the type to determine if they are valid.
 25355  func (s *UpdateApiKeyInput) Validate() error {
 25356  	invalidParams := request.ErrInvalidParams{Context: "UpdateApiKeyInput"}
 25357  	if s.ApiKey == nil {
 25358  		invalidParams.Add(request.NewErrParamRequired("ApiKey"))
 25359  	}
 25360  	if s.ApiKey != nil && len(*s.ApiKey) < 1 {
 25361  		invalidParams.Add(request.NewErrParamMinLen("ApiKey", 1))
 25362  	}
 25363  
 25364  	if invalidParams.Len() > 0 {
 25365  		return invalidParams
 25366  	}
 25367  	return nil
 25368  }
 25369  
 25370  // SetApiKey sets the ApiKey field's value.
 25371  func (s *UpdateApiKeyInput) SetApiKey(v string) *UpdateApiKeyInput {
 25372  	s.ApiKey = &v
 25373  	return s
 25374  }
 25375  
 25376  // SetPatchOperations sets the PatchOperations field's value.
 25377  func (s *UpdateApiKeyInput) SetPatchOperations(v []*PatchOperation) *UpdateApiKeyInput {
 25378  	s.PatchOperations = v
 25379  	return s
 25380  }
 25381  
 25382  // Request to update an existing Authorizer resource.
 25383  type UpdateAuthorizerInput struct {
 25384  	_ struct{} `type:"structure"`
 25385  
 25386  	// [Required] The identifier of the Authorizer resource.
 25387  	//
 25388  	// AuthorizerId is a required field
 25389  	AuthorizerId *string `location:"uri" locationName:"authorizer_id" type:"string" required:"true"`
 25390  
 25391  	// A list of update operations to be applied to the specified resource and in
 25392  	// the order specified in this list.
 25393  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25394  
 25395  	// [Required] The string identifier of the associated RestApi.
 25396  	//
 25397  	// RestApiId is a required field
 25398  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 25399  }
 25400  
 25401  // String returns the string representation.
 25402  //
 25403  // API parameter values that are decorated as "sensitive" in the API will not
 25404  // be included in the string output. The member name will be present, but the
 25405  // value will be replaced with "sensitive".
 25406  func (s UpdateAuthorizerInput) String() string {
 25407  	return awsutil.Prettify(s)
 25408  }
 25409  
 25410  // GoString returns the string representation.
 25411  //
 25412  // API parameter values that are decorated as "sensitive" in the API will not
 25413  // be included in the string output. The member name will be present, but the
 25414  // value will be replaced with "sensitive".
 25415  func (s UpdateAuthorizerInput) GoString() string {
 25416  	return s.String()
 25417  }
 25418  
 25419  // Validate inspects the fields of the type to determine if they are valid.
 25420  func (s *UpdateAuthorizerInput) Validate() error {
 25421  	invalidParams := request.ErrInvalidParams{Context: "UpdateAuthorizerInput"}
 25422  	if s.AuthorizerId == nil {
 25423  		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
 25424  	}
 25425  	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
 25426  		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
 25427  	}
 25428  	if s.RestApiId == nil {
 25429  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 25430  	}
 25431  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 25432  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 25433  	}
 25434  
 25435  	if invalidParams.Len() > 0 {
 25436  		return invalidParams
 25437  	}
 25438  	return nil
 25439  }
 25440  
 25441  // SetAuthorizerId sets the AuthorizerId field's value.
 25442  func (s *UpdateAuthorizerInput) SetAuthorizerId(v string) *UpdateAuthorizerInput {
 25443  	s.AuthorizerId = &v
 25444  	return s
 25445  }
 25446  
 25447  // SetPatchOperations sets the PatchOperations field's value.
 25448  func (s *UpdateAuthorizerInput) SetPatchOperations(v []*PatchOperation) *UpdateAuthorizerInput {
 25449  	s.PatchOperations = v
 25450  	return s
 25451  }
 25452  
 25453  // SetRestApiId sets the RestApiId field's value.
 25454  func (s *UpdateAuthorizerInput) SetRestApiId(v string) *UpdateAuthorizerInput {
 25455  	s.RestApiId = &v
 25456  	return s
 25457  }
 25458  
 25459  // A request to change information about the BasePathMapping resource.
 25460  type UpdateBasePathMappingInput struct {
 25461  	_ struct{} `type:"structure"`
 25462  
 25463  	// [Required] The base path of the BasePathMapping resource to change.
 25464  	//
 25465  	// To specify an empty base path, set this parameter to '(none)'.
 25466  	//
 25467  	// BasePath is a required field
 25468  	BasePath *string `location:"uri" locationName:"base_path" type:"string" required:"true"`
 25469  
 25470  	// [Required] The domain name of the BasePathMapping resource to change.
 25471  	//
 25472  	// DomainName is a required field
 25473  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 25474  
 25475  	// A list of update operations to be applied to the specified resource and in
 25476  	// the order specified in this list.
 25477  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25478  }
 25479  
 25480  // String returns the string representation.
 25481  //
 25482  // API parameter values that are decorated as "sensitive" in the API will not
 25483  // be included in the string output. The member name will be present, but the
 25484  // value will be replaced with "sensitive".
 25485  func (s UpdateBasePathMappingInput) String() string {
 25486  	return awsutil.Prettify(s)
 25487  }
 25488  
 25489  // GoString returns the string representation.
 25490  //
 25491  // API parameter values that are decorated as "sensitive" in the API will not
 25492  // be included in the string output. The member name will be present, but the
 25493  // value will be replaced with "sensitive".
 25494  func (s UpdateBasePathMappingInput) GoString() string {
 25495  	return s.String()
 25496  }
 25497  
 25498  // Validate inspects the fields of the type to determine if they are valid.
 25499  func (s *UpdateBasePathMappingInput) Validate() error {
 25500  	invalidParams := request.ErrInvalidParams{Context: "UpdateBasePathMappingInput"}
 25501  	if s.BasePath == nil {
 25502  		invalidParams.Add(request.NewErrParamRequired("BasePath"))
 25503  	}
 25504  	if s.BasePath != nil && len(*s.BasePath) < 1 {
 25505  		invalidParams.Add(request.NewErrParamMinLen("BasePath", 1))
 25506  	}
 25507  	if s.DomainName == nil {
 25508  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 25509  	}
 25510  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 25511  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 25512  	}
 25513  
 25514  	if invalidParams.Len() > 0 {
 25515  		return invalidParams
 25516  	}
 25517  	return nil
 25518  }
 25519  
 25520  // SetBasePath sets the BasePath field's value.
 25521  func (s *UpdateBasePathMappingInput) SetBasePath(v string) *UpdateBasePathMappingInput {
 25522  	s.BasePath = &v
 25523  	return s
 25524  }
 25525  
 25526  // SetDomainName sets the DomainName field's value.
 25527  func (s *UpdateBasePathMappingInput) SetDomainName(v string) *UpdateBasePathMappingInput {
 25528  	s.DomainName = &v
 25529  	return s
 25530  }
 25531  
 25532  // SetPatchOperations sets the PatchOperations field's value.
 25533  func (s *UpdateBasePathMappingInput) SetPatchOperations(v []*PatchOperation) *UpdateBasePathMappingInput {
 25534  	s.PatchOperations = v
 25535  	return s
 25536  }
 25537  
 25538  // A request to change information about an ClientCertificate resource.
 25539  type UpdateClientCertificateInput struct {
 25540  	_ struct{} `type:"structure"`
 25541  
 25542  	// [Required] The identifier of the ClientCertificate resource to be updated.
 25543  	//
 25544  	// ClientCertificateId is a required field
 25545  	ClientCertificateId *string `location:"uri" locationName:"clientcertificate_id" type:"string" required:"true"`
 25546  
 25547  	// A list of update operations to be applied to the specified resource and in
 25548  	// the order specified in this list.
 25549  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25550  }
 25551  
 25552  // String returns the string representation.
 25553  //
 25554  // API parameter values that are decorated as "sensitive" in the API will not
 25555  // be included in the string output. The member name will be present, but the
 25556  // value will be replaced with "sensitive".
 25557  func (s UpdateClientCertificateInput) String() string {
 25558  	return awsutil.Prettify(s)
 25559  }
 25560  
 25561  // GoString returns the string representation.
 25562  //
 25563  // API parameter values that are decorated as "sensitive" in the API will not
 25564  // be included in the string output. The member name will be present, but the
 25565  // value will be replaced with "sensitive".
 25566  func (s UpdateClientCertificateInput) GoString() string {
 25567  	return s.String()
 25568  }
 25569  
 25570  // Validate inspects the fields of the type to determine if they are valid.
 25571  func (s *UpdateClientCertificateInput) Validate() error {
 25572  	invalidParams := request.ErrInvalidParams{Context: "UpdateClientCertificateInput"}
 25573  	if s.ClientCertificateId == nil {
 25574  		invalidParams.Add(request.NewErrParamRequired("ClientCertificateId"))
 25575  	}
 25576  	if s.ClientCertificateId != nil && len(*s.ClientCertificateId) < 1 {
 25577  		invalidParams.Add(request.NewErrParamMinLen("ClientCertificateId", 1))
 25578  	}
 25579  
 25580  	if invalidParams.Len() > 0 {
 25581  		return invalidParams
 25582  	}
 25583  	return nil
 25584  }
 25585  
 25586  // SetClientCertificateId sets the ClientCertificateId field's value.
 25587  func (s *UpdateClientCertificateInput) SetClientCertificateId(v string) *UpdateClientCertificateInput {
 25588  	s.ClientCertificateId = &v
 25589  	return s
 25590  }
 25591  
 25592  // SetPatchOperations sets the PatchOperations field's value.
 25593  func (s *UpdateClientCertificateInput) SetPatchOperations(v []*PatchOperation) *UpdateClientCertificateInput {
 25594  	s.PatchOperations = v
 25595  	return s
 25596  }
 25597  
 25598  // Requests API Gateway to change information about a Deployment resource.
 25599  type UpdateDeploymentInput struct {
 25600  	_ struct{} `type:"structure"`
 25601  
 25602  	// The replacement identifier for the Deployment resource to change information
 25603  	// about.
 25604  	//
 25605  	// DeploymentId is a required field
 25606  	DeploymentId *string `location:"uri" locationName:"deployment_id" type:"string" required:"true"`
 25607  
 25608  	// A list of update operations to be applied to the specified resource and in
 25609  	// the order specified in this list.
 25610  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25611  
 25612  	// [Required] The string identifier of the associated RestApi.
 25613  	//
 25614  	// RestApiId is a required field
 25615  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 25616  }
 25617  
 25618  // String returns the string representation.
 25619  //
 25620  // API parameter values that are decorated as "sensitive" in the API will not
 25621  // be included in the string output. The member name will be present, but the
 25622  // value will be replaced with "sensitive".
 25623  func (s UpdateDeploymentInput) String() string {
 25624  	return awsutil.Prettify(s)
 25625  }
 25626  
 25627  // GoString returns the string representation.
 25628  //
 25629  // API parameter values that are decorated as "sensitive" in the API will not
 25630  // be included in the string output. The member name will be present, but the
 25631  // value will be replaced with "sensitive".
 25632  func (s UpdateDeploymentInput) GoString() string {
 25633  	return s.String()
 25634  }
 25635  
 25636  // Validate inspects the fields of the type to determine if they are valid.
 25637  func (s *UpdateDeploymentInput) Validate() error {
 25638  	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentInput"}
 25639  	if s.DeploymentId == nil {
 25640  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 25641  	}
 25642  	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
 25643  		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
 25644  	}
 25645  	if s.RestApiId == nil {
 25646  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 25647  	}
 25648  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 25649  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 25650  	}
 25651  
 25652  	if invalidParams.Len() > 0 {
 25653  		return invalidParams
 25654  	}
 25655  	return nil
 25656  }
 25657  
 25658  // SetDeploymentId sets the DeploymentId field's value.
 25659  func (s *UpdateDeploymentInput) SetDeploymentId(v string) *UpdateDeploymentInput {
 25660  	s.DeploymentId = &v
 25661  	return s
 25662  }
 25663  
 25664  // SetPatchOperations sets the PatchOperations field's value.
 25665  func (s *UpdateDeploymentInput) SetPatchOperations(v []*PatchOperation) *UpdateDeploymentInput {
 25666  	s.PatchOperations = v
 25667  	return s
 25668  }
 25669  
 25670  // SetRestApiId sets the RestApiId field's value.
 25671  func (s *UpdateDeploymentInput) SetRestApiId(v string) *UpdateDeploymentInput {
 25672  	s.RestApiId = &v
 25673  	return s
 25674  }
 25675  
 25676  // Updates an existing documentation part of a given API.
 25677  type UpdateDocumentationPartInput struct {
 25678  	_ struct{} `type:"structure"`
 25679  
 25680  	// [Required] The identifier of the to-be-updated documentation part.
 25681  	//
 25682  	// DocumentationPartId is a required field
 25683  	DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"`
 25684  
 25685  	// A list of update operations to be applied to the specified resource and in
 25686  	// the order specified in this list.
 25687  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25688  
 25689  	// [Required] The string identifier of the associated RestApi.
 25690  	//
 25691  	// RestApiId is a required field
 25692  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 25693  }
 25694  
 25695  // String returns the string representation.
 25696  //
 25697  // API parameter values that are decorated as "sensitive" in the API will not
 25698  // be included in the string output. The member name will be present, but the
 25699  // value will be replaced with "sensitive".
 25700  func (s UpdateDocumentationPartInput) String() string {
 25701  	return awsutil.Prettify(s)
 25702  }
 25703  
 25704  // GoString returns the string representation.
 25705  //
 25706  // API parameter values that are decorated as "sensitive" in the API will not
 25707  // be included in the string output. The member name will be present, but the
 25708  // value will be replaced with "sensitive".
 25709  func (s UpdateDocumentationPartInput) GoString() string {
 25710  	return s.String()
 25711  }
 25712  
 25713  // Validate inspects the fields of the type to determine if they are valid.
 25714  func (s *UpdateDocumentationPartInput) Validate() error {
 25715  	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationPartInput"}
 25716  	if s.DocumentationPartId == nil {
 25717  		invalidParams.Add(request.NewErrParamRequired("DocumentationPartId"))
 25718  	}
 25719  	if s.DocumentationPartId != nil && len(*s.DocumentationPartId) < 1 {
 25720  		invalidParams.Add(request.NewErrParamMinLen("DocumentationPartId", 1))
 25721  	}
 25722  	if s.RestApiId == nil {
 25723  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 25724  	}
 25725  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 25726  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 25727  	}
 25728  
 25729  	if invalidParams.Len() > 0 {
 25730  		return invalidParams
 25731  	}
 25732  	return nil
 25733  }
 25734  
 25735  // SetDocumentationPartId sets the DocumentationPartId field's value.
 25736  func (s *UpdateDocumentationPartInput) SetDocumentationPartId(v string) *UpdateDocumentationPartInput {
 25737  	s.DocumentationPartId = &v
 25738  	return s
 25739  }
 25740  
 25741  // SetPatchOperations sets the PatchOperations field's value.
 25742  func (s *UpdateDocumentationPartInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationPartInput {
 25743  	s.PatchOperations = v
 25744  	return s
 25745  }
 25746  
 25747  // SetRestApiId sets the RestApiId field's value.
 25748  func (s *UpdateDocumentationPartInput) SetRestApiId(v string) *UpdateDocumentationPartInput {
 25749  	s.RestApiId = &v
 25750  	return s
 25751  }
 25752  
 25753  // Updates an existing documentation version of an API.
 25754  type UpdateDocumentationVersionInput struct {
 25755  	_ struct{} `type:"structure"`
 25756  
 25757  	// [Required] The version identifier of the to-be-updated documentation version.
 25758  	//
 25759  	// DocumentationVersion is a required field
 25760  	DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"`
 25761  
 25762  	// A list of update operations to be applied to the specified resource and in
 25763  	// the order specified in this list.
 25764  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25765  
 25766  	// [Required] The string identifier of the associated RestApi..
 25767  	//
 25768  	// RestApiId is a required field
 25769  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 25770  }
 25771  
 25772  // String returns the string representation.
 25773  //
 25774  // API parameter values that are decorated as "sensitive" in the API will not
 25775  // be included in the string output. The member name will be present, but the
 25776  // value will be replaced with "sensitive".
 25777  func (s UpdateDocumentationVersionInput) String() string {
 25778  	return awsutil.Prettify(s)
 25779  }
 25780  
 25781  // GoString returns the string representation.
 25782  //
 25783  // API parameter values that are decorated as "sensitive" in the API will not
 25784  // be included in the string output. The member name will be present, but the
 25785  // value will be replaced with "sensitive".
 25786  func (s UpdateDocumentationVersionInput) GoString() string {
 25787  	return s.String()
 25788  }
 25789  
 25790  // Validate inspects the fields of the type to determine if they are valid.
 25791  func (s *UpdateDocumentationVersionInput) Validate() error {
 25792  	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationVersionInput"}
 25793  	if s.DocumentationVersion == nil {
 25794  		invalidParams.Add(request.NewErrParamRequired("DocumentationVersion"))
 25795  	}
 25796  	if s.DocumentationVersion != nil && len(*s.DocumentationVersion) < 1 {
 25797  		invalidParams.Add(request.NewErrParamMinLen("DocumentationVersion", 1))
 25798  	}
 25799  	if s.RestApiId == nil {
 25800  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 25801  	}
 25802  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 25803  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 25804  	}
 25805  
 25806  	if invalidParams.Len() > 0 {
 25807  		return invalidParams
 25808  	}
 25809  	return nil
 25810  }
 25811  
 25812  // SetDocumentationVersion sets the DocumentationVersion field's value.
 25813  func (s *UpdateDocumentationVersionInput) SetDocumentationVersion(v string) *UpdateDocumentationVersionInput {
 25814  	s.DocumentationVersion = &v
 25815  	return s
 25816  }
 25817  
 25818  // SetPatchOperations sets the PatchOperations field's value.
 25819  func (s *UpdateDocumentationVersionInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationVersionInput {
 25820  	s.PatchOperations = v
 25821  	return s
 25822  }
 25823  
 25824  // SetRestApiId sets the RestApiId field's value.
 25825  func (s *UpdateDocumentationVersionInput) SetRestApiId(v string) *UpdateDocumentationVersionInput {
 25826  	s.RestApiId = &v
 25827  	return s
 25828  }
 25829  
 25830  // A request to change information about the DomainName resource.
 25831  type UpdateDomainNameInput struct {
 25832  	_ struct{} `type:"structure"`
 25833  
 25834  	// [Required] The name of the DomainName resource to be changed.
 25835  	//
 25836  	// DomainName is a required field
 25837  	DomainName *string `location:"uri" locationName:"domain_name" type:"string" required:"true"`
 25838  
 25839  	// A list of update operations to be applied to the specified resource and in
 25840  	// the order specified in this list.
 25841  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25842  }
 25843  
 25844  // String returns the string representation.
 25845  //
 25846  // API parameter values that are decorated as "sensitive" in the API will not
 25847  // be included in the string output. The member name will be present, but the
 25848  // value will be replaced with "sensitive".
 25849  func (s UpdateDomainNameInput) String() string {
 25850  	return awsutil.Prettify(s)
 25851  }
 25852  
 25853  // GoString returns the string representation.
 25854  //
 25855  // API parameter values that are decorated as "sensitive" in the API will not
 25856  // be included in the string output. The member name will be present, but the
 25857  // value will be replaced with "sensitive".
 25858  func (s UpdateDomainNameInput) GoString() string {
 25859  	return s.String()
 25860  }
 25861  
 25862  // Validate inspects the fields of the type to determine if they are valid.
 25863  func (s *UpdateDomainNameInput) Validate() error {
 25864  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameInput"}
 25865  	if s.DomainName == nil {
 25866  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 25867  	}
 25868  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 25869  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 25870  	}
 25871  
 25872  	if invalidParams.Len() > 0 {
 25873  		return invalidParams
 25874  	}
 25875  	return nil
 25876  }
 25877  
 25878  // SetDomainName sets the DomainName field's value.
 25879  func (s *UpdateDomainNameInput) SetDomainName(v string) *UpdateDomainNameInput {
 25880  	s.DomainName = &v
 25881  	return s
 25882  }
 25883  
 25884  // SetPatchOperations sets the PatchOperations field's value.
 25885  func (s *UpdateDomainNameInput) SetPatchOperations(v []*PatchOperation) *UpdateDomainNameInput {
 25886  	s.PatchOperations = v
 25887  	return s
 25888  }
 25889  
 25890  // Updates a GatewayResponse of a specified response type on the given RestApi.
 25891  type UpdateGatewayResponseInput struct {
 25892  	_ struct{} `type:"structure"`
 25893  
 25894  	// A list of update operations to be applied to the specified resource and in
 25895  	// the order specified in this list.
 25896  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 25897  
 25898  	// [Required]
 25899  	// The response type of the associated GatewayResponse.
 25900  	//
 25901  	// ResponseType is a required field
 25902  	ResponseType *string `location:"uri" locationName:"response_type" type:"string" required:"true" enum:"GatewayResponseType"`
 25903  
 25904  	// [Required] The string identifier of the associated RestApi.
 25905  	//
 25906  	// RestApiId is a required field
 25907  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 25908  }
 25909  
 25910  // String returns the string representation.
 25911  //
 25912  // API parameter values that are decorated as "sensitive" in the API will not
 25913  // be included in the string output. The member name will be present, but the
 25914  // value will be replaced with "sensitive".
 25915  func (s UpdateGatewayResponseInput) String() string {
 25916  	return awsutil.Prettify(s)
 25917  }
 25918  
 25919  // GoString returns the string representation.
 25920  //
 25921  // API parameter values that are decorated as "sensitive" in the API will not
 25922  // be included in the string output. The member name will be present, but the
 25923  // value will be replaced with "sensitive".
 25924  func (s UpdateGatewayResponseInput) GoString() string {
 25925  	return s.String()
 25926  }
 25927  
 25928  // Validate inspects the fields of the type to determine if they are valid.
 25929  func (s *UpdateGatewayResponseInput) Validate() error {
 25930  	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayResponseInput"}
 25931  	if s.ResponseType == nil {
 25932  		invalidParams.Add(request.NewErrParamRequired("ResponseType"))
 25933  	}
 25934  	if s.ResponseType != nil && len(*s.ResponseType) < 1 {
 25935  		invalidParams.Add(request.NewErrParamMinLen("ResponseType", 1))
 25936  	}
 25937  	if s.RestApiId == nil {
 25938  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 25939  	}
 25940  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 25941  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 25942  	}
 25943  
 25944  	if invalidParams.Len() > 0 {
 25945  		return invalidParams
 25946  	}
 25947  	return nil
 25948  }
 25949  
 25950  // SetPatchOperations sets the PatchOperations field's value.
 25951  func (s *UpdateGatewayResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateGatewayResponseInput {
 25952  	s.PatchOperations = v
 25953  	return s
 25954  }
 25955  
 25956  // SetResponseType sets the ResponseType field's value.
 25957  func (s *UpdateGatewayResponseInput) SetResponseType(v string) *UpdateGatewayResponseInput {
 25958  	s.ResponseType = &v
 25959  	return s
 25960  }
 25961  
 25962  // SetRestApiId sets the RestApiId field's value.
 25963  func (s *UpdateGatewayResponseInput) SetRestApiId(v string) *UpdateGatewayResponseInput {
 25964  	s.RestApiId = &v
 25965  	return s
 25966  }
 25967  
 25968  // A gateway response of a given response type and status code, with optional
 25969  // response parameters and mapping templates.
 25970  //
 25971  // For more information about valid gateway response types, see Gateway Response
 25972  // Types Supported by API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html)
 25973  //
 25974  // Example: Get a Gateway Response of a given response type
 25975  //
 25976  // Request
 25977  //
 25978  // This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN
 25979  // type.
 25980  //  GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1
 25981  //  Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json
 25982  //  X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request,
 25983  //  SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a
 25984  //  Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45
 25985  // The response type is specified as a URL path.
 25986  //
 25987  // Response
 25988  //
 25989  // The successful operation returns the 200 OK status code and a payload similar
 25990  // to the following:
 25991  //  { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html",
 25992  //  "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
 25993  //  }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
 25994  //  }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}",
 25995  //  "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN"
 25996  //  } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path":
 25997  //  "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin":
 25998  //  "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q",
 25999  //  "gatewayresponse.header.x-request-header": "method.request.header.Accept"
 26000  //  }, "responseTemplates": { "application/json": "{\n \"message\": $context.error.messageString,\n
 26001  //  \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n
 26002  //  \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n
 26003  //  \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN",
 26004  //  "statusCode": "404" }
 26005  //
 26006  // Customize Gateway Responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html)
 26007  type UpdateGatewayResponseOutput struct {
 26008  	_ struct{} `type:"structure"`
 26009  
 26010  	// A Boolean flag to indicate whether this GatewayResponse is the default gateway
 26011  	// response (true) or not (false). A default gateway response is one generated
 26012  	// by API Gateway without any customization by an API developer.
 26013  	DefaultResponse *bool `locationName:"defaultResponse" type:"boolean"`
 26014  
 26015  	// Response parameters (paths, query strings and headers) of the GatewayResponse
 26016  	// as a string-to-string map of key-value pairs.
 26017  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 26018  
 26019  	// Response templates of the GatewayResponse as a string-to-string map of key-value
 26020  	// pairs.
 26021  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 26022  
 26023  	// The response type of the associated GatewayResponse.
 26024  	ResponseType *string `locationName:"responseType" type:"string" enum:"GatewayResponseType"`
 26025  
 26026  	// The HTTP status code for this GatewayResponse.
 26027  	StatusCode *string `locationName:"statusCode" type:"string"`
 26028  }
 26029  
 26030  // String returns the string representation.
 26031  //
 26032  // API parameter values that are decorated as "sensitive" in the API will not
 26033  // be included in the string output. The member name will be present, but the
 26034  // value will be replaced with "sensitive".
 26035  func (s UpdateGatewayResponseOutput) String() string {
 26036  	return awsutil.Prettify(s)
 26037  }
 26038  
 26039  // GoString returns the string representation.
 26040  //
 26041  // API parameter values that are decorated as "sensitive" in the API will not
 26042  // be included in the string output. The member name will be present, but the
 26043  // value will be replaced with "sensitive".
 26044  func (s UpdateGatewayResponseOutput) GoString() string {
 26045  	return s.String()
 26046  }
 26047  
 26048  // SetDefaultResponse sets the DefaultResponse field's value.
 26049  func (s *UpdateGatewayResponseOutput) SetDefaultResponse(v bool) *UpdateGatewayResponseOutput {
 26050  	s.DefaultResponse = &v
 26051  	return s
 26052  }
 26053  
 26054  // SetResponseParameters sets the ResponseParameters field's value.
 26055  func (s *UpdateGatewayResponseOutput) SetResponseParameters(v map[string]*string) *UpdateGatewayResponseOutput {
 26056  	s.ResponseParameters = v
 26057  	return s
 26058  }
 26059  
 26060  // SetResponseTemplates sets the ResponseTemplates field's value.
 26061  func (s *UpdateGatewayResponseOutput) SetResponseTemplates(v map[string]*string) *UpdateGatewayResponseOutput {
 26062  	s.ResponseTemplates = v
 26063  	return s
 26064  }
 26065  
 26066  // SetResponseType sets the ResponseType field's value.
 26067  func (s *UpdateGatewayResponseOutput) SetResponseType(v string) *UpdateGatewayResponseOutput {
 26068  	s.ResponseType = &v
 26069  	return s
 26070  }
 26071  
 26072  // SetStatusCode sets the StatusCode field's value.
 26073  func (s *UpdateGatewayResponseOutput) SetStatusCode(v string) *UpdateGatewayResponseOutput {
 26074  	s.StatusCode = &v
 26075  	return s
 26076  }
 26077  
 26078  // Represents an update integration request.
 26079  type UpdateIntegrationInput struct {
 26080  	_ struct{} `type:"structure"`
 26081  
 26082  	// [Required] Represents an update integration request's HTTP method.
 26083  	//
 26084  	// HttpMethod is a required field
 26085  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 26086  
 26087  	// A list of update operations to be applied to the specified resource and in
 26088  	// the order specified in this list.
 26089  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26090  
 26091  	// [Required] Represents an update integration request's resource identifier.
 26092  	//
 26093  	// ResourceId is a required field
 26094  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 26095  
 26096  	// [Required] The string identifier of the associated RestApi.
 26097  	//
 26098  	// RestApiId is a required field
 26099  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26100  }
 26101  
 26102  // String returns the string representation.
 26103  //
 26104  // API parameter values that are decorated as "sensitive" in the API will not
 26105  // be included in the string output. The member name will be present, but the
 26106  // value will be replaced with "sensitive".
 26107  func (s UpdateIntegrationInput) String() string {
 26108  	return awsutil.Prettify(s)
 26109  }
 26110  
 26111  // GoString returns the string representation.
 26112  //
 26113  // API parameter values that are decorated as "sensitive" in the API will not
 26114  // be included in the string output. The member name will be present, but the
 26115  // value will be replaced with "sensitive".
 26116  func (s UpdateIntegrationInput) GoString() string {
 26117  	return s.String()
 26118  }
 26119  
 26120  // Validate inspects the fields of the type to determine if they are valid.
 26121  func (s *UpdateIntegrationInput) Validate() error {
 26122  	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationInput"}
 26123  	if s.HttpMethod == nil {
 26124  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 26125  	}
 26126  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 26127  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 26128  	}
 26129  	if s.ResourceId == nil {
 26130  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 26131  	}
 26132  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 26133  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 26134  	}
 26135  	if s.RestApiId == nil {
 26136  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26137  	}
 26138  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26139  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26140  	}
 26141  
 26142  	if invalidParams.Len() > 0 {
 26143  		return invalidParams
 26144  	}
 26145  	return nil
 26146  }
 26147  
 26148  // SetHttpMethod sets the HttpMethod field's value.
 26149  func (s *UpdateIntegrationInput) SetHttpMethod(v string) *UpdateIntegrationInput {
 26150  	s.HttpMethod = &v
 26151  	return s
 26152  }
 26153  
 26154  // SetPatchOperations sets the PatchOperations field's value.
 26155  func (s *UpdateIntegrationInput) SetPatchOperations(v []*PatchOperation) *UpdateIntegrationInput {
 26156  	s.PatchOperations = v
 26157  	return s
 26158  }
 26159  
 26160  // SetResourceId sets the ResourceId field's value.
 26161  func (s *UpdateIntegrationInput) SetResourceId(v string) *UpdateIntegrationInput {
 26162  	s.ResourceId = &v
 26163  	return s
 26164  }
 26165  
 26166  // SetRestApiId sets the RestApiId field's value.
 26167  func (s *UpdateIntegrationInput) SetRestApiId(v string) *UpdateIntegrationInput {
 26168  	s.RestApiId = &v
 26169  	return s
 26170  }
 26171  
 26172  // Represents an update integration response request.
 26173  type UpdateIntegrationResponseInput struct {
 26174  	_ struct{} `type:"structure"`
 26175  
 26176  	// [Required] Specifies an update integration response request's HTTP method.
 26177  	//
 26178  	// HttpMethod is a required field
 26179  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 26180  
 26181  	// A list of update operations to be applied to the specified resource and in
 26182  	// the order specified in this list.
 26183  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26184  
 26185  	// [Required] Specifies an update integration response request's resource identifier.
 26186  	//
 26187  	// ResourceId is a required field
 26188  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 26189  
 26190  	// [Required] The string identifier of the associated RestApi.
 26191  	//
 26192  	// RestApiId is a required field
 26193  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26194  
 26195  	// [Required] Specifies an update integration response request's status code.
 26196  	//
 26197  	// StatusCode is a required field
 26198  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 26199  }
 26200  
 26201  // String returns the string representation.
 26202  //
 26203  // API parameter values that are decorated as "sensitive" in the API will not
 26204  // be included in the string output. The member name will be present, but the
 26205  // value will be replaced with "sensitive".
 26206  func (s UpdateIntegrationResponseInput) String() string {
 26207  	return awsutil.Prettify(s)
 26208  }
 26209  
 26210  // GoString returns the string representation.
 26211  //
 26212  // API parameter values that are decorated as "sensitive" in the API will not
 26213  // be included in the string output. The member name will be present, but the
 26214  // value will be replaced with "sensitive".
 26215  func (s UpdateIntegrationResponseInput) GoString() string {
 26216  	return s.String()
 26217  }
 26218  
 26219  // Validate inspects the fields of the type to determine if they are valid.
 26220  func (s *UpdateIntegrationResponseInput) Validate() error {
 26221  	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationResponseInput"}
 26222  	if s.HttpMethod == nil {
 26223  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 26224  	}
 26225  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 26226  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 26227  	}
 26228  	if s.ResourceId == nil {
 26229  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 26230  	}
 26231  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 26232  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 26233  	}
 26234  	if s.RestApiId == nil {
 26235  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26236  	}
 26237  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26238  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26239  	}
 26240  	if s.StatusCode == nil {
 26241  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 26242  	}
 26243  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 26244  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 26245  	}
 26246  
 26247  	if invalidParams.Len() > 0 {
 26248  		return invalidParams
 26249  	}
 26250  	return nil
 26251  }
 26252  
 26253  // SetHttpMethod sets the HttpMethod field's value.
 26254  func (s *UpdateIntegrationResponseInput) SetHttpMethod(v string) *UpdateIntegrationResponseInput {
 26255  	s.HttpMethod = &v
 26256  	return s
 26257  }
 26258  
 26259  // SetPatchOperations sets the PatchOperations field's value.
 26260  func (s *UpdateIntegrationResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateIntegrationResponseInput {
 26261  	s.PatchOperations = v
 26262  	return s
 26263  }
 26264  
 26265  // SetResourceId sets the ResourceId field's value.
 26266  func (s *UpdateIntegrationResponseInput) SetResourceId(v string) *UpdateIntegrationResponseInput {
 26267  	s.ResourceId = &v
 26268  	return s
 26269  }
 26270  
 26271  // SetRestApiId sets the RestApiId field's value.
 26272  func (s *UpdateIntegrationResponseInput) SetRestApiId(v string) *UpdateIntegrationResponseInput {
 26273  	s.RestApiId = &v
 26274  	return s
 26275  }
 26276  
 26277  // SetStatusCode sets the StatusCode field's value.
 26278  func (s *UpdateIntegrationResponseInput) SetStatusCode(v string) *UpdateIntegrationResponseInput {
 26279  	s.StatusCode = &v
 26280  	return s
 26281  }
 26282  
 26283  // Request to update an existing Method resource.
 26284  type UpdateMethodInput struct {
 26285  	_ struct{} `type:"structure"`
 26286  
 26287  	// [Required] The HTTP verb of the Method resource.
 26288  	//
 26289  	// HttpMethod is a required field
 26290  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 26291  
 26292  	// A list of update operations to be applied to the specified resource and in
 26293  	// the order specified in this list.
 26294  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26295  
 26296  	// [Required] The Resource identifier for the Method resource.
 26297  	//
 26298  	// ResourceId is a required field
 26299  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 26300  
 26301  	// [Required] The string identifier of the associated RestApi.
 26302  	//
 26303  	// RestApiId is a required field
 26304  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26305  }
 26306  
 26307  // String returns the string representation.
 26308  //
 26309  // API parameter values that are decorated as "sensitive" in the API will not
 26310  // be included in the string output. The member name will be present, but the
 26311  // value will be replaced with "sensitive".
 26312  func (s UpdateMethodInput) String() string {
 26313  	return awsutil.Prettify(s)
 26314  }
 26315  
 26316  // GoString returns the string representation.
 26317  //
 26318  // API parameter values that are decorated as "sensitive" in the API will not
 26319  // be included in the string output. The member name will be present, but the
 26320  // value will be replaced with "sensitive".
 26321  func (s UpdateMethodInput) GoString() string {
 26322  	return s.String()
 26323  }
 26324  
 26325  // Validate inspects the fields of the type to determine if they are valid.
 26326  func (s *UpdateMethodInput) Validate() error {
 26327  	invalidParams := request.ErrInvalidParams{Context: "UpdateMethodInput"}
 26328  	if s.HttpMethod == nil {
 26329  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 26330  	}
 26331  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 26332  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 26333  	}
 26334  	if s.ResourceId == nil {
 26335  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 26336  	}
 26337  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 26338  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 26339  	}
 26340  	if s.RestApiId == nil {
 26341  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26342  	}
 26343  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26344  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26345  	}
 26346  
 26347  	if invalidParams.Len() > 0 {
 26348  		return invalidParams
 26349  	}
 26350  	return nil
 26351  }
 26352  
 26353  // SetHttpMethod sets the HttpMethod field's value.
 26354  func (s *UpdateMethodInput) SetHttpMethod(v string) *UpdateMethodInput {
 26355  	s.HttpMethod = &v
 26356  	return s
 26357  }
 26358  
 26359  // SetPatchOperations sets the PatchOperations field's value.
 26360  func (s *UpdateMethodInput) SetPatchOperations(v []*PatchOperation) *UpdateMethodInput {
 26361  	s.PatchOperations = v
 26362  	return s
 26363  }
 26364  
 26365  // SetResourceId sets the ResourceId field's value.
 26366  func (s *UpdateMethodInput) SetResourceId(v string) *UpdateMethodInput {
 26367  	s.ResourceId = &v
 26368  	return s
 26369  }
 26370  
 26371  // SetRestApiId sets the RestApiId field's value.
 26372  func (s *UpdateMethodInput) SetRestApiId(v string) *UpdateMethodInput {
 26373  	s.RestApiId = &v
 26374  	return s
 26375  }
 26376  
 26377  // A request to update an existing MethodResponse resource.
 26378  type UpdateMethodResponseInput struct {
 26379  	_ struct{} `type:"structure"`
 26380  
 26381  	// [Required] The HTTP verb of the Method resource.
 26382  	//
 26383  	// HttpMethod is a required field
 26384  	HttpMethod *string `location:"uri" locationName:"http_method" type:"string" required:"true"`
 26385  
 26386  	// A list of update operations to be applied to the specified resource and in
 26387  	// the order specified in this list.
 26388  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26389  
 26390  	// [Required] The Resource identifier for the MethodResponse resource.
 26391  	//
 26392  	// ResourceId is a required field
 26393  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 26394  
 26395  	// [Required] The string identifier of the associated RestApi.
 26396  	//
 26397  	// RestApiId is a required field
 26398  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26399  
 26400  	// [Required] The status code for the MethodResponse resource.
 26401  	//
 26402  	// StatusCode is a required field
 26403  	StatusCode *string `location:"uri" locationName:"status_code" type:"string" required:"true"`
 26404  }
 26405  
 26406  // String returns the string representation.
 26407  //
 26408  // API parameter values that are decorated as "sensitive" in the API will not
 26409  // be included in the string output. The member name will be present, but the
 26410  // value will be replaced with "sensitive".
 26411  func (s UpdateMethodResponseInput) String() string {
 26412  	return awsutil.Prettify(s)
 26413  }
 26414  
 26415  // GoString returns the string representation.
 26416  //
 26417  // API parameter values that are decorated as "sensitive" in the API will not
 26418  // be included in the string output. The member name will be present, but the
 26419  // value will be replaced with "sensitive".
 26420  func (s UpdateMethodResponseInput) GoString() string {
 26421  	return s.String()
 26422  }
 26423  
 26424  // Validate inspects the fields of the type to determine if they are valid.
 26425  func (s *UpdateMethodResponseInput) Validate() error {
 26426  	invalidParams := request.ErrInvalidParams{Context: "UpdateMethodResponseInput"}
 26427  	if s.HttpMethod == nil {
 26428  		invalidParams.Add(request.NewErrParamRequired("HttpMethod"))
 26429  	}
 26430  	if s.HttpMethod != nil && len(*s.HttpMethod) < 1 {
 26431  		invalidParams.Add(request.NewErrParamMinLen("HttpMethod", 1))
 26432  	}
 26433  	if s.ResourceId == nil {
 26434  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 26435  	}
 26436  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 26437  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 26438  	}
 26439  	if s.RestApiId == nil {
 26440  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26441  	}
 26442  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26443  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26444  	}
 26445  	if s.StatusCode == nil {
 26446  		invalidParams.Add(request.NewErrParamRequired("StatusCode"))
 26447  	}
 26448  	if s.StatusCode != nil && len(*s.StatusCode) < 1 {
 26449  		invalidParams.Add(request.NewErrParamMinLen("StatusCode", 1))
 26450  	}
 26451  
 26452  	if invalidParams.Len() > 0 {
 26453  		return invalidParams
 26454  	}
 26455  	return nil
 26456  }
 26457  
 26458  // SetHttpMethod sets the HttpMethod field's value.
 26459  func (s *UpdateMethodResponseInput) SetHttpMethod(v string) *UpdateMethodResponseInput {
 26460  	s.HttpMethod = &v
 26461  	return s
 26462  }
 26463  
 26464  // SetPatchOperations sets the PatchOperations field's value.
 26465  func (s *UpdateMethodResponseInput) SetPatchOperations(v []*PatchOperation) *UpdateMethodResponseInput {
 26466  	s.PatchOperations = v
 26467  	return s
 26468  }
 26469  
 26470  // SetResourceId sets the ResourceId field's value.
 26471  func (s *UpdateMethodResponseInput) SetResourceId(v string) *UpdateMethodResponseInput {
 26472  	s.ResourceId = &v
 26473  	return s
 26474  }
 26475  
 26476  // SetRestApiId sets the RestApiId field's value.
 26477  func (s *UpdateMethodResponseInput) SetRestApiId(v string) *UpdateMethodResponseInput {
 26478  	s.RestApiId = &v
 26479  	return s
 26480  }
 26481  
 26482  // SetStatusCode sets the StatusCode field's value.
 26483  func (s *UpdateMethodResponseInput) SetStatusCode(v string) *UpdateMethodResponseInput {
 26484  	s.StatusCode = &v
 26485  	return s
 26486  }
 26487  
 26488  // Request to update an existing model in an existing RestApi resource.
 26489  type UpdateModelInput struct {
 26490  	_ struct{} `type:"structure"`
 26491  
 26492  	// [Required] The name of the model to update.
 26493  	//
 26494  	// ModelName is a required field
 26495  	ModelName *string `location:"uri" locationName:"model_name" type:"string" required:"true"`
 26496  
 26497  	// A list of update operations to be applied to the specified resource and in
 26498  	// the order specified in this list.
 26499  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26500  
 26501  	// [Required] The string identifier of the associated RestApi.
 26502  	//
 26503  	// RestApiId is a required field
 26504  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26505  }
 26506  
 26507  // String returns the string representation.
 26508  //
 26509  // API parameter values that are decorated as "sensitive" in the API will not
 26510  // be included in the string output. The member name will be present, but the
 26511  // value will be replaced with "sensitive".
 26512  func (s UpdateModelInput) String() string {
 26513  	return awsutil.Prettify(s)
 26514  }
 26515  
 26516  // GoString returns the string representation.
 26517  //
 26518  // API parameter values that are decorated as "sensitive" in the API will not
 26519  // be included in the string output. The member name will be present, but the
 26520  // value will be replaced with "sensitive".
 26521  func (s UpdateModelInput) GoString() string {
 26522  	return s.String()
 26523  }
 26524  
 26525  // Validate inspects the fields of the type to determine if they are valid.
 26526  func (s *UpdateModelInput) Validate() error {
 26527  	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
 26528  	if s.ModelName == nil {
 26529  		invalidParams.Add(request.NewErrParamRequired("ModelName"))
 26530  	}
 26531  	if s.ModelName != nil && len(*s.ModelName) < 1 {
 26532  		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
 26533  	}
 26534  	if s.RestApiId == nil {
 26535  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26536  	}
 26537  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26538  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26539  	}
 26540  
 26541  	if invalidParams.Len() > 0 {
 26542  		return invalidParams
 26543  	}
 26544  	return nil
 26545  }
 26546  
 26547  // SetModelName sets the ModelName field's value.
 26548  func (s *UpdateModelInput) SetModelName(v string) *UpdateModelInput {
 26549  	s.ModelName = &v
 26550  	return s
 26551  }
 26552  
 26553  // SetPatchOperations sets the PatchOperations field's value.
 26554  func (s *UpdateModelInput) SetPatchOperations(v []*PatchOperation) *UpdateModelInput {
 26555  	s.PatchOperations = v
 26556  	return s
 26557  }
 26558  
 26559  // SetRestApiId sets the RestApiId field's value.
 26560  func (s *UpdateModelInput) SetRestApiId(v string) *UpdateModelInput {
 26561  	s.RestApiId = &v
 26562  	return s
 26563  }
 26564  
 26565  // Updates a RequestValidator of a given RestApi.
 26566  type UpdateRequestValidatorInput struct {
 26567  	_ struct{} `type:"structure"`
 26568  
 26569  	// A list of update operations to be applied to the specified resource and in
 26570  	// the order specified in this list.
 26571  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26572  
 26573  	// [Required] The identifier of RequestValidator to be updated.
 26574  	//
 26575  	// RequestValidatorId is a required field
 26576  	RequestValidatorId *string `location:"uri" locationName:"requestvalidator_id" type:"string" required:"true"`
 26577  
 26578  	// [Required] The string identifier of the associated RestApi.
 26579  	//
 26580  	// RestApiId is a required field
 26581  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26582  }
 26583  
 26584  // String returns the string representation.
 26585  //
 26586  // API parameter values that are decorated as "sensitive" in the API will not
 26587  // be included in the string output. The member name will be present, but the
 26588  // value will be replaced with "sensitive".
 26589  func (s UpdateRequestValidatorInput) String() string {
 26590  	return awsutil.Prettify(s)
 26591  }
 26592  
 26593  // GoString returns the string representation.
 26594  //
 26595  // API parameter values that are decorated as "sensitive" in the API will not
 26596  // be included in the string output. The member name will be present, but the
 26597  // value will be replaced with "sensitive".
 26598  func (s UpdateRequestValidatorInput) GoString() string {
 26599  	return s.String()
 26600  }
 26601  
 26602  // Validate inspects the fields of the type to determine if they are valid.
 26603  func (s *UpdateRequestValidatorInput) Validate() error {
 26604  	invalidParams := request.ErrInvalidParams{Context: "UpdateRequestValidatorInput"}
 26605  	if s.RequestValidatorId == nil {
 26606  		invalidParams.Add(request.NewErrParamRequired("RequestValidatorId"))
 26607  	}
 26608  	if s.RequestValidatorId != nil && len(*s.RequestValidatorId) < 1 {
 26609  		invalidParams.Add(request.NewErrParamMinLen("RequestValidatorId", 1))
 26610  	}
 26611  	if s.RestApiId == nil {
 26612  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26613  	}
 26614  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26615  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26616  	}
 26617  
 26618  	if invalidParams.Len() > 0 {
 26619  		return invalidParams
 26620  	}
 26621  	return nil
 26622  }
 26623  
 26624  // SetPatchOperations sets the PatchOperations field's value.
 26625  func (s *UpdateRequestValidatorInput) SetPatchOperations(v []*PatchOperation) *UpdateRequestValidatorInput {
 26626  	s.PatchOperations = v
 26627  	return s
 26628  }
 26629  
 26630  // SetRequestValidatorId sets the RequestValidatorId field's value.
 26631  func (s *UpdateRequestValidatorInput) SetRequestValidatorId(v string) *UpdateRequestValidatorInput {
 26632  	s.RequestValidatorId = &v
 26633  	return s
 26634  }
 26635  
 26636  // SetRestApiId sets the RestApiId field's value.
 26637  func (s *UpdateRequestValidatorInput) SetRestApiId(v string) *UpdateRequestValidatorInput {
 26638  	s.RestApiId = &v
 26639  	return s
 26640  }
 26641  
 26642  // A set of validation rules for incoming Method requests.
 26643  //
 26644  // In OpenAPI, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator
 26645  // (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validators.requestValidator.html)
 26646  // object. It the referenced using the x-amazon-apigateway-request-validator
 26647  // (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-request-validator)
 26648  // property.
 26649  //
 26650  // Enable Basic Request Validation in API Gateway (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html)
 26651  type UpdateRequestValidatorOutput struct {
 26652  	_ struct{} `type:"structure"`
 26653  
 26654  	// The identifier of this RequestValidator.
 26655  	Id *string `locationName:"id" type:"string"`
 26656  
 26657  	// The name of this RequestValidator
 26658  	Name *string `locationName:"name" type:"string"`
 26659  
 26660  	// A Boolean flag to indicate whether to validate a request body according to
 26661  	// the configured Model schema.
 26662  	ValidateRequestBody *bool `locationName:"validateRequestBody" type:"boolean"`
 26663  
 26664  	// A Boolean flag to indicate whether to validate request parameters (true)
 26665  	// or not (false).
 26666  	ValidateRequestParameters *bool `locationName:"validateRequestParameters" type:"boolean"`
 26667  }
 26668  
 26669  // String returns the string representation.
 26670  //
 26671  // API parameter values that are decorated as "sensitive" in the API will not
 26672  // be included in the string output. The member name will be present, but the
 26673  // value will be replaced with "sensitive".
 26674  func (s UpdateRequestValidatorOutput) String() string {
 26675  	return awsutil.Prettify(s)
 26676  }
 26677  
 26678  // GoString returns the string representation.
 26679  //
 26680  // API parameter values that are decorated as "sensitive" in the API will not
 26681  // be included in the string output. The member name will be present, but the
 26682  // value will be replaced with "sensitive".
 26683  func (s UpdateRequestValidatorOutput) GoString() string {
 26684  	return s.String()
 26685  }
 26686  
 26687  // SetId sets the Id field's value.
 26688  func (s *UpdateRequestValidatorOutput) SetId(v string) *UpdateRequestValidatorOutput {
 26689  	s.Id = &v
 26690  	return s
 26691  }
 26692  
 26693  // SetName sets the Name field's value.
 26694  func (s *UpdateRequestValidatorOutput) SetName(v string) *UpdateRequestValidatorOutput {
 26695  	s.Name = &v
 26696  	return s
 26697  }
 26698  
 26699  // SetValidateRequestBody sets the ValidateRequestBody field's value.
 26700  func (s *UpdateRequestValidatorOutput) SetValidateRequestBody(v bool) *UpdateRequestValidatorOutput {
 26701  	s.ValidateRequestBody = &v
 26702  	return s
 26703  }
 26704  
 26705  // SetValidateRequestParameters sets the ValidateRequestParameters field's value.
 26706  func (s *UpdateRequestValidatorOutput) SetValidateRequestParameters(v bool) *UpdateRequestValidatorOutput {
 26707  	s.ValidateRequestParameters = &v
 26708  	return s
 26709  }
 26710  
 26711  // Request to change information about a Resource resource.
 26712  type UpdateResourceInput struct {
 26713  	_ struct{} `type:"structure"`
 26714  
 26715  	// A list of update operations to be applied to the specified resource and in
 26716  	// the order specified in this list.
 26717  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26718  
 26719  	// [Required] The identifier of the Resource resource.
 26720  	//
 26721  	// ResourceId is a required field
 26722  	ResourceId *string `location:"uri" locationName:"resource_id" type:"string" required:"true"`
 26723  
 26724  	// [Required] The string identifier of the associated RestApi.
 26725  	//
 26726  	// RestApiId is a required field
 26727  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26728  }
 26729  
 26730  // String returns the string representation.
 26731  //
 26732  // API parameter values that are decorated as "sensitive" in the API will not
 26733  // be included in the string output. The member name will be present, but the
 26734  // value will be replaced with "sensitive".
 26735  func (s UpdateResourceInput) String() string {
 26736  	return awsutil.Prettify(s)
 26737  }
 26738  
 26739  // GoString returns the string representation.
 26740  //
 26741  // API parameter values that are decorated as "sensitive" in the API will not
 26742  // be included in the string output. The member name will be present, but the
 26743  // value will be replaced with "sensitive".
 26744  func (s UpdateResourceInput) GoString() string {
 26745  	return s.String()
 26746  }
 26747  
 26748  // Validate inspects the fields of the type to determine if they are valid.
 26749  func (s *UpdateResourceInput) Validate() error {
 26750  	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"}
 26751  	if s.ResourceId == nil {
 26752  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 26753  	}
 26754  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 26755  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 26756  	}
 26757  	if s.RestApiId == nil {
 26758  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26759  	}
 26760  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26761  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26762  	}
 26763  
 26764  	if invalidParams.Len() > 0 {
 26765  		return invalidParams
 26766  	}
 26767  	return nil
 26768  }
 26769  
 26770  // SetPatchOperations sets the PatchOperations field's value.
 26771  func (s *UpdateResourceInput) SetPatchOperations(v []*PatchOperation) *UpdateResourceInput {
 26772  	s.PatchOperations = v
 26773  	return s
 26774  }
 26775  
 26776  // SetResourceId sets the ResourceId field's value.
 26777  func (s *UpdateResourceInput) SetResourceId(v string) *UpdateResourceInput {
 26778  	s.ResourceId = &v
 26779  	return s
 26780  }
 26781  
 26782  // SetRestApiId sets the RestApiId field's value.
 26783  func (s *UpdateResourceInput) SetRestApiId(v string) *UpdateResourceInput {
 26784  	s.RestApiId = &v
 26785  	return s
 26786  }
 26787  
 26788  // Request to update an existing RestApi resource in your collection.
 26789  type UpdateRestApiInput struct {
 26790  	_ struct{} `type:"structure"`
 26791  
 26792  	// A list of update operations to be applied to the specified resource and in
 26793  	// the order specified in this list.
 26794  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26795  
 26796  	// [Required] The string identifier of the associated RestApi.
 26797  	//
 26798  	// RestApiId is a required field
 26799  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26800  }
 26801  
 26802  // String returns the string representation.
 26803  //
 26804  // API parameter values that are decorated as "sensitive" in the API will not
 26805  // be included in the string output. The member name will be present, but the
 26806  // value will be replaced with "sensitive".
 26807  func (s UpdateRestApiInput) String() string {
 26808  	return awsutil.Prettify(s)
 26809  }
 26810  
 26811  // GoString returns the string representation.
 26812  //
 26813  // API parameter values that are decorated as "sensitive" in the API will not
 26814  // be included in the string output. The member name will be present, but the
 26815  // value will be replaced with "sensitive".
 26816  func (s UpdateRestApiInput) GoString() string {
 26817  	return s.String()
 26818  }
 26819  
 26820  // Validate inspects the fields of the type to determine if they are valid.
 26821  func (s *UpdateRestApiInput) Validate() error {
 26822  	invalidParams := request.ErrInvalidParams{Context: "UpdateRestApiInput"}
 26823  	if s.RestApiId == nil {
 26824  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26825  	}
 26826  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26827  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26828  	}
 26829  
 26830  	if invalidParams.Len() > 0 {
 26831  		return invalidParams
 26832  	}
 26833  	return nil
 26834  }
 26835  
 26836  // SetPatchOperations sets the PatchOperations field's value.
 26837  func (s *UpdateRestApiInput) SetPatchOperations(v []*PatchOperation) *UpdateRestApiInput {
 26838  	s.PatchOperations = v
 26839  	return s
 26840  }
 26841  
 26842  // SetRestApiId sets the RestApiId field's value.
 26843  func (s *UpdateRestApiInput) SetRestApiId(v string) *UpdateRestApiInput {
 26844  	s.RestApiId = &v
 26845  	return s
 26846  }
 26847  
 26848  // Requests API Gateway to change information about a Stage resource.
 26849  type UpdateStageInput struct {
 26850  	_ struct{} `type:"structure"`
 26851  
 26852  	// A list of update operations to be applied to the specified resource and in
 26853  	// the order specified in this list.
 26854  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26855  
 26856  	// [Required] The string identifier of the associated RestApi.
 26857  	//
 26858  	// RestApiId is a required field
 26859  	RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"`
 26860  
 26861  	// [Required] The name of the Stage resource to change information about.
 26862  	//
 26863  	// StageName is a required field
 26864  	StageName *string `location:"uri" locationName:"stage_name" type:"string" required:"true"`
 26865  }
 26866  
 26867  // String returns the string representation.
 26868  //
 26869  // API parameter values that are decorated as "sensitive" in the API will not
 26870  // be included in the string output. The member name will be present, but the
 26871  // value will be replaced with "sensitive".
 26872  func (s UpdateStageInput) String() string {
 26873  	return awsutil.Prettify(s)
 26874  }
 26875  
 26876  // GoString returns the string representation.
 26877  //
 26878  // API parameter values that are decorated as "sensitive" in the API will not
 26879  // be included in the string output. The member name will be present, but the
 26880  // value will be replaced with "sensitive".
 26881  func (s UpdateStageInput) GoString() string {
 26882  	return s.String()
 26883  }
 26884  
 26885  // Validate inspects the fields of the type to determine if they are valid.
 26886  func (s *UpdateStageInput) Validate() error {
 26887  	invalidParams := request.ErrInvalidParams{Context: "UpdateStageInput"}
 26888  	if s.RestApiId == nil {
 26889  		invalidParams.Add(request.NewErrParamRequired("RestApiId"))
 26890  	}
 26891  	if s.RestApiId != nil && len(*s.RestApiId) < 1 {
 26892  		invalidParams.Add(request.NewErrParamMinLen("RestApiId", 1))
 26893  	}
 26894  	if s.StageName == nil {
 26895  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 26896  	}
 26897  	if s.StageName != nil && len(*s.StageName) < 1 {
 26898  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 26899  	}
 26900  
 26901  	if invalidParams.Len() > 0 {
 26902  		return invalidParams
 26903  	}
 26904  	return nil
 26905  }
 26906  
 26907  // SetPatchOperations sets the PatchOperations field's value.
 26908  func (s *UpdateStageInput) SetPatchOperations(v []*PatchOperation) *UpdateStageInput {
 26909  	s.PatchOperations = v
 26910  	return s
 26911  }
 26912  
 26913  // SetRestApiId sets the RestApiId field's value.
 26914  func (s *UpdateStageInput) SetRestApiId(v string) *UpdateStageInput {
 26915  	s.RestApiId = &v
 26916  	return s
 26917  }
 26918  
 26919  // SetStageName sets the StageName field's value.
 26920  func (s *UpdateStageInput) SetStageName(v string) *UpdateStageInput {
 26921  	s.StageName = &v
 26922  	return s
 26923  }
 26924  
 26925  // The PATCH request to grant a temporary extension to the remaining quota of
 26926  // a usage plan associated with a specified API key.
 26927  type UpdateUsageInput struct {
 26928  	_ struct{} `type:"structure"`
 26929  
 26930  	// [Required] The identifier of the API key associated with the usage plan in
 26931  	// which a temporary extension is granted to the remaining quota.
 26932  	//
 26933  	// KeyId is a required field
 26934  	KeyId *string `location:"uri" locationName:"keyId" type:"string" required:"true"`
 26935  
 26936  	// A list of update operations to be applied to the specified resource and in
 26937  	// the order specified in this list.
 26938  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 26939  
 26940  	// [Required] The Id of the usage plan associated with the usage data.
 26941  	//
 26942  	// UsagePlanId is a required field
 26943  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 26944  }
 26945  
 26946  // String returns the string representation.
 26947  //
 26948  // API parameter values that are decorated as "sensitive" in the API will not
 26949  // be included in the string output. The member name will be present, but the
 26950  // value will be replaced with "sensitive".
 26951  func (s UpdateUsageInput) String() string {
 26952  	return awsutil.Prettify(s)
 26953  }
 26954  
 26955  // GoString returns the string representation.
 26956  //
 26957  // API parameter values that are decorated as "sensitive" in the API will not
 26958  // be included in the string output. The member name will be present, but the
 26959  // value will be replaced with "sensitive".
 26960  func (s UpdateUsageInput) GoString() string {
 26961  	return s.String()
 26962  }
 26963  
 26964  // Validate inspects the fields of the type to determine if they are valid.
 26965  func (s *UpdateUsageInput) Validate() error {
 26966  	invalidParams := request.ErrInvalidParams{Context: "UpdateUsageInput"}
 26967  	if s.KeyId == nil {
 26968  		invalidParams.Add(request.NewErrParamRequired("KeyId"))
 26969  	}
 26970  	if s.KeyId != nil && len(*s.KeyId) < 1 {
 26971  		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
 26972  	}
 26973  	if s.UsagePlanId == nil {
 26974  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 26975  	}
 26976  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 26977  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 26978  	}
 26979  
 26980  	if invalidParams.Len() > 0 {
 26981  		return invalidParams
 26982  	}
 26983  	return nil
 26984  }
 26985  
 26986  // SetKeyId sets the KeyId field's value.
 26987  func (s *UpdateUsageInput) SetKeyId(v string) *UpdateUsageInput {
 26988  	s.KeyId = &v
 26989  	return s
 26990  }
 26991  
 26992  // SetPatchOperations sets the PatchOperations field's value.
 26993  func (s *UpdateUsageInput) SetPatchOperations(v []*PatchOperation) *UpdateUsageInput {
 26994  	s.PatchOperations = v
 26995  	return s
 26996  }
 26997  
 26998  // SetUsagePlanId sets the UsagePlanId field's value.
 26999  func (s *UpdateUsageInput) SetUsagePlanId(v string) *UpdateUsageInput {
 27000  	s.UsagePlanId = &v
 27001  	return s
 27002  }
 27003  
 27004  // The PATCH request to update a usage plan of a given plan Id.
 27005  type UpdateUsagePlanInput struct {
 27006  	_ struct{} `type:"structure"`
 27007  
 27008  	// A list of update operations to be applied to the specified resource and in
 27009  	// the order specified in this list.
 27010  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 27011  
 27012  	// [Required] The Id of the to-be-updated usage plan.
 27013  	//
 27014  	// UsagePlanId is a required field
 27015  	UsagePlanId *string `location:"uri" locationName:"usageplanId" type:"string" required:"true"`
 27016  }
 27017  
 27018  // String returns the string representation.
 27019  //
 27020  // API parameter values that are decorated as "sensitive" in the API will not
 27021  // be included in the string output. The member name will be present, but the
 27022  // value will be replaced with "sensitive".
 27023  func (s UpdateUsagePlanInput) String() string {
 27024  	return awsutil.Prettify(s)
 27025  }
 27026  
 27027  // GoString returns the string representation.
 27028  //
 27029  // API parameter values that are decorated as "sensitive" in the API will not
 27030  // be included in the string output. The member name will be present, but the
 27031  // value will be replaced with "sensitive".
 27032  func (s UpdateUsagePlanInput) GoString() string {
 27033  	return s.String()
 27034  }
 27035  
 27036  // Validate inspects the fields of the type to determine if they are valid.
 27037  func (s *UpdateUsagePlanInput) Validate() error {
 27038  	invalidParams := request.ErrInvalidParams{Context: "UpdateUsagePlanInput"}
 27039  	if s.UsagePlanId == nil {
 27040  		invalidParams.Add(request.NewErrParamRequired("UsagePlanId"))
 27041  	}
 27042  	if s.UsagePlanId != nil && len(*s.UsagePlanId) < 1 {
 27043  		invalidParams.Add(request.NewErrParamMinLen("UsagePlanId", 1))
 27044  	}
 27045  
 27046  	if invalidParams.Len() > 0 {
 27047  		return invalidParams
 27048  	}
 27049  	return nil
 27050  }
 27051  
 27052  // SetPatchOperations sets the PatchOperations field's value.
 27053  func (s *UpdateUsagePlanInput) SetPatchOperations(v []*PatchOperation) *UpdateUsagePlanInput {
 27054  	s.PatchOperations = v
 27055  	return s
 27056  }
 27057  
 27058  // SetUsagePlanId sets the UsagePlanId field's value.
 27059  func (s *UpdateUsagePlanInput) SetUsagePlanId(v string) *UpdateUsagePlanInput {
 27060  	s.UsagePlanId = &v
 27061  	return s
 27062  }
 27063  
 27064  // Updates an existing VpcLink of a specified identifier.
 27065  type UpdateVpcLinkInput struct {
 27066  	_ struct{} `type:"structure"`
 27067  
 27068  	// A list of update operations to be applied to the specified resource and in
 27069  	// the order specified in this list.
 27070  	PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"`
 27071  
 27072  	// [Required] The identifier of the VpcLink. It is used in an Integration to
 27073  	// reference this VpcLink.
 27074  	//
 27075  	// VpcLinkId is a required field
 27076  	VpcLinkId *string `location:"uri" locationName:"vpclink_id" type:"string" required:"true"`
 27077  }
 27078  
 27079  // String returns the string representation.
 27080  //
 27081  // API parameter values that are decorated as "sensitive" in the API will not
 27082  // be included in the string output. The member name will be present, but the
 27083  // value will be replaced with "sensitive".
 27084  func (s UpdateVpcLinkInput) String() string {
 27085  	return awsutil.Prettify(s)
 27086  }
 27087  
 27088  // GoString returns the string representation.
 27089  //
 27090  // API parameter values that are decorated as "sensitive" in the API will not
 27091  // be included in the string output. The member name will be present, but the
 27092  // value will be replaced with "sensitive".
 27093  func (s UpdateVpcLinkInput) GoString() string {
 27094  	return s.String()
 27095  }
 27096  
 27097  // Validate inspects the fields of the type to determine if they are valid.
 27098  func (s *UpdateVpcLinkInput) Validate() error {
 27099  	invalidParams := request.ErrInvalidParams{Context: "UpdateVpcLinkInput"}
 27100  	if s.VpcLinkId == nil {
 27101  		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
 27102  	}
 27103  	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
 27104  		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
 27105  	}
 27106  
 27107  	if invalidParams.Len() > 0 {
 27108  		return invalidParams
 27109  	}
 27110  	return nil
 27111  }
 27112  
 27113  // SetPatchOperations sets the PatchOperations field's value.
 27114  func (s *UpdateVpcLinkInput) SetPatchOperations(v []*PatchOperation) *UpdateVpcLinkInput {
 27115  	s.PatchOperations = v
 27116  	return s
 27117  }
 27118  
 27119  // SetVpcLinkId sets the VpcLinkId field's value.
 27120  func (s *UpdateVpcLinkInput) SetVpcLinkId(v string) *UpdateVpcLinkInput {
 27121  	s.VpcLinkId = &v
 27122  	return s
 27123  }
 27124  
 27125  // An API Gateway VPC link for a RestApi to access resources in an Amazon Virtual
 27126  // Private Cloud (VPC).
 27127  //
 27128  // To enable access to a resource in an Amazon Virtual Private Cloud through
 27129  // Amazon API Gateway, you, as an API developer, create a VpcLink resource targeted
 27130  // for one or more network load balancers of the VPC and then integrate an API
 27131  // method with a private integration that uses the VpcLink. The private integration
 27132  // has an integration type of HTTP or HTTP_PROXY and has a connection type of
 27133  // VPC_LINK. The integration uses the connectionId property to identify the
 27134  // VpcLink used.
 27135  type UpdateVpcLinkOutput struct {
 27136  	_ struct{} `type:"structure"`
 27137  
 27138  	// The description of the VPC link.
 27139  	Description *string `locationName:"description" type:"string"`
 27140  
 27141  	// The identifier of the VpcLink. It is used in an Integration to reference
 27142  	// this VpcLink.
 27143  	Id *string `locationName:"id" type:"string"`
 27144  
 27145  	// The name used to label and identify the VPC link.
 27146  	Name *string `locationName:"name" type:"string"`
 27147  
 27148  	// The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING,
 27149  	// or FAILED. Deploying an API will wait if the status is PENDING and will fail
 27150  	// if the status is DELETING.
 27151  	Status *string `locationName:"status" type:"string" enum:"VpcLinkStatus"`
 27152  
 27153  	// A description about the VPC link status.
 27154  	StatusMessage *string `locationName:"statusMessage" type:"string"`
 27155  
 27156  	// The collection of tags. Each tag element is associated with a given resource.
 27157  	Tags map[string]*string `locationName:"tags" type:"map"`
 27158  
 27159  	// The ARN of the network load balancer of the VPC targeted by the VPC link.
 27160  	// The network load balancer must be owned by the same AWS account of the API
 27161  	// owner.
 27162  	TargetArns []*string `locationName:"targetArns" type:"list"`
 27163  }
 27164  
 27165  // String returns the string representation.
 27166  //
 27167  // API parameter values that are decorated as "sensitive" in the API will not
 27168  // be included in the string output. The member name will be present, but the
 27169  // value will be replaced with "sensitive".
 27170  func (s UpdateVpcLinkOutput) String() string {
 27171  	return awsutil.Prettify(s)
 27172  }
 27173  
 27174  // GoString returns the string representation.
 27175  //
 27176  // API parameter values that are decorated as "sensitive" in the API will not
 27177  // be included in the string output. The member name will be present, but the
 27178  // value will be replaced with "sensitive".
 27179  func (s UpdateVpcLinkOutput) GoString() string {
 27180  	return s.String()
 27181  }
 27182  
 27183  // SetDescription sets the Description field's value.
 27184  func (s *UpdateVpcLinkOutput) SetDescription(v string) *UpdateVpcLinkOutput {
 27185  	s.Description = &v
 27186  	return s
 27187  }
 27188  
 27189  // SetId sets the Id field's value.
 27190  func (s *UpdateVpcLinkOutput) SetId(v string) *UpdateVpcLinkOutput {
 27191  	s.Id = &v
 27192  	return s
 27193  }
 27194  
 27195  // SetName sets the Name field's value.
 27196  func (s *UpdateVpcLinkOutput) SetName(v string) *UpdateVpcLinkOutput {
 27197  	s.Name = &v
 27198  	return s
 27199  }
 27200  
 27201  // SetStatus sets the Status field's value.
 27202  func (s *UpdateVpcLinkOutput) SetStatus(v string) *UpdateVpcLinkOutput {
 27203  	s.Status = &v
 27204  	return s
 27205  }
 27206  
 27207  // SetStatusMessage sets the StatusMessage field's value.
 27208  func (s *UpdateVpcLinkOutput) SetStatusMessage(v string) *UpdateVpcLinkOutput {
 27209  	s.StatusMessage = &v
 27210  	return s
 27211  }
 27212  
 27213  // SetTags sets the Tags field's value.
 27214  func (s *UpdateVpcLinkOutput) SetTags(v map[string]*string) *UpdateVpcLinkOutput {
 27215  	s.Tags = v
 27216  	return s
 27217  }
 27218  
 27219  // SetTargetArns sets the TargetArns field's value.
 27220  func (s *UpdateVpcLinkOutput) SetTargetArns(v []*string) *UpdateVpcLinkOutput {
 27221  	s.TargetArns = v
 27222  	return s
 27223  }
 27224  
 27225  // Represents the usage data of a usage plan.
 27226  //
 27227  // Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html),
 27228  // Manage Usage in a Usage Plan (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-usage-plans-with-console.html#api-gateway-usage-plan-manage-usage)
 27229  type Usage struct {
 27230  	_ struct{} `type:"structure"`
 27231  
 27232  	// The ending date of the usage data.
 27233  	EndDate *string `locationName:"endDate" type:"string"`
 27234  
 27235  	// The usage data, as daily logs of used and remaining quotas, over the specified
 27236  	// time interval indexed over the API keys in a usage plan. For example, {...,
 27237  	// "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}, where {api_key}
 27238  	// stands for an API key value and the daily log entry is of the format [used
 27239  	// quota, remaining quota].
 27240  	Items map[string][][]*int64 `locationName:"values" type:"map"`
 27241  
 27242  	Position *string `locationName:"position" type:"string"`
 27243  
 27244  	// The starting date of the usage data.
 27245  	StartDate *string `locationName:"startDate" type:"string"`
 27246  
 27247  	// The plan Id associated with this usage data.
 27248  	UsagePlanId *string `locationName:"usagePlanId" type:"string"`
 27249  }
 27250  
 27251  // String returns the string representation.
 27252  //
 27253  // API parameter values that are decorated as "sensitive" in the API will not
 27254  // be included in the string output. The member name will be present, but the
 27255  // value will be replaced with "sensitive".
 27256  func (s Usage) String() string {
 27257  	return awsutil.Prettify(s)
 27258  }
 27259  
 27260  // GoString returns the string representation.
 27261  //
 27262  // API parameter values that are decorated as "sensitive" in the API will not
 27263  // be included in the string output. The member name will be present, but the
 27264  // value will be replaced with "sensitive".
 27265  func (s Usage) GoString() string {
 27266  	return s.String()
 27267  }
 27268  
 27269  // SetEndDate sets the EndDate field's value.
 27270  func (s *Usage) SetEndDate(v string) *Usage {
 27271  	s.EndDate = &v
 27272  	return s
 27273  }
 27274  
 27275  // SetItems sets the Items field's value.
 27276  func (s *Usage) SetItems(v map[string][][]*int64) *Usage {
 27277  	s.Items = v
 27278  	return s
 27279  }
 27280  
 27281  // SetPosition sets the Position field's value.
 27282  func (s *Usage) SetPosition(v string) *Usage {
 27283  	s.Position = &v
 27284  	return s
 27285  }
 27286  
 27287  // SetStartDate sets the StartDate field's value.
 27288  func (s *Usage) SetStartDate(v string) *Usage {
 27289  	s.StartDate = &v
 27290  	return s
 27291  }
 27292  
 27293  // SetUsagePlanId sets the UsagePlanId field's value.
 27294  func (s *Usage) SetUsagePlanId(v string) *Usage {
 27295  	s.UsagePlanId = &v
 27296  	return s
 27297  }
 27298  
 27299  // Represents a usage plan than can specify who can assess associated API stages
 27300  // with specified request limits and quotas.
 27301  //
 27302  // In a usage plan, you associate an API by specifying the API's Id and a stage
 27303  // name of the specified API. You add plan customers by adding API keys to the
 27304  // plan.
 27305  //
 27306  // Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
 27307  type UsagePlan struct {
 27308  	_ struct{} `type:"structure"`
 27309  
 27310  	// The associated API stages of a usage plan.
 27311  	ApiStages []*ApiStage `locationName:"apiStages" type:"list"`
 27312  
 27313  	// The description of a usage plan.
 27314  	Description *string `locationName:"description" type:"string"`
 27315  
 27316  	// The identifier of a UsagePlan resource.
 27317  	Id *string `locationName:"id" type:"string"`
 27318  
 27319  	// The name of a usage plan.
 27320  	Name *string `locationName:"name" type:"string"`
 27321  
 27322  	// The AWS Markeplace product identifier to associate with the usage plan as
 27323  	// a SaaS product on AWS Marketplace.
 27324  	ProductCode *string `locationName:"productCode" type:"string"`
 27325  
 27326  	// The maximum number of permitted requests per a given unit time interval.
 27327  	Quota *QuotaSettings `locationName:"quota" type:"structure"`
 27328  
 27329  	// The collection of tags. Each tag element is associated with a given resource.
 27330  	Tags map[string]*string `locationName:"tags" type:"map"`
 27331  
 27332  	// The request throttle limits of a usage plan.
 27333  	Throttle *ThrottleSettings `locationName:"throttle" type:"structure"`
 27334  }
 27335  
 27336  // String returns the string representation.
 27337  //
 27338  // API parameter values that are decorated as "sensitive" in the API will not
 27339  // be included in the string output. The member name will be present, but the
 27340  // value will be replaced with "sensitive".
 27341  func (s UsagePlan) String() string {
 27342  	return awsutil.Prettify(s)
 27343  }
 27344  
 27345  // GoString returns the string representation.
 27346  //
 27347  // API parameter values that are decorated as "sensitive" in the API will not
 27348  // be included in the string output. The member name will be present, but the
 27349  // value will be replaced with "sensitive".
 27350  func (s UsagePlan) GoString() string {
 27351  	return s.String()
 27352  }
 27353  
 27354  // SetApiStages sets the ApiStages field's value.
 27355  func (s *UsagePlan) SetApiStages(v []*ApiStage) *UsagePlan {
 27356  	s.ApiStages = v
 27357  	return s
 27358  }
 27359  
 27360  // SetDescription sets the Description field's value.
 27361  func (s *UsagePlan) SetDescription(v string) *UsagePlan {
 27362  	s.Description = &v
 27363  	return s
 27364  }
 27365  
 27366  // SetId sets the Id field's value.
 27367  func (s *UsagePlan) SetId(v string) *UsagePlan {
 27368  	s.Id = &v
 27369  	return s
 27370  }
 27371  
 27372  // SetName sets the Name field's value.
 27373  func (s *UsagePlan) SetName(v string) *UsagePlan {
 27374  	s.Name = &v
 27375  	return s
 27376  }
 27377  
 27378  // SetProductCode sets the ProductCode field's value.
 27379  func (s *UsagePlan) SetProductCode(v string) *UsagePlan {
 27380  	s.ProductCode = &v
 27381  	return s
 27382  }
 27383  
 27384  // SetQuota sets the Quota field's value.
 27385  func (s *UsagePlan) SetQuota(v *QuotaSettings) *UsagePlan {
 27386  	s.Quota = v
 27387  	return s
 27388  }
 27389  
 27390  // SetTags sets the Tags field's value.
 27391  func (s *UsagePlan) SetTags(v map[string]*string) *UsagePlan {
 27392  	s.Tags = v
 27393  	return s
 27394  }
 27395  
 27396  // SetThrottle sets the Throttle field's value.
 27397  func (s *UsagePlan) SetThrottle(v *ThrottleSettings) *UsagePlan {
 27398  	s.Throttle = v
 27399  	return s
 27400  }
 27401  
 27402  // Represents a usage plan key to identify a plan customer.
 27403  //
 27404  // To associate an API stage with a selected API key in a usage plan, you must
 27405  // create a UsagePlanKey resource to represent the selected ApiKey.
 27406  //
 27407  // "
 27408  // Create and Use Usage Plans (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)
 27409  type UsagePlanKey struct {
 27410  	_ struct{} `type:"structure"`
 27411  
 27412  	// The Id of a usage plan key.
 27413  	Id *string `locationName:"id" type:"string"`
 27414  
 27415  	// The name of a usage plan key.
 27416  	Name *string `locationName:"name" type:"string"`
 27417  
 27418  	// The type of a usage plan key. Currently, the valid key type is API_KEY.
 27419  	Type *string `locationName:"type" type:"string"`
 27420  
 27421  	// The value of a usage plan key.
 27422  	Value *string `locationName:"value" type:"string"`
 27423  }
 27424  
 27425  // String returns the string representation.
 27426  //
 27427  // API parameter values that are decorated as "sensitive" in the API will not
 27428  // be included in the string output. The member name will be present, but the
 27429  // value will be replaced with "sensitive".
 27430  func (s UsagePlanKey) String() string {
 27431  	return awsutil.Prettify(s)
 27432  }
 27433  
 27434  // GoString returns the string representation.
 27435  //
 27436  // API parameter values that are decorated as "sensitive" in the API will not
 27437  // be included in the string output. The member name will be present, but the
 27438  // value will be replaced with "sensitive".
 27439  func (s UsagePlanKey) GoString() string {
 27440  	return s.String()
 27441  }
 27442  
 27443  // SetId sets the Id field's value.
 27444  func (s *UsagePlanKey) SetId(v string) *UsagePlanKey {
 27445  	s.Id = &v
 27446  	return s
 27447  }
 27448  
 27449  // SetName sets the Name field's value.
 27450  func (s *UsagePlanKey) SetName(v string) *UsagePlanKey {
 27451  	s.Name = &v
 27452  	return s
 27453  }
 27454  
 27455  // SetType sets the Type field's value.
 27456  func (s *UsagePlanKey) SetType(v string) *UsagePlanKey {
 27457  	s.Type = &v
 27458  	return s
 27459  }
 27460  
 27461  // SetValue sets the Value field's value.
 27462  func (s *UsagePlanKey) SetValue(v string) *UsagePlanKey {
 27463  	s.Value = &v
 27464  	return s
 27465  }
 27466  
 27467  const (
 27468  	// ApiKeySourceTypeHeader is a ApiKeySourceType enum value
 27469  	ApiKeySourceTypeHeader = "HEADER"
 27470  
 27471  	// ApiKeySourceTypeAuthorizer is a ApiKeySourceType enum value
 27472  	ApiKeySourceTypeAuthorizer = "AUTHORIZER"
 27473  )
 27474  
 27475  // ApiKeySourceType_Values returns all elements of the ApiKeySourceType enum
 27476  func ApiKeySourceType_Values() []string {
 27477  	return []string{
 27478  		ApiKeySourceTypeHeader,
 27479  		ApiKeySourceTypeAuthorizer,
 27480  	}
 27481  }
 27482  
 27483  const (
 27484  	// ApiKeysFormatCsv is a ApiKeysFormat enum value
 27485  	ApiKeysFormatCsv = "csv"
 27486  )
 27487  
 27488  // ApiKeysFormat_Values returns all elements of the ApiKeysFormat enum
 27489  func ApiKeysFormat_Values() []string {
 27490  	return []string{
 27491  		ApiKeysFormatCsv,
 27492  	}
 27493  }
 27494  
 27495  // The authorizer type. Valid values are TOKEN for a Lambda function using a
 27496  // single authorization token submitted in a custom header, REQUEST for a Lambda
 27497  // function using incoming request parameters, and COGNITO_USER_POOLS for using
 27498  // an Amazon Cognito user pool.
 27499  const (
 27500  	// AuthorizerTypeToken is a AuthorizerType enum value
 27501  	AuthorizerTypeToken = "TOKEN"
 27502  
 27503  	// AuthorizerTypeRequest is a AuthorizerType enum value
 27504  	AuthorizerTypeRequest = "REQUEST"
 27505  
 27506  	// AuthorizerTypeCognitoUserPools is a AuthorizerType enum value
 27507  	AuthorizerTypeCognitoUserPools = "COGNITO_USER_POOLS"
 27508  )
 27509  
 27510  // AuthorizerType_Values returns all elements of the AuthorizerType enum
 27511  func AuthorizerType_Values() []string {
 27512  	return []string{
 27513  		AuthorizerTypeToken,
 27514  		AuthorizerTypeRequest,
 27515  		AuthorizerTypeCognitoUserPools,
 27516  	}
 27517  }
 27518  
 27519  // Returns the size of the CacheCluster.
 27520  const (
 27521  	// CacheClusterSize05 is a CacheClusterSize enum value
 27522  	CacheClusterSize05 = "0.5"
 27523  
 27524  	// CacheClusterSize16 is a CacheClusterSize enum value
 27525  	CacheClusterSize16 = "1.6"
 27526  
 27527  	// CacheClusterSize61 is a CacheClusterSize enum value
 27528  	CacheClusterSize61 = "6.1"
 27529  
 27530  	// CacheClusterSize135 is a CacheClusterSize enum value
 27531  	CacheClusterSize135 = "13.5"
 27532  
 27533  	// CacheClusterSize284 is a CacheClusterSize enum value
 27534  	CacheClusterSize284 = "28.4"
 27535  
 27536  	// CacheClusterSize582 is a CacheClusterSize enum value
 27537  	CacheClusterSize582 = "58.2"
 27538  
 27539  	// CacheClusterSize118 is a CacheClusterSize enum value
 27540  	CacheClusterSize118 = "118"
 27541  
 27542  	// CacheClusterSize237 is a CacheClusterSize enum value
 27543  	CacheClusterSize237 = "237"
 27544  )
 27545  
 27546  // CacheClusterSize_Values returns all elements of the CacheClusterSize enum
 27547  func CacheClusterSize_Values() []string {
 27548  	return []string{
 27549  		CacheClusterSize05,
 27550  		CacheClusterSize16,
 27551  		CacheClusterSize61,
 27552  		CacheClusterSize135,
 27553  		CacheClusterSize284,
 27554  		CacheClusterSize582,
 27555  		CacheClusterSize118,
 27556  		CacheClusterSize237,
 27557  	}
 27558  }
 27559  
 27560  // Returns the status of the CacheCluster.
 27561  const (
 27562  	// CacheClusterStatusCreateInProgress is a CacheClusterStatus enum value
 27563  	CacheClusterStatusCreateInProgress = "CREATE_IN_PROGRESS"
 27564  
 27565  	// CacheClusterStatusAvailable is a CacheClusterStatus enum value
 27566  	CacheClusterStatusAvailable = "AVAILABLE"
 27567  
 27568  	// CacheClusterStatusDeleteInProgress is a CacheClusterStatus enum value
 27569  	CacheClusterStatusDeleteInProgress = "DELETE_IN_PROGRESS"
 27570  
 27571  	// CacheClusterStatusNotAvailable is a CacheClusterStatus enum value
 27572  	CacheClusterStatusNotAvailable = "NOT_AVAILABLE"
 27573  
 27574  	// CacheClusterStatusFlushInProgress is a CacheClusterStatus enum value
 27575  	CacheClusterStatusFlushInProgress = "FLUSH_IN_PROGRESS"
 27576  )
 27577  
 27578  // CacheClusterStatus_Values returns all elements of the CacheClusterStatus enum
 27579  func CacheClusterStatus_Values() []string {
 27580  	return []string{
 27581  		CacheClusterStatusCreateInProgress,
 27582  		CacheClusterStatusAvailable,
 27583  		CacheClusterStatusDeleteInProgress,
 27584  		CacheClusterStatusNotAvailable,
 27585  		CacheClusterStatusFlushInProgress,
 27586  	}
 27587  }
 27588  
 27589  const (
 27590  	// ConnectionTypeInternet is a ConnectionType enum value
 27591  	ConnectionTypeInternet = "INTERNET"
 27592  
 27593  	// ConnectionTypeVpcLink is a ConnectionType enum value
 27594  	ConnectionTypeVpcLink = "VPC_LINK"
 27595  )
 27596  
 27597  // ConnectionType_Values returns all elements of the ConnectionType enum
 27598  func ConnectionType_Values() []string {
 27599  	return []string{
 27600  		ConnectionTypeInternet,
 27601  		ConnectionTypeVpcLink,
 27602  	}
 27603  }
 27604  
 27605  const (
 27606  	// ContentHandlingStrategyConvertToBinary is a ContentHandlingStrategy enum value
 27607  	ContentHandlingStrategyConvertToBinary = "CONVERT_TO_BINARY"
 27608  
 27609  	// ContentHandlingStrategyConvertToText is a ContentHandlingStrategy enum value
 27610  	ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT"
 27611  )
 27612  
 27613  // ContentHandlingStrategy_Values returns all elements of the ContentHandlingStrategy enum
 27614  func ContentHandlingStrategy_Values() []string {
 27615  	return []string{
 27616  		ContentHandlingStrategyConvertToBinary,
 27617  		ContentHandlingStrategyConvertToText,
 27618  	}
 27619  }
 27620  
 27621  const (
 27622  	// DocumentationPartTypeApi is a DocumentationPartType enum value
 27623  	DocumentationPartTypeApi = "API"
 27624  
 27625  	// DocumentationPartTypeAuthorizer is a DocumentationPartType enum value
 27626  	DocumentationPartTypeAuthorizer = "AUTHORIZER"
 27627  
 27628  	// DocumentationPartTypeModel is a DocumentationPartType enum value
 27629  	DocumentationPartTypeModel = "MODEL"
 27630  
 27631  	// DocumentationPartTypeResource is a DocumentationPartType enum value
 27632  	DocumentationPartTypeResource = "RESOURCE"
 27633  
 27634  	// DocumentationPartTypeMethod is a DocumentationPartType enum value
 27635  	DocumentationPartTypeMethod = "METHOD"
 27636  
 27637  	// DocumentationPartTypePathParameter is a DocumentationPartType enum value
 27638  	DocumentationPartTypePathParameter = "PATH_PARAMETER"
 27639  
 27640  	// DocumentationPartTypeQueryParameter is a DocumentationPartType enum value
 27641  	DocumentationPartTypeQueryParameter = "QUERY_PARAMETER"
 27642  
 27643  	// DocumentationPartTypeRequestHeader is a DocumentationPartType enum value
 27644  	DocumentationPartTypeRequestHeader = "REQUEST_HEADER"
 27645  
 27646  	// DocumentationPartTypeRequestBody is a DocumentationPartType enum value
 27647  	DocumentationPartTypeRequestBody = "REQUEST_BODY"
 27648  
 27649  	// DocumentationPartTypeResponse is a DocumentationPartType enum value
 27650  	DocumentationPartTypeResponse = "RESPONSE"
 27651  
 27652  	// DocumentationPartTypeResponseHeader is a DocumentationPartType enum value
 27653  	DocumentationPartTypeResponseHeader = "RESPONSE_HEADER"
 27654  
 27655  	// DocumentationPartTypeResponseBody is a DocumentationPartType enum value
 27656  	DocumentationPartTypeResponseBody = "RESPONSE_BODY"
 27657  )
 27658  
 27659  // DocumentationPartType_Values returns all elements of the DocumentationPartType enum
 27660  func DocumentationPartType_Values() []string {
 27661  	return []string{
 27662  		DocumentationPartTypeApi,
 27663  		DocumentationPartTypeAuthorizer,
 27664  		DocumentationPartTypeModel,
 27665  		DocumentationPartTypeResource,
 27666  		DocumentationPartTypeMethod,
 27667  		DocumentationPartTypePathParameter,
 27668  		DocumentationPartTypeQueryParameter,
 27669  		DocumentationPartTypeRequestHeader,
 27670  		DocumentationPartTypeRequestBody,
 27671  		DocumentationPartTypeResponse,
 27672  		DocumentationPartTypeResponseHeader,
 27673  		DocumentationPartTypeResponseBody,
 27674  	}
 27675  }
 27676  
 27677  const (
 27678  	// DomainNameStatusAvailable is a DomainNameStatus enum value
 27679  	DomainNameStatusAvailable = "AVAILABLE"
 27680  
 27681  	// DomainNameStatusUpdating is a DomainNameStatus enum value
 27682  	DomainNameStatusUpdating = "UPDATING"
 27683  
 27684  	// DomainNameStatusPending is a DomainNameStatus enum value
 27685  	DomainNameStatusPending = "PENDING"
 27686  
 27687  	// DomainNameStatusPendingCertificateReimport is a DomainNameStatus enum value
 27688  	DomainNameStatusPendingCertificateReimport = "PENDING_CERTIFICATE_REIMPORT"
 27689  
 27690  	// DomainNameStatusPendingOwnershipVerification is a DomainNameStatus enum value
 27691  	DomainNameStatusPendingOwnershipVerification = "PENDING_OWNERSHIP_VERIFICATION"
 27692  )
 27693  
 27694  // DomainNameStatus_Values returns all elements of the DomainNameStatus enum
 27695  func DomainNameStatus_Values() []string {
 27696  	return []string{
 27697  		DomainNameStatusAvailable,
 27698  		DomainNameStatusUpdating,
 27699  		DomainNameStatusPending,
 27700  		DomainNameStatusPendingCertificateReimport,
 27701  		DomainNameStatusPendingOwnershipVerification,
 27702  	}
 27703  }
 27704  
 27705  // The endpoint type. The valid values are EDGE for edge-optimized API setup,
 27706  // most suitable for mobile applications; REGIONAL for regional API endpoint
 27707  // setup, most suitable for calling from AWS Region; and PRIVATE for private
 27708  // APIs.
 27709  const (
 27710  	// EndpointTypeRegional is a EndpointType enum value
 27711  	EndpointTypeRegional = "REGIONAL"
 27712  
 27713  	// EndpointTypeEdge is a EndpointType enum value
 27714  	EndpointTypeEdge = "EDGE"
 27715  
 27716  	// EndpointTypePrivate is a EndpointType enum value
 27717  	EndpointTypePrivate = "PRIVATE"
 27718  )
 27719  
 27720  // EndpointType_Values returns all elements of the EndpointType enum
 27721  func EndpointType_Values() []string {
 27722  	return []string{
 27723  		EndpointTypeRegional,
 27724  		EndpointTypeEdge,
 27725  		EndpointTypePrivate,
 27726  	}
 27727  }
 27728  
 27729  const (
 27730  	// GatewayResponseTypeDefault4xx is a GatewayResponseType enum value
 27731  	GatewayResponseTypeDefault4xx = "DEFAULT_4XX"
 27732  
 27733  	// GatewayResponseTypeDefault5xx is a GatewayResponseType enum value
 27734  	GatewayResponseTypeDefault5xx = "DEFAULT_5XX"
 27735  
 27736  	// GatewayResponseTypeResourceNotFound is a GatewayResponseType enum value
 27737  	GatewayResponseTypeResourceNotFound = "RESOURCE_NOT_FOUND"
 27738  
 27739  	// GatewayResponseTypeUnauthorized is a GatewayResponseType enum value
 27740  	GatewayResponseTypeUnauthorized = "UNAUTHORIZED"
 27741  
 27742  	// GatewayResponseTypeInvalidApiKey is a GatewayResponseType enum value
 27743  	GatewayResponseTypeInvalidApiKey = "INVALID_API_KEY"
 27744  
 27745  	// GatewayResponseTypeAccessDenied is a GatewayResponseType enum value
 27746  	GatewayResponseTypeAccessDenied = "ACCESS_DENIED"
 27747  
 27748  	// GatewayResponseTypeAuthorizerFailure is a GatewayResponseType enum value
 27749  	GatewayResponseTypeAuthorizerFailure = "AUTHORIZER_FAILURE"
 27750  
 27751  	// GatewayResponseTypeAuthorizerConfigurationError is a GatewayResponseType enum value
 27752  	GatewayResponseTypeAuthorizerConfigurationError = "AUTHORIZER_CONFIGURATION_ERROR"
 27753  
 27754  	// GatewayResponseTypeInvalidSignature is a GatewayResponseType enum value
 27755  	GatewayResponseTypeInvalidSignature = "INVALID_SIGNATURE"
 27756  
 27757  	// GatewayResponseTypeExpiredToken is a GatewayResponseType enum value
 27758  	GatewayResponseTypeExpiredToken = "EXPIRED_TOKEN"
 27759  
 27760  	// GatewayResponseTypeMissingAuthenticationToken is a GatewayResponseType enum value
 27761  	GatewayResponseTypeMissingAuthenticationToken = "MISSING_AUTHENTICATION_TOKEN"
 27762  
 27763  	// GatewayResponseTypeIntegrationFailure is a GatewayResponseType enum value
 27764  	GatewayResponseTypeIntegrationFailure = "INTEGRATION_FAILURE"
 27765  
 27766  	// GatewayResponseTypeIntegrationTimeout is a GatewayResponseType enum value
 27767  	GatewayResponseTypeIntegrationTimeout = "INTEGRATION_TIMEOUT"
 27768  
 27769  	// GatewayResponseTypeApiConfigurationError is a GatewayResponseType enum value
 27770  	GatewayResponseTypeApiConfigurationError = "API_CONFIGURATION_ERROR"
 27771  
 27772  	// GatewayResponseTypeUnsupportedMediaType is a GatewayResponseType enum value
 27773  	GatewayResponseTypeUnsupportedMediaType = "UNSUPPORTED_MEDIA_TYPE"
 27774  
 27775  	// GatewayResponseTypeBadRequestParameters is a GatewayResponseType enum value
 27776  	GatewayResponseTypeBadRequestParameters = "BAD_REQUEST_PARAMETERS"
 27777  
 27778  	// GatewayResponseTypeBadRequestBody is a GatewayResponseType enum value
 27779  	GatewayResponseTypeBadRequestBody = "BAD_REQUEST_BODY"
 27780  
 27781  	// GatewayResponseTypeRequestTooLarge is a GatewayResponseType enum value
 27782  	GatewayResponseTypeRequestTooLarge = "REQUEST_TOO_LARGE"
 27783  
 27784  	// GatewayResponseTypeThrottled is a GatewayResponseType enum value
 27785  	GatewayResponseTypeThrottled = "THROTTLED"
 27786  
 27787  	// GatewayResponseTypeQuotaExceeded is a GatewayResponseType enum value
 27788  	GatewayResponseTypeQuotaExceeded = "QUOTA_EXCEEDED"
 27789  
 27790  	// GatewayResponseTypeWafFiltered is a GatewayResponseType enum value
 27791  	GatewayResponseTypeWafFiltered = "WAF_FILTERED"
 27792  )
 27793  
 27794  // GatewayResponseType_Values returns all elements of the GatewayResponseType enum
 27795  func GatewayResponseType_Values() []string {
 27796  	return []string{
 27797  		GatewayResponseTypeDefault4xx,
 27798  		GatewayResponseTypeDefault5xx,
 27799  		GatewayResponseTypeResourceNotFound,
 27800  		GatewayResponseTypeUnauthorized,
 27801  		GatewayResponseTypeInvalidApiKey,
 27802  		GatewayResponseTypeAccessDenied,
 27803  		GatewayResponseTypeAuthorizerFailure,
 27804  		GatewayResponseTypeAuthorizerConfigurationError,
 27805  		GatewayResponseTypeInvalidSignature,
 27806  		GatewayResponseTypeExpiredToken,
 27807  		GatewayResponseTypeMissingAuthenticationToken,
 27808  		GatewayResponseTypeIntegrationFailure,
 27809  		GatewayResponseTypeIntegrationTimeout,
 27810  		GatewayResponseTypeApiConfigurationError,
 27811  		GatewayResponseTypeUnsupportedMediaType,
 27812  		GatewayResponseTypeBadRequestParameters,
 27813  		GatewayResponseTypeBadRequestBody,
 27814  		GatewayResponseTypeRequestTooLarge,
 27815  		GatewayResponseTypeThrottled,
 27816  		GatewayResponseTypeQuotaExceeded,
 27817  		GatewayResponseTypeWafFiltered,
 27818  	}
 27819  }
 27820  
 27821  // The integration type. The valid value is HTTP for integrating an API method
 27822  // with an HTTP backend; AWS with any AWS service endpoints; MOCK for testing
 27823  // without actually invoking the backend; HTTP_PROXY for integrating with the
 27824  // HTTP proxy integration; AWS_PROXY for integrating with the Lambda proxy integration.
 27825  const (
 27826  	// IntegrationTypeHttp is a IntegrationType enum value
 27827  	IntegrationTypeHttp = "HTTP"
 27828  
 27829  	// IntegrationTypeAws is a IntegrationType enum value
 27830  	IntegrationTypeAws = "AWS"
 27831  
 27832  	// IntegrationTypeMock is a IntegrationType enum value
 27833  	IntegrationTypeMock = "MOCK"
 27834  
 27835  	// IntegrationTypeHttpProxy is a IntegrationType enum value
 27836  	IntegrationTypeHttpProxy = "HTTP_PROXY"
 27837  
 27838  	// IntegrationTypeAwsProxy is a IntegrationType enum value
 27839  	IntegrationTypeAwsProxy = "AWS_PROXY"
 27840  )
 27841  
 27842  // IntegrationType_Values returns all elements of the IntegrationType enum
 27843  func IntegrationType_Values() []string {
 27844  	return []string{
 27845  		IntegrationTypeHttp,
 27846  		IntegrationTypeAws,
 27847  		IntegrationTypeMock,
 27848  		IntegrationTypeHttpProxy,
 27849  		IntegrationTypeAwsProxy,
 27850  	}
 27851  }
 27852  
 27853  const (
 27854  	// LocationStatusTypeDocumented is a LocationStatusType enum value
 27855  	LocationStatusTypeDocumented = "DOCUMENTED"
 27856  
 27857  	// LocationStatusTypeUndocumented is a LocationStatusType enum value
 27858  	LocationStatusTypeUndocumented = "UNDOCUMENTED"
 27859  )
 27860  
 27861  // LocationStatusType_Values returns all elements of the LocationStatusType enum
 27862  func LocationStatusType_Values() []string {
 27863  	return []string{
 27864  		LocationStatusTypeDocumented,
 27865  		LocationStatusTypeUndocumented,
 27866  	}
 27867  }
 27868  
 27869  const (
 27870  	// OpAdd is a Op enum value
 27871  	OpAdd = "add"
 27872  
 27873  	// OpRemove is a Op enum value
 27874  	OpRemove = "remove"
 27875  
 27876  	// OpReplace is a Op enum value
 27877  	OpReplace = "replace"
 27878  
 27879  	// OpMove is a Op enum value
 27880  	OpMove = "move"
 27881  
 27882  	// OpCopy is a Op enum value
 27883  	OpCopy = "copy"
 27884  
 27885  	// OpTest is a Op enum value
 27886  	OpTest = "test"
 27887  )
 27888  
 27889  // Op_Values returns all elements of the Op enum
 27890  func Op_Values() []string {
 27891  	return []string{
 27892  		OpAdd,
 27893  		OpRemove,
 27894  		OpReplace,
 27895  		OpMove,
 27896  		OpCopy,
 27897  		OpTest,
 27898  	}
 27899  }
 27900  
 27901  const (
 27902  	// PutModeMerge is a PutMode enum value
 27903  	PutModeMerge = "merge"
 27904  
 27905  	// PutModeOverwrite is a PutMode enum value
 27906  	PutModeOverwrite = "overwrite"
 27907  )
 27908  
 27909  // PutMode_Values returns all elements of the PutMode enum
 27910  func PutMode_Values() []string {
 27911  	return []string{
 27912  		PutModeMerge,
 27913  		PutModeOverwrite,
 27914  	}
 27915  }
 27916  
 27917  const (
 27918  	// QuotaPeriodTypeDay is a QuotaPeriodType enum value
 27919  	QuotaPeriodTypeDay = "DAY"
 27920  
 27921  	// QuotaPeriodTypeWeek is a QuotaPeriodType enum value
 27922  	QuotaPeriodTypeWeek = "WEEK"
 27923  
 27924  	// QuotaPeriodTypeMonth is a QuotaPeriodType enum value
 27925  	QuotaPeriodTypeMonth = "MONTH"
 27926  )
 27927  
 27928  // QuotaPeriodType_Values returns all elements of the QuotaPeriodType enum
 27929  func QuotaPeriodType_Values() []string {
 27930  	return []string{
 27931  		QuotaPeriodTypeDay,
 27932  		QuotaPeriodTypeWeek,
 27933  		QuotaPeriodTypeMonth,
 27934  	}
 27935  }
 27936  
 27937  const (
 27938  	// SecurityPolicyTls10 is a SecurityPolicy enum value
 27939  	SecurityPolicyTls10 = "TLS_1_0"
 27940  
 27941  	// SecurityPolicyTls12 is a SecurityPolicy enum value
 27942  	SecurityPolicyTls12 = "TLS_1_2"
 27943  )
 27944  
 27945  // SecurityPolicy_Values returns all elements of the SecurityPolicy enum
 27946  func SecurityPolicy_Values() []string {
 27947  	return []string{
 27948  		SecurityPolicyTls10,
 27949  		SecurityPolicyTls12,
 27950  	}
 27951  }
 27952  
 27953  const (
 27954  	// UnauthorizedCacheControlHeaderStrategyFailWith403 is a UnauthorizedCacheControlHeaderStrategy enum value
 27955  	UnauthorizedCacheControlHeaderStrategyFailWith403 = "FAIL_WITH_403"
 27956  
 27957  	// UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value
 27958  	UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader = "SUCCEED_WITH_RESPONSE_HEADER"
 27959  
 27960  	// UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader is a UnauthorizedCacheControlHeaderStrategy enum value
 27961  	UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader = "SUCCEED_WITHOUT_RESPONSE_HEADER"
 27962  )
 27963  
 27964  // UnauthorizedCacheControlHeaderStrategy_Values returns all elements of the UnauthorizedCacheControlHeaderStrategy enum
 27965  func UnauthorizedCacheControlHeaderStrategy_Values() []string {
 27966  	return []string{
 27967  		UnauthorizedCacheControlHeaderStrategyFailWith403,
 27968  		UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader,
 27969  		UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader,
 27970  	}
 27971  }
 27972  
 27973  const (
 27974  	// VpcLinkStatusAvailable is a VpcLinkStatus enum value
 27975  	VpcLinkStatusAvailable = "AVAILABLE"
 27976  
 27977  	// VpcLinkStatusPending is a VpcLinkStatus enum value
 27978  	VpcLinkStatusPending = "PENDING"
 27979  
 27980  	// VpcLinkStatusDeleting is a VpcLinkStatus enum value
 27981  	VpcLinkStatusDeleting = "DELETING"
 27982  
 27983  	// VpcLinkStatusFailed is a VpcLinkStatus enum value
 27984  	VpcLinkStatusFailed = "FAILED"
 27985  )
 27986  
 27987  // VpcLinkStatus_Values returns all elements of the VpcLinkStatus enum
 27988  func VpcLinkStatus_Values() []string {
 27989  	return []string{
 27990  		VpcLinkStatusAvailable,
 27991  		VpcLinkStatusPending,
 27992  		VpcLinkStatusDeleting,
 27993  		VpcLinkStatusFailed,
 27994  	}
 27995  }