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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package apigatewayv2
     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 opCreateApi = "CreateApi"
    17  
    18  // CreateApiRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateApi 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 CreateApi for more information on using the CreateApi
    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 CreateApiRequest method.
    34  //    req, resp := client.CreateApiRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApi
    42  func (c *ApiGatewayV2) CreateApiRequest(input *CreateApiInput) (req *request.Request, output *CreateApiOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateApi,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/v2/apis",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateApiInput{}
    51  	}
    52  
    53  	output = &CreateApiOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateApi API operation for AmazonApiGatewayV2.
    59  //
    60  // Creates an Api resource.
    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 AmazonApiGatewayV2's
    67  // API operation CreateApi for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * NotFoundException
    71  //   The resource specified in the request was not found. See the message field
    72  //   for more information.
    73  //
    74  //   * TooManyRequestsException
    75  //   A limit has been exceeded. See the accompanying error message for details.
    76  //
    77  //   * BadRequestException
    78  //   The request is not valid, for example, the input is incomplete or incorrect.
    79  //   See the accompanying error message for details.
    80  //
    81  //   * ConflictException
    82  //   The requested operation would cause a conflict with the current state of
    83  //   a service resource associated with the request. Resolve the conflict before
    84  //   retrying this request. See the accompanying error message for details.
    85  //
    86  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApi
    87  func (c *ApiGatewayV2) CreateApi(input *CreateApiInput) (*CreateApiOutput, error) {
    88  	req, out := c.CreateApiRequest(input)
    89  	return out, req.Send()
    90  }
    91  
    92  // CreateApiWithContext is the same as CreateApi with the addition of
    93  // the ability to pass a context and additional request options.
    94  //
    95  // See CreateApi for details on how to use this API operation.
    96  //
    97  // The context must be non-nil and will be used for request cancellation. If
    98  // the context is nil a panic will occur. In the future the SDK may create
    99  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   100  // for more information on using Contexts.
   101  func (c *ApiGatewayV2) CreateApiWithContext(ctx aws.Context, input *CreateApiInput, opts ...request.Option) (*CreateApiOutput, error) {
   102  	req, out := c.CreateApiRequest(input)
   103  	req.SetContext(ctx)
   104  	req.ApplyOptions(opts...)
   105  	return out, req.Send()
   106  }
   107  
   108  const opCreateApiMapping = "CreateApiMapping"
   109  
   110  // CreateApiMappingRequest generates a "aws/request.Request" representing the
   111  // client's request for the CreateApiMapping operation. The "output" return
   112  // value will be populated with the request's response once the request completes
   113  // successfully.
   114  //
   115  // Use "Send" method on the returned Request to send the API call to the service.
   116  // the "output" return value is not valid until after Send returns without error.
   117  //
   118  // See CreateApiMapping for more information on using the CreateApiMapping
   119  // API call, and error handling.
   120  //
   121  // This method is useful when you want to inject custom logic or configuration
   122  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   123  //
   124  //
   125  //    // Example sending a request using the CreateApiMappingRequest method.
   126  //    req, resp := client.CreateApiMappingRequest(params)
   127  //
   128  //    err := req.Send()
   129  //    if err == nil { // resp is now filled
   130  //        fmt.Println(resp)
   131  //    }
   132  //
   133  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApiMapping
   134  func (c *ApiGatewayV2) CreateApiMappingRequest(input *CreateApiMappingInput) (req *request.Request, output *CreateApiMappingOutput) {
   135  	op := &request.Operation{
   136  		Name:       opCreateApiMapping,
   137  		HTTPMethod: "POST",
   138  		HTTPPath:   "/v2/domainnames/{domainName}/apimappings",
   139  	}
   140  
   141  	if input == nil {
   142  		input = &CreateApiMappingInput{}
   143  	}
   144  
   145  	output = &CreateApiMappingOutput{}
   146  	req = c.newRequest(op, input, output)
   147  	return
   148  }
   149  
   150  // CreateApiMapping API operation for AmazonApiGatewayV2.
   151  //
   152  // Creates an API mapping.
   153  //
   154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   155  // with awserr.Error's Code and Message methods to get detailed information about
   156  // the error.
   157  //
   158  // See the AWS API reference guide for AmazonApiGatewayV2's
   159  // API operation CreateApiMapping for usage and error information.
   160  //
   161  // Returned Error Types:
   162  //   * NotFoundException
   163  //   The resource specified in the request was not found. See the message field
   164  //   for more information.
   165  //
   166  //   * TooManyRequestsException
   167  //   A limit has been exceeded. See the accompanying error message for details.
   168  //
   169  //   * BadRequestException
   170  //   The request is not valid, for example, the input is incomplete or incorrect.
   171  //   See the accompanying error message for details.
   172  //
   173  //   * ConflictException
   174  //   The requested operation would cause a conflict with the current state of
   175  //   a service resource associated with the request. Resolve the conflict before
   176  //   retrying this request. See the accompanying error message for details.
   177  //
   178  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateApiMapping
   179  func (c *ApiGatewayV2) CreateApiMapping(input *CreateApiMappingInput) (*CreateApiMappingOutput, error) {
   180  	req, out := c.CreateApiMappingRequest(input)
   181  	return out, req.Send()
   182  }
   183  
   184  // CreateApiMappingWithContext is the same as CreateApiMapping with the addition of
   185  // the ability to pass a context and additional request options.
   186  //
   187  // See CreateApiMapping for details on how to use this API operation.
   188  //
   189  // The context must be non-nil and will be used for request cancellation. If
   190  // the context is nil a panic will occur. In the future the SDK may create
   191  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   192  // for more information on using Contexts.
   193  func (c *ApiGatewayV2) CreateApiMappingWithContext(ctx aws.Context, input *CreateApiMappingInput, opts ...request.Option) (*CreateApiMappingOutput, error) {
   194  	req, out := c.CreateApiMappingRequest(input)
   195  	req.SetContext(ctx)
   196  	req.ApplyOptions(opts...)
   197  	return out, req.Send()
   198  }
   199  
   200  const opCreateAuthorizer = "CreateAuthorizer"
   201  
   202  // CreateAuthorizerRequest generates a "aws/request.Request" representing the
   203  // client's request for the CreateAuthorizer operation. The "output" return
   204  // value will be populated with the request's response once the request completes
   205  // successfully.
   206  //
   207  // Use "Send" method on the returned Request to send the API call to the service.
   208  // the "output" return value is not valid until after Send returns without error.
   209  //
   210  // See CreateAuthorizer for more information on using the CreateAuthorizer
   211  // API call, and error handling.
   212  //
   213  // This method is useful when you want to inject custom logic or configuration
   214  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   215  //
   216  //
   217  //    // Example sending a request using the CreateAuthorizerRequest method.
   218  //    req, resp := client.CreateAuthorizerRequest(params)
   219  //
   220  //    err := req.Send()
   221  //    if err == nil { // resp is now filled
   222  //        fmt.Println(resp)
   223  //    }
   224  //
   225  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateAuthorizer
   226  func (c *ApiGatewayV2) CreateAuthorizerRequest(input *CreateAuthorizerInput) (req *request.Request, output *CreateAuthorizerOutput) {
   227  	op := &request.Operation{
   228  		Name:       opCreateAuthorizer,
   229  		HTTPMethod: "POST",
   230  		HTTPPath:   "/v2/apis/{apiId}/authorizers",
   231  	}
   232  
   233  	if input == nil {
   234  		input = &CreateAuthorizerInput{}
   235  	}
   236  
   237  	output = &CreateAuthorizerOutput{}
   238  	req = c.newRequest(op, input, output)
   239  	return
   240  }
   241  
   242  // CreateAuthorizer API operation for AmazonApiGatewayV2.
   243  //
   244  // Creates an Authorizer for an API.
   245  //
   246  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   247  // with awserr.Error's Code and Message methods to get detailed information about
   248  // the error.
   249  //
   250  // See the AWS API reference guide for AmazonApiGatewayV2's
   251  // API operation CreateAuthorizer for usage and error information.
   252  //
   253  // Returned Error Types:
   254  //   * NotFoundException
   255  //   The resource specified in the request was not found. See the message field
   256  //   for more information.
   257  //
   258  //   * TooManyRequestsException
   259  //   A limit has been exceeded. See the accompanying error message for details.
   260  //
   261  //   * BadRequestException
   262  //   The request is not valid, for example, the input is incomplete or incorrect.
   263  //   See the accompanying error message for details.
   264  //
   265  //   * ConflictException
   266  //   The requested operation would cause a conflict with the current state of
   267  //   a service resource associated with the request. Resolve the conflict before
   268  //   retrying this request. See the accompanying error message for details.
   269  //
   270  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateAuthorizer
   271  func (c *ApiGatewayV2) CreateAuthorizer(input *CreateAuthorizerInput) (*CreateAuthorizerOutput, error) {
   272  	req, out := c.CreateAuthorizerRequest(input)
   273  	return out, req.Send()
   274  }
   275  
   276  // CreateAuthorizerWithContext is the same as CreateAuthorizer with the addition of
   277  // the ability to pass a context and additional request options.
   278  //
   279  // See CreateAuthorizer for details on how to use this API operation.
   280  //
   281  // The context must be non-nil and will be used for request cancellation. If
   282  // the context is nil a panic will occur. In the future the SDK may create
   283  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   284  // for more information on using Contexts.
   285  func (c *ApiGatewayV2) CreateAuthorizerWithContext(ctx aws.Context, input *CreateAuthorizerInput, opts ...request.Option) (*CreateAuthorizerOutput, error) {
   286  	req, out := c.CreateAuthorizerRequest(input)
   287  	req.SetContext(ctx)
   288  	req.ApplyOptions(opts...)
   289  	return out, req.Send()
   290  }
   291  
   292  const opCreateDeployment = "CreateDeployment"
   293  
   294  // CreateDeploymentRequest generates a "aws/request.Request" representing the
   295  // client's request for the CreateDeployment operation. The "output" return
   296  // value will be populated with the request's response once the request completes
   297  // successfully.
   298  //
   299  // Use "Send" method on the returned Request to send the API call to the service.
   300  // the "output" return value is not valid until after Send returns without error.
   301  //
   302  // See CreateDeployment for more information on using the CreateDeployment
   303  // API call, and error handling.
   304  //
   305  // This method is useful when you want to inject custom logic or configuration
   306  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   307  //
   308  //
   309  //    // Example sending a request using the CreateDeploymentRequest method.
   310  //    req, resp := client.CreateDeploymentRequest(params)
   311  //
   312  //    err := req.Send()
   313  //    if err == nil { // resp is now filled
   314  //        fmt.Println(resp)
   315  //    }
   316  //
   317  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDeployment
   318  func (c *ApiGatewayV2) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
   319  	op := &request.Operation{
   320  		Name:       opCreateDeployment,
   321  		HTTPMethod: "POST",
   322  		HTTPPath:   "/v2/apis/{apiId}/deployments",
   323  	}
   324  
   325  	if input == nil {
   326  		input = &CreateDeploymentInput{}
   327  	}
   328  
   329  	output = &CreateDeploymentOutput{}
   330  	req = c.newRequest(op, input, output)
   331  	return
   332  }
   333  
   334  // CreateDeployment API operation for AmazonApiGatewayV2.
   335  //
   336  // Creates a Deployment for an API.
   337  //
   338  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   339  // with awserr.Error's Code and Message methods to get detailed information about
   340  // the error.
   341  //
   342  // See the AWS API reference guide for AmazonApiGatewayV2's
   343  // API operation CreateDeployment for usage and error information.
   344  //
   345  // Returned Error Types:
   346  //   * NotFoundException
   347  //   The resource specified in the request was not found. See the message field
   348  //   for more information.
   349  //
   350  //   * TooManyRequestsException
   351  //   A limit has been exceeded. See the accompanying error message for details.
   352  //
   353  //   * BadRequestException
   354  //   The request is not valid, for example, the input is incomplete or incorrect.
   355  //   See the accompanying error message for details.
   356  //
   357  //   * ConflictException
   358  //   The requested operation would cause a conflict with the current state of
   359  //   a service resource associated with the request. Resolve the conflict before
   360  //   retrying this request. See the accompanying error message for details.
   361  //
   362  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDeployment
   363  func (c *ApiGatewayV2) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
   364  	req, out := c.CreateDeploymentRequest(input)
   365  	return out, req.Send()
   366  }
   367  
   368  // CreateDeploymentWithContext is the same as CreateDeployment with the addition of
   369  // the ability to pass a context and additional request options.
   370  //
   371  // See CreateDeployment for details on how to use this API operation.
   372  //
   373  // The context must be non-nil and will be used for request cancellation. If
   374  // the context is nil a panic will occur. In the future the SDK may create
   375  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   376  // for more information on using Contexts.
   377  func (c *ApiGatewayV2) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
   378  	req, out := c.CreateDeploymentRequest(input)
   379  	req.SetContext(ctx)
   380  	req.ApplyOptions(opts...)
   381  	return out, req.Send()
   382  }
   383  
   384  const opCreateDomainName = "CreateDomainName"
   385  
   386  // CreateDomainNameRequest generates a "aws/request.Request" representing the
   387  // client's request for the CreateDomainName operation. The "output" return
   388  // value will be populated with the request's response once the request completes
   389  // successfully.
   390  //
   391  // Use "Send" method on the returned Request to send the API call to the service.
   392  // the "output" return value is not valid until after Send returns without error.
   393  //
   394  // See CreateDomainName for more information on using the CreateDomainName
   395  // API call, and error handling.
   396  //
   397  // This method is useful when you want to inject custom logic or configuration
   398  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   399  //
   400  //
   401  //    // Example sending a request using the CreateDomainNameRequest method.
   402  //    req, resp := client.CreateDomainNameRequest(params)
   403  //
   404  //    err := req.Send()
   405  //    if err == nil { // resp is now filled
   406  //        fmt.Println(resp)
   407  //    }
   408  //
   409  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDomainName
   410  func (c *ApiGatewayV2) CreateDomainNameRequest(input *CreateDomainNameInput) (req *request.Request, output *CreateDomainNameOutput) {
   411  	op := &request.Operation{
   412  		Name:       opCreateDomainName,
   413  		HTTPMethod: "POST",
   414  		HTTPPath:   "/v2/domainnames",
   415  	}
   416  
   417  	if input == nil {
   418  		input = &CreateDomainNameInput{}
   419  	}
   420  
   421  	output = &CreateDomainNameOutput{}
   422  	req = c.newRequest(op, input, output)
   423  	return
   424  }
   425  
   426  // CreateDomainName API operation for AmazonApiGatewayV2.
   427  //
   428  // Creates a domain name.
   429  //
   430  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   431  // with awserr.Error's Code and Message methods to get detailed information about
   432  // the error.
   433  //
   434  // See the AWS API reference guide for AmazonApiGatewayV2's
   435  // API operation CreateDomainName for usage and error information.
   436  //
   437  // Returned Error Types:
   438  //   * NotFoundException
   439  //   The resource specified in the request was not found. See the message field
   440  //   for more information.
   441  //
   442  //   * TooManyRequestsException
   443  //   A limit has been exceeded. See the accompanying error message for details.
   444  //
   445  //   * BadRequestException
   446  //   The request is not valid, for example, the input is incomplete or incorrect.
   447  //   See the accompanying error message for details.
   448  //
   449  //   * ConflictException
   450  //   The requested operation would cause a conflict with the current state of
   451  //   a service resource associated with the request. Resolve the conflict before
   452  //   retrying this request. See the accompanying error message for details.
   453  //
   454  //   * AccessDeniedException
   455  //
   456  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateDomainName
   457  func (c *ApiGatewayV2) CreateDomainName(input *CreateDomainNameInput) (*CreateDomainNameOutput, error) {
   458  	req, out := c.CreateDomainNameRequest(input)
   459  	return out, req.Send()
   460  }
   461  
   462  // CreateDomainNameWithContext is the same as CreateDomainName with the addition of
   463  // the ability to pass a context and additional request options.
   464  //
   465  // See CreateDomainName for details on how to use this API operation.
   466  //
   467  // The context must be non-nil and will be used for request cancellation. If
   468  // the context is nil a panic will occur. In the future the SDK may create
   469  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   470  // for more information on using Contexts.
   471  func (c *ApiGatewayV2) CreateDomainNameWithContext(ctx aws.Context, input *CreateDomainNameInput, opts ...request.Option) (*CreateDomainNameOutput, error) {
   472  	req, out := c.CreateDomainNameRequest(input)
   473  	req.SetContext(ctx)
   474  	req.ApplyOptions(opts...)
   475  	return out, req.Send()
   476  }
   477  
   478  const opCreateIntegration = "CreateIntegration"
   479  
   480  // CreateIntegrationRequest generates a "aws/request.Request" representing the
   481  // client's request for the CreateIntegration operation. The "output" return
   482  // value will be populated with the request's response once the request completes
   483  // successfully.
   484  //
   485  // Use "Send" method on the returned Request to send the API call to the service.
   486  // the "output" return value is not valid until after Send returns without error.
   487  //
   488  // See CreateIntegration for more information on using the CreateIntegration
   489  // API call, and error handling.
   490  //
   491  // This method is useful when you want to inject custom logic or configuration
   492  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   493  //
   494  //
   495  //    // Example sending a request using the CreateIntegrationRequest method.
   496  //    req, resp := client.CreateIntegrationRequest(params)
   497  //
   498  //    err := req.Send()
   499  //    if err == nil { // resp is now filled
   500  //        fmt.Println(resp)
   501  //    }
   502  //
   503  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegration
   504  func (c *ApiGatewayV2) CreateIntegrationRequest(input *CreateIntegrationInput) (req *request.Request, output *CreateIntegrationOutput) {
   505  	op := &request.Operation{
   506  		Name:       opCreateIntegration,
   507  		HTTPMethod: "POST",
   508  		HTTPPath:   "/v2/apis/{apiId}/integrations",
   509  	}
   510  
   511  	if input == nil {
   512  		input = &CreateIntegrationInput{}
   513  	}
   514  
   515  	output = &CreateIntegrationOutput{}
   516  	req = c.newRequest(op, input, output)
   517  	return
   518  }
   519  
   520  // CreateIntegration API operation for AmazonApiGatewayV2.
   521  //
   522  // Creates an Integration.
   523  //
   524  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   525  // with awserr.Error's Code and Message methods to get detailed information about
   526  // the error.
   527  //
   528  // See the AWS API reference guide for AmazonApiGatewayV2's
   529  // API operation CreateIntegration for usage and error information.
   530  //
   531  // Returned Error Types:
   532  //   * NotFoundException
   533  //   The resource specified in the request was not found. See the message field
   534  //   for more information.
   535  //
   536  //   * TooManyRequestsException
   537  //   A limit has been exceeded. See the accompanying error message for details.
   538  //
   539  //   * BadRequestException
   540  //   The request is not valid, for example, the input is incomplete or incorrect.
   541  //   See the accompanying error message for details.
   542  //
   543  //   * ConflictException
   544  //   The requested operation would cause a conflict with the current state of
   545  //   a service resource associated with the request. Resolve the conflict before
   546  //   retrying this request. See the accompanying error message for details.
   547  //
   548  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegration
   549  func (c *ApiGatewayV2) CreateIntegration(input *CreateIntegrationInput) (*CreateIntegrationOutput, error) {
   550  	req, out := c.CreateIntegrationRequest(input)
   551  	return out, req.Send()
   552  }
   553  
   554  // CreateIntegrationWithContext is the same as CreateIntegration with the addition of
   555  // the ability to pass a context and additional request options.
   556  //
   557  // See CreateIntegration for details on how to use this API operation.
   558  //
   559  // The context must be non-nil and will be used for request cancellation. If
   560  // the context is nil a panic will occur. In the future the SDK may create
   561  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   562  // for more information on using Contexts.
   563  func (c *ApiGatewayV2) CreateIntegrationWithContext(ctx aws.Context, input *CreateIntegrationInput, opts ...request.Option) (*CreateIntegrationOutput, error) {
   564  	req, out := c.CreateIntegrationRequest(input)
   565  	req.SetContext(ctx)
   566  	req.ApplyOptions(opts...)
   567  	return out, req.Send()
   568  }
   569  
   570  const opCreateIntegrationResponse = "CreateIntegrationResponse"
   571  
   572  // CreateIntegrationResponseRequest generates a "aws/request.Request" representing the
   573  // client's request for the CreateIntegrationResponse operation. The "output" return
   574  // value will be populated with the request's response once the request completes
   575  // successfully.
   576  //
   577  // Use "Send" method on the returned Request to send the API call to the service.
   578  // the "output" return value is not valid until after Send returns without error.
   579  //
   580  // See CreateIntegrationResponse for more information on using the CreateIntegrationResponse
   581  // API call, and error handling.
   582  //
   583  // This method is useful when you want to inject custom logic or configuration
   584  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   585  //
   586  //
   587  //    // Example sending a request using the CreateIntegrationResponseRequest method.
   588  //    req, resp := client.CreateIntegrationResponseRequest(params)
   589  //
   590  //    err := req.Send()
   591  //    if err == nil { // resp is now filled
   592  //        fmt.Println(resp)
   593  //    }
   594  //
   595  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegrationResponse
   596  func (c *ApiGatewayV2) CreateIntegrationResponseRequest(input *CreateIntegrationResponseInput) (req *request.Request, output *CreateIntegrationResponseOutput) {
   597  	op := &request.Operation{
   598  		Name:       opCreateIntegrationResponse,
   599  		HTTPMethod: "POST",
   600  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses",
   601  	}
   602  
   603  	if input == nil {
   604  		input = &CreateIntegrationResponseInput{}
   605  	}
   606  
   607  	output = &CreateIntegrationResponseOutput{}
   608  	req = c.newRequest(op, input, output)
   609  	return
   610  }
   611  
   612  // CreateIntegrationResponse API operation for AmazonApiGatewayV2.
   613  //
   614  // Creates an IntegrationResponses.
   615  //
   616  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   617  // with awserr.Error's Code and Message methods to get detailed information about
   618  // the error.
   619  //
   620  // See the AWS API reference guide for AmazonApiGatewayV2's
   621  // API operation CreateIntegrationResponse for usage and error information.
   622  //
   623  // Returned Error Types:
   624  //   * NotFoundException
   625  //   The resource specified in the request was not found. See the message field
   626  //   for more information.
   627  //
   628  //   * TooManyRequestsException
   629  //   A limit has been exceeded. See the accompanying error message for details.
   630  //
   631  //   * BadRequestException
   632  //   The request is not valid, for example, the input is incomplete or incorrect.
   633  //   See the accompanying error message for details.
   634  //
   635  //   * ConflictException
   636  //   The requested operation would cause a conflict with the current state of
   637  //   a service resource associated with the request. Resolve the conflict before
   638  //   retrying this request. See the accompanying error message for details.
   639  //
   640  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateIntegrationResponse
   641  func (c *ApiGatewayV2) CreateIntegrationResponse(input *CreateIntegrationResponseInput) (*CreateIntegrationResponseOutput, error) {
   642  	req, out := c.CreateIntegrationResponseRequest(input)
   643  	return out, req.Send()
   644  }
   645  
   646  // CreateIntegrationResponseWithContext is the same as CreateIntegrationResponse with the addition of
   647  // the ability to pass a context and additional request options.
   648  //
   649  // See CreateIntegrationResponse for details on how to use this API operation.
   650  //
   651  // The context must be non-nil and will be used for request cancellation. If
   652  // the context is nil a panic will occur. In the future the SDK may create
   653  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   654  // for more information on using Contexts.
   655  func (c *ApiGatewayV2) CreateIntegrationResponseWithContext(ctx aws.Context, input *CreateIntegrationResponseInput, opts ...request.Option) (*CreateIntegrationResponseOutput, error) {
   656  	req, out := c.CreateIntegrationResponseRequest(input)
   657  	req.SetContext(ctx)
   658  	req.ApplyOptions(opts...)
   659  	return out, req.Send()
   660  }
   661  
   662  const opCreateModel = "CreateModel"
   663  
   664  // CreateModelRequest generates a "aws/request.Request" representing the
   665  // client's request for the CreateModel operation. The "output" return
   666  // value will be populated with the request's response once the request completes
   667  // successfully.
   668  //
   669  // Use "Send" method on the returned Request to send the API call to the service.
   670  // the "output" return value is not valid until after Send returns without error.
   671  //
   672  // See CreateModel for more information on using the CreateModel
   673  // API call, and error handling.
   674  //
   675  // This method is useful when you want to inject custom logic or configuration
   676  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   677  //
   678  //
   679  //    // Example sending a request using the CreateModelRequest method.
   680  //    req, resp := client.CreateModelRequest(params)
   681  //
   682  //    err := req.Send()
   683  //    if err == nil { // resp is now filled
   684  //        fmt.Println(resp)
   685  //    }
   686  //
   687  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateModel
   688  func (c *ApiGatewayV2) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *CreateModelOutput) {
   689  	op := &request.Operation{
   690  		Name:       opCreateModel,
   691  		HTTPMethod: "POST",
   692  		HTTPPath:   "/v2/apis/{apiId}/models",
   693  	}
   694  
   695  	if input == nil {
   696  		input = &CreateModelInput{}
   697  	}
   698  
   699  	output = &CreateModelOutput{}
   700  	req = c.newRequest(op, input, output)
   701  	return
   702  }
   703  
   704  // CreateModel API operation for AmazonApiGatewayV2.
   705  //
   706  // Creates a Model for an API.
   707  //
   708  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   709  // with awserr.Error's Code and Message methods to get detailed information about
   710  // the error.
   711  //
   712  // See the AWS API reference guide for AmazonApiGatewayV2's
   713  // API operation CreateModel for usage and error information.
   714  //
   715  // Returned Error Types:
   716  //   * NotFoundException
   717  //   The resource specified in the request was not found. See the message field
   718  //   for more information.
   719  //
   720  //   * TooManyRequestsException
   721  //   A limit has been exceeded. See the accompanying error message for details.
   722  //
   723  //   * BadRequestException
   724  //   The request is not valid, for example, the input is incomplete or incorrect.
   725  //   See the accompanying error message for details.
   726  //
   727  //   * ConflictException
   728  //   The requested operation would cause a conflict with the current state of
   729  //   a service resource associated with the request. Resolve the conflict before
   730  //   retrying this request. See the accompanying error message for details.
   731  //
   732  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateModel
   733  func (c *ApiGatewayV2) CreateModel(input *CreateModelInput) (*CreateModelOutput, error) {
   734  	req, out := c.CreateModelRequest(input)
   735  	return out, req.Send()
   736  }
   737  
   738  // CreateModelWithContext is the same as CreateModel with the addition of
   739  // the ability to pass a context and additional request options.
   740  //
   741  // See CreateModel for details on how to use this API operation.
   742  //
   743  // The context must be non-nil and will be used for request cancellation. If
   744  // the context is nil a panic will occur. In the future the SDK may create
   745  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   746  // for more information on using Contexts.
   747  func (c *ApiGatewayV2) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*CreateModelOutput, error) {
   748  	req, out := c.CreateModelRequest(input)
   749  	req.SetContext(ctx)
   750  	req.ApplyOptions(opts...)
   751  	return out, req.Send()
   752  }
   753  
   754  const opCreateRoute = "CreateRoute"
   755  
   756  // CreateRouteRequest generates a "aws/request.Request" representing the
   757  // client's request for the CreateRoute operation. The "output" return
   758  // value will be populated with the request's response once the request completes
   759  // successfully.
   760  //
   761  // Use "Send" method on the returned Request to send the API call to the service.
   762  // the "output" return value is not valid until after Send returns without error.
   763  //
   764  // See CreateRoute for more information on using the CreateRoute
   765  // API call, and error handling.
   766  //
   767  // This method is useful when you want to inject custom logic or configuration
   768  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   769  //
   770  //
   771  //    // Example sending a request using the CreateRouteRequest method.
   772  //    req, resp := client.CreateRouteRequest(params)
   773  //
   774  //    err := req.Send()
   775  //    if err == nil { // resp is now filled
   776  //        fmt.Println(resp)
   777  //    }
   778  //
   779  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRoute
   780  func (c *ApiGatewayV2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
   781  	op := &request.Operation{
   782  		Name:       opCreateRoute,
   783  		HTTPMethod: "POST",
   784  		HTTPPath:   "/v2/apis/{apiId}/routes",
   785  	}
   786  
   787  	if input == nil {
   788  		input = &CreateRouteInput{}
   789  	}
   790  
   791  	output = &CreateRouteOutput{}
   792  	req = c.newRequest(op, input, output)
   793  	return
   794  }
   795  
   796  // CreateRoute API operation for AmazonApiGatewayV2.
   797  //
   798  // Creates a Route for an API.
   799  //
   800  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   801  // with awserr.Error's Code and Message methods to get detailed information about
   802  // the error.
   803  //
   804  // See the AWS API reference guide for AmazonApiGatewayV2's
   805  // API operation CreateRoute for usage and error information.
   806  //
   807  // Returned Error Types:
   808  //   * NotFoundException
   809  //   The resource specified in the request was not found. See the message field
   810  //   for more information.
   811  //
   812  //   * TooManyRequestsException
   813  //   A limit has been exceeded. See the accompanying error message for details.
   814  //
   815  //   * BadRequestException
   816  //   The request is not valid, for example, the input is incomplete or incorrect.
   817  //   See the accompanying error message for details.
   818  //
   819  //   * ConflictException
   820  //   The requested operation would cause a conflict with the current state of
   821  //   a service resource associated with the request. Resolve the conflict before
   822  //   retrying this request. See the accompanying error message for details.
   823  //
   824  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRoute
   825  func (c *ApiGatewayV2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
   826  	req, out := c.CreateRouteRequest(input)
   827  	return out, req.Send()
   828  }
   829  
   830  // CreateRouteWithContext is the same as CreateRoute with the addition of
   831  // the ability to pass a context and additional request options.
   832  //
   833  // See CreateRoute for details on how to use this API operation.
   834  //
   835  // The context must be non-nil and will be used for request cancellation. If
   836  // the context is nil a panic will occur. In the future the SDK may create
   837  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   838  // for more information on using Contexts.
   839  func (c *ApiGatewayV2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
   840  	req, out := c.CreateRouteRequest(input)
   841  	req.SetContext(ctx)
   842  	req.ApplyOptions(opts...)
   843  	return out, req.Send()
   844  }
   845  
   846  const opCreateRouteResponse = "CreateRouteResponse"
   847  
   848  // CreateRouteResponseRequest generates a "aws/request.Request" representing the
   849  // client's request for the CreateRouteResponse operation. The "output" return
   850  // value will be populated with the request's response once the request completes
   851  // successfully.
   852  //
   853  // Use "Send" method on the returned Request to send the API call to the service.
   854  // the "output" return value is not valid until after Send returns without error.
   855  //
   856  // See CreateRouteResponse for more information on using the CreateRouteResponse
   857  // API call, and error handling.
   858  //
   859  // This method is useful when you want to inject custom logic or configuration
   860  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   861  //
   862  //
   863  //    // Example sending a request using the CreateRouteResponseRequest method.
   864  //    req, resp := client.CreateRouteResponseRequest(params)
   865  //
   866  //    err := req.Send()
   867  //    if err == nil { // resp is now filled
   868  //        fmt.Println(resp)
   869  //    }
   870  //
   871  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRouteResponse
   872  func (c *ApiGatewayV2) CreateRouteResponseRequest(input *CreateRouteResponseInput) (req *request.Request, output *CreateRouteResponseOutput) {
   873  	op := &request.Operation{
   874  		Name:       opCreateRouteResponse,
   875  		HTTPMethod: "POST",
   876  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses",
   877  	}
   878  
   879  	if input == nil {
   880  		input = &CreateRouteResponseInput{}
   881  	}
   882  
   883  	output = &CreateRouteResponseOutput{}
   884  	req = c.newRequest(op, input, output)
   885  	return
   886  }
   887  
   888  // CreateRouteResponse API operation for AmazonApiGatewayV2.
   889  //
   890  // Creates a RouteResponse for a Route.
   891  //
   892  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   893  // with awserr.Error's Code and Message methods to get detailed information about
   894  // the error.
   895  //
   896  // See the AWS API reference guide for AmazonApiGatewayV2's
   897  // API operation CreateRouteResponse for usage and error information.
   898  //
   899  // Returned Error Types:
   900  //   * NotFoundException
   901  //   The resource specified in the request was not found. See the message field
   902  //   for more information.
   903  //
   904  //   * TooManyRequestsException
   905  //   A limit has been exceeded. See the accompanying error message for details.
   906  //
   907  //   * BadRequestException
   908  //   The request is not valid, for example, the input is incomplete or incorrect.
   909  //   See the accompanying error message for details.
   910  //
   911  //   * ConflictException
   912  //   The requested operation would cause a conflict with the current state of
   913  //   a service resource associated with the request. Resolve the conflict before
   914  //   retrying this request. See the accompanying error message for details.
   915  //
   916  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRouteResponse
   917  func (c *ApiGatewayV2) CreateRouteResponse(input *CreateRouteResponseInput) (*CreateRouteResponseOutput, error) {
   918  	req, out := c.CreateRouteResponseRequest(input)
   919  	return out, req.Send()
   920  }
   921  
   922  // CreateRouteResponseWithContext is the same as CreateRouteResponse with the addition of
   923  // the ability to pass a context and additional request options.
   924  //
   925  // See CreateRouteResponse for details on how to use this API operation.
   926  //
   927  // The context must be non-nil and will be used for request cancellation. If
   928  // the context is nil a panic will occur. In the future the SDK may create
   929  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   930  // for more information on using Contexts.
   931  func (c *ApiGatewayV2) CreateRouteResponseWithContext(ctx aws.Context, input *CreateRouteResponseInput, opts ...request.Option) (*CreateRouteResponseOutput, error) {
   932  	req, out := c.CreateRouteResponseRequest(input)
   933  	req.SetContext(ctx)
   934  	req.ApplyOptions(opts...)
   935  	return out, req.Send()
   936  }
   937  
   938  const opCreateStage = "CreateStage"
   939  
   940  // CreateStageRequest generates a "aws/request.Request" representing the
   941  // client's request for the CreateStage operation. The "output" return
   942  // value will be populated with the request's response once the request completes
   943  // successfully.
   944  //
   945  // Use "Send" method on the returned Request to send the API call to the service.
   946  // the "output" return value is not valid until after Send returns without error.
   947  //
   948  // See CreateStage for more information on using the CreateStage
   949  // API call, and error handling.
   950  //
   951  // This method is useful when you want to inject custom logic or configuration
   952  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   953  //
   954  //
   955  //    // Example sending a request using the CreateStageRequest method.
   956  //    req, resp := client.CreateStageRequest(params)
   957  //
   958  //    err := req.Send()
   959  //    if err == nil { // resp is now filled
   960  //        fmt.Println(resp)
   961  //    }
   962  //
   963  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateStage
   964  func (c *ApiGatewayV2) CreateStageRequest(input *CreateStageInput) (req *request.Request, output *CreateStageOutput) {
   965  	op := &request.Operation{
   966  		Name:       opCreateStage,
   967  		HTTPMethod: "POST",
   968  		HTTPPath:   "/v2/apis/{apiId}/stages",
   969  	}
   970  
   971  	if input == nil {
   972  		input = &CreateStageInput{}
   973  	}
   974  
   975  	output = &CreateStageOutput{}
   976  	req = c.newRequest(op, input, output)
   977  	return
   978  }
   979  
   980  // CreateStage API operation for AmazonApiGatewayV2.
   981  //
   982  // Creates a Stage for an API.
   983  //
   984  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   985  // with awserr.Error's Code and Message methods to get detailed information about
   986  // the error.
   987  //
   988  // See the AWS API reference guide for AmazonApiGatewayV2's
   989  // API operation CreateStage for usage and error information.
   990  //
   991  // Returned Error Types:
   992  //   * NotFoundException
   993  //   The resource specified in the request was not found. See the message field
   994  //   for more information.
   995  //
   996  //   * TooManyRequestsException
   997  //   A limit has been exceeded. See the accompanying error message for details.
   998  //
   999  //   * BadRequestException
  1000  //   The request is not valid, for example, the input is incomplete or incorrect.
  1001  //   See the accompanying error message for details.
  1002  //
  1003  //   * ConflictException
  1004  //   The requested operation would cause a conflict with the current state of
  1005  //   a service resource associated with the request. Resolve the conflict before
  1006  //   retrying this request. See the accompanying error message for details.
  1007  //
  1008  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateStage
  1009  func (c *ApiGatewayV2) CreateStage(input *CreateStageInput) (*CreateStageOutput, error) {
  1010  	req, out := c.CreateStageRequest(input)
  1011  	return out, req.Send()
  1012  }
  1013  
  1014  // CreateStageWithContext is the same as CreateStage with the addition of
  1015  // the ability to pass a context and additional request options.
  1016  //
  1017  // See CreateStage for details on how to use this API operation.
  1018  //
  1019  // The context must be non-nil and will be used for request cancellation. If
  1020  // the context is nil a panic will occur. In the future the SDK may create
  1021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1022  // for more information on using Contexts.
  1023  func (c *ApiGatewayV2) CreateStageWithContext(ctx aws.Context, input *CreateStageInput, opts ...request.Option) (*CreateStageOutput, error) {
  1024  	req, out := c.CreateStageRequest(input)
  1025  	req.SetContext(ctx)
  1026  	req.ApplyOptions(opts...)
  1027  	return out, req.Send()
  1028  }
  1029  
  1030  const opCreateVpcLink = "CreateVpcLink"
  1031  
  1032  // CreateVpcLinkRequest generates a "aws/request.Request" representing the
  1033  // client's request for the CreateVpcLink operation. The "output" return
  1034  // value will be populated with the request's response once the request completes
  1035  // successfully.
  1036  //
  1037  // Use "Send" method on the returned Request to send the API call to the service.
  1038  // the "output" return value is not valid until after Send returns without error.
  1039  //
  1040  // See CreateVpcLink for more information on using the CreateVpcLink
  1041  // API call, and error handling.
  1042  //
  1043  // This method is useful when you want to inject custom logic or configuration
  1044  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1045  //
  1046  //
  1047  //    // Example sending a request using the CreateVpcLinkRequest method.
  1048  //    req, resp := client.CreateVpcLinkRequest(params)
  1049  //
  1050  //    err := req.Send()
  1051  //    if err == nil { // resp is now filled
  1052  //        fmt.Println(resp)
  1053  //    }
  1054  //
  1055  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateVpcLink
  1056  func (c *ApiGatewayV2) CreateVpcLinkRequest(input *CreateVpcLinkInput) (req *request.Request, output *CreateVpcLinkOutput) {
  1057  	op := &request.Operation{
  1058  		Name:       opCreateVpcLink,
  1059  		HTTPMethod: "POST",
  1060  		HTTPPath:   "/v2/vpclinks",
  1061  	}
  1062  
  1063  	if input == nil {
  1064  		input = &CreateVpcLinkInput{}
  1065  	}
  1066  
  1067  	output = &CreateVpcLinkOutput{}
  1068  	req = c.newRequest(op, input, output)
  1069  	return
  1070  }
  1071  
  1072  // CreateVpcLink API operation for AmazonApiGatewayV2.
  1073  //
  1074  // Creates a VPC link.
  1075  //
  1076  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1077  // with awserr.Error's Code and Message methods to get detailed information about
  1078  // the error.
  1079  //
  1080  // See the AWS API reference guide for AmazonApiGatewayV2's
  1081  // API operation CreateVpcLink for usage and error information.
  1082  //
  1083  // Returned Error Types:
  1084  //   * BadRequestException
  1085  //   The request is not valid, for example, the input is incomplete or incorrect.
  1086  //   See the accompanying error message for details.
  1087  //
  1088  //   * TooManyRequestsException
  1089  //   A limit has been exceeded. See the accompanying error message for details.
  1090  //
  1091  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateVpcLink
  1092  func (c *ApiGatewayV2) CreateVpcLink(input *CreateVpcLinkInput) (*CreateVpcLinkOutput, error) {
  1093  	req, out := c.CreateVpcLinkRequest(input)
  1094  	return out, req.Send()
  1095  }
  1096  
  1097  // CreateVpcLinkWithContext is the same as CreateVpcLink with the addition of
  1098  // the ability to pass a context and additional request options.
  1099  //
  1100  // See CreateVpcLink for details on how to use this API operation.
  1101  //
  1102  // The context must be non-nil and will be used for request cancellation. If
  1103  // the context is nil a panic will occur. In the future the SDK may create
  1104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1105  // for more information on using Contexts.
  1106  func (c *ApiGatewayV2) CreateVpcLinkWithContext(ctx aws.Context, input *CreateVpcLinkInput, opts ...request.Option) (*CreateVpcLinkOutput, error) {
  1107  	req, out := c.CreateVpcLinkRequest(input)
  1108  	req.SetContext(ctx)
  1109  	req.ApplyOptions(opts...)
  1110  	return out, req.Send()
  1111  }
  1112  
  1113  const opDeleteAccessLogSettings = "DeleteAccessLogSettings"
  1114  
  1115  // DeleteAccessLogSettingsRequest generates a "aws/request.Request" representing the
  1116  // client's request for the DeleteAccessLogSettings operation. The "output" return
  1117  // value will be populated with the request's response once the request completes
  1118  // successfully.
  1119  //
  1120  // Use "Send" method on the returned Request to send the API call to the service.
  1121  // the "output" return value is not valid until after Send returns without error.
  1122  //
  1123  // See DeleteAccessLogSettings for more information on using the DeleteAccessLogSettings
  1124  // API call, and error handling.
  1125  //
  1126  // This method is useful when you want to inject custom logic or configuration
  1127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1128  //
  1129  //
  1130  //    // Example sending a request using the DeleteAccessLogSettingsRequest method.
  1131  //    req, resp := client.DeleteAccessLogSettingsRequest(params)
  1132  //
  1133  //    err := req.Send()
  1134  //    if err == nil { // resp is now filled
  1135  //        fmt.Println(resp)
  1136  //    }
  1137  //
  1138  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAccessLogSettings
  1139  func (c *ApiGatewayV2) DeleteAccessLogSettingsRequest(input *DeleteAccessLogSettingsInput) (req *request.Request, output *DeleteAccessLogSettingsOutput) {
  1140  	op := &request.Operation{
  1141  		Name:       opDeleteAccessLogSettings,
  1142  		HTTPMethod: "DELETE",
  1143  		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}/accesslogsettings",
  1144  	}
  1145  
  1146  	if input == nil {
  1147  		input = &DeleteAccessLogSettingsInput{}
  1148  	}
  1149  
  1150  	output = &DeleteAccessLogSettingsOutput{}
  1151  	req = c.newRequest(op, input, output)
  1152  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1153  	return
  1154  }
  1155  
  1156  // DeleteAccessLogSettings API operation for AmazonApiGatewayV2.
  1157  //
  1158  // Deletes the AccessLogSettings for a Stage. To disable access logging for
  1159  // a Stage, delete its AccessLogSettings.
  1160  //
  1161  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1162  // with awserr.Error's Code and Message methods to get detailed information about
  1163  // the error.
  1164  //
  1165  // See the AWS API reference guide for AmazonApiGatewayV2's
  1166  // API operation DeleteAccessLogSettings for usage and error information.
  1167  //
  1168  // Returned Error Types:
  1169  //   * NotFoundException
  1170  //   The resource specified in the request was not found. See the message field
  1171  //   for more information.
  1172  //
  1173  //   * TooManyRequestsException
  1174  //   A limit has been exceeded. See the accompanying error message for details.
  1175  //
  1176  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAccessLogSettings
  1177  func (c *ApiGatewayV2) DeleteAccessLogSettings(input *DeleteAccessLogSettingsInput) (*DeleteAccessLogSettingsOutput, error) {
  1178  	req, out := c.DeleteAccessLogSettingsRequest(input)
  1179  	return out, req.Send()
  1180  }
  1181  
  1182  // DeleteAccessLogSettingsWithContext is the same as DeleteAccessLogSettings with the addition of
  1183  // the ability to pass a context and additional request options.
  1184  //
  1185  // See DeleteAccessLogSettings for details on how to use this API operation.
  1186  //
  1187  // The context must be non-nil and will be used for request cancellation. If
  1188  // the context is nil a panic will occur. In the future the SDK may create
  1189  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1190  // for more information on using Contexts.
  1191  func (c *ApiGatewayV2) DeleteAccessLogSettingsWithContext(ctx aws.Context, input *DeleteAccessLogSettingsInput, opts ...request.Option) (*DeleteAccessLogSettingsOutput, error) {
  1192  	req, out := c.DeleteAccessLogSettingsRequest(input)
  1193  	req.SetContext(ctx)
  1194  	req.ApplyOptions(opts...)
  1195  	return out, req.Send()
  1196  }
  1197  
  1198  const opDeleteApi = "DeleteApi"
  1199  
  1200  // DeleteApiRequest generates a "aws/request.Request" representing the
  1201  // client's request for the DeleteApi operation. The "output" return
  1202  // value will be populated with the request's response once the request completes
  1203  // successfully.
  1204  //
  1205  // Use "Send" method on the returned Request to send the API call to the service.
  1206  // the "output" return value is not valid until after Send returns without error.
  1207  //
  1208  // See DeleteApi for more information on using the DeleteApi
  1209  // API call, and error handling.
  1210  //
  1211  // This method is useful when you want to inject custom logic or configuration
  1212  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1213  //
  1214  //
  1215  //    // Example sending a request using the DeleteApiRequest method.
  1216  //    req, resp := client.DeleteApiRequest(params)
  1217  //
  1218  //    err := req.Send()
  1219  //    if err == nil { // resp is now filled
  1220  //        fmt.Println(resp)
  1221  //    }
  1222  //
  1223  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApi
  1224  func (c *ApiGatewayV2) DeleteApiRequest(input *DeleteApiInput) (req *request.Request, output *DeleteApiOutput) {
  1225  	op := &request.Operation{
  1226  		Name:       opDeleteApi,
  1227  		HTTPMethod: "DELETE",
  1228  		HTTPPath:   "/v2/apis/{apiId}",
  1229  	}
  1230  
  1231  	if input == nil {
  1232  		input = &DeleteApiInput{}
  1233  	}
  1234  
  1235  	output = &DeleteApiOutput{}
  1236  	req = c.newRequest(op, input, output)
  1237  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1238  	return
  1239  }
  1240  
  1241  // DeleteApi API operation for AmazonApiGatewayV2.
  1242  //
  1243  // Deletes an Api resource.
  1244  //
  1245  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1246  // with awserr.Error's Code and Message methods to get detailed information about
  1247  // the error.
  1248  //
  1249  // See the AWS API reference guide for AmazonApiGatewayV2's
  1250  // API operation DeleteApi for usage and error information.
  1251  //
  1252  // Returned Error Types:
  1253  //   * NotFoundException
  1254  //   The resource specified in the request was not found. See the message field
  1255  //   for more information.
  1256  //
  1257  //   * TooManyRequestsException
  1258  //   A limit has been exceeded. See the accompanying error message for details.
  1259  //
  1260  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApi
  1261  func (c *ApiGatewayV2) DeleteApi(input *DeleteApiInput) (*DeleteApiOutput, error) {
  1262  	req, out := c.DeleteApiRequest(input)
  1263  	return out, req.Send()
  1264  }
  1265  
  1266  // DeleteApiWithContext is the same as DeleteApi with the addition of
  1267  // the ability to pass a context and additional request options.
  1268  //
  1269  // See DeleteApi for details on how to use this API operation.
  1270  //
  1271  // The context must be non-nil and will be used for request cancellation. If
  1272  // the context is nil a panic will occur. In the future the SDK may create
  1273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1274  // for more information on using Contexts.
  1275  func (c *ApiGatewayV2) DeleteApiWithContext(ctx aws.Context, input *DeleteApiInput, opts ...request.Option) (*DeleteApiOutput, error) {
  1276  	req, out := c.DeleteApiRequest(input)
  1277  	req.SetContext(ctx)
  1278  	req.ApplyOptions(opts...)
  1279  	return out, req.Send()
  1280  }
  1281  
  1282  const opDeleteApiMapping = "DeleteApiMapping"
  1283  
  1284  // DeleteApiMappingRequest generates a "aws/request.Request" representing the
  1285  // client's request for the DeleteApiMapping operation. The "output" return
  1286  // value will be populated with the request's response once the request completes
  1287  // successfully.
  1288  //
  1289  // Use "Send" method on the returned Request to send the API call to the service.
  1290  // the "output" return value is not valid until after Send returns without error.
  1291  //
  1292  // See DeleteApiMapping for more information on using the DeleteApiMapping
  1293  // API call, and error handling.
  1294  //
  1295  // This method is useful when you want to inject custom logic or configuration
  1296  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1297  //
  1298  //
  1299  //    // Example sending a request using the DeleteApiMappingRequest method.
  1300  //    req, resp := client.DeleteApiMappingRequest(params)
  1301  //
  1302  //    err := req.Send()
  1303  //    if err == nil { // resp is now filled
  1304  //        fmt.Println(resp)
  1305  //    }
  1306  //
  1307  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApiMapping
  1308  func (c *ApiGatewayV2) DeleteApiMappingRequest(input *DeleteApiMappingInput) (req *request.Request, output *DeleteApiMappingOutput) {
  1309  	op := &request.Operation{
  1310  		Name:       opDeleteApiMapping,
  1311  		HTTPMethod: "DELETE",
  1312  		HTTPPath:   "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
  1313  	}
  1314  
  1315  	if input == nil {
  1316  		input = &DeleteApiMappingInput{}
  1317  	}
  1318  
  1319  	output = &DeleteApiMappingOutput{}
  1320  	req = c.newRequest(op, input, output)
  1321  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1322  	return
  1323  }
  1324  
  1325  // DeleteApiMapping API operation for AmazonApiGatewayV2.
  1326  //
  1327  // Deletes an API mapping.
  1328  //
  1329  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1330  // with awserr.Error's Code and Message methods to get detailed information about
  1331  // the error.
  1332  //
  1333  // See the AWS API reference guide for AmazonApiGatewayV2's
  1334  // API operation DeleteApiMapping for usage and error information.
  1335  //
  1336  // Returned Error Types:
  1337  //   * NotFoundException
  1338  //   The resource specified in the request was not found. See the message field
  1339  //   for more information.
  1340  //
  1341  //   * TooManyRequestsException
  1342  //   A limit has been exceeded. See the accompanying error message for details.
  1343  //
  1344  //   * BadRequestException
  1345  //   The request is not valid, for example, the input is incomplete or incorrect.
  1346  //   See the accompanying error message for details.
  1347  //
  1348  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteApiMapping
  1349  func (c *ApiGatewayV2) DeleteApiMapping(input *DeleteApiMappingInput) (*DeleteApiMappingOutput, error) {
  1350  	req, out := c.DeleteApiMappingRequest(input)
  1351  	return out, req.Send()
  1352  }
  1353  
  1354  // DeleteApiMappingWithContext is the same as DeleteApiMapping with the addition of
  1355  // the ability to pass a context and additional request options.
  1356  //
  1357  // See DeleteApiMapping for details on how to use this API operation.
  1358  //
  1359  // The context must be non-nil and will be used for request cancellation. If
  1360  // the context is nil a panic will occur. In the future the SDK may create
  1361  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1362  // for more information on using Contexts.
  1363  func (c *ApiGatewayV2) DeleteApiMappingWithContext(ctx aws.Context, input *DeleteApiMappingInput, opts ...request.Option) (*DeleteApiMappingOutput, error) {
  1364  	req, out := c.DeleteApiMappingRequest(input)
  1365  	req.SetContext(ctx)
  1366  	req.ApplyOptions(opts...)
  1367  	return out, req.Send()
  1368  }
  1369  
  1370  const opDeleteAuthorizer = "DeleteAuthorizer"
  1371  
  1372  // DeleteAuthorizerRequest generates a "aws/request.Request" representing the
  1373  // client's request for the DeleteAuthorizer operation. The "output" return
  1374  // value will be populated with the request's response once the request completes
  1375  // successfully.
  1376  //
  1377  // Use "Send" method on the returned Request to send the API call to the service.
  1378  // the "output" return value is not valid until after Send returns without error.
  1379  //
  1380  // See DeleteAuthorizer for more information on using the DeleteAuthorizer
  1381  // API call, and error handling.
  1382  //
  1383  // This method is useful when you want to inject custom logic or configuration
  1384  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1385  //
  1386  //
  1387  //    // Example sending a request using the DeleteAuthorizerRequest method.
  1388  //    req, resp := client.DeleteAuthorizerRequest(params)
  1389  //
  1390  //    err := req.Send()
  1391  //    if err == nil { // resp is now filled
  1392  //        fmt.Println(resp)
  1393  //    }
  1394  //
  1395  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAuthorizer
  1396  func (c *ApiGatewayV2) DeleteAuthorizerRequest(input *DeleteAuthorizerInput) (req *request.Request, output *DeleteAuthorizerOutput) {
  1397  	op := &request.Operation{
  1398  		Name:       opDeleteAuthorizer,
  1399  		HTTPMethod: "DELETE",
  1400  		HTTPPath:   "/v2/apis/{apiId}/authorizers/{authorizerId}",
  1401  	}
  1402  
  1403  	if input == nil {
  1404  		input = &DeleteAuthorizerInput{}
  1405  	}
  1406  
  1407  	output = &DeleteAuthorizerOutput{}
  1408  	req = c.newRequest(op, input, output)
  1409  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1410  	return
  1411  }
  1412  
  1413  // DeleteAuthorizer API operation for AmazonApiGatewayV2.
  1414  //
  1415  // Deletes an Authorizer.
  1416  //
  1417  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1418  // with awserr.Error's Code and Message methods to get detailed information about
  1419  // the error.
  1420  //
  1421  // See the AWS API reference guide for AmazonApiGatewayV2's
  1422  // API operation DeleteAuthorizer for usage and error information.
  1423  //
  1424  // Returned Error Types:
  1425  //   * NotFoundException
  1426  //   The resource specified in the request was not found. See the message field
  1427  //   for more information.
  1428  //
  1429  //   * TooManyRequestsException
  1430  //   A limit has been exceeded. See the accompanying error message for details.
  1431  //
  1432  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteAuthorizer
  1433  func (c *ApiGatewayV2) DeleteAuthorizer(input *DeleteAuthorizerInput) (*DeleteAuthorizerOutput, error) {
  1434  	req, out := c.DeleteAuthorizerRequest(input)
  1435  	return out, req.Send()
  1436  }
  1437  
  1438  // DeleteAuthorizerWithContext is the same as DeleteAuthorizer with the addition of
  1439  // the ability to pass a context and additional request options.
  1440  //
  1441  // See DeleteAuthorizer for details on how to use this API operation.
  1442  //
  1443  // The context must be non-nil and will be used for request cancellation. If
  1444  // the context is nil a panic will occur. In the future the SDK may create
  1445  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1446  // for more information on using Contexts.
  1447  func (c *ApiGatewayV2) DeleteAuthorizerWithContext(ctx aws.Context, input *DeleteAuthorizerInput, opts ...request.Option) (*DeleteAuthorizerOutput, error) {
  1448  	req, out := c.DeleteAuthorizerRequest(input)
  1449  	req.SetContext(ctx)
  1450  	req.ApplyOptions(opts...)
  1451  	return out, req.Send()
  1452  }
  1453  
  1454  const opDeleteCorsConfiguration = "DeleteCorsConfiguration"
  1455  
  1456  // DeleteCorsConfigurationRequest generates a "aws/request.Request" representing the
  1457  // client's request for the DeleteCorsConfiguration operation. The "output" return
  1458  // value will be populated with the request's response once the request completes
  1459  // successfully.
  1460  //
  1461  // Use "Send" method on the returned Request to send the API call to the service.
  1462  // the "output" return value is not valid until after Send returns without error.
  1463  //
  1464  // See DeleteCorsConfiguration for more information on using the DeleteCorsConfiguration
  1465  // API call, and error handling.
  1466  //
  1467  // This method is useful when you want to inject custom logic or configuration
  1468  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1469  //
  1470  //
  1471  //    // Example sending a request using the DeleteCorsConfigurationRequest method.
  1472  //    req, resp := client.DeleteCorsConfigurationRequest(params)
  1473  //
  1474  //    err := req.Send()
  1475  //    if err == nil { // resp is now filled
  1476  //        fmt.Println(resp)
  1477  //    }
  1478  //
  1479  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteCorsConfiguration
  1480  func (c *ApiGatewayV2) DeleteCorsConfigurationRequest(input *DeleteCorsConfigurationInput) (req *request.Request, output *DeleteCorsConfigurationOutput) {
  1481  	op := &request.Operation{
  1482  		Name:       opDeleteCorsConfiguration,
  1483  		HTTPMethod: "DELETE",
  1484  		HTTPPath:   "/v2/apis/{apiId}/cors",
  1485  	}
  1486  
  1487  	if input == nil {
  1488  		input = &DeleteCorsConfigurationInput{}
  1489  	}
  1490  
  1491  	output = &DeleteCorsConfigurationOutput{}
  1492  	req = c.newRequest(op, input, output)
  1493  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1494  	return
  1495  }
  1496  
  1497  // DeleteCorsConfiguration API operation for AmazonApiGatewayV2.
  1498  //
  1499  // Deletes a CORS configuration.
  1500  //
  1501  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1502  // with awserr.Error's Code and Message methods to get detailed information about
  1503  // the error.
  1504  //
  1505  // See the AWS API reference guide for AmazonApiGatewayV2's
  1506  // API operation DeleteCorsConfiguration for usage and error information.
  1507  //
  1508  // Returned Error Types:
  1509  //   * NotFoundException
  1510  //   The resource specified in the request was not found. See the message field
  1511  //   for more information.
  1512  //
  1513  //   * TooManyRequestsException
  1514  //   A limit has been exceeded. See the accompanying error message for details.
  1515  //
  1516  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteCorsConfiguration
  1517  func (c *ApiGatewayV2) DeleteCorsConfiguration(input *DeleteCorsConfigurationInput) (*DeleteCorsConfigurationOutput, error) {
  1518  	req, out := c.DeleteCorsConfigurationRequest(input)
  1519  	return out, req.Send()
  1520  }
  1521  
  1522  // DeleteCorsConfigurationWithContext is the same as DeleteCorsConfiguration with the addition of
  1523  // the ability to pass a context and additional request options.
  1524  //
  1525  // See DeleteCorsConfiguration for details on how to use this API operation.
  1526  //
  1527  // The context must be non-nil and will be used for request cancellation. If
  1528  // the context is nil a panic will occur. In the future the SDK may create
  1529  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1530  // for more information on using Contexts.
  1531  func (c *ApiGatewayV2) DeleteCorsConfigurationWithContext(ctx aws.Context, input *DeleteCorsConfigurationInput, opts ...request.Option) (*DeleteCorsConfigurationOutput, error) {
  1532  	req, out := c.DeleteCorsConfigurationRequest(input)
  1533  	req.SetContext(ctx)
  1534  	req.ApplyOptions(opts...)
  1535  	return out, req.Send()
  1536  }
  1537  
  1538  const opDeleteDeployment = "DeleteDeployment"
  1539  
  1540  // DeleteDeploymentRequest generates a "aws/request.Request" representing the
  1541  // client's request for the DeleteDeployment operation. The "output" return
  1542  // value will be populated with the request's response once the request completes
  1543  // successfully.
  1544  //
  1545  // Use "Send" method on the returned Request to send the API call to the service.
  1546  // the "output" return value is not valid until after Send returns without error.
  1547  //
  1548  // See DeleteDeployment for more information on using the DeleteDeployment
  1549  // API call, and error handling.
  1550  //
  1551  // This method is useful when you want to inject custom logic or configuration
  1552  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1553  //
  1554  //
  1555  //    // Example sending a request using the DeleteDeploymentRequest method.
  1556  //    req, resp := client.DeleteDeploymentRequest(params)
  1557  //
  1558  //    err := req.Send()
  1559  //    if err == nil { // resp is now filled
  1560  //        fmt.Println(resp)
  1561  //    }
  1562  //
  1563  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDeployment
  1564  func (c *ApiGatewayV2) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) {
  1565  	op := &request.Operation{
  1566  		Name:       opDeleteDeployment,
  1567  		HTTPMethod: "DELETE",
  1568  		HTTPPath:   "/v2/apis/{apiId}/deployments/{deploymentId}",
  1569  	}
  1570  
  1571  	if input == nil {
  1572  		input = &DeleteDeploymentInput{}
  1573  	}
  1574  
  1575  	output = &DeleteDeploymentOutput{}
  1576  	req = c.newRequest(op, input, output)
  1577  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1578  	return
  1579  }
  1580  
  1581  // DeleteDeployment API operation for AmazonApiGatewayV2.
  1582  //
  1583  // Deletes a Deployment.
  1584  //
  1585  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1586  // with awserr.Error's Code and Message methods to get detailed information about
  1587  // the error.
  1588  //
  1589  // See the AWS API reference guide for AmazonApiGatewayV2's
  1590  // API operation DeleteDeployment for usage and error information.
  1591  //
  1592  // Returned Error Types:
  1593  //   * NotFoundException
  1594  //   The resource specified in the request was not found. See the message field
  1595  //   for more information.
  1596  //
  1597  //   * TooManyRequestsException
  1598  //   A limit has been exceeded. See the accompanying error message for details.
  1599  //
  1600  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDeployment
  1601  func (c *ApiGatewayV2) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) {
  1602  	req, out := c.DeleteDeploymentRequest(input)
  1603  	return out, req.Send()
  1604  }
  1605  
  1606  // DeleteDeploymentWithContext is the same as DeleteDeployment with the addition of
  1607  // the ability to pass a context and additional request options.
  1608  //
  1609  // See DeleteDeployment for details on how to use this API operation.
  1610  //
  1611  // The context must be non-nil and will be used for request cancellation. If
  1612  // the context is nil a panic will occur. In the future the SDK may create
  1613  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1614  // for more information on using Contexts.
  1615  func (c *ApiGatewayV2) DeleteDeploymentWithContext(ctx aws.Context, input *DeleteDeploymentInput, opts ...request.Option) (*DeleteDeploymentOutput, error) {
  1616  	req, out := c.DeleteDeploymentRequest(input)
  1617  	req.SetContext(ctx)
  1618  	req.ApplyOptions(opts...)
  1619  	return out, req.Send()
  1620  }
  1621  
  1622  const opDeleteDomainName = "DeleteDomainName"
  1623  
  1624  // DeleteDomainNameRequest generates a "aws/request.Request" representing the
  1625  // client's request for the DeleteDomainName operation. The "output" return
  1626  // value will be populated with the request's response once the request completes
  1627  // successfully.
  1628  //
  1629  // Use "Send" method on the returned Request to send the API call to the service.
  1630  // the "output" return value is not valid until after Send returns without error.
  1631  //
  1632  // See DeleteDomainName for more information on using the DeleteDomainName
  1633  // API call, and error handling.
  1634  //
  1635  // This method is useful when you want to inject custom logic or configuration
  1636  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1637  //
  1638  //
  1639  //    // Example sending a request using the DeleteDomainNameRequest method.
  1640  //    req, resp := client.DeleteDomainNameRequest(params)
  1641  //
  1642  //    err := req.Send()
  1643  //    if err == nil { // resp is now filled
  1644  //        fmt.Println(resp)
  1645  //    }
  1646  //
  1647  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDomainName
  1648  func (c *ApiGatewayV2) DeleteDomainNameRequest(input *DeleteDomainNameInput) (req *request.Request, output *DeleteDomainNameOutput) {
  1649  	op := &request.Operation{
  1650  		Name:       opDeleteDomainName,
  1651  		HTTPMethod: "DELETE",
  1652  		HTTPPath:   "/v2/domainnames/{domainName}",
  1653  	}
  1654  
  1655  	if input == nil {
  1656  		input = &DeleteDomainNameInput{}
  1657  	}
  1658  
  1659  	output = &DeleteDomainNameOutput{}
  1660  	req = c.newRequest(op, input, output)
  1661  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1662  	return
  1663  }
  1664  
  1665  // DeleteDomainName API operation for AmazonApiGatewayV2.
  1666  //
  1667  // Deletes a domain name.
  1668  //
  1669  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1670  // with awserr.Error's Code and Message methods to get detailed information about
  1671  // the error.
  1672  //
  1673  // See the AWS API reference guide for AmazonApiGatewayV2's
  1674  // API operation DeleteDomainName for usage and error information.
  1675  //
  1676  // Returned Error Types:
  1677  //   * NotFoundException
  1678  //   The resource specified in the request was not found. See the message field
  1679  //   for more information.
  1680  //
  1681  //   * TooManyRequestsException
  1682  //   A limit has been exceeded. See the accompanying error message for details.
  1683  //
  1684  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteDomainName
  1685  func (c *ApiGatewayV2) DeleteDomainName(input *DeleteDomainNameInput) (*DeleteDomainNameOutput, error) {
  1686  	req, out := c.DeleteDomainNameRequest(input)
  1687  	return out, req.Send()
  1688  }
  1689  
  1690  // DeleteDomainNameWithContext is the same as DeleteDomainName with the addition of
  1691  // the ability to pass a context and additional request options.
  1692  //
  1693  // See DeleteDomainName for details on how to use this API operation.
  1694  //
  1695  // The context must be non-nil and will be used for request cancellation. If
  1696  // the context is nil a panic will occur. In the future the SDK may create
  1697  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1698  // for more information on using Contexts.
  1699  func (c *ApiGatewayV2) DeleteDomainNameWithContext(ctx aws.Context, input *DeleteDomainNameInput, opts ...request.Option) (*DeleteDomainNameOutput, error) {
  1700  	req, out := c.DeleteDomainNameRequest(input)
  1701  	req.SetContext(ctx)
  1702  	req.ApplyOptions(opts...)
  1703  	return out, req.Send()
  1704  }
  1705  
  1706  const opDeleteIntegration = "DeleteIntegration"
  1707  
  1708  // DeleteIntegrationRequest generates a "aws/request.Request" representing the
  1709  // client's request for the DeleteIntegration operation. The "output" return
  1710  // value will be populated with the request's response once the request completes
  1711  // successfully.
  1712  //
  1713  // Use "Send" method on the returned Request to send the API call to the service.
  1714  // the "output" return value is not valid until after Send returns without error.
  1715  //
  1716  // See DeleteIntegration for more information on using the DeleteIntegration
  1717  // API call, and error handling.
  1718  //
  1719  // This method is useful when you want to inject custom logic or configuration
  1720  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1721  //
  1722  //
  1723  //    // Example sending a request using the DeleteIntegrationRequest method.
  1724  //    req, resp := client.DeleteIntegrationRequest(params)
  1725  //
  1726  //    err := req.Send()
  1727  //    if err == nil { // resp is now filled
  1728  //        fmt.Println(resp)
  1729  //    }
  1730  //
  1731  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegration
  1732  func (c *ApiGatewayV2) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) {
  1733  	op := &request.Operation{
  1734  		Name:       opDeleteIntegration,
  1735  		HTTPMethod: "DELETE",
  1736  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}",
  1737  	}
  1738  
  1739  	if input == nil {
  1740  		input = &DeleteIntegrationInput{}
  1741  	}
  1742  
  1743  	output = &DeleteIntegrationOutput{}
  1744  	req = c.newRequest(op, input, output)
  1745  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1746  	return
  1747  }
  1748  
  1749  // DeleteIntegration API operation for AmazonApiGatewayV2.
  1750  //
  1751  // Deletes an Integration.
  1752  //
  1753  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1754  // with awserr.Error's Code and Message methods to get detailed information about
  1755  // the error.
  1756  //
  1757  // See the AWS API reference guide for AmazonApiGatewayV2's
  1758  // API operation DeleteIntegration for usage and error information.
  1759  //
  1760  // Returned Error Types:
  1761  //   * NotFoundException
  1762  //   The resource specified in the request was not found. See the message field
  1763  //   for more information.
  1764  //
  1765  //   * TooManyRequestsException
  1766  //   A limit has been exceeded. See the accompanying error message for details.
  1767  //
  1768  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegration
  1769  func (c *ApiGatewayV2) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) {
  1770  	req, out := c.DeleteIntegrationRequest(input)
  1771  	return out, req.Send()
  1772  }
  1773  
  1774  // DeleteIntegrationWithContext is the same as DeleteIntegration with the addition of
  1775  // the ability to pass a context and additional request options.
  1776  //
  1777  // See DeleteIntegration for details on how to use this API operation.
  1778  //
  1779  // The context must be non-nil and will be used for request cancellation. If
  1780  // the context is nil a panic will occur. In the future the SDK may create
  1781  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1782  // for more information on using Contexts.
  1783  func (c *ApiGatewayV2) DeleteIntegrationWithContext(ctx aws.Context, input *DeleteIntegrationInput, opts ...request.Option) (*DeleteIntegrationOutput, error) {
  1784  	req, out := c.DeleteIntegrationRequest(input)
  1785  	req.SetContext(ctx)
  1786  	req.ApplyOptions(opts...)
  1787  	return out, req.Send()
  1788  }
  1789  
  1790  const opDeleteIntegrationResponse = "DeleteIntegrationResponse"
  1791  
  1792  // DeleteIntegrationResponseRequest generates a "aws/request.Request" representing the
  1793  // client's request for the DeleteIntegrationResponse operation. The "output" return
  1794  // value will be populated with the request's response once the request completes
  1795  // successfully.
  1796  //
  1797  // Use "Send" method on the returned Request to send the API call to the service.
  1798  // the "output" return value is not valid until after Send returns without error.
  1799  //
  1800  // See DeleteIntegrationResponse for more information on using the DeleteIntegrationResponse
  1801  // API call, and error handling.
  1802  //
  1803  // This method is useful when you want to inject custom logic or configuration
  1804  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1805  //
  1806  //
  1807  //    // Example sending a request using the DeleteIntegrationResponseRequest method.
  1808  //    req, resp := client.DeleteIntegrationResponseRequest(params)
  1809  //
  1810  //    err := req.Send()
  1811  //    if err == nil { // resp is now filled
  1812  //        fmt.Println(resp)
  1813  //    }
  1814  //
  1815  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegrationResponse
  1816  func (c *ApiGatewayV2) DeleteIntegrationResponseRequest(input *DeleteIntegrationResponseInput) (req *request.Request, output *DeleteIntegrationResponseOutput) {
  1817  	op := &request.Operation{
  1818  		Name:       opDeleteIntegrationResponse,
  1819  		HTTPMethod: "DELETE",
  1820  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
  1821  	}
  1822  
  1823  	if input == nil {
  1824  		input = &DeleteIntegrationResponseInput{}
  1825  	}
  1826  
  1827  	output = &DeleteIntegrationResponseOutput{}
  1828  	req = c.newRequest(op, input, output)
  1829  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1830  	return
  1831  }
  1832  
  1833  // DeleteIntegrationResponse API operation for AmazonApiGatewayV2.
  1834  //
  1835  // Deletes an IntegrationResponses.
  1836  //
  1837  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1838  // with awserr.Error's Code and Message methods to get detailed information about
  1839  // the error.
  1840  //
  1841  // See the AWS API reference guide for AmazonApiGatewayV2's
  1842  // API operation DeleteIntegrationResponse for usage and error information.
  1843  //
  1844  // Returned Error Types:
  1845  //   * NotFoundException
  1846  //   The resource specified in the request was not found. See the message field
  1847  //   for more information.
  1848  //
  1849  //   * TooManyRequestsException
  1850  //   A limit has been exceeded. See the accompanying error message for details.
  1851  //
  1852  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteIntegrationResponse
  1853  func (c *ApiGatewayV2) DeleteIntegrationResponse(input *DeleteIntegrationResponseInput) (*DeleteIntegrationResponseOutput, error) {
  1854  	req, out := c.DeleteIntegrationResponseRequest(input)
  1855  	return out, req.Send()
  1856  }
  1857  
  1858  // DeleteIntegrationResponseWithContext is the same as DeleteIntegrationResponse with the addition of
  1859  // the ability to pass a context and additional request options.
  1860  //
  1861  // See DeleteIntegrationResponse for details on how to use this API operation.
  1862  //
  1863  // The context must be non-nil and will be used for request cancellation. If
  1864  // the context is nil a panic will occur. In the future the SDK may create
  1865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1866  // for more information on using Contexts.
  1867  func (c *ApiGatewayV2) DeleteIntegrationResponseWithContext(ctx aws.Context, input *DeleteIntegrationResponseInput, opts ...request.Option) (*DeleteIntegrationResponseOutput, error) {
  1868  	req, out := c.DeleteIntegrationResponseRequest(input)
  1869  	req.SetContext(ctx)
  1870  	req.ApplyOptions(opts...)
  1871  	return out, req.Send()
  1872  }
  1873  
  1874  const opDeleteModel = "DeleteModel"
  1875  
  1876  // DeleteModelRequest generates a "aws/request.Request" representing the
  1877  // client's request for the DeleteModel operation. The "output" return
  1878  // value will be populated with the request's response once the request completes
  1879  // successfully.
  1880  //
  1881  // Use "Send" method on the returned Request to send the API call to the service.
  1882  // the "output" return value is not valid until after Send returns without error.
  1883  //
  1884  // See DeleteModel for more information on using the DeleteModel
  1885  // API call, and error handling.
  1886  //
  1887  // This method is useful when you want to inject custom logic or configuration
  1888  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1889  //
  1890  //
  1891  //    // Example sending a request using the DeleteModelRequest method.
  1892  //    req, resp := client.DeleteModelRequest(params)
  1893  //
  1894  //    err := req.Send()
  1895  //    if err == nil { // resp is now filled
  1896  //        fmt.Println(resp)
  1897  //    }
  1898  //
  1899  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteModel
  1900  func (c *ApiGatewayV2) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) {
  1901  	op := &request.Operation{
  1902  		Name:       opDeleteModel,
  1903  		HTTPMethod: "DELETE",
  1904  		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}",
  1905  	}
  1906  
  1907  	if input == nil {
  1908  		input = &DeleteModelInput{}
  1909  	}
  1910  
  1911  	output = &DeleteModelOutput{}
  1912  	req = c.newRequest(op, input, output)
  1913  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1914  	return
  1915  }
  1916  
  1917  // DeleteModel API operation for AmazonApiGatewayV2.
  1918  //
  1919  // Deletes a Model.
  1920  //
  1921  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1922  // with awserr.Error's Code and Message methods to get detailed information about
  1923  // the error.
  1924  //
  1925  // See the AWS API reference guide for AmazonApiGatewayV2's
  1926  // API operation DeleteModel for usage and error information.
  1927  //
  1928  // Returned Error Types:
  1929  //   * NotFoundException
  1930  //   The resource specified in the request was not found. See the message field
  1931  //   for more information.
  1932  //
  1933  //   * TooManyRequestsException
  1934  //   A limit has been exceeded. See the accompanying error message for details.
  1935  //
  1936  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteModel
  1937  func (c *ApiGatewayV2) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) {
  1938  	req, out := c.DeleteModelRequest(input)
  1939  	return out, req.Send()
  1940  }
  1941  
  1942  // DeleteModelWithContext is the same as DeleteModel with the addition of
  1943  // the ability to pass a context and additional request options.
  1944  //
  1945  // See DeleteModel for details on how to use this API operation.
  1946  //
  1947  // The context must be non-nil and will be used for request cancellation. If
  1948  // the context is nil a panic will occur. In the future the SDK may create
  1949  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1950  // for more information on using Contexts.
  1951  func (c *ApiGatewayV2) DeleteModelWithContext(ctx aws.Context, input *DeleteModelInput, opts ...request.Option) (*DeleteModelOutput, error) {
  1952  	req, out := c.DeleteModelRequest(input)
  1953  	req.SetContext(ctx)
  1954  	req.ApplyOptions(opts...)
  1955  	return out, req.Send()
  1956  }
  1957  
  1958  const opDeleteRoute = "DeleteRoute"
  1959  
  1960  // DeleteRouteRequest generates a "aws/request.Request" representing the
  1961  // client's request for the DeleteRoute operation. The "output" return
  1962  // value will be populated with the request's response once the request completes
  1963  // successfully.
  1964  //
  1965  // Use "Send" method on the returned Request to send the API call to the service.
  1966  // the "output" return value is not valid until after Send returns without error.
  1967  //
  1968  // See DeleteRoute for more information on using the DeleteRoute
  1969  // API call, and error handling.
  1970  //
  1971  // This method is useful when you want to inject custom logic or configuration
  1972  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1973  //
  1974  //
  1975  //    // Example sending a request using the DeleteRouteRequest method.
  1976  //    req, resp := client.DeleteRouteRequest(params)
  1977  //
  1978  //    err := req.Send()
  1979  //    if err == nil { // resp is now filled
  1980  //        fmt.Println(resp)
  1981  //    }
  1982  //
  1983  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRoute
  1984  func (c *ApiGatewayV2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  1985  	op := &request.Operation{
  1986  		Name:       opDeleteRoute,
  1987  		HTTPMethod: "DELETE",
  1988  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}",
  1989  	}
  1990  
  1991  	if input == nil {
  1992  		input = &DeleteRouteInput{}
  1993  	}
  1994  
  1995  	output = &DeleteRouteOutput{}
  1996  	req = c.newRequest(op, input, output)
  1997  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1998  	return
  1999  }
  2000  
  2001  // DeleteRoute API operation for AmazonApiGatewayV2.
  2002  //
  2003  // Deletes a Route.
  2004  //
  2005  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2006  // with awserr.Error's Code and Message methods to get detailed information about
  2007  // the error.
  2008  //
  2009  // See the AWS API reference guide for AmazonApiGatewayV2's
  2010  // API operation DeleteRoute for usage and error information.
  2011  //
  2012  // Returned Error Types:
  2013  //   * NotFoundException
  2014  //   The resource specified in the request was not found. See the message field
  2015  //   for more information.
  2016  //
  2017  //   * TooManyRequestsException
  2018  //   A limit has been exceeded. See the accompanying error message for details.
  2019  //
  2020  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRoute
  2021  func (c *ApiGatewayV2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  2022  	req, out := c.DeleteRouteRequest(input)
  2023  	return out, req.Send()
  2024  }
  2025  
  2026  // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  2027  // the ability to pass a context and additional request options.
  2028  //
  2029  // See DeleteRoute for details on how to use this API operation.
  2030  //
  2031  // The context must be non-nil and will be used for request cancellation. If
  2032  // the context is nil a panic will occur. In the future the SDK may create
  2033  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2034  // for more information on using Contexts.
  2035  func (c *ApiGatewayV2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  2036  	req, out := c.DeleteRouteRequest(input)
  2037  	req.SetContext(ctx)
  2038  	req.ApplyOptions(opts...)
  2039  	return out, req.Send()
  2040  }
  2041  
  2042  const opDeleteRouteRequestParameter = "DeleteRouteRequestParameter"
  2043  
  2044  // DeleteRouteRequestParameterRequest generates a "aws/request.Request" representing the
  2045  // client's request for the DeleteRouteRequestParameter operation. The "output" return
  2046  // value will be populated with the request's response once the request completes
  2047  // successfully.
  2048  //
  2049  // Use "Send" method on the returned Request to send the API call to the service.
  2050  // the "output" return value is not valid until after Send returns without error.
  2051  //
  2052  // See DeleteRouteRequestParameter for more information on using the DeleteRouteRequestParameter
  2053  // API call, and error handling.
  2054  //
  2055  // This method is useful when you want to inject custom logic or configuration
  2056  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2057  //
  2058  //
  2059  //    // Example sending a request using the DeleteRouteRequestParameterRequest method.
  2060  //    req, resp := client.DeleteRouteRequestParameterRequest(params)
  2061  //
  2062  //    err := req.Send()
  2063  //    if err == nil { // resp is now filled
  2064  //        fmt.Println(resp)
  2065  //    }
  2066  //
  2067  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteRequestParameter
  2068  func (c *ApiGatewayV2) DeleteRouteRequestParameterRequest(input *DeleteRouteRequestParameterInput) (req *request.Request, output *DeleteRouteRequestParameterOutput) {
  2069  	op := &request.Operation{
  2070  		Name:       opDeleteRouteRequestParameter,
  2071  		HTTPMethod: "DELETE",
  2072  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/requestparameters/{requestParameterKey}",
  2073  	}
  2074  
  2075  	if input == nil {
  2076  		input = &DeleteRouteRequestParameterInput{}
  2077  	}
  2078  
  2079  	output = &DeleteRouteRequestParameterOutput{}
  2080  	req = c.newRequest(op, input, output)
  2081  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2082  	return
  2083  }
  2084  
  2085  // DeleteRouteRequestParameter API operation for AmazonApiGatewayV2.
  2086  //
  2087  // Deletes a route request parameter.
  2088  //
  2089  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2090  // with awserr.Error's Code and Message methods to get detailed information about
  2091  // the error.
  2092  //
  2093  // See the AWS API reference guide for AmazonApiGatewayV2's
  2094  // API operation DeleteRouteRequestParameter for usage and error information.
  2095  //
  2096  // Returned Error Types:
  2097  //   * NotFoundException
  2098  //   The resource specified in the request was not found. See the message field
  2099  //   for more information.
  2100  //
  2101  //   * TooManyRequestsException
  2102  //   A limit has been exceeded. See the accompanying error message for details.
  2103  //
  2104  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteRequestParameter
  2105  func (c *ApiGatewayV2) DeleteRouteRequestParameter(input *DeleteRouteRequestParameterInput) (*DeleteRouteRequestParameterOutput, error) {
  2106  	req, out := c.DeleteRouteRequestParameterRequest(input)
  2107  	return out, req.Send()
  2108  }
  2109  
  2110  // DeleteRouteRequestParameterWithContext is the same as DeleteRouteRequestParameter with the addition of
  2111  // the ability to pass a context and additional request options.
  2112  //
  2113  // See DeleteRouteRequestParameter for details on how to use this API operation.
  2114  //
  2115  // The context must be non-nil and will be used for request cancellation. If
  2116  // the context is nil a panic will occur. In the future the SDK may create
  2117  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2118  // for more information on using Contexts.
  2119  func (c *ApiGatewayV2) DeleteRouteRequestParameterWithContext(ctx aws.Context, input *DeleteRouteRequestParameterInput, opts ...request.Option) (*DeleteRouteRequestParameterOutput, error) {
  2120  	req, out := c.DeleteRouteRequestParameterRequest(input)
  2121  	req.SetContext(ctx)
  2122  	req.ApplyOptions(opts...)
  2123  	return out, req.Send()
  2124  }
  2125  
  2126  const opDeleteRouteResponse = "DeleteRouteResponse"
  2127  
  2128  // DeleteRouteResponseRequest generates a "aws/request.Request" representing the
  2129  // client's request for the DeleteRouteResponse operation. The "output" return
  2130  // value will be populated with the request's response once the request completes
  2131  // successfully.
  2132  //
  2133  // Use "Send" method on the returned Request to send the API call to the service.
  2134  // the "output" return value is not valid until after Send returns without error.
  2135  //
  2136  // See DeleteRouteResponse for more information on using the DeleteRouteResponse
  2137  // API call, and error handling.
  2138  //
  2139  // This method is useful when you want to inject custom logic or configuration
  2140  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2141  //
  2142  //
  2143  //    // Example sending a request using the DeleteRouteResponseRequest method.
  2144  //    req, resp := client.DeleteRouteResponseRequest(params)
  2145  //
  2146  //    err := req.Send()
  2147  //    if err == nil { // resp is now filled
  2148  //        fmt.Println(resp)
  2149  //    }
  2150  //
  2151  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteResponse
  2152  func (c *ApiGatewayV2) DeleteRouteResponseRequest(input *DeleteRouteResponseInput) (req *request.Request, output *DeleteRouteResponseOutput) {
  2153  	op := &request.Operation{
  2154  		Name:       opDeleteRouteResponse,
  2155  		HTTPMethod: "DELETE",
  2156  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
  2157  	}
  2158  
  2159  	if input == nil {
  2160  		input = &DeleteRouteResponseInput{}
  2161  	}
  2162  
  2163  	output = &DeleteRouteResponseOutput{}
  2164  	req = c.newRequest(op, input, output)
  2165  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2166  	return
  2167  }
  2168  
  2169  // DeleteRouteResponse API operation for AmazonApiGatewayV2.
  2170  //
  2171  // Deletes a RouteResponse.
  2172  //
  2173  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2174  // with awserr.Error's Code and Message methods to get detailed information about
  2175  // the error.
  2176  //
  2177  // See the AWS API reference guide for AmazonApiGatewayV2's
  2178  // API operation DeleteRouteResponse for usage and error information.
  2179  //
  2180  // Returned Error Types:
  2181  //   * NotFoundException
  2182  //   The resource specified in the request was not found. See the message field
  2183  //   for more information.
  2184  //
  2185  //   * TooManyRequestsException
  2186  //   A limit has been exceeded. See the accompanying error message for details.
  2187  //
  2188  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteResponse
  2189  func (c *ApiGatewayV2) DeleteRouteResponse(input *DeleteRouteResponseInput) (*DeleteRouteResponseOutput, error) {
  2190  	req, out := c.DeleteRouteResponseRequest(input)
  2191  	return out, req.Send()
  2192  }
  2193  
  2194  // DeleteRouteResponseWithContext is the same as DeleteRouteResponse with the addition of
  2195  // the ability to pass a context and additional request options.
  2196  //
  2197  // See DeleteRouteResponse for details on how to use this API operation.
  2198  //
  2199  // The context must be non-nil and will be used for request cancellation. If
  2200  // the context is nil a panic will occur. In the future the SDK may create
  2201  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2202  // for more information on using Contexts.
  2203  func (c *ApiGatewayV2) DeleteRouteResponseWithContext(ctx aws.Context, input *DeleteRouteResponseInput, opts ...request.Option) (*DeleteRouteResponseOutput, error) {
  2204  	req, out := c.DeleteRouteResponseRequest(input)
  2205  	req.SetContext(ctx)
  2206  	req.ApplyOptions(opts...)
  2207  	return out, req.Send()
  2208  }
  2209  
  2210  const opDeleteRouteSettings = "DeleteRouteSettings"
  2211  
  2212  // DeleteRouteSettingsRequest generates a "aws/request.Request" representing the
  2213  // client's request for the DeleteRouteSettings operation. The "output" return
  2214  // value will be populated with the request's response once the request completes
  2215  // successfully.
  2216  //
  2217  // Use "Send" method on the returned Request to send the API call to the service.
  2218  // the "output" return value is not valid until after Send returns without error.
  2219  //
  2220  // See DeleteRouteSettings for more information on using the DeleteRouteSettings
  2221  // API call, and error handling.
  2222  //
  2223  // This method is useful when you want to inject custom logic or configuration
  2224  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2225  //
  2226  //
  2227  //    // Example sending a request using the DeleteRouteSettingsRequest method.
  2228  //    req, resp := client.DeleteRouteSettingsRequest(params)
  2229  //
  2230  //    err := req.Send()
  2231  //    if err == nil { // resp is now filled
  2232  //        fmt.Println(resp)
  2233  //    }
  2234  //
  2235  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteSettings
  2236  func (c *ApiGatewayV2) DeleteRouteSettingsRequest(input *DeleteRouteSettingsInput) (req *request.Request, output *DeleteRouteSettingsOutput) {
  2237  	op := &request.Operation{
  2238  		Name:       opDeleteRouteSettings,
  2239  		HTTPMethod: "DELETE",
  2240  		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}/routesettings/{routeKey}",
  2241  	}
  2242  
  2243  	if input == nil {
  2244  		input = &DeleteRouteSettingsInput{}
  2245  	}
  2246  
  2247  	output = &DeleteRouteSettingsOutput{}
  2248  	req = c.newRequest(op, input, output)
  2249  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2250  	return
  2251  }
  2252  
  2253  // DeleteRouteSettings API operation for AmazonApiGatewayV2.
  2254  //
  2255  // Deletes the RouteSettings for a stage.
  2256  //
  2257  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2258  // with awserr.Error's Code and Message methods to get detailed information about
  2259  // the error.
  2260  //
  2261  // See the AWS API reference guide for AmazonApiGatewayV2's
  2262  // API operation DeleteRouteSettings for usage and error information.
  2263  //
  2264  // Returned Error Types:
  2265  //   * NotFoundException
  2266  //   The resource specified in the request was not found. See the message field
  2267  //   for more information.
  2268  //
  2269  //   * TooManyRequestsException
  2270  //   A limit has been exceeded. See the accompanying error message for details.
  2271  //
  2272  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteRouteSettings
  2273  func (c *ApiGatewayV2) DeleteRouteSettings(input *DeleteRouteSettingsInput) (*DeleteRouteSettingsOutput, error) {
  2274  	req, out := c.DeleteRouteSettingsRequest(input)
  2275  	return out, req.Send()
  2276  }
  2277  
  2278  // DeleteRouteSettingsWithContext is the same as DeleteRouteSettings with the addition of
  2279  // the ability to pass a context and additional request options.
  2280  //
  2281  // See DeleteRouteSettings for details on how to use this API operation.
  2282  //
  2283  // The context must be non-nil and will be used for request cancellation. If
  2284  // the context is nil a panic will occur. In the future the SDK may create
  2285  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2286  // for more information on using Contexts.
  2287  func (c *ApiGatewayV2) DeleteRouteSettingsWithContext(ctx aws.Context, input *DeleteRouteSettingsInput, opts ...request.Option) (*DeleteRouteSettingsOutput, error) {
  2288  	req, out := c.DeleteRouteSettingsRequest(input)
  2289  	req.SetContext(ctx)
  2290  	req.ApplyOptions(opts...)
  2291  	return out, req.Send()
  2292  }
  2293  
  2294  const opDeleteStage = "DeleteStage"
  2295  
  2296  // DeleteStageRequest generates a "aws/request.Request" representing the
  2297  // client's request for the DeleteStage operation. The "output" return
  2298  // value will be populated with the request's response once the request completes
  2299  // successfully.
  2300  //
  2301  // Use "Send" method on the returned Request to send the API call to the service.
  2302  // the "output" return value is not valid until after Send returns without error.
  2303  //
  2304  // See DeleteStage for more information on using the DeleteStage
  2305  // API call, and error handling.
  2306  //
  2307  // This method is useful when you want to inject custom logic or configuration
  2308  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2309  //
  2310  //
  2311  //    // Example sending a request using the DeleteStageRequest method.
  2312  //    req, resp := client.DeleteStageRequest(params)
  2313  //
  2314  //    err := req.Send()
  2315  //    if err == nil { // resp is now filled
  2316  //        fmt.Println(resp)
  2317  //    }
  2318  //
  2319  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteStage
  2320  func (c *ApiGatewayV2) DeleteStageRequest(input *DeleteStageInput) (req *request.Request, output *DeleteStageOutput) {
  2321  	op := &request.Operation{
  2322  		Name:       opDeleteStage,
  2323  		HTTPMethod: "DELETE",
  2324  		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}",
  2325  	}
  2326  
  2327  	if input == nil {
  2328  		input = &DeleteStageInput{}
  2329  	}
  2330  
  2331  	output = &DeleteStageOutput{}
  2332  	req = c.newRequest(op, input, output)
  2333  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2334  	return
  2335  }
  2336  
  2337  // DeleteStage API operation for AmazonApiGatewayV2.
  2338  //
  2339  // Deletes a Stage.
  2340  //
  2341  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2342  // with awserr.Error's Code and Message methods to get detailed information about
  2343  // the error.
  2344  //
  2345  // See the AWS API reference guide for AmazonApiGatewayV2's
  2346  // API operation DeleteStage for usage and error information.
  2347  //
  2348  // Returned Error Types:
  2349  //   * NotFoundException
  2350  //   The resource specified in the request was not found. See the message field
  2351  //   for more information.
  2352  //
  2353  //   * TooManyRequestsException
  2354  //   A limit has been exceeded. See the accompanying error message for details.
  2355  //
  2356  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteStage
  2357  func (c *ApiGatewayV2) DeleteStage(input *DeleteStageInput) (*DeleteStageOutput, error) {
  2358  	req, out := c.DeleteStageRequest(input)
  2359  	return out, req.Send()
  2360  }
  2361  
  2362  // DeleteStageWithContext is the same as DeleteStage with the addition of
  2363  // the ability to pass a context and additional request options.
  2364  //
  2365  // See DeleteStage for details on how to use this API operation.
  2366  //
  2367  // The context must be non-nil and will be used for request cancellation. If
  2368  // the context is nil a panic will occur. In the future the SDK may create
  2369  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2370  // for more information on using Contexts.
  2371  func (c *ApiGatewayV2) DeleteStageWithContext(ctx aws.Context, input *DeleteStageInput, opts ...request.Option) (*DeleteStageOutput, error) {
  2372  	req, out := c.DeleteStageRequest(input)
  2373  	req.SetContext(ctx)
  2374  	req.ApplyOptions(opts...)
  2375  	return out, req.Send()
  2376  }
  2377  
  2378  const opDeleteVpcLink = "DeleteVpcLink"
  2379  
  2380  // DeleteVpcLinkRequest generates a "aws/request.Request" representing the
  2381  // client's request for the DeleteVpcLink operation. The "output" return
  2382  // value will be populated with the request's response once the request completes
  2383  // successfully.
  2384  //
  2385  // Use "Send" method on the returned Request to send the API call to the service.
  2386  // the "output" return value is not valid until after Send returns without error.
  2387  //
  2388  // See DeleteVpcLink for more information on using the DeleteVpcLink
  2389  // API call, and error handling.
  2390  //
  2391  // This method is useful when you want to inject custom logic or configuration
  2392  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2393  //
  2394  //
  2395  //    // Example sending a request using the DeleteVpcLinkRequest method.
  2396  //    req, resp := client.DeleteVpcLinkRequest(params)
  2397  //
  2398  //    err := req.Send()
  2399  //    if err == nil { // resp is now filled
  2400  //        fmt.Println(resp)
  2401  //    }
  2402  //
  2403  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteVpcLink
  2404  func (c *ApiGatewayV2) DeleteVpcLinkRequest(input *DeleteVpcLinkInput) (req *request.Request, output *DeleteVpcLinkOutput) {
  2405  	op := &request.Operation{
  2406  		Name:       opDeleteVpcLink,
  2407  		HTTPMethod: "DELETE",
  2408  		HTTPPath:   "/v2/vpclinks/{vpcLinkId}",
  2409  	}
  2410  
  2411  	if input == nil {
  2412  		input = &DeleteVpcLinkInput{}
  2413  	}
  2414  
  2415  	output = &DeleteVpcLinkOutput{}
  2416  	req = c.newRequest(op, input, output)
  2417  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2418  	return
  2419  }
  2420  
  2421  // DeleteVpcLink API operation for AmazonApiGatewayV2.
  2422  //
  2423  // Deletes a VPC link.
  2424  //
  2425  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2426  // with awserr.Error's Code and Message methods to get detailed information about
  2427  // the error.
  2428  //
  2429  // See the AWS API reference guide for AmazonApiGatewayV2's
  2430  // API operation DeleteVpcLink for usage and error information.
  2431  //
  2432  // Returned Error Types:
  2433  //   * NotFoundException
  2434  //   The resource specified in the request was not found. See the message field
  2435  //   for more information.
  2436  //
  2437  //   * TooManyRequestsException
  2438  //   A limit has been exceeded. See the accompanying error message for details.
  2439  //
  2440  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/DeleteVpcLink
  2441  func (c *ApiGatewayV2) DeleteVpcLink(input *DeleteVpcLinkInput) (*DeleteVpcLinkOutput, error) {
  2442  	req, out := c.DeleteVpcLinkRequest(input)
  2443  	return out, req.Send()
  2444  }
  2445  
  2446  // DeleteVpcLinkWithContext is the same as DeleteVpcLink with the addition of
  2447  // the ability to pass a context and additional request options.
  2448  //
  2449  // See DeleteVpcLink for details on how to use this API operation.
  2450  //
  2451  // The context must be non-nil and will be used for request cancellation. If
  2452  // the context is nil a panic will occur. In the future the SDK may create
  2453  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2454  // for more information on using Contexts.
  2455  func (c *ApiGatewayV2) DeleteVpcLinkWithContext(ctx aws.Context, input *DeleteVpcLinkInput, opts ...request.Option) (*DeleteVpcLinkOutput, error) {
  2456  	req, out := c.DeleteVpcLinkRequest(input)
  2457  	req.SetContext(ctx)
  2458  	req.ApplyOptions(opts...)
  2459  	return out, req.Send()
  2460  }
  2461  
  2462  const opExportApi = "ExportApi"
  2463  
  2464  // ExportApiRequest generates a "aws/request.Request" representing the
  2465  // client's request for the ExportApi operation. The "output" return
  2466  // value will be populated with the request's response once the request completes
  2467  // successfully.
  2468  //
  2469  // Use "Send" method on the returned Request to send the API call to the service.
  2470  // the "output" return value is not valid until after Send returns without error.
  2471  //
  2472  // See ExportApi for more information on using the ExportApi
  2473  // API call, and error handling.
  2474  //
  2475  // This method is useful when you want to inject custom logic or configuration
  2476  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2477  //
  2478  //
  2479  //    // Example sending a request using the ExportApiRequest method.
  2480  //    req, resp := client.ExportApiRequest(params)
  2481  //
  2482  //    err := req.Send()
  2483  //    if err == nil { // resp is now filled
  2484  //        fmt.Println(resp)
  2485  //    }
  2486  //
  2487  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ExportApi
  2488  func (c *ApiGatewayV2) ExportApiRequest(input *ExportApiInput) (req *request.Request, output *ExportApiOutput) {
  2489  	op := &request.Operation{
  2490  		Name:       opExportApi,
  2491  		HTTPMethod: "GET",
  2492  		HTTPPath:   "/v2/apis/{apiId}/exports/{specification}",
  2493  	}
  2494  
  2495  	if input == nil {
  2496  		input = &ExportApiInput{}
  2497  	}
  2498  
  2499  	output = &ExportApiOutput{}
  2500  	req = c.newRequest(op, input, output)
  2501  	return
  2502  }
  2503  
  2504  // ExportApi API operation for AmazonApiGatewayV2.
  2505  //
  2506  // Exports a definition of an API in a particular output format and specification.
  2507  //
  2508  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2509  // with awserr.Error's Code and Message methods to get detailed information about
  2510  // the error.
  2511  //
  2512  // See the AWS API reference guide for AmazonApiGatewayV2's
  2513  // API operation ExportApi for usage and error information.
  2514  //
  2515  // Returned Error Types:
  2516  //   * NotFoundException
  2517  //   The resource specified in the request was not found. See the message field
  2518  //   for more information.
  2519  //
  2520  //   * TooManyRequestsException
  2521  //   A limit has been exceeded. See the accompanying error message for details.
  2522  //
  2523  //   * BadRequestException
  2524  //   The request is not valid, for example, the input is incomplete or incorrect.
  2525  //   See the accompanying error message for details.
  2526  //
  2527  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ExportApi
  2528  func (c *ApiGatewayV2) ExportApi(input *ExportApiInput) (*ExportApiOutput, error) {
  2529  	req, out := c.ExportApiRequest(input)
  2530  	return out, req.Send()
  2531  }
  2532  
  2533  // ExportApiWithContext is the same as ExportApi with the addition of
  2534  // the ability to pass a context and additional request options.
  2535  //
  2536  // See ExportApi for details on how to use this API operation.
  2537  //
  2538  // The context must be non-nil and will be used for request cancellation. If
  2539  // the context is nil a panic will occur. In the future the SDK may create
  2540  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2541  // for more information on using Contexts.
  2542  func (c *ApiGatewayV2) ExportApiWithContext(ctx aws.Context, input *ExportApiInput, opts ...request.Option) (*ExportApiOutput, error) {
  2543  	req, out := c.ExportApiRequest(input)
  2544  	req.SetContext(ctx)
  2545  	req.ApplyOptions(opts...)
  2546  	return out, req.Send()
  2547  }
  2548  
  2549  const opGetApi = "GetApi"
  2550  
  2551  // GetApiRequest generates a "aws/request.Request" representing the
  2552  // client's request for the GetApi operation. The "output" return
  2553  // value will be populated with the request's response once the request completes
  2554  // successfully.
  2555  //
  2556  // Use "Send" method on the returned Request to send the API call to the service.
  2557  // the "output" return value is not valid until after Send returns without error.
  2558  //
  2559  // See GetApi for more information on using the GetApi
  2560  // API call, and error handling.
  2561  //
  2562  // This method is useful when you want to inject custom logic or configuration
  2563  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2564  //
  2565  //
  2566  //    // Example sending a request using the GetApiRequest method.
  2567  //    req, resp := client.GetApiRequest(params)
  2568  //
  2569  //    err := req.Send()
  2570  //    if err == nil { // resp is now filled
  2571  //        fmt.Println(resp)
  2572  //    }
  2573  //
  2574  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApi
  2575  func (c *ApiGatewayV2) GetApiRequest(input *GetApiInput) (req *request.Request, output *GetApiOutput) {
  2576  	op := &request.Operation{
  2577  		Name:       opGetApi,
  2578  		HTTPMethod: "GET",
  2579  		HTTPPath:   "/v2/apis/{apiId}",
  2580  	}
  2581  
  2582  	if input == nil {
  2583  		input = &GetApiInput{}
  2584  	}
  2585  
  2586  	output = &GetApiOutput{}
  2587  	req = c.newRequest(op, input, output)
  2588  	return
  2589  }
  2590  
  2591  // GetApi API operation for AmazonApiGatewayV2.
  2592  //
  2593  // Gets an Api resource.
  2594  //
  2595  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2596  // with awserr.Error's Code and Message methods to get detailed information about
  2597  // the error.
  2598  //
  2599  // See the AWS API reference guide for AmazonApiGatewayV2's
  2600  // API operation GetApi for usage and error information.
  2601  //
  2602  // Returned Error Types:
  2603  //   * NotFoundException
  2604  //   The resource specified in the request was not found. See the message field
  2605  //   for more information.
  2606  //
  2607  //   * TooManyRequestsException
  2608  //   A limit has been exceeded. See the accompanying error message for details.
  2609  //
  2610  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApi
  2611  func (c *ApiGatewayV2) GetApi(input *GetApiInput) (*GetApiOutput, error) {
  2612  	req, out := c.GetApiRequest(input)
  2613  	return out, req.Send()
  2614  }
  2615  
  2616  // GetApiWithContext is the same as GetApi with the addition of
  2617  // the ability to pass a context and additional request options.
  2618  //
  2619  // See GetApi for details on how to use this API operation.
  2620  //
  2621  // The context must be non-nil and will be used for request cancellation. If
  2622  // the context is nil a panic will occur. In the future the SDK may create
  2623  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2624  // for more information on using Contexts.
  2625  func (c *ApiGatewayV2) GetApiWithContext(ctx aws.Context, input *GetApiInput, opts ...request.Option) (*GetApiOutput, error) {
  2626  	req, out := c.GetApiRequest(input)
  2627  	req.SetContext(ctx)
  2628  	req.ApplyOptions(opts...)
  2629  	return out, req.Send()
  2630  }
  2631  
  2632  const opGetApiMapping = "GetApiMapping"
  2633  
  2634  // GetApiMappingRequest generates a "aws/request.Request" representing the
  2635  // client's request for the GetApiMapping operation. The "output" return
  2636  // value will be populated with the request's response once the request completes
  2637  // successfully.
  2638  //
  2639  // Use "Send" method on the returned Request to send the API call to the service.
  2640  // the "output" return value is not valid until after Send returns without error.
  2641  //
  2642  // See GetApiMapping for more information on using the GetApiMapping
  2643  // API call, and error handling.
  2644  //
  2645  // This method is useful when you want to inject custom logic or configuration
  2646  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2647  //
  2648  //
  2649  //    // Example sending a request using the GetApiMappingRequest method.
  2650  //    req, resp := client.GetApiMappingRequest(params)
  2651  //
  2652  //    err := req.Send()
  2653  //    if err == nil { // resp is now filled
  2654  //        fmt.Println(resp)
  2655  //    }
  2656  //
  2657  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMapping
  2658  func (c *ApiGatewayV2) GetApiMappingRequest(input *GetApiMappingInput) (req *request.Request, output *GetApiMappingOutput) {
  2659  	op := &request.Operation{
  2660  		Name:       opGetApiMapping,
  2661  		HTTPMethod: "GET",
  2662  		HTTPPath:   "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
  2663  	}
  2664  
  2665  	if input == nil {
  2666  		input = &GetApiMappingInput{}
  2667  	}
  2668  
  2669  	output = &GetApiMappingOutput{}
  2670  	req = c.newRequest(op, input, output)
  2671  	return
  2672  }
  2673  
  2674  // GetApiMapping API operation for AmazonApiGatewayV2.
  2675  //
  2676  // Gets an API mapping.
  2677  //
  2678  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2679  // with awserr.Error's Code and Message methods to get detailed information about
  2680  // the error.
  2681  //
  2682  // See the AWS API reference guide for AmazonApiGatewayV2's
  2683  // API operation GetApiMapping for usage and error information.
  2684  //
  2685  // Returned Error Types:
  2686  //   * NotFoundException
  2687  //   The resource specified in the request was not found. See the message field
  2688  //   for more information.
  2689  //
  2690  //   * TooManyRequestsException
  2691  //   A limit has been exceeded. See the accompanying error message for details.
  2692  //
  2693  //   * BadRequestException
  2694  //   The request is not valid, for example, the input is incomplete or incorrect.
  2695  //   See the accompanying error message for details.
  2696  //
  2697  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMapping
  2698  func (c *ApiGatewayV2) GetApiMapping(input *GetApiMappingInput) (*GetApiMappingOutput, error) {
  2699  	req, out := c.GetApiMappingRequest(input)
  2700  	return out, req.Send()
  2701  }
  2702  
  2703  // GetApiMappingWithContext is the same as GetApiMapping with the addition of
  2704  // the ability to pass a context and additional request options.
  2705  //
  2706  // See GetApiMapping for details on how to use this API operation.
  2707  //
  2708  // The context must be non-nil and will be used for request cancellation. If
  2709  // the context is nil a panic will occur. In the future the SDK may create
  2710  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2711  // for more information on using Contexts.
  2712  func (c *ApiGatewayV2) GetApiMappingWithContext(ctx aws.Context, input *GetApiMappingInput, opts ...request.Option) (*GetApiMappingOutput, error) {
  2713  	req, out := c.GetApiMappingRequest(input)
  2714  	req.SetContext(ctx)
  2715  	req.ApplyOptions(opts...)
  2716  	return out, req.Send()
  2717  }
  2718  
  2719  const opGetApiMappings = "GetApiMappings"
  2720  
  2721  // GetApiMappingsRequest generates a "aws/request.Request" representing the
  2722  // client's request for the GetApiMappings operation. The "output" return
  2723  // value will be populated with the request's response once the request completes
  2724  // successfully.
  2725  //
  2726  // Use "Send" method on the returned Request to send the API call to the service.
  2727  // the "output" return value is not valid until after Send returns without error.
  2728  //
  2729  // See GetApiMappings for more information on using the GetApiMappings
  2730  // API call, and error handling.
  2731  //
  2732  // This method is useful when you want to inject custom logic or configuration
  2733  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2734  //
  2735  //
  2736  //    // Example sending a request using the GetApiMappingsRequest method.
  2737  //    req, resp := client.GetApiMappingsRequest(params)
  2738  //
  2739  //    err := req.Send()
  2740  //    if err == nil { // resp is now filled
  2741  //        fmt.Println(resp)
  2742  //    }
  2743  //
  2744  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMappings
  2745  func (c *ApiGatewayV2) GetApiMappingsRequest(input *GetApiMappingsInput) (req *request.Request, output *GetApiMappingsOutput) {
  2746  	op := &request.Operation{
  2747  		Name:       opGetApiMappings,
  2748  		HTTPMethod: "GET",
  2749  		HTTPPath:   "/v2/domainnames/{domainName}/apimappings",
  2750  	}
  2751  
  2752  	if input == nil {
  2753  		input = &GetApiMappingsInput{}
  2754  	}
  2755  
  2756  	output = &GetApiMappingsOutput{}
  2757  	req = c.newRequest(op, input, output)
  2758  	return
  2759  }
  2760  
  2761  // GetApiMappings API operation for AmazonApiGatewayV2.
  2762  //
  2763  // Gets API mappings.
  2764  //
  2765  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2766  // with awserr.Error's Code and Message methods to get detailed information about
  2767  // the error.
  2768  //
  2769  // See the AWS API reference guide for AmazonApiGatewayV2's
  2770  // API operation GetApiMappings for usage and error information.
  2771  //
  2772  // Returned Error Types:
  2773  //   * NotFoundException
  2774  //   The resource specified in the request was not found. See the message field
  2775  //   for more information.
  2776  //
  2777  //   * TooManyRequestsException
  2778  //   A limit has been exceeded. See the accompanying error message for details.
  2779  //
  2780  //   * BadRequestException
  2781  //   The request is not valid, for example, the input is incomplete or incorrect.
  2782  //   See the accompanying error message for details.
  2783  //
  2784  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApiMappings
  2785  func (c *ApiGatewayV2) GetApiMappings(input *GetApiMappingsInput) (*GetApiMappingsOutput, error) {
  2786  	req, out := c.GetApiMappingsRequest(input)
  2787  	return out, req.Send()
  2788  }
  2789  
  2790  // GetApiMappingsWithContext is the same as GetApiMappings with the addition of
  2791  // the ability to pass a context and additional request options.
  2792  //
  2793  // See GetApiMappings 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 *ApiGatewayV2) GetApiMappingsWithContext(ctx aws.Context, input *GetApiMappingsInput, opts ...request.Option) (*GetApiMappingsOutput, error) {
  2800  	req, out := c.GetApiMappingsRequest(input)
  2801  	req.SetContext(ctx)
  2802  	req.ApplyOptions(opts...)
  2803  	return out, req.Send()
  2804  }
  2805  
  2806  const opGetApis = "GetApis"
  2807  
  2808  // GetApisRequest generates a "aws/request.Request" representing the
  2809  // client's request for the GetApis 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 GetApis for more information on using the GetApis
  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 GetApisRequest method.
  2824  //    req, resp := client.GetApisRequest(params)
  2825  //
  2826  //    err := req.Send()
  2827  //    if err == nil { // resp is now filled
  2828  //        fmt.Println(resp)
  2829  //    }
  2830  //
  2831  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApis
  2832  func (c *ApiGatewayV2) GetApisRequest(input *GetApisInput) (req *request.Request, output *GetApisOutput) {
  2833  	op := &request.Operation{
  2834  		Name:       opGetApis,
  2835  		HTTPMethod: "GET",
  2836  		HTTPPath:   "/v2/apis",
  2837  	}
  2838  
  2839  	if input == nil {
  2840  		input = &GetApisInput{}
  2841  	}
  2842  
  2843  	output = &GetApisOutput{}
  2844  	req = c.newRequest(op, input, output)
  2845  	return
  2846  }
  2847  
  2848  // GetApis API operation for AmazonApiGatewayV2.
  2849  //
  2850  // Gets a collection of Api resources.
  2851  //
  2852  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2853  // with awserr.Error's Code and Message methods to get detailed information about
  2854  // the error.
  2855  //
  2856  // See the AWS API reference guide for AmazonApiGatewayV2's
  2857  // API operation GetApis for usage and error information.
  2858  //
  2859  // Returned Error Types:
  2860  //   * NotFoundException
  2861  //   The resource specified in the request was not found. See the message field
  2862  //   for more information.
  2863  //
  2864  //   * TooManyRequestsException
  2865  //   A limit has been exceeded. See the accompanying error message for details.
  2866  //
  2867  //   * BadRequestException
  2868  //   The request is not valid, for example, the input is incomplete or incorrect.
  2869  //   See the accompanying error message for details.
  2870  //
  2871  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetApis
  2872  func (c *ApiGatewayV2) GetApis(input *GetApisInput) (*GetApisOutput, error) {
  2873  	req, out := c.GetApisRequest(input)
  2874  	return out, req.Send()
  2875  }
  2876  
  2877  // GetApisWithContext is the same as GetApis with the addition of
  2878  // the ability to pass a context and additional request options.
  2879  //
  2880  // See GetApis for details on how to use this API operation.
  2881  //
  2882  // The context must be non-nil and will be used for request cancellation. If
  2883  // the context is nil a panic will occur. In the future the SDK may create
  2884  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2885  // for more information on using Contexts.
  2886  func (c *ApiGatewayV2) GetApisWithContext(ctx aws.Context, input *GetApisInput, opts ...request.Option) (*GetApisOutput, error) {
  2887  	req, out := c.GetApisRequest(input)
  2888  	req.SetContext(ctx)
  2889  	req.ApplyOptions(opts...)
  2890  	return out, req.Send()
  2891  }
  2892  
  2893  const opGetAuthorizer = "GetAuthorizer"
  2894  
  2895  // GetAuthorizerRequest generates a "aws/request.Request" representing the
  2896  // client's request for the GetAuthorizer operation. The "output" return
  2897  // value will be populated with the request's response once the request completes
  2898  // successfully.
  2899  //
  2900  // Use "Send" method on the returned Request to send the API call to the service.
  2901  // the "output" return value is not valid until after Send returns without error.
  2902  //
  2903  // See GetAuthorizer for more information on using the GetAuthorizer
  2904  // API call, and error handling.
  2905  //
  2906  // This method is useful when you want to inject custom logic or configuration
  2907  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2908  //
  2909  //
  2910  //    // Example sending a request using the GetAuthorizerRequest method.
  2911  //    req, resp := client.GetAuthorizerRequest(params)
  2912  //
  2913  //    err := req.Send()
  2914  //    if err == nil { // resp is now filled
  2915  //        fmt.Println(resp)
  2916  //    }
  2917  //
  2918  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizer
  2919  func (c *ApiGatewayV2) GetAuthorizerRequest(input *GetAuthorizerInput) (req *request.Request, output *GetAuthorizerOutput) {
  2920  	op := &request.Operation{
  2921  		Name:       opGetAuthorizer,
  2922  		HTTPMethod: "GET",
  2923  		HTTPPath:   "/v2/apis/{apiId}/authorizers/{authorizerId}",
  2924  	}
  2925  
  2926  	if input == nil {
  2927  		input = &GetAuthorizerInput{}
  2928  	}
  2929  
  2930  	output = &GetAuthorizerOutput{}
  2931  	req = c.newRequest(op, input, output)
  2932  	return
  2933  }
  2934  
  2935  // GetAuthorizer API operation for AmazonApiGatewayV2.
  2936  //
  2937  // Gets an Authorizer.
  2938  //
  2939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2940  // with awserr.Error's Code and Message methods to get detailed information about
  2941  // the error.
  2942  //
  2943  // See the AWS API reference guide for AmazonApiGatewayV2's
  2944  // API operation GetAuthorizer for usage and error information.
  2945  //
  2946  // Returned Error Types:
  2947  //   * NotFoundException
  2948  //   The resource specified in the request was not found. See the message field
  2949  //   for more information.
  2950  //
  2951  //   * TooManyRequestsException
  2952  //   A limit has been exceeded. See the accompanying error message for details.
  2953  //
  2954  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizer
  2955  func (c *ApiGatewayV2) GetAuthorizer(input *GetAuthorizerInput) (*GetAuthorizerOutput, error) {
  2956  	req, out := c.GetAuthorizerRequest(input)
  2957  	return out, req.Send()
  2958  }
  2959  
  2960  // GetAuthorizerWithContext is the same as GetAuthorizer with the addition of
  2961  // the ability to pass a context and additional request options.
  2962  //
  2963  // See GetAuthorizer for details on how to use this API operation.
  2964  //
  2965  // The context must be non-nil and will be used for request cancellation. If
  2966  // the context is nil a panic will occur. In the future the SDK may create
  2967  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2968  // for more information on using Contexts.
  2969  func (c *ApiGatewayV2) GetAuthorizerWithContext(ctx aws.Context, input *GetAuthorizerInput, opts ...request.Option) (*GetAuthorizerOutput, error) {
  2970  	req, out := c.GetAuthorizerRequest(input)
  2971  	req.SetContext(ctx)
  2972  	req.ApplyOptions(opts...)
  2973  	return out, req.Send()
  2974  }
  2975  
  2976  const opGetAuthorizers = "GetAuthorizers"
  2977  
  2978  // GetAuthorizersRequest generates a "aws/request.Request" representing the
  2979  // client's request for the GetAuthorizers operation. The "output" return
  2980  // value will be populated with the request's response once the request completes
  2981  // successfully.
  2982  //
  2983  // Use "Send" method on the returned Request to send the API call to the service.
  2984  // the "output" return value is not valid until after Send returns without error.
  2985  //
  2986  // See GetAuthorizers for more information on using the GetAuthorizers
  2987  // API call, and error handling.
  2988  //
  2989  // This method is useful when you want to inject custom logic or configuration
  2990  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2991  //
  2992  //
  2993  //    // Example sending a request using the GetAuthorizersRequest method.
  2994  //    req, resp := client.GetAuthorizersRequest(params)
  2995  //
  2996  //    err := req.Send()
  2997  //    if err == nil { // resp is now filled
  2998  //        fmt.Println(resp)
  2999  //    }
  3000  //
  3001  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizers
  3002  func (c *ApiGatewayV2) GetAuthorizersRequest(input *GetAuthorizersInput) (req *request.Request, output *GetAuthorizersOutput) {
  3003  	op := &request.Operation{
  3004  		Name:       opGetAuthorizers,
  3005  		HTTPMethod: "GET",
  3006  		HTTPPath:   "/v2/apis/{apiId}/authorizers",
  3007  	}
  3008  
  3009  	if input == nil {
  3010  		input = &GetAuthorizersInput{}
  3011  	}
  3012  
  3013  	output = &GetAuthorizersOutput{}
  3014  	req = c.newRequest(op, input, output)
  3015  	return
  3016  }
  3017  
  3018  // GetAuthorizers API operation for AmazonApiGatewayV2.
  3019  //
  3020  // Gets the Authorizers for an API.
  3021  //
  3022  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3023  // with awserr.Error's Code and Message methods to get detailed information about
  3024  // the error.
  3025  //
  3026  // See the AWS API reference guide for AmazonApiGatewayV2's
  3027  // API operation GetAuthorizers for usage and error information.
  3028  //
  3029  // Returned Error Types:
  3030  //   * NotFoundException
  3031  //   The resource specified in the request was not found. See the message field
  3032  //   for more information.
  3033  //
  3034  //   * TooManyRequestsException
  3035  //   A limit has been exceeded. See the accompanying error message for details.
  3036  //
  3037  //   * BadRequestException
  3038  //   The request is not valid, for example, the input is incomplete or incorrect.
  3039  //   See the accompanying error message for details.
  3040  //
  3041  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetAuthorizers
  3042  func (c *ApiGatewayV2) GetAuthorizers(input *GetAuthorizersInput) (*GetAuthorizersOutput, error) {
  3043  	req, out := c.GetAuthorizersRequest(input)
  3044  	return out, req.Send()
  3045  }
  3046  
  3047  // GetAuthorizersWithContext is the same as GetAuthorizers with the addition of
  3048  // the ability to pass a context and additional request options.
  3049  //
  3050  // See GetAuthorizers for details on how to use this API operation.
  3051  //
  3052  // The context must be non-nil and will be used for request cancellation. If
  3053  // the context is nil a panic will occur. In the future the SDK may create
  3054  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3055  // for more information on using Contexts.
  3056  func (c *ApiGatewayV2) GetAuthorizersWithContext(ctx aws.Context, input *GetAuthorizersInput, opts ...request.Option) (*GetAuthorizersOutput, error) {
  3057  	req, out := c.GetAuthorizersRequest(input)
  3058  	req.SetContext(ctx)
  3059  	req.ApplyOptions(opts...)
  3060  	return out, req.Send()
  3061  }
  3062  
  3063  const opGetDeployment = "GetDeployment"
  3064  
  3065  // GetDeploymentRequest generates a "aws/request.Request" representing the
  3066  // client's request for the GetDeployment operation. The "output" return
  3067  // value will be populated with the request's response once the request completes
  3068  // successfully.
  3069  //
  3070  // Use "Send" method on the returned Request to send the API call to the service.
  3071  // the "output" return value is not valid until after Send returns without error.
  3072  //
  3073  // See GetDeployment for more information on using the GetDeployment
  3074  // API call, and error handling.
  3075  //
  3076  // This method is useful when you want to inject custom logic or configuration
  3077  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3078  //
  3079  //
  3080  //    // Example sending a request using the GetDeploymentRequest method.
  3081  //    req, resp := client.GetDeploymentRequest(params)
  3082  //
  3083  //    err := req.Send()
  3084  //    if err == nil { // resp is now filled
  3085  //        fmt.Println(resp)
  3086  //    }
  3087  //
  3088  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployment
  3089  func (c *ApiGatewayV2) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) {
  3090  	op := &request.Operation{
  3091  		Name:       opGetDeployment,
  3092  		HTTPMethod: "GET",
  3093  		HTTPPath:   "/v2/apis/{apiId}/deployments/{deploymentId}",
  3094  	}
  3095  
  3096  	if input == nil {
  3097  		input = &GetDeploymentInput{}
  3098  	}
  3099  
  3100  	output = &GetDeploymentOutput{}
  3101  	req = c.newRequest(op, input, output)
  3102  	return
  3103  }
  3104  
  3105  // GetDeployment API operation for AmazonApiGatewayV2.
  3106  //
  3107  // Gets a Deployment.
  3108  //
  3109  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3110  // with awserr.Error's Code and Message methods to get detailed information about
  3111  // the error.
  3112  //
  3113  // See the AWS API reference guide for AmazonApiGatewayV2's
  3114  // API operation GetDeployment for usage and error information.
  3115  //
  3116  // Returned Error Types:
  3117  //   * NotFoundException
  3118  //   The resource specified in the request was not found. See the message field
  3119  //   for more information.
  3120  //
  3121  //   * TooManyRequestsException
  3122  //   A limit has been exceeded. See the accompanying error message for details.
  3123  //
  3124  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployment
  3125  func (c *ApiGatewayV2) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) {
  3126  	req, out := c.GetDeploymentRequest(input)
  3127  	return out, req.Send()
  3128  }
  3129  
  3130  // GetDeploymentWithContext is the same as GetDeployment with the addition of
  3131  // the ability to pass a context and additional request options.
  3132  //
  3133  // See GetDeployment for details on how to use this API operation.
  3134  //
  3135  // The context must be non-nil and will be used for request cancellation. If
  3136  // the context is nil a panic will occur. In the future the SDK may create
  3137  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3138  // for more information on using Contexts.
  3139  func (c *ApiGatewayV2) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) {
  3140  	req, out := c.GetDeploymentRequest(input)
  3141  	req.SetContext(ctx)
  3142  	req.ApplyOptions(opts...)
  3143  	return out, req.Send()
  3144  }
  3145  
  3146  const opGetDeployments = "GetDeployments"
  3147  
  3148  // GetDeploymentsRequest generates a "aws/request.Request" representing the
  3149  // client's request for the GetDeployments operation. The "output" return
  3150  // value will be populated with the request's response once the request completes
  3151  // successfully.
  3152  //
  3153  // Use "Send" method on the returned Request to send the API call to the service.
  3154  // the "output" return value is not valid until after Send returns without error.
  3155  //
  3156  // See GetDeployments for more information on using the GetDeployments
  3157  // API call, and error handling.
  3158  //
  3159  // This method is useful when you want to inject custom logic or configuration
  3160  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3161  //
  3162  //
  3163  //    // Example sending a request using the GetDeploymentsRequest method.
  3164  //    req, resp := client.GetDeploymentsRequest(params)
  3165  //
  3166  //    err := req.Send()
  3167  //    if err == nil { // resp is now filled
  3168  //        fmt.Println(resp)
  3169  //    }
  3170  //
  3171  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployments
  3172  func (c *ApiGatewayV2) GetDeploymentsRequest(input *GetDeploymentsInput) (req *request.Request, output *GetDeploymentsOutput) {
  3173  	op := &request.Operation{
  3174  		Name:       opGetDeployments,
  3175  		HTTPMethod: "GET",
  3176  		HTTPPath:   "/v2/apis/{apiId}/deployments",
  3177  	}
  3178  
  3179  	if input == nil {
  3180  		input = &GetDeploymentsInput{}
  3181  	}
  3182  
  3183  	output = &GetDeploymentsOutput{}
  3184  	req = c.newRequest(op, input, output)
  3185  	return
  3186  }
  3187  
  3188  // GetDeployments API operation for AmazonApiGatewayV2.
  3189  //
  3190  // Gets the Deployments for an API.
  3191  //
  3192  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3193  // with awserr.Error's Code and Message methods to get detailed information about
  3194  // the error.
  3195  //
  3196  // See the AWS API reference guide for AmazonApiGatewayV2's
  3197  // API operation GetDeployments for usage and error information.
  3198  //
  3199  // Returned Error Types:
  3200  //   * NotFoundException
  3201  //   The resource specified in the request was not found. See the message field
  3202  //   for more information.
  3203  //
  3204  //   * TooManyRequestsException
  3205  //   A limit has been exceeded. See the accompanying error message for details.
  3206  //
  3207  //   * BadRequestException
  3208  //   The request is not valid, for example, the input is incomplete or incorrect.
  3209  //   See the accompanying error message for details.
  3210  //
  3211  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDeployments
  3212  func (c *ApiGatewayV2) GetDeployments(input *GetDeploymentsInput) (*GetDeploymentsOutput, error) {
  3213  	req, out := c.GetDeploymentsRequest(input)
  3214  	return out, req.Send()
  3215  }
  3216  
  3217  // GetDeploymentsWithContext is the same as GetDeployments with the addition of
  3218  // the ability to pass a context and additional request options.
  3219  //
  3220  // See GetDeployments for details on how to use this API operation.
  3221  //
  3222  // The context must be non-nil and will be used for request cancellation. If
  3223  // the context is nil a panic will occur. In the future the SDK may create
  3224  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3225  // for more information on using Contexts.
  3226  func (c *ApiGatewayV2) GetDeploymentsWithContext(ctx aws.Context, input *GetDeploymentsInput, opts ...request.Option) (*GetDeploymentsOutput, error) {
  3227  	req, out := c.GetDeploymentsRequest(input)
  3228  	req.SetContext(ctx)
  3229  	req.ApplyOptions(opts...)
  3230  	return out, req.Send()
  3231  }
  3232  
  3233  const opGetDomainName = "GetDomainName"
  3234  
  3235  // GetDomainNameRequest generates a "aws/request.Request" representing the
  3236  // client's request for the GetDomainName operation. The "output" return
  3237  // value will be populated with the request's response once the request completes
  3238  // successfully.
  3239  //
  3240  // Use "Send" method on the returned Request to send the API call to the service.
  3241  // the "output" return value is not valid until after Send returns without error.
  3242  //
  3243  // See GetDomainName for more information on using the GetDomainName
  3244  // API call, and error handling.
  3245  //
  3246  // This method is useful when you want to inject custom logic or configuration
  3247  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3248  //
  3249  //
  3250  //    // Example sending a request using the GetDomainNameRequest method.
  3251  //    req, resp := client.GetDomainNameRequest(params)
  3252  //
  3253  //    err := req.Send()
  3254  //    if err == nil { // resp is now filled
  3255  //        fmt.Println(resp)
  3256  //    }
  3257  //
  3258  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainName
  3259  func (c *ApiGatewayV2) GetDomainNameRequest(input *GetDomainNameInput) (req *request.Request, output *GetDomainNameOutput) {
  3260  	op := &request.Operation{
  3261  		Name:       opGetDomainName,
  3262  		HTTPMethod: "GET",
  3263  		HTTPPath:   "/v2/domainnames/{domainName}",
  3264  	}
  3265  
  3266  	if input == nil {
  3267  		input = &GetDomainNameInput{}
  3268  	}
  3269  
  3270  	output = &GetDomainNameOutput{}
  3271  	req = c.newRequest(op, input, output)
  3272  	return
  3273  }
  3274  
  3275  // GetDomainName API operation for AmazonApiGatewayV2.
  3276  //
  3277  // Gets a domain name.
  3278  //
  3279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3280  // with awserr.Error's Code and Message methods to get detailed information about
  3281  // the error.
  3282  //
  3283  // See the AWS API reference guide for AmazonApiGatewayV2's
  3284  // API operation GetDomainName for usage and error information.
  3285  //
  3286  // Returned Error Types:
  3287  //   * NotFoundException
  3288  //   The resource specified in the request was not found. See the message field
  3289  //   for more information.
  3290  //
  3291  //   * TooManyRequestsException
  3292  //   A limit has been exceeded. See the accompanying error message for details.
  3293  //
  3294  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainName
  3295  func (c *ApiGatewayV2) GetDomainName(input *GetDomainNameInput) (*GetDomainNameOutput, error) {
  3296  	req, out := c.GetDomainNameRequest(input)
  3297  	return out, req.Send()
  3298  }
  3299  
  3300  // GetDomainNameWithContext is the same as GetDomainName with the addition of
  3301  // the ability to pass a context and additional request options.
  3302  //
  3303  // See GetDomainName for details on how to use this API operation.
  3304  //
  3305  // The context must be non-nil and will be used for request cancellation. If
  3306  // the context is nil a panic will occur. In the future the SDK may create
  3307  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3308  // for more information on using Contexts.
  3309  func (c *ApiGatewayV2) GetDomainNameWithContext(ctx aws.Context, input *GetDomainNameInput, opts ...request.Option) (*GetDomainNameOutput, error) {
  3310  	req, out := c.GetDomainNameRequest(input)
  3311  	req.SetContext(ctx)
  3312  	req.ApplyOptions(opts...)
  3313  	return out, req.Send()
  3314  }
  3315  
  3316  const opGetDomainNames = "GetDomainNames"
  3317  
  3318  // GetDomainNamesRequest generates a "aws/request.Request" representing the
  3319  // client's request for the GetDomainNames operation. The "output" return
  3320  // value will be populated with the request's response once the request completes
  3321  // successfully.
  3322  //
  3323  // Use "Send" method on the returned Request to send the API call to the service.
  3324  // the "output" return value is not valid until after Send returns without error.
  3325  //
  3326  // See GetDomainNames for more information on using the GetDomainNames
  3327  // API call, and error handling.
  3328  //
  3329  // This method is useful when you want to inject custom logic or configuration
  3330  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3331  //
  3332  //
  3333  //    // Example sending a request using the GetDomainNamesRequest method.
  3334  //    req, resp := client.GetDomainNamesRequest(params)
  3335  //
  3336  //    err := req.Send()
  3337  //    if err == nil { // resp is now filled
  3338  //        fmt.Println(resp)
  3339  //    }
  3340  //
  3341  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainNames
  3342  func (c *ApiGatewayV2) GetDomainNamesRequest(input *GetDomainNamesInput) (req *request.Request, output *GetDomainNamesOutput) {
  3343  	op := &request.Operation{
  3344  		Name:       opGetDomainNames,
  3345  		HTTPMethod: "GET",
  3346  		HTTPPath:   "/v2/domainnames",
  3347  	}
  3348  
  3349  	if input == nil {
  3350  		input = &GetDomainNamesInput{}
  3351  	}
  3352  
  3353  	output = &GetDomainNamesOutput{}
  3354  	req = c.newRequest(op, input, output)
  3355  	return
  3356  }
  3357  
  3358  // GetDomainNames API operation for AmazonApiGatewayV2.
  3359  //
  3360  // Gets the domain names for an AWS account.
  3361  //
  3362  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3363  // with awserr.Error's Code and Message methods to get detailed information about
  3364  // the error.
  3365  //
  3366  // See the AWS API reference guide for AmazonApiGatewayV2's
  3367  // API operation GetDomainNames for usage and error information.
  3368  //
  3369  // Returned Error Types:
  3370  //   * NotFoundException
  3371  //   The resource specified in the request was not found. See the message field
  3372  //   for more information.
  3373  //
  3374  //   * TooManyRequestsException
  3375  //   A limit has been exceeded. See the accompanying error message for details.
  3376  //
  3377  //   * BadRequestException
  3378  //   The request is not valid, for example, the input is incomplete or incorrect.
  3379  //   See the accompanying error message for details.
  3380  //
  3381  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetDomainNames
  3382  func (c *ApiGatewayV2) GetDomainNames(input *GetDomainNamesInput) (*GetDomainNamesOutput, error) {
  3383  	req, out := c.GetDomainNamesRequest(input)
  3384  	return out, req.Send()
  3385  }
  3386  
  3387  // GetDomainNamesWithContext is the same as GetDomainNames with the addition of
  3388  // the ability to pass a context and additional request options.
  3389  //
  3390  // See GetDomainNames for details on how to use this API operation.
  3391  //
  3392  // The context must be non-nil and will be used for request cancellation. If
  3393  // the context is nil a panic will occur. In the future the SDK may create
  3394  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3395  // for more information on using Contexts.
  3396  func (c *ApiGatewayV2) GetDomainNamesWithContext(ctx aws.Context, input *GetDomainNamesInput, opts ...request.Option) (*GetDomainNamesOutput, error) {
  3397  	req, out := c.GetDomainNamesRequest(input)
  3398  	req.SetContext(ctx)
  3399  	req.ApplyOptions(opts...)
  3400  	return out, req.Send()
  3401  }
  3402  
  3403  const opGetIntegration = "GetIntegration"
  3404  
  3405  // GetIntegrationRequest generates a "aws/request.Request" representing the
  3406  // client's request for the GetIntegration operation. The "output" return
  3407  // value will be populated with the request's response once the request completes
  3408  // successfully.
  3409  //
  3410  // Use "Send" method on the returned Request to send the API call to the service.
  3411  // the "output" return value is not valid until after Send returns without error.
  3412  //
  3413  // See GetIntegration for more information on using the GetIntegration
  3414  // API call, and error handling.
  3415  //
  3416  // This method is useful when you want to inject custom logic or configuration
  3417  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3418  //
  3419  //
  3420  //    // Example sending a request using the GetIntegrationRequest method.
  3421  //    req, resp := client.GetIntegrationRequest(params)
  3422  //
  3423  //    err := req.Send()
  3424  //    if err == nil { // resp is now filled
  3425  //        fmt.Println(resp)
  3426  //    }
  3427  //
  3428  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegration
  3429  func (c *ApiGatewayV2) GetIntegrationRequest(input *GetIntegrationInput) (req *request.Request, output *GetIntegrationOutput) {
  3430  	op := &request.Operation{
  3431  		Name:       opGetIntegration,
  3432  		HTTPMethod: "GET",
  3433  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}",
  3434  	}
  3435  
  3436  	if input == nil {
  3437  		input = &GetIntegrationInput{}
  3438  	}
  3439  
  3440  	output = &GetIntegrationOutput{}
  3441  	req = c.newRequest(op, input, output)
  3442  	return
  3443  }
  3444  
  3445  // GetIntegration API operation for AmazonApiGatewayV2.
  3446  //
  3447  // Gets an Integration.
  3448  //
  3449  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3450  // with awserr.Error's Code and Message methods to get detailed information about
  3451  // the error.
  3452  //
  3453  // See the AWS API reference guide for AmazonApiGatewayV2's
  3454  // API operation GetIntegration for usage and error information.
  3455  //
  3456  // Returned Error Types:
  3457  //   * NotFoundException
  3458  //   The resource specified in the request was not found. See the message field
  3459  //   for more information.
  3460  //
  3461  //   * TooManyRequestsException
  3462  //   A limit has been exceeded. See the accompanying error message for details.
  3463  //
  3464  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegration
  3465  func (c *ApiGatewayV2) GetIntegration(input *GetIntegrationInput) (*GetIntegrationOutput, error) {
  3466  	req, out := c.GetIntegrationRequest(input)
  3467  	return out, req.Send()
  3468  }
  3469  
  3470  // GetIntegrationWithContext is the same as GetIntegration with the addition of
  3471  // the ability to pass a context and additional request options.
  3472  //
  3473  // See GetIntegration for details on how to use this API operation.
  3474  //
  3475  // The context must be non-nil and will be used for request cancellation. If
  3476  // the context is nil a panic will occur. In the future the SDK may create
  3477  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3478  // for more information on using Contexts.
  3479  func (c *ApiGatewayV2) GetIntegrationWithContext(ctx aws.Context, input *GetIntegrationInput, opts ...request.Option) (*GetIntegrationOutput, error) {
  3480  	req, out := c.GetIntegrationRequest(input)
  3481  	req.SetContext(ctx)
  3482  	req.ApplyOptions(opts...)
  3483  	return out, req.Send()
  3484  }
  3485  
  3486  const opGetIntegrationResponse = "GetIntegrationResponse"
  3487  
  3488  // GetIntegrationResponseRequest generates a "aws/request.Request" representing the
  3489  // client's request for the GetIntegrationResponse operation. The "output" return
  3490  // value will be populated with the request's response once the request completes
  3491  // successfully.
  3492  //
  3493  // Use "Send" method on the returned Request to send the API call to the service.
  3494  // the "output" return value is not valid until after Send returns without error.
  3495  //
  3496  // See GetIntegrationResponse for more information on using the GetIntegrationResponse
  3497  // API call, and error handling.
  3498  //
  3499  // This method is useful when you want to inject custom logic or configuration
  3500  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3501  //
  3502  //
  3503  //    // Example sending a request using the GetIntegrationResponseRequest method.
  3504  //    req, resp := client.GetIntegrationResponseRequest(params)
  3505  //
  3506  //    err := req.Send()
  3507  //    if err == nil { // resp is now filled
  3508  //        fmt.Println(resp)
  3509  //    }
  3510  //
  3511  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponse
  3512  func (c *ApiGatewayV2) GetIntegrationResponseRequest(input *GetIntegrationResponseInput) (req *request.Request, output *GetIntegrationResponseOutput) {
  3513  	op := &request.Operation{
  3514  		Name:       opGetIntegrationResponse,
  3515  		HTTPMethod: "GET",
  3516  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
  3517  	}
  3518  
  3519  	if input == nil {
  3520  		input = &GetIntegrationResponseInput{}
  3521  	}
  3522  
  3523  	output = &GetIntegrationResponseOutput{}
  3524  	req = c.newRequest(op, input, output)
  3525  	return
  3526  }
  3527  
  3528  // GetIntegrationResponse API operation for AmazonApiGatewayV2.
  3529  //
  3530  // Gets an IntegrationResponses.
  3531  //
  3532  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3533  // with awserr.Error's Code and Message methods to get detailed information about
  3534  // the error.
  3535  //
  3536  // See the AWS API reference guide for AmazonApiGatewayV2's
  3537  // API operation GetIntegrationResponse for usage and error information.
  3538  //
  3539  // Returned Error Types:
  3540  //   * NotFoundException
  3541  //   The resource specified in the request was not found. See the message field
  3542  //   for more information.
  3543  //
  3544  //   * TooManyRequestsException
  3545  //   A limit has been exceeded. See the accompanying error message for details.
  3546  //
  3547  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponse
  3548  func (c *ApiGatewayV2) GetIntegrationResponse(input *GetIntegrationResponseInput) (*GetIntegrationResponseOutput, error) {
  3549  	req, out := c.GetIntegrationResponseRequest(input)
  3550  	return out, req.Send()
  3551  }
  3552  
  3553  // GetIntegrationResponseWithContext is the same as GetIntegrationResponse with the addition of
  3554  // the ability to pass a context and additional request options.
  3555  //
  3556  // See GetIntegrationResponse for details on how to use this API operation.
  3557  //
  3558  // The context must be non-nil and will be used for request cancellation. If
  3559  // the context is nil a panic will occur. In the future the SDK may create
  3560  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3561  // for more information on using Contexts.
  3562  func (c *ApiGatewayV2) GetIntegrationResponseWithContext(ctx aws.Context, input *GetIntegrationResponseInput, opts ...request.Option) (*GetIntegrationResponseOutput, error) {
  3563  	req, out := c.GetIntegrationResponseRequest(input)
  3564  	req.SetContext(ctx)
  3565  	req.ApplyOptions(opts...)
  3566  	return out, req.Send()
  3567  }
  3568  
  3569  const opGetIntegrationResponses = "GetIntegrationResponses"
  3570  
  3571  // GetIntegrationResponsesRequest generates a "aws/request.Request" representing the
  3572  // client's request for the GetIntegrationResponses operation. The "output" return
  3573  // value will be populated with the request's response once the request completes
  3574  // successfully.
  3575  //
  3576  // Use "Send" method on the returned Request to send the API call to the service.
  3577  // the "output" return value is not valid until after Send returns without error.
  3578  //
  3579  // See GetIntegrationResponses for more information on using the GetIntegrationResponses
  3580  // API call, and error handling.
  3581  //
  3582  // This method is useful when you want to inject custom logic or configuration
  3583  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3584  //
  3585  //
  3586  //    // Example sending a request using the GetIntegrationResponsesRequest method.
  3587  //    req, resp := client.GetIntegrationResponsesRequest(params)
  3588  //
  3589  //    err := req.Send()
  3590  //    if err == nil { // resp is now filled
  3591  //        fmt.Println(resp)
  3592  //    }
  3593  //
  3594  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponses
  3595  func (c *ApiGatewayV2) GetIntegrationResponsesRequest(input *GetIntegrationResponsesInput) (req *request.Request, output *GetIntegrationResponsesOutput) {
  3596  	op := &request.Operation{
  3597  		Name:       opGetIntegrationResponses,
  3598  		HTTPMethod: "GET",
  3599  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses",
  3600  	}
  3601  
  3602  	if input == nil {
  3603  		input = &GetIntegrationResponsesInput{}
  3604  	}
  3605  
  3606  	output = &GetIntegrationResponsesOutput{}
  3607  	req = c.newRequest(op, input, output)
  3608  	return
  3609  }
  3610  
  3611  // GetIntegrationResponses API operation for AmazonApiGatewayV2.
  3612  //
  3613  // Gets the IntegrationResponses for an Integration.
  3614  //
  3615  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3616  // with awserr.Error's Code and Message methods to get detailed information about
  3617  // the error.
  3618  //
  3619  // See the AWS API reference guide for AmazonApiGatewayV2's
  3620  // API operation GetIntegrationResponses for usage and error information.
  3621  //
  3622  // Returned Error Types:
  3623  //   * NotFoundException
  3624  //   The resource specified in the request was not found. See the message field
  3625  //   for more information.
  3626  //
  3627  //   * TooManyRequestsException
  3628  //   A limit has been exceeded. See the accompanying error message for details.
  3629  //
  3630  //   * BadRequestException
  3631  //   The request is not valid, for example, the input is incomplete or incorrect.
  3632  //   See the accompanying error message for details.
  3633  //
  3634  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrationResponses
  3635  func (c *ApiGatewayV2) GetIntegrationResponses(input *GetIntegrationResponsesInput) (*GetIntegrationResponsesOutput, error) {
  3636  	req, out := c.GetIntegrationResponsesRequest(input)
  3637  	return out, req.Send()
  3638  }
  3639  
  3640  // GetIntegrationResponsesWithContext is the same as GetIntegrationResponses with the addition of
  3641  // the ability to pass a context and additional request options.
  3642  //
  3643  // See GetIntegrationResponses for details on how to use this API operation.
  3644  //
  3645  // The context must be non-nil and will be used for request cancellation. If
  3646  // the context is nil a panic will occur. In the future the SDK may create
  3647  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3648  // for more information on using Contexts.
  3649  func (c *ApiGatewayV2) GetIntegrationResponsesWithContext(ctx aws.Context, input *GetIntegrationResponsesInput, opts ...request.Option) (*GetIntegrationResponsesOutput, error) {
  3650  	req, out := c.GetIntegrationResponsesRequest(input)
  3651  	req.SetContext(ctx)
  3652  	req.ApplyOptions(opts...)
  3653  	return out, req.Send()
  3654  }
  3655  
  3656  const opGetIntegrations = "GetIntegrations"
  3657  
  3658  // GetIntegrationsRequest generates a "aws/request.Request" representing the
  3659  // client's request for the GetIntegrations operation. The "output" return
  3660  // value will be populated with the request's response once the request completes
  3661  // successfully.
  3662  //
  3663  // Use "Send" method on the returned Request to send the API call to the service.
  3664  // the "output" return value is not valid until after Send returns without error.
  3665  //
  3666  // See GetIntegrations for more information on using the GetIntegrations
  3667  // API call, and error handling.
  3668  //
  3669  // This method is useful when you want to inject custom logic or configuration
  3670  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3671  //
  3672  //
  3673  //    // Example sending a request using the GetIntegrationsRequest method.
  3674  //    req, resp := client.GetIntegrationsRequest(params)
  3675  //
  3676  //    err := req.Send()
  3677  //    if err == nil { // resp is now filled
  3678  //        fmt.Println(resp)
  3679  //    }
  3680  //
  3681  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrations
  3682  func (c *ApiGatewayV2) GetIntegrationsRequest(input *GetIntegrationsInput) (req *request.Request, output *GetIntegrationsOutput) {
  3683  	op := &request.Operation{
  3684  		Name:       opGetIntegrations,
  3685  		HTTPMethod: "GET",
  3686  		HTTPPath:   "/v2/apis/{apiId}/integrations",
  3687  	}
  3688  
  3689  	if input == nil {
  3690  		input = &GetIntegrationsInput{}
  3691  	}
  3692  
  3693  	output = &GetIntegrationsOutput{}
  3694  	req = c.newRequest(op, input, output)
  3695  	return
  3696  }
  3697  
  3698  // GetIntegrations API operation for AmazonApiGatewayV2.
  3699  //
  3700  // Gets the Integrations for an API.
  3701  //
  3702  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3703  // with awserr.Error's Code and Message methods to get detailed information about
  3704  // the error.
  3705  //
  3706  // See the AWS API reference guide for AmazonApiGatewayV2's
  3707  // API operation GetIntegrations for usage and error information.
  3708  //
  3709  // Returned Error Types:
  3710  //   * NotFoundException
  3711  //   The resource specified in the request was not found. See the message field
  3712  //   for more information.
  3713  //
  3714  //   * TooManyRequestsException
  3715  //   A limit has been exceeded. See the accompanying error message for details.
  3716  //
  3717  //   * BadRequestException
  3718  //   The request is not valid, for example, the input is incomplete or incorrect.
  3719  //   See the accompanying error message for details.
  3720  //
  3721  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetIntegrations
  3722  func (c *ApiGatewayV2) GetIntegrations(input *GetIntegrationsInput) (*GetIntegrationsOutput, error) {
  3723  	req, out := c.GetIntegrationsRequest(input)
  3724  	return out, req.Send()
  3725  }
  3726  
  3727  // GetIntegrationsWithContext is the same as GetIntegrations with the addition of
  3728  // the ability to pass a context and additional request options.
  3729  //
  3730  // See GetIntegrations for details on how to use this API operation.
  3731  //
  3732  // The context must be non-nil and will be used for request cancellation. If
  3733  // the context is nil a panic will occur. In the future the SDK may create
  3734  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3735  // for more information on using Contexts.
  3736  func (c *ApiGatewayV2) GetIntegrationsWithContext(ctx aws.Context, input *GetIntegrationsInput, opts ...request.Option) (*GetIntegrationsOutput, error) {
  3737  	req, out := c.GetIntegrationsRequest(input)
  3738  	req.SetContext(ctx)
  3739  	req.ApplyOptions(opts...)
  3740  	return out, req.Send()
  3741  }
  3742  
  3743  const opGetModel = "GetModel"
  3744  
  3745  // GetModelRequest generates a "aws/request.Request" representing the
  3746  // client's request for the GetModel operation. The "output" return
  3747  // value will be populated with the request's response once the request completes
  3748  // successfully.
  3749  //
  3750  // Use "Send" method on the returned Request to send the API call to the service.
  3751  // the "output" return value is not valid until after Send returns without error.
  3752  //
  3753  // See GetModel for more information on using the GetModel
  3754  // API call, and error handling.
  3755  //
  3756  // This method is useful when you want to inject custom logic or configuration
  3757  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3758  //
  3759  //
  3760  //    // Example sending a request using the GetModelRequest method.
  3761  //    req, resp := client.GetModelRequest(params)
  3762  //
  3763  //    err := req.Send()
  3764  //    if err == nil { // resp is now filled
  3765  //        fmt.Println(resp)
  3766  //    }
  3767  //
  3768  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModel
  3769  func (c *ApiGatewayV2) GetModelRequest(input *GetModelInput) (req *request.Request, output *GetModelOutput) {
  3770  	op := &request.Operation{
  3771  		Name:       opGetModel,
  3772  		HTTPMethod: "GET",
  3773  		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}",
  3774  	}
  3775  
  3776  	if input == nil {
  3777  		input = &GetModelInput{}
  3778  	}
  3779  
  3780  	output = &GetModelOutput{}
  3781  	req = c.newRequest(op, input, output)
  3782  	return
  3783  }
  3784  
  3785  // GetModel API operation for AmazonApiGatewayV2.
  3786  //
  3787  // Gets a Model.
  3788  //
  3789  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3790  // with awserr.Error's Code and Message methods to get detailed information about
  3791  // the error.
  3792  //
  3793  // See the AWS API reference guide for AmazonApiGatewayV2's
  3794  // API operation GetModel for usage and error information.
  3795  //
  3796  // Returned Error Types:
  3797  //   * NotFoundException
  3798  //   The resource specified in the request was not found. See the message field
  3799  //   for more information.
  3800  //
  3801  //   * TooManyRequestsException
  3802  //   A limit has been exceeded. See the accompanying error message for details.
  3803  //
  3804  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModel
  3805  func (c *ApiGatewayV2) GetModel(input *GetModelInput) (*GetModelOutput, error) {
  3806  	req, out := c.GetModelRequest(input)
  3807  	return out, req.Send()
  3808  }
  3809  
  3810  // GetModelWithContext is the same as GetModel with the addition of
  3811  // the ability to pass a context and additional request options.
  3812  //
  3813  // See GetModel for details on how to use this API operation.
  3814  //
  3815  // The context must be non-nil and will be used for request cancellation. If
  3816  // the context is nil a panic will occur. In the future the SDK may create
  3817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3818  // for more information on using Contexts.
  3819  func (c *ApiGatewayV2) GetModelWithContext(ctx aws.Context, input *GetModelInput, opts ...request.Option) (*GetModelOutput, error) {
  3820  	req, out := c.GetModelRequest(input)
  3821  	req.SetContext(ctx)
  3822  	req.ApplyOptions(opts...)
  3823  	return out, req.Send()
  3824  }
  3825  
  3826  const opGetModelTemplate = "GetModelTemplate"
  3827  
  3828  // GetModelTemplateRequest generates a "aws/request.Request" representing the
  3829  // client's request for the GetModelTemplate operation. The "output" return
  3830  // value will be populated with the request's response once the request completes
  3831  // successfully.
  3832  //
  3833  // Use "Send" method on the returned Request to send the API call to the service.
  3834  // the "output" return value is not valid until after Send returns without error.
  3835  //
  3836  // See GetModelTemplate for more information on using the GetModelTemplate
  3837  // API call, and error handling.
  3838  //
  3839  // This method is useful when you want to inject custom logic or configuration
  3840  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3841  //
  3842  //
  3843  //    // Example sending a request using the GetModelTemplateRequest method.
  3844  //    req, resp := client.GetModelTemplateRequest(params)
  3845  //
  3846  //    err := req.Send()
  3847  //    if err == nil { // resp is now filled
  3848  //        fmt.Println(resp)
  3849  //    }
  3850  //
  3851  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModelTemplate
  3852  func (c *ApiGatewayV2) GetModelTemplateRequest(input *GetModelTemplateInput) (req *request.Request, output *GetModelTemplateOutput) {
  3853  	op := &request.Operation{
  3854  		Name:       opGetModelTemplate,
  3855  		HTTPMethod: "GET",
  3856  		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}/template",
  3857  	}
  3858  
  3859  	if input == nil {
  3860  		input = &GetModelTemplateInput{}
  3861  	}
  3862  
  3863  	output = &GetModelTemplateOutput{}
  3864  	req = c.newRequest(op, input, output)
  3865  	return
  3866  }
  3867  
  3868  // GetModelTemplate API operation for AmazonApiGatewayV2.
  3869  //
  3870  // Gets a model template.
  3871  //
  3872  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3873  // with awserr.Error's Code and Message methods to get detailed information about
  3874  // the error.
  3875  //
  3876  // See the AWS API reference guide for AmazonApiGatewayV2's
  3877  // API operation GetModelTemplate for usage and error information.
  3878  //
  3879  // Returned Error Types:
  3880  //   * NotFoundException
  3881  //   The resource specified in the request was not found. See the message field
  3882  //   for more information.
  3883  //
  3884  //   * TooManyRequestsException
  3885  //   A limit has been exceeded. See the accompanying error message for details.
  3886  //
  3887  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModelTemplate
  3888  func (c *ApiGatewayV2) GetModelTemplate(input *GetModelTemplateInput) (*GetModelTemplateOutput, error) {
  3889  	req, out := c.GetModelTemplateRequest(input)
  3890  	return out, req.Send()
  3891  }
  3892  
  3893  // GetModelTemplateWithContext is the same as GetModelTemplate with the addition of
  3894  // the ability to pass a context and additional request options.
  3895  //
  3896  // See GetModelTemplate for details on how to use this API operation.
  3897  //
  3898  // The context must be non-nil and will be used for request cancellation. If
  3899  // the context is nil a panic will occur. In the future the SDK may create
  3900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3901  // for more information on using Contexts.
  3902  func (c *ApiGatewayV2) GetModelTemplateWithContext(ctx aws.Context, input *GetModelTemplateInput, opts ...request.Option) (*GetModelTemplateOutput, error) {
  3903  	req, out := c.GetModelTemplateRequest(input)
  3904  	req.SetContext(ctx)
  3905  	req.ApplyOptions(opts...)
  3906  	return out, req.Send()
  3907  }
  3908  
  3909  const opGetModels = "GetModels"
  3910  
  3911  // GetModelsRequest generates a "aws/request.Request" representing the
  3912  // client's request for the GetModels operation. The "output" return
  3913  // value will be populated with the request's response once the request completes
  3914  // successfully.
  3915  //
  3916  // Use "Send" method on the returned Request to send the API call to the service.
  3917  // the "output" return value is not valid until after Send returns without error.
  3918  //
  3919  // See GetModels for more information on using the GetModels
  3920  // API call, and error handling.
  3921  //
  3922  // This method is useful when you want to inject custom logic or configuration
  3923  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3924  //
  3925  //
  3926  //    // Example sending a request using the GetModelsRequest method.
  3927  //    req, resp := client.GetModelsRequest(params)
  3928  //
  3929  //    err := req.Send()
  3930  //    if err == nil { // resp is now filled
  3931  //        fmt.Println(resp)
  3932  //    }
  3933  //
  3934  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModels
  3935  func (c *ApiGatewayV2) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) {
  3936  	op := &request.Operation{
  3937  		Name:       opGetModels,
  3938  		HTTPMethod: "GET",
  3939  		HTTPPath:   "/v2/apis/{apiId}/models",
  3940  	}
  3941  
  3942  	if input == nil {
  3943  		input = &GetModelsInput{}
  3944  	}
  3945  
  3946  	output = &GetModelsOutput{}
  3947  	req = c.newRequest(op, input, output)
  3948  	return
  3949  }
  3950  
  3951  // GetModels API operation for AmazonApiGatewayV2.
  3952  //
  3953  // Gets the Models for an API.
  3954  //
  3955  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3956  // with awserr.Error's Code and Message methods to get detailed information about
  3957  // the error.
  3958  //
  3959  // See the AWS API reference guide for AmazonApiGatewayV2's
  3960  // API operation GetModels for usage and error information.
  3961  //
  3962  // Returned Error Types:
  3963  //   * NotFoundException
  3964  //   The resource specified in the request was not found. See the message field
  3965  //   for more information.
  3966  //
  3967  //   * TooManyRequestsException
  3968  //   A limit has been exceeded. See the accompanying error message for details.
  3969  //
  3970  //   * BadRequestException
  3971  //   The request is not valid, for example, the input is incomplete or incorrect.
  3972  //   See the accompanying error message for details.
  3973  //
  3974  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetModels
  3975  func (c *ApiGatewayV2) GetModels(input *GetModelsInput) (*GetModelsOutput, error) {
  3976  	req, out := c.GetModelsRequest(input)
  3977  	return out, req.Send()
  3978  }
  3979  
  3980  // GetModelsWithContext is the same as GetModels with the addition of
  3981  // the ability to pass a context and additional request options.
  3982  //
  3983  // See GetModels for details on how to use this API operation.
  3984  //
  3985  // The context must be non-nil and will be used for request cancellation. If
  3986  // the context is nil a panic will occur. In the future the SDK may create
  3987  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3988  // for more information on using Contexts.
  3989  func (c *ApiGatewayV2) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) {
  3990  	req, out := c.GetModelsRequest(input)
  3991  	req.SetContext(ctx)
  3992  	req.ApplyOptions(opts...)
  3993  	return out, req.Send()
  3994  }
  3995  
  3996  const opGetRoute = "GetRoute"
  3997  
  3998  // GetRouteRequest generates a "aws/request.Request" representing the
  3999  // client's request for the GetRoute operation. The "output" return
  4000  // value will be populated with the request's response once the request completes
  4001  // successfully.
  4002  //
  4003  // Use "Send" method on the returned Request to send the API call to the service.
  4004  // the "output" return value is not valid until after Send returns without error.
  4005  //
  4006  // See GetRoute for more information on using the GetRoute
  4007  // API call, and error handling.
  4008  //
  4009  // This method is useful when you want to inject custom logic or configuration
  4010  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4011  //
  4012  //
  4013  //    // Example sending a request using the GetRouteRequest method.
  4014  //    req, resp := client.GetRouteRequest(params)
  4015  //
  4016  //    err := req.Send()
  4017  //    if err == nil { // resp is now filled
  4018  //        fmt.Println(resp)
  4019  //    }
  4020  //
  4021  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoute
  4022  func (c *ApiGatewayV2) GetRouteRequest(input *GetRouteInput) (req *request.Request, output *GetRouteOutput) {
  4023  	op := &request.Operation{
  4024  		Name:       opGetRoute,
  4025  		HTTPMethod: "GET",
  4026  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}",
  4027  	}
  4028  
  4029  	if input == nil {
  4030  		input = &GetRouteInput{}
  4031  	}
  4032  
  4033  	output = &GetRouteOutput{}
  4034  	req = c.newRequest(op, input, output)
  4035  	return
  4036  }
  4037  
  4038  // GetRoute API operation for AmazonApiGatewayV2.
  4039  //
  4040  // Gets a Route.
  4041  //
  4042  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4043  // with awserr.Error's Code and Message methods to get detailed information about
  4044  // the error.
  4045  //
  4046  // See the AWS API reference guide for AmazonApiGatewayV2's
  4047  // API operation GetRoute for usage and error information.
  4048  //
  4049  // Returned Error Types:
  4050  //   * NotFoundException
  4051  //   The resource specified in the request was not found. See the message field
  4052  //   for more information.
  4053  //
  4054  //   * TooManyRequestsException
  4055  //   A limit has been exceeded. See the accompanying error message for details.
  4056  //
  4057  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoute
  4058  func (c *ApiGatewayV2) GetRoute(input *GetRouteInput) (*GetRouteOutput, error) {
  4059  	req, out := c.GetRouteRequest(input)
  4060  	return out, req.Send()
  4061  }
  4062  
  4063  // GetRouteWithContext is the same as GetRoute with the addition of
  4064  // the ability to pass a context and additional request options.
  4065  //
  4066  // See GetRoute for details on how to use this API operation.
  4067  //
  4068  // The context must be non-nil and will be used for request cancellation. If
  4069  // the context is nil a panic will occur. In the future the SDK may create
  4070  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4071  // for more information on using Contexts.
  4072  func (c *ApiGatewayV2) GetRouteWithContext(ctx aws.Context, input *GetRouteInput, opts ...request.Option) (*GetRouteOutput, error) {
  4073  	req, out := c.GetRouteRequest(input)
  4074  	req.SetContext(ctx)
  4075  	req.ApplyOptions(opts...)
  4076  	return out, req.Send()
  4077  }
  4078  
  4079  const opGetRouteResponse = "GetRouteResponse"
  4080  
  4081  // GetRouteResponseRequest generates a "aws/request.Request" representing the
  4082  // client's request for the GetRouteResponse operation. The "output" return
  4083  // value will be populated with the request's response once the request completes
  4084  // successfully.
  4085  //
  4086  // Use "Send" method on the returned Request to send the API call to the service.
  4087  // the "output" return value is not valid until after Send returns without error.
  4088  //
  4089  // See GetRouteResponse for more information on using the GetRouteResponse
  4090  // API call, and error handling.
  4091  //
  4092  // This method is useful when you want to inject custom logic or configuration
  4093  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4094  //
  4095  //
  4096  //    // Example sending a request using the GetRouteResponseRequest method.
  4097  //    req, resp := client.GetRouteResponseRequest(params)
  4098  //
  4099  //    err := req.Send()
  4100  //    if err == nil { // resp is now filled
  4101  //        fmt.Println(resp)
  4102  //    }
  4103  //
  4104  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponse
  4105  func (c *ApiGatewayV2) GetRouteResponseRequest(input *GetRouteResponseInput) (req *request.Request, output *GetRouteResponseOutput) {
  4106  	op := &request.Operation{
  4107  		Name:       opGetRouteResponse,
  4108  		HTTPMethod: "GET",
  4109  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
  4110  	}
  4111  
  4112  	if input == nil {
  4113  		input = &GetRouteResponseInput{}
  4114  	}
  4115  
  4116  	output = &GetRouteResponseOutput{}
  4117  	req = c.newRequest(op, input, output)
  4118  	return
  4119  }
  4120  
  4121  // GetRouteResponse API operation for AmazonApiGatewayV2.
  4122  //
  4123  // Gets a RouteResponse.
  4124  //
  4125  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4126  // with awserr.Error's Code and Message methods to get detailed information about
  4127  // the error.
  4128  //
  4129  // See the AWS API reference guide for AmazonApiGatewayV2's
  4130  // API operation GetRouteResponse for usage and error information.
  4131  //
  4132  // Returned Error Types:
  4133  //   * NotFoundException
  4134  //   The resource specified in the request was not found. See the message field
  4135  //   for more information.
  4136  //
  4137  //   * TooManyRequestsException
  4138  //   A limit has been exceeded. See the accompanying error message for details.
  4139  //
  4140  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponse
  4141  func (c *ApiGatewayV2) GetRouteResponse(input *GetRouteResponseInput) (*GetRouteResponseOutput, error) {
  4142  	req, out := c.GetRouteResponseRequest(input)
  4143  	return out, req.Send()
  4144  }
  4145  
  4146  // GetRouteResponseWithContext is the same as GetRouteResponse with the addition of
  4147  // the ability to pass a context and additional request options.
  4148  //
  4149  // See GetRouteResponse for details on how to use this API operation.
  4150  //
  4151  // The context must be non-nil and will be used for request cancellation. If
  4152  // the context is nil a panic will occur. In the future the SDK may create
  4153  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4154  // for more information on using Contexts.
  4155  func (c *ApiGatewayV2) GetRouteResponseWithContext(ctx aws.Context, input *GetRouteResponseInput, opts ...request.Option) (*GetRouteResponseOutput, error) {
  4156  	req, out := c.GetRouteResponseRequest(input)
  4157  	req.SetContext(ctx)
  4158  	req.ApplyOptions(opts...)
  4159  	return out, req.Send()
  4160  }
  4161  
  4162  const opGetRouteResponses = "GetRouteResponses"
  4163  
  4164  // GetRouteResponsesRequest generates a "aws/request.Request" representing the
  4165  // client's request for the GetRouteResponses operation. The "output" return
  4166  // value will be populated with the request's response once the request completes
  4167  // successfully.
  4168  //
  4169  // Use "Send" method on the returned Request to send the API call to the service.
  4170  // the "output" return value is not valid until after Send returns without error.
  4171  //
  4172  // See GetRouteResponses for more information on using the GetRouteResponses
  4173  // API call, and error handling.
  4174  //
  4175  // This method is useful when you want to inject custom logic or configuration
  4176  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4177  //
  4178  //
  4179  //    // Example sending a request using the GetRouteResponsesRequest method.
  4180  //    req, resp := client.GetRouteResponsesRequest(params)
  4181  //
  4182  //    err := req.Send()
  4183  //    if err == nil { // resp is now filled
  4184  //        fmt.Println(resp)
  4185  //    }
  4186  //
  4187  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponses
  4188  func (c *ApiGatewayV2) GetRouteResponsesRequest(input *GetRouteResponsesInput) (req *request.Request, output *GetRouteResponsesOutput) {
  4189  	op := &request.Operation{
  4190  		Name:       opGetRouteResponses,
  4191  		HTTPMethod: "GET",
  4192  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses",
  4193  	}
  4194  
  4195  	if input == nil {
  4196  		input = &GetRouteResponsesInput{}
  4197  	}
  4198  
  4199  	output = &GetRouteResponsesOutput{}
  4200  	req = c.newRequest(op, input, output)
  4201  	return
  4202  }
  4203  
  4204  // GetRouteResponses API operation for AmazonApiGatewayV2.
  4205  //
  4206  // Gets the RouteResponses for a Route.
  4207  //
  4208  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4209  // with awserr.Error's Code and Message methods to get detailed information about
  4210  // the error.
  4211  //
  4212  // See the AWS API reference guide for AmazonApiGatewayV2's
  4213  // API operation GetRouteResponses for usage and error information.
  4214  //
  4215  // Returned Error Types:
  4216  //   * NotFoundException
  4217  //   The resource specified in the request was not found. See the message field
  4218  //   for more information.
  4219  //
  4220  //   * TooManyRequestsException
  4221  //   A limit has been exceeded. See the accompanying error message for details.
  4222  //
  4223  //   * BadRequestException
  4224  //   The request is not valid, for example, the input is incomplete or incorrect.
  4225  //   See the accompanying error message for details.
  4226  //
  4227  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRouteResponses
  4228  func (c *ApiGatewayV2) GetRouteResponses(input *GetRouteResponsesInput) (*GetRouteResponsesOutput, error) {
  4229  	req, out := c.GetRouteResponsesRequest(input)
  4230  	return out, req.Send()
  4231  }
  4232  
  4233  // GetRouteResponsesWithContext is the same as GetRouteResponses with the addition of
  4234  // the ability to pass a context and additional request options.
  4235  //
  4236  // See GetRouteResponses for details on how to use this API operation.
  4237  //
  4238  // The context must be non-nil and will be used for request cancellation. If
  4239  // the context is nil a panic will occur. In the future the SDK may create
  4240  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4241  // for more information on using Contexts.
  4242  func (c *ApiGatewayV2) GetRouteResponsesWithContext(ctx aws.Context, input *GetRouteResponsesInput, opts ...request.Option) (*GetRouteResponsesOutput, error) {
  4243  	req, out := c.GetRouteResponsesRequest(input)
  4244  	req.SetContext(ctx)
  4245  	req.ApplyOptions(opts...)
  4246  	return out, req.Send()
  4247  }
  4248  
  4249  const opGetRoutes = "GetRoutes"
  4250  
  4251  // GetRoutesRequest generates a "aws/request.Request" representing the
  4252  // client's request for the GetRoutes operation. The "output" return
  4253  // value will be populated with the request's response once the request completes
  4254  // successfully.
  4255  //
  4256  // Use "Send" method on the returned Request to send the API call to the service.
  4257  // the "output" return value is not valid until after Send returns without error.
  4258  //
  4259  // See GetRoutes for more information on using the GetRoutes
  4260  // API call, and error handling.
  4261  //
  4262  // This method is useful when you want to inject custom logic or configuration
  4263  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4264  //
  4265  //
  4266  //    // Example sending a request using the GetRoutesRequest method.
  4267  //    req, resp := client.GetRoutesRequest(params)
  4268  //
  4269  //    err := req.Send()
  4270  //    if err == nil { // resp is now filled
  4271  //        fmt.Println(resp)
  4272  //    }
  4273  //
  4274  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoutes
  4275  func (c *ApiGatewayV2) GetRoutesRequest(input *GetRoutesInput) (req *request.Request, output *GetRoutesOutput) {
  4276  	op := &request.Operation{
  4277  		Name:       opGetRoutes,
  4278  		HTTPMethod: "GET",
  4279  		HTTPPath:   "/v2/apis/{apiId}/routes",
  4280  	}
  4281  
  4282  	if input == nil {
  4283  		input = &GetRoutesInput{}
  4284  	}
  4285  
  4286  	output = &GetRoutesOutput{}
  4287  	req = c.newRequest(op, input, output)
  4288  	return
  4289  }
  4290  
  4291  // GetRoutes API operation for AmazonApiGatewayV2.
  4292  //
  4293  // Gets the Routes for an API.
  4294  //
  4295  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4296  // with awserr.Error's Code and Message methods to get detailed information about
  4297  // the error.
  4298  //
  4299  // See the AWS API reference guide for AmazonApiGatewayV2's
  4300  // API operation GetRoutes for usage and error information.
  4301  //
  4302  // Returned Error Types:
  4303  //   * NotFoundException
  4304  //   The resource specified in the request was not found. See the message field
  4305  //   for more information.
  4306  //
  4307  //   * TooManyRequestsException
  4308  //   A limit has been exceeded. See the accompanying error message for details.
  4309  //
  4310  //   * BadRequestException
  4311  //   The request is not valid, for example, the input is incomplete or incorrect.
  4312  //   See the accompanying error message for details.
  4313  //
  4314  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetRoutes
  4315  func (c *ApiGatewayV2) GetRoutes(input *GetRoutesInput) (*GetRoutesOutput, error) {
  4316  	req, out := c.GetRoutesRequest(input)
  4317  	return out, req.Send()
  4318  }
  4319  
  4320  // GetRoutesWithContext is the same as GetRoutes with the addition of
  4321  // the ability to pass a context and additional request options.
  4322  //
  4323  // See GetRoutes for details on how to use this API operation.
  4324  //
  4325  // The context must be non-nil and will be used for request cancellation. If
  4326  // the context is nil a panic will occur. In the future the SDK may create
  4327  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4328  // for more information on using Contexts.
  4329  func (c *ApiGatewayV2) GetRoutesWithContext(ctx aws.Context, input *GetRoutesInput, opts ...request.Option) (*GetRoutesOutput, error) {
  4330  	req, out := c.GetRoutesRequest(input)
  4331  	req.SetContext(ctx)
  4332  	req.ApplyOptions(opts...)
  4333  	return out, req.Send()
  4334  }
  4335  
  4336  const opGetStage = "GetStage"
  4337  
  4338  // GetStageRequest generates a "aws/request.Request" representing the
  4339  // client's request for the GetStage operation. The "output" return
  4340  // value will be populated with the request's response once the request completes
  4341  // successfully.
  4342  //
  4343  // Use "Send" method on the returned Request to send the API call to the service.
  4344  // the "output" return value is not valid until after Send returns without error.
  4345  //
  4346  // See GetStage for more information on using the GetStage
  4347  // API call, and error handling.
  4348  //
  4349  // This method is useful when you want to inject custom logic or configuration
  4350  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4351  //
  4352  //
  4353  //    // Example sending a request using the GetStageRequest method.
  4354  //    req, resp := client.GetStageRequest(params)
  4355  //
  4356  //    err := req.Send()
  4357  //    if err == nil { // resp is now filled
  4358  //        fmt.Println(resp)
  4359  //    }
  4360  //
  4361  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStage
  4362  func (c *ApiGatewayV2) GetStageRequest(input *GetStageInput) (req *request.Request, output *GetStageOutput) {
  4363  	op := &request.Operation{
  4364  		Name:       opGetStage,
  4365  		HTTPMethod: "GET",
  4366  		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}",
  4367  	}
  4368  
  4369  	if input == nil {
  4370  		input = &GetStageInput{}
  4371  	}
  4372  
  4373  	output = &GetStageOutput{}
  4374  	req = c.newRequest(op, input, output)
  4375  	return
  4376  }
  4377  
  4378  // GetStage API operation for AmazonApiGatewayV2.
  4379  //
  4380  // Gets a Stage.
  4381  //
  4382  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4383  // with awserr.Error's Code and Message methods to get detailed information about
  4384  // the error.
  4385  //
  4386  // See the AWS API reference guide for AmazonApiGatewayV2's
  4387  // API operation GetStage for usage and error information.
  4388  //
  4389  // Returned Error Types:
  4390  //   * NotFoundException
  4391  //   The resource specified in the request was not found. See the message field
  4392  //   for more information.
  4393  //
  4394  //   * TooManyRequestsException
  4395  //   A limit has been exceeded. See the accompanying error message for details.
  4396  //
  4397  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStage
  4398  func (c *ApiGatewayV2) GetStage(input *GetStageInput) (*GetStageOutput, error) {
  4399  	req, out := c.GetStageRequest(input)
  4400  	return out, req.Send()
  4401  }
  4402  
  4403  // GetStageWithContext is the same as GetStage with the addition of
  4404  // the ability to pass a context and additional request options.
  4405  //
  4406  // See GetStage for details on how to use this API operation.
  4407  //
  4408  // The context must be non-nil and will be used for request cancellation. If
  4409  // the context is nil a panic will occur. In the future the SDK may create
  4410  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4411  // for more information on using Contexts.
  4412  func (c *ApiGatewayV2) GetStageWithContext(ctx aws.Context, input *GetStageInput, opts ...request.Option) (*GetStageOutput, error) {
  4413  	req, out := c.GetStageRequest(input)
  4414  	req.SetContext(ctx)
  4415  	req.ApplyOptions(opts...)
  4416  	return out, req.Send()
  4417  }
  4418  
  4419  const opGetStages = "GetStages"
  4420  
  4421  // GetStagesRequest generates a "aws/request.Request" representing the
  4422  // client's request for the GetStages operation. The "output" return
  4423  // value will be populated with the request's response once the request completes
  4424  // successfully.
  4425  //
  4426  // Use "Send" method on the returned Request to send the API call to the service.
  4427  // the "output" return value is not valid until after Send returns without error.
  4428  //
  4429  // See GetStages for more information on using the GetStages
  4430  // API call, and error handling.
  4431  //
  4432  // This method is useful when you want to inject custom logic or configuration
  4433  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4434  //
  4435  //
  4436  //    // Example sending a request using the GetStagesRequest method.
  4437  //    req, resp := client.GetStagesRequest(params)
  4438  //
  4439  //    err := req.Send()
  4440  //    if err == nil { // resp is now filled
  4441  //        fmt.Println(resp)
  4442  //    }
  4443  //
  4444  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStages
  4445  func (c *ApiGatewayV2) GetStagesRequest(input *GetStagesInput) (req *request.Request, output *GetStagesOutput) {
  4446  	op := &request.Operation{
  4447  		Name:       opGetStages,
  4448  		HTTPMethod: "GET",
  4449  		HTTPPath:   "/v2/apis/{apiId}/stages",
  4450  	}
  4451  
  4452  	if input == nil {
  4453  		input = &GetStagesInput{}
  4454  	}
  4455  
  4456  	output = &GetStagesOutput{}
  4457  	req = c.newRequest(op, input, output)
  4458  	return
  4459  }
  4460  
  4461  // GetStages API operation for AmazonApiGatewayV2.
  4462  //
  4463  // Gets the Stages for an API.
  4464  //
  4465  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4466  // with awserr.Error's Code and Message methods to get detailed information about
  4467  // the error.
  4468  //
  4469  // See the AWS API reference guide for AmazonApiGatewayV2's
  4470  // API operation GetStages for usage and error information.
  4471  //
  4472  // Returned Error Types:
  4473  //   * NotFoundException
  4474  //   The resource specified in the request was not found. See the message field
  4475  //   for more information.
  4476  //
  4477  //   * TooManyRequestsException
  4478  //   A limit has been exceeded. See the accompanying error message for details.
  4479  //
  4480  //   * BadRequestException
  4481  //   The request is not valid, for example, the input is incomplete or incorrect.
  4482  //   See the accompanying error message for details.
  4483  //
  4484  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetStages
  4485  func (c *ApiGatewayV2) GetStages(input *GetStagesInput) (*GetStagesOutput, error) {
  4486  	req, out := c.GetStagesRequest(input)
  4487  	return out, req.Send()
  4488  }
  4489  
  4490  // GetStagesWithContext is the same as GetStages with the addition of
  4491  // the ability to pass a context and additional request options.
  4492  //
  4493  // See GetStages for details on how to use this API operation.
  4494  //
  4495  // The context must be non-nil and will be used for request cancellation. If
  4496  // the context is nil a panic will occur. In the future the SDK may create
  4497  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4498  // for more information on using Contexts.
  4499  func (c *ApiGatewayV2) GetStagesWithContext(ctx aws.Context, input *GetStagesInput, opts ...request.Option) (*GetStagesOutput, error) {
  4500  	req, out := c.GetStagesRequest(input)
  4501  	req.SetContext(ctx)
  4502  	req.ApplyOptions(opts...)
  4503  	return out, req.Send()
  4504  }
  4505  
  4506  const opGetTags = "GetTags"
  4507  
  4508  // GetTagsRequest generates a "aws/request.Request" representing the
  4509  // client's request for the GetTags operation. The "output" return
  4510  // value will be populated with the request's response once the request completes
  4511  // successfully.
  4512  //
  4513  // Use "Send" method on the returned Request to send the API call to the service.
  4514  // the "output" return value is not valid until after Send returns without error.
  4515  //
  4516  // See GetTags for more information on using the GetTags
  4517  // API call, and error handling.
  4518  //
  4519  // This method is useful when you want to inject custom logic or configuration
  4520  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4521  //
  4522  //
  4523  //    // Example sending a request using the GetTagsRequest method.
  4524  //    req, resp := client.GetTagsRequest(params)
  4525  //
  4526  //    err := req.Send()
  4527  //    if err == nil { // resp is now filled
  4528  //        fmt.Println(resp)
  4529  //    }
  4530  //
  4531  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetTags
  4532  func (c *ApiGatewayV2) GetTagsRequest(input *GetTagsInput) (req *request.Request, output *GetTagsOutput) {
  4533  	op := &request.Operation{
  4534  		Name:       opGetTags,
  4535  		HTTPMethod: "GET",
  4536  		HTTPPath:   "/v2/tags/{resource-arn}",
  4537  	}
  4538  
  4539  	if input == nil {
  4540  		input = &GetTagsInput{}
  4541  	}
  4542  
  4543  	output = &GetTagsOutput{}
  4544  	req = c.newRequest(op, input, output)
  4545  	return
  4546  }
  4547  
  4548  // GetTags API operation for AmazonApiGatewayV2.
  4549  //
  4550  // Gets a collection of Tag resources.
  4551  //
  4552  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4553  // with awserr.Error's Code and Message methods to get detailed information about
  4554  // the error.
  4555  //
  4556  // See the AWS API reference guide for AmazonApiGatewayV2's
  4557  // API operation GetTags for usage and error information.
  4558  //
  4559  // Returned Error Types:
  4560  //   * NotFoundException
  4561  //   The resource specified in the request was not found. See the message field
  4562  //   for more information.
  4563  //
  4564  //   * TooManyRequestsException
  4565  //   A limit has been exceeded. See the accompanying error message for details.
  4566  //
  4567  //   * BadRequestException
  4568  //   The request is not valid, for example, the input is incomplete or incorrect.
  4569  //   See the accompanying error message for details.
  4570  //
  4571  //   * ConflictException
  4572  //   The requested operation would cause a conflict with the current state of
  4573  //   a service resource associated with the request. Resolve the conflict before
  4574  //   retrying this request. See the accompanying error message for details.
  4575  //
  4576  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetTags
  4577  func (c *ApiGatewayV2) GetTags(input *GetTagsInput) (*GetTagsOutput, error) {
  4578  	req, out := c.GetTagsRequest(input)
  4579  	return out, req.Send()
  4580  }
  4581  
  4582  // GetTagsWithContext is the same as GetTags with the addition of
  4583  // the ability to pass a context and additional request options.
  4584  //
  4585  // See GetTags for details on how to use this API operation.
  4586  //
  4587  // The context must be non-nil and will be used for request cancellation. If
  4588  // the context is nil a panic will occur. In the future the SDK may create
  4589  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4590  // for more information on using Contexts.
  4591  func (c *ApiGatewayV2) GetTagsWithContext(ctx aws.Context, input *GetTagsInput, opts ...request.Option) (*GetTagsOutput, error) {
  4592  	req, out := c.GetTagsRequest(input)
  4593  	req.SetContext(ctx)
  4594  	req.ApplyOptions(opts...)
  4595  	return out, req.Send()
  4596  }
  4597  
  4598  const opGetVpcLink = "GetVpcLink"
  4599  
  4600  // GetVpcLinkRequest generates a "aws/request.Request" representing the
  4601  // client's request for the GetVpcLink operation. The "output" return
  4602  // value will be populated with the request's response once the request completes
  4603  // successfully.
  4604  //
  4605  // Use "Send" method on the returned Request to send the API call to the service.
  4606  // the "output" return value is not valid until after Send returns without error.
  4607  //
  4608  // See GetVpcLink for more information on using the GetVpcLink
  4609  // API call, and error handling.
  4610  //
  4611  // This method is useful when you want to inject custom logic or configuration
  4612  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4613  //
  4614  //
  4615  //    // Example sending a request using the GetVpcLinkRequest method.
  4616  //    req, resp := client.GetVpcLinkRequest(params)
  4617  //
  4618  //    err := req.Send()
  4619  //    if err == nil { // resp is now filled
  4620  //        fmt.Println(resp)
  4621  //    }
  4622  //
  4623  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLink
  4624  func (c *ApiGatewayV2) GetVpcLinkRequest(input *GetVpcLinkInput) (req *request.Request, output *GetVpcLinkOutput) {
  4625  	op := &request.Operation{
  4626  		Name:       opGetVpcLink,
  4627  		HTTPMethod: "GET",
  4628  		HTTPPath:   "/v2/vpclinks/{vpcLinkId}",
  4629  	}
  4630  
  4631  	if input == nil {
  4632  		input = &GetVpcLinkInput{}
  4633  	}
  4634  
  4635  	output = &GetVpcLinkOutput{}
  4636  	req = c.newRequest(op, input, output)
  4637  	return
  4638  }
  4639  
  4640  // GetVpcLink API operation for AmazonApiGatewayV2.
  4641  //
  4642  // Gets a VPC link.
  4643  //
  4644  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4645  // with awserr.Error's Code and Message methods to get detailed information about
  4646  // the error.
  4647  //
  4648  // See the AWS API reference guide for AmazonApiGatewayV2's
  4649  // API operation GetVpcLink for usage and error information.
  4650  //
  4651  // Returned Error Types:
  4652  //   * NotFoundException
  4653  //   The resource specified in the request was not found. See the message field
  4654  //   for more information.
  4655  //
  4656  //   * TooManyRequestsException
  4657  //   A limit has been exceeded. See the accompanying error message for details.
  4658  //
  4659  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLink
  4660  func (c *ApiGatewayV2) GetVpcLink(input *GetVpcLinkInput) (*GetVpcLinkOutput, error) {
  4661  	req, out := c.GetVpcLinkRequest(input)
  4662  	return out, req.Send()
  4663  }
  4664  
  4665  // GetVpcLinkWithContext is the same as GetVpcLink with the addition of
  4666  // the ability to pass a context and additional request options.
  4667  //
  4668  // See GetVpcLink for details on how to use this API operation.
  4669  //
  4670  // The context must be non-nil and will be used for request cancellation. If
  4671  // the context is nil a panic will occur. In the future the SDK may create
  4672  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4673  // for more information on using Contexts.
  4674  func (c *ApiGatewayV2) GetVpcLinkWithContext(ctx aws.Context, input *GetVpcLinkInput, opts ...request.Option) (*GetVpcLinkOutput, error) {
  4675  	req, out := c.GetVpcLinkRequest(input)
  4676  	req.SetContext(ctx)
  4677  	req.ApplyOptions(opts...)
  4678  	return out, req.Send()
  4679  }
  4680  
  4681  const opGetVpcLinks = "GetVpcLinks"
  4682  
  4683  // GetVpcLinksRequest generates a "aws/request.Request" representing the
  4684  // client's request for the GetVpcLinks operation. The "output" return
  4685  // value will be populated with the request's response once the request completes
  4686  // successfully.
  4687  //
  4688  // Use "Send" method on the returned Request to send the API call to the service.
  4689  // the "output" return value is not valid until after Send returns without error.
  4690  //
  4691  // See GetVpcLinks for more information on using the GetVpcLinks
  4692  // API call, and error handling.
  4693  //
  4694  // This method is useful when you want to inject custom logic or configuration
  4695  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4696  //
  4697  //
  4698  //    // Example sending a request using the GetVpcLinksRequest method.
  4699  //    req, resp := client.GetVpcLinksRequest(params)
  4700  //
  4701  //    err := req.Send()
  4702  //    if err == nil { // resp is now filled
  4703  //        fmt.Println(resp)
  4704  //    }
  4705  //
  4706  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLinks
  4707  func (c *ApiGatewayV2) GetVpcLinksRequest(input *GetVpcLinksInput) (req *request.Request, output *GetVpcLinksOutput) {
  4708  	op := &request.Operation{
  4709  		Name:       opGetVpcLinks,
  4710  		HTTPMethod: "GET",
  4711  		HTTPPath:   "/v2/vpclinks",
  4712  	}
  4713  
  4714  	if input == nil {
  4715  		input = &GetVpcLinksInput{}
  4716  	}
  4717  
  4718  	output = &GetVpcLinksOutput{}
  4719  	req = c.newRequest(op, input, output)
  4720  	return
  4721  }
  4722  
  4723  // GetVpcLinks API operation for AmazonApiGatewayV2.
  4724  //
  4725  // Gets a collection of VPC links.
  4726  //
  4727  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4728  // with awserr.Error's Code and Message methods to get detailed information about
  4729  // the error.
  4730  //
  4731  // See the AWS API reference guide for AmazonApiGatewayV2's
  4732  // API operation GetVpcLinks for usage and error information.
  4733  //
  4734  // Returned Error Types:
  4735  //   * BadRequestException
  4736  //   The request is not valid, for example, the input is incomplete or incorrect.
  4737  //   See the accompanying error message for details.
  4738  //
  4739  //   * TooManyRequestsException
  4740  //   A limit has been exceeded. See the accompanying error message for details.
  4741  //
  4742  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/GetVpcLinks
  4743  func (c *ApiGatewayV2) GetVpcLinks(input *GetVpcLinksInput) (*GetVpcLinksOutput, error) {
  4744  	req, out := c.GetVpcLinksRequest(input)
  4745  	return out, req.Send()
  4746  }
  4747  
  4748  // GetVpcLinksWithContext is the same as GetVpcLinks with the addition of
  4749  // the ability to pass a context and additional request options.
  4750  //
  4751  // See GetVpcLinks for details on how to use this API operation.
  4752  //
  4753  // The context must be non-nil and will be used for request cancellation. If
  4754  // the context is nil a panic will occur. In the future the SDK may create
  4755  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4756  // for more information on using Contexts.
  4757  func (c *ApiGatewayV2) GetVpcLinksWithContext(ctx aws.Context, input *GetVpcLinksInput, opts ...request.Option) (*GetVpcLinksOutput, error) {
  4758  	req, out := c.GetVpcLinksRequest(input)
  4759  	req.SetContext(ctx)
  4760  	req.ApplyOptions(opts...)
  4761  	return out, req.Send()
  4762  }
  4763  
  4764  const opImportApi = "ImportApi"
  4765  
  4766  // ImportApiRequest generates a "aws/request.Request" representing the
  4767  // client's request for the ImportApi operation. The "output" return
  4768  // value will be populated with the request's response once the request completes
  4769  // successfully.
  4770  //
  4771  // Use "Send" method on the returned Request to send the API call to the service.
  4772  // the "output" return value is not valid until after Send returns without error.
  4773  //
  4774  // See ImportApi for more information on using the ImportApi
  4775  // API call, and error handling.
  4776  //
  4777  // This method is useful when you want to inject custom logic or configuration
  4778  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4779  //
  4780  //
  4781  //    // Example sending a request using the ImportApiRequest method.
  4782  //    req, resp := client.ImportApiRequest(params)
  4783  //
  4784  //    err := req.Send()
  4785  //    if err == nil { // resp is now filled
  4786  //        fmt.Println(resp)
  4787  //    }
  4788  //
  4789  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ImportApi
  4790  func (c *ApiGatewayV2) ImportApiRequest(input *ImportApiInput) (req *request.Request, output *ImportApiOutput) {
  4791  	op := &request.Operation{
  4792  		Name:       opImportApi,
  4793  		HTTPMethod: "PUT",
  4794  		HTTPPath:   "/v2/apis",
  4795  	}
  4796  
  4797  	if input == nil {
  4798  		input = &ImportApiInput{}
  4799  	}
  4800  
  4801  	output = &ImportApiOutput{}
  4802  	req = c.newRequest(op, input, output)
  4803  	return
  4804  }
  4805  
  4806  // ImportApi API operation for AmazonApiGatewayV2.
  4807  //
  4808  // Imports an API.
  4809  //
  4810  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4811  // with awserr.Error's Code and Message methods to get detailed information about
  4812  // the error.
  4813  //
  4814  // See the AWS API reference guide for AmazonApiGatewayV2's
  4815  // API operation ImportApi for usage and error information.
  4816  //
  4817  // Returned Error Types:
  4818  //   * NotFoundException
  4819  //   The resource specified in the request was not found. See the message field
  4820  //   for more information.
  4821  //
  4822  //   * TooManyRequestsException
  4823  //   A limit has been exceeded. See the accompanying error message for details.
  4824  //
  4825  //   * BadRequestException
  4826  //   The request is not valid, for example, the input is incomplete or incorrect.
  4827  //   See the accompanying error message for details.
  4828  //
  4829  //   * ConflictException
  4830  //   The requested operation would cause a conflict with the current state of
  4831  //   a service resource associated with the request. Resolve the conflict before
  4832  //   retrying this request. See the accompanying error message for details.
  4833  //
  4834  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ImportApi
  4835  func (c *ApiGatewayV2) ImportApi(input *ImportApiInput) (*ImportApiOutput, error) {
  4836  	req, out := c.ImportApiRequest(input)
  4837  	return out, req.Send()
  4838  }
  4839  
  4840  // ImportApiWithContext is the same as ImportApi with the addition of
  4841  // the ability to pass a context and additional request options.
  4842  //
  4843  // See ImportApi for details on how to use this API operation.
  4844  //
  4845  // The context must be non-nil and will be used for request cancellation. If
  4846  // the context is nil a panic will occur. In the future the SDK may create
  4847  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4848  // for more information on using Contexts.
  4849  func (c *ApiGatewayV2) ImportApiWithContext(ctx aws.Context, input *ImportApiInput, opts ...request.Option) (*ImportApiOutput, error) {
  4850  	req, out := c.ImportApiRequest(input)
  4851  	req.SetContext(ctx)
  4852  	req.ApplyOptions(opts...)
  4853  	return out, req.Send()
  4854  }
  4855  
  4856  const opReimportApi = "ReimportApi"
  4857  
  4858  // ReimportApiRequest generates a "aws/request.Request" representing the
  4859  // client's request for the ReimportApi operation. The "output" return
  4860  // value will be populated with the request's response once the request completes
  4861  // successfully.
  4862  //
  4863  // Use "Send" method on the returned Request to send the API call to the service.
  4864  // the "output" return value is not valid until after Send returns without error.
  4865  //
  4866  // See ReimportApi for more information on using the ReimportApi
  4867  // API call, and error handling.
  4868  //
  4869  // This method is useful when you want to inject custom logic or configuration
  4870  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4871  //
  4872  //
  4873  //    // Example sending a request using the ReimportApiRequest method.
  4874  //    req, resp := client.ReimportApiRequest(params)
  4875  //
  4876  //    err := req.Send()
  4877  //    if err == nil { // resp is now filled
  4878  //        fmt.Println(resp)
  4879  //    }
  4880  //
  4881  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ReimportApi
  4882  func (c *ApiGatewayV2) ReimportApiRequest(input *ReimportApiInput) (req *request.Request, output *ReimportApiOutput) {
  4883  	op := &request.Operation{
  4884  		Name:       opReimportApi,
  4885  		HTTPMethod: "PUT",
  4886  		HTTPPath:   "/v2/apis/{apiId}",
  4887  	}
  4888  
  4889  	if input == nil {
  4890  		input = &ReimportApiInput{}
  4891  	}
  4892  
  4893  	output = &ReimportApiOutput{}
  4894  	req = c.newRequest(op, input, output)
  4895  	return
  4896  }
  4897  
  4898  // ReimportApi API operation for AmazonApiGatewayV2.
  4899  //
  4900  // Puts an Api resource.
  4901  //
  4902  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4903  // with awserr.Error's Code and Message methods to get detailed information about
  4904  // the error.
  4905  //
  4906  // See the AWS API reference guide for AmazonApiGatewayV2's
  4907  // API operation ReimportApi for usage and error information.
  4908  //
  4909  // Returned Error Types:
  4910  //   * NotFoundException
  4911  //   The resource specified in the request was not found. See the message field
  4912  //   for more information.
  4913  //
  4914  //   * TooManyRequestsException
  4915  //   A limit has been exceeded. See the accompanying error message for details.
  4916  //
  4917  //   * BadRequestException
  4918  //   The request is not valid, for example, the input is incomplete or incorrect.
  4919  //   See the accompanying error message for details.
  4920  //
  4921  //   * ConflictException
  4922  //   The requested operation would cause a conflict with the current state of
  4923  //   a service resource associated with the request. Resolve the conflict before
  4924  //   retrying this request. See the accompanying error message for details.
  4925  //
  4926  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ReimportApi
  4927  func (c *ApiGatewayV2) ReimportApi(input *ReimportApiInput) (*ReimportApiOutput, error) {
  4928  	req, out := c.ReimportApiRequest(input)
  4929  	return out, req.Send()
  4930  }
  4931  
  4932  // ReimportApiWithContext is the same as ReimportApi with the addition of
  4933  // the ability to pass a context and additional request options.
  4934  //
  4935  // See ReimportApi for details on how to use this API operation.
  4936  //
  4937  // The context must be non-nil and will be used for request cancellation. If
  4938  // the context is nil a panic will occur. In the future the SDK may create
  4939  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4940  // for more information on using Contexts.
  4941  func (c *ApiGatewayV2) ReimportApiWithContext(ctx aws.Context, input *ReimportApiInput, opts ...request.Option) (*ReimportApiOutput, error) {
  4942  	req, out := c.ReimportApiRequest(input)
  4943  	req.SetContext(ctx)
  4944  	req.ApplyOptions(opts...)
  4945  	return out, req.Send()
  4946  }
  4947  
  4948  const opResetAuthorizersCache = "ResetAuthorizersCache"
  4949  
  4950  // ResetAuthorizersCacheRequest generates a "aws/request.Request" representing the
  4951  // client's request for the ResetAuthorizersCache operation. The "output" return
  4952  // value will be populated with the request's response once the request completes
  4953  // successfully.
  4954  //
  4955  // Use "Send" method on the returned Request to send the API call to the service.
  4956  // the "output" return value is not valid until after Send returns without error.
  4957  //
  4958  // See ResetAuthorizersCache for more information on using the ResetAuthorizersCache
  4959  // API call, and error handling.
  4960  //
  4961  // This method is useful when you want to inject custom logic or configuration
  4962  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4963  //
  4964  //
  4965  //    // Example sending a request using the ResetAuthorizersCacheRequest method.
  4966  //    req, resp := client.ResetAuthorizersCacheRequest(params)
  4967  //
  4968  //    err := req.Send()
  4969  //    if err == nil { // resp is now filled
  4970  //        fmt.Println(resp)
  4971  //    }
  4972  //
  4973  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ResetAuthorizersCache
  4974  func (c *ApiGatewayV2) ResetAuthorizersCacheRequest(input *ResetAuthorizersCacheInput) (req *request.Request, output *ResetAuthorizersCacheOutput) {
  4975  	op := &request.Operation{
  4976  		Name:       opResetAuthorizersCache,
  4977  		HTTPMethod: "DELETE",
  4978  		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}/cache/authorizers",
  4979  	}
  4980  
  4981  	if input == nil {
  4982  		input = &ResetAuthorizersCacheInput{}
  4983  	}
  4984  
  4985  	output = &ResetAuthorizersCacheOutput{}
  4986  	req = c.newRequest(op, input, output)
  4987  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4988  	return
  4989  }
  4990  
  4991  // ResetAuthorizersCache API operation for AmazonApiGatewayV2.
  4992  //
  4993  // Resets all authorizer cache entries for the specified stage. Supported only
  4994  // for HTTP API Lambda authorizers.
  4995  //
  4996  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4997  // with awserr.Error's Code and Message methods to get detailed information about
  4998  // the error.
  4999  //
  5000  // See the AWS API reference guide for AmazonApiGatewayV2's
  5001  // API operation ResetAuthorizersCache for usage and error information.
  5002  //
  5003  // Returned Error Types:
  5004  //   * NotFoundException
  5005  //   The resource specified in the request was not found. See the message field
  5006  //   for more information.
  5007  //
  5008  //   * TooManyRequestsException
  5009  //   A limit has been exceeded. See the accompanying error message for details.
  5010  //
  5011  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/ResetAuthorizersCache
  5012  func (c *ApiGatewayV2) ResetAuthorizersCache(input *ResetAuthorizersCacheInput) (*ResetAuthorizersCacheOutput, error) {
  5013  	req, out := c.ResetAuthorizersCacheRequest(input)
  5014  	return out, req.Send()
  5015  }
  5016  
  5017  // ResetAuthorizersCacheWithContext is the same as ResetAuthorizersCache with the addition of
  5018  // the ability to pass a context and additional request options.
  5019  //
  5020  // See ResetAuthorizersCache for details on how to use this API operation.
  5021  //
  5022  // The context must be non-nil and will be used for request cancellation. If
  5023  // the context is nil a panic will occur. In the future the SDK may create
  5024  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5025  // for more information on using Contexts.
  5026  func (c *ApiGatewayV2) ResetAuthorizersCacheWithContext(ctx aws.Context, input *ResetAuthorizersCacheInput, opts ...request.Option) (*ResetAuthorizersCacheOutput, error) {
  5027  	req, out := c.ResetAuthorizersCacheRequest(input)
  5028  	req.SetContext(ctx)
  5029  	req.ApplyOptions(opts...)
  5030  	return out, req.Send()
  5031  }
  5032  
  5033  const opTagResource = "TagResource"
  5034  
  5035  // TagResourceRequest generates a "aws/request.Request" representing the
  5036  // client's request for the TagResource operation. The "output" return
  5037  // value will be populated with the request's response once the request completes
  5038  // successfully.
  5039  //
  5040  // Use "Send" method on the returned Request to send the API call to the service.
  5041  // the "output" return value is not valid until after Send returns without error.
  5042  //
  5043  // See TagResource for more information on using the TagResource
  5044  // API call, and error handling.
  5045  //
  5046  // This method is useful when you want to inject custom logic or configuration
  5047  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5048  //
  5049  //
  5050  //    // Example sending a request using the TagResourceRequest method.
  5051  //    req, resp := client.TagResourceRequest(params)
  5052  //
  5053  //    err := req.Send()
  5054  //    if err == nil { // resp is now filled
  5055  //        fmt.Println(resp)
  5056  //    }
  5057  //
  5058  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/TagResource
  5059  func (c *ApiGatewayV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  5060  	op := &request.Operation{
  5061  		Name:       opTagResource,
  5062  		HTTPMethod: "POST",
  5063  		HTTPPath:   "/v2/tags/{resource-arn}",
  5064  	}
  5065  
  5066  	if input == nil {
  5067  		input = &TagResourceInput{}
  5068  	}
  5069  
  5070  	output = &TagResourceOutput{}
  5071  	req = c.newRequest(op, input, output)
  5072  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5073  	return
  5074  }
  5075  
  5076  // TagResource API operation for AmazonApiGatewayV2.
  5077  //
  5078  // Creates a new Tag resource to represent a tag.
  5079  //
  5080  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5081  // with awserr.Error's Code and Message methods to get detailed information about
  5082  // the error.
  5083  //
  5084  // See the AWS API reference guide for AmazonApiGatewayV2's
  5085  // API operation TagResource for usage and error information.
  5086  //
  5087  // Returned Error Types:
  5088  //   * NotFoundException
  5089  //   The resource specified in the request was not found. See the message field
  5090  //   for more information.
  5091  //
  5092  //   * TooManyRequestsException
  5093  //   A limit has been exceeded. See the accompanying error message for details.
  5094  //
  5095  //   * BadRequestException
  5096  //   The request is not valid, for example, the input is incomplete or incorrect.
  5097  //   See the accompanying error message for details.
  5098  //
  5099  //   * ConflictException
  5100  //   The requested operation would cause a conflict with the current state of
  5101  //   a service resource associated with the request. Resolve the conflict before
  5102  //   retrying this request. See the accompanying error message for details.
  5103  //
  5104  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/TagResource
  5105  func (c *ApiGatewayV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  5106  	req, out := c.TagResourceRequest(input)
  5107  	return out, req.Send()
  5108  }
  5109  
  5110  // TagResourceWithContext is the same as TagResource with the addition of
  5111  // the ability to pass a context and additional request options.
  5112  //
  5113  // See TagResource for details on how to use this API operation.
  5114  //
  5115  // The context must be non-nil and will be used for request cancellation. If
  5116  // the context is nil a panic will occur. In the future the SDK may create
  5117  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5118  // for more information on using Contexts.
  5119  func (c *ApiGatewayV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  5120  	req, out := c.TagResourceRequest(input)
  5121  	req.SetContext(ctx)
  5122  	req.ApplyOptions(opts...)
  5123  	return out, req.Send()
  5124  }
  5125  
  5126  const opUntagResource = "UntagResource"
  5127  
  5128  // UntagResourceRequest generates a "aws/request.Request" representing the
  5129  // client's request for the UntagResource operation. The "output" return
  5130  // value will be populated with the request's response once the request completes
  5131  // successfully.
  5132  //
  5133  // Use "Send" method on the returned Request to send the API call to the service.
  5134  // the "output" return value is not valid until after Send returns without error.
  5135  //
  5136  // See UntagResource for more information on using the UntagResource
  5137  // API call, and error handling.
  5138  //
  5139  // This method is useful when you want to inject custom logic or configuration
  5140  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5141  //
  5142  //
  5143  //    // Example sending a request using the UntagResourceRequest method.
  5144  //    req, resp := client.UntagResourceRequest(params)
  5145  //
  5146  //    err := req.Send()
  5147  //    if err == nil { // resp is now filled
  5148  //        fmt.Println(resp)
  5149  //    }
  5150  //
  5151  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UntagResource
  5152  func (c *ApiGatewayV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  5153  	op := &request.Operation{
  5154  		Name:       opUntagResource,
  5155  		HTTPMethod: "DELETE",
  5156  		HTTPPath:   "/v2/tags/{resource-arn}",
  5157  	}
  5158  
  5159  	if input == nil {
  5160  		input = &UntagResourceInput{}
  5161  	}
  5162  
  5163  	output = &UntagResourceOutput{}
  5164  	req = c.newRequest(op, input, output)
  5165  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5166  	return
  5167  }
  5168  
  5169  // UntagResource API operation for AmazonApiGatewayV2.
  5170  //
  5171  // Deletes a Tag.
  5172  //
  5173  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5174  // with awserr.Error's Code and Message methods to get detailed information about
  5175  // the error.
  5176  //
  5177  // See the AWS API reference guide for AmazonApiGatewayV2's
  5178  // API operation UntagResource for usage and error information.
  5179  //
  5180  // Returned Error Types:
  5181  //   * NotFoundException
  5182  //   The resource specified in the request was not found. See the message field
  5183  //   for more information.
  5184  //
  5185  //   * TooManyRequestsException
  5186  //   A limit has been exceeded. See the accompanying error message for details.
  5187  //
  5188  //   * BadRequestException
  5189  //   The request is not valid, for example, the input is incomplete or incorrect.
  5190  //   See the accompanying error message for details.
  5191  //
  5192  //   * ConflictException
  5193  //   The requested operation would cause a conflict with the current state of
  5194  //   a service resource associated with the request. Resolve the conflict before
  5195  //   retrying this request. See the accompanying error message for details.
  5196  //
  5197  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UntagResource
  5198  func (c *ApiGatewayV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  5199  	req, out := c.UntagResourceRequest(input)
  5200  	return out, req.Send()
  5201  }
  5202  
  5203  // UntagResourceWithContext is the same as UntagResource with the addition of
  5204  // the ability to pass a context and additional request options.
  5205  //
  5206  // See UntagResource for details on how to use this API operation.
  5207  //
  5208  // The context must be non-nil and will be used for request cancellation. If
  5209  // the context is nil a panic will occur. In the future the SDK may create
  5210  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5211  // for more information on using Contexts.
  5212  func (c *ApiGatewayV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  5213  	req, out := c.UntagResourceRequest(input)
  5214  	req.SetContext(ctx)
  5215  	req.ApplyOptions(opts...)
  5216  	return out, req.Send()
  5217  }
  5218  
  5219  const opUpdateApi = "UpdateApi"
  5220  
  5221  // UpdateApiRequest generates a "aws/request.Request" representing the
  5222  // client's request for the UpdateApi operation. The "output" return
  5223  // value will be populated with the request's response once the request completes
  5224  // successfully.
  5225  //
  5226  // Use "Send" method on the returned Request to send the API call to the service.
  5227  // the "output" return value is not valid until after Send returns without error.
  5228  //
  5229  // See UpdateApi for more information on using the UpdateApi
  5230  // API call, and error handling.
  5231  //
  5232  // This method is useful when you want to inject custom logic or configuration
  5233  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5234  //
  5235  //
  5236  //    // Example sending a request using the UpdateApiRequest method.
  5237  //    req, resp := client.UpdateApiRequest(params)
  5238  //
  5239  //    err := req.Send()
  5240  //    if err == nil { // resp is now filled
  5241  //        fmt.Println(resp)
  5242  //    }
  5243  //
  5244  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApi
  5245  func (c *ApiGatewayV2) UpdateApiRequest(input *UpdateApiInput) (req *request.Request, output *UpdateApiOutput) {
  5246  	op := &request.Operation{
  5247  		Name:       opUpdateApi,
  5248  		HTTPMethod: "PATCH",
  5249  		HTTPPath:   "/v2/apis/{apiId}",
  5250  	}
  5251  
  5252  	if input == nil {
  5253  		input = &UpdateApiInput{}
  5254  	}
  5255  
  5256  	output = &UpdateApiOutput{}
  5257  	req = c.newRequest(op, input, output)
  5258  	return
  5259  }
  5260  
  5261  // UpdateApi API operation for AmazonApiGatewayV2.
  5262  //
  5263  // Updates an Api resource.
  5264  //
  5265  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5266  // with awserr.Error's Code and Message methods to get detailed information about
  5267  // the error.
  5268  //
  5269  // See the AWS API reference guide for AmazonApiGatewayV2's
  5270  // API operation UpdateApi for usage and error information.
  5271  //
  5272  // Returned Error Types:
  5273  //   * NotFoundException
  5274  //   The resource specified in the request was not found. See the message field
  5275  //   for more information.
  5276  //
  5277  //   * TooManyRequestsException
  5278  //   A limit has been exceeded. See the accompanying error message for details.
  5279  //
  5280  //   * BadRequestException
  5281  //   The request is not valid, for example, the input is incomplete or incorrect.
  5282  //   See the accompanying error message for details.
  5283  //
  5284  //   * ConflictException
  5285  //   The requested operation would cause a conflict with the current state of
  5286  //   a service resource associated with the request. Resolve the conflict before
  5287  //   retrying this request. See the accompanying error message for details.
  5288  //
  5289  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApi
  5290  func (c *ApiGatewayV2) UpdateApi(input *UpdateApiInput) (*UpdateApiOutput, error) {
  5291  	req, out := c.UpdateApiRequest(input)
  5292  	return out, req.Send()
  5293  }
  5294  
  5295  // UpdateApiWithContext is the same as UpdateApi with the addition of
  5296  // the ability to pass a context and additional request options.
  5297  //
  5298  // See UpdateApi for details on how to use this API operation.
  5299  //
  5300  // The context must be non-nil and will be used for request cancellation. If
  5301  // the context is nil a panic will occur. In the future the SDK may create
  5302  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5303  // for more information on using Contexts.
  5304  func (c *ApiGatewayV2) UpdateApiWithContext(ctx aws.Context, input *UpdateApiInput, opts ...request.Option) (*UpdateApiOutput, error) {
  5305  	req, out := c.UpdateApiRequest(input)
  5306  	req.SetContext(ctx)
  5307  	req.ApplyOptions(opts...)
  5308  	return out, req.Send()
  5309  }
  5310  
  5311  const opUpdateApiMapping = "UpdateApiMapping"
  5312  
  5313  // UpdateApiMappingRequest generates a "aws/request.Request" representing the
  5314  // client's request for the UpdateApiMapping operation. The "output" return
  5315  // value will be populated with the request's response once the request completes
  5316  // successfully.
  5317  //
  5318  // Use "Send" method on the returned Request to send the API call to the service.
  5319  // the "output" return value is not valid until after Send returns without error.
  5320  //
  5321  // See UpdateApiMapping for more information on using the UpdateApiMapping
  5322  // API call, and error handling.
  5323  //
  5324  // This method is useful when you want to inject custom logic or configuration
  5325  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5326  //
  5327  //
  5328  //    // Example sending a request using the UpdateApiMappingRequest method.
  5329  //    req, resp := client.UpdateApiMappingRequest(params)
  5330  //
  5331  //    err := req.Send()
  5332  //    if err == nil { // resp is now filled
  5333  //        fmt.Println(resp)
  5334  //    }
  5335  //
  5336  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApiMapping
  5337  func (c *ApiGatewayV2) UpdateApiMappingRequest(input *UpdateApiMappingInput) (req *request.Request, output *UpdateApiMappingOutput) {
  5338  	op := &request.Operation{
  5339  		Name:       opUpdateApiMapping,
  5340  		HTTPMethod: "PATCH",
  5341  		HTTPPath:   "/v2/domainnames/{domainName}/apimappings/{apiMappingId}",
  5342  	}
  5343  
  5344  	if input == nil {
  5345  		input = &UpdateApiMappingInput{}
  5346  	}
  5347  
  5348  	output = &UpdateApiMappingOutput{}
  5349  	req = c.newRequest(op, input, output)
  5350  	return
  5351  }
  5352  
  5353  // UpdateApiMapping API operation for AmazonApiGatewayV2.
  5354  //
  5355  // The API mapping.
  5356  //
  5357  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5358  // with awserr.Error's Code and Message methods to get detailed information about
  5359  // the error.
  5360  //
  5361  // See the AWS API reference guide for AmazonApiGatewayV2's
  5362  // API operation UpdateApiMapping for usage and error information.
  5363  //
  5364  // Returned Error Types:
  5365  //   * NotFoundException
  5366  //   The resource specified in the request was not found. See the message field
  5367  //   for more information.
  5368  //
  5369  //   * TooManyRequestsException
  5370  //   A limit has been exceeded. See the accompanying error message for details.
  5371  //
  5372  //   * BadRequestException
  5373  //   The request is not valid, for example, the input is incomplete or incorrect.
  5374  //   See the accompanying error message for details.
  5375  //
  5376  //   * ConflictException
  5377  //   The requested operation would cause a conflict with the current state of
  5378  //   a service resource associated with the request. Resolve the conflict before
  5379  //   retrying this request. See the accompanying error message for details.
  5380  //
  5381  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateApiMapping
  5382  func (c *ApiGatewayV2) UpdateApiMapping(input *UpdateApiMappingInput) (*UpdateApiMappingOutput, error) {
  5383  	req, out := c.UpdateApiMappingRequest(input)
  5384  	return out, req.Send()
  5385  }
  5386  
  5387  // UpdateApiMappingWithContext is the same as UpdateApiMapping with the addition of
  5388  // the ability to pass a context and additional request options.
  5389  //
  5390  // See UpdateApiMapping for details on how to use this API operation.
  5391  //
  5392  // The context must be non-nil and will be used for request cancellation. If
  5393  // the context is nil a panic will occur. In the future the SDK may create
  5394  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5395  // for more information on using Contexts.
  5396  func (c *ApiGatewayV2) UpdateApiMappingWithContext(ctx aws.Context, input *UpdateApiMappingInput, opts ...request.Option) (*UpdateApiMappingOutput, error) {
  5397  	req, out := c.UpdateApiMappingRequest(input)
  5398  	req.SetContext(ctx)
  5399  	req.ApplyOptions(opts...)
  5400  	return out, req.Send()
  5401  }
  5402  
  5403  const opUpdateAuthorizer = "UpdateAuthorizer"
  5404  
  5405  // UpdateAuthorizerRequest generates a "aws/request.Request" representing the
  5406  // client's request for the UpdateAuthorizer operation. The "output" return
  5407  // value will be populated with the request's response once the request completes
  5408  // successfully.
  5409  //
  5410  // Use "Send" method on the returned Request to send the API call to the service.
  5411  // the "output" return value is not valid until after Send returns without error.
  5412  //
  5413  // See UpdateAuthorizer for more information on using the UpdateAuthorizer
  5414  // API call, and error handling.
  5415  //
  5416  // This method is useful when you want to inject custom logic or configuration
  5417  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5418  //
  5419  //
  5420  //    // Example sending a request using the UpdateAuthorizerRequest method.
  5421  //    req, resp := client.UpdateAuthorizerRequest(params)
  5422  //
  5423  //    err := req.Send()
  5424  //    if err == nil { // resp is now filled
  5425  //        fmt.Println(resp)
  5426  //    }
  5427  //
  5428  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateAuthorizer
  5429  func (c *ApiGatewayV2) UpdateAuthorizerRequest(input *UpdateAuthorizerInput) (req *request.Request, output *UpdateAuthorizerOutput) {
  5430  	op := &request.Operation{
  5431  		Name:       opUpdateAuthorizer,
  5432  		HTTPMethod: "PATCH",
  5433  		HTTPPath:   "/v2/apis/{apiId}/authorizers/{authorizerId}",
  5434  	}
  5435  
  5436  	if input == nil {
  5437  		input = &UpdateAuthorizerInput{}
  5438  	}
  5439  
  5440  	output = &UpdateAuthorizerOutput{}
  5441  	req = c.newRequest(op, input, output)
  5442  	return
  5443  }
  5444  
  5445  // UpdateAuthorizer API operation for AmazonApiGatewayV2.
  5446  //
  5447  // Updates an Authorizer.
  5448  //
  5449  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5450  // with awserr.Error's Code and Message methods to get detailed information about
  5451  // the error.
  5452  //
  5453  // See the AWS API reference guide for AmazonApiGatewayV2's
  5454  // API operation UpdateAuthorizer for usage and error information.
  5455  //
  5456  // Returned Error Types:
  5457  //   * NotFoundException
  5458  //   The resource specified in the request was not found. See the message field
  5459  //   for more information.
  5460  //
  5461  //   * TooManyRequestsException
  5462  //   A limit has been exceeded. See the accompanying error message for details.
  5463  //
  5464  //   * BadRequestException
  5465  //   The request is not valid, for example, the input is incomplete or incorrect.
  5466  //   See the accompanying error message for details.
  5467  //
  5468  //   * ConflictException
  5469  //   The requested operation would cause a conflict with the current state of
  5470  //   a service resource associated with the request. Resolve the conflict before
  5471  //   retrying this request. See the accompanying error message for details.
  5472  //
  5473  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateAuthorizer
  5474  func (c *ApiGatewayV2) UpdateAuthorizer(input *UpdateAuthorizerInput) (*UpdateAuthorizerOutput, error) {
  5475  	req, out := c.UpdateAuthorizerRequest(input)
  5476  	return out, req.Send()
  5477  }
  5478  
  5479  // UpdateAuthorizerWithContext is the same as UpdateAuthorizer with the addition of
  5480  // the ability to pass a context and additional request options.
  5481  //
  5482  // See UpdateAuthorizer for details on how to use this API operation.
  5483  //
  5484  // The context must be non-nil and will be used for request cancellation. If
  5485  // the context is nil a panic will occur. In the future the SDK may create
  5486  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5487  // for more information on using Contexts.
  5488  func (c *ApiGatewayV2) UpdateAuthorizerWithContext(ctx aws.Context, input *UpdateAuthorizerInput, opts ...request.Option) (*UpdateAuthorizerOutput, error) {
  5489  	req, out := c.UpdateAuthorizerRequest(input)
  5490  	req.SetContext(ctx)
  5491  	req.ApplyOptions(opts...)
  5492  	return out, req.Send()
  5493  }
  5494  
  5495  const opUpdateDeployment = "UpdateDeployment"
  5496  
  5497  // UpdateDeploymentRequest generates a "aws/request.Request" representing the
  5498  // client's request for the UpdateDeployment operation. The "output" return
  5499  // value will be populated with the request's response once the request completes
  5500  // successfully.
  5501  //
  5502  // Use "Send" method on the returned Request to send the API call to the service.
  5503  // the "output" return value is not valid until after Send returns without error.
  5504  //
  5505  // See UpdateDeployment for more information on using the UpdateDeployment
  5506  // API call, and error handling.
  5507  //
  5508  // This method is useful when you want to inject custom logic or configuration
  5509  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5510  //
  5511  //
  5512  //    // Example sending a request using the UpdateDeploymentRequest method.
  5513  //    req, resp := client.UpdateDeploymentRequest(params)
  5514  //
  5515  //    err := req.Send()
  5516  //    if err == nil { // resp is now filled
  5517  //        fmt.Println(resp)
  5518  //    }
  5519  //
  5520  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDeployment
  5521  func (c *ApiGatewayV2) UpdateDeploymentRequest(input *UpdateDeploymentInput) (req *request.Request, output *UpdateDeploymentOutput) {
  5522  	op := &request.Operation{
  5523  		Name:       opUpdateDeployment,
  5524  		HTTPMethod: "PATCH",
  5525  		HTTPPath:   "/v2/apis/{apiId}/deployments/{deploymentId}",
  5526  	}
  5527  
  5528  	if input == nil {
  5529  		input = &UpdateDeploymentInput{}
  5530  	}
  5531  
  5532  	output = &UpdateDeploymentOutput{}
  5533  	req = c.newRequest(op, input, output)
  5534  	return
  5535  }
  5536  
  5537  // UpdateDeployment API operation for AmazonApiGatewayV2.
  5538  //
  5539  // Updates a Deployment.
  5540  //
  5541  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5542  // with awserr.Error's Code and Message methods to get detailed information about
  5543  // the error.
  5544  //
  5545  // See the AWS API reference guide for AmazonApiGatewayV2's
  5546  // API operation UpdateDeployment for usage and error information.
  5547  //
  5548  // Returned Error Types:
  5549  //   * NotFoundException
  5550  //   The resource specified in the request was not found. See the message field
  5551  //   for more information.
  5552  //
  5553  //   * TooManyRequestsException
  5554  //   A limit has been exceeded. See the accompanying error message for details.
  5555  //
  5556  //   * BadRequestException
  5557  //   The request is not valid, for example, the input is incomplete or incorrect.
  5558  //   See the accompanying error message for details.
  5559  //
  5560  //   * ConflictException
  5561  //   The requested operation would cause a conflict with the current state of
  5562  //   a service resource associated with the request. Resolve the conflict before
  5563  //   retrying this request. See the accompanying error message for details.
  5564  //
  5565  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDeployment
  5566  func (c *ApiGatewayV2) UpdateDeployment(input *UpdateDeploymentInput) (*UpdateDeploymentOutput, error) {
  5567  	req, out := c.UpdateDeploymentRequest(input)
  5568  	return out, req.Send()
  5569  }
  5570  
  5571  // UpdateDeploymentWithContext is the same as UpdateDeployment with the addition of
  5572  // the ability to pass a context and additional request options.
  5573  //
  5574  // See UpdateDeployment for details on how to use this API operation.
  5575  //
  5576  // The context must be non-nil and will be used for request cancellation. If
  5577  // the context is nil a panic will occur. In the future the SDK may create
  5578  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5579  // for more information on using Contexts.
  5580  func (c *ApiGatewayV2) UpdateDeploymentWithContext(ctx aws.Context, input *UpdateDeploymentInput, opts ...request.Option) (*UpdateDeploymentOutput, error) {
  5581  	req, out := c.UpdateDeploymentRequest(input)
  5582  	req.SetContext(ctx)
  5583  	req.ApplyOptions(opts...)
  5584  	return out, req.Send()
  5585  }
  5586  
  5587  const opUpdateDomainName = "UpdateDomainName"
  5588  
  5589  // UpdateDomainNameRequest generates a "aws/request.Request" representing the
  5590  // client's request for the UpdateDomainName operation. The "output" return
  5591  // value will be populated with the request's response once the request completes
  5592  // successfully.
  5593  //
  5594  // Use "Send" method on the returned Request to send the API call to the service.
  5595  // the "output" return value is not valid until after Send returns without error.
  5596  //
  5597  // See UpdateDomainName for more information on using the UpdateDomainName
  5598  // API call, and error handling.
  5599  //
  5600  // This method is useful when you want to inject custom logic or configuration
  5601  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5602  //
  5603  //
  5604  //    // Example sending a request using the UpdateDomainNameRequest method.
  5605  //    req, resp := client.UpdateDomainNameRequest(params)
  5606  //
  5607  //    err := req.Send()
  5608  //    if err == nil { // resp is now filled
  5609  //        fmt.Println(resp)
  5610  //    }
  5611  //
  5612  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDomainName
  5613  func (c *ApiGatewayV2) UpdateDomainNameRequest(input *UpdateDomainNameInput) (req *request.Request, output *UpdateDomainNameOutput) {
  5614  	op := &request.Operation{
  5615  		Name:       opUpdateDomainName,
  5616  		HTTPMethod: "PATCH",
  5617  		HTTPPath:   "/v2/domainnames/{domainName}",
  5618  	}
  5619  
  5620  	if input == nil {
  5621  		input = &UpdateDomainNameInput{}
  5622  	}
  5623  
  5624  	output = &UpdateDomainNameOutput{}
  5625  	req = c.newRequest(op, input, output)
  5626  	return
  5627  }
  5628  
  5629  // UpdateDomainName API operation for AmazonApiGatewayV2.
  5630  //
  5631  // Updates a domain name.
  5632  //
  5633  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5634  // with awserr.Error's Code and Message methods to get detailed information about
  5635  // the error.
  5636  //
  5637  // See the AWS API reference guide for AmazonApiGatewayV2's
  5638  // API operation UpdateDomainName for usage and error information.
  5639  //
  5640  // Returned Error Types:
  5641  //   * NotFoundException
  5642  //   The resource specified in the request was not found. See the message field
  5643  //   for more information.
  5644  //
  5645  //   * TooManyRequestsException
  5646  //   A limit has been exceeded. See the accompanying error message for details.
  5647  //
  5648  //   * BadRequestException
  5649  //   The request is not valid, for example, the input is incomplete or incorrect.
  5650  //   See the accompanying error message for details.
  5651  //
  5652  //   * ConflictException
  5653  //   The requested operation would cause a conflict with the current state of
  5654  //   a service resource associated with the request. Resolve the conflict before
  5655  //   retrying this request. See the accompanying error message for details.
  5656  //
  5657  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateDomainName
  5658  func (c *ApiGatewayV2) UpdateDomainName(input *UpdateDomainNameInput) (*UpdateDomainNameOutput, error) {
  5659  	req, out := c.UpdateDomainNameRequest(input)
  5660  	return out, req.Send()
  5661  }
  5662  
  5663  // UpdateDomainNameWithContext is the same as UpdateDomainName with the addition of
  5664  // the ability to pass a context and additional request options.
  5665  //
  5666  // See UpdateDomainName for details on how to use this API operation.
  5667  //
  5668  // The context must be non-nil and will be used for request cancellation. If
  5669  // the context is nil a panic will occur. In the future the SDK may create
  5670  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5671  // for more information on using Contexts.
  5672  func (c *ApiGatewayV2) UpdateDomainNameWithContext(ctx aws.Context, input *UpdateDomainNameInput, opts ...request.Option) (*UpdateDomainNameOutput, error) {
  5673  	req, out := c.UpdateDomainNameRequest(input)
  5674  	req.SetContext(ctx)
  5675  	req.ApplyOptions(opts...)
  5676  	return out, req.Send()
  5677  }
  5678  
  5679  const opUpdateIntegration = "UpdateIntegration"
  5680  
  5681  // UpdateIntegrationRequest generates a "aws/request.Request" representing the
  5682  // client's request for the UpdateIntegration operation. The "output" return
  5683  // value will be populated with the request's response once the request completes
  5684  // successfully.
  5685  //
  5686  // Use "Send" method on the returned Request to send the API call to the service.
  5687  // the "output" return value is not valid until after Send returns without error.
  5688  //
  5689  // See UpdateIntegration for more information on using the UpdateIntegration
  5690  // API call, and error handling.
  5691  //
  5692  // This method is useful when you want to inject custom logic or configuration
  5693  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5694  //
  5695  //
  5696  //    // Example sending a request using the UpdateIntegrationRequest method.
  5697  //    req, resp := client.UpdateIntegrationRequest(params)
  5698  //
  5699  //    err := req.Send()
  5700  //    if err == nil { // resp is now filled
  5701  //        fmt.Println(resp)
  5702  //    }
  5703  //
  5704  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegration
  5705  func (c *ApiGatewayV2) UpdateIntegrationRequest(input *UpdateIntegrationInput) (req *request.Request, output *UpdateIntegrationOutput) {
  5706  	op := &request.Operation{
  5707  		Name:       opUpdateIntegration,
  5708  		HTTPMethod: "PATCH",
  5709  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}",
  5710  	}
  5711  
  5712  	if input == nil {
  5713  		input = &UpdateIntegrationInput{}
  5714  	}
  5715  
  5716  	output = &UpdateIntegrationOutput{}
  5717  	req = c.newRequest(op, input, output)
  5718  	return
  5719  }
  5720  
  5721  // UpdateIntegration API operation for AmazonApiGatewayV2.
  5722  //
  5723  // Updates an Integration.
  5724  //
  5725  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5726  // with awserr.Error's Code and Message methods to get detailed information about
  5727  // the error.
  5728  //
  5729  // See the AWS API reference guide for AmazonApiGatewayV2's
  5730  // API operation UpdateIntegration for usage and error information.
  5731  //
  5732  // Returned Error Types:
  5733  //   * NotFoundException
  5734  //   The resource specified in the request was not found. See the message field
  5735  //   for more information.
  5736  //
  5737  //   * TooManyRequestsException
  5738  //   A limit has been exceeded. See the accompanying error message for details.
  5739  //
  5740  //   * BadRequestException
  5741  //   The request is not valid, for example, the input is incomplete or incorrect.
  5742  //   See the accompanying error message for details.
  5743  //
  5744  //   * ConflictException
  5745  //   The requested operation would cause a conflict with the current state of
  5746  //   a service resource associated with the request. Resolve the conflict before
  5747  //   retrying this request. See the accompanying error message for details.
  5748  //
  5749  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegration
  5750  func (c *ApiGatewayV2) UpdateIntegration(input *UpdateIntegrationInput) (*UpdateIntegrationOutput, error) {
  5751  	req, out := c.UpdateIntegrationRequest(input)
  5752  	return out, req.Send()
  5753  }
  5754  
  5755  // UpdateIntegrationWithContext is the same as UpdateIntegration with the addition of
  5756  // the ability to pass a context and additional request options.
  5757  //
  5758  // See UpdateIntegration 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 *ApiGatewayV2) UpdateIntegrationWithContext(ctx aws.Context, input *UpdateIntegrationInput, opts ...request.Option) (*UpdateIntegrationOutput, error) {
  5765  	req, out := c.UpdateIntegrationRequest(input)
  5766  	req.SetContext(ctx)
  5767  	req.ApplyOptions(opts...)
  5768  	return out, req.Send()
  5769  }
  5770  
  5771  const opUpdateIntegrationResponse = "UpdateIntegrationResponse"
  5772  
  5773  // UpdateIntegrationResponseRequest generates a "aws/request.Request" representing the
  5774  // client's request for the UpdateIntegrationResponse 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 UpdateIntegrationResponse for more information on using the UpdateIntegrationResponse
  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 UpdateIntegrationResponseRequest method.
  5789  //    req, resp := client.UpdateIntegrationResponseRequest(params)
  5790  //
  5791  //    err := req.Send()
  5792  //    if err == nil { // resp is now filled
  5793  //        fmt.Println(resp)
  5794  //    }
  5795  //
  5796  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegrationResponse
  5797  func (c *ApiGatewayV2) UpdateIntegrationResponseRequest(input *UpdateIntegrationResponseInput) (req *request.Request, output *UpdateIntegrationResponseOutput) {
  5798  	op := &request.Operation{
  5799  		Name:       opUpdateIntegrationResponse,
  5800  		HTTPMethod: "PATCH",
  5801  		HTTPPath:   "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}",
  5802  	}
  5803  
  5804  	if input == nil {
  5805  		input = &UpdateIntegrationResponseInput{}
  5806  	}
  5807  
  5808  	output = &UpdateIntegrationResponseOutput{}
  5809  	req = c.newRequest(op, input, output)
  5810  	return
  5811  }
  5812  
  5813  // UpdateIntegrationResponse API operation for AmazonApiGatewayV2.
  5814  //
  5815  // Updates an IntegrationResponses.
  5816  //
  5817  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5818  // with awserr.Error's Code and Message methods to get detailed information about
  5819  // the error.
  5820  //
  5821  // See the AWS API reference guide for AmazonApiGatewayV2's
  5822  // API operation UpdateIntegrationResponse for usage and error information.
  5823  //
  5824  // Returned Error Types:
  5825  //   * NotFoundException
  5826  //   The resource specified in the request was not found. See the message field
  5827  //   for more information.
  5828  //
  5829  //   * TooManyRequestsException
  5830  //   A limit has been exceeded. See the accompanying error message for details.
  5831  //
  5832  //   * BadRequestException
  5833  //   The request is not valid, for example, the input is incomplete or incorrect.
  5834  //   See the accompanying error message for details.
  5835  //
  5836  //   * ConflictException
  5837  //   The requested operation would cause a conflict with the current state of
  5838  //   a service resource associated with the request. Resolve the conflict before
  5839  //   retrying this request. See the accompanying error message for details.
  5840  //
  5841  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateIntegrationResponse
  5842  func (c *ApiGatewayV2) UpdateIntegrationResponse(input *UpdateIntegrationResponseInput) (*UpdateIntegrationResponseOutput, error) {
  5843  	req, out := c.UpdateIntegrationResponseRequest(input)
  5844  	return out, req.Send()
  5845  }
  5846  
  5847  // UpdateIntegrationResponseWithContext is the same as UpdateIntegrationResponse with the addition of
  5848  // the ability to pass a context and additional request options.
  5849  //
  5850  // See UpdateIntegrationResponse for details on how to use this API operation.
  5851  //
  5852  // The context must be non-nil and will be used for request cancellation. If
  5853  // the context is nil a panic will occur. In the future the SDK may create
  5854  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5855  // for more information on using Contexts.
  5856  func (c *ApiGatewayV2) UpdateIntegrationResponseWithContext(ctx aws.Context, input *UpdateIntegrationResponseInput, opts ...request.Option) (*UpdateIntegrationResponseOutput, error) {
  5857  	req, out := c.UpdateIntegrationResponseRequest(input)
  5858  	req.SetContext(ctx)
  5859  	req.ApplyOptions(opts...)
  5860  	return out, req.Send()
  5861  }
  5862  
  5863  const opUpdateModel = "UpdateModel"
  5864  
  5865  // UpdateModelRequest generates a "aws/request.Request" representing the
  5866  // client's request for the UpdateModel operation. The "output" return
  5867  // value will be populated with the request's response once the request completes
  5868  // successfully.
  5869  //
  5870  // Use "Send" method on the returned Request to send the API call to the service.
  5871  // the "output" return value is not valid until after Send returns without error.
  5872  //
  5873  // See UpdateModel for more information on using the UpdateModel
  5874  // API call, and error handling.
  5875  //
  5876  // This method is useful when you want to inject custom logic or configuration
  5877  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5878  //
  5879  //
  5880  //    // Example sending a request using the UpdateModelRequest method.
  5881  //    req, resp := client.UpdateModelRequest(params)
  5882  //
  5883  //    err := req.Send()
  5884  //    if err == nil { // resp is now filled
  5885  //        fmt.Println(resp)
  5886  //    }
  5887  //
  5888  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateModel
  5889  func (c *ApiGatewayV2) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *UpdateModelOutput) {
  5890  	op := &request.Operation{
  5891  		Name:       opUpdateModel,
  5892  		HTTPMethod: "PATCH",
  5893  		HTTPPath:   "/v2/apis/{apiId}/models/{modelId}",
  5894  	}
  5895  
  5896  	if input == nil {
  5897  		input = &UpdateModelInput{}
  5898  	}
  5899  
  5900  	output = &UpdateModelOutput{}
  5901  	req = c.newRequest(op, input, output)
  5902  	return
  5903  }
  5904  
  5905  // UpdateModel API operation for AmazonApiGatewayV2.
  5906  //
  5907  // Updates a Model.
  5908  //
  5909  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5910  // with awserr.Error's Code and Message methods to get detailed information about
  5911  // the error.
  5912  //
  5913  // See the AWS API reference guide for AmazonApiGatewayV2's
  5914  // API operation UpdateModel for usage and error information.
  5915  //
  5916  // Returned Error Types:
  5917  //   * NotFoundException
  5918  //   The resource specified in the request was not found. See the message field
  5919  //   for more information.
  5920  //
  5921  //   * TooManyRequestsException
  5922  //   A limit has been exceeded. See the accompanying error message for details.
  5923  //
  5924  //   * BadRequestException
  5925  //   The request is not valid, for example, the input is incomplete or incorrect.
  5926  //   See the accompanying error message for details.
  5927  //
  5928  //   * ConflictException
  5929  //   The requested operation would cause a conflict with the current state of
  5930  //   a service resource associated with the request. Resolve the conflict before
  5931  //   retrying this request. See the accompanying error message for details.
  5932  //
  5933  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateModel
  5934  func (c *ApiGatewayV2) UpdateModel(input *UpdateModelInput) (*UpdateModelOutput, error) {
  5935  	req, out := c.UpdateModelRequest(input)
  5936  	return out, req.Send()
  5937  }
  5938  
  5939  // UpdateModelWithContext is the same as UpdateModel with the addition of
  5940  // the ability to pass a context and additional request options.
  5941  //
  5942  // See UpdateModel for details on how to use this API operation.
  5943  //
  5944  // The context must be non-nil and will be used for request cancellation. If
  5945  // the context is nil a panic will occur. In the future the SDK may create
  5946  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5947  // for more information on using Contexts.
  5948  func (c *ApiGatewayV2) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*UpdateModelOutput, error) {
  5949  	req, out := c.UpdateModelRequest(input)
  5950  	req.SetContext(ctx)
  5951  	req.ApplyOptions(opts...)
  5952  	return out, req.Send()
  5953  }
  5954  
  5955  const opUpdateRoute = "UpdateRoute"
  5956  
  5957  // UpdateRouteRequest generates a "aws/request.Request" representing the
  5958  // client's request for the UpdateRoute operation. The "output" return
  5959  // value will be populated with the request's response once the request completes
  5960  // successfully.
  5961  //
  5962  // Use "Send" method on the returned Request to send the API call to the service.
  5963  // the "output" return value is not valid until after Send returns without error.
  5964  //
  5965  // See UpdateRoute for more information on using the UpdateRoute
  5966  // API call, and error handling.
  5967  //
  5968  // This method is useful when you want to inject custom logic or configuration
  5969  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5970  //
  5971  //
  5972  //    // Example sending a request using the UpdateRouteRequest method.
  5973  //    req, resp := client.UpdateRouteRequest(params)
  5974  //
  5975  //    err := req.Send()
  5976  //    if err == nil { // resp is now filled
  5977  //        fmt.Println(resp)
  5978  //    }
  5979  //
  5980  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRoute
  5981  func (c *ApiGatewayV2) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) {
  5982  	op := &request.Operation{
  5983  		Name:       opUpdateRoute,
  5984  		HTTPMethod: "PATCH",
  5985  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}",
  5986  	}
  5987  
  5988  	if input == nil {
  5989  		input = &UpdateRouteInput{}
  5990  	}
  5991  
  5992  	output = &UpdateRouteOutput{}
  5993  	req = c.newRequest(op, input, output)
  5994  	return
  5995  }
  5996  
  5997  // UpdateRoute API operation for AmazonApiGatewayV2.
  5998  //
  5999  // Updates a Route.
  6000  //
  6001  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6002  // with awserr.Error's Code and Message methods to get detailed information about
  6003  // the error.
  6004  //
  6005  // See the AWS API reference guide for AmazonApiGatewayV2's
  6006  // API operation UpdateRoute for usage and error information.
  6007  //
  6008  // Returned Error Types:
  6009  //   * NotFoundException
  6010  //   The resource specified in the request was not found. See the message field
  6011  //   for more information.
  6012  //
  6013  //   * TooManyRequestsException
  6014  //   A limit has been exceeded. See the accompanying error message for details.
  6015  //
  6016  //   * BadRequestException
  6017  //   The request is not valid, for example, the input is incomplete or incorrect.
  6018  //   See the accompanying error message for details.
  6019  //
  6020  //   * ConflictException
  6021  //   The requested operation would cause a conflict with the current state of
  6022  //   a service resource associated with the request. Resolve the conflict before
  6023  //   retrying this request. See the accompanying error message for details.
  6024  //
  6025  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRoute
  6026  func (c *ApiGatewayV2) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) {
  6027  	req, out := c.UpdateRouteRequest(input)
  6028  	return out, req.Send()
  6029  }
  6030  
  6031  // UpdateRouteWithContext is the same as UpdateRoute with the addition of
  6032  // the ability to pass a context and additional request options.
  6033  //
  6034  // See UpdateRoute for details on how to use this API operation.
  6035  //
  6036  // The context must be non-nil and will be used for request cancellation. If
  6037  // the context is nil a panic will occur. In the future the SDK may create
  6038  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6039  // for more information on using Contexts.
  6040  func (c *ApiGatewayV2) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) {
  6041  	req, out := c.UpdateRouteRequest(input)
  6042  	req.SetContext(ctx)
  6043  	req.ApplyOptions(opts...)
  6044  	return out, req.Send()
  6045  }
  6046  
  6047  const opUpdateRouteResponse = "UpdateRouteResponse"
  6048  
  6049  // UpdateRouteResponseRequest generates a "aws/request.Request" representing the
  6050  // client's request for the UpdateRouteResponse operation. The "output" return
  6051  // value will be populated with the request's response once the request completes
  6052  // successfully.
  6053  //
  6054  // Use "Send" method on the returned Request to send the API call to the service.
  6055  // the "output" return value is not valid until after Send returns without error.
  6056  //
  6057  // See UpdateRouteResponse for more information on using the UpdateRouteResponse
  6058  // API call, and error handling.
  6059  //
  6060  // This method is useful when you want to inject custom logic or configuration
  6061  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6062  //
  6063  //
  6064  //    // Example sending a request using the UpdateRouteResponseRequest method.
  6065  //    req, resp := client.UpdateRouteResponseRequest(params)
  6066  //
  6067  //    err := req.Send()
  6068  //    if err == nil { // resp is now filled
  6069  //        fmt.Println(resp)
  6070  //    }
  6071  //
  6072  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRouteResponse
  6073  func (c *ApiGatewayV2) UpdateRouteResponseRequest(input *UpdateRouteResponseInput) (req *request.Request, output *UpdateRouteResponseOutput) {
  6074  	op := &request.Operation{
  6075  		Name:       opUpdateRouteResponse,
  6076  		HTTPMethod: "PATCH",
  6077  		HTTPPath:   "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}",
  6078  	}
  6079  
  6080  	if input == nil {
  6081  		input = &UpdateRouteResponseInput{}
  6082  	}
  6083  
  6084  	output = &UpdateRouteResponseOutput{}
  6085  	req = c.newRequest(op, input, output)
  6086  	return
  6087  }
  6088  
  6089  // UpdateRouteResponse API operation for AmazonApiGatewayV2.
  6090  //
  6091  // Updates a RouteResponse.
  6092  //
  6093  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6094  // with awserr.Error's Code and Message methods to get detailed information about
  6095  // the error.
  6096  //
  6097  // See the AWS API reference guide for AmazonApiGatewayV2's
  6098  // API operation UpdateRouteResponse for usage and error information.
  6099  //
  6100  // Returned Error Types:
  6101  //   * NotFoundException
  6102  //   The resource specified in the request was not found. See the message field
  6103  //   for more information.
  6104  //
  6105  //   * TooManyRequestsException
  6106  //   A limit has been exceeded. See the accompanying error message for details.
  6107  //
  6108  //   * BadRequestException
  6109  //   The request is not valid, for example, the input is incomplete or incorrect.
  6110  //   See the accompanying error message for details.
  6111  //
  6112  //   * ConflictException
  6113  //   The requested operation would cause a conflict with the current state of
  6114  //   a service resource associated with the request. Resolve the conflict before
  6115  //   retrying this request. See the accompanying error message for details.
  6116  //
  6117  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateRouteResponse
  6118  func (c *ApiGatewayV2) UpdateRouteResponse(input *UpdateRouteResponseInput) (*UpdateRouteResponseOutput, error) {
  6119  	req, out := c.UpdateRouteResponseRequest(input)
  6120  	return out, req.Send()
  6121  }
  6122  
  6123  // UpdateRouteResponseWithContext is the same as UpdateRouteResponse with the addition of
  6124  // the ability to pass a context and additional request options.
  6125  //
  6126  // See UpdateRouteResponse for details on how to use this API operation.
  6127  //
  6128  // The context must be non-nil and will be used for request cancellation. If
  6129  // the context is nil a panic will occur. In the future the SDK may create
  6130  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6131  // for more information on using Contexts.
  6132  func (c *ApiGatewayV2) UpdateRouteResponseWithContext(ctx aws.Context, input *UpdateRouteResponseInput, opts ...request.Option) (*UpdateRouteResponseOutput, error) {
  6133  	req, out := c.UpdateRouteResponseRequest(input)
  6134  	req.SetContext(ctx)
  6135  	req.ApplyOptions(opts...)
  6136  	return out, req.Send()
  6137  }
  6138  
  6139  const opUpdateStage = "UpdateStage"
  6140  
  6141  // UpdateStageRequest generates a "aws/request.Request" representing the
  6142  // client's request for the UpdateStage operation. The "output" return
  6143  // value will be populated with the request's response once the request completes
  6144  // successfully.
  6145  //
  6146  // Use "Send" method on the returned Request to send the API call to the service.
  6147  // the "output" return value is not valid until after Send returns without error.
  6148  //
  6149  // See UpdateStage for more information on using the UpdateStage
  6150  // API call, and error handling.
  6151  //
  6152  // This method is useful when you want to inject custom logic or configuration
  6153  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6154  //
  6155  //
  6156  //    // Example sending a request using the UpdateStageRequest method.
  6157  //    req, resp := client.UpdateStageRequest(params)
  6158  //
  6159  //    err := req.Send()
  6160  //    if err == nil { // resp is now filled
  6161  //        fmt.Println(resp)
  6162  //    }
  6163  //
  6164  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateStage
  6165  func (c *ApiGatewayV2) UpdateStageRequest(input *UpdateStageInput) (req *request.Request, output *UpdateStageOutput) {
  6166  	op := &request.Operation{
  6167  		Name:       opUpdateStage,
  6168  		HTTPMethod: "PATCH",
  6169  		HTTPPath:   "/v2/apis/{apiId}/stages/{stageName}",
  6170  	}
  6171  
  6172  	if input == nil {
  6173  		input = &UpdateStageInput{}
  6174  	}
  6175  
  6176  	output = &UpdateStageOutput{}
  6177  	req = c.newRequest(op, input, output)
  6178  	return
  6179  }
  6180  
  6181  // UpdateStage API operation for AmazonApiGatewayV2.
  6182  //
  6183  // Updates a Stage.
  6184  //
  6185  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6186  // with awserr.Error's Code and Message methods to get detailed information about
  6187  // the error.
  6188  //
  6189  // See the AWS API reference guide for AmazonApiGatewayV2's
  6190  // API operation UpdateStage for usage and error information.
  6191  //
  6192  // Returned Error Types:
  6193  //   * NotFoundException
  6194  //   The resource specified in the request was not found. See the message field
  6195  //   for more information.
  6196  //
  6197  //   * TooManyRequestsException
  6198  //   A limit has been exceeded. See the accompanying error message for details.
  6199  //
  6200  //   * BadRequestException
  6201  //   The request is not valid, for example, the input is incomplete or incorrect.
  6202  //   See the accompanying error message for details.
  6203  //
  6204  //   * ConflictException
  6205  //   The requested operation would cause a conflict with the current state of
  6206  //   a service resource associated with the request. Resolve the conflict before
  6207  //   retrying this request. See the accompanying error message for details.
  6208  //
  6209  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateStage
  6210  func (c *ApiGatewayV2) UpdateStage(input *UpdateStageInput) (*UpdateStageOutput, error) {
  6211  	req, out := c.UpdateStageRequest(input)
  6212  	return out, req.Send()
  6213  }
  6214  
  6215  // UpdateStageWithContext is the same as UpdateStage with the addition of
  6216  // the ability to pass a context and additional request options.
  6217  //
  6218  // See UpdateStage for details on how to use this API operation.
  6219  //
  6220  // The context must be non-nil and will be used for request cancellation. If
  6221  // the context is nil a panic will occur. In the future the SDK may create
  6222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6223  // for more information on using Contexts.
  6224  func (c *ApiGatewayV2) UpdateStageWithContext(ctx aws.Context, input *UpdateStageInput, opts ...request.Option) (*UpdateStageOutput, error) {
  6225  	req, out := c.UpdateStageRequest(input)
  6226  	req.SetContext(ctx)
  6227  	req.ApplyOptions(opts...)
  6228  	return out, req.Send()
  6229  }
  6230  
  6231  const opUpdateVpcLink = "UpdateVpcLink"
  6232  
  6233  // UpdateVpcLinkRequest generates a "aws/request.Request" representing the
  6234  // client's request for the UpdateVpcLink operation. The "output" return
  6235  // value will be populated with the request's response once the request completes
  6236  // successfully.
  6237  //
  6238  // Use "Send" method on the returned Request to send the API call to the service.
  6239  // the "output" return value is not valid until after Send returns without error.
  6240  //
  6241  // See UpdateVpcLink for more information on using the UpdateVpcLink
  6242  // API call, and error handling.
  6243  //
  6244  // This method is useful when you want to inject custom logic or configuration
  6245  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6246  //
  6247  //
  6248  //    // Example sending a request using the UpdateVpcLinkRequest method.
  6249  //    req, resp := client.UpdateVpcLinkRequest(params)
  6250  //
  6251  //    err := req.Send()
  6252  //    if err == nil { // resp is now filled
  6253  //        fmt.Println(resp)
  6254  //    }
  6255  //
  6256  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateVpcLink
  6257  func (c *ApiGatewayV2) UpdateVpcLinkRequest(input *UpdateVpcLinkInput) (req *request.Request, output *UpdateVpcLinkOutput) {
  6258  	op := &request.Operation{
  6259  		Name:       opUpdateVpcLink,
  6260  		HTTPMethod: "PATCH",
  6261  		HTTPPath:   "/v2/vpclinks/{vpcLinkId}",
  6262  	}
  6263  
  6264  	if input == nil {
  6265  		input = &UpdateVpcLinkInput{}
  6266  	}
  6267  
  6268  	output = &UpdateVpcLinkOutput{}
  6269  	req = c.newRequest(op, input, output)
  6270  	return
  6271  }
  6272  
  6273  // UpdateVpcLink API operation for AmazonApiGatewayV2.
  6274  //
  6275  // Updates a VPC link.
  6276  //
  6277  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6278  // with awserr.Error's Code and Message methods to get detailed information about
  6279  // the error.
  6280  //
  6281  // See the AWS API reference guide for AmazonApiGatewayV2's
  6282  // API operation UpdateVpcLink for usage and error information.
  6283  //
  6284  // Returned Error Types:
  6285  //   * NotFoundException
  6286  //   The resource specified in the request was not found. See the message field
  6287  //   for more information.
  6288  //
  6289  //   * TooManyRequestsException
  6290  //   A limit has been exceeded. See the accompanying error message for details.
  6291  //
  6292  //   * BadRequestException
  6293  //   The request is not valid, for example, the input is incomplete or incorrect.
  6294  //   See the accompanying error message for details.
  6295  //
  6296  // See also, https://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/UpdateVpcLink
  6297  func (c *ApiGatewayV2) UpdateVpcLink(input *UpdateVpcLinkInput) (*UpdateVpcLinkOutput, error) {
  6298  	req, out := c.UpdateVpcLinkRequest(input)
  6299  	return out, req.Send()
  6300  }
  6301  
  6302  // UpdateVpcLinkWithContext is the same as UpdateVpcLink with the addition of
  6303  // the ability to pass a context and additional request options.
  6304  //
  6305  // See UpdateVpcLink for details on how to use this API operation.
  6306  //
  6307  // The context must be non-nil and will be used for request cancellation. If
  6308  // the context is nil a panic will occur. In the future the SDK may create
  6309  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6310  // for more information on using Contexts.
  6311  func (c *ApiGatewayV2) UpdateVpcLinkWithContext(ctx aws.Context, input *UpdateVpcLinkInput, opts ...request.Option) (*UpdateVpcLinkOutput, error) {
  6312  	req, out := c.UpdateVpcLinkRequest(input)
  6313  	req.SetContext(ctx)
  6314  	req.ApplyOptions(opts...)
  6315  	return out, req.Send()
  6316  }
  6317  
  6318  type AccessDeniedException struct {
  6319  	_            struct{}                  `type:"structure"`
  6320  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6321  
  6322  	Message_ *string `locationName:"message" type:"string"`
  6323  }
  6324  
  6325  // String returns the string representation.
  6326  //
  6327  // API parameter values that are decorated as "sensitive" in the API will not
  6328  // be included in the string output. The member name will be present, but the
  6329  // value will be replaced with "sensitive".
  6330  func (s AccessDeniedException) String() string {
  6331  	return awsutil.Prettify(s)
  6332  }
  6333  
  6334  // GoString returns the string representation.
  6335  //
  6336  // API parameter values that are decorated as "sensitive" in the API will not
  6337  // be included in the string output. The member name will be present, but the
  6338  // value will be replaced with "sensitive".
  6339  func (s AccessDeniedException) GoString() string {
  6340  	return s.String()
  6341  }
  6342  
  6343  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  6344  	return &AccessDeniedException{
  6345  		RespMetadata: v,
  6346  	}
  6347  }
  6348  
  6349  // Code returns the exception type name.
  6350  func (s *AccessDeniedException) Code() string {
  6351  	return "AccessDeniedException"
  6352  }
  6353  
  6354  // Message returns the exception's message.
  6355  func (s *AccessDeniedException) Message() string {
  6356  	if s.Message_ != nil {
  6357  		return *s.Message_
  6358  	}
  6359  	return ""
  6360  }
  6361  
  6362  // OrigErr always returns nil, satisfies awserr.Error interface.
  6363  func (s *AccessDeniedException) OrigErr() error {
  6364  	return nil
  6365  }
  6366  
  6367  func (s *AccessDeniedException) Error() string {
  6368  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6369  }
  6370  
  6371  // Status code returns the HTTP status code for the request's response error.
  6372  func (s *AccessDeniedException) StatusCode() int {
  6373  	return s.RespMetadata.StatusCode
  6374  }
  6375  
  6376  // RequestID returns the service's response RequestID for request.
  6377  func (s *AccessDeniedException) RequestID() string {
  6378  	return s.RespMetadata.RequestID
  6379  }
  6380  
  6381  // Settings for logging access in a stage.
  6382  type AccessLogSettings struct {
  6383  	_ struct{} `type:"structure"`
  6384  
  6385  	// The ARN of the CloudWatch Logs log group to receive access logs.
  6386  	DestinationArn *string `locationName:"destinationArn" type:"string"`
  6387  
  6388  	// A single line format of the access logs of data, as specified by selected
  6389  	// $context variables. The format must include at least $context.requestId.
  6390  	Format *string `locationName:"format" type:"string"`
  6391  }
  6392  
  6393  // String returns the string representation.
  6394  //
  6395  // API parameter values that are decorated as "sensitive" in the API will not
  6396  // be included in the string output. The member name will be present, but the
  6397  // value will be replaced with "sensitive".
  6398  func (s AccessLogSettings) String() string {
  6399  	return awsutil.Prettify(s)
  6400  }
  6401  
  6402  // GoString returns the string representation.
  6403  //
  6404  // API parameter values that are decorated as "sensitive" in the API will not
  6405  // be included in the string output. The member name will be present, but the
  6406  // value will be replaced with "sensitive".
  6407  func (s AccessLogSettings) GoString() string {
  6408  	return s.String()
  6409  }
  6410  
  6411  // SetDestinationArn sets the DestinationArn field's value.
  6412  func (s *AccessLogSettings) SetDestinationArn(v string) *AccessLogSettings {
  6413  	s.DestinationArn = &v
  6414  	return s
  6415  }
  6416  
  6417  // SetFormat sets the Format field's value.
  6418  func (s *AccessLogSettings) SetFormat(v string) *AccessLogSettings {
  6419  	s.Format = &v
  6420  	return s
  6421  }
  6422  
  6423  // Represents an API.
  6424  type Api struct {
  6425  	_ struct{} `type:"structure"`
  6426  
  6427  	// The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com.
  6428  	// The stage name is typically appended to this URI to form a complete path
  6429  	// to a deployed API stage.
  6430  	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
  6431  
  6432  	// Specifies whether an API is managed by API Gateway. You can't update or delete
  6433  	// a managed API by using API Gateway. A managed API can be deleted only through
  6434  	// the tooling or service that created it.
  6435  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
  6436  
  6437  	// The API ID.
  6438  	ApiId *string `locationName:"apiId" type:"string"`
  6439  
  6440  	// An API key selection expression. Supported only for WebSocket APIs. See API
  6441  	// Key Selection Expressions (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions).
  6442  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
  6443  
  6444  	// A CORS configuration. Supported only for HTTP APIs.
  6445  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
  6446  
  6447  	// The timestamp when the API was created.
  6448  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
  6449  
  6450  	// The description of the API.
  6451  	Description *string `locationName:"description" type:"string"`
  6452  
  6453  	// Specifies whether clients can invoke your API by using the default execute-api
  6454  	// endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com
  6455  	// endpoint. To require that clients use a custom domain name to invoke your
  6456  	// API, disable the default endpoint.
  6457  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
  6458  
  6459  	// Avoid validating models when creating a deployment. Supported only for WebSocket
  6460  	// APIs.
  6461  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
  6462  
  6463  	// The validation information during API import. This may include particular
  6464  	// properties of your OpenAPI definition which are ignored during import. Supported
  6465  	// only for HTTP APIs.
  6466  	ImportInfo []*string `locationName:"importInfo" type:"list"`
  6467  
  6468  	// The name of the API.
  6469  	//
  6470  	// Name is a required field
  6471  	Name *string `locationName:"name" type:"string" required:"true"`
  6472  
  6473  	// The API protocol.
  6474  	//
  6475  	// ProtocolType is a required field
  6476  	ProtocolType *string `locationName:"protocolType" type:"string" required:"true" enum:"ProtocolType"`
  6477  
  6478  	// The route selection expression for the API. For HTTP APIs, the routeSelectionExpression
  6479  	// must be ${request.method} ${request.path}. If not provided, this will be
  6480  	// the default for HTTP APIs. This property is required for WebSocket APIs.
  6481  	//
  6482  	// RouteSelectionExpression is a required field
  6483  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string" required:"true"`
  6484  
  6485  	// A collection of tags associated with the API.
  6486  	Tags map[string]*string `locationName:"tags" type:"map"`
  6487  
  6488  	// A version identifier for the API.
  6489  	Version *string `locationName:"version" type:"string"`
  6490  
  6491  	// The warning messages reported when failonwarnings is turned on during API
  6492  	// import.
  6493  	Warnings []*string `locationName:"warnings" type:"list"`
  6494  }
  6495  
  6496  // String returns the string representation.
  6497  //
  6498  // API parameter values that are decorated as "sensitive" in the API will not
  6499  // be included in the string output. The member name will be present, but the
  6500  // value will be replaced with "sensitive".
  6501  func (s Api) String() string {
  6502  	return awsutil.Prettify(s)
  6503  }
  6504  
  6505  // GoString returns the string representation.
  6506  //
  6507  // API parameter values that are decorated as "sensitive" in the API will not
  6508  // be included in the string output. The member name will be present, but the
  6509  // value will be replaced with "sensitive".
  6510  func (s Api) GoString() string {
  6511  	return s.String()
  6512  }
  6513  
  6514  // SetApiEndpoint sets the ApiEndpoint field's value.
  6515  func (s *Api) SetApiEndpoint(v string) *Api {
  6516  	s.ApiEndpoint = &v
  6517  	return s
  6518  }
  6519  
  6520  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
  6521  func (s *Api) SetApiGatewayManaged(v bool) *Api {
  6522  	s.ApiGatewayManaged = &v
  6523  	return s
  6524  }
  6525  
  6526  // SetApiId sets the ApiId field's value.
  6527  func (s *Api) SetApiId(v string) *Api {
  6528  	s.ApiId = &v
  6529  	return s
  6530  }
  6531  
  6532  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
  6533  func (s *Api) SetApiKeySelectionExpression(v string) *Api {
  6534  	s.ApiKeySelectionExpression = &v
  6535  	return s
  6536  }
  6537  
  6538  // SetCorsConfiguration sets the CorsConfiguration field's value.
  6539  func (s *Api) SetCorsConfiguration(v *Cors) *Api {
  6540  	s.CorsConfiguration = v
  6541  	return s
  6542  }
  6543  
  6544  // SetCreatedDate sets the CreatedDate field's value.
  6545  func (s *Api) SetCreatedDate(v time.Time) *Api {
  6546  	s.CreatedDate = &v
  6547  	return s
  6548  }
  6549  
  6550  // SetDescription sets the Description field's value.
  6551  func (s *Api) SetDescription(v string) *Api {
  6552  	s.Description = &v
  6553  	return s
  6554  }
  6555  
  6556  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
  6557  func (s *Api) SetDisableExecuteApiEndpoint(v bool) *Api {
  6558  	s.DisableExecuteApiEndpoint = &v
  6559  	return s
  6560  }
  6561  
  6562  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
  6563  func (s *Api) SetDisableSchemaValidation(v bool) *Api {
  6564  	s.DisableSchemaValidation = &v
  6565  	return s
  6566  }
  6567  
  6568  // SetImportInfo sets the ImportInfo field's value.
  6569  func (s *Api) SetImportInfo(v []*string) *Api {
  6570  	s.ImportInfo = v
  6571  	return s
  6572  }
  6573  
  6574  // SetName sets the Name field's value.
  6575  func (s *Api) SetName(v string) *Api {
  6576  	s.Name = &v
  6577  	return s
  6578  }
  6579  
  6580  // SetProtocolType sets the ProtocolType field's value.
  6581  func (s *Api) SetProtocolType(v string) *Api {
  6582  	s.ProtocolType = &v
  6583  	return s
  6584  }
  6585  
  6586  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
  6587  func (s *Api) SetRouteSelectionExpression(v string) *Api {
  6588  	s.RouteSelectionExpression = &v
  6589  	return s
  6590  }
  6591  
  6592  // SetTags sets the Tags field's value.
  6593  func (s *Api) SetTags(v map[string]*string) *Api {
  6594  	s.Tags = v
  6595  	return s
  6596  }
  6597  
  6598  // SetVersion sets the Version field's value.
  6599  func (s *Api) SetVersion(v string) *Api {
  6600  	s.Version = &v
  6601  	return s
  6602  }
  6603  
  6604  // SetWarnings sets the Warnings field's value.
  6605  func (s *Api) SetWarnings(v []*string) *Api {
  6606  	s.Warnings = v
  6607  	return s
  6608  }
  6609  
  6610  // Represents an API mapping.
  6611  type ApiMapping struct {
  6612  	_ struct{} `type:"structure"`
  6613  
  6614  	// The API identifier.
  6615  	//
  6616  	// ApiId is a required field
  6617  	ApiId *string `locationName:"apiId" type:"string" required:"true"`
  6618  
  6619  	// The API mapping identifier.
  6620  	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
  6621  
  6622  	// The API mapping key.
  6623  	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
  6624  
  6625  	// The API stage.
  6626  	//
  6627  	// Stage is a required field
  6628  	Stage *string `locationName:"stage" type:"string" required:"true"`
  6629  }
  6630  
  6631  // String returns the string representation.
  6632  //
  6633  // API parameter values that are decorated as "sensitive" in the API will not
  6634  // be included in the string output. The member name will be present, but the
  6635  // value will be replaced with "sensitive".
  6636  func (s ApiMapping) String() string {
  6637  	return awsutil.Prettify(s)
  6638  }
  6639  
  6640  // GoString returns the string representation.
  6641  //
  6642  // API parameter values that are decorated as "sensitive" in the API will not
  6643  // be included in the string output. The member name will be present, but the
  6644  // value will be replaced with "sensitive".
  6645  func (s ApiMapping) GoString() string {
  6646  	return s.String()
  6647  }
  6648  
  6649  // SetApiId sets the ApiId field's value.
  6650  func (s *ApiMapping) SetApiId(v string) *ApiMapping {
  6651  	s.ApiId = &v
  6652  	return s
  6653  }
  6654  
  6655  // SetApiMappingId sets the ApiMappingId field's value.
  6656  func (s *ApiMapping) SetApiMappingId(v string) *ApiMapping {
  6657  	s.ApiMappingId = &v
  6658  	return s
  6659  }
  6660  
  6661  // SetApiMappingKey sets the ApiMappingKey field's value.
  6662  func (s *ApiMapping) SetApiMappingKey(v string) *ApiMapping {
  6663  	s.ApiMappingKey = &v
  6664  	return s
  6665  }
  6666  
  6667  // SetStage sets the Stage field's value.
  6668  func (s *ApiMapping) SetStage(v string) *ApiMapping {
  6669  	s.Stage = &v
  6670  	return s
  6671  }
  6672  
  6673  // Represents an authorizer.
  6674  type Authorizer struct {
  6675  	_ struct{} `type:"structure"`
  6676  
  6677  	// Specifies the required credentials as an IAM role for API Gateway to invoke
  6678  	// the authorizer. To specify an IAM role for API Gateway to assume, use the
  6679  	// role's Amazon Resource Name (ARN). To use resource-based permissions on the
  6680  	// Lambda function, don't specify this parameter. Supported only for REQUEST
  6681  	// authorizers.
  6682  	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
  6683  
  6684  	// The authorizer identifier.
  6685  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
  6686  
  6687  	// Specifies the format of the payload sent to an HTTP API Lambda authorizer.
  6688  	// Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0.
  6689  	// To learn more, see Working with AWS Lambda authorizers for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).
  6690  	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
  6691  
  6692  	// The time to live (TTL) for cached authorizer results, in seconds. If it equals
  6693  	// 0, authorization caching is disabled. If it is greater than 0, API Gateway
  6694  	// caches authorizer responses. The maximum value is 3600, or 1 hour. Supported
  6695  	// only for HTTP API Lambda authorizers.
  6696  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
  6697  
  6698  	// The authorizer type. Specify REQUEST for a Lambda function using incoming
  6699  	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
  6700  	// HTTP APIs).
  6701  	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
  6702  
  6703  	// The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers,
  6704  	// this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations.
  6705  	// In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}
  6706  	// , where {region} is the same as the region hosting the Lambda function, path
  6707  	// indicates that the remaining substring in the URI should be treated as the
  6708  	// path to the resource, including the initial /. For Lambda functions, this
  6709  	// is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported
  6710  	// only for REQUEST authorizers.
  6711  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
  6712  
  6713  	// Specifies whether a Lambda authorizer returns a response in a simple format.
  6714  	// If enabled, the Lambda authorizer can return a boolean value instead of an
  6715  	// IAM policy. Supported only for HTTP APIs. To learn more, see Working with
  6716  	// AWS Lambda authorizers for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html)
  6717  	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
  6718  
  6719  	// The identity source for which authorization is requested.
  6720  	//
  6721  	// For a REQUEST authorizer, this is optional. The value is a set of one or
  6722  	// more mapping expressions of the specified request parameters. The identity
  6723  	// source can be headers, query string parameters, stage variables, and context
  6724  	// parameters. For example, if an Auth header and a Name query string parameter
  6725  	// are defined as identity sources, this value is route.request.header.Auth,
  6726  	// route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection
  6727  	// expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name.
  6728  	// These parameters are used to perform runtime validation for Lambda-based
  6729  	// authorizers by verifying all of the identity-related request parameters are
  6730  	// present in the request, not null, and non-empty. Only when this is true does
  6731  	// the authorizer invoke the authorizer Lambda function. Otherwise, it returns
  6732  	// a 401 Unauthorized response without calling the Lambda function. For HTTP
  6733  	// APIs, identity sources are also used as the cache key when caching is enabled.
  6734  	// To learn more, see Working with AWS Lambda authorizers for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).
  6735  	//
  6736  	// For JWT, a single entry that specifies where to extract the JSON Web Token
  6737  	// (JWT) from inbound requests. Currently only header-based and query parameter-based
  6738  	// selections are supported, for example $request.header.Authorization.
  6739  	IdentitySource []*string `locationName:"identitySource" type:"list"`
  6740  
  6741  	// The validation expression does not apply to the REQUEST authorizer.
  6742  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
  6743  
  6744  	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
  6745  	// type. Supported only for HTTP APIs.
  6746  	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
  6747  
  6748  	// The name of the authorizer.
  6749  	//
  6750  	// Name is a required field
  6751  	Name *string `locationName:"name" type:"string" required:"true"`
  6752  }
  6753  
  6754  // String returns the string representation.
  6755  //
  6756  // API parameter values that are decorated as "sensitive" in the API will not
  6757  // be included in the string output. The member name will be present, but the
  6758  // value will be replaced with "sensitive".
  6759  func (s Authorizer) String() string {
  6760  	return awsutil.Prettify(s)
  6761  }
  6762  
  6763  // GoString returns the string representation.
  6764  //
  6765  // API parameter values that are decorated as "sensitive" in the API will not
  6766  // be included in the string output. The member name will be present, but the
  6767  // value will be replaced with "sensitive".
  6768  func (s Authorizer) GoString() string {
  6769  	return s.String()
  6770  }
  6771  
  6772  // SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
  6773  func (s *Authorizer) SetAuthorizerCredentialsArn(v string) *Authorizer {
  6774  	s.AuthorizerCredentialsArn = &v
  6775  	return s
  6776  }
  6777  
  6778  // SetAuthorizerId sets the AuthorizerId field's value.
  6779  func (s *Authorizer) SetAuthorizerId(v string) *Authorizer {
  6780  	s.AuthorizerId = &v
  6781  	return s
  6782  }
  6783  
  6784  // SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
  6785  func (s *Authorizer) SetAuthorizerPayloadFormatVersion(v string) *Authorizer {
  6786  	s.AuthorizerPayloadFormatVersion = &v
  6787  	return s
  6788  }
  6789  
  6790  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
  6791  func (s *Authorizer) SetAuthorizerResultTtlInSeconds(v int64) *Authorizer {
  6792  	s.AuthorizerResultTtlInSeconds = &v
  6793  	return s
  6794  }
  6795  
  6796  // SetAuthorizerType sets the AuthorizerType field's value.
  6797  func (s *Authorizer) SetAuthorizerType(v string) *Authorizer {
  6798  	s.AuthorizerType = &v
  6799  	return s
  6800  }
  6801  
  6802  // SetAuthorizerUri sets the AuthorizerUri field's value.
  6803  func (s *Authorizer) SetAuthorizerUri(v string) *Authorizer {
  6804  	s.AuthorizerUri = &v
  6805  	return s
  6806  }
  6807  
  6808  // SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
  6809  func (s *Authorizer) SetEnableSimpleResponses(v bool) *Authorizer {
  6810  	s.EnableSimpleResponses = &v
  6811  	return s
  6812  }
  6813  
  6814  // SetIdentitySource sets the IdentitySource field's value.
  6815  func (s *Authorizer) SetIdentitySource(v []*string) *Authorizer {
  6816  	s.IdentitySource = v
  6817  	return s
  6818  }
  6819  
  6820  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
  6821  func (s *Authorizer) SetIdentityValidationExpression(v string) *Authorizer {
  6822  	s.IdentityValidationExpression = &v
  6823  	return s
  6824  }
  6825  
  6826  // SetJwtConfiguration sets the JwtConfiguration field's value.
  6827  func (s *Authorizer) SetJwtConfiguration(v *JWTConfiguration) *Authorizer {
  6828  	s.JwtConfiguration = v
  6829  	return s
  6830  }
  6831  
  6832  // SetName sets the Name field's value.
  6833  func (s *Authorizer) SetName(v string) *Authorizer {
  6834  	s.Name = &v
  6835  	return s
  6836  }
  6837  
  6838  // The request is not valid, for example, the input is incomplete or incorrect.
  6839  // See the accompanying error message for details.
  6840  type BadRequestException struct {
  6841  	_            struct{}                  `type:"structure"`
  6842  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6843  
  6844  	// Describes the error encountered.
  6845  	Message_ *string `locationName:"message" type:"string"`
  6846  }
  6847  
  6848  // String returns the string representation.
  6849  //
  6850  // API parameter values that are decorated as "sensitive" in the API will not
  6851  // be included in the string output. The member name will be present, but the
  6852  // value will be replaced with "sensitive".
  6853  func (s BadRequestException) String() string {
  6854  	return awsutil.Prettify(s)
  6855  }
  6856  
  6857  // GoString returns the string representation.
  6858  //
  6859  // API parameter values that are decorated as "sensitive" in the API will not
  6860  // be included in the string output. The member name will be present, but the
  6861  // value will be replaced with "sensitive".
  6862  func (s BadRequestException) GoString() string {
  6863  	return s.String()
  6864  }
  6865  
  6866  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  6867  	return &BadRequestException{
  6868  		RespMetadata: v,
  6869  	}
  6870  }
  6871  
  6872  // Code returns the exception type name.
  6873  func (s *BadRequestException) Code() string {
  6874  	return "BadRequestException"
  6875  }
  6876  
  6877  // Message returns the exception's message.
  6878  func (s *BadRequestException) Message() string {
  6879  	if s.Message_ != nil {
  6880  		return *s.Message_
  6881  	}
  6882  	return ""
  6883  }
  6884  
  6885  // OrigErr always returns nil, satisfies awserr.Error interface.
  6886  func (s *BadRequestException) OrigErr() error {
  6887  	return nil
  6888  }
  6889  
  6890  func (s *BadRequestException) Error() string {
  6891  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6892  }
  6893  
  6894  // Status code returns the HTTP status code for the request's response error.
  6895  func (s *BadRequestException) StatusCode() int {
  6896  	return s.RespMetadata.StatusCode
  6897  }
  6898  
  6899  // RequestID returns the service's response RequestID for request.
  6900  func (s *BadRequestException) RequestID() string {
  6901  	return s.RespMetadata.RequestID
  6902  }
  6903  
  6904  // The requested operation would cause a conflict with the current state of
  6905  // a service resource associated with the request. Resolve the conflict before
  6906  // retrying this request. See the accompanying error message for details.
  6907  type ConflictException struct {
  6908  	_            struct{}                  `type:"structure"`
  6909  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6910  
  6911  	// Describes the error encountered.
  6912  	Message_ *string `locationName:"message" type:"string"`
  6913  }
  6914  
  6915  // String returns the string representation.
  6916  //
  6917  // API parameter values that are decorated as "sensitive" in the API will not
  6918  // be included in the string output. The member name will be present, but the
  6919  // value will be replaced with "sensitive".
  6920  func (s ConflictException) String() string {
  6921  	return awsutil.Prettify(s)
  6922  }
  6923  
  6924  // GoString returns the string representation.
  6925  //
  6926  // API parameter values that are decorated as "sensitive" in the API will not
  6927  // be included in the string output. The member name will be present, but the
  6928  // value will be replaced with "sensitive".
  6929  func (s ConflictException) GoString() string {
  6930  	return s.String()
  6931  }
  6932  
  6933  func newErrorConflictException(v protocol.ResponseMetadata) error {
  6934  	return &ConflictException{
  6935  		RespMetadata: v,
  6936  	}
  6937  }
  6938  
  6939  // Code returns the exception type name.
  6940  func (s *ConflictException) Code() string {
  6941  	return "ConflictException"
  6942  }
  6943  
  6944  // Message returns the exception's message.
  6945  func (s *ConflictException) Message() string {
  6946  	if s.Message_ != nil {
  6947  		return *s.Message_
  6948  	}
  6949  	return ""
  6950  }
  6951  
  6952  // OrigErr always returns nil, satisfies awserr.Error interface.
  6953  func (s *ConflictException) OrigErr() error {
  6954  	return nil
  6955  }
  6956  
  6957  func (s *ConflictException) Error() string {
  6958  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6959  }
  6960  
  6961  // Status code returns the HTTP status code for the request's response error.
  6962  func (s *ConflictException) StatusCode() int {
  6963  	return s.RespMetadata.StatusCode
  6964  }
  6965  
  6966  // RequestID returns the service's response RequestID for request.
  6967  func (s *ConflictException) RequestID() string {
  6968  	return s.RespMetadata.RequestID
  6969  }
  6970  
  6971  // Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
  6972  // CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
  6973  // for more information.
  6974  type Cors struct {
  6975  	_ struct{} `type:"structure"`
  6976  
  6977  	// Specifies whether credentials are included in the CORS request. Supported
  6978  	// only for HTTP APIs.
  6979  	AllowCredentials *bool `locationName:"allowCredentials" type:"boolean"`
  6980  
  6981  	// Represents a collection of allowed headers. Supported only for HTTP APIs.
  6982  	AllowHeaders []*string `locationName:"allowHeaders" type:"list"`
  6983  
  6984  	// Represents a collection of allowed HTTP methods. Supported only for HTTP
  6985  	// APIs.
  6986  	AllowMethods []*string `locationName:"allowMethods" type:"list"`
  6987  
  6988  	// Represents a collection of allowed origins. Supported only for HTTP APIs.
  6989  	AllowOrigins []*string `locationName:"allowOrigins" type:"list"`
  6990  
  6991  	// Represents a collection of exposed headers. Supported only for HTTP APIs.
  6992  	ExposeHeaders []*string `locationName:"exposeHeaders" type:"list"`
  6993  
  6994  	// The number of seconds that the browser should cache preflight request results.
  6995  	// Supported only for HTTP APIs.
  6996  	MaxAge *int64 `locationName:"maxAge" type:"integer"`
  6997  }
  6998  
  6999  // String returns the string representation.
  7000  //
  7001  // API parameter values that are decorated as "sensitive" in the API will not
  7002  // be included in the string output. The member name will be present, but the
  7003  // value will be replaced with "sensitive".
  7004  func (s Cors) String() string {
  7005  	return awsutil.Prettify(s)
  7006  }
  7007  
  7008  // GoString returns the string representation.
  7009  //
  7010  // API parameter values that are decorated as "sensitive" in the API will not
  7011  // be included in the string output. The member name will be present, but the
  7012  // value will be replaced with "sensitive".
  7013  func (s Cors) GoString() string {
  7014  	return s.String()
  7015  }
  7016  
  7017  // Validate inspects the fields of the type to determine if they are valid.
  7018  func (s *Cors) Validate() error {
  7019  	invalidParams := request.ErrInvalidParams{Context: "Cors"}
  7020  	if s.MaxAge != nil && *s.MaxAge < -1 {
  7021  		invalidParams.Add(request.NewErrParamMinValue("MaxAge", -1))
  7022  	}
  7023  
  7024  	if invalidParams.Len() > 0 {
  7025  		return invalidParams
  7026  	}
  7027  	return nil
  7028  }
  7029  
  7030  // SetAllowCredentials sets the AllowCredentials field's value.
  7031  func (s *Cors) SetAllowCredentials(v bool) *Cors {
  7032  	s.AllowCredentials = &v
  7033  	return s
  7034  }
  7035  
  7036  // SetAllowHeaders sets the AllowHeaders field's value.
  7037  func (s *Cors) SetAllowHeaders(v []*string) *Cors {
  7038  	s.AllowHeaders = v
  7039  	return s
  7040  }
  7041  
  7042  // SetAllowMethods sets the AllowMethods field's value.
  7043  func (s *Cors) SetAllowMethods(v []*string) *Cors {
  7044  	s.AllowMethods = v
  7045  	return s
  7046  }
  7047  
  7048  // SetAllowOrigins sets the AllowOrigins field's value.
  7049  func (s *Cors) SetAllowOrigins(v []*string) *Cors {
  7050  	s.AllowOrigins = v
  7051  	return s
  7052  }
  7053  
  7054  // SetExposeHeaders sets the ExposeHeaders field's value.
  7055  func (s *Cors) SetExposeHeaders(v []*string) *Cors {
  7056  	s.ExposeHeaders = v
  7057  	return s
  7058  }
  7059  
  7060  // SetMaxAge sets the MaxAge field's value.
  7061  func (s *Cors) SetMaxAge(v int64) *Cors {
  7062  	s.MaxAge = &v
  7063  	return s
  7064  }
  7065  
  7066  type CreateApiInput struct {
  7067  	_ struct{} `type:"structure"`
  7068  
  7069  	// An expression used to extract information at runtime. See Selection Expressions
  7070  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  7071  	// for more information.
  7072  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
  7073  
  7074  	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
  7075  	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
  7076  	// for more information.
  7077  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
  7078  
  7079  	// Represents an Amazon Resource Name (ARN).
  7080  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
  7081  
  7082  	// A string with a length between [0-1024].
  7083  	Description *string `locationName:"description" type:"string"`
  7084  
  7085  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
  7086  
  7087  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
  7088  
  7089  	// A string with a length between [1-128].
  7090  	//
  7091  	// Name is a required field
  7092  	Name *string `locationName:"name" type:"string" required:"true"`
  7093  
  7094  	// Represents a protocol type.
  7095  	//
  7096  	// ProtocolType is a required field
  7097  	ProtocolType *string `locationName:"protocolType" type:"string" required:"true" enum:"ProtocolType"`
  7098  
  7099  	// After evaluating a selection expression, the result is compared against one
  7100  	// or more selection keys to find a matching key. See Selection Expressions
  7101  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  7102  	// for a list of expressions and each expression's associated selection key
  7103  	// type.
  7104  	RouteKey *string `locationName:"routeKey" type:"string"`
  7105  
  7106  	// An expression used to extract information at runtime. See Selection Expressions
  7107  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  7108  	// for more information.
  7109  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
  7110  
  7111  	// Represents a collection of tags associated with the resource.
  7112  	Tags map[string]*string `locationName:"tags" type:"map"`
  7113  
  7114  	// A string representation of a URI with a length between [1-2048].
  7115  	Target *string `locationName:"target" type:"string"`
  7116  
  7117  	// A string with a length between [1-64].
  7118  	Version *string `locationName:"version" type:"string"`
  7119  }
  7120  
  7121  // String returns the string representation.
  7122  //
  7123  // API parameter values that are decorated as "sensitive" in the API will not
  7124  // be included in the string output. The member name will be present, but the
  7125  // value will be replaced with "sensitive".
  7126  func (s CreateApiInput) String() string {
  7127  	return awsutil.Prettify(s)
  7128  }
  7129  
  7130  // GoString returns the string representation.
  7131  //
  7132  // API parameter values that are decorated as "sensitive" in the API will not
  7133  // be included in the string output. The member name will be present, but the
  7134  // value will be replaced with "sensitive".
  7135  func (s CreateApiInput) GoString() string {
  7136  	return s.String()
  7137  }
  7138  
  7139  // Validate inspects the fields of the type to determine if they are valid.
  7140  func (s *CreateApiInput) Validate() error {
  7141  	invalidParams := request.ErrInvalidParams{Context: "CreateApiInput"}
  7142  	if s.Name == nil {
  7143  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7144  	}
  7145  	if s.ProtocolType == nil {
  7146  		invalidParams.Add(request.NewErrParamRequired("ProtocolType"))
  7147  	}
  7148  	if s.CorsConfiguration != nil {
  7149  		if err := s.CorsConfiguration.Validate(); err != nil {
  7150  			invalidParams.AddNested("CorsConfiguration", err.(request.ErrInvalidParams))
  7151  		}
  7152  	}
  7153  
  7154  	if invalidParams.Len() > 0 {
  7155  		return invalidParams
  7156  	}
  7157  	return nil
  7158  }
  7159  
  7160  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
  7161  func (s *CreateApiInput) SetApiKeySelectionExpression(v string) *CreateApiInput {
  7162  	s.ApiKeySelectionExpression = &v
  7163  	return s
  7164  }
  7165  
  7166  // SetCorsConfiguration sets the CorsConfiguration field's value.
  7167  func (s *CreateApiInput) SetCorsConfiguration(v *Cors) *CreateApiInput {
  7168  	s.CorsConfiguration = v
  7169  	return s
  7170  }
  7171  
  7172  // SetCredentialsArn sets the CredentialsArn field's value.
  7173  func (s *CreateApiInput) SetCredentialsArn(v string) *CreateApiInput {
  7174  	s.CredentialsArn = &v
  7175  	return s
  7176  }
  7177  
  7178  // SetDescription sets the Description field's value.
  7179  func (s *CreateApiInput) SetDescription(v string) *CreateApiInput {
  7180  	s.Description = &v
  7181  	return s
  7182  }
  7183  
  7184  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
  7185  func (s *CreateApiInput) SetDisableExecuteApiEndpoint(v bool) *CreateApiInput {
  7186  	s.DisableExecuteApiEndpoint = &v
  7187  	return s
  7188  }
  7189  
  7190  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
  7191  func (s *CreateApiInput) SetDisableSchemaValidation(v bool) *CreateApiInput {
  7192  	s.DisableSchemaValidation = &v
  7193  	return s
  7194  }
  7195  
  7196  // SetName sets the Name field's value.
  7197  func (s *CreateApiInput) SetName(v string) *CreateApiInput {
  7198  	s.Name = &v
  7199  	return s
  7200  }
  7201  
  7202  // SetProtocolType sets the ProtocolType field's value.
  7203  func (s *CreateApiInput) SetProtocolType(v string) *CreateApiInput {
  7204  	s.ProtocolType = &v
  7205  	return s
  7206  }
  7207  
  7208  // SetRouteKey sets the RouteKey field's value.
  7209  func (s *CreateApiInput) SetRouteKey(v string) *CreateApiInput {
  7210  	s.RouteKey = &v
  7211  	return s
  7212  }
  7213  
  7214  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
  7215  func (s *CreateApiInput) SetRouteSelectionExpression(v string) *CreateApiInput {
  7216  	s.RouteSelectionExpression = &v
  7217  	return s
  7218  }
  7219  
  7220  // SetTags sets the Tags field's value.
  7221  func (s *CreateApiInput) SetTags(v map[string]*string) *CreateApiInput {
  7222  	s.Tags = v
  7223  	return s
  7224  }
  7225  
  7226  // SetTarget sets the Target field's value.
  7227  func (s *CreateApiInput) SetTarget(v string) *CreateApiInput {
  7228  	s.Target = &v
  7229  	return s
  7230  }
  7231  
  7232  // SetVersion sets the Version field's value.
  7233  func (s *CreateApiInput) SetVersion(v string) *CreateApiInput {
  7234  	s.Version = &v
  7235  	return s
  7236  }
  7237  
  7238  type CreateApiMappingInput struct {
  7239  	_ struct{} `type:"structure"`
  7240  
  7241  	// The identifier.
  7242  	//
  7243  	// ApiId is a required field
  7244  	ApiId *string `locationName:"apiId" type:"string" required:"true"`
  7245  
  7246  	// After evaluating a selection expression, the result is compared against one
  7247  	// or more selection keys to find a matching key. See Selection Expressions
  7248  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  7249  	// for a list of expressions and each expression's associated selection key
  7250  	// type.
  7251  	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
  7252  
  7253  	// DomainName is a required field
  7254  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
  7255  
  7256  	// A string with a length between [1-128].
  7257  	//
  7258  	// Stage is a required field
  7259  	Stage *string `locationName:"stage" type:"string" required:"true"`
  7260  }
  7261  
  7262  // String returns the string representation.
  7263  //
  7264  // API parameter values that are decorated as "sensitive" in the API will not
  7265  // be included in the string output. The member name will be present, but the
  7266  // value will be replaced with "sensitive".
  7267  func (s CreateApiMappingInput) String() string {
  7268  	return awsutil.Prettify(s)
  7269  }
  7270  
  7271  // GoString returns the string representation.
  7272  //
  7273  // API parameter values that are decorated as "sensitive" in the API will not
  7274  // be included in the string output. The member name will be present, but the
  7275  // value will be replaced with "sensitive".
  7276  func (s CreateApiMappingInput) GoString() string {
  7277  	return s.String()
  7278  }
  7279  
  7280  // Validate inspects the fields of the type to determine if they are valid.
  7281  func (s *CreateApiMappingInput) Validate() error {
  7282  	invalidParams := request.ErrInvalidParams{Context: "CreateApiMappingInput"}
  7283  	if s.ApiId == nil {
  7284  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7285  	}
  7286  	if s.DomainName == nil {
  7287  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  7288  	}
  7289  	if s.DomainName != nil && len(*s.DomainName) < 1 {
  7290  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  7291  	}
  7292  	if s.Stage == nil {
  7293  		invalidParams.Add(request.NewErrParamRequired("Stage"))
  7294  	}
  7295  
  7296  	if invalidParams.Len() > 0 {
  7297  		return invalidParams
  7298  	}
  7299  	return nil
  7300  }
  7301  
  7302  // SetApiId sets the ApiId field's value.
  7303  func (s *CreateApiMappingInput) SetApiId(v string) *CreateApiMappingInput {
  7304  	s.ApiId = &v
  7305  	return s
  7306  }
  7307  
  7308  // SetApiMappingKey sets the ApiMappingKey field's value.
  7309  func (s *CreateApiMappingInput) SetApiMappingKey(v string) *CreateApiMappingInput {
  7310  	s.ApiMappingKey = &v
  7311  	return s
  7312  }
  7313  
  7314  // SetDomainName sets the DomainName field's value.
  7315  func (s *CreateApiMappingInput) SetDomainName(v string) *CreateApiMappingInput {
  7316  	s.DomainName = &v
  7317  	return s
  7318  }
  7319  
  7320  // SetStage sets the Stage field's value.
  7321  func (s *CreateApiMappingInput) SetStage(v string) *CreateApiMappingInput {
  7322  	s.Stage = &v
  7323  	return s
  7324  }
  7325  
  7326  type CreateApiMappingOutput struct {
  7327  	_ struct{} `type:"structure"`
  7328  
  7329  	// The identifier.
  7330  	ApiId *string `locationName:"apiId" type:"string"`
  7331  
  7332  	// The identifier.
  7333  	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
  7334  
  7335  	// After evaluating a selection expression, the result is compared against one
  7336  	// or more selection keys to find a matching key. See Selection Expressions
  7337  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  7338  	// for a list of expressions and each expression's associated selection key
  7339  	// type.
  7340  	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
  7341  
  7342  	// A string with a length between [1-128].
  7343  	Stage *string `locationName:"stage" type:"string"`
  7344  }
  7345  
  7346  // String returns the string representation.
  7347  //
  7348  // API parameter values that are decorated as "sensitive" in the API will not
  7349  // be included in the string output. The member name will be present, but the
  7350  // value will be replaced with "sensitive".
  7351  func (s CreateApiMappingOutput) String() string {
  7352  	return awsutil.Prettify(s)
  7353  }
  7354  
  7355  // GoString returns the string representation.
  7356  //
  7357  // API parameter values that are decorated as "sensitive" in the API will not
  7358  // be included in the string output. The member name will be present, but the
  7359  // value will be replaced with "sensitive".
  7360  func (s CreateApiMappingOutput) GoString() string {
  7361  	return s.String()
  7362  }
  7363  
  7364  // SetApiId sets the ApiId field's value.
  7365  func (s *CreateApiMappingOutput) SetApiId(v string) *CreateApiMappingOutput {
  7366  	s.ApiId = &v
  7367  	return s
  7368  }
  7369  
  7370  // SetApiMappingId sets the ApiMappingId field's value.
  7371  func (s *CreateApiMappingOutput) SetApiMappingId(v string) *CreateApiMappingOutput {
  7372  	s.ApiMappingId = &v
  7373  	return s
  7374  }
  7375  
  7376  // SetApiMappingKey sets the ApiMappingKey field's value.
  7377  func (s *CreateApiMappingOutput) SetApiMappingKey(v string) *CreateApiMappingOutput {
  7378  	s.ApiMappingKey = &v
  7379  	return s
  7380  }
  7381  
  7382  // SetStage sets the Stage field's value.
  7383  func (s *CreateApiMappingOutput) SetStage(v string) *CreateApiMappingOutput {
  7384  	s.Stage = &v
  7385  	return s
  7386  }
  7387  
  7388  type CreateApiOutput struct {
  7389  	_ struct{} `type:"structure"`
  7390  
  7391  	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
  7392  
  7393  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
  7394  
  7395  	// The identifier.
  7396  	ApiId *string `locationName:"apiId" type:"string"`
  7397  
  7398  	// An expression used to extract information at runtime. See Selection Expressions
  7399  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  7400  	// for more information.
  7401  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
  7402  
  7403  	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
  7404  	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
  7405  	// for more information.
  7406  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
  7407  
  7408  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
  7409  
  7410  	// A string with a length between [0-1024].
  7411  	Description *string `locationName:"description" type:"string"`
  7412  
  7413  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
  7414  
  7415  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
  7416  
  7417  	ImportInfo []*string `locationName:"importInfo" type:"list"`
  7418  
  7419  	// A string with a length between [1-128].
  7420  	Name *string `locationName:"name" type:"string"`
  7421  
  7422  	// Represents a protocol type.
  7423  	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
  7424  
  7425  	// An expression used to extract information at runtime. See Selection Expressions
  7426  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  7427  	// for more information.
  7428  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
  7429  
  7430  	// Represents a collection of tags associated with the resource.
  7431  	Tags map[string]*string `locationName:"tags" type:"map"`
  7432  
  7433  	// A string with a length between [1-64].
  7434  	Version *string `locationName:"version" type:"string"`
  7435  
  7436  	Warnings []*string `locationName:"warnings" type:"list"`
  7437  }
  7438  
  7439  // String returns the string representation.
  7440  //
  7441  // API parameter values that are decorated as "sensitive" in the API will not
  7442  // be included in the string output. The member name will be present, but the
  7443  // value will be replaced with "sensitive".
  7444  func (s CreateApiOutput) String() string {
  7445  	return awsutil.Prettify(s)
  7446  }
  7447  
  7448  // GoString returns the string representation.
  7449  //
  7450  // API parameter values that are decorated as "sensitive" in the API will not
  7451  // be included in the string output. The member name will be present, but the
  7452  // value will be replaced with "sensitive".
  7453  func (s CreateApiOutput) GoString() string {
  7454  	return s.String()
  7455  }
  7456  
  7457  // SetApiEndpoint sets the ApiEndpoint field's value.
  7458  func (s *CreateApiOutput) SetApiEndpoint(v string) *CreateApiOutput {
  7459  	s.ApiEndpoint = &v
  7460  	return s
  7461  }
  7462  
  7463  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
  7464  func (s *CreateApiOutput) SetApiGatewayManaged(v bool) *CreateApiOutput {
  7465  	s.ApiGatewayManaged = &v
  7466  	return s
  7467  }
  7468  
  7469  // SetApiId sets the ApiId field's value.
  7470  func (s *CreateApiOutput) SetApiId(v string) *CreateApiOutput {
  7471  	s.ApiId = &v
  7472  	return s
  7473  }
  7474  
  7475  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
  7476  func (s *CreateApiOutput) SetApiKeySelectionExpression(v string) *CreateApiOutput {
  7477  	s.ApiKeySelectionExpression = &v
  7478  	return s
  7479  }
  7480  
  7481  // SetCorsConfiguration sets the CorsConfiguration field's value.
  7482  func (s *CreateApiOutput) SetCorsConfiguration(v *Cors) *CreateApiOutput {
  7483  	s.CorsConfiguration = v
  7484  	return s
  7485  }
  7486  
  7487  // SetCreatedDate sets the CreatedDate field's value.
  7488  func (s *CreateApiOutput) SetCreatedDate(v time.Time) *CreateApiOutput {
  7489  	s.CreatedDate = &v
  7490  	return s
  7491  }
  7492  
  7493  // SetDescription sets the Description field's value.
  7494  func (s *CreateApiOutput) SetDescription(v string) *CreateApiOutput {
  7495  	s.Description = &v
  7496  	return s
  7497  }
  7498  
  7499  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
  7500  func (s *CreateApiOutput) SetDisableExecuteApiEndpoint(v bool) *CreateApiOutput {
  7501  	s.DisableExecuteApiEndpoint = &v
  7502  	return s
  7503  }
  7504  
  7505  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
  7506  func (s *CreateApiOutput) SetDisableSchemaValidation(v bool) *CreateApiOutput {
  7507  	s.DisableSchemaValidation = &v
  7508  	return s
  7509  }
  7510  
  7511  // SetImportInfo sets the ImportInfo field's value.
  7512  func (s *CreateApiOutput) SetImportInfo(v []*string) *CreateApiOutput {
  7513  	s.ImportInfo = v
  7514  	return s
  7515  }
  7516  
  7517  // SetName sets the Name field's value.
  7518  func (s *CreateApiOutput) SetName(v string) *CreateApiOutput {
  7519  	s.Name = &v
  7520  	return s
  7521  }
  7522  
  7523  // SetProtocolType sets the ProtocolType field's value.
  7524  func (s *CreateApiOutput) SetProtocolType(v string) *CreateApiOutput {
  7525  	s.ProtocolType = &v
  7526  	return s
  7527  }
  7528  
  7529  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
  7530  func (s *CreateApiOutput) SetRouteSelectionExpression(v string) *CreateApiOutput {
  7531  	s.RouteSelectionExpression = &v
  7532  	return s
  7533  }
  7534  
  7535  // SetTags sets the Tags field's value.
  7536  func (s *CreateApiOutput) SetTags(v map[string]*string) *CreateApiOutput {
  7537  	s.Tags = v
  7538  	return s
  7539  }
  7540  
  7541  // SetVersion sets the Version field's value.
  7542  func (s *CreateApiOutput) SetVersion(v string) *CreateApiOutput {
  7543  	s.Version = &v
  7544  	return s
  7545  }
  7546  
  7547  // SetWarnings sets the Warnings field's value.
  7548  func (s *CreateApiOutput) SetWarnings(v []*string) *CreateApiOutput {
  7549  	s.Warnings = v
  7550  	return s
  7551  }
  7552  
  7553  type CreateAuthorizerInput struct {
  7554  	_ struct{} `type:"structure"`
  7555  
  7556  	// ApiId is a required field
  7557  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7558  
  7559  	// Represents an Amazon Resource Name (ARN).
  7560  	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
  7561  
  7562  	// A string with a length between [1-64].
  7563  	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
  7564  
  7565  	// An integer with a value between [0-3600].
  7566  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
  7567  
  7568  	// The authorizer type. Specify REQUEST for a Lambda function using incoming
  7569  	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
  7570  	// HTTP APIs).
  7571  	//
  7572  	// AuthorizerType is a required field
  7573  	AuthorizerType *string `locationName:"authorizerType" type:"string" required:"true" enum:"AuthorizerType"`
  7574  
  7575  	// A string representation of a URI with a length between [1-2048].
  7576  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
  7577  
  7578  	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
  7579  
  7580  	// The identity source for which authorization is requested. For the REQUEST
  7581  	// authorizer, this is required when authorization caching is enabled. The value
  7582  	// is a comma-separated string of one or more mapping expressions of the specified
  7583  	// request parameters. For example, if an Auth header, a Name query string parameter
  7584  	// are defined as identity sources, this value is $method.request.header.Auth,
  7585  	// $method.request.querystring.Name. These parameters will be used to derive
  7586  	// the authorization caching key and to perform runtime validation of the REQUEST
  7587  	// authorizer by verifying all of the identity-related request parameters are
  7588  	// present, not null and non-empty. Only when this is true does the authorizer
  7589  	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
  7590  	// response without calling the Lambda function. The valid value is a string
  7591  	// of comma-separated mapping expressions of the specified request parameters.
  7592  	// When the authorization caching is not enabled, this property is optional.
  7593  	//
  7594  	// IdentitySource is a required field
  7595  	IdentitySource []*string `locationName:"identitySource" type:"list" required:"true"`
  7596  
  7597  	// A string with a length between [0-1024].
  7598  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
  7599  
  7600  	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
  7601  	// type. Supported only for HTTP APIs.
  7602  	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
  7603  
  7604  	// A string with a length between [1-128].
  7605  	//
  7606  	// Name is a required field
  7607  	Name *string `locationName:"name" type:"string" required:"true"`
  7608  }
  7609  
  7610  // String returns the string representation.
  7611  //
  7612  // API parameter values that are decorated as "sensitive" in the API will not
  7613  // be included in the string output. The member name will be present, but the
  7614  // value will be replaced with "sensitive".
  7615  func (s CreateAuthorizerInput) String() string {
  7616  	return awsutil.Prettify(s)
  7617  }
  7618  
  7619  // GoString returns the string representation.
  7620  //
  7621  // API parameter values that are decorated as "sensitive" in the API will not
  7622  // be included in the string output. The member name will be present, but the
  7623  // value will be replaced with "sensitive".
  7624  func (s CreateAuthorizerInput) GoString() string {
  7625  	return s.String()
  7626  }
  7627  
  7628  // Validate inspects the fields of the type to determine if they are valid.
  7629  func (s *CreateAuthorizerInput) Validate() error {
  7630  	invalidParams := request.ErrInvalidParams{Context: "CreateAuthorizerInput"}
  7631  	if s.ApiId == nil {
  7632  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7633  	}
  7634  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7635  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7636  	}
  7637  	if s.AuthorizerType == nil {
  7638  		invalidParams.Add(request.NewErrParamRequired("AuthorizerType"))
  7639  	}
  7640  	if s.IdentitySource == nil {
  7641  		invalidParams.Add(request.NewErrParamRequired("IdentitySource"))
  7642  	}
  7643  	if s.Name == nil {
  7644  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7645  	}
  7646  
  7647  	if invalidParams.Len() > 0 {
  7648  		return invalidParams
  7649  	}
  7650  	return nil
  7651  }
  7652  
  7653  // SetApiId sets the ApiId field's value.
  7654  func (s *CreateAuthorizerInput) SetApiId(v string) *CreateAuthorizerInput {
  7655  	s.ApiId = &v
  7656  	return s
  7657  }
  7658  
  7659  // SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
  7660  func (s *CreateAuthorizerInput) SetAuthorizerCredentialsArn(v string) *CreateAuthorizerInput {
  7661  	s.AuthorizerCredentialsArn = &v
  7662  	return s
  7663  }
  7664  
  7665  // SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
  7666  func (s *CreateAuthorizerInput) SetAuthorizerPayloadFormatVersion(v string) *CreateAuthorizerInput {
  7667  	s.AuthorizerPayloadFormatVersion = &v
  7668  	return s
  7669  }
  7670  
  7671  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
  7672  func (s *CreateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerInput {
  7673  	s.AuthorizerResultTtlInSeconds = &v
  7674  	return s
  7675  }
  7676  
  7677  // SetAuthorizerType sets the AuthorizerType field's value.
  7678  func (s *CreateAuthorizerInput) SetAuthorizerType(v string) *CreateAuthorizerInput {
  7679  	s.AuthorizerType = &v
  7680  	return s
  7681  }
  7682  
  7683  // SetAuthorizerUri sets the AuthorizerUri field's value.
  7684  func (s *CreateAuthorizerInput) SetAuthorizerUri(v string) *CreateAuthorizerInput {
  7685  	s.AuthorizerUri = &v
  7686  	return s
  7687  }
  7688  
  7689  // SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
  7690  func (s *CreateAuthorizerInput) SetEnableSimpleResponses(v bool) *CreateAuthorizerInput {
  7691  	s.EnableSimpleResponses = &v
  7692  	return s
  7693  }
  7694  
  7695  // SetIdentitySource sets the IdentitySource field's value.
  7696  func (s *CreateAuthorizerInput) SetIdentitySource(v []*string) *CreateAuthorizerInput {
  7697  	s.IdentitySource = v
  7698  	return s
  7699  }
  7700  
  7701  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
  7702  func (s *CreateAuthorizerInput) SetIdentityValidationExpression(v string) *CreateAuthorizerInput {
  7703  	s.IdentityValidationExpression = &v
  7704  	return s
  7705  }
  7706  
  7707  // SetJwtConfiguration sets the JwtConfiguration field's value.
  7708  func (s *CreateAuthorizerInput) SetJwtConfiguration(v *JWTConfiguration) *CreateAuthorizerInput {
  7709  	s.JwtConfiguration = v
  7710  	return s
  7711  }
  7712  
  7713  // SetName sets the Name field's value.
  7714  func (s *CreateAuthorizerInput) SetName(v string) *CreateAuthorizerInput {
  7715  	s.Name = &v
  7716  	return s
  7717  }
  7718  
  7719  type CreateAuthorizerOutput struct {
  7720  	_ struct{} `type:"structure"`
  7721  
  7722  	// Represents an Amazon Resource Name (ARN).
  7723  	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
  7724  
  7725  	// The identifier.
  7726  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
  7727  
  7728  	// A string with a length between [1-64].
  7729  	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
  7730  
  7731  	// An integer with a value between [0-3600].
  7732  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
  7733  
  7734  	// The authorizer type. Specify REQUEST for a Lambda function using incoming
  7735  	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
  7736  	// HTTP APIs).
  7737  	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
  7738  
  7739  	// A string representation of a URI with a length between [1-2048].
  7740  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
  7741  
  7742  	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
  7743  
  7744  	// The identity source for which authorization is requested. For the REQUEST
  7745  	// authorizer, this is required when authorization caching is enabled. The value
  7746  	// is a comma-separated string of one or more mapping expressions of the specified
  7747  	// request parameters. For example, if an Auth header, a Name query string parameter
  7748  	// are defined as identity sources, this value is $method.request.header.Auth,
  7749  	// $method.request.querystring.Name. These parameters will be used to derive
  7750  	// the authorization caching key and to perform runtime validation of the REQUEST
  7751  	// authorizer by verifying all of the identity-related request parameters are
  7752  	// present, not null and non-empty. Only when this is true does the authorizer
  7753  	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
  7754  	// response without calling the Lambda function. The valid value is a string
  7755  	// of comma-separated mapping expressions of the specified request parameters.
  7756  	// When the authorization caching is not enabled, this property is optional.
  7757  	IdentitySource []*string `locationName:"identitySource" type:"list"`
  7758  
  7759  	// A string with a length between [0-1024].
  7760  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
  7761  
  7762  	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
  7763  	// type. Supported only for HTTP APIs.
  7764  	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
  7765  
  7766  	// A string with a length between [1-128].
  7767  	Name *string `locationName:"name" type:"string"`
  7768  }
  7769  
  7770  // String returns the string representation.
  7771  //
  7772  // API parameter values that are decorated as "sensitive" in the API will not
  7773  // be included in the string output. The member name will be present, but the
  7774  // value will be replaced with "sensitive".
  7775  func (s CreateAuthorizerOutput) String() string {
  7776  	return awsutil.Prettify(s)
  7777  }
  7778  
  7779  // GoString returns the string representation.
  7780  //
  7781  // API parameter values that are decorated as "sensitive" in the API will not
  7782  // be included in the string output. The member name will be present, but the
  7783  // value will be replaced with "sensitive".
  7784  func (s CreateAuthorizerOutput) GoString() string {
  7785  	return s.String()
  7786  }
  7787  
  7788  // SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
  7789  func (s *CreateAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *CreateAuthorizerOutput {
  7790  	s.AuthorizerCredentialsArn = &v
  7791  	return s
  7792  }
  7793  
  7794  // SetAuthorizerId sets the AuthorizerId field's value.
  7795  func (s *CreateAuthorizerOutput) SetAuthorizerId(v string) *CreateAuthorizerOutput {
  7796  	s.AuthorizerId = &v
  7797  	return s
  7798  }
  7799  
  7800  // SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
  7801  func (s *CreateAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *CreateAuthorizerOutput {
  7802  	s.AuthorizerPayloadFormatVersion = &v
  7803  	return s
  7804  }
  7805  
  7806  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
  7807  func (s *CreateAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *CreateAuthorizerOutput {
  7808  	s.AuthorizerResultTtlInSeconds = &v
  7809  	return s
  7810  }
  7811  
  7812  // SetAuthorizerType sets the AuthorizerType field's value.
  7813  func (s *CreateAuthorizerOutput) SetAuthorizerType(v string) *CreateAuthorizerOutput {
  7814  	s.AuthorizerType = &v
  7815  	return s
  7816  }
  7817  
  7818  // SetAuthorizerUri sets the AuthorizerUri field's value.
  7819  func (s *CreateAuthorizerOutput) SetAuthorizerUri(v string) *CreateAuthorizerOutput {
  7820  	s.AuthorizerUri = &v
  7821  	return s
  7822  }
  7823  
  7824  // SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
  7825  func (s *CreateAuthorizerOutput) SetEnableSimpleResponses(v bool) *CreateAuthorizerOutput {
  7826  	s.EnableSimpleResponses = &v
  7827  	return s
  7828  }
  7829  
  7830  // SetIdentitySource sets the IdentitySource field's value.
  7831  func (s *CreateAuthorizerOutput) SetIdentitySource(v []*string) *CreateAuthorizerOutput {
  7832  	s.IdentitySource = v
  7833  	return s
  7834  }
  7835  
  7836  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
  7837  func (s *CreateAuthorizerOutput) SetIdentityValidationExpression(v string) *CreateAuthorizerOutput {
  7838  	s.IdentityValidationExpression = &v
  7839  	return s
  7840  }
  7841  
  7842  // SetJwtConfiguration sets the JwtConfiguration field's value.
  7843  func (s *CreateAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *CreateAuthorizerOutput {
  7844  	s.JwtConfiguration = v
  7845  	return s
  7846  }
  7847  
  7848  // SetName sets the Name field's value.
  7849  func (s *CreateAuthorizerOutput) SetName(v string) *CreateAuthorizerOutput {
  7850  	s.Name = &v
  7851  	return s
  7852  }
  7853  
  7854  type CreateDeploymentInput struct {
  7855  	_ struct{} `type:"structure"`
  7856  
  7857  	// ApiId is a required field
  7858  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7859  
  7860  	// A string with a length between [0-1024].
  7861  	Description *string `locationName:"description" type:"string"`
  7862  
  7863  	// A string with a length between [1-128].
  7864  	StageName *string `locationName:"stageName" type:"string"`
  7865  }
  7866  
  7867  // String returns the string representation.
  7868  //
  7869  // API parameter values that are decorated as "sensitive" in the API will not
  7870  // be included in the string output. The member name will be present, but the
  7871  // value will be replaced with "sensitive".
  7872  func (s CreateDeploymentInput) String() string {
  7873  	return awsutil.Prettify(s)
  7874  }
  7875  
  7876  // GoString returns the string representation.
  7877  //
  7878  // API parameter values that are decorated as "sensitive" in the API will not
  7879  // be included in the string output. The member name will be present, but the
  7880  // value will be replaced with "sensitive".
  7881  func (s CreateDeploymentInput) GoString() string {
  7882  	return s.String()
  7883  }
  7884  
  7885  // Validate inspects the fields of the type to determine if they are valid.
  7886  func (s *CreateDeploymentInput) Validate() error {
  7887  	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
  7888  	if s.ApiId == nil {
  7889  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7890  	}
  7891  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7892  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7893  	}
  7894  
  7895  	if invalidParams.Len() > 0 {
  7896  		return invalidParams
  7897  	}
  7898  	return nil
  7899  }
  7900  
  7901  // SetApiId sets the ApiId field's value.
  7902  func (s *CreateDeploymentInput) SetApiId(v string) *CreateDeploymentInput {
  7903  	s.ApiId = &v
  7904  	return s
  7905  }
  7906  
  7907  // SetDescription sets the Description field's value.
  7908  func (s *CreateDeploymentInput) SetDescription(v string) *CreateDeploymentInput {
  7909  	s.Description = &v
  7910  	return s
  7911  }
  7912  
  7913  // SetStageName sets the StageName field's value.
  7914  func (s *CreateDeploymentInput) SetStageName(v string) *CreateDeploymentInput {
  7915  	s.StageName = &v
  7916  	return s
  7917  }
  7918  
  7919  type CreateDeploymentOutput struct {
  7920  	_ struct{} `type:"structure"`
  7921  
  7922  	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
  7923  
  7924  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
  7925  
  7926  	// The identifier.
  7927  	DeploymentId *string `locationName:"deploymentId" type:"string"`
  7928  
  7929  	// Represents a deployment status.
  7930  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
  7931  
  7932  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
  7933  
  7934  	// A string with a length between [0-1024].
  7935  	Description *string `locationName:"description" type:"string"`
  7936  }
  7937  
  7938  // String returns the string representation.
  7939  //
  7940  // API parameter values that are decorated as "sensitive" in the API will not
  7941  // be included in the string output. The member name will be present, but the
  7942  // value will be replaced with "sensitive".
  7943  func (s CreateDeploymentOutput) String() string {
  7944  	return awsutil.Prettify(s)
  7945  }
  7946  
  7947  // GoString returns the string representation.
  7948  //
  7949  // API parameter values that are decorated as "sensitive" in the API will not
  7950  // be included in the string output. The member name will be present, but the
  7951  // value will be replaced with "sensitive".
  7952  func (s CreateDeploymentOutput) GoString() string {
  7953  	return s.String()
  7954  }
  7955  
  7956  // SetAutoDeployed sets the AutoDeployed field's value.
  7957  func (s *CreateDeploymentOutput) SetAutoDeployed(v bool) *CreateDeploymentOutput {
  7958  	s.AutoDeployed = &v
  7959  	return s
  7960  }
  7961  
  7962  // SetCreatedDate sets the CreatedDate field's value.
  7963  func (s *CreateDeploymentOutput) SetCreatedDate(v time.Time) *CreateDeploymentOutput {
  7964  	s.CreatedDate = &v
  7965  	return s
  7966  }
  7967  
  7968  // SetDeploymentId sets the DeploymentId field's value.
  7969  func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
  7970  	s.DeploymentId = &v
  7971  	return s
  7972  }
  7973  
  7974  // SetDeploymentStatus sets the DeploymentStatus field's value.
  7975  func (s *CreateDeploymentOutput) SetDeploymentStatus(v string) *CreateDeploymentOutput {
  7976  	s.DeploymentStatus = &v
  7977  	return s
  7978  }
  7979  
  7980  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
  7981  func (s *CreateDeploymentOutput) SetDeploymentStatusMessage(v string) *CreateDeploymentOutput {
  7982  	s.DeploymentStatusMessage = &v
  7983  	return s
  7984  }
  7985  
  7986  // SetDescription sets the Description field's value.
  7987  func (s *CreateDeploymentOutput) SetDescription(v string) *CreateDeploymentOutput {
  7988  	s.Description = &v
  7989  	return s
  7990  }
  7991  
  7992  type CreateDomainNameInput struct {
  7993  	_ struct{} `type:"structure"`
  7994  
  7995  	// A string with a length between [1-512].
  7996  	//
  7997  	// DomainName is a required field
  7998  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
  7999  
  8000  	// The domain name configurations.
  8001  	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
  8002  
  8003  	// If specified, API Gateway performs two-way authentication between the client
  8004  	// and the server. Clients must present a trusted certificate to access your
  8005  	// API.
  8006  	MutualTlsAuthentication *MutualTlsAuthenticationInput `locationName:"mutualTlsAuthentication" type:"structure"`
  8007  
  8008  	// Represents a collection of tags associated with the resource.
  8009  	Tags map[string]*string `locationName:"tags" type:"map"`
  8010  }
  8011  
  8012  // String returns the string representation.
  8013  //
  8014  // API parameter values that are decorated as "sensitive" in the API will not
  8015  // be included in the string output. The member name will be present, but the
  8016  // value will be replaced with "sensitive".
  8017  func (s CreateDomainNameInput) String() string {
  8018  	return awsutil.Prettify(s)
  8019  }
  8020  
  8021  // GoString returns the string representation.
  8022  //
  8023  // API parameter values that are decorated as "sensitive" in the API will not
  8024  // be included in the string output. The member name will be present, but the
  8025  // value will be replaced with "sensitive".
  8026  func (s CreateDomainNameInput) GoString() string {
  8027  	return s.String()
  8028  }
  8029  
  8030  // Validate inspects the fields of the type to determine if they are valid.
  8031  func (s *CreateDomainNameInput) Validate() error {
  8032  	invalidParams := request.ErrInvalidParams{Context: "CreateDomainNameInput"}
  8033  	if s.DomainName == nil {
  8034  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
  8035  	}
  8036  
  8037  	if invalidParams.Len() > 0 {
  8038  		return invalidParams
  8039  	}
  8040  	return nil
  8041  }
  8042  
  8043  // SetDomainName sets the DomainName field's value.
  8044  func (s *CreateDomainNameInput) SetDomainName(v string) *CreateDomainNameInput {
  8045  	s.DomainName = &v
  8046  	return s
  8047  }
  8048  
  8049  // SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
  8050  func (s *CreateDomainNameInput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *CreateDomainNameInput {
  8051  	s.DomainNameConfigurations = v
  8052  	return s
  8053  }
  8054  
  8055  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
  8056  func (s *CreateDomainNameInput) SetMutualTlsAuthentication(v *MutualTlsAuthenticationInput) *CreateDomainNameInput {
  8057  	s.MutualTlsAuthentication = v
  8058  	return s
  8059  }
  8060  
  8061  // SetTags sets the Tags field's value.
  8062  func (s *CreateDomainNameInput) SetTags(v map[string]*string) *CreateDomainNameInput {
  8063  	s.Tags = v
  8064  	return s
  8065  }
  8066  
  8067  type CreateDomainNameOutput struct {
  8068  	_ struct{} `type:"structure"`
  8069  
  8070  	// An expression used to extract information at runtime. See Selection Expressions
  8071  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8072  	// for more information.
  8073  	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
  8074  
  8075  	// A string with a length between [1-512].
  8076  	DomainName *string `locationName:"domainName" type:"string"`
  8077  
  8078  	// The domain name configurations.
  8079  	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
  8080  
  8081  	// If specified, API Gateway performs two-way authentication between the client
  8082  	// and the server. Clients must present a trusted certificate to access your
  8083  	// API.
  8084  	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
  8085  
  8086  	// Represents a collection of tags associated with the resource.
  8087  	Tags map[string]*string `locationName:"tags" type:"map"`
  8088  }
  8089  
  8090  // String returns the string representation.
  8091  //
  8092  // API parameter values that are decorated as "sensitive" in the API will not
  8093  // be included in the string output. The member name will be present, but the
  8094  // value will be replaced with "sensitive".
  8095  func (s CreateDomainNameOutput) String() string {
  8096  	return awsutil.Prettify(s)
  8097  }
  8098  
  8099  // GoString returns the string representation.
  8100  //
  8101  // API parameter values that are decorated as "sensitive" in the API will not
  8102  // be included in the string output. The member name will be present, but the
  8103  // value will be replaced with "sensitive".
  8104  func (s CreateDomainNameOutput) GoString() string {
  8105  	return s.String()
  8106  }
  8107  
  8108  // SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
  8109  func (s *CreateDomainNameOutput) SetApiMappingSelectionExpression(v string) *CreateDomainNameOutput {
  8110  	s.ApiMappingSelectionExpression = &v
  8111  	return s
  8112  }
  8113  
  8114  // SetDomainName sets the DomainName field's value.
  8115  func (s *CreateDomainNameOutput) SetDomainName(v string) *CreateDomainNameOutput {
  8116  	s.DomainName = &v
  8117  	return s
  8118  }
  8119  
  8120  // SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
  8121  func (s *CreateDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *CreateDomainNameOutput {
  8122  	s.DomainNameConfigurations = v
  8123  	return s
  8124  }
  8125  
  8126  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
  8127  func (s *CreateDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *CreateDomainNameOutput {
  8128  	s.MutualTlsAuthentication = v
  8129  	return s
  8130  }
  8131  
  8132  // SetTags sets the Tags field's value.
  8133  func (s *CreateDomainNameOutput) SetTags(v map[string]*string) *CreateDomainNameOutput {
  8134  	s.Tags = v
  8135  	return s
  8136  }
  8137  
  8138  type CreateIntegrationInput struct {
  8139  	_ struct{} `type:"structure"`
  8140  
  8141  	// ApiId is a required field
  8142  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8143  
  8144  	// A string with a length between [1-1024].
  8145  	ConnectionId *string `locationName:"connectionId" type:"string"`
  8146  
  8147  	// Represents a connection type.
  8148  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
  8149  
  8150  	// Specifies how to handle response payload content type conversions. Supported
  8151  	// only for WebSocket APIs.
  8152  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
  8153  
  8154  	// Represents an Amazon Resource Name (ARN).
  8155  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
  8156  
  8157  	// A string with a length between [0-1024].
  8158  	Description *string `locationName:"description" type:"string"`
  8159  
  8160  	// A string with a length between [1-64].
  8161  	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
  8162  
  8163  	// A string with a length between [1-128].
  8164  	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
  8165  
  8166  	// Represents an API method integration type.
  8167  	//
  8168  	// IntegrationType is a required field
  8169  	IntegrationType *string `locationName:"integrationType" type:"string" required:"true" enum:"IntegrationType"`
  8170  
  8171  	// A string representation of a URI with a length between [1-2048].
  8172  	IntegrationUri *string `locationName:"integrationUri" type:"string"`
  8173  
  8174  	// Represents passthrough behavior for an integration response. Supported only
  8175  	// for WebSocket APIs.
  8176  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
  8177  
  8178  	// A string with a length between [1-64].
  8179  	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
  8180  
  8181  	// For WebSocket APIs, a key-value map specifying request parameters that are
  8182  	// passed from the method request to the backend. The key is an integration
  8183  	// request parameter name and the associated value is a method request parameter
  8184  	// value or static value that must be enclosed within single quotes and pre-encoded
  8185  	// as required by the backend. The method request parameter value must match
  8186  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
  8187  	// path, or header; and {name} must be a valid and unique method request parameter
  8188  	// name.
  8189  	//
  8190  	// For HTTP API integrations with a specified integrationSubtype, request parameters
  8191  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
  8192  	// You can provide static values, or map request data, stage variables, or context
  8193  	// variables that are evaluated at runtime. To learn more, see Working with
  8194  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
  8195  	//
  8196  	// For HTTP API integrations without a specified integrationSubtype request
  8197  	// parameters are a key-value map specifying how to transform HTTP requests
  8198  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
  8199  	// where action can be append, overwrite or remove. For values, you can provide
  8200  	// static values, or map request data, stage variables, or context variables
  8201  	// that are evaluated at runtime. To learn more, see Transforming API requests
  8202  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
  8203  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
  8204  
  8205  	// A mapping of identifier keys to templates. The value is an actual template
  8206  	// script. The key is typically a SelectionKey which is chosen based on evaluating
  8207  	// a selection expression.
  8208  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
  8209  
  8210  	// Supported only for HTTP APIs. You use response parameters to transform the
  8211  	// HTTP response from a backend integration before returning the response to
  8212  	// clients.
  8213  	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
  8214  
  8215  	// An expression used to extract information at runtime. See Selection Expressions
  8216  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8217  	// for more information.
  8218  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
  8219  
  8220  	// An integer with a value between [50-30000].
  8221  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
  8222  
  8223  	// The TLS configuration for a private integration. If you specify a TLS configuration,
  8224  	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
  8225  	// APIs.
  8226  	TlsConfig *TlsConfigInput `locationName:"tlsConfig" type:"structure"`
  8227  }
  8228  
  8229  // String returns the string representation.
  8230  //
  8231  // API parameter values that are decorated as "sensitive" in the API will not
  8232  // be included in the string output. The member name will be present, but the
  8233  // value will be replaced with "sensitive".
  8234  func (s CreateIntegrationInput) String() string {
  8235  	return awsutil.Prettify(s)
  8236  }
  8237  
  8238  // GoString returns the string representation.
  8239  //
  8240  // API parameter values that are decorated as "sensitive" in the API will not
  8241  // be included in the string output. The member name will be present, but the
  8242  // value will be replaced with "sensitive".
  8243  func (s CreateIntegrationInput) GoString() string {
  8244  	return s.String()
  8245  }
  8246  
  8247  // Validate inspects the fields of the type to determine if they are valid.
  8248  func (s *CreateIntegrationInput) Validate() error {
  8249  	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationInput"}
  8250  	if s.ApiId == nil {
  8251  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8252  	}
  8253  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8254  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8255  	}
  8256  	if s.IntegrationType == nil {
  8257  		invalidParams.Add(request.NewErrParamRequired("IntegrationType"))
  8258  	}
  8259  	if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 {
  8260  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50))
  8261  	}
  8262  
  8263  	if invalidParams.Len() > 0 {
  8264  		return invalidParams
  8265  	}
  8266  	return nil
  8267  }
  8268  
  8269  // SetApiId sets the ApiId field's value.
  8270  func (s *CreateIntegrationInput) SetApiId(v string) *CreateIntegrationInput {
  8271  	s.ApiId = &v
  8272  	return s
  8273  }
  8274  
  8275  // SetConnectionId sets the ConnectionId field's value.
  8276  func (s *CreateIntegrationInput) SetConnectionId(v string) *CreateIntegrationInput {
  8277  	s.ConnectionId = &v
  8278  	return s
  8279  }
  8280  
  8281  // SetConnectionType sets the ConnectionType field's value.
  8282  func (s *CreateIntegrationInput) SetConnectionType(v string) *CreateIntegrationInput {
  8283  	s.ConnectionType = &v
  8284  	return s
  8285  }
  8286  
  8287  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
  8288  func (s *CreateIntegrationInput) SetContentHandlingStrategy(v string) *CreateIntegrationInput {
  8289  	s.ContentHandlingStrategy = &v
  8290  	return s
  8291  }
  8292  
  8293  // SetCredentialsArn sets the CredentialsArn field's value.
  8294  func (s *CreateIntegrationInput) SetCredentialsArn(v string) *CreateIntegrationInput {
  8295  	s.CredentialsArn = &v
  8296  	return s
  8297  }
  8298  
  8299  // SetDescription sets the Description field's value.
  8300  func (s *CreateIntegrationInput) SetDescription(v string) *CreateIntegrationInput {
  8301  	s.Description = &v
  8302  	return s
  8303  }
  8304  
  8305  // SetIntegrationMethod sets the IntegrationMethod field's value.
  8306  func (s *CreateIntegrationInput) SetIntegrationMethod(v string) *CreateIntegrationInput {
  8307  	s.IntegrationMethod = &v
  8308  	return s
  8309  }
  8310  
  8311  // SetIntegrationSubtype sets the IntegrationSubtype field's value.
  8312  func (s *CreateIntegrationInput) SetIntegrationSubtype(v string) *CreateIntegrationInput {
  8313  	s.IntegrationSubtype = &v
  8314  	return s
  8315  }
  8316  
  8317  // SetIntegrationType sets the IntegrationType field's value.
  8318  func (s *CreateIntegrationInput) SetIntegrationType(v string) *CreateIntegrationInput {
  8319  	s.IntegrationType = &v
  8320  	return s
  8321  }
  8322  
  8323  // SetIntegrationUri sets the IntegrationUri field's value.
  8324  func (s *CreateIntegrationInput) SetIntegrationUri(v string) *CreateIntegrationInput {
  8325  	s.IntegrationUri = &v
  8326  	return s
  8327  }
  8328  
  8329  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
  8330  func (s *CreateIntegrationInput) SetPassthroughBehavior(v string) *CreateIntegrationInput {
  8331  	s.PassthroughBehavior = &v
  8332  	return s
  8333  }
  8334  
  8335  // SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
  8336  func (s *CreateIntegrationInput) SetPayloadFormatVersion(v string) *CreateIntegrationInput {
  8337  	s.PayloadFormatVersion = &v
  8338  	return s
  8339  }
  8340  
  8341  // SetRequestParameters sets the RequestParameters field's value.
  8342  func (s *CreateIntegrationInput) SetRequestParameters(v map[string]*string) *CreateIntegrationInput {
  8343  	s.RequestParameters = v
  8344  	return s
  8345  }
  8346  
  8347  // SetRequestTemplates sets the RequestTemplates field's value.
  8348  func (s *CreateIntegrationInput) SetRequestTemplates(v map[string]*string) *CreateIntegrationInput {
  8349  	s.RequestTemplates = v
  8350  	return s
  8351  }
  8352  
  8353  // SetResponseParameters sets the ResponseParameters field's value.
  8354  func (s *CreateIntegrationInput) SetResponseParameters(v map[string]map[string]*string) *CreateIntegrationInput {
  8355  	s.ResponseParameters = v
  8356  	return s
  8357  }
  8358  
  8359  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
  8360  func (s *CreateIntegrationInput) SetTemplateSelectionExpression(v string) *CreateIntegrationInput {
  8361  	s.TemplateSelectionExpression = &v
  8362  	return s
  8363  }
  8364  
  8365  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
  8366  func (s *CreateIntegrationInput) SetTimeoutInMillis(v int64) *CreateIntegrationInput {
  8367  	s.TimeoutInMillis = &v
  8368  	return s
  8369  }
  8370  
  8371  // SetTlsConfig sets the TlsConfig field's value.
  8372  func (s *CreateIntegrationInput) SetTlsConfig(v *TlsConfigInput) *CreateIntegrationInput {
  8373  	s.TlsConfig = v
  8374  	return s
  8375  }
  8376  
  8377  type CreateIntegrationOutput struct {
  8378  	_ struct{} `type:"structure"`
  8379  
  8380  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
  8381  
  8382  	// A string with a length between [1-1024].
  8383  	ConnectionId *string `locationName:"connectionId" type:"string"`
  8384  
  8385  	// Represents a connection type.
  8386  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
  8387  
  8388  	// Specifies how to handle response payload content type conversions. Supported
  8389  	// only for WebSocket APIs.
  8390  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
  8391  
  8392  	// Represents an Amazon Resource Name (ARN).
  8393  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
  8394  
  8395  	// A string with a length between [0-1024].
  8396  	Description *string `locationName:"description" type:"string"`
  8397  
  8398  	// The identifier.
  8399  	IntegrationId *string `locationName:"integrationId" type:"string"`
  8400  
  8401  	// A string with a length between [1-64].
  8402  	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
  8403  
  8404  	// An expression used to extract information at runtime. See Selection Expressions
  8405  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8406  	// for more information.
  8407  	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
  8408  
  8409  	// A string with a length between [1-128].
  8410  	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
  8411  
  8412  	// Represents an API method integration type.
  8413  	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
  8414  
  8415  	// A string representation of a URI with a length between [1-2048].
  8416  	IntegrationUri *string `locationName:"integrationUri" type:"string"`
  8417  
  8418  	// Represents passthrough behavior for an integration response. Supported only
  8419  	// for WebSocket APIs.
  8420  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
  8421  
  8422  	// A string with a length between [1-64].
  8423  	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
  8424  
  8425  	// For WebSocket APIs, a key-value map specifying request parameters that are
  8426  	// passed from the method request to the backend. The key is an integration
  8427  	// request parameter name and the associated value is a method request parameter
  8428  	// value or static value that must be enclosed within single quotes and pre-encoded
  8429  	// as required by the backend. The method request parameter value must match
  8430  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
  8431  	// path, or header; and {name} must be a valid and unique method request parameter
  8432  	// name.
  8433  	//
  8434  	// For HTTP API integrations with a specified integrationSubtype, request parameters
  8435  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
  8436  	// You can provide static values, or map request data, stage variables, or context
  8437  	// variables that are evaluated at runtime. To learn more, see Working with
  8438  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
  8439  	//
  8440  	// For HTTP API integrations without a specified integrationSubtype request
  8441  	// parameters are a key-value map specifying how to transform HTTP requests
  8442  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
  8443  	// where action can be append, overwrite or remove. For values, you can provide
  8444  	// static values, or map request data, stage variables, or context variables
  8445  	// that are evaluated at runtime. To learn more, see Transforming API requests
  8446  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
  8447  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
  8448  
  8449  	// A mapping of identifier keys to templates. The value is an actual template
  8450  	// script. The key is typically a SelectionKey which is chosen based on evaluating
  8451  	// a selection expression.
  8452  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
  8453  
  8454  	// Supported only for HTTP APIs. You use response parameters to transform the
  8455  	// HTTP response from a backend integration before returning the response to
  8456  	// clients.
  8457  	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
  8458  
  8459  	// An expression used to extract information at runtime. See Selection Expressions
  8460  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8461  	// for more information.
  8462  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
  8463  
  8464  	// An integer with a value between [50-30000].
  8465  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
  8466  
  8467  	// The TLS configuration for a private integration. If you specify a TLS configuration,
  8468  	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
  8469  	// APIs.
  8470  	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
  8471  }
  8472  
  8473  // String returns the string representation.
  8474  //
  8475  // API parameter values that are decorated as "sensitive" in the API will not
  8476  // be included in the string output. The member name will be present, but the
  8477  // value will be replaced with "sensitive".
  8478  func (s CreateIntegrationOutput) String() string {
  8479  	return awsutil.Prettify(s)
  8480  }
  8481  
  8482  // GoString returns the string representation.
  8483  //
  8484  // API parameter values that are decorated as "sensitive" in the API will not
  8485  // be included in the string output. The member name will be present, but the
  8486  // value will be replaced with "sensitive".
  8487  func (s CreateIntegrationOutput) GoString() string {
  8488  	return s.String()
  8489  }
  8490  
  8491  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
  8492  func (s *CreateIntegrationOutput) SetApiGatewayManaged(v bool) *CreateIntegrationOutput {
  8493  	s.ApiGatewayManaged = &v
  8494  	return s
  8495  }
  8496  
  8497  // SetConnectionId sets the ConnectionId field's value.
  8498  func (s *CreateIntegrationOutput) SetConnectionId(v string) *CreateIntegrationOutput {
  8499  	s.ConnectionId = &v
  8500  	return s
  8501  }
  8502  
  8503  // SetConnectionType sets the ConnectionType field's value.
  8504  func (s *CreateIntegrationOutput) SetConnectionType(v string) *CreateIntegrationOutput {
  8505  	s.ConnectionType = &v
  8506  	return s
  8507  }
  8508  
  8509  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
  8510  func (s *CreateIntegrationOutput) SetContentHandlingStrategy(v string) *CreateIntegrationOutput {
  8511  	s.ContentHandlingStrategy = &v
  8512  	return s
  8513  }
  8514  
  8515  // SetCredentialsArn sets the CredentialsArn field's value.
  8516  func (s *CreateIntegrationOutput) SetCredentialsArn(v string) *CreateIntegrationOutput {
  8517  	s.CredentialsArn = &v
  8518  	return s
  8519  }
  8520  
  8521  // SetDescription sets the Description field's value.
  8522  func (s *CreateIntegrationOutput) SetDescription(v string) *CreateIntegrationOutput {
  8523  	s.Description = &v
  8524  	return s
  8525  }
  8526  
  8527  // SetIntegrationId sets the IntegrationId field's value.
  8528  func (s *CreateIntegrationOutput) SetIntegrationId(v string) *CreateIntegrationOutput {
  8529  	s.IntegrationId = &v
  8530  	return s
  8531  }
  8532  
  8533  // SetIntegrationMethod sets the IntegrationMethod field's value.
  8534  func (s *CreateIntegrationOutput) SetIntegrationMethod(v string) *CreateIntegrationOutput {
  8535  	s.IntegrationMethod = &v
  8536  	return s
  8537  }
  8538  
  8539  // SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
  8540  func (s *CreateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *CreateIntegrationOutput {
  8541  	s.IntegrationResponseSelectionExpression = &v
  8542  	return s
  8543  }
  8544  
  8545  // SetIntegrationSubtype sets the IntegrationSubtype field's value.
  8546  func (s *CreateIntegrationOutput) SetIntegrationSubtype(v string) *CreateIntegrationOutput {
  8547  	s.IntegrationSubtype = &v
  8548  	return s
  8549  }
  8550  
  8551  // SetIntegrationType sets the IntegrationType field's value.
  8552  func (s *CreateIntegrationOutput) SetIntegrationType(v string) *CreateIntegrationOutput {
  8553  	s.IntegrationType = &v
  8554  	return s
  8555  }
  8556  
  8557  // SetIntegrationUri sets the IntegrationUri field's value.
  8558  func (s *CreateIntegrationOutput) SetIntegrationUri(v string) *CreateIntegrationOutput {
  8559  	s.IntegrationUri = &v
  8560  	return s
  8561  }
  8562  
  8563  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
  8564  func (s *CreateIntegrationOutput) SetPassthroughBehavior(v string) *CreateIntegrationOutput {
  8565  	s.PassthroughBehavior = &v
  8566  	return s
  8567  }
  8568  
  8569  // SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
  8570  func (s *CreateIntegrationOutput) SetPayloadFormatVersion(v string) *CreateIntegrationOutput {
  8571  	s.PayloadFormatVersion = &v
  8572  	return s
  8573  }
  8574  
  8575  // SetRequestParameters sets the RequestParameters field's value.
  8576  func (s *CreateIntegrationOutput) SetRequestParameters(v map[string]*string) *CreateIntegrationOutput {
  8577  	s.RequestParameters = v
  8578  	return s
  8579  }
  8580  
  8581  // SetRequestTemplates sets the RequestTemplates field's value.
  8582  func (s *CreateIntegrationOutput) SetRequestTemplates(v map[string]*string) *CreateIntegrationOutput {
  8583  	s.RequestTemplates = v
  8584  	return s
  8585  }
  8586  
  8587  // SetResponseParameters sets the ResponseParameters field's value.
  8588  func (s *CreateIntegrationOutput) SetResponseParameters(v map[string]map[string]*string) *CreateIntegrationOutput {
  8589  	s.ResponseParameters = v
  8590  	return s
  8591  }
  8592  
  8593  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
  8594  func (s *CreateIntegrationOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationOutput {
  8595  	s.TemplateSelectionExpression = &v
  8596  	return s
  8597  }
  8598  
  8599  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
  8600  func (s *CreateIntegrationOutput) SetTimeoutInMillis(v int64) *CreateIntegrationOutput {
  8601  	s.TimeoutInMillis = &v
  8602  	return s
  8603  }
  8604  
  8605  // SetTlsConfig sets the TlsConfig field's value.
  8606  func (s *CreateIntegrationOutput) SetTlsConfig(v *TlsConfig) *CreateIntegrationOutput {
  8607  	s.TlsConfig = v
  8608  	return s
  8609  }
  8610  
  8611  type CreateIntegrationResponseInput struct {
  8612  	_ struct{} `type:"structure"`
  8613  
  8614  	// ApiId is a required field
  8615  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8616  
  8617  	// Specifies how to handle response payload content type conversions. Supported
  8618  	// only for WebSocket APIs.
  8619  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
  8620  
  8621  	// IntegrationId is a required field
  8622  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
  8623  
  8624  	// After evaluating a selection expression, the result is compared against one
  8625  	// or more selection keys to find a matching key. See Selection Expressions
  8626  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8627  	// for a list of expressions and each expression's associated selection key
  8628  	// type.
  8629  	//
  8630  	// IntegrationResponseKey is a required field
  8631  	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"`
  8632  
  8633  	// For WebSocket APIs, a key-value map specifying request parameters that are
  8634  	// passed from the method request to the backend. The key is an integration
  8635  	// request parameter name and the associated value is a method request parameter
  8636  	// value or static value that must be enclosed within single quotes and pre-encoded
  8637  	// as required by the backend. The method request parameter value must match
  8638  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
  8639  	// path, or header; and {name} must be a valid and unique method request parameter
  8640  	// name.
  8641  	//
  8642  	// For HTTP API integrations with a specified integrationSubtype, request parameters
  8643  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
  8644  	// You can provide static values, or map request data, stage variables, or context
  8645  	// variables that are evaluated at runtime. To learn more, see Working with
  8646  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
  8647  	//
  8648  	// For HTTP API integrations without a specified integrationSubtype request
  8649  	// parameters are a key-value map specifying how to transform HTTP requests
  8650  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
  8651  	// where action can be append, overwrite or remove. For values, you can provide
  8652  	// static values, or map request data, stage variables, or context variables
  8653  	// that are evaluated at runtime. To learn more, see Transforming API requests
  8654  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
  8655  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
  8656  
  8657  	// A mapping of identifier keys to templates. The value is an actual template
  8658  	// script. The key is typically a SelectionKey which is chosen based on evaluating
  8659  	// a selection expression.
  8660  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
  8661  
  8662  	// An expression used to extract information at runtime. See Selection Expressions
  8663  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8664  	// for more information.
  8665  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
  8666  }
  8667  
  8668  // String returns the string representation.
  8669  //
  8670  // API parameter values that are decorated as "sensitive" in the API will not
  8671  // be included in the string output. The member name will be present, but the
  8672  // value will be replaced with "sensitive".
  8673  func (s CreateIntegrationResponseInput) String() string {
  8674  	return awsutil.Prettify(s)
  8675  }
  8676  
  8677  // GoString returns the string representation.
  8678  //
  8679  // API parameter values that are decorated as "sensitive" in the API will not
  8680  // be included in the string output. The member name will be present, but the
  8681  // value will be replaced with "sensitive".
  8682  func (s CreateIntegrationResponseInput) GoString() string {
  8683  	return s.String()
  8684  }
  8685  
  8686  // Validate inspects the fields of the type to determine if they are valid.
  8687  func (s *CreateIntegrationResponseInput) Validate() error {
  8688  	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationResponseInput"}
  8689  	if s.ApiId == nil {
  8690  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8691  	}
  8692  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8693  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8694  	}
  8695  	if s.IntegrationId == nil {
  8696  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
  8697  	}
  8698  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
  8699  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
  8700  	}
  8701  	if s.IntegrationResponseKey == nil {
  8702  		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseKey"))
  8703  	}
  8704  
  8705  	if invalidParams.Len() > 0 {
  8706  		return invalidParams
  8707  	}
  8708  	return nil
  8709  }
  8710  
  8711  // SetApiId sets the ApiId field's value.
  8712  func (s *CreateIntegrationResponseInput) SetApiId(v string) *CreateIntegrationResponseInput {
  8713  	s.ApiId = &v
  8714  	return s
  8715  }
  8716  
  8717  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
  8718  func (s *CreateIntegrationResponseInput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseInput {
  8719  	s.ContentHandlingStrategy = &v
  8720  	return s
  8721  }
  8722  
  8723  // SetIntegrationId sets the IntegrationId field's value.
  8724  func (s *CreateIntegrationResponseInput) SetIntegrationId(v string) *CreateIntegrationResponseInput {
  8725  	s.IntegrationId = &v
  8726  	return s
  8727  }
  8728  
  8729  // SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
  8730  func (s *CreateIntegrationResponseInput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseInput {
  8731  	s.IntegrationResponseKey = &v
  8732  	return s
  8733  }
  8734  
  8735  // SetResponseParameters sets the ResponseParameters field's value.
  8736  func (s *CreateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseInput {
  8737  	s.ResponseParameters = v
  8738  	return s
  8739  }
  8740  
  8741  // SetResponseTemplates sets the ResponseTemplates field's value.
  8742  func (s *CreateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseInput {
  8743  	s.ResponseTemplates = v
  8744  	return s
  8745  }
  8746  
  8747  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
  8748  func (s *CreateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseInput {
  8749  	s.TemplateSelectionExpression = &v
  8750  	return s
  8751  }
  8752  
  8753  type CreateIntegrationResponseOutput struct {
  8754  	_ struct{} `type:"structure"`
  8755  
  8756  	// Specifies how to handle response payload content type conversions. Supported
  8757  	// only for WebSocket APIs.
  8758  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
  8759  
  8760  	// The identifier.
  8761  	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
  8762  
  8763  	// After evaluating a selection expression, the result is compared against one
  8764  	// or more selection keys to find a matching key. See Selection Expressions
  8765  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8766  	// for a list of expressions and each expression's associated selection key
  8767  	// type.
  8768  	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
  8769  
  8770  	// For WebSocket APIs, a key-value map specifying request parameters that are
  8771  	// passed from the method request to the backend. The key is an integration
  8772  	// request parameter name and the associated value is a method request parameter
  8773  	// value or static value that must be enclosed within single quotes and pre-encoded
  8774  	// as required by the backend. The method request parameter value must match
  8775  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
  8776  	// path, or header; and {name} must be a valid and unique method request parameter
  8777  	// name.
  8778  	//
  8779  	// For HTTP API integrations with a specified integrationSubtype, request parameters
  8780  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
  8781  	// You can provide static values, or map request data, stage variables, or context
  8782  	// variables that are evaluated at runtime. To learn more, see Working with
  8783  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
  8784  	//
  8785  	// For HTTP API integrations without a specified integrationSubtype request
  8786  	// parameters are a key-value map specifying how to transform HTTP requests
  8787  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
  8788  	// where action can be append, overwrite or remove. For values, you can provide
  8789  	// static values, or map request data, stage variables, or context variables
  8790  	// that are evaluated at runtime. To learn more, see Transforming API requests
  8791  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
  8792  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
  8793  
  8794  	// A mapping of identifier keys to templates. The value is an actual template
  8795  	// script. The key is typically a SelectionKey which is chosen based on evaluating
  8796  	// a selection expression.
  8797  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
  8798  
  8799  	// An expression used to extract information at runtime. See Selection Expressions
  8800  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  8801  	// for more information.
  8802  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
  8803  }
  8804  
  8805  // String returns the string representation.
  8806  //
  8807  // API parameter values that are decorated as "sensitive" in the API will not
  8808  // be included in the string output. The member name will be present, but the
  8809  // value will be replaced with "sensitive".
  8810  func (s CreateIntegrationResponseOutput) String() string {
  8811  	return awsutil.Prettify(s)
  8812  }
  8813  
  8814  // GoString returns the string representation.
  8815  //
  8816  // API parameter values that are decorated as "sensitive" in the API will not
  8817  // be included in the string output. The member name will be present, but the
  8818  // value will be replaced with "sensitive".
  8819  func (s CreateIntegrationResponseOutput) GoString() string {
  8820  	return s.String()
  8821  }
  8822  
  8823  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
  8824  func (s *CreateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *CreateIntegrationResponseOutput {
  8825  	s.ContentHandlingStrategy = &v
  8826  	return s
  8827  }
  8828  
  8829  // SetIntegrationResponseId sets the IntegrationResponseId field's value.
  8830  func (s *CreateIntegrationResponseOutput) SetIntegrationResponseId(v string) *CreateIntegrationResponseOutput {
  8831  	s.IntegrationResponseId = &v
  8832  	return s
  8833  }
  8834  
  8835  // SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
  8836  func (s *CreateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *CreateIntegrationResponseOutput {
  8837  	s.IntegrationResponseKey = &v
  8838  	return s
  8839  }
  8840  
  8841  // SetResponseParameters sets the ResponseParameters field's value.
  8842  func (s *CreateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *CreateIntegrationResponseOutput {
  8843  	s.ResponseParameters = v
  8844  	return s
  8845  }
  8846  
  8847  // SetResponseTemplates sets the ResponseTemplates field's value.
  8848  func (s *CreateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *CreateIntegrationResponseOutput {
  8849  	s.ResponseTemplates = v
  8850  	return s
  8851  }
  8852  
  8853  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
  8854  func (s *CreateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *CreateIntegrationResponseOutput {
  8855  	s.TemplateSelectionExpression = &v
  8856  	return s
  8857  }
  8858  
  8859  type CreateModelInput struct {
  8860  	_ struct{} `type:"structure"`
  8861  
  8862  	// ApiId is a required field
  8863  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8864  
  8865  	// A string with a length between [1-256].
  8866  	ContentType *string `locationName:"contentType" type:"string"`
  8867  
  8868  	// A string with a length between [0-1024].
  8869  	Description *string `locationName:"description" type:"string"`
  8870  
  8871  	// A string with a length between [1-128].
  8872  	//
  8873  	// Name is a required field
  8874  	Name *string `locationName:"name" type:"string" required:"true"`
  8875  
  8876  	// A string with a length between [0-32768].
  8877  	//
  8878  	// Schema is a required field
  8879  	Schema *string `locationName:"schema" type:"string" required:"true"`
  8880  }
  8881  
  8882  // String returns the string representation.
  8883  //
  8884  // API parameter values that are decorated as "sensitive" in the API will not
  8885  // be included in the string output. The member name will be present, but the
  8886  // value will be replaced with "sensitive".
  8887  func (s CreateModelInput) String() string {
  8888  	return awsutil.Prettify(s)
  8889  }
  8890  
  8891  // GoString returns the string representation.
  8892  //
  8893  // API parameter values that are decorated as "sensitive" in the API will not
  8894  // be included in the string output. The member name will be present, but the
  8895  // value will be replaced with "sensitive".
  8896  func (s CreateModelInput) GoString() string {
  8897  	return s.String()
  8898  }
  8899  
  8900  // Validate inspects the fields of the type to determine if they are valid.
  8901  func (s *CreateModelInput) Validate() error {
  8902  	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
  8903  	if s.ApiId == nil {
  8904  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8905  	}
  8906  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8907  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8908  	}
  8909  	if s.Name == nil {
  8910  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8911  	}
  8912  	if s.Schema == nil {
  8913  		invalidParams.Add(request.NewErrParamRequired("Schema"))
  8914  	}
  8915  
  8916  	if invalidParams.Len() > 0 {
  8917  		return invalidParams
  8918  	}
  8919  	return nil
  8920  }
  8921  
  8922  // SetApiId sets the ApiId field's value.
  8923  func (s *CreateModelInput) SetApiId(v string) *CreateModelInput {
  8924  	s.ApiId = &v
  8925  	return s
  8926  }
  8927  
  8928  // SetContentType sets the ContentType field's value.
  8929  func (s *CreateModelInput) SetContentType(v string) *CreateModelInput {
  8930  	s.ContentType = &v
  8931  	return s
  8932  }
  8933  
  8934  // SetDescription sets the Description field's value.
  8935  func (s *CreateModelInput) SetDescription(v string) *CreateModelInput {
  8936  	s.Description = &v
  8937  	return s
  8938  }
  8939  
  8940  // SetName sets the Name field's value.
  8941  func (s *CreateModelInput) SetName(v string) *CreateModelInput {
  8942  	s.Name = &v
  8943  	return s
  8944  }
  8945  
  8946  // SetSchema sets the Schema field's value.
  8947  func (s *CreateModelInput) SetSchema(v string) *CreateModelInput {
  8948  	s.Schema = &v
  8949  	return s
  8950  }
  8951  
  8952  type CreateModelOutput struct {
  8953  	_ struct{} `type:"structure"`
  8954  
  8955  	// A string with a length between [1-256].
  8956  	ContentType *string `locationName:"contentType" type:"string"`
  8957  
  8958  	// A string with a length between [0-1024].
  8959  	Description *string `locationName:"description" type:"string"`
  8960  
  8961  	// The identifier.
  8962  	ModelId *string `locationName:"modelId" type:"string"`
  8963  
  8964  	// A string with a length between [1-128].
  8965  	Name *string `locationName:"name" type:"string"`
  8966  
  8967  	// A string with a length between [0-32768].
  8968  	Schema *string `locationName:"schema" type:"string"`
  8969  }
  8970  
  8971  // String returns the string representation.
  8972  //
  8973  // API parameter values that are decorated as "sensitive" in the API will not
  8974  // be included in the string output. The member name will be present, but the
  8975  // value will be replaced with "sensitive".
  8976  func (s CreateModelOutput) String() string {
  8977  	return awsutil.Prettify(s)
  8978  }
  8979  
  8980  // GoString returns the string representation.
  8981  //
  8982  // API parameter values that are decorated as "sensitive" in the API will not
  8983  // be included in the string output. The member name will be present, but the
  8984  // value will be replaced with "sensitive".
  8985  func (s CreateModelOutput) GoString() string {
  8986  	return s.String()
  8987  }
  8988  
  8989  // SetContentType sets the ContentType field's value.
  8990  func (s *CreateModelOutput) SetContentType(v string) *CreateModelOutput {
  8991  	s.ContentType = &v
  8992  	return s
  8993  }
  8994  
  8995  // SetDescription sets the Description field's value.
  8996  func (s *CreateModelOutput) SetDescription(v string) *CreateModelOutput {
  8997  	s.Description = &v
  8998  	return s
  8999  }
  9000  
  9001  // SetModelId sets the ModelId field's value.
  9002  func (s *CreateModelOutput) SetModelId(v string) *CreateModelOutput {
  9003  	s.ModelId = &v
  9004  	return s
  9005  }
  9006  
  9007  // SetName sets the Name field's value.
  9008  func (s *CreateModelOutput) SetName(v string) *CreateModelOutput {
  9009  	s.Name = &v
  9010  	return s
  9011  }
  9012  
  9013  // SetSchema sets the Schema field's value.
  9014  func (s *CreateModelOutput) SetSchema(v string) *CreateModelOutput {
  9015  	s.Schema = &v
  9016  	return s
  9017  }
  9018  
  9019  type CreateRouteInput struct {
  9020  	_ struct{} `type:"structure"`
  9021  
  9022  	// ApiId is a required field
  9023  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  9024  
  9025  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
  9026  
  9027  	// A list of authorization scopes configured on a route. The scopes are used
  9028  	// with a JWT authorizer to authorize the method invocation. The authorization
  9029  	// works by matching the route scopes against the scopes parsed from the access
  9030  	// token in the incoming request. The method invocation is authorized if any
  9031  	// route scope matches a claimed scope in the access token. Otherwise, the invocation
  9032  	// is not authorized. When the route scope is configured, the client must provide
  9033  	// an access token instead of an identity token for authorization purposes.
  9034  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
  9035  
  9036  	// The authorization type. For WebSocket APIs, valid values are NONE for open
  9037  	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
  9038  	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
  9039  	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
  9040  	// for using a Lambda authorizer.
  9041  	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
  9042  
  9043  	// The identifier.
  9044  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
  9045  
  9046  	// An expression used to extract information at runtime. See Selection Expressions
  9047  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9048  	// for more information.
  9049  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
  9050  
  9051  	// A string with a length between [1-64].
  9052  	OperationName *string `locationName:"operationName" type:"string"`
  9053  
  9054  	// The route models.
  9055  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
  9056  
  9057  	// The route parameters.
  9058  	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
  9059  
  9060  	// After evaluating a selection expression, the result is compared against one
  9061  	// or more selection keys to find a matching key. See Selection Expressions
  9062  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9063  	// for a list of expressions and each expression's associated selection key
  9064  	// type.
  9065  	//
  9066  	// RouteKey is a required field
  9067  	RouteKey *string `locationName:"routeKey" type:"string" required:"true"`
  9068  
  9069  	// An expression used to extract information at runtime. See Selection Expressions
  9070  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9071  	// for more information.
  9072  	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
  9073  
  9074  	// A string with a length between [1-128].
  9075  	Target *string `locationName:"target" type:"string"`
  9076  }
  9077  
  9078  // String returns the string representation.
  9079  //
  9080  // API parameter values that are decorated as "sensitive" in the API will not
  9081  // be included in the string output. The member name will be present, but the
  9082  // value will be replaced with "sensitive".
  9083  func (s CreateRouteInput) String() string {
  9084  	return awsutil.Prettify(s)
  9085  }
  9086  
  9087  // GoString returns the string representation.
  9088  //
  9089  // API parameter values that are decorated as "sensitive" in the API will not
  9090  // be included in the string output. The member name will be present, but the
  9091  // value will be replaced with "sensitive".
  9092  func (s CreateRouteInput) GoString() string {
  9093  	return s.String()
  9094  }
  9095  
  9096  // Validate inspects the fields of the type to determine if they are valid.
  9097  func (s *CreateRouteInput) Validate() error {
  9098  	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  9099  	if s.ApiId == nil {
  9100  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  9101  	}
  9102  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  9103  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  9104  	}
  9105  	if s.RouteKey == nil {
  9106  		invalidParams.Add(request.NewErrParamRequired("RouteKey"))
  9107  	}
  9108  
  9109  	if invalidParams.Len() > 0 {
  9110  		return invalidParams
  9111  	}
  9112  	return nil
  9113  }
  9114  
  9115  // SetApiId sets the ApiId field's value.
  9116  func (s *CreateRouteInput) SetApiId(v string) *CreateRouteInput {
  9117  	s.ApiId = &v
  9118  	return s
  9119  }
  9120  
  9121  // SetApiKeyRequired sets the ApiKeyRequired field's value.
  9122  func (s *CreateRouteInput) SetApiKeyRequired(v bool) *CreateRouteInput {
  9123  	s.ApiKeyRequired = &v
  9124  	return s
  9125  }
  9126  
  9127  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
  9128  func (s *CreateRouteInput) SetAuthorizationScopes(v []*string) *CreateRouteInput {
  9129  	s.AuthorizationScopes = v
  9130  	return s
  9131  }
  9132  
  9133  // SetAuthorizationType sets the AuthorizationType field's value.
  9134  func (s *CreateRouteInput) SetAuthorizationType(v string) *CreateRouteInput {
  9135  	s.AuthorizationType = &v
  9136  	return s
  9137  }
  9138  
  9139  // SetAuthorizerId sets the AuthorizerId field's value.
  9140  func (s *CreateRouteInput) SetAuthorizerId(v string) *CreateRouteInput {
  9141  	s.AuthorizerId = &v
  9142  	return s
  9143  }
  9144  
  9145  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
  9146  func (s *CreateRouteInput) SetModelSelectionExpression(v string) *CreateRouteInput {
  9147  	s.ModelSelectionExpression = &v
  9148  	return s
  9149  }
  9150  
  9151  // SetOperationName sets the OperationName field's value.
  9152  func (s *CreateRouteInput) SetOperationName(v string) *CreateRouteInput {
  9153  	s.OperationName = &v
  9154  	return s
  9155  }
  9156  
  9157  // SetRequestModels sets the RequestModels field's value.
  9158  func (s *CreateRouteInput) SetRequestModels(v map[string]*string) *CreateRouteInput {
  9159  	s.RequestModels = v
  9160  	return s
  9161  }
  9162  
  9163  // SetRequestParameters sets the RequestParameters field's value.
  9164  func (s *CreateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteInput {
  9165  	s.RequestParameters = v
  9166  	return s
  9167  }
  9168  
  9169  // SetRouteKey sets the RouteKey field's value.
  9170  func (s *CreateRouteInput) SetRouteKey(v string) *CreateRouteInput {
  9171  	s.RouteKey = &v
  9172  	return s
  9173  }
  9174  
  9175  // SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
  9176  func (s *CreateRouteInput) SetRouteResponseSelectionExpression(v string) *CreateRouteInput {
  9177  	s.RouteResponseSelectionExpression = &v
  9178  	return s
  9179  }
  9180  
  9181  // SetTarget sets the Target field's value.
  9182  func (s *CreateRouteInput) SetTarget(v string) *CreateRouteInput {
  9183  	s.Target = &v
  9184  	return s
  9185  }
  9186  
  9187  type CreateRouteOutput struct {
  9188  	_ struct{} `type:"structure"`
  9189  
  9190  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
  9191  
  9192  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
  9193  
  9194  	// A list of authorization scopes configured on a route. The scopes are used
  9195  	// with a JWT authorizer to authorize the method invocation. The authorization
  9196  	// works by matching the route scopes against the scopes parsed from the access
  9197  	// token in the incoming request. The method invocation is authorized if any
  9198  	// route scope matches a claimed scope in the access token. Otherwise, the invocation
  9199  	// is not authorized. When the route scope is configured, the client must provide
  9200  	// an access token instead of an identity token for authorization purposes.
  9201  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
  9202  
  9203  	// The authorization type. For WebSocket APIs, valid values are NONE for open
  9204  	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
  9205  	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
  9206  	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
  9207  	// for using a Lambda authorizer.
  9208  	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
  9209  
  9210  	// The identifier.
  9211  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
  9212  
  9213  	// An expression used to extract information at runtime. See Selection Expressions
  9214  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9215  	// for more information.
  9216  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
  9217  
  9218  	// A string with a length between [1-64].
  9219  	OperationName *string `locationName:"operationName" type:"string"`
  9220  
  9221  	// The route models.
  9222  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
  9223  
  9224  	// The route parameters.
  9225  	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
  9226  
  9227  	// The identifier.
  9228  	RouteId *string `locationName:"routeId" type:"string"`
  9229  
  9230  	// After evaluating a selection expression, the result is compared against one
  9231  	// or more selection keys to find a matching key. See Selection Expressions
  9232  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9233  	// for a list of expressions and each expression's associated selection key
  9234  	// type.
  9235  	RouteKey *string `locationName:"routeKey" type:"string"`
  9236  
  9237  	// An expression used to extract information at runtime. See Selection Expressions
  9238  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9239  	// for more information.
  9240  	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
  9241  
  9242  	// A string with a length between [1-128].
  9243  	Target *string `locationName:"target" type:"string"`
  9244  }
  9245  
  9246  // String returns the string representation.
  9247  //
  9248  // API parameter values that are decorated as "sensitive" in the API will not
  9249  // be included in the string output. The member name will be present, but the
  9250  // value will be replaced with "sensitive".
  9251  func (s CreateRouteOutput) String() string {
  9252  	return awsutil.Prettify(s)
  9253  }
  9254  
  9255  // GoString returns the string representation.
  9256  //
  9257  // API parameter values that are decorated as "sensitive" in the API will not
  9258  // be included in the string output. The member name will be present, but the
  9259  // value will be replaced with "sensitive".
  9260  func (s CreateRouteOutput) GoString() string {
  9261  	return s.String()
  9262  }
  9263  
  9264  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
  9265  func (s *CreateRouteOutput) SetApiGatewayManaged(v bool) *CreateRouteOutput {
  9266  	s.ApiGatewayManaged = &v
  9267  	return s
  9268  }
  9269  
  9270  // SetApiKeyRequired sets the ApiKeyRequired field's value.
  9271  func (s *CreateRouteOutput) SetApiKeyRequired(v bool) *CreateRouteOutput {
  9272  	s.ApiKeyRequired = &v
  9273  	return s
  9274  }
  9275  
  9276  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
  9277  func (s *CreateRouteOutput) SetAuthorizationScopes(v []*string) *CreateRouteOutput {
  9278  	s.AuthorizationScopes = v
  9279  	return s
  9280  }
  9281  
  9282  // SetAuthorizationType sets the AuthorizationType field's value.
  9283  func (s *CreateRouteOutput) SetAuthorizationType(v string) *CreateRouteOutput {
  9284  	s.AuthorizationType = &v
  9285  	return s
  9286  }
  9287  
  9288  // SetAuthorizerId sets the AuthorizerId field's value.
  9289  func (s *CreateRouteOutput) SetAuthorizerId(v string) *CreateRouteOutput {
  9290  	s.AuthorizerId = &v
  9291  	return s
  9292  }
  9293  
  9294  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
  9295  func (s *CreateRouteOutput) SetModelSelectionExpression(v string) *CreateRouteOutput {
  9296  	s.ModelSelectionExpression = &v
  9297  	return s
  9298  }
  9299  
  9300  // SetOperationName sets the OperationName field's value.
  9301  func (s *CreateRouteOutput) SetOperationName(v string) *CreateRouteOutput {
  9302  	s.OperationName = &v
  9303  	return s
  9304  }
  9305  
  9306  // SetRequestModels sets the RequestModels field's value.
  9307  func (s *CreateRouteOutput) SetRequestModels(v map[string]*string) *CreateRouteOutput {
  9308  	s.RequestModels = v
  9309  	return s
  9310  }
  9311  
  9312  // SetRequestParameters sets the RequestParameters field's value.
  9313  func (s *CreateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *CreateRouteOutput {
  9314  	s.RequestParameters = v
  9315  	return s
  9316  }
  9317  
  9318  // SetRouteId sets the RouteId field's value.
  9319  func (s *CreateRouteOutput) SetRouteId(v string) *CreateRouteOutput {
  9320  	s.RouteId = &v
  9321  	return s
  9322  }
  9323  
  9324  // SetRouteKey sets the RouteKey field's value.
  9325  func (s *CreateRouteOutput) SetRouteKey(v string) *CreateRouteOutput {
  9326  	s.RouteKey = &v
  9327  	return s
  9328  }
  9329  
  9330  // SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
  9331  func (s *CreateRouteOutput) SetRouteResponseSelectionExpression(v string) *CreateRouteOutput {
  9332  	s.RouteResponseSelectionExpression = &v
  9333  	return s
  9334  }
  9335  
  9336  // SetTarget sets the Target field's value.
  9337  func (s *CreateRouteOutput) SetTarget(v string) *CreateRouteOutput {
  9338  	s.Target = &v
  9339  	return s
  9340  }
  9341  
  9342  type CreateRouteResponseInput struct {
  9343  	_ struct{} `type:"structure"`
  9344  
  9345  	// ApiId is a required field
  9346  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  9347  
  9348  	// An expression used to extract information at runtime. See Selection Expressions
  9349  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9350  	// for more information.
  9351  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
  9352  
  9353  	// The route models.
  9354  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
  9355  
  9356  	// The route parameters.
  9357  	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
  9358  
  9359  	// RouteId is a required field
  9360  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
  9361  
  9362  	// After evaluating a selection expression, the result is compared against one
  9363  	// or more selection keys to find a matching key. See Selection Expressions
  9364  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9365  	// for a list of expressions and each expression's associated selection key
  9366  	// type.
  9367  	//
  9368  	// RouteResponseKey is a required field
  9369  	RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"`
  9370  }
  9371  
  9372  // String returns the string representation.
  9373  //
  9374  // API parameter values that are decorated as "sensitive" in the API will not
  9375  // be included in the string output. The member name will be present, but the
  9376  // value will be replaced with "sensitive".
  9377  func (s CreateRouteResponseInput) String() string {
  9378  	return awsutil.Prettify(s)
  9379  }
  9380  
  9381  // GoString returns the string representation.
  9382  //
  9383  // API parameter values that are decorated as "sensitive" in the API will not
  9384  // be included in the string output. The member name will be present, but the
  9385  // value will be replaced with "sensitive".
  9386  func (s CreateRouteResponseInput) GoString() string {
  9387  	return s.String()
  9388  }
  9389  
  9390  // Validate inspects the fields of the type to determine if they are valid.
  9391  func (s *CreateRouteResponseInput) Validate() error {
  9392  	invalidParams := request.ErrInvalidParams{Context: "CreateRouteResponseInput"}
  9393  	if s.ApiId == nil {
  9394  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  9395  	}
  9396  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  9397  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  9398  	}
  9399  	if s.RouteId == nil {
  9400  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
  9401  	}
  9402  	if s.RouteId != nil && len(*s.RouteId) < 1 {
  9403  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
  9404  	}
  9405  	if s.RouteResponseKey == nil {
  9406  		invalidParams.Add(request.NewErrParamRequired("RouteResponseKey"))
  9407  	}
  9408  
  9409  	if invalidParams.Len() > 0 {
  9410  		return invalidParams
  9411  	}
  9412  	return nil
  9413  }
  9414  
  9415  // SetApiId sets the ApiId field's value.
  9416  func (s *CreateRouteResponseInput) SetApiId(v string) *CreateRouteResponseInput {
  9417  	s.ApiId = &v
  9418  	return s
  9419  }
  9420  
  9421  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
  9422  func (s *CreateRouteResponseInput) SetModelSelectionExpression(v string) *CreateRouteResponseInput {
  9423  	s.ModelSelectionExpression = &v
  9424  	return s
  9425  }
  9426  
  9427  // SetResponseModels sets the ResponseModels field's value.
  9428  func (s *CreateRouteResponseInput) SetResponseModels(v map[string]*string) *CreateRouteResponseInput {
  9429  	s.ResponseModels = v
  9430  	return s
  9431  }
  9432  
  9433  // SetResponseParameters sets the ResponseParameters field's value.
  9434  func (s *CreateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseInput {
  9435  	s.ResponseParameters = v
  9436  	return s
  9437  }
  9438  
  9439  // SetRouteId sets the RouteId field's value.
  9440  func (s *CreateRouteResponseInput) SetRouteId(v string) *CreateRouteResponseInput {
  9441  	s.RouteId = &v
  9442  	return s
  9443  }
  9444  
  9445  // SetRouteResponseKey sets the RouteResponseKey field's value.
  9446  func (s *CreateRouteResponseInput) SetRouteResponseKey(v string) *CreateRouteResponseInput {
  9447  	s.RouteResponseKey = &v
  9448  	return s
  9449  }
  9450  
  9451  type CreateRouteResponseOutput struct {
  9452  	_ struct{} `type:"structure"`
  9453  
  9454  	// An expression used to extract information at runtime. See Selection Expressions
  9455  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9456  	// for more information.
  9457  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
  9458  
  9459  	// The route models.
  9460  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
  9461  
  9462  	// The route parameters.
  9463  	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
  9464  
  9465  	// The identifier.
  9466  	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
  9467  
  9468  	// After evaluating a selection expression, the result is compared against one
  9469  	// or more selection keys to find a matching key. See Selection Expressions
  9470  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
  9471  	// for a list of expressions and each expression's associated selection key
  9472  	// type.
  9473  	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
  9474  }
  9475  
  9476  // String returns the string representation.
  9477  //
  9478  // API parameter values that are decorated as "sensitive" in the API will not
  9479  // be included in the string output. The member name will be present, but the
  9480  // value will be replaced with "sensitive".
  9481  func (s CreateRouteResponseOutput) String() string {
  9482  	return awsutil.Prettify(s)
  9483  }
  9484  
  9485  // GoString returns the string representation.
  9486  //
  9487  // API parameter values that are decorated as "sensitive" in the API will not
  9488  // be included in the string output. The member name will be present, but the
  9489  // value will be replaced with "sensitive".
  9490  func (s CreateRouteResponseOutput) GoString() string {
  9491  	return s.String()
  9492  }
  9493  
  9494  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
  9495  func (s *CreateRouteResponseOutput) SetModelSelectionExpression(v string) *CreateRouteResponseOutput {
  9496  	s.ModelSelectionExpression = &v
  9497  	return s
  9498  }
  9499  
  9500  // SetResponseModels sets the ResponseModels field's value.
  9501  func (s *CreateRouteResponseOutput) SetResponseModels(v map[string]*string) *CreateRouteResponseOutput {
  9502  	s.ResponseModels = v
  9503  	return s
  9504  }
  9505  
  9506  // SetResponseParameters sets the ResponseParameters field's value.
  9507  func (s *CreateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *CreateRouteResponseOutput {
  9508  	s.ResponseParameters = v
  9509  	return s
  9510  }
  9511  
  9512  // SetRouteResponseId sets the RouteResponseId field's value.
  9513  func (s *CreateRouteResponseOutput) SetRouteResponseId(v string) *CreateRouteResponseOutput {
  9514  	s.RouteResponseId = &v
  9515  	return s
  9516  }
  9517  
  9518  // SetRouteResponseKey sets the RouteResponseKey field's value.
  9519  func (s *CreateRouteResponseOutput) SetRouteResponseKey(v string) *CreateRouteResponseOutput {
  9520  	s.RouteResponseKey = &v
  9521  	return s
  9522  }
  9523  
  9524  type CreateStageInput struct {
  9525  	_ struct{} `type:"structure"`
  9526  
  9527  	// Settings for logging access in a stage.
  9528  	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
  9529  
  9530  	// ApiId is a required field
  9531  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  9532  
  9533  	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
  9534  
  9535  	// The identifier.
  9536  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
  9537  
  9538  	// Represents a collection of route settings.
  9539  	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
  9540  
  9541  	// The identifier.
  9542  	DeploymentId *string `locationName:"deploymentId" type:"string"`
  9543  
  9544  	// A string with a length between [0-1024].
  9545  	Description *string `locationName:"description" type:"string"`
  9546  
  9547  	// The route settings map.
  9548  	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
  9549  
  9550  	// A string with a length between [1-128].
  9551  	//
  9552  	// StageName is a required field
  9553  	StageName *string `locationName:"stageName" type:"string" required:"true"`
  9554  
  9555  	// The stage variable map.
  9556  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
  9557  
  9558  	// Represents a collection of tags associated with the resource.
  9559  	Tags map[string]*string `locationName:"tags" type:"map"`
  9560  }
  9561  
  9562  // String returns the string representation.
  9563  //
  9564  // API parameter values that are decorated as "sensitive" in the API will not
  9565  // be included in the string output. The member name will be present, but the
  9566  // value will be replaced with "sensitive".
  9567  func (s CreateStageInput) String() string {
  9568  	return awsutil.Prettify(s)
  9569  }
  9570  
  9571  // GoString returns the string representation.
  9572  //
  9573  // API parameter values that are decorated as "sensitive" in the API will not
  9574  // be included in the string output. The member name will be present, but the
  9575  // value will be replaced with "sensitive".
  9576  func (s CreateStageInput) GoString() string {
  9577  	return s.String()
  9578  }
  9579  
  9580  // Validate inspects the fields of the type to determine if they are valid.
  9581  func (s *CreateStageInput) Validate() error {
  9582  	invalidParams := request.ErrInvalidParams{Context: "CreateStageInput"}
  9583  	if s.ApiId == nil {
  9584  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  9585  	}
  9586  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  9587  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  9588  	}
  9589  	if s.StageName == nil {
  9590  		invalidParams.Add(request.NewErrParamRequired("StageName"))
  9591  	}
  9592  
  9593  	if invalidParams.Len() > 0 {
  9594  		return invalidParams
  9595  	}
  9596  	return nil
  9597  }
  9598  
  9599  // SetAccessLogSettings sets the AccessLogSettings field's value.
  9600  func (s *CreateStageInput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageInput {
  9601  	s.AccessLogSettings = v
  9602  	return s
  9603  }
  9604  
  9605  // SetApiId sets the ApiId field's value.
  9606  func (s *CreateStageInput) SetApiId(v string) *CreateStageInput {
  9607  	s.ApiId = &v
  9608  	return s
  9609  }
  9610  
  9611  // SetAutoDeploy sets the AutoDeploy field's value.
  9612  func (s *CreateStageInput) SetAutoDeploy(v bool) *CreateStageInput {
  9613  	s.AutoDeploy = &v
  9614  	return s
  9615  }
  9616  
  9617  // SetClientCertificateId sets the ClientCertificateId field's value.
  9618  func (s *CreateStageInput) SetClientCertificateId(v string) *CreateStageInput {
  9619  	s.ClientCertificateId = &v
  9620  	return s
  9621  }
  9622  
  9623  // SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
  9624  func (s *CreateStageInput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageInput {
  9625  	s.DefaultRouteSettings = v
  9626  	return s
  9627  }
  9628  
  9629  // SetDeploymentId sets the DeploymentId field's value.
  9630  func (s *CreateStageInput) SetDeploymentId(v string) *CreateStageInput {
  9631  	s.DeploymentId = &v
  9632  	return s
  9633  }
  9634  
  9635  // SetDescription sets the Description field's value.
  9636  func (s *CreateStageInput) SetDescription(v string) *CreateStageInput {
  9637  	s.Description = &v
  9638  	return s
  9639  }
  9640  
  9641  // SetRouteSettings sets the RouteSettings field's value.
  9642  func (s *CreateStageInput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageInput {
  9643  	s.RouteSettings = v
  9644  	return s
  9645  }
  9646  
  9647  // SetStageName sets the StageName field's value.
  9648  func (s *CreateStageInput) SetStageName(v string) *CreateStageInput {
  9649  	s.StageName = &v
  9650  	return s
  9651  }
  9652  
  9653  // SetStageVariables sets the StageVariables field's value.
  9654  func (s *CreateStageInput) SetStageVariables(v map[string]*string) *CreateStageInput {
  9655  	s.StageVariables = v
  9656  	return s
  9657  }
  9658  
  9659  // SetTags sets the Tags field's value.
  9660  func (s *CreateStageInput) SetTags(v map[string]*string) *CreateStageInput {
  9661  	s.Tags = v
  9662  	return s
  9663  }
  9664  
  9665  type CreateStageOutput struct {
  9666  	_ struct{} `type:"structure"`
  9667  
  9668  	// Settings for logging access in a stage.
  9669  	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
  9670  
  9671  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
  9672  
  9673  	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
  9674  
  9675  	// The identifier.
  9676  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
  9677  
  9678  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
  9679  
  9680  	// Represents a collection of route settings.
  9681  	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
  9682  
  9683  	// The identifier.
  9684  	DeploymentId *string `locationName:"deploymentId" type:"string"`
  9685  
  9686  	// A string with a length between [0-1024].
  9687  	Description *string `locationName:"description" type:"string"`
  9688  
  9689  	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
  9690  
  9691  	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
  9692  
  9693  	// The route settings map.
  9694  	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
  9695  
  9696  	// A string with a length between [1-128].
  9697  	StageName *string `locationName:"stageName" type:"string"`
  9698  
  9699  	// The stage variable map.
  9700  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
  9701  
  9702  	// Represents a collection of tags associated with the resource.
  9703  	Tags map[string]*string `locationName:"tags" type:"map"`
  9704  }
  9705  
  9706  // String returns the string representation.
  9707  //
  9708  // API parameter values that are decorated as "sensitive" in the API will not
  9709  // be included in the string output. The member name will be present, but the
  9710  // value will be replaced with "sensitive".
  9711  func (s CreateStageOutput) String() string {
  9712  	return awsutil.Prettify(s)
  9713  }
  9714  
  9715  // GoString returns the string representation.
  9716  //
  9717  // API parameter values that are decorated as "sensitive" in the API will not
  9718  // be included in the string output. The member name will be present, but the
  9719  // value will be replaced with "sensitive".
  9720  func (s CreateStageOutput) GoString() string {
  9721  	return s.String()
  9722  }
  9723  
  9724  // SetAccessLogSettings sets the AccessLogSettings field's value.
  9725  func (s *CreateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *CreateStageOutput {
  9726  	s.AccessLogSettings = v
  9727  	return s
  9728  }
  9729  
  9730  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
  9731  func (s *CreateStageOutput) SetApiGatewayManaged(v bool) *CreateStageOutput {
  9732  	s.ApiGatewayManaged = &v
  9733  	return s
  9734  }
  9735  
  9736  // SetAutoDeploy sets the AutoDeploy field's value.
  9737  func (s *CreateStageOutput) SetAutoDeploy(v bool) *CreateStageOutput {
  9738  	s.AutoDeploy = &v
  9739  	return s
  9740  }
  9741  
  9742  // SetClientCertificateId sets the ClientCertificateId field's value.
  9743  func (s *CreateStageOutput) SetClientCertificateId(v string) *CreateStageOutput {
  9744  	s.ClientCertificateId = &v
  9745  	return s
  9746  }
  9747  
  9748  // SetCreatedDate sets the CreatedDate field's value.
  9749  func (s *CreateStageOutput) SetCreatedDate(v time.Time) *CreateStageOutput {
  9750  	s.CreatedDate = &v
  9751  	return s
  9752  }
  9753  
  9754  // SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
  9755  func (s *CreateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *CreateStageOutput {
  9756  	s.DefaultRouteSettings = v
  9757  	return s
  9758  }
  9759  
  9760  // SetDeploymentId sets the DeploymentId field's value.
  9761  func (s *CreateStageOutput) SetDeploymentId(v string) *CreateStageOutput {
  9762  	s.DeploymentId = &v
  9763  	return s
  9764  }
  9765  
  9766  // SetDescription sets the Description field's value.
  9767  func (s *CreateStageOutput) SetDescription(v string) *CreateStageOutput {
  9768  	s.Description = &v
  9769  	return s
  9770  }
  9771  
  9772  // SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
  9773  func (s *CreateStageOutput) SetLastDeploymentStatusMessage(v string) *CreateStageOutput {
  9774  	s.LastDeploymentStatusMessage = &v
  9775  	return s
  9776  }
  9777  
  9778  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
  9779  func (s *CreateStageOutput) SetLastUpdatedDate(v time.Time) *CreateStageOutput {
  9780  	s.LastUpdatedDate = &v
  9781  	return s
  9782  }
  9783  
  9784  // SetRouteSettings sets the RouteSettings field's value.
  9785  func (s *CreateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *CreateStageOutput {
  9786  	s.RouteSettings = v
  9787  	return s
  9788  }
  9789  
  9790  // SetStageName sets the StageName field's value.
  9791  func (s *CreateStageOutput) SetStageName(v string) *CreateStageOutput {
  9792  	s.StageName = &v
  9793  	return s
  9794  }
  9795  
  9796  // SetStageVariables sets the StageVariables field's value.
  9797  func (s *CreateStageOutput) SetStageVariables(v map[string]*string) *CreateStageOutput {
  9798  	s.StageVariables = v
  9799  	return s
  9800  }
  9801  
  9802  // SetTags sets the Tags field's value.
  9803  func (s *CreateStageOutput) SetTags(v map[string]*string) *CreateStageOutput {
  9804  	s.Tags = v
  9805  	return s
  9806  }
  9807  
  9808  type CreateVpcLinkInput struct {
  9809  	_ struct{} `type:"structure"`
  9810  
  9811  	// A string with a length between [1-128].
  9812  	//
  9813  	// Name is a required field
  9814  	Name *string `locationName:"name" type:"string" required:"true"`
  9815  
  9816  	// A list of security group IDs for the VPC link.
  9817  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
  9818  
  9819  	// A list of subnet IDs to include in the VPC link.
  9820  	//
  9821  	// SubnetIds is a required field
  9822  	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
  9823  
  9824  	// Represents a collection of tags associated with the resource.
  9825  	Tags map[string]*string `locationName:"tags" type:"map"`
  9826  }
  9827  
  9828  // String returns the string representation.
  9829  //
  9830  // API parameter values that are decorated as "sensitive" in the API will not
  9831  // be included in the string output. The member name will be present, but the
  9832  // value will be replaced with "sensitive".
  9833  func (s CreateVpcLinkInput) String() string {
  9834  	return awsutil.Prettify(s)
  9835  }
  9836  
  9837  // GoString returns the string representation.
  9838  //
  9839  // API parameter values that are decorated as "sensitive" in the API will not
  9840  // be included in the string output. The member name will be present, but the
  9841  // value will be replaced with "sensitive".
  9842  func (s CreateVpcLinkInput) GoString() string {
  9843  	return s.String()
  9844  }
  9845  
  9846  // Validate inspects the fields of the type to determine if they are valid.
  9847  func (s *CreateVpcLinkInput) Validate() error {
  9848  	invalidParams := request.ErrInvalidParams{Context: "CreateVpcLinkInput"}
  9849  	if s.Name == nil {
  9850  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9851  	}
  9852  	if s.SubnetIds == nil {
  9853  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  9854  	}
  9855  
  9856  	if invalidParams.Len() > 0 {
  9857  		return invalidParams
  9858  	}
  9859  	return nil
  9860  }
  9861  
  9862  // SetName sets the Name field's value.
  9863  func (s *CreateVpcLinkInput) SetName(v string) *CreateVpcLinkInput {
  9864  	s.Name = &v
  9865  	return s
  9866  }
  9867  
  9868  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  9869  func (s *CreateVpcLinkInput) SetSecurityGroupIds(v []*string) *CreateVpcLinkInput {
  9870  	s.SecurityGroupIds = v
  9871  	return s
  9872  }
  9873  
  9874  // SetSubnetIds sets the SubnetIds field's value.
  9875  func (s *CreateVpcLinkInput) SetSubnetIds(v []*string) *CreateVpcLinkInput {
  9876  	s.SubnetIds = v
  9877  	return s
  9878  }
  9879  
  9880  // SetTags sets the Tags field's value.
  9881  func (s *CreateVpcLinkInput) SetTags(v map[string]*string) *CreateVpcLinkInput {
  9882  	s.Tags = v
  9883  	return s
  9884  }
  9885  
  9886  type CreateVpcLinkOutput struct {
  9887  	_ struct{} `type:"structure"`
  9888  
  9889  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
  9890  
  9891  	// A string with a length between [1-128].
  9892  	Name *string `locationName:"name" type:"string"`
  9893  
  9894  	// A list of security group IDs for the VPC link.
  9895  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
  9896  
  9897  	// A list of subnet IDs to include in the VPC link.
  9898  	SubnetIds []*string `locationName:"subnetIds" type:"list"`
  9899  
  9900  	// Represents a collection of tags associated with the resource.
  9901  	Tags map[string]*string `locationName:"tags" type:"map"`
  9902  
  9903  	// The identifier.
  9904  	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
  9905  
  9906  	// The status of the VPC link.
  9907  	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
  9908  
  9909  	// A string with a length between [0-1024].
  9910  	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
  9911  
  9912  	// The version of the VPC link.
  9913  	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
  9914  }
  9915  
  9916  // String returns the string representation.
  9917  //
  9918  // API parameter values that are decorated as "sensitive" in the API will not
  9919  // be included in the string output. The member name will be present, but the
  9920  // value will be replaced with "sensitive".
  9921  func (s CreateVpcLinkOutput) String() string {
  9922  	return awsutil.Prettify(s)
  9923  }
  9924  
  9925  // GoString returns the string representation.
  9926  //
  9927  // API parameter values that are decorated as "sensitive" in the API will not
  9928  // be included in the string output. The member name will be present, but the
  9929  // value will be replaced with "sensitive".
  9930  func (s CreateVpcLinkOutput) GoString() string {
  9931  	return s.String()
  9932  }
  9933  
  9934  // SetCreatedDate sets the CreatedDate field's value.
  9935  func (s *CreateVpcLinkOutput) SetCreatedDate(v time.Time) *CreateVpcLinkOutput {
  9936  	s.CreatedDate = &v
  9937  	return s
  9938  }
  9939  
  9940  // SetName sets the Name field's value.
  9941  func (s *CreateVpcLinkOutput) SetName(v string) *CreateVpcLinkOutput {
  9942  	s.Name = &v
  9943  	return s
  9944  }
  9945  
  9946  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  9947  func (s *CreateVpcLinkOutput) SetSecurityGroupIds(v []*string) *CreateVpcLinkOutput {
  9948  	s.SecurityGroupIds = v
  9949  	return s
  9950  }
  9951  
  9952  // SetSubnetIds sets the SubnetIds field's value.
  9953  func (s *CreateVpcLinkOutput) SetSubnetIds(v []*string) *CreateVpcLinkOutput {
  9954  	s.SubnetIds = v
  9955  	return s
  9956  }
  9957  
  9958  // SetTags sets the Tags field's value.
  9959  func (s *CreateVpcLinkOutput) SetTags(v map[string]*string) *CreateVpcLinkOutput {
  9960  	s.Tags = v
  9961  	return s
  9962  }
  9963  
  9964  // SetVpcLinkId sets the VpcLinkId field's value.
  9965  func (s *CreateVpcLinkOutput) SetVpcLinkId(v string) *CreateVpcLinkOutput {
  9966  	s.VpcLinkId = &v
  9967  	return s
  9968  }
  9969  
  9970  // SetVpcLinkStatus sets the VpcLinkStatus field's value.
  9971  func (s *CreateVpcLinkOutput) SetVpcLinkStatus(v string) *CreateVpcLinkOutput {
  9972  	s.VpcLinkStatus = &v
  9973  	return s
  9974  }
  9975  
  9976  // SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
  9977  func (s *CreateVpcLinkOutput) SetVpcLinkStatusMessage(v string) *CreateVpcLinkOutput {
  9978  	s.VpcLinkStatusMessage = &v
  9979  	return s
  9980  }
  9981  
  9982  // SetVpcLinkVersion sets the VpcLinkVersion field's value.
  9983  func (s *CreateVpcLinkOutput) SetVpcLinkVersion(v string) *CreateVpcLinkOutput {
  9984  	s.VpcLinkVersion = &v
  9985  	return s
  9986  }
  9987  
  9988  type DeleteAccessLogSettingsInput struct {
  9989  	_ struct{} `type:"structure" nopayload:"true"`
  9990  
  9991  	// ApiId is a required field
  9992  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  9993  
  9994  	// StageName is a required field
  9995  	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
  9996  }
  9997  
  9998  // String returns the string representation.
  9999  //
 10000  // API parameter values that are decorated as "sensitive" in the API will not
 10001  // be included in the string output. The member name will be present, but the
 10002  // value will be replaced with "sensitive".
 10003  func (s DeleteAccessLogSettingsInput) String() string {
 10004  	return awsutil.Prettify(s)
 10005  }
 10006  
 10007  // GoString returns the string representation.
 10008  //
 10009  // API parameter values that are decorated as "sensitive" in the API will not
 10010  // be included in the string output. The member name will be present, but the
 10011  // value will be replaced with "sensitive".
 10012  func (s DeleteAccessLogSettingsInput) GoString() string {
 10013  	return s.String()
 10014  }
 10015  
 10016  // Validate inspects the fields of the type to determine if they are valid.
 10017  func (s *DeleteAccessLogSettingsInput) Validate() error {
 10018  	invalidParams := request.ErrInvalidParams{Context: "DeleteAccessLogSettingsInput"}
 10019  	if s.ApiId == nil {
 10020  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10021  	}
 10022  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10023  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10024  	}
 10025  	if s.StageName == nil {
 10026  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 10027  	}
 10028  	if s.StageName != nil && len(*s.StageName) < 1 {
 10029  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 10030  	}
 10031  
 10032  	if invalidParams.Len() > 0 {
 10033  		return invalidParams
 10034  	}
 10035  	return nil
 10036  }
 10037  
 10038  // SetApiId sets the ApiId field's value.
 10039  func (s *DeleteAccessLogSettingsInput) SetApiId(v string) *DeleteAccessLogSettingsInput {
 10040  	s.ApiId = &v
 10041  	return s
 10042  }
 10043  
 10044  // SetStageName sets the StageName field's value.
 10045  func (s *DeleteAccessLogSettingsInput) SetStageName(v string) *DeleteAccessLogSettingsInput {
 10046  	s.StageName = &v
 10047  	return s
 10048  }
 10049  
 10050  type DeleteAccessLogSettingsOutput struct {
 10051  	_ struct{} `type:"structure" nopayload:"true"`
 10052  }
 10053  
 10054  // String returns the string representation.
 10055  //
 10056  // API parameter values that are decorated as "sensitive" in the API will not
 10057  // be included in the string output. The member name will be present, but the
 10058  // value will be replaced with "sensitive".
 10059  func (s DeleteAccessLogSettingsOutput) String() string {
 10060  	return awsutil.Prettify(s)
 10061  }
 10062  
 10063  // GoString returns the string representation.
 10064  //
 10065  // API parameter values that are decorated as "sensitive" in the API will not
 10066  // be included in the string output. The member name will be present, but the
 10067  // value will be replaced with "sensitive".
 10068  func (s DeleteAccessLogSettingsOutput) GoString() string {
 10069  	return s.String()
 10070  }
 10071  
 10072  type DeleteApiInput struct {
 10073  	_ struct{} `type:"structure" nopayload:"true"`
 10074  
 10075  	// ApiId is a required field
 10076  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10077  }
 10078  
 10079  // String returns the string representation.
 10080  //
 10081  // API parameter values that are decorated as "sensitive" in the API will not
 10082  // be included in the string output. The member name will be present, but the
 10083  // value will be replaced with "sensitive".
 10084  func (s DeleteApiInput) String() string {
 10085  	return awsutil.Prettify(s)
 10086  }
 10087  
 10088  // GoString returns the string representation.
 10089  //
 10090  // API parameter values that are decorated as "sensitive" in the API will not
 10091  // be included in the string output. The member name will be present, but the
 10092  // value will be replaced with "sensitive".
 10093  func (s DeleteApiInput) GoString() string {
 10094  	return s.String()
 10095  }
 10096  
 10097  // Validate inspects the fields of the type to determine if they are valid.
 10098  func (s *DeleteApiInput) Validate() error {
 10099  	invalidParams := request.ErrInvalidParams{Context: "DeleteApiInput"}
 10100  	if s.ApiId == nil {
 10101  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10102  	}
 10103  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10104  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10105  	}
 10106  
 10107  	if invalidParams.Len() > 0 {
 10108  		return invalidParams
 10109  	}
 10110  	return nil
 10111  }
 10112  
 10113  // SetApiId sets the ApiId field's value.
 10114  func (s *DeleteApiInput) SetApiId(v string) *DeleteApiInput {
 10115  	s.ApiId = &v
 10116  	return s
 10117  }
 10118  
 10119  type DeleteApiMappingInput struct {
 10120  	_ struct{} `type:"structure" nopayload:"true"`
 10121  
 10122  	// ApiMappingId is a required field
 10123  	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
 10124  
 10125  	// DomainName is a required field
 10126  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
 10127  }
 10128  
 10129  // String returns the string representation.
 10130  //
 10131  // API parameter values that are decorated as "sensitive" in the API will not
 10132  // be included in the string output. The member name will be present, but the
 10133  // value will be replaced with "sensitive".
 10134  func (s DeleteApiMappingInput) String() string {
 10135  	return awsutil.Prettify(s)
 10136  }
 10137  
 10138  // GoString returns the string representation.
 10139  //
 10140  // API parameter values that are decorated as "sensitive" in the API will not
 10141  // be included in the string output. The member name will be present, but the
 10142  // value will be replaced with "sensitive".
 10143  func (s DeleteApiMappingInput) GoString() string {
 10144  	return s.String()
 10145  }
 10146  
 10147  // Validate inspects the fields of the type to determine if they are valid.
 10148  func (s *DeleteApiMappingInput) Validate() error {
 10149  	invalidParams := request.ErrInvalidParams{Context: "DeleteApiMappingInput"}
 10150  	if s.ApiMappingId == nil {
 10151  		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
 10152  	}
 10153  	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
 10154  		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
 10155  	}
 10156  	if s.DomainName == nil {
 10157  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 10158  	}
 10159  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 10160  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 10161  	}
 10162  
 10163  	if invalidParams.Len() > 0 {
 10164  		return invalidParams
 10165  	}
 10166  	return nil
 10167  }
 10168  
 10169  // SetApiMappingId sets the ApiMappingId field's value.
 10170  func (s *DeleteApiMappingInput) SetApiMappingId(v string) *DeleteApiMappingInput {
 10171  	s.ApiMappingId = &v
 10172  	return s
 10173  }
 10174  
 10175  // SetDomainName sets the DomainName field's value.
 10176  func (s *DeleteApiMappingInput) SetDomainName(v string) *DeleteApiMappingInput {
 10177  	s.DomainName = &v
 10178  	return s
 10179  }
 10180  
 10181  type DeleteApiMappingOutput struct {
 10182  	_ struct{} `type:"structure" nopayload:"true"`
 10183  }
 10184  
 10185  // String returns the string representation.
 10186  //
 10187  // API parameter values that are decorated as "sensitive" in the API will not
 10188  // be included in the string output. The member name will be present, but the
 10189  // value will be replaced with "sensitive".
 10190  func (s DeleteApiMappingOutput) String() string {
 10191  	return awsutil.Prettify(s)
 10192  }
 10193  
 10194  // GoString returns the string representation.
 10195  //
 10196  // API parameter values that are decorated as "sensitive" in the API will not
 10197  // be included in the string output. The member name will be present, but the
 10198  // value will be replaced with "sensitive".
 10199  func (s DeleteApiMappingOutput) GoString() string {
 10200  	return s.String()
 10201  }
 10202  
 10203  type DeleteApiOutput struct {
 10204  	_ struct{} `type:"structure" nopayload:"true"`
 10205  }
 10206  
 10207  // String returns the string representation.
 10208  //
 10209  // API parameter values that are decorated as "sensitive" in the API will not
 10210  // be included in the string output. The member name will be present, but the
 10211  // value will be replaced with "sensitive".
 10212  func (s DeleteApiOutput) String() string {
 10213  	return awsutil.Prettify(s)
 10214  }
 10215  
 10216  // GoString returns the string representation.
 10217  //
 10218  // API parameter values that are decorated as "sensitive" in the API will not
 10219  // be included in the string output. The member name will be present, but the
 10220  // value will be replaced with "sensitive".
 10221  func (s DeleteApiOutput) GoString() string {
 10222  	return s.String()
 10223  }
 10224  
 10225  type DeleteAuthorizerInput struct {
 10226  	_ struct{} `type:"structure" nopayload:"true"`
 10227  
 10228  	// ApiId is a required field
 10229  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10230  
 10231  	// AuthorizerId is a required field
 10232  	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
 10233  }
 10234  
 10235  // String returns the string representation.
 10236  //
 10237  // API parameter values that are decorated as "sensitive" in the API will not
 10238  // be included in the string output. The member name will be present, but the
 10239  // value will be replaced with "sensitive".
 10240  func (s DeleteAuthorizerInput) String() string {
 10241  	return awsutil.Prettify(s)
 10242  }
 10243  
 10244  // GoString returns the string representation.
 10245  //
 10246  // API parameter values that are decorated as "sensitive" in the API will not
 10247  // be included in the string output. The member name will be present, but the
 10248  // value will be replaced with "sensitive".
 10249  func (s DeleteAuthorizerInput) GoString() string {
 10250  	return s.String()
 10251  }
 10252  
 10253  // Validate inspects the fields of the type to determine if they are valid.
 10254  func (s *DeleteAuthorizerInput) Validate() error {
 10255  	invalidParams := request.ErrInvalidParams{Context: "DeleteAuthorizerInput"}
 10256  	if s.ApiId == nil {
 10257  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10258  	}
 10259  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10260  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10261  	}
 10262  	if s.AuthorizerId == nil {
 10263  		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
 10264  	}
 10265  	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
 10266  		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
 10267  	}
 10268  
 10269  	if invalidParams.Len() > 0 {
 10270  		return invalidParams
 10271  	}
 10272  	return nil
 10273  }
 10274  
 10275  // SetApiId sets the ApiId field's value.
 10276  func (s *DeleteAuthorizerInput) SetApiId(v string) *DeleteAuthorizerInput {
 10277  	s.ApiId = &v
 10278  	return s
 10279  }
 10280  
 10281  // SetAuthorizerId sets the AuthorizerId field's value.
 10282  func (s *DeleteAuthorizerInput) SetAuthorizerId(v string) *DeleteAuthorizerInput {
 10283  	s.AuthorizerId = &v
 10284  	return s
 10285  }
 10286  
 10287  type DeleteAuthorizerOutput struct {
 10288  	_ struct{} `type:"structure" nopayload:"true"`
 10289  }
 10290  
 10291  // String returns the string representation.
 10292  //
 10293  // API parameter values that are decorated as "sensitive" in the API will not
 10294  // be included in the string output. The member name will be present, but the
 10295  // value will be replaced with "sensitive".
 10296  func (s DeleteAuthorizerOutput) String() string {
 10297  	return awsutil.Prettify(s)
 10298  }
 10299  
 10300  // GoString returns the string representation.
 10301  //
 10302  // API parameter values that are decorated as "sensitive" in the API will not
 10303  // be included in the string output. The member name will be present, but the
 10304  // value will be replaced with "sensitive".
 10305  func (s DeleteAuthorizerOutput) GoString() string {
 10306  	return s.String()
 10307  }
 10308  
 10309  type DeleteCorsConfigurationInput struct {
 10310  	_ struct{} `type:"structure" nopayload:"true"`
 10311  
 10312  	// ApiId is a required field
 10313  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10314  }
 10315  
 10316  // String returns the string representation.
 10317  //
 10318  // API parameter values that are decorated as "sensitive" in the API will not
 10319  // be included in the string output. The member name will be present, but the
 10320  // value will be replaced with "sensitive".
 10321  func (s DeleteCorsConfigurationInput) String() string {
 10322  	return awsutil.Prettify(s)
 10323  }
 10324  
 10325  // GoString returns the string representation.
 10326  //
 10327  // API parameter values that are decorated as "sensitive" in the API will not
 10328  // be included in the string output. The member name will be present, but the
 10329  // value will be replaced with "sensitive".
 10330  func (s DeleteCorsConfigurationInput) GoString() string {
 10331  	return s.String()
 10332  }
 10333  
 10334  // Validate inspects the fields of the type to determine if they are valid.
 10335  func (s *DeleteCorsConfigurationInput) Validate() error {
 10336  	invalidParams := request.ErrInvalidParams{Context: "DeleteCorsConfigurationInput"}
 10337  	if s.ApiId == nil {
 10338  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10339  	}
 10340  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10341  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10342  	}
 10343  
 10344  	if invalidParams.Len() > 0 {
 10345  		return invalidParams
 10346  	}
 10347  	return nil
 10348  }
 10349  
 10350  // SetApiId sets the ApiId field's value.
 10351  func (s *DeleteCorsConfigurationInput) SetApiId(v string) *DeleteCorsConfigurationInput {
 10352  	s.ApiId = &v
 10353  	return s
 10354  }
 10355  
 10356  type DeleteCorsConfigurationOutput struct {
 10357  	_ struct{} `type:"structure" nopayload:"true"`
 10358  }
 10359  
 10360  // String returns the string representation.
 10361  //
 10362  // API parameter values that are decorated as "sensitive" in the API will not
 10363  // be included in the string output. The member name will be present, but the
 10364  // value will be replaced with "sensitive".
 10365  func (s DeleteCorsConfigurationOutput) String() string {
 10366  	return awsutil.Prettify(s)
 10367  }
 10368  
 10369  // GoString returns the string representation.
 10370  //
 10371  // API parameter values that are decorated as "sensitive" in the API will not
 10372  // be included in the string output. The member name will be present, but the
 10373  // value will be replaced with "sensitive".
 10374  func (s DeleteCorsConfigurationOutput) GoString() string {
 10375  	return s.String()
 10376  }
 10377  
 10378  type DeleteDeploymentInput struct {
 10379  	_ struct{} `type:"structure" nopayload:"true"`
 10380  
 10381  	// ApiId is a required field
 10382  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10383  
 10384  	// DeploymentId is a required field
 10385  	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
 10386  }
 10387  
 10388  // String returns the string representation.
 10389  //
 10390  // API parameter values that are decorated as "sensitive" in the API will not
 10391  // be included in the string output. The member name will be present, but the
 10392  // value will be replaced with "sensitive".
 10393  func (s DeleteDeploymentInput) String() string {
 10394  	return awsutil.Prettify(s)
 10395  }
 10396  
 10397  // GoString returns the string representation.
 10398  //
 10399  // API parameter values that are decorated as "sensitive" in the API will not
 10400  // be included in the string output. The member name will be present, but the
 10401  // value will be replaced with "sensitive".
 10402  func (s DeleteDeploymentInput) GoString() string {
 10403  	return s.String()
 10404  }
 10405  
 10406  // Validate inspects the fields of the type to determine if they are valid.
 10407  func (s *DeleteDeploymentInput) Validate() error {
 10408  	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"}
 10409  	if s.ApiId == nil {
 10410  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10411  	}
 10412  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10413  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10414  	}
 10415  	if s.DeploymentId == nil {
 10416  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 10417  	}
 10418  	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
 10419  		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
 10420  	}
 10421  
 10422  	if invalidParams.Len() > 0 {
 10423  		return invalidParams
 10424  	}
 10425  	return nil
 10426  }
 10427  
 10428  // SetApiId sets the ApiId field's value.
 10429  func (s *DeleteDeploymentInput) SetApiId(v string) *DeleteDeploymentInput {
 10430  	s.ApiId = &v
 10431  	return s
 10432  }
 10433  
 10434  // SetDeploymentId sets the DeploymentId field's value.
 10435  func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput {
 10436  	s.DeploymentId = &v
 10437  	return s
 10438  }
 10439  
 10440  type DeleteDeploymentOutput struct {
 10441  	_ struct{} `type:"structure" nopayload:"true"`
 10442  }
 10443  
 10444  // String returns the string representation.
 10445  //
 10446  // API parameter values that are decorated as "sensitive" in the API will not
 10447  // be included in the string output. The member name will be present, but the
 10448  // value will be replaced with "sensitive".
 10449  func (s DeleteDeploymentOutput) String() string {
 10450  	return awsutil.Prettify(s)
 10451  }
 10452  
 10453  // GoString returns the string representation.
 10454  //
 10455  // API parameter values that are decorated as "sensitive" in the API will not
 10456  // be included in the string output. The member name will be present, but the
 10457  // value will be replaced with "sensitive".
 10458  func (s DeleteDeploymentOutput) GoString() string {
 10459  	return s.String()
 10460  }
 10461  
 10462  type DeleteDomainNameInput struct {
 10463  	_ struct{} `type:"structure" nopayload:"true"`
 10464  
 10465  	// DomainName is a required field
 10466  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
 10467  }
 10468  
 10469  // String returns the string representation.
 10470  //
 10471  // API parameter values that are decorated as "sensitive" in the API will not
 10472  // be included in the string output. The member name will be present, but the
 10473  // value will be replaced with "sensitive".
 10474  func (s DeleteDomainNameInput) String() string {
 10475  	return awsutil.Prettify(s)
 10476  }
 10477  
 10478  // GoString returns the string representation.
 10479  //
 10480  // API parameter values that are decorated as "sensitive" in the API will not
 10481  // be included in the string output. The member name will be present, but the
 10482  // value will be replaced with "sensitive".
 10483  func (s DeleteDomainNameInput) GoString() string {
 10484  	return s.String()
 10485  }
 10486  
 10487  // Validate inspects the fields of the type to determine if they are valid.
 10488  func (s *DeleteDomainNameInput) Validate() error {
 10489  	invalidParams := request.ErrInvalidParams{Context: "DeleteDomainNameInput"}
 10490  	if s.DomainName == nil {
 10491  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 10492  	}
 10493  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 10494  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 10495  	}
 10496  
 10497  	if invalidParams.Len() > 0 {
 10498  		return invalidParams
 10499  	}
 10500  	return nil
 10501  }
 10502  
 10503  // SetDomainName sets the DomainName field's value.
 10504  func (s *DeleteDomainNameInput) SetDomainName(v string) *DeleteDomainNameInput {
 10505  	s.DomainName = &v
 10506  	return s
 10507  }
 10508  
 10509  type DeleteDomainNameOutput struct {
 10510  	_ struct{} `type:"structure" nopayload:"true"`
 10511  }
 10512  
 10513  // String returns the string representation.
 10514  //
 10515  // API parameter values that are decorated as "sensitive" in the API will not
 10516  // be included in the string output. The member name will be present, but the
 10517  // value will be replaced with "sensitive".
 10518  func (s DeleteDomainNameOutput) String() string {
 10519  	return awsutil.Prettify(s)
 10520  }
 10521  
 10522  // GoString returns the string representation.
 10523  //
 10524  // API parameter values that are decorated as "sensitive" in the API will not
 10525  // be included in the string output. The member name will be present, but the
 10526  // value will be replaced with "sensitive".
 10527  func (s DeleteDomainNameOutput) GoString() string {
 10528  	return s.String()
 10529  }
 10530  
 10531  type DeleteIntegrationInput struct {
 10532  	_ struct{} `type:"structure" nopayload:"true"`
 10533  
 10534  	// ApiId is a required field
 10535  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10536  
 10537  	// IntegrationId is a required field
 10538  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
 10539  }
 10540  
 10541  // String returns the string representation.
 10542  //
 10543  // API parameter values that are decorated as "sensitive" in the API will not
 10544  // be included in the string output. The member name will be present, but the
 10545  // value will be replaced with "sensitive".
 10546  func (s DeleteIntegrationInput) String() string {
 10547  	return awsutil.Prettify(s)
 10548  }
 10549  
 10550  // GoString returns the string representation.
 10551  //
 10552  // API parameter values that are decorated as "sensitive" in the API will not
 10553  // be included in the string output. The member name will be present, but the
 10554  // value will be replaced with "sensitive".
 10555  func (s DeleteIntegrationInput) GoString() string {
 10556  	return s.String()
 10557  }
 10558  
 10559  // Validate inspects the fields of the type to determine if they are valid.
 10560  func (s *DeleteIntegrationInput) Validate() error {
 10561  	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"}
 10562  	if s.ApiId == nil {
 10563  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10564  	}
 10565  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10566  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10567  	}
 10568  	if s.IntegrationId == nil {
 10569  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
 10570  	}
 10571  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
 10572  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
 10573  	}
 10574  
 10575  	if invalidParams.Len() > 0 {
 10576  		return invalidParams
 10577  	}
 10578  	return nil
 10579  }
 10580  
 10581  // SetApiId sets the ApiId field's value.
 10582  func (s *DeleteIntegrationInput) SetApiId(v string) *DeleteIntegrationInput {
 10583  	s.ApiId = &v
 10584  	return s
 10585  }
 10586  
 10587  // SetIntegrationId sets the IntegrationId field's value.
 10588  func (s *DeleteIntegrationInput) SetIntegrationId(v string) *DeleteIntegrationInput {
 10589  	s.IntegrationId = &v
 10590  	return s
 10591  }
 10592  
 10593  type DeleteIntegrationOutput struct {
 10594  	_ struct{} `type:"structure" nopayload:"true"`
 10595  }
 10596  
 10597  // String returns the string representation.
 10598  //
 10599  // API parameter values that are decorated as "sensitive" in the API will not
 10600  // be included in the string output. The member name will be present, but the
 10601  // value will be replaced with "sensitive".
 10602  func (s DeleteIntegrationOutput) String() string {
 10603  	return awsutil.Prettify(s)
 10604  }
 10605  
 10606  // GoString returns the string representation.
 10607  //
 10608  // API parameter values that are decorated as "sensitive" in the API will not
 10609  // be included in the string output. The member name will be present, but the
 10610  // value will be replaced with "sensitive".
 10611  func (s DeleteIntegrationOutput) GoString() string {
 10612  	return s.String()
 10613  }
 10614  
 10615  type DeleteIntegrationResponseInput struct {
 10616  	_ struct{} `type:"structure" nopayload:"true"`
 10617  
 10618  	// ApiId is a required field
 10619  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10620  
 10621  	// IntegrationId is a required field
 10622  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
 10623  
 10624  	// IntegrationResponseId is a required field
 10625  	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
 10626  }
 10627  
 10628  // String returns the string representation.
 10629  //
 10630  // API parameter values that are decorated as "sensitive" in the API will not
 10631  // be included in the string output. The member name will be present, but the
 10632  // value will be replaced with "sensitive".
 10633  func (s DeleteIntegrationResponseInput) String() string {
 10634  	return awsutil.Prettify(s)
 10635  }
 10636  
 10637  // GoString returns the string representation.
 10638  //
 10639  // API parameter values that are decorated as "sensitive" in the API will not
 10640  // be included in the string output. The member name will be present, but the
 10641  // value will be replaced with "sensitive".
 10642  func (s DeleteIntegrationResponseInput) GoString() string {
 10643  	return s.String()
 10644  }
 10645  
 10646  // Validate inspects the fields of the type to determine if they are valid.
 10647  func (s *DeleteIntegrationResponseInput) Validate() error {
 10648  	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationResponseInput"}
 10649  	if s.ApiId == nil {
 10650  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10651  	}
 10652  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10653  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10654  	}
 10655  	if s.IntegrationId == nil {
 10656  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
 10657  	}
 10658  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
 10659  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
 10660  	}
 10661  	if s.IntegrationResponseId == nil {
 10662  		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
 10663  	}
 10664  	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
 10665  		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
 10666  	}
 10667  
 10668  	if invalidParams.Len() > 0 {
 10669  		return invalidParams
 10670  	}
 10671  	return nil
 10672  }
 10673  
 10674  // SetApiId sets the ApiId field's value.
 10675  func (s *DeleteIntegrationResponseInput) SetApiId(v string) *DeleteIntegrationResponseInput {
 10676  	s.ApiId = &v
 10677  	return s
 10678  }
 10679  
 10680  // SetIntegrationId sets the IntegrationId field's value.
 10681  func (s *DeleteIntegrationResponseInput) SetIntegrationId(v string) *DeleteIntegrationResponseInput {
 10682  	s.IntegrationId = &v
 10683  	return s
 10684  }
 10685  
 10686  // SetIntegrationResponseId sets the IntegrationResponseId field's value.
 10687  func (s *DeleteIntegrationResponseInput) SetIntegrationResponseId(v string) *DeleteIntegrationResponseInput {
 10688  	s.IntegrationResponseId = &v
 10689  	return s
 10690  }
 10691  
 10692  type DeleteIntegrationResponseOutput struct {
 10693  	_ struct{} `type:"structure" nopayload:"true"`
 10694  }
 10695  
 10696  // String returns the string representation.
 10697  //
 10698  // API parameter values that are decorated as "sensitive" in the API will not
 10699  // be included in the string output. The member name will be present, but the
 10700  // value will be replaced with "sensitive".
 10701  func (s DeleteIntegrationResponseOutput) String() string {
 10702  	return awsutil.Prettify(s)
 10703  }
 10704  
 10705  // GoString returns the string representation.
 10706  //
 10707  // API parameter values that are decorated as "sensitive" in the API will not
 10708  // be included in the string output. The member name will be present, but the
 10709  // value will be replaced with "sensitive".
 10710  func (s DeleteIntegrationResponseOutput) GoString() string {
 10711  	return s.String()
 10712  }
 10713  
 10714  type DeleteModelInput struct {
 10715  	_ struct{} `type:"structure" nopayload:"true"`
 10716  
 10717  	// ApiId is a required field
 10718  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10719  
 10720  	// ModelId is a required field
 10721  	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
 10722  }
 10723  
 10724  // String returns the string representation.
 10725  //
 10726  // API parameter values that are decorated as "sensitive" in the API will not
 10727  // be included in the string output. The member name will be present, but the
 10728  // value will be replaced with "sensitive".
 10729  func (s DeleteModelInput) String() string {
 10730  	return awsutil.Prettify(s)
 10731  }
 10732  
 10733  // GoString returns the string representation.
 10734  //
 10735  // API parameter values that are decorated as "sensitive" in the API will not
 10736  // be included in the string output. The member name will be present, but the
 10737  // value will be replaced with "sensitive".
 10738  func (s DeleteModelInput) GoString() string {
 10739  	return s.String()
 10740  }
 10741  
 10742  // Validate inspects the fields of the type to determine if they are valid.
 10743  func (s *DeleteModelInput) Validate() error {
 10744  	invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"}
 10745  	if s.ApiId == nil {
 10746  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10747  	}
 10748  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10749  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10750  	}
 10751  	if s.ModelId == nil {
 10752  		invalidParams.Add(request.NewErrParamRequired("ModelId"))
 10753  	}
 10754  	if s.ModelId != nil && len(*s.ModelId) < 1 {
 10755  		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
 10756  	}
 10757  
 10758  	if invalidParams.Len() > 0 {
 10759  		return invalidParams
 10760  	}
 10761  	return nil
 10762  }
 10763  
 10764  // SetApiId sets the ApiId field's value.
 10765  func (s *DeleteModelInput) SetApiId(v string) *DeleteModelInput {
 10766  	s.ApiId = &v
 10767  	return s
 10768  }
 10769  
 10770  // SetModelId sets the ModelId field's value.
 10771  func (s *DeleteModelInput) SetModelId(v string) *DeleteModelInput {
 10772  	s.ModelId = &v
 10773  	return s
 10774  }
 10775  
 10776  type DeleteModelOutput struct {
 10777  	_ struct{} `type:"structure" nopayload:"true"`
 10778  }
 10779  
 10780  // String returns the string representation.
 10781  //
 10782  // API parameter values that are decorated as "sensitive" in the API will not
 10783  // be included in the string output. The member name will be present, but the
 10784  // value will be replaced with "sensitive".
 10785  func (s DeleteModelOutput) String() string {
 10786  	return awsutil.Prettify(s)
 10787  }
 10788  
 10789  // GoString returns the string representation.
 10790  //
 10791  // API parameter values that are decorated as "sensitive" in the API will not
 10792  // be included in the string output. The member name will be present, but the
 10793  // value will be replaced with "sensitive".
 10794  func (s DeleteModelOutput) GoString() string {
 10795  	return s.String()
 10796  }
 10797  
 10798  type DeleteRouteInput struct {
 10799  	_ struct{} `type:"structure" nopayload:"true"`
 10800  
 10801  	// ApiId is a required field
 10802  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10803  
 10804  	// RouteId is a required field
 10805  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 10806  }
 10807  
 10808  // String returns the string representation.
 10809  //
 10810  // API parameter values that are decorated as "sensitive" in the API will not
 10811  // be included in the string output. The member name will be present, but the
 10812  // value will be replaced with "sensitive".
 10813  func (s DeleteRouteInput) String() string {
 10814  	return awsutil.Prettify(s)
 10815  }
 10816  
 10817  // GoString returns the string representation.
 10818  //
 10819  // API parameter values that are decorated as "sensitive" in the API will not
 10820  // be included in the string output. The member name will be present, but the
 10821  // value will be replaced with "sensitive".
 10822  func (s DeleteRouteInput) GoString() string {
 10823  	return s.String()
 10824  }
 10825  
 10826  // Validate inspects the fields of the type to determine if they are valid.
 10827  func (s *DeleteRouteInput) Validate() error {
 10828  	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
 10829  	if s.ApiId == nil {
 10830  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10831  	}
 10832  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10833  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10834  	}
 10835  	if s.RouteId == nil {
 10836  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 10837  	}
 10838  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 10839  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 10840  	}
 10841  
 10842  	if invalidParams.Len() > 0 {
 10843  		return invalidParams
 10844  	}
 10845  	return nil
 10846  }
 10847  
 10848  // SetApiId sets the ApiId field's value.
 10849  func (s *DeleteRouteInput) SetApiId(v string) *DeleteRouteInput {
 10850  	s.ApiId = &v
 10851  	return s
 10852  }
 10853  
 10854  // SetRouteId sets the RouteId field's value.
 10855  func (s *DeleteRouteInput) SetRouteId(v string) *DeleteRouteInput {
 10856  	s.RouteId = &v
 10857  	return s
 10858  }
 10859  
 10860  type DeleteRouteOutput struct {
 10861  	_ struct{} `type:"structure" nopayload:"true"`
 10862  }
 10863  
 10864  // String returns the string representation.
 10865  //
 10866  // API parameter values that are decorated as "sensitive" in the API will not
 10867  // be included in the string output. The member name will be present, but the
 10868  // value will be replaced with "sensitive".
 10869  func (s DeleteRouteOutput) String() string {
 10870  	return awsutil.Prettify(s)
 10871  }
 10872  
 10873  // GoString returns the string representation.
 10874  //
 10875  // API parameter values that are decorated as "sensitive" in the API will not
 10876  // be included in the string output. The member name will be present, but the
 10877  // value will be replaced with "sensitive".
 10878  func (s DeleteRouteOutput) GoString() string {
 10879  	return s.String()
 10880  }
 10881  
 10882  type DeleteRouteRequestParameterInput struct {
 10883  	_ struct{} `type:"structure" nopayload:"true"`
 10884  
 10885  	// ApiId is a required field
 10886  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10887  
 10888  	// RequestParameterKey is a required field
 10889  	RequestParameterKey *string `location:"uri" locationName:"requestParameterKey" type:"string" required:"true"`
 10890  
 10891  	// RouteId is a required field
 10892  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 10893  }
 10894  
 10895  // String returns the string representation.
 10896  //
 10897  // API parameter values that are decorated as "sensitive" in the API will not
 10898  // be included in the string output. The member name will be present, but the
 10899  // value will be replaced with "sensitive".
 10900  func (s DeleteRouteRequestParameterInput) String() string {
 10901  	return awsutil.Prettify(s)
 10902  }
 10903  
 10904  // GoString returns the string representation.
 10905  //
 10906  // API parameter values that are decorated as "sensitive" in the API will not
 10907  // be included in the string output. The member name will be present, but the
 10908  // value will be replaced with "sensitive".
 10909  func (s DeleteRouteRequestParameterInput) GoString() string {
 10910  	return s.String()
 10911  }
 10912  
 10913  // Validate inspects the fields of the type to determine if they are valid.
 10914  func (s *DeleteRouteRequestParameterInput) Validate() error {
 10915  	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteRequestParameterInput"}
 10916  	if s.ApiId == nil {
 10917  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10918  	}
 10919  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10920  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10921  	}
 10922  	if s.RequestParameterKey == nil {
 10923  		invalidParams.Add(request.NewErrParamRequired("RequestParameterKey"))
 10924  	}
 10925  	if s.RequestParameterKey != nil && len(*s.RequestParameterKey) < 1 {
 10926  		invalidParams.Add(request.NewErrParamMinLen("RequestParameterKey", 1))
 10927  	}
 10928  	if s.RouteId == nil {
 10929  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 10930  	}
 10931  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 10932  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 10933  	}
 10934  
 10935  	if invalidParams.Len() > 0 {
 10936  		return invalidParams
 10937  	}
 10938  	return nil
 10939  }
 10940  
 10941  // SetApiId sets the ApiId field's value.
 10942  func (s *DeleteRouteRequestParameterInput) SetApiId(v string) *DeleteRouteRequestParameterInput {
 10943  	s.ApiId = &v
 10944  	return s
 10945  }
 10946  
 10947  // SetRequestParameterKey sets the RequestParameterKey field's value.
 10948  func (s *DeleteRouteRequestParameterInput) SetRequestParameterKey(v string) *DeleteRouteRequestParameterInput {
 10949  	s.RequestParameterKey = &v
 10950  	return s
 10951  }
 10952  
 10953  // SetRouteId sets the RouteId field's value.
 10954  func (s *DeleteRouteRequestParameterInput) SetRouteId(v string) *DeleteRouteRequestParameterInput {
 10955  	s.RouteId = &v
 10956  	return s
 10957  }
 10958  
 10959  type DeleteRouteRequestParameterOutput struct {
 10960  	_ struct{} `type:"structure" nopayload:"true"`
 10961  }
 10962  
 10963  // String returns the string representation.
 10964  //
 10965  // API parameter values that are decorated as "sensitive" in the API will not
 10966  // be included in the string output. The member name will be present, but the
 10967  // value will be replaced with "sensitive".
 10968  func (s DeleteRouteRequestParameterOutput) String() string {
 10969  	return awsutil.Prettify(s)
 10970  }
 10971  
 10972  // GoString returns the string representation.
 10973  //
 10974  // API parameter values that are decorated as "sensitive" in the API will not
 10975  // be included in the string output. The member name will be present, but the
 10976  // value will be replaced with "sensitive".
 10977  func (s DeleteRouteRequestParameterOutput) GoString() string {
 10978  	return s.String()
 10979  }
 10980  
 10981  type DeleteRouteResponseInput struct {
 10982  	_ struct{} `type:"structure" nopayload:"true"`
 10983  
 10984  	// ApiId is a required field
 10985  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10986  
 10987  	// RouteId is a required field
 10988  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 10989  
 10990  	// RouteResponseId is a required field
 10991  	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
 10992  }
 10993  
 10994  // String returns the string representation.
 10995  //
 10996  // API parameter values that are decorated as "sensitive" in the API will not
 10997  // be included in the string output. The member name will be present, but the
 10998  // value will be replaced with "sensitive".
 10999  func (s DeleteRouteResponseInput) String() string {
 11000  	return awsutil.Prettify(s)
 11001  }
 11002  
 11003  // GoString returns the string representation.
 11004  //
 11005  // API parameter values that are decorated as "sensitive" in the API will not
 11006  // be included in the string output. The member name will be present, but the
 11007  // value will be replaced with "sensitive".
 11008  func (s DeleteRouteResponseInput) GoString() string {
 11009  	return s.String()
 11010  }
 11011  
 11012  // Validate inspects the fields of the type to determine if they are valid.
 11013  func (s *DeleteRouteResponseInput) Validate() error {
 11014  	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteResponseInput"}
 11015  	if s.ApiId == nil {
 11016  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11017  	}
 11018  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11019  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11020  	}
 11021  	if s.RouteId == nil {
 11022  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 11023  	}
 11024  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 11025  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 11026  	}
 11027  	if s.RouteResponseId == nil {
 11028  		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
 11029  	}
 11030  	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
 11031  		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
 11032  	}
 11033  
 11034  	if invalidParams.Len() > 0 {
 11035  		return invalidParams
 11036  	}
 11037  	return nil
 11038  }
 11039  
 11040  // SetApiId sets the ApiId field's value.
 11041  func (s *DeleteRouteResponseInput) SetApiId(v string) *DeleteRouteResponseInput {
 11042  	s.ApiId = &v
 11043  	return s
 11044  }
 11045  
 11046  // SetRouteId sets the RouteId field's value.
 11047  func (s *DeleteRouteResponseInput) SetRouteId(v string) *DeleteRouteResponseInput {
 11048  	s.RouteId = &v
 11049  	return s
 11050  }
 11051  
 11052  // SetRouteResponseId sets the RouteResponseId field's value.
 11053  func (s *DeleteRouteResponseInput) SetRouteResponseId(v string) *DeleteRouteResponseInput {
 11054  	s.RouteResponseId = &v
 11055  	return s
 11056  }
 11057  
 11058  type DeleteRouteResponseOutput struct {
 11059  	_ struct{} `type:"structure" nopayload:"true"`
 11060  }
 11061  
 11062  // String returns the string representation.
 11063  //
 11064  // API parameter values that are decorated as "sensitive" in the API will not
 11065  // be included in the string output. The member name will be present, but the
 11066  // value will be replaced with "sensitive".
 11067  func (s DeleteRouteResponseOutput) String() string {
 11068  	return awsutil.Prettify(s)
 11069  }
 11070  
 11071  // GoString returns the string representation.
 11072  //
 11073  // API parameter values that are decorated as "sensitive" in the API will not
 11074  // be included in the string output. The member name will be present, but the
 11075  // value will be replaced with "sensitive".
 11076  func (s DeleteRouteResponseOutput) GoString() string {
 11077  	return s.String()
 11078  }
 11079  
 11080  type DeleteRouteSettingsInput struct {
 11081  	_ struct{} `type:"structure" nopayload:"true"`
 11082  
 11083  	// ApiId is a required field
 11084  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 11085  
 11086  	// RouteKey is a required field
 11087  	RouteKey *string `location:"uri" locationName:"routeKey" type:"string" required:"true"`
 11088  
 11089  	// StageName is a required field
 11090  	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
 11091  }
 11092  
 11093  // String returns the string representation.
 11094  //
 11095  // API parameter values that are decorated as "sensitive" in the API will not
 11096  // be included in the string output. The member name will be present, but the
 11097  // value will be replaced with "sensitive".
 11098  func (s DeleteRouteSettingsInput) String() string {
 11099  	return awsutil.Prettify(s)
 11100  }
 11101  
 11102  // GoString returns the string representation.
 11103  //
 11104  // API parameter values that are decorated as "sensitive" in the API will not
 11105  // be included in the string output. The member name will be present, but the
 11106  // value will be replaced with "sensitive".
 11107  func (s DeleteRouteSettingsInput) GoString() string {
 11108  	return s.String()
 11109  }
 11110  
 11111  // Validate inspects the fields of the type to determine if they are valid.
 11112  func (s *DeleteRouteSettingsInput) Validate() error {
 11113  	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteSettingsInput"}
 11114  	if s.ApiId == nil {
 11115  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11116  	}
 11117  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11118  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11119  	}
 11120  	if s.RouteKey == nil {
 11121  		invalidParams.Add(request.NewErrParamRequired("RouteKey"))
 11122  	}
 11123  	if s.RouteKey != nil && len(*s.RouteKey) < 1 {
 11124  		invalidParams.Add(request.NewErrParamMinLen("RouteKey", 1))
 11125  	}
 11126  	if s.StageName == nil {
 11127  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 11128  	}
 11129  	if s.StageName != nil && len(*s.StageName) < 1 {
 11130  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 11131  	}
 11132  
 11133  	if invalidParams.Len() > 0 {
 11134  		return invalidParams
 11135  	}
 11136  	return nil
 11137  }
 11138  
 11139  // SetApiId sets the ApiId field's value.
 11140  func (s *DeleteRouteSettingsInput) SetApiId(v string) *DeleteRouteSettingsInput {
 11141  	s.ApiId = &v
 11142  	return s
 11143  }
 11144  
 11145  // SetRouteKey sets the RouteKey field's value.
 11146  func (s *DeleteRouteSettingsInput) SetRouteKey(v string) *DeleteRouteSettingsInput {
 11147  	s.RouteKey = &v
 11148  	return s
 11149  }
 11150  
 11151  // SetStageName sets the StageName field's value.
 11152  func (s *DeleteRouteSettingsInput) SetStageName(v string) *DeleteRouteSettingsInput {
 11153  	s.StageName = &v
 11154  	return s
 11155  }
 11156  
 11157  type DeleteRouteSettingsOutput struct {
 11158  	_ struct{} `type:"structure" nopayload:"true"`
 11159  }
 11160  
 11161  // String returns the string representation.
 11162  //
 11163  // API parameter values that are decorated as "sensitive" in the API will not
 11164  // be included in the string output. The member name will be present, but the
 11165  // value will be replaced with "sensitive".
 11166  func (s DeleteRouteSettingsOutput) String() string {
 11167  	return awsutil.Prettify(s)
 11168  }
 11169  
 11170  // GoString returns the string representation.
 11171  //
 11172  // API parameter values that are decorated as "sensitive" in the API will not
 11173  // be included in the string output. The member name will be present, but the
 11174  // value will be replaced with "sensitive".
 11175  func (s DeleteRouteSettingsOutput) GoString() string {
 11176  	return s.String()
 11177  }
 11178  
 11179  type DeleteStageInput struct {
 11180  	_ struct{} `type:"structure" nopayload:"true"`
 11181  
 11182  	// ApiId is a required field
 11183  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 11184  
 11185  	// StageName is a required field
 11186  	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
 11187  }
 11188  
 11189  // String returns the string representation.
 11190  //
 11191  // API parameter values that are decorated as "sensitive" in the API will not
 11192  // be included in the string output. The member name will be present, but the
 11193  // value will be replaced with "sensitive".
 11194  func (s DeleteStageInput) String() string {
 11195  	return awsutil.Prettify(s)
 11196  }
 11197  
 11198  // GoString returns the string representation.
 11199  //
 11200  // API parameter values that are decorated as "sensitive" in the API will not
 11201  // be included in the string output. The member name will be present, but the
 11202  // value will be replaced with "sensitive".
 11203  func (s DeleteStageInput) GoString() string {
 11204  	return s.String()
 11205  }
 11206  
 11207  // Validate inspects the fields of the type to determine if they are valid.
 11208  func (s *DeleteStageInput) Validate() error {
 11209  	invalidParams := request.ErrInvalidParams{Context: "DeleteStageInput"}
 11210  	if s.ApiId == nil {
 11211  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11212  	}
 11213  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11214  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11215  	}
 11216  	if s.StageName == nil {
 11217  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 11218  	}
 11219  	if s.StageName != nil && len(*s.StageName) < 1 {
 11220  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 11221  	}
 11222  
 11223  	if invalidParams.Len() > 0 {
 11224  		return invalidParams
 11225  	}
 11226  	return nil
 11227  }
 11228  
 11229  // SetApiId sets the ApiId field's value.
 11230  func (s *DeleteStageInput) SetApiId(v string) *DeleteStageInput {
 11231  	s.ApiId = &v
 11232  	return s
 11233  }
 11234  
 11235  // SetStageName sets the StageName field's value.
 11236  func (s *DeleteStageInput) SetStageName(v string) *DeleteStageInput {
 11237  	s.StageName = &v
 11238  	return s
 11239  }
 11240  
 11241  type DeleteStageOutput struct {
 11242  	_ struct{} `type:"structure" nopayload:"true"`
 11243  }
 11244  
 11245  // String returns the string representation.
 11246  //
 11247  // API parameter values that are decorated as "sensitive" in the API will not
 11248  // be included in the string output. The member name will be present, but the
 11249  // value will be replaced with "sensitive".
 11250  func (s DeleteStageOutput) String() string {
 11251  	return awsutil.Prettify(s)
 11252  }
 11253  
 11254  // GoString returns the string representation.
 11255  //
 11256  // API parameter values that are decorated as "sensitive" in the API will not
 11257  // be included in the string output. The member name will be present, but the
 11258  // value will be replaced with "sensitive".
 11259  func (s DeleteStageOutput) GoString() string {
 11260  	return s.String()
 11261  }
 11262  
 11263  type DeleteVpcLinkInput struct {
 11264  	_ struct{} `type:"structure" nopayload:"true"`
 11265  
 11266  	// VpcLinkId is a required field
 11267  	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
 11268  }
 11269  
 11270  // String returns the string representation.
 11271  //
 11272  // API parameter values that are decorated as "sensitive" in the API will not
 11273  // be included in the string output. The member name will be present, but the
 11274  // value will be replaced with "sensitive".
 11275  func (s DeleteVpcLinkInput) String() string {
 11276  	return awsutil.Prettify(s)
 11277  }
 11278  
 11279  // GoString returns the string representation.
 11280  //
 11281  // API parameter values that are decorated as "sensitive" in the API will not
 11282  // be included in the string output. The member name will be present, but the
 11283  // value will be replaced with "sensitive".
 11284  func (s DeleteVpcLinkInput) GoString() string {
 11285  	return s.String()
 11286  }
 11287  
 11288  // Validate inspects the fields of the type to determine if they are valid.
 11289  func (s *DeleteVpcLinkInput) Validate() error {
 11290  	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcLinkInput"}
 11291  	if s.VpcLinkId == nil {
 11292  		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
 11293  	}
 11294  	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
 11295  		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
 11296  	}
 11297  
 11298  	if invalidParams.Len() > 0 {
 11299  		return invalidParams
 11300  	}
 11301  	return nil
 11302  }
 11303  
 11304  // SetVpcLinkId sets the VpcLinkId field's value.
 11305  func (s *DeleteVpcLinkInput) SetVpcLinkId(v string) *DeleteVpcLinkInput {
 11306  	s.VpcLinkId = &v
 11307  	return s
 11308  }
 11309  
 11310  type DeleteVpcLinkOutput struct {
 11311  	_ struct{} `type:"structure" nopayload:"true"`
 11312  }
 11313  
 11314  // String returns the string representation.
 11315  //
 11316  // API parameter values that are decorated as "sensitive" in the API will not
 11317  // be included in the string output. The member name will be present, but the
 11318  // value will be replaced with "sensitive".
 11319  func (s DeleteVpcLinkOutput) String() string {
 11320  	return awsutil.Prettify(s)
 11321  }
 11322  
 11323  // GoString returns the string representation.
 11324  //
 11325  // API parameter values that are decorated as "sensitive" in the API will not
 11326  // be included in the string output. The member name will be present, but the
 11327  // value will be replaced with "sensitive".
 11328  func (s DeleteVpcLinkOutput) GoString() string {
 11329  	return s.String()
 11330  }
 11331  
 11332  // An immutable representation of an API that can be called by users. A Deployment
 11333  // must be associated with a Stage for it to be callable over the internet.
 11334  type Deployment struct {
 11335  	_ struct{} `type:"structure"`
 11336  
 11337  	// Specifies whether a deployment was automatically released.
 11338  	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
 11339  
 11340  	// The date and time when the Deployment resource was created.
 11341  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 11342  
 11343  	// The identifier for the deployment.
 11344  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 11345  
 11346  	// The status of the deployment: PENDING, FAILED, or SUCCEEDED.
 11347  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
 11348  
 11349  	// May contain additional feedback on the status of an API deployment.
 11350  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
 11351  
 11352  	// The description for the deployment.
 11353  	Description *string `locationName:"description" type:"string"`
 11354  }
 11355  
 11356  // String returns the string representation.
 11357  //
 11358  // API parameter values that are decorated as "sensitive" in the API will not
 11359  // be included in the string output. The member name will be present, but the
 11360  // value will be replaced with "sensitive".
 11361  func (s Deployment) String() string {
 11362  	return awsutil.Prettify(s)
 11363  }
 11364  
 11365  // GoString returns the string representation.
 11366  //
 11367  // API parameter values that are decorated as "sensitive" in the API will not
 11368  // be included in the string output. The member name will be present, but the
 11369  // value will be replaced with "sensitive".
 11370  func (s Deployment) GoString() string {
 11371  	return s.String()
 11372  }
 11373  
 11374  // SetAutoDeployed sets the AutoDeployed field's value.
 11375  func (s *Deployment) SetAutoDeployed(v bool) *Deployment {
 11376  	s.AutoDeployed = &v
 11377  	return s
 11378  }
 11379  
 11380  // SetCreatedDate sets the CreatedDate field's value.
 11381  func (s *Deployment) SetCreatedDate(v time.Time) *Deployment {
 11382  	s.CreatedDate = &v
 11383  	return s
 11384  }
 11385  
 11386  // SetDeploymentId sets the DeploymentId field's value.
 11387  func (s *Deployment) SetDeploymentId(v string) *Deployment {
 11388  	s.DeploymentId = &v
 11389  	return s
 11390  }
 11391  
 11392  // SetDeploymentStatus sets the DeploymentStatus field's value.
 11393  func (s *Deployment) SetDeploymentStatus(v string) *Deployment {
 11394  	s.DeploymentStatus = &v
 11395  	return s
 11396  }
 11397  
 11398  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
 11399  func (s *Deployment) SetDeploymentStatusMessage(v string) *Deployment {
 11400  	s.DeploymentStatusMessage = &v
 11401  	return s
 11402  }
 11403  
 11404  // SetDescription sets the Description field's value.
 11405  func (s *Deployment) SetDescription(v string) *Deployment {
 11406  	s.Description = &v
 11407  	return s
 11408  }
 11409  
 11410  // Represents a domain name.
 11411  type DomainName struct {
 11412  	_ struct{} `type:"structure"`
 11413  
 11414  	// The API mapping selection expression.
 11415  	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
 11416  
 11417  	// The name of the DomainName resource.
 11418  	//
 11419  	// DomainName is a required field
 11420  	DomainName *string `locationName:"domainName" type:"string" required:"true"`
 11421  
 11422  	// The domain name configurations.
 11423  	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
 11424  
 11425  	// The mutual TLS authentication configuration for a custom domain name.
 11426  	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
 11427  
 11428  	// The collection of tags associated with a domain name.
 11429  	Tags map[string]*string `locationName:"tags" type:"map"`
 11430  }
 11431  
 11432  // String returns the string representation.
 11433  //
 11434  // API parameter values that are decorated as "sensitive" in the API will not
 11435  // be included in the string output. The member name will be present, but the
 11436  // value will be replaced with "sensitive".
 11437  func (s DomainName) String() string {
 11438  	return awsutil.Prettify(s)
 11439  }
 11440  
 11441  // GoString returns the string representation.
 11442  //
 11443  // API parameter values that are decorated as "sensitive" in the API will not
 11444  // be included in the string output. The member name will be present, but the
 11445  // value will be replaced with "sensitive".
 11446  func (s DomainName) GoString() string {
 11447  	return s.String()
 11448  }
 11449  
 11450  // SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
 11451  func (s *DomainName) SetApiMappingSelectionExpression(v string) *DomainName {
 11452  	s.ApiMappingSelectionExpression = &v
 11453  	return s
 11454  }
 11455  
 11456  // SetDomainName sets the DomainName field's value.
 11457  func (s *DomainName) SetDomainName(v string) *DomainName {
 11458  	s.DomainName = &v
 11459  	return s
 11460  }
 11461  
 11462  // SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
 11463  func (s *DomainName) SetDomainNameConfigurations(v []*DomainNameConfiguration) *DomainName {
 11464  	s.DomainNameConfigurations = v
 11465  	return s
 11466  }
 11467  
 11468  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
 11469  func (s *DomainName) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *DomainName {
 11470  	s.MutualTlsAuthentication = v
 11471  	return s
 11472  }
 11473  
 11474  // SetTags sets the Tags field's value.
 11475  func (s *DomainName) SetTags(v map[string]*string) *DomainName {
 11476  	s.Tags = v
 11477  	return s
 11478  }
 11479  
 11480  // The domain name configuration.
 11481  type DomainNameConfiguration struct {
 11482  	_ struct{} `type:"structure"`
 11483  
 11484  	// A domain name for the API.
 11485  	ApiGatewayDomainName *string `locationName:"apiGatewayDomainName" type:"string"`
 11486  
 11487  	// An AWS-managed certificate that will be used by the edge-optimized endpoint
 11488  	// for this domain name. AWS Certificate Manager is the only supported source.
 11489  	CertificateArn *string `locationName:"certificateArn" type:"string"`
 11490  
 11491  	// The user-friendly name of the certificate that will be used by the edge-optimized
 11492  	// endpoint for this domain name.
 11493  	CertificateName *string `locationName:"certificateName" type:"string"`
 11494  
 11495  	// The timestamp when the certificate that was used by edge-optimized endpoint
 11496  	// for this domain name was uploaded.
 11497  	CertificateUploadDate *time.Time `locationName:"certificateUploadDate" type:"timestamp" timestampFormat:"iso8601"`
 11498  
 11499  	// The status of the domain name migration. The valid values are AVAILABLE,
 11500  	// UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION.
 11501  	// If the status is UPDATING, the domain cannot be modified further until the
 11502  	// existing operation is complete. If it is AVAILABLE, the domain can be updated.
 11503  	DomainNameStatus *string `locationName:"domainNameStatus" type:"string" enum:"DomainNameStatus"`
 11504  
 11505  	// An optional text message containing detailed information about status of
 11506  	// the domain name migration.
 11507  	DomainNameStatusMessage *string `locationName:"domainNameStatusMessage" type:"string"`
 11508  
 11509  	// The endpoint type.
 11510  	EndpointType *string `locationName:"endpointType" type:"string" enum:"EndpointType"`
 11511  
 11512  	// The Amazon Route 53 Hosted Zone ID of the endpoint.
 11513  	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
 11514  
 11515  	// The ARN of the public certificate issued by ACM to validate ownership of
 11516  	// your custom domain. Only required when configuring mutual TLS and using an
 11517  	// ACM imported or private CA certificate ARN as the regionalCertificateArn
 11518  	OwnershipVerificationCertificateArn *string `locationName:"ownershipVerificationCertificateArn" type:"string"`
 11519  
 11520  	// The Transport Layer Security (TLS) version of the security policy for this
 11521  	// domain name. The valid values are TLS_1_0 and TLS_1_2.
 11522  	SecurityPolicy *string `locationName:"securityPolicy" type:"string" enum:"SecurityPolicy"`
 11523  }
 11524  
 11525  // String returns the string representation.
 11526  //
 11527  // API parameter values that are decorated as "sensitive" in the API will not
 11528  // be included in the string output. The member name will be present, but the
 11529  // value will be replaced with "sensitive".
 11530  func (s DomainNameConfiguration) String() string {
 11531  	return awsutil.Prettify(s)
 11532  }
 11533  
 11534  // GoString returns the string representation.
 11535  //
 11536  // API parameter values that are decorated as "sensitive" in the API will not
 11537  // be included in the string output. The member name will be present, but the
 11538  // value will be replaced with "sensitive".
 11539  func (s DomainNameConfiguration) GoString() string {
 11540  	return s.String()
 11541  }
 11542  
 11543  // SetApiGatewayDomainName sets the ApiGatewayDomainName field's value.
 11544  func (s *DomainNameConfiguration) SetApiGatewayDomainName(v string) *DomainNameConfiguration {
 11545  	s.ApiGatewayDomainName = &v
 11546  	return s
 11547  }
 11548  
 11549  // SetCertificateArn sets the CertificateArn field's value.
 11550  func (s *DomainNameConfiguration) SetCertificateArn(v string) *DomainNameConfiguration {
 11551  	s.CertificateArn = &v
 11552  	return s
 11553  }
 11554  
 11555  // SetCertificateName sets the CertificateName field's value.
 11556  func (s *DomainNameConfiguration) SetCertificateName(v string) *DomainNameConfiguration {
 11557  	s.CertificateName = &v
 11558  	return s
 11559  }
 11560  
 11561  // SetCertificateUploadDate sets the CertificateUploadDate field's value.
 11562  func (s *DomainNameConfiguration) SetCertificateUploadDate(v time.Time) *DomainNameConfiguration {
 11563  	s.CertificateUploadDate = &v
 11564  	return s
 11565  }
 11566  
 11567  // SetDomainNameStatus sets the DomainNameStatus field's value.
 11568  func (s *DomainNameConfiguration) SetDomainNameStatus(v string) *DomainNameConfiguration {
 11569  	s.DomainNameStatus = &v
 11570  	return s
 11571  }
 11572  
 11573  // SetDomainNameStatusMessage sets the DomainNameStatusMessage field's value.
 11574  func (s *DomainNameConfiguration) SetDomainNameStatusMessage(v string) *DomainNameConfiguration {
 11575  	s.DomainNameStatusMessage = &v
 11576  	return s
 11577  }
 11578  
 11579  // SetEndpointType sets the EndpointType field's value.
 11580  func (s *DomainNameConfiguration) SetEndpointType(v string) *DomainNameConfiguration {
 11581  	s.EndpointType = &v
 11582  	return s
 11583  }
 11584  
 11585  // SetHostedZoneId sets the HostedZoneId field's value.
 11586  func (s *DomainNameConfiguration) SetHostedZoneId(v string) *DomainNameConfiguration {
 11587  	s.HostedZoneId = &v
 11588  	return s
 11589  }
 11590  
 11591  // SetOwnershipVerificationCertificateArn sets the OwnershipVerificationCertificateArn field's value.
 11592  func (s *DomainNameConfiguration) SetOwnershipVerificationCertificateArn(v string) *DomainNameConfiguration {
 11593  	s.OwnershipVerificationCertificateArn = &v
 11594  	return s
 11595  }
 11596  
 11597  // SetSecurityPolicy sets the SecurityPolicy field's value.
 11598  func (s *DomainNameConfiguration) SetSecurityPolicy(v string) *DomainNameConfiguration {
 11599  	s.SecurityPolicy = &v
 11600  	return s
 11601  }
 11602  
 11603  type ExportApiInput struct {
 11604  	_ struct{} `type:"structure" nopayload:"true"`
 11605  
 11606  	// ApiId is a required field
 11607  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 11608  
 11609  	ExportVersion *string `location:"querystring" locationName:"exportVersion" type:"string"`
 11610  
 11611  	IncludeExtensions *bool `location:"querystring" locationName:"includeExtensions" type:"boolean"`
 11612  
 11613  	// OutputType is a required field
 11614  	OutputType *string `location:"querystring" locationName:"outputType" type:"string" required:"true"`
 11615  
 11616  	// Specification is a required field
 11617  	Specification *string `location:"uri" locationName:"specification" type:"string" required:"true"`
 11618  
 11619  	StageName *string `location:"querystring" locationName:"stageName" type:"string"`
 11620  }
 11621  
 11622  // String returns the string representation.
 11623  //
 11624  // API parameter values that are decorated as "sensitive" in the API will not
 11625  // be included in the string output. The member name will be present, but the
 11626  // value will be replaced with "sensitive".
 11627  func (s ExportApiInput) String() string {
 11628  	return awsutil.Prettify(s)
 11629  }
 11630  
 11631  // GoString returns the string representation.
 11632  //
 11633  // API parameter values that are decorated as "sensitive" in the API will not
 11634  // be included in the string output. The member name will be present, but the
 11635  // value will be replaced with "sensitive".
 11636  func (s ExportApiInput) GoString() string {
 11637  	return s.String()
 11638  }
 11639  
 11640  // Validate inspects the fields of the type to determine if they are valid.
 11641  func (s *ExportApiInput) Validate() error {
 11642  	invalidParams := request.ErrInvalidParams{Context: "ExportApiInput"}
 11643  	if s.ApiId == nil {
 11644  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11645  	}
 11646  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11647  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11648  	}
 11649  	if s.OutputType == nil {
 11650  		invalidParams.Add(request.NewErrParamRequired("OutputType"))
 11651  	}
 11652  	if s.Specification == nil {
 11653  		invalidParams.Add(request.NewErrParamRequired("Specification"))
 11654  	}
 11655  	if s.Specification != nil && len(*s.Specification) < 1 {
 11656  		invalidParams.Add(request.NewErrParamMinLen("Specification", 1))
 11657  	}
 11658  
 11659  	if invalidParams.Len() > 0 {
 11660  		return invalidParams
 11661  	}
 11662  	return nil
 11663  }
 11664  
 11665  // SetApiId sets the ApiId field's value.
 11666  func (s *ExportApiInput) SetApiId(v string) *ExportApiInput {
 11667  	s.ApiId = &v
 11668  	return s
 11669  }
 11670  
 11671  // SetExportVersion sets the ExportVersion field's value.
 11672  func (s *ExportApiInput) SetExportVersion(v string) *ExportApiInput {
 11673  	s.ExportVersion = &v
 11674  	return s
 11675  }
 11676  
 11677  // SetIncludeExtensions sets the IncludeExtensions field's value.
 11678  func (s *ExportApiInput) SetIncludeExtensions(v bool) *ExportApiInput {
 11679  	s.IncludeExtensions = &v
 11680  	return s
 11681  }
 11682  
 11683  // SetOutputType sets the OutputType field's value.
 11684  func (s *ExportApiInput) SetOutputType(v string) *ExportApiInput {
 11685  	s.OutputType = &v
 11686  	return s
 11687  }
 11688  
 11689  // SetSpecification sets the Specification field's value.
 11690  func (s *ExportApiInput) SetSpecification(v string) *ExportApiInput {
 11691  	s.Specification = &v
 11692  	return s
 11693  }
 11694  
 11695  // SetStageName sets the StageName field's value.
 11696  func (s *ExportApiInput) SetStageName(v string) *ExportApiInput {
 11697  	s.StageName = &v
 11698  	return s
 11699  }
 11700  
 11701  type ExportApiOutput struct {
 11702  	_ struct{} `type:"structure" payload:"Body"`
 11703  
 11704  	// Represents an exported definition of an API in a particular output format,
 11705  	// for example, YAML. The API is serialized to the requested specification,
 11706  	// for example, OpenAPI 3.0.
 11707  	Body []byte `locationName:"body" type:"blob"`
 11708  }
 11709  
 11710  // String returns the string representation.
 11711  //
 11712  // API parameter values that are decorated as "sensitive" in the API will not
 11713  // be included in the string output. The member name will be present, but the
 11714  // value will be replaced with "sensitive".
 11715  func (s ExportApiOutput) String() string {
 11716  	return awsutil.Prettify(s)
 11717  }
 11718  
 11719  // GoString returns the string representation.
 11720  //
 11721  // API parameter values that are decorated as "sensitive" in the API will not
 11722  // be included in the string output. The member name will be present, but the
 11723  // value will be replaced with "sensitive".
 11724  func (s ExportApiOutput) GoString() string {
 11725  	return s.String()
 11726  }
 11727  
 11728  // SetBody sets the Body field's value.
 11729  func (s *ExportApiOutput) SetBody(v []byte) *ExportApiOutput {
 11730  	s.Body = v
 11731  	return s
 11732  }
 11733  
 11734  type GetApiInput struct {
 11735  	_ struct{} `type:"structure" nopayload:"true"`
 11736  
 11737  	// ApiId is a required field
 11738  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 11739  }
 11740  
 11741  // String returns the string representation.
 11742  //
 11743  // API parameter values that are decorated as "sensitive" in the API will not
 11744  // be included in the string output. The member name will be present, but the
 11745  // value will be replaced with "sensitive".
 11746  func (s GetApiInput) String() string {
 11747  	return awsutil.Prettify(s)
 11748  }
 11749  
 11750  // GoString returns the string representation.
 11751  //
 11752  // API parameter values that are decorated as "sensitive" in the API will not
 11753  // be included in the string output. The member name will be present, but the
 11754  // value will be replaced with "sensitive".
 11755  func (s GetApiInput) GoString() string {
 11756  	return s.String()
 11757  }
 11758  
 11759  // Validate inspects the fields of the type to determine if they are valid.
 11760  func (s *GetApiInput) Validate() error {
 11761  	invalidParams := request.ErrInvalidParams{Context: "GetApiInput"}
 11762  	if s.ApiId == nil {
 11763  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11764  	}
 11765  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11766  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11767  	}
 11768  
 11769  	if invalidParams.Len() > 0 {
 11770  		return invalidParams
 11771  	}
 11772  	return nil
 11773  }
 11774  
 11775  // SetApiId sets the ApiId field's value.
 11776  func (s *GetApiInput) SetApiId(v string) *GetApiInput {
 11777  	s.ApiId = &v
 11778  	return s
 11779  }
 11780  
 11781  type GetApiMappingInput struct {
 11782  	_ struct{} `type:"structure" nopayload:"true"`
 11783  
 11784  	// ApiMappingId is a required field
 11785  	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
 11786  
 11787  	// DomainName is a required field
 11788  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
 11789  }
 11790  
 11791  // String returns the string representation.
 11792  //
 11793  // API parameter values that are decorated as "sensitive" in the API will not
 11794  // be included in the string output. The member name will be present, but the
 11795  // value will be replaced with "sensitive".
 11796  func (s GetApiMappingInput) String() string {
 11797  	return awsutil.Prettify(s)
 11798  }
 11799  
 11800  // GoString returns the string representation.
 11801  //
 11802  // API parameter values that are decorated as "sensitive" in the API will not
 11803  // be included in the string output. The member name will be present, but the
 11804  // value will be replaced with "sensitive".
 11805  func (s GetApiMappingInput) GoString() string {
 11806  	return s.String()
 11807  }
 11808  
 11809  // Validate inspects the fields of the type to determine if they are valid.
 11810  func (s *GetApiMappingInput) Validate() error {
 11811  	invalidParams := request.ErrInvalidParams{Context: "GetApiMappingInput"}
 11812  	if s.ApiMappingId == nil {
 11813  		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
 11814  	}
 11815  	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
 11816  		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
 11817  	}
 11818  	if s.DomainName == nil {
 11819  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 11820  	}
 11821  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 11822  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 11823  	}
 11824  
 11825  	if invalidParams.Len() > 0 {
 11826  		return invalidParams
 11827  	}
 11828  	return nil
 11829  }
 11830  
 11831  // SetApiMappingId sets the ApiMappingId field's value.
 11832  func (s *GetApiMappingInput) SetApiMappingId(v string) *GetApiMappingInput {
 11833  	s.ApiMappingId = &v
 11834  	return s
 11835  }
 11836  
 11837  // SetDomainName sets the DomainName field's value.
 11838  func (s *GetApiMappingInput) SetDomainName(v string) *GetApiMappingInput {
 11839  	s.DomainName = &v
 11840  	return s
 11841  }
 11842  
 11843  type GetApiMappingOutput struct {
 11844  	_ struct{} `type:"structure"`
 11845  
 11846  	// The identifier.
 11847  	ApiId *string `locationName:"apiId" type:"string"`
 11848  
 11849  	// The identifier.
 11850  	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
 11851  
 11852  	// After evaluating a selection expression, the result is compared against one
 11853  	// or more selection keys to find a matching key. See Selection Expressions
 11854  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 11855  	// for a list of expressions and each expression's associated selection key
 11856  	// type.
 11857  	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
 11858  
 11859  	// A string with a length between [1-128].
 11860  	Stage *string `locationName:"stage" type:"string"`
 11861  }
 11862  
 11863  // String returns the string representation.
 11864  //
 11865  // API parameter values that are decorated as "sensitive" in the API will not
 11866  // be included in the string output. The member name will be present, but the
 11867  // value will be replaced with "sensitive".
 11868  func (s GetApiMappingOutput) String() string {
 11869  	return awsutil.Prettify(s)
 11870  }
 11871  
 11872  // GoString returns the string representation.
 11873  //
 11874  // API parameter values that are decorated as "sensitive" in the API will not
 11875  // be included in the string output. The member name will be present, but the
 11876  // value will be replaced with "sensitive".
 11877  func (s GetApiMappingOutput) GoString() string {
 11878  	return s.String()
 11879  }
 11880  
 11881  // SetApiId sets the ApiId field's value.
 11882  func (s *GetApiMappingOutput) SetApiId(v string) *GetApiMappingOutput {
 11883  	s.ApiId = &v
 11884  	return s
 11885  }
 11886  
 11887  // SetApiMappingId sets the ApiMappingId field's value.
 11888  func (s *GetApiMappingOutput) SetApiMappingId(v string) *GetApiMappingOutput {
 11889  	s.ApiMappingId = &v
 11890  	return s
 11891  }
 11892  
 11893  // SetApiMappingKey sets the ApiMappingKey field's value.
 11894  func (s *GetApiMappingOutput) SetApiMappingKey(v string) *GetApiMappingOutput {
 11895  	s.ApiMappingKey = &v
 11896  	return s
 11897  }
 11898  
 11899  // SetStage sets the Stage field's value.
 11900  func (s *GetApiMappingOutput) SetStage(v string) *GetApiMappingOutput {
 11901  	s.Stage = &v
 11902  	return s
 11903  }
 11904  
 11905  type GetApiMappingsInput struct {
 11906  	_ struct{} `type:"structure" nopayload:"true"`
 11907  
 11908  	// DomainName is a required field
 11909  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
 11910  
 11911  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 11912  
 11913  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 11914  }
 11915  
 11916  // String returns the string representation.
 11917  //
 11918  // API parameter values that are decorated as "sensitive" in the API will not
 11919  // be included in the string output. The member name will be present, but the
 11920  // value will be replaced with "sensitive".
 11921  func (s GetApiMappingsInput) String() string {
 11922  	return awsutil.Prettify(s)
 11923  }
 11924  
 11925  // GoString returns the string representation.
 11926  //
 11927  // API parameter values that are decorated as "sensitive" in the API will not
 11928  // be included in the string output. The member name will be present, but the
 11929  // value will be replaced with "sensitive".
 11930  func (s GetApiMappingsInput) GoString() string {
 11931  	return s.String()
 11932  }
 11933  
 11934  // Validate inspects the fields of the type to determine if they are valid.
 11935  func (s *GetApiMappingsInput) Validate() error {
 11936  	invalidParams := request.ErrInvalidParams{Context: "GetApiMappingsInput"}
 11937  	if s.DomainName == nil {
 11938  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 11939  	}
 11940  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 11941  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 11942  	}
 11943  
 11944  	if invalidParams.Len() > 0 {
 11945  		return invalidParams
 11946  	}
 11947  	return nil
 11948  }
 11949  
 11950  // SetDomainName sets the DomainName field's value.
 11951  func (s *GetApiMappingsInput) SetDomainName(v string) *GetApiMappingsInput {
 11952  	s.DomainName = &v
 11953  	return s
 11954  }
 11955  
 11956  // SetMaxResults sets the MaxResults field's value.
 11957  func (s *GetApiMappingsInput) SetMaxResults(v string) *GetApiMappingsInput {
 11958  	s.MaxResults = &v
 11959  	return s
 11960  }
 11961  
 11962  // SetNextToken sets the NextToken field's value.
 11963  func (s *GetApiMappingsInput) SetNextToken(v string) *GetApiMappingsInput {
 11964  	s.NextToken = &v
 11965  	return s
 11966  }
 11967  
 11968  type GetApiMappingsOutput struct {
 11969  	_ struct{} `type:"structure"`
 11970  
 11971  	Items []*ApiMapping `locationName:"items" type:"list"`
 11972  
 11973  	// The next page of elements from this collection. Not valid for the last element
 11974  	// of the collection.
 11975  	NextToken *string `locationName:"nextToken" type:"string"`
 11976  }
 11977  
 11978  // String returns the string representation.
 11979  //
 11980  // API parameter values that are decorated as "sensitive" in the API will not
 11981  // be included in the string output. The member name will be present, but the
 11982  // value will be replaced with "sensitive".
 11983  func (s GetApiMappingsOutput) String() string {
 11984  	return awsutil.Prettify(s)
 11985  }
 11986  
 11987  // GoString returns the string representation.
 11988  //
 11989  // API parameter values that are decorated as "sensitive" in the API will not
 11990  // be included in the string output. The member name will be present, but the
 11991  // value will be replaced with "sensitive".
 11992  func (s GetApiMappingsOutput) GoString() string {
 11993  	return s.String()
 11994  }
 11995  
 11996  // SetItems sets the Items field's value.
 11997  func (s *GetApiMappingsOutput) SetItems(v []*ApiMapping) *GetApiMappingsOutput {
 11998  	s.Items = v
 11999  	return s
 12000  }
 12001  
 12002  // SetNextToken sets the NextToken field's value.
 12003  func (s *GetApiMappingsOutput) SetNextToken(v string) *GetApiMappingsOutput {
 12004  	s.NextToken = &v
 12005  	return s
 12006  }
 12007  
 12008  type GetApiOutput struct {
 12009  	_ struct{} `type:"structure"`
 12010  
 12011  	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
 12012  
 12013  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 12014  
 12015  	// The identifier.
 12016  	ApiId *string `locationName:"apiId" type:"string"`
 12017  
 12018  	// An expression used to extract information at runtime. See Selection Expressions
 12019  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 12020  	// for more information.
 12021  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
 12022  
 12023  	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
 12024  	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
 12025  	// for more information.
 12026  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
 12027  
 12028  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 12029  
 12030  	// A string with a length between [0-1024].
 12031  	Description *string `locationName:"description" type:"string"`
 12032  
 12033  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
 12034  
 12035  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
 12036  
 12037  	ImportInfo []*string `locationName:"importInfo" type:"list"`
 12038  
 12039  	// A string with a length between [1-128].
 12040  	Name *string `locationName:"name" type:"string"`
 12041  
 12042  	// Represents a protocol type.
 12043  	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
 12044  
 12045  	// An expression used to extract information at runtime. See Selection Expressions
 12046  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 12047  	// for more information.
 12048  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
 12049  
 12050  	// Represents a collection of tags associated with the resource.
 12051  	Tags map[string]*string `locationName:"tags" type:"map"`
 12052  
 12053  	// A string with a length between [1-64].
 12054  	Version *string `locationName:"version" type:"string"`
 12055  
 12056  	Warnings []*string `locationName:"warnings" type:"list"`
 12057  }
 12058  
 12059  // String returns the string representation.
 12060  //
 12061  // API parameter values that are decorated as "sensitive" in the API will not
 12062  // be included in the string output. The member name will be present, but the
 12063  // value will be replaced with "sensitive".
 12064  func (s GetApiOutput) String() string {
 12065  	return awsutil.Prettify(s)
 12066  }
 12067  
 12068  // GoString returns the string representation.
 12069  //
 12070  // API parameter values that are decorated as "sensitive" in the API will not
 12071  // be included in the string output. The member name will be present, but the
 12072  // value will be replaced with "sensitive".
 12073  func (s GetApiOutput) GoString() string {
 12074  	return s.String()
 12075  }
 12076  
 12077  // SetApiEndpoint sets the ApiEndpoint field's value.
 12078  func (s *GetApiOutput) SetApiEndpoint(v string) *GetApiOutput {
 12079  	s.ApiEndpoint = &v
 12080  	return s
 12081  }
 12082  
 12083  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 12084  func (s *GetApiOutput) SetApiGatewayManaged(v bool) *GetApiOutput {
 12085  	s.ApiGatewayManaged = &v
 12086  	return s
 12087  }
 12088  
 12089  // SetApiId sets the ApiId field's value.
 12090  func (s *GetApiOutput) SetApiId(v string) *GetApiOutput {
 12091  	s.ApiId = &v
 12092  	return s
 12093  }
 12094  
 12095  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
 12096  func (s *GetApiOutput) SetApiKeySelectionExpression(v string) *GetApiOutput {
 12097  	s.ApiKeySelectionExpression = &v
 12098  	return s
 12099  }
 12100  
 12101  // SetCorsConfiguration sets the CorsConfiguration field's value.
 12102  func (s *GetApiOutput) SetCorsConfiguration(v *Cors) *GetApiOutput {
 12103  	s.CorsConfiguration = v
 12104  	return s
 12105  }
 12106  
 12107  // SetCreatedDate sets the CreatedDate field's value.
 12108  func (s *GetApiOutput) SetCreatedDate(v time.Time) *GetApiOutput {
 12109  	s.CreatedDate = &v
 12110  	return s
 12111  }
 12112  
 12113  // SetDescription sets the Description field's value.
 12114  func (s *GetApiOutput) SetDescription(v string) *GetApiOutput {
 12115  	s.Description = &v
 12116  	return s
 12117  }
 12118  
 12119  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
 12120  func (s *GetApiOutput) SetDisableExecuteApiEndpoint(v bool) *GetApiOutput {
 12121  	s.DisableExecuteApiEndpoint = &v
 12122  	return s
 12123  }
 12124  
 12125  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
 12126  func (s *GetApiOutput) SetDisableSchemaValidation(v bool) *GetApiOutput {
 12127  	s.DisableSchemaValidation = &v
 12128  	return s
 12129  }
 12130  
 12131  // SetImportInfo sets the ImportInfo field's value.
 12132  func (s *GetApiOutput) SetImportInfo(v []*string) *GetApiOutput {
 12133  	s.ImportInfo = v
 12134  	return s
 12135  }
 12136  
 12137  // SetName sets the Name field's value.
 12138  func (s *GetApiOutput) SetName(v string) *GetApiOutput {
 12139  	s.Name = &v
 12140  	return s
 12141  }
 12142  
 12143  // SetProtocolType sets the ProtocolType field's value.
 12144  func (s *GetApiOutput) SetProtocolType(v string) *GetApiOutput {
 12145  	s.ProtocolType = &v
 12146  	return s
 12147  }
 12148  
 12149  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
 12150  func (s *GetApiOutput) SetRouteSelectionExpression(v string) *GetApiOutput {
 12151  	s.RouteSelectionExpression = &v
 12152  	return s
 12153  }
 12154  
 12155  // SetTags sets the Tags field's value.
 12156  func (s *GetApiOutput) SetTags(v map[string]*string) *GetApiOutput {
 12157  	s.Tags = v
 12158  	return s
 12159  }
 12160  
 12161  // SetVersion sets the Version field's value.
 12162  func (s *GetApiOutput) SetVersion(v string) *GetApiOutput {
 12163  	s.Version = &v
 12164  	return s
 12165  }
 12166  
 12167  // SetWarnings sets the Warnings field's value.
 12168  func (s *GetApiOutput) SetWarnings(v []*string) *GetApiOutput {
 12169  	s.Warnings = v
 12170  	return s
 12171  }
 12172  
 12173  type GetApisInput struct {
 12174  	_ struct{} `type:"structure" nopayload:"true"`
 12175  
 12176  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 12177  
 12178  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 12179  }
 12180  
 12181  // String returns the string representation.
 12182  //
 12183  // API parameter values that are decorated as "sensitive" in the API will not
 12184  // be included in the string output. The member name will be present, but the
 12185  // value will be replaced with "sensitive".
 12186  func (s GetApisInput) String() string {
 12187  	return awsutil.Prettify(s)
 12188  }
 12189  
 12190  // GoString returns the string representation.
 12191  //
 12192  // API parameter values that are decorated as "sensitive" in the API will not
 12193  // be included in the string output. The member name will be present, but the
 12194  // value will be replaced with "sensitive".
 12195  func (s GetApisInput) GoString() string {
 12196  	return s.String()
 12197  }
 12198  
 12199  // SetMaxResults sets the MaxResults field's value.
 12200  func (s *GetApisInput) SetMaxResults(v string) *GetApisInput {
 12201  	s.MaxResults = &v
 12202  	return s
 12203  }
 12204  
 12205  // SetNextToken sets the NextToken field's value.
 12206  func (s *GetApisInput) SetNextToken(v string) *GetApisInput {
 12207  	s.NextToken = &v
 12208  	return s
 12209  }
 12210  
 12211  type GetApisOutput struct {
 12212  	_ struct{} `type:"structure"`
 12213  
 12214  	Items []*Api `locationName:"items" type:"list"`
 12215  
 12216  	// The next page of elements from this collection. Not valid for the last element
 12217  	// of the collection.
 12218  	NextToken *string `locationName:"nextToken" type:"string"`
 12219  }
 12220  
 12221  // String returns the string representation.
 12222  //
 12223  // API parameter values that are decorated as "sensitive" in the API will not
 12224  // be included in the string output. The member name will be present, but the
 12225  // value will be replaced with "sensitive".
 12226  func (s GetApisOutput) String() string {
 12227  	return awsutil.Prettify(s)
 12228  }
 12229  
 12230  // GoString returns the string representation.
 12231  //
 12232  // API parameter values that are decorated as "sensitive" in the API will not
 12233  // be included in the string output. The member name will be present, but the
 12234  // value will be replaced with "sensitive".
 12235  func (s GetApisOutput) GoString() string {
 12236  	return s.String()
 12237  }
 12238  
 12239  // SetItems sets the Items field's value.
 12240  func (s *GetApisOutput) SetItems(v []*Api) *GetApisOutput {
 12241  	s.Items = v
 12242  	return s
 12243  }
 12244  
 12245  // SetNextToken sets the NextToken field's value.
 12246  func (s *GetApisOutput) SetNextToken(v string) *GetApisOutput {
 12247  	s.NextToken = &v
 12248  	return s
 12249  }
 12250  
 12251  type GetAuthorizerInput struct {
 12252  	_ struct{} `type:"structure" nopayload:"true"`
 12253  
 12254  	// ApiId is a required field
 12255  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 12256  
 12257  	// AuthorizerId is a required field
 12258  	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
 12259  }
 12260  
 12261  // String returns the string representation.
 12262  //
 12263  // API parameter values that are decorated as "sensitive" in the API will not
 12264  // be included in the string output. The member name will be present, but the
 12265  // value will be replaced with "sensitive".
 12266  func (s GetAuthorizerInput) String() string {
 12267  	return awsutil.Prettify(s)
 12268  }
 12269  
 12270  // GoString returns the string representation.
 12271  //
 12272  // API parameter values that are decorated as "sensitive" in the API will not
 12273  // be included in the string output. The member name will be present, but the
 12274  // value will be replaced with "sensitive".
 12275  func (s GetAuthorizerInput) GoString() string {
 12276  	return s.String()
 12277  }
 12278  
 12279  // Validate inspects the fields of the type to determine if they are valid.
 12280  func (s *GetAuthorizerInput) Validate() error {
 12281  	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizerInput"}
 12282  	if s.ApiId == nil {
 12283  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 12284  	}
 12285  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 12286  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 12287  	}
 12288  	if s.AuthorizerId == nil {
 12289  		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
 12290  	}
 12291  	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
 12292  		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
 12293  	}
 12294  
 12295  	if invalidParams.Len() > 0 {
 12296  		return invalidParams
 12297  	}
 12298  	return nil
 12299  }
 12300  
 12301  // SetApiId sets the ApiId field's value.
 12302  func (s *GetAuthorizerInput) SetApiId(v string) *GetAuthorizerInput {
 12303  	s.ApiId = &v
 12304  	return s
 12305  }
 12306  
 12307  // SetAuthorizerId sets the AuthorizerId field's value.
 12308  func (s *GetAuthorizerInput) SetAuthorizerId(v string) *GetAuthorizerInput {
 12309  	s.AuthorizerId = &v
 12310  	return s
 12311  }
 12312  
 12313  type GetAuthorizerOutput struct {
 12314  	_ struct{} `type:"structure"`
 12315  
 12316  	// Represents an Amazon Resource Name (ARN).
 12317  	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
 12318  
 12319  	// The identifier.
 12320  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 12321  
 12322  	// A string with a length between [1-64].
 12323  	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
 12324  
 12325  	// An integer with a value between [0-3600].
 12326  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
 12327  
 12328  	// The authorizer type. Specify REQUEST for a Lambda function using incoming
 12329  	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
 12330  	// HTTP APIs).
 12331  	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
 12332  
 12333  	// A string representation of a URI with a length between [1-2048].
 12334  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
 12335  
 12336  	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
 12337  
 12338  	// The identity source for which authorization is requested. For the REQUEST
 12339  	// authorizer, this is required when authorization caching is enabled. The value
 12340  	// is a comma-separated string of one or more mapping expressions of the specified
 12341  	// request parameters. For example, if an Auth header, a Name query string parameter
 12342  	// are defined as identity sources, this value is $method.request.header.Auth,
 12343  	// $method.request.querystring.Name. These parameters will be used to derive
 12344  	// the authorization caching key and to perform runtime validation of the REQUEST
 12345  	// authorizer by verifying all of the identity-related request parameters are
 12346  	// present, not null and non-empty. Only when this is true does the authorizer
 12347  	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
 12348  	// response without calling the Lambda function. The valid value is a string
 12349  	// of comma-separated mapping expressions of the specified request parameters.
 12350  	// When the authorization caching is not enabled, this property is optional.
 12351  	IdentitySource []*string `locationName:"identitySource" type:"list"`
 12352  
 12353  	// A string with a length between [0-1024].
 12354  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
 12355  
 12356  	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
 12357  	// type. Supported only for HTTP APIs.
 12358  	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
 12359  
 12360  	// A string with a length between [1-128].
 12361  	Name *string `locationName:"name" type:"string"`
 12362  }
 12363  
 12364  // String returns the string representation.
 12365  //
 12366  // API parameter values that are decorated as "sensitive" in the API will not
 12367  // be included in the string output. The member name will be present, but the
 12368  // value will be replaced with "sensitive".
 12369  func (s GetAuthorizerOutput) String() string {
 12370  	return awsutil.Prettify(s)
 12371  }
 12372  
 12373  // GoString returns the string representation.
 12374  //
 12375  // API parameter values that are decorated as "sensitive" in the API will not
 12376  // be included in the string output. The member name will be present, but the
 12377  // value will be replaced with "sensitive".
 12378  func (s GetAuthorizerOutput) GoString() string {
 12379  	return s.String()
 12380  }
 12381  
 12382  // SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
 12383  func (s *GetAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *GetAuthorizerOutput {
 12384  	s.AuthorizerCredentialsArn = &v
 12385  	return s
 12386  }
 12387  
 12388  // SetAuthorizerId sets the AuthorizerId field's value.
 12389  func (s *GetAuthorizerOutput) SetAuthorizerId(v string) *GetAuthorizerOutput {
 12390  	s.AuthorizerId = &v
 12391  	return s
 12392  }
 12393  
 12394  // SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
 12395  func (s *GetAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *GetAuthorizerOutput {
 12396  	s.AuthorizerPayloadFormatVersion = &v
 12397  	return s
 12398  }
 12399  
 12400  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
 12401  func (s *GetAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *GetAuthorizerOutput {
 12402  	s.AuthorizerResultTtlInSeconds = &v
 12403  	return s
 12404  }
 12405  
 12406  // SetAuthorizerType sets the AuthorizerType field's value.
 12407  func (s *GetAuthorizerOutput) SetAuthorizerType(v string) *GetAuthorizerOutput {
 12408  	s.AuthorizerType = &v
 12409  	return s
 12410  }
 12411  
 12412  // SetAuthorizerUri sets the AuthorizerUri field's value.
 12413  func (s *GetAuthorizerOutput) SetAuthorizerUri(v string) *GetAuthorizerOutput {
 12414  	s.AuthorizerUri = &v
 12415  	return s
 12416  }
 12417  
 12418  // SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
 12419  func (s *GetAuthorizerOutput) SetEnableSimpleResponses(v bool) *GetAuthorizerOutput {
 12420  	s.EnableSimpleResponses = &v
 12421  	return s
 12422  }
 12423  
 12424  // SetIdentitySource sets the IdentitySource field's value.
 12425  func (s *GetAuthorizerOutput) SetIdentitySource(v []*string) *GetAuthorizerOutput {
 12426  	s.IdentitySource = v
 12427  	return s
 12428  }
 12429  
 12430  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
 12431  func (s *GetAuthorizerOutput) SetIdentityValidationExpression(v string) *GetAuthorizerOutput {
 12432  	s.IdentityValidationExpression = &v
 12433  	return s
 12434  }
 12435  
 12436  // SetJwtConfiguration sets the JwtConfiguration field's value.
 12437  func (s *GetAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *GetAuthorizerOutput {
 12438  	s.JwtConfiguration = v
 12439  	return s
 12440  }
 12441  
 12442  // SetName sets the Name field's value.
 12443  func (s *GetAuthorizerOutput) SetName(v string) *GetAuthorizerOutput {
 12444  	s.Name = &v
 12445  	return s
 12446  }
 12447  
 12448  type GetAuthorizersInput struct {
 12449  	_ struct{} `type:"structure" nopayload:"true"`
 12450  
 12451  	// ApiId is a required field
 12452  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 12453  
 12454  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 12455  
 12456  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 12457  }
 12458  
 12459  // String returns the string representation.
 12460  //
 12461  // API parameter values that are decorated as "sensitive" in the API will not
 12462  // be included in the string output. The member name will be present, but the
 12463  // value will be replaced with "sensitive".
 12464  func (s GetAuthorizersInput) String() string {
 12465  	return awsutil.Prettify(s)
 12466  }
 12467  
 12468  // GoString returns the string representation.
 12469  //
 12470  // API parameter values that are decorated as "sensitive" in the API will not
 12471  // be included in the string output. The member name will be present, but the
 12472  // value will be replaced with "sensitive".
 12473  func (s GetAuthorizersInput) GoString() string {
 12474  	return s.String()
 12475  }
 12476  
 12477  // Validate inspects the fields of the type to determine if they are valid.
 12478  func (s *GetAuthorizersInput) Validate() error {
 12479  	invalidParams := request.ErrInvalidParams{Context: "GetAuthorizersInput"}
 12480  	if s.ApiId == nil {
 12481  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 12482  	}
 12483  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 12484  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 12485  	}
 12486  
 12487  	if invalidParams.Len() > 0 {
 12488  		return invalidParams
 12489  	}
 12490  	return nil
 12491  }
 12492  
 12493  // SetApiId sets the ApiId field's value.
 12494  func (s *GetAuthorizersInput) SetApiId(v string) *GetAuthorizersInput {
 12495  	s.ApiId = &v
 12496  	return s
 12497  }
 12498  
 12499  // SetMaxResults sets the MaxResults field's value.
 12500  func (s *GetAuthorizersInput) SetMaxResults(v string) *GetAuthorizersInput {
 12501  	s.MaxResults = &v
 12502  	return s
 12503  }
 12504  
 12505  // SetNextToken sets the NextToken field's value.
 12506  func (s *GetAuthorizersInput) SetNextToken(v string) *GetAuthorizersInput {
 12507  	s.NextToken = &v
 12508  	return s
 12509  }
 12510  
 12511  type GetAuthorizersOutput struct {
 12512  	_ struct{} `type:"structure"`
 12513  
 12514  	Items []*Authorizer `locationName:"items" type:"list"`
 12515  
 12516  	// The next page of elements from this collection. Not valid for the last element
 12517  	// of the collection.
 12518  	NextToken *string `locationName:"nextToken" type:"string"`
 12519  }
 12520  
 12521  // String returns the string representation.
 12522  //
 12523  // API parameter values that are decorated as "sensitive" in the API will not
 12524  // be included in the string output. The member name will be present, but the
 12525  // value will be replaced with "sensitive".
 12526  func (s GetAuthorizersOutput) String() string {
 12527  	return awsutil.Prettify(s)
 12528  }
 12529  
 12530  // GoString returns the string representation.
 12531  //
 12532  // API parameter values that are decorated as "sensitive" in the API will not
 12533  // be included in the string output. The member name will be present, but the
 12534  // value will be replaced with "sensitive".
 12535  func (s GetAuthorizersOutput) GoString() string {
 12536  	return s.String()
 12537  }
 12538  
 12539  // SetItems sets the Items field's value.
 12540  func (s *GetAuthorizersOutput) SetItems(v []*Authorizer) *GetAuthorizersOutput {
 12541  	s.Items = v
 12542  	return s
 12543  }
 12544  
 12545  // SetNextToken sets the NextToken field's value.
 12546  func (s *GetAuthorizersOutput) SetNextToken(v string) *GetAuthorizersOutput {
 12547  	s.NextToken = &v
 12548  	return s
 12549  }
 12550  
 12551  type GetDeploymentInput struct {
 12552  	_ struct{} `type:"structure" nopayload:"true"`
 12553  
 12554  	// ApiId is a required field
 12555  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 12556  
 12557  	// DeploymentId is a required field
 12558  	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
 12559  }
 12560  
 12561  // String returns the string representation.
 12562  //
 12563  // API parameter values that are decorated as "sensitive" in the API will not
 12564  // be included in the string output. The member name will be present, but the
 12565  // value will be replaced with "sensitive".
 12566  func (s GetDeploymentInput) String() string {
 12567  	return awsutil.Prettify(s)
 12568  }
 12569  
 12570  // GoString returns the string representation.
 12571  //
 12572  // API parameter values that are decorated as "sensitive" in the API will not
 12573  // be included in the string output. The member name will be present, but the
 12574  // value will be replaced with "sensitive".
 12575  func (s GetDeploymentInput) GoString() string {
 12576  	return s.String()
 12577  }
 12578  
 12579  // Validate inspects the fields of the type to determine if they are valid.
 12580  func (s *GetDeploymentInput) Validate() error {
 12581  	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
 12582  	if s.ApiId == nil {
 12583  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 12584  	}
 12585  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 12586  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 12587  	}
 12588  	if s.DeploymentId == nil {
 12589  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 12590  	}
 12591  	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
 12592  		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
 12593  	}
 12594  
 12595  	if invalidParams.Len() > 0 {
 12596  		return invalidParams
 12597  	}
 12598  	return nil
 12599  }
 12600  
 12601  // SetApiId sets the ApiId field's value.
 12602  func (s *GetDeploymentInput) SetApiId(v string) *GetDeploymentInput {
 12603  	s.ApiId = &v
 12604  	return s
 12605  }
 12606  
 12607  // SetDeploymentId sets the DeploymentId field's value.
 12608  func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput {
 12609  	s.DeploymentId = &v
 12610  	return s
 12611  }
 12612  
 12613  type GetDeploymentOutput struct {
 12614  	_ struct{} `type:"structure"`
 12615  
 12616  	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
 12617  
 12618  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 12619  
 12620  	// The identifier.
 12621  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 12622  
 12623  	// Represents a deployment status.
 12624  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
 12625  
 12626  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
 12627  
 12628  	// A string with a length between [0-1024].
 12629  	Description *string `locationName:"description" type:"string"`
 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 GetDeploymentOutput) 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 GetDeploymentOutput) GoString() string {
 12647  	return s.String()
 12648  }
 12649  
 12650  // SetAutoDeployed sets the AutoDeployed field's value.
 12651  func (s *GetDeploymentOutput) SetAutoDeployed(v bool) *GetDeploymentOutput {
 12652  	s.AutoDeployed = &v
 12653  	return s
 12654  }
 12655  
 12656  // SetCreatedDate sets the CreatedDate field's value.
 12657  func (s *GetDeploymentOutput) SetCreatedDate(v time.Time) *GetDeploymentOutput {
 12658  	s.CreatedDate = &v
 12659  	return s
 12660  }
 12661  
 12662  // SetDeploymentId sets the DeploymentId field's value.
 12663  func (s *GetDeploymentOutput) SetDeploymentId(v string) *GetDeploymentOutput {
 12664  	s.DeploymentId = &v
 12665  	return s
 12666  }
 12667  
 12668  // SetDeploymentStatus sets the DeploymentStatus field's value.
 12669  func (s *GetDeploymentOutput) SetDeploymentStatus(v string) *GetDeploymentOutput {
 12670  	s.DeploymentStatus = &v
 12671  	return s
 12672  }
 12673  
 12674  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
 12675  func (s *GetDeploymentOutput) SetDeploymentStatusMessage(v string) *GetDeploymentOutput {
 12676  	s.DeploymentStatusMessage = &v
 12677  	return s
 12678  }
 12679  
 12680  // SetDescription sets the Description field's value.
 12681  func (s *GetDeploymentOutput) SetDescription(v string) *GetDeploymentOutput {
 12682  	s.Description = &v
 12683  	return s
 12684  }
 12685  
 12686  type GetDeploymentsInput struct {
 12687  	_ struct{} `type:"structure" nopayload:"true"`
 12688  
 12689  	// ApiId is a required field
 12690  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 12691  
 12692  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 12693  
 12694  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 12695  }
 12696  
 12697  // String returns the string representation.
 12698  //
 12699  // API parameter values that are decorated as "sensitive" in the API will not
 12700  // be included in the string output. The member name will be present, but the
 12701  // value will be replaced with "sensitive".
 12702  func (s GetDeploymentsInput) String() string {
 12703  	return awsutil.Prettify(s)
 12704  }
 12705  
 12706  // GoString returns the string representation.
 12707  //
 12708  // API parameter values that are decorated as "sensitive" in the API will not
 12709  // be included in the string output. The member name will be present, but the
 12710  // value will be replaced with "sensitive".
 12711  func (s GetDeploymentsInput) GoString() string {
 12712  	return s.String()
 12713  }
 12714  
 12715  // Validate inspects the fields of the type to determine if they are valid.
 12716  func (s *GetDeploymentsInput) Validate() error {
 12717  	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentsInput"}
 12718  	if s.ApiId == nil {
 12719  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 12720  	}
 12721  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 12722  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 12723  	}
 12724  
 12725  	if invalidParams.Len() > 0 {
 12726  		return invalidParams
 12727  	}
 12728  	return nil
 12729  }
 12730  
 12731  // SetApiId sets the ApiId field's value.
 12732  func (s *GetDeploymentsInput) SetApiId(v string) *GetDeploymentsInput {
 12733  	s.ApiId = &v
 12734  	return s
 12735  }
 12736  
 12737  // SetMaxResults sets the MaxResults field's value.
 12738  func (s *GetDeploymentsInput) SetMaxResults(v string) *GetDeploymentsInput {
 12739  	s.MaxResults = &v
 12740  	return s
 12741  }
 12742  
 12743  // SetNextToken sets the NextToken field's value.
 12744  func (s *GetDeploymentsInput) SetNextToken(v string) *GetDeploymentsInput {
 12745  	s.NextToken = &v
 12746  	return s
 12747  }
 12748  
 12749  type GetDeploymentsOutput struct {
 12750  	_ struct{} `type:"structure"`
 12751  
 12752  	Items []*Deployment `locationName:"items" type:"list"`
 12753  
 12754  	// The next page of elements from this collection. Not valid for the last element
 12755  	// of the collection.
 12756  	NextToken *string `locationName:"nextToken" type:"string"`
 12757  }
 12758  
 12759  // String returns the string representation.
 12760  //
 12761  // API parameter values that are decorated as "sensitive" in the API will not
 12762  // be included in the string output. The member name will be present, but the
 12763  // value will be replaced with "sensitive".
 12764  func (s GetDeploymentsOutput) String() string {
 12765  	return awsutil.Prettify(s)
 12766  }
 12767  
 12768  // GoString returns the string representation.
 12769  //
 12770  // API parameter values that are decorated as "sensitive" in the API will not
 12771  // be included in the string output. The member name will be present, but the
 12772  // value will be replaced with "sensitive".
 12773  func (s GetDeploymentsOutput) GoString() string {
 12774  	return s.String()
 12775  }
 12776  
 12777  // SetItems sets the Items field's value.
 12778  func (s *GetDeploymentsOutput) SetItems(v []*Deployment) *GetDeploymentsOutput {
 12779  	s.Items = v
 12780  	return s
 12781  }
 12782  
 12783  // SetNextToken sets the NextToken field's value.
 12784  func (s *GetDeploymentsOutput) SetNextToken(v string) *GetDeploymentsOutput {
 12785  	s.NextToken = &v
 12786  	return s
 12787  }
 12788  
 12789  type GetDomainNameInput struct {
 12790  	_ struct{} `type:"structure" nopayload:"true"`
 12791  
 12792  	// DomainName is a required field
 12793  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
 12794  }
 12795  
 12796  // String returns the string representation.
 12797  //
 12798  // API parameter values that are decorated as "sensitive" in the API will not
 12799  // be included in the string output. The member name will be present, but the
 12800  // value will be replaced with "sensitive".
 12801  func (s GetDomainNameInput) String() string {
 12802  	return awsutil.Prettify(s)
 12803  }
 12804  
 12805  // GoString returns the string representation.
 12806  //
 12807  // API parameter values that are decorated as "sensitive" in the API will not
 12808  // be included in the string output. The member name will be present, but the
 12809  // value will be replaced with "sensitive".
 12810  func (s GetDomainNameInput) GoString() string {
 12811  	return s.String()
 12812  }
 12813  
 12814  // Validate inspects the fields of the type to determine if they are valid.
 12815  func (s *GetDomainNameInput) Validate() error {
 12816  	invalidParams := request.ErrInvalidParams{Context: "GetDomainNameInput"}
 12817  	if s.DomainName == nil {
 12818  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 12819  	}
 12820  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 12821  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 12822  	}
 12823  
 12824  	if invalidParams.Len() > 0 {
 12825  		return invalidParams
 12826  	}
 12827  	return nil
 12828  }
 12829  
 12830  // SetDomainName sets the DomainName field's value.
 12831  func (s *GetDomainNameInput) SetDomainName(v string) *GetDomainNameInput {
 12832  	s.DomainName = &v
 12833  	return s
 12834  }
 12835  
 12836  type GetDomainNameOutput struct {
 12837  	_ struct{} `type:"structure"`
 12838  
 12839  	// An expression used to extract information at runtime. See Selection Expressions
 12840  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 12841  	// for more information.
 12842  	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
 12843  
 12844  	// A string with a length between [1-512].
 12845  	DomainName *string `locationName:"domainName" type:"string"`
 12846  
 12847  	// The domain name configurations.
 12848  	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
 12849  
 12850  	// If specified, API Gateway performs two-way authentication between the client
 12851  	// and the server. Clients must present a trusted certificate to access your
 12852  	// API.
 12853  	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
 12854  
 12855  	// Represents a collection of tags associated with the resource.
 12856  	Tags map[string]*string `locationName:"tags" type:"map"`
 12857  }
 12858  
 12859  // String returns the string representation.
 12860  //
 12861  // API parameter values that are decorated as "sensitive" in the API will not
 12862  // be included in the string output. The member name will be present, but the
 12863  // value will be replaced with "sensitive".
 12864  func (s GetDomainNameOutput) String() string {
 12865  	return awsutil.Prettify(s)
 12866  }
 12867  
 12868  // GoString returns the string representation.
 12869  //
 12870  // API parameter values that are decorated as "sensitive" in the API will not
 12871  // be included in the string output. The member name will be present, but the
 12872  // value will be replaced with "sensitive".
 12873  func (s GetDomainNameOutput) GoString() string {
 12874  	return s.String()
 12875  }
 12876  
 12877  // SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
 12878  func (s *GetDomainNameOutput) SetApiMappingSelectionExpression(v string) *GetDomainNameOutput {
 12879  	s.ApiMappingSelectionExpression = &v
 12880  	return s
 12881  }
 12882  
 12883  // SetDomainName sets the DomainName field's value.
 12884  func (s *GetDomainNameOutput) SetDomainName(v string) *GetDomainNameOutput {
 12885  	s.DomainName = &v
 12886  	return s
 12887  }
 12888  
 12889  // SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
 12890  func (s *GetDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *GetDomainNameOutput {
 12891  	s.DomainNameConfigurations = v
 12892  	return s
 12893  }
 12894  
 12895  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
 12896  func (s *GetDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *GetDomainNameOutput {
 12897  	s.MutualTlsAuthentication = v
 12898  	return s
 12899  }
 12900  
 12901  // SetTags sets the Tags field's value.
 12902  func (s *GetDomainNameOutput) SetTags(v map[string]*string) *GetDomainNameOutput {
 12903  	s.Tags = v
 12904  	return s
 12905  }
 12906  
 12907  type GetDomainNamesInput struct {
 12908  	_ struct{} `type:"structure" nopayload:"true"`
 12909  
 12910  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 12911  
 12912  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 12913  }
 12914  
 12915  // String returns the string representation.
 12916  //
 12917  // API parameter values that are decorated as "sensitive" in the API will not
 12918  // be included in the string output. The member name will be present, but the
 12919  // value will be replaced with "sensitive".
 12920  func (s GetDomainNamesInput) String() string {
 12921  	return awsutil.Prettify(s)
 12922  }
 12923  
 12924  // GoString returns the string representation.
 12925  //
 12926  // API parameter values that are decorated as "sensitive" in the API will not
 12927  // be included in the string output. The member name will be present, but the
 12928  // value will be replaced with "sensitive".
 12929  func (s GetDomainNamesInput) GoString() string {
 12930  	return s.String()
 12931  }
 12932  
 12933  // SetMaxResults sets the MaxResults field's value.
 12934  func (s *GetDomainNamesInput) SetMaxResults(v string) *GetDomainNamesInput {
 12935  	s.MaxResults = &v
 12936  	return s
 12937  }
 12938  
 12939  // SetNextToken sets the NextToken field's value.
 12940  func (s *GetDomainNamesInput) SetNextToken(v string) *GetDomainNamesInput {
 12941  	s.NextToken = &v
 12942  	return s
 12943  }
 12944  
 12945  type GetDomainNamesOutput struct {
 12946  	_ struct{} `type:"structure"`
 12947  
 12948  	Items []*DomainName `locationName:"items" type:"list"`
 12949  
 12950  	// The next page of elements from this collection. Not valid for the last element
 12951  	// of the collection.
 12952  	NextToken *string `locationName:"nextToken" type:"string"`
 12953  }
 12954  
 12955  // String returns the string representation.
 12956  //
 12957  // API parameter values that are decorated as "sensitive" in the API will not
 12958  // be included in the string output. The member name will be present, but the
 12959  // value will be replaced with "sensitive".
 12960  func (s GetDomainNamesOutput) String() string {
 12961  	return awsutil.Prettify(s)
 12962  }
 12963  
 12964  // GoString returns the string representation.
 12965  //
 12966  // API parameter values that are decorated as "sensitive" in the API will not
 12967  // be included in the string output. The member name will be present, but the
 12968  // value will be replaced with "sensitive".
 12969  func (s GetDomainNamesOutput) GoString() string {
 12970  	return s.String()
 12971  }
 12972  
 12973  // SetItems sets the Items field's value.
 12974  func (s *GetDomainNamesOutput) SetItems(v []*DomainName) *GetDomainNamesOutput {
 12975  	s.Items = v
 12976  	return s
 12977  }
 12978  
 12979  // SetNextToken sets the NextToken field's value.
 12980  func (s *GetDomainNamesOutput) SetNextToken(v string) *GetDomainNamesOutput {
 12981  	s.NextToken = &v
 12982  	return s
 12983  }
 12984  
 12985  type GetIntegrationInput struct {
 12986  	_ struct{} `type:"structure" nopayload:"true"`
 12987  
 12988  	// ApiId is a required field
 12989  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 12990  
 12991  	// IntegrationId is a required field
 12992  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
 12993  }
 12994  
 12995  // String returns the string representation.
 12996  //
 12997  // API parameter values that are decorated as "sensitive" in the API will not
 12998  // be included in the string output. The member name will be present, but the
 12999  // value will be replaced with "sensitive".
 13000  func (s GetIntegrationInput) String() string {
 13001  	return awsutil.Prettify(s)
 13002  }
 13003  
 13004  // GoString returns the string representation.
 13005  //
 13006  // API parameter values that are decorated as "sensitive" in the API will not
 13007  // be included in the string output. The member name will be present, but the
 13008  // value will be replaced with "sensitive".
 13009  func (s GetIntegrationInput) GoString() string {
 13010  	return s.String()
 13011  }
 13012  
 13013  // Validate inspects the fields of the type to determine if they are valid.
 13014  func (s *GetIntegrationInput) Validate() error {
 13015  	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationInput"}
 13016  	if s.ApiId == nil {
 13017  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 13018  	}
 13019  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 13020  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 13021  	}
 13022  	if s.IntegrationId == nil {
 13023  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
 13024  	}
 13025  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
 13026  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
 13027  	}
 13028  
 13029  	if invalidParams.Len() > 0 {
 13030  		return invalidParams
 13031  	}
 13032  	return nil
 13033  }
 13034  
 13035  // SetApiId sets the ApiId field's value.
 13036  func (s *GetIntegrationInput) SetApiId(v string) *GetIntegrationInput {
 13037  	s.ApiId = &v
 13038  	return s
 13039  }
 13040  
 13041  // SetIntegrationId sets the IntegrationId field's value.
 13042  func (s *GetIntegrationInput) SetIntegrationId(v string) *GetIntegrationInput {
 13043  	s.IntegrationId = &v
 13044  	return s
 13045  }
 13046  
 13047  type GetIntegrationOutput struct {
 13048  	_ struct{} `type:"structure"`
 13049  
 13050  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 13051  
 13052  	// A string with a length between [1-1024].
 13053  	ConnectionId *string `locationName:"connectionId" type:"string"`
 13054  
 13055  	// Represents a connection type.
 13056  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
 13057  
 13058  	// Specifies how to handle response payload content type conversions. Supported
 13059  	// only for WebSocket APIs.
 13060  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 13061  
 13062  	// Represents an Amazon Resource Name (ARN).
 13063  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
 13064  
 13065  	// A string with a length between [0-1024].
 13066  	Description *string `locationName:"description" type:"string"`
 13067  
 13068  	// The identifier.
 13069  	IntegrationId *string `locationName:"integrationId" type:"string"`
 13070  
 13071  	// A string with a length between [1-64].
 13072  	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
 13073  
 13074  	// An expression used to extract information at runtime. See Selection Expressions
 13075  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 13076  	// for more information.
 13077  	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
 13078  
 13079  	// A string with a length between [1-128].
 13080  	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
 13081  
 13082  	// Represents an API method integration type.
 13083  	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
 13084  
 13085  	// A string representation of a URI with a length between [1-2048].
 13086  	IntegrationUri *string `locationName:"integrationUri" type:"string"`
 13087  
 13088  	// Represents passthrough behavior for an integration response. Supported only
 13089  	// for WebSocket APIs.
 13090  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
 13091  
 13092  	// A string with a length between [1-64].
 13093  	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
 13094  
 13095  	// For WebSocket APIs, a key-value map specifying request parameters that are
 13096  	// passed from the method request to the backend. The key is an integration
 13097  	// request parameter name and the associated value is a method request parameter
 13098  	// value or static value that must be enclosed within single quotes and pre-encoded
 13099  	// as required by the backend. The method request parameter value must match
 13100  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
 13101  	// path, or header; and {name} must be a valid and unique method request parameter
 13102  	// name.
 13103  	//
 13104  	// For HTTP API integrations with a specified integrationSubtype, request parameters
 13105  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
 13106  	// You can provide static values, or map request data, stage variables, or context
 13107  	// variables that are evaluated at runtime. To learn more, see Working with
 13108  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
 13109  	//
 13110  	// For HTTP API integrations without a specified integrationSubtype request
 13111  	// parameters are a key-value map specifying how to transform HTTP requests
 13112  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
 13113  	// where action can be append, overwrite or remove. For values, you can provide
 13114  	// static values, or map request data, stage variables, or context variables
 13115  	// that are evaluated at runtime. To learn more, see Transforming API requests
 13116  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 13117  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
 13118  
 13119  	// A mapping of identifier keys to templates. The value is an actual template
 13120  	// script. The key is typically a SelectionKey which is chosen based on evaluating
 13121  	// a selection expression.
 13122  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
 13123  
 13124  	// Supported only for HTTP APIs. You use response parameters to transform the
 13125  	// HTTP response from a backend integration before returning the response to
 13126  	// clients.
 13127  	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
 13128  
 13129  	// An expression used to extract information at runtime. See Selection Expressions
 13130  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 13131  	// for more information.
 13132  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 13133  
 13134  	// An integer with a value between [50-30000].
 13135  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
 13136  
 13137  	// The TLS configuration for a private integration. If you specify a TLS configuration,
 13138  	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
 13139  	// APIs.
 13140  	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
 13141  }
 13142  
 13143  // String returns the string representation.
 13144  //
 13145  // API parameter values that are decorated as "sensitive" in the API will not
 13146  // be included in the string output. The member name will be present, but the
 13147  // value will be replaced with "sensitive".
 13148  func (s GetIntegrationOutput) String() string {
 13149  	return awsutil.Prettify(s)
 13150  }
 13151  
 13152  // GoString returns the string representation.
 13153  //
 13154  // API parameter values that are decorated as "sensitive" in the API will not
 13155  // be included in the string output. The member name will be present, but the
 13156  // value will be replaced with "sensitive".
 13157  func (s GetIntegrationOutput) GoString() string {
 13158  	return s.String()
 13159  }
 13160  
 13161  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 13162  func (s *GetIntegrationOutput) SetApiGatewayManaged(v bool) *GetIntegrationOutput {
 13163  	s.ApiGatewayManaged = &v
 13164  	return s
 13165  }
 13166  
 13167  // SetConnectionId sets the ConnectionId field's value.
 13168  func (s *GetIntegrationOutput) SetConnectionId(v string) *GetIntegrationOutput {
 13169  	s.ConnectionId = &v
 13170  	return s
 13171  }
 13172  
 13173  // SetConnectionType sets the ConnectionType field's value.
 13174  func (s *GetIntegrationOutput) SetConnectionType(v string) *GetIntegrationOutput {
 13175  	s.ConnectionType = &v
 13176  	return s
 13177  }
 13178  
 13179  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 13180  func (s *GetIntegrationOutput) SetContentHandlingStrategy(v string) *GetIntegrationOutput {
 13181  	s.ContentHandlingStrategy = &v
 13182  	return s
 13183  }
 13184  
 13185  // SetCredentialsArn sets the CredentialsArn field's value.
 13186  func (s *GetIntegrationOutput) SetCredentialsArn(v string) *GetIntegrationOutput {
 13187  	s.CredentialsArn = &v
 13188  	return s
 13189  }
 13190  
 13191  // SetDescription sets the Description field's value.
 13192  func (s *GetIntegrationOutput) SetDescription(v string) *GetIntegrationOutput {
 13193  	s.Description = &v
 13194  	return s
 13195  }
 13196  
 13197  // SetIntegrationId sets the IntegrationId field's value.
 13198  func (s *GetIntegrationOutput) SetIntegrationId(v string) *GetIntegrationOutput {
 13199  	s.IntegrationId = &v
 13200  	return s
 13201  }
 13202  
 13203  // SetIntegrationMethod sets the IntegrationMethod field's value.
 13204  func (s *GetIntegrationOutput) SetIntegrationMethod(v string) *GetIntegrationOutput {
 13205  	s.IntegrationMethod = &v
 13206  	return s
 13207  }
 13208  
 13209  // SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
 13210  func (s *GetIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *GetIntegrationOutput {
 13211  	s.IntegrationResponseSelectionExpression = &v
 13212  	return s
 13213  }
 13214  
 13215  // SetIntegrationSubtype sets the IntegrationSubtype field's value.
 13216  func (s *GetIntegrationOutput) SetIntegrationSubtype(v string) *GetIntegrationOutput {
 13217  	s.IntegrationSubtype = &v
 13218  	return s
 13219  }
 13220  
 13221  // SetIntegrationType sets the IntegrationType field's value.
 13222  func (s *GetIntegrationOutput) SetIntegrationType(v string) *GetIntegrationOutput {
 13223  	s.IntegrationType = &v
 13224  	return s
 13225  }
 13226  
 13227  // SetIntegrationUri sets the IntegrationUri field's value.
 13228  func (s *GetIntegrationOutput) SetIntegrationUri(v string) *GetIntegrationOutput {
 13229  	s.IntegrationUri = &v
 13230  	return s
 13231  }
 13232  
 13233  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
 13234  func (s *GetIntegrationOutput) SetPassthroughBehavior(v string) *GetIntegrationOutput {
 13235  	s.PassthroughBehavior = &v
 13236  	return s
 13237  }
 13238  
 13239  // SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
 13240  func (s *GetIntegrationOutput) SetPayloadFormatVersion(v string) *GetIntegrationOutput {
 13241  	s.PayloadFormatVersion = &v
 13242  	return s
 13243  }
 13244  
 13245  // SetRequestParameters sets the RequestParameters field's value.
 13246  func (s *GetIntegrationOutput) SetRequestParameters(v map[string]*string) *GetIntegrationOutput {
 13247  	s.RequestParameters = v
 13248  	return s
 13249  }
 13250  
 13251  // SetRequestTemplates sets the RequestTemplates field's value.
 13252  func (s *GetIntegrationOutput) SetRequestTemplates(v map[string]*string) *GetIntegrationOutput {
 13253  	s.RequestTemplates = v
 13254  	return s
 13255  }
 13256  
 13257  // SetResponseParameters sets the ResponseParameters field's value.
 13258  func (s *GetIntegrationOutput) SetResponseParameters(v map[string]map[string]*string) *GetIntegrationOutput {
 13259  	s.ResponseParameters = v
 13260  	return s
 13261  }
 13262  
 13263  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 13264  func (s *GetIntegrationOutput) SetTemplateSelectionExpression(v string) *GetIntegrationOutput {
 13265  	s.TemplateSelectionExpression = &v
 13266  	return s
 13267  }
 13268  
 13269  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
 13270  func (s *GetIntegrationOutput) SetTimeoutInMillis(v int64) *GetIntegrationOutput {
 13271  	s.TimeoutInMillis = &v
 13272  	return s
 13273  }
 13274  
 13275  // SetTlsConfig sets the TlsConfig field's value.
 13276  func (s *GetIntegrationOutput) SetTlsConfig(v *TlsConfig) *GetIntegrationOutput {
 13277  	s.TlsConfig = v
 13278  	return s
 13279  }
 13280  
 13281  type GetIntegrationResponseInput struct {
 13282  	_ struct{} `type:"structure" nopayload:"true"`
 13283  
 13284  	// ApiId is a required field
 13285  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 13286  
 13287  	// IntegrationId is a required field
 13288  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
 13289  
 13290  	// IntegrationResponseId is a required field
 13291  	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
 13292  }
 13293  
 13294  // String returns the string representation.
 13295  //
 13296  // API parameter values that are decorated as "sensitive" in the API will not
 13297  // be included in the string output. The member name will be present, but the
 13298  // value will be replaced with "sensitive".
 13299  func (s GetIntegrationResponseInput) String() string {
 13300  	return awsutil.Prettify(s)
 13301  }
 13302  
 13303  // GoString returns the string representation.
 13304  //
 13305  // API parameter values that are decorated as "sensitive" in the API will not
 13306  // be included in the string output. The member name will be present, but the
 13307  // value will be replaced with "sensitive".
 13308  func (s GetIntegrationResponseInput) GoString() string {
 13309  	return s.String()
 13310  }
 13311  
 13312  // Validate inspects the fields of the type to determine if they are valid.
 13313  func (s *GetIntegrationResponseInput) Validate() error {
 13314  	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponseInput"}
 13315  	if s.ApiId == nil {
 13316  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 13317  	}
 13318  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 13319  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 13320  	}
 13321  	if s.IntegrationId == nil {
 13322  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
 13323  	}
 13324  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
 13325  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
 13326  	}
 13327  	if s.IntegrationResponseId == nil {
 13328  		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
 13329  	}
 13330  	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
 13331  		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
 13332  	}
 13333  
 13334  	if invalidParams.Len() > 0 {
 13335  		return invalidParams
 13336  	}
 13337  	return nil
 13338  }
 13339  
 13340  // SetApiId sets the ApiId field's value.
 13341  func (s *GetIntegrationResponseInput) SetApiId(v string) *GetIntegrationResponseInput {
 13342  	s.ApiId = &v
 13343  	return s
 13344  }
 13345  
 13346  // SetIntegrationId sets the IntegrationId field's value.
 13347  func (s *GetIntegrationResponseInput) SetIntegrationId(v string) *GetIntegrationResponseInput {
 13348  	s.IntegrationId = &v
 13349  	return s
 13350  }
 13351  
 13352  // SetIntegrationResponseId sets the IntegrationResponseId field's value.
 13353  func (s *GetIntegrationResponseInput) SetIntegrationResponseId(v string) *GetIntegrationResponseInput {
 13354  	s.IntegrationResponseId = &v
 13355  	return s
 13356  }
 13357  
 13358  type GetIntegrationResponseOutput struct {
 13359  	_ struct{} `type:"structure"`
 13360  
 13361  	// Specifies how to handle response payload content type conversions. Supported
 13362  	// only for WebSocket APIs.
 13363  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 13364  
 13365  	// The identifier.
 13366  	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
 13367  
 13368  	// After evaluating a selection expression, the result is compared against one
 13369  	// or more selection keys to find a matching key. See Selection Expressions
 13370  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 13371  	// for a list of expressions and each expression's associated selection key
 13372  	// type.
 13373  	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
 13374  
 13375  	// For WebSocket APIs, a key-value map specifying request parameters that are
 13376  	// passed from the method request to the backend. The key is an integration
 13377  	// request parameter name and the associated value is a method request parameter
 13378  	// value or static value that must be enclosed within single quotes and pre-encoded
 13379  	// as required by the backend. The method request parameter value must match
 13380  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
 13381  	// path, or header; and {name} must be a valid and unique method request parameter
 13382  	// name.
 13383  	//
 13384  	// For HTTP API integrations with a specified integrationSubtype, request parameters
 13385  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
 13386  	// You can provide static values, or map request data, stage variables, or context
 13387  	// variables that are evaluated at runtime. To learn more, see Working with
 13388  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
 13389  	//
 13390  	// For HTTP API integrations without a specified integrationSubtype request
 13391  	// parameters are a key-value map specifying how to transform HTTP requests
 13392  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
 13393  	// where action can be append, overwrite or remove. For values, you can provide
 13394  	// static values, or map request data, stage variables, or context variables
 13395  	// that are evaluated at runtime. To learn more, see Transforming API requests
 13396  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 13397  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 13398  
 13399  	// A mapping of identifier keys to templates. The value is an actual template
 13400  	// script. The key is typically a SelectionKey which is chosen based on evaluating
 13401  	// a selection expression.
 13402  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 13403  
 13404  	// An expression used to extract information at runtime. See Selection Expressions
 13405  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 13406  	// for more information.
 13407  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 13408  }
 13409  
 13410  // String returns the string representation.
 13411  //
 13412  // API parameter values that are decorated as "sensitive" in the API will not
 13413  // be included in the string output. The member name will be present, but the
 13414  // value will be replaced with "sensitive".
 13415  func (s GetIntegrationResponseOutput) String() string {
 13416  	return awsutil.Prettify(s)
 13417  }
 13418  
 13419  // GoString returns the string representation.
 13420  //
 13421  // API parameter values that are decorated as "sensitive" in the API will not
 13422  // be included in the string output. The member name will be present, but the
 13423  // value will be replaced with "sensitive".
 13424  func (s GetIntegrationResponseOutput) GoString() string {
 13425  	return s.String()
 13426  }
 13427  
 13428  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 13429  func (s *GetIntegrationResponseOutput) SetContentHandlingStrategy(v string) *GetIntegrationResponseOutput {
 13430  	s.ContentHandlingStrategy = &v
 13431  	return s
 13432  }
 13433  
 13434  // SetIntegrationResponseId sets the IntegrationResponseId field's value.
 13435  func (s *GetIntegrationResponseOutput) SetIntegrationResponseId(v string) *GetIntegrationResponseOutput {
 13436  	s.IntegrationResponseId = &v
 13437  	return s
 13438  }
 13439  
 13440  // SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
 13441  func (s *GetIntegrationResponseOutput) SetIntegrationResponseKey(v string) *GetIntegrationResponseOutput {
 13442  	s.IntegrationResponseKey = &v
 13443  	return s
 13444  }
 13445  
 13446  // SetResponseParameters sets the ResponseParameters field's value.
 13447  func (s *GetIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *GetIntegrationResponseOutput {
 13448  	s.ResponseParameters = v
 13449  	return s
 13450  }
 13451  
 13452  // SetResponseTemplates sets the ResponseTemplates field's value.
 13453  func (s *GetIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *GetIntegrationResponseOutput {
 13454  	s.ResponseTemplates = v
 13455  	return s
 13456  }
 13457  
 13458  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 13459  func (s *GetIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *GetIntegrationResponseOutput {
 13460  	s.TemplateSelectionExpression = &v
 13461  	return s
 13462  }
 13463  
 13464  type GetIntegrationResponsesInput struct {
 13465  	_ struct{} `type:"structure" nopayload:"true"`
 13466  
 13467  	// ApiId is a required field
 13468  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 13469  
 13470  	// IntegrationId is a required field
 13471  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
 13472  
 13473  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 13474  
 13475  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 13476  }
 13477  
 13478  // String returns the string representation.
 13479  //
 13480  // API parameter values that are decorated as "sensitive" in the API will not
 13481  // be included in the string output. The member name will be present, but the
 13482  // value will be replaced with "sensitive".
 13483  func (s GetIntegrationResponsesInput) String() string {
 13484  	return awsutil.Prettify(s)
 13485  }
 13486  
 13487  // GoString returns the string representation.
 13488  //
 13489  // API parameter values that are decorated as "sensitive" in the API will not
 13490  // be included in the string output. The member name will be present, but the
 13491  // value will be replaced with "sensitive".
 13492  func (s GetIntegrationResponsesInput) GoString() string {
 13493  	return s.String()
 13494  }
 13495  
 13496  // Validate inspects the fields of the type to determine if they are valid.
 13497  func (s *GetIntegrationResponsesInput) Validate() error {
 13498  	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationResponsesInput"}
 13499  	if s.ApiId == nil {
 13500  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 13501  	}
 13502  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 13503  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 13504  	}
 13505  	if s.IntegrationId == nil {
 13506  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
 13507  	}
 13508  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
 13509  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
 13510  	}
 13511  
 13512  	if invalidParams.Len() > 0 {
 13513  		return invalidParams
 13514  	}
 13515  	return nil
 13516  }
 13517  
 13518  // SetApiId sets the ApiId field's value.
 13519  func (s *GetIntegrationResponsesInput) SetApiId(v string) *GetIntegrationResponsesInput {
 13520  	s.ApiId = &v
 13521  	return s
 13522  }
 13523  
 13524  // SetIntegrationId sets the IntegrationId field's value.
 13525  func (s *GetIntegrationResponsesInput) SetIntegrationId(v string) *GetIntegrationResponsesInput {
 13526  	s.IntegrationId = &v
 13527  	return s
 13528  }
 13529  
 13530  // SetMaxResults sets the MaxResults field's value.
 13531  func (s *GetIntegrationResponsesInput) SetMaxResults(v string) *GetIntegrationResponsesInput {
 13532  	s.MaxResults = &v
 13533  	return s
 13534  }
 13535  
 13536  // SetNextToken sets the NextToken field's value.
 13537  func (s *GetIntegrationResponsesInput) SetNextToken(v string) *GetIntegrationResponsesInput {
 13538  	s.NextToken = &v
 13539  	return s
 13540  }
 13541  
 13542  type GetIntegrationResponsesOutput struct {
 13543  	_ struct{} `type:"structure"`
 13544  
 13545  	Items []*IntegrationResponse `locationName:"items" type:"list"`
 13546  
 13547  	// The next page of elements from this collection. Not valid for the last element
 13548  	// of the collection.
 13549  	NextToken *string `locationName:"nextToken" type:"string"`
 13550  }
 13551  
 13552  // String returns the string representation.
 13553  //
 13554  // API parameter values that are decorated as "sensitive" in the API will not
 13555  // be included in the string output. The member name will be present, but the
 13556  // value will be replaced with "sensitive".
 13557  func (s GetIntegrationResponsesOutput) String() string {
 13558  	return awsutil.Prettify(s)
 13559  }
 13560  
 13561  // GoString returns the string representation.
 13562  //
 13563  // API parameter values that are decorated as "sensitive" in the API will not
 13564  // be included in the string output. The member name will be present, but the
 13565  // value will be replaced with "sensitive".
 13566  func (s GetIntegrationResponsesOutput) GoString() string {
 13567  	return s.String()
 13568  }
 13569  
 13570  // SetItems sets the Items field's value.
 13571  func (s *GetIntegrationResponsesOutput) SetItems(v []*IntegrationResponse) *GetIntegrationResponsesOutput {
 13572  	s.Items = v
 13573  	return s
 13574  }
 13575  
 13576  // SetNextToken sets the NextToken field's value.
 13577  func (s *GetIntegrationResponsesOutput) SetNextToken(v string) *GetIntegrationResponsesOutput {
 13578  	s.NextToken = &v
 13579  	return s
 13580  }
 13581  
 13582  type GetIntegrationsInput struct {
 13583  	_ struct{} `type:"structure" nopayload:"true"`
 13584  
 13585  	// ApiId is a required field
 13586  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 13587  
 13588  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 13589  
 13590  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 13591  }
 13592  
 13593  // String returns the string representation.
 13594  //
 13595  // API parameter values that are decorated as "sensitive" in the API will not
 13596  // be included in the string output. The member name will be present, but the
 13597  // value will be replaced with "sensitive".
 13598  func (s GetIntegrationsInput) String() string {
 13599  	return awsutil.Prettify(s)
 13600  }
 13601  
 13602  // GoString returns the string representation.
 13603  //
 13604  // API parameter values that are decorated as "sensitive" in the API will not
 13605  // be included in the string output. The member name will be present, but the
 13606  // value will be replaced with "sensitive".
 13607  func (s GetIntegrationsInput) GoString() string {
 13608  	return s.String()
 13609  }
 13610  
 13611  // Validate inspects the fields of the type to determine if they are valid.
 13612  func (s *GetIntegrationsInput) Validate() error {
 13613  	invalidParams := request.ErrInvalidParams{Context: "GetIntegrationsInput"}
 13614  	if s.ApiId == nil {
 13615  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 13616  	}
 13617  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 13618  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 13619  	}
 13620  
 13621  	if invalidParams.Len() > 0 {
 13622  		return invalidParams
 13623  	}
 13624  	return nil
 13625  }
 13626  
 13627  // SetApiId sets the ApiId field's value.
 13628  func (s *GetIntegrationsInput) SetApiId(v string) *GetIntegrationsInput {
 13629  	s.ApiId = &v
 13630  	return s
 13631  }
 13632  
 13633  // SetMaxResults sets the MaxResults field's value.
 13634  func (s *GetIntegrationsInput) SetMaxResults(v string) *GetIntegrationsInput {
 13635  	s.MaxResults = &v
 13636  	return s
 13637  }
 13638  
 13639  // SetNextToken sets the NextToken field's value.
 13640  func (s *GetIntegrationsInput) SetNextToken(v string) *GetIntegrationsInput {
 13641  	s.NextToken = &v
 13642  	return s
 13643  }
 13644  
 13645  type GetIntegrationsOutput struct {
 13646  	_ struct{} `type:"structure"`
 13647  
 13648  	Items []*Integration `locationName:"items" type:"list"`
 13649  
 13650  	// The next page of elements from this collection. Not valid for the last element
 13651  	// of the collection.
 13652  	NextToken *string `locationName:"nextToken" type:"string"`
 13653  }
 13654  
 13655  // String returns the string representation.
 13656  //
 13657  // API parameter values that are decorated as "sensitive" in the API will not
 13658  // be included in the string output. The member name will be present, but the
 13659  // value will be replaced with "sensitive".
 13660  func (s GetIntegrationsOutput) String() string {
 13661  	return awsutil.Prettify(s)
 13662  }
 13663  
 13664  // GoString returns the string representation.
 13665  //
 13666  // API parameter values that are decorated as "sensitive" in the API will not
 13667  // be included in the string output. The member name will be present, but the
 13668  // value will be replaced with "sensitive".
 13669  func (s GetIntegrationsOutput) GoString() string {
 13670  	return s.String()
 13671  }
 13672  
 13673  // SetItems sets the Items field's value.
 13674  func (s *GetIntegrationsOutput) SetItems(v []*Integration) *GetIntegrationsOutput {
 13675  	s.Items = v
 13676  	return s
 13677  }
 13678  
 13679  // SetNextToken sets the NextToken field's value.
 13680  func (s *GetIntegrationsOutput) SetNextToken(v string) *GetIntegrationsOutput {
 13681  	s.NextToken = &v
 13682  	return s
 13683  }
 13684  
 13685  type GetModelInput struct {
 13686  	_ struct{} `type:"structure" nopayload:"true"`
 13687  
 13688  	// ApiId is a required field
 13689  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 13690  
 13691  	// ModelId is a required field
 13692  	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
 13693  }
 13694  
 13695  // String returns the string representation.
 13696  //
 13697  // API parameter values that are decorated as "sensitive" in the API will not
 13698  // be included in the string output. The member name will be present, but the
 13699  // value will be replaced with "sensitive".
 13700  func (s GetModelInput) String() string {
 13701  	return awsutil.Prettify(s)
 13702  }
 13703  
 13704  // GoString returns the string representation.
 13705  //
 13706  // API parameter values that are decorated as "sensitive" in the API will not
 13707  // be included in the string output. The member name will be present, but the
 13708  // value will be replaced with "sensitive".
 13709  func (s GetModelInput) GoString() string {
 13710  	return s.String()
 13711  }
 13712  
 13713  // Validate inspects the fields of the type to determine if they are valid.
 13714  func (s *GetModelInput) Validate() error {
 13715  	invalidParams := request.ErrInvalidParams{Context: "GetModelInput"}
 13716  	if s.ApiId == nil {
 13717  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 13718  	}
 13719  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 13720  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 13721  	}
 13722  	if s.ModelId == nil {
 13723  		invalidParams.Add(request.NewErrParamRequired("ModelId"))
 13724  	}
 13725  	if s.ModelId != nil && len(*s.ModelId) < 1 {
 13726  		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
 13727  	}
 13728  
 13729  	if invalidParams.Len() > 0 {
 13730  		return invalidParams
 13731  	}
 13732  	return nil
 13733  }
 13734  
 13735  // SetApiId sets the ApiId field's value.
 13736  func (s *GetModelInput) SetApiId(v string) *GetModelInput {
 13737  	s.ApiId = &v
 13738  	return s
 13739  }
 13740  
 13741  // SetModelId sets the ModelId field's value.
 13742  func (s *GetModelInput) SetModelId(v string) *GetModelInput {
 13743  	s.ModelId = &v
 13744  	return s
 13745  }
 13746  
 13747  type GetModelOutput struct {
 13748  	_ struct{} `type:"structure"`
 13749  
 13750  	// A string with a length between [1-256].
 13751  	ContentType *string `locationName:"contentType" type:"string"`
 13752  
 13753  	// A string with a length between [0-1024].
 13754  	Description *string `locationName:"description" type:"string"`
 13755  
 13756  	// The identifier.
 13757  	ModelId *string `locationName:"modelId" type:"string"`
 13758  
 13759  	// A string with a length between [1-128].
 13760  	Name *string `locationName:"name" type:"string"`
 13761  
 13762  	// A string with a length between [0-32768].
 13763  	Schema *string `locationName:"schema" type:"string"`
 13764  }
 13765  
 13766  // String returns the string representation.
 13767  //
 13768  // API parameter values that are decorated as "sensitive" in the API will not
 13769  // be included in the string output. The member name will be present, but the
 13770  // value will be replaced with "sensitive".
 13771  func (s GetModelOutput) String() string {
 13772  	return awsutil.Prettify(s)
 13773  }
 13774  
 13775  // GoString returns the string representation.
 13776  //
 13777  // API parameter values that are decorated as "sensitive" in the API will not
 13778  // be included in the string output. The member name will be present, but the
 13779  // value will be replaced with "sensitive".
 13780  func (s GetModelOutput) GoString() string {
 13781  	return s.String()
 13782  }
 13783  
 13784  // SetContentType sets the ContentType field's value.
 13785  func (s *GetModelOutput) SetContentType(v string) *GetModelOutput {
 13786  	s.ContentType = &v
 13787  	return s
 13788  }
 13789  
 13790  // SetDescription sets the Description field's value.
 13791  func (s *GetModelOutput) SetDescription(v string) *GetModelOutput {
 13792  	s.Description = &v
 13793  	return s
 13794  }
 13795  
 13796  // SetModelId sets the ModelId field's value.
 13797  func (s *GetModelOutput) SetModelId(v string) *GetModelOutput {
 13798  	s.ModelId = &v
 13799  	return s
 13800  }
 13801  
 13802  // SetName sets the Name field's value.
 13803  func (s *GetModelOutput) SetName(v string) *GetModelOutput {
 13804  	s.Name = &v
 13805  	return s
 13806  }
 13807  
 13808  // SetSchema sets the Schema field's value.
 13809  func (s *GetModelOutput) SetSchema(v string) *GetModelOutput {
 13810  	s.Schema = &v
 13811  	return s
 13812  }
 13813  
 13814  type GetModelTemplateInput struct {
 13815  	_ struct{} `type:"structure" nopayload:"true"`
 13816  
 13817  	// ApiId is a required field
 13818  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 13819  
 13820  	// ModelId is a required field
 13821  	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
 13822  }
 13823  
 13824  // String returns the string representation.
 13825  //
 13826  // API parameter values that are decorated as "sensitive" in the API will not
 13827  // be included in the string output. The member name will be present, but the
 13828  // value will be replaced with "sensitive".
 13829  func (s GetModelTemplateInput) String() string {
 13830  	return awsutil.Prettify(s)
 13831  }
 13832  
 13833  // GoString returns the string representation.
 13834  //
 13835  // API parameter values that are decorated as "sensitive" in the API will not
 13836  // be included in the string output. The member name will be present, but the
 13837  // value will be replaced with "sensitive".
 13838  func (s GetModelTemplateInput) GoString() string {
 13839  	return s.String()
 13840  }
 13841  
 13842  // Validate inspects the fields of the type to determine if they are valid.
 13843  func (s *GetModelTemplateInput) Validate() error {
 13844  	invalidParams := request.ErrInvalidParams{Context: "GetModelTemplateInput"}
 13845  	if s.ApiId == nil {
 13846  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 13847  	}
 13848  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 13849  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 13850  	}
 13851  	if s.ModelId == nil {
 13852  		invalidParams.Add(request.NewErrParamRequired("ModelId"))
 13853  	}
 13854  	if s.ModelId != nil && len(*s.ModelId) < 1 {
 13855  		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
 13856  	}
 13857  
 13858  	if invalidParams.Len() > 0 {
 13859  		return invalidParams
 13860  	}
 13861  	return nil
 13862  }
 13863  
 13864  // SetApiId sets the ApiId field's value.
 13865  func (s *GetModelTemplateInput) SetApiId(v string) *GetModelTemplateInput {
 13866  	s.ApiId = &v
 13867  	return s
 13868  }
 13869  
 13870  // SetModelId sets the ModelId field's value.
 13871  func (s *GetModelTemplateInput) SetModelId(v string) *GetModelTemplateInput {
 13872  	s.ModelId = &v
 13873  	return s
 13874  }
 13875  
 13876  type GetModelTemplateOutput struct {
 13877  	_ struct{} `type:"structure"`
 13878  
 13879  	Value *string `locationName:"value" type:"string"`
 13880  }
 13881  
 13882  // String returns the string representation.
 13883  //
 13884  // API parameter values that are decorated as "sensitive" in the API will not
 13885  // be included in the string output. The member name will be present, but the
 13886  // value will be replaced with "sensitive".
 13887  func (s GetModelTemplateOutput) String() string {
 13888  	return awsutil.Prettify(s)
 13889  }
 13890  
 13891  // GoString returns the string representation.
 13892  //
 13893  // API parameter values that are decorated as "sensitive" in the API will not
 13894  // be included in the string output. The member name will be present, but the
 13895  // value will be replaced with "sensitive".
 13896  func (s GetModelTemplateOutput) GoString() string {
 13897  	return s.String()
 13898  }
 13899  
 13900  // SetValue sets the Value field's value.
 13901  func (s *GetModelTemplateOutput) SetValue(v string) *GetModelTemplateOutput {
 13902  	s.Value = &v
 13903  	return s
 13904  }
 13905  
 13906  type GetModelsInput struct {
 13907  	_ struct{} `type:"structure" nopayload:"true"`
 13908  
 13909  	// ApiId is a required field
 13910  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 13911  
 13912  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 13913  
 13914  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 13915  }
 13916  
 13917  // String returns the string representation.
 13918  //
 13919  // API parameter values that are decorated as "sensitive" in the API will not
 13920  // be included in the string output. The member name will be present, but the
 13921  // value will be replaced with "sensitive".
 13922  func (s GetModelsInput) String() string {
 13923  	return awsutil.Prettify(s)
 13924  }
 13925  
 13926  // GoString returns the string representation.
 13927  //
 13928  // API parameter values that are decorated as "sensitive" in the API will not
 13929  // be included in the string output. The member name will be present, but the
 13930  // value will be replaced with "sensitive".
 13931  func (s GetModelsInput) GoString() string {
 13932  	return s.String()
 13933  }
 13934  
 13935  // Validate inspects the fields of the type to determine if they are valid.
 13936  func (s *GetModelsInput) Validate() error {
 13937  	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
 13938  	if s.ApiId == nil {
 13939  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 13940  	}
 13941  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 13942  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 13943  	}
 13944  
 13945  	if invalidParams.Len() > 0 {
 13946  		return invalidParams
 13947  	}
 13948  	return nil
 13949  }
 13950  
 13951  // SetApiId sets the ApiId field's value.
 13952  func (s *GetModelsInput) SetApiId(v string) *GetModelsInput {
 13953  	s.ApiId = &v
 13954  	return s
 13955  }
 13956  
 13957  // SetMaxResults sets the MaxResults field's value.
 13958  func (s *GetModelsInput) SetMaxResults(v string) *GetModelsInput {
 13959  	s.MaxResults = &v
 13960  	return s
 13961  }
 13962  
 13963  // SetNextToken sets the NextToken field's value.
 13964  func (s *GetModelsInput) SetNextToken(v string) *GetModelsInput {
 13965  	s.NextToken = &v
 13966  	return s
 13967  }
 13968  
 13969  type GetModelsOutput struct {
 13970  	_ struct{} `type:"structure"`
 13971  
 13972  	Items []*Model `locationName:"items" type:"list"`
 13973  
 13974  	// The next page of elements from this collection. Not valid for the last element
 13975  	// of the collection.
 13976  	NextToken *string `locationName:"nextToken" type:"string"`
 13977  }
 13978  
 13979  // String returns the string representation.
 13980  //
 13981  // API parameter values that are decorated as "sensitive" in the API will not
 13982  // be included in the string output. The member name will be present, but the
 13983  // value will be replaced with "sensitive".
 13984  func (s GetModelsOutput) String() string {
 13985  	return awsutil.Prettify(s)
 13986  }
 13987  
 13988  // GoString returns the string representation.
 13989  //
 13990  // API parameter values that are decorated as "sensitive" in the API will not
 13991  // be included in the string output. The member name will be present, but the
 13992  // value will be replaced with "sensitive".
 13993  func (s GetModelsOutput) GoString() string {
 13994  	return s.String()
 13995  }
 13996  
 13997  // SetItems sets the Items field's value.
 13998  func (s *GetModelsOutput) SetItems(v []*Model) *GetModelsOutput {
 13999  	s.Items = v
 14000  	return s
 14001  }
 14002  
 14003  // SetNextToken sets the NextToken field's value.
 14004  func (s *GetModelsOutput) SetNextToken(v string) *GetModelsOutput {
 14005  	s.NextToken = &v
 14006  	return s
 14007  }
 14008  
 14009  type GetRouteInput struct {
 14010  	_ struct{} `type:"structure" nopayload:"true"`
 14011  
 14012  	// ApiId is a required field
 14013  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 14014  
 14015  	// RouteId is a required field
 14016  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 14017  }
 14018  
 14019  // String returns the string representation.
 14020  //
 14021  // API parameter values that are decorated as "sensitive" in the API will not
 14022  // be included in the string output. The member name will be present, but the
 14023  // value will be replaced with "sensitive".
 14024  func (s GetRouteInput) String() string {
 14025  	return awsutil.Prettify(s)
 14026  }
 14027  
 14028  // GoString returns the string representation.
 14029  //
 14030  // API parameter values that are decorated as "sensitive" in the API will not
 14031  // be included in the string output. The member name will be present, but the
 14032  // value will be replaced with "sensitive".
 14033  func (s GetRouteInput) GoString() string {
 14034  	return s.String()
 14035  }
 14036  
 14037  // Validate inspects the fields of the type to determine if they are valid.
 14038  func (s *GetRouteInput) Validate() error {
 14039  	invalidParams := request.ErrInvalidParams{Context: "GetRouteInput"}
 14040  	if s.ApiId == nil {
 14041  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 14042  	}
 14043  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 14044  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 14045  	}
 14046  	if s.RouteId == nil {
 14047  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 14048  	}
 14049  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 14050  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 14051  	}
 14052  
 14053  	if invalidParams.Len() > 0 {
 14054  		return invalidParams
 14055  	}
 14056  	return nil
 14057  }
 14058  
 14059  // SetApiId sets the ApiId field's value.
 14060  func (s *GetRouteInput) SetApiId(v string) *GetRouteInput {
 14061  	s.ApiId = &v
 14062  	return s
 14063  }
 14064  
 14065  // SetRouteId sets the RouteId field's value.
 14066  func (s *GetRouteInput) SetRouteId(v string) *GetRouteInput {
 14067  	s.RouteId = &v
 14068  	return s
 14069  }
 14070  
 14071  type GetRouteOutput struct {
 14072  	_ struct{} `type:"structure"`
 14073  
 14074  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 14075  
 14076  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
 14077  
 14078  	// A list of authorization scopes configured on a route. The scopes are used
 14079  	// with a JWT authorizer to authorize the method invocation. The authorization
 14080  	// works by matching the route scopes against the scopes parsed from the access
 14081  	// token in the incoming request. The method invocation is authorized if any
 14082  	// route scope matches a claimed scope in the access token. Otherwise, the invocation
 14083  	// is not authorized. When the route scope is configured, the client must provide
 14084  	// an access token instead of an identity token for authorization purposes.
 14085  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
 14086  
 14087  	// The authorization type. For WebSocket APIs, valid values are NONE for open
 14088  	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
 14089  	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
 14090  	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
 14091  	// for using a Lambda authorizer.
 14092  	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
 14093  
 14094  	// The identifier.
 14095  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 14096  
 14097  	// An expression used to extract information at runtime. See Selection Expressions
 14098  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 14099  	// for more information.
 14100  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 14101  
 14102  	// A string with a length between [1-64].
 14103  	OperationName *string `locationName:"operationName" type:"string"`
 14104  
 14105  	// The route models.
 14106  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
 14107  
 14108  	// The route parameters.
 14109  	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
 14110  
 14111  	// The identifier.
 14112  	RouteId *string `locationName:"routeId" type:"string"`
 14113  
 14114  	// After evaluating a selection expression, the result is compared against one
 14115  	// or more selection keys to find a matching key. See Selection Expressions
 14116  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 14117  	// for a list of expressions and each expression's associated selection key
 14118  	// type.
 14119  	RouteKey *string `locationName:"routeKey" type:"string"`
 14120  
 14121  	// An expression used to extract information at runtime. See Selection Expressions
 14122  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 14123  	// for more information.
 14124  	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
 14125  
 14126  	// A string with a length between [1-128].
 14127  	Target *string `locationName:"target" type:"string"`
 14128  }
 14129  
 14130  // String returns the string representation.
 14131  //
 14132  // API parameter values that are decorated as "sensitive" in the API will not
 14133  // be included in the string output. The member name will be present, but the
 14134  // value will be replaced with "sensitive".
 14135  func (s GetRouteOutput) String() string {
 14136  	return awsutil.Prettify(s)
 14137  }
 14138  
 14139  // GoString returns the string representation.
 14140  //
 14141  // API parameter values that are decorated as "sensitive" in the API will not
 14142  // be included in the string output. The member name will be present, but the
 14143  // value will be replaced with "sensitive".
 14144  func (s GetRouteOutput) GoString() string {
 14145  	return s.String()
 14146  }
 14147  
 14148  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 14149  func (s *GetRouteOutput) SetApiGatewayManaged(v bool) *GetRouteOutput {
 14150  	s.ApiGatewayManaged = &v
 14151  	return s
 14152  }
 14153  
 14154  // SetApiKeyRequired sets the ApiKeyRequired field's value.
 14155  func (s *GetRouteOutput) SetApiKeyRequired(v bool) *GetRouteOutput {
 14156  	s.ApiKeyRequired = &v
 14157  	return s
 14158  }
 14159  
 14160  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
 14161  func (s *GetRouteOutput) SetAuthorizationScopes(v []*string) *GetRouteOutput {
 14162  	s.AuthorizationScopes = v
 14163  	return s
 14164  }
 14165  
 14166  // SetAuthorizationType sets the AuthorizationType field's value.
 14167  func (s *GetRouteOutput) SetAuthorizationType(v string) *GetRouteOutput {
 14168  	s.AuthorizationType = &v
 14169  	return s
 14170  }
 14171  
 14172  // SetAuthorizerId sets the AuthorizerId field's value.
 14173  func (s *GetRouteOutput) SetAuthorizerId(v string) *GetRouteOutput {
 14174  	s.AuthorizerId = &v
 14175  	return s
 14176  }
 14177  
 14178  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 14179  func (s *GetRouteOutput) SetModelSelectionExpression(v string) *GetRouteOutput {
 14180  	s.ModelSelectionExpression = &v
 14181  	return s
 14182  }
 14183  
 14184  // SetOperationName sets the OperationName field's value.
 14185  func (s *GetRouteOutput) SetOperationName(v string) *GetRouteOutput {
 14186  	s.OperationName = &v
 14187  	return s
 14188  }
 14189  
 14190  // SetRequestModels sets the RequestModels field's value.
 14191  func (s *GetRouteOutput) SetRequestModels(v map[string]*string) *GetRouteOutput {
 14192  	s.RequestModels = v
 14193  	return s
 14194  }
 14195  
 14196  // SetRequestParameters sets the RequestParameters field's value.
 14197  func (s *GetRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *GetRouteOutput {
 14198  	s.RequestParameters = v
 14199  	return s
 14200  }
 14201  
 14202  // SetRouteId sets the RouteId field's value.
 14203  func (s *GetRouteOutput) SetRouteId(v string) *GetRouteOutput {
 14204  	s.RouteId = &v
 14205  	return s
 14206  }
 14207  
 14208  // SetRouteKey sets the RouteKey field's value.
 14209  func (s *GetRouteOutput) SetRouteKey(v string) *GetRouteOutput {
 14210  	s.RouteKey = &v
 14211  	return s
 14212  }
 14213  
 14214  // SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
 14215  func (s *GetRouteOutput) SetRouteResponseSelectionExpression(v string) *GetRouteOutput {
 14216  	s.RouteResponseSelectionExpression = &v
 14217  	return s
 14218  }
 14219  
 14220  // SetTarget sets the Target field's value.
 14221  func (s *GetRouteOutput) SetTarget(v string) *GetRouteOutput {
 14222  	s.Target = &v
 14223  	return s
 14224  }
 14225  
 14226  type GetRouteResponseInput struct {
 14227  	_ struct{} `type:"structure" nopayload:"true"`
 14228  
 14229  	// ApiId is a required field
 14230  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 14231  
 14232  	// RouteId is a required field
 14233  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 14234  
 14235  	// RouteResponseId is a required field
 14236  	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
 14237  }
 14238  
 14239  // String returns the string representation.
 14240  //
 14241  // API parameter values that are decorated as "sensitive" in the API will not
 14242  // be included in the string output. The member name will be present, but the
 14243  // value will be replaced with "sensitive".
 14244  func (s GetRouteResponseInput) String() string {
 14245  	return awsutil.Prettify(s)
 14246  }
 14247  
 14248  // GoString returns the string representation.
 14249  //
 14250  // API parameter values that are decorated as "sensitive" in the API will not
 14251  // be included in the string output. The member name will be present, but the
 14252  // value will be replaced with "sensitive".
 14253  func (s GetRouteResponseInput) GoString() string {
 14254  	return s.String()
 14255  }
 14256  
 14257  // Validate inspects the fields of the type to determine if they are valid.
 14258  func (s *GetRouteResponseInput) Validate() error {
 14259  	invalidParams := request.ErrInvalidParams{Context: "GetRouteResponseInput"}
 14260  	if s.ApiId == nil {
 14261  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 14262  	}
 14263  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 14264  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 14265  	}
 14266  	if s.RouteId == nil {
 14267  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 14268  	}
 14269  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 14270  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 14271  	}
 14272  	if s.RouteResponseId == nil {
 14273  		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
 14274  	}
 14275  	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
 14276  		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
 14277  	}
 14278  
 14279  	if invalidParams.Len() > 0 {
 14280  		return invalidParams
 14281  	}
 14282  	return nil
 14283  }
 14284  
 14285  // SetApiId sets the ApiId field's value.
 14286  func (s *GetRouteResponseInput) SetApiId(v string) *GetRouteResponseInput {
 14287  	s.ApiId = &v
 14288  	return s
 14289  }
 14290  
 14291  // SetRouteId sets the RouteId field's value.
 14292  func (s *GetRouteResponseInput) SetRouteId(v string) *GetRouteResponseInput {
 14293  	s.RouteId = &v
 14294  	return s
 14295  }
 14296  
 14297  // SetRouteResponseId sets the RouteResponseId field's value.
 14298  func (s *GetRouteResponseInput) SetRouteResponseId(v string) *GetRouteResponseInput {
 14299  	s.RouteResponseId = &v
 14300  	return s
 14301  }
 14302  
 14303  type GetRouteResponseOutput struct {
 14304  	_ struct{} `type:"structure"`
 14305  
 14306  	// An expression used to extract information at runtime. See Selection Expressions
 14307  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 14308  	// for more information.
 14309  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 14310  
 14311  	// The route models.
 14312  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
 14313  
 14314  	// The route parameters.
 14315  	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
 14316  
 14317  	// The identifier.
 14318  	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
 14319  
 14320  	// After evaluating a selection expression, the result is compared against one
 14321  	// or more selection keys to find a matching key. See Selection Expressions
 14322  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 14323  	// for a list of expressions and each expression's associated selection key
 14324  	// type.
 14325  	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
 14326  }
 14327  
 14328  // String returns the string representation.
 14329  //
 14330  // API parameter values that are decorated as "sensitive" in the API will not
 14331  // be included in the string output. The member name will be present, but the
 14332  // value will be replaced with "sensitive".
 14333  func (s GetRouteResponseOutput) String() string {
 14334  	return awsutil.Prettify(s)
 14335  }
 14336  
 14337  // GoString returns the string representation.
 14338  //
 14339  // API parameter values that are decorated as "sensitive" in the API will not
 14340  // be included in the string output. The member name will be present, but the
 14341  // value will be replaced with "sensitive".
 14342  func (s GetRouteResponseOutput) GoString() string {
 14343  	return s.String()
 14344  }
 14345  
 14346  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 14347  func (s *GetRouteResponseOutput) SetModelSelectionExpression(v string) *GetRouteResponseOutput {
 14348  	s.ModelSelectionExpression = &v
 14349  	return s
 14350  }
 14351  
 14352  // SetResponseModels sets the ResponseModels field's value.
 14353  func (s *GetRouteResponseOutput) SetResponseModels(v map[string]*string) *GetRouteResponseOutput {
 14354  	s.ResponseModels = v
 14355  	return s
 14356  }
 14357  
 14358  // SetResponseParameters sets the ResponseParameters field's value.
 14359  func (s *GetRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *GetRouteResponseOutput {
 14360  	s.ResponseParameters = v
 14361  	return s
 14362  }
 14363  
 14364  // SetRouteResponseId sets the RouteResponseId field's value.
 14365  func (s *GetRouteResponseOutput) SetRouteResponseId(v string) *GetRouteResponseOutput {
 14366  	s.RouteResponseId = &v
 14367  	return s
 14368  }
 14369  
 14370  // SetRouteResponseKey sets the RouteResponseKey field's value.
 14371  func (s *GetRouteResponseOutput) SetRouteResponseKey(v string) *GetRouteResponseOutput {
 14372  	s.RouteResponseKey = &v
 14373  	return s
 14374  }
 14375  
 14376  type GetRouteResponsesInput struct {
 14377  	_ struct{} `type:"structure" nopayload:"true"`
 14378  
 14379  	// ApiId is a required field
 14380  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 14381  
 14382  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 14383  
 14384  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 14385  
 14386  	// RouteId is a required field
 14387  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 14388  }
 14389  
 14390  // String 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 GetRouteResponsesInput) String() string {
 14396  	return awsutil.Prettify(s)
 14397  }
 14398  
 14399  // GoString returns the string representation.
 14400  //
 14401  // API parameter values that are decorated as "sensitive" in the API will not
 14402  // be included in the string output. The member name will be present, but the
 14403  // value will be replaced with "sensitive".
 14404  func (s GetRouteResponsesInput) GoString() string {
 14405  	return s.String()
 14406  }
 14407  
 14408  // Validate inspects the fields of the type to determine if they are valid.
 14409  func (s *GetRouteResponsesInput) Validate() error {
 14410  	invalidParams := request.ErrInvalidParams{Context: "GetRouteResponsesInput"}
 14411  	if s.ApiId == nil {
 14412  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 14413  	}
 14414  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 14415  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 14416  	}
 14417  	if s.RouteId == nil {
 14418  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 14419  	}
 14420  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 14421  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 14422  	}
 14423  
 14424  	if invalidParams.Len() > 0 {
 14425  		return invalidParams
 14426  	}
 14427  	return nil
 14428  }
 14429  
 14430  // SetApiId sets the ApiId field's value.
 14431  func (s *GetRouteResponsesInput) SetApiId(v string) *GetRouteResponsesInput {
 14432  	s.ApiId = &v
 14433  	return s
 14434  }
 14435  
 14436  // SetMaxResults sets the MaxResults field's value.
 14437  func (s *GetRouteResponsesInput) SetMaxResults(v string) *GetRouteResponsesInput {
 14438  	s.MaxResults = &v
 14439  	return s
 14440  }
 14441  
 14442  // SetNextToken sets the NextToken field's value.
 14443  func (s *GetRouteResponsesInput) SetNextToken(v string) *GetRouteResponsesInput {
 14444  	s.NextToken = &v
 14445  	return s
 14446  }
 14447  
 14448  // SetRouteId sets the RouteId field's value.
 14449  func (s *GetRouteResponsesInput) SetRouteId(v string) *GetRouteResponsesInput {
 14450  	s.RouteId = &v
 14451  	return s
 14452  }
 14453  
 14454  type GetRouteResponsesOutput struct {
 14455  	_ struct{} `type:"structure"`
 14456  
 14457  	Items []*RouteResponse `locationName:"items" type:"list"`
 14458  
 14459  	// The next page of elements from this collection. Not valid for the last element
 14460  	// of the collection.
 14461  	NextToken *string `locationName:"nextToken" type:"string"`
 14462  }
 14463  
 14464  // String returns the string representation.
 14465  //
 14466  // API parameter values that are decorated as "sensitive" in the API will not
 14467  // be included in the string output. The member name will be present, but the
 14468  // value will be replaced with "sensitive".
 14469  func (s GetRouteResponsesOutput) String() string {
 14470  	return awsutil.Prettify(s)
 14471  }
 14472  
 14473  // GoString returns the string representation.
 14474  //
 14475  // API parameter values that are decorated as "sensitive" in the API will not
 14476  // be included in the string output. The member name will be present, but the
 14477  // value will be replaced with "sensitive".
 14478  func (s GetRouteResponsesOutput) GoString() string {
 14479  	return s.String()
 14480  }
 14481  
 14482  // SetItems sets the Items field's value.
 14483  func (s *GetRouteResponsesOutput) SetItems(v []*RouteResponse) *GetRouteResponsesOutput {
 14484  	s.Items = v
 14485  	return s
 14486  }
 14487  
 14488  // SetNextToken sets the NextToken field's value.
 14489  func (s *GetRouteResponsesOutput) SetNextToken(v string) *GetRouteResponsesOutput {
 14490  	s.NextToken = &v
 14491  	return s
 14492  }
 14493  
 14494  type GetRoutesInput struct {
 14495  	_ struct{} `type:"structure" nopayload:"true"`
 14496  
 14497  	// ApiId is a required field
 14498  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 14499  
 14500  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 14501  
 14502  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 14503  }
 14504  
 14505  // String returns the string representation.
 14506  //
 14507  // API parameter values that are decorated as "sensitive" in the API will not
 14508  // be included in the string output. The member name will be present, but the
 14509  // value will be replaced with "sensitive".
 14510  func (s GetRoutesInput) String() string {
 14511  	return awsutil.Prettify(s)
 14512  }
 14513  
 14514  // GoString 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 GetRoutesInput) GoString() string {
 14520  	return s.String()
 14521  }
 14522  
 14523  // Validate inspects the fields of the type to determine if they are valid.
 14524  func (s *GetRoutesInput) Validate() error {
 14525  	invalidParams := request.ErrInvalidParams{Context: "GetRoutesInput"}
 14526  	if s.ApiId == nil {
 14527  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 14528  	}
 14529  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 14530  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 14531  	}
 14532  
 14533  	if invalidParams.Len() > 0 {
 14534  		return invalidParams
 14535  	}
 14536  	return nil
 14537  }
 14538  
 14539  // SetApiId sets the ApiId field's value.
 14540  func (s *GetRoutesInput) SetApiId(v string) *GetRoutesInput {
 14541  	s.ApiId = &v
 14542  	return s
 14543  }
 14544  
 14545  // SetMaxResults sets the MaxResults field's value.
 14546  func (s *GetRoutesInput) SetMaxResults(v string) *GetRoutesInput {
 14547  	s.MaxResults = &v
 14548  	return s
 14549  }
 14550  
 14551  // SetNextToken sets the NextToken field's value.
 14552  func (s *GetRoutesInput) SetNextToken(v string) *GetRoutesInput {
 14553  	s.NextToken = &v
 14554  	return s
 14555  }
 14556  
 14557  type GetRoutesOutput struct {
 14558  	_ struct{} `type:"structure"`
 14559  
 14560  	Items []*Route `locationName:"items" type:"list"`
 14561  
 14562  	// The next page of elements from this collection. Not valid for the last element
 14563  	// of the collection.
 14564  	NextToken *string `locationName:"nextToken" type:"string"`
 14565  }
 14566  
 14567  // String returns the string representation.
 14568  //
 14569  // API parameter values that are decorated as "sensitive" in the API will not
 14570  // be included in the string output. The member name will be present, but the
 14571  // value will be replaced with "sensitive".
 14572  func (s GetRoutesOutput) String() string {
 14573  	return awsutil.Prettify(s)
 14574  }
 14575  
 14576  // GoString returns the string representation.
 14577  //
 14578  // API parameter values that are decorated as "sensitive" in the API will not
 14579  // be included in the string output. The member name will be present, but the
 14580  // value will be replaced with "sensitive".
 14581  func (s GetRoutesOutput) GoString() string {
 14582  	return s.String()
 14583  }
 14584  
 14585  // SetItems sets the Items field's value.
 14586  func (s *GetRoutesOutput) SetItems(v []*Route) *GetRoutesOutput {
 14587  	s.Items = v
 14588  	return s
 14589  }
 14590  
 14591  // SetNextToken sets the NextToken field's value.
 14592  func (s *GetRoutesOutput) SetNextToken(v string) *GetRoutesOutput {
 14593  	s.NextToken = &v
 14594  	return s
 14595  }
 14596  
 14597  type GetStageInput struct {
 14598  	_ struct{} `type:"structure" nopayload:"true"`
 14599  
 14600  	// ApiId is a required field
 14601  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 14602  
 14603  	// StageName is a required field
 14604  	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
 14605  }
 14606  
 14607  // String returns the string representation.
 14608  //
 14609  // API parameter values that are decorated as "sensitive" in the API will not
 14610  // be included in the string output. The member name will be present, but the
 14611  // value will be replaced with "sensitive".
 14612  func (s GetStageInput) String() string {
 14613  	return awsutil.Prettify(s)
 14614  }
 14615  
 14616  // GoString returns the string representation.
 14617  //
 14618  // API parameter values that are decorated as "sensitive" in the API will not
 14619  // be included in the string output. The member name will be present, but the
 14620  // value will be replaced with "sensitive".
 14621  func (s GetStageInput) GoString() string {
 14622  	return s.String()
 14623  }
 14624  
 14625  // Validate inspects the fields of the type to determine if they are valid.
 14626  func (s *GetStageInput) Validate() error {
 14627  	invalidParams := request.ErrInvalidParams{Context: "GetStageInput"}
 14628  	if s.ApiId == nil {
 14629  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 14630  	}
 14631  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 14632  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 14633  	}
 14634  	if s.StageName == nil {
 14635  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 14636  	}
 14637  	if s.StageName != nil && len(*s.StageName) < 1 {
 14638  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 14639  	}
 14640  
 14641  	if invalidParams.Len() > 0 {
 14642  		return invalidParams
 14643  	}
 14644  	return nil
 14645  }
 14646  
 14647  // SetApiId sets the ApiId field's value.
 14648  func (s *GetStageInput) SetApiId(v string) *GetStageInput {
 14649  	s.ApiId = &v
 14650  	return s
 14651  }
 14652  
 14653  // SetStageName sets the StageName field's value.
 14654  func (s *GetStageInput) SetStageName(v string) *GetStageInput {
 14655  	s.StageName = &v
 14656  	return s
 14657  }
 14658  
 14659  type GetStageOutput struct {
 14660  	_ struct{} `type:"structure"`
 14661  
 14662  	// Settings for logging access in a stage.
 14663  	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
 14664  
 14665  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 14666  
 14667  	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
 14668  
 14669  	// The identifier.
 14670  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
 14671  
 14672  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 14673  
 14674  	// Represents a collection of route settings.
 14675  	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
 14676  
 14677  	// The identifier.
 14678  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 14679  
 14680  	// A string with a length between [0-1024].
 14681  	Description *string `locationName:"description" type:"string"`
 14682  
 14683  	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
 14684  
 14685  	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
 14686  
 14687  	// The route settings map.
 14688  	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
 14689  
 14690  	// A string with a length between [1-128].
 14691  	StageName *string `locationName:"stageName" type:"string"`
 14692  
 14693  	// The stage variable map.
 14694  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
 14695  
 14696  	// Represents a collection of tags associated with the resource.
 14697  	Tags map[string]*string `locationName:"tags" type:"map"`
 14698  }
 14699  
 14700  // String returns the string representation.
 14701  //
 14702  // API parameter values that are decorated as "sensitive" in the API will not
 14703  // be included in the string output. The member name will be present, but the
 14704  // value will be replaced with "sensitive".
 14705  func (s GetStageOutput) String() string {
 14706  	return awsutil.Prettify(s)
 14707  }
 14708  
 14709  // GoString returns the string representation.
 14710  //
 14711  // API parameter values that are decorated as "sensitive" in the API will not
 14712  // be included in the string output. The member name will be present, but the
 14713  // value will be replaced with "sensitive".
 14714  func (s GetStageOutput) GoString() string {
 14715  	return s.String()
 14716  }
 14717  
 14718  // SetAccessLogSettings sets the AccessLogSettings field's value.
 14719  func (s *GetStageOutput) SetAccessLogSettings(v *AccessLogSettings) *GetStageOutput {
 14720  	s.AccessLogSettings = v
 14721  	return s
 14722  }
 14723  
 14724  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 14725  func (s *GetStageOutput) SetApiGatewayManaged(v bool) *GetStageOutput {
 14726  	s.ApiGatewayManaged = &v
 14727  	return s
 14728  }
 14729  
 14730  // SetAutoDeploy sets the AutoDeploy field's value.
 14731  func (s *GetStageOutput) SetAutoDeploy(v bool) *GetStageOutput {
 14732  	s.AutoDeploy = &v
 14733  	return s
 14734  }
 14735  
 14736  // SetClientCertificateId sets the ClientCertificateId field's value.
 14737  func (s *GetStageOutput) SetClientCertificateId(v string) *GetStageOutput {
 14738  	s.ClientCertificateId = &v
 14739  	return s
 14740  }
 14741  
 14742  // SetCreatedDate sets the CreatedDate field's value.
 14743  func (s *GetStageOutput) SetCreatedDate(v time.Time) *GetStageOutput {
 14744  	s.CreatedDate = &v
 14745  	return s
 14746  }
 14747  
 14748  // SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
 14749  func (s *GetStageOutput) SetDefaultRouteSettings(v *RouteSettings) *GetStageOutput {
 14750  	s.DefaultRouteSettings = v
 14751  	return s
 14752  }
 14753  
 14754  // SetDeploymentId sets the DeploymentId field's value.
 14755  func (s *GetStageOutput) SetDeploymentId(v string) *GetStageOutput {
 14756  	s.DeploymentId = &v
 14757  	return s
 14758  }
 14759  
 14760  // SetDescription sets the Description field's value.
 14761  func (s *GetStageOutput) SetDescription(v string) *GetStageOutput {
 14762  	s.Description = &v
 14763  	return s
 14764  }
 14765  
 14766  // SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
 14767  func (s *GetStageOutput) SetLastDeploymentStatusMessage(v string) *GetStageOutput {
 14768  	s.LastDeploymentStatusMessage = &v
 14769  	return s
 14770  }
 14771  
 14772  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
 14773  func (s *GetStageOutput) SetLastUpdatedDate(v time.Time) *GetStageOutput {
 14774  	s.LastUpdatedDate = &v
 14775  	return s
 14776  }
 14777  
 14778  // SetRouteSettings sets the RouteSettings field's value.
 14779  func (s *GetStageOutput) SetRouteSettings(v map[string]*RouteSettings) *GetStageOutput {
 14780  	s.RouteSettings = v
 14781  	return s
 14782  }
 14783  
 14784  // SetStageName sets the StageName field's value.
 14785  func (s *GetStageOutput) SetStageName(v string) *GetStageOutput {
 14786  	s.StageName = &v
 14787  	return s
 14788  }
 14789  
 14790  // SetStageVariables sets the StageVariables field's value.
 14791  func (s *GetStageOutput) SetStageVariables(v map[string]*string) *GetStageOutput {
 14792  	s.StageVariables = v
 14793  	return s
 14794  }
 14795  
 14796  // SetTags sets the Tags field's value.
 14797  func (s *GetStageOutput) SetTags(v map[string]*string) *GetStageOutput {
 14798  	s.Tags = v
 14799  	return s
 14800  }
 14801  
 14802  type GetStagesInput struct {
 14803  	_ struct{} `type:"structure" nopayload:"true"`
 14804  
 14805  	// ApiId is a required field
 14806  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 14807  
 14808  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 14809  
 14810  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 14811  }
 14812  
 14813  // String returns the string representation.
 14814  //
 14815  // API parameter values that are decorated as "sensitive" in the API will not
 14816  // be included in the string output. The member name will be present, but the
 14817  // value will be replaced with "sensitive".
 14818  func (s GetStagesInput) String() string {
 14819  	return awsutil.Prettify(s)
 14820  }
 14821  
 14822  // GoString returns the string representation.
 14823  //
 14824  // API parameter values that are decorated as "sensitive" in the API will not
 14825  // be included in the string output. The member name will be present, but the
 14826  // value will be replaced with "sensitive".
 14827  func (s GetStagesInput) GoString() string {
 14828  	return s.String()
 14829  }
 14830  
 14831  // Validate inspects the fields of the type to determine if they are valid.
 14832  func (s *GetStagesInput) Validate() error {
 14833  	invalidParams := request.ErrInvalidParams{Context: "GetStagesInput"}
 14834  	if s.ApiId == nil {
 14835  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 14836  	}
 14837  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 14838  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 14839  	}
 14840  
 14841  	if invalidParams.Len() > 0 {
 14842  		return invalidParams
 14843  	}
 14844  	return nil
 14845  }
 14846  
 14847  // SetApiId sets the ApiId field's value.
 14848  func (s *GetStagesInput) SetApiId(v string) *GetStagesInput {
 14849  	s.ApiId = &v
 14850  	return s
 14851  }
 14852  
 14853  // SetMaxResults sets the MaxResults field's value.
 14854  func (s *GetStagesInput) SetMaxResults(v string) *GetStagesInput {
 14855  	s.MaxResults = &v
 14856  	return s
 14857  }
 14858  
 14859  // SetNextToken sets the NextToken field's value.
 14860  func (s *GetStagesInput) SetNextToken(v string) *GetStagesInput {
 14861  	s.NextToken = &v
 14862  	return s
 14863  }
 14864  
 14865  type GetStagesOutput struct {
 14866  	_ struct{} `type:"structure"`
 14867  
 14868  	Items []*Stage `locationName:"items" type:"list"`
 14869  
 14870  	// The next page of elements from this collection. Not valid for the last element
 14871  	// of the collection.
 14872  	NextToken *string `locationName:"nextToken" type:"string"`
 14873  }
 14874  
 14875  // String returns the string representation.
 14876  //
 14877  // API parameter values that are decorated as "sensitive" in the API will not
 14878  // be included in the string output. The member name will be present, but the
 14879  // value will be replaced with "sensitive".
 14880  func (s GetStagesOutput) String() string {
 14881  	return awsutil.Prettify(s)
 14882  }
 14883  
 14884  // GoString returns the string representation.
 14885  //
 14886  // API parameter values that are decorated as "sensitive" in the API will not
 14887  // be included in the string output. The member name will be present, but the
 14888  // value will be replaced with "sensitive".
 14889  func (s GetStagesOutput) GoString() string {
 14890  	return s.String()
 14891  }
 14892  
 14893  // SetItems sets the Items field's value.
 14894  func (s *GetStagesOutput) SetItems(v []*Stage) *GetStagesOutput {
 14895  	s.Items = v
 14896  	return s
 14897  }
 14898  
 14899  // SetNextToken sets the NextToken field's value.
 14900  func (s *GetStagesOutput) SetNextToken(v string) *GetStagesOutput {
 14901  	s.NextToken = &v
 14902  	return s
 14903  }
 14904  
 14905  type GetTagsInput struct {
 14906  	_ struct{} `type:"structure" nopayload:"true"`
 14907  
 14908  	// ResourceArn is a required field
 14909  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 14910  }
 14911  
 14912  // String returns the string representation.
 14913  //
 14914  // API parameter values that are decorated as "sensitive" in the API will not
 14915  // be included in the string output. The member name will be present, but the
 14916  // value will be replaced with "sensitive".
 14917  func (s GetTagsInput) String() string {
 14918  	return awsutil.Prettify(s)
 14919  }
 14920  
 14921  // GoString returns the string representation.
 14922  //
 14923  // API parameter values that are decorated as "sensitive" in the API will not
 14924  // be included in the string output. The member name will be present, but the
 14925  // value will be replaced with "sensitive".
 14926  func (s GetTagsInput) GoString() string {
 14927  	return s.String()
 14928  }
 14929  
 14930  // Validate inspects the fields of the type to determine if they are valid.
 14931  func (s *GetTagsInput) Validate() error {
 14932  	invalidParams := request.ErrInvalidParams{Context: "GetTagsInput"}
 14933  	if s.ResourceArn == nil {
 14934  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14935  	}
 14936  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 14937  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 14938  	}
 14939  
 14940  	if invalidParams.Len() > 0 {
 14941  		return invalidParams
 14942  	}
 14943  	return nil
 14944  }
 14945  
 14946  // SetResourceArn sets the ResourceArn field's value.
 14947  func (s *GetTagsInput) SetResourceArn(v string) *GetTagsInput {
 14948  	s.ResourceArn = &v
 14949  	return s
 14950  }
 14951  
 14952  type GetTagsOutput struct {
 14953  	_ struct{} `type:"structure"`
 14954  
 14955  	// Represents a collection of tags associated with the resource.
 14956  	Tags map[string]*string `locationName:"tags" type:"map"`
 14957  }
 14958  
 14959  // String returns the string representation.
 14960  //
 14961  // API parameter values that are decorated as "sensitive" in the API will not
 14962  // be included in the string output. The member name will be present, but the
 14963  // value will be replaced with "sensitive".
 14964  func (s GetTagsOutput) String() string {
 14965  	return awsutil.Prettify(s)
 14966  }
 14967  
 14968  // GoString returns the string representation.
 14969  //
 14970  // API parameter values that are decorated as "sensitive" in the API will not
 14971  // be included in the string output. The member name will be present, but the
 14972  // value will be replaced with "sensitive".
 14973  func (s GetTagsOutput) GoString() string {
 14974  	return s.String()
 14975  }
 14976  
 14977  // SetTags sets the Tags field's value.
 14978  func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput {
 14979  	s.Tags = v
 14980  	return s
 14981  }
 14982  
 14983  type GetVpcLinkInput struct {
 14984  	_ struct{} `type:"structure" nopayload:"true"`
 14985  
 14986  	// VpcLinkId is a required field
 14987  	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
 14988  }
 14989  
 14990  // String returns the string representation.
 14991  //
 14992  // API parameter values that are decorated as "sensitive" in the API will not
 14993  // be included in the string output. The member name will be present, but the
 14994  // value will be replaced with "sensitive".
 14995  func (s GetVpcLinkInput) String() string {
 14996  	return awsutil.Prettify(s)
 14997  }
 14998  
 14999  // GoString returns the string representation.
 15000  //
 15001  // API parameter values that are decorated as "sensitive" in the API will not
 15002  // be included in the string output. The member name will be present, but the
 15003  // value will be replaced with "sensitive".
 15004  func (s GetVpcLinkInput) GoString() string {
 15005  	return s.String()
 15006  }
 15007  
 15008  // Validate inspects the fields of the type to determine if they are valid.
 15009  func (s *GetVpcLinkInput) Validate() error {
 15010  	invalidParams := request.ErrInvalidParams{Context: "GetVpcLinkInput"}
 15011  	if s.VpcLinkId == nil {
 15012  		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
 15013  	}
 15014  	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
 15015  		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
 15016  	}
 15017  
 15018  	if invalidParams.Len() > 0 {
 15019  		return invalidParams
 15020  	}
 15021  	return nil
 15022  }
 15023  
 15024  // SetVpcLinkId sets the VpcLinkId field's value.
 15025  func (s *GetVpcLinkInput) SetVpcLinkId(v string) *GetVpcLinkInput {
 15026  	s.VpcLinkId = &v
 15027  	return s
 15028  }
 15029  
 15030  type GetVpcLinkOutput struct {
 15031  	_ struct{} `type:"structure"`
 15032  
 15033  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 15034  
 15035  	// A string with a length between [1-128].
 15036  	Name *string `locationName:"name" type:"string"`
 15037  
 15038  	// A list of security group IDs for the VPC link.
 15039  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
 15040  
 15041  	// A list of subnet IDs to include in the VPC link.
 15042  	SubnetIds []*string `locationName:"subnetIds" type:"list"`
 15043  
 15044  	// Represents a collection of tags associated with the resource.
 15045  	Tags map[string]*string `locationName:"tags" type:"map"`
 15046  
 15047  	// The identifier.
 15048  	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
 15049  
 15050  	// The status of the VPC link.
 15051  	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
 15052  
 15053  	// A string with a length between [0-1024].
 15054  	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
 15055  
 15056  	// The version of the VPC link.
 15057  	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
 15058  }
 15059  
 15060  // String returns the string representation.
 15061  //
 15062  // API parameter values that are decorated as "sensitive" in the API will not
 15063  // be included in the string output. The member name will be present, but the
 15064  // value will be replaced with "sensitive".
 15065  func (s GetVpcLinkOutput) String() string {
 15066  	return awsutil.Prettify(s)
 15067  }
 15068  
 15069  // GoString returns the string representation.
 15070  //
 15071  // API parameter values that are decorated as "sensitive" in the API will not
 15072  // be included in the string output. The member name will be present, but the
 15073  // value will be replaced with "sensitive".
 15074  func (s GetVpcLinkOutput) GoString() string {
 15075  	return s.String()
 15076  }
 15077  
 15078  // SetCreatedDate sets the CreatedDate field's value.
 15079  func (s *GetVpcLinkOutput) SetCreatedDate(v time.Time) *GetVpcLinkOutput {
 15080  	s.CreatedDate = &v
 15081  	return s
 15082  }
 15083  
 15084  // SetName sets the Name field's value.
 15085  func (s *GetVpcLinkOutput) SetName(v string) *GetVpcLinkOutput {
 15086  	s.Name = &v
 15087  	return s
 15088  }
 15089  
 15090  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 15091  func (s *GetVpcLinkOutput) SetSecurityGroupIds(v []*string) *GetVpcLinkOutput {
 15092  	s.SecurityGroupIds = v
 15093  	return s
 15094  }
 15095  
 15096  // SetSubnetIds sets the SubnetIds field's value.
 15097  func (s *GetVpcLinkOutput) SetSubnetIds(v []*string) *GetVpcLinkOutput {
 15098  	s.SubnetIds = v
 15099  	return s
 15100  }
 15101  
 15102  // SetTags sets the Tags field's value.
 15103  func (s *GetVpcLinkOutput) SetTags(v map[string]*string) *GetVpcLinkOutput {
 15104  	s.Tags = v
 15105  	return s
 15106  }
 15107  
 15108  // SetVpcLinkId sets the VpcLinkId field's value.
 15109  func (s *GetVpcLinkOutput) SetVpcLinkId(v string) *GetVpcLinkOutput {
 15110  	s.VpcLinkId = &v
 15111  	return s
 15112  }
 15113  
 15114  // SetVpcLinkStatus sets the VpcLinkStatus field's value.
 15115  func (s *GetVpcLinkOutput) SetVpcLinkStatus(v string) *GetVpcLinkOutput {
 15116  	s.VpcLinkStatus = &v
 15117  	return s
 15118  }
 15119  
 15120  // SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
 15121  func (s *GetVpcLinkOutput) SetVpcLinkStatusMessage(v string) *GetVpcLinkOutput {
 15122  	s.VpcLinkStatusMessage = &v
 15123  	return s
 15124  }
 15125  
 15126  // SetVpcLinkVersion sets the VpcLinkVersion field's value.
 15127  func (s *GetVpcLinkOutput) SetVpcLinkVersion(v string) *GetVpcLinkOutput {
 15128  	s.VpcLinkVersion = &v
 15129  	return s
 15130  }
 15131  
 15132  type GetVpcLinksInput struct {
 15133  	_ struct{} `type:"structure" nopayload:"true"`
 15134  
 15135  	MaxResults *string `location:"querystring" locationName:"maxResults" type:"string"`
 15136  
 15137  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 15138  }
 15139  
 15140  // String returns the string representation.
 15141  //
 15142  // API parameter values that are decorated as "sensitive" in the API will not
 15143  // be included in the string output. The member name will be present, but the
 15144  // value will be replaced with "sensitive".
 15145  func (s GetVpcLinksInput) String() string {
 15146  	return awsutil.Prettify(s)
 15147  }
 15148  
 15149  // GoString returns the string representation.
 15150  //
 15151  // API parameter values that are decorated as "sensitive" in the API will not
 15152  // be included in the string output. The member name will be present, but the
 15153  // value will be replaced with "sensitive".
 15154  func (s GetVpcLinksInput) GoString() string {
 15155  	return s.String()
 15156  }
 15157  
 15158  // SetMaxResults sets the MaxResults field's value.
 15159  func (s *GetVpcLinksInput) SetMaxResults(v string) *GetVpcLinksInput {
 15160  	s.MaxResults = &v
 15161  	return s
 15162  }
 15163  
 15164  // SetNextToken sets the NextToken field's value.
 15165  func (s *GetVpcLinksInput) SetNextToken(v string) *GetVpcLinksInput {
 15166  	s.NextToken = &v
 15167  	return s
 15168  }
 15169  
 15170  type GetVpcLinksOutput struct {
 15171  	_ struct{} `type:"structure"`
 15172  
 15173  	Items []*VpcLink `locationName:"items" type:"list"`
 15174  
 15175  	// The next page of elements from this collection. Not valid for the last element
 15176  	// of the collection.
 15177  	NextToken *string `locationName:"nextToken" type:"string"`
 15178  }
 15179  
 15180  // String returns the string representation.
 15181  //
 15182  // API parameter values that are decorated as "sensitive" in the API will not
 15183  // be included in the string output. The member name will be present, but the
 15184  // value will be replaced with "sensitive".
 15185  func (s GetVpcLinksOutput) String() string {
 15186  	return awsutil.Prettify(s)
 15187  }
 15188  
 15189  // GoString returns the string representation.
 15190  //
 15191  // API parameter values that are decorated as "sensitive" in the API will not
 15192  // be included in the string output. The member name will be present, but the
 15193  // value will be replaced with "sensitive".
 15194  func (s GetVpcLinksOutput) GoString() string {
 15195  	return s.String()
 15196  }
 15197  
 15198  // SetItems sets the Items field's value.
 15199  func (s *GetVpcLinksOutput) SetItems(v []*VpcLink) *GetVpcLinksOutput {
 15200  	s.Items = v
 15201  	return s
 15202  }
 15203  
 15204  // SetNextToken sets the NextToken field's value.
 15205  func (s *GetVpcLinksOutput) SetNextToken(v string) *GetVpcLinksOutput {
 15206  	s.NextToken = &v
 15207  	return s
 15208  }
 15209  
 15210  type ImportApiInput struct {
 15211  	_ struct{} `type:"structure"`
 15212  
 15213  	Basepath *string `location:"querystring" locationName:"basepath" type:"string"`
 15214  
 15215  	// Body is a required field
 15216  	Body *string `locationName:"body" type:"string" required:"true"`
 15217  
 15218  	FailOnWarnings *bool `location:"querystring" locationName:"failOnWarnings" type:"boolean"`
 15219  }
 15220  
 15221  // String returns the string representation.
 15222  //
 15223  // API parameter values that are decorated as "sensitive" in the API will not
 15224  // be included in the string output. The member name will be present, but the
 15225  // value will be replaced with "sensitive".
 15226  func (s ImportApiInput) String() string {
 15227  	return awsutil.Prettify(s)
 15228  }
 15229  
 15230  // GoString returns the string representation.
 15231  //
 15232  // API parameter values that are decorated as "sensitive" in the API will not
 15233  // be included in the string output. The member name will be present, but the
 15234  // value will be replaced with "sensitive".
 15235  func (s ImportApiInput) GoString() string {
 15236  	return s.String()
 15237  }
 15238  
 15239  // Validate inspects the fields of the type to determine if they are valid.
 15240  func (s *ImportApiInput) Validate() error {
 15241  	invalidParams := request.ErrInvalidParams{Context: "ImportApiInput"}
 15242  	if s.Body == nil {
 15243  		invalidParams.Add(request.NewErrParamRequired("Body"))
 15244  	}
 15245  
 15246  	if invalidParams.Len() > 0 {
 15247  		return invalidParams
 15248  	}
 15249  	return nil
 15250  }
 15251  
 15252  // SetBasepath sets the Basepath field's value.
 15253  func (s *ImportApiInput) SetBasepath(v string) *ImportApiInput {
 15254  	s.Basepath = &v
 15255  	return s
 15256  }
 15257  
 15258  // SetBody sets the Body field's value.
 15259  func (s *ImportApiInput) SetBody(v string) *ImportApiInput {
 15260  	s.Body = &v
 15261  	return s
 15262  }
 15263  
 15264  // SetFailOnWarnings sets the FailOnWarnings field's value.
 15265  func (s *ImportApiInput) SetFailOnWarnings(v bool) *ImportApiInput {
 15266  	s.FailOnWarnings = &v
 15267  	return s
 15268  }
 15269  
 15270  type ImportApiOutput struct {
 15271  	_ struct{} `type:"structure"`
 15272  
 15273  	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
 15274  
 15275  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 15276  
 15277  	// The identifier.
 15278  	ApiId *string `locationName:"apiId" type:"string"`
 15279  
 15280  	// An expression used to extract information at runtime. See Selection Expressions
 15281  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 15282  	// for more information.
 15283  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
 15284  
 15285  	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
 15286  	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
 15287  	// for more information.
 15288  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
 15289  
 15290  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 15291  
 15292  	// A string with a length between [0-1024].
 15293  	Description *string `locationName:"description" type:"string"`
 15294  
 15295  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
 15296  
 15297  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
 15298  
 15299  	ImportInfo []*string `locationName:"importInfo" type:"list"`
 15300  
 15301  	// A string with a length between [1-128].
 15302  	Name *string `locationName:"name" type:"string"`
 15303  
 15304  	// Represents a protocol type.
 15305  	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
 15306  
 15307  	// An expression used to extract information at runtime. See Selection Expressions
 15308  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 15309  	// for more information.
 15310  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
 15311  
 15312  	// Represents a collection of tags associated with the resource.
 15313  	Tags map[string]*string `locationName:"tags" type:"map"`
 15314  
 15315  	// A string with a length between [1-64].
 15316  	Version *string `locationName:"version" type:"string"`
 15317  
 15318  	Warnings []*string `locationName:"warnings" type:"list"`
 15319  }
 15320  
 15321  // String returns the string representation.
 15322  //
 15323  // API parameter values that are decorated as "sensitive" in the API will not
 15324  // be included in the string output. The member name will be present, but the
 15325  // value will be replaced with "sensitive".
 15326  func (s ImportApiOutput) String() string {
 15327  	return awsutil.Prettify(s)
 15328  }
 15329  
 15330  // GoString returns the string representation.
 15331  //
 15332  // API parameter values that are decorated as "sensitive" in the API will not
 15333  // be included in the string output. The member name will be present, but the
 15334  // value will be replaced with "sensitive".
 15335  func (s ImportApiOutput) GoString() string {
 15336  	return s.String()
 15337  }
 15338  
 15339  // SetApiEndpoint sets the ApiEndpoint field's value.
 15340  func (s *ImportApiOutput) SetApiEndpoint(v string) *ImportApiOutput {
 15341  	s.ApiEndpoint = &v
 15342  	return s
 15343  }
 15344  
 15345  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 15346  func (s *ImportApiOutput) SetApiGatewayManaged(v bool) *ImportApiOutput {
 15347  	s.ApiGatewayManaged = &v
 15348  	return s
 15349  }
 15350  
 15351  // SetApiId sets the ApiId field's value.
 15352  func (s *ImportApiOutput) SetApiId(v string) *ImportApiOutput {
 15353  	s.ApiId = &v
 15354  	return s
 15355  }
 15356  
 15357  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
 15358  func (s *ImportApiOutput) SetApiKeySelectionExpression(v string) *ImportApiOutput {
 15359  	s.ApiKeySelectionExpression = &v
 15360  	return s
 15361  }
 15362  
 15363  // SetCorsConfiguration sets the CorsConfiguration field's value.
 15364  func (s *ImportApiOutput) SetCorsConfiguration(v *Cors) *ImportApiOutput {
 15365  	s.CorsConfiguration = v
 15366  	return s
 15367  }
 15368  
 15369  // SetCreatedDate sets the CreatedDate field's value.
 15370  func (s *ImportApiOutput) SetCreatedDate(v time.Time) *ImportApiOutput {
 15371  	s.CreatedDate = &v
 15372  	return s
 15373  }
 15374  
 15375  // SetDescription sets the Description field's value.
 15376  func (s *ImportApiOutput) SetDescription(v string) *ImportApiOutput {
 15377  	s.Description = &v
 15378  	return s
 15379  }
 15380  
 15381  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
 15382  func (s *ImportApiOutput) SetDisableExecuteApiEndpoint(v bool) *ImportApiOutput {
 15383  	s.DisableExecuteApiEndpoint = &v
 15384  	return s
 15385  }
 15386  
 15387  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
 15388  func (s *ImportApiOutput) SetDisableSchemaValidation(v bool) *ImportApiOutput {
 15389  	s.DisableSchemaValidation = &v
 15390  	return s
 15391  }
 15392  
 15393  // SetImportInfo sets the ImportInfo field's value.
 15394  func (s *ImportApiOutput) SetImportInfo(v []*string) *ImportApiOutput {
 15395  	s.ImportInfo = v
 15396  	return s
 15397  }
 15398  
 15399  // SetName sets the Name field's value.
 15400  func (s *ImportApiOutput) SetName(v string) *ImportApiOutput {
 15401  	s.Name = &v
 15402  	return s
 15403  }
 15404  
 15405  // SetProtocolType sets the ProtocolType field's value.
 15406  func (s *ImportApiOutput) SetProtocolType(v string) *ImportApiOutput {
 15407  	s.ProtocolType = &v
 15408  	return s
 15409  }
 15410  
 15411  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
 15412  func (s *ImportApiOutput) SetRouteSelectionExpression(v string) *ImportApiOutput {
 15413  	s.RouteSelectionExpression = &v
 15414  	return s
 15415  }
 15416  
 15417  // SetTags sets the Tags field's value.
 15418  func (s *ImportApiOutput) SetTags(v map[string]*string) *ImportApiOutput {
 15419  	s.Tags = v
 15420  	return s
 15421  }
 15422  
 15423  // SetVersion sets the Version field's value.
 15424  func (s *ImportApiOutput) SetVersion(v string) *ImportApiOutput {
 15425  	s.Version = &v
 15426  	return s
 15427  }
 15428  
 15429  // SetWarnings sets the Warnings field's value.
 15430  func (s *ImportApiOutput) SetWarnings(v []*string) *ImportApiOutput {
 15431  	s.Warnings = v
 15432  	return s
 15433  }
 15434  
 15435  // Represents an integration.
 15436  type Integration struct {
 15437  	_ struct{} `type:"structure"`
 15438  
 15439  	// Specifies whether an integration is managed by API Gateway. If you created
 15440  	// an API using using quick create, the resulting integration is managed by
 15441  	// API Gateway. You can update a managed integration, but you can't delete it.
 15442  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 15443  
 15444  	// The ID of the VPC link for a private integration. Supported only for HTTP
 15445  	// APIs.
 15446  	ConnectionId *string `locationName:"connectionId" type:"string"`
 15447  
 15448  	// The type of the network connection to the integration endpoint. Specify INTERNET
 15449  	// for connections through the public routable internet or VPC_LINK for private
 15450  	// connections between API Gateway and resources in a VPC. The default value
 15451  	// is INTERNET.
 15452  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
 15453  
 15454  	// Supported only for WebSocket APIs. Specifies how to handle response payload
 15455  	// content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT,
 15456  	// with the following behaviors:
 15457  	//
 15458  	// CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string
 15459  	// to the corresponding binary blob.
 15460  	//
 15461  	// CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded
 15462  	// string.
 15463  	//
 15464  	// If this property is not defined, the response payload will be passed through
 15465  	// from the integration response to the route response or method response without
 15466  	// modification.
 15467  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 15468  
 15469  	// Specifies the credentials required for the integration, if any. For AWS integrations,
 15470  	// three options are available. To specify an IAM Role for API Gateway to assume,
 15471  	// use the role's Amazon Resource Name (ARN). To require that the caller's identity
 15472  	// be passed through from the request, specify the string arn:aws:iam::*:user/*.
 15473  	// To use resource-based permissions on supported AWS services, specify null.
 15474  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
 15475  
 15476  	// Represents the description of an integration.
 15477  	Description *string `locationName:"description" type:"string"`
 15478  
 15479  	// Represents the identifier of an integration.
 15480  	IntegrationId *string `locationName:"integrationId" type:"string"`
 15481  
 15482  	// Specifies the integration's HTTP method type.
 15483  	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
 15484  
 15485  	// The integration response selection expression for the integration. Supported
 15486  	// only for WebSocket APIs. See Integration Response Selection Expressions (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-integration-response-selection-expressions).
 15487  	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
 15488  
 15489  	// Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service
 15490  	// action to invoke. To learn more, see Integration subtype reference (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html).
 15491  	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
 15492  
 15493  	// The integration type of an integration. One of the following:
 15494  	//
 15495  	// AWS: for integrating the route or method request with an AWS service action,
 15496  	// including the Lambda function-invoking action. With the Lambda function-invoking
 15497  	// action, this is referred to as the Lambda custom integration. With any other
 15498  	// AWS service action, this is known as AWS integration. Supported only for
 15499  	// WebSocket APIs.
 15500  	//
 15501  	// AWS_PROXY: for integrating the route or method request with a Lambda function
 15502  	// or other AWS service action. This integration is also referred to as a Lambda
 15503  	// proxy integration.
 15504  	//
 15505  	// HTTP: for integrating the route or method request with an HTTP endpoint.
 15506  	// This integration is also referred to as the HTTP custom integration. Supported
 15507  	// only for WebSocket APIs.
 15508  	//
 15509  	// HTTP_PROXY: for integrating the route or method request with an HTTP endpoint,
 15510  	// with the client request passed through as-is. This is also referred to as
 15511  	// HTTP proxy integration.
 15512  	//
 15513  	// MOCK: for integrating the route or method request with API Gateway as a "loopback"
 15514  	// endpoint without invoking any backend. Supported only for WebSocket APIs.
 15515  	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
 15516  
 15517  	// For a Lambda integration, specify the URI of a Lambda function.
 15518  	//
 15519  	// For an HTTP integration, specify a fully-qualified URL.
 15520  	//
 15521  	// For an HTTP API private integration, specify the ARN of an Application Load
 15522  	// Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
 15523  	// If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances
 15524  	// to identify resources. You can use query parameters to target specific resources.
 15525  	// To learn more, see DiscoverInstances (https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html).
 15526  	// For private integrations, all resources must be owned by the same AWS account.
 15527  	IntegrationUri *string `locationName:"integrationUri" type:"string"`
 15528  
 15529  	// Specifies the pass-through behavior for incoming requests based on the Content-Type
 15530  	// header in the request, and the available mapping templates specified as the
 15531  	// requestTemplates property on the Integration resource. There are three valid
 15532  	// values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket
 15533  	// APIs.
 15534  	//
 15535  	// WHEN_NO_MATCH passes the request body for unmapped content types through
 15536  	// to the integration backend without transformation.
 15537  	//
 15538  	// NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type
 15539  	// response.
 15540  	//
 15541  	// WHEN_NO_TEMPLATES allows pass-through when the integration has no content
 15542  	// types mapped to templates. However, if there is at least one content type
 15543  	// defined, unmapped content types will be rejected with the same HTTP 415 Unsupported
 15544  	// Media Type response.
 15545  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
 15546  
 15547  	// Specifies the format of the payload sent to an integration. Required for
 15548  	// HTTP APIs.
 15549  	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
 15550  
 15551  	// For WebSocket APIs, a key-value map specifying request parameters that are
 15552  	// passed from the method request to the backend. The key is an integration
 15553  	// request parameter name and the associated value is a method request parameter
 15554  	// value or static value that must be enclosed within single quotes and pre-encoded
 15555  	// as required by the backend. The method request parameter value must match
 15556  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
 15557  	// path, or header; and {name} must be a valid and unique method request parameter
 15558  	// name.
 15559  	//
 15560  	// For HTTP API integrations with a specified integrationSubtype, request parameters
 15561  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
 15562  	// You can provide static values, or map request data, stage variables, or context
 15563  	// variables that are evaluated at runtime. To learn more, see Working with
 15564  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
 15565  	//
 15566  	// For HTTP API itegrations, without a specified integrationSubtype request
 15567  	// parameters are a key-value map specifying how to transform HTTP requests
 15568  	// before sending them to backend integrations. The key should follow the pattern
 15569  	// <action>:<header|querystring|path>.<location>. The action can be append,
 15570  	// overwrite or remove. For values, you can provide static values, or map request
 15571  	// data, stage variables, or context variables that are evaluated at runtime.
 15572  	// To learn more, see Transforming API requests and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 15573  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
 15574  
 15575  	// Represents a map of Velocity templates that are applied on the request payload
 15576  	// based on the value of the Content-Type header sent by the client. The content
 15577  	// type value is the key in this map, and the template (as a String) is the
 15578  	// value. Supported only for WebSocket APIs.
 15579  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
 15580  
 15581  	// Supported only for HTTP APIs. You use response parameters to transform the
 15582  	// HTTP response from a backend integration before returning the response to
 15583  	// clients. Specify a key-value map from a selection key to response parameters.
 15584  	// The selection key must be a valid HTTP status code within the range of 200-599.
 15585  	// Response parameters are a key-value map. The key must match pattern <action>:<header>.<location>
 15586  	// or overwrite.statuscode. The action can be append, overwrite or remove. The
 15587  	// value can be a static value, or map to response data, stage variables, or
 15588  	// context variables that are evaluated at runtime. To learn more, see Transforming
 15589  	// API requests and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 15590  	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
 15591  
 15592  	// The template selection expression for the integration. Supported only for
 15593  	// WebSocket APIs.
 15594  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 15595  
 15596  	// Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and
 15597  	// between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is
 15598  	// 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
 15599  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
 15600  
 15601  	// The TLS configuration for a private integration. If you specify a TLS configuration,
 15602  	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
 15603  	// APIs.
 15604  	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
 15605  }
 15606  
 15607  // String returns the string representation.
 15608  //
 15609  // API parameter values that are decorated as "sensitive" in the API will not
 15610  // be included in the string output. The member name will be present, but the
 15611  // value will be replaced with "sensitive".
 15612  func (s Integration) String() string {
 15613  	return awsutil.Prettify(s)
 15614  }
 15615  
 15616  // GoString returns the string representation.
 15617  //
 15618  // API parameter values that are decorated as "sensitive" in the API will not
 15619  // be included in the string output. The member name will be present, but the
 15620  // value will be replaced with "sensitive".
 15621  func (s Integration) GoString() string {
 15622  	return s.String()
 15623  }
 15624  
 15625  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 15626  func (s *Integration) SetApiGatewayManaged(v bool) *Integration {
 15627  	s.ApiGatewayManaged = &v
 15628  	return s
 15629  }
 15630  
 15631  // SetConnectionId sets the ConnectionId field's value.
 15632  func (s *Integration) SetConnectionId(v string) *Integration {
 15633  	s.ConnectionId = &v
 15634  	return s
 15635  }
 15636  
 15637  // SetConnectionType sets the ConnectionType field's value.
 15638  func (s *Integration) SetConnectionType(v string) *Integration {
 15639  	s.ConnectionType = &v
 15640  	return s
 15641  }
 15642  
 15643  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 15644  func (s *Integration) SetContentHandlingStrategy(v string) *Integration {
 15645  	s.ContentHandlingStrategy = &v
 15646  	return s
 15647  }
 15648  
 15649  // SetCredentialsArn sets the CredentialsArn field's value.
 15650  func (s *Integration) SetCredentialsArn(v string) *Integration {
 15651  	s.CredentialsArn = &v
 15652  	return s
 15653  }
 15654  
 15655  // SetDescription sets the Description field's value.
 15656  func (s *Integration) SetDescription(v string) *Integration {
 15657  	s.Description = &v
 15658  	return s
 15659  }
 15660  
 15661  // SetIntegrationId sets the IntegrationId field's value.
 15662  func (s *Integration) SetIntegrationId(v string) *Integration {
 15663  	s.IntegrationId = &v
 15664  	return s
 15665  }
 15666  
 15667  // SetIntegrationMethod sets the IntegrationMethod field's value.
 15668  func (s *Integration) SetIntegrationMethod(v string) *Integration {
 15669  	s.IntegrationMethod = &v
 15670  	return s
 15671  }
 15672  
 15673  // SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
 15674  func (s *Integration) SetIntegrationResponseSelectionExpression(v string) *Integration {
 15675  	s.IntegrationResponseSelectionExpression = &v
 15676  	return s
 15677  }
 15678  
 15679  // SetIntegrationSubtype sets the IntegrationSubtype field's value.
 15680  func (s *Integration) SetIntegrationSubtype(v string) *Integration {
 15681  	s.IntegrationSubtype = &v
 15682  	return s
 15683  }
 15684  
 15685  // SetIntegrationType sets the IntegrationType field's value.
 15686  func (s *Integration) SetIntegrationType(v string) *Integration {
 15687  	s.IntegrationType = &v
 15688  	return s
 15689  }
 15690  
 15691  // SetIntegrationUri sets the IntegrationUri field's value.
 15692  func (s *Integration) SetIntegrationUri(v string) *Integration {
 15693  	s.IntegrationUri = &v
 15694  	return s
 15695  }
 15696  
 15697  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
 15698  func (s *Integration) SetPassthroughBehavior(v string) *Integration {
 15699  	s.PassthroughBehavior = &v
 15700  	return s
 15701  }
 15702  
 15703  // SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
 15704  func (s *Integration) SetPayloadFormatVersion(v string) *Integration {
 15705  	s.PayloadFormatVersion = &v
 15706  	return s
 15707  }
 15708  
 15709  // SetRequestParameters sets the RequestParameters field's value.
 15710  func (s *Integration) SetRequestParameters(v map[string]*string) *Integration {
 15711  	s.RequestParameters = v
 15712  	return s
 15713  }
 15714  
 15715  // SetRequestTemplates sets the RequestTemplates field's value.
 15716  func (s *Integration) SetRequestTemplates(v map[string]*string) *Integration {
 15717  	s.RequestTemplates = v
 15718  	return s
 15719  }
 15720  
 15721  // SetResponseParameters sets the ResponseParameters field's value.
 15722  func (s *Integration) SetResponseParameters(v map[string]map[string]*string) *Integration {
 15723  	s.ResponseParameters = v
 15724  	return s
 15725  }
 15726  
 15727  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 15728  func (s *Integration) SetTemplateSelectionExpression(v string) *Integration {
 15729  	s.TemplateSelectionExpression = &v
 15730  	return s
 15731  }
 15732  
 15733  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
 15734  func (s *Integration) SetTimeoutInMillis(v int64) *Integration {
 15735  	s.TimeoutInMillis = &v
 15736  	return s
 15737  }
 15738  
 15739  // SetTlsConfig sets the TlsConfig field's value.
 15740  func (s *Integration) SetTlsConfig(v *TlsConfig) *Integration {
 15741  	s.TlsConfig = v
 15742  	return s
 15743  }
 15744  
 15745  // Represents an integration response.
 15746  type IntegrationResponse struct {
 15747  	_ struct{} `type:"structure"`
 15748  
 15749  	// Supported only for WebSocket APIs. Specifies how to handle response payload
 15750  	// content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT,
 15751  	// with the following behaviors:
 15752  	//
 15753  	// CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string
 15754  	// to the corresponding binary blob.
 15755  	//
 15756  	// CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded
 15757  	// string.
 15758  	//
 15759  	// If this property is not defined, the response payload will be passed through
 15760  	// from the integration response to the route response or method response without
 15761  	// modification.
 15762  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 15763  
 15764  	// The integration response ID.
 15765  	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
 15766  
 15767  	// The integration response key.
 15768  	//
 15769  	// IntegrationResponseKey is a required field
 15770  	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string" required:"true"`
 15771  
 15772  	// A key-value map specifying response parameters that are passed to the method
 15773  	// response from the backend. The key is a method response header parameter
 15774  	// name and the mapped value is an integration response header value, a static
 15775  	// value enclosed within a pair of single quotes, or a JSON expression from
 15776  	// the integration response body. The mapping key must match the pattern of
 15777  	// method.response.header.{name}, where name is a valid and unique header name.
 15778  	// The mapped non-static value must match the pattern of integration.response.header.{name}
 15779  	// or integration.response.body.{JSON-expression}, where name is a valid and
 15780  	// unique response header name and JSON-expression is a valid JSON expression
 15781  	// without the $ prefix.
 15782  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 15783  
 15784  	// The collection of response templates for the integration response as a string-to-string
 15785  	// map of key-value pairs. Response templates are represented as a key/value
 15786  	// map, with a content-type as the key and a template as the value.
 15787  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 15788  
 15789  	// The template selection expressions for the integration response.
 15790  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 15791  }
 15792  
 15793  // String returns the string representation.
 15794  //
 15795  // API parameter values that are decorated as "sensitive" in the API will not
 15796  // be included in the string output. The member name will be present, but the
 15797  // value will be replaced with "sensitive".
 15798  func (s IntegrationResponse) String() string {
 15799  	return awsutil.Prettify(s)
 15800  }
 15801  
 15802  // GoString returns the string representation.
 15803  //
 15804  // API parameter values that are decorated as "sensitive" in the API will not
 15805  // be included in the string output. The member name will be present, but the
 15806  // value will be replaced with "sensitive".
 15807  func (s IntegrationResponse) GoString() string {
 15808  	return s.String()
 15809  }
 15810  
 15811  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 15812  func (s *IntegrationResponse) SetContentHandlingStrategy(v string) *IntegrationResponse {
 15813  	s.ContentHandlingStrategy = &v
 15814  	return s
 15815  }
 15816  
 15817  // SetIntegrationResponseId sets the IntegrationResponseId field's value.
 15818  func (s *IntegrationResponse) SetIntegrationResponseId(v string) *IntegrationResponse {
 15819  	s.IntegrationResponseId = &v
 15820  	return s
 15821  }
 15822  
 15823  // SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
 15824  func (s *IntegrationResponse) SetIntegrationResponseKey(v string) *IntegrationResponse {
 15825  	s.IntegrationResponseKey = &v
 15826  	return s
 15827  }
 15828  
 15829  // SetResponseParameters sets the ResponseParameters field's value.
 15830  func (s *IntegrationResponse) SetResponseParameters(v map[string]*string) *IntegrationResponse {
 15831  	s.ResponseParameters = v
 15832  	return s
 15833  }
 15834  
 15835  // SetResponseTemplates sets the ResponseTemplates field's value.
 15836  func (s *IntegrationResponse) SetResponseTemplates(v map[string]*string) *IntegrationResponse {
 15837  	s.ResponseTemplates = v
 15838  	return s
 15839  }
 15840  
 15841  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 15842  func (s *IntegrationResponse) SetTemplateSelectionExpression(v string) *IntegrationResponse {
 15843  	s.TemplateSelectionExpression = &v
 15844  	return s
 15845  }
 15846  
 15847  // Represents the configuration of a JWT authorizer. Required for the JWT authorizer
 15848  // type. Supported only for HTTP APIs.
 15849  type JWTConfiguration struct {
 15850  	_ struct{} `type:"structure"`
 15851  
 15852  	// A list of the intended recipients of the JWT. A valid JWT must provide an
 15853  	// aud that matches at least one entry in this list. See RFC 7519 (https://tools.ietf.org/html/rfc7519#section-4.1.3).
 15854  	// Supported only for HTTP APIs.
 15855  	Audience []*string `locationName:"audience" type:"list"`
 15856  
 15857  	// The base domain of the identity provider that issues JSON Web Tokens. For
 15858  	// example, an Amazon Cognito user pool has the following format: https://cognito-idp.{region}.amazonaws.com/{userPoolId}
 15859  	// . Required for the JWT authorizer type. Supported only for HTTP APIs.
 15860  	Issuer *string `locationName:"issuer" type:"string"`
 15861  }
 15862  
 15863  // String returns the string representation.
 15864  //
 15865  // API parameter values that are decorated as "sensitive" in the API will not
 15866  // be included in the string output. The member name will be present, but the
 15867  // value will be replaced with "sensitive".
 15868  func (s JWTConfiguration) String() string {
 15869  	return awsutil.Prettify(s)
 15870  }
 15871  
 15872  // GoString returns the string representation.
 15873  //
 15874  // API parameter values that are decorated as "sensitive" in the API will not
 15875  // be included in the string output. The member name will be present, but the
 15876  // value will be replaced with "sensitive".
 15877  func (s JWTConfiguration) GoString() string {
 15878  	return s.String()
 15879  }
 15880  
 15881  // SetAudience sets the Audience field's value.
 15882  func (s *JWTConfiguration) SetAudience(v []*string) *JWTConfiguration {
 15883  	s.Audience = v
 15884  	return s
 15885  }
 15886  
 15887  // SetIssuer sets the Issuer field's value.
 15888  func (s *JWTConfiguration) SetIssuer(v string) *JWTConfiguration {
 15889  	s.Issuer = &v
 15890  	return s
 15891  }
 15892  
 15893  // Represents a data model for an API. Supported only for WebSocket APIs. See
 15894  // Create Models and Mapping Templates for Request and Response Mappings (https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html).
 15895  type Model struct {
 15896  	_ struct{} `type:"structure"`
 15897  
 15898  	// The content-type for the model, for example, "application/json".
 15899  	ContentType *string `locationName:"contentType" type:"string"`
 15900  
 15901  	// The description of the model.
 15902  	Description *string `locationName:"description" type:"string"`
 15903  
 15904  	// The model identifier.
 15905  	ModelId *string `locationName:"modelId" type:"string"`
 15906  
 15907  	// The name of the model. Must be alphanumeric.
 15908  	//
 15909  	// Name is a required field
 15910  	Name *string `locationName:"name" type:"string" required:"true"`
 15911  
 15912  	// The schema for the model. For application/json models, this should be JSON
 15913  	// schema draft 4 model.
 15914  	Schema *string `locationName:"schema" type:"string"`
 15915  }
 15916  
 15917  // String returns the string representation.
 15918  //
 15919  // API parameter values that are decorated as "sensitive" in the API will not
 15920  // be included in the string output. The member name will be present, but the
 15921  // value will be replaced with "sensitive".
 15922  func (s Model) String() string {
 15923  	return awsutil.Prettify(s)
 15924  }
 15925  
 15926  // GoString returns the string representation.
 15927  //
 15928  // API parameter values that are decorated as "sensitive" in the API will not
 15929  // be included in the string output. The member name will be present, but the
 15930  // value will be replaced with "sensitive".
 15931  func (s Model) GoString() string {
 15932  	return s.String()
 15933  }
 15934  
 15935  // SetContentType sets the ContentType field's value.
 15936  func (s *Model) SetContentType(v string) *Model {
 15937  	s.ContentType = &v
 15938  	return s
 15939  }
 15940  
 15941  // SetDescription sets the Description field's value.
 15942  func (s *Model) SetDescription(v string) *Model {
 15943  	s.Description = &v
 15944  	return s
 15945  }
 15946  
 15947  // SetModelId sets the ModelId field's value.
 15948  func (s *Model) SetModelId(v string) *Model {
 15949  	s.ModelId = &v
 15950  	return s
 15951  }
 15952  
 15953  // SetName sets the Name field's value.
 15954  func (s *Model) SetName(v string) *Model {
 15955  	s.Name = &v
 15956  	return s
 15957  }
 15958  
 15959  // SetSchema sets the Schema field's value.
 15960  func (s *Model) SetSchema(v string) *Model {
 15961  	s.Schema = &v
 15962  	return s
 15963  }
 15964  
 15965  // If specified, API Gateway performs two-way authentication between the client
 15966  // and the server. Clients must present a trusted certificate to access your
 15967  // API.
 15968  type MutualTlsAuthentication struct {
 15969  	_ struct{} `type:"structure"`
 15970  
 15971  	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
 15972  	// for example, s3://bucket-name/key-name . The truststore can contain certificates
 15973  	// from public or private certificate authorities. To update the truststore,
 15974  	// upload a new version to S3, and then update your custom domain name to use
 15975  	// the new version. To update the truststore, you must have permissions to access
 15976  	// the S3 object.
 15977  	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
 15978  
 15979  	// The version of the S3 object that contains your truststore. To specify a
 15980  	// version, you must have versioning enabled for the S3 bucket.
 15981  	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
 15982  
 15983  	// A list of warnings that API Gateway returns while processing your truststore.
 15984  	// Invalid certificates produce warnings. Mutual TLS is still enabled, but some
 15985  	// clients might not be able to access your API. To resolve warnings, upload
 15986  	// a new truststore to S3, and then update you domain name to use the new version.
 15987  	TruststoreWarnings []*string `locationName:"truststoreWarnings" type:"list"`
 15988  }
 15989  
 15990  // String returns the string representation.
 15991  //
 15992  // API parameter values that are decorated as "sensitive" in the API will not
 15993  // be included in the string output. The member name will be present, but the
 15994  // value will be replaced with "sensitive".
 15995  func (s MutualTlsAuthentication) String() string {
 15996  	return awsutil.Prettify(s)
 15997  }
 15998  
 15999  // GoString returns the string representation.
 16000  //
 16001  // API parameter values that are decorated as "sensitive" in the API will not
 16002  // be included in the string output. The member name will be present, but the
 16003  // value will be replaced with "sensitive".
 16004  func (s MutualTlsAuthentication) GoString() string {
 16005  	return s.String()
 16006  }
 16007  
 16008  // SetTruststoreUri sets the TruststoreUri field's value.
 16009  func (s *MutualTlsAuthentication) SetTruststoreUri(v string) *MutualTlsAuthentication {
 16010  	s.TruststoreUri = &v
 16011  	return s
 16012  }
 16013  
 16014  // SetTruststoreVersion sets the TruststoreVersion field's value.
 16015  func (s *MutualTlsAuthentication) SetTruststoreVersion(v string) *MutualTlsAuthentication {
 16016  	s.TruststoreVersion = &v
 16017  	return s
 16018  }
 16019  
 16020  // SetTruststoreWarnings sets the TruststoreWarnings field's value.
 16021  func (s *MutualTlsAuthentication) SetTruststoreWarnings(v []*string) *MutualTlsAuthentication {
 16022  	s.TruststoreWarnings = v
 16023  	return s
 16024  }
 16025  
 16026  // If specified, API Gateway performs two-way authentication between the client
 16027  // and the server. Clients must present a trusted certificate to access your
 16028  // API.
 16029  type MutualTlsAuthenticationInput struct {
 16030  	_ struct{} `type:"structure"`
 16031  
 16032  	// An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
 16033  	// for example, s3://bucket-name/key-name . The truststore can contain certificates
 16034  	// from public or private certificate authorities. To update the truststore,
 16035  	// upload a new version to S3, and then update your custom domain name to use
 16036  	// the new version. To update the truststore, you must have permissions to access
 16037  	// the S3 object.
 16038  	TruststoreUri *string `locationName:"truststoreUri" type:"string"`
 16039  
 16040  	// The version of the S3 object that contains your truststore. To specify a
 16041  	// version, you must have versioning enabled for the S3 bucket.
 16042  	TruststoreVersion *string `locationName:"truststoreVersion" type:"string"`
 16043  }
 16044  
 16045  // String returns the string representation.
 16046  //
 16047  // API parameter values that are decorated as "sensitive" in the API will not
 16048  // be included in the string output. The member name will be present, but the
 16049  // value will be replaced with "sensitive".
 16050  func (s MutualTlsAuthenticationInput) String() string {
 16051  	return awsutil.Prettify(s)
 16052  }
 16053  
 16054  // GoString returns the string representation.
 16055  //
 16056  // API parameter values that are decorated as "sensitive" in the API will not
 16057  // be included in the string output. The member name will be present, but the
 16058  // value will be replaced with "sensitive".
 16059  func (s MutualTlsAuthenticationInput) GoString() string {
 16060  	return s.String()
 16061  }
 16062  
 16063  // SetTruststoreUri sets the TruststoreUri field's value.
 16064  func (s *MutualTlsAuthenticationInput) SetTruststoreUri(v string) *MutualTlsAuthenticationInput {
 16065  	s.TruststoreUri = &v
 16066  	return s
 16067  }
 16068  
 16069  // SetTruststoreVersion sets the TruststoreVersion field's value.
 16070  func (s *MutualTlsAuthenticationInput) SetTruststoreVersion(v string) *MutualTlsAuthenticationInput {
 16071  	s.TruststoreVersion = &v
 16072  	return s
 16073  }
 16074  
 16075  // The resource specified in the request was not found. See the message field
 16076  // for more information.
 16077  type NotFoundException struct {
 16078  	_            struct{}                  `type:"structure"`
 16079  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16080  
 16081  	// Describes the error encountered.
 16082  	Message_ *string `locationName:"message" type:"string"`
 16083  
 16084  	// The resource type.
 16085  	ResourceType *string `locationName:"resourceType" type:"string"`
 16086  }
 16087  
 16088  // String returns the string representation.
 16089  //
 16090  // API parameter values that are decorated as "sensitive" in the API will not
 16091  // be included in the string output. The member name will be present, but the
 16092  // value will be replaced with "sensitive".
 16093  func (s NotFoundException) String() string {
 16094  	return awsutil.Prettify(s)
 16095  }
 16096  
 16097  // GoString returns the string representation.
 16098  //
 16099  // API parameter values that are decorated as "sensitive" in the API will not
 16100  // be included in the string output. The member name will be present, but the
 16101  // value will be replaced with "sensitive".
 16102  func (s NotFoundException) GoString() string {
 16103  	return s.String()
 16104  }
 16105  
 16106  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 16107  	return &NotFoundException{
 16108  		RespMetadata: v,
 16109  	}
 16110  }
 16111  
 16112  // Code returns the exception type name.
 16113  func (s *NotFoundException) Code() string {
 16114  	return "NotFoundException"
 16115  }
 16116  
 16117  // Message returns the exception's message.
 16118  func (s *NotFoundException) Message() string {
 16119  	if s.Message_ != nil {
 16120  		return *s.Message_
 16121  	}
 16122  	return ""
 16123  }
 16124  
 16125  // OrigErr always returns nil, satisfies awserr.Error interface.
 16126  func (s *NotFoundException) OrigErr() error {
 16127  	return nil
 16128  }
 16129  
 16130  func (s *NotFoundException) Error() string {
 16131  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 16132  }
 16133  
 16134  // Status code returns the HTTP status code for the request's response error.
 16135  func (s *NotFoundException) StatusCode() int {
 16136  	return s.RespMetadata.StatusCode
 16137  }
 16138  
 16139  // RequestID returns the service's response RequestID for request.
 16140  func (s *NotFoundException) RequestID() string {
 16141  	return s.RespMetadata.RequestID
 16142  }
 16143  
 16144  // Validation constraints imposed on parameters of a request (path, query string,
 16145  // headers).
 16146  type ParameterConstraints struct {
 16147  	_ struct{} `type:"structure"`
 16148  
 16149  	// Whether or not the parameter is required.
 16150  	Required *bool `locationName:"required" type:"boolean"`
 16151  }
 16152  
 16153  // String returns the string representation.
 16154  //
 16155  // API parameter values that are decorated as "sensitive" in the API will not
 16156  // be included in the string output. The member name will be present, but the
 16157  // value will be replaced with "sensitive".
 16158  func (s ParameterConstraints) String() string {
 16159  	return awsutil.Prettify(s)
 16160  }
 16161  
 16162  // GoString returns the string representation.
 16163  //
 16164  // API parameter values that are decorated as "sensitive" in the API will not
 16165  // be included in the string output. The member name will be present, but the
 16166  // value will be replaced with "sensitive".
 16167  func (s ParameterConstraints) GoString() string {
 16168  	return s.String()
 16169  }
 16170  
 16171  // SetRequired sets the Required field's value.
 16172  func (s *ParameterConstraints) SetRequired(v bool) *ParameterConstraints {
 16173  	s.Required = &v
 16174  	return s
 16175  }
 16176  
 16177  type ReimportApiInput struct {
 16178  	_ struct{} `type:"structure"`
 16179  
 16180  	// ApiId is a required field
 16181  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 16182  
 16183  	Basepath *string `location:"querystring" locationName:"basepath" type:"string"`
 16184  
 16185  	// Body is a required field
 16186  	Body *string `locationName:"body" type:"string" required:"true"`
 16187  
 16188  	FailOnWarnings *bool `location:"querystring" locationName:"failOnWarnings" type:"boolean"`
 16189  }
 16190  
 16191  // String returns the string representation.
 16192  //
 16193  // API parameter values that are decorated as "sensitive" in the API will not
 16194  // be included in the string output. The member name will be present, but the
 16195  // value will be replaced with "sensitive".
 16196  func (s ReimportApiInput) String() string {
 16197  	return awsutil.Prettify(s)
 16198  }
 16199  
 16200  // GoString returns the string representation.
 16201  //
 16202  // API parameter values that are decorated as "sensitive" in the API will not
 16203  // be included in the string output. The member name will be present, but the
 16204  // value will be replaced with "sensitive".
 16205  func (s ReimportApiInput) GoString() string {
 16206  	return s.String()
 16207  }
 16208  
 16209  // Validate inspects the fields of the type to determine if they are valid.
 16210  func (s *ReimportApiInput) Validate() error {
 16211  	invalidParams := request.ErrInvalidParams{Context: "ReimportApiInput"}
 16212  	if s.ApiId == nil {
 16213  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 16214  	}
 16215  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 16216  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 16217  	}
 16218  	if s.Body == nil {
 16219  		invalidParams.Add(request.NewErrParamRequired("Body"))
 16220  	}
 16221  
 16222  	if invalidParams.Len() > 0 {
 16223  		return invalidParams
 16224  	}
 16225  	return nil
 16226  }
 16227  
 16228  // SetApiId sets the ApiId field's value.
 16229  func (s *ReimportApiInput) SetApiId(v string) *ReimportApiInput {
 16230  	s.ApiId = &v
 16231  	return s
 16232  }
 16233  
 16234  // SetBasepath sets the Basepath field's value.
 16235  func (s *ReimportApiInput) SetBasepath(v string) *ReimportApiInput {
 16236  	s.Basepath = &v
 16237  	return s
 16238  }
 16239  
 16240  // SetBody sets the Body field's value.
 16241  func (s *ReimportApiInput) SetBody(v string) *ReimportApiInput {
 16242  	s.Body = &v
 16243  	return s
 16244  }
 16245  
 16246  // SetFailOnWarnings sets the FailOnWarnings field's value.
 16247  func (s *ReimportApiInput) SetFailOnWarnings(v bool) *ReimportApiInput {
 16248  	s.FailOnWarnings = &v
 16249  	return s
 16250  }
 16251  
 16252  type ReimportApiOutput struct {
 16253  	_ struct{} `type:"structure"`
 16254  
 16255  	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
 16256  
 16257  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 16258  
 16259  	// The identifier.
 16260  	ApiId *string `locationName:"apiId" type:"string"`
 16261  
 16262  	// An expression used to extract information at runtime. See Selection Expressions
 16263  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 16264  	// for more information.
 16265  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
 16266  
 16267  	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
 16268  	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
 16269  	// for more information.
 16270  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
 16271  
 16272  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 16273  
 16274  	// A string with a length between [0-1024].
 16275  	Description *string `locationName:"description" type:"string"`
 16276  
 16277  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
 16278  
 16279  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
 16280  
 16281  	ImportInfo []*string `locationName:"importInfo" type:"list"`
 16282  
 16283  	// A string with a length between [1-128].
 16284  	Name *string `locationName:"name" type:"string"`
 16285  
 16286  	// Represents a protocol type.
 16287  	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
 16288  
 16289  	// An expression used to extract information at runtime. See Selection Expressions
 16290  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 16291  	// for more information.
 16292  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
 16293  
 16294  	// Represents a collection of tags associated with the resource.
 16295  	Tags map[string]*string `locationName:"tags" type:"map"`
 16296  
 16297  	// A string with a length between [1-64].
 16298  	Version *string `locationName:"version" type:"string"`
 16299  
 16300  	Warnings []*string `locationName:"warnings" type:"list"`
 16301  }
 16302  
 16303  // String returns the string representation.
 16304  //
 16305  // API parameter values that are decorated as "sensitive" in the API will not
 16306  // be included in the string output. The member name will be present, but the
 16307  // value will be replaced with "sensitive".
 16308  func (s ReimportApiOutput) String() string {
 16309  	return awsutil.Prettify(s)
 16310  }
 16311  
 16312  // GoString returns the string representation.
 16313  //
 16314  // API parameter values that are decorated as "sensitive" in the API will not
 16315  // be included in the string output. The member name will be present, but the
 16316  // value will be replaced with "sensitive".
 16317  func (s ReimportApiOutput) GoString() string {
 16318  	return s.String()
 16319  }
 16320  
 16321  // SetApiEndpoint sets the ApiEndpoint field's value.
 16322  func (s *ReimportApiOutput) SetApiEndpoint(v string) *ReimportApiOutput {
 16323  	s.ApiEndpoint = &v
 16324  	return s
 16325  }
 16326  
 16327  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 16328  func (s *ReimportApiOutput) SetApiGatewayManaged(v bool) *ReimportApiOutput {
 16329  	s.ApiGatewayManaged = &v
 16330  	return s
 16331  }
 16332  
 16333  // SetApiId sets the ApiId field's value.
 16334  func (s *ReimportApiOutput) SetApiId(v string) *ReimportApiOutput {
 16335  	s.ApiId = &v
 16336  	return s
 16337  }
 16338  
 16339  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
 16340  func (s *ReimportApiOutput) SetApiKeySelectionExpression(v string) *ReimportApiOutput {
 16341  	s.ApiKeySelectionExpression = &v
 16342  	return s
 16343  }
 16344  
 16345  // SetCorsConfiguration sets the CorsConfiguration field's value.
 16346  func (s *ReimportApiOutput) SetCorsConfiguration(v *Cors) *ReimportApiOutput {
 16347  	s.CorsConfiguration = v
 16348  	return s
 16349  }
 16350  
 16351  // SetCreatedDate sets the CreatedDate field's value.
 16352  func (s *ReimportApiOutput) SetCreatedDate(v time.Time) *ReimportApiOutput {
 16353  	s.CreatedDate = &v
 16354  	return s
 16355  }
 16356  
 16357  // SetDescription sets the Description field's value.
 16358  func (s *ReimportApiOutput) SetDescription(v string) *ReimportApiOutput {
 16359  	s.Description = &v
 16360  	return s
 16361  }
 16362  
 16363  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
 16364  func (s *ReimportApiOutput) SetDisableExecuteApiEndpoint(v bool) *ReimportApiOutput {
 16365  	s.DisableExecuteApiEndpoint = &v
 16366  	return s
 16367  }
 16368  
 16369  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
 16370  func (s *ReimportApiOutput) SetDisableSchemaValidation(v bool) *ReimportApiOutput {
 16371  	s.DisableSchemaValidation = &v
 16372  	return s
 16373  }
 16374  
 16375  // SetImportInfo sets the ImportInfo field's value.
 16376  func (s *ReimportApiOutput) SetImportInfo(v []*string) *ReimportApiOutput {
 16377  	s.ImportInfo = v
 16378  	return s
 16379  }
 16380  
 16381  // SetName sets the Name field's value.
 16382  func (s *ReimportApiOutput) SetName(v string) *ReimportApiOutput {
 16383  	s.Name = &v
 16384  	return s
 16385  }
 16386  
 16387  // SetProtocolType sets the ProtocolType field's value.
 16388  func (s *ReimportApiOutput) SetProtocolType(v string) *ReimportApiOutput {
 16389  	s.ProtocolType = &v
 16390  	return s
 16391  }
 16392  
 16393  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
 16394  func (s *ReimportApiOutput) SetRouteSelectionExpression(v string) *ReimportApiOutput {
 16395  	s.RouteSelectionExpression = &v
 16396  	return s
 16397  }
 16398  
 16399  // SetTags sets the Tags field's value.
 16400  func (s *ReimportApiOutput) SetTags(v map[string]*string) *ReimportApiOutput {
 16401  	s.Tags = v
 16402  	return s
 16403  }
 16404  
 16405  // SetVersion sets the Version field's value.
 16406  func (s *ReimportApiOutput) SetVersion(v string) *ReimportApiOutput {
 16407  	s.Version = &v
 16408  	return s
 16409  }
 16410  
 16411  // SetWarnings sets the Warnings field's value.
 16412  func (s *ReimportApiOutput) SetWarnings(v []*string) *ReimportApiOutput {
 16413  	s.Warnings = v
 16414  	return s
 16415  }
 16416  
 16417  type ResetAuthorizersCacheInput struct {
 16418  	_ struct{} `type:"structure" nopayload:"true"`
 16419  
 16420  	// ApiId is a required field
 16421  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 16422  
 16423  	// StageName is a required field
 16424  	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
 16425  }
 16426  
 16427  // String returns the string representation.
 16428  //
 16429  // API parameter values that are decorated as "sensitive" in the API will not
 16430  // be included in the string output. The member name will be present, but the
 16431  // value will be replaced with "sensitive".
 16432  func (s ResetAuthorizersCacheInput) String() string {
 16433  	return awsutil.Prettify(s)
 16434  }
 16435  
 16436  // GoString returns the string representation.
 16437  //
 16438  // API parameter values that are decorated as "sensitive" in the API will not
 16439  // be included in the string output. The member name will be present, but the
 16440  // value will be replaced with "sensitive".
 16441  func (s ResetAuthorizersCacheInput) GoString() string {
 16442  	return s.String()
 16443  }
 16444  
 16445  // Validate inspects the fields of the type to determine if they are valid.
 16446  func (s *ResetAuthorizersCacheInput) Validate() error {
 16447  	invalidParams := request.ErrInvalidParams{Context: "ResetAuthorizersCacheInput"}
 16448  	if s.ApiId == nil {
 16449  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 16450  	}
 16451  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 16452  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 16453  	}
 16454  	if s.StageName == nil {
 16455  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 16456  	}
 16457  	if s.StageName != nil && len(*s.StageName) < 1 {
 16458  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 16459  	}
 16460  
 16461  	if invalidParams.Len() > 0 {
 16462  		return invalidParams
 16463  	}
 16464  	return nil
 16465  }
 16466  
 16467  // SetApiId sets the ApiId field's value.
 16468  func (s *ResetAuthorizersCacheInput) SetApiId(v string) *ResetAuthorizersCacheInput {
 16469  	s.ApiId = &v
 16470  	return s
 16471  }
 16472  
 16473  // SetStageName sets the StageName field's value.
 16474  func (s *ResetAuthorizersCacheInput) SetStageName(v string) *ResetAuthorizersCacheInput {
 16475  	s.StageName = &v
 16476  	return s
 16477  }
 16478  
 16479  type ResetAuthorizersCacheOutput struct {
 16480  	_ struct{} `type:"structure" nopayload:"true"`
 16481  }
 16482  
 16483  // String returns the string representation.
 16484  //
 16485  // API parameter values that are decorated as "sensitive" in the API will not
 16486  // be included in the string output. The member name will be present, but the
 16487  // value will be replaced with "sensitive".
 16488  func (s ResetAuthorizersCacheOutput) String() string {
 16489  	return awsutil.Prettify(s)
 16490  }
 16491  
 16492  // GoString returns the string representation.
 16493  //
 16494  // API parameter values that are decorated as "sensitive" in the API will not
 16495  // be included in the string output. The member name will be present, but the
 16496  // value will be replaced with "sensitive".
 16497  func (s ResetAuthorizersCacheOutput) GoString() string {
 16498  	return s.String()
 16499  }
 16500  
 16501  // Represents a route.
 16502  type Route struct {
 16503  	_ struct{} `type:"structure"`
 16504  
 16505  	// Specifies whether a route is managed by API Gateway. If you created an API
 16506  	// using quick create, the $default route is managed by API Gateway. You can't
 16507  	// modify the $default route key.
 16508  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 16509  
 16510  	// Specifies whether an API key is required for this route. Supported only for
 16511  	// WebSocket APIs.
 16512  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
 16513  
 16514  	// A list of authorization scopes configured on a route. The scopes are used
 16515  	// with a JWT authorizer to authorize the method invocation. The authorization
 16516  	// works by matching the route scopes against the scopes parsed from the access
 16517  	// token in the incoming request. The method invocation is authorized if any
 16518  	// route scope matches a claimed scope in the access token. Otherwise, the invocation
 16519  	// is not authorized. When the route scope is configured, the client must provide
 16520  	// an access token instead of an identity token for authorization purposes.
 16521  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
 16522  
 16523  	// The authorization type for the route. For WebSocket APIs, valid values are
 16524  	// NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for
 16525  	// using a Lambda authorizer For HTTP APIs, valid values are NONE for open access,
 16526  	// JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and
 16527  	// CUSTOM for using a Lambda authorizer.
 16528  	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
 16529  
 16530  	// The identifier of the Authorizer resource to be associated with this route.
 16531  	// The authorizer identifier is generated by API Gateway when you created the
 16532  	// authorizer.
 16533  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 16534  
 16535  	// The model selection expression for the route. Supported only for WebSocket
 16536  	// APIs.
 16537  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 16538  
 16539  	// The operation name for the route.
 16540  	OperationName *string `locationName:"operationName" type:"string"`
 16541  
 16542  	// The request models for the route. Supported only for WebSocket APIs.
 16543  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
 16544  
 16545  	// The request parameters for the route. Supported only for WebSocket APIs.
 16546  	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
 16547  
 16548  	// The route ID.
 16549  	RouteId *string `locationName:"routeId" type:"string"`
 16550  
 16551  	// The route key for the route.
 16552  	//
 16553  	// RouteKey is a required field
 16554  	RouteKey *string `locationName:"routeKey" type:"string" required:"true"`
 16555  
 16556  	// The route response selection expression for the route. Supported only for
 16557  	// WebSocket APIs.
 16558  	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
 16559  
 16560  	// The target for the route.
 16561  	Target *string `locationName:"target" type:"string"`
 16562  }
 16563  
 16564  // String returns the string representation.
 16565  //
 16566  // API parameter values that are decorated as "sensitive" in the API will not
 16567  // be included in the string output. The member name will be present, but the
 16568  // value will be replaced with "sensitive".
 16569  func (s Route) String() string {
 16570  	return awsutil.Prettify(s)
 16571  }
 16572  
 16573  // GoString returns the string representation.
 16574  //
 16575  // API parameter values that are decorated as "sensitive" in the API will not
 16576  // be included in the string output. The member name will be present, but the
 16577  // value will be replaced with "sensitive".
 16578  func (s Route) GoString() string {
 16579  	return s.String()
 16580  }
 16581  
 16582  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 16583  func (s *Route) SetApiGatewayManaged(v bool) *Route {
 16584  	s.ApiGatewayManaged = &v
 16585  	return s
 16586  }
 16587  
 16588  // SetApiKeyRequired sets the ApiKeyRequired field's value.
 16589  func (s *Route) SetApiKeyRequired(v bool) *Route {
 16590  	s.ApiKeyRequired = &v
 16591  	return s
 16592  }
 16593  
 16594  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
 16595  func (s *Route) SetAuthorizationScopes(v []*string) *Route {
 16596  	s.AuthorizationScopes = v
 16597  	return s
 16598  }
 16599  
 16600  // SetAuthorizationType sets the AuthorizationType field's value.
 16601  func (s *Route) SetAuthorizationType(v string) *Route {
 16602  	s.AuthorizationType = &v
 16603  	return s
 16604  }
 16605  
 16606  // SetAuthorizerId sets the AuthorizerId field's value.
 16607  func (s *Route) SetAuthorizerId(v string) *Route {
 16608  	s.AuthorizerId = &v
 16609  	return s
 16610  }
 16611  
 16612  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 16613  func (s *Route) SetModelSelectionExpression(v string) *Route {
 16614  	s.ModelSelectionExpression = &v
 16615  	return s
 16616  }
 16617  
 16618  // SetOperationName sets the OperationName field's value.
 16619  func (s *Route) SetOperationName(v string) *Route {
 16620  	s.OperationName = &v
 16621  	return s
 16622  }
 16623  
 16624  // SetRequestModels sets the RequestModels field's value.
 16625  func (s *Route) SetRequestModels(v map[string]*string) *Route {
 16626  	s.RequestModels = v
 16627  	return s
 16628  }
 16629  
 16630  // SetRequestParameters sets the RequestParameters field's value.
 16631  func (s *Route) SetRequestParameters(v map[string]*ParameterConstraints) *Route {
 16632  	s.RequestParameters = v
 16633  	return s
 16634  }
 16635  
 16636  // SetRouteId sets the RouteId field's value.
 16637  func (s *Route) SetRouteId(v string) *Route {
 16638  	s.RouteId = &v
 16639  	return s
 16640  }
 16641  
 16642  // SetRouteKey sets the RouteKey field's value.
 16643  func (s *Route) SetRouteKey(v string) *Route {
 16644  	s.RouteKey = &v
 16645  	return s
 16646  }
 16647  
 16648  // SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
 16649  func (s *Route) SetRouteResponseSelectionExpression(v string) *Route {
 16650  	s.RouteResponseSelectionExpression = &v
 16651  	return s
 16652  }
 16653  
 16654  // SetTarget sets the Target field's value.
 16655  func (s *Route) SetTarget(v string) *Route {
 16656  	s.Target = &v
 16657  	return s
 16658  }
 16659  
 16660  // Represents a route response.
 16661  type RouteResponse struct {
 16662  	_ struct{} `type:"structure"`
 16663  
 16664  	// Represents the model selection expression of a route response. Supported
 16665  	// only for WebSocket APIs.
 16666  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 16667  
 16668  	// Represents the response models of a route response.
 16669  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
 16670  
 16671  	// Represents the response parameters of a route response.
 16672  	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
 16673  
 16674  	// Represents the identifier of a route response.
 16675  	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
 16676  
 16677  	// Represents the route response key of a route response.
 16678  	//
 16679  	// RouteResponseKey is a required field
 16680  	RouteResponseKey *string `locationName:"routeResponseKey" type:"string" required:"true"`
 16681  }
 16682  
 16683  // String returns the string representation.
 16684  //
 16685  // API parameter values that are decorated as "sensitive" in the API will not
 16686  // be included in the string output. The member name will be present, but the
 16687  // value will be replaced with "sensitive".
 16688  func (s RouteResponse) String() string {
 16689  	return awsutil.Prettify(s)
 16690  }
 16691  
 16692  // GoString returns the string representation.
 16693  //
 16694  // API parameter values that are decorated as "sensitive" in the API will not
 16695  // be included in the string output. The member name will be present, but the
 16696  // value will be replaced with "sensitive".
 16697  func (s RouteResponse) GoString() string {
 16698  	return s.String()
 16699  }
 16700  
 16701  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 16702  func (s *RouteResponse) SetModelSelectionExpression(v string) *RouteResponse {
 16703  	s.ModelSelectionExpression = &v
 16704  	return s
 16705  }
 16706  
 16707  // SetResponseModels sets the ResponseModels field's value.
 16708  func (s *RouteResponse) SetResponseModels(v map[string]*string) *RouteResponse {
 16709  	s.ResponseModels = v
 16710  	return s
 16711  }
 16712  
 16713  // SetResponseParameters sets the ResponseParameters field's value.
 16714  func (s *RouteResponse) SetResponseParameters(v map[string]*ParameterConstraints) *RouteResponse {
 16715  	s.ResponseParameters = v
 16716  	return s
 16717  }
 16718  
 16719  // SetRouteResponseId sets the RouteResponseId field's value.
 16720  func (s *RouteResponse) SetRouteResponseId(v string) *RouteResponse {
 16721  	s.RouteResponseId = &v
 16722  	return s
 16723  }
 16724  
 16725  // SetRouteResponseKey sets the RouteResponseKey field's value.
 16726  func (s *RouteResponse) SetRouteResponseKey(v string) *RouteResponse {
 16727  	s.RouteResponseKey = &v
 16728  	return s
 16729  }
 16730  
 16731  // Represents a collection of route settings.
 16732  type RouteSettings struct {
 16733  	_ struct{} `type:"structure"`
 16734  
 16735  	// Specifies whether (true) or not (false) data trace logging is enabled for
 16736  	// this route. This property affects the log entries pushed to Amazon CloudWatch
 16737  	// Logs. Supported only for WebSocket APIs.
 16738  	DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"`
 16739  
 16740  	// Specifies whether detailed metrics are enabled.
 16741  	DetailedMetricsEnabled *bool `locationName:"detailedMetricsEnabled" type:"boolean"`
 16742  
 16743  	// Specifies the logging level for this route: INFO, ERROR, or OFF. This property
 16744  	// affects the log entries pushed to Amazon CloudWatch Logs. Supported only
 16745  	// for WebSocket APIs.
 16746  	LoggingLevel *string `locationName:"loggingLevel" type:"string" enum:"LoggingLevel"`
 16747  
 16748  	// Specifies the throttling burst limit.
 16749  	ThrottlingBurstLimit *int64 `locationName:"throttlingBurstLimit" type:"integer"`
 16750  
 16751  	// Specifies the throttling rate limit.
 16752  	ThrottlingRateLimit *float64 `locationName:"throttlingRateLimit" type:"double"`
 16753  }
 16754  
 16755  // String returns the string representation.
 16756  //
 16757  // API parameter values that are decorated as "sensitive" in the API will not
 16758  // be included in the string output. The member name will be present, but the
 16759  // value will be replaced with "sensitive".
 16760  func (s RouteSettings) String() string {
 16761  	return awsutil.Prettify(s)
 16762  }
 16763  
 16764  // GoString returns the string representation.
 16765  //
 16766  // API parameter values that are decorated as "sensitive" in the API will not
 16767  // be included in the string output. The member name will be present, but the
 16768  // value will be replaced with "sensitive".
 16769  func (s RouteSettings) GoString() string {
 16770  	return s.String()
 16771  }
 16772  
 16773  // SetDataTraceEnabled sets the DataTraceEnabled field's value.
 16774  func (s *RouteSettings) SetDataTraceEnabled(v bool) *RouteSettings {
 16775  	s.DataTraceEnabled = &v
 16776  	return s
 16777  }
 16778  
 16779  // SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
 16780  func (s *RouteSettings) SetDetailedMetricsEnabled(v bool) *RouteSettings {
 16781  	s.DetailedMetricsEnabled = &v
 16782  	return s
 16783  }
 16784  
 16785  // SetLoggingLevel sets the LoggingLevel field's value.
 16786  func (s *RouteSettings) SetLoggingLevel(v string) *RouteSettings {
 16787  	s.LoggingLevel = &v
 16788  	return s
 16789  }
 16790  
 16791  // SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
 16792  func (s *RouteSettings) SetThrottlingBurstLimit(v int64) *RouteSettings {
 16793  	s.ThrottlingBurstLimit = &v
 16794  	return s
 16795  }
 16796  
 16797  // SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
 16798  func (s *RouteSettings) SetThrottlingRateLimit(v float64) *RouteSettings {
 16799  	s.ThrottlingRateLimit = &v
 16800  	return s
 16801  }
 16802  
 16803  // Represents an API stage.
 16804  type Stage struct {
 16805  	_ struct{} `type:"structure"`
 16806  
 16807  	// Settings for logging access in this stage.
 16808  	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
 16809  
 16810  	// Specifies whether a stage is managed by API Gateway. If you created an API
 16811  	// using quick create, the $default stage is managed by API Gateway. You can't
 16812  	// modify the $default stage.
 16813  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 16814  
 16815  	// Specifies whether updates to an API automatically trigger a new deployment.
 16816  	// The default value is false.
 16817  	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
 16818  
 16819  	// The identifier of a client certificate for a Stage. Supported only for WebSocket
 16820  	// APIs.
 16821  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
 16822  
 16823  	// The timestamp when the stage was created.
 16824  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 16825  
 16826  	// Default route settings for the stage.
 16827  	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
 16828  
 16829  	// The identifier of the Deployment that the Stage is associated with. Can't
 16830  	// be updated if autoDeploy is enabled.
 16831  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 16832  
 16833  	// The description of the stage.
 16834  	Description *string `locationName:"description" type:"string"`
 16835  
 16836  	// Describes the status of the last deployment of a stage. Supported only for
 16837  	// stages with autoDeploy enabled.
 16838  	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
 16839  
 16840  	// The timestamp when the stage was last updated.
 16841  	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
 16842  
 16843  	// Route settings for the stage, by routeKey.
 16844  	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
 16845  
 16846  	// The name of the stage.
 16847  	//
 16848  	// StageName is a required field
 16849  	StageName *string `locationName:"stageName" type:"string" required:"true"`
 16850  
 16851  	// A map that defines the stage variables for a stage resource. Variable names
 16852  	// can have alphanumeric and underscore characters, and the values must match
 16853  	// [A-Za-z0-9-._~:/?#&=,]+.
 16854  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
 16855  
 16856  	// The collection of tags. Each tag element is associated with a given resource.
 16857  	Tags map[string]*string `locationName:"tags" type:"map"`
 16858  }
 16859  
 16860  // String returns the string representation.
 16861  //
 16862  // API parameter values that are decorated as "sensitive" in the API will not
 16863  // be included in the string output. The member name will be present, but the
 16864  // value will be replaced with "sensitive".
 16865  func (s Stage) String() string {
 16866  	return awsutil.Prettify(s)
 16867  }
 16868  
 16869  // GoString returns the string representation.
 16870  //
 16871  // API parameter values that are decorated as "sensitive" in the API will not
 16872  // be included in the string output. The member name will be present, but the
 16873  // value will be replaced with "sensitive".
 16874  func (s Stage) GoString() string {
 16875  	return s.String()
 16876  }
 16877  
 16878  // SetAccessLogSettings sets the AccessLogSettings field's value.
 16879  func (s *Stage) SetAccessLogSettings(v *AccessLogSettings) *Stage {
 16880  	s.AccessLogSettings = v
 16881  	return s
 16882  }
 16883  
 16884  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 16885  func (s *Stage) SetApiGatewayManaged(v bool) *Stage {
 16886  	s.ApiGatewayManaged = &v
 16887  	return s
 16888  }
 16889  
 16890  // SetAutoDeploy sets the AutoDeploy field's value.
 16891  func (s *Stage) SetAutoDeploy(v bool) *Stage {
 16892  	s.AutoDeploy = &v
 16893  	return s
 16894  }
 16895  
 16896  // SetClientCertificateId sets the ClientCertificateId field's value.
 16897  func (s *Stage) SetClientCertificateId(v string) *Stage {
 16898  	s.ClientCertificateId = &v
 16899  	return s
 16900  }
 16901  
 16902  // SetCreatedDate sets the CreatedDate field's value.
 16903  func (s *Stage) SetCreatedDate(v time.Time) *Stage {
 16904  	s.CreatedDate = &v
 16905  	return s
 16906  }
 16907  
 16908  // SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
 16909  func (s *Stage) SetDefaultRouteSettings(v *RouteSettings) *Stage {
 16910  	s.DefaultRouteSettings = v
 16911  	return s
 16912  }
 16913  
 16914  // SetDeploymentId sets the DeploymentId field's value.
 16915  func (s *Stage) SetDeploymentId(v string) *Stage {
 16916  	s.DeploymentId = &v
 16917  	return s
 16918  }
 16919  
 16920  // SetDescription sets the Description field's value.
 16921  func (s *Stage) SetDescription(v string) *Stage {
 16922  	s.Description = &v
 16923  	return s
 16924  }
 16925  
 16926  // SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
 16927  func (s *Stage) SetLastDeploymentStatusMessage(v string) *Stage {
 16928  	s.LastDeploymentStatusMessage = &v
 16929  	return s
 16930  }
 16931  
 16932  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
 16933  func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage {
 16934  	s.LastUpdatedDate = &v
 16935  	return s
 16936  }
 16937  
 16938  // SetRouteSettings sets the RouteSettings field's value.
 16939  func (s *Stage) SetRouteSettings(v map[string]*RouteSettings) *Stage {
 16940  	s.RouteSettings = v
 16941  	return s
 16942  }
 16943  
 16944  // SetStageName sets the StageName field's value.
 16945  func (s *Stage) SetStageName(v string) *Stage {
 16946  	s.StageName = &v
 16947  	return s
 16948  }
 16949  
 16950  // SetStageVariables sets the StageVariables field's value.
 16951  func (s *Stage) SetStageVariables(v map[string]*string) *Stage {
 16952  	s.StageVariables = v
 16953  	return s
 16954  }
 16955  
 16956  // SetTags sets the Tags field's value.
 16957  func (s *Stage) SetTags(v map[string]*string) *Stage {
 16958  	s.Tags = v
 16959  	return s
 16960  }
 16961  
 16962  type TagResourceInput struct {
 16963  	_ struct{} `type:"structure"`
 16964  
 16965  	// ResourceArn is a required field
 16966  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 16967  
 16968  	// Represents a collection of tags associated with the resource.
 16969  	Tags map[string]*string `locationName:"tags" type:"map"`
 16970  }
 16971  
 16972  // String returns the string representation.
 16973  //
 16974  // API parameter values that are decorated as "sensitive" in the API will not
 16975  // be included in the string output. The member name will be present, but the
 16976  // value will be replaced with "sensitive".
 16977  func (s TagResourceInput) String() string {
 16978  	return awsutil.Prettify(s)
 16979  }
 16980  
 16981  // GoString returns the string representation.
 16982  //
 16983  // API parameter values that are decorated as "sensitive" in the API will not
 16984  // be included in the string output. The member name will be present, but the
 16985  // value will be replaced with "sensitive".
 16986  func (s TagResourceInput) GoString() string {
 16987  	return s.String()
 16988  }
 16989  
 16990  // Validate inspects the fields of the type to determine if they are valid.
 16991  func (s *TagResourceInput) Validate() error {
 16992  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 16993  	if s.ResourceArn == nil {
 16994  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 16995  	}
 16996  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 16997  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 16998  	}
 16999  
 17000  	if invalidParams.Len() > 0 {
 17001  		return invalidParams
 17002  	}
 17003  	return nil
 17004  }
 17005  
 17006  // SetResourceArn sets the ResourceArn field's value.
 17007  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 17008  	s.ResourceArn = &v
 17009  	return s
 17010  }
 17011  
 17012  // SetTags sets the Tags field's value.
 17013  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 17014  	s.Tags = v
 17015  	return s
 17016  }
 17017  
 17018  type TagResourceOutput struct {
 17019  	_ struct{} `type:"structure" nopayload:"true"`
 17020  }
 17021  
 17022  // String returns the string representation.
 17023  //
 17024  // API parameter values that are decorated as "sensitive" in the API will not
 17025  // be included in the string output. The member name will be present, but the
 17026  // value will be replaced with "sensitive".
 17027  func (s TagResourceOutput) String() string {
 17028  	return awsutil.Prettify(s)
 17029  }
 17030  
 17031  // GoString returns the string representation.
 17032  //
 17033  // API parameter values that are decorated as "sensitive" in the API will not
 17034  // be included in the string output. The member name will be present, but the
 17035  // value will be replaced with "sensitive".
 17036  func (s TagResourceOutput) GoString() string {
 17037  	return s.String()
 17038  }
 17039  
 17040  // The TLS configuration for a private integration. If you specify a TLS configuration,
 17041  // private integration traffic uses the HTTPS protocol. Supported only for HTTP
 17042  // APIs.
 17043  type TlsConfig struct {
 17044  	_ struct{} `type:"structure"`
 17045  
 17046  	// If you specify a server name, API Gateway uses it to verify the hostname
 17047  	// on the integration's certificate. The server name is also included in the
 17048  	// TLS handshake to support Server Name Indication (SNI) or virtual hosting.
 17049  	ServerNameToVerify *string `locationName:"serverNameToVerify" type:"string"`
 17050  }
 17051  
 17052  // String returns the string representation.
 17053  //
 17054  // API parameter values that are decorated as "sensitive" in the API will not
 17055  // be included in the string output. The member name will be present, but the
 17056  // value will be replaced with "sensitive".
 17057  func (s TlsConfig) String() string {
 17058  	return awsutil.Prettify(s)
 17059  }
 17060  
 17061  // GoString 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 TlsConfig) GoString() string {
 17067  	return s.String()
 17068  }
 17069  
 17070  // SetServerNameToVerify sets the ServerNameToVerify field's value.
 17071  func (s *TlsConfig) SetServerNameToVerify(v string) *TlsConfig {
 17072  	s.ServerNameToVerify = &v
 17073  	return s
 17074  }
 17075  
 17076  // The TLS configuration for a private integration. If you specify a TLS configuration,
 17077  // private integration traffic uses the HTTPS protocol. Supported only for HTTP
 17078  // APIs.
 17079  type TlsConfigInput struct {
 17080  	_ struct{} `type:"structure"`
 17081  
 17082  	// If you specify a server name, API Gateway uses it to verify the hostname
 17083  	// on the integration's certificate. The server name is also included in the
 17084  	// TLS handshake to support Server Name Indication (SNI) or virtual hosting.
 17085  	ServerNameToVerify *string `locationName:"serverNameToVerify" type:"string"`
 17086  }
 17087  
 17088  // String returns the string representation.
 17089  //
 17090  // API parameter values that are decorated as "sensitive" in the API will not
 17091  // be included in the string output. The member name will be present, but the
 17092  // value will be replaced with "sensitive".
 17093  func (s TlsConfigInput) String() string {
 17094  	return awsutil.Prettify(s)
 17095  }
 17096  
 17097  // GoString returns the string representation.
 17098  //
 17099  // API parameter values that are decorated as "sensitive" in the API will not
 17100  // be included in the string output. The member name will be present, but the
 17101  // value will be replaced with "sensitive".
 17102  func (s TlsConfigInput) GoString() string {
 17103  	return s.String()
 17104  }
 17105  
 17106  // SetServerNameToVerify sets the ServerNameToVerify field's value.
 17107  func (s *TlsConfigInput) SetServerNameToVerify(v string) *TlsConfigInput {
 17108  	s.ServerNameToVerify = &v
 17109  	return s
 17110  }
 17111  
 17112  // A limit has been exceeded. See the accompanying error message for details.
 17113  type TooManyRequestsException struct {
 17114  	_            struct{}                  `type:"structure"`
 17115  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 17116  
 17117  	LimitType *string `locationName:"limitType" type:"string"`
 17118  
 17119  	Message_ *string `locationName:"message" type:"string"`
 17120  }
 17121  
 17122  // String returns the string representation.
 17123  //
 17124  // API parameter values that are decorated as "sensitive" in the API will not
 17125  // be included in the string output. The member name will be present, but the
 17126  // value will be replaced with "sensitive".
 17127  func (s TooManyRequestsException) String() string {
 17128  	return awsutil.Prettify(s)
 17129  }
 17130  
 17131  // GoString returns the string representation.
 17132  //
 17133  // API parameter values that are decorated as "sensitive" in the API will not
 17134  // be included in the string output. The member name will be present, but the
 17135  // value will be replaced with "sensitive".
 17136  func (s TooManyRequestsException) GoString() string {
 17137  	return s.String()
 17138  }
 17139  
 17140  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
 17141  	return &TooManyRequestsException{
 17142  		RespMetadata: v,
 17143  	}
 17144  }
 17145  
 17146  // Code returns the exception type name.
 17147  func (s *TooManyRequestsException) Code() string {
 17148  	return "TooManyRequestsException"
 17149  }
 17150  
 17151  // Message returns the exception's message.
 17152  func (s *TooManyRequestsException) Message() string {
 17153  	if s.Message_ != nil {
 17154  		return *s.Message_
 17155  	}
 17156  	return ""
 17157  }
 17158  
 17159  // OrigErr always returns nil, satisfies awserr.Error interface.
 17160  func (s *TooManyRequestsException) OrigErr() error {
 17161  	return nil
 17162  }
 17163  
 17164  func (s *TooManyRequestsException) Error() string {
 17165  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 17166  }
 17167  
 17168  // Status code returns the HTTP status code for the request's response error.
 17169  func (s *TooManyRequestsException) StatusCode() int {
 17170  	return s.RespMetadata.StatusCode
 17171  }
 17172  
 17173  // RequestID returns the service's response RequestID for request.
 17174  func (s *TooManyRequestsException) RequestID() string {
 17175  	return s.RespMetadata.RequestID
 17176  }
 17177  
 17178  type UntagResourceInput struct {
 17179  	_ struct{} `type:"structure" nopayload:"true"`
 17180  
 17181  	// ResourceArn is a required field
 17182  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 17183  
 17184  	// TagKeys is a required field
 17185  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 17186  }
 17187  
 17188  // String returns the string representation.
 17189  //
 17190  // API parameter values that are decorated as "sensitive" in the API will not
 17191  // be included in the string output. The member name will be present, but the
 17192  // value will be replaced with "sensitive".
 17193  func (s UntagResourceInput) String() string {
 17194  	return awsutil.Prettify(s)
 17195  }
 17196  
 17197  // GoString returns the string representation.
 17198  //
 17199  // API parameter values that are decorated as "sensitive" in the API will not
 17200  // be included in the string output. The member name will be present, but the
 17201  // value will be replaced with "sensitive".
 17202  func (s UntagResourceInput) GoString() string {
 17203  	return s.String()
 17204  }
 17205  
 17206  // Validate inspects the fields of the type to determine if they are valid.
 17207  func (s *UntagResourceInput) Validate() error {
 17208  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 17209  	if s.ResourceArn == nil {
 17210  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 17211  	}
 17212  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 17213  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 17214  	}
 17215  	if s.TagKeys == nil {
 17216  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 17217  	}
 17218  
 17219  	if invalidParams.Len() > 0 {
 17220  		return invalidParams
 17221  	}
 17222  	return nil
 17223  }
 17224  
 17225  // SetResourceArn sets the ResourceArn field's value.
 17226  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 17227  	s.ResourceArn = &v
 17228  	return s
 17229  }
 17230  
 17231  // SetTagKeys sets the TagKeys field's value.
 17232  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 17233  	s.TagKeys = v
 17234  	return s
 17235  }
 17236  
 17237  type UntagResourceOutput struct {
 17238  	_ struct{} `type:"structure" nopayload:"true"`
 17239  }
 17240  
 17241  // String returns the string representation.
 17242  //
 17243  // API parameter values that are decorated as "sensitive" in the API will not
 17244  // be included in the string output. The member name will be present, but the
 17245  // value will be replaced with "sensitive".
 17246  func (s UntagResourceOutput) String() string {
 17247  	return awsutil.Prettify(s)
 17248  }
 17249  
 17250  // GoString returns the string representation.
 17251  //
 17252  // API parameter values that are decorated as "sensitive" in the API will not
 17253  // be included in the string output. The member name will be present, but the
 17254  // value will be replaced with "sensitive".
 17255  func (s UntagResourceOutput) GoString() string {
 17256  	return s.String()
 17257  }
 17258  
 17259  type UpdateApiInput struct {
 17260  	_ struct{} `type:"structure"`
 17261  
 17262  	// ApiId is a required field
 17263  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 17264  
 17265  	// An expression used to extract information at runtime. See Selection Expressions
 17266  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 17267  	// for more information.
 17268  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
 17269  
 17270  	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
 17271  	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
 17272  	// for more information.
 17273  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
 17274  
 17275  	// Represents an Amazon Resource Name (ARN).
 17276  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
 17277  
 17278  	// A string with a length between [0-1024].
 17279  	Description *string `locationName:"description" type:"string"`
 17280  
 17281  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
 17282  
 17283  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
 17284  
 17285  	// A string with a length between [1-128].
 17286  	Name *string `locationName:"name" type:"string"`
 17287  
 17288  	// After evaluating a selection expression, the result is compared against one
 17289  	// or more selection keys to find a matching key. See Selection Expressions
 17290  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 17291  	// for a list of expressions and each expression's associated selection key
 17292  	// type.
 17293  	RouteKey *string `locationName:"routeKey" type:"string"`
 17294  
 17295  	// An expression used to extract information at runtime. See Selection Expressions
 17296  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 17297  	// for more information.
 17298  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
 17299  
 17300  	// A string representation of a URI with a length between [1-2048].
 17301  	Target *string `locationName:"target" type:"string"`
 17302  
 17303  	// A string with a length between [1-64].
 17304  	Version *string `locationName:"version" type:"string"`
 17305  }
 17306  
 17307  // String returns the string representation.
 17308  //
 17309  // API parameter values that are decorated as "sensitive" in the API will not
 17310  // be included in the string output. The member name will be present, but the
 17311  // value will be replaced with "sensitive".
 17312  func (s UpdateApiInput) String() string {
 17313  	return awsutil.Prettify(s)
 17314  }
 17315  
 17316  // GoString returns the string representation.
 17317  //
 17318  // API parameter values that are decorated as "sensitive" in the API will not
 17319  // be included in the string output. The member name will be present, but the
 17320  // value will be replaced with "sensitive".
 17321  func (s UpdateApiInput) GoString() string {
 17322  	return s.String()
 17323  }
 17324  
 17325  // Validate inspects the fields of the type to determine if they are valid.
 17326  func (s *UpdateApiInput) Validate() error {
 17327  	invalidParams := request.ErrInvalidParams{Context: "UpdateApiInput"}
 17328  	if s.ApiId == nil {
 17329  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 17330  	}
 17331  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 17332  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 17333  	}
 17334  	if s.CorsConfiguration != nil {
 17335  		if err := s.CorsConfiguration.Validate(); err != nil {
 17336  			invalidParams.AddNested("CorsConfiguration", err.(request.ErrInvalidParams))
 17337  		}
 17338  	}
 17339  
 17340  	if invalidParams.Len() > 0 {
 17341  		return invalidParams
 17342  	}
 17343  	return nil
 17344  }
 17345  
 17346  // SetApiId sets the ApiId field's value.
 17347  func (s *UpdateApiInput) SetApiId(v string) *UpdateApiInput {
 17348  	s.ApiId = &v
 17349  	return s
 17350  }
 17351  
 17352  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
 17353  func (s *UpdateApiInput) SetApiKeySelectionExpression(v string) *UpdateApiInput {
 17354  	s.ApiKeySelectionExpression = &v
 17355  	return s
 17356  }
 17357  
 17358  // SetCorsConfiguration sets the CorsConfiguration field's value.
 17359  func (s *UpdateApiInput) SetCorsConfiguration(v *Cors) *UpdateApiInput {
 17360  	s.CorsConfiguration = v
 17361  	return s
 17362  }
 17363  
 17364  // SetCredentialsArn sets the CredentialsArn field's value.
 17365  func (s *UpdateApiInput) SetCredentialsArn(v string) *UpdateApiInput {
 17366  	s.CredentialsArn = &v
 17367  	return s
 17368  }
 17369  
 17370  // SetDescription sets the Description field's value.
 17371  func (s *UpdateApiInput) SetDescription(v string) *UpdateApiInput {
 17372  	s.Description = &v
 17373  	return s
 17374  }
 17375  
 17376  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
 17377  func (s *UpdateApiInput) SetDisableExecuteApiEndpoint(v bool) *UpdateApiInput {
 17378  	s.DisableExecuteApiEndpoint = &v
 17379  	return s
 17380  }
 17381  
 17382  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
 17383  func (s *UpdateApiInput) SetDisableSchemaValidation(v bool) *UpdateApiInput {
 17384  	s.DisableSchemaValidation = &v
 17385  	return s
 17386  }
 17387  
 17388  // SetName sets the Name field's value.
 17389  func (s *UpdateApiInput) SetName(v string) *UpdateApiInput {
 17390  	s.Name = &v
 17391  	return s
 17392  }
 17393  
 17394  // SetRouteKey sets the RouteKey field's value.
 17395  func (s *UpdateApiInput) SetRouteKey(v string) *UpdateApiInput {
 17396  	s.RouteKey = &v
 17397  	return s
 17398  }
 17399  
 17400  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
 17401  func (s *UpdateApiInput) SetRouteSelectionExpression(v string) *UpdateApiInput {
 17402  	s.RouteSelectionExpression = &v
 17403  	return s
 17404  }
 17405  
 17406  // SetTarget sets the Target field's value.
 17407  func (s *UpdateApiInput) SetTarget(v string) *UpdateApiInput {
 17408  	s.Target = &v
 17409  	return s
 17410  }
 17411  
 17412  // SetVersion sets the Version field's value.
 17413  func (s *UpdateApiInput) SetVersion(v string) *UpdateApiInput {
 17414  	s.Version = &v
 17415  	return s
 17416  }
 17417  
 17418  type UpdateApiMappingInput struct {
 17419  	_ struct{} `type:"structure"`
 17420  
 17421  	// The identifier.
 17422  	//
 17423  	// ApiId is a required field
 17424  	ApiId *string `locationName:"apiId" type:"string" required:"true"`
 17425  
 17426  	// ApiMappingId is a required field
 17427  	ApiMappingId *string `location:"uri" locationName:"apiMappingId" type:"string" required:"true"`
 17428  
 17429  	// After evaluating a selection expression, the result is compared against one
 17430  	// or more selection keys to find a matching key. See Selection Expressions
 17431  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 17432  	// for a list of expressions and each expression's associated selection key
 17433  	// type.
 17434  	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
 17435  
 17436  	// DomainName is a required field
 17437  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
 17438  
 17439  	// A string with a length between [1-128].
 17440  	Stage *string `locationName:"stage" type:"string"`
 17441  }
 17442  
 17443  // String returns the string representation.
 17444  //
 17445  // API parameter values that are decorated as "sensitive" in the API will not
 17446  // be included in the string output. The member name will be present, but the
 17447  // value will be replaced with "sensitive".
 17448  func (s UpdateApiMappingInput) String() string {
 17449  	return awsutil.Prettify(s)
 17450  }
 17451  
 17452  // GoString returns the string representation.
 17453  //
 17454  // API parameter values that are decorated as "sensitive" in the API will not
 17455  // be included in the string output. The member name will be present, but the
 17456  // value will be replaced with "sensitive".
 17457  func (s UpdateApiMappingInput) GoString() string {
 17458  	return s.String()
 17459  }
 17460  
 17461  // Validate inspects the fields of the type to determine if they are valid.
 17462  func (s *UpdateApiMappingInput) Validate() error {
 17463  	invalidParams := request.ErrInvalidParams{Context: "UpdateApiMappingInput"}
 17464  	if s.ApiId == nil {
 17465  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 17466  	}
 17467  	if s.ApiMappingId == nil {
 17468  		invalidParams.Add(request.NewErrParamRequired("ApiMappingId"))
 17469  	}
 17470  	if s.ApiMappingId != nil && len(*s.ApiMappingId) < 1 {
 17471  		invalidParams.Add(request.NewErrParamMinLen("ApiMappingId", 1))
 17472  	}
 17473  	if s.DomainName == nil {
 17474  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 17475  	}
 17476  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 17477  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 17478  	}
 17479  
 17480  	if invalidParams.Len() > 0 {
 17481  		return invalidParams
 17482  	}
 17483  	return nil
 17484  }
 17485  
 17486  // SetApiId sets the ApiId field's value.
 17487  func (s *UpdateApiMappingInput) SetApiId(v string) *UpdateApiMappingInput {
 17488  	s.ApiId = &v
 17489  	return s
 17490  }
 17491  
 17492  // SetApiMappingId sets the ApiMappingId field's value.
 17493  func (s *UpdateApiMappingInput) SetApiMappingId(v string) *UpdateApiMappingInput {
 17494  	s.ApiMappingId = &v
 17495  	return s
 17496  }
 17497  
 17498  // SetApiMappingKey sets the ApiMappingKey field's value.
 17499  func (s *UpdateApiMappingInput) SetApiMappingKey(v string) *UpdateApiMappingInput {
 17500  	s.ApiMappingKey = &v
 17501  	return s
 17502  }
 17503  
 17504  // SetDomainName sets the DomainName field's value.
 17505  func (s *UpdateApiMappingInput) SetDomainName(v string) *UpdateApiMappingInput {
 17506  	s.DomainName = &v
 17507  	return s
 17508  }
 17509  
 17510  // SetStage sets the Stage field's value.
 17511  func (s *UpdateApiMappingInput) SetStage(v string) *UpdateApiMappingInput {
 17512  	s.Stage = &v
 17513  	return s
 17514  }
 17515  
 17516  type UpdateApiMappingOutput struct {
 17517  	_ struct{} `type:"structure"`
 17518  
 17519  	// The identifier.
 17520  	ApiId *string `locationName:"apiId" type:"string"`
 17521  
 17522  	// The identifier.
 17523  	ApiMappingId *string `locationName:"apiMappingId" type:"string"`
 17524  
 17525  	// After evaluating a selection expression, the result is compared against one
 17526  	// or more selection keys to find a matching key. See Selection Expressions
 17527  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 17528  	// for a list of expressions and each expression's associated selection key
 17529  	// type.
 17530  	ApiMappingKey *string `locationName:"apiMappingKey" type:"string"`
 17531  
 17532  	// A string with a length between [1-128].
 17533  	Stage *string `locationName:"stage" type:"string"`
 17534  }
 17535  
 17536  // String returns the string representation.
 17537  //
 17538  // API parameter values that are decorated as "sensitive" in the API will not
 17539  // be included in the string output. The member name will be present, but the
 17540  // value will be replaced with "sensitive".
 17541  func (s UpdateApiMappingOutput) String() string {
 17542  	return awsutil.Prettify(s)
 17543  }
 17544  
 17545  // GoString returns the string representation.
 17546  //
 17547  // API parameter values that are decorated as "sensitive" in the API will not
 17548  // be included in the string output. The member name will be present, but the
 17549  // value will be replaced with "sensitive".
 17550  func (s UpdateApiMappingOutput) GoString() string {
 17551  	return s.String()
 17552  }
 17553  
 17554  // SetApiId sets the ApiId field's value.
 17555  func (s *UpdateApiMappingOutput) SetApiId(v string) *UpdateApiMappingOutput {
 17556  	s.ApiId = &v
 17557  	return s
 17558  }
 17559  
 17560  // SetApiMappingId sets the ApiMappingId field's value.
 17561  func (s *UpdateApiMappingOutput) SetApiMappingId(v string) *UpdateApiMappingOutput {
 17562  	s.ApiMappingId = &v
 17563  	return s
 17564  }
 17565  
 17566  // SetApiMappingKey sets the ApiMappingKey field's value.
 17567  func (s *UpdateApiMappingOutput) SetApiMappingKey(v string) *UpdateApiMappingOutput {
 17568  	s.ApiMappingKey = &v
 17569  	return s
 17570  }
 17571  
 17572  // SetStage sets the Stage field's value.
 17573  func (s *UpdateApiMappingOutput) SetStage(v string) *UpdateApiMappingOutput {
 17574  	s.Stage = &v
 17575  	return s
 17576  }
 17577  
 17578  type UpdateApiOutput struct {
 17579  	_ struct{} `type:"structure"`
 17580  
 17581  	ApiEndpoint *string `locationName:"apiEndpoint" type:"string"`
 17582  
 17583  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 17584  
 17585  	// The identifier.
 17586  	ApiId *string `locationName:"apiId" type:"string"`
 17587  
 17588  	// An expression used to extract information at runtime. See Selection Expressions
 17589  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 17590  	// for more information.
 17591  	ApiKeySelectionExpression *string `locationName:"apiKeySelectionExpression" type:"string"`
 17592  
 17593  	// Represents a CORS configuration. Supported only for HTTP APIs. See Configuring
 17594  	// CORS (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)
 17595  	// for more information.
 17596  	CorsConfiguration *Cors `locationName:"corsConfiguration" type:"structure"`
 17597  
 17598  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 17599  
 17600  	// A string with a length between [0-1024].
 17601  	Description *string `locationName:"description" type:"string"`
 17602  
 17603  	DisableExecuteApiEndpoint *bool `locationName:"disableExecuteApiEndpoint" type:"boolean"`
 17604  
 17605  	DisableSchemaValidation *bool `locationName:"disableSchemaValidation" type:"boolean"`
 17606  
 17607  	ImportInfo []*string `locationName:"importInfo" type:"list"`
 17608  
 17609  	// A string with a length between [1-128].
 17610  	Name *string `locationName:"name" type:"string"`
 17611  
 17612  	// Represents a protocol type.
 17613  	ProtocolType *string `locationName:"protocolType" type:"string" enum:"ProtocolType"`
 17614  
 17615  	// An expression used to extract information at runtime. See Selection Expressions
 17616  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 17617  	// for more information.
 17618  	RouteSelectionExpression *string `locationName:"routeSelectionExpression" type:"string"`
 17619  
 17620  	// Represents a collection of tags associated with the resource.
 17621  	Tags map[string]*string `locationName:"tags" type:"map"`
 17622  
 17623  	// A string with a length between [1-64].
 17624  	Version *string `locationName:"version" type:"string"`
 17625  
 17626  	Warnings []*string `locationName:"warnings" type:"list"`
 17627  }
 17628  
 17629  // String returns the string representation.
 17630  //
 17631  // API parameter values that are decorated as "sensitive" in the API will not
 17632  // be included in the string output. The member name will be present, but the
 17633  // value will be replaced with "sensitive".
 17634  func (s UpdateApiOutput) String() string {
 17635  	return awsutil.Prettify(s)
 17636  }
 17637  
 17638  // GoString returns the string representation.
 17639  //
 17640  // API parameter values that are decorated as "sensitive" in the API will not
 17641  // be included in the string output. The member name will be present, but the
 17642  // value will be replaced with "sensitive".
 17643  func (s UpdateApiOutput) GoString() string {
 17644  	return s.String()
 17645  }
 17646  
 17647  // SetApiEndpoint sets the ApiEndpoint field's value.
 17648  func (s *UpdateApiOutput) SetApiEndpoint(v string) *UpdateApiOutput {
 17649  	s.ApiEndpoint = &v
 17650  	return s
 17651  }
 17652  
 17653  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 17654  func (s *UpdateApiOutput) SetApiGatewayManaged(v bool) *UpdateApiOutput {
 17655  	s.ApiGatewayManaged = &v
 17656  	return s
 17657  }
 17658  
 17659  // SetApiId sets the ApiId field's value.
 17660  func (s *UpdateApiOutput) SetApiId(v string) *UpdateApiOutput {
 17661  	s.ApiId = &v
 17662  	return s
 17663  }
 17664  
 17665  // SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
 17666  func (s *UpdateApiOutput) SetApiKeySelectionExpression(v string) *UpdateApiOutput {
 17667  	s.ApiKeySelectionExpression = &v
 17668  	return s
 17669  }
 17670  
 17671  // SetCorsConfiguration sets the CorsConfiguration field's value.
 17672  func (s *UpdateApiOutput) SetCorsConfiguration(v *Cors) *UpdateApiOutput {
 17673  	s.CorsConfiguration = v
 17674  	return s
 17675  }
 17676  
 17677  // SetCreatedDate sets the CreatedDate field's value.
 17678  func (s *UpdateApiOutput) SetCreatedDate(v time.Time) *UpdateApiOutput {
 17679  	s.CreatedDate = &v
 17680  	return s
 17681  }
 17682  
 17683  // SetDescription sets the Description field's value.
 17684  func (s *UpdateApiOutput) SetDescription(v string) *UpdateApiOutput {
 17685  	s.Description = &v
 17686  	return s
 17687  }
 17688  
 17689  // SetDisableExecuteApiEndpoint sets the DisableExecuteApiEndpoint field's value.
 17690  func (s *UpdateApiOutput) SetDisableExecuteApiEndpoint(v bool) *UpdateApiOutput {
 17691  	s.DisableExecuteApiEndpoint = &v
 17692  	return s
 17693  }
 17694  
 17695  // SetDisableSchemaValidation sets the DisableSchemaValidation field's value.
 17696  func (s *UpdateApiOutput) SetDisableSchemaValidation(v bool) *UpdateApiOutput {
 17697  	s.DisableSchemaValidation = &v
 17698  	return s
 17699  }
 17700  
 17701  // SetImportInfo sets the ImportInfo field's value.
 17702  func (s *UpdateApiOutput) SetImportInfo(v []*string) *UpdateApiOutput {
 17703  	s.ImportInfo = v
 17704  	return s
 17705  }
 17706  
 17707  // SetName sets the Name field's value.
 17708  func (s *UpdateApiOutput) SetName(v string) *UpdateApiOutput {
 17709  	s.Name = &v
 17710  	return s
 17711  }
 17712  
 17713  // SetProtocolType sets the ProtocolType field's value.
 17714  func (s *UpdateApiOutput) SetProtocolType(v string) *UpdateApiOutput {
 17715  	s.ProtocolType = &v
 17716  	return s
 17717  }
 17718  
 17719  // SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
 17720  func (s *UpdateApiOutput) SetRouteSelectionExpression(v string) *UpdateApiOutput {
 17721  	s.RouteSelectionExpression = &v
 17722  	return s
 17723  }
 17724  
 17725  // SetTags sets the Tags field's value.
 17726  func (s *UpdateApiOutput) SetTags(v map[string]*string) *UpdateApiOutput {
 17727  	s.Tags = v
 17728  	return s
 17729  }
 17730  
 17731  // SetVersion sets the Version field's value.
 17732  func (s *UpdateApiOutput) SetVersion(v string) *UpdateApiOutput {
 17733  	s.Version = &v
 17734  	return s
 17735  }
 17736  
 17737  // SetWarnings sets the Warnings field's value.
 17738  func (s *UpdateApiOutput) SetWarnings(v []*string) *UpdateApiOutput {
 17739  	s.Warnings = v
 17740  	return s
 17741  }
 17742  
 17743  type UpdateAuthorizerInput struct {
 17744  	_ struct{} `type:"structure"`
 17745  
 17746  	// ApiId is a required field
 17747  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 17748  
 17749  	// Represents an Amazon Resource Name (ARN).
 17750  	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
 17751  
 17752  	// AuthorizerId is a required field
 17753  	AuthorizerId *string `location:"uri" locationName:"authorizerId" type:"string" required:"true"`
 17754  
 17755  	// A string with a length between [1-64].
 17756  	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
 17757  
 17758  	// An integer with a value between [0-3600].
 17759  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
 17760  
 17761  	// The authorizer type. Specify REQUEST for a Lambda function using incoming
 17762  	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
 17763  	// HTTP APIs).
 17764  	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
 17765  
 17766  	// A string representation of a URI with a length between [1-2048].
 17767  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
 17768  
 17769  	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
 17770  
 17771  	// The identity source for which authorization is requested. For the REQUEST
 17772  	// authorizer, this is required when authorization caching is enabled. The value
 17773  	// is a comma-separated string of one or more mapping expressions of the specified
 17774  	// request parameters. For example, if an Auth header, a Name query string parameter
 17775  	// are defined as identity sources, this value is $method.request.header.Auth,
 17776  	// $method.request.querystring.Name. These parameters will be used to derive
 17777  	// the authorization caching key and to perform runtime validation of the REQUEST
 17778  	// authorizer by verifying all of the identity-related request parameters are
 17779  	// present, not null and non-empty. Only when this is true does the authorizer
 17780  	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
 17781  	// response without calling the Lambda function. The valid value is a string
 17782  	// of comma-separated mapping expressions of the specified request parameters.
 17783  	// When the authorization caching is not enabled, this property is optional.
 17784  	IdentitySource []*string `locationName:"identitySource" type:"list"`
 17785  
 17786  	// A string with a length between [0-1024].
 17787  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
 17788  
 17789  	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
 17790  	// type. Supported only for HTTP APIs.
 17791  	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
 17792  
 17793  	// A string with a length between [1-128].
 17794  	Name *string `locationName:"name" type:"string"`
 17795  }
 17796  
 17797  // String returns the string representation.
 17798  //
 17799  // API parameter values that are decorated as "sensitive" in the API will not
 17800  // be included in the string output. The member name will be present, but the
 17801  // value will be replaced with "sensitive".
 17802  func (s UpdateAuthorizerInput) String() string {
 17803  	return awsutil.Prettify(s)
 17804  }
 17805  
 17806  // GoString returns the string representation.
 17807  //
 17808  // API parameter values that are decorated as "sensitive" in the API will not
 17809  // be included in the string output. The member name will be present, but the
 17810  // value will be replaced with "sensitive".
 17811  func (s UpdateAuthorizerInput) GoString() string {
 17812  	return s.String()
 17813  }
 17814  
 17815  // Validate inspects the fields of the type to determine if they are valid.
 17816  func (s *UpdateAuthorizerInput) Validate() error {
 17817  	invalidParams := request.ErrInvalidParams{Context: "UpdateAuthorizerInput"}
 17818  	if s.ApiId == nil {
 17819  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 17820  	}
 17821  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 17822  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 17823  	}
 17824  	if s.AuthorizerId == nil {
 17825  		invalidParams.Add(request.NewErrParamRequired("AuthorizerId"))
 17826  	}
 17827  	if s.AuthorizerId != nil && len(*s.AuthorizerId) < 1 {
 17828  		invalidParams.Add(request.NewErrParamMinLen("AuthorizerId", 1))
 17829  	}
 17830  
 17831  	if invalidParams.Len() > 0 {
 17832  		return invalidParams
 17833  	}
 17834  	return nil
 17835  }
 17836  
 17837  // SetApiId sets the ApiId field's value.
 17838  func (s *UpdateAuthorizerInput) SetApiId(v string) *UpdateAuthorizerInput {
 17839  	s.ApiId = &v
 17840  	return s
 17841  }
 17842  
 17843  // SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
 17844  func (s *UpdateAuthorizerInput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerInput {
 17845  	s.AuthorizerCredentialsArn = &v
 17846  	return s
 17847  }
 17848  
 17849  // SetAuthorizerId sets the AuthorizerId field's value.
 17850  func (s *UpdateAuthorizerInput) SetAuthorizerId(v string) *UpdateAuthorizerInput {
 17851  	s.AuthorizerId = &v
 17852  	return s
 17853  }
 17854  
 17855  // SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
 17856  func (s *UpdateAuthorizerInput) SetAuthorizerPayloadFormatVersion(v string) *UpdateAuthorizerInput {
 17857  	s.AuthorizerPayloadFormatVersion = &v
 17858  	return s
 17859  }
 17860  
 17861  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
 17862  func (s *UpdateAuthorizerInput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerInput {
 17863  	s.AuthorizerResultTtlInSeconds = &v
 17864  	return s
 17865  }
 17866  
 17867  // SetAuthorizerType sets the AuthorizerType field's value.
 17868  func (s *UpdateAuthorizerInput) SetAuthorizerType(v string) *UpdateAuthorizerInput {
 17869  	s.AuthorizerType = &v
 17870  	return s
 17871  }
 17872  
 17873  // SetAuthorizerUri sets the AuthorizerUri field's value.
 17874  func (s *UpdateAuthorizerInput) SetAuthorizerUri(v string) *UpdateAuthorizerInput {
 17875  	s.AuthorizerUri = &v
 17876  	return s
 17877  }
 17878  
 17879  // SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
 17880  func (s *UpdateAuthorizerInput) SetEnableSimpleResponses(v bool) *UpdateAuthorizerInput {
 17881  	s.EnableSimpleResponses = &v
 17882  	return s
 17883  }
 17884  
 17885  // SetIdentitySource sets the IdentitySource field's value.
 17886  func (s *UpdateAuthorizerInput) SetIdentitySource(v []*string) *UpdateAuthorizerInput {
 17887  	s.IdentitySource = v
 17888  	return s
 17889  }
 17890  
 17891  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
 17892  func (s *UpdateAuthorizerInput) SetIdentityValidationExpression(v string) *UpdateAuthorizerInput {
 17893  	s.IdentityValidationExpression = &v
 17894  	return s
 17895  }
 17896  
 17897  // SetJwtConfiguration sets the JwtConfiguration field's value.
 17898  func (s *UpdateAuthorizerInput) SetJwtConfiguration(v *JWTConfiguration) *UpdateAuthorizerInput {
 17899  	s.JwtConfiguration = v
 17900  	return s
 17901  }
 17902  
 17903  // SetName sets the Name field's value.
 17904  func (s *UpdateAuthorizerInput) SetName(v string) *UpdateAuthorizerInput {
 17905  	s.Name = &v
 17906  	return s
 17907  }
 17908  
 17909  type UpdateAuthorizerOutput struct {
 17910  	_ struct{} `type:"structure"`
 17911  
 17912  	// Represents an Amazon Resource Name (ARN).
 17913  	AuthorizerCredentialsArn *string `locationName:"authorizerCredentialsArn" type:"string"`
 17914  
 17915  	// The identifier.
 17916  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 17917  
 17918  	// A string with a length between [1-64].
 17919  	AuthorizerPayloadFormatVersion *string `locationName:"authorizerPayloadFormatVersion" type:"string"`
 17920  
 17921  	// An integer with a value between [0-3600].
 17922  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
 17923  
 17924  	// The authorizer type. Specify REQUEST for a Lambda function using incoming
 17925  	// request parameters. Specify JWT to use JSON Web Tokens (supported only for
 17926  	// HTTP APIs).
 17927  	AuthorizerType *string `locationName:"authorizerType" type:"string" enum:"AuthorizerType"`
 17928  
 17929  	// A string representation of a URI with a length between [1-2048].
 17930  	AuthorizerUri *string `locationName:"authorizerUri" type:"string"`
 17931  
 17932  	EnableSimpleResponses *bool `locationName:"enableSimpleResponses" type:"boolean"`
 17933  
 17934  	// The identity source for which authorization is requested. For the REQUEST
 17935  	// authorizer, this is required when authorization caching is enabled. The value
 17936  	// is a comma-separated string of one or more mapping expressions of the specified
 17937  	// request parameters. For example, if an Auth header, a Name query string parameter
 17938  	// are defined as identity sources, this value is $method.request.header.Auth,
 17939  	// $method.request.querystring.Name. These parameters will be used to derive
 17940  	// the authorization caching key and to perform runtime validation of the REQUEST
 17941  	// authorizer by verifying all of the identity-related request parameters are
 17942  	// present, not null and non-empty. Only when this is true does the authorizer
 17943  	// invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized
 17944  	// response without calling the Lambda function. The valid value is a string
 17945  	// of comma-separated mapping expressions of the specified request parameters.
 17946  	// When the authorization caching is not enabled, this property is optional.
 17947  	IdentitySource []*string `locationName:"identitySource" type:"list"`
 17948  
 17949  	// A string with a length between [0-1024].
 17950  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
 17951  
 17952  	// Represents the configuration of a JWT authorizer. Required for the JWT authorizer
 17953  	// type. Supported only for HTTP APIs.
 17954  	JwtConfiguration *JWTConfiguration `locationName:"jwtConfiguration" type:"structure"`
 17955  
 17956  	// A string with a length between [1-128].
 17957  	Name *string `locationName:"name" type:"string"`
 17958  }
 17959  
 17960  // String returns the string representation.
 17961  //
 17962  // API parameter values that are decorated as "sensitive" in the API will not
 17963  // be included in the string output. The member name will be present, but the
 17964  // value will be replaced with "sensitive".
 17965  func (s UpdateAuthorizerOutput) String() string {
 17966  	return awsutil.Prettify(s)
 17967  }
 17968  
 17969  // GoString returns the string representation.
 17970  //
 17971  // API parameter values that are decorated as "sensitive" in the API will not
 17972  // be included in the string output. The member name will be present, but the
 17973  // value will be replaced with "sensitive".
 17974  func (s UpdateAuthorizerOutput) GoString() string {
 17975  	return s.String()
 17976  }
 17977  
 17978  // SetAuthorizerCredentialsArn sets the AuthorizerCredentialsArn field's value.
 17979  func (s *UpdateAuthorizerOutput) SetAuthorizerCredentialsArn(v string) *UpdateAuthorizerOutput {
 17980  	s.AuthorizerCredentialsArn = &v
 17981  	return s
 17982  }
 17983  
 17984  // SetAuthorizerId sets the AuthorizerId field's value.
 17985  func (s *UpdateAuthorizerOutput) SetAuthorizerId(v string) *UpdateAuthorizerOutput {
 17986  	s.AuthorizerId = &v
 17987  	return s
 17988  }
 17989  
 17990  // SetAuthorizerPayloadFormatVersion sets the AuthorizerPayloadFormatVersion field's value.
 17991  func (s *UpdateAuthorizerOutput) SetAuthorizerPayloadFormatVersion(v string) *UpdateAuthorizerOutput {
 17992  	s.AuthorizerPayloadFormatVersion = &v
 17993  	return s
 17994  }
 17995  
 17996  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
 17997  func (s *UpdateAuthorizerOutput) SetAuthorizerResultTtlInSeconds(v int64) *UpdateAuthorizerOutput {
 17998  	s.AuthorizerResultTtlInSeconds = &v
 17999  	return s
 18000  }
 18001  
 18002  // SetAuthorizerType sets the AuthorizerType field's value.
 18003  func (s *UpdateAuthorizerOutput) SetAuthorizerType(v string) *UpdateAuthorizerOutput {
 18004  	s.AuthorizerType = &v
 18005  	return s
 18006  }
 18007  
 18008  // SetAuthorizerUri sets the AuthorizerUri field's value.
 18009  func (s *UpdateAuthorizerOutput) SetAuthorizerUri(v string) *UpdateAuthorizerOutput {
 18010  	s.AuthorizerUri = &v
 18011  	return s
 18012  }
 18013  
 18014  // SetEnableSimpleResponses sets the EnableSimpleResponses field's value.
 18015  func (s *UpdateAuthorizerOutput) SetEnableSimpleResponses(v bool) *UpdateAuthorizerOutput {
 18016  	s.EnableSimpleResponses = &v
 18017  	return s
 18018  }
 18019  
 18020  // SetIdentitySource sets the IdentitySource field's value.
 18021  func (s *UpdateAuthorizerOutput) SetIdentitySource(v []*string) *UpdateAuthorizerOutput {
 18022  	s.IdentitySource = v
 18023  	return s
 18024  }
 18025  
 18026  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
 18027  func (s *UpdateAuthorizerOutput) SetIdentityValidationExpression(v string) *UpdateAuthorizerOutput {
 18028  	s.IdentityValidationExpression = &v
 18029  	return s
 18030  }
 18031  
 18032  // SetJwtConfiguration sets the JwtConfiguration field's value.
 18033  func (s *UpdateAuthorizerOutput) SetJwtConfiguration(v *JWTConfiguration) *UpdateAuthorizerOutput {
 18034  	s.JwtConfiguration = v
 18035  	return s
 18036  }
 18037  
 18038  // SetName sets the Name field's value.
 18039  func (s *UpdateAuthorizerOutput) SetName(v string) *UpdateAuthorizerOutput {
 18040  	s.Name = &v
 18041  	return s
 18042  }
 18043  
 18044  type UpdateDeploymentInput struct {
 18045  	_ struct{} `type:"structure"`
 18046  
 18047  	// ApiId is a required field
 18048  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 18049  
 18050  	// DeploymentId is a required field
 18051  	DeploymentId *string `location:"uri" locationName:"deploymentId" type:"string" required:"true"`
 18052  
 18053  	// A string with a length between [0-1024].
 18054  	Description *string `locationName:"description" type:"string"`
 18055  }
 18056  
 18057  // String returns the string representation.
 18058  //
 18059  // API parameter values that are decorated as "sensitive" in the API will not
 18060  // be included in the string output. The member name will be present, but the
 18061  // value will be replaced with "sensitive".
 18062  func (s UpdateDeploymentInput) String() string {
 18063  	return awsutil.Prettify(s)
 18064  }
 18065  
 18066  // GoString returns the string representation.
 18067  //
 18068  // API parameter values that are decorated as "sensitive" in the API will not
 18069  // be included in the string output. The member name will be present, but the
 18070  // value will be replaced with "sensitive".
 18071  func (s UpdateDeploymentInput) GoString() string {
 18072  	return s.String()
 18073  }
 18074  
 18075  // Validate inspects the fields of the type to determine if they are valid.
 18076  func (s *UpdateDeploymentInput) Validate() error {
 18077  	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentInput"}
 18078  	if s.ApiId == nil {
 18079  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 18080  	}
 18081  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 18082  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 18083  	}
 18084  	if s.DeploymentId == nil {
 18085  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 18086  	}
 18087  	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
 18088  		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
 18089  	}
 18090  
 18091  	if invalidParams.Len() > 0 {
 18092  		return invalidParams
 18093  	}
 18094  	return nil
 18095  }
 18096  
 18097  // SetApiId sets the ApiId field's value.
 18098  func (s *UpdateDeploymentInput) SetApiId(v string) *UpdateDeploymentInput {
 18099  	s.ApiId = &v
 18100  	return s
 18101  }
 18102  
 18103  // SetDeploymentId sets the DeploymentId field's value.
 18104  func (s *UpdateDeploymentInput) SetDeploymentId(v string) *UpdateDeploymentInput {
 18105  	s.DeploymentId = &v
 18106  	return s
 18107  }
 18108  
 18109  // SetDescription sets the Description field's value.
 18110  func (s *UpdateDeploymentInput) SetDescription(v string) *UpdateDeploymentInput {
 18111  	s.Description = &v
 18112  	return s
 18113  }
 18114  
 18115  type UpdateDeploymentOutput struct {
 18116  	_ struct{} `type:"structure"`
 18117  
 18118  	AutoDeployed *bool `locationName:"autoDeployed" type:"boolean"`
 18119  
 18120  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 18121  
 18122  	// The identifier.
 18123  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 18124  
 18125  	// Represents a deployment status.
 18126  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"`
 18127  
 18128  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string"`
 18129  
 18130  	// A string with a length between [0-1024].
 18131  	Description *string `locationName:"description" type:"string"`
 18132  }
 18133  
 18134  // String returns the string representation.
 18135  //
 18136  // API parameter values that are decorated as "sensitive" in the API will not
 18137  // be included in the string output. The member name will be present, but the
 18138  // value will be replaced with "sensitive".
 18139  func (s UpdateDeploymentOutput) String() string {
 18140  	return awsutil.Prettify(s)
 18141  }
 18142  
 18143  // GoString returns the string representation.
 18144  //
 18145  // API parameter values that are decorated as "sensitive" in the API will not
 18146  // be included in the string output. The member name will be present, but the
 18147  // value will be replaced with "sensitive".
 18148  func (s UpdateDeploymentOutput) GoString() string {
 18149  	return s.String()
 18150  }
 18151  
 18152  // SetAutoDeployed sets the AutoDeployed field's value.
 18153  func (s *UpdateDeploymentOutput) SetAutoDeployed(v bool) *UpdateDeploymentOutput {
 18154  	s.AutoDeployed = &v
 18155  	return s
 18156  }
 18157  
 18158  // SetCreatedDate sets the CreatedDate field's value.
 18159  func (s *UpdateDeploymentOutput) SetCreatedDate(v time.Time) *UpdateDeploymentOutput {
 18160  	s.CreatedDate = &v
 18161  	return s
 18162  }
 18163  
 18164  // SetDeploymentId sets the DeploymentId field's value.
 18165  func (s *UpdateDeploymentOutput) SetDeploymentId(v string) *UpdateDeploymentOutput {
 18166  	s.DeploymentId = &v
 18167  	return s
 18168  }
 18169  
 18170  // SetDeploymentStatus sets the DeploymentStatus field's value.
 18171  func (s *UpdateDeploymentOutput) SetDeploymentStatus(v string) *UpdateDeploymentOutput {
 18172  	s.DeploymentStatus = &v
 18173  	return s
 18174  }
 18175  
 18176  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
 18177  func (s *UpdateDeploymentOutput) SetDeploymentStatusMessage(v string) *UpdateDeploymentOutput {
 18178  	s.DeploymentStatusMessage = &v
 18179  	return s
 18180  }
 18181  
 18182  // SetDescription sets the Description field's value.
 18183  func (s *UpdateDeploymentOutput) SetDescription(v string) *UpdateDeploymentOutput {
 18184  	s.Description = &v
 18185  	return s
 18186  }
 18187  
 18188  type UpdateDomainNameInput struct {
 18189  	_ struct{} `type:"structure"`
 18190  
 18191  	// DomainName is a required field
 18192  	DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"`
 18193  
 18194  	// The domain name configurations.
 18195  	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
 18196  
 18197  	// If specified, API Gateway performs two-way authentication between the client
 18198  	// and the server. Clients must present a trusted certificate to access your
 18199  	// API.
 18200  	MutualTlsAuthentication *MutualTlsAuthenticationInput `locationName:"mutualTlsAuthentication" type:"structure"`
 18201  }
 18202  
 18203  // String returns the string representation.
 18204  //
 18205  // API parameter values that are decorated as "sensitive" in the API will not
 18206  // be included in the string output. The member name will be present, but the
 18207  // value will be replaced with "sensitive".
 18208  func (s UpdateDomainNameInput) String() string {
 18209  	return awsutil.Prettify(s)
 18210  }
 18211  
 18212  // GoString returns the string representation.
 18213  //
 18214  // API parameter values that are decorated as "sensitive" in the API will not
 18215  // be included in the string output. The member name will be present, but the
 18216  // value will be replaced with "sensitive".
 18217  func (s UpdateDomainNameInput) GoString() string {
 18218  	return s.String()
 18219  }
 18220  
 18221  // Validate inspects the fields of the type to determine if they are valid.
 18222  func (s *UpdateDomainNameInput) Validate() error {
 18223  	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainNameInput"}
 18224  	if s.DomainName == nil {
 18225  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 18226  	}
 18227  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 18228  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 18229  	}
 18230  
 18231  	if invalidParams.Len() > 0 {
 18232  		return invalidParams
 18233  	}
 18234  	return nil
 18235  }
 18236  
 18237  // SetDomainName sets the DomainName field's value.
 18238  func (s *UpdateDomainNameInput) SetDomainName(v string) *UpdateDomainNameInput {
 18239  	s.DomainName = &v
 18240  	return s
 18241  }
 18242  
 18243  // SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
 18244  func (s *UpdateDomainNameInput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameInput {
 18245  	s.DomainNameConfigurations = v
 18246  	return s
 18247  }
 18248  
 18249  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
 18250  func (s *UpdateDomainNameInput) SetMutualTlsAuthentication(v *MutualTlsAuthenticationInput) *UpdateDomainNameInput {
 18251  	s.MutualTlsAuthentication = v
 18252  	return s
 18253  }
 18254  
 18255  type UpdateDomainNameOutput struct {
 18256  	_ struct{} `type:"structure"`
 18257  
 18258  	// An expression used to extract information at runtime. See Selection Expressions
 18259  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 18260  	// for more information.
 18261  	ApiMappingSelectionExpression *string `locationName:"apiMappingSelectionExpression" type:"string"`
 18262  
 18263  	// A string with a length between [1-512].
 18264  	DomainName *string `locationName:"domainName" type:"string"`
 18265  
 18266  	// The domain name configurations.
 18267  	DomainNameConfigurations []*DomainNameConfiguration `locationName:"domainNameConfigurations" type:"list"`
 18268  
 18269  	// If specified, API Gateway performs two-way authentication between the client
 18270  	// and the server. Clients must present a trusted certificate to access your
 18271  	// API.
 18272  	MutualTlsAuthentication *MutualTlsAuthentication `locationName:"mutualTlsAuthentication" type:"structure"`
 18273  
 18274  	// Represents a collection of tags associated with the resource.
 18275  	Tags map[string]*string `locationName:"tags" type:"map"`
 18276  }
 18277  
 18278  // String returns the string representation.
 18279  //
 18280  // API parameter values that are decorated as "sensitive" in the API will not
 18281  // be included in the string output. The member name will be present, but the
 18282  // value will be replaced with "sensitive".
 18283  func (s UpdateDomainNameOutput) String() string {
 18284  	return awsutil.Prettify(s)
 18285  }
 18286  
 18287  // GoString returns the string representation.
 18288  //
 18289  // API parameter values that are decorated as "sensitive" in the API will not
 18290  // be included in the string output. The member name will be present, but the
 18291  // value will be replaced with "sensitive".
 18292  func (s UpdateDomainNameOutput) GoString() string {
 18293  	return s.String()
 18294  }
 18295  
 18296  // SetApiMappingSelectionExpression sets the ApiMappingSelectionExpression field's value.
 18297  func (s *UpdateDomainNameOutput) SetApiMappingSelectionExpression(v string) *UpdateDomainNameOutput {
 18298  	s.ApiMappingSelectionExpression = &v
 18299  	return s
 18300  }
 18301  
 18302  // SetDomainName sets the DomainName field's value.
 18303  func (s *UpdateDomainNameOutput) SetDomainName(v string) *UpdateDomainNameOutput {
 18304  	s.DomainName = &v
 18305  	return s
 18306  }
 18307  
 18308  // SetDomainNameConfigurations sets the DomainNameConfigurations field's value.
 18309  func (s *UpdateDomainNameOutput) SetDomainNameConfigurations(v []*DomainNameConfiguration) *UpdateDomainNameOutput {
 18310  	s.DomainNameConfigurations = v
 18311  	return s
 18312  }
 18313  
 18314  // SetMutualTlsAuthentication sets the MutualTlsAuthentication field's value.
 18315  func (s *UpdateDomainNameOutput) SetMutualTlsAuthentication(v *MutualTlsAuthentication) *UpdateDomainNameOutput {
 18316  	s.MutualTlsAuthentication = v
 18317  	return s
 18318  }
 18319  
 18320  // SetTags sets the Tags field's value.
 18321  func (s *UpdateDomainNameOutput) SetTags(v map[string]*string) *UpdateDomainNameOutput {
 18322  	s.Tags = v
 18323  	return s
 18324  }
 18325  
 18326  type UpdateIntegrationInput struct {
 18327  	_ struct{} `type:"structure"`
 18328  
 18329  	// ApiId is a required field
 18330  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 18331  
 18332  	// A string with a length between [1-1024].
 18333  	ConnectionId *string `locationName:"connectionId" type:"string"`
 18334  
 18335  	// Represents a connection type.
 18336  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
 18337  
 18338  	// Specifies how to handle response payload content type conversions. Supported
 18339  	// only for WebSocket APIs.
 18340  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 18341  
 18342  	// Represents an Amazon Resource Name (ARN).
 18343  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
 18344  
 18345  	// A string with a length between [0-1024].
 18346  	Description *string `locationName:"description" type:"string"`
 18347  
 18348  	// IntegrationId is a required field
 18349  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
 18350  
 18351  	// A string with a length between [1-64].
 18352  	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
 18353  
 18354  	// A string with a length between [1-128].
 18355  	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
 18356  
 18357  	// Represents an API method integration type.
 18358  	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
 18359  
 18360  	// A string representation of a URI with a length between [1-2048].
 18361  	IntegrationUri *string `locationName:"integrationUri" type:"string"`
 18362  
 18363  	// Represents passthrough behavior for an integration response. Supported only
 18364  	// for WebSocket APIs.
 18365  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
 18366  
 18367  	// A string with a length between [1-64].
 18368  	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
 18369  
 18370  	// For WebSocket APIs, a key-value map specifying request parameters that are
 18371  	// passed from the method request to the backend. The key is an integration
 18372  	// request parameter name and the associated value is a method request parameter
 18373  	// value or static value that must be enclosed within single quotes and pre-encoded
 18374  	// as required by the backend. The method request parameter value must match
 18375  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
 18376  	// path, or header; and {name} must be a valid and unique method request parameter
 18377  	// name.
 18378  	//
 18379  	// For HTTP API integrations with a specified integrationSubtype, request parameters
 18380  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
 18381  	// You can provide static values, or map request data, stage variables, or context
 18382  	// variables that are evaluated at runtime. To learn more, see Working with
 18383  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
 18384  	//
 18385  	// For HTTP API integrations without a specified integrationSubtype request
 18386  	// parameters are a key-value map specifying how to transform HTTP requests
 18387  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
 18388  	// where action can be append, overwrite or remove. For values, you can provide
 18389  	// static values, or map request data, stage variables, or context variables
 18390  	// that are evaluated at runtime. To learn more, see Transforming API requests
 18391  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 18392  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
 18393  
 18394  	// A mapping of identifier keys to templates. The value is an actual template
 18395  	// script. The key is typically a SelectionKey which is chosen based on evaluating
 18396  	// a selection expression.
 18397  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
 18398  
 18399  	// Supported only for HTTP APIs. You use response parameters to transform the
 18400  	// HTTP response from a backend integration before returning the response to
 18401  	// clients.
 18402  	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
 18403  
 18404  	// An expression used to extract information at runtime. See Selection Expressions
 18405  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 18406  	// for more information.
 18407  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 18408  
 18409  	// An integer with a value between [50-30000].
 18410  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
 18411  
 18412  	// The TLS configuration for a private integration. If you specify a TLS configuration,
 18413  	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
 18414  	// APIs.
 18415  	TlsConfig *TlsConfigInput `locationName:"tlsConfig" type:"structure"`
 18416  }
 18417  
 18418  // String returns the string representation.
 18419  //
 18420  // API parameter values that are decorated as "sensitive" in the API will not
 18421  // be included in the string output. The member name will be present, but the
 18422  // value will be replaced with "sensitive".
 18423  func (s UpdateIntegrationInput) String() string {
 18424  	return awsutil.Prettify(s)
 18425  }
 18426  
 18427  // GoString returns the string representation.
 18428  //
 18429  // API parameter values that are decorated as "sensitive" in the API will not
 18430  // be included in the string output. The member name will be present, but the
 18431  // value will be replaced with "sensitive".
 18432  func (s UpdateIntegrationInput) GoString() string {
 18433  	return s.String()
 18434  }
 18435  
 18436  // Validate inspects the fields of the type to determine if they are valid.
 18437  func (s *UpdateIntegrationInput) Validate() error {
 18438  	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationInput"}
 18439  	if s.ApiId == nil {
 18440  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 18441  	}
 18442  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 18443  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 18444  	}
 18445  	if s.IntegrationId == nil {
 18446  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
 18447  	}
 18448  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
 18449  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
 18450  	}
 18451  	if s.TimeoutInMillis != nil && *s.TimeoutInMillis < 50 {
 18452  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMillis", 50))
 18453  	}
 18454  
 18455  	if invalidParams.Len() > 0 {
 18456  		return invalidParams
 18457  	}
 18458  	return nil
 18459  }
 18460  
 18461  // SetApiId sets the ApiId field's value.
 18462  func (s *UpdateIntegrationInput) SetApiId(v string) *UpdateIntegrationInput {
 18463  	s.ApiId = &v
 18464  	return s
 18465  }
 18466  
 18467  // SetConnectionId sets the ConnectionId field's value.
 18468  func (s *UpdateIntegrationInput) SetConnectionId(v string) *UpdateIntegrationInput {
 18469  	s.ConnectionId = &v
 18470  	return s
 18471  }
 18472  
 18473  // SetConnectionType sets the ConnectionType field's value.
 18474  func (s *UpdateIntegrationInput) SetConnectionType(v string) *UpdateIntegrationInput {
 18475  	s.ConnectionType = &v
 18476  	return s
 18477  }
 18478  
 18479  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 18480  func (s *UpdateIntegrationInput) SetContentHandlingStrategy(v string) *UpdateIntegrationInput {
 18481  	s.ContentHandlingStrategy = &v
 18482  	return s
 18483  }
 18484  
 18485  // SetCredentialsArn sets the CredentialsArn field's value.
 18486  func (s *UpdateIntegrationInput) SetCredentialsArn(v string) *UpdateIntegrationInput {
 18487  	s.CredentialsArn = &v
 18488  	return s
 18489  }
 18490  
 18491  // SetDescription sets the Description field's value.
 18492  func (s *UpdateIntegrationInput) SetDescription(v string) *UpdateIntegrationInput {
 18493  	s.Description = &v
 18494  	return s
 18495  }
 18496  
 18497  // SetIntegrationId sets the IntegrationId field's value.
 18498  func (s *UpdateIntegrationInput) SetIntegrationId(v string) *UpdateIntegrationInput {
 18499  	s.IntegrationId = &v
 18500  	return s
 18501  }
 18502  
 18503  // SetIntegrationMethod sets the IntegrationMethod field's value.
 18504  func (s *UpdateIntegrationInput) SetIntegrationMethod(v string) *UpdateIntegrationInput {
 18505  	s.IntegrationMethod = &v
 18506  	return s
 18507  }
 18508  
 18509  // SetIntegrationSubtype sets the IntegrationSubtype field's value.
 18510  func (s *UpdateIntegrationInput) SetIntegrationSubtype(v string) *UpdateIntegrationInput {
 18511  	s.IntegrationSubtype = &v
 18512  	return s
 18513  }
 18514  
 18515  // SetIntegrationType sets the IntegrationType field's value.
 18516  func (s *UpdateIntegrationInput) SetIntegrationType(v string) *UpdateIntegrationInput {
 18517  	s.IntegrationType = &v
 18518  	return s
 18519  }
 18520  
 18521  // SetIntegrationUri sets the IntegrationUri field's value.
 18522  func (s *UpdateIntegrationInput) SetIntegrationUri(v string) *UpdateIntegrationInput {
 18523  	s.IntegrationUri = &v
 18524  	return s
 18525  }
 18526  
 18527  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
 18528  func (s *UpdateIntegrationInput) SetPassthroughBehavior(v string) *UpdateIntegrationInput {
 18529  	s.PassthroughBehavior = &v
 18530  	return s
 18531  }
 18532  
 18533  // SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
 18534  func (s *UpdateIntegrationInput) SetPayloadFormatVersion(v string) *UpdateIntegrationInput {
 18535  	s.PayloadFormatVersion = &v
 18536  	return s
 18537  }
 18538  
 18539  // SetRequestParameters sets the RequestParameters field's value.
 18540  func (s *UpdateIntegrationInput) SetRequestParameters(v map[string]*string) *UpdateIntegrationInput {
 18541  	s.RequestParameters = v
 18542  	return s
 18543  }
 18544  
 18545  // SetRequestTemplates sets the RequestTemplates field's value.
 18546  func (s *UpdateIntegrationInput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationInput {
 18547  	s.RequestTemplates = v
 18548  	return s
 18549  }
 18550  
 18551  // SetResponseParameters sets the ResponseParameters field's value.
 18552  func (s *UpdateIntegrationInput) SetResponseParameters(v map[string]map[string]*string) *UpdateIntegrationInput {
 18553  	s.ResponseParameters = v
 18554  	return s
 18555  }
 18556  
 18557  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 18558  func (s *UpdateIntegrationInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationInput {
 18559  	s.TemplateSelectionExpression = &v
 18560  	return s
 18561  }
 18562  
 18563  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
 18564  func (s *UpdateIntegrationInput) SetTimeoutInMillis(v int64) *UpdateIntegrationInput {
 18565  	s.TimeoutInMillis = &v
 18566  	return s
 18567  }
 18568  
 18569  // SetTlsConfig sets the TlsConfig field's value.
 18570  func (s *UpdateIntegrationInput) SetTlsConfig(v *TlsConfigInput) *UpdateIntegrationInput {
 18571  	s.TlsConfig = v
 18572  	return s
 18573  }
 18574  
 18575  type UpdateIntegrationOutput struct {
 18576  	_ struct{} `type:"structure"`
 18577  
 18578  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 18579  
 18580  	// A string with a length between [1-1024].
 18581  	ConnectionId *string `locationName:"connectionId" type:"string"`
 18582  
 18583  	// Represents a connection type.
 18584  	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
 18585  
 18586  	// Specifies how to handle response payload content type conversions. Supported
 18587  	// only for WebSocket APIs.
 18588  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 18589  
 18590  	// Represents an Amazon Resource Name (ARN).
 18591  	CredentialsArn *string `locationName:"credentialsArn" type:"string"`
 18592  
 18593  	// A string with a length between [0-1024].
 18594  	Description *string `locationName:"description" type:"string"`
 18595  
 18596  	// The identifier.
 18597  	IntegrationId *string `locationName:"integrationId" type:"string"`
 18598  
 18599  	// A string with a length between [1-64].
 18600  	IntegrationMethod *string `locationName:"integrationMethod" type:"string"`
 18601  
 18602  	// An expression used to extract information at runtime. See Selection Expressions
 18603  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 18604  	// for more information.
 18605  	IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"`
 18606  
 18607  	// A string with a length between [1-128].
 18608  	IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"`
 18609  
 18610  	// Represents an API method integration type.
 18611  	IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"`
 18612  
 18613  	// A string representation of a URI with a length between [1-2048].
 18614  	IntegrationUri *string `locationName:"integrationUri" type:"string"`
 18615  
 18616  	// Represents passthrough behavior for an integration response. Supported only
 18617  	// for WebSocket APIs.
 18618  	PassthroughBehavior *string `locationName:"passthroughBehavior" type:"string" enum:"PassthroughBehavior"`
 18619  
 18620  	// A string with a length between [1-64].
 18621  	PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"`
 18622  
 18623  	// For WebSocket APIs, a key-value map specifying request parameters that are
 18624  	// passed from the method request to the backend. The key is an integration
 18625  	// request parameter name and the associated value is a method request parameter
 18626  	// value or static value that must be enclosed within single quotes and pre-encoded
 18627  	// as required by the backend. The method request parameter value must match
 18628  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
 18629  	// path, or header; and {name} must be a valid and unique method request parameter
 18630  	// name.
 18631  	//
 18632  	// For HTTP API integrations with a specified integrationSubtype, request parameters
 18633  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
 18634  	// You can provide static values, or map request data, stage variables, or context
 18635  	// variables that are evaluated at runtime. To learn more, see Working with
 18636  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
 18637  	//
 18638  	// For HTTP API integrations without a specified integrationSubtype request
 18639  	// parameters are a key-value map specifying how to transform HTTP requests
 18640  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
 18641  	// where action can be append, overwrite or remove. For values, you can provide
 18642  	// static values, or map request data, stage variables, or context variables
 18643  	// that are evaluated at runtime. To learn more, see Transforming API requests
 18644  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 18645  	RequestParameters map[string]*string `locationName:"requestParameters" type:"map"`
 18646  
 18647  	// A mapping of identifier keys to templates. The value is an actual template
 18648  	// script. The key is typically a SelectionKey which is chosen based on evaluating
 18649  	// a selection expression.
 18650  	RequestTemplates map[string]*string `locationName:"requestTemplates" type:"map"`
 18651  
 18652  	// Supported only for HTTP APIs. You use response parameters to transform the
 18653  	// HTTP response from a backend integration before returning the response to
 18654  	// clients.
 18655  	ResponseParameters map[string]map[string]*string `locationName:"responseParameters" type:"map"`
 18656  
 18657  	// An expression used to extract information at runtime. See Selection Expressions
 18658  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 18659  	// for more information.
 18660  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 18661  
 18662  	// An integer with a value between [50-30000].
 18663  	TimeoutInMillis *int64 `locationName:"timeoutInMillis" min:"50" type:"integer"`
 18664  
 18665  	// The TLS configuration for a private integration. If you specify a TLS configuration,
 18666  	// private integration traffic uses the HTTPS protocol. Supported only for HTTP
 18667  	// APIs.
 18668  	TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"`
 18669  }
 18670  
 18671  // String returns the string representation.
 18672  //
 18673  // API parameter values that are decorated as "sensitive" in the API will not
 18674  // be included in the string output. The member name will be present, but the
 18675  // value will be replaced with "sensitive".
 18676  func (s UpdateIntegrationOutput) String() string {
 18677  	return awsutil.Prettify(s)
 18678  }
 18679  
 18680  // GoString returns the string representation.
 18681  //
 18682  // API parameter values that are decorated as "sensitive" in the API will not
 18683  // be included in the string output. The member name will be present, but the
 18684  // value will be replaced with "sensitive".
 18685  func (s UpdateIntegrationOutput) GoString() string {
 18686  	return s.String()
 18687  }
 18688  
 18689  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 18690  func (s *UpdateIntegrationOutput) SetApiGatewayManaged(v bool) *UpdateIntegrationOutput {
 18691  	s.ApiGatewayManaged = &v
 18692  	return s
 18693  }
 18694  
 18695  // SetConnectionId sets the ConnectionId field's value.
 18696  func (s *UpdateIntegrationOutput) SetConnectionId(v string) *UpdateIntegrationOutput {
 18697  	s.ConnectionId = &v
 18698  	return s
 18699  }
 18700  
 18701  // SetConnectionType sets the ConnectionType field's value.
 18702  func (s *UpdateIntegrationOutput) SetConnectionType(v string) *UpdateIntegrationOutput {
 18703  	s.ConnectionType = &v
 18704  	return s
 18705  }
 18706  
 18707  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 18708  func (s *UpdateIntegrationOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationOutput {
 18709  	s.ContentHandlingStrategy = &v
 18710  	return s
 18711  }
 18712  
 18713  // SetCredentialsArn sets the CredentialsArn field's value.
 18714  func (s *UpdateIntegrationOutput) SetCredentialsArn(v string) *UpdateIntegrationOutput {
 18715  	s.CredentialsArn = &v
 18716  	return s
 18717  }
 18718  
 18719  // SetDescription sets the Description field's value.
 18720  func (s *UpdateIntegrationOutput) SetDescription(v string) *UpdateIntegrationOutput {
 18721  	s.Description = &v
 18722  	return s
 18723  }
 18724  
 18725  // SetIntegrationId sets the IntegrationId field's value.
 18726  func (s *UpdateIntegrationOutput) SetIntegrationId(v string) *UpdateIntegrationOutput {
 18727  	s.IntegrationId = &v
 18728  	return s
 18729  }
 18730  
 18731  // SetIntegrationMethod sets the IntegrationMethod field's value.
 18732  func (s *UpdateIntegrationOutput) SetIntegrationMethod(v string) *UpdateIntegrationOutput {
 18733  	s.IntegrationMethod = &v
 18734  	return s
 18735  }
 18736  
 18737  // SetIntegrationResponseSelectionExpression sets the IntegrationResponseSelectionExpression field's value.
 18738  func (s *UpdateIntegrationOutput) SetIntegrationResponseSelectionExpression(v string) *UpdateIntegrationOutput {
 18739  	s.IntegrationResponseSelectionExpression = &v
 18740  	return s
 18741  }
 18742  
 18743  // SetIntegrationSubtype sets the IntegrationSubtype field's value.
 18744  func (s *UpdateIntegrationOutput) SetIntegrationSubtype(v string) *UpdateIntegrationOutput {
 18745  	s.IntegrationSubtype = &v
 18746  	return s
 18747  }
 18748  
 18749  // SetIntegrationType sets the IntegrationType field's value.
 18750  func (s *UpdateIntegrationOutput) SetIntegrationType(v string) *UpdateIntegrationOutput {
 18751  	s.IntegrationType = &v
 18752  	return s
 18753  }
 18754  
 18755  // SetIntegrationUri sets the IntegrationUri field's value.
 18756  func (s *UpdateIntegrationOutput) SetIntegrationUri(v string) *UpdateIntegrationOutput {
 18757  	s.IntegrationUri = &v
 18758  	return s
 18759  }
 18760  
 18761  // SetPassthroughBehavior sets the PassthroughBehavior field's value.
 18762  func (s *UpdateIntegrationOutput) SetPassthroughBehavior(v string) *UpdateIntegrationOutput {
 18763  	s.PassthroughBehavior = &v
 18764  	return s
 18765  }
 18766  
 18767  // SetPayloadFormatVersion sets the PayloadFormatVersion field's value.
 18768  func (s *UpdateIntegrationOutput) SetPayloadFormatVersion(v string) *UpdateIntegrationOutput {
 18769  	s.PayloadFormatVersion = &v
 18770  	return s
 18771  }
 18772  
 18773  // SetRequestParameters sets the RequestParameters field's value.
 18774  func (s *UpdateIntegrationOutput) SetRequestParameters(v map[string]*string) *UpdateIntegrationOutput {
 18775  	s.RequestParameters = v
 18776  	return s
 18777  }
 18778  
 18779  // SetRequestTemplates sets the RequestTemplates field's value.
 18780  func (s *UpdateIntegrationOutput) SetRequestTemplates(v map[string]*string) *UpdateIntegrationOutput {
 18781  	s.RequestTemplates = v
 18782  	return s
 18783  }
 18784  
 18785  // SetResponseParameters sets the ResponseParameters field's value.
 18786  func (s *UpdateIntegrationOutput) SetResponseParameters(v map[string]map[string]*string) *UpdateIntegrationOutput {
 18787  	s.ResponseParameters = v
 18788  	return s
 18789  }
 18790  
 18791  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 18792  func (s *UpdateIntegrationOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationOutput {
 18793  	s.TemplateSelectionExpression = &v
 18794  	return s
 18795  }
 18796  
 18797  // SetTimeoutInMillis sets the TimeoutInMillis field's value.
 18798  func (s *UpdateIntegrationOutput) SetTimeoutInMillis(v int64) *UpdateIntegrationOutput {
 18799  	s.TimeoutInMillis = &v
 18800  	return s
 18801  }
 18802  
 18803  // SetTlsConfig sets the TlsConfig field's value.
 18804  func (s *UpdateIntegrationOutput) SetTlsConfig(v *TlsConfig) *UpdateIntegrationOutput {
 18805  	s.TlsConfig = v
 18806  	return s
 18807  }
 18808  
 18809  type UpdateIntegrationResponseInput struct {
 18810  	_ struct{} `type:"structure"`
 18811  
 18812  	// ApiId is a required field
 18813  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 18814  
 18815  	// Specifies how to handle response payload content type conversions. Supported
 18816  	// only for WebSocket APIs.
 18817  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 18818  
 18819  	// IntegrationId is a required field
 18820  	IntegrationId *string `location:"uri" locationName:"integrationId" type:"string" required:"true"`
 18821  
 18822  	// IntegrationResponseId is a required field
 18823  	IntegrationResponseId *string `location:"uri" locationName:"integrationResponseId" type:"string" required:"true"`
 18824  
 18825  	// After evaluating a selection expression, the result is compared against one
 18826  	// or more selection keys to find a matching key. See Selection Expressions
 18827  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 18828  	// for a list of expressions and each expression's associated selection key
 18829  	// type.
 18830  	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
 18831  
 18832  	// For WebSocket APIs, a key-value map specifying request parameters that are
 18833  	// passed from the method request to the backend. The key is an integration
 18834  	// request parameter name and the associated value is a method request parameter
 18835  	// value or static value that must be enclosed within single quotes and pre-encoded
 18836  	// as required by the backend. The method request parameter value must match
 18837  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
 18838  	// path, or header; and {name} must be a valid and unique method request parameter
 18839  	// name.
 18840  	//
 18841  	// For HTTP API integrations with a specified integrationSubtype, request parameters
 18842  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
 18843  	// You can provide static values, or map request data, stage variables, or context
 18844  	// variables that are evaluated at runtime. To learn more, see Working with
 18845  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
 18846  	//
 18847  	// For HTTP API integrations without a specified integrationSubtype request
 18848  	// parameters are a key-value map specifying how to transform HTTP requests
 18849  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
 18850  	// where action can be append, overwrite or remove. For values, you can provide
 18851  	// static values, or map request data, stage variables, or context variables
 18852  	// that are evaluated at runtime. To learn more, see Transforming API requests
 18853  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 18854  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 18855  
 18856  	// A mapping of identifier keys to templates. The value is an actual template
 18857  	// script. The key is typically a SelectionKey which is chosen based on evaluating
 18858  	// a selection expression.
 18859  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 18860  
 18861  	// An expression used to extract information at runtime. See Selection Expressions
 18862  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 18863  	// for more information.
 18864  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 18865  }
 18866  
 18867  // String returns the string representation.
 18868  //
 18869  // API parameter values that are decorated as "sensitive" in the API will not
 18870  // be included in the string output. The member name will be present, but the
 18871  // value will be replaced with "sensitive".
 18872  func (s UpdateIntegrationResponseInput) String() string {
 18873  	return awsutil.Prettify(s)
 18874  }
 18875  
 18876  // GoString returns the string representation.
 18877  //
 18878  // API parameter values that are decorated as "sensitive" in the API will not
 18879  // be included in the string output. The member name will be present, but the
 18880  // value will be replaced with "sensitive".
 18881  func (s UpdateIntegrationResponseInput) GoString() string {
 18882  	return s.String()
 18883  }
 18884  
 18885  // Validate inspects the fields of the type to determine if they are valid.
 18886  func (s *UpdateIntegrationResponseInput) Validate() error {
 18887  	invalidParams := request.ErrInvalidParams{Context: "UpdateIntegrationResponseInput"}
 18888  	if s.ApiId == nil {
 18889  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 18890  	}
 18891  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 18892  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 18893  	}
 18894  	if s.IntegrationId == nil {
 18895  		invalidParams.Add(request.NewErrParamRequired("IntegrationId"))
 18896  	}
 18897  	if s.IntegrationId != nil && len(*s.IntegrationId) < 1 {
 18898  		invalidParams.Add(request.NewErrParamMinLen("IntegrationId", 1))
 18899  	}
 18900  	if s.IntegrationResponseId == nil {
 18901  		invalidParams.Add(request.NewErrParamRequired("IntegrationResponseId"))
 18902  	}
 18903  	if s.IntegrationResponseId != nil && len(*s.IntegrationResponseId) < 1 {
 18904  		invalidParams.Add(request.NewErrParamMinLen("IntegrationResponseId", 1))
 18905  	}
 18906  
 18907  	if invalidParams.Len() > 0 {
 18908  		return invalidParams
 18909  	}
 18910  	return nil
 18911  }
 18912  
 18913  // SetApiId sets the ApiId field's value.
 18914  func (s *UpdateIntegrationResponseInput) SetApiId(v string) *UpdateIntegrationResponseInput {
 18915  	s.ApiId = &v
 18916  	return s
 18917  }
 18918  
 18919  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 18920  func (s *UpdateIntegrationResponseInput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseInput {
 18921  	s.ContentHandlingStrategy = &v
 18922  	return s
 18923  }
 18924  
 18925  // SetIntegrationId sets the IntegrationId field's value.
 18926  func (s *UpdateIntegrationResponseInput) SetIntegrationId(v string) *UpdateIntegrationResponseInput {
 18927  	s.IntegrationId = &v
 18928  	return s
 18929  }
 18930  
 18931  // SetIntegrationResponseId sets the IntegrationResponseId field's value.
 18932  func (s *UpdateIntegrationResponseInput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseInput {
 18933  	s.IntegrationResponseId = &v
 18934  	return s
 18935  }
 18936  
 18937  // SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
 18938  func (s *UpdateIntegrationResponseInput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseInput {
 18939  	s.IntegrationResponseKey = &v
 18940  	return s
 18941  }
 18942  
 18943  // SetResponseParameters sets the ResponseParameters field's value.
 18944  func (s *UpdateIntegrationResponseInput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseInput {
 18945  	s.ResponseParameters = v
 18946  	return s
 18947  }
 18948  
 18949  // SetResponseTemplates sets the ResponseTemplates field's value.
 18950  func (s *UpdateIntegrationResponseInput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseInput {
 18951  	s.ResponseTemplates = v
 18952  	return s
 18953  }
 18954  
 18955  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 18956  func (s *UpdateIntegrationResponseInput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseInput {
 18957  	s.TemplateSelectionExpression = &v
 18958  	return s
 18959  }
 18960  
 18961  type UpdateIntegrationResponseOutput struct {
 18962  	_ struct{} `type:"structure"`
 18963  
 18964  	// Specifies how to handle response payload content type conversions. Supported
 18965  	// only for WebSocket APIs.
 18966  	ContentHandlingStrategy *string `locationName:"contentHandlingStrategy" type:"string" enum:"ContentHandlingStrategy"`
 18967  
 18968  	// The identifier.
 18969  	IntegrationResponseId *string `locationName:"integrationResponseId" type:"string"`
 18970  
 18971  	// After evaluating a selection expression, the result is compared against one
 18972  	// or more selection keys to find a matching key. See Selection Expressions
 18973  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 18974  	// for a list of expressions and each expression's associated selection key
 18975  	// type.
 18976  	IntegrationResponseKey *string `locationName:"integrationResponseKey" type:"string"`
 18977  
 18978  	// For WebSocket APIs, a key-value map specifying request parameters that are
 18979  	// passed from the method request to the backend. The key is an integration
 18980  	// request parameter name and the associated value is a method request parameter
 18981  	// value or static value that must be enclosed within single quotes and pre-encoded
 18982  	// as required by the backend. The method request parameter value must match
 18983  	// the pattern of method.request.{location}.{name} , where {location} is querystring,
 18984  	// path, or header; and {name} must be a valid and unique method request parameter
 18985  	// name.
 18986  	//
 18987  	// For HTTP API integrations with a specified integrationSubtype, request parameters
 18988  	// are a key-value map specifying parameters that are passed to AWS_PROXY integrations.
 18989  	// You can provide static values, or map request data, stage variables, or context
 18990  	// variables that are evaluated at runtime. To learn more, see Working with
 18991  	// AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html).
 18992  	//
 18993  	// For HTTP API integrations without a specified integrationSubtype request
 18994  	// parameters are a key-value map specifying how to transform HTTP requests
 18995  	// before sending them to the backend. The key should follow the pattern <action>:<header|querystring|path>.<location>
 18996  	// where action can be append, overwrite or remove. For values, you can provide
 18997  	// static values, or map request data, stage variables, or context variables
 18998  	// that are evaluated at runtime. To learn more, see Transforming API requests
 18999  	// and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
 19000  	ResponseParameters map[string]*string `locationName:"responseParameters" type:"map"`
 19001  
 19002  	// A mapping of identifier keys to templates. The value is an actual template
 19003  	// script. The key is typically a SelectionKey which is chosen based on evaluating
 19004  	// a selection expression.
 19005  	ResponseTemplates map[string]*string `locationName:"responseTemplates" type:"map"`
 19006  
 19007  	// An expression used to extract information at runtime. See Selection Expressions
 19008  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19009  	// for more information.
 19010  	TemplateSelectionExpression *string `locationName:"templateSelectionExpression" type:"string"`
 19011  }
 19012  
 19013  // String returns the string representation.
 19014  //
 19015  // API parameter values that are decorated as "sensitive" in the API will not
 19016  // be included in the string output. The member name will be present, but the
 19017  // value will be replaced with "sensitive".
 19018  func (s UpdateIntegrationResponseOutput) String() string {
 19019  	return awsutil.Prettify(s)
 19020  }
 19021  
 19022  // GoString returns the string representation.
 19023  //
 19024  // API parameter values that are decorated as "sensitive" in the API will not
 19025  // be included in the string output. The member name will be present, but the
 19026  // value will be replaced with "sensitive".
 19027  func (s UpdateIntegrationResponseOutput) GoString() string {
 19028  	return s.String()
 19029  }
 19030  
 19031  // SetContentHandlingStrategy sets the ContentHandlingStrategy field's value.
 19032  func (s *UpdateIntegrationResponseOutput) SetContentHandlingStrategy(v string) *UpdateIntegrationResponseOutput {
 19033  	s.ContentHandlingStrategy = &v
 19034  	return s
 19035  }
 19036  
 19037  // SetIntegrationResponseId sets the IntegrationResponseId field's value.
 19038  func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseId(v string) *UpdateIntegrationResponseOutput {
 19039  	s.IntegrationResponseId = &v
 19040  	return s
 19041  }
 19042  
 19043  // SetIntegrationResponseKey sets the IntegrationResponseKey field's value.
 19044  func (s *UpdateIntegrationResponseOutput) SetIntegrationResponseKey(v string) *UpdateIntegrationResponseOutput {
 19045  	s.IntegrationResponseKey = &v
 19046  	return s
 19047  }
 19048  
 19049  // SetResponseParameters sets the ResponseParameters field's value.
 19050  func (s *UpdateIntegrationResponseOutput) SetResponseParameters(v map[string]*string) *UpdateIntegrationResponseOutput {
 19051  	s.ResponseParameters = v
 19052  	return s
 19053  }
 19054  
 19055  // SetResponseTemplates sets the ResponseTemplates field's value.
 19056  func (s *UpdateIntegrationResponseOutput) SetResponseTemplates(v map[string]*string) *UpdateIntegrationResponseOutput {
 19057  	s.ResponseTemplates = v
 19058  	return s
 19059  }
 19060  
 19061  // SetTemplateSelectionExpression sets the TemplateSelectionExpression field's value.
 19062  func (s *UpdateIntegrationResponseOutput) SetTemplateSelectionExpression(v string) *UpdateIntegrationResponseOutput {
 19063  	s.TemplateSelectionExpression = &v
 19064  	return s
 19065  }
 19066  
 19067  type UpdateModelInput struct {
 19068  	_ struct{} `type:"structure"`
 19069  
 19070  	// ApiId is a required field
 19071  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 19072  
 19073  	// A string with a length between [1-256].
 19074  	ContentType *string `locationName:"contentType" type:"string"`
 19075  
 19076  	// A string with a length between [0-1024].
 19077  	Description *string `locationName:"description" type:"string"`
 19078  
 19079  	// ModelId is a required field
 19080  	ModelId *string `location:"uri" locationName:"modelId" type:"string" required:"true"`
 19081  
 19082  	// A string with a length between [1-128].
 19083  	Name *string `locationName:"name" type:"string"`
 19084  
 19085  	// A string with a length between [0-32768].
 19086  	Schema *string `locationName:"schema" type:"string"`
 19087  }
 19088  
 19089  // String returns the string representation.
 19090  //
 19091  // API parameter values that are decorated as "sensitive" in the API will not
 19092  // be included in the string output. The member name will be present, but the
 19093  // value will be replaced with "sensitive".
 19094  func (s UpdateModelInput) String() string {
 19095  	return awsutil.Prettify(s)
 19096  }
 19097  
 19098  // GoString returns the string representation.
 19099  //
 19100  // API parameter values that are decorated as "sensitive" in the API will not
 19101  // be included in the string output. The member name will be present, but the
 19102  // value will be replaced with "sensitive".
 19103  func (s UpdateModelInput) GoString() string {
 19104  	return s.String()
 19105  }
 19106  
 19107  // Validate inspects the fields of the type to determine if they are valid.
 19108  func (s *UpdateModelInput) Validate() error {
 19109  	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
 19110  	if s.ApiId == nil {
 19111  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 19112  	}
 19113  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 19114  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 19115  	}
 19116  	if s.ModelId == nil {
 19117  		invalidParams.Add(request.NewErrParamRequired("ModelId"))
 19118  	}
 19119  	if s.ModelId != nil && len(*s.ModelId) < 1 {
 19120  		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
 19121  	}
 19122  
 19123  	if invalidParams.Len() > 0 {
 19124  		return invalidParams
 19125  	}
 19126  	return nil
 19127  }
 19128  
 19129  // SetApiId sets the ApiId field's value.
 19130  func (s *UpdateModelInput) SetApiId(v string) *UpdateModelInput {
 19131  	s.ApiId = &v
 19132  	return s
 19133  }
 19134  
 19135  // SetContentType sets the ContentType field's value.
 19136  func (s *UpdateModelInput) SetContentType(v string) *UpdateModelInput {
 19137  	s.ContentType = &v
 19138  	return s
 19139  }
 19140  
 19141  // SetDescription sets the Description field's value.
 19142  func (s *UpdateModelInput) SetDescription(v string) *UpdateModelInput {
 19143  	s.Description = &v
 19144  	return s
 19145  }
 19146  
 19147  // SetModelId sets the ModelId field's value.
 19148  func (s *UpdateModelInput) SetModelId(v string) *UpdateModelInput {
 19149  	s.ModelId = &v
 19150  	return s
 19151  }
 19152  
 19153  // SetName sets the Name field's value.
 19154  func (s *UpdateModelInput) SetName(v string) *UpdateModelInput {
 19155  	s.Name = &v
 19156  	return s
 19157  }
 19158  
 19159  // SetSchema sets the Schema field's value.
 19160  func (s *UpdateModelInput) SetSchema(v string) *UpdateModelInput {
 19161  	s.Schema = &v
 19162  	return s
 19163  }
 19164  
 19165  type UpdateModelOutput struct {
 19166  	_ struct{} `type:"structure"`
 19167  
 19168  	// A string with a length between [1-256].
 19169  	ContentType *string `locationName:"contentType" type:"string"`
 19170  
 19171  	// A string with a length between [0-1024].
 19172  	Description *string `locationName:"description" type:"string"`
 19173  
 19174  	// The identifier.
 19175  	ModelId *string `locationName:"modelId" type:"string"`
 19176  
 19177  	// A string with a length between [1-128].
 19178  	Name *string `locationName:"name" type:"string"`
 19179  
 19180  	// A string with a length between [0-32768].
 19181  	Schema *string `locationName:"schema" type:"string"`
 19182  }
 19183  
 19184  // String returns the string representation.
 19185  //
 19186  // API parameter values that are decorated as "sensitive" in the API will not
 19187  // be included in the string output. The member name will be present, but the
 19188  // value will be replaced with "sensitive".
 19189  func (s UpdateModelOutput) String() string {
 19190  	return awsutil.Prettify(s)
 19191  }
 19192  
 19193  // GoString returns the string representation.
 19194  //
 19195  // API parameter values that are decorated as "sensitive" in the API will not
 19196  // be included in the string output. The member name will be present, but the
 19197  // value will be replaced with "sensitive".
 19198  func (s UpdateModelOutput) GoString() string {
 19199  	return s.String()
 19200  }
 19201  
 19202  // SetContentType sets the ContentType field's value.
 19203  func (s *UpdateModelOutput) SetContentType(v string) *UpdateModelOutput {
 19204  	s.ContentType = &v
 19205  	return s
 19206  }
 19207  
 19208  // SetDescription sets the Description field's value.
 19209  func (s *UpdateModelOutput) SetDescription(v string) *UpdateModelOutput {
 19210  	s.Description = &v
 19211  	return s
 19212  }
 19213  
 19214  // SetModelId sets the ModelId field's value.
 19215  func (s *UpdateModelOutput) SetModelId(v string) *UpdateModelOutput {
 19216  	s.ModelId = &v
 19217  	return s
 19218  }
 19219  
 19220  // SetName sets the Name field's value.
 19221  func (s *UpdateModelOutput) SetName(v string) *UpdateModelOutput {
 19222  	s.Name = &v
 19223  	return s
 19224  }
 19225  
 19226  // SetSchema sets the Schema field's value.
 19227  func (s *UpdateModelOutput) SetSchema(v string) *UpdateModelOutput {
 19228  	s.Schema = &v
 19229  	return s
 19230  }
 19231  
 19232  type UpdateRouteInput struct {
 19233  	_ struct{} `type:"structure"`
 19234  
 19235  	// ApiId is a required field
 19236  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 19237  
 19238  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
 19239  
 19240  	// A list of authorization scopes configured on a route. The scopes are used
 19241  	// with a JWT authorizer to authorize the method invocation. The authorization
 19242  	// works by matching the route scopes against the scopes parsed from the access
 19243  	// token in the incoming request. The method invocation is authorized if any
 19244  	// route scope matches a claimed scope in the access token. Otherwise, the invocation
 19245  	// is not authorized. When the route scope is configured, the client must provide
 19246  	// an access token instead of an identity token for authorization purposes.
 19247  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
 19248  
 19249  	// The authorization type. For WebSocket APIs, valid values are NONE for open
 19250  	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
 19251  	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
 19252  	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
 19253  	// for using a Lambda authorizer.
 19254  	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
 19255  
 19256  	// The identifier.
 19257  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 19258  
 19259  	// An expression used to extract information at runtime. See Selection Expressions
 19260  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19261  	// for more information.
 19262  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 19263  
 19264  	// A string with a length between [1-64].
 19265  	OperationName *string `locationName:"operationName" type:"string"`
 19266  
 19267  	// The route models.
 19268  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
 19269  
 19270  	// The route parameters.
 19271  	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
 19272  
 19273  	// RouteId is a required field
 19274  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 19275  
 19276  	// After evaluating a selection expression, the result is compared against one
 19277  	// or more selection keys to find a matching key. See Selection Expressions
 19278  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19279  	// for a list of expressions and each expression's associated selection key
 19280  	// type.
 19281  	RouteKey *string `locationName:"routeKey" type:"string"`
 19282  
 19283  	// An expression used to extract information at runtime. See Selection Expressions
 19284  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19285  	// for more information.
 19286  	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
 19287  
 19288  	// A string with a length between [1-128].
 19289  	Target *string `locationName:"target" type:"string"`
 19290  }
 19291  
 19292  // String returns the string representation.
 19293  //
 19294  // API parameter values that are decorated as "sensitive" in the API will not
 19295  // be included in the string output. The member name will be present, but the
 19296  // value will be replaced with "sensitive".
 19297  func (s UpdateRouteInput) String() string {
 19298  	return awsutil.Prettify(s)
 19299  }
 19300  
 19301  // GoString returns the string representation.
 19302  //
 19303  // API parameter values that are decorated as "sensitive" in the API will not
 19304  // be included in the string output. The member name will be present, but the
 19305  // value will be replaced with "sensitive".
 19306  func (s UpdateRouteInput) GoString() string {
 19307  	return s.String()
 19308  }
 19309  
 19310  // Validate inspects the fields of the type to determine if they are valid.
 19311  func (s *UpdateRouteInput) Validate() error {
 19312  	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"}
 19313  	if s.ApiId == nil {
 19314  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 19315  	}
 19316  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 19317  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 19318  	}
 19319  	if s.RouteId == nil {
 19320  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 19321  	}
 19322  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 19323  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 19324  	}
 19325  
 19326  	if invalidParams.Len() > 0 {
 19327  		return invalidParams
 19328  	}
 19329  	return nil
 19330  }
 19331  
 19332  // SetApiId sets the ApiId field's value.
 19333  func (s *UpdateRouteInput) SetApiId(v string) *UpdateRouteInput {
 19334  	s.ApiId = &v
 19335  	return s
 19336  }
 19337  
 19338  // SetApiKeyRequired sets the ApiKeyRequired field's value.
 19339  func (s *UpdateRouteInput) SetApiKeyRequired(v bool) *UpdateRouteInput {
 19340  	s.ApiKeyRequired = &v
 19341  	return s
 19342  }
 19343  
 19344  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
 19345  func (s *UpdateRouteInput) SetAuthorizationScopes(v []*string) *UpdateRouteInput {
 19346  	s.AuthorizationScopes = v
 19347  	return s
 19348  }
 19349  
 19350  // SetAuthorizationType sets the AuthorizationType field's value.
 19351  func (s *UpdateRouteInput) SetAuthorizationType(v string) *UpdateRouteInput {
 19352  	s.AuthorizationType = &v
 19353  	return s
 19354  }
 19355  
 19356  // SetAuthorizerId sets the AuthorizerId field's value.
 19357  func (s *UpdateRouteInput) SetAuthorizerId(v string) *UpdateRouteInput {
 19358  	s.AuthorizerId = &v
 19359  	return s
 19360  }
 19361  
 19362  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 19363  func (s *UpdateRouteInput) SetModelSelectionExpression(v string) *UpdateRouteInput {
 19364  	s.ModelSelectionExpression = &v
 19365  	return s
 19366  }
 19367  
 19368  // SetOperationName sets the OperationName field's value.
 19369  func (s *UpdateRouteInput) SetOperationName(v string) *UpdateRouteInput {
 19370  	s.OperationName = &v
 19371  	return s
 19372  }
 19373  
 19374  // SetRequestModels sets the RequestModels field's value.
 19375  func (s *UpdateRouteInput) SetRequestModels(v map[string]*string) *UpdateRouteInput {
 19376  	s.RequestModels = v
 19377  	return s
 19378  }
 19379  
 19380  // SetRequestParameters sets the RequestParameters field's value.
 19381  func (s *UpdateRouteInput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteInput {
 19382  	s.RequestParameters = v
 19383  	return s
 19384  }
 19385  
 19386  // SetRouteId sets the RouteId field's value.
 19387  func (s *UpdateRouteInput) SetRouteId(v string) *UpdateRouteInput {
 19388  	s.RouteId = &v
 19389  	return s
 19390  }
 19391  
 19392  // SetRouteKey sets the RouteKey field's value.
 19393  func (s *UpdateRouteInput) SetRouteKey(v string) *UpdateRouteInput {
 19394  	s.RouteKey = &v
 19395  	return s
 19396  }
 19397  
 19398  // SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
 19399  func (s *UpdateRouteInput) SetRouteResponseSelectionExpression(v string) *UpdateRouteInput {
 19400  	s.RouteResponseSelectionExpression = &v
 19401  	return s
 19402  }
 19403  
 19404  // SetTarget sets the Target field's value.
 19405  func (s *UpdateRouteInput) SetTarget(v string) *UpdateRouteInput {
 19406  	s.Target = &v
 19407  	return s
 19408  }
 19409  
 19410  type UpdateRouteOutput struct {
 19411  	_ struct{} `type:"structure"`
 19412  
 19413  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 19414  
 19415  	ApiKeyRequired *bool `locationName:"apiKeyRequired" type:"boolean"`
 19416  
 19417  	// A list of authorization scopes configured on a route. The scopes are used
 19418  	// with a JWT authorizer to authorize the method invocation. The authorization
 19419  	// works by matching the route scopes against the scopes parsed from the access
 19420  	// token in the incoming request. The method invocation is authorized if any
 19421  	// route scope matches a claimed scope in the access token. Otherwise, the invocation
 19422  	// is not authorized. When the route scope is configured, the client must provide
 19423  	// an access token instead of an identity token for authorization purposes.
 19424  	AuthorizationScopes []*string `locationName:"authorizationScopes" type:"list"`
 19425  
 19426  	// The authorization type. For WebSocket APIs, valid values are NONE for open
 19427  	// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
 19428  	// authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
 19429  	// using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
 19430  	// for using a Lambda authorizer.
 19431  	AuthorizationType *string `locationName:"authorizationType" type:"string" enum:"AuthorizationType"`
 19432  
 19433  	// The identifier.
 19434  	AuthorizerId *string `locationName:"authorizerId" type:"string"`
 19435  
 19436  	// An expression used to extract information at runtime. See Selection Expressions
 19437  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19438  	// for more information.
 19439  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 19440  
 19441  	// A string with a length between [1-64].
 19442  	OperationName *string `locationName:"operationName" type:"string"`
 19443  
 19444  	// The route models.
 19445  	RequestModels map[string]*string `locationName:"requestModels" type:"map"`
 19446  
 19447  	// The route parameters.
 19448  	RequestParameters map[string]*ParameterConstraints `locationName:"requestParameters" type:"map"`
 19449  
 19450  	// The identifier.
 19451  	RouteId *string `locationName:"routeId" type:"string"`
 19452  
 19453  	// After evaluating a selection expression, the result is compared against one
 19454  	// or more selection keys to find a matching key. See Selection Expressions
 19455  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19456  	// for a list of expressions and each expression's associated selection key
 19457  	// type.
 19458  	RouteKey *string `locationName:"routeKey" type:"string"`
 19459  
 19460  	// An expression used to extract information at runtime. See Selection Expressions
 19461  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19462  	// for more information.
 19463  	RouteResponseSelectionExpression *string `locationName:"routeResponseSelectionExpression" type:"string"`
 19464  
 19465  	// A string with a length between [1-128].
 19466  	Target *string `locationName:"target" type:"string"`
 19467  }
 19468  
 19469  // String returns the string representation.
 19470  //
 19471  // API parameter values that are decorated as "sensitive" in the API will not
 19472  // be included in the string output. The member name will be present, but the
 19473  // value will be replaced with "sensitive".
 19474  func (s UpdateRouteOutput) String() string {
 19475  	return awsutil.Prettify(s)
 19476  }
 19477  
 19478  // GoString returns the string representation.
 19479  //
 19480  // API parameter values that are decorated as "sensitive" in the API will not
 19481  // be included in the string output. The member name will be present, but the
 19482  // value will be replaced with "sensitive".
 19483  func (s UpdateRouteOutput) GoString() string {
 19484  	return s.String()
 19485  }
 19486  
 19487  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 19488  func (s *UpdateRouteOutput) SetApiGatewayManaged(v bool) *UpdateRouteOutput {
 19489  	s.ApiGatewayManaged = &v
 19490  	return s
 19491  }
 19492  
 19493  // SetApiKeyRequired sets the ApiKeyRequired field's value.
 19494  func (s *UpdateRouteOutput) SetApiKeyRequired(v bool) *UpdateRouteOutput {
 19495  	s.ApiKeyRequired = &v
 19496  	return s
 19497  }
 19498  
 19499  // SetAuthorizationScopes sets the AuthorizationScopes field's value.
 19500  func (s *UpdateRouteOutput) SetAuthorizationScopes(v []*string) *UpdateRouteOutput {
 19501  	s.AuthorizationScopes = v
 19502  	return s
 19503  }
 19504  
 19505  // SetAuthorizationType sets the AuthorizationType field's value.
 19506  func (s *UpdateRouteOutput) SetAuthorizationType(v string) *UpdateRouteOutput {
 19507  	s.AuthorizationType = &v
 19508  	return s
 19509  }
 19510  
 19511  // SetAuthorizerId sets the AuthorizerId field's value.
 19512  func (s *UpdateRouteOutput) SetAuthorizerId(v string) *UpdateRouteOutput {
 19513  	s.AuthorizerId = &v
 19514  	return s
 19515  }
 19516  
 19517  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 19518  func (s *UpdateRouteOutput) SetModelSelectionExpression(v string) *UpdateRouteOutput {
 19519  	s.ModelSelectionExpression = &v
 19520  	return s
 19521  }
 19522  
 19523  // SetOperationName sets the OperationName field's value.
 19524  func (s *UpdateRouteOutput) SetOperationName(v string) *UpdateRouteOutput {
 19525  	s.OperationName = &v
 19526  	return s
 19527  }
 19528  
 19529  // SetRequestModels sets the RequestModels field's value.
 19530  func (s *UpdateRouteOutput) SetRequestModels(v map[string]*string) *UpdateRouteOutput {
 19531  	s.RequestModels = v
 19532  	return s
 19533  }
 19534  
 19535  // SetRequestParameters sets the RequestParameters field's value.
 19536  func (s *UpdateRouteOutput) SetRequestParameters(v map[string]*ParameterConstraints) *UpdateRouteOutput {
 19537  	s.RequestParameters = v
 19538  	return s
 19539  }
 19540  
 19541  // SetRouteId sets the RouteId field's value.
 19542  func (s *UpdateRouteOutput) SetRouteId(v string) *UpdateRouteOutput {
 19543  	s.RouteId = &v
 19544  	return s
 19545  }
 19546  
 19547  // SetRouteKey sets the RouteKey field's value.
 19548  func (s *UpdateRouteOutput) SetRouteKey(v string) *UpdateRouteOutput {
 19549  	s.RouteKey = &v
 19550  	return s
 19551  }
 19552  
 19553  // SetRouteResponseSelectionExpression sets the RouteResponseSelectionExpression field's value.
 19554  func (s *UpdateRouteOutput) SetRouteResponseSelectionExpression(v string) *UpdateRouteOutput {
 19555  	s.RouteResponseSelectionExpression = &v
 19556  	return s
 19557  }
 19558  
 19559  // SetTarget sets the Target field's value.
 19560  func (s *UpdateRouteOutput) SetTarget(v string) *UpdateRouteOutput {
 19561  	s.Target = &v
 19562  	return s
 19563  }
 19564  
 19565  type UpdateRouteResponseInput struct {
 19566  	_ struct{} `type:"structure"`
 19567  
 19568  	// ApiId is a required field
 19569  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 19570  
 19571  	// An expression used to extract information at runtime. See Selection Expressions
 19572  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19573  	// for more information.
 19574  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 19575  
 19576  	// The route models.
 19577  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
 19578  
 19579  	// The route parameters.
 19580  	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
 19581  
 19582  	// RouteId is a required field
 19583  	RouteId *string `location:"uri" locationName:"routeId" type:"string" required:"true"`
 19584  
 19585  	// RouteResponseId is a required field
 19586  	RouteResponseId *string `location:"uri" locationName:"routeResponseId" type:"string" required:"true"`
 19587  
 19588  	// After evaluating a selection expression, the result is compared against one
 19589  	// or more selection keys to find a matching key. See Selection Expressions
 19590  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19591  	// for a list of expressions and each expression's associated selection key
 19592  	// type.
 19593  	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
 19594  }
 19595  
 19596  // String returns the string representation.
 19597  //
 19598  // API parameter values that are decorated as "sensitive" in the API will not
 19599  // be included in the string output. The member name will be present, but the
 19600  // value will be replaced with "sensitive".
 19601  func (s UpdateRouteResponseInput) String() string {
 19602  	return awsutil.Prettify(s)
 19603  }
 19604  
 19605  // GoString returns the string representation.
 19606  //
 19607  // API parameter values that are decorated as "sensitive" in the API will not
 19608  // be included in the string output. The member name will be present, but the
 19609  // value will be replaced with "sensitive".
 19610  func (s UpdateRouteResponseInput) GoString() string {
 19611  	return s.String()
 19612  }
 19613  
 19614  // Validate inspects the fields of the type to determine if they are valid.
 19615  func (s *UpdateRouteResponseInput) Validate() error {
 19616  	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteResponseInput"}
 19617  	if s.ApiId == nil {
 19618  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 19619  	}
 19620  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 19621  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 19622  	}
 19623  	if s.RouteId == nil {
 19624  		invalidParams.Add(request.NewErrParamRequired("RouteId"))
 19625  	}
 19626  	if s.RouteId != nil && len(*s.RouteId) < 1 {
 19627  		invalidParams.Add(request.NewErrParamMinLen("RouteId", 1))
 19628  	}
 19629  	if s.RouteResponseId == nil {
 19630  		invalidParams.Add(request.NewErrParamRequired("RouteResponseId"))
 19631  	}
 19632  	if s.RouteResponseId != nil && len(*s.RouteResponseId) < 1 {
 19633  		invalidParams.Add(request.NewErrParamMinLen("RouteResponseId", 1))
 19634  	}
 19635  
 19636  	if invalidParams.Len() > 0 {
 19637  		return invalidParams
 19638  	}
 19639  	return nil
 19640  }
 19641  
 19642  // SetApiId sets the ApiId field's value.
 19643  func (s *UpdateRouteResponseInput) SetApiId(v string) *UpdateRouteResponseInput {
 19644  	s.ApiId = &v
 19645  	return s
 19646  }
 19647  
 19648  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 19649  func (s *UpdateRouteResponseInput) SetModelSelectionExpression(v string) *UpdateRouteResponseInput {
 19650  	s.ModelSelectionExpression = &v
 19651  	return s
 19652  }
 19653  
 19654  // SetResponseModels sets the ResponseModels field's value.
 19655  func (s *UpdateRouteResponseInput) SetResponseModels(v map[string]*string) *UpdateRouteResponseInput {
 19656  	s.ResponseModels = v
 19657  	return s
 19658  }
 19659  
 19660  // SetResponseParameters sets the ResponseParameters field's value.
 19661  func (s *UpdateRouteResponseInput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseInput {
 19662  	s.ResponseParameters = v
 19663  	return s
 19664  }
 19665  
 19666  // SetRouteId sets the RouteId field's value.
 19667  func (s *UpdateRouteResponseInput) SetRouteId(v string) *UpdateRouteResponseInput {
 19668  	s.RouteId = &v
 19669  	return s
 19670  }
 19671  
 19672  // SetRouteResponseId sets the RouteResponseId field's value.
 19673  func (s *UpdateRouteResponseInput) SetRouteResponseId(v string) *UpdateRouteResponseInput {
 19674  	s.RouteResponseId = &v
 19675  	return s
 19676  }
 19677  
 19678  // SetRouteResponseKey sets the RouteResponseKey field's value.
 19679  func (s *UpdateRouteResponseInput) SetRouteResponseKey(v string) *UpdateRouteResponseInput {
 19680  	s.RouteResponseKey = &v
 19681  	return s
 19682  }
 19683  
 19684  type UpdateRouteResponseOutput struct {
 19685  	_ struct{} `type:"structure"`
 19686  
 19687  	// An expression used to extract information at runtime. See Selection Expressions
 19688  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19689  	// for more information.
 19690  	ModelSelectionExpression *string `locationName:"modelSelectionExpression" type:"string"`
 19691  
 19692  	// The route models.
 19693  	ResponseModels map[string]*string `locationName:"responseModels" type:"map"`
 19694  
 19695  	// The route parameters.
 19696  	ResponseParameters map[string]*ParameterConstraints `locationName:"responseParameters" type:"map"`
 19697  
 19698  	// The identifier.
 19699  	RouteResponseId *string `locationName:"routeResponseId" type:"string"`
 19700  
 19701  	// After evaluating a selection expression, the result is compared against one
 19702  	// or more selection keys to find a matching key. See Selection Expressions
 19703  	// (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions)
 19704  	// for a list of expressions and each expression's associated selection key
 19705  	// type.
 19706  	RouteResponseKey *string `locationName:"routeResponseKey" type:"string"`
 19707  }
 19708  
 19709  // String returns the string representation.
 19710  //
 19711  // API parameter values that are decorated as "sensitive" in the API will not
 19712  // be included in the string output. The member name will be present, but the
 19713  // value will be replaced with "sensitive".
 19714  func (s UpdateRouteResponseOutput) String() string {
 19715  	return awsutil.Prettify(s)
 19716  }
 19717  
 19718  // GoString returns the string representation.
 19719  //
 19720  // API parameter values that are decorated as "sensitive" in the API will not
 19721  // be included in the string output. The member name will be present, but the
 19722  // value will be replaced with "sensitive".
 19723  func (s UpdateRouteResponseOutput) GoString() string {
 19724  	return s.String()
 19725  }
 19726  
 19727  // SetModelSelectionExpression sets the ModelSelectionExpression field's value.
 19728  func (s *UpdateRouteResponseOutput) SetModelSelectionExpression(v string) *UpdateRouteResponseOutput {
 19729  	s.ModelSelectionExpression = &v
 19730  	return s
 19731  }
 19732  
 19733  // SetResponseModels sets the ResponseModels field's value.
 19734  func (s *UpdateRouteResponseOutput) SetResponseModels(v map[string]*string) *UpdateRouteResponseOutput {
 19735  	s.ResponseModels = v
 19736  	return s
 19737  }
 19738  
 19739  // SetResponseParameters sets the ResponseParameters field's value.
 19740  func (s *UpdateRouteResponseOutput) SetResponseParameters(v map[string]*ParameterConstraints) *UpdateRouteResponseOutput {
 19741  	s.ResponseParameters = v
 19742  	return s
 19743  }
 19744  
 19745  // SetRouteResponseId sets the RouteResponseId field's value.
 19746  func (s *UpdateRouteResponseOutput) SetRouteResponseId(v string) *UpdateRouteResponseOutput {
 19747  	s.RouteResponseId = &v
 19748  	return s
 19749  }
 19750  
 19751  // SetRouteResponseKey sets the RouteResponseKey field's value.
 19752  func (s *UpdateRouteResponseOutput) SetRouteResponseKey(v string) *UpdateRouteResponseOutput {
 19753  	s.RouteResponseKey = &v
 19754  	return s
 19755  }
 19756  
 19757  type UpdateStageInput struct {
 19758  	_ struct{} `type:"structure"`
 19759  
 19760  	// Settings for logging access in a stage.
 19761  	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
 19762  
 19763  	// ApiId is a required field
 19764  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 19765  
 19766  	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
 19767  
 19768  	// The identifier.
 19769  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
 19770  
 19771  	// Represents a collection of route settings.
 19772  	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
 19773  
 19774  	// The identifier.
 19775  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 19776  
 19777  	// A string with a length between [0-1024].
 19778  	Description *string `locationName:"description" type:"string"`
 19779  
 19780  	// The route settings map.
 19781  	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
 19782  
 19783  	// StageName is a required field
 19784  	StageName *string `location:"uri" locationName:"stageName" type:"string" required:"true"`
 19785  
 19786  	// The stage variable map.
 19787  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
 19788  }
 19789  
 19790  // String returns the string representation.
 19791  //
 19792  // API parameter values that are decorated as "sensitive" in the API will not
 19793  // be included in the string output. The member name will be present, but the
 19794  // value will be replaced with "sensitive".
 19795  func (s UpdateStageInput) String() string {
 19796  	return awsutil.Prettify(s)
 19797  }
 19798  
 19799  // GoString 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 UpdateStageInput) GoString() string {
 19805  	return s.String()
 19806  }
 19807  
 19808  // Validate inspects the fields of the type to determine if they are valid.
 19809  func (s *UpdateStageInput) Validate() error {
 19810  	invalidParams := request.ErrInvalidParams{Context: "UpdateStageInput"}
 19811  	if s.ApiId == nil {
 19812  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 19813  	}
 19814  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 19815  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 19816  	}
 19817  	if s.StageName == nil {
 19818  		invalidParams.Add(request.NewErrParamRequired("StageName"))
 19819  	}
 19820  	if s.StageName != nil && len(*s.StageName) < 1 {
 19821  		invalidParams.Add(request.NewErrParamMinLen("StageName", 1))
 19822  	}
 19823  
 19824  	if invalidParams.Len() > 0 {
 19825  		return invalidParams
 19826  	}
 19827  	return nil
 19828  }
 19829  
 19830  // SetAccessLogSettings sets the AccessLogSettings field's value.
 19831  func (s *UpdateStageInput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageInput {
 19832  	s.AccessLogSettings = v
 19833  	return s
 19834  }
 19835  
 19836  // SetApiId sets the ApiId field's value.
 19837  func (s *UpdateStageInput) SetApiId(v string) *UpdateStageInput {
 19838  	s.ApiId = &v
 19839  	return s
 19840  }
 19841  
 19842  // SetAutoDeploy sets the AutoDeploy field's value.
 19843  func (s *UpdateStageInput) SetAutoDeploy(v bool) *UpdateStageInput {
 19844  	s.AutoDeploy = &v
 19845  	return s
 19846  }
 19847  
 19848  // SetClientCertificateId sets the ClientCertificateId field's value.
 19849  func (s *UpdateStageInput) SetClientCertificateId(v string) *UpdateStageInput {
 19850  	s.ClientCertificateId = &v
 19851  	return s
 19852  }
 19853  
 19854  // SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
 19855  func (s *UpdateStageInput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageInput {
 19856  	s.DefaultRouteSettings = v
 19857  	return s
 19858  }
 19859  
 19860  // SetDeploymentId sets the DeploymentId field's value.
 19861  func (s *UpdateStageInput) SetDeploymentId(v string) *UpdateStageInput {
 19862  	s.DeploymentId = &v
 19863  	return s
 19864  }
 19865  
 19866  // SetDescription sets the Description field's value.
 19867  func (s *UpdateStageInput) SetDescription(v string) *UpdateStageInput {
 19868  	s.Description = &v
 19869  	return s
 19870  }
 19871  
 19872  // SetRouteSettings sets the RouteSettings field's value.
 19873  func (s *UpdateStageInput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageInput {
 19874  	s.RouteSettings = v
 19875  	return s
 19876  }
 19877  
 19878  // SetStageName sets the StageName field's value.
 19879  func (s *UpdateStageInput) SetStageName(v string) *UpdateStageInput {
 19880  	s.StageName = &v
 19881  	return s
 19882  }
 19883  
 19884  // SetStageVariables sets the StageVariables field's value.
 19885  func (s *UpdateStageInput) SetStageVariables(v map[string]*string) *UpdateStageInput {
 19886  	s.StageVariables = v
 19887  	return s
 19888  }
 19889  
 19890  type UpdateStageOutput struct {
 19891  	_ struct{} `type:"structure"`
 19892  
 19893  	// Settings for logging access in a stage.
 19894  	AccessLogSettings *AccessLogSettings `locationName:"accessLogSettings" type:"structure"`
 19895  
 19896  	ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"`
 19897  
 19898  	AutoDeploy *bool `locationName:"autoDeploy" type:"boolean"`
 19899  
 19900  	// The identifier.
 19901  	ClientCertificateId *string `locationName:"clientCertificateId" type:"string"`
 19902  
 19903  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 19904  
 19905  	// Represents a collection of route settings.
 19906  	DefaultRouteSettings *RouteSettings `locationName:"defaultRouteSettings" type:"structure"`
 19907  
 19908  	// The identifier.
 19909  	DeploymentId *string `locationName:"deploymentId" type:"string"`
 19910  
 19911  	// A string with a length between [0-1024].
 19912  	Description *string `locationName:"description" type:"string"`
 19913  
 19914  	LastDeploymentStatusMessage *string `locationName:"lastDeploymentStatusMessage" type:"string"`
 19915  
 19916  	LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"iso8601"`
 19917  
 19918  	// The route settings map.
 19919  	RouteSettings map[string]*RouteSettings `locationName:"routeSettings" type:"map"`
 19920  
 19921  	// A string with a length between [1-128].
 19922  	StageName *string `locationName:"stageName" type:"string"`
 19923  
 19924  	// The stage variable map.
 19925  	StageVariables map[string]*string `locationName:"stageVariables" type:"map"`
 19926  
 19927  	// Represents a collection of tags associated with the resource.
 19928  	Tags map[string]*string `locationName:"tags" type:"map"`
 19929  }
 19930  
 19931  // String returns the string representation.
 19932  //
 19933  // API parameter values that are decorated as "sensitive" in the API will not
 19934  // be included in the string output. The member name will be present, but the
 19935  // value will be replaced with "sensitive".
 19936  func (s UpdateStageOutput) String() string {
 19937  	return awsutil.Prettify(s)
 19938  }
 19939  
 19940  // GoString returns the string representation.
 19941  //
 19942  // API parameter values that are decorated as "sensitive" in the API will not
 19943  // be included in the string output. The member name will be present, but the
 19944  // value will be replaced with "sensitive".
 19945  func (s UpdateStageOutput) GoString() string {
 19946  	return s.String()
 19947  }
 19948  
 19949  // SetAccessLogSettings sets the AccessLogSettings field's value.
 19950  func (s *UpdateStageOutput) SetAccessLogSettings(v *AccessLogSettings) *UpdateStageOutput {
 19951  	s.AccessLogSettings = v
 19952  	return s
 19953  }
 19954  
 19955  // SetApiGatewayManaged sets the ApiGatewayManaged field's value.
 19956  func (s *UpdateStageOutput) SetApiGatewayManaged(v bool) *UpdateStageOutput {
 19957  	s.ApiGatewayManaged = &v
 19958  	return s
 19959  }
 19960  
 19961  // SetAutoDeploy sets the AutoDeploy field's value.
 19962  func (s *UpdateStageOutput) SetAutoDeploy(v bool) *UpdateStageOutput {
 19963  	s.AutoDeploy = &v
 19964  	return s
 19965  }
 19966  
 19967  // SetClientCertificateId sets the ClientCertificateId field's value.
 19968  func (s *UpdateStageOutput) SetClientCertificateId(v string) *UpdateStageOutput {
 19969  	s.ClientCertificateId = &v
 19970  	return s
 19971  }
 19972  
 19973  // SetCreatedDate sets the CreatedDate field's value.
 19974  func (s *UpdateStageOutput) SetCreatedDate(v time.Time) *UpdateStageOutput {
 19975  	s.CreatedDate = &v
 19976  	return s
 19977  }
 19978  
 19979  // SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
 19980  func (s *UpdateStageOutput) SetDefaultRouteSettings(v *RouteSettings) *UpdateStageOutput {
 19981  	s.DefaultRouteSettings = v
 19982  	return s
 19983  }
 19984  
 19985  // SetDeploymentId sets the DeploymentId field's value.
 19986  func (s *UpdateStageOutput) SetDeploymentId(v string) *UpdateStageOutput {
 19987  	s.DeploymentId = &v
 19988  	return s
 19989  }
 19990  
 19991  // SetDescription sets the Description field's value.
 19992  func (s *UpdateStageOutput) SetDescription(v string) *UpdateStageOutput {
 19993  	s.Description = &v
 19994  	return s
 19995  }
 19996  
 19997  // SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
 19998  func (s *UpdateStageOutput) SetLastDeploymentStatusMessage(v string) *UpdateStageOutput {
 19999  	s.LastDeploymentStatusMessage = &v
 20000  	return s
 20001  }
 20002  
 20003  // SetLastUpdatedDate sets the LastUpdatedDate field's value.
 20004  func (s *UpdateStageOutput) SetLastUpdatedDate(v time.Time) *UpdateStageOutput {
 20005  	s.LastUpdatedDate = &v
 20006  	return s
 20007  }
 20008  
 20009  // SetRouteSettings sets the RouteSettings field's value.
 20010  func (s *UpdateStageOutput) SetRouteSettings(v map[string]*RouteSettings) *UpdateStageOutput {
 20011  	s.RouteSettings = v
 20012  	return s
 20013  }
 20014  
 20015  // SetStageName sets the StageName field's value.
 20016  func (s *UpdateStageOutput) SetStageName(v string) *UpdateStageOutput {
 20017  	s.StageName = &v
 20018  	return s
 20019  }
 20020  
 20021  // SetStageVariables sets the StageVariables field's value.
 20022  func (s *UpdateStageOutput) SetStageVariables(v map[string]*string) *UpdateStageOutput {
 20023  	s.StageVariables = v
 20024  	return s
 20025  }
 20026  
 20027  // SetTags sets the Tags field's value.
 20028  func (s *UpdateStageOutput) SetTags(v map[string]*string) *UpdateStageOutput {
 20029  	s.Tags = v
 20030  	return s
 20031  }
 20032  
 20033  type UpdateVpcLinkInput struct {
 20034  	_ struct{} `type:"structure"`
 20035  
 20036  	// A string with a length between [1-128].
 20037  	Name *string `locationName:"name" type:"string"`
 20038  
 20039  	// VpcLinkId is a required field
 20040  	VpcLinkId *string `location:"uri" locationName:"vpcLinkId" type:"string" required:"true"`
 20041  }
 20042  
 20043  // String returns the string representation.
 20044  //
 20045  // API parameter values that are decorated as "sensitive" in the API will not
 20046  // be included in the string output. The member name will be present, but the
 20047  // value will be replaced with "sensitive".
 20048  func (s UpdateVpcLinkInput) String() string {
 20049  	return awsutil.Prettify(s)
 20050  }
 20051  
 20052  // GoString returns the string representation.
 20053  //
 20054  // API parameter values that are decorated as "sensitive" in the API will not
 20055  // be included in the string output. The member name will be present, but the
 20056  // value will be replaced with "sensitive".
 20057  func (s UpdateVpcLinkInput) GoString() string {
 20058  	return s.String()
 20059  }
 20060  
 20061  // Validate inspects the fields of the type to determine if they are valid.
 20062  func (s *UpdateVpcLinkInput) Validate() error {
 20063  	invalidParams := request.ErrInvalidParams{Context: "UpdateVpcLinkInput"}
 20064  	if s.VpcLinkId == nil {
 20065  		invalidParams.Add(request.NewErrParamRequired("VpcLinkId"))
 20066  	}
 20067  	if s.VpcLinkId != nil && len(*s.VpcLinkId) < 1 {
 20068  		invalidParams.Add(request.NewErrParamMinLen("VpcLinkId", 1))
 20069  	}
 20070  
 20071  	if invalidParams.Len() > 0 {
 20072  		return invalidParams
 20073  	}
 20074  	return nil
 20075  }
 20076  
 20077  // SetName sets the Name field's value.
 20078  func (s *UpdateVpcLinkInput) SetName(v string) *UpdateVpcLinkInput {
 20079  	s.Name = &v
 20080  	return s
 20081  }
 20082  
 20083  // SetVpcLinkId sets the VpcLinkId field's value.
 20084  func (s *UpdateVpcLinkInput) SetVpcLinkId(v string) *UpdateVpcLinkInput {
 20085  	s.VpcLinkId = &v
 20086  	return s
 20087  }
 20088  
 20089  type UpdateVpcLinkOutput struct {
 20090  	_ struct{} `type:"structure"`
 20091  
 20092  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 20093  
 20094  	// A string with a length between [1-128].
 20095  	Name *string `locationName:"name" type:"string"`
 20096  
 20097  	// A list of security group IDs for the VPC link.
 20098  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
 20099  
 20100  	// A list of subnet IDs to include in the VPC link.
 20101  	SubnetIds []*string `locationName:"subnetIds" type:"list"`
 20102  
 20103  	// Represents a collection of tags associated with the resource.
 20104  	Tags map[string]*string `locationName:"tags" type:"map"`
 20105  
 20106  	// The identifier.
 20107  	VpcLinkId *string `locationName:"vpcLinkId" type:"string"`
 20108  
 20109  	// The status of the VPC link.
 20110  	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
 20111  
 20112  	// A string with a length between [0-1024].
 20113  	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
 20114  
 20115  	// The version of the VPC link.
 20116  	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
 20117  }
 20118  
 20119  // String returns the string representation.
 20120  //
 20121  // API parameter values that are decorated as "sensitive" in the API will not
 20122  // be included in the string output. The member name will be present, but the
 20123  // value will be replaced with "sensitive".
 20124  func (s UpdateVpcLinkOutput) String() string {
 20125  	return awsutil.Prettify(s)
 20126  }
 20127  
 20128  // GoString returns the string representation.
 20129  //
 20130  // API parameter values that are decorated as "sensitive" in the API will not
 20131  // be included in the string output. The member name will be present, but the
 20132  // value will be replaced with "sensitive".
 20133  func (s UpdateVpcLinkOutput) GoString() string {
 20134  	return s.String()
 20135  }
 20136  
 20137  // SetCreatedDate sets the CreatedDate field's value.
 20138  func (s *UpdateVpcLinkOutput) SetCreatedDate(v time.Time) *UpdateVpcLinkOutput {
 20139  	s.CreatedDate = &v
 20140  	return s
 20141  }
 20142  
 20143  // SetName sets the Name field's value.
 20144  func (s *UpdateVpcLinkOutput) SetName(v string) *UpdateVpcLinkOutput {
 20145  	s.Name = &v
 20146  	return s
 20147  }
 20148  
 20149  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 20150  func (s *UpdateVpcLinkOutput) SetSecurityGroupIds(v []*string) *UpdateVpcLinkOutput {
 20151  	s.SecurityGroupIds = v
 20152  	return s
 20153  }
 20154  
 20155  // SetSubnetIds sets the SubnetIds field's value.
 20156  func (s *UpdateVpcLinkOutput) SetSubnetIds(v []*string) *UpdateVpcLinkOutput {
 20157  	s.SubnetIds = v
 20158  	return s
 20159  }
 20160  
 20161  // SetTags sets the Tags field's value.
 20162  func (s *UpdateVpcLinkOutput) SetTags(v map[string]*string) *UpdateVpcLinkOutput {
 20163  	s.Tags = v
 20164  	return s
 20165  }
 20166  
 20167  // SetVpcLinkId sets the VpcLinkId field's value.
 20168  func (s *UpdateVpcLinkOutput) SetVpcLinkId(v string) *UpdateVpcLinkOutput {
 20169  	s.VpcLinkId = &v
 20170  	return s
 20171  }
 20172  
 20173  // SetVpcLinkStatus sets the VpcLinkStatus field's value.
 20174  func (s *UpdateVpcLinkOutput) SetVpcLinkStatus(v string) *UpdateVpcLinkOutput {
 20175  	s.VpcLinkStatus = &v
 20176  	return s
 20177  }
 20178  
 20179  // SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
 20180  func (s *UpdateVpcLinkOutput) SetVpcLinkStatusMessage(v string) *UpdateVpcLinkOutput {
 20181  	s.VpcLinkStatusMessage = &v
 20182  	return s
 20183  }
 20184  
 20185  // SetVpcLinkVersion sets the VpcLinkVersion field's value.
 20186  func (s *UpdateVpcLinkOutput) SetVpcLinkVersion(v string) *UpdateVpcLinkOutput {
 20187  	s.VpcLinkVersion = &v
 20188  	return s
 20189  }
 20190  
 20191  // Represents a VPC link.
 20192  type VpcLink struct {
 20193  	_ struct{} `type:"structure"`
 20194  
 20195  	// The timestamp when the VPC link was created.
 20196  	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"iso8601"`
 20197  
 20198  	// The name of the VPC link.
 20199  	//
 20200  	// Name is a required field
 20201  	Name *string `locationName:"name" type:"string" required:"true"`
 20202  
 20203  	// A list of security group IDs for the VPC link.
 20204  	//
 20205  	// SecurityGroupIds is a required field
 20206  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"`
 20207  
 20208  	// A list of subnet IDs to include in the VPC link.
 20209  	//
 20210  	// SubnetIds is a required field
 20211  	SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"`
 20212  
 20213  	// Tags for the VPC link.
 20214  	Tags map[string]*string `locationName:"tags" type:"map"`
 20215  
 20216  	// The ID of the VPC link.
 20217  	//
 20218  	// VpcLinkId is a required field
 20219  	VpcLinkId *string `locationName:"vpcLinkId" type:"string" required:"true"`
 20220  
 20221  	// The status of the VPC link.
 20222  	VpcLinkStatus *string `locationName:"vpcLinkStatus" type:"string" enum:"VpcLinkStatus"`
 20223  
 20224  	// A message summarizing the cause of the status of the VPC link.
 20225  	VpcLinkStatusMessage *string `locationName:"vpcLinkStatusMessage" type:"string"`
 20226  
 20227  	// The version of the VPC link.
 20228  	VpcLinkVersion *string `locationName:"vpcLinkVersion" type:"string" enum:"VpcLinkVersion"`
 20229  }
 20230  
 20231  // String returns the string representation.
 20232  //
 20233  // API parameter values that are decorated as "sensitive" in the API will not
 20234  // be included in the string output. The member name will be present, but the
 20235  // value will be replaced with "sensitive".
 20236  func (s VpcLink) String() string {
 20237  	return awsutil.Prettify(s)
 20238  }
 20239  
 20240  // GoString returns the string representation.
 20241  //
 20242  // API parameter values that are decorated as "sensitive" in the API will not
 20243  // be included in the string output. The member name will be present, but the
 20244  // value will be replaced with "sensitive".
 20245  func (s VpcLink) GoString() string {
 20246  	return s.String()
 20247  }
 20248  
 20249  // SetCreatedDate sets the CreatedDate field's value.
 20250  func (s *VpcLink) SetCreatedDate(v time.Time) *VpcLink {
 20251  	s.CreatedDate = &v
 20252  	return s
 20253  }
 20254  
 20255  // SetName sets the Name field's value.
 20256  func (s *VpcLink) SetName(v string) *VpcLink {
 20257  	s.Name = &v
 20258  	return s
 20259  }
 20260  
 20261  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 20262  func (s *VpcLink) SetSecurityGroupIds(v []*string) *VpcLink {
 20263  	s.SecurityGroupIds = v
 20264  	return s
 20265  }
 20266  
 20267  // SetSubnetIds sets the SubnetIds field's value.
 20268  func (s *VpcLink) SetSubnetIds(v []*string) *VpcLink {
 20269  	s.SubnetIds = v
 20270  	return s
 20271  }
 20272  
 20273  // SetTags sets the Tags field's value.
 20274  func (s *VpcLink) SetTags(v map[string]*string) *VpcLink {
 20275  	s.Tags = v
 20276  	return s
 20277  }
 20278  
 20279  // SetVpcLinkId sets the VpcLinkId field's value.
 20280  func (s *VpcLink) SetVpcLinkId(v string) *VpcLink {
 20281  	s.VpcLinkId = &v
 20282  	return s
 20283  }
 20284  
 20285  // SetVpcLinkStatus sets the VpcLinkStatus field's value.
 20286  func (s *VpcLink) SetVpcLinkStatus(v string) *VpcLink {
 20287  	s.VpcLinkStatus = &v
 20288  	return s
 20289  }
 20290  
 20291  // SetVpcLinkStatusMessage sets the VpcLinkStatusMessage field's value.
 20292  func (s *VpcLink) SetVpcLinkStatusMessage(v string) *VpcLink {
 20293  	s.VpcLinkStatusMessage = &v
 20294  	return s
 20295  }
 20296  
 20297  // SetVpcLinkVersion sets the VpcLinkVersion field's value.
 20298  func (s *VpcLink) SetVpcLinkVersion(v string) *VpcLink {
 20299  	s.VpcLinkVersion = &v
 20300  	return s
 20301  }
 20302  
 20303  // The authorization type. For WebSocket APIs, valid values are NONE for open
 20304  // access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
 20305  // authorizer. For HTTP APIs, valid values are NONE for open access, JWT for
 20306  // using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM
 20307  // for using a Lambda authorizer.
 20308  const (
 20309  	// AuthorizationTypeNone is a AuthorizationType enum value
 20310  	AuthorizationTypeNone = "NONE"
 20311  
 20312  	// AuthorizationTypeAwsIam is a AuthorizationType enum value
 20313  	AuthorizationTypeAwsIam = "AWS_IAM"
 20314  
 20315  	// AuthorizationTypeCustom is a AuthorizationType enum value
 20316  	AuthorizationTypeCustom = "CUSTOM"
 20317  
 20318  	// AuthorizationTypeJwt is a AuthorizationType enum value
 20319  	AuthorizationTypeJwt = "JWT"
 20320  )
 20321  
 20322  // AuthorizationType_Values returns all elements of the AuthorizationType enum
 20323  func AuthorizationType_Values() []string {
 20324  	return []string{
 20325  		AuthorizationTypeNone,
 20326  		AuthorizationTypeAwsIam,
 20327  		AuthorizationTypeCustom,
 20328  		AuthorizationTypeJwt,
 20329  	}
 20330  }
 20331  
 20332  // The authorizer type. Specify REQUEST for a Lambda function using incoming
 20333  // request parameters. Specify JWT to use JSON Web Tokens (supported only for
 20334  // HTTP APIs).
 20335  const (
 20336  	// AuthorizerTypeRequest is a AuthorizerType enum value
 20337  	AuthorizerTypeRequest = "REQUEST"
 20338  
 20339  	// AuthorizerTypeJwt is a AuthorizerType enum value
 20340  	AuthorizerTypeJwt = "JWT"
 20341  )
 20342  
 20343  // AuthorizerType_Values returns all elements of the AuthorizerType enum
 20344  func AuthorizerType_Values() []string {
 20345  	return []string{
 20346  		AuthorizerTypeRequest,
 20347  		AuthorizerTypeJwt,
 20348  	}
 20349  }
 20350  
 20351  // Represents a connection type.
 20352  const (
 20353  	// ConnectionTypeInternet is a ConnectionType enum value
 20354  	ConnectionTypeInternet = "INTERNET"
 20355  
 20356  	// ConnectionTypeVpcLink is a ConnectionType enum value
 20357  	ConnectionTypeVpcLink = "VPC_LINK"
 20358  )
 20359  
 20360  // ConnectionType_Values returns all elements of the ConnectionType enum
 20361  func ConnectionType_Values() []string {
 20362  	return []string{
 20363  		ConnectionTypeInternet,
 20364  		ConnectionTypeVpcLink,
 20365  	}
 20366  }
 20367  
 20368  // Specifies how to handle response payload content type conversions. Supported
 20369  // only for WebSocket APIs.
 20370  const (
 20371  	// ContentHandlingStrategyConvertToBinary is a ContentHandlingStrategy enum value
 20372  	ContentHandlingStrategyConvertToBinary = "CONVERT_TO_BINARY"
 20373  
 20374  	// ContentHandlingStrategyConvertToText is a ContentHandlingStrategy enum value
 20375  	ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT"
 20376  )
 20377  
 20378  // ContentHandlingStrategy_Values returns all elements of the ContentHandlingStrategy enum
 20379  func ContentHandlingStrategy_Values() []string {
 20380  	return []string{
 20381  		ContentHandlingStrategyConvertToBinary,
 20382  		ContentHandlingStrategyConvertToText,
 20383  	}
 20384  }
 20385  
 20386  // Represents a deployment status.
 20387  const (
 20388  	// DeploymentStatusPending is a DeploymentStatus enum value
 20389  	DeploymentStatusPending = "PENDING"
 20390  
 20391  	// DeploymentStatusFailed is a DeploymentStatus enum value
 20392  	DeploymentStatusFailed = "FAILED"
 20393  
 20394  	// DeploymentStatusDeployed is a DeploymentStatus enum value
 20395  	DeploymentStatusDeployed = "DEPLOYED"
 20396  )
 20397  
 20398  // DeploymentStatus_Values returns all elements of the DeploymentStatus enum
 20399  func DeploymentStatus_Values() []string {
 20400  	return []string{
 20401  		DeploymentStatusPending,
 20402  		DeploymentStatusFailed,
 20403  		DeploymentStatusDeployed,
 20404  	}
 20405  }
 20406  
 20407  // The status of the domain name migration. The valid values are AVAILABLE,
 20408  // UPDATING, PENDING_CERTIFICATE_REIMPORT, and PENDING_OWNERSHIP_VERIFICATION.
 20409  // If the status is UPDATING, the domain cannot be modified further until the
 20410  // existing operation is complete. If it is AVAILABLE, the domain can be updated.
 20411  const (
 20412  	// DomainNameStatusAvailable is a DomainNameStatus enum value
 20413  	DomainNameStatusAvailable = "AVAILABLE"
 20414  
 20415  	// DomainNameStatusUpdating is a DomainNameStatus enum value
 20416  	DomainNameStatusUpdating = "UPDATING"
 20417  
 20418  	// DomainNameStatusPendingCertificateReimport is a DomainNameStatus enum value
 20419  	DomainNameStatusPendingCertificateReimport = "PENDING_CERTIFICATE_REIMPORT"
 20420  
 20421  	// DomainNameStatusPendingOwnershipVerification is a DomainNameStatus enum value
 20422  	DomainNameStatusPendingOwnershipVerification = "PENDING_OWNERSHIP_VERIFICATION"
 20423  )
 20424  
 20425  // DomainNameStatus_Values returns all elements of the DomainNameStatus enum
 20426  func DomainNameStatus_Values() []string {
 20427  	return []string{
 20428  		DomainNameStatusAvailable,
 20429  		DomainNameStatusUpdating,
 20430  		DomainNameStatusPendingCertificateReimport,
 20431  		DomainNameStatusPendingOwnershipVerification,
 20432  	}
 20433  }
 20434  
 20435  // Represents an endpoint type.
 20436  const (
 20437  	// EndpointTypeRegional is a EndpointType enum value
 20438  	EndpointTypeRegional = "REGIONAL"
 20439  
 20440  	// EndpointTypeEdge is a EndpointType enum value
 20441  	EndpointTypeEdge = "EDGE"
 20442  )
 20443  
 20444  // EndpointType_Values returns all elements of the EndpointType enum
 20445  func EndpointType_Values() []string {
 20446  	return []string{
 20447  		EndpointTypeRegional,
 20448  		EndpointTypeEdge,
 20449  	}
 20450  }
 20451  
 20452  // Represents an API method integration type.
 20453  const (
 20454  	// IntegrationTypeAws is a IntegrationType enum value
 20455  	IntegrationTypeAws = "AWS"
 20456  
 20457  	// IntegrationTypeHttp is a IntegrationType enum value
 20458  	IntegrationTypeHttp = "HTTP"
 20459  
 20460  	// IntegrationTypeMock is a IntegrationType enum value
 20461  	IntegrationTypeMock = "MOCK"
 20462  
 20463  	// IntegrationTypeHttpProxy is a IntegrationType enum value
 20464  	IntegrationTypeHttpProxy = "HTTP_PROXY"
 20465  
 20466  	// IntegrationTypeAwsProxy is a IntegrationType enum value
 20467  	IntegrationTypeAwsProxy = "AWS_PROXY"
 20468  )
 20469  
 20470  // IntegrationType_Values returns all elements of the IntegrationType enum
 20471  func IntegrationType_Values() []string {
 20472  	return []string{
 20473  		IntegrationTypeAws,
 20474  		IntegrationTypeHttp,
 20475  		IntegrationTypeMock,
 20476  		IntegrationTypeHttpProxy,
 20477  		IntegrationTypeAwsProxy,
 20478  	}
 20479  }
 20480  
 20481  // The logging level.
 20482  const (
 20483  	// LoggingLevelError is a LoggingLevel enum value
 20484  	LoggingLevelError = "ERROR"
 20485  
 20486  	// LoggingLevelInfo is a LoggingLevel enum value
 20487  	LoggingLevelInfo = "INFO"
 20488  
 20489  	// LoggingLevelOff is a LoggingLevel enum value
 20490  	LoggingLevelOff = "OFF"
 20491  )
 20492  
 20493  // LoggingLevel_Values returns all elements of the LoggingLevel enum
 20494  func LoggingLevel_Values() []string {
 20495  	return []string{
 20496  		LoggingLevelError,
 20497  		LoggingLevelInfo,
 20498  		LoggingLevelOff,
 20499  	}
 20500  }
 20501  
 20502  // Represents passthrough behavior for an integration response. Supported only
 20503  // for WebSocket APIs.
 20504  const (
 20505  	// PassthroughBehaviorWhenNoMatch is a PassthroughBehavior enum value
 20506  	PassthroughBehaviorWhenNoMatch = "WHEN_NO_MATCH"
 20507  
 20508  	// PassthroughBehaviorNever is a PassthroughBehavior enum value
 20509  	PassthroughBehaviorNever = "NEVER"
 20510  
 20511  	// PassthroughBehaviorWhenNoTemplates is a PassthroughBehavior enum value
 20512  	PassthroughBehaviorWhenNoTemplates = "WHEN_NO_TEMPLATES"
 20513  )
 20514  
 20515  // PassthroughBehavior_Values returns all elements of the PassthroughBehavior enum
 20516  func PassthroughBehavior_Values() []string {
 20517  	return []string{
 20518  		PassthroughBehaviorWhenNoMatch,
 20519  		PassthroughBehaviorNever,
 20520  		PassthroughBehaviorWhenNoTemplates,
 20521  	}
 20522  }
 20523  
 20524  // Represents a protocol type.
 20525  const (
 20526  	// ProtocolTypeWebsocket is a ProtocolType enum value
 20527  	ProtocolTypeWebsocket = "WEBSOCKET"
 20528  
 20529  	// ProtocolTypeHttp is a ProtocolType enum value
 20530  	ProtocolTypeHttp = "HTTP"
 20531  )
 20532  
 20533  // ProtocolType_Values returns all elements of the ProtocolType enum
 20534  func ProtocolType_Values() []string {
 20535  	return []string{
 20536  		ProtocolTypeWebsocket,
 20537  		ProtocolTypeHttp,
 20538  	}
 20539  }
 20540  
 20541  // The Transport Layer Security (TLS) version of the security policy for this
 20542  // domain name. The valid values are TLS_1_0 and TLS_1_2.
 20543  const (
 20544  	// SecurityPolicyTls10 is a SecurityPolicy enum value
 20545  	SecurityPolicyTls10 = "TLS_1_0"
 20546  
 20547  	// SecurityPolicyTls12 is a SecurityPolicy enum value
 20548  	SecurityPolicyTls12 = "TLS_1_2"
 20549  )
 20550  
 20551  // SecurityPolicy_Values returns all elements of the SecurityPolicy enum
 20552  func SecurityPolicy_Values() []string {
 20553  	return []string{
 20554  		SecurityPolicyTls10,
 20555  		SecurityPolicyTls12,
 20556  	}
 20557  }
 20558  
 20559  // The status of the VPC link.
 20560  const (
 20561  	// VpcLinkStatusPending is a VpcLinkStatus enum value
 20562  	VpcLinkStatusPending = "PENDING"
 20563  
 20564  	// VpcLinkStatusAvailable is a VpcLinkStatus enum value
 20565  	VpcLinkStatusAvailable = "AVAILABLE"
 20566  
 20567  	// VpcLinkStatusDeleting is a VpcLinkStatus enum value
 20568  	VpcLinkStatusDeleting = "DELETING"
 20569  
 20570  	// VpcLinkStatusFailed is a VpcLinkStatus enum value
 20571  	VpcLinkStatusFailed = "FAILED"
 20572  
 20573  	// VpcLinkStatusInactive is a VpcLinkStatus enum value
 20574  	VpcLinkStatusInactive = "INACTIVE"
 20575  )
 20576  
 20577  // VpcLinkStatus_Values returns all elements of the VpcLinkStatus enum
 20578  func VpcLinkStatus_Values() []string {
 20579  	return []string{
 20580  		VpcLinkStatusPending,
 20581  		VpcLinkStatusAvailable,
 20582  		VpcLinkStatusDeleting,
 20583  		VpcLinkStatusFailed,
 20584  		VpcLinkStatusInactive,
 20585  	}
 20586  }
 20587  
 20588  // The version of the VPC link.
 20589  const (
 20590  	// VpcLinkVersionV2 is a VpcLinkVersion enum value
 20591  	VpcLinkVersionV2 = "V2"
 20592  )
 20593  
 20594  // VpcLinkVersion_Values returns all elements of the VpcLinkVersion enum
 20595  func VpcLinkVersion_Values() []string {
 20596  	return []string{
 20597  		VpcLinkVersionV2,
 20598  	}
 20599  }