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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package appsync
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const opCreateApiCache = "CreateApiCache"
    16  
    17  // CreateApiCacheRequest generates a "aws/request.Request" representing the
    18  // client's request for the CreateApiCache operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See CreateApiCache for more information on using the CreateApiCache
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the CreateApiCacheRequest method.
    33  //    req, resp := client.CreateApiCacheRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache
    41  func (c *AppSync) CreateApiCacheRequest(input *CreateApiCacheInput) (req *request.Request, output *CreateApiCacheOutput) {
    42  	op := &request.Operation{
    43  		Name:       opCreateApiCache,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/v1/apis/{apiId}/ApiCaches",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &CreateApiCacheInput{}
    50  	}
    51  
    52  	output = &CreateApiCacheOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // CreateApiCache API operation for AWS AppSync.
    58  //
    59  // Creates a cache for the GraphQL API.
    60  //
    61  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    62  // with awserr.Error's Code and Message methods to get detailed information about
    63  // the error.
    64  //
    65  // See the AWS API reference guide for AWS AppSync's
    66  // API operation CreateApiCache for usage and error information.
    67  //
    68  // Returned Error Types:
    69  //   * BadRequestException
    70  //   The request is not well formed. For example, a value is invalid or a required
    71  //   field is missing. Check the field values, and then try again.
    72  //
    73  //   * ConcurrentModificationException
    74  //   Another modification is in progress at this time and it must complete before
    75  //   you can make your change.
    76  //
    77  //   * NotFoundException
    78  //   The resource specified in the request was not found. Check the resource,
    79  //   and then try again.
    80  //
    81  //   * UnauthorizedException
    82  //   You are not authorized to perform this operation.
    83  //
    84  //   * InternalFailureException
    85  //   An internal AppSync error occurred. Try your request again.
    86  //
    87  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache
    88  func (c *AppSync) CreateApiCache(input *CreateApiCacheInput) (*CreateApiCacheOutput, error) {
    89  	req, out := c.CreateApiCacheRequest(input)
    90  	return out, req.Send()
    91  }
    92  
    93  // CreateApiCacheWithContext is the same as CreateApiCache with the addition of
    94  // the ability to pass a context and additional request options.
    95  //
    96  // See CreateApiCache for details on how to use this API operation.
    97  //
    98  // The context must be non-nil and will be used for request cancellation. If
    99  // the context is nil a panic will occur. In the future the SDK may create
   100  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   101  // for more information on using Contexts.
   102  func (c *AppSync) CreateApiCacheWithContext(ctx aws.Context, input *CreateApiCacheInput, opts ...request.Option) (*CreateApiCacheOutput, error) {
   103  	req, out := c.CreateApiCacheRequest(input)
   104  	req.SetContext(ctx)
   105  	req.ApplyOptions(opts...)
   106  	return out, req.Send()
   107  }
   108  
   109  const opCreateApiKey = "CreateApiKey"
   110  
   111  // CreateApiKeyRequest generates a "aws/request.Request" representing the
   112  // client's request for the CreateApiKey operation. The "output" return
   113  // value will be populated with the request's response once the request completes
   114  // successfully.
   115  //
   116  // Use "Send" method on the returned Request to send the API call to the service.
   117  // the "output" return value is not valid until after Send returns without error.
   118  //
   119  // See CreateApiKey for more information on using the CreateApiKey
   120  // API call, and error handling.
   121  //
   122  // This method is useful when you want to inject custom logic or configuration
   123  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   124  //
   125  //
   126  //    // Example sending a request using the CreateApiKeyRequest method.
   127  //    req, resp := client.CreateApiKeyRequest(params)
   128  //
   129  //    err := req.Send()
   130  //    if err == nil { // resp is now filled
   131  //        fmt.Println(resp)
   132  //    }
   133  //
   134  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey
   135  func (c *AppSync) CreateApiKeyRequest(input *CreateApiKeyInput) (req *request.Request, output *CreateApiKeyOutput) {
   136  	op := &request.Operation{
   137  		Name:       opCreateApiKey,
   138  		HTTPMethod: "POST",
   139  		HTTPPath:   "/v1/apis/{apiId}/apikeys",
   140  	}
   141  
   142  	if input == nil {
   143  		input = &CreateApiKeyInput{}
   144  	}
   145  
   146  	output = &CreateApiKeyOutput{}
   147  	req = c.newRequest(op, input, output)
   148  	return
   149  }
   150  
   151  // CreateApiKey API operation for AWS AppSync.
   152  //
   153  // Creates a unique key that you can distribute to clients who are executing
   154  // your API.
   155  //
   156  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   157  // with awserr.Error's Code and Message methods to get detailed information about
   158  // the error.
   159  //
   160  // See the AWS API reference guide for AWS AppSync's
   161  // API operation CreateApiKey for usage and error information.
   162  //
   163  // Returned Error Types:
   164  //   * BadRequestException
   165  //   The request is not well formed. For example, a value is invalid or a required
   166  //   field is missing. Check the field values, and then try again.
   167  //
   168  //   * NotFoundException
   169  //   The resource specified in the request was not found. Check the resource,
   170  //   and then try again.
   171  //
   172  //   * LimitExceededException
   173  //   The request exceeded a limit. Try your request again.
   174  //
   175  //   * UnauthorizedException
   176  //   You are not authorized to perform this operation.
   177  //
   178  //   * LimitExceededException
   179  //   The request exceeded a limit. Try your request again.
   180  //
   181  //   * InternalFailureException
   182  //   An internal AppSync error occurred. Try your request again.
   183  //
   184  //   * ApiKeyLimitExceededException
   185  //   The API key exceeded a limit. Try your request again.
   186  //
   187  //   * ApiKeyValidityOutOfBoundsException
   188  //   The API key expiration must be set to a value between 1 and 365 days from
   189  //   creation (for CreateApiKey) or from update (for UpdateApiKey).
   190  //
   191  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey
   192  func (c *AppSync) CreateApiKey(input *CreateApiKeyInput) (*CreateApiKeyOutput, error) {
   193  	req, out := c.CreateApiKeyRequest(input)
   194  	return out, req.Send()
   195  }
   196  
   197  // CreateApiKeyWithContext is the same as CreateApiKey with the addition of
   198  // the ability to pass a context and additional request options.
   199  //
   200  // See CreateApiKey for details on how to use this API operation.
   201  //
   202  // The context must be non-nil and will be used for request cancellation. If
   203  // the context is nil a panic will occur. In the future the SDK may create
   204  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   205  // for more information on using Contexts.
   206  func (c *AppSync) CreateApiKeyWithContext(ctx aws.Context, input *CreateApiKeyInput, opts ...request.Option) (*CreateApiKeyOutput, error) {
   207  	req, out := c.CreateApiKeyRequest(input)
   208  	req.SetContext(ctx)
   209  	req.ApplyOptions(opts...)
   210  	return out, req.Send()
   211  }
   212  
   213  const opCreateDataSource = "CreateDataSource"
   214  
   215  // CreateDataSourceRequest generates a "aws/request.Request" representing the
   216  // client's request for the CreateDataSource operation. The "output" return
   217  // value will be populated with the request's response once the request completes
   218  // successfully.
   219  //
   220  // Use "Send" method on the returned Request to send the API call to the service.
   221  // the "output" return value is not valid until after Send returns without error.
   222  //
   223  // See CreateDataSource for more information on using the CreateDataSource
   224  // API call, and error handling.
   225  //
   226  // This method is useful when you want to inject custom logic or configuration
   227  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   228  //
   229  //
   230  //    // Example sending a request using the CreateDataSourceRequest method.
   231  //    req, resp := client.CreateDataSourceRequest(params)
   232  //
   233  //    err := req.Send()
   234  //    if err == nil { // resp is now filled
   235  //        fmt.Println(resp)
   236  //    }
   237  //
   238  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource
   239  func (c *AppSync) CreateDataSourceRequest(input *CreateDataSourceInput) (req *request.Request, output *CreateDataSourceOutput) {
   240  	op := &request.Operation{
   241  		Name:       opCreateDataSource,
   242  		HTTPMethod: "POST",
   243  		HTTPPath:   "/v1/apis/{apiId}/datasources",
   244  	}
   245  
   246  	if input == nil {
   247  		input = &CreateDataSourceInput{}
   248  	}
   249  
   250  	output = &CreateDataSourceOutput{}
   251  	req = c.newRequest(op, input, output)
   252  	return
   253  }
   254  
   255  // CreateDataSource API operation for AWS AppSync.
   256  //
   257  // Creates a DataSource object.
   258  //
   259  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   260  // with awserr.Error's Code and Message methods to get detailed information about
   261  // the error.
   262  //
   263  // See the AWS API reference guide for AWS AppSync's
   264  // API operation CreateDataSource for usage and error information.
   265  //
   266  // Returned Error Types:
   267  //   * BadRequestException
   268  //   The request is not well formed. For example, a value is invalid or a required
   269  //   field is missing. Check the field values, and then try again.
   270  //
   271  //   * ConcurrentModificationException
   272  //   Another modification is in progress at this time and it must complete before
   273  //   you can make your change.
   274  //
   275  //   * NotFoundException
   276  //   The resource specified in the request was not found. Check the resource,
   277  //   and then try again.
   278  //
   279  //   * UnauthorizedException
   280  //   You are not authorized to perform this operation.
   281  //
   282  //   * InternalFailureException
   283  //   An internal AppSync error occurred. Try your request again.
   284  //
   285  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource
   286  func (c *AppSync) CreateDataSource(input *CreateDataSourceInput) (*CreateDataSourceOutput, error) {
   287  	req, out := c.CreateDataSourceRequest(input)
   288  	return out, req.Send()
   289  }
   290  
   291  // CreateDataSourceWithContext is the same as CreateDataSource with the addition of
   292  // the ability to pass a context and additional request options.
   293  //
   294  // See CreateDataSource for details on how to use this API operation.
   295  //
   296  // The context must be non-nil and will be used for request cancellation. If
   297  // the context is nil a panic will occur. In the future the SDK may create
   298  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   299  // for more information on using Contexts.
   300  func (c *AppSync) CreateDataSourceWithContext(ctx aws.Context, input *CreateDataSourceInput, opts ...request.Option) (*CreateDataSourceOutput, error) {
   301  	req, out := c.CreateDataSourceRequest(input)
   302  	req.SetContext(ctx)
   303  	req.ApplyOptions(opts...)
   304  	return out, req.Send()
   305  }
   306  
   307  const opCreateFunction = "CreateFunction"
   308  
   309  // CreateFunctionRequest generates a "aws/request.Request" representing the
   310  // client's request for the CreateFunction operation. The "output" return
   311  // value will be populated with the request's response once the request completes
   312  // successfully.
   313  //
   314  // Use "Send" method on the returned Request to send the API call to the service.
   315  // the "output" return value is not valid until after Send returns without error.
   316  //
   317  // See CreateFunction for more information on using the CreateFunction
   318  // API call, and error handling.
   319  //
   320  // This method is useful when you want to inject custom logic or configuration
   321  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   322  //
   323  //
   324  //    // Example sending a request using the CreateFunctionRequest method.
   325  //    req, resp := client.CreateFunctionRequest(params)
   326  //
   327  //    err := req.Send()
   328  //    if err == nil { // resp is now filled
   329  //        fmt.Println(resp)
   330  //    }
   331  //
   332  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction
   333  func (c *AppSync) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *CreateFunctionOutput) {
   334  	op := &request.Operation{
   335  		Name:       opCreateFunction,
   336  		HTTPMethod: "POST",
   337  		HTTPPath:   "/v1/apis/{apiId}/functions",
   338  	}
   339  
   340  	if input == nil {
   341  		input = &CreateFunctionInput{}
   342  	}
   343  
   344  	output = &CreateFunctionOutput{}
   345  	req = c.newRequest(op, input, output)
   346  	return
   347  }
   348  
   349  // CreateFunction API operation for AWS AppSync.
   350  //
   351  // Creates a Function object.
   352  //
   353  // A function is a reusable entity. Multiple functions can be used to compose
   354  // the resolver logic.
   355  //
   356  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   357  // with awserr.Error's Code and Message methods to get detailed information about
   358  // the error.
   359  //
   360  // See the AWS API reference guide for AWS AppSync's
   361  // API operation CreateFunction for usage and error information.
   362  //
   363  // Returned Error Types:
   364  //   * ConcurrentModificationException
   365  //   Another modification is in progress at this time and it must complete before
   366  //   you can make your change.
   367  //
   368  //   * NotFoundException
   369  //   The resource specified in the request was not found. Check the resource,
   370  //   and then try again.
   371  //
   372  //   * UnauthorizedException
   373  //   You are not authorized to perform this operation.
   374  //
   375  //   * InternalFailureException
   376  //   An internal AppSync error occurred. Try your request again.
   377  //
   378  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction
   379  func (c *AppSync) CreateFunction(input *CreateFunctionInput) (*CreateFunctionOutput, error) {
   380  	req, out := c.CreateFunctionRequest(input)
   381  	return out, req.Send()
   382  }
   383  
   384  // CreateFunctionWithContext is the same as CreateFunction with the addition of
   385  // the ability to pass a context and additional request options.
   386  //
   387  // See CreateFunction for details on how to use this API operation.
   388  //
   389  // The context must be non-nil and will be used for request cancellation. If
   390  // the context is nil a panic will occur. In the future the SDK may create
   391  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   392  // for more information on using Contexts.
   393  func (c *AppSync) CreateFunctionWithContext(ctx aws.Context, input *CreateFunctionInput, opts ...request.Option) (*CreateFunctionOutput, error) {
   394  	req, out := c.CreateFunctionRequest(input)
   395  	req.SetContext(ctx)
   396  	req.ApplyOptions(opts...)
   397  	return out, req.Send()
   398  }
   399  
   400  const opCreateGraphqlApi = "CreateGraphqlApi"
   401  
   402  // CreateGraphqlApiRequest generates a "aws/request.Request" representing the
   403  // client's request for the CreateGraphqlApi operation. The "output" return
   404  // value will be populated with the request's response once the request completes
   405  // successfully.
   406  //
   407  // Use "Send" method on the returned Request to send the API call to the service.
   408  // the "output" return value is not valid until after Send returns without error.
   409  //
   410  // See CreateGraphqlApi for more information on using the CreateGraphqlApi
   411  // API call, and error handling.
   412  //
   413  // This method is useful when you want to inject custom logic or configuration
   414  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   415  //
   416  //
   417  //    // Example sending a request using the CreateGraphqlApiRequest method.
   418  //    req, resp := client.CreateGraphqlApiRequest(params)
   419  //
   420  //    err := req.Send()
   421  //    if err == nil { // resp is now filled
   422  //        fmt.Println(resp)
   423  //    }
   424  //
   425  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi
   426  func (c *AppSync) CreateGraphqlApiRequest(input *CreateGraphqlApiInput) (req *request.Request, output *CreateGraphqlApiOutput) {
   427  	op := &request.Operation{
   428  		Name:       opCreateGraphqlApi,
   429  		HTTPMethod: "POST",
   430  		HTTPPath:   "/v1/apis",
   431  	}
   432  
   433  	if input == nil {
   434  		input = &CreateGraphqlApiInput{}
   435  	}
   436  
   437  	output = &CreateGraphqlApiOutput{}
   438  	req = c.newRequest(op, input, output)
   439  	return
   440  }
   441  
   442  // CreateGraphqlApi API operation for AWS AppSync.
   443  //
   444  // Creates a GraphqlApi object.
   445  //
   446  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   447  // with awserr.Error's Code and Message methods to get detailed information about
   448  // the error.
   449  //
   450  // See the AWS API reference guide for AWS AppSync's
   451  // API operation CreateGraphqlApi for usage and error information.
   452  //
   453  // Returned Error Types:
   454  //   * BadRequestException
   455  //   The request is not well formed. For example, a value is invalid or a required
   456  //   field is missing. Check the field values, and then try again.
   457  //
   458  //   * LimitExceededException
   459  //   The request exceeded a limit. Try your request again.
   460  //
   461  //   * ConcurrentModificationException
   462  //   Another modification is in progress at this time and it must complete before
   463  //   you can make your change.
   464  //
   465  //   * UnauthorizedException
   466  //   You are not authorized to perform this operation.
   467  //
   468  //   * InternalFailureException
   469  //   An internal AppSync error occurred. Try your request again.
   470  //
   471  //   * ApiLimitExceededException
   472  //   The GraphQL API exceeded a limit. Try your request again.
   473  //
   474  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi
   475  func (c *AppSync) CreateGraphqlApi(input *CreateGraphqlApiInput) (*CreateGraphqlApiOutput, error) {
   476  	req, out := c.CreateGraphqlApiRequest(input)
   477  	return out, req.Send()
   478  }
   479  
   480  // CreateGraphqlApiWithContext is the same as CreateGraphqlApi with the addition of
   481  // the ability to pass a context and additional request options.
   482  //
   483  // See CreateGraphqlApi for details on how to use this API operation.
   484  //
   485  // The context must be non-nil and will be used for request cancellation. If
   486  // the context is nil a panic will occur. In the future the SDK may create
   487  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   488  // for more information on using Contexts.
   489  func (c *AppSync) CreateGraphqlApiWithContext(ctx aws.Context, input *CreateGraphqlApiInput, opts ...request.Option) (*CreateGraphqlApiOutput, error) {
   490  	req, out := c.CreateGraphqlApiRequest(input)
   491  	req.SetContext(ctx)
   492  	req.ApplyOptions(opts...)
   493  	return out, req.Send()
   494  }
   495  
   496  const opCreateResolver = "CreateResolver"
   497  
   498  // CreateResolverRequest generates a "aws/request.Request" representing the
   499  // client's request for the CreateResolver operation. The "output" return
   500  // value will be populated with the request's response once the request completes
   501  // successfully.
   502  //
   503  // Use "Send" method on the returned Request to send the API call to the service.
   504  // the "output" return value is not valid until after Send returns without error.
   505  //
   506  // See CreateResolver for more information on using the CreateResolver
   507  // API call, and error handling.
   508  //
   509  // This method is useful when you want to inject custom logic or configuration
   510  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   511  //
   512  //
   513  //    // Example sending a request using the CreateResolverRequest method.
   514  //    req, resp := client.CreateResolverRequest(params)
   515  //
   516  //    err := req.Send()
   517  //    if err == nil { // resp is now filled
   518  //        fmt.Println(resp)
   519  //    }
   520  //
   521  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver
   522  func (c *AppSync) CreateResolverRequest(input *CreateResolverInput) (req *request.Request, output *CreateResolverOutput) {
   523  	op := &request.Operation{
   524  		Name:       opCreateResolver,
   525  		HTTPMethod: "POST",
   526  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers",
   527  	}
   528  
   529  	if input == nil {
   530  		input = &CreateResolverInput{}
   531  	}
   532  
   533  	output = &CreateResolverOutput{}
   534  	req = c.newRequest(op, input, output)
   535  	return
   536  }
   537  
   538  // CreateResolver API operation for AWS AppSync.
   539  //
   540  // Creates a Resolver object.
   541  //
   542  // A resolver converts incoming requests into a format that a data source can
   543  // understand and converts the data source's responses into GraphQL.
   544  //
   545  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   546  // with awserr.Error's Code and Message methods to get detailed information about
   547  // the error.
   548  //
   549  // See the AWS API reference guide for AWS AppSync's
   550  // API operation CreateResolver for usage and error information.
   551  //
   552  // Returned Error Types:
   553  //   * ConcurrentModificationException
   554  //   Another modification is in progress at this time and it must complete before
   555  //   you can make your change.
   556  //
   557  //   * NotFoundException
   558  //   The resource specified in the request was not found. Check the resource,
   559  //   and then try again.
   560  //
   561  //   * UnauthorizedException
   562  //   You are not authorized to perform this operation.
   563  //
   564  //   * InternalFailureException
   565  //   An internal AppSync error occurred. Try your request again.
   566  //
   567  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver
   568  func (c *AppSync) CreateResolver(input *CreateResolverInput) (*CreateResolverOutput, error) {
   569  	req, out := c.CreateResolverRequest(input)
   570  	return out, req.Send()
   571  }
   572  
   573  // CreateResolverWithContext is the same as CreateResolver with the addition of
   574  // the ability to pass a context and additional request options.
   575  //
   576  // See CreateResolver for details on how to use this API operation.
   577  //
   578  // The context must be non-nil and will be used for request cancellation. If
   579  // the context is nil a panic will occur. In the future the SDK may create
   580  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   581  // for more information on using Contexts.
   582  func (c *AppSync) CreateResolverWithContext(ctx aws.Context, input *CreateResolverInput, opts ...request.Option) (*CreateResolverOutput, error) {
   583  	req, out := c.CreateResolverRequest(input)
   584  	req.SetContext(ctx)
   585  	req.ApplyOptions(opts...)
   586  	return out, req.Send()
   587  }
   588  
   589  const opCreateType = "CreateType"
   590  
   591  // CreateTypeRequest generates a "aws/request.Request" representing the
   592  // client's request for the CreateType operation. The "output" return
   593  // value will be populated with the request's response once the request completes
   594  // successfully.
   595  //
   596  // Use "Send" method on the returned Request to send the API call to the service.
   597  // the "output" return value is not valid until after Send returns without error.
   598  //
   599  // See CreateType for more information on using the CreateType
   600  // API call, and error handling.
   601  //
   602  // This method is useful when you want to inject custom logic or configuration
   603  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   604  //
   605  //
   606  //    // Example sending a request using the CreateTypeRequest method.
   607  //    req, resp := client.CreateTypeRequest(params)
   608  //
   609  //    err := req.Send()
   610  //    if err == nil { // resp is now filled
   611  //        fmt.Println(resp)
   612  //    }
   613  //
   614  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType
   615  func (c *AppSync) CreateTypeRequest(input *CreateTypeInput) (req *request.Request, output *CreateTypeOutput) {
   616  	op := &request.Operation{
   617  		Name:       opCreateType,
   618  		HTTPMethod: "POST",
   619  		HTTPPath:   "/v1/apis/{apiId}/types",
   620  	}
   621  
   622  	if input == nil {
   623  		input = &CreateTypeInput{}
   624  	}
   625  
   626  	output = &CreateTypeOutput{}
   627  	req = c.newRequest(op, input, output)
   628  	return
   629  }
   630  
   631  // CreateType API operation for AWS AppSync.
   632  //
   633  // Creates a Type object.
   634  //
   635  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   636  // with awserr.Error's Code and Message methods to get detailed information about
   637  // the error.
   638  //
   639  // See the AWS API reference guide for AWS AppSync's
   640  // API operation CreateType for usage and error information.
   641  //
   642  // Returned Error Types:
   643  //   * BadRequestException
   644  //   The request is not well formed. For example, a value is invalid or a required
   645  //   field is missing. Check the field values, and then try again.
   646  //
   647  //   * ConcurrentModificationException
   648  //   Another modification is in progress at this time and it must complete before
   649  //   you can make your change.
   650  //
   651  //   * NotFoundException
   652  //   The resource specified in the request was not found. Check the resource,
   653  //   and then try again.
   654  //
   655  //   * UnauthorizedException
   656  //   You are not authorized to perform this operation.
   657  //
   658  //   * InternalFailureException
   659  //   An internal AppSync error occurred. Try your request again.
   660  //
   661  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType
   662  func (c *AppSync) CreateType(input *CreateTypeInput) (*CreateTypeOutput, error) {
   663  	req, out := c.CreateTypeRequest(input)
   664  	return out, req.Send()
   665  }
   666  
   667  // CreateTypeWithContext is the same as CreateType with the addition of
   668  // the ability to pass a context and additional request options.
   669  //
   670  // See CreateType for details on how to use this API operation.
   671  //
   672  // The context must be non-nil and will be used for request cancellation. If
   673  // the context is nil a panic will occur. In the future the SDK may create
   674  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   675  // for more information on using Contexts.
   676  func (c *AppSync) CreateTypeWithContext(ctx aws.Context, input *CreateTypeInput, opts ...request.Option) (*CreateTypeOutput, error) {
   677  	req, out := c.CreateTypeRequest(input)
   678  	req.SetContext(ctx)
   679  	req.ApplyOptions(opts...)
   680  	return out, req.Send()
   681  }
   682  
   683  const opDeleteApiCache = "DeleteApiCache"
   684  
   685  // DeleteApiCacheRequest generates a "aws/request.Request" representing the
   686  // client's request for the DeleteApiCache operation. The "output" return
   687  // value will be populated with the request's response once the request completes
   688  // successfully.
   689  //
   690  // Use "Send" method on the returned Request to send the API call to the service.
   691  // the "output" return value is not valid until after Send returns without error.
   692  //
   693  // See DeleteApiCache for more information on using the DeleteApiCache
   694  // API call, and error handling.
   695  //
   696  // This method is useful when you want to inject custom logic or configuration
   697  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   698  //
   699  //
   700  //    // Example sending a request using the DeleteApiCacheRequest method.
   701  //    req, resp := client.DeleteApiCacheRequest(params)
   702  //
   703  //    err := req.Send()
   704  //    if err == nil { // resp is now filled
   705  //        fmt.Println(resp)
   706  //    }
   707  //
   708  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache
   709  func (c *AppSync) DeleteApiCacheRequest(input *DeleteApiCacheInput) (req *request.Request, output *DeleteApiCacheOutput) {
   710  	op := &request.Operation{
   711  		Name:       opDeleteApiCache,
   712  		HTTPMethod: "DELETE",
   713  		HTTPPath:   "/v1/apis/{apiId}/ApiCaches",
   714  	}
   715  
   716  	if input == nil {
   717  		input = &DeleteApiCacheInput{}
   718  	}
   719  
   720  	output = &DeleteApiCacheOutput{}
   721  	req = c.newRequest(op, input, output)
   722  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   723  	return
   724  }
   725  
   726  // DeleteApiCache API operation for AWS AppSync.
   727  //
   728  // Deletes an ApiCache object.
   729  //
   730  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   731  // with awserr.Error's Code and Message methods to get detailed information about
   732  // the error.
   733  //
   734  // See the AWS API reference guide for AWS AppSync's
   735  // API operation DeleteApiCache for usage and error information.
   736  //
   737  // Returned Error Types:
   738  //   * BadRequestException
   739  //   The request is not well formed. For example, a value is invalid or a required
   740  //   field is missing. Check the field values, and then try again.
   741  //
   742  //   * ConcurrentModificationException
   743  //   Another modification is in progress at this time and it must complete before
   744  //   you can make your change.
   745  //
   746  //   * NotFoundException
   747  //   The resource specified in the request was not found. Check the resource,
   748  //   and then try again.
   749  //
   750  //   * UnauthorizedException
   751  //   You are not authorized to perform this operation.
   752  //
   753  //   * InternalFailureException
   754  //   An internal AppSync error occurred. Try your request again.
   755  //
   756  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache
   757  func (c *AppSync) DeleteApiCache(input *DeleteApiCacheInput) (*DeleteApiCacheOutput, error) {
   758  	req, out := c.DeleteApiCacheRequest(input)
   759  	return out, req.Send()
   760  }
   761  
   762  // DeleteApiCacheWithContext is the same as DeleteApiCache with the addition of
   763  // the ability to pass a context and additional request options.
   764  //
   765  // See DeleteApiCache for details on how to use this API operation.
   766  //
   767  // The context must be non-nil and will be used for request cancellation. If
   768  // the context is nil a panic will occur. In the future the SDK may create
   769  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   770  // for more information on using Contexts.
   771  func (c *AppSync) DeleteApiCacheWithContext(ctx aws.Context, input *DeleteApiCacheInput, opts ...request.Option) (*DeleteApiCacheOutput, error) {
   772  	req, out := c.DeleteApiCacheRequest(input)
   773  	req.SetContext(ctx)
   774  	req.ApplyOptions(opts...)
   775  	return out, req.Send()
   776  }
   777  
   778  const opDeleteApiKey = "DeleteApiKey"
   779  
   780  // DeleteApiKeyRequest generates a "aws/request.Request" representing the
   781  // client's request for the DeleteApiKey operation. The "output" return
   782  // value will be populated with the request's response once the request completes
   783  // successfully.
   784  //
   785  // Use "Send" method on the returned Request to send the API call to the service.
   786  // the "output" return value is not valid until after Send returns without error.
   787  //
   788  // See DeleteApiKey for more information on using the DeleteApiKey
   789  // API call, and error handling.
   790  //
   791  // This method is useful when you want to inject custom logic or configuration
   792  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   793  //
   794  //
   795  //    // Example sending a request using the DeleteApiKeyRequest method.
   796  //    req, resp := client.DeleteApiKeyRequest(params)
   797  //
   798  //    err := req.Send()
   799  //    if err == nil { // resp is now filled
   800  //        fmt.Println(resp)
   801  //    }
   802  //
   803  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey
   804  func (c *AppSync) DeleteApiKeyRequest(input *DeleteApiKeyInput) (req *request.Request, output *DeleteApiKeyOutput) {
   805  	op := &request.Operation{
   806  		Name:       opDeleteApiKey,
   807  		HTTPMethod: "DELETE",
   808  		HTTPPath:   "/v1/apis/{apiId}/apikeys/{id}",
   809  	}
   810  
   811  	if input == nil {
   812  		input = &DeleteApiKeyInput{}
   813  	}
   814  
   815  	output = &DeleteApiKeyOutput{}
   816  	req = c.newRequest(op, input, output)
   817  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   818  	return
   819  }
   820  
   821  // DeleteApiKey API operation for AWS AppSync.
   822  //
   823  // Deletes an API key.
   824  //
   825  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   826  // with awserr.Error's Code and Message methods to get detailed information about
   827  // the error.
   828  //
   829  // See the AWS API reference guide for AWS AppSync's
   830  // API operation DeleteApiKey for usage and error information.
   831  //
   832  // Returned Error Types:
   833  //   * BadRequestException
   834  //   The request is not well formed. For example, a value is invalid or a required
   835  //   field is missing. Check the field values, and then try again.
   836  //
   837  //   * NotFoundException
   838  //   The resource specified in the request was not found. Check the resource,
   839  //   and then try again.
   840  //
   841  //   * UnauthorizedException
   842  //   You are not authorized to perform this operation.
   843  //
   844  //   * InternalFailureException
   845  //   An internal AppSync error occurred. Try your request again.
   846  //
   847  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey
   848  func (c *AppSync) DeleteApiKey(input *DeleteApiKeyInput) (*DeleteApiKeyOutput, error) {
   849  	req, out := c.DeleteApiKeyRequest(input)
   850  	return out, req.Send()
   851  }
   852  
   853  // DeleteApiKeyWithContext is the same as DeleteApiKey with the addition of
   854  // the ability to pass a context and additional request options.
   855  //
   856  // See DeleteApiKey for details on how to use this API operation.
   857  //
   858  // The context must be non-nil and will be used for request cancellation. If
   859  // the context is nil a panic will occur. In the future the SDK may create
   860  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   861  // for more information on using Contexts.
   862  func (c *AppSync) DeleteApiKeyWithContext(ctx aws.Context, input *DeleteApiKeyInput, opts ...request.Option) (*DeleteApiKeyOutput, error) {
   863  	req, out := c.DeleteApiKeyRequest(input)
   864  	req.SetContext(ctx)
   865  	req.ApplyOptions(opts...)
   866  	return out, req.Send()
   867  }
   868  
   869  const opDeleteDataSource = "DeleteDataSource"
   870  
   871  // DeleteDataSourceRequest generates a "aws/request.Request" representing the
   872  // client's request for the DeleteDataSource operation. The "output" return
   873  // value will be populated with the request's response once the request completes
   874  // successfully.
   875  //
   876  // Use "Send" method on the returned Request to send the API call to the service.
   877  // the "output" return value is not valid until after Send returns without error.
   878  //
   879  // See DeleteDataSource for more information on using the DeleteDataSource
   880  // API call, and error handling.
   881  //
   882  // This method is useful when you want to inject custom logic or configuration
   883  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   884  //
   885  //
   886  //    // Example sending a request using the DeleteDataSourceRequest method.
   887  //    req, resp := client.DeleteDataSourceRequest(params)
   888  //
   889  //    err := req.Send()
   890  //    if err == nil { // resp is now filled
   891  //        fmt.Println(resp)
   892  //    }
   893  //
   894  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource
   895  func (c *AppSync) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) {
   896  	op := &request.Operation{
   897  		Name:       opDeleteDataSource,
   898  		HTTPMethod: "DELETE",
   899  		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
   900  	}
   901  
   902  	if input == nil {
   903  		input = &DeleteDataSourceInput{}
   904  	}
   905  
   906  	output = &DeleteDataSourceOutput{}
   907  	req = c.newRequest(op, input, output)
   908  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   909  	return
   910  }
   911  
   912  // DeleteDataSource API operation for AWS AppSync.
   913  //
   914  // Deletes a DataSource object.
   915  //
   916  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   917  // with awserr.Error's Code and Message methods to get detailed information about
   918  // the error.
   919  //
   920  // See the AWS API reference guide for AWS AppSync's
   921  // API operation DeleteDataSource for usage and error information.
   922  //
   923  // Returned Error Types:
   924  //   * BadRequestException
   925  //   The request is not well formed. For example, a value is invalid or a required
   926  //   field is missing. Check the field values, and then try again.
   927  //
   928  //   * ConcurrentModificationException
   929  //   Another modification is in progress at this time and it must complete before
   930  //   you can make your change.
   931  //
   932  //   * NotFoundException
   933  //   The resource specified in the request was not found. Check the resource,
   934  //   and then try again.
   935  //
   936  //   * UnauthorizedException
   937  //   You are not authorized to perform this operation.
   938  //
   939  //   * InternalFailureException
   940  //   An internal AppSync error occurred. Try your request again.
   941  //
   942  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource
   943  func (c *AppSync) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) {
   944  	req, out := c.DeleteDataSourceRequest(input)
   945  	return out, req.Send()
   946  }
   947  
   948  // DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of
   949  // the ability to pass a context and additional request options.
   950  //
   951  // See DeleteDataSource for details on how to use this API operation.
   952  //
   953  // The context must be non-nil and will be used for request cancellation. If
   954  // the context is nil a panic will occur. In the future the SDK may create
   955  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   956  // for more information on using Contexts.
   957  func (c *AppSync) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) {
   958  	req, out := c.DeleteDataSourceRequest(input)
   959  	req.SetContext(ctx)
   960  	req.ApplyOptions(opts...)
   961  	return out, req.Send()
   962  }
   963  
   964  const opDeleteFunction = "DeleteFunction"
   965  
   966  // DeleteFunctionRequest generates a "aws/request.Request" representing the
   967  // client's request for the DeleteFunction operation. The "output" return
   968  // value will be populated with the request's response once the request completes
   969  // successfully.
   970  //
   971  // Use "Send" method on the returned Request to send the API call to the service.
   972  // the "output" return value is not valid until after Send returns without error.
   973  //
   974  // See DeleteFunction for more information on using the DeleteFunction
   975  // API call, and error handling.
   976  //
   977  // This method is useful when you want to inject custom logic or configuration
   978  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   979  //
   980  //
   981  //    // Example sending a request using the DeleteFunctionRequest method.
   982  //    req, resp := client.DeleteFunctionRequest(params)
   983  //
   984  //    err := req.Send()
   985  //    if err == nil { // resp is now filled
   986  //        fmt.Println(resp)
   987  //    }
   988  //
   989  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction
   990  func (c *AppSync) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) {
   991  	op := &request.Operation{
   992  		Name:       opDeleteFunction,
   993  		HTTPMethod: "DELETE",
   994  		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
   995  	}
   996  
   997  	if input == nil {
   998  		input = &DeleteFunctionInput{}
   999  	}
  1000  
  1001  	output = &DeleteFunctionOutput{}
  1002  	req = c.newRequest(op, input, output)
  1003  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1004  	return
  1005  }
  1006  
  1007  // DeleteFunction API operation for AWS AppSync.
  1008  //
  1009  // Deletes a Function.
  1010  //
  1011  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1012  // with awserr.Error's Code and Message methods to get detailed information about
  1013  // the error.
  1014  //
  1015  // See the AWS API reference guide for AWS AppSync's
  1016  // API operation DeleteFunction for usage and error information.
  1017  //
  1018  // Returned Error Types:
  1019  //   * ConcurrentModificationException
  1020  //   Another modification is in progress at this time and it must complete before
  1021  //   you can make your change.
  1022  //
  1023  //   * NotFoundException
  1024  //   The resource specified in the request was not found. Check the resource,
  1025  //   and then try again.
  1026  //
  1027  //   * UnauthorizedException
  1028  //   You are not authorized to perform this operation.
  1029  //
  1030  //   * InternalFailureException
  1031  //   An internal AppSync error occurred. Try your request again.
  1032  //
  1033  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction
  1034  func (c *AppSync) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) {
  1035  	req, out := c.DeleteFunctionRequest(input)
  1036  	return out, req.Send()
  1037  }
  1038  
  1039  // DeleteFunctionWithContext is the same as DeleteFunction with the addition of
  1040  // the ability to pass a context and additional request options.
  1041  //
  1042  // See DeleteFunction for details on how to use this API operation.
  1043  //
  1044  // The context must be non-nil and will be used for request cancellation. If
  1045  // the context is nil a panic will occur. In the future the SDK may create
  1046  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1047  // for more information on using Contexts.
  1048  func (c *AppSync) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctionInput, opts ...request.Option) (*DeleteFunctionOutput, error) {
  1049  	req, out := c.DeleteFunctionRequest(input)
  1050  	req.SetContext(ctx)
  1051  	req.ApplyOptions(opts...)
  1052  	return out, req.Send()
  1053  }
  1054  
  1055  const opDeleteGraphqlApi = "DeleteGraphqlApi"
  1056  
  1057  // DeleteGraphqlApiRequest generates a "aws/request.Request" representing the
  1058  // client's request for the DeleteGraphqlApi operation. The "output" return
  1059  // value will be populated with the request's response once the request completes
  1060  // successfully.
  1061  //
  1062  // Use "Send" method on the returned Request to send the API call to the service.
  1063  // the "output" return value is not valid until after Send returns without error.
  1064  //
  1065  // See DeleteGraphqlApi for more information on using the DeleteGraphqlApi
  1066  // API call, and error handling.
  1067  //
  1068  // This method is useful when you want to inject custom logic or configuration
  1069  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1070  //
  1071  //
  1072  //    // Example sending a request using the DeleteGraphqlApiRequest method.
  1073  //    req, resp := client.DeleteGraphqlApiRequest(params)
  1074  //
  1075  //    err := req.Send()
  1076  //    if err == nil { // resp is now filled
  1077  //        fmt.Println(resp)
  1078  //    }
  1079  //
  1080  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi
  1081  func (c *AppSync) DeleteGraphqlApiRequest(input *DeleteGraphqlApiInput) (req *request.Request, output *DeleteGraphqlApiOutput) {
  1082  	op := &request.Operation{
  1083  		Name:       opDeleteGraphqlApi,
  1084  		HTTPMethod: "DELETE",
  1085  		HTTPPath:   "/v1/apis/{apiId}",
  1086  	}
  1087  
  1088  	if input == nil {
  1089  		input = &DeleteGraphqlApiInput{}
  1090  	}
  1091  
  1092  	output = &DeleteGraphqlApiOutput{}
  1093  	req = c.newRequest(op, input, output)
  1094  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1095  	return
  1096  }
  1097  
  1098  // DeleteGraphqlApi API operation for AWS AppSync.
  1099  //
  1100  // Deletes a GraphqlApi object.
  1101  //
  1102  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1103  // with awserr.Error's Code and Message methods to get detailed information about
  1104  // the error.
  1105  //
  1106  // See the AWS API reference guide for AWS AppSync's
  1107  // API operation DeleteGraphqlApi for usage and error information.
  1108  //
  1109  // Returned Error Types:
  1110  //   * BadRequestException
  1111  //   The request is not well formed. For example, a value is invalid or a required
  1112  //   field is missing. Check the field values, and then try again.
  1113  //
  1114  //   * ConcurrentModificationException
  1115  //   Another modification is in progress at this time and it must complete before
  1116  //   you can make your change.
  1117  //
  1118  //   * NotFoundException
  1119  //   The resource specified in the request was not found. Check the resource,
  1120  //   and then try again.
  1121  //
  1122  //   * UnauthorizedException
  1123  //   You are not authorized to perform this operation.
  1124  //
  1125  //   * InternalFailureException
  1126  //   An internal AppSync error occurred. Try your request again.
  1127  //
  1128  //   * AccessDeniedException
  1129  //   You do not have access to perform this operation on this resource.
  1130  //
  1131  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi
  1132  func (c *AppSync) DeleteGraphqlApi(input *DeleteGraphqlApiInput) (*DeleteGraphqlApiOutput, error) {
  1133  	req, out := c.DeleteGraphqlApiRequest(input)
  1134  	return out, req.Send()
  1135  }
  1136  
  1137  // DeleteGraphqlApiWithContext is the same as DeleteGraphqlApi with the addition of
  1138  // the ability to pass a context and additional request options.
  1139  //
  1140  // See DeleteGraphqlApi for details on how to use this API operation.
  1141  //
  1142  // The context must be non-nil and will be used for request cancellation. If
  1143  // the context is nil a panic will occur. In the future the SDK may create
  1144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1145  // for more information on using Contexts.
  1146  func (c *AppSync) DeleteGraphqlApiWithContext(ctx aws.Context, input *DeleteGraphqlApiInput, opts ...request.Option) (*DeleteGraphqlApiOutput, error) {
  1147  	req, out := c.DeleteGraphqlApiRequest(input)
  1148  	req.SetContext(ctx)
  1149  	req.ApplyOptions(opts...)
  1150  	return out, req.Send()
  1151  }
  1152  
  1153  const opDeleteResolver = "DeleteResolver"
  1154  
  1155  // DeleteResolverRequest generates a "aws/request.Request" representing the
  1156  // client's request for the DeleteResolver operation. The "output" return
  1157  // value will be populated with the request's response once the request completes
  1158  // successfully.
  1159  //
  1160  // Use "Send" method on the returned Request to send the API call to the service.
  1161  // the "output" return value is not valid until after Send returns without error.
  1162  //
  1163  // See DeleteResolver for more information on using the DeleteResolver
  1164  // API call, and error handling.
  1165  //
  1166  // This method is useful when you want to inject custom logic or configuration
  1167  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1168  //
  1169  //
  1170  //    // Example sending a request using the DeleteResolverRequest method.
  1171  //    req, resp := client.DeleteResolverRequest(params)
  1172  //
  1173  //    err := req.Send()
  1174  //    if err == nil { // resp is now filled
  1175  //        fmt.Println(resp)
  1176  //    }
  1177  //
  1178  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver
  1179  func (c *AppSync) DeleteResolverRequest(input *DeleteResolverInput) (req *request.Request, output *DeleteResolverOutput) {
  1180  	op := &request.Operation{
  1181  		Name:       opDeleteResolver,
  1182  		HTTPMethod: "DELETE",
  1183  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
  1184  	}
  1185  
  1186  	if input == nil {
  1187  		input = &DeleteResolverInput{}
  1188  	}
  1189  
  1190  	output = &DeleteResolverOutput{}
  1191  	req = c.newRequest(op, input, output)
  1192  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1193  	return
  1194  }
  1195  
  1196  // DeleteResolver API operation for AWS AppSync.
  1197  //
  1198  // Deletes a Resolver object.
  1199  //
  1200  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1201  // with awserr.Error's Code and Message methods to get detailed information about
  1202  // the error.
  1203  //
  1204  // See the AWS API reference guide for AWS AppSync's
  1205  // API operation DeleteResolver for usage and error information.
  1206  //
  1207  // Returned Error Types:
  1208  //   * ConcurrentModificationException
  1209  //   Another modification is in progress at this time and it must complete before
  1210  //   you can make your change.
  1211  //
  1212  //   * NotFoundException
  1213  //   The resource specified in the request was not found. Check the resource,
  1214  //   and then try again.
  1215  //
  1216  //   * UnauthorizedException
  1217  //   You are not authorized to perform this operation.
  1218  //
  1219  //   * InternalFailureException
  1220  //   An internal AppSync error occurred. Try your request again.
  1221  //
  1222  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver
  1223  func (c *AppSync) DeleteResolver(input *DeleteResolverInput) (*DeleteResolverOutput, error) {
  1224  	req, out := c.DeleteResolverRequest(input)
  1225  	return out, req.Send()
  1226  }
  1227  
  1228  // DeleteResolverWithContext is the same as DeleteResolver with the addition of
  1229  // the ability to pass a context and additional request options.
  1230  //
  1231  // See DeleteResolver for details on how to use this API operation.
  1232  //
  1233  // The context must be non-nil and will be used for request cancellation. If
  1234  // the context is nil a panic will occur. In the future the SDK may create
  1235  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1236  // for more information on using Contexts.
  1237  func (c *AppSync) DeleteResolverWithContext(ctx aws.Context, input *DeleteResolverInput, opts ...request.Option) (*DeleteResolverOutput, error) {
  1238  	req, out := c.DeleteResolverRequest(input)
  1239  	req.SetContext(ctx)
  1240  	req.ApplyOptions(opts...)
  1241  	return out, req.Send()
  1242  }
  1243  
  1244  const opDeleteType = "DeleteType"
  1245  
  1246  // DeleteTypeRequest generates a "aws/request.Request" representing the
  1247  // client's request for the DeleteType operation. The "output" return
  1248  // value will be populated with the request's response once the request completes
  1249  // successfully.
  1250  //
  1251  // Use "Send" method on the returned Request to send the API call to the service.
  1252  // the "output" return value is not valid until after Send returns without error.
  1253  //
  1254  // See DeleteType for more information on using the DeleteType
  1255  // API call, and error handling.
  1256  //
  1257  // This method is useful when you want to inject custom logic or configuration
  1258  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1259  //
  1260  //
  1261  //    // Example sending a request using the DeleteTypeRequest method.
  1262  //    req, resp := client.DeleteTypeRequest(params)
  1263  //
  1264  //    err := req.Send()
  1265  //    if err == nil { // resp is now filled
  1266  //        fmt.Println(resp)
  1267  //    }
  1268  //
  1269  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType
  1270  func (c *AppSync) DeleteTypeRequest(input *DeleteTypeInput) (req *request.Request, output *DeleteTypeOutput) {
  1271  	op := &request.Operation{
  1272  		Name:       opDeleteType,
  1273  		HTTPMethod: "DELETE",
  1274  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
  1275  	}
  1276  
  1277  	if input == nil {
  1278  		input = &DeleteTypeInput{}
  1279  	}
  1280  
  1281  	output = &DeleteTypeOutput{}
  1282  	req = c.newRequest(op, input, output)
  1283  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1284  	return
  1285  }
  1286  
  1287  // DeleteType API operation for AWS AppSync.
  1288  //
  1289  // Deletes a Type object.
  1290  //
  1291  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1292  // with awserr.Error's Code and Message methods to get detailed information about
  1293  // the error.
  1294  //
  1295  // See the AWS API reference guide for AWS AppSync's
  1296  // API operation DeleteType for usage and error information.
  1297  //
  1298  // Returned Error Types:
  1299  //   * BadRequestException
  1300  //   The request is not well formed. For example, a value is invalid or a required
  1301  //   field is missing. Check the field values, and then try again.
  1302  //
  1303  //   * ConcurrentModificationException
  1304  //   Another modification is in progress at this time and it must complete before
  1305  //   you can make your change.
  1306  //
  1307  //   * NotFoundException
  1308  //   The resource specified in the request was not found. Check the resource,
  1309  //   and then try again.
  1310  //
  1311  //   * UnauthorizedException
  1312  //   You are not authorized to perform this operation.
  1313  //
  1314  //   * InternalFailureException
  1315  //   An internal AppSync error occurred. Try your request again.
  1316  //
  1317  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType
  1318  func (c *AppSync) DeleteType(input *DeleteTypeInput) (*DeleteTypeOutput, error) {
  1319  	req, out := c.DeleteTypeRequest(input)
  1320  	return out, req.Send()
  1321  }
  1322  
  1323  // DeleteTypeWithContext is the same as DeleteType with the addition of
  1324  // the ability to pass a context and additional request options.
  1325  //
  1326  // See DeleteType for details on how to use this API operation.
  1327  //
  1328  // The context must be non-nil and will be used for request cancellation. If
  1329  // the context is nil a panic will occur. In the future the SDK may create
  1330  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1331  // for more information on using Contexts.
  1332  func (c *AppSync) DeleteTypeWithContext(ctx aws.Context, input *DeleteTypeInput, opts ...request.Option) (*DeleteTypeOutput, error) {
  1333  	req, out := c.DeleteTypeRequest(input)
  1334  	req.SetContext(ctx)
  1335  	req.ApplyOptions(opts...)
  1336  	return out, req.Send()
  1337  }
  1338  
  1339  const opFlushApiCache = "FlushApiCache"
  1340  
  1341  // FlushApiCacheRequest generates a "aws/request.Request" representing the
  1342  // client's request for the FlushApiCache operation. The "output" return
  1343  // value will be populated with the request's response once the request completes
  1344  // successfully.
  1345  //
  1346  // Use "Send" method on the returned Request to send the API call to the service.
  1347  // the "output" return value is not valid until after Send returns without error.
  1348  //
  1349  // See FlushApiCache for more information on using the FlushApiCache
  1350  // API call, and error handling.
  1351  //
  1352  // This method is useful when you want to inject custom logic or configuration
  1353  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1354  //
  1355  //
  1356  //    // Example sending a request using the FlushApiCacheRequest method.
  1357  //    req, resp := client.FlushApiCacheRequest(params)
  1358  //
  1359  //    err := req.Send()
  1360  //    if err == nil { // resp is now filled
  1361  //        fmt.Println(resp)
  1362  //    }
  1363  //
  1364  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache
  1365  func (c *AppSync) FlushApiCacheRequest(input *FlushApiCacheInput) (req *request.Request, output *FlushApiCacheOutput) {
  1366  	op := &request.Operation{
  1367  		Name:       opFlushApiCache,
  1368  		HTTPMethod: "DELETE",
  1369  		HTTPPath:   "/v1/apis/{apiId}/FlushCache",
  1370  	}
  1371  
  1372  	if input == nil {
  1373  		input = &FlushApiCacheInput{}
  1374  	}
  1375  
  1376  	output = &FlushApiCacheOutput{}
  1377  	req = c.newRequest(op, input, output)
  1378  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1379  	return
  1380  }
  1381  
  1382  // FlushApiCache API operation for AWS AppSync.
  1383  //
  1384  // Flushes an ApiCache object.
  1385  //
  1386  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1387  // with awserr.Error's Code and Message methods to get detailed information about
  1388  // the error.
  1389  //
  1390  // See the AWS API reference guide for AWS AppSync's
  1391  // API operation FlushApiCache for usage and error information.
  1392  //
  1393  // Returned Error Types:
  1394  //   * BadRequestException
  1395  //   The request is not well formed. For example, a value is invalid or a required
  1396  //   field is missing. Check the field values, and then try again.
  1397  //
  1398  //   * ConcurrentModificationException
  1399  //   Another modification is in progress at this time and it must complete before
  1400  //   you can make your change.
  1401  //
  1402  //   * NotFoundException
  1403  //   The resource specified in the request was not found. Check the resource,
  1404  //   and then try again.
  1405  //
  1406  //   * UnauthorizedException
  1407  //   You are not authorized to perform this operation.
  1408  //
  1409  //   * InternalFailureException
  1410  //   An internal AppSync error occurred. Try your request again.
  1411  //
  1412  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache
  1413  func (c *AppSync) FlushApiCache(input *FlushApiCacheInput) (*FlushApiCacheOutput, error) {
  1414  	req, out := c.FlushApiCacheRequest(input)
  1415  	return out, req.Send()
  1416  }
  1417  
  1418  // FlushApiCacheWithContext is the same as FlushApiCache with the addition of
  1419  // the ability to pass a context and additional request options.
  1420  //
  1421  // See FlushApiCache for details on how to use this API operation.
  1422  //
  1423  // The context must be non-nil and will be used for request cancellation. If
  1424  // the context is nil a panic will occur. In the future the SDK may create
  1425  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1426  // for more information on using Contexts.
  1427  func (c *AppSync) FlushApiCacheWithContext(ctx aws.Context, input *FlushApiCacheInput, opts ...request.Option) (*FlushApiCacheOutput, error) {
  1428  	req, out := c.FlushApiCacheRequest(input)
  1429  	req.SetContext(ctx)
  1430  	req.ApplyOptions(opts...)
  1431  	return out, req.Send()
  1432  }
  1433  
  1434  const opGetApiCache = "GetApiCache"
  1435  
  1436  // GetApiCacheRequest generates a "aws/request.Request" representing the
  1437  // client's request for the GetApiCache operation. The "output" return
  1438  // value will be populated with the request's response once the request completes
  1439  // successfully.
  1440  //
  1441  // Use "Send" method on the returned Request to send the API call to the service.
  1442  // the "output" return value is not valid until after Send returns without error.
  1443  //
  1444  // See GetApiCache for more information on using the GetApiCache
  1445  // API call, and error handling.
  1446  //
  1447  // This method is useful when you want to inject custom logic or configuration
  1448  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1449  //
  1450  //
  1451  //    // Example sending a request using the GetApiCacheRequest method.
  1452  //    req, resp := client.GetApiCacheRequest(params)
  1453  //
  1454  //    err := req.Send()
  1455  //    if err == nil { // resp is now filled
  1456  //        fmt.Println(resp)
  1457  //    }
  1458  //
  1459  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache
  1460  func (c *AppSync) GetApiCacheRequest(input *GetApiCacheInput) (req *request.Request, output *GetApiCacheOutput) {
  1461  	op := &request.Operation{
  1462  		Name:       opGetApiCache,
  1463  		HTTPMethod: "GET",
  1464  		HTTPPath:   "/v1/apis/{apiId}/ApiCaches",
  1465  	}
  1466  
  1467  	if input == nil {
  1468  		input = &GetApiCacheInput{}
  1469  	}
  1470  
  1471  	output = &GetApiCacheOutput{}
  1472  	req = c.newRequest(op, input, output)
  1473  	return
  1474  }
  1475  
  1476  // GetApiCache API operation for AWS AppSync.
  1477  //
  1478  // Retrieves an ApiCache object.
  1479  //
  1480  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1481  // with awserr.Error's Code and Message methods to get detailed information about
  1482  // the error.
  1483  //
  1484  // See the AWS API reference guide for AWS AppSync's
  1485  // API operation GetApiCache for usage and error information.
  1486  //
  1487  // Returned Error Types:
  1488  //   * BadRequestException
  1489  //   The request is not well formed. For example, a value is invalid or a required
  1490  //   field is missing. Check the field values, and then try again.
  1491  //
  1492  //   * ConcurrentModificationException
  1493  //   Another modification is in progress at this time and it must complete before
  1494  //   you can make your change.
  1495  //
  1496  //   * NotFoundException
  1497  //   The resource specified in the request was not found. Check the resource,
  1498  //   and then try again.
  1499  //
  1500  //   * UnauthorizedException
  1501  //   You are not authorized to perform this operation.
  1502  //
  1503  //   * InternalFailureException
  1504  //   An internal AppSync error occurred. Try your request again.
  1505  //
  1506  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache
  1507  func (c *AppSync) GetApiCache(input *GetApiCacheInput) (*GetApiCacheOutput, error) {
  1508  	req, out := c.GetApiCacheRequest(input)
  1509  	return out, req.Send()
  1510  }
  1511  
  1512  // GetApiCacheWithContext is the same as GetApiCache with the addition of
  1513  // the ability to pass a context and additional request options.
  1514  //
  1515  // See GetApiCache for details on how to use this API operation.
  1516  //
  1517  // The context must be non-nil and will be used for request cancellation. If
  1518  // the context is nil a panic will occur. In the future the SDK may create
  1519  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1520  // for more information on using Contexts.
  1521  func (c *AppSync) GetApiCacheWithContext(ctx aws.Context, input *GetApiCacheInput, opts ...request.Option) (*GetApiCacheOutput, error) {
  1522  	req, out := c.GetApiCacheRequest(input)
  1523  	req.SetContext(ctx)
  1524  	req.ApplyOptions(opts...)
  1525  	return out, req.Send()
  1526  }
  1527  
  1528  const opGetDataSource = "GetDataSource"
  1529  
  1530  // GetDataSourceRequest generates a "aws/request.Request" representing the
  1531  // client's request for the GetDataSource operation. The "output" return
  1532  // value will be populated with the request's response once the request completes
  1533  // successfully.
  1534  //
  1535  // Use "Send" method on the returned Request to send the API call to the service.
  1536  // the "output" return value is not valid until after Send returns without error.
  1537  //
  1538  // See GetDataSource for more information on using the GetDataSource
  1539  // API call, and error handling.
  1540  //
  1541  // This method is useful when you want to inject custom logic or configuration
  1542  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1543  //
  1544  //
  1545  //    // Example sending a request using the GetDataSourceRequest method.
  1546  //    req, resp := client.GetDataSourceRequest(params)
  1547  //
  1548  //    err := req.Send()
  1549  //    if err == nil { // resp is now filled
  1550  //        fmt.Println(resp)
  1551  //    }
  1552  //
  1553  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource
  1554  func (c *AppSync) GetDataSourceRequest(input *GetDataSourceInput) (req *request.Request, output *GetDataSourceOutput) {
  1555  	op := &request.Operation{
  1556  		Name:       opGetDataSource,
  1557  		HTTPMethod: "GET",
  1558  		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
  1559  	}
  1560  
  1561  	if input == nil {
  1562  		input = &GetDataSourceInput{}
  1563  	}
  1564  
  1565  	output = &GetDataSourceOutput{}
  1566  	req = c.newRequest(op, input, output)
  1567  	return
  1568  }
  1569  
  1570  // GetDataSource API operation for AWS AppSync.
  1571  //
  1572  // Retrieves a DataSource object.
  1573  //
  1574  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1575  // with awserr.Error's Code and Message methods to get detailed information about
  1576  // the error.
  1577  //
  1578  // See the AWS API reference guide for AWS AppSync's
  1579  // API operation GetDataSource for usage and error information.
  1580  //
  1581  // Returned Error Types:
  1582  //   * BadRequestException
  1583  //   The request is not well formed. For example, a value is invalid or a required
  1584  //   field is missing. Check the field values, and then try again.
  1585  //
  1586  //   * ConcurrentModificationException
  1587  //   Another modification is in progress at this time and it must complete before
  1588  //   you can make your change.
  1589  //
  1590  //   * NotFoundException
  1591  //   The resource specified in the request was not found. Check the resource,
  1592  //   and then try again.
  1593  //
  1594  //   * UnauthorizedException
  1595  //   You are not authorized to perform this operation.
  1596  //
  1597  //   * InternalFailureException
  1598  //   An internal AppSync error occurred. Try your request again.
  1599  //
  1600  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource
  1601  func (c *AppSync) GetDataSource(input *GetDataSourceInput) (*GetDataSourceOutput, error) {
  1602  	req, out := c.GetDataSourceRequest(input)
  1603  	return out, req.Send()
  1604  }
  1605  
  1606  // GetDataSourceWithContext is the same as GetDataSource with the addition of
  1607  // the ability to pass a context and additional request options.
  1608  //
  1609  // See GetDataSource 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 *AppSync) GetDataSourceWithContext(ctx aws.Context, input *GetDataSourceInput, opts ...request.Option) (*GetDataSourceOutput, error) {
  1616  	req, out := c.GetDataSourceRequest(input)
  1617  	req.SetContext(ctx)
  1618  	req.ApplyOptions(opts...)
  1619  	return out, req.Send()
  1620  }
  1621  
  1622  const opGetFunction = "GetFunction"
  1623  
  1624  // GetFunctionRequest generates a "aws/request.Request" representing the
  1625  // client's request for the GetFunction 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 GetFunction for more information on using the GetFunction
  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 GetFunctionRequest method.
  1640  //    req, resp := client.GetFunctionRequest(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/appsync-2017-07-25/GetFunction
  1648  func (c *AppSync) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) {
  1649  	op := &request.Operation{
  1650  		Name:       opGetFunction,
  1651  		HTTPMethod: "GET",
  1652  		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
  1653  	}
  1654  
  1655  	if input == nil {
  1656  		input = &GetFunctionInput{}
  1657  	}
  1658  
  1659  	output = &GetFunctionOutput{}
  1660  	req = c.newRequest(op, input, output)
  1661  	return
  1662  }
  1663  
  1664  // GetFunction API operation for AWS AppSync.
  1665  //
  1666  // Get a Function.
  1667  //
  1668  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1669  // with awserr.Error's Code and Message methods to get detailed information about
  1670  // the error.
  1671  //
  1672  // See the AWS API reference guide for AWS AppSync's
  1673  // API operation GetFunction for usage and error information.
  1674  //
  1675  // Returned Error Types:
  1676  //   * ConcurrentModificationException
  1677  //   Another modification is in progress at this time and it must complete before
  1678  //   you can make your change.
  1679  //
  1680  //   * NotFoundException
  1681  //   The resource specified in the request was not found. Check the resource,
  1682  //   and then try again.
  1683  //
  1684  //   * UnauthorizedException
  1685  //   You are not authorized to perform this operation.
  1686  //
  1687  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunction
  1688  func (c *AppSync) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) {
  1689  	req, out := c.GetFunctionRequest(input)
  1690  	return out, req.Send()
  1691  }
  1692  
  1693  // GetFunctionWithContext is the same as GetFunction with the addition of
  1694  // the ability to pass a context and additional request options.
  1695  //
  1696  // See GetFunction for details on how to use this API operation.
  1697  //
  1698  // The context must be non-nil and will be used for request cancellation. If
  1699  // the context is nil a panic will occur. In the future the SDK may create
  1700  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1701  // for more information on using Contexts.
  1702  func (c *AppSync) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput, opts ...request.Option) (*GetFunctionOutput, error) {
  1703  	req, out := c.GetFunctionRequest(input)
  1704  	req.SetContext(ctx)
  1705  	req.ApplyOptions(opts...)
  1706  	return out, req.Send()
  1707  }
  1708  
  1709  const opGetGraphqlApi = "GetGraphqlApi"
  1710  
  1711  // GetGraphqlApiRequest generates a "aws/request.Request" representing the
  1712  // client's request for the GetGraphqlApi operation. The "output" return
  1713  // value will be populated with the request's response once the request completes
  1714  // successfully.
  1715  //
  1716  // Use "Send" method on the returned Request to send the API call to the service.
  1717  // the "output" return value is not valid until after Send returns without error.
  1718  //
  1719  // See GetGraphqlApi for more information on using the GetGraphqlApi
  1720  // API call, and error handling.
  1721  //
  1722  // This method is useful when you want to inject custom logic or configuration
  1723  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1724  //
  1725  //
  1726  //    // Example sending a request using the GetGraphqlApiRequest method.
  1727  //    req, resp := client.GetGraphqlApiRequest(params)
  1728  //
  1729  //    err := req.Send()
  1730  //    if err == nil { // resp is now filled
  1731  //        fmt.Println(resp)
  1732  //    }
  1733  //
  1734  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi
  1735  func (c *AppSync) GetGraphqlApiRequest(input *GetGraphqlApiInput) (req *request.Request, output *GetGraphqlApiOutput) {
  1736  	op := &request.Operation{
  1737  		Name:       opGetGraphqlApi,
  1738  		HTTPMethod: "GET",
  1739  		HTTPPath:   "/v1/apis/{apiId}",
  1740  	}
  1741  
  1742  	if input == nil {
  1743  		input = &GetGraphqlApiInput{}
  1744  	}
  1745  
  1746  	output = &GetGraphqlApiOutput{}
  1747  	req = c.newRequest(op, input, output)
  1748  	return
  1749  }
  1750  
  1751  // GetGraphqlApi API operation for AWS AppSync.
  1752  //
  1753  // Retrieves a GraphqlApi object.
  1754  //
  1755  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1756  // with awserr.Error's Code and Message methods to get detailed information about
  1757  // the error.
  1758  //
  1759  // See the AWS API reference guide for AWS AppSync's
  1760  // API operation GetGraphqlApi for usage and error information.
  1761  //
  1762  // Returned Error Types:
  1763  //   * BadRequestException
  1764  //   The request is not well formed. For example, a value is invalid or a required
  1765  //   field is missing. Check the field values, and then try again.
  1766  //
  1767  //   * NotFoundException
  1768  //   The resource specified in the request was not found. Check the resource,
  1769  //   and then try again.
  1770  //
  1771  //   * UnauthorizedException
  1772  //   You are not authorized to perform this operation.
  1773  //
  1774  //   * InternalFailureException
  1775  //   An internal AppSync error occurred. Try your request again.
  1776  //
  1777  //   * AccessDeniedException
  1778  //   You do not have access to perform this operation on this resource.
  1779  //
  1780  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi
  1781  func (c *AppSync) GetGraphqlApi(input *GetGraphqlApiInput) (*GetGraphqlApiOutput, error) {
  1782  	req, out := c.GetGraphqlApiRequest(input)
  1783  	return out, req.Send()
  1784  }
  1785  
  1786  // GetGraphqlApiWithContext is the same as GetGraphqlApi with the addition of
  1787  // the ability to pass a context and additional request options.
  1788  //
  1789  // See GetGraphqlApi for details on how to use this API operation.
  1790  //
  1791  // The context must be non-nil and will be used for request cancellation. If
  1792  // the context is nil a panic will occur. In the future the SDK may create
  1793  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1794  // for more information on using Contexts.
  1795  func (c *AppSync) GetGraphqlApiWithContext(ctx aws.Context, input *GetGraphqlApiInput, opts ...request.Option) (*GetGraphqlApiOutput, error) {
  1796  	req, out := c.GetGraphqlApiRequest(input)
  1797  	req.SetContext(ctx)
  1798  	req.ApplyOptions(opts...)
  1799  	return out, req.Send()
  1800  }
  1801  
  1802  const opGetIntrospectionSchema = "GetIntrospectionSchema"
  1803  
  1804  // GetIntrospectionSchemaRequest generates a "aws/request.Request" representing the
  1805  // client's request for the GetIntrospectionSchema operation. The "output" return
  1806  // value will be populated with the request's response once the request completes
  1807  // successfully.
  1808  //
  1809  // Use "Send" method on the returned Request to send the API call to the service.
  1810  // the "output" return value is not valid until after Send returns without error.
  1811  //
  1812  // See GetIntrospectionSchema for more information on using the GetIntrospectionSchema
  1813  // API call, and error handling.
  1814  //
  1815  // This method is useful when you want to inject custom logic or configuration
  1816  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1817  //
  1818  //
  1819  //    // Example sending a request using the GetIntrospectionSchemaRequest method.
  1820  //    req, resp := client.GetIntrospectionSchemaRequest(params)
  1821  //
  1822  //    err := req.Send()
  1823  //    if err == nil { // resp is now filled
  1824  //        fmt.Println(resp)
  1825  //    }
  1826  //
  1827  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema
  1828  func (c *AppSync) GetIntrospectionSchemaRequest(input *GetIntrospectionSchemaInput) (req *request.Request, output *GetIntrospectionSchemaOutput) {
  1829  	op := &request.Operation{
  1830  		Name:       opGetIntrospectionSchema,
  1831  		HTTPMethod: "GET",
  1832  		HTTPPath:   "/v1/apis/{apiId}/schema",
  1833  	}
  1834  
  1835  	if input == nil {
  1836  		input = &GetIntrospectionSchemaInput{}
  1837  	}
  1838  
  1839  	output = &GetIntrospectionSchemaOutput{}
  1840  	req = c.newRequest(op, input, output)
  1841  	return
  1842  }
  1843  
  1844  // GetIntrospectionSchema API operation for AWS AppSync.
  1845  //
  1846  // Retrieves the introspection schema for a GraphQL API.
  1847  //
  1848  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1849  // with awserr.Error's Code and Message methods to get detailed information about
  1850  // the error.
  1851  //
  1852  // See the AWS API reference guide for AWS AppSync's
  1853  // API operation GetIntrospectionSchema for usage and error information.
  1854  //
  1855  // Returned Error Types:
  1856  //   * GraphQLSchemaException
  1857  //   The GraphQL schema is not valid.
  1858  //
  1859  //   * NotFoundException
  1860  //   The resource specified in the request was not found. Check the resource,
  1861  //   and then try again.
  1862  //
  1863  //   * UnauthorizedException
  1864  //   You are not authorized to perform this operation.
  1865  //
  1866  //   * InternalFailureException
  1867  //   An internal AppSync error occurred. Try your request again.
  1868  //
  1869  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema
  1870  func (c *AppSync) GetIntrospectionSchema(input *GetIntrospectionSchemaInput) (*GetIntrospectionSchemaOutput, error) {
  1871  	req, out := c.GetIntrospectionSchemaRequest(input)
  1872  	return out, req.Send()
  1873  }
  1874  
  1875  // GetIntrospectionSchemaWithContext is the same as GetIntrospectionSchema with the addition of
  1876  // the ability to pass a context and additional request options.
  1877  //
  1878  // See GetIntrospectionSchema for details on how to use this API operation.
  1879  //
  1880  // The context must be non-nil and will be used for request cancellation. If
  1881  // the context is nil a panic will occur. In the future the SDK may create
  1882  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1883  // for more information on using Contexts.
  1884  func (c *AppSync) GetIntrospectionSchemaWithContext(ctx aws.Context, input *GetIntrospectionSchemaInput, opts ...request.Option) (*GetIntrospectionSchemaOutput, error) {
  1885  	req, out := c.GetIntrospectionSchemaRequest(input)
  1886  	req.SetContext(ctx)
  1887  	req.ApplyOptions(opts...)
  1888  	return out, req.Send()
  1889  }
  1890  
  1891  const opGetResolver = "GetResolver"
  1892  
  1893  // GetResolverRequest generates a "aws/request.Request" representing the
  1894  // client's request for the GetResolver operation. The "output" return
  1895  // value will be populated with the request's response once the request completes
  1896  // successfully.
  1897  //
  1898  // Use "Send" method on the returned Request to send the API call to the service.
  1899  // the "output" return value is not valid until after Send returns without error.
  1900  //
  1901  // See GetResolver for more information on using the GetResolver
  1902  // API call, and error handling.
  1903  //
  1904  // This method is useful when you want to inject custom logic or configuration
  1905  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1906  //
  1907  //
  1908  //    // Example sending a request using the GetResolverRequest method.
  1909  //    req, resp := client.GetResolverRequest(params)
  1910  //
  1911  //    err := req.Send()
  1912  //    if err == nil { // resp is now filled
  1913  //        fmt.Println(resp)
  1914  //    }
  1915  //
  1916  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver
  1917  func (c *AppSync) GetResolverRequest(input *GetResolverInput) (req *request.Request, output *GetResolverOutput) {
  1918  	op := &request.Operation{
  1919  		Name:       opGetResolver,
  1920  		HTTPMethod: "GET",
  1921  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
  1922  	}
  1923  
  1924  	if input == nil {
  1925  		input = &GetResolverInput{}
  1926  	}
  1927  
  1928  	output = &GetResolverOutput{}
  1929  	req = c.newRequest(op, input, output)
  1930  	return
  1931  }
  1932  
  1933  // GetResolver API operation for AWS AppSync.
  1934  //
  1935  // Retrieves a Resolver object.
  1936  //
  1937  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1938  // with awserr.Error's Code and Message methods to get detailed information about
  1939  // the error.
  1940  //
  1941  // See the AWS API reference guide for AWS AppSync's
  1942  // API operation GetResolver for usage and error information.
  1943  //
  1944  // Returned Error Types:
  1945  //   * ConcurrentModificationException
  1946  //   Another modification is in progress at this time and it must complete before
  1947  //   you can make your change.
  1948  //
  1949  //   * NotFoundException
  1950  //   The resource specified in the request was not found. Check the resource,
  1951  //   and then try again.
  1952  //
  1953  //   * UnauthorizedException
  1954  //   You are not authorized to perform this operation.
  1955  //
  1956  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver
  1957  func (c *AppSync) GetResolver(input *GetResolverInput) (*GetResolverOutput, error) {
  1958  	req, out := c.GetResolverRequest(input)
  1959  	return out, req.Send()
  1960  }
  1961  
  1962  // GetResolverWithContext is the same as GetResolver with the addition of
  1963  // the ability to pass a context and additional request options.
  1964  //
  1965  // See GetResolver for details on how to use this API operation.
  1966  //
  1967  // The context must be non-nil and will be used for request cancellation. If
  1968  // the context is nil a panic will occur. In the future the SDK may create
  1969  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1970  // for more information on using Contexts.
  1971  func (c *AppSync) GetResolverWithContext(ctx aws.Context, input *GetResolverInput, opts ...request.Option) (*GetResolverOutput, error) {
  1972  	req, out := c.GetResolverRequest(input)
  1973  	req.SetContext(ctx)
  1974  	req.ApplyOptions(opts...)
  1975  	return out, req.Send()
  1976  }
  1977  
  1978  const opGetSchemaCreationStatus = "GetSchemaCreationStatus"
  1979  
  1980  // GetSchemaCreationStatusRequest generates a "aws/request.Request" representing the
  1981  // client's request for the GetSchemaCreationStatus operation. The "output" return
  1982  // value will be populated with the request's response once the request completes
  1983  // successfully.
  1984  //
  1985  // Use "Send" method on the returned Request to send the API call to the service.
  1986  // the "output" return value is not valid until after Send returns without error.
  1987  //
  1988  // See GetSchemaCreationStatus for more information on using the GetSchemaCreationStatus
  1989  // API call, and error handling.
  1990  //
  1991  // This method is useful when you want to inject custom logic or configuration
  1992  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1993  //
  1994  //
  1995  //    // Example sending a request using the GetSchemaCreationStatusRequest method.
  1996  //    req, resp := client.GetSchemaCreationStatusRequest(params)
  1997  //
  1998  //    err := req.Send()
  1999  //    if err == nil { // resp is now filled
  2000  //        fmt.Println(resp)
  2001  //    }
  2002  //
  2003  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus
  2004  func (c *AppSync) GetSchemaCreationStatusRequest(input *GetSchemaCreationStatusInput) (req *request.Request, output *GetSchemaCreationStatusOutput) {
  2005  	op := &request.Operation{
  2006  		Name:       opGetSchemaCreationStatus,
  2007  		HTTPMethod: "GET",
  2008  		HTTPPath:   "/v1/apis/{apiId}/schemacreation",
  2009  	}
  2010  
  2011  	if input == nil {
  2012  		input = &GetSchemaCreationStatusInput{}
  2013  	}
  2014  
  2015  	output = &GetSchemaCreationStatusOutput{}
  2016  	req = c.newRequest(op, input, output)
  2017  	return
  2018  }
  2019  
  2020  // GetSchemaCreationStatus API operation for AWS AppSync.
  2021  //
  2022  // Retrieves the current status of a schema creation operation.
  2023  //
  2024  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2025  // with awserr.Error's Code and Message methods to get detailed information about
  2026  // the error.
  2027  //
  2028  // See the AWS API reference guide for AWS AppSync's
  2029  // API operation GetSchemaCreationStatus for usage and error information.
  2030  //
  2031  // Returned Error Types:
  2032  //   * BadRequestException
  2033  //   The request is not well formed. For example, a value is invalid or a required
  2034  //   field is missing. Check the field values, and then try again.
  2035  //
  2036  //   * NotFoundException
  2037  //   The resource specified in the request was not found. Check the resource,
  2038  //   and then try again.
  2039  //
  2040  //   * UnauthorizedException
  2041  //   You are not authorized to perform this operation.
  2042  //
  2043  //   * InternalFailureException
  2044  //   An internal AppSync error occurred. Try your request again.
  2045  //
  2046  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus
  2047  func (c *AppSync) GetSchemaCreationStatus(input *GetSchemaCreationStatusInput) (*GetSchemaCreationStatusOutput, error) {
  2048  	req, out := c.GetSchemaCreationStatusRequest(input)
  2049  	return out, req.Send()
  2050  }
  2051  
  2052  // GetSchemaCreationStatusWithContext is the same as GetSchemaCreationStatus with the addition of
  2053  // the ability to pass a context and additional request options.
  2054  //
  2055  // See GetSchemaCreationStatus for details on how to use this API operation.
  2056  //
  2057  // The context must be non-nil and will be used for request cancellation. If
  2058  // the context is nil a panic will occur. In the future the SDK may create
  2059  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2060  // for more information on using Contexts.
  2061  func (c *AppSync) GetSchemaCreationStatusWithContext(ctx aws.Context, input *GetSchemaCreationStatusInput, opts ...request.Option) (*GetSchemaCreationStatusOutput, error) {
  2062  	req, out := c.GetSchemaCreationStatusRequest(input)
  2063  	req.SetContext(ctx)
  2064  	req.ApplyOptions(opts...)
  2065  	return out, req.Send()
  2066  }
  2067  
  2068  const opGetType = "GetType"
  2069  
  2070  // GetTypeRequest generates a "aws/request.Request" representing the
  2071  // client's request for the GetType operation. The "output" return
  2072  // value will be populated with the request's response once the request completes
  2073  // successfully.
  2074  //
  2075  // Use "Send" method on the returned Request to send the API call to the service.
  2076  // the "output" return value is not valid until after Send returns without error.
  2077  //
  2078  // See GetType for more information on using the GetType
  2079  // API call, and error handling.
  2080  //
  2081  // This method is useful when you want to inject custom logic or configuration
  2082  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2083  //
  2084  //
  2085  //    // Example sending a request using the GetTypeRequest method.
  2086  //    req, resp := client.GetTypeRequest(params)
  2087  //
  2088  //    err := req.Send()
  2089  //    if err == nil { // resp is now filled
  2090  //        fmt.Println(resp)
  2091  //    }
  2092  //
  2093  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType
  2094  func (c *AppSync) GetTypeRequest(input *GetTypeInput) (req *request.Request, output *GetTypeOutput) {
  2095  	op := &request.Operation{
  2096  		Name:       opGetType,
  2097  		HTTPMethod: "GET",
  2098  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
  2099  	}
  2100  
  2101  	if input == nil {
  2102  		input = &GetTypeInput{}
  2103  	}
  2104  
  2105  	output = &GetTypeOutput{}
  2106  	req = c.newRequest(op, input, output)
  2107  	return
  2108  }
  2109  
  2110  // GetType API operation for AWS AppSync.
  2111  //
  2112  // Retrieves a Type object.
  2113  //
  2114  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2115  // with awserr.Error's Code and Message methods to get detailed information about
  2116  // the error.
  2117  //
  2118  // See the AWS API reference guide for AWS AppSync's
  2119  // API operation GetType for usage and error information.
  2120  //
  2121  // Returned Error Types:
  2122  //   * BadRequestException
  2123  //   The request is not well formed. For example, a value is invalid or a required
  2124  //   field is missing. Check the field values, and then try again.
  2125  //
  2126  //   * ConcurrentModificationException
  2127  //   Another modification is in progress at this time and it must complete before
  2128  //   you can make your change.
  2129  //
  2130  //   * NotFoundException
  2131  //   The resource specified in the request was not found. Check the resource,
  2132  //   and then try again.
  2133  //
  2134  //   * UnauthorizedException
  2135  //   You are not authorized to perform this operation.
  2136  //
  2137  //   * InternalFailureException
  2138  //   An internal AppSync error occurred. Try your request again.
  2139  //
  2140  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType
  2141  func (c *AppSync) GetType(input *GetTypeInput) (*GetTypeOutput, error) {
  2142  	req, out := c.GetTypeRequest(input)
  2143  	return out, req.Send()
  2144  }
  2145  
  2146  // GetTypeWithContext is the same as GetType with the addition of
  2147  // the ability to pass a context and additional request options.
  2148  //
  2149  // See GetType for details on how to use this API operation.
  2150  //
  2151  // The context must be non-nil and will be used for request cancellation. If
  2152  // the context is nil a panic will occur. In the future the SDK may create
  2153  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2154  // for more information on using Contexts.
  2155  func (c *AppSync) GetTypeWithContext(ctx aws.Context, input *GetTypeInput, opts ...request.Option) (*GetTypeOutput, error) {
  2156  	req, out := c.GetTypeRequest(input)
  2157  	req.SetContext(ctx)
  2158  	req.ApplyOptions(opts...)
  2159  	return out, req.Send()
  2160  }
  2161  
  2162  const opListApiKeys = "ListApiKeys"
  2163  
  2164  // ListApiKeysRequest generates a "aws/request.Request" representing the
  2165  // client's request for the ListApiKeys operation. The "output" return
  2166  // value will be populated with the request's response once the request completes
  2167  // successfully.
  2168  //
  2169  // Use "Send" method on the returned Request to send the API call to the service.
  2170  // the "output" return value is not valid until after Send returns without error.
  2171  //
  2172  // See ListApiKeys for more information on using the ListApiKeys
  2173  // API call, and error handling.
  2174  //
  2175  // This method is useful when you want to inject custom logic or configuration
  2176  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2177  //
  2178  //
  2179  //    // Example sending a request using the ListApiKeysRequest method.
  2180  //    req, resp := client.ListApiKeysRequest(params)
  2181  //
  2182  //    err := req.Send()
  2183  //    if err == nil { // resp is now filled
  2184  //        fmt.Println(resp)
  2185  //    }
  2186  //
  2187  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys
  2188  func (c *AppSync) ListApiKeysRequest(input *ListApiKeysInput) (req *request.Request, output *ListApiKeysOutput) {
  2189  	op := &request.Operation{
  2190  		Name:       opListApiKeys,
  2191  		HTTPMethod: "GET",
  2192  		HTTPPath:   "/v1/apis/{apiId}/apikeys",
  2193  	}
  2194  
  2195  	if input == nil {
  2196  		input = &ListApiKeysInput{}
  2197  	}
  2198  
  2199  	output = &ListApiKeysOutput{}
  2200  	req = c.newRequest(op, input, output)
  2201  	return
  2202  }
  2203  
  2204  // ListApiKeys API operation for AWS AppSync.
  2205  //
  2206  // Lists the API keys for a given API.
  2207  //
  2208  // API keys are deleted automatically 60 days after they expire. However, they
  2209  // may still be included in the response until they have actually been deleted.
  2210  // You can safely call DeleteApiKey to manually delete a key before it's automatically
  2211  // deleted.
  2212  //
  2213  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2214  // with awserr.Error's Code and Message methods to get detailed information about
  2215  // the error.
  2216  //
  2217  // See the AWS API reference guide for AWS AppSync's
  2218  // API operation ListApiKeys for usage and error information.
  2219  //
  2220  // Returned Error Types:
  2221  //   * BadRequestException
  2222  //   The request is not well formed. For example, a value is invalid or a required
  2223  //   field is missing. Check the field values, and then try again.
  2224  //
  2225  //   * NotFoundException
  2226  //   The resource specified in the request was not found. Check the resource,
  2227  //   and then try again.
  2228  //
  2229  //   * UnauthorizedException
  2230  //   You are not authorized to perform this operation.
  2231  //
  2232  //   * InternalFailureException
  2233  //   An internal AppSync error occurred. Try your request again.
  2234  //
  2235  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys
  2236  func (c *AppSync) ListApiKeys(input *ListApiKeysInput) (*ListApiKeysOutput, error) {
  2237  	req, out := c.ListApiKeysRequest(input)
  2238  	return out, req.Send()
  2239  }
  2240  
  2241  // ListApiKeysWithContext is the same as ListApiKeys with the addition of
  2242  // the ability to pass a context and additional request options.
  2243  //
  2244  // See ListApiKeys for details on how to use this API operation.
  2245  //
  2246  // The context must be non-nil and will be used for request cancellation. If
  2247  // the context is nil a panic will occur. In the future the SDK may create
  2248  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2249  // for more information on using Contexts.
  2250  func (c *AppSync) ListApiKeysWithContext(ctx aws.Context, input *ListApiKeysInput, opts ...request.Option) (*ListApiKeysOutput, error) {
  2251  	req, out := c.ListApiKeysRequest(input)
  2252  	req.SetContext(ctx)
  2253  	req.ApplyOptions(opts...)
  2254  	return out, req.Send()
  2255  }
  2256  
  2257  const opListDataSources = "ListDataSources"
  2258  
  2259  // ListDataSourcesRequest generates a "aws/request.Request" representing the
  2260  // client's request for the ListDataSources operation. The "output" return
  2261  // value will be populated with the request's response once the request completes
  2262  // successfully.
  2263  //
  2264  // Use "Send" method on the returned Request to send the API call to the service.
  2265  // the "output" return value is not valid until after Send returns without error.
  2266  //
  2267  // See ListDataSources for more information on using the ListDataSources
  2268  // API call, and error handling.
  2269  //
  2270  // This method is useful when you want to inject custom logic or configuration
  2271  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2272  //
  2273  //
  2274  //    // Example sending a request using the ListDataSourcesRequest method.
  2275  //    req, resp := client.ListDataSourcesRequest(params)
  2276  //
  2277  //    err := req.Send()
  2278  //    if err == nil { // resp is now filled
  2279  //        fmt.Println(resp)
  2280  //    }
  2281  //
  2282  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources
  2283  func (c *AppSync) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) {
  2284  	op := &request.Operation{
  2285  		Name:       opListDataSources,
  2286  		HTTPMethod: "GET",
  2287  		HTTPPath:   "/v1/apis/{apiId}/datasources",
  2288  	}
  2289  
  2290  	if input == nil {
  2291  		input = &ListDataSourcesInput{}
  2292  	}
  2293  
  2294  	output = &ListDataSourcesOutput{}
  2295  	req = c.newRequest(op, input, output)
  2296  	return
  2297  }
  2298  
  2299  // ListDataSources API operation for AWS AppSync.
  2300  //
  2301  // Lists the data sources for a given API.
  2302  //
  2303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2304  // with awserr.Error's Code and Message methods to get detailed information about
  2305  // the error.
  2306  //
  2307  // See the AWS API reference guide for AWS AppSync's
  2308  // API operation ListDataSources for usage and error information.
  2309  //
  2310  // Returned Error Types:
  2311  //   * BadRequestException
  2312  //   The request is not well formed. For example, a value is invalid or a required
  2313  //   field is missing. Check the field values, and then try again.
  2314  //
  2315  //   * NotFoundException
  2316  //   The resource specified in the request was not found. Check the resource,
  2317  //   and then try again.
  2318  //
  2319  //   * UnauthorizedException
  2320  //   You are not authorized to perform this operation.
  2321  //
  2322  //   * InternalFailureException
  2323  //   An internal AppSync error occurred. Try your request again.
  2324  //
  2325  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources
  2326  func (c *AppSync) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) {
  2327  	req, out := c.ListDataSourcesRequest(input)
  2328  	return out, req.Send()
  2329  }
  2330  
  2331  // ListDataSourcesWithContext is the same as ListDataSources with the addition of
  2332  // the ability to pass a context and additional request options.
  2333  //
  2334  // See ListDataSources for details on how to use this API operation.
  2335  //
  2336  // The context must be non-nil and will be used for request cancellation. If
  2337  // the context is nil a panic will occur. In the future the SDK may create
  2338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2339  // for more information on using Contexts.
  2340  func (c *AppSync) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) {
  2341  	req, out := c.ListDataSourcesRequest(input)
  2342  	req.SetContext(ctx)
  2343  	req.ApplyOptions(opts...)
  2344  	return out, req.Send()
  2345  }
  2346  
  2347  const opListFunctions = "ListFunctions"
  2348  
  2349  // ListFunctionsRequest generates a "aws/request.Request" representing the
  2350  // client's request for the ListFunctions operation. The "output" return
  2351  // value will be populated with the request's response once the request completes
  2352  // successfully.
  2353  //
  2354  // Use "Send" method on the returned Request to send the API call to the service.
  2355  // the "output" return value is not valid until after Send returns without error.
  2356  //
  2357  // See ListFunctions for more information on using the ListFunctions
  2358  // API call, and error handling.
  2359  //
  2360  // This method is useful when you want to inject custom logic or configuration
  2361  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2362  //
  2363  //
  2364  //    // Example sending a request using the ListFunctionsRequest method.
  2365  //    req, resp := client.ListFunctionsRequest(params)
  2366  //
  2367  //    err := req.Send()
  2368  //    if err == nil { // resp is now filled
  2369  //        fmt.Println(resp)
  2370  //    }
  2371  //
  2372  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions
  2373  func (c *AppSync) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) {
  2374  	op := &request.Operation{
  2375  		Name:       opListFunctions,
  2376  		HTTPMethod: "GET",
  2377  		HTTPPath:   "/v1/apis/{apiId}/functions",
  2378  	}
  2379  
  2380  	if input == nil {
  2381  		input = &ListFunctionsInput{}
  2382  	}
  2383  
  2384  	output = &ListFunctionsOutput{}
  2385  	req = c.newRequest(op, input, output)
  2386  	return
  2387  }
  2388  
  2389  // ListFunctions API operation for AWS AppSync.
  2390  //
  2391  // List multiple functions.
  2392  //
  2393  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2394  // with awserr.Error's Code and Message methods to get detailed information about
  2395  // the error.
  2396  //
  2397  // See the AWS API reference guide for AWS AppSync's
  2398  // API operation ListFunctions for usage and error information.
  2399  //
  2400  // Returned Error Types:
  2401  //   * BadRequestException
  2402  //   The request is not well formed. For example, a value is invalid or a required
  2403  //   field is missing. Check the field values, and then try again.
  2404  //
  2405  //   * NotFoundException
  2406  //   The resource specified in the request was not found. Check the resource,
  2407  //   and then try again.
  2408  //
  2409  //   * UnauthorizedException
  2410  //   You are not authorized to perform this operation.
  2411  //
  2412  //   * InternalFailureException
  2413  //   An internal AppSync error occurred. Try your request again.
  2414  //
  2415  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions
  2416  func (c *AppSync) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) {
  2417  	req, out := c.ListFunctionsRequest(input)
  2418  	return out, req.Send()
  2419  }
  2420  
  2421  // ListFunctionsWithContext is the same as ListFunctions with the addition of
  2422  // the ability to pass a context and additional request options.
  2423  //
  2424  // See ListFunctions for details on how to use this API operation.
  2425  //
  2426  // The context must be non-nil and will be used for request cancellation. If
  2427  // the context is nil a panic will occur. In the future the SDK may create
  2428  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2429  // for more information on using Contexts.
  2430  func (c *AppSync) ListFunctionsWithContext(ctx aws.Context, input *ListFunctionsInput, opts ...request.Option) (*ListFunctionsOutput, error) {
  2431  	req, out := c.ListFunctionsRequest(input)
  2432  	req.SetContext(ctx)
  2433  	req.ApplyOptions(opts...)
  2434  	return out, req.Send()
  2435  }
  2436  
  2437  const opListGraphqlApis = "ListGraphqlApis"
  2438  
  2439  // ListGraphqlApisRequest generates a "aws/request.Request" representing the
  2440  // client's request for the ListGraphqlApis operation. The "output" return
  2441  // value will be populated with the request's response once the request completes
  2442  // successfully.
  2443  //
  2444  // Use "Send" method on the returned Request to send the API call to the service.
  2445  // the "output" return value is not valid until after Send returns without error.
  2446  //
  2447  // See ListGraphqlApis for more information on using the ListGraphqlApis
  2448  // API call, and error handling.
  2449  //
  2450  // This method is useful when you want to inject custom logic or configuration
  2451  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2452  //
  2453  //
  2454  //    // Example sending a request using the ListGraphqlApisRequest method.
  2455  //    req, resp := client.ListGraphqlApisRequest(params)
  2456  //
  2457  //    err := req.Send()
  2458  //    if err == nil { // resp is now filled
  2459  //        fmt.Println(resp)
  2460  //    }
  2461  //
  2462  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis
  2463  func (c *AppSync) ListGraphqlApisRequest(input *ListGraphqlApisInput) (req *request.Request, output *ListGraphqlApisOutput) {
  2464  	op := &request.Operation{
  2465  		Name:       opListGraphqlApis,
  2466  		HTTPMethod: "GET",
  2467  		HTTPPath:   "/v1/apis",
  2468  	}
  2469  
  2470  	if input == nil {
  2471  		input = &ListGraphqlApisInput{}
  2472  	}
  2473  
  2474  	output = &ListGraphqlApisOutput{}
  2475  	req = c.newRequest(op, input, output)
  2476  	return
  2477  }
  2478  
  2479  // ListGraphqlApis API operation for AWS AppSync.
  2480  //
  2481  // Lists your GraphQL APIs.
  2482  //
  2483  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2484  // with awserr.Error's Code and Message methods to get detailed information about
  2485  // the error.
  2486  //
  2487  // See the AWS API reference guide for AWS AppSync's
  2488  // API operation ListGraphqlApis for usage and error information.
  2489  //
  2490  // Returned Error Types:
  2491  //   * BadRequestException
  2492  //   The request is not well formed. For example, a value is invalid or a required
  2493  //   field is missing. Check the field values, and then try again.
  2494  //
  2495  //   * UnauthorizedException
  2496  //   You are not authorized to perform this operation.
  2497  //
  2498  //   * InternalFailureException
  2499  //   An internal AppSync error occurred. Try your request again.
  2500  //
  2501  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis
  2502  func (c *AppSync) ListGraphqlApis(input *ListGraphqlApisInput) (*ListGraphqlApisOutput, error) {
  2503  	req, out := c.ListGraphqlApisRequest(input)
  2504  	return out, req.Send()
  2505  }
  2506  
  2507  // ListGraphqlApisWithContext is the same as ListGraphqlApis with the addition of
  2508  // the ability to pass a context and additional request options.
  2509  //
  2510  // See ListGraphqlApis for details on how to use this API operation.
  2511  //
  2512  // The context must be non-nil and will be used for request cancellation. If
  2513  // the context is nil a panic will occur. In the future the SDK may create
  2514  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2515  // for more information on using Contexts.
  2516  func (c *AppSync) ListGraphqlApisWithContext(ctx aws.Context, input *ListGraphqlApisInput, opts ...request.Option) (*ListGraphqlApisOutput, error) {
  2517  	req, out := c.ListGraphqlApisRequest(input)
  2518  	req.SetContext(ctx)
  2519  	req.ApplyOptions(opts...)
  2520  	return out, req.Send()
  2521  }
  2522  
  2523  const opListResolvers = "ListResolvers"
  2524  
  2525  // ListResolversRequest generates a "aws/request.Request" representing the
  2526  // client's request for the ListResolvers operation. The "output" return
  2527  // value will be populated with the request's response once the request completes
  2528  // successfully.
  2529  //
  2530  // Use "Send" method on the returned Request to send the API call to the service.
  2531  // the "output" return value is not valid until after Send returns without error.
  2532  //
  2533  // See ListResolvers for more information on using the ListResolvers
  2534  // API call, and error handling.
  2535  //
  2536  // This method is useful when you want to inject custom logic or configuration
  2537  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2538  //
  2539  //
  2540  //    // Example sending a request using the ListResolversRequest method.
  2541  //    req, resp := client.ListResolversRequest(params)
  2542  //
  2543  //    err := req.Send()
  2544  //    if err == nil { // resp is now filled
  2545  //        fmt.Println(resp)
  2546  //    }
  2547  //
  2548  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers
  2549  func (c *AppSync) ListResolversRequest(input *ListResolversInput) (req *request.Request, output *ListResolversOutput) {
  2550  	op := &request.Operation{
  2551  		Name:       opListResolvers,
  2552  		HTTPMethod: "GET",
  2553  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers",
  2554  	}
  2555  
  2556  	if input == nil {
  2557  		input = &ListResolversInput{}
  2558  	}
  2559  
  2560  	output = &ListResolversOutput{}
  2561  	req = c.newRequest(op, input, output)
  2562  	return
  2563  }
  2564  
  2565  // ListResolvers API operation for AWS AppSync.
  2566  //
  2567  // Lists the resolvers for a given API and type.
  2568  //
  2569  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2570  // with awserr.Error's Code and Message methods to get detailed information about
  2571  // the error.
  2572  //
  2573  // See the AWS API reference guide for AWS AppSync's
  2574  // API operation ListResolvers for usage and error information.
  2575  //
  2576  // Returned Error Types:
  2577  //   * BadRequestException
  2578  //   The request is not well formed. For example, a value is invalid or a required
  2579  //   field is missing. Check the field values, and then try again.
  2580  //
  2581  //   * NotFoundException
  2582  //   The resource specified in the request was not found. Check the resource,
  2583  //   and then try again.
  2584  //
  2585  //   * UnauthorizedException
  2586  //   You are not authorized to perform this operation.
  2587  //
  2588  //   * InternalFailureException
  2589  //   An internal AppSync error occurred. Try your request again.
  2590  //
  2591  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers
  2592  func (c *AppSync) ListResolvers(input *ListResolversInput) (*ListResolversOutput, error) {
  2593  	req, out := c.ListResolversRequest(input)
  2594  	return out, req.Send()
  2595  }
  2596  
  2597  // ListResolversWithContext is the same as ListResolvers with the addition of
  2598  // the ability to pass a context and additional request options.
  2599  //
  2600  // See ListResolvers for details on how to use this API operation.
  2601  //
  2602  // The context must be non-nil and will be used for request cancellation. If
  2603  // the context is nil a panic will occur. In the future the SDK may create
  2604  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2605  // for more information on using Contexts.
  2606  func (c *AppSync) ListResolversWithContext(ctx aws.Context, input *ListResolversInput, opts ...request.Option) (*ListResolversOutput, error) {
  2607  	req, out := c.ListResolversRequest(input)
  2608  	req.SetContext(ctx)
  2609  	req.ApplyOptions(opts...)
  2610  	return out, req.Send()
  2611  }
  2612  
  2613  const opListResolversByFunction = "ListResolversByFunction"
  2614  
  2615  // ListResolversByFunctionRequest generates a "aws/request.Request" representing the
  2616  // client's request for the ListResolversByFunction operation. The "output" return
  2617  // value will be populated with the request's response once the request completes
  2618  // successfully.
  2619  //
  2620  // Use "Send" method on the returned Request to send the API call to the service.
  2621  // the "output" return value is not valid until after Send returns without error.
  2622  //
  2623  // See ListResolversByFunction for more information on using the ListResolversByFunction
  2624  // API call, and error handling.
  2625  //
  2626  // This method is useful when you want to inject custom logic or configuration
  2627  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2628  //
  2629  //
  2630  //    // Example sending a request using the ListResolversByFunctionRequest method.
  2631  //    req, resp := client.ListResolversByFunctionRequest(params)
  2632  //
  2633  //    err := req.Send()
  2634  //    if err == nil { // resp is now filled
  2635  //        fmt.Println(resp)
  2636  //    }
  2637  //
  2638  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction
  2639  func (c *AppSync) ListResolversByFunctionRequest(input *ListResolversByFunctionInput) (req *request.Request, output *ListResolversByFunctionOutput) {
  2640  	op := &request.Operation{
  2641  		Name:       opListResolversByFunction,
  2642  		HTTPMethod: "GET",
  2643  		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}/resolvers",
  2644  	}
  2645  
  2646  	if input == nil {
  2647  		input = &ListResolversByFunctionInput{}
  2648  	}
  2649  
  2650  	output = &ListResolversByFunctionOutput{}
  2651  	req = c.newRequest(op, input, output)
  2652  	return
  2653  }
  2654  
  2655  // ListResolversByFunction API operation for AWS AppSync.
  2656  //
  2657  // List the resolvers that are associated with a specific function.
  2658  //
  2659  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2660  // with awserr.Error's Code and Message methods to get detailed information about
  2661  // the error.
  2662  //
  2663  // See the AWS API reference guide for AWS AppSync's
  2664  // API operation ListResolversByFunction for usage and error information.
  2665  //
  2666  // Returned Error Types:
  2667  //   * BadRequestException
  2668  //   The request is not well formed. For example, a value is invalid or a required
  2669  //   field is missing. Check the field values, and then try again.
  2670  //
  2671  //   * NotFoundException
  2672  //   The resource specified in the request was not found. Check the resource,
  2673  //   and then try again.
  2674  //
  2675  //   * UnauthorizedException
  2676  //   You are not authorized to perform this operation.
  2677  //
  2678  //   * InternalFailureException
  2679  //   An internal AppSync error occurred. Try your request again.
  2680  //
  2681  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction
  2682  func (c *AppSync) ListResolversByFunction(input *ListResolversByFunctionInput) (*ListResolversByFunctionOutput, error) {
  2683  	req, out := c.ListResolversByFunctionRequest(input)
  2684  	return out, req.Send()
  2685  }
  2686  
  2687  // ListResolversByFunctionWithContext is the same as ListResolversByFunction with the addition of
  2688  // the ability to pass a context and additional request options.
  2689  //
  2690  // See ListResolversByFunction for details on how to use this API operation.
  2691  //
  2692  // The context must be non-nil and will be used for request cancellation. If
  2693  // the context is nil a panic will occur. In the future the SDK may create
  2694  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2695  // for more information on using Contexts.
  2696  func (c *AppSync) ListResolversByFunctionWithContext(ctx aws.Context, input *ListResolversByFunctionInput, opts ...request.Option) (*ListResolversByFunctionOutput, error) {
  2697  	req, out := c.ListResolversByFunctionRequest(input)
  2698  	req.SetContext(ctx)
  2699  	req.ApplyOptions(opts...)
  2700  	return out, req.Send()
  2701  }
  2702  
  2703  const opListTagsForResource = "ListTagsForResource"
  2704  
  2705  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2706  // client's request for the ListTagsForResource operation. The "output" return
  2707  // value will be populated with the request's response once the request completes
  2708  // successfully.
  2709  //
  2710  // Use "Send" method on the returned Request to send the API call to the service.
  2711  // the "output" return value is not valid until after Send returns without error.
  2712  //
  2713  // See ListTagsForResource for more information on using the ListTagsForResource
  2714  // API call, and error handling.
  2715  //
  2716  // This method is useful when you want to inject custom logic or configuration
  2717  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2718  //
  2719  //
  2720  //    // Example sending a request using the ListTagsForResourceRequest method.
  2721  //    req, resp := client.ListTagsForResourceRequest(params)
  2722  //
  2723  //    err := req.Send()
  2724  //    if err == nil { // resp is now filled
  2725  //        fmt.Println(resp)
  2726  //    }
  2727  //
  2728  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource
  2729  func (c *AppSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2730  	op := &request.Operation{
  2731  		Name:       opListTagsForResource,
  2732  		HTTPMethod: "GET",
  2733  		HTTPPath:   "/v1/tags/{resourceArn}",
  2734  	}
  2735  
  2736  	if input == nil {
  2737  		input = &ListTagsForResourceInput{}
  2738  	}
  2739  
  2740  	output = &ListTagsForResourceOutput{}
  2741  	req = c.newRequest(op, input, output)
  2742  	return
  2743  }
  2744  
  2745  // ListTagsForResource API operation for AWS AppSync.
  2746  //
  2747  // Lists the tags for a resource.
  2748  //
  2749  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2750  // with awserr.Error's Code and Message methods to get detailed information about
  2751  // the error.
  2752  //
  2753  // See the AWS API reference guide for AWS AppSync's
  2754  // API operation ListTagsForResource for usage and error information.
  2755  //
  2756  // Returned Error Types:
  2757  //   * BadRequestException
  2758  //   The request is not well formed. For example, a value is invalid or a required
  2759  //   field is missing. Check the field values, and then try again.
  2760  //
  2761  //   * NotFoundException
  2762  //   The resource specified in the request was not found. Check the resource,
  2763  //   and then try again.
  2764  //
  2765  //   * LimitExceededException
  2766  //   The request exceeded a limit. Try your request again.
  2767  //
  2768  //   * UnauthorizedException
  2769  //   You are not authorized to perform this operation.
  2770  //
  2771  //   * InternalFailureException
  2772  //   An internal AppSync error occurred. Try your request again.
  2773  //
  2774  //   * AccessDeniedException
  2775  //   You do not have access to perform this operation on this resource.
  2776  //
  2777  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource
  2778  func (c *AppSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2779  	req, out := c.ListTagsForResourceRequest(input)
  2780  	return out, req.Send()
  2781  }
  2782  
  2783  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2784  // the ability to pass a context and additional request options.
  2785  //
  2786  // See ListTagsForResource for details on how to use this API operation.
  2787  //
  2788  // The context must be non-nil and will be used for request cancellation. If
  2789  // the context is nil a panic will occur. In the future the SDK may create
  2790  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2791  // for more information on using Contexts.
  2792  func (c *AppSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2793  	req, out := c.ListTagsForResourceRequest(input)
  2794  	req.SetContext(ctx)
  2795  	req.ApplyOptions(opts...)
  2796  	return out, req.Send()
  2797  }
  2798  
  2799  const opListTypes = "ListTypes"
  2800  
  2801  // ListTypesRequest generates a "aws/request.Request" representing the
  2802  // client's request for the ListTypes operation. The "output" return
  2803  // value will be populated with the request's response once the request completes
  2804  // successfully.
  2805  //
  2806  // Use "Send" method on the returned Request to send the API call to the service.
  2807  // the "output" return value is not valid until after Send returns without error.
  2808  //
  2809  // See ListTypes for more information on using the ListTypes
  2810  // API call, and error handling.
  2811  //
  2812  // This method is useful when you want to inject custom logic or configuration
  2813  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2814  //
  2815  //
  2816  //    // Example sending a request using the ListTypesRequest method.
  2817  //    req, resp := client.ListTypesRequest(params)
  2818  //
  2819  //    err := req.Send()
  2820  //    if err == nil { // resp is now filled
  2821  //        fmt.Println(resp)
  2822  //    }
  2823  //
  2824  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes
  2825  func (c *AppSync) ListTypesRequest(input *ListTypesInput) (req *request.Request, output *ListTypesOutput) {
  2826  	op := &request.Operation{
  2827  		Name:       opListTypes,
  2828  		HTTPMethod: "GET",
  2829  		HTTPPath:   "/v1/apis/{apiId}/types",
  2830  	}
  2831  
  2832  	if input == nil {
  2833  		input = &ListTypesInput{}
  2834  	}
  2835  
  2836  	output = &ListTypesOutput{}
  2837  	req = c.newRequest(op, input, output)
  2838  	return
  2839  }
  2840  
  2841  // ListTypes API operation for AWS AppSync.
  2842  //
  2843  // Lists the types for a given API.
  2844  //
  2845  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2846  // with awserr.Error's Code and Message methods to get detailed information about
  2847  // the error.
  2848  //
  2849  // See the AWS API reference guide for AWS AppSync's
  2850  // API operation ListTypes for usage and error information.
  2851  //
  2852  // Returned Error Types:
  2853  //   * BadRequestException
  2854  //   The request is not well formed. For example, a value is invalid or a required
  2855  //   field is missing. Check the field values, and then try again.
  2856  //
  2857  //   * ConcurrentModificationException
  2858  //   Another modification is in progress at this time and it must complete before
  2859  //   you can make your change.
  2860  //
  2861  //   * NotFoundException
  2862  //   The resource specified in the request was not found. Check the resource,
  2863  //   and then try again.
  2864  //
  2865  //   * UnauthorizedException
  2866  //   You are not authorized to perform this operation.
  2867  //
  2868  //   * InternalFailureException
  2869  //   An internal AppSync error occurred. Try your request again.
  2870  //
  2871  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes
  2872  func (c *AppSync) ListTypes(input *ListTypesInput) (*ListTypesOutput, error) {
  2873  	req, out := c.ListTypesRequest(input)
  2874  	return out, req.Send()
  2875  }
  2876  
  2877  // ListTypesWithContext is the same as ListTypes with the addition of
  2878  // the ability to pass a context and additional request options.
  2879  //
  2880  // See ListTypes 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 *AppSync) ListTypesWithContext(ctx aws.Context, input *ListTypesInput, opts ...request.Option) (*ListTypesOutput, error) {
  2887  	req, out := c.ListTypesRequest(input)
  2888  	req.SetContext(ctx)
  2889  	req.ApplyOptions(opts...)
  2890  	return out, req.Send()
  2891  }
  2892  
  2893  const opStartSchemaCreation = "StartSchemaCreation"
  2894  
  2895  // StartSchemaCreationRequest generates a "aws/request.Request" representing the
  2896  // client's request for the StartSchemaCreation 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 StartSchemaCreation for more information on using the StartSchemaCreation
  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 StartSchemaCreationRequest method.
  2911  //    req, resp := client.StartSchemaCreationRequest(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/appsync-2017-07-25/StartSchemaCreation
  2919  func (c *AppSync) StartSchemaCreationRequest(input *StartSchemaCreationInput) (req *request.Request, output *StartSchemaCreationOutput) {
  2920  	op := &request.Operation{
  2921  		Name:       opStartSchemaCreation,
  2922  		HTTPMethod: "POST",
  2923  		HTTPPath:   "/v1/apis/{apiId}/schemacreation",
  2924  	}
  2925  
  2926  	if input == nil {
  2927  		input = &StartSchemaCreationInput{}
  2928  	}
  2929  
  2930  	output = &StartSchemaCreationOutput{}
  2931  	req = c.newRequest(op, input, output)
  2932  	return
  2933  }
  2934  
  2935  // StartSchemaCreation API operation for AWS AppSync.
  2936  //
  2937  // Adds a new schema to your GraphQL API.
  2938  //
  2939  // This operation is asynchronous. Use to determine when it has completed.
  2940  //
  2941  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2942  // with awserr.Error's Code and Message methods to get detailed information about
  2943  // the error.
  2944  //
  2945  // See the AWS API reference guide for AWS AppSync's
  2946  // API operation StartSchemaCreation for usage and error information.
  2947  //
  2948  // Returned Error Types:
  2949  //   * BadRequestException
  2950  //   The request is not well formed. For example, a value is invalid or a required
  2951  //   field is missing. Check the field values, and then try again.
  2952  //
  2953  //   * ConcurrentModificationException
  2954  //   Another modification is in progress at this time and it must complete before
  2955  //   you can make your change.
  2956  //
  2957  //   * NotFoundException
  2958  //   The resource specified in the request was not found. Check the resource,
  2959  //   and then try again.
  2960  //
  2961  //   * UnauthorizedException
  2962  //   You are not authorized to perform this operation.
  2963  //
  2964  //   * InternalFailureException
  2965  //   An internal AppSync error occurred. Try your request again.
  2966  //
  2967  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation
  2968  func (c *AppSync) StartSchemaCreation(input *StartSchemaCreationInput) (*StartSchemaCreationOutput, error) {
  2969  	req, out := c.StartSchemaCreationRequest(input)
  2970  	return out, req.Send()
  2971  }
  2972  
  2973  // StartSchemaCreationWithContext is the same as StartSchemaCreation with the addition of
  2974  // the ability to pass a context and additional request options.
  2975  //
  2976  // See StartSchemaCreation for details on how to use this API operation.
  2977  //
  2978  // The context must be non-nil and will be used for request cancellation. If
  2979  // the context is nil a panic will occur. In the future the SDK may create
  2980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2981  // for more information on using Contexts.
  2982  func (c *AppSync) StartSchemaCreationWithContext(ctx aws.Context, input *StartSchemaCreationInput, opts ...request.Option) (*StartSchemaCreationOutput, error) {
  2983  	req, out := c.StartSchemaCreationRequest(input)
  2984  	req.SetContext(ctx)
  2985  	req.ApplyOptions(opts...)
  2986  	return out, req.Send()
  2987  }
  2988  
  2989  const opTagResource = "TagResource"
  2990  
  2991  // TagResourceRequest generates a "aws/request.Request" representing the
  2992  // client's request for the TagResource operation. The "output" return
  2993  // value will be populated with the request's response once the request completes
  2994  // successfully.
  2995  //
  2996  // Use "Send" method on the returned Request to send the API call to the service.
  2997  // the "output" return value is not valid until after Send returns without error.
  2998  //
  2999  // See TagResource for more information on using the TagResource
  3000  // API call, and error handling.
  3001  //
  3002  // This method is useful when you want to inject custom logic or configuration
  3003  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3004  //
  3005  //
  3006  //    // Example sending a request using the TagResourceRequest method.
  3007  //    req, resp := client.TagResourceRequest(params)
  3008  //
  3009  //    err := req.Send()
  3010  //    if err == nil { // resp is now filled
  3011  //        fmt.Println(resp)
  3012  //    }
  3013  //
  3014  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource
  3015  func (c *AppSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3016  	op := &request.Operation{
  3017  		Name:       opTagResource,
  3018  		HTTPMethod: "POST",
  3019  		HTTPPath:   "/v1/tags/{resourceArn}",
  3020  	}
  3021  
  3022  	if input == nil {
  3023  		input = &TagResourceInput{}
  3024  	}
  3025  
  3026  	output = &TagResourceOutput{}
  3027  	req = c.newRequest(op, input, output)
  3028  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3029  	return
  3030  }
  3031  
  3032  // TagResource API operation for AWS AppSync.
  3033  //
  3034  // Tags a resource with user-supplied tags.
  3035  //
  3036  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3037  // with awserr.Error's Code and Message methods to get detailed information about
  3038  // the error.
  3039  //
  3040  // See the AWS API reference guide for AWS AppSync's
  3041  // API operation TagResource for usage and error information.
  3042  //
  3043  // Returned Error Types:
  3044  //   * BadRequestException
  3045  //   The request is not well formed. For example, a value is invalid or a required
  3046  //   field is missing. Check the field values, and then try again.
  3047  //
  3048  //   * NotFoundException
  3049  //   The resource specified in the request was not found. Check the resource,
  3050  //   and then try again.
  3051  //
  3052  //   * LimitExceededException
  3053  //   The request exceeded a limit. Try your request again.
  3054  //
  3055  //   * UnauthorizedException
  3056  //   You are not authorized to perform this operation.
  3057  //
  3058  //   * InternalFailureException
  3059  //   An internal AppSync error occurred. Try your request again.
  3060  //
  3061  //   * AccessDeniedException
  3062  //   You do not have access to perform this operation on this resource.
  3063  //
  3064  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource
  3065  func (c *AppSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3066  	req, out := c.TagResourceRequest(input)
  3067  	return out, req.Send()
  3068  }
  3069  
  3070  // TagResourceWithContext is the same as TagResource with the addition of
  3071  // the ability to pass a context and additional request options.
  3072  //
  3073  // See TagResource for details on how to use this API operation.
  3074  //
  3075  // The context must be non-nil and will be used for request cancellation. If
  3076  // the context is nil a panic will occur. In the future the SDK may create
  3077  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3078  // for more information on using Contexts.
  3079  func (c *AppSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3080  	req, out := c.TagResourceRequest(input)
  3081  	req.SetContext(ctx)
  3082  	req.ApplyOptions(opts...)
  3083  	return out, req.Send()
  3084  }
  3085  
  3086  const opUntagResource = "UntagResource"
  3087  
  3088  // UntagResourceRequest generates a "aws/request.Request" representing the
  3089  // client's request for the UntagResource operation. The "output" return
  3090  // value will be populated with the request's response once the request completes
  3091  // successfully.
  3092  //
  3093  // Use "Send" method on the returned Request to send the API call to the service.
  3094  // the "output" return value is not valid until after Send returns without error.
  3095  //
  3096  // See UntagResource for more information on using the UntagResource
  3097  // API call, and error handling.
  3098  //
  3099  // This method is useful when you want to inject custom logic or configuration
  3100  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3101  //
  3102  //
  3103  //    // Example sending a request using the UntagResourceRequest method.
  3104  //    req, resp := client.UntagResourceRequest(params)
  3105  //
  3106  //    err := req.Send()
  3107  //    if err == nil { // resp is now filled
  3108  //        fmt.Println(resp)
  3109  //    }
  3110  //
  3111  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource
  3112  func (c *AppSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3113  	op := &request.Operation{
  3114  		Name:       opUntagResource,
  3115  		HTTPMethod: "DELETE",
  3116  		HTTPPath:   "/v1/tags/{resourceArn}",
  3117  	}
  3118  
  3119  	if input == nil {
  3120  		input = &UntagResourceInput{}
  3121  	}
  3122  
  3123  	output = &UntagResourceOutput{}
  3124  	req = c.newRequest(op, input, output)
  3125  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3126  	return
  3127  }
  3128  
  3129  // UntagResource API operation for AWS AppSync.
  3130  //
  3131  // Untags a resource.
  3132  //
  3133  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3134  // with awserr.Error's Code and Message methods to get detailed information about
  3135  // the error.
  3136  //
  3137  // See the AWS API reference guide for AWS AppSync's
  3138  // API operation UntagResource for usage and error information.
  3139  //
  3140  // Returned Error Types:
  3141  //   * BadRequestException
  3142  //   The request is not well formed. For example, a value is invalid or a required
  3143  //   field is missing. Check the field values, and then try again.
  3144  //
  3145  //   * NotFoundException
  3146  //   The resource specified in the request was not found. Check the resource,
  3147  //   and then try again.
  3148  //
  3149  //   * LimitExceededException
  3150  //   The request exceeded a limit. Try your request again.
  3151  //
  3152  //   * UnauthorizedException
  3153  //   You are not authorized to perform this operation.
  3154  //
  3155  //   * InternalFailureException
  3156  //   An internal AppSync error occurred. Try your request again.
  3157  //
  3158  //   * AccessDeniedException
  3159  //   You do not have access to perform this operation on this resource.
  3160  //
  3161  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource
  3162  func (c *AppSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3163  	req, out := c.UntagResourceRequest(input)
  3164  	return out, req.Send()
  3165  }
  3166  
  3167  // UntagResourceWithContext is the same as UntagResource with the addition of
  3168  // the ability to pass a context and additional request options.
  3169  //
  3170  // See UntagResource for details on how to use this API operation.
  3171  //
  3172  // The context must be non-nil and will be used for request cancellation. If
  3173  // the context is nil a panic will occur. In the future the SDK may create
  3174  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3175  // for more information on using Contexts.
  3176  func (c *AppSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3177  	req, out := c.UntagResourceRequest(input)
  3178  	req.SetContext(ctx)
  3179  	req.ApplyOptions(opts...)
  3180  	return out, req.Send()
  3181  }
  3182  
  3183  const opUpdateApiCache = "UpdateApiCache"
  3184  
  3185  // UpdateApiCacheRequest generates a "aws/request.Request" representing the
  3186  // client's request for the UpdateApiCache operation. The "output" return
  3187  // value will be populated with the request's response once the request completes
  3188  // successfully.
  3189  //
  3190  // Use "Send" method on the returned Request to send the API call to the service.
  3191  // the "output" return value is not valid until after Send returns without error.
  3192  //
  3193  // See UpdateApiCache for more information on using the UpdateApiCache
  3194  // API call, and error handling.
  3195  //
  3196  // This method is useful when you want to inject custom logic or configuration
  3197  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3198  //
  3199  //
  3200  //    // Example sending a request using the UpdateApiCacheRequest method.
  3201  //    req, resp := client.UpdateApiCacheRequest(params)
  3202  //
  3203  //    err := req.Send()
  3204  //    if err == nil { // resp is now filled
  3205  //        fmt.Println(resp)
  3206  //    }
  3207  //
  3208  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache
  3209  func (c *AppSync) UpdateApiCacheRequest(input *UpdateApiCacheInput) (req *request.Request, output *UpdateApiCacheOutput) {
  3210  	op := &request.Operation{
  3211  		Name:       opUpdateApiCache,
  3212  		HTTPMethod: "POST",
  3213  		HTTPPath:   "/v1/apis/{apiId}/ApiCaches/update",
  3214  	}
  3215  
  3216  	if input == nil {
  3217  		input = &UpdateApiCacheInput{}
  3218  	}
  3219  
  3220  	output = &UpdateApiCacheOutput{}
  3221  	req = c.newRequest(op, input, output)
  3222  	return
  3223  }
  3224  
  3225  // UpdateApiCache API operation for AWS AppSync.
  3226  //
  3227  // Updates the cache for the GraphQL API.
  3228  //
  3229  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3230  // with awserr.Error's Code and Message methods to get detailed information about
  3231  // the error.
  3232  //
  3233  // See the AWS API reference guide for AWS AppSync's
  3234  // API operation UpdateApiCache for usage and error information.
  3235  //
  3236  // Returned Error Types:
  3237  //   * BadRequestException
  3238  //   The request is not well formed. For example, a value is invalid or a required
  3239  //   field is missing. Check the field values, and then try again.
  3240  //
  3241  //   * ConcurrentModificationException
  3242  //   Another modification is in progress at this time and it must complete before
  3243  //   you can make your change.
  3244  //
  3245  //   * NotFoundException
  3246  //   The resource specified in the request was not found. Check the resource,
  3247  //   and then try again.
  3248  //
  3249  //   * UnauthorizedException
  3250  //   You are not authorized to perform this operation.
  3251  //
  3252  //   * InternalFailureException
  3253  //   An internal AppSync error occurred. Try your request again.
  3254  //
  3255  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache
  3256  func (c *AppSync) UpdateApiCache(input *UpdateApiCacheInput) (*UpdateApiCacheOutput, error) {
  3257  	req, out := c.UpdateApiCacheRequest(input)
  3258  	return out, req.Send()
  3259  }
  3260  
  3261  // UpdateApiCacheWithContext is the same as UpdateApiCache with the addition of
  3262  // the ability to pass a context and additional request options.
  3263  //
  3264  // See UpdateApiCache for details on how to use this API operation.
  3265  //
  3266  // The context must be non-nil and will be used for request cancellation. If
  3267  // the context is nil a panic will occur. In the future the SDK may create
  3268  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3269  // for more information on using Contexts.
  3270  func (c *AppSync) UpdateApiCacheWithContext(ctx aws.Context, input *UpdateApiCacheInput, opts ...request.Option) (*UpdateApiCacheOutput, error) {
  3271  	req, out := c.UpdateApiCacheRequest(input)
  3272  	req.SetContext(ctx)
  3273  	req.ApplyOptions(opts...)
  3274  	return out, req.Send()
  3275  }
  3276  
  3277  const opUpdateApiKey = "UpdateApiKey"
  3278  
  3279  // UpdateApiKeyRequest generates a "aws/request.Request" representing the
  3280  // client's request for the UpdateApiKey operation. The "output" return
  3281  // value will be populated with the request's response once the request completes
  3282  // successfully.
  3283  //
  3284  // Use "Send" method on the returned Request to send the API call to the service.
  3285  // the "output" return value is not valid until after Send returns without error.
  3286  //
  3287  // See UpdateApiKey for more information on using the UpdateApiKey
  3288  // API call, and error handling.
  3289  //
  3290  // This method is useful when you want to inject custom logic or configuration
  3291  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3292  //
  3293  //
  3294  //    // Example sending a request using the UpdateApiKeyRequest method.
  3295  //    req, resp := client.UpdateApiKeyRequest(params)
  3296  //
  3297  //    err := req.Send()
  3298  //    if err == nil { // resp is now filled
  3299  //        fmt.Println(resp)
  3300  //    }
  3301  //
  3302  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey
  3303  func (c *AppSync) UpdateApiKeyRequest(input *UpdateApiKeyInput) (req *request.Request, output *UpdateApiKeyOutput) {
  3304  	op := &request.Operation{
  3305  		Name:       opUpdateApiKey,
  3306  		HTTPMethod: "POST",
  3307  		HTTPPath:   "/v1/apis/{apiId}/apikeys/{id}",
  3308  	}
  3309  
  3310  	if input == nil {
  3311  		input = &UpdateApiKeyInput{}
  3312  	}
  3313  
  3314  	output = &UpdateApiKeyOutput{}
  3315  	req = c.newRequest(op, input, output)
  3316  	return
  3317  }
  3318  
  3319  // UpdateApiKey API operation for AWS AppSync.
  3320  //
  3321  // Updates an API key. The key can be updated while it is not deleted.
  3322  //
  3323  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3324  // with awserr.Error's Code and Message methods to get detailed information about
  3325  // the error.
  3326  //
  3327  // See the AWS API reference guide for AWS AppSync's
  3328  // API operation UpdateApiKey for usage and error information.
  3329  //
  3330  // Returned Error Types:
  3331  //   * BadRequestException
  3332  //   The request is not well formed. For example, a value is invalid or a required
  3333  //   field is missing. Check the field values, and then try again.
  3334  //
  3335  //   * NotFoundException
  3336  //   The resource specified in the request was not found. Check the resource,
  3337  //   and then try again.
  3338  //
  3339  //   * UnauthorizedException
  3340  //   You are not authorized to perform this operation.
  3341  //
  3342  //   * LimitExceededException
  3343  //   The request exceeded a limit. Try your request again.
  3344  //
  3345  //   * InternalFailureException
  3346  //   An internal AppSync error occurred. Try your request again.
  3347  //
  3348  //   * ApiKeyValidityOutOfBoundsException
  3349  //   The API key expiration must be set to a value between 1 and 365 days from
  3350  //   creation (for CreateApiKey) or from update (for UpdateApiKey).
  3351  //
  3352  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey
  3353  func (c *AppSync) UpdateApiKey(input *UpdateApiKeyInput) (*UpdateApiKeyOutput, error) {
  3354  	req, out := c.UpdateApiKeyRequest(input)
  3355  	return out, req.Send()
  3356  }
  3357  
  3358  // UpdateApiKeyWithContext is the same as UpdateApiKey with the addition of
  3359  // the ability to pass a context and additional request options.
  3360  //
  3361  // See UpdateApiKey for details on how to use this API operation.
  3362  //
  3363  // The context must be non-nil and will be used for request cancellation. If
  3364  // the context is nil a panic will occur. In the future the SDK may create
  3365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3366  // for more information on using Contexts.
  3367  func (c *AppSync) UpdateApiKeyWithContext(ctx aws.Context, input *UpdateApiKeyInput, opts ...request.Option) (*UpdateApiKeyOutput, error) {
  3368  	req, out := c.UpdateApiKeyRequest(input)
  3369  	req.SetContext(ctx)
  3370  	req.ApplyOptions(opts...)
  3371  	return out, req.Send()
  3372  }
  3373  
  3374  const opUpdateDataSource = "UpdateDataSource"
  3375  
  3376  // UpdateDataSourceRequest generates a "aws/request.Request" representing the
  3377  // client's request for the UpdateDataSource operation. The "output" return
  3378  // value will be populated with the request's response once the request completes
  3379  // successfully.
  3380  //
  3381  // Use "Send" method on the returned Request to send the API call to the service.
  3382  // the "output" return value is not valid until after Send returns without error.
  3383  //
  3384  // See UpdateDataSource for more information on using the UpdateDataSource
  3385  // API call, and error handling.
  3386  //
  3387  // This method is useful when you want to inject custom logic or configuration
  3388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3389  //
  3390  //
  3391  //    // Example sending a request using the UpdateDataSourceRequest method.
  3392  //    req, resp := client.UpdateDataSourceRequest(params)
  3393  //
  3394  //    err := req.Send()
  3395  //    if err == nil { // resp is now filled
  3396  //        fmt.Println(resp)
  3397  //    }
  3398  //
  3399  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource
  3400  func (c *AppSync) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) {
  3401  	op := &request.Operation{
  3402  		Name:       opUpdateDataSource,
  3403  		HTTPMethod: "POST",
  3404  		HTTPPath:   "/v1/apis/{apiId}/datasources/{name}",
  3405  	}
  3406  
  3407  	if input == nil {
  3408  		input = &UpdateDataSourceInput{}
  3409  	}
  3410  
  3411  	output = &UpdateDataSourceOutput{}
  3412  	req = c.newRequest(op, input, output)
  3413  	return
  3414  }
  3415  
  3416  // UpdateDataSource API operation for AWS AppSync.
  3417  //
  3418  // Updates a DataSource object.
  3419  //
  3420  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3421  // with awserr.Error's Code and Message methods to get detailed information about
  3422  // the error.
  3423  //
  3424  // See the AWS API reference guide for AWS AppSync's
  3425  // API operation UpdateDataSource for usage and error information.
  3426  //
  3427  // Returned Error Types:
  3428  //   * BadRequestException
  3429  //   The request is not well formed. For example, a value is invalid or a required
  3430  //   field is missing. Check the field values, and then try again.
  3431  //
  3432  //   * ConcurrentModificationException
  3433  //   Another modification is in progress at this time and it must complete before
  3434  //   you can make your change.
  3435  //
  3436  //   * NotFoundException
  3437  //   The resource specified in the request was not found. Check the resource,
  3438  //   and then try again.
  3439  //
  3440  //   * UnauthorizedException
  3441  //   You are not authorized to perform this operation.
  3442  //
  3443  //   * InternalFailureException
  3444  //   An internal AppSync error occurred. Try your request again.
  3445  //
  3446  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource
  3447  func (c *AppSync) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) {
  3448  	req, out := c.UpdateDataSourceRequest(input)
  3449  	return out, req.Send()
  3450  }
  3451  
  3452  // UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of
  3453  // the ability to pass a context and additional request options.
  3454  //
  3455  // See UpdateDataSource for details on how to use this API operation.
  3456  //
  3457  // The context must be non-nil and will be used for request cancellation. If
  3458  // the context is nil a panic will occur. In the future the SDK may create
  3459  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3460  // for more information on using Contexts.
  3461  func (c *AppSync) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) {
  3462  	req, out := c.UpdateDataSourceRequest(input)
  3463  	req.SetContext(ctx)
  3464  	req.ApplyOptions(opts...)
  3465  	return out, req.Send()
  3466  }
  3467  
  3468  const opUpdateFunction = "UpdateFunction"
  3469  
  3470  // UpdateFunctionRequest generates a "aws/request.Request" representing the
  3471  // client's request for the UpdateFunction operation. The "output" return
  3472  // value will be populated with the request's response once the request completes
  3473  // successfully.
  3474  //
  3475  // Use "Send" method on the returned Request to send the API call to the service.
  3476  // the "output" return value is not valid until after Send returns without error.
  3477  //
  3478  // See UpdateFunction for more information on using the UpdateFunction
  3479  // API call, and error handling.
  3480  //
  3481  // This method is useful when you want to inject custom logic or configuration
  3482  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3483  //
  3484  //
  3485  //    // Example sending a request using the UpdateFunctionRequest method.
  3486  //    req, resp := client.UpdateFunctionRequest(params)
  3487  //
  3488  //    err := req.Send()
  3489  //    if err == nil { // resp is now filled
  3490  //        fmt.Println(resp)
  3491  //    }
  3492  //
  3493  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction
  3494  func (c *AppSync) UpdateFunctionRequest(input *UpdateFunctionInput) (req *request.Request, output *UpdateFunctionOutput) {
  3495  	op := &request.Operation{
  3496  		Name:       opUpdateFunction,
  3497  		HTTPMethod: "POST",
  3498  		HTTPPath:   "/v1/apis/{apiId}/functions/{functionId}",
  3499  	}
  3500  
  3501  	if input == nil {
  3502  		input = &UpdateFunctionInput{}
  3503  	}
  3504  
  3505  	output = &UpdateFunctionOutput{}
  3506  	req = c.newRequest(op, input, output)
  3507  	return
  3508  }
  3509  
  3510  // UpdateFunction API operation for AWS AppSync.
  3511  //
  3512  // Updates a Function object.
  3513  //
  3514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3515  // with awserr.Error's Code and Message methods to get detailed information about
  3516  // the error.
  3517  //
  3518  // See the AWS API reference guide for AWS AppSync's
  3519  // API operation UpdateFunction for usage and error information.
  3520  //
  3521  // Returned Error Types:
  3522  //   * ConcurrentModificationException
  3523  //   Another modification is in progress at this time and it must complete before
  3524  //   you can make your change.
  3525  //
  3526  //   * NotFoundException
  3527  //   The resource specified in the request was not found. Check the resource,
  3528  //   and then try again.
  3529  //
  3530  //   * UnauthorizedException
  3531  //   You are not authorized to perform this operation.
  3532  //
  3533  //   * InternalFailureException
  3534  //   An internal AppSync error occurred. Try your request again.
  3535  //
  3536  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction
  3537  func (c *AppSync) UpdateFunction(input *UpdateFunctionInput) (*UpdateFunctionOutput, error) {
  3538  	req, out := c.UpdateFunctionRequest(input)
  3539  	return out, req.Send()
  3540  }
  3541  
  3542  // UpdateFunctionWithContext is the same as UpdateFunction with the addition of
  3543  // the ability to pass a context and additional request options.
  3544  //
  3545  // See UpdateFunction for details on how to use this API operation.
  3546  //
  3547  // The context must be non-nil and will be used for request cancellation. If
  3548  // the context is nil a panic will occur. In the future the SDK may create
  3549  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3550  // for more information on using Contexts.
  3551  func (c *AppSync) UpdateFunctionWithContext(ctx aws.Context, input *UpdateFunctionInput, opts ...request.Option) (*UpdateFunctionOutput, error) {
  3552  	req, out := c.UpdateFunctionRequest(input)
  3553  	req.SetContext(ctx)
  3554  	req.ApplyOptions(opts...)
  3555  	return out, req.Send()
  3556  }
  3557  
  3558  const opUpdateGraphqlApi = "UpdateGraphqlApi"
  3559  
  3560  // UpdateGraphqlApiRequest generates a "aws/request.Request" representing the
  3561  // client's request for the UpdateGraphqlApi operation. The "output" return
  3562  // value will be populated with the request's response once the request completes
  3563  // successfully.
  3564  //
  3565  // Use "Send" method on the returned Request to send the API call to the service.
  3566  // the "output" return value is not valid until after Send returns without error.
  3567  //
  3568  // See UpdateGraphqlApi for more information on using the UpdateGraphqlApi
  3569  // API call, and error handling.
  3570  //
  3571  // This method is useful when you want to inject custom logic or configuration
  3572  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3573  //
  3574  //
  3575  //    // Example sending a request using the UpdateGraphqlApiRequest method.
  3576  //    req, resp := client.UpdateGraphqlApiRequest(params)
  3577  //
  3578  //    err := req.Send()
  3579  //    if err == nil { // resp is now filled
  3580  //        fmt.Println(resp)
  3581  //    }
  3582  //
  3583  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi
  3584  func (c *AppSync) UpdateGraphqlApiRequest(input *UpdateGraphqlApiInput) (req *request.Request, output *UpdateGraphqlApiOutput) {
  3585  	op := &request.Operation{
  3586  		Name:       opUpdateGraphqlApi,
  3587  		HTTPMethod: "POST",
  3588  		HTTPPath:   "/v1/apis/{apiId}",
  3589  	}
  3590  
  3591  	if input == nil {
  3592  		input = &UpdateGraphqlApiInput{}
  3593  	}
  3594  
  3595  	output = &UpdateGraphqlApiOutput{}
  3596  	req = c.newRequest(op, input, output)
  3597  	return
  3598  }
  3599  
  3600  // UpdateGraphqlApi API operation for AWS AppSync.
  3601  //
  3602  // Updates a GraphqlApi object.
  3603  //
  3604  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3605  // with awserr.Error's Code and Message methods to get detailed information about
  3606  // the error.
  3607  //
  3608  // See the AWS API reference guide for AWS AppSync's
  3609  // API operation UpdateGraphqlApi for usage and error information.
  3610  //
  3611  // Returned Error Types:
  3612  //   * BadRequestException
  3613  //   The request is not well formed. For example, a value is invalid or a required
  3614  //   field is missing. Check the field values, and then try again.
  3615  //
  3616  //   * ConcurrentModificationException
  3617  //   Another modification is in progress at this time and it must complete before
  3618  //   you can make your change.
  3619  //
  3620  //   * NotFoundException
  3621  //   The resource specified in the request was not found. Check the resource,
  3622  //   and then try again.
  3623  //
  3624  //   * UnauthorizedException
  3625  //   You are not authorized to perform this operation.
  3626  //
  3627  //   * InternalFailureException
  3628  //   An internal AppSync error occurred. Try your request again.
  3629  //
  3630  //   * AccessDeniedException
  3631  //   You do not have access to perform this operation on this resource.
  3632  //
  3633  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi
  3634  func (c *AppSync) UpdateGraphqlApi(input *UpdateGraphqlApiInput) (*UpdateGraphqlApiOutput, error) {
  3635  	req, out := c.UpdateGraphqlApiRequest(input)
  3636  	return out, req.Send()
  3637  }
  3638  
  3639  // UpdateGraphqlApiWithContext is the same as UpdateGraphqlApi with the addition of
  3640  // the ability to pass a context and additional request options.
  3641  //
  3642  // See UpdateGraphqlApi for details on how to use this API operation.
  3643  //
  3644  // The context must be non-nil and will be used for request cancellation. If
  3645  // the context is nil a panic will occur. In the future the SDK may create
  3646  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3647  // for more information on using Contexts.
  3648  func (c *AppSync) UpdateGraphqlApiWithContext(ctx aws.Context, input *UpdateGraphqlApiInput, opts ...request.Option) (*UpdateGraphqlApiOutput, error) {
  3649  	req, out := c.UpdateGraphqlApiRequest(input)
  3650  	req.SetContext(ctx)
  3651  	req.ApplyOptions(opts...)
  3652  	return out, req.Send()
  3653  }
  3654  
  3655  const opUpdateResolver = "UpdateResolver"
  3656  
  3657  // UpdateResolverRequest generates a "aws/request.Request" representing the
  3658  // client's request for the UpdateResolver operation. The "output" return
  3659  // value will be populated with the request's response once the request completes
  3660  // successfully.
  3661  //
  3662  // Use "Send" method on the returned Request to send the API call to the service.
  3663  // the "output" return value is not valid until after Send returns without error.
  3664  //
  3665  // See UpdateResolver for more information on using the UpdateResolver
  3666  // API call, and error handling.
  3667  //
  3668  // This method is useful when you want to inject custom logic or configuration
  3669  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3670  //
  3671  //
  3672  //    // Example sending a request using the UpdateResolverRequest method.
  3673  //    req, resp := client.UpdateResolverRequest(params)
  3674  //
  3675  //    err := req.Send()
  3676  //    if err == nil { // resp is now filled
  3677  //        fmt.Println(resp)
  3678  //    }
  3679  //
  3680  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver
  3681  func (c *AppSync) UpdateResolverRequest(input *UpdateResolverInput) (req *request.Request, output *UpdateResolverOutput) {
  3682  	op := &request.Operation{
  3683  		Name:       opUpdateResolver,
  3684  		HTTPMethod: "POST",
  3685  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}",
  3686  	}
  3687  
  3688  	if input == nil {
  3689  		input = &UpdateResolverInput{}
  3690  	}
  3691  
  3692  	output = &UpdateResolverOutput{}
  3693  	req = c.newRequest(op, input, output)
  3694  	return
  3695  }
  3696  
  3697  // UpdateResolver API operation for AWS AppSync.
  3698  //
  3699  // Updates a Resolver object.
  3700  //
  3701  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3702  // with awserr.Error's Code and Message methods to get detailed information about
  3703  // the error.
  3704  //
  3705  // See the AWS API reference guide for AWS AppSync's
  3706  // API operation UpdateResolver for usage and error information.
  3707  //
  3708  // Returned Error Types:
  3709  //   * ConcurrentModificationException
  3710  //   Another modification is in progress at this time and it must complete before
  3711  //   you can make your change.
  3712  //
  3713  //   * NotFoundException
  3714  //   The resource specified in the request was not found. Check the resource,
  3715  //   and then try again.
  3716  //
  3717  //   * UnauthorizedException
  3718  //   You are not authorized to perform this operation.
  3719  //
  3720  //   * InternalFailureException
  3721  //   An internal AppSync error occurred. Try your request again.
  3722  //
  3723  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver
  3724  func (c *AppSync) UpdateResolver(input *UpdateResolverInput) (*UpdateResolverOutput, error) {
  3725  	req, out := c.UpdateResolverRequest(input)
  3726  	return out, req.Send()
  3727  }
  3728  
  3729  // UpdateResolverWithContext is the same as UpdateResolver with the addition of
  3730  // the ability to pass a context and additional request options.
  3731  //
  3732  // See UpdateResolver for details on how to use this API operation.
  3733  //
  3734  // The context must be non-nil and will be used for request cancellation. If
  3735  // the context is nil a panic will occur. In the future the SDK may create
  3736  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3737  // for more information on using Contexts.
  3738  func (c *AppSync) UpdateResolverWithContext(ctx aws.Context, input *UpdateResolverInput, opts ...request.Option) (*UpdateResolverOutput, error) {
  3739  	req, out := c.UpdateResolverRequest(input)
  3740  	req.SetContext(ctx)
  3741  	req.ApplyOptions(opts...)
  3742  	return out, req.Send()
  3743  }
  3744  
  3745  const opUpdateType = "UpdateType"
  3746  
  3747  // UpdateTypeRequest generates a "aws/request.Request" representing the
  3748  // client's request for the UpdateType operation. The "output" return
  3749  // value will be populated with the request's response once the request completes
  3750  // successfully.
  3751  //
  3752  // Use "Send" method on the returned Request to send the API call to the service.
  3753  // the "output" return value is not valid until after Send returns without error.
  3754  //
  3755  // See UpdateType for more information on using the UpdateType
  3756  // API call, and error handling.
  3757  //
  3758  // This method is useful when you want to inject custom logic or configuration
  3759  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3760  //
  3761  //
  3762  //    // Example sending a request using the UpdateTypeRequest method.
  3763  //    req, resp := client.UpdateTypeRequest(params)
  3764  //
  3765  //    err := req.Send()
  3766  //    if err == nil { // resp is now filled
  3767  //        fmt.Println(resp)
  3768  //    }
  3769  //
  3770  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType
  3771  func (c *AppSync) UpdateTypeRequest(input *UpdateTypeInput) (req *request.Request, output *UpdateTypeOutput) {
  3772  	op := &request.Operation{
  3773  		Name:       opUpdateType,
  3774  		HTTPMethod: "POST",
  3775  		HTTPPath:   "/v1/apis/{apiId}/types/{typeName}",
  3776  	}
  3777  
  3778  	if input == nil {
  3779  		input = &UpdateTypeInput{}
  3780  	}
  3781  
  3782  	output = &UpdateTypeOutput{}
  3783  	req = c.newRequest(op, input, output)
  3784  	return
  3785  }
  3786  
  3787  // UpdateType API operation for AWS AppSync.
  3788  //
  3789  // Updates a Type object.
  3790  //
  3791  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3792  // with awserr.Error's Code and Message methods to get detailed information about
  3793  // the error.
  3794  //
  3795  // See the AWS API reference guide for AWS AppSync's
  3796  // API operation UpdateType for usage and error information.
  3797  //
  3798  // Returned Error Types:
  3799  //   * BadRequestException
  3800  //   The request is not well formed. For example, a value is invalid or a required
  3801  //   field is missing. Check the field values, and then try again.
  3802  //
  3803  //   * ConcurrentModificationException
  3804  //   Another modification is in progress at this time and it must complete before
  3805  //   you can make your change.
  3806  //
  3807  //   * NotFoundException
  3808  //   The resource specified in the request was not found. Check the resource,
  3809  //   and then try again.
  3810  //
  3811  //   * UnauthorizedException
  3812  //   You are not authorized to perform this operation.
  3813  //
  3814  //   * InternalFailureException
  3815  //   An internal AppSync error occurred. Try your request again.
  3816  //
  3817  // See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType
  3818  func (c *AppSync) UpdateType(input *UpdateTypeInput) (*UpdateTypeOutput, error) {
  3819  	req, out := c.UpdateTypeRequest(input)
  3820  	return out, req.Send()
  3821  }
  3822  
  3823  // UpdateTypeWithContext is the same as UpdateType with the addition of
  3824  // the ability to pass a context and additional request options.
  3825  //
  3826  // See UpdateType for details on how to use this API operation.
  3827  //
  3828  // The context must be non-nil and will be used for request cancellation. If
  3829  // the context is nil a panic will occur. In the future the SDK may create
  3830  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3831  // for more information on using Contexts.
  3832  func (c *AppSync) UpdateTypeWithContext(ctx aws.Context, input *UpdateTypeInput, opts ...request.Option) (*UpdateTypeOutput, error) {
  3833  	req, out := c.UpdateTypeRequest(input)
  3834  	req.SetContext(ctx)
  3835  	req.ApplyOptions(opts...)
  3836  	return out, req.Send()
  3837  }
  3838  
  3839  // You do not have access to perform this operation on this resource.
  3840  type AccessDeniedException struct {
  3841  	_            struct{}                  `type:"structure"`
  3842  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3843  
  3844  	Message_ *string `locationName:"message" type:"string"`
  3845  }
  3846  
  3847  // String returns the string representation.
  3848  //
  3849  // API parameter values that are decorated as "sensitive" in the API will not
  3850  // be included in the string output. The member name will be present, but the
  3851  // value will be replaced with "sensitive".
  3852  func (s AccessDeniedException) String() string {
  3853  	return awsutil.Prettify(s)
  3854  }
  3855  
  3856  // GoString returns the string representation.
  3857  //
  3858  // API parameter values that are decorated as "sensitive" in the API will not
  3859  // be included in the string output. The member name will be present, but the
  3860  // value will be replaced with "sensitive".
  3861  func (s AccessDeniedException) GoString() string {
  3862  	return s.String()
  3863  }
  3864  
  3865  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  3866  	return &AccessDeniedException{
  3867  		RespMetadata: v,
  3868  	}
  3869  }
  3870  
  3871  // Code returns the exception type name.
  3872  func (s *AccessDeniedException) Code() string {
  3873  	return "AccessDeniedException"
  3874  }
  3875  
  3876  // Message returns the exception's message.
  3877  func (s *AccessDeniedException) Message() string {
  3878  	if s.Message_ != nil {
  3879  		return *s.Message_
  3880  	}
  3881  	return ""
  3882  }
  3883  
  3884  // OrigErr always returns nil, satisfies awserr.Error interface.
  3885  func (s *AccessDeniedException) OrigErr() error {
  3886  	return nil
  3887  }
  3888  
  3889  func (s *AccessDeniedException) Error() string {
  3890  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3891  }
  3892  
  3893  // Status code returns the HTTP status code for the request's response error.
  3894  func (s *AccessDeniedException) StatusCode() int {
  3895  	return s.RespMetadata.StatusCode
  3896  }
  3897  
  3898  // RequestID returns the service's response RequestID for request.
  3899  func (s *AccessDeniedException) RequestID() string {
  3900  	return s.RespMetadata.RequestID
  3901  }
  3902  
  3903  // Describes an additional authentication provider.
  3904  type AdditionalAuthenticationProvider struct {
  3905  	_ struct{} `type:"structure"`
  3906  
  3907  	// The authentication type: API key, Identity and Access Management, OIDC, Amazon
  3908  	// Cognito user pools, or Amazon Web Services Lambda.
  3909  	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
  3910  
  3911  	// Configuration for Amazon Web Services Lambda function authorization.
  3912  	LambdaAuthorizerConfig *LambdaAuthorizerConfig `locationName:"lambdaAuthorizerConfig" type:"structure"`
  3913  
  3914  	// The OpenID Connect configuration.
  3915  	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
  3916  
  3917  	// The Amazon Cognito user pool configuration.
  3918  	UserPoolConfig *CognitoUserPoolConfig `locationName:"userPoolConfig" type:"structure"`
  3919  }
  3920  
  3921  // String returns the string representation.
  3922  //
  3923  // API parameter values that are decorated as "sensitive" in the API will not
  3924  // be included in the string output. The member name will be present, but the
  3925  // value will be replaced with "sensitive".
  3926  func (s AdditionalAuthenticationProvider) String() string {
  3927  	return awsutil.Prettify(s)
  3928  }
  3929  
  3930  // GoString returns the string representation.
  3931  //
  3932  // API parameter values that are decorated as "sensitive" in the API will not
  3933  // be included in the string output. The member name will be present, but the
  3934  // value will be replaced with "sensitive".
  3935  func (s AdditionalAuthenticationProvider) GoString() string {
  3936  	return s.String()
  3937  }
  3938  
  3939  // Validate inspects the fields of the type to determine if they are valid.
  3940  func (s *AdditionalAuthenticationProvider) Validate() error {
  3941  	invalidParams := request.ErrInvalidParams{Context: "AdditionalAuthenticationProvider"}
  3942  	if s.LambdaAuthorizerConfig != nil {
  3943  		if err := s.LambdaAuthorizerConfig.Validate(); err != nil {
  3944  			invalidParams.AddNested("LambdaAuthorizerConfig", err.(request.ErrInvalidParams))
  3945  		}
  3946  	}
  3947  	if s.OpenIDConnectConfig != nil {
  3948  		if err := s.OpenIDConnectConfig.Validate(); err != nil {
  3949  			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
  3950  		}
  3951  	}
  3952  	if s.UserPoolConfig != nil {
  3953  		if err := s.UserPoolConfig.Validate(); err != nil {
  3954  			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
  3955  		}
  3956  	}
  3957  
  3958  	if invalidParams.Len() > 0 {
  3959  		return invalidParams
  3960  	}
  3961  	return nil
  3962  }
  3963  
  3964  // SetAuthenticationType sets the AuthenticationType field's value.
  3965  func (s *AdditionalAuthenticationProvider) SetAuthenticationType(v string) *AdditionalAuthenticationProvider {
  3966  	s.AuthenticationType = &v
  3967  	return s
  3968  }
  3969  
  3970  // SetLambdaAuthorizerConfig sets the LambdaAuthorizerConfig field's value.
  3971  func (s *AdditionalAuthenticationProvider) SetLambdaAuthorizerConfig(v *LambdaAuthorizerConfig) *AdditionalAuthenticationProvider {
  3972  	s.LambdaAuthorizerConfig = v
  3973  	return s
  3974  }
  3975  
  3976  // SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
  3977  func (s *AdditionalAuthenticationProvider) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *AdditionalAuthenticationProvider {
  3978  	s.OpenIDConnectConfig = v
  3979  	return s
  3980  }
  3981  
  3982  // SetUserPoolConfig sets the UserPoolConfig field's value.
  3983  func (s *AdditionalAuthenticationProvider) SetUserPoolConfig(v *CognitoUserPoolConfig) *AdditionalAuthenticationProvider {
  3984  	s.UserPoolConfig = v
  3985  	return s
  3986  }
  3987  
  3988  // The ApiCache object.
  3989  type ApiCache struct {
  3990  	_ struct{} `type:"structure"`
  3991  
  3992  	// Caching behavior.
  3993  	//
  3994  	//    * FULL_REQUEST_CACHING: All requests are fully cached.
  3995  	//
  3996  	//    * PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
  3997  	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" enum:"ApiCachingBehavior"`
  3998  
  3999  	// At rest encryption flag for cache. This setting cannot be updated after creation.
  4000  	AtRestEncryptionEnabled *bool `locationName:"atRestEncryptionEnabled" type:"boolean"`
  4001  
  4002  	// The cache instance status.
  4003  	//
  4004  	//    * AVAILABLE: The instance is available for use.
  4005  	//
  4006  	//    * CREATING: The instance is currently creating.
  4007  	//
  4008  	//    * DELETING: The instance is currently deleting.
  4009  	//
  4010  	//    * MODIFYING: The instance is currently modifying.
  4011  	//
  4012  	//    * FAILED: The instance has failed creation.
  4013  	Status *string `locationName:"status" type:"string" enum:"ApiCacheStatus"`
  4014  
  4015  	// Transit encryption flag when connecting to cache. This setting cannot be
  4016  	// updated after creation.
  4017  	TransitEncryptionEnabled *bool `locationName:"transitEncryptionEnabled" type:"boolean"`
  4018  
  4019  	// TTL in seconds for cache entries.
  4020  	//
  4021  	// Valid values are between 1 and 3600 seconds.
  4022  	Ttl *int64 `locationName:"ttl" type:"long"`
  4023  
  4024  	// The cache instance type. Valid values are
  4025  	//
  4026  	//    * SMALL
  4027  	//
  4028  	//    * MEDIUM
  4029  	//
  4030  	//    * LARGE
  4031  	//
  4032  	//    * XLARGE
  4033  	//
  4034  	//    * LARGE_2X
  4035  	//
  4036  	//    * LARGE_4X
  4037  	//
  4038  	//    * LARGE_8X (not available in all regions)
  4039  	//
  4040  	//    * LARGE_12X
  4041  	//
  4042  	// Historically, instance types were identified by an EC2-style value. As of
  4043  	// July 2020, this is deprecated, and the generic identifiers above should be
  4044  	// used.
  4045  	//
  4046  	// The following legacy instance types are available, but their use is discouraged:
  4047  	//
  4048  	//    * T2_SMALL: A t2.small instance type.
  4049  	//
  4050  	//    * T2_MEDIUM: A t2.medium instance type.
  4051  	//
  4052  	//    * R4_LARGE: A r4.large instance type.
  4053  	//
  4054  	//    * R4_XLARGE: A r4.xlarge instance type.
  4055  	//
  4056  	//    * R4_2XLARGE: A r4.2xlarge instance type.
  4057  	//
  4058  	//    * R4_4XLARGE: A r4.4xlarge instance type.
  4059  	//
  4060  	//    * R4_8XLARGE: A r4.8xlarge instance type.
  4061  	Type *string `locationName:"type" type:"string" enum:"ApiCacheType"`
  4062  }
  4063  
  4064  // String returns the string representation.
  4065  //
  4066  // API parameter values that are decorated as "sensitive" in the API will not
  4067  // be included in the string output. The member name will be present, but the
  4068  // value will be replaced with "sensitive".
  4069  func (s ApiCache) String() string {
  4070  	return awsutil.Prettify(s)
  4071  }
  4072  
  4073  // GoString returns the string representation.
  4074  //
  4075  // API parameter values that are decorated as "sensitive" in the API will not
  4076  // be included in the string output. The member name will be present, but the
  4077  // value will be replaced with "sensitive".
  4078  func (s ApiCache) GoString() string {
  4079  	return s.String()
  4080  }
  4081  
  4082  // SetApiCachingBehavior sets the ApiCachingBehavior field's value.
  4083  func (s *ApiCache) SetApiCachingBehavior(v string) *ApiCache {
  4084  	s.ApiCachingBehavior = &v
  4085  	return s
  4086  }
  4087  
  4088  // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value.
  4089  func (s *ApiCache) SetAtRestEncryptionEnabled(v bool) *ApiCache {
  4090  	s.AtRestEncryptionEnabled = &v
  4091  	return s
  4092  }
  4093  
  4094  // SetStatus sets the Status field's value.
  4095  func (s *ApiCache) SetStatus(v string) *ApiCache {
  4096  	s.Status = &v
  4097  	return s
  4098  }
  4099  
  4100  // SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value.
  4101  func (s *ApiCache) SetTransitEncryptionEnabled(v bool) *ApiCache {
  4102  	s.TransitEncryptionEnabled = &v
  4103  	return s
  4104  }
  4105  
  4106  // SetTtl sets the Ttl field's value.
  4107  func (s *ApiCache) SetTtl(v int64) *ApiCache {
  4108  	s.Ttl = &v
  4109  	return s
  4110  }
  4111  
  4112  // SetType sets the Type field's value.
  4113  func (s *ApiCache) SetType(v string) *ApiCache {
  4114  	s.Type = &v
  4115  	return s
  4116  }
  4117  
  4118  // Describes an API key.
  4119  //
  4120  // Customers invoke AppSync GraphQL API operations with API keys as an identity
  4121  // mechanism. There are two key versions:
  4122  //
  4123  // da1: This version was introduced at launch in November 2017. These keys always
  4124  // expire after 7 days. Key expiration is managed by Amazon DynamoDB TTL. The
  4125  // keys ceased to be valid after February 21, 2018 and should not be used after
  4126  // that date.
  4127  //
  4128  //    * ListApiKeys returns the expiration time in milliseconds.
  4129  //
  4130  //    * CreateApiKey returns the expiration time in milliseconds.
  4131  //
  4132  //    * UpdateApiKey is not available for this key version.
  4133  //
  4134  //    * DeleteApiKey deletes the item from the table.
  4135  //
  4136  //    * Expiration is stored in Amazon DynamoDB as milliseconds. This results
  4137  //    in a bug where keys are not automatically deleted because DynamoDB expects
  4138  //    the TTL to be stored in seconds. As a one-time action, we will delete
  4139  //    these keys from the table after February 21, 2018.
  4140  //
  4141  // da2: This version was introduced in February 2018 when AppSync added support
  4142  // to extend key expiration.
  4143  //
  4144  //    * ListApiKeys returns the expiration time and deletion time in seconds.
  4145  //
  4146  //    * CreateApiKey returns the expiration time and deletion time in seconds
  4147  //    and accepts a user-provided expiration time in seconds.
  4148  //
  4149  //    * UpdateApiKey returns the expiration time and and deletion time in seconds
  4150  //    and accepts a user-provided expiration time in seconds. Expired API keys
  4151  //    are kept for 60 days after the expiration time. Key expiration time can
  4152  //    be updated while the key is not deleted.
  4153  //
  4154  //    * DeleteApiKey deletes the item from the table.
  4155  //
  4156  //    * Expiration is stored in Amazon DynamoDB as seconds. After the expiration
  4157  //    time, using the key to authenticate will fail. But the key can be reinstated
  4158  //    before deletion.
  4159  //
  4160  //    * Deletion is stored in Amazon DynamoDB as seconds. The key will be deleted
  4161  //    after deletion time.
  4162  type ApiKey struct {
  4163  	_ struct{} `type:"structure"`
  4164  
  4165  	// The time after which the API key is deleted. The date is represented as seconds
  4166  	// since the epoch, rounded down to the nearest hour.
  4167  	Deletes *int64 `locationName:"deletes" type:"long"`
  4168  
  4169  	// A description of the purpose of the API key.
  4170  	Description *string `locationName:"description" type:"string"`
  4171  
  4172  	// The time after which the API key expires. The date is represented as seconds
  4173  	// since the epoch, rounded down to the nearest hour.
  4174  	Expires *int64 `locationName:"expires" type:"long"`
  4175  
  4176  	// The API key ID.
  4177  	Id *string `locationName:"id" type:"string"`
  4178  }
  4179  
  4180  // String returns the string representation.
  4181  //
  4182  // API parameter values that are decorated as "sensitive" in the API will not
  4183  // be included in the string output. The member name will be present, but the
  4184  // value will be replaced with "sensitive".
  4185  func (s ApiKey) String() string {
  4186  	return awsutil.Prettify(s)
  4187  }
  4188  
  4189  // GoString returns the string representation.
  4190  //
  4191  // API parameter values that are decorated as "sensitive" in the API will not
  4192  // be included in the string output. The member name will be present, but the
  4193  // value will be replaced with "sensitive".
  4194  func (s ApiKey) GoString() string {
  4195  	return s.String()
  4196  }
  4197  
  4198  // SetDeletes sets the Deletes field's value.
  4199  func (s *ApiKey) SetDeletes(v int64) *ApiKey {
  4200  	s.Deletes = &v
  4201  	return s
  4202  }
  4203  
  4204  // SetDescription sets the Description field's value.
  4205  func (s *ApiKey) SetDescription(v string) *ApiKey {
  4206  	s.Description = &v
  4207  	return s
  4208  }
  4209  
  4210  // SetExpires sets the Expires field's value.
  4211  func (s *ApiKey) SetExpires(v int64) *ApiKey {
  4212  	s.Expires = &v
  4213  	return s
  4214  }
  4215  
  4216  // SetId sets the Id field's value.
  4217  func (s *ApiKey) SetId(v string) *ApiKey {
  4218  	s.Id = &v
  4219  	return s
  4220  }
  4221  
  4222  // The API key exceeded a limit. Try your request again.
  4223  type ApiKeyLimitExceededException struct {
  4224  	_            struct{}                  `type:"structure"`
  4225  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4226  
  4227  	Message_ *string `locationName:"message" type:"string"`
  4228  }
  4229  
  4230  // String returns the string representation.
  4231  //
  4232  // API parameter values that are decorated as "sensitive" in the API will not
  4233  // be included in the string output. The member name will be present, but the
  4234  // value will be replaced with "sensitive".
  4235  func (s ApiKeyLimitExceededException) String() string {
  4236  	return awsutil.Prettify(s)
  4237  }
  4238  
  4239  // GoString returns the string representation.
  4240  //
  4241  // API parameter values that are decorated as "sensitive" in the API will not
  4242  // be included in the string output. The member name will be present, but the
  4243  // value will be replaced with "sensitive".
  4244  func (s ApiKeyLimitExceededException) GoString() string {
  4245  	return s.String()
  4246  }
  4247  
  4248  func newErrorApiKeyLimitExceededException(v protocol.ResponseMetadata) error {
  4249  	return &ApiKeyLimitExceededException{
  4250  		RespMetadata: v,
  4251  	}
  4252  }
  4253  
  4254  // Code returns the exception type name.
  4255  func (s *ApiKeyLimitExceededException) Code() string {
  4256  	return "ApiKeyLimitExceededException"
  4257  }
  4258  
  4259  // Message returns the exception's message.
  4260  func (s *ApiKeyLimitExceededException) Message() string {
  4261  	if s.Message_ != nil {
  4262  		return *s.Message_
  4263  	}
  4264  	return ""
  4265  }
  4266  
  4267  // OrigErr always returns nil, satisfies awserr.Error interface.
  4268  func (s *ApiKeyLimitExceededException) OrigErr() error {
  4269  	return nil
  4270  }
  4271  
  4272  func (s *ApiKeyLimitExceededException) Error() string {
  4273  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4274  }
  4275  
  4276  // Status code returns the HTTP status code for the request's response error.
  4277  func (s *ApiKeyLimitExceededException) StatusCode() int {
  4278  	return s.RespMetadata.StatusCode
  4279  }
  4280  
  4281  // RequestID returns the service's response RequestID for request.
  4282  func (s *ApiKeyLimitExceededException) RequestID() string {
  4283  	return s.RespMetadata.RequestID
  4284  }
  4285  
  4286  // The API key expiration must be set to a value between 1 and 365 days from
  4287  // creation (for CreateApiKey) or from update (for UpdateApiKey).
  4288  type ApiKeyValidityOutOfBoundsException struct {
  4289  	_            struct{}                  `type:"structure"`
  4290  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4291  
  4292  	Message_ *string `locationName:"message" type:"string"`
  4293  }
  4294  
  4295  // String returns the string representation.
  4296  //
  4297  // API parameter values that are decorated as "sensitive" in the API will not
  4298  // be included in the string output. The member name will be present, but the
  4299  // value will be replaced with "sensitive".
  4300  func (s ApiKeyValidityOutOfBoundsException) String() string {
  4301  	return awsutil.Prettify(s)
  4302  }
  4303  
  4304  // GoString returns the string representation.
  4305  //
  4306  // API parameter values that are decorated as "sensitive" in the API will not
  4307  // be included in the string output. The member name will be present, but the
  4308  // value will be replaced with "sensitive".
  4309  func (s ApiKeyValidityOutOfBoundsException) GoString() string {
  4310  	return s.String()
  4311  }
  4312  
  4313  func newErrorApiKeyValidityOutOfBoundsException(v protocol.ResponseMetadata) error {
  4314  	return &ApiKeyValidityOutOfBoundsException{
  4315  		RespMetadata: v,
  4316  	}
  4317  }
  4318  
  4319  // Code returns the exception type name.
  4320  func (s *ApiKeyValidityOutOfBoundsException) Code() string {
  4321  	return "ApiKeyValidityOutOfBoundsException"
  4322  }
  4323  
  4324  // Message returns the exception's message.
  4325  func (s *ApiKeyValidityOutOfBoundsException) Message() string {
  4326  	if s.Message_ != nil {
  4327  		return *s.Message_
  4328  	}
  4329  	return ""
  4330  }
  4331  
  4332  // OrigErr always returns nil, satisfies awserr.Error interface.
  4333  func (s *ApiKeyValidityOutOfBoundsException) OrigErr() error {
  4334  	return nil
  4335  }
  4336  
  4337  func (s *ApiKeyValidityOutOfBoundsException) Error() string {
  4338  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4339  }
  4340  
  4341  // Status code returns the HTTP status code for the request's response error.
  4342  func (s *ApiKeyValidityOutOfBoundsException) StatusCode() int {
  4343  	return s.RespMetadata.StatusCode
  4344  }
  4345  
  4346  // RequestID returns the service's response RequestID for request.
  4347  func (s *ApiKeyValidityOutOfBoundsException) RequestID() string {
  4348  	return s.RespMetadata.RequestID
  4349  }
  4350  
  4351  // The GraphQL API exceeded a limit. Try your request again.
  4352  type ApiLimitExceededException struct {
  4353  	_            struct{}                  `type:"structure"`
  4354  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4355  
  4356  	Message_ *string `locationName:"message" type:"string"`
  4357  }
  4358  
  4359  // String returns the string representation.
  4360  //
  4361  // API parameter values that are decorated as "sensitive" in the API will not
  4362  // be included in the string output. The member name will be present, but the
  4363  // value will be replaced with "sensitive".
  4364  func (s ApiLimitExceededException) String() string {
  4365  	return awsutil.Prettify(s)
  4366  }
  4367  
  4368  // GoString returns the string representation.
  4369  //
  4370  // API parameter values that are decorated as "sensitive" in the API will not
  4371  // be included in the string output. The member name will be present, but the
  4372  // value will be replaced with "sensitive".
  4373  func (s ApiLimitExceededException) GoString() string {
  4374  	return s.String()
  4375  }
  4376  
  4377  func newErrorApiLimitExceededException(v protocol.ResponseMetadata) error {
  4378  	return &ApiLimitExceededException{
  4379  		RespMetadata: v,
  4380  	}
  4381  }
  4382  
  4383  // Code returns the exception type name.
  4384  func (s *ApiLimitExceededException) Code() string {
  4385  	return "ApiLimitExceededException"
  4386  }
  4387  
  4388  // Message returns the exception's message.
  4389  func (s *ApiLimitExceededException) Message() string {
  4390  	if s.Message_ != nil {
  4391  		return *s.Message_
  4392  	}
  4393  	return ""
  4394  }
  4395  
  4396  // OrigErr always returns nil, satisfies awserr.Error interface.
  4397  func (s *ApiLimitExceededException) OrigErr() error {
  4398  	return nil
  4399  }
  4400  
  4401  func (s *ApiLimitExceededException) Error() string {
  4402  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4403  }
  4404  
  4405  // Status code returns the HTTP status code for the request's response error.
  4406  func (s *ApiLimitExceededException) StatusCode() int {
  4407  	return s.RespMetadata.StatusCode
  4408  }
  4409  
  4410  // RequestID returns the service's response RequestID for request.
  4411  func (s *ApiLimitExceededException) RequestID() string {
  4412  	return s.RespMetadata.RequestID
  4413  }
  4414  
  4415  // The authorization config in case the HTTP endpoint requires authorization.
  4416  type AuthorizationConfig struct {
  4417  	_ struct{} `type:"structure"`
  4418  
  4419  	// The authorization type required by the HTTP endpoint.
  4420  	//
  4421  	//    * AWS_IAM: The authorization type is Sigv4.
  4422  	//
  4423  	// AuthorizationType is a required field
  4424  	AuthorizationType *string `locationName:"authorizationType" type:"string" required:"true" enum:"AuthorizationType"`
  4425  
  4426  	// The Identity and Access Management settings.
  4427  	AwsIamConfig *AwsIamConfig `locationName:"awsIamConfig" type:"structure"`
  4428  }
  4429  
  4430  // String returns the string representation.
  4431  //
  4432  // API parameter values that are decorated as "sensitive" in the API will not
  4433  // be included in the string output. The member name will be present, but the
  4434  // value will be replaced with "sensitive".
  4435  func (s AuthorizationConfig) String() string {
  4436  	return awsutil.Prettify(s)
  4437  }
  4438  
  4439  // GoString returns the string representation.
  4440  //
  4441  // API parameter values that are decorated as "sensitive" in the API will not
  4442  // be included in the string output. The member name will be present, but the
  4443  // value will be replaced with "sensitive".
  4444  func (s AuthorizationConfig) GoString() string {
  4445  	return s.String()
  4446  }
  4447  
  4448  // Validate inspects the fields of the type to determine if they are valid.
  4449  func (s *AuthorizationConfig) Validate() error {
  4450  	invalidParams := request.ErrInvalidParams{Context: "AuthorizationConfig"}
  4451  	if s.AuthorizationType == nil {
  4452  		invalidParams.Add(request.NewErrParamRequired("AuthorizationType"))
  4453  	}
  4454  
  4455  	if invalidParams.Len() > 0 {
  4456  		return invalidParams
  4457  	}
  4458  	return nil
  4459  }
  4460  
  4461  // SetAuthorizationType sets the AuthorizationType field's value.
  4462  func (s *AuthorizationConfig) SetAuthorizationType(v string) *AuthorizationConfig {
  4463  	s.AuthorizationType = &v
  4464  	return s
  4465  }
  4466  
  4467  // SetAwsIamConfig sets the AwsIamConfig field's value.
  4468  func (s *AuthorizationConfig) SetAwsIamConfig(v *AwsIamConfig) *AuthorizationConfig {
  4469  	s.AwsIamConfig = v
  4470  	return s
  4471  }
  4472  
  4473  // The Identity and Access Management configuration.
  4474  type AwsIamConfig struct {
  4475  	_ struct{} `type:"structure"`
  4476  
  4477  	// The signing region for Identity and Access Management authorization.
  4478  	SigningRegion *string `locationName:"signingRegion" type:"string"`
  4479  
  4480  	// The signing service name for Identity and Access Management authorization.
  4481  	SigningServiceName *string `locationName:"signingServiceName" type:"string"`
  4482  }
  4483  
  4484  // String returns the string representation.
  4485  //
  4486  // API parameter values that are decorated as "sensitive" in the API will not
  4487  // be included in the string output. The member name will be present, but the
  4488  // value will be replaced with "sensitive".
  4489  func (s AwsIamConfig) String() string {
  4490  	return awsutil.Prettify(s)
  4491  }
  4492  
  4493  // GoString returns the string representation.
  4494  //
  4495  // API parameter values that are decorated as "sensitive" in the API will not
  4496  // be included in the string output. The member name will be present, but the
  4497  // value will be replaced with "sensitive".
  4498  func (s AwsIamConfig) GoString() string {
  4499  	return s.String()
  4500  }
  4501  
  4502  // SetSigningRegion sets the SigningRegion field's value.
  4503  func (s *AwsIamConfig) SetSigningRegion(v string) *AwsIamConfig {
  4504  	s.SigningRegion = &v
  4505  	return s
  4506  }
  4507  
  4508  // SetSigningServiceName sets the SigningServiceName field's value.
  4509  func (s *AwsIamConfig) SetSigningServiceName(v string) *AwsIamConfig {
  4510  	s.SigningServiceName = &v
  4511  	return s
  4512  }
  4513  
  4514  // The request is not well formed. For example, a value is invalid or a required
  4515  // field is missing. Check the field values, and then try again.
  4516  type BadRequestException struct {
  4517  	_            struct{}                  `type:"structure"`
  4518  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4519  
  4520  	Message_ *string `locationName:"message" type:"string"`
  4521  }
  4522  
  4523  // String returns the string representation.
  4524  //
  4525  // API parameter values that are decorated as "sensitive" in the API will not
  4526  // be included in the string output. The member name will be present, but the
  4527  // value will be replaced with "sensitive".
  4528  func (s BadRequestException) String() string {
  4529  	return awsutil.Prettify(s)
  4530  }
  4531  
  4532  // GoString returns the string representation.
  4533  //
  4534  // API parameter values that are decorated as "sensitive" in the API will not
  4535  // be included in the string output. The member name will be present, but the
  4536  // value will be replaced with "sensitive".
  4537  func (s BadRequestException) GoString() string {
  4538  	return s.String()
  4539  }
  4540  
  4541  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  4542  	return &BadRequestException{
  4543  		RespMetadata: v,
  4544  	}
  4545  }
  4546  
  4547  // Code returns the exception type name.
  4548  func (s *BadRequestException) Code() string {
  4549  	return "BadRequestException"
  4550  }
  4551  
  4552  // Message returns the exception's message.
  4553  func (s *BadRequestException) Message() string {
  4554  	if s.Message_ != nil {
  4555  		return *s.Message_
  4556  	}
  4557  	return ""
  4558  }
  4559  
  4560  // OrigErr always returns nil, satisfies awserr.Error interface.
  4561  func (s *BadRequestException) OrigErr() error {
  4562  	return nil
  4563  }
  4564  
  4565  func (s *BadRequestException) Error() string {
  4566  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4567  }
  4568  
  4569  // Status code returns the HTTP status code for the request's response error.
  4570  func (s *BadRequestException) StatusCode() int {
  4571  	return s.RespMetadata.StatusCode
  4572  }
  4573  
  4574  // RequestID returns the service's response RequestID for request.
  4575  func (s *BadRequestException) RequestID() string {
  4576  	return s.RespMetadata.RequestID
  4577  }
  4578  
  4579  // The caching configuration for a resolver that has caching enabled.
  4580  type CachingConfig struct {
  4581  	_ struct{} `type:"structure"`
  4582  
  4583  	// The caching keys for a resolver that has caching enabled.
  4584  	//
  4585  	// Valid values are entries from the $context.arguments, $context.source, and
  4586  	// $context.identity maps.
  4587  	CachingKeys []*string `locationName:"cachingKeys" type:"list"`
  4588  
  4589  	// The TTL in seconds for a resolver that has caching enabled.
  4590  	//
  4591  	// Valid values are between 1 and 3600 seconds.
  4592  	Ttl *int64 `locationName:"ttl" type:"long"`
  4593  }
  4594  
  4595  // String returns the string representation.
  4596  //
  4597  // API parameter values that are decorated as "sensitive" in the API will not
  4598  // be included in the string output. The member name will be present, but the
  4599  // value will be replaced with "sensitive".
  4600  func (s CachingConfig) String() string {
  4601  	return awsutil.Prettify(s)
  4602  }
  4603  
  4604  // GoString returns the string representation.
  4605  //
  4606  // API parameter values that are decorated as "sensitive" in the API will not
  4607  // be included in the string output. The member name will be present, but the
  4608  // value will be replaced with "sensitive".
  4609  func (s CachingConfig) GoString() string {
  4610  	return s.String()
  4611  }
  4612  
  4613  // SetCachingKeys sets the CachingKeys field's value.
  4614  func (s *CachingConfig) SetCachingKeys(v []*string) *CachingConfig {
  4615  	s.CachingKeys = v
  4616  	return s
  4617  }
  4618  
  4619  // SetTtl sets the Ttl field's value.
  4620  func (s *CachingConfig) SetTtl(v int64) *CachingConfig {
  4621  	s.Ttl = &v
  4622  	return s
  4623  }
  4624  
  4625  // Describes an Amazon Cognito user pool configuration.
  4626  type CognitoUserPoolConfig struct {
  4627  	_ struct{} `type:"structure"`
  4628  
  4629  	// A regular expression for validating the incoming Amazon Cognito user pool
  4630  	// app client ID.
  4631  	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
  4632  
  4633  	// The Amazon Web Services Region in which the user pool was created.
  4634  	//
  4635  	// AwsRegion is a required field
  4636  	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
  4637  
  4638  	// The user pool ID.
  4639  	//
  4640  	// UserPoolId is a required field
  4641  	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
  4642  }
  4643  
  4644  // String returns the string representation.
  4645  //
  4646  // API parameter values that are decorated as "sensitive" in the API will not
  4647  // be included in the string output. The member name will be present, but the
  4648  // value will be replaced with "sensitive".
  4649  func (s CognitoUserPoolConfig) String() string {
  4650  	return awsutil.Prettify(s)
  4651  }
  4652  
  4653  // GoString returns the string representation.
  4654  //
  4655  // API parameter values that are decorated as "sensitive" in the API will not
  4656  // be included in the string output. The member name will be present, but the
  4657  // value will be replaced with "sensitive".
  4658  func (s CognitoUserPoolConfig) GoString() string {
  4659  	return s.String()
  4660  }
  4661  
  4662  // Validate inspects the fields of the type to determine if they are valid.
  4663  func (s *CognitoUserPoolConfig) Validate() error {
  4664  	invalidParams := request.ErrInvalidParams{Context: "CognitoUserPoolConfig"}
  4665  	if s.AwsRegion == nil {
  4666  		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
  4667  	}
  4668  	if s.UserPoolId == nil {
  4669  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
  4670  	}
  4671  
  4672  	if invalidParams.Len() > 0 {
  4673  		return invalidParams
  4674  	}
  4675  	return nil
  4676  }
  4677  
  4678  // SetAppIdClientRegex sets the AppIdClientRegex field's value.
  4679  func (s *CognitoUserPoolConfig) SetAppIdClientRegex(v string) *CognitoUserPoolConfig {
  4680  	s.AppIdClientRegex = &v
  4681  	return s
  4682  }
  4683  
  4684  // SetAwsRegion sets the AwsRegion field's value.
  4685  func (s *CognitoUserPoolConfig) SetAwsRegion(v string) *CognitoUserPoolConfig {
  4686  	s.AwsRegion = &v
  4687  	return s
  4688  }
  4689  
  4690  // SetUserPoolId sets the UserPoolId field's value.
  4691  func (s *CognitoUserPoolConfig) SetUserPoolId(v string) *CognitoUserPoolConfig {
  4692  	s.UserPoolId = &v
  4693  	return s
  4694  }
  4695  
  4696  // Another modification is in progress at this time and it must complete before
  4697  // you can make your change.
  4698  type ConcurrentModificationException struct {
  4699  	_            struct{}                  `type:"structure"`
  4700  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4701  
  4702  	Message_ *string `locationName:"message" type:"string"`
  4703  }
  4704  
  4705  // String returns the string representation.
  4706  //
  4707  // API parameter values that are decorated as "sensitive" in the API will not
  4708  // be included in the string output. The member name will be present, but the
  4709  // value will be replaced with "sensitive".
  4710  func (s ConcurrentModificationException) String() string {
  4711  	return awsutil.Prettify(s)
  4712  }
  4713  
  4714  // GoString returns the string representation.
  4715  //
  4716  // API parameter values that are decorated as "sensitive" in the API will not
  4717  // be included in the string output. The member name will be present, but the
  4718  // value will be replaced with "sensitive".
  4719  func (s ConcurrentModificationException) GoString() string {
  4720  	return s.String()
  4721  }
  4722  
  4723  func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
  4724  	return &ConcurrentModificationException{
  4725  		RespMetadata: v,
  4726  	}
  4727  }
  4728  
  4729  // Code returns the exception type name.
  4730  func (s *ConcurrentModificationException) Code() string {
  4731  	return "ConcurrentModificationException"
  4732  }
  4733  
  4734  // Message returns the exception's message.
  4735  func (s *ConcurrentModificationException) Message() string {
  4736  	if s.Message_ != nil {
  4737  		return *s.Message_
  4738  	}
  4739  	return ""
  4740  }
  4741  
  4742  // OrigErr always returns nil, satisfies awserr.Error interface.
  4743  func (s *ConcurrentModificationException) OrigErr() error {
  4744  	return nil
  4745  }
  4746  
  4747  func (s *ConcurrentModificationException) Error() string {
  4748  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4749  }
  4750  
  4751  // Status code returns the HTTP status code for the request's response error.
  4752  func (s *ConcurrentModificationException) StatusCode() int {
  4753  	return s.RespMetadata.StatusCode
  4754  }
  4755  
  4756  // RequestID returns the service's response RequestID for request.
  4757  func (s *ConcurrentModificationException) RequestID() string {
  4758  	return s.RespMetadata.RequestID
  4759  }
  4760  
  4761  // Represents the input of a CreateApiCache operation.
  4762  type CreateApiCacheInput struct {
  4763  	_ struct{} `type:"structure"`
  4764  
  4765  	// Caching behavior.
  4766  	//
  4767  	//    * FULL_REQUEST_CACHING: All requests are fully cached.
  4768  	//
  4769  	//    * PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
  4770  	//
  4771  	// ApiCachingBehavior is a required field
  4772  	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"`
  4773  
  4774  	// The GraphQL API Id.
  4775  	//
  4776  	// ApiId is a required field
  4777  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  4778  
  4779  	// At rest encryption flag for cache. This setting cannot be updated after creation.
  4780  	AtRestEncryptionEnabled *bool `locationName:"atRestEncryptionEnabled" type:"boolean"`
  4781  
  4782  	// Transit encryption flag when connecting to cache. This setting cannot be
  4783  	// updated after creation.
  4784  	TransitEncryptionEnabled *bool `locationName:"transitEncryptionEnabled" type:"boolean"`
  4785  
  4786  	// TTL in seconds for cache entries.
  4787  	//
  4788  	// Valid values are between 1 and 3600 seconds.
  4789  	//
  4790  	// Ttl is a required field
  4791  	Ttl *int64 `locationName:"ttl" type:"long" required:"true"`
  4792  
  4793  	// The cache instance type. Valid values are
  4794  	//
  4795  	//    * SMALL
  4796  	//
  4797  	//    * MEDIUM
  4798  	//
  4799  	//    * LARGE
  4800  	//
  4801  	//    * XLARGE
  4802  	//
  4803  	//    * LARGE_2X
  4804  	//
  4805  	//    * LARGE_4X
  4806  	//
  4807  	//    * LARGE_8X (not available in all regions)
  4808  	//
  4809  	//    * LARGE_12X
  4810  	//
  4811  	// Historically, instance types were identified by an EC2-style value. As of
  4812  	// July 2020, this is deprecated, and the generic identifiers above should be
  4813  	// used.
  4814  	//
  4815  	// The following legacy instance types are available, but their use is discouraged:
  4816  	//
  4817  	//    * T2_SMALL: A t2.small instance type.
  4818  	//
  4819  	//    * T2_MEDIUM: A t2.medium instance type.
  4820  	//
  4821  	//    * R4_LARGE: A r4.large instance type.
  4822  	//
  4823  	//    * R4_XLARGE: A r4.xlarge instance type.
  4824  	//
  4825  	//    * R4_2XLARGE: A r4.2xlarge instance type.
  4826  	//
  4827  	//    * R4_4XLARGE: A r4.4xlarge instance type.
  4828  	//
  4829  	//    * R4_8XLARGE: A r4.8xlarge instance type.
  4830  	//
  4831  	// Type is a required field
  4832  	Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"`
  4833  }
  4834  
  4835  // String returns the string representation.
  4836  //
  4837  // API parameter values that are decorated as "sensitive" in the API will not
  4838  // be included in the string output. The member name will be present, but the
  4839  // value will be replaced with "sensitive".
  4840  func (s CreateApiCacheInput) String() string {
  4841  	return awsutil.Prettify(s)
  4842  }
  4843  
  4844  // GoString returns the string representation.
  4845  //
  4846  // API parameter values that are decorated as "sensitive" in the API will not
  4847  // be included in the string output. The member name will be present, but the
  4848  // value will be replaced with "sensitive".
  4849  func (s CreateApiCacheInput) GoString() string {
  4850  	return s.String()
  4851  }
  4852  
  4853  // Validate inspects the fields of the type to determine if they are valid.
  4854  func (s *CreateApiCacheInput) Validate() error {
  4855  	invalidParams := request.ErrInvalidParams{Context: "CreateApiCacheInput"}
  4856  	if s.ApiCachingBehavior == nil {
  4857  		invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior"))
  4858  	}
  4859  	if s.ApiId == nil {
  4860  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  4861  	}
  4862  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  4863  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  4864  	}
  4865  	if s.Ttl == nil {
  4866  		invalidParams.Add(request.NewErrParamRequired("Ttl"))
  4867  	}
  4868  	if s.Type == nil {
  4869  		invalidParams.Add(request.NewErrParamRequired("Type"))
  4870  	}
  4871  
  4872  	if invalidParams.Len() > 0 {
  4873  		return invalidParams
  4874  	}
  4875  	return nil
  4876  }
  4877  
  4878  // SetApiCachingBehavior sets the ApiCachingBehavior field's value.
  4879  func (s *CreateApiCacheInput) SetApiCachingBehavior(v string) *CreateApiCacheInput {
  4880  	s.ApiCachingBehavior = &v
  4881  	return s
  4882  }
  4883  
  4884  // SetApiId sets the ApiId field's value.
  4885  func (s *CreateApiCacheInput) SetApiId(v string) *CreateApiCacheInput {
  4886  	s.ApiId = &v
  4887  	return s
  4888  }
  4889  
  4890  // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value.
  4891  func (s *CreateApiCacheInput) SetAtRestEncryptionEnabled(v bool) *CreateApiCacheInput {
  4892  	s.AtRestEncryptionEnabled = &v
  4893  	return s
  4894  }
  4895  
  4896  // SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value.
  4897  func (s *CreateApiCacheInput) SetTransitEncryptionEnabled(v bool) *CreateApiCacheInput {
  4898  	s.TransitEncryptionEnabled = &v
  4899  	return s
  4900  }
  4901  
  4902  // SetTtl sets the Ttl field's value.
  4903  func (s *CreateApiCacheInput) SetTtl(v int64) *CreateApiCacheInput {
  4904  	s.Ttl = &v
  4905  	return s
  4906  }
  4907  
  4908  // SetType sets the Type field's value.
  4909  func (s *CreateApiCacheInput) SetType(v string) *CreateApiCacheInput {
  4910  	s.Type = &v
  4911  	return s
  4912  }
  4913  
  4914  // Represents the output of a CreateApiCache operation.
  4915  type CreateApiCacheOutput struct {
  4916  	_ struct{} `type:"structure"`
  4917  
  4918  	// The ApiCache object.
  4919  	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
  4920  }
  4921  
  4922  // String returns the string representation.
  4923  //
  4924  // API parameter values that are decorated as "sensitive" in the API will not
  4925  // be included in the string output. The member name will be present, but the
  4926  // value will be replaced with "sensitive".
  4927  func (s CreateApiCacheOutput) String() string {
  4928  	return awsutil.Prettify(s)
  4929  }
  4930  
  4931  // GoString returns the string representation.
  4932  //
  4933  // API parameter values that are decorated as "sensitive" in the API will not
  4934  // be included in the string output. The member name will be present, but the
  4935  // value will be replaced with "sensitive".
  4936  func (s CreateApiCacheOutput) GoString() string {
  4937  	return s.String()
  4938  }
  4939  
  4940  // SetApiCache sets the ApiCache field's value.
  4941  func (s *CreateApiCacheOutput) SetApiCache(v *ApiCache) *CreateApiCacheOutput {
  4942  	s.ApiCache = v
  4943  	return s
  4944  }
  4945  
  4946  type CreateApiKeyInput struct {
  4947  	_ struct{} `type:"structure"`
  4948  
  4949  	// The ID for your GraphQL API.
  4950  	//
  4951  	// ApiId is a required field
  4952  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  4953  
  4954  	// A description of the purpose of the API key.
  4955  	Description *string `locationName:"description" type:"string"`
  4956  
  4957  	// The time from creation time after which the API key expires. The date is
  4958  	// represented as seconds since the epoch, rounded down to the nearest hour.
  4959  	// The default value for this parameter is 7 days from creation time. For more
  4960  	// information, see .
  4961  	Expires *int64 `locationName:"expires" type:"long"`
  4962  }
  4963  
  4964  // String returns the string representation.
  4965  //
  4966  // API parameter values that are decorated as "sensitive" in the API will not
  4967  // be included in the string output. The member name will be present, but the
  4968  // value will be replaced with "sensitive".
  4969  func (s CreateApiKeyInput) String() string {
  4970  	return awsutil.Prettify(s)
  4971  }
  4972  
  4973  // GoString returns the string representation.
  4974  //
  4975  // API parameter values that are decorated as "sensitive" in the API will not
  4976  // be included in the string output. The member name will be present, but the
  4977  // value will be replaced with "sensitive".
  4978  func (s CreateApiKeyInput) GoString() string {
  4979  	return s.String()
  4980  }
  4981  
  4982  // Validate inspects the fields of the type to determine if they are valid.
  4983  func (s *CreateApiKeyInput) Validate() error {
  4984  	invalidParams := request.ErrInvalidParams{Context: "CreateApiKeyInput"}
  4985  	if s.ApiId == nil {
  4986  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  4987  	}
  4988  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  4989  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  4990  	}
  4991  
  4992  	if invalidParams.Len() > 0 {
  4993  		return invalidParams
  4994  	}
  4995  	return nil
  4996  }
  4997  
  4998  // SetApiId sets the ApiId field's value.
  4999  func (s *CreateApiKeyInput) SetApiId(v string) *CreateApiKeyInput {
  5000  	s.ApiId = &v
  5001  	return s
  5002  }
  5003  
  5004  // SetDescription sets the Description field's value.
  5005  func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput {
  5006  	s.Description = &v
  5007  	return s
  5008  }
  5009  
  5010  // SetExpires sets the Expires field's value.
  5011  func (s *CreateApiKeyInput) SetExpires(v int64) *CreateApiKeyInput {
  5012  	s.Expires = &v
  5013  	return s
  5014  }
  5015  
  5016  type CreateApiKeyOutput struct {
  5017  	_ struct{} `type:"structure"`
  5018  
  5019  	// The API key.
  5020  	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
  5021  }
  5022  
  5023  // String returns the string representation.
  5024  //
  5025  // API parameter values that are decorated as "sensitive" in the API will not
  5026  // be included in the string output. The member name will be present, but the
  5027  // value will be replaced with "sensitive".
  5028  func (s CreateApiKeyOutput) String() string {
  5029  	return awsutil.Prettify(s)
  5030  }
  5031  
  5032  // GoString returns the string representation.
  5033  //
  5034  // API parameter values that are decorated as "sensitive" in the API will not
  5035  // be included in the string output. The member name will be present, but the
  5036  // value will be replaced with "sensitive".
  5037  func (s CreateApiKeyOutput) GoString() string {
  5038  	return s.String()
  5039  }
  5040  
  5041  // SetApiKey sets the ApiKey field's value.
  5042  func (s *CreateApiKeyOutput) SetApiKey(v *ApiKey) *CreateApiKeyOutput {
  5043  	s.ApiKey = v
  5044  	return s
  5045  }
  5046  
  5047  type CreateDataSourceInput struct {
  5048  	_ struct{} `type:"structure"`
  5049  
  5050  	// The API ID for the GraphQL API for the DataSource.
  5051  	//
  5052  	// ApiId is a required field
  5053  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  5054  
  5055  	// A description of the DataSource.
  5056  	Description *string `locationName:"description" type:"string"`
  5057  
  5058  	// Amazon DynamoDB settings.
  5059  	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
  5060  
  5061  	// Amazon OpenSearch Service settings.
  5062  	//
  5063  	// As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service.
  5064  	// This configuration is deprecated. For new data sources, use CreateDataSourceRequest$openSearchServiceConfig
  5065  	// to create an OpenSearch data source.
  5066  	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
  5067  
  5068  	// HTTP endpoint settings.
  5069  	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
  5070  
  5071  	// Amazon Web Services Lambda settings.
  5072  	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
  5073  
  5074  	// A user-supplied name for the DataSource.
  5075  	//
  5076  	// Name is a required field
  5077  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  5078  
  5079  	// Amazon OpenSearch Service settings.
  5080  	OpenSearchServiceConfig *OpenSearchServiceDataSourceConfig `locationName:"openSearchServiceConfig" type:"structure"`
  5081  
  5082  	// Relational database settings.
  5083  	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
  5084  
  5085  	// The Identity and Access Management service role ARN for the data source.
  5086  	// The system assumes this role when accessing the data source.
  5087  	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
  5088  
  5089  	// The type of the DataSource.
  5090  	//
  5091  	// Type is a required field
  5092  	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
  5093  }
  5094  
  5095  // String returns the string representation.
  5096  //
  5097  // API parameter values that are decorated as "sensitive" in the API will not
  5098  // be included in the string output. The member name will be present, but the
  5099  // value will be replaced with "sensitive".
  5100  func (s CreateDataSourceInput) String() string {
  5101  	return awsutil.Prettify(s)
  5102  }
  5103  
  5104  // GoString returns the string representation.
  5105  //
  5106  // API parameter values that are decorated as "sensitive" in the API will not
  5107  // be included in the string output. The member name will be present, but the
  5108  // value will be replaced with "sensitive".
  5109  func (s CreateDataSourceInput) GoString() string {
  5110  	return s.String()
  5111  }
  5112  
  5113  // Validate inspects the fields of the type to determine if they are valid.
  5114  func (s *CreateDataSourceInput) Validate() error {
  5115  	invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"}
  5116  	if s.ApiId == nil {
  5117  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  5118  	}
  5119  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  5120  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  5121  	}
  5122  	if s.Name == nil {
  5123  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5124  	}
  5125  	if s.Name != nil && len(*s.Name) < 1 {
  5126  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  5127  	}
  5128  	if s.Type == nil {
  5129  		invalidParams.Add(request.NewErrParamRequired("Type"))
  5130  	}
  5131  	if s.DynamodbConfig != nil {
  5132  		if err := s.DynamodbConfig.Validate(); err != nil {
  5133  			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
  5134  		}
  5135  	}
  5136  	if s.ElasticsearchConfig != nil {
  5137  		if err := s.ElasticsearchConfig.Validate(); err != nil {
  5138  			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
  5139  		}
  5140  	}
  5141  	if s.HttpConfig != nil {
  5142  		if err := s.HttpConfig.Validate(); err != nil {
  5143  			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
  5144  		}
  5145  	}
  5146  	if s.LambdaConfig != nil {
  5147  		if err := s.LambdaConfig.Validate(); err != nil {
  5148  			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
  5149  		}
  5150  	}
  5151  	if s.OpenSearchServiceConfig != nil {
  5152  		if err := s.OpenSearchServiceConfig.Validate(); err != nil {
  5153  			invalidParams.AddNested("OpenSearchServiceConfig", err.(request.ErrInvalidParams))
  5154  		}
  5155  	}
  5156  
  5157  	if invalidParams.Len() > 0 {
  5158  		return invalidParams
  5159  	}
  5160  	return nil
  5161  }
  5162  
  5163  // SetApiId sets the ApiId field's value.
  5164  func (s *CreateDataSourceInput) SetApiId(v string) *CreateDataSourceInput {
  5165  	s.ApiId = &v
  5166  	return s
  5167  }
  5168  
  5169  // SetDescription sets the Description field's value.
  5170  func (s *CreateDataSourceInput) SetDescription(v string) *CreateDataSourceInput {
  5171  	s.Description = &v
  5172  	return s
  5173  }
  5174  
  5175  // SetDynamodbConfig sets the DynamodbConfig field's value.
  5176  func (s *CreateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *CreateDataSourceInput {
  5177  	s.DynamodbConfig = v
  5178  	return s
  5179  }
  5180  
  5181  // SetElasticsearchConfig sets the ElasticsearchConfig field's value.
  5182  func (s *CreateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *CreateDataSourceInput {
  5183  	s.ElasticsearchConfig = v
  5184  	return s
  5185  }
  5186  
  5187  // SetHttpConfig sets the HttpConfig field's value.
  5188  func (s *CreateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *CreateDataSourceInput {
  5189  	s.HttpConfig = v
  5190  	return s
  5191  }
  5192  
  5193  // SetLambdaConfig sets the LambdaConfig field's value.
  5194  func (s *CreateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *CreateDataSourceInput {
  5195  	s.LambdaConfig = v
  5196  	return s
  5197  }
  5198  
  5199  // SetName sets the Name field's value.
  5200  func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput {
  5201  	s.Name = &v
  5202  	return s
  5203  }
  5204  
  5205  // SetOpenSearchServiceConfig sets the OpenSearchServiceConfig field's value.
  5206  func (s *CreateDataSourceInput) SetOpenSearchServiceConfig(v *OpenSearchServiceDataSourceConfig) *CreateDataSourceInput {
  5207  	s.OpenSearchServiceConfig = v
  5208  	return s
  5209  }
  5210  
  5211  // SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
  5212  func (s *CreateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *CreateDataSourceInput {
  5213  	s.RelationalDatabaseConfig = v
  5214  	return s
  5215  }
  5216  
  5217  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  5218  func (s *CreateDataSourceInput) SetServiceRoleArn(v string) *CreateDataSourceInput {
  5219  	s.ServiceRoleArn = &v
  5220  	return s
  5221  }
  5222  
  5223  // SetType sets the Type field's value.
  5224  func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput {
  5225  	s.Type = &v
  5226  	return s
  5227  }
  5228  
  5229  type CreateDataSourceOutput struct {
  5230  	_ struct{} `type:"structure"`
  5231  
  5232  	// The DataSource object.
  5233  	DataSource *DataSource `locationName:"dataSource" type:"structure"`
  5234  }
  5235  
  5236  // String returns the string representation.
  5237  //
  5238  // API parameter values that are decorated as "sensitive" in the API will not
  5239  // be included in the string output. The member name will be present, but the
  5240  // value will be replaced with "sensitive".
  5241  func (s CreateDataSourceOutput) String() string {
  5242  	return awsutil.Prettify(s)
  5243  }
  5244  
  5245  // GoString returns the string representation.
  5246  //
  5247  // API parameter values that are decorated as "sensitive" in the API will not
  5248  // be included in the string output. The member name will be present, but the
  5249  // value will be replaced with "sensitive".
  5250  func (s CreateDataSourceOutput) GoString() string {
  5251  	return s.String()
  5252  }
  5253  
  5254  // SetDataSource sets the DataSource field's value.
  5255  func (s *CreateDataSourceOutput) SetDataSource(v *DataSource) *CreateDataSourceOutput {
  5256  	s.DataSource = v
  5257  	return s
  5258  }
  5259  
  5260  type CreateFunctionInput struct {
  5261  	_ struct{} `type:"structure"`
  5262  
  5263  	// The GraphQL API ID.
  5264  	//
  5265  	// ApiId is a required field
  5266  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  5267  
  5268  	// The Function DataSource name.
  5269  	//
  5270  	// DataSourceName is a required field
  5271  	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"`
  5272  
  5273  	// The Function description.
  5274  	Description *string `locationName:"description" type:"string"`
  5275  
  5276  	// The version of the request mapping template. Currently the supported value
  5277  	// is 2018-05-29.
  5278  	//
  5279  	// FunctionVersion is a required field
  5280  	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
  5281  
  5282  	// The Function name. The function name does not have to be unique.
  5283  	//
  5284  	// Name is a required field
  5285  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  5286  
  5287  	// The Function request mapping template. Functions support only the 2018-05-29
  5288  	// version of the request mapping template.
  5289  	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
  5290  
  5291  	// The Function response mapping template.
  5292  	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
  5293  
  5294  	// Describes a Sync configuration for a resolver.
  5295  	//
  5296  	// Contains information on which Conflict Detection as well as Resolution strategy
  5297  	// should be performed when the resolver is invoked.
  5298  	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
  5299  }
  5300  
  5301  // String returns the string representation.
  5302  //
  5303  // API parameter values that are decorated as "sensitive" in the API will not
  5304  // be included in the string output. The member name will be present, but the
  5305  // value will be replaced with "sensitive".
  5306  func (s CreateFunctionInput) String() string {
  5307  	return awsutil.Prettify(s)
  5308  }
  5309  
  5310  // GoString returns the string representation.
  5311  //
  5312  // API parameter values that are decorated as "sensitive" in the API will not
  5313  // be included in the string output. The member name will be present, but the
  5314  // value will be replaced with "sensitive".
  5315  func (s CreateFunctionInput) GoString() string {
  5316  	return s.String()
  5317  }
  5318  
  5319  // Validate inspects the fields of the type to determine if they are valid.
  5320  func (s *CreateFunctionInput) Validate() error {
  5321  	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"}
  5322  	if s.ApiId == nil {
  5323  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  5324  	}
  5325  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  5326  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  5327  	}
  5328  	if s.DataSourceName == nil {
  5329  		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
  5330  	}
  5331  	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
  5332  		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
  5333  	}
  5334  	if s.FunctionVersion == nil {
  5335  		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
  5336  	}
  5337  	if s.Name == nil {
  5338  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5339  	}
  5340  	if s.Name != nil && len(*s.Name) < 1 {
  5341  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  5342  	}
  5343  	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
  5344  		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
  5345  	}
  5346  	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
  5347  		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
  5348  	}
  5349  
  5350  	if invalidParams.Len() > 0 {
  5351  		return invalidParams
  5352  	}
  5353  	return nil
  5354  }
  5355  
  5356  // SetApiId sets the ApiId field's value.
  5357  func (s *CreateFunctionInput) SetApiId(v string) *CreateFunctionInput {
  5358  	s.ApiId = &v
  5359  	return s
  5360  }
  5361  
  5362  // SetDataSourceName sets the DataSourceName field's value.
  5363  func (s *CreateFunctionInput) SetDataSourceName(v string) *CreateFunctionInput {
  5364  	s.DataSourceName = &v
  5365  	return s
  5366  }
  5367  
  5368  // SetDescription sets the Description field's value.
  5369  func (s *CreateFunctionInput) SetDescription(v string) *CreateFunctionInput {
  5370  	s.Description = &v
  5371  	return s
  5372  }
  5373  
  5374  // SetFunctionVersion sets the FunctionVersion field's value.
  5375  func (s *CreateFunctionInput) SetFunctionVersion(v string) *CreateFunctionInput {
  5376  	s.FunctionVersion = &v
  5377  	return s
  5378  }
  5379  
  5380  // SetName sets the Name field's value.
  5381  func (s *CreateFunctionInput) SetName(v string) *CreateFunctionInput {
  5382  	s.Name = &v
  5383  	return s
  5384  }
  5385  
  5386  // SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
  5387  func (s *CreateFunctionInput) SetRequestMappingTemplate(v string) *CreateFunctionInput {
  5388  	s.RequestMappingTemplate = &v
  5389  	return s
  5390  }
  5391  
  5392  // SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
  5393  func (s *CreateFunctionInput) SetResponseMappingTemplate(v string) *CreateFunctionInput {
  5394  	s.ResponseMappingTemplate = &v
  5395  	return s
  5396  }
  5397  
  5398  // SetSyncConfig sets the SyncConfig field's value.
  5399  func (s *CreateFunctionInput) SetSyncConfig(v *SyncConfig) *CreateFunctionInput {
  5400  	s.SyncConfig = v
  5401  	return s
  5402  }
  5403  
  5404  type CreateFunctionOutput struct {
  5405  	_ struct{} `type:"structure"`
  5406  
  5407  	// The Function object.
  5408  	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
  5409  }
  5410  
  5411  // String returns the string representation.
  5412  //
  5413  // API parameter values that are decorated as "sensitive" in the API will not
  5414  // be included in the string output. The member name will be present, but the
  5415  // value will be replaced with "sensitive".
  5416  func (s CreateFunctionOutput) String() string {
  5417  	return awsutil.Prettify(s)
  5418  }
  5419  
  5420  // GoString returns the string representation.
  5421  //
  5422  // API parameter values that are decorated as "sensitive" in the API will not
  5423  // be included in the string output. The member name will be present, but the
  5424  // value will be replaced with "sensitive".
  5425  func (s CreateFunctionOutput) GoString() string {
  5426  	return s.String()
  5427  }
  5428  
  5429  // SetFunctionConfiguration sets the FunctionConfiguration field's value.
  5430  func (s *CreateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *CreateFunctionOutput {
  5431  	s.FunctionConfiguration = v
  5432  	return s
  5433  }
  5434  
  5435  type CreateGraphqlApiInput struct {
  5436  	_ struct{} `type:"structure"`
  5437  
  5438  	// A list of additional authentication providers for the GraphqlApi API.
  5439  	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
  5440  
  5441  	// The authentication type: API key, Identity and Access Management, OIDC, Amazon
  5442  	// Cognito user pools, or Amazon Web Services Lambda.
  5443  	//
  5444  	// AuthenticationType is a required field
  5445  	AuthenticationType *string `locationName:"authenticationType" type:"string" required:"true" enum:"AuthenticationType"`
  5446  
  5447  	// Configuration for Amazon Web Services Lambda function authorization.
  5448  	LambdaAuthorizerConfig *LambdaAuthorizerConfig `locationName:"lambdaAuthorizerConfig" type:"structure"`
  5449  
  5450  	// The Amazon CloudWatch Logs configuration.
  5451  	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
  5452  
  5453  	// A user-supplied name for the GraphqlApi.
  5454  	//
  5455  	// Name is a required field
  5456  	Name *string `locationName:"name" type:"string" required:"true"`
  5457  
  5458  	// The OpenID Connect configuration.
  5459  	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
  5460  
  5461  	// A TagMap object.
  5462  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  5463  
  5464  	// The Amazon Cognito user pool configuration.
  5465  	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
  5466  
  5467  	// A flag indicating whether to enable X-Ray tracing for the GraphqlApi.
  5468  	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
  5469  }
  5470  
  5471  // String returns the string representation.
  5472  //
  5473  // API parameter values that are decorated as "sensitive" in the API will not
  5474  // be included in the string output. The member name will be present, but the
  5475  // value will be replaced with "sensitive".
  5476  func (s CreateGraphqlApiInput) String() string {
  5477  	return awsutil.Prettify(s)
  5478  }
  5479  
  5480  // GoString returns the string representation.
  5481  //
  5482  // API parameter values that are decorated as "sensitive" in the API will not
  5483  // be included in the string output. The member name will be present, but the
  5484  // value will be replaced with "sensitive".
  5485  func (s CreateGraphqlApiInput) GoString() string {
  5486  	return s.String()
  5487  }
  5488  
  5489  // Validate inspects the fields of the type to determine if they are valid.
  5490  func (s *CreateGraphqlApiInput) Validate() error {
  5491  	invalidParams := request.ErrInvalidParams{Context: "CreateGraphqlApiInput"}
  5492  	if s.AuthenticationType == nil {
  5493  		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
  5494  	}
  5495  	if s.Name == nil {
  5496  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5497  	}
  5498  	if s.Tags != nil && len(s.Tags) < 1 {
  5499  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5500  	}
  5501  	if s.AdditionalAuthenticationProviders != nil {
  5502  		for i, v := range s.AdditionalAuthenticationProviders {
  5503  			if v == nil {
  5504  				continue
  5505  			}
  5506  			if err := v.Validate(); err != nil {
  5507  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
  5508  			}
  5509  		}
  5510  	}
  5511  	if s.LambdaAuthorizerConfig != nil {
  5512  		if err := s.LambdaAuthorizerConfig.Validate(); err != nil {
  5513  			invalidParams.AddNested("LambdaAuthorizerConfig", err.(request.ErrInvalidParams))
  5514  		}
  5515  	}
  5516  	if s.LogConfig != nil {
  5517  		if err := s.LogConfig.Validate(); err != nil {
  5518  			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
  5519  		}
  5520  	}
  5521  	if s.OpenIDConnectConfig != nil {
  5522  		if err := s.OpenIDConnectConfig.Validate(); err != nil {
  5523  			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
  5524  		}
  5525  	}
  5526  	if s.UserPoolConfig != nil {
  5527  		if err := s.UserPoolConfig.Validate(); err != nil {
  5528  			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
  5529  		}
  5530  	}
  5531  
  5532  	if invalidParams.Len() > 0 {
  5533  		return invalidParams
  5534  	}
  5535  	return nil
  5536  }
  5537  
  5538  // SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
  5539  func (s *CreateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *CreateGraphqlApiInput {
  5540  	s.AdditionalAuthenticationProviders = v
  5541  	return s
  5542  }
  5543  
  5544  // SetAuthenticationType sets the AuthenticationType field's value.
  5545  func (s *CreateGraphqlApiInput) SetAuthenticationType(v string) *CreateGraphqlApiInput {
  5546  	s.AuthenticationType = &v
  5547  	return s
  5548  }
  5549  
  5550  // SetLambdaAuthorizerConfig sets the LambdaAuthorizerConfig field's value.
  5551  func (s *CreateGraphqlApiInput) SetLambdaAuthorizerConfig(v *LambdaAuthorizerConfig) *CreateGraphqlApiInput {
  5552  	s.LambdaAuthorizerConfig = v
  5553  	return s
  5554  }
  5555  
  5556  // SetLogConfig sets the LogConfig field's value.
  5557  func (s *CreateGraphqlApiInput) SetLogConfig(v *LogConfig) *CreateGraphqlApiInput {
  5558  	s.LogConfig = v
  5559  	return s
  5560  }
  5561  
  5562  // SetName sets the Name field's value.
  5563  func (s *CreateGraphqlApiInput) SetName(v string) *CreateGraphqlApiInput {
  5564  	s.Name = &v
  5565  	return s
  5566  }
  5567  
  5568  // SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
  5569  func (s *CreateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *CreateGraphqlApiInput {
  5570  	s.OpenIDConnectConfig = v
  5571  	return s
  5572  }
  5573  
  5574  // SetTags sets the Tags field's value.
  5575  func (s *CreateGraphqlApiInput) SetTags(v map[string]*string) *CreateGraphqlApiInput {
  5576  	s.Tags = v
  5577  	return s
  5578  }
  5579  
  5580  // SetUserPoolConfig sets the UserPoolConfig field's value.
  5581  func (s *CreateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *CreateGraphqlApiInput {
  5582  	s.UserPoolConfig = v
  5583  	return s
  5584  }
  5585  
  5586  // SetXrayEnabled sets the XrayEnabled field's value.
  5587  func (s *CreateGraphqlApiInput) SetXrayEnabled(v bool) *CreateGraphqlApiInput {
  5588  	s.XrayEnabled = &v
  5589  	return s
  5590  }
  5591  
  5592  type CreateGraphqlApiOutput struct {
  5593  	_ struct{} `type:"structure"`
  5594  
  5595  	// The GraphqlApi.
  5596  	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
  5597  }
  5598  
  5599  // String returns the string representation.
  5600  //
  5601  // API parameter values that are decorated as "sensitive" in the API will not
  5602  // be included in the string output. The member name will be present, but the
  5603  // value will be replaced with "sensitive".
  5604  func (s CreateGraphqlApiOutput) String() string {
  5605  	return awsutil.Prettify(s)
  5606  }
  5607  
  5608  // GoString returns the string representation.
  5609  //
  5610  // API parameter values that are decorated as "sensitive" in the API will not
  5611  // be included in the string output. The member name will be present, but the
  5612  // value will be replaced with "sensitive".
  5613  func (s CreateGraphqlApiOutput) GoString() string {
  5614  	return s.String()
  5615  }
  5616  
  5617  // SetGraphqlApi sets the GraphqlApi field's value.
  5618  func (s *CreateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *CreateGraphqlApiOutput {
  5619  	s.GraphqlApi = v
  5620  	return s
  5621  }
  5622  
  5623  type CreateResolverInput struct {
  5624  	_ struct{} `type:"structure"`
  5625  
  5626  	// The ID for the GraphQL API for which the resolver is being created.
  5627  	//
  5628  	// ApiId is a required field
  5629  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  5630  
  5631  	// The caching configuration for the resolver.
  5632  	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
  5633  
  5634  	// The name of the data source for which the resolver is being created.
  5635  	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
  5636  
  5637  	// The name of the field to attach the resolver to.
  5638  	//
  5639  	// FieldName is a required field
  5640  	FieldName *string `locationName:"fieldName" min:"1" type:"string" required:"true"`
  5641  
  5642  	// The resolver type.
  5643  	//
  5644  	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
  5645  	//    type. A UNIT resolver enables you to execute a GraphQL query against a
  5646  	//    single data source.
  5647  	//
  5648  	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
  5649  	//    to execute a series of Function in a serial manner. You can use a pipeline
  5650  	//    resolver to execute a GraphQL query against multiple data sources.
  5651  	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
  5652  
  5653  	// The PipelineConfig.
  5654  	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
  5655  
  5656  	// The mapping template to be used for requests.
  5657  	//
  5658  	// A resolver uses a request mapping template to convert a GraphQL expression
  5659  	// into a format that a data source can understand. Mapping templates are written
  5660  	// in Apache Velocity Template Language (VTL).
  5661  	//
  5662  	// VTL request mapping templates are optional when using a Lambda data source.
  5663  	// For all other data sources, VTL request and response mapping templates are
  5664  	// required.
  5665  	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
  5666  
  5667  	// The mapping template to be used for responses from the data source.
  5668  	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
  5669  
  5670  	// The SyncConfig for a resolver attached to a versioned datasource.
  5671  	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
  5672  
  5673  	// The name of the Type.
  5674  	//
  5675  	// TypeName is a required field
  5676  	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
  5677  }
  5678  
  5679  // String returns the string representation.
  5680  //
  5681  // API parameter values that are decorated as "sensitive" in the API will not
  5682  // be included in the string output. The member name will be present, but the
  5683  // value will be replaced with "sensitive".
  5684  func (s CreateResolverInput) String() string {
  5685  	return awsutil.Prettify(s)
  5686  }
  5687  
  5688  // GoString returns the string representation.
  5689  //
  5690  // API parameter values that are decorated as "sensitive" in the API will not
  5691  // be included in the string output. The member name will be present, but the
  5692  // value will be replaced with "sensitive".
  5693  func (s CreateResolverInput) GoString() string {
  5694  	return s.String()
  5695  }
  5696  
  5697  // Validate inspects the fields of the type to determine if they are valid.
  5698  func (s *CreateResolverInput) Validate() error {
  5699  	invalidParams := request.ErrInvalidParams{Context: "CreateResolverInput"}
  5700  	if s.ApiId == nil {
  5701  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  5702  	}
  5703  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  5704  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  5705  	}
  5706  	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
  5707  		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
  5708  	}
  5709  	if s.FieldName == nil {
  5710  		invalidParams.Add(request.NewErrParamRequired("FieldName"))
  5711  	}
  5712  	if s.FieldName != nil && len(*s.FieldName) < 1 {
  5713  		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
  5714  	}
  5715  	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
  5716  		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
  5717  	}
  5718  	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
  5719  		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
  5720  	}
  5721  	if s.TypeName == nil {
  5722  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  5723  	}
  5724  	if s.TypeName != nil && len(*s.TypeName) < 1 {
  5725  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
  5726  	}
  5727  
  5728  	if invalidParams.Len() > 0 {
  5729  		return invalidParams
  5730  	}
  5731  	return nil
  5732  }
  5733  
  5734  // SetApiId sets the ApiId field's value.
  5735  func (s *CreateResolverInput) SetApiId(v string) *CreateResolverInput {
  5736  	s.ApiId = &v
  5737  	return s
  5738  }
  5739  
  5740  // SetCachingConfig sets the CachingConfig field's value.
  5741  func (s *CreateResolverInput) SetCachingConfig(v *CachingConfig) *CreateResolverInput {
  5742  	s.CachingConfig = v
  5743  	return s
  5744  }
  5745  
  5746  // SetDataSourceName sets the DataSourceName field's value.
  5747  func (s *CreateResolverInput) SetDataSourceName(v string) *CreateResolverInput {
  5748  	s.DataSourceName = &v
  5749  	return s
  5750  }
  5751  
  5752  // SetFieldName sets the FieldName field's value.
  5753  func (s *CreateResolverInput) SetFieldName(v string) *CreateResolverInput {
  5754  	s.FieldName = &v
  5755  	return s
  5756  }
  5757  
  5758  // SetKind sets the Kind field's value.
  5759  func (s *CreateResolverInput) SetKind(v string) *CreateResolverInput {
  5760  	s.Kind = &v
  5761  	return s
  5762  }
  5763  
  5764  // SetPipelineConfig sets the PipelineConfig field's value.
  5765  func (s *CreateResolverInput) SetPipelineConfig(v *PipelineConfig) *CreateResolverInput {
  5766  	s.PipelineConfig = v
  5767  	return s
  5768  }
  5769  
  5770  // SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
  5771  func (s *CreateResolverInput) SetRequestMappingTemplate(v string) *CreateResolverInput {
  5772  	s.RequestMappingTemplate = &v
  5773  	return s
  5774  }
  5775  
  5776  // SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
  5777  func (s *CreateResolverInput) SetResponseMappingTemplate(v string) *CreateResolverInput {
  5778  	s.ResponseMappingTemplate = &v
  5779  	return s
  5780  }
  5781  
  5782  // SetSyncConfig sets the SyncConfig field's value.
  5783  func (s *CreateResolverInput) SetSyncConfig(v *SyncConfig) *CreateResolverInput {
  5784  	s.SyncConfig = v
  5785  	return s
  5786  }
  5787  
  5788  // SetTypeName sets the TypeName field's value.
  5789  func (s *CreateResolverInput) SetTypeName(v string) *CreateResolverInput {
  5790  	s.TypeName = &v
  5791  	return s
  5792  }
  5793  
  5794  type CreateResolverOutput struct {
  5795  	_ struct{} `type:"structure"`
  5796  
  5797  	// The Resolver object.
  5798  	Resolver *Resolver `locationName:"resolver" type:"structure"`
  5799  }
  5800  
  5801  // String returns the string representation.
  5802  //
  5803  // API parameter values that are decorated as "sensitive" in the API will not
  5804  // be included in the string output. The member name will be present, but the
  5805  // value will be replaced with "sensitive".
  5806  func (s CreateResolverOutput) String() string {
  5807  	return awsutil.Prettify(s)
  5808  }
  5809  
  5810  // GoString returns the string representation.
  5811  //
  5812  // API parameter values that are decorated as "sensitive" in the API will not
  5813  // be included in the string output. The member name will be present, but the
  5814  // value will be replaced with "sensitive".
  5815  func (s CreateResolverOutput) GoString() string {
  5816  	return s.String()
  5817  }
  5818  
  5819  // SetResolver sets the Resolver field's value.
  5820  func (s *CreateResolverOutput) SetResolver(v *Resolver) *CreateResolverOutput {
  5821  	s.Resolver = v
  5822  	return s
  5823  }
  5824  
  5825  type CreateTypeInput struct {
  5826  	_ struct{} `type:"structure"`
  5827  
  5828  	// The API ID.
  5829  	//
  5830  	// ApiId is a required field
  5831  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  5832  
  5833  	// The type definition, in GraphQL Schema Definition Language (SDL) format.
  5834  	//
  5835  	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
  5836  	//
  5837  	// Definition is a required field
  5838  	Definition *string `locationName:"definition" type:"string" required:"true"`
  5839  
  5840  	// The type format: SDL or JSON.
  5841  	//
  5842  	// Format is a required field
  5843  	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
  5844  }
  5845  
  5846  // String returns the string representation.
  5847  //
  5848  // API parameter values that are decorated as "sensitive" in the API will not
  5849  // be included in the string output. The member name will be present, but the
  5850  // value will be replaced with "sensitive".
  5851  func (s CreateTypeInput) String() string {
  5852  	return awsutil.Prettify(s)
  5853  }
  5854  
  5855  // GoString returns the string representation.
  5856  //
  5857  // API parameter values that are decorated as "sensitive" in the API will not
  5858  // be included in the string output. The member name will be present, but the
  5859  // value will be replaced with "sensitive".
  5860  func (s CreateTypeInput) GoString() string {
  5861  	return s.String()
  5862  }
  5863  
  5864  // Validate inspects the fields of the type to determine if they are valid.
  5865  func (s *CreateTypeInput) Validate() error {
  5866  	invalidParams := request.ErrInvalidParams{Context: "CreateTypeInput"}
  5867  	if s.ApiId == nil {
  5868  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  5869  	}
  5870  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  5871  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  5872  	}
  5873  	if s.Definition == nil {
  5874  		invalidParams.Add(request.NewErrParamRequired("Definition"))
  5875  	}
  5876  	if s.Format == nil {
  5877  		invalidParams.Add(request.NewErrParamRequired("Format"))
  5878  	}
  5879  
  5880  	if invalidParams.Len() > 0 {
  5881  		return invalidParams
  5882  	}
  5883  	return nil
  5884  }
  5885  
  5886  // SetApiId sets the ApiId field's value.
  5887  func (s *CreateTypeInput) SetApiId(v string) *CreateTypeInput {
  5888  	s.ApiId = &v
  5889  	return s
  5890  }
  5891  
  5892  // SetDefinition sets the Definition field's value.
  5893  func (s *CreateTypeInput) SetDefinition(v string) *CreateTypeInput {
  5894  	s.Definition = &v
  5895  	return s
  5896  }
  5897  
  5898  // SetFormat sets the Format field's value.
  5899  func (s *CreateTypeInput) SetFormat(v string) *CreateTypeInput {
  5900  	s.Format = &v
  5901  	return s
  5902  }
  5903  
  5904  type CreateTypeOutput struct {
  5905  	_ struct{} `type:"structure"`
  5906  
  5907  	// The Type object.
  5908  	Type *Type `locationName:"type" type:"structure"`
  5909  }
  5910  
  5911  // String returns the string representation.
  5912  //
  5913  // API parameter values that are decorated as "sensitive" in the API will not
  5914  // be included in the string output. The member name will be present, but the
  5915  // value will be replaced with "sensitive".
  5916  func (s CreateTypeOutput) String() string {
  5917  	return awsutil.Prettify(s)
  5918  }
  5919  
  5920  // GoString returns the string representation.
  5921  //
  5922  // API parameter values that are decorated as "sensitive" in the API will not
  5923  // be included in the string output. The member name will be present, but the
  5924  // value will be replaced with "sensitive".
  5925  func (s CreateTypeOutput) GoString() string {
  5926  	return s.String()
  5927  }
  5928  
  5929  // SetType sets the Type field's value.
  5930  func (s *CreateTypeOutput) SetType(v *Type) *CreateTypeOutput {
  5931  	s.Type = v
  5932  	return s
  5933  }
  5934  
  5935  // Describes a data source.
  5936  type DataSource struct {
  5937  	_ struct{} `type:"structure"`
  5938  
  5939  	// The data source ARN.
  5940  	DataSourceArn *string `locationName:"dataSourceArn" type:"string"`
  5941  
  5942  	// The description of the data source.
  5943  	Description *string `locationName:"description" type:"string"`
  5944  
  5945  	// Amazon DynamoDB settings.
  5946  	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
  5947  
  5948  	// Amazon OpenSearch Service settings.
  5949  	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
  5950  
  5951  	// HTTP endpoint settings.
  5952  	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
  5953  
  5954  	// Amazon Web Services Lambda settings.
  5955  	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
  5956  
  5957  	// The name of the data source.
  5958  	Name *string `locationName:"name" min:"1" type:"string"`
  5959  
  5960  	// Amazon OpenSearch Service settings.
  5961  	OpenSearchServiceConfig *OpenSearchServiceDataSourceConfig `locationName:"openSearchServiceConfig" type:"structure"`
  5962  
  5963  	// Relational database settings.
  5964  	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
  5965  
  5966  	// The Identity and Access Management service role ARN for the data source.
  5967  	// The system assumes this role when accessing the data source.
  5968  	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
  5969  
  5970  	// The type of the data source.
  5971  	//
  5972  	//    * AWS_LAMBDA: The data source is an Amazon Web Services Lambda function.
  5973  	//
  5974  	//    * AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.
  5975  	//
  5976  	//    * AMAZON_ELASTICSEARCH: The data source is an Amazon OpenSearch Service
  5977  	//    domain.
  5978  	//
  5979  	//    * AMAZON_OPENSEARCH_SERVICE: The data source is an Amazon OpenSearch Service
  5980  	//    domain.
  5981  	//
  5982  	//    * NONE: There is no data source. This type is used when you wish to invoke
  5983  	//    a GraphQL operation without connecting to a data source, such as performing
  5984  	//    data transformation with resolvers or triggering a subscription to be
  5985  	//    invoked from a mutation.
  5986  	//
  5987  	//    * HTTP: The data source is an HTTP endpoint.
  5988  	//
  5989  	//    * RELATIONAL_DATABASE: The data source is a relational database.
  5990  	Type *string `locationName:"type" type:"string" enum:"DataSourceType"`
  5991  }
  5992  
  5993  // String returns the string representation.
  5994  //
  5995  // API parameter values that are decorated as "sensitive" in the API will not
  5996  // be included in the string output. The member name will be present, but the
  5997  // value will be replaced with "sensitive".
  5998  func (s DataSource) String() string {
  5999  	return awsutil.Prettify(s)
  6000  }
  6001  
  6002  // GoString returns the string representation.
  6003  //
  6004  // API parameter values that are decorated as "sensitive" in the API will not
  6005  // be included in the string output. The member name will be present, but the
  6006  // value will be replaced with "sensitive".
  6007  func (s DataSource) GoString() string {
  6008  	return s.String()
  6009  }
  6010  
  6011  // SetDataSourceArn sets the DataSourceArn field's value.
  6012  func (s *DataSource) SetDataSourceArn(v string) *DataSource {
  6013  	s.DataSourceArn = &v
  6014  	return s
  6015  }
  6016  
  6017  // SetDescription sets the Description field's value.
  6018  func (s *DataSource) SetDescription(v string) *DataSource {
  6019  	s.Description = &v
  6020  	return s
  6021  }
  6022  
  6023  // SetDynamodbConfig sets the DynamodbConfig field's value.
  6024  func (s *DataSource) SetDynamodbConfig(v *DynamodbDataSourceConfig) *DataSource {
  6025  	s.DynamodbConfig = v
  6026  	return s
  6027  }
  6028  
  6029  // SetElasticsearchConfig sets the ElasticsearchConfig field's value.
  6030  func (s *DataSource) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *DataSource {
  6031  	s.ElasticsearchConfig = v
  6032  	return s
  6033  }
  6034  
  6035  // SetHttpConfig sets the HttpConfig field's value.
  6036  func (s *DataSource) SetHttpConfig(v *HttpDataSourceConfig) *DataSource {
  6037  	s.HttpConfig = v
  6038  	return s
  6039  }
  6040  
  6041  // SetLambdaConfig sets the LambdaConfig field's value.
  6042  func (s *DataSource) SetLambdaConfig(v *LambdaDataSourceConfig) *DataSource {
  6043  	s.LambdaConfig = v
  6044  	return s
  6045  }
  6046  
  6047  // SetName sets the Name field's value.
  6048  func (s *DataSource) SetName(v string) *DataSource {
  6049  	s.Name = &v
  6050  	return s
  6051  }
  6052  
  6053  // SetOpenSearchServiceConfig sets the OpenSearchServiceConfig field's value.
  6054  func (s *DataSource) SetOpenSearchServiceConfig(v *OpenSearchServiceDataSourceConfig) *DataSource {
  6055  	s.OpenSearchServiceConfig = v
  6056  	return s
  6057  }
  6058  
  6059  // SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
  6060  func (s *DataSource) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *DataSource {
  6061  	s.RelationalDatabaseConfig = v
  6062  	return s
  6063  }
  6064  
  6065  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  6066  func (s *DataSource) SetServiceRoleArn(v string) *DataSource {
  6067  	s.ServiceRoleArn = &v
  6068  	return s
  6069  }
  6070  
  6071  // SetType sets the Type field's value.
  6072  func (s *DataSource) SetType(v string) *DataSource {
  6073  	s.Type = &v
  6074  	return s
  6075  }
  6076  
  6077  // Represents the input of a DeleteApiCache operation.
  6078  type DeleteApiCacheInput struct {
  6079  	_ struct{} `type:"structure" nopayload:"true"`
  6080  
  6081  	// The API ID.
  6082  	//
  6083  	// ApiId is a required field
  6084  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6085  }
  6086  
  6087  // String returns the string representation.
  6088  //
  6089  // API parameter values that are decorated as "sensitive" in the API will not
  6090  // be included in the string output. The member name will be present, but the
  6091  // value will be replaced with "sensitive".
  6092  func (s DeleteApiCacheInput) String() string {
  6093  	return awsutil.Prettify(s)
  6094  }
  6095  
  6096  // GoString returns the string representation.
  6097  //
  6098  // API parameter values that are decorated as "sensitive" in the API will not
  6099  // be included in the string output. The member name will be present, but the
  6100  // value will be replaced with "sensitive".
  6101  func (s DeleteApiCacheInput) GoString() string {
  6102  	return s.String()
  6103  }
  6104  
  6105  // Validate inspects the fields of the type to determine if they are valid.
  6106  func (s *DeleteApiCacheInput) Validate() error {
  6107  	invalidParams := request.ErrInvalidParams{Context: "DeleteApiCacheInput"}
  6108  	if s.ApiId == nil {
  6109  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6110  	}
  6111  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6112  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6113  	}
  6114  
  6115  	if invalidParams.Len() > 0 {
  6116  		return invalidParams
  6117  	}
  6118  	return nil
  6119  }
  6120  
  6121  // SetApiId sets the ApiId field's value.
  6122  func (s *DeleteApiCacheInput) SetApiId(v string) *DeleteApiCacheInput {
  6123  	s.ApiId = &v
  6124  	return s
  6125  }
  6126  
  6127  // Represents the output of a DeleteApiCache operation.
  6128  type DeleteApiCacheOutput struct {
  6129  	_ struct{} `type:"structure" nopayload:"true"`
  6130  }
  6131  
  6132  // String returns the string representation.
  6133  //
  6134  // API parameter values that are decorated as "sensitive" in the API will not
  6135  // be included in the string output. The member name will be present, but the
  6136  // value will be replaced with "sensitive".
  6137  func (s DeleteApiCacheOutput) String() string {
  6138  	return awsutil.Prettify(s)
  6139  }
  6140  
  6141  // GoString returns the string representation.
  6142  //
  6143  // API parameter values that are decorated as "sensitive" in the API will not
  6144  // be included in the string output. The member name will be present, but the
  6145  // value will be replaced with "sensitive".
  6146  func (s DeleteApiCacheOutput) GoString() string {
  6147  	return s.String()
  6148  }
  6149  
  6150  type DeleteApiKeyInput struct {
  6151  	_ struct{} `type:"structure" nopayload:"true"`
  6152  
  6153  	// The API ID.
  6154  	//
  6155  	// ApiId is a required field
  6156  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6157  
  6158  	// The ID for the API key.
  6159  	//
  6160  	// Id is a required field
  6161  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
  6162  }
  6163  
  6164  // String returns the string representation.
  6165  //
  6166  // API parameter values that are decorated as "sensitive" in the API will not
  6167  // be included in the string output. The member name will be present, but the
  6168  // value will be replaced with "sensitive".
  6169  func (s DeleteApiKeyInput) String() string {
  6170  	return awsutil.Prettify(s)
  6171  }
  6172  
  6173  // GoString returns the string representation.
  6174  //
  6175  // API parameter values that are decorated as "sensitive" in the API will not
  6176  // be included in the string output. The member name will be present, but the
  6177  // value will be replaced with "sensitive".
  6178  func (s DeleteApiKeyInput) GoString() string {
  6179  	return s.String()
  6180  }
  6181  
  6182  // Validate inspects the fields of the type to determine if they are valid.
  6183  func (s *DeleteApiKeyInput) Validate() error {
  6184  	invalidParams := request.ErrInvalidParams{Context: "DeleteApiKeyInput"}
  6185  	if s.ApiId == nil {
  6186  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6187  	}
  6188  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6189  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6190  	}
  6191  	if s.Id == nil {
  6192  		invalidParams.Add(request.NewErrParamRequired("Id"))
  6193  	}
  6194  	if s.Id != nil && len(*s.Id) < 1 {
  6195  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  6196  	}
  6197  
  6198  	if invalidParams.Len() > 0 {
  6199  		return invalidParams
  6200  	}
  6201  	return nil
  6202  }
  6203  
  6204  // SetApiId sets the ApiId field's value.
  6205  func (s *DeleteApiKeyInput) SetApiId(v string) *DeleteApiKeyInput {
  6206  	s.ApiId = &v
  6207  	return s
  6208  }
  6209  
  6210  // SetId sets the Id field's value.
  6211  func (s *DeleteApiKeyInput) SetId(v string) *DeleteApiKeyInput {
  6212  	s.Id = &v
  6213  	return s
  6214  }
  6215  
  6216  type DeleteApiKeyOutput struct {
  6217  	_ struct{} `type:"structure" nopayload:"true"`
  6218  }
  6219  
  6220  // String returns the string representation.
  6221  //
  6222  // API parameter values that are decorated as "sensitive" in the API will not
  6223  // be included in the string output. The member name will be present, but the
  6224  // value will be replaced with "sensitive".
  6225  func (s DeleteApiKeyOutput) String() string {
  6226  	return awsutil.Prettify(s)
  6227  }
  6228  
  6229  // GoString returns the string representation.
  6230  //
  6231  // API parameter values that are decorated as "sensitive" in the API will not
  6232  // be included in the string output. The member name will be present, but the
  6233  // value will be replaced with "sensitive".
  6234  func (s DeleteApiKeyOutput) GoString() string {
  6235  	return s.String()
  6236  }
  6237  
  6238  type DeleteDataSourceInput struct {
  6239  	_ struct{} `type:"structure" nopayload:"true"`
  6240  
  6241  	// The API ID.
  6242  	//
  6243  	// ApiId is a required field
  6244  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6245  
  6246  	// The name of the data source.
  6247  	//
  6248  	// Name is a required field
  6249  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  6250  }
  6251  
  6252  // String returns the string representation.
  6253  //
  6254  // API parameter values that are decorated as "sensitive" in the API will not
  6255  // be included in the string output. The member name will be present, but the
  6256  // value will be replaced with "sensitive".
  6257  func (s DeleteDataSourceInput) String() string {
  6258  	return awsutil.Prettify(s)
  6259  }
  6260  
  6261  // GoString returns the string representation.
  6262  //
  6263  // API parameter values that are decorated as "sensitive" in the API will not
  6264  // be included in the string output. The member name will be present, but the
  6265  // value will be replaced with "sensitive".
  6266  func (s DeleteDataSourceInput) GoString() string {
  6267  	return s.String()
  6268  }
  6269  
  6270  // Validate inspects the fields of the type to determine if they are valid.
  6271  func (s *DeleteDataSourceInput) Validate() error {
  6272  	invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"}
  6273  	if s.ApiId == nil {
  6274  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6275  	}
  6276  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6277  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6278  	}
  6279  	if s.Name == nil {
  6280  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6281  	}
  6282  	if s.Name != nil && len(*s.Name) < 1 {
  6283  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6284  	}
  6285  
  6286  	if invalidParams.Len() > 0 {
  6287  		return invalidParams
  6288  	}
  6289  	return nil
  6290  }
  6291  
  6292  // SetApiId sets the ApiId field's value.
  6293  func (s *DeleteDataSourceInput) SetApiId(v string) *DeleteDataSourceInput {
  6294  	s.ApiId = &v
  6295  	return s
  6296  }
  6297  
  6298  // SetName sets the Name field's value.
  6299  func (s *DeleteDataSourceInput) SetName(v string) *DeleteDataSourceInput {
  6300  	s.Name = &v
  6301  	return s
  6302  }
  6303  
  6304  type DeleteDataSourceOutput struct {
  6305  	_ struct{} `type:"structure" nopayload:"true"`
  6306  }
  6307  
  6308  // String returns the string representation.
  6309  //
  6310  // API parameter values that are decorated as "sensitive" in the API will not
  6311  // be included in the string output. The member name will be present, but the
  6312  // value will be replaced with "sensitive".
  6313  func (s DeleteDataSourceOutput) String() string {
  6314  	return awsutil.Prettify(s)
  6315  }
  6316  
  6317  // GoString returns the string representation.
  6318  //
  6319  // API parameter values that are decorated as "sensitive" in the API will not
  6320  // be included in the string output. The member name will be present, but the
  6321  // value will be replaced with "sensitive".
  6322  func (s DeleteDataSourceOutput) GoString() string {
  6323  	return s.String()
  6324  }
  6325  
  6326  type DeleteFunctionInput struct {
  6327  	_ struct{} `type:"structure" nopayload:"true"`
  6328  
  6329  	// The GraphQL API ID.
  6330  	//
  6331  	// ApiId is a required field
  6332  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6333  
  6334  	// The Function ID.
  6335  	//
  6336  	// FunctionId is a required field
  6337  	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
  6338  }
  6339  
  6340  // String returns the string representation.
  6341  //
  6342  // API parameter values that are decorated as "sensitive" in the API will not
  6343  // be included in the string output. The member name will be present, but the
  6344  // value will be replaced with "sensitive".
  6345  func (s DeleteFunctionInput) String() string {
  6346  	return awsutil.Prettify(s)
  6347  }
  6348  
  6349  // GoString returns the string representation.
  6350  //
  6351  // API parameter values that are decorated as "sensitive" in the API will not
  6352  // be included in the string output. The member name will be present, but the
  6353  // value will be replaced with "sensitive".
  6354  func (s DeleteFunctionInput) GoString() string {
  6355  	return s.String()
  6356  }
  6357  
  6358  // Validate inspects the fields of the type to determine if they are valid.
  6359  func (s *DeleteFunctionInput) Validate() error {
  6360  	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"}
  6361  	if s.ApiId == nil {
  6362  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6363  	}
  6364  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6365  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6366  	}
  6367  	if s.FunctionId == nil {
  6368  		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
  6369  	}
  6370  	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
  6371  		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
  6372  	}
  6373  
  6374  	if invalidParams.Len() > 0 {
  6375  		return invalidParams
  6376  	}
  6377  	return nil
  6378  }
  6379  
  6380  // SetApiId sets the ApiId field's value.
  6381  func (s *DeleteFunctionInput) SetApiId(v string) *DeleteFunctionInput {
  6382  	s.ApiId = &v
  6383  	return s
  6384  }
  6385  
  6386  // SetFunctionId sets the FunctionId field's value.
  6387  func (s *DeleteFunctionInput) SetFunctionId(v string) *DeleteFunctionInput {
  6388  	s.FunctionId = &v
  6389  	return s
  6390  }
  6391  
  6392  type DeleteFunctionOutput struct {
  6393  	_ struct{} `type:"structure" nopayload:"true"`
  6394  }
  6395  
  6396  // String returns the string representation.
  6397  //
  6398  // API parameter values that are decorated as "sensitive" in the API will not
  6399  // be included in the string output. The member name will be present, but the
  6400  // value will be replaced with "sensitive".
  6401  func (s DeleteFunctionOutput) String() string {
  6402  	return awsutil.Prettify(s)
  6403  }
  6404  
  6405  // GoString returns the string representation.
  6406  //
  6407  // API parameter values that are decorated as "sensitive" in the API will not
  6408  // be included in the string output. The member name will be present, but the
  6409  // value will be replaced with "sensitive".
  6410  func (s DeleteFunctionOutput) GoString() string {
  6411  	return s.String()
  6412  }
  6413  
  6414  type DeleteGraphqlApiInput struct {
  6415  	_ struct{} `type:"structure" nopayload:"true"`
  6416  
  6417  	// The API ID.
  6418  	//
  6419  	// ApiId is a required field
  6420  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6421  }
  6422  
  6423  // String returns the string representation.
  6424  //
  6425  // API parameter values that are decorated as "sensitive" in the API will not
  6426  // be included in the string output. The member name will be present, but the
  6427  // value will be replaced with "sensitive".
  6428  func (s DeleteGraphqlApiInput) String() string {
  6429  	return awsutil.Prettify(s)
  6430  }
  6431  
  6432  // GoString returns the string representation.
  6433  //
  6434  // API parameter values that are decorated as "sensitive" in the API will not
  6435  // be included in the string output. The member name will be present, but the
  6436  // value will be replaced with "sensitive".
  6437  func (s DeleteGraphqlApiInput) GoString() string {
  6438  	return s.String()
  6439  }
  6440  
  6441  // Validate inspects the fields of the type to determine if they are valid.
  6442  func (s *DeleteGraphqlApiInput) Validate() error {
  6443  	invalidParams := request.ErrInvalidParams{Context: "DeleteGraphqlApiInput"}
  6444  	if s.ApiId == nil {
  6445  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6446  	}
  6447  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6448  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6449  	}
  6450  
  6451  	if invalidParams.Len() > 0 {
  6452  		return invalidParams
  6453  	}
  6454  	return nil
  6455  }
  6456  
  6457  // SetApiId sets the ApiId field's value.
  6458  func (s *DeleteGraphqlApiInput) SetApiId(v string) *DeleteGraphqlApiInput {
  6459  	s.ApiId = &v
  6460  	return s
  6461  }
  6462  
  6463  type DeleteGraphqlApiOutput struct {
  6464  	_ struct{} `type:"structure" nopayload:"true"`
  6465  }
  6466  
  6467  // String returns the string representation.
  6468  //
  6469  // API parameter values that are decorated as "sensitive" in the API will not
  6470  // be included in the string output. The member name will be present, but the
  6471  // value will be replaced with "sensitive".
  6472  func (s DeleteGraphqlApiOutput) String() string {
  6473  	return awsutil.Prettify(s)
  6474  }
  6475  
  6476  // GoString returns the string representation.
  6477  //
  6478  // API parameter values that are decorated as "sensitive" in the API will not
  6479  // be included in the string output. The member name will be present, but the
  6480  // value will be replaced with "sensitive".
  6481  func (s DeleteGraphqlApiOutput) GoString() string {
  6482  	return s.String()
  6483  }
  6484  
  6485  type DeleteResolverInput struct {
  6486  	_ struct{} `type:"structure" nopayload:"true"`
  6487  
  6488  	// The API ID.
  6489  	//
  6490  	// ApiId is a required field
  6491  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6492  
  6493  	// The resolver field name.
  6494  	//
  6495  	// FieldName is a required field
  6496  	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
  6497  
  6498  	// The name of the resolver type.
  6499  	//
  6500  	// TypeName is a required field
  6501  	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
  6502  }
  6503  
  6504  // String returns the string representation.
  6505  //
  6506  // API parameter values that are decorated as "sensitive" in the API will not
  6507  // be included in the string output. The member name will be present, but the
  6508  // value will be replaced with "sensitive".
  6509  func (s DeleteResolverInput) String() string {
  6510  	return awsutil.Prettify(s)
  6511  }
  6512  
  6513  // GoString returns the string representation.
  6514  //
  6515  // API parameter values that are decorated as "sensitive" in the API will not
  6516  // be included in the string output. The member name will be present, but the
  6517  // value will be replaced with "sensitive".
  6518  func (s DeleteResolverInput) GoString() string {
  6519  	return s.String()
  6520  }
  6521  
  6522  // Validate inspects the fields of the type to determine if they are valid.
  6523  func (s *DeleteResolverInput) Validate() error {
  6524  	invalidParams := request.ErrInvalidParams{Context: "DeleteResolverInput"}
  6525  	if s.ApiId == nil {
  6526  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6527  	}
  6528  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6529  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6530  	}
  6531  	if s.FieldName == nil {
  6532  		invalidParams.Add(request.NewErrParamRequired("FieldName"))
  6533  	}
  6534  	if s.FieldName != nil && len(*s.FieldName) < 1 {
  6535  		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
  6536  	}
  6537  	if s.TypeName == nil {
  6538  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  6539  	}
  6540  	if s.TypeName != nil && len(*s.TypeName) < 1 {
  6541  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
  6542  	}
  6543  
  6544  	if invalidParams.Len() > 0 {
  6545  		return invalidParams
  6546  	}
  6547  	return nil
  6548  }
  6549  
  6550  // SetApiId sets the ApiId field's value.
  6551  func (s *DeleteResolverInput) SetApiId(v string) *DeleteResolverInput {
  6552  	s.ApiId = &v
  6553  	return s
  6554  }
  6555  
  6556  // SetFieldName sets the FieldName field's value.
  6557  func (s *DeleteResolverInput) SetFieldName(v string) *DeleteResolverInput {
  6558  	s.FieldName = &v
  6559  	return s
  6560  }
  6561  
  6562  // SetTypeName sets the TypeName field's value.
  6563  func (s *DeleteResolverInput) SetTypeName(v string) *DeleteResolverInput {
  6564  	s.TypeName = &v
  6565  	return s
  6566  }
  6567  
  6568  type DeleteResolverOutput struct {
  6569  	_ struct{} `type:"structure" nopayload:"true"`
  6570  }
  6571  
  6572  // String returns the string representation.
  6573  //
  6574  // API parameter values that are decorated as "sensitive" in the API will not
  6575  // be included in the string output. The member name will be present, but the
  6576  // value will be replaced with "sensitive".
  6577  func (s DeleteResolverOutput) String() string {
  6578  	return awsutil.Prettify(s)
  6579  }
  6580  
  6581  // GoString returns the string representation.
  6582  //
  6583  // API parameter values that are decorated as "sensitive" in the API will not
  6584  // be included in the string output. The member name will be present, but the
  6585  // value will be replaced with "sensitive".
  6586  func (s DeleteResolverOutput) GoString() string {
  6587  	return s.String()
  6588  }
  6589  
  6590  type DeleteTypeInput struct {
  6591  	_ struct{} `type:"structure" nopayload:"true"`
  6592  
  6593  	// The API ID.
  6594  	//
  6595  	// ApiId is a required field
  6596  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6597  
  6598  	// The type name.
  6599  	//
  6600  	// TypeName is a required field
  6601  	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
  6602  }
  6603  
  6604  // String returns the string representation.
  6605  //
  6606  // API parameter values that are decorated as "sensitive" in the API will not
  6607  // be included in the string output. The member name will be present, but the
  6608  // value will be replaced with "sensitive".
  6609  func (s DeleteTypeInput) String() string {
  6610  	return awsutil.Prettify(s)
  6611  }
  6612  
  6613  // GoString returns the string representation.
  6614  //
  6615  // API parameter values that are decorated as "sensitive" in the API will not
  6616  // be included in the string output. The member name will be present, but the
  6617  // value will be replaced with "sensitive".
  6618  func (s DeleteTypeInput) GoString() string {
  6619  	return s.String()
  6620  }
  6621  
  6622  // Validate inspects the fields of the type to determine if they are valid.
  6623  func (s *DeleteTypeInput) Validate() error {
  6624  	invalidParams := request.ErrInvalidParams{Context: "DeleteTypeInput"}
  6625  	if s.ApiId == nil {
  6626  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6627  	}
  6628  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6629  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6630  	}
  6631  	if s.TypeName == nil {
  6632  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  6633  	}
  6634  	if s.TypeName != nil && len(*s.TypeName) < 1 {
  6635  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
  6636  	}
  6637  
  6638  	if invalidParams.Len() > 0 {
  6639  		return invalidParams
  6640  	}
  6641  	return nil
  6642  }
  6643  
  6644  // SetApiId sets the ApiId field's value.
  6645  func (s *DeleteTypeInput) SetApiId(v string) *DeleteTypeInput {
  6646  	s.ApiId = &v
  6647  	return s
  6648  }
  6649  
  6650  // SetTypeName sets the TypeName field's value.
  6651  func (s *DeleteTypeInput) SetTypeName(v string) *DeleteTypeInput {
  6652  	s.TypeName = &v
  6653  	return s
  6654  }
  6655  
  6656  type DeleteTypeOutput struct {
  6657  	_ struct{} `type:"structure" nopayload:"true"`
  6658  }
  6659  
  6660  // String returns the string representation.
  6661  //
  6662  // API parameter values that are decorated as "sensitive" in the API will not
  6663  // be included in the string output. The member name will be present, but the
  6664  // value will be replaced with "sensitive".
  6665  func (s DeleteTypeOutput) String() string {
  6666  	return awsutil.Prettify(s)
  6667  }
  6668  
  6669  // GoString returns the string representation.
  6670  //
  6671  // API parameter values that are decorated as "sensitive" in the API will not
  6672  // be included in the string output. The member name will be present, but the
  6673  // value will be replaced with "sensitive".
  6674  func (s DeleteTypeOutput) GoString() string {
  6675  	return s.String()
  6676  }
  6677  
  6678  // Describes a Delta Sync configuration.
  6679  type DeltaSyncConfig struct {
  6680  	_ struct{} `type:"structure"`
  6681  
  6682  	// The number of minutes an Item is stored in the datasource.
  6683  	BaseTableTTL *int64 `locationName:"baseTableTTL" type:"long"`
  6684  
  6685  	// The Delta Sync table name.
  6686  	DeltaSyncTableName *string `locationName:"deltaSyncTableName" type:"string"`
  6687  
  6688  	// The number of minutes a Delta Sync log entry is stored in the Delta Sync
  6689  	// table.
  6690  	DeltaSyncTableTTL *int64 `locationName:"deltaSyncTableTTL" type:"long"`
  6691  }
  6692  
  6693  // String returns the string representation.
  6694  //
  6695  // API parameter values that are decorated as "sensitive" in the API will not
  6696  // be included in the string output. The member name will be present, but the
  6697  // value will be replaced with "sensitive".
  6698  func (s DeltaSyncConfig) String() string {
  6699  	return awsutil.Prettify(s)
  6700  }
  6701  
  6702  // GoString returns the string representation.
  6703  //
  6704  // API parameter values that are decorated as "sensitive" in the API will not
  6705  // be included in the string output. The member name will be present, but the
  6706  // value will be replaced with "sensitive".
  6707  func (s DeltaSyncConfig) GoString() string {
  6708  	return s.String()
  6709  }
  6710  
  6711  // SetBaseTableTTL sets the BaseTableTTL field's value.
  6712  func (s *DeltaSyncConfig) SetBaseTableTTL(v int64) *DeltaSyncConfig {
  6713  	s.BaseTableTTL = &v
  6714  	return s
  6715  }
  6716  
  6717  // SetDeltaSyncTableName sets the DeltaSyncTableName field's value.
  6718  func (s *DeltaSyncConfig) SetDeltaSyncTableName(v string) *DeltaSyncConfig {
  6719  	s.DeltaSyncTableName = &v
  6720  	return s
  6721  }
  6722  
  6723  // SetDeltaSyncTableTTL sets the DeltaSyncTableTTL field's value.
  6724  func (s *DeltaSyncConfig) SetDeltaSyncTableTTL(v int64) *DeltaSyncConfig {
  6725  	s.DeltaSyncTableTTL = &v
  6726  	return s
  6727  }
  6728  
  6729  // Describes an Amazon DynamoDB data source configuration.
  6730  type DynamodbDataSourceConfig struct {
  6731  	_ struct{} `type:"structure"`
  6732  
  6733  	// The Amazon Web Services Region.
  6734  	//
  6735  	// AwsRegion is a required field
  6736  	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
  6737  
  6738  	// The DeltaSyncConfig for a versioned datasource.
  6739  	DeltaSyncConfig *DeltaSyncConfig `locationName:"deltaSyncConfig" type:"structure"`
  6740  
  6741  	// The table name.
  6742  	//
  6743  	// TableName is a required field
  6744  	TableName *string `locationName:"tableName" type:"string" required:"true"`
  6745  
  6746  	// Set to TRUE to use Amazon Cognito credentials with this data source.
  6747  	UseCallerCredentials *bool `locationName:"useCallerCredentials" type:"boolean"`
  6748  
  6749  	// Set to TRUE to use Conflict Detection and Resolution with this data source.
  6750  	Versioned *bool `locationName:"versioned" type:"boolean"`
  6751  }
  6752  
  6753  // String returns the string representation.
  6754  //
  6755  // API parameter values that are decorated as "sensitive" in the API will not
  6756  // be included in the string output. The member name will be present, but the
  6757  // value will be replaced with "sensitive".
  6758  func (s DynamodbDataSourceConfig) String() string {
  6759  	return awsutil.Prettify(s)
  6760  }
  6761  
  6762  // GoString returns the string representation.
  6763  //
  6764  // API parameter values that are decorated as "sensitive" in the API will not
  6765  // be included in the string output. The member name will be present, but the
  6766  // value will be replaced with "sensitive".
  6767  func (s DynamodbDataSourceConfig) GoString() string {
  6768  	return s.String()
  6769  }
  6770  
  6771  // Validate inspects the fields of the type to determine if they are valid.
  6772  func (s *DynamodbDataSourceConfig) Validate() error {
  6773  	invalidParams := request.ErrInvalidParams{Context: "DynamodbDataSourceConfig"}
  6774  	if s.AwsRegion == nil {
  6775  		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
  6776  	}
  6777  	if s.TableName == nil {
  6778  		invalidParams.Add(request.NewErrParamRequired("TableName"))
  6779  	}
  6780  
  6781  	if invalidParams.Len() > 0 {
  6782  		return invalidParams
  6783  	}
  6784  	return nil
  6785  }
  6786  
  6787  // SetAwsRegion sets the AwsRegion field's value.
  6788  func (s *DynamodbDataSourceConfig) SetAwsRegion(v string) *DynamodbDataSourceConfig {
  6789  	s.AwsRegion = &v
  6790  	return s
  6791  }
  6792  
  6793  // SetDeltaSyncConfig sets the DeltaSyncConfig field's value.
  6794  func (s *DynamodbDataSourceConfig) SetDeltaSyncConfig(v *DeltaSyncConfig) *DynamodbDataSourceConfig {
  6795  	s.DeltaSyncConfig = v
  6796  	return s
  6797  }
  6798  
  6799  // SetTableName sets the TableName field's value.
  6800  func (s *DynamodbDataSourceConfig) SetTableName(v string) *DynamodbDataSourceConfig {
  6801  	s.TableName = &v
  6802  	return s
  6803  }
  6804  
  6805  // SetUseCallerCredentials sets the UseCallerCredentials field's value.
  6806  func (s *DynamodbDataSourceConfig) SetUseCallerCredentials(v bool) *DynamodbDataSourceConfig {
  6807  	s.UseCallerCredentials = &v
  6808  	return s
  6809  }
  6810  
  6811  // SetVersioned sets the Versioned field's value.
  6812  func (s *DynamodbDataSourceConfig) SetVersioned(v bool) *DynamodbDataSourceConfig {
  6813  	s.Versioned = &v
  6814  	return s
  6815  }
  6816  
  6817  // Describes an OpenSearch data source configuration.
  6818  //
  6819  // As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service.
  6820  // This configuration is deprecated. For new data sources, use OpenSearchServiceDataSourceConfig
  6821  // to specify an OpenSearch data source.
  6822  type ElasticsearchDataSourceConfig struct {
  6823  	_ struct{} `type:"structure"`
  6824  
  6825  	// The Amazon Web Services Region.
  6826  	//
  6827  	// AwsRegion is a required field
  6828  	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
  6829  
  6830  	// The endpoint.
  6831  	//
  6832  	// Endpoint is a required field
  6833  	Endpoint *string `locationName:"endpoint" type:"string" required:"true"`
  6834  }
  6835  
  6836  // String returns the string representation.
  6837  //
  6838  // API parameter values that are decorated as "sensitive" in the API will not
  6839  // be included in the string output. The member name will be present, but the
  6840  // value will be replaced with "sensitive".
  6841  func (s ElasticsearchDataSourceConfig) String() string {
  6842  	return awsutil.Prettify(s)
  6843  }
  6844  
  6845  // GoString returns the string representation.
  6846  //
  6847  // API parameter values that are decorated as "sensitive" in the API will not
  6848  // be included in the string output. The member name will be present, but the
  6849  // value will be replaced with "sensitive".
  6850  func (s ElasticsearchDataSourceConfig) GoString() string {
  6851  	return s.String()
  6852  }
  6853  
  6854  // Validate inspects the fields of the type to determine if they are valid.
  6855  func (s *ElasticsearchDataSourceConfig) Validate() error {
  6856  	invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDataSourceConfig"}
  6857  	if s.AwsRegion == nil {
  6858  		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
  6859  	}
  6860  	if s.Endpoint == nil {
  6861  		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
  6862  	}
  6863  
  6864  	if invalidParams.Len() > 0 {
  6865  		return invalidParams
  6866  	}
  6867  	return nil
  6868  }
  6869  
  6870  // SetAwsRegion sets the AwsRegion field's value.
  6871  func (s *ElasticsearchDataSourceConfig) SetAwsRegion(v string) *ElasticsearchDataSourceConfig {
  6872  	s.AwsRegion = &v
  6873  	return s
  6874  }
  6875  
  6876  // SetEndpoint sets the Endpoint field's value.
  6877  func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchDataSourceConfig {
  6878  	s.Endpoint = &v
  6879  	return s
  6880  }
  6881  
  6882  // Represents the input of a FlushApiCache operation.
  6883  type FlushApiCacheInput struct {
  6884  	_ struct{} `type:"structure" nopayload:"true"`
  6885  
  6886  	// The API ID.
  6887  	//
  6888  	// ApiId is a required field
  6889  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  6890  }
  6891  
  6892  // String returns the string representation.
  6893  //
  6894  // API parameter values that are decorated as "sensitive" in the API will not
  6895  // be included in the string output. The member name will be present, but the
  6896  // value will be replaced with "sensitive".
  6897  func (s FlushApiCacheInput) String() string {
  6898  	return awsutil.Prettify(s)
  6899  }
  6900  
  6901  // GoString returns the string representation.
  6902  //
  6903  // API parameter values that are decorated as "sensitive" in the API will not
  6904  // be included in the string output. The member name will be present, but the
  6905  // value will be replaced with "sensitive".
  6906  func (s FlushApiCacheInput) GoString() string {
  6907  	return s.String()
  6908  }
  6909  
  6910  // Validate inspects the fields of the type to determine if they are valid.
  6911  func (s *FlushApiCacheInput) Validate() error {
  6912  	invalidParams := request.ErrInvalidParams{Context: "FlushApiCacheInput"}
  6913  	if s.ApiId == nil {
  6914  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  6915  	}
  6916  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  6917  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  6918  	}
  6919  
  6920  	if invalidParams.Len() > 0 {
  6921  		return invalidParams
  6922  	}
  6923  	return nil
  6924  }
  6925  
  6926  // SetApiId sets the ApiId field's value.
  6927  func (s *FlushApiCacheInput) SetApiId(v string) *FlushApiCacheInput {
  6928  	s.ApiId = &v
  6929  	return s
  6930  }
  6931  
  6932  // Represents the output of a FlushApiCache operation.
  6933  type FlushApiCacheOutput struct {
  6934  	_ struct{} `type:"structure" nopayload:"true"`
  6935  }
  6936  
  6937  // String returns the string representation.
  6938  //
  6939  // API parameter values that are decorated as "sensitive" in the API will not
  6940  // be included in the string output. The member name will be present, but the
  6941  // value will be replaced with "sensitive".
  6942  func (s FlushApiCacheOutput) String() string {
  6943  	return awsutil.Prettify(s)
  6944  }
  6945  
  6946  // GoString returns the string representation.
  6947  //
  6948  // API parameter values that are decorated as "sensitive" in the API will not
  6949  // be included in the string output. The member name will be present, but the
  6950  // value will be replaced with "sensitive".
  6951  func (s FlushApiCacheOutput) GoString() string {
  6952  	return s.String()
  6953  }
  6954  
  6955  // A function is a reusable entity. Multiple functions can be used to compose
  6956  // the resolver logic.
  6957  type FunctionConfiguration struct {
  6958  	_ struct{} `type:"structure"`
  6959  
  6960  	// The name of the DataSource.
  6961  	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
  6962  
  6963  	// The Function description.
  6964  	Description *string `locationName:"description" type:"string"`
  6965  
  6966  	// The ARN of the Function object.
  6967  	FunctionArn *string `locationName:"functionArn" type:"string"`
  6968  
  6969  	// A unique ID representing the Function object.
  6970  	FunctionId *string `locationName:"functionId" type:"string"`
  6971  
  6972  	// The version of the request mapping template. Currently only the 2018-05-29
  6973  	// version of the template is supported.
  6974  	FunctionVersion *string `locationName:"functionVersion" type:"string"`
  6975  
  6976  	// The name of the Function object.
  6977  	Name *string `locationName:"name" min:"1" type:"string"`
  6978  
  6979  	// The Function request mapping template. Functions support only the 2018-05-29
  6980  	// version of the request mapping template.
  6981  	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
  6982  
  6983  	// The Function response mapping template.
  6984  	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
  6985  
  6986  	// Describes a Sync configuration for a resolver.
  6987  	//
  6988  	// Contains information on which Conflict Detection as well as Resolution strategy
  6989  	// should be performed when the resolver is invoked.
  6990  	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
  6991  }
  6992  
  6993  // String returns the string representation.
  6994  //
  6995  // API parameter values that are decorated as "sensitive" in the API will not
  6996  // be included in the string output. The member name will be present, but the
  6997  // value will be replaced with "sensitive".
  6998  func (s FunctionConfiguration) String() string {
  6999  	return awsutil.Prettify(s)
  7000  }
  7001  
  7002  // GoString returns the string representation.
  7003  //
  7004  // API parameter values that are decorated as "sensitive" in the API will not
  7005  // be included in the string output. The member name will be present, but the
  7006  // value will be replaced with "sensitive".
  7007  func (s FunctionConfiguration) GoString() string {
  7008  	return s.String()
  7009  }
  7010  
  7011  // SetDataSourceName sets the DataSourceName field's value.
  7012  func (s *FunctionConfiguration) SetDataSourceName(v string) *FunctionConfiguration {
  7013  	s.DataSourceName = &v
  7014  	return s
  7015  }
  7016  
  7017  // SetDescription sets the Description field's value.
  7018  func (s *FunctionConfiguration) SetDescription(v string) *FunctionConfiguration {
  7019  	s.Description = &v
  7020  	return s
  7021  }
  7022  
  7023  // SetFunctionArn sets the FunctionArn field's value.
  7024  func (s *FunctionConfiguration) SetFunctionArn(v string) *FunctionConfiguration {
  7025  	s.FunctionArn = &v
  7026  	return s
  7027  }
  7028  
  7029  // SetFunctionId sets the FunctionId field's value.
  7030  func (s *FunctionConfiguration) SetFunctionId(v string) *FunctionConfiguration {
  7031  	s.FunctionId = &v
  7032  	return s
  7033  }
  7034  
  7035  // SetFunctionVersion sets the FunctionVersion field's value.
  7036  func (s *FunctionConfiguration) SetFunctionVersion(v string) *FunctionConfiguration {
  7037  	s.FunctionVersion = &v
  7038  	return s
  7039  }
  7040  
  7041  // SetName sets the Name field's value.
  7042  func (s *FunctionConfiguration) SetName(v string) *FunctionConfiguration {
  7043  	s.Name = &v
  7044  	return s
  7045  }
  7046  
  7047  // SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
  7048  func (s *FunctionConfiguration) SetRequestMappingTemplate(v string) *FunctionConfiguration {
  7049  	s.RequestMappingTemplate = &v
  7050  	return s
  7051  }
  7052  
  7053  // SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
  7054  func (s *FunctionConfiguration) SetResponseMappingTemplate(v string) *FunctionConfiguration {
  7055  	s.ResponseMappingTemplate = &v
  7056  	return s
  7057  }
  7058  
  7059  // SetSyncConfig sets the SyncConfig field's value.
  7060  func (s *FunctionConfiguration) SetSyncConfig(v *SyncConfig) *FunctionConfiguration {
  7061  	s.SyncConfig = v
  7062  	return s
  7063  }
  7064  
  7065  // Represents the input of a GetApiCache operation.
  7066  type GetApiCacheInput struct {
  7067  	_ struct{} `type:"structure" nopayload:"true"`
  7068  
  7069  	// The API ID.
  7070  	//
  7071  	// ApiId is a required field
  7072  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7073  }
  7074  
  7075  // String returns the string representation.
  7076  //
  7077  // API parameter values that are decorated as "sensitive" in the API will not
  7078  // be included in the string output. The member name will be present, but the
  7079  // value will be replaced with "sensitive".
  7080  func (s GetApiCacheInput) String() string {
  7081  	return awsutil.Prettify(s)
  7082  }
  7083  
  7084  // GoString returns the string representation.
  7085  //
  7086  // API parameter values that are decorated as "sensitive" in the API will not
  7087  // be included in the string output. The member name will be present, but the
  7088  // value will be replaced with "sensitive".
  7089  func (s GetApiCacheInput) GoString() string {
  7090  	return s.String()
  7091  }
  7092  
  7093  // Validate inspects the fields of the type to determine if they are valid.
  7094  func (s *GetApiCacheInput) Validate() error {
  7095  	invalidParams := request.ErrInvalidParams{Context: "GetApiCacheInput"}
  7096  	if s.ApiId == nil {
  7097  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7098  	}
  7099  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7100  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7101  	}
  7102  
  7103  	if invalidParams.Len() > 0 {
  7104  		return invalidParams
  7105  	}
  7106  	return nil
  7107  }
  7108  
  7109  // SetApiId sets the ApiId field's value.
  7110  func (s *GetApiCacheInput) SetApiId(v string) *GetApiCacheInput {
  7111  	s.ApiId = &v
  7112  	return s
  7113  }
  7114  
  7115  // Represents the output of a GetApiCache operation.
  7116  type GetApiCacheOutput struct {
  7117  	_ struct{} `type:"structure"`
  7118  
  7119  	// The ApiCache object.
  7120  	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
  7121  }
  7122  
  7123  // String returns the string representation.
  7124  //
  7125  // API parameter values that are decorated as "sensitive" in the API will not
  7126  // be included in the string output. The member name will be present, but the
  7127  // value will be replaced with "sensitive".
  7128  func (s GetApiCacheOutput) String() string {
  7129  	return awsutil.Prettify(s)
  7130  }
  7131  
  7132  // GoString returns the string representation.
  7133  //
  7134  // API parameter values that are decorated as "sensitive" in the API will not
  7135  // be included in the string output. The member name will be present, but the
  7136  // value will be replaced with "sensitive".
  7137  func (s GetApiCacheOutput) GoString() string {
  7138  	return s.String()
  7139  }
  7140  
  7141  // SetApiCache sets the ApiCache field's value.
  7142  func (s *GetApiCacheOutput) SetApiCache(v *ApiCache) *GetApiCacheOutput {
  7143  	s.ApiCache = v
  7144  	return s
  7145  }
  7146  
  7147  type GetDataSourceInput struct {
  7148  	_ struct{} `type:"structure" nopayload:"true"`
  7149  
  7150  	// The API ID.
  7151  	//
  7152  	// ApiId is a required field
  7153  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7154  
  7155  	// The name of the data source.
  7156  	//
  7157  	// Name is a required field
  7158  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
  7159  }
  7160  
  7161  // String returns the string representation.
  7162  //
  7163  // API parameter values that are decorated as "sensitive" in the API will not
  7164  // be included in the string output. The member name will be present, but the
  7165  // value will be replaced with "sensitive".
  7166  func (s GetDataSourceInput) String() string {
  7167  	return awsutil.Prettify(s)
  7168  }
  7169  
  7170  // GoString returns the string representation.
  7171  //
  7172  // API parameter values that are decorated as "sensitive" in the API will not
  7173  // be included in the string output. The member name will be present, but the
  7174  // value will be replaced with "sensitive".
  7175  func (s GetDataSourceInput) GoString() string {
  7176  	return s.String()
  7177  }
  7178  
  7179  // Validate inspects the fields of the type to determine if they are valid.
  7180  func (s *GetDataSourceInput) Validate() error {
  7181  	invalidParams := request.ErrInvalidParams{Context: "GetDataSourceInput"}
  7182  	if s.ApiId == nil {
  7183  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7184  	}
  7185  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7186  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7187  	}
  7188  	if s.Name == nil {
  7189  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7190  	}
  7191  	if s.Name != nil && len(*s.Name) < 1 {
  7192  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7193  	}
  7194  
  7195  	if invalidParams.Len() > 0 {
  7196  		return invalidParams
  7197  	}
  7198  	return nil
  7199  }
  7200  
  7201  // SetApiId sets the ApiId field's value.
  7202  func (s *GetDataSourceInput) SetApiId(v string) *GetDataSourceInput {
  7203  	s.ApiId = &v
  7204  	return s
  7205  }
  7206  
  7207  // SetName sets the Name field's value.
  7208  func (s *GetDataSourceInput) SetName(v string) *GetDataSourceInput {
  7209  	s.Name = &v
  7210  	return s
  7211  }
  7212  
  7213  type GetDataSourceOutput struct {
  7214  	_ struct{} `type:"structure"`
  7215  
  7216  	// The DataSource object.
  7217  	DataSource *DataSource `locationName:"dataSource" type:"structure"`
  7218  }
  7219  
  7220  // String returns the string representation.
  7221  //
  7222  // API parameter values that are decorated as "sensitive" in the API will not
  7223  // be included in the string output. The member name will be present, but the
  7224  // value will be replaced with "sensitive".
  7225  func (s GetDataSourceOutput) String() string {
  7226  	return awsutil.Prettify(s)
  7227  }
  7228  
  7229  // GoString returns the string representation.
  7230  //
  7231  // API parameter values that are decorated as "sensitive" in the API will not
  7232  // be included in the string output. The member name will be present, but the
  7233  // value will be replaced with "sensitive".
  7234  func (s GetDataSourceOutput) GoString() string {
  7235  	return s.String()
  7236  }
  7237  
  7238  // SetDataSource sets the DataSource field's value.
  7239  func (s *GetDataSourceOutput) SetDataSource(v *DataSource) *GetDataSourceOutput {
  7240  	s.DataSource = v
  7241  	return s
  7242  }
  7243  
  7244  type GetFunctionInput struct {
  7245  	_ struct{} `type:"structure" nopayload:"true"`
  7246  
  7247  	// The GraphQL API ID.
  7248  	//
  7249  	// ApiId is a required field
  7250  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7251  
  7252  	// The Function ID.
  7253  	//
  7254  	// FunctionId is a required field
  7255  	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
  7256  }
  7257  
  7258  // String returns the string representation.
  7259  //
  7260  // API parameter values that are decorated as "sensitive" in the API will not
  7261  // be included in the string output. The member name will be present, but the
  7262  // value will be replaced with "sensitive".
  7263  func (s GetFunctionInput) String() string {
  7264  	return awsutil.Prettify(s)
  7265  }
  7266  
  7267  // GoString returns the string representation.
  7268  //
  7269  // API parameter values that are decorated as "sensitive" in the API will not
  7270  // be included in the string output. The member name will be present, but the
  7271  // value will be replaced with "sensitive".
  7272  func (s GetFunctionInput) GoString() string {
  7273  	return s.String()
  7274  }
  7275  
  7276  // Validate inspects the fields of the type to determine if they are valid.
  7277  func (s *GetFunctionInput) Validate() error {
  7278  	invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"}
  7279  	if s.ApiId == nil {
  7280  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7281  	}
  7282  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7283  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7284  	}
  7285  	if s.FunctionId == nil {
  7286  		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
  7287  	}
  7288  	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
  7289  		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
  7290  	}
  7291  
  7292  	if invalidParams.Len() > 0 {
  7293  		return invalidParams
  7294  	}
  7295  	return nil
  7296  }
  7297  
  7298  // SetApiId sets the ApiId field's value.
  7299  func (s *GetFunctionInput) SetApiId(v string) *GetFunctionInput {
  7300  	s.ApiId = &v
  7301  	return s
  7302  }
  7303  
  7304  // SetFunctionId sets the FunctionId field's value.
  7305  func (s *GetFunctionInput) SetFunctionId(v string) *GetFunctionInput {
  7306  	s.FunctionId = &v
  7307  	return s
  7308  }
  7309  
  7310  type GetFunctionOutput struct {
  7311  	_ struct{} `type:"structure"`
  7312  
  7313  	// The Function object.
  7314  	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
  7315  }
  7316  
  7317  // String returns the string representation.
  7318  //
  7319  // API parameter values that are decorated as "sensitive" in the API will not
  7320  // be included in the string output. The member name will be present, but the
  7321  // value will be replaced with "sensitive".
  7322  func (s GetFunctionOutput) String() string {
  7323  	return awsutil.Prettify(s)
  7324  }
  7325  
  7326  // GoString returns the string representation.
  7327  //
  7328  // API parameter values that are decorated as "sensitive" in the API will not
  7329  // be included in the string output. The member name will be present, but the
  7330  // value will be replaced with "sensitive".
  7331  func (s GetFunctionOutput) GoString() string {
  7332  	return s.String()
  7333  }
  7334  
  7335  // SetFunctionConfiguration sets the FunctionConfiguration field's value.
  7336  func (s *GetFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *GetFunctionOutput {
  7337  	s.FunctionConfiguration = v
  7338  	return s
  7339  }
  7340  
  7341  type GetGraphqlApiInput struct {
  7342  	_ struct{} `type:"structure" nopayload:"true"`
  7343  
  7344  	// The API ID for the GraphQL API.
  7345  	//
  7346  	// ApiId is a required field
  7347  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7348  }
  7349  
  7350  // String returns the string representation.
  7351  //
  7352  // API parameter values that are decorated as "sensitive" in the API will not
  7353  // be included in the string output. The member name will be present, but the
  7354  // value will be replaced with "sensitive".
  7355  func (s GetGraphqlApiInput) String() string {
  7356  	return awsutil.Prettify(s)
  7357  }
  7358  
  7359  // GoString returns the string representation.
  7360  //
  7361  // API parameter values that are decorated as "sensitive" in the API will not
  7362  // be included in the string output. The member name will be present, but the
  7363  // value will be replaced with "sensitive".
  7364  func (s GetGraphqlApiInput) GoString() string {
  7365  	return s.String()
  7366  }
  7367  
  7368  // Validate inspects the fields of the type to determine if they are valid.
  7369  func (s *GetGraphqlApiInput) Validate() error {
  7370  	invalidParams := request.ErrInvalidParams{Context: "GetGraphqlApiInput"}
  7371  	if s.ApiId == nil {
  7372  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7373  	}
  7374  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7375  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7376  	}
  7377  
  7378  	if invalidParams.Len() > 0 {
  7379  		return invalidParams
  7380  	}
  7381  	return nil
  7382  }
  7383  
  7384  // SetApiId sets the ApiId field's value.
  7385  func (s *GetGraphqlApiInput) SetApiId(v string) *GetGraphqlApiInput {
  7386  	s.ApiId = &v
  7387  	return s
  7388  }
  7389  
  7390  type GetGraphqlApiOutput struct {
  7391  	_ struct{} `type:"structure"`
  7392  
  7393  	// The GraphqlApi object.
  7394  	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
  7395  }
  7396  
  7397  // String returns the string representation.
  7398  //
  7399  // API parameter values that are decorated as "sensitive" in the API will not
  7400  // be included in the string output. The member name will be present, but the
  7401  // value will be replaced with "sensitive".
  7402  func (s GetGraphqlApiOutput) String() string {
  7403  	return awsutil.Prettify(s)
  7404  }
  7405  
  7406  // GoString returns the string representation.
  7407  //
  7408  // API parameter values that are decorated as "sensitive" in the API will not
  7409  // be included in the string output. The member name will be present, but the
  7410  // value will be replaced with "sensitive".
  7411  func (s GetGraphqlApiOutput) GoString() string {
  7412  	return s.String()
  7413  }
  7414  
  7415  // SetGraphqlApi sets the GraphqlApi field's value.
  7416  func (s *GetGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *GetGraphqlApiOutput {
  7417  	s.GraphqlApi = v
  7418  	return s
  7419  }
  7420  
  7421  type GetIntrospectionSchemaInput struct {
  7422  	_ struct{} `type:"structure" nopayload:"true"`
  7423  
  7424  	// The API ID.
  7425  	//
  7426  	// ApiId is a required field
  7427  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7428  
  7429  	// The schema format: SDL or JSON.
  7430  	//
  7431  	// Format is a required field
  7432  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"OutputType"`
  7433  
  7434  	// A flag that specifies whether the schema introspection should contain directives.
  7435  	IncludeDirectives *bool `location:"querystring" locationName:"includeDirectives" type:"boolean"`
  7436  }
  7437  
  7438  // String returns the string representation.
  7439  //
  7440  // API parameter values that are decorated as "sensitive" in the API will not
  7441  // be included in the string output. The member name will be present, but the
  7442  // value will be replaced with "sensitive".
  7443  func (s GetIntrospectionSchemaInput) String() string {
  7444  	return awsutil.Prettify(s)
  7445  }
  7446  
  7447  // GoString returns the string representation.
  7448  //
  7449  // API parameter values that are decorated as "sensitive" in the API will not
  7450  // be included in the string output. The member name will be present, but the
  7451  // value will be replaced with "sensitive".
  7452  func (s GetIntrospectionSchemaInput) GoString() string {
  7453  	return s.String()
  7454  }
  7455  
  7456  // Validate inspects the fields of the type to determine if they are valid.
  7457  func (s *GetIntrospectionSchemaInput) Validate() error {
  7458  	invalidParams := request.ErrInvalidParams{Context: "GetIntrospectionSchemaInput"}
  7459  	if s.ApiId == nil {
  7460  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7461  	}
  7462  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7463  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7464  	}
  7465  	if s.Format == nil {
  7466  		invalidParams.Add(request.NewErrParamRequired("Format"))
  7467  	}
  7468  
  7469  	if invalidParams.Len() > 0 {
  7470  		return invalidParams
  7471  	}
  7472  	return nil
  7473  }
  7474  
  7475  // SetApiId sets the ApiId field's value.
  7476  func (s *GetIntrospectionSchemaInput) SetApiId(v string) *GetIntrospectionSchemaInput {
  7477  	s.ApiId = &v
  7478  	return s
  7479  }
  7480  
  7481  // SetFormat sets the Format field's value.
  7482  func (s *GetIntrospectionSchemaInput) SetFormat(v string) *GetIntrospectionSchemaInput {
  7483  	s.Format = &v
  7484  	return s
  7485  }
  7486  
  7487  // SetIncludeDirectives sets the IncludeDirectives field's value.
  7488  func (s *GetIntrospectionSchemaInput) SetIncludeDirectives(v bool) *GetIntrospectionSchemaInput {
  7489  	s.IncludeDirectives = &v
  7490  	return s
  7491  }
  7492  
  7493  type GetIntrospectionSchemaOutput struct {
  7494  	_ struct{} `type:"structure" payload:"Schema"`
  7495  
  7496  	// The schema, in GraphQL Schema Definition Language (SDL) format.
  7497  	//
  7498  	// For more information, see the GraphQL SDL documentation (http://graphql.org/learn/schema/).
  7499  	Schema []byte `locationName:"schema" type:"blob"`
  7500  }
  7501  
  7502  // String returns the string representation.
  7503  //
  7504  // API parameter values that are decorated as "sensitive" in the API will not
  7505  // be included in the string output. The member name will be present, but the
  7506  // value will be replaced with "sensitive".
  7507  func (s GetIntrospectionSchemaOutput) String() string {
  7508  	return awsutil.Prettify(s)
  7509  }
  7510  
  7511  // GoString returns the string representation.
  7512  //
  7513  // API parameter values that are decorated as "sensitive" in the API will not
  7514  // be included in the string output. The member name will be present, but the
  7515  // value will be replaced with "sensitive".
  7516  func (s GetIntrospectionSchemaOutput) GoString() string {
  7517  	return s.String()
  7518  }
  7519  
  7520  // SetSchema sets the Schema field's value.
  7521  func (s *GetIntrospectionSchemaOutput) SetSchema(v []byte) *GetIntrospectionSchemaOutput {
  7522  	s.Schema = v
  7523  	return s
  7524  }
  7525  
  7526  type GetResolverInput struct {
  7527  	_ struct{} `type:"structure" nopayload:"true"`
  7528  
  7529  	// The API ID.
  7530  	//
  7531  	// ApiId is a required field
  7532  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7533  
  7534  	// The resolver field name.
  7535  	//
  7536  	// FieldName is a required field
  7537  	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
  7538  
  7539  	// The resolver type name.
  7540  	//
  7541  	// TypeName is a required field
  7542  	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
  7543  }
  7544  
  7545  // String returns the string representation.
  7546  //
  7547  // API parameter values that are decorated as "sensitive" in the API will not
  7548  // be included in the string output. The member name will be present, but the
  7549  // value will be replaced with "sensitive".
  7550  func (s GetResolverInput) String() string {
  7551  	return awsutil.Prettify(s)
  7552  }
  7553  
  7554  // GoString returns the string representation.
  7555  //
  7556  // API parameter values that are decorated as "sensitive" in the API will not
  7557  // be included in the string output. The member name will be present, but the
  7558  // value will be replaced with "sensitive".
  7559  func (s GetResolverInput) GoString() string {
  7560  	return s.String()
  7561  }
  7562  
  7563  // Validate inspects the fields of the type to determine if they are valid.
  7564  func (s *GetResolverInput) Validate() error {
  7565  	invalidParams := request.ErrInvalidParams{Context: "GetResolverInput"}
  7566  	if s.ApiId == nil {
  7567  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7568  	}
  7569  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7570  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7571  	}
  7572  	if s.FieldName == nil {
  7573  		invalidParams.Add(request.NewErrParamRequired("FieldName"))
  7574  	}
  7575  	if s.FieldName != nil && len(*s.FieldName) < 1 {
  7576  		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
  7577  	}
  7578  	if s.TypeName == nil {
  7579  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  7580  	}
  7581  	if s.TypeName != nil && len(*s.TypeName) < 1 {
  7582  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
  7583  	}
  7584  
  7585  	if invalidParams.Len() > 0 {
  7586  		return invalidParams
  7587  	}
  7588  	return nil
  7589  }
  7590  
  7591  // SetApiId sets the ApiId field's value.
  7592  func (s *GetResolverInput) SetApiId(v string) *GetResolverInput {
  7593  	s.ApiId = &v
  7594  	return s
  7595  }
  7596  
  7597  // SetFieldName sets the FieldName field's value.
  7598  func (s *GetResolverInput) SetFieldName(v string) *GetResolverInput {
  7599  	s.FieldName = &v
  7600  	return s
  7601  }
  7602  
  7603  // SetTypeName sets the TypeName field's value.
  7604  func (s *GetResolverInput) SetTypeName(v string) *GetResolverInput {
  7605  	s.TypeName = &v
  7606  	return s
  7607  }
  7608  
  7609  type GetResolverOutput struct {
  7610  	_ struct{} `type:"structure"`
  7611  
  7612  	// The Resolver object.
  7613  	Resolver *Resolver `locationName:"resolver" type:"structure"`
  7614  }
  7615  
  7616  // String returns the string representation.
  7617  //
  7618  // API parameter values that are decorated as "sensitive" in the API will not
  7619  // be included in the string output. The member name will be present, but the
  7620  // value will be replaced with "sensitive".
  7621  func (s GetResolverOutput) String() string {
  7622  	return awsutil.Prettify(s)
  7623  }
  7624  
  7625  // GoString returns the string representation.
  7626  //
  7627  // API parameter values that are decorated as "sensitive" in the API will not
  7628  // be included in the string output. The member name will be present, but the
  7629  // value will be replaced with "sensitive".
  7630  func (s GetResolverOutput) GoString() string {
  7631  	return s.String()
  7632  }
  7633  
  7634  // SetResolver sets the Resolver field's value.
  7635  func (s *GetResolverOutput) SetResolver(v *Resolver) *GetResolverOutput {
  7636  	s.Resolver = v
  7637  	return s
  7638  }
  7639  
  7640  type GetSchemaCreationStatusInput struct {
  7641  	_ struct{} `type:"structure" nopayload:"true"`
  7642  
  7643  	// The API ID.
  7644  	//
  7645  	// ApiId is a required field
  7646  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7647  }
  7648  
  7649  // String returns the string representation.
  7650  //
  7651  // API parameter values that are decorated as "sensitive" in the API will not
  7652  // be included in the string output. The member name will be present, but the
  7653  // value will be replaced with "sensitive".
  7654  func (s GetSchemaCreationStatusInput) String() string {
  7655  	return awsutil.Prettify(s)
  7656  }
  7657  
  7658  // GoString returns the string representation.
  7659  //
  7660  // API parameter values that are decorated as "sensitive" in the API will not
  7661  // be included in the string output. The member name will be present, but the
  7662  // value will be replaced with "sensitive".
  7663  func (s GetSchemaCreationStatusInput) GoString() string {
  7664  	return s.String()
  7665  }
  7666  
  7667  // Validate inspects the fields of the type to determine if they are valid.
  7668  func (s *GetSchemaCreationStatusInput) Validate() error {
  7669  	invalidParams := request.ErrInvalidParams{Context: "GetSchemaCreationStatusInput"}
  7670  	if s.ApiId == nil {
  7671  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7672  	}
  7673  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7674  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7675  	}
  7676  
  7677  	if invalidParams.Len() > 0 {
  7678  		return invalidParams
  7679  	}
  7680  	return nil
  7681  }
  7682  
  7683  // SetApiId sets the ApiId field's value.
  7684  func (s *GetSchemaCreationStatusInput) SetApiId(v string) *GetSchemaCreationStatusInput {
  7685  	s.ApiId = &v
  7686  	return s
  7687  }
  7688  
  7689  type GetSchemaCreationStatusOutput struct {
  7690  	_ struct{} `type:"structure"`
  7691  
  7692  	// Detailed information about the status of the schema creation operation.
  7693  	Details *string `locationName:"details" type:"string"`
  7694  
  7695  	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
  7696  	// When the schema is in the ACTIVE state, you can add data.
  7697  	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
  7698  }
  7699  
  7700  // String returns the string representation.
  7701  //
  7702  // API parameter values that are decorated as "sensitive" in the API will not
  7703  // be included in the string output. The member name will be present, but the
  7704  // value will be replaced with "sensitive".
  7705  func (s GetSchemaCreationStatusOutput) String() string {
  7706  	return awsutil.Prettify(s)
  7707  }
  7708  
  7709  // GoString returns the string representation.
  7710  //
  7711  // API parameter values that are decorated as "sensitive" in the API will not
  7712  // be included in the string output. The member name will be present, but the
  7713  // value will be replaced with "sensitive".
  7714  func (s GetSchemaCreationStatusOutput) GoString() string {
  7715  	return s.String()
  7716  }
  7717  
  7718  // SetDetails sets the Details field's value.
  7719  func (s *GetSchemaCreationStatusOutput) SetDetails(v string) *GetSchemaCreationStatusOutput {
  7720  	s.Details = &v
  7721  	return s
  7722  }
  7723  
  7724  // SetStatus sets the Status field's value.
  7725  func (s *GetSchemaCreationStatusOutput) SetStatus(v string) *GetSchemaCreationStatusOutput {
  7726  	s.Status = &v
  7727  	return s
  7728  }
  7729  
  7730  type GetTypeInput struct {
  7731  	_ struct{} `type:"structure" nopayload:"true"`
  7732  
  7733  	// The API ID.
  7734  	//
  7735  	// ApiId is a required field
  7736  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  7737  
  7738  	// The type format: SDL or JSON.
  7739  	//
  7740  	// Format is a required field
  7741  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
  7742  
  7743  	// The type name.
  7744  	//
  7745  	// TypeName is a required field
  7746  	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
  7747  }
  7748  
  7749  // String returns the string representation.
  7750  //
  7751  // API parameter values that are decorated as "sensitive" in the API will not
  7752  // be included in the string output. The member name will be present, but the
  7753  // value will be replaced with "sensitive".
  7754  func (s GetTypeInput) String() string {
  7755  	return awsutil.Prettify(s)
  7756  }
  7757  
  7758  // GoString returns the string representation.
  7759  //
  7760  // API parameter values that are decorated as "sensitive" in the API will not
  7761  // be included in the string output. The member name will be present, but the
  7762  // value will be replaced with "sensitive".
  7763  func (s GetTypeInput) GoString() string {
  7764  	return s.String()
  7765  }
  7766  
  7767  // Validate inspects the fields of the type to determine if they are valid.
  7768  func (s *GetTypeInput) Validate() error {
  7769  	invalidParams := request.ErrInvalidParams{Context: "GetTypeInput"}
  7770  	if s.ApiId == nil {
  7771  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  7772  	}
  7773  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  7774  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  7775  	}
  7776  	if s.Format == nil {
  7777  		invalidParams.Add(request.NewErrParamRequired("Format"))
  7778  	}
  7779  	if s.TypeName == nil {
  7780  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  7781  	}
  7782  	if s.TypeName != nil && len(*s.TypeName) < 1 {
  7783  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
  7784  	}
  7785  
  7786  	if invalidParams.Len() > 0 {
  7787  		return invalidParams
  7788  	}
  7789  	return nil
  7790  }
  7791  
  7792  // SetApiId sets the ApiId field's value.
  7793  func (s *GetTypeInput) SetApiId(v string) *GetTypeInput {
  7794  	s.ApiId = &v
  7795  	return s
  7796  }
  7797  
  7798  // SetFormat sets the Format field's value.
  7799  func (s *GetTypeInput) SetFormat(v string) *GetTypeInput {
  7800  	s.Format = &v
  7801  	return s
  7802  }
  7803  
  7804  // SetTypeName sets the TypeName field's value.
  7805  func (s *GetTypeInput) SetTypeName(v string) *GetTypeInput {
  7806  	s.TypeName = &v
  7807  	return s
  7808  }
  7809  
  7810  type GetTypeOutput struct {
  7811  	_ struct{} `type:"structure"`
  7812  
  7813  	// The Type object.
  7814  	Type *Type `locationName:"type" type:"structure"`
  7815  }
  7816  
  7817  // String returns the string representation.
  7818  //
  7819  // API parameter values that are decorated as "sensitive" in the API will not
  7820  // be included in the string output. The member name will be present, but the
  7821  // value will be replaced with "sensitive".
  7822  func (s GetTypeOutput) String() string {
  7823  	return awsutil.Prettify(s)
  7824  }
  7825  
  7826  // GoString returns the string representation.
  7827  //
  7828  // API parameter values that are decorated as "sensitive" in the API will not
  7829  // be included in the string output. The member name will be present, but the
  7830  // value will be replaced with "sensitive".
  7831  func (s GetTypeOutput) GoString() string {
  7832  	return s.String()
  7833  }
  7834  
  7835  // SetType sets the Type field's value.
  7836  func (s *GetTypeOutput) SetType(v *Type) *GetTypeOutput {
  7837  	s.Type = v
  7838  	return s
  7839  }
  7840  
  7841  // The GraphQL schema is not valid.
  7842  type GraphQLSchemaException struct {
  7843  	_            struct{}                  `type:"structure"`
  7844  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7845  
  7846  	Message_ *string `locationName:"message" type:"string"`
  7847  }
  7848  
  7849  // String returns the string representation.
  7850  //
  7851  // API parameter values that are decorated as "sensitive" in the API will not
  7852  // be included in the string output. The member name will be present, but the
  7853  // value will be replaced with "sensitive".
  7854  func (s GraphQLSchemaException) String() string {
  7855  	return awsutil.Prettify(s)
  7856  }
  7857  
  7858  // GoString returns the string representation.
  7859  //
  7860  // API parameter values that are decorated as "sensitive" in the API will not
  7861  // be included in the string output. The member name will be present, but the
  7862  // value will be replaced with "sensitive".
  7863  func (s GraphQLSchemaException) GoString() string {
  7864  	return s.String()
  7865  }
  7866  
  7867  func newErrorGraphQLSchemaException(v protocol.ResponseMetadata) error {
  7868  	return &GraphQLSchemaException{
  7869  		RespMetadata: v,
  7870  	}
  7871  }
  7872  
  7873  // Code returns the exception type name.
  7874  func (s *GraphQLSchemaException) Code() string {
  7875  	return "GraphQLSchemaException"
  7876  }
  7877  
  7878  // Message returns the exception's message.
  7879  func (s *GraphQLSchemaException) Message() string {
  7880  	if s.Message_ != nil {
  7881  		return *s.Message_
  7882  	}
  7883  	return ""
  7884  }
  7885  
  7886  // OrigErr always returns nil, satisfies awserr.Error interface.
  7887  func (s *GraphQLSchemaException) OrigErr() error {
  7888  	return nil
  7889  }
  7890  
  7891  func (s *GraphQLSchemaException) Error() string {
  7892  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7893  }
  7894  
  7895  // Status code returns the HTTP status code for the request's response error.
  7896  func (s *GraphQLSchemaException) StatusCode() int {
  7897  	return s.RespMetadata.StatusCode
  7898  }
  7899  
  7900  // RequestID returns the service's response RequestID for request.
  7901  func (s *GraphQLSchemaException) RequestID() string {
  7902  	return s.RespMetadata.RequestID
  7903  }
  7904  
  7905  // Describes a GraphQL API.
  7906  type GraphqlApi struct {
  7907  	_ struct{} `type:"structure"`
  7908  
  7909  	// A list of additional authentication providers for the GraphqlApi API.
  7910  	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
  7911  
  7912  	// The API ID.
  7913  	ApiId *string `locationName:"apiId" type:"string"`
  7914  
  7915  	// The ARN.
  7916  	Arn *string `locationName:"arn" type:"string"`
  7917  
  7918  	// The authentication type.
  7919  	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
  7920  
  7921  	// Configuration for Amazon Web Services Lambda function authorization.
  7922  	LambdaAuthorizerConfig *LambdaAuthorizerConfig `locationName:"lambdaAuthorizerConfig" type:"structure"`
  7923  
  7924  	// The Amazon CloudWatch Logs configuration.
  7925  	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
  7926  
  7927  	// The API name.
  7928  	Name *string `locationName:"name" min:"1" type:"string"`
  7929  
  7930  	// The OpenID Connect configuration.
  7931  	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
  7932  
  7933  	// The tags.
  7934  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7935  
  7936  	// The URIs.
  7937  	Uris map[string]*string `locationName:"uris" type:"map"`
  7938  
  7939  	// The Amazon Cognito user pool configuration.
  7940  	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
  7941  
  7942  	// The ARN of the WAF ACL associated with this GraphqlApi, if one exists.
  7943  	WafWebAclArn *string `locationName:"wafWebAclArn" type:"string"`
  7944  
  7945  	// A flag representing whether X-Ray tracing is enabled for this GraphqlApi.
  7946  	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
  7947  }
  7948  
  7949  // String returns the string representation.
  7950  //
  7951  // API parameter values that are decorated as "sensitive" in the API will not
  7952  // be included in the string output. The member name will be present, but the
  7953  // value will be replaced with "sensitive".
  7954  func (s GraphqlApi) String() string {
  7955  	return awsutil.Prettify(s)
  7956  }
  7957  
  7958  // GoString returns the string representation.
  7959  //
  7960  // API parameter values that are decorated as "sensitive" in the API will not
  7961  // be included in the string output. The member name will be present, but the
  7962  // value will be replaced with "sensitive".
  7963  func (s GraphqlApi) GoString() string {
  7964  	return s.String()
  7965  }
  7966  
  7967  // SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
  7968  func (s *GraphqlApi) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *GraphqlApi {
  7969  	s.AdditionalAuthenticationProviders = v
  7970  	return s
  7971  }
  7972  
  7973  // SetApiId sets the ApiId field's value.
  7974  func (s *GraphqlApi) SetApiId(v string) *GraphqlApi {
  7975  	s.ApiId = &v
  7976  	return s
  7977  }
  7978  
  7979  // SetArn sets the Arn field's value.
  7980  func (s *GraphqlApi) SetArn(v string) *GraphqlApi {
  7981  	s.Arn = &v
  7982  	return s
  7983  }
  7984  
  7985  // SetAuthenticationType sets the AuthenticationType field's value.
  7986  func (s *GraphqlApi) SetAuthenticationType(v string) *GraphqlApi {
  7987  	s.AuthenticationType = &v
  7988  	return s
  7989  }
  7990  
  7991  // SetLambdaAuthorizerConfig sets the LambdaAuthorizerConfig field's value.
  7992  func (s *GraphqlApi) SetLambdaAuthorizerConfig(v *LambdaAuthorizerConfig) *GraphqlApi {
  7993  	s.LambdaAuthorizerConfig = v
  7994  	return s
  7995  }
  7996  
  7997  // SetLogConfig sets the LogConfig field's value.
  7998  func (s *GraphqlApi) SetLogConfig(v *LogConfig) *GraphqlApi {
  7999  	s.LogConfig = v
  8000  	return s
  8001  }
  8002  
  8003  // SetName sets the Name field's value.
  8004  func (s *GraphqlApi) SetName(v string) *GraphqlApi {
  8005  	s.Name = &v
  8006  	return s
  8007  }
  8008  
  8009  // SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
  8010  func (s *GraphqlApi) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *GraphqlApi {
  8011  	s.OpenIDConnectConfig = v
  8012  	return s
  8013  }
  8014  
  8015  // SetTags sets the Tags field's value.
  8016  func (s *GraphqlApi) SetTags(v map[string]*string) *GraphqlApi {
  8017  	s.Tags = v
  8018  	return s
  8019  }
  8020  
  8021  // SetUris sets the Uris field's value.
  8022  func (s *GraphqlApi) SetUris(v map[string]*string) *GraphqlApi {
  8023  	s.Uris = v
  8024  	return s
  8025  }
  8026  
  8027  // SetUserPoolConfig sets the UserPoolConfig field's value.
  8028  func (s *GraphqlApi) SetUserPoolConfig(v *UserPoolConfig) *GraphqlApi {
  8029  	s.UserPoolConfig = v
  8030  	return s
  8031  }
  8032  
  8033  // SetWafWebAclArn sets the WafWebAclArn field's value.
  8034  func (s *GraphqlApi) SetWafWebAclArn(v string) *GraphqlApi {
  8035  	s.WafWebAclArn = &v
  8036  	return s
  8037  }
  8038  
  8039  // SetXrayEnabled sets the XrayEnabled field's value.
  8040  func (s *GraphqlApi) SetXrayEnabled(v bool) *GraphqlApi {
  8041  	s.XrayEnabled = &v
  8042  	return s
  8043  }
  8044  
  8045  // Describes an HTTP data source configuration.
  8046  type HttpDataSourceConfig struct {
  8047  	_ struct{} `type:"structure"`
  8048  
  8049  	// The authorization config in case the HTTP endpoint requires authorization.
  8050  	AuthorizationConfig *AuthorizationConfig `locationName:"authorizationConfig" type:"structure"`
  8051  
  8052  	// The HTTP URL endpoint. You can either specify the domain name or IP, and
  8053  	// port combination, and the URL scheme must be HTTP or HTTPS. If the port is
  8054  	// not specified, AppSync uses the default port 80 for the HTTP endpoint and
  8055  	// port 443 for HTTPS endpoints.
  8056  	Endpoint *string `locationName:"endpoint" type:"string"`
  8057  }
  8058  
  8059  // String returns the string representation.
  8060  //
  8061  // API parameter values that are decorated as "sensitive" in the API will not
  8062  // be included in the string output. The member name will be present, but the
  8063  // value will be replaced with "sensitive".
  8064  func (s HttpDataSourceConfig) String() string {
  8065  	return awsutil.Prettify(s)
  8066  }
  8067  
  8068  // GoString returns the string representation.
  8069  //
  8070  // API parameter values that are decorated as "sensitive" in the API will not
  8071  // be included in the string output. The member name will be present, but the
  8072  // value will be replaced with "sensitive".
  8073  func (s HttpDataSourceConfig) GoString() string {
  8074  	return s.String()
  8075  }
  8076  
  8077  // Validate inspects the fields of the type to determine if they are valid.
  8078  func (s *HttpDataSourceConfig) Validate() error {
  8079  	invalidParams := request.ErrInvalidParams{Context: "HttpDataSourceConfig"}
  8080  	if s.AuthorizationConfig != nil {
  8081  		if err := s.AuthorizationConfig.Validate(); err != nil {
  8082  			invalidParams.AddNested("AuthorizationConfig", err.(request.ErrInvalidParams))
  8083  		}
  8084  	}
  8085  
  8086  	if invalidParams.Len() > 0 {
  8087  		return invalidParams
  8088  	}
  8089  	return nil
  8090  }
  8091  
  8092  // SetAuthorizationConfig sets the AuthorizationConfig field's value.
  8093  func (s *HttpDataSourceConfig) SetAuthorizationConfig(v *AuthorizationConfig) *HttpDataSourceConfig {
  8094  	s.AuthorizationConfig = v
  8095  	return s
  8096  }
  8097  
  8098  // SetEndpoint sets the Endpoint field's value.
  8099  func (s *HttpDataSourceConfig) SetEndpoint(v string) *HttpDataSourceConfig {
  8100  	s.Endpoint = &v
  8101  	return s
  8102  }
  8103  
  8104  // An internal AppSync error occurred. Try your request again.
  8105  type InternalFailureException struct {
  8106  	_            struct{}                  `type:"structure"`
  8107  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8108  
  8109  	Message_ *string `locationName:"message" type:"string"`
  8110  }
  8111  
  8112  // String returns the string representation.
  8113  //
  8114  // API parameter values that are decorated as "sensitive" in the API will not
  8115  // be included in the string output. The member name will be present, but the
  8116  // value will be replaced with "sensitive".
  8117  func (s InternalFailureException) String() string {
  8118  	return awsutil.Prettify(s)
  8119  }
  8120  
  8121  // GoString returns the string representation.
  8122  //
  8123  // API parameter values that are decorated as "sensitive" in the API will not
  8124  // be included in the string output. The member name will be present, but the
  8125  // value will be replaced with "sensitive".
  8126  func (s InternalFailureException) GoString() string {
  8127  	return s.String()
  8128  }
  8129  
  8130  func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
  8131  	return &InternalFailureException{
  8132  		RespMetadata: v,
  8133  	}
  8134  }
  8135  
  8136  // Code returns the exception type name.
  8137  func (s *InternalFailureException) Code() string {
  8138  	return "InternalFailureException"
  8139  }
  8140  
  8141  // Message returns the exception's message.
  8142  func (s *InternalFailureException) Message() string {
  8143  	if s.Message_ != nil {
  8144  		return *s.Message_
  8145  	}
  8146  	return ""
  8147  }
  8148  
  8149  // OrigErr always returns nil, satisfies awserr.Error interface.
  8150  func (s *InternalFailureException) OrigErr() error {
  8151  	return nil
  8152  }
  8153  
  8154  func (s *InternalFailureException) Error() string {
  8155  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8156  }
  8157  
  8158  // Status code returns the HTTP status code for the request's response error.
  8159  func (s *InternalFailureException) StatusCode() int {
  8160  	return s.RespMetadata.StatusCode
  8161  }
  8162  
  8163  // RequestID returns the service's response RequestID for request.
  8164  func (s *InternalFailureException) RequestID() string {
  8165  	return s.RespMetadata.RequestID
  8166  }
  8167  
  8168  // A LambdaAuthorizerConfig holds configuration on how to authorize AppSync
  8169  // API access when using the AWS_LAMBDA authorizer mode. Be aware that an AppSync
  8170  // API may have only one Lambda authorizer configured at a time.
  8171  type LambdaAuthorizerConfig struct {
  8172  	_ struct{} `type:"structure"`
  8173  
  8174  	// The number of seconds a response should be cached for. The default is 5 minutes
  8175  	// (300 seconds). The Lambda function can override this by returning a ttlOverride
  8176  	// key in its response. A value of 0 disables caching of responses.
  8177  	AuthorizerResultTtlInSeconds *int64 `locationName:"authorizerResultTtlInSeconds" type:"integer"`
  8178  
  8179  	// The ARN of the Lambda function to be called for authorization. This may be
  8180  	// a standard Lambda ARN, a version ARN (.../v3) or alias ARN.
  8181  	//
  8182  	// Note: This Lambda function must have the following resource-based policy
  8183  	// assigned to it. When configuring Lambda authorizers in the Console, this
  8184  	// is done for you. To do so with the Amazon Web Services CLI, run the following:
  8185  	//
  8186  	// aws lambda add-permission --function-name "arn:aws:lambda:us-east-2:111122223333:function:my-function"
  8187  	// --statement-id "appsync" --principal appsync.amazonaws.com --action lambda:InvokeFunction
  8188  	//
  8189  	// AuthorizerUri is a required field
  8190  	AuthorizerUri *string `locationName:"authorizerUri" type:"string" required:"true"`
  8191  
  8192  	// A regular expression for validation of tokens before the Lambda function
  8193  	// is called.
  8194  	IdentityValidationExpression *string `locationName:"identityValidationExpression" type:"string"`
  8195  }
  8196  
  8197  // String returns the string representation.
  8198  //
  8199  // API parameter values that are decorated as "sensitive" in the API will not
  8200  // be included in the string output. The member name will be present, but the
  8201  // value will be replaced with "sensitive".
  8202  func (s LambdaAuthorizerConfig) String() string {
  8203  	return awsutil.Prettify(s)
  8204  }
  8205  
  8206  // GoString returns the string representation.
  8207  //
  8208  // API parameter values that are decorated as "sensitive" in the API will not
  8209  // be included in the string output. The member name will be present, but the
  8210  // value will be replaced with "sensitive".
  8211  func (s LambdaAuthorizerConfig) GoString() string {
  8212  	return s.String()
  8213  }
  8214  
  8215  // Validate inspects the fields of the type to determine if they are valid.
  8216  func (s *LambdaAuthorizerConfig) Validate() error {
  8217  	invalidParams := request.ErrInvalidParams{Context: "LambdaAuthorizerConfig"}
  8218  	if s.AuthorizerUri == nil {
  8219  		invalidParams.Add(request.NewErrParamRequired("AuthorizerUri"))
  8220  	}
  8221  
  8222  	if invalidParams.Len() > 0 {
  8223  		return invalidParams
  8224  	}
  8225  	return nil
  8226  }
  8227  
  8228  // SetAuthorizerResultTtlInSeconds sets the AuthorizerResultTtlInSeconds field's value.
  8229  func (s *LambdaAuthorizerConfig) SetAuthorizerResultTtlInSeconds(v int64) *LambdaAuthorizerConfig {
  8230  	s.AuthorizerResultTtlInSeconds = &v
  8231  	return s
  8232  }
  8233  
  8234  // SetAuthorizerUri sets the AuthorizerUri field's value.
  8235  func (s *LambdaAuthorizerConfig) SetAuthorizerUri(v string) *LambdaAuthorizerConfig {
  8236  	s.AuthorizerUri = &v
  8237  	return s
  8238  }
  8239  
  8240  // SetIdentityValidationExpression sets the IdentityValidationExpression field's value.
  8241  func (s *LambdaAuthorizerConfig) SetIdentityValidationExpression(v string) *LambdaAuthorizerConfig {
  8242  	s.IdentityValidationExpression = &v
  8243  	return s
  8244  }
  8245  
  8246  // The LambdaConflictHandlerConfig object when configuring LAMBDA as the Conflict
  8247  // Handler.
  8248  type LambdaConflictHandlerConfig struct {
  8249  	_ struct{} `type:"structure"`
  8250  
  8251  	// The Arn for the Lambda function to use as the Conflict Handler.
  8252  	LambdaConflictHandlerArn *string `locationName:"lambdaConflictHandlerArn" type:"string"`
  8253  }
  8254  
  8255  // String returns the string representation.
  8256  //
  8257  // API parameter values that are decorated as "sensitive" in the API will not
  8258  // be included in the string output. The member name will be present, but the
  8259  // value will be replaced with "sensitive".
  8260  func (s LambdaConflictHandlerConfig) String() string {
  8261  	return awsutil.Prettify(s)
  8262  }
  8263  
  8264  // GoString returns the string representation.
  8265  //
  8266  // API parameter values that are decorated as "sensitive" in the API will not
  8267  // be included in the string output. The member name will be present, but the
  8268  // value will be replaced with "sensitive".
  8269  func (s LambdaConflictHandlerConfig) GoString() string {
  8270  	return s.String()
  8271  }
  8272  
  8273  // SetLambdaConflictHandlerArn sets the LambdaConflictHandlerArn field's value.
  8274  func (s *LambdaConflictHandlerConfig) SetLambdaConflictHandlerArn(v string) *LambdaConflictHandlerConfig {
  8275  	s.LambdaConflictHandlerArn = &v
  8276  	return s
  8277  }
  8278  
  8279  // Describes an Amazon Web Services Lambda data source configuration.
  8280  type LambdaDataSourceConfig struct {
  8281  	_ struct{} `type:"structure"`
  8282  
  8283  	// The ARN for the Lambda function.
  8284  	//
  8285  	// LambdaFunctionArn is a required field
  8286  	LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string" required:"true"`
  8287  }
  8288  
  8289  // String returns the string representation.
  8290  //
  8291  // API parameter values that are decorated as "sensitive" in the API will not
  8292  // be included in the string output. The member name will be present, but the
  8293  // value will be replaced with "sensitive".
  8294  func (s LambdaDataSourceConfig) String() string {
  8295  	return awsutil.Prettify(s)
  8296  }
  8297  
  8298  // GoString returns the string representation.
  8299  //
  8300  // API parameter values that are decorated as "sensitive" in the API will not
  8301  // be included in the string output. The member name will be present, but the
  8302  // value will be replaced with "sensitive".
  8303  func (s LambdaDataSourceConfig) GoString() string {
  8304  	return s.String()
  8305  }
  8306  
  8307  // Validate inspects the fields of the type to determine if they are valid.
  8308  func (s *LambdaDataSourceConfig) Validate() error {
  8309  	invalidParams := request.ErrInvalidParams{Context: "LambdaDataSourceConfig"}
  8310  	if s.LambdaFunctionArn == nil {
  8311  		invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
  8312  	}
  8313  
  8314  	if invalidParams.Len() > 0 {
  8315  		return invalidParams
  8316  	}
  8317  	return nil
  8318  }
  8319  
  8320  // SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
  8321  func (s *LambdaDataSourceConfig) SetLambdaFunctionArn(v string) *LambdaDataSourceConfig {
  8322  	s.LambdaFunctionArn = &v
  8323  	return s
  8324  }
  8325  
  8326  // The request exceeded a limit. Try your request again.
  8327  type LimitExceededException struct {
  8328  	_            struct{}                  `type:"structure"`
  8329  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8330  
  8331  	Message_ *string `locationName:"message" type:"string"`
  8332  }
  8333  
  8334  // String returns the string representation.
  8335  //
  8336  // API parameter values that are decorated as "sensitive" in the API will not
  8337  // be included in the string output. The member name will be present, but the
  8338  // value will be replaced with "sensitive".
  8339  func (s LimitExceededException) String() string {
  8340  	return awsutil.Prettify(s)
  8341  }
  8342  
  8343  // GoString returns the string representation.
  8344  //
  8345  // API parameter values that are decorated as "sensitive" in the API will not
  8346  // be included in the string output. The member name will be present, but the
  8347  // value will be replaced with "sensitive".
  8348  func (s LimitExceededException) GoString() string {
  8349  	return s.String()
  8350  }
  8351  
  8352  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  8353  	return &LimitExceededException{
  8354  		RespMetadata: v,
  8355  	}
  8356  }
  8357  
  8358  // Code returns the exception type name.
  8359  func (s *LimitExceededException) Code() string {
  8360  	return "LimitExceededException"
  8361  }
  8362  
  8363  // Message returns the exception's message.
  8364  func (s *LimitExceededException) Message() string {
  8365  	if s.Message_ != nil {
  8366  		return *s.Message_
  8367  	}
  8368  	return ""
  8369  }
  8370  
  8371  // OrigErr always returns nil, satisfies awserr.Error interface.
  8372  func (s *LimitExceededException) OrigErr() error {
  8373  	return nil
  8374  }
  8375  
  8376  func (s *LimitExceededException) Error() string {
  8377  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8378  }
  8379  
  8380  // Status code returns the HTTP status code for the request's response error.
  8381  func (s *LimitExceededException) StatusCode() int {
  8382  	return s.RespMetadata.StatusCode
  8383  }
  8384  
  8385  // RequestID returns the service's response RequestID for request.
  8386  func (s *LimitExceededException) RequestID() string {
  8387  	return s.RespMetadata.RequestID
  8388  }
  8389  
  8390  type ListApiKeysInput struct {
  8391  	_ struct{} `type:"structure" nopayload:"true"`
  8392  
  8393  	// The API ID.
  8394  	//
  8395  	// ApiId is a required field
  8396  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8397  
  8398  	// The maximum number of results you want the request to return.
  8399  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  8400  
  8401  	// An identifier that was returned from the previous call to this operation,
  8402  	// which can be used to return the next set of items in the list.
  8403  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8404  }
  8405  
  8406  // String returns the string representation.
  8407  //
  8408  // API parameter values that are decorated as "sensitive" in the API will not
  8409  // be included in the string output. The member name will be present, but the
  8410  // value will be replaced with "sensitive".
  8411  func (s ListApiKeysInput) String() string {
  8412  	return awsutil.Prettify(s)
  8413  }
  8414  
  8415  // GoString returns the string representation.
  8416  //
  8417  // API parameter values that are decorated as "sensitive" in the API will not
  8418  // be included in the string output. The member name will be present, but the
  8419  // value will be replaced with "sensitive".
  8420  func (s ListApiKeysInput) GoString() string {
  8421  	return s.String()
  8422  }
  8423  
  8424  // Validate inspects the fields of the type to determine if they are valid.
  8425  func (s *ListApiKeysInput) Validate() error {
  8426  	invalidParams := request.ErrInvalidParams{Context: "ListApiKeysInput"}
  8427  	if s.ApiId == nil {
  8428  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8429  	}
  8430  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8431  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8432  	}
  8433  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8434  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8435  	}
  8436  
  8437  	if invalidParams.Len() > 0 {
  8438  		return invalidParams
  8439  	}
  8440  	return nil
  8441  }
  8442  
  8443  // SetApiId sets the ApiId field's value.
  8444  func (s *ListApiKeysInput) SetApiId(v string) *ListApiKeysInput {
  8445  	s.ApiId = &v
  8446  	return s
  8447  }
  8448  
  8449  // SetMaxResults sets the MaxResults field's value.
  8450  func (s *ListApiKeysInput) SetMaxResults(v int64) *ListApiKeysInput {
  8451  	s.MaxResults = &v
  8452  	return s
  8453  }
  8454  
  8455  // SetNextToken sets the NextToken field's value.
  8456  func (s *ListApiKeysInput) SetNextToken(v string) *ListApiKeysInput {
  8457  	s.NextToken = &v
  8458  	return s
  8459  }
  8460  
  8461  type ListApiKeysOutput struct {
  8462  	_ struct{} `type:"structure"`
  8463  
  8464  	// The ApiKey objects.
  8465  	ApiKeys []*ApiKey `locationName:"apiKeys" type:"list"`
  8466  
  8467  	// An identifier to be passed in the next request to this operation to return
  8468  	// the next set of items in the list.
  8469  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8470  }
  8471  
  8472  // String returns the string representation.
  8473  //
  8474  // API parameter values that are decorated as "sensitive" in the API will not
  8475  // be included in the string output. The member name will be present, but the
  8476  // value will be replaced with "sensitive".
  8477  func (s ListApiKeysOutput) String() string {
  8478  	return awsutil.Prettify(s)
  8479  }
  8480  
  8481  // GoString returns the string representation.
  8482  //
  8483  // API parameter values that are decorated as "sensitive" in the API will not
  8484  // be included in the string output. The member name will be present, but the
  8485  // value will be replaced with "sensitive".
  8486  func (s ListApiKeysOutput) GoString() string {
  8487  	return s.String()
  8488  }
  8489  
  8490  // SetApiKeys sets the ApiKeys field's value.
  8491  func (s *ListApiKeysOutput) SetApiKeys(v []*ApiKey) *ListApiKeysOutput {
  8492  	s.ApiKeys = v
  8493  	return s
  8494  }
  8495  
  8496  // SetNextToken sets the NextToken field's value.
  8497  func (s *ListApiKeysOutput) SetNextToken(v string) *ListApiKeysOutput {
  8498  	s.NextToken = &v
  8499  	return s
  8500  }
  8501  
  8502  type ListDataSourcesInput struct {
  8503  	_ struct{} `type:"structure" nopayload:"true"`
  8504  
  8505  	// The API ID.
  8506  	//
  8507  	// ApiId is a required field
  8508  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8509  
  8510  	// The maximum number of results you want the request to return.
  8511  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  8512  
  8513  	// An identifier that was returned from the previous call to this operation,
  8514  	// which can be used to return the next set of items in the list.
  8515  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8516  }
  8517  
  8518  // String returns the string representation.
  8519  //
  8520  // API parameter values that are decorated as "sensitive" in the API will not
  8521  // be included in the string output. The member name will be present, but the
  8522  // value will be replaced with "sensitive".
  8523  func (s ListDataSourcesInput) String() string {
  8524  	return awsutil.Prettify(s)
  8525  }
  8526  
  8527  // GoString returns the string representation.
  8528  //
  8529  // API parameter values that are decorated as "sensitive" in the API will not
  8530  // be included in the string output. The member name will be present, but the
  8531  // value will be replaced with "sensitive".
  8532  func (s ListDataSourcesInput) GoString() string {
  8533  	return s.String()
  8534  }
  8535  
  8536  // Validate inspects the fields of the type to determine if they are valid.
  8537  func (s *ListDataSourcesInput) Validate() error {
  8538  	invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"}
  8539  	if s.ApiId == nil {
  8540  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8541  	}
  8542  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8543  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8544  	}
  8545  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8546  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8547  	}
  8548  
  8549  	if invalidParams.Len() > 0 {
  8550  		return invalidParams
  8551  	}
  8552  	return nil
  8553  }
  8554  
  8555  // SetApiId sets the ApiId field's value.
  8556  func (s *ListDataSourcesInput) SetApiId(v string) *ListDataSourcesInput {
  8557  	s.ApiId = &v
  8558  	return s
  8559  }
  8560  
  8561  // SetMaxResults sets the MaxResults field's value.
  8562  func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput {
  8563  	s.MaxResults = &v
  8564  	return s
  8565  }
  8566  
  8567  // SetNextToken sets the NextToken field's value.
  8568  func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput {
  8569  	s.NextToken = &v
  8570  	return s
  8571  }
  8572  
  8573  type ListDataSourcesOutput struct {
  8574  	_ struct{} `type:"structure"`
  8575  
  8576  	// The DataSource objects.
  8577  	DataSources []*DataSource `locationName:"dataSources" type:"list"`
  8578  
  8579  	// An identifier to be passed in the next request to this operation to return
  8580  	// the next set of items in the list.
  8581  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8582  }
  8583  
  8584  // String returns the string representation.
  8585  //
  8586  // API parameter values that are decorated as "sensitive" in the API will not
  8587  // be included in the string output. The member name will be present, but the
  8588  // value will be replaced with "sensitive".
  8589  func (s ListDataSourcesOutput) String() string {
  8590  	return awsutil.Prettify(s)
  8591  }
  8592  
  8593  // GoString returns the string representation.
  8594  //
  8595  // API parameter values that are decorated as "sensitive" in the API will not
  8596  // be included in the string output. The member name will be present, but the
  8597  // value will be replaced with "sensitive".
  8598  func (s ListDataSourcesOutput) GoString() string {
  8599  	return s.String()
  8600  }
  8601  
  8602  // SetDataSources sets the DataSources field's value.
  8603  func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput {
  8604  	s.DataSources = v
  8605  	return s
  8606  }
  8607  
  8608  // SetNextToken sets the NextToken field's value.
  8609  func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput {
  8610  	s.NextToken = &v
  8611  	return s
  8612  }
  8613  
  8614  type ListFunctionsInput struct {
  8615  	_ struct{} `type:"structure" nopayload:"true"`
  8616  
  8617  	// The GraphQL API ID.
  8618  	//
  8619  	// ApiId is a required field
  8620  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8621  
  8622  	// The maximum number of results you want the request to return.
  8623  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  8624  
  8625  	// An identifier that was returned from the previous call to this operation,
  8626  	// which can be used to return the next set of items in the list.
  8627  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8628  }
  8629  
  8630  // String returns the string representation.
  8631  //
  8632  // API parameter values that are decorated as "sensitive" in the API will not
  8633  // be included in the string output. The member name will be present, but the
  8634  // value will be replaced with "sensitive".
  8635  func (s ListFunctionsInput) String() string {
  8636  	return awsutil.Prettify(s)
  8637  }
  8638  
  8639  // GoString returns the string representation.
  8640  //
  8641  // API parameter values that are decorated as "sensitive" in the API will not
  8642  // be included in the string output. The member name will be present, but the
  8643  // value will be replaced with "sensitive".
  8644  func (s ListFunctionsInput) GoString() string {
  8645  	return s.String()
  8646  }
  8647  
  8648  // Validate inspects the fields of the type to determine if they are valid.
  8649  func (s *ListFunctionsInput) Validate() error {
  8650  	invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"}
  8651  	if s.ApiId == nil {
  8652  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8653  	}
  8654  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8655  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8656  	}
  8657  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8658  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8659  	}
  8660  
  8661  	if invalidParams.Len() > 0 {
  8662  		return invalidParams
  8663  	}
  8664  	return nil
  8665  }
  8666  
  8667  // SetApiId sets the ApiId field's value.
  8668  func (s *ListFunctionsInput) SetApiId(v string) *ListFunctionsInput {
  8669  	s.ApiId = &v
  8670  	return s
  8671  }
  8672  
  8673  // SetMaxResults sets the MaxResults field's value.
  8674  func (s *ListFunctionsInput) SetMaxResults(v int64) *ListFunctionsInput {
  8675  	s.MaxResults = &v
  8676  	return s
  8677  }
  8678  
  8679  // SetNextToken sets the NextToken field's value.
  8680  func (s *ListFunctionsInput) SetNextToken(v string) *ListFunctionsInput {
  8681  	s.NextToken = &v
  8682  	return s
  8683  }
  8684  
  8685  type ListFunctionsOutput struct {
  8686  	_ struct{} `type:"structure"`
  8687  
  8688  	// A list of Function objects.
  8689  	Functions []*FunctionConfiguration `locationName:"functions" type:"list"`
  8690  
  8691  	// An identifier that was returned from the previous call to this operation,
  8692  	// which can be used to return the next set of items in the list.
  8693  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8694  }
  8695  
  8696  // String returns the string representation.
  8697  //
  8698  // API parameter values that are decorated as "sensitive" in the API will not
  8699  // be included in the string output. The member name will be present, but the
  8700  // value will be replaced with "sensitive".
  8701  func (s ListFunctionsOutput) String() string {
  8702  	return awsutil.Prettify(s)
  8703  }
  8704  
  8705  // GoString returns the string representation.
  8706  //
  8707  // API parameter values that are decorated as "sensitive" in the API will not
  8708  // be included in the string output. The member name will be present, but the
  8709  // value will be replaced with "sensitive".
  8710  func (s ListFunctionsOutput) GoString() string {
  8711  	return s.String()
  8712  }
  8713  
  8714  // SetFunctions sets the Functions field's value.
  8715  func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput {
  8716  	s.Functions = v
  8717  	return s
  8718  }
  8719  
  8720  // SetNextToken sets the NextToken field's value.
  8721  func (s *ListFunctionsOutput) SetNextToken(v string) *ListFunctionsOutput {
  8722  	s.NextToken = &v
  8723  	return s
  8724  }
  8725  
  8726  type ListGraphqlApisInput struct {
  8727  	_ struct{} `type:"structure" nopayload:"true"`
  8728  
  8729  	// The maximum number of results you want the request to return.
  8730  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  8731  
  8732  	// An identifier that was returned from the previous call to this operation,
  8733  	// which can be used to return the next set of items in the list.
  8734  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8735  }
  8736  
  8737  // String returns the string representation.
  8738  //
  8739  // API parameter values that are decorated as "sensitive" in the API will not
  8740  // be included in the string output. The member name will be present, but the
  8741  // value will be replaced with "sensitive".
  8742  func (s ListGraphqlApisInput) String() string {
  8743  	return awsutil.Prettify(s)
  8744  }
  8745  
  8746  // GoString returns the string representation.
  8747  //
  8748  // API parameter values that are decorated as "sensitive" in the API will not
  8749  // be included in the string output. The member name will be present, but the
  8750  // value will be replaced with "sensitive".
  8751  func (s ListGraphqlApisInput) GoString() string {
  8752  	return s.String()
  8753  }
  8754  
  8755  // Validate inspects the fields of the type to determine if they are valid.
  8756  func (s *ListGraphqlApisInput) Validate() error {
  8757  	invalidParams := request.ErrInvalidParams{Context: "ListGraphqlApisInput"}
  8758  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8759  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8760  	}
  8761  
  8762  	if invalidParams.Len() > 0 {
  8763  		return invalidParams
  8764  	}
  8765  	return nil
  8766  }
  8767  
  8768  // SetMaxResults sets the MaxResults field's value.
  8769  func (s *ListGraphqlApisInput) SetMaxResults(v int64) *ListGraphqlApisInput {
  8770  	s.MaxResults = &v
  8771  	return s
  8772  }
  8773  
  8774  // SetNextToken sets the NextToken field's value.
  8775  func (s *ListGraphqlApisInput) SetNextToken(v string) *ListGraphqlApisInput {
  8776  	s.NextToken = &v
  8777  	return s
  8778  }
  8779  
  8780  type ListGraphqlApisOutput struct {
  8781  	_ struct{} `type:"structure"`
  8782  
  8783  	// The GraphqlApi objects.
  8784  	GraphqlApis []*GraphqlApi `locationName:"graphqlApis" type:"list"`
  8785  
  8786  	// An identifier to be passed in the next request to this operation to return
  8787  	// the next set of items in the list.
  8788  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8789  }
  8790  
  8791  // String returns the string representation.
  8792  //
  8793  // API parameter values that are decorated as "sensitive" in the API will not
  8794  // be included in the string output. The member name will be present, but the
  8795  // value will be replaced with "sensitive".
  8796  func (s ListGraphqlApisOutput) String() string {
  8797  	return awsutil.Prettify(s)
  8798  }
  8799  
  8800  // GoString returns the string representation.
  8801  //
  8802  // API parameter values that are decorated as "sensitive" in the API will not
  8803  // be included in the string output. The member name will be present, but the
  8804  // value will be replaced with "sensitive".
  8805  func (s ListGraphqlApisOutput) GoString() string {
  8806  	return s.String()
  8807  }
  8808  
  8809  // SetGraphqlApis sets the GraphqlApis field's value.
  8810  func (s *ListGraphqlApisOutput) SetGraphqlApis(v []*GraphqlApi) *ListGraphqlApisOutput {
  8811  	s.GraphqlApis = v
  8812  	return s
  8813  }
  8814  
  8815  // SetNextToken sets the NextToken field's value.
  8816  func (s *ListGraphqlApisOutput) SetNextToken(v string) *ListGraphqlApisOutput {
  8817  	s.NextToken = &v
  8818  	return s
  8819  }
  8820  
  8821  type ListResolversByFunctionInput struct {
  8822  	_ struct{} `type:"structure" nopayload:"true"`
  8823  
  8824  	// The API ID.
  8825  	//
  8826  	// ApiId is a required field
  8827  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8828  
  8829  	// The Function ID.
  8830  	//
  8831  	// FunctionId is a required field
  8832  	FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"`
  8833  
  8834  	// The maximum number of results you want the request to return.
  8835  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  8836  
  8837  	// An identifier that was returned from the previous call to this operation,
  8838  	// which you can use to return the next set of items in the list.
  8839  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8840  }
  8841  
  8842  // String returns the string representation.
  8843  //
  8844  // API parameter values that are decorated as "sensitive" in the API will not
  8845  // be included in the string output. The member name will be present, but the
  8846  // value will be replaced with "sensitive".
  8847  func (s ListResolversByFunctionInput) String() string {
  8848  	return awsutil.Prettify(s)
  8849  }
  8850  
  8851  // GoString returns the string representation.
  8852  //
  8853  // API parameter values that are decorated as "sensitive" in the API will not
  8854  // be included in the string output. The member name will be present, but the
  8855  // value will be replaced with "sensitive".
  8856  func (s ListResolversByFunctionInput) GoString() string {
  8857  	return s.String()
  8858  }
  8859  
  8860  // Validate inspects the fields of the type to determine if they are valid.
  8861  func (s *ListResolversByFunctionInput) Validate() error {
  8862  	invalidParams := request.ErrInvalidParams{Context: "ListResolversByFunctionInput"}
  8863  	if s.ApiId == nil {
  8864  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8865  	}
  8866  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8867  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8868  	}
  8869  	if s.FunctionId == nil {
  8870  		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
  8871  	}
  8872  	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
  8873  		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
  8874  	}
  8875  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8876  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8877  	}
  8878  
  8879  	if invalidParams.Len() > 0 {
  8880  		return invalidParams
  8881  	}
  8882  	return nil
  8883  }
  8884  
  8885  // SetApiId sets the ApiId field's value.
  8886  func (s *ListResolversByFunctionInput) SetApiId(v string) *ListResolversByFunctionInput {
  8887  	s.ApiId = &v
  8888  	return s
  8889  }
  8890  
  8891  // SetFunctionId sets the FunctionId field's value.
  8892  func (s *ListResolversByFunctionInput) SetFunctionId(v string) *ListResolversByFunctionInput {
  8893  	s.FunctionId = &v
  8894  	return s
  8895  }
  8896  
  8897  // SetMaxResults sets the MaxResults field's value.
  8898  func (s *ListResolversByFunctionInput) SetMaxResults(v int64) *ListResolversByFunctionInput {
  8899  	s.MaxResults = &v
  8900  	return s
  8901  }
  8902  
  8903  // SetNextToken sets the NextToken field's value.
  8904  func (s *ListResolversByFunctionInput) SetNextToken(v string) *ListResolversByFunctionInput {
  8905  	s.NextToken = &v
  8906  	return s
  8907  }
  8908  
  8909  type ListResolversByFunctionOutput struct {
  8910  	_ struct{} `type:"structure"`
  8911  
  8912  	// An identifier that can be used to return the next set of items in the list.
  8913  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  8914  
  8915  	// The list of resolvers.
  8916  	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
  8917  }
  8918  
  8919  // String returns the string representation.
  8920  //
  8921  // API parameter values that are decorated as "sensitive" in the API will not
  8922  // be included in the string output. The member name will be present, but the
  8923  // value will be replaced with "sensitive".
  8924  func (s ListResolversByFunctionOutput) String() string {
  8925  	return awsutil.Prettify(s)
  8926  }
  8927  
  8928  // GoString returns the string representation.
  8929  //
  8930  // API parameter values that are decorated as "sensitive" in the API will not
  8931  // be included in the string output. The member name will be present, but the
  8932  // value will be replaced with "sensitive".
  8933  func (s ListResolversByFunctionOutput) GoString() string {
  8934  	return s.String()
  8935  }
  8936  
  8937  // SetNextToken sets the NextToken field's value.
  8938  func (s *ListResolversByFunctionOutput) SetNextToken(v string) *ListResolversByFunctionOutput {
  8939  	s.NextToken = &v
  8940  	return s
  8941  }
  8942  
  8943  // SetResolvers sets the Resolvers field's value.
  8944  func (s *ListResolversByFunctionOutput) SetResolvers(v []*Resolver) *ListResolversByFunctionOutput {
  8945  	s.Resolvers = v
  8946  	return s
  8947  }
  8948  
  8949  type ListResolversInput struct {
  8950  	_ struct{} `type:"structure" nopayload:"true"`
  8951  
  8952  	// The API ID.
  8953  	//
  8954  	// ApiId is a required field
  8955  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  8956  
  8957  	// The maximum number of results you want the request to return.
  8958  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  8959  
  8960  	// An identifier that was returned from the previous call to this operation,
  8961  	// which can be used to return the next set of items in the list.
  8962  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  8963  
  8964  	// The type name.
  8965  	//
  8966  	// TypeName is a required field
  8967  	TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"`
  8968  }
  8969  
  8970  // String returns the string representation.
  8971  //
  8972  // API parameter values that are decorated as "sensitive" in the API will not
  8973  // be included in the string output. The member name will be present, but the
  8974  // value will be replaced with "sensitive".
  8975  func (s ListResolversInput) String() string {
  8976  	return awsutil.Prettify(s)
  8977  }
  8978  
  8979  // GoString returns the string representation.
  8980  //
  8981  // API parameter values that are decorated as "sensitive" in the API will not
  8982  // be included in the string output. The member name will be present, but the
  8983  // value will be replaced with "sensitive".
  8984  func (s ListResolversInput) GoString() string {
  8985  	return s.String()
  8986  }
  8987  
  8988  // Validate inspects the fields of the type to determine if they are valid.
  8989  func (s *ListResolversInput) Validate() error {
  8990  	invalidParams := request.ErrInvalidParams{Context: "ListResolversInput"}
  8991  	if s.ApiId == nil {
  8992  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  8993  	}
  8994  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  8995  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  8996  	}
  8997  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8998  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8999  	}
  9000  	if s.TypeName == nil {
  9001  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
  9002  	}
  9003  	if s.TypeName != nil && len(*s.TypeName) < 1 {
  9004  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
  9005  	}
  9006  
  9007  	if invalidParams.Len() > 0 {
  9008  		return invalidParams
  9009  	}
  9010  	return nil
  9011  }
  9012  
  9013  // SetApiId sets the ApiId field's value.
  9014  func (s *ListResolversInput) SetApiId(v string) *ListResolversInput {
  9015  	s.ApiId = &v
  9016  	return s
  9017  }
  9018  
  9019  // SetMaxResults sets the MaxResults field's value.
  9020  func (s *ListResolversInput) SetMaxResults(v int64) *ListResolversInput {
  9021  	s.MaxResults = &v
  9022  	return s
  9023  }
  9024  
  9025  // SetNextToken sets the NextToken field's value.
  9026  func (s *ListResolversInput) SetNextToken(v string) *ListResolversInput {
  9027  	s.NextToken = &v
  9028  	return s
  9029  }
  9030  
  9031  // SetTypeName sets the TypeName field's value.
  9032  func (s *ListResolversInput) SetTypeName(v string) *ListResolversInput {
  9033  	s.TypeName = &v
  9034  	return s
  9035  }
  9036  
  9037  type ListResolversOutput struct {
  9038  	_ struct{} `type:"structure"`
  9039  
  9040  	// An identifier to be passed in the next request to this operation to return
  9041  	// the next set of items in the list.
  9042  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  9043  
  9044  	// The Resolver objects.
  9045  	Resolvers []*Resolver `locationName:"resolvers" type:"list"`
  9046  }
  9047  
  9048  // String returns the string representation.
  9049  //
  9050  // API parameter values that are decorated as "sensitive" in the API will not
  9051  // be included in the string output. The member name will be present, but the
  9052  // value will be replaced with "sensitive".
  9053  func (s ListResolversOutput) String() string {
  9054  	return awsutil.Prettify(s)
  9055  }
  9056  
  9057  // GoString returns the string representation.
  9058  //
  9059  // API parameter values that are decorated as "sensitive" in the API will not
  9060  // be included in the string output. The member name will be present, but the
  9061  // value will be replaced with "sensitive".
  9062  func (s ListResolversOutput) GoString() string {
  9063  	return s.String()
  9064  }
  9065  
  9066  // SetNextToken sets the NextToken field's value.
  9067  func (s *ListResolversOutput) SetNextToken(v string) *ListResolversOutput {
  9068  	s.NextToken = &v
  9069  	return s
  9070  }
  9071  
  9072  // SetResolvers sets the Resolvers field's value.
  9073  func (s *ListResolversOutput) SetResolvers(v []*Resolver) *ListResolversOutput {
  9074  	s.Resolvers = v
  9075  	return s
  9076  }
  9077  
  9078  type ListTagsForResourceInput struct {
  9079  	_ struct{} `type:"structure" nopayload:"true"`
  9080  
  9081  	// The GraphqlApi ARN.
  9082  	//
  9083  	// ResourceArn is a required field
  9084  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
  9085  }
  9086  
  9087  // String 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 ListTagsForResourceInput) String() string {
  9093  	return awsutil.Prettify(s)
  9094  }
  9095  
  9096  // GoString returns the string representation.
  9097  //
  9098  // API parameter values that are decorated as "sensitive" in the API will not
  9099  // be included in the string output. The member name will be present, but the
  9100  // value will be replaced with "sensitive".
  9101  func (s ListTagsForResourceInput) GoString() string {
  9102  	return s.String()
  9103  }
  9104  
  9105  // Validate inspects the fields of the type to determine if they are valid.
  9106  func (s *ListTagsForResourceInput) Validate() error {
  9107  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  9108  	if s.ResourceArn == nil {
  9109  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9110  	}
  9111  	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
  9112  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
  9113  	}
  9114  
  9115  	if invalidParams.Len() > 0 {
  9116  		return invalidParams
  9117  	}
  9118  	return nil
  9119  }
  9120  
  9121  // SetResourceArn sets the ResourceArn field's value.
  9122  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  9123  	s.ResourceArn = &v
  9124  	return s
  9125  }
  9126  
  9127  type ListTagsForResourceOutput struct {
  9128  	_ struct{} `type:"structure"`
  9129  
  9130  	// A TagMap object.
  9131  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9132  }
  9133  
  9134  // String returns the string representation.
  9135  //
  9136  // API parameter values that are decorated as "sensitive" in the API will not
  9137  // be included in the string output. The member name will be present, but the
  9138  // value will be replaced with "sensitive".
  9139  func (s ListTagsForResourceOutput) String() string {
  9140  	return awsutil.Prettify(s)
  9141  }
  9142  
  9143  // GoString returns the string representation.
  9144  //
  9145  // API parameter values that are decorated as "sensitive" in the API will not
  9146  // be included in the string output. The member name will be present, but the
  9147  // value will be replaced with "sensitive".
  9148  func (s ListTagsForResourceOutput) GoString() string {
  9149  	return s.String()
  9150  }
  9151  
  9152  // SetTags sets the Tags field's value.
  9153  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  9154  	s.Tags = v
  9155  	return s
  9156  }
  9157  
  9158  type ListTypesInput struct {
  9159  	_ struct{} `type:"structure" nopayload:"true"`
  9160  
  9161  	// The API ID.
  9162  	//
  9163  	// ApiId is a required field
  9164  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  9165  
  9166  	// The type format: SDL or JSON.
  9167  	//
  9168  	// Format is a required field
  9169  	Format *string `location:"querystring" locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
  9170  
  9171  	// The maximum number of results you want the request to return.
  9172  	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
  9173  
  9174  	// An identifier that was returned from the previous call to this operation,
  9175  	// which can be used to return the next set of items in the list.
  9176  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  9177  }
  9178  
  9179  // String returns the string representation.
  9180  //
  9181  // API parameter values that are decorated as "sensitive" in the API will not
  9182  // be included in the string output. The member name will be present, but the
  9183  // value will be replaced with "sensitive".
  9184  func (s ListTypesInput) String() string {
  9185  	return awsutil.Prettify(s)
  9186  }
  9187  
  9188  // GoString returns the string representation.
  9189  //
  9190  // API parameter values that are decorated as "sensitive" in the API will not
  9191  // be included in the string output. The member name will be present, but the
  9192  // value will be replaced with "sensitive".
  9193  func (s ListTypesInput) GoString() string {
  9194  	return s.String()
  9195  }
  9196  
  9197  // Validate inspects the fields of the type to determine if they are valid.
  9198  func (s *ListTypesInput) Validate() error {
  9199  	invalidParams := request.ErrInvalidParams{Context: "ListTypesInput"}
  9200  	if s.ApiId == nil {
  9201  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  9202  	}
  9203  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  9204  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  9205  	}
  9206  	if s.Format == nil {
  9207  		invalidParams.Add(request.NewErrParamRequired("Format"))
  9208  	}
  9209  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9210  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9211  	}
  9212  
  9213  	if invalidParams.Len() > 0 {
  9214  		return invalidParams
  9215  	}
  9216  	return nil
  9217  }
  9218  
  9219  // SetApiId sets the ApiId field's value.
  9220  func (s *ListTypesInput) SetApiId(v string) *ListTypesInput {
  9221  	s.ApiId = &v
  9222  	return s
  9223  }
  9224  
  9225  // SetFormat sets the Format field's value.
  9226  func (s *ListTypesInput) SetFormat(v string) *ListTypesInput {
  9227  	s.Format = &v
  9228  	return s
  9229  }
  9230  
  9231  // SetMaxResults sets the MaxResults field's value.
  9232  func (s *ListTypesInput) SetMaxResults(v int64) *ListTypesInput {
  9233  	s.MaxResults = &v
  9234  	return s
  9235  }
  9236  
  9237  // SetNextToken sets the NextToken field's value.
  9238  func (s *ListTypesInput) SetNextToken(v string) *ListTypesInput {
  9239  	s.NextToken = &v
  9240  	return s
  9241  }
  9242  
  9243  type ListTypesOutput struct {
  9244  	_ struct{} `type:"structure"`
  9245  
  9246  	// An identifier to be passed in the next request to this operation to return
  9247  	// the next set of items in the list.
  9248  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  9249  
  9250  	// The Type objects.
  9251  	Types []*Type `locationName:"types" type:"list"`
  9252  }
  9253  
  9254  // String returns the string representation.
  9255  //
  9256  // API parameter values that are decorated as "sensitive" in the API will not
  9257  // be included in the string output. The member name will be present, but the
  9258  // value will be replaced with "sensitive".
  9259  func (s ListTypesOutput) String() string {
  9260  	return awsutil.Prettify(s)
  9261  }
  9262  
  9263  // GoString returns the string representation.
  9264  //
  9265  // API parameter values that are decorated as "sensitive" in the API will not
  9266  // be included in the string output. The member name will be present, but the
  9267  // value will be replaced with "sensitive".
  9268  func (s ListTypesOutput) GoString() string {
  9269  	return s.String()
  9270  }
  9271  
  9272  // SetNextToken sets the NextToken field's value.
  9273  func (s *ListTypesOutput) SetNextToken(v string) *ListTypesOutput {
  9274  	s.NextToken = &v
  9275  	return s
  9276  }
  9277  
  9278  // SetTypes sets the Types field's value.
  9279  func (s *ListTypesOutput) SetTypes(v []*Type) *ListTypesOutput {
  9280  	s.Types = v
  9281  	return s
  9282  }
  9283  
  9284  // The CloudWatch Logs configuration.
  9285  type LogConfig struct {
  9286  	_ struct{} `type:"structure"`
  9287  
  9288  	// The service role that AppSync will assume to publish to Amazon CloudWatch
  9289  	// logs in your account.
  9290  	//
  9291  	// CloudWatchLogsRoleArn is a required field
  9292  	CloudWatchLogsRoleArn *string `locationName:"cloudWatchLogsRoleArn" type:"string" required:"true"`
  9293  
  9294  	// Set to TRUE to exclude sections that contain information such as headers,
  9295  	// context, and evaluated mapping templates, regardless of logging level.
  9296  	ExcludeVerboseContent *bool `locationName:"excludeVerboseContent" type:"boolean"`
  9297  
  9298  	// The field logging level. Values can be NONE, ERROR, or ALL.
  9299  	//
  9300  	//    * NONE: No field-level logs are captured.
  9301  	//
  9302  	//    * ERROR: Logs the following information only for the fields that are in
  9303  	//    error: The error section in the server response. Field-level errors. The
  9304  	//    generated request/response functions that got resolved for error fields.
  9305  	//
  9306  	//    * ALL: The following information is logged for all fields in the query:
  9307  	//    Field-level tracing information. The generated request/response functions
  9308  	//    that got resolved for each field.
  9309  	//
  9310  	// FieldLogLevel is a required field
  9311  	FieldLogLevel *string `locationName:"fieldLogLevel" type:"string" required:"true" enum:"FieldLogLevel"`
  9312  }
  9313  
  9314  // String returns the string representation.
  9315  //
  9316  // API parameter values that are decorated as "sensitive" in the API will not
  9317  // be included in the string output. The member name will be present, but the
  9318  // value will be replaced with "sensitive".
  9319  func (s LogConfig) String() string {
  9320  	return awsutil.Prettify(s)
  9321  }
  9322  
  9323  // GoString returns the string representation.
  9324  //
  9325  // API parameter values that are decorated as "sensitive" in the API will not
  9326  // be included in the string output. The member name will be present, but the
  9327  // value will be replaced with "sensitive".
  9328  func (s LogConfig) GoString() string {
  9329  	return s.String()
  9330  }
  9331  
  9332  // Validate inspects the fields of the type to determine if they are valid.
  9333  func (s *LogConfig) Validate() error {
  9334  	invalidParams := request.ErrInvalidParams{Context: "LogConfig"}
  9335  	if s.CloudWatchLogsRoleArn == nil {
  9336  		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogsRoleArn"))
  9337  	}
  9338  	if s.FieldLogLevel == nil {
  9339  		invalidParams.Add(request.NewErrParamRequired("FieldLogLevel"))
  9340  	}
  9341  
  9342  	if invalidParams.Len() > 0 {
  9343  		return invalidParams
  9344  	}
  9345  	return nil
  9346  }
  9347  
  9348  // SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
  9349  func (s *LogConfig) SetCloudWatchLogsRoleArn(v string) *LogConfig {
  9350  	s.CloudWatchLogsRoleArn = &v
  9351  	return s
  9352  }
  9353  
  9354  // SetExcludeVerboseContent sets the ExcludeVerboseContent field's value.
  9355  func (s *LogConfig) SetExcludeVerboseContent(v bool) *LogConfig {
  9356  	s.ExcludeVerboseContent = &v
  9357  	return s
  9358  }
  9359  
  9360  // SetFieldLogLevel sets the FieldLogLevel field's value.
  9361  func (s *LogConfig) SetFieldLogLevel(v string) *LogConfig {
  9362  	s.FieldLogLevel = &v
  9363  	return s
  9364  }
  9365  
  9366  // The resource specified in the request was not found. Check the resource,
  9367  // and then try again.
  9368  type NotFoundException struct {
  9369  	_            struct{}                  `type:"structure"`
  9370  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9371  
  9372  	Message_ *string `locationName:"message" type:"string"`
  9373  }
  9374  
  9375  // String returns the string representation.
  9376  //
  9377  // API parameter values that are decorated as "sensitive" in the API will not
  9378  // be included in the string output. The member name will be present, but the
  9379  // value will be replaced with "sensitive".
  9380  func (s NotFoundException) String() string {
  9381  	return awsutil.Prettify(s)
  9382  }
  9383  
  9384  // GoString returns the string representation.
  9385  //
  9386  // API parameter values that are decorated as "sensitive" in the API will not
  9387  // be included in the string output. The member name will be present, but the
  9388  // value will be replaced with "sensitive".
  9389  func (s NotFoundException) GoString() string {
  9390  	return s.String()
  9391  }
  9392  
  9393  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
  9394  	return &NotFoundException{
  9395  		RespMetadata: v,
  9396  	}
  9397  }
  9398  
  9399  // Code returns the exception type name.
  9400  func (s *NotFoundException) Code() string {
  9401  	return "NotFoundException"
  9402  }
  9403  
  9404  // Message returns the exception's message.
  9405  func (s *NotFoundException) Message() string {
  9406  	if s.Message_ != nil {
  9407  		return *s.Message_
  9408  	}
  9409  	return ""
  9410  }
  9411  
  9412  // OrigErr always returns nil, satisfies awserr.Error interface.
  9413  func (s *NotFoundException) OrigErr() error {
  9414  	return nil
  9415  }
  9416  
  9417  func (s *NotFoundException) Error() string {
  9418  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9419  }
  9420  
  9421  // Status code returns the HTTP status code for the request's response error.
  9422  func (s *NotFoundException) StatusCode() int {
  9423  	return s.RespMetadata.StatusCode
  9424  }
  9425  
  9426  // RequestID returns the service's response RequestID for request.
  9427  func (s *NotFoundException) RequestID() string {
  9428  	return s.RespMetadata.RequestID
  9429  }
  9430  
  9431  // Describes an OpenID Connect configuration.
  9432  type OpenIDConnectConfig struct {
  9433  	_ struct{} `type:"structure"`
  9434  
  9435  	// The number of milliseconds a token is valid after being authenticated.
  9436  	AuthTTL *int64 `locationName:"authTTL" type:"long"`
  9437  
  9438  	// The client identifier of the Relying party at the OpenID identity provider.
  9439  	// This identifier is typically obtained when the Relying party is registered
  9440  	// with the OpenID identity provider. You can specify a regular expression so
  9441  	// the AppSync can validate against multiple client identifiers at a time.
  9442  	ClientId *string `locationName:"clientId" type:"string"`
  9443  
  9444  	// The number of milliseconds a token is valid after being issued to a user.
  9445  	IatTTL *int64 `locationName:"iatTTL" type:"long"`
  9446  
  9447  	// The issuer for the OpenID Connect configuration. The issuer returned by discovery
  9448  	// must exactly match the value of iss in the ID token.
  9449  	//
  9450  	// Issuer is a required field
  9451  	Issuer *string `locationName:"issuer" type:"string" required:"true"`
  9452  }
  9453  
  9454  // String returns the string representation.
  9455  //
  9456  // API parameter values that are decorated as "sensitive" in the API will not
  9457  // be included in the string output. The member name will be present, but the
  9458  // value will be replaced with "sensitive".
  9459  func (s OpenIDConnectConfig) String() string {
  9460  	return awsutil.Prettify(s)
  9461  }
  9462  
  9463  // GoString returns the string representation.
  9464  //
  9465  // API parameter values that are decorated as "sensitive" in the API will not
  9466  // be included in the string output. The member name will be present, but the
  9467  // value will be replaced with "sensitive".
  9468  func (s OpenIDConnectConfig) GoString() string {
  9469  	return s.String()
  9470  }
  9471  
  9472  // Validate inspects the fields of the type to determine if they are valid.
  9473  func (s *OpenIDConnectConfig) Validate() error {
  9474  	invalidParams := request.ErrInvalidParams{Context: "OpenIDConnectConfig"}
  9475  	if s.Issuer == nil {
  9476  		invalidParams.Add(request.NewErrParamRequired("Issuer"))
  9477  	}
  9478  
  9479  	if invalidParams.Len() > 0 {
  9480  		return invalidParams
  9481  	}
  9482  	return nil
  9483  }
  9484  
  9485  // SetAuthTTL sets the AuthTTL field's value.
  9486  func (s *OpenIDConnectConfig) SetAuthTTL(v int64) *OpenIDConnectConfig {
  9487  	s.AuthTTL = &v
  9488  	return s
  9489  }
  9490  
  9491  // SetClientId sets the ClientId field's value.
  9492  func (s *OpenIDConnectConfig) SetClientId(v string) *OpenIDConnectConfig {
  9493  	s.ClientId = &v
  9494  	return s
  9495  }
  9496  
  9497  // SetIatTTL sets the IatTTL field's value.
  9498  func (s *OpenIDConnectConfig) SetIatTTL(v int64) *OpenIDConnectConfig {
  9499  	s.IatTTL = &v
  9500  	return s
  9501  }
  9502  
  9503  // SetIssuer sets the Issuer field's value.
  9504  func (s *OpenIDConnectConfig) SetIssuer(v string) *OpenIDConnectConfig {
  9505  	s.Issuer = &v
  9506  	return s
  9507  }
  9508  
  9509  // Describes an OpenSearch data source configuration.
  9510  type OpenSearchServiceDataSourceConfig struct {
  9511  	_ struct{} `type:"structure"`
  9512  
  9513  	// The Amazon Web Services Region.
  9514  	//
  9515  	// AwsRegion is a required field
  9516  	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
  9517  
  9518  	// The endpoint.
  9519  	//
  9520  	// Endpoint is a required field
  9521  	Endpoint *string `locationName:"endpoint" type:"string" required:"true"`
  9522  }
  9523  
  9524  // String returns the string representation.
  9525  //
  9526  // API parameter values that are decorated as "sensitive" in the API will not
  9527  // be included in the string output. The member name will be present, but the
  9528  // value will be replaced with "sensitive".
  9529  func (s OpenSearchServiceDataSourceConfig) String() string {
  9530  	return awsutil.Prettify(s)
  9531  }
  9532  
  9533  // GoString returns the string representation.
  9534  //
  9535  // API parameter values that are decorated as "sensitive" in the API will not
  9536  // be included in the string output. The member name will be present, but the
  9537  // value will be replaced with "sensitive".
  9538  func (s OpenSearchServiceDataSourceConfig) GoString() string {
  9539  	return s.String()
  9540  }
  9541  
  9542  // Validate inspects the fields of the type to determine if they are valid.
  9543  func (s *OpenSearchServiceDataSourceConfig) Validate() error {
  9544  	invalidParams := request.ErrInvalidParams{Context: "OpenSearchServiceDataSourceConfig"}
  9545  	if s.AwsRegion == nil {
  9546  		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
  9547  	}
  9548  	if s.Endpoint == nil {
  9549  		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
  9550  	}
  9551  
  9552  	if invalidParams.Len() > 0 {
  9553  		return invalidParams
  9554  	}
  9555  	return nil
  9556  }
  9557  
  9558  // SetAwsRegion sets the AwsRegion field's value.
  9559  func (s *OpenSearchServiceDataSourceConfig) SetAwsRegion(v string) *OpenSearchServiceDataSourceConfig {
  9560  	s.AwsRegion = &v
  9561  	return s
  9562  }
  9563  
  9564  // SetEndpoint sets the Endpoint field's value.
  9565  func (s *OpenSearchServiceDataSourceConfig) SetEndpoint(v string) *OpenSearchServiceDataSourceConfig {
  9566  	s.Endpoint = &v
  9567  	return s
  9568  }
  9569  
  9570  // The pipeline configuration for a resolver of kind PIPELINE.
  9571  type PipelineConfig struct {
  9572  	_ struct{} `type:"structure"`
  9573  
  9574  	// A list of Function objects.
  9575  	Functions []*string `locationName:"functions" type:"list"`
  9576  }
  9577  
  9578  // String returns the string representation.
  9579  //
  9580  // API parameter values that are decorated as "sensitive" in the API will not
  9581  // be included in the string output. The member name will be present, but the
  9582  // value will be replaced with "sensitive".
  9583  func (s PipelineConfig) String() string {
  9584  	return awsutil.Prettify(s)
  9585  }
  9586  
  9587  // GoString returns the string representation.
  9588  //
  9589  // API parameter values that are decorated as "sensitive" in the API will not
  9590  // be included in the string output. The member name will be present, but the
  9591  // value will be replaced with "sensitive".
  9592  func (s PipelineConfig) GoString() string {
  9593  	return s.String()
  9594  }
  9595  
  9596  // SetFunctions sets the Functions field's value.
  9597  func (s *PipelineConfig) SetFunctions(v []*string) *PipelineConfig {
  9598  	s.Functions = v
  9599  	return s
  9600  }
  9601  
  9602  // The Amazon RDS HTTP endpoint configuration.
  9603  type RdsHttpEndpointConfig struct {
  9604  	_ struct{} `type:"structure"`
  9605  
  9606  	// Amazon Web Services Region for RDS HTTP endpoint.
  9607  	AwsRegion *string `locationName:"awsRegion" type:"string"`
  9608  
  9609  	// Amazon Web Services secret store ARN for database credentials.
  9610  	AwsSecretStoreArn *string `locationName:"awsSecretStoreArn" type:"string"`
  9611  
  9612  	// Logical database name.
  9613  	DatabaseName *string `locationName:"databaseName" type:"string"`
  9614  
  9615  	// Amazon RDS cluster ARN.
  9616  	DbClusterIdentifier *string `locationName:"dbClusterIdentifier" type:"string"`
  9617  
  9618  	// Logical schema name.
  9619  	Schema *string `locationName:"schema" type:"string"`
  9620  }
  9621  
  9622  // String returns the string representation.
  9623  //
  9624  // API parameter values that are decorated as "sensitive" in the API will not
  9625  // be included in the string output. The member name will be present, but the
  9626  // value will be replaced with "sensitive".
  9627  func (s RdsHttpEndpointConfig) String() string {
  9628  	return awsutil.Prettify(s)
  9629  }
  9630  
  9631  // GoString returns the string representation.
  9632  //
  9633  // API parameter values that are decorated as "sensitive" in the API will not
  9634  // be included in the string output. The member name will be present, but the
  9635  // value will be replaced with "sensitive".
  9636  func (s RdsHttpEndpointConfig) GoString() string {
  9637  	return s.String()
  9638  }
  9639  
  9640  // SetAwsRegion sets the AwsRegion field's value.
  9641  func (s *RdsHttpEndpointConfig) SetAwsRegion(v string) *RdsHttpEndpointConfig {
  9642  	s.AwsRegion = &v
  9643  	return s
  9644  }
  9645  
  9646  // SetAwsSecretStoreArn sets the AwsSecretStoreArn field's value.
  9647  func (s *RdsHttpEndpointConfig) SetAwsSecretStoreArn(v string) *RdsHttpEndpointConfig {
  9648  	s.AwsSecretStoreArn = &v
  9649  	return s
  9650  }
  9651  
  9652  // SetDatabaseName sets the DatabaseName field's value.
  9653  func (s *RdsHttpEndpointConfig) SetDatabaseName(v string) *RdsHttpEndpointConfig {
  9654  	s.DatabaseName = &v
  9655  	return s
  9656  }
  9657  
  9658  // SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
  9659  func (s *RdsHttpEndpointConfig) SetDbClusterIdentifier(v string) *RdsHttpEndpointConfig {
  9660  	s.DbClusterIdentifier = &v
  9661  	return s
  9662  }
  9663  
  9664  // SetSchema sets the Schema field's value.
  9665  func (s *RdsHttpEndpointConfig) SetSchema(v string) *RdsHttpEndpointConfig {
  9666  	s.Schema = &v
  9667  	return s
  9668  }
  9669  
  9670  // Describes a relational database data source configuration.
  9671  type RelationalDatabaseDataSourceConfig struct {
  9672  	_ struct{} `type:"structure"`
  9673  
  9674  	// Amazon RDS HTTP endpoint settings.
  9675  	RdsHttpEndpointConfig *RdsHttpEndpointConfig `locationName:"rdsHttpEndpointConfig" type:"structure"`
  9676  
  9677  	// Source type for the relational database.
  9678  	//
  9679  	//    * RDS_HTTP_ENDPOINT: The relational database source type is an Amazon
  9680  	//    RDS HTTP endpoint.
  9681  	RelationalDatabaseSourceType *string `locationName:"relationalDatabaseSourceType" type:"string" enum:"RelationalDatabaseSourceType"`
  9682  }
  9683  
  9684  // String returns the string representation.
  9685  //
  9686  // API parameter values that are decorated as "sensitive" in the API will not
  9687  // be included in the string output. The member name will be present, but the
  9688  // value will be replaced with "sensitive".
  9689  func (s RelationalDatabaseDataSourceConfig) String() string {
  9690  	return awsutil.Prettify(s)
  9691  }
  9692  
  9693  // GoString returns the string representation.
  9694  //
  9695  // API parameter values that are decorated as "sensitive" in the API will not
  9696  // be included in the string output. The member name will be present, but the
  9697  // value will be replaced with "sensitive".
  9698  func (s RelationalDatabaseDataSourceConfig) GoString() string {
  9699  	return s.String()
  9700  }
  9701  
  9702  // SetRdsHttpEndpointConfig sets the RdsHttpEndpointConfig field's value.
  9703  func (s *RelationalDatabaseDataSourceConfig) SetRdsHttpEndpointConfig(v *RdsHttpEndpointConfig) *RelationalDatabaseDataSourceConfig {
  9704  	s.RdsHttpEndpointConfig = v
  9705  	return s
  9706  }
  9707  
  9708  // SetRelationalDatabaseSourceType sets the RelationalDatabaseSourceType field's value.
  9709  func (s *RelationalDatabaseDataSourceConfig) SetRelationalDatabaseSourceType(v string) *RelationalDatabaseDataSourceConfig {
  9710  	s.RelationalDatabaseSourceType = &v
  9711  	return s
  9712  }
  9713  
  9714  // Describes a resolver.
  9715  type Resolver struct {
  9716  	_ struct{} `type:"structure"`
  9717  
  9718  	// The caching configuration for the resolver.
  9719  	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
  9720  
  9721  	// The resolver data source name.
  9722  	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
  9723  
  9724  	// The resolver field name.
  9725  	FieldName *string `locationName:"fieldName" min:"1" type:"string"`
  9726  
  9727  	// The resolver type.
  9728  	//
  9729  	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
  9730  	//    type. A UNIT resolver enables you to execute a GraphQL query against a
  9731  	//    single data source.
  9732  	//
  9733  	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
  9734  	//    to execute a series of Function in a serial manner. You can use a pipeline
  9735  	//    resolver to execute a GraphQL query against multiple data sources.
  9736  	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
  9737  
  9738  	// The PipelineConfig.
  9739  	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
  9740  
  9741  	// The request mapping template.
  9742  	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
  9743  
  9744  	// The resolver ARN.
  9745  	ResolverArn *string `locationName:"resolverArn" type:"string"`
  9746  
  9747  	// The response mapping template.
  9748  	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
  9749  
  9750  	// The SyncConfig for a resolver attached to a versioned datasource.
  9751  	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
  9752  
  9753  	// The resolver type name.
  9754  	TypeName *string `locationName:"typeName" min:"1" type:"string"`
  9755  }
  9756  
  9757  // String returns the string representation.
  9758  //
  9759  // API parameter values that are decorated as "sensitive" in the API will not
  9760  // be included in the string output. The member name will be present, but the
  9761  // value will be replaced with "sensitive".
  9762  func (s Resolver) String() string {
  9763  	return awsutil.Prettify(s)
  9764  }
  9765  
  9766  // GoString returns the string representation.
  9767  //
  9768  // API parameter values that are decorated as "sensitive" in the API will not
  9769  // be included in the string output. The member name will be present, but the
  9770  // value will be replaced with "sensitive".
  9771  func (s Resolver) GoString() string {
  9772  	return s.String()
  9773  }
  9774  
  9775  // SetCachingConfig sets the CachingConfig field's value.
  9776  func (s *Resolver) SetCachingConfig(v *CachingConfig) *Resolver {
  9777  	s.CachingConfig = v
  9778  	return s
  9779  }
  9780  
  9781  // SetDataSourceName sets the DataSourceName field's value.
  9782  func (s *Resolver) SetDataSourceName(v string) *Resolver {
  9783  	s.DataSourceName = &v
  9784  	return s
  9785  }
  9786  
  9787  // SetFieldName sets the FieldName field's value.
  9788  func (s *Resolver) SetFieldName(v string) *Resolver {
  9789  	s.FieldName = &v
  9790  	return s
  9791  }
  9792  
  9793  // SetKind sets the Kind field's value.
  9794  func (s *Resolver) SetKind(v string) *Resolver {
  9795  	s.Kind = &v
  9796  	return s
  9797  }
  9798  
  9799  // SetPipelineConfig sets the PipelineConfig field's value.
  9800  func (s *Resolver) SetPipelineConfig(v *PipelineConfig) *Resolver {
  9801  	s.PipelineConfig = v
  9802  	return s
  9803  }
  9804  
  9805  // SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
  9806  func (s *Resolver) SetRequestMappingTemplate(v string) *Resolver {
  9807  	s.RequestMappingTemplate = &v
  9808  	return s
  9809  }
  9810  
  9811  // SetResolverArn sets the ResolverArn field's value.
  9812  func (s *Resolver) SetResolverArn(v string) *Resolver {
  9813  	s.ResolverArn = &v
  9814  	return s
  9815  }
  9816  
  9817  // SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
  9818  func (s *Resolver) SetResponseMappingTemplate(v string) *Resolver {
  9819  	s.ResponseMappingTemplate = &v
  9820  	return s
  9821  }
  9822  
  9823  // SetSyncConfig sets the SyncConfig field's value.
  9824  func (s *Resolver) SetSyncConfig(v *SyncConfig) *Resolver {
  9825  	s.SyncConfig = v
  9826  	return s
  9827  }
  9828  
  9829  // SetTypeName sets the TypeName field's value.
  9830  func (s *Resolver) SetTypeName(v string) *Resolver {
  9831  	s.TypeName = &v
  9832  	return s
  9833  }
  9834  
  9835  type StartSchemaCreationInput struct {
  9836  	_ struct{} `type:"structure"`
  9837  
  9838  	// The API ID.
  9839  	//
  9840  	// ApiId is a required field
  9841  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
  9842  
  9843  	// The schema definition, in GraphQL schema language format.
  9844  	// Definition is automatically base64 encoded/decoded by the SDK.
  9845  	//
  9846  	// Definition is a required field
  9847  	Definition []byte `locationName:"definition" type:"blob" required:"true"`
  9848  }
  9849  
  9850  // String returns the string representation.
  9851  //
  9852  // API parameter values that are decorated as "sensitive" in the API will not
  9853  // be included in the string output. The member name will be present, but the
  9854  // value will be replaced with "sensitive".
  9855  func (s StartSchemaCreationInput) String() string {
  9856  	return awsutil.Prettify(s)
  9857  }
  9858  
  9859  // GoString returns the string representation.
  9860  //
  9861  // API parameter values that are decorated as "sensitive" in the API will not
  9862  // be included in the string output. The member name will be present, but the
  9863  // value will be replaced with "sensitive".
  9864  func (s StartSchemaCreationInput) GoString() string {
  9865  	return s.String()
  9866  }
  9867  
  9868  // Validate inspects the fields of the type to determine if they are valid.
  9869  func (s *StartSchemaCreationInput) Validate() error {
  9870  	invalidParams := request.ErrInvalidParams{Context: "StartSchemaCreationInput"}
  9871  	if s.ApiId == nil {
  9872  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
  9873  	}
  9874  	if s.ApiId != nil && len(*s.ApiId) < 1 {
  9875  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
  9876  	}
  9877  	if s.Definition == nil {
  9878  		invalidParams.Add(request.NewErrParamRequired("Definition"))
  9879  	}
  9880  
  9881  	if invalidParams.Len() > 0 {
  9882  		return invalidParams
  9883  	}
  9884  	return nil
  9885  }
  9886  
  9887  // SetApiId sets the ApiId field's value.
  9888  func (s *StartSchemaCreationInput) SetApiId(v string) *StartSchemaCreationInput {
  9889  	s.ApiId = &v
  9890  	return s
  9891  }
  9892  
  9893  // SetDefinition sets the Definition field's value.
  9894  func (s *StartSchemaCreationInput) SetDefinition(v []byte) *StartSchemaCreationInput {
  9895  	s.Definition = v
  9896  	return s
  9897  }
  9898  
  9899  type StartSchemaCreationOutput struct {
  9900  	_ struct{} `type:"structure"`
  9901  
  9902  	// The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE).
  9903  	// When the schema is in the ACTIVE state, you can add data.
  9904  	Status *string `locationName:"status" type:"string" enum:"SchemaStatus"`
  9905  }
  9906  
  9907  // String returns the string representation.
  9908  //
  9909  // API parameter values that are decorated as "sensitive" in the API will not
  9910  // be included in the string output. The member name will be present, but the
  9911  // value will be replaced with "sensitive".
  9912  func (s StartSchemaCreationOutput) String() string {
  9913  	return awsutil.Prettify(s)
  9914  }
  9915  
  9916  // GoString 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 StartSchemaCreationOutput) GoString() string {
  9922  	return s.String()
  9923  }
  9924  
  9925  // SetStatus sets the Status field's value.
  9926  func (s *StartSchemaCreationOutput) SetStatus(v string) *StartSchemaCreationOutput {
  9927  	s.Status = &v
  9928  	return s
  9929  }
  9930  
  9931  // Describes a Sync configuration for a resolver.
  9932  //
  9933  // Contains information on which Conflict Detection as well as Resolution strategy
  9934  // should be performed when the resolver is invoked.
  9935  type SyncConfig struct {
  9936  	_ struct{} `type:"structure"`
  9937  
  9938  	// The Conflict Detection strategy to use.
  9939  	//
  9940  	//    * VERSION: Detect conflicts based on object versions for this resolver.
  9941  	//
  9942  	//    * NONE: Do not detect conflicts when executing this resolver.
  9943  	ConflictDetection *string `locationName:"conflictDetection" type:"string" enum:"ConflictDetectionType"`
  9944  
  9945  	// The Conflict Resolution strategy to perform in the event of a conflict.
  9946  	//
  9947  	//    * OPTIMISTIC_CONCURRENCY: Resolve conflicts by rejecting mutations when
  9948  	//    versions do not match the latest version at the server.
  9949  	//
  9950  	//    * AUTOMERGE: Resolve conflicts with the Automerge conflict resolution
  9951  	//    strategy.
  9952  	//
  9953  	//    * LAMBDA: Resolve conflicts with a Lambda function supplied in the LambdaConflictHandlerConfig.
  9954  	ConflictHandler *string `locationName:"conflictHandler" type:"string" enum:"ConflictHandlerType"`
  9955  
  9956  	// The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.
  9957  	LambdaConflictHandlerConfig *LambdaConflictHandlerConfig `locationName:"lambdaConflictHandlerConfig" type:"structure"`
  9958  }
  9959  
  9960  // String returns the string representation.
  9961  //
  9962  // API parameter values that are decorated as "sensitive" in the API will not
  9963  // be included in the string output. The member name will be present, but the
  9964  // value will be replaced with "sensitive".
  9965  func (s SyncConfig) String() string {
  9966  	return awsutil.Prettify(s)
  9967  }
  9968  
  9969  // GoString returns the string representation.
  9970  //
  9971  // API parameter values that are decorated as "sensitive" in the API will not
  9972  // be included in the string output. The member name will be present, but the
  9973  // value will be replaced with "sensitive".
  9974  func (s SyncConfig) GoString() string {
  9975  	return s.String()
  9976  }
  9977  
  9978  // SetConflictDetection sets the ConflictDetection field's value.
  9979  func (s *SyncConfig) SetConflictDetection(v string) *SyncConfig {
  9980  	s.ConflictDetection = &v
  9981  	return s
  9982  }
  9983  
  9984  // SetConflictHandler sets the ConflictHandler field's value.
  9985  func (s *SyncConfig) SetConflictHandler(v string) *SyncConfig {
  9986  	s.ConflictHandler = &v
  9987  	return s
  9988  }
  9989  
  9990  // SetLambdaConflictHandlerConfig sets the LambdaConflictHandlerConfig field's value.
  9991  func (s *SyncConfig) SetLambdaConflictHandlerConfig(v *LambdaConflictHandlerConfig) *SyncConfig {
  9992  	s.LambdaConflictHandlerConfig = v
  9993  	return s
  9994  }
  9995  
  9996  type TagResourceInput struct {
  9997  	_ struct{} `type:"structure"`
  9998  
  9999  	// The GraphqlApi ARN.
 10000  	//
 10001  	// ResourceArn is a required field
 10002  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
 10003  
 10004  	// A TagMap object.
 10005  	//
 10006  	// Tags is a required field
 10007  	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
 10008  }
 10009  
 10010  // String returns the string representation.
 10011  //
 10012  // API parameter values that are decorated as "sensitive" in the API will not
 10013  // be included in the string output. The member name will be present, but the
 10014  // value will be replaced with "sensitive".
 10015  func (s TagResourceInput) String() string {
 10016  	return awsutil.Prettify(s)
 10017  }
 10018  
 10019  // GoString returns the string representation.
 10020  //
 10021  // API parameter values that are decorated as "sensitive" in the API will not
 10022  // be included in the string output. The member name will be present, but the
 10023  // value will be replaced with "sensitive".
 10024  func (s TagResourceInput) GoString() string {
 10025  	return s.String()
 10026  }
 10027  
 10028  // Validate inspects the fields of the type to determine if they are valid.
 10029  func (s *TagResourceInput) Validate() error {
 10030  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 10031  	if s.ResourceArn == nil {
 10032  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10033  	}
 10034  	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
 10035  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
 10036  	}
 10037  	if s.Tags == nil {
 10038  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 10039  	}
 10040  	if s.Tags != nil && len(s.Tags) < 1 {
 10041  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 10042  	}
 10043  
 10044  	if invalidParams.Len() > 0 {
 10045  		return invalidParams
 10046  	}
 10047  	return nil
 10048  }
 10049  
 10050  // SetResourceArn sets the ResourceArn field's value.
 10051  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 10052  	s.ResourceArn = &v
 10053  	return s
 10054  }
 10055  
 10056  // SetTags sets the Tags field's value.
 10057  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 10058  	s.Tags = v
 10059  	return s
 10060  }
 10061  
 10062  type TagResourceOutput struct {
 10063  	_ struct{} `type:"structure" nopayload:"true"`
 10064  }
 10065  
 10066  // String returns the string representation.
 10067  //
 10068  // API parameter values that are decorated as "sensitive" in the API will not
 10069  // be included in the string output. The member name will be present, but the
 10070  // value will be replaced with "sensitive".
 10071  func (s TagResourceOutput) String() string {
 10072  	return awsutil.Prettify(s)
 10073  }
 10074  
 10075  // GoString returns the string representation.
 10076  //
 10077  // API parameter values that are decorated as "sensitive" in the API will not
 10078  // be included in the string output. The member name will be present, but the
 10079  // value will be replaced with "sensitive".
 10080  func (s TagResourceOutput) GoString() string {
 10081  	return s.String()
 10082  }
 10083  
 10084  // Describes a type.
 10085  type Type struct {
 10086  	_ struct{} `type:"structure"`
 10087  
 10088  	// The type ARN.
 10089  	Arn *string `locationName:"arn" type:"string"`
 10090  
 10091  	// The type definition.
 10092  	Definition *string `locationName:"definition" type:"string"`
 10093  
 10094  	// The type description.
 10095  	Description *string `locationName:"description" type:"string"`
 10096  
 10097  	// The type format: SDL or JSON.
 10098  	Format *string `locationName:"format" type:"string" enum:"TypeDefinitionFormat"`
 10099  
 10100  	// The type name.
 10101  	Name *string `locationName:"name" min:"1" type:"string"`
 10102  }
 10103  
 10104  // String returns the string representation.
 10105  //
 10106  // API parameter values that are decorated as "sensitive" in the API will not
 10107  // be included in the string output. The member name will be present, but the
 10108  // value will be replaced with "sensitive".
 10109  func (s Type) String() string {
 10110  	return awsutil.Prettify(s)
 10111  }
 10112  
 10113  // GoString returns the string representation.
 10114  //
 10115  // API parameter values that are decorated as "sensitive" in the API will not
 10116  // be included in the string output. The member name will be present, but the
 10117  // value will be replaced with "sensitive".
 10118  func (s Type) GoString() string {
 10119  	return s.String()
 10120  }
 10121  
 10122  // SetArn sets the Arn field's value.
 10123  func (s *Type) SetArn(v string) *Type {
 10124  	s.Arn = &v
 10125  	return s
 10126  }
 10127  
 10128  // SetDefinition sets the Definition field's value.
 10129  func (s *Type) SetDefinition(v string) *Type {
 10130  	s.Definition = &v
 10131  	return s
 10132  }
 10133  
 10134  // SetDescription sets the Description field's value.
 10135  func (s *Type) SetDescription(v string) *Type {
 10136  	s.Description = &v
 10137  	return s
 10138  }
 10139  
 10140  // SetFormat sets the Format field's value.
 10141  func (s *Type) SetFormat(v string) *Type {
 10142  	s.Format = &v
 10143  	return s
 10144  }
 10145  
 10146  // SetName sets the Name field's value.
 10147  func (s *Type) SetName(v string) *Type {
 10148  	s.Name = &v
 10149  	return s
 10150  }
 10151  
 10152  // You are not authorized to perform this operation.
 10153  type UnauthorizedException struct {
 10154  	_            struct{}                  `type:"structure"`
 10155  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10156  
 10157  	Message_ *string `locationName:"message" type:"string"`
 10158  }
 10159  
 10160  // String returns the string representation.
 10161  //
 10162  // API parameter values that are decorated as "sensitive" in the API will not
 10163  // be included in the string output. The member name will be present, but the
 10164  // value will be replaced with "sensitive".
 10165  func (s UnauthorizedException) String() string {
 10166  	return awsutil.Prettify(s)
 10167  }
 10168  
 10169  // GoString returns the string representation.
 10170  //
 10171  // API parameter values that are decorated as "sensitive" in the API will not
 10172  // be included in the string output. The member name will be present, but the
 10173  // value will be replaced with "sensitive".
 10174  func (s UnauthorizedException) GoString() string {
 10175  	return s.String()
 10176  }
 10177  
 10178  func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
 10179  	return &UnauthorizedException{
 10180  		RespMetadata: v,
 10181  	}
 10182  }
 10183  
 10184  // Code returns the exception type name.
 10185  func (s *UnauthorizedException) Code() string {
 10186  	return "UnauthorizedException"
 10187  }
 10188  
 10189  // Message returns the exception's message.
 10190  func (s *UnauthorizedException) Message() string {
 10191  	if s.Message_ != nil {
 10192  		return *s.Message_
 10193  	}
 10194  	return ""
 10195  }
 10196  
 10197  // OrigErr always returns nil, satisfies awserr.Error interface.
 10198  func (s *UnauthorizedException) OrigErr() error {
 10199  	return nil
 10200  }
 10201  
 10202  func (s *UnauthorizedException) Error() string {
 10203  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10204  }
 10205  
 10206  // Status code returns the HTTP status code for the request's response error.
 10207  func (s *UnauthorizedException) StatusCode() int {
 10208  	return s.RespMetadata.StatusCode
 10209  }
 10210  
 10211  // RequestID returns the service's response RequestID for request.
 10212  func (s *UnauthorizedException) RequestID() string {
 10213  	return s.RespMetadata.RequestID
 10214  }
 10215  
 10216  type UntagResourceInput struct {
 10217  	_ struct{} `type:"structure" nopayload:"true"`
 10218  
 10219  	// The GraphqlApi ARN.
 10220  	//
 10221  	// ResourceArn is a required field
 10222  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"70" type:"string" required:"true"`
 10223  
 10224  	// A list of TagKey objects.
 10225  	//
 10226  	// TagKeys is a required field
 10227  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 10228  }
 10229  
 10230  // String returns the string representation.
 10231  //
 10232  // API parameter values that are decorated as "sensitive" in the API will not
 10233  // be included in the string output. The member name will be present, but the
 10234  // value will be replaced with "sensitive".
 10235  func (s UntagResourceInput) String() string {
 10236  	return awsutil.Prettify(s)
 10237  }
 10238  
 10239  // GoString returns the string representation.
 10240  //
 10241  // API parameter values that are decorated as "sensitive" in the API will not
 10242  // be included in the string output. The member name will be present, but the
 10243  // value will be replaced with "sensitive".
 10244  func (s UntagResourceInput) GoString() string {
 10245  	return s.String()
 10246  }
 10247  
 10248  // Validate inspects the fields of the type to determine if they are valid.
 10249  func (s *UntagResourceInput) Validate() error {
 10250  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 10251  	if s.ResourceArn == nil {
 10252  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10253  	}
 10254  	if s.ResourceArn != nil && len(*s.ResourceArn) < 70 {
 10255  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 70))
 10256  	}
 10257  	if s.TagKeys == nil {
 10258  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 10259  	}
 10260  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 10261  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 10262  	}
 10263  
 10264  	if invalidParams.Len() > 0 {
 10265  		return invalidParams
 10266  	}
 10267  	return nil
 10268  }
 10269  
 10270  // SetResourceArn sets the ResourceArn field's value.
 10271  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 10272  	s.ResourceArn = &v
 10273  	return s
 10274  }
 10275  
 10276  // SetTagKeys sets the TagKeys field's value.
 10277  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 10278  	s.TagKeys = v
 10279  	return s
 10280  }
 10281  
 10282  type UntagResourceOutput struct {
 10283  	_ struct{} `type:"structure" nopayload:"true"`
 10284  }
 10285  
 10286  // String returns the string representation.
 10287  //
 10288  // API parameter values that are decorated as "sensitive" in the API will not
 10289  // be included in the string output. The member name will be present, but the
 10290  // value will be replaced with "sensitive".
 10291  func (s UntagResourceOutput) String() string {
 10292  	return awsutil.Prettify(s)
 10293  }
 10294  
 10295  // GoString returns the string representation.
 10296  //
 10297  // API parameter values that are decorated as "sensitive" in the API will not
 10298  // be included in the string output. The member name will be present, but the
 10299  // value will be replaced with "sensitive".
 10300  func (s UntagResourceOutput) GoString() string {
 10301  	return s.String()
 10302  }
 10303  
 10304  // Represents the input of a UpdateApiCache operation.
 10305  type UpdateApiCacheInput struct {
 10306  	_ struct{} `type:"structure"`
 10307  
 10308  	// Caching behavior.
 10309  	//
 10310  	//    * FULL_REQUEST_CACHING: All requests are fully cached.
 10311  	//
 10312  	//    * PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
 10313  	//
 10314  	// ApiCachingBehavior is a required field
 10315  	ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"`
 10316  
 10317  	// The GraphQL API Id.
 10318  	//
 10319  	// ApiId is a required field
 10320  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10321  
 10322  	// TTL in seconds for cache entries.
 10323  	//
 10324  	// Valid values are between 1 and 3600 seconds.
 10325  	//
 10326  	// Ttl is a required field
 10327  	Ttl *int64 `locationName:"ttl" type:"long" required:"true"`
 10328  
 10329  	// The cache instance type. Valid values are
 10330  	//
 10331  	//    * SMALL
 10332  	//
 10333  	//    * MEDIUM
 10334  	//
 10335  	//    * LARGE
 10336  	//
 10337  	//    * XLARGE
 10338  	//
 10339  	//    * LARGE_2X
 10340  	//
 10341  	//    * LARGE_4X
 10342  	//
 10343  	//    * LARGE_8X (not available in all regions)
 10344  	//
 10345  	//    * LARGE_12X
 10346  	//
 10347  	// Historically, instance types were identified by an EC2-style value. As of
 10348  	// July 2020, this is deprecated, and the generic identifiers above should be
 10349  	// used.
 10350  	//
 10351  	// The following legacy instance types are available, but their use is discouraged:
 10352  	//
 10353  	//    * T2_SMALL: A t2.small instance type.
 10354  	//
 10355  	//    * T2_MEDIUM: A t2.medium instance type.
 10356  	//
 10357  	//    * R4_LARGE: A r4.large instance type.
 10358  	//
 10359  	//    * R4_XLARGE: A r4.xlarge instance type.
 10360  	//
 10361  	//    * R4_2XLARGE: A r4.2xlarge instance type.
 10362  	//
 10363  	//    * R4_4XLARGE: A r4.4xlarge instance type.
 10364  	//
 10365  	//    * R4_8XLARGE: A r4.8xlarge instance type.
 10366  	//
 10367  	// Type is a required field
 10368  	Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"`
 10369  }
 10370  
 10371  // String returns the string representation.
 10372  //
 10373  // API parameter values that are decorated as "sensitive" in the API will not
 10374  // be included in the string output. The member name will be present, but the
 10375  // value will be replaced with "sensitive".
 10376  func (s UpdateApiCacheInput) String() string {
 10377  	return awsutil.Prettify(s)
 10378  }
 10379  
 10380  // GoString returns the string representation.
 10381  //
 10382  // API parameter values that are decorated as "sensitive" in the API will not
 10383  // be included in the string output. The member name will be present, but the
 10384  // value will be replaced with "sensitive".
 10385  func (s UpdateApiCacheInput) GoString() string {
 10386  	return s.String()
 10387  }
 10388  
 10389  // Validate inspects the fields of the type to determine if they are valid.
 10390  func (s *UpdateApiCacheInput) Validate() error {
 10391  	invalidParams := request.ErrInvalidParams{Context: "UpdateApiCacheInput"}
 10392  	if s.ApiCachingBehavior == nil {
 10393  		invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior"))
 10394  	}
 10395  	if s.ApiId == nil {
 10396  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10397  	}
 10398  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10399  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10400  	}
 10401  	if s.Ttl == nil {
 10402  		invalidParams.Add(request.NewErrParamRequired("Ttl"))
 10403  	}
 10404  	if s.Type == nil {
 10405  		invalidParams.Add(request.NewErrParamRequired("Type"))
 10406  	}
 10407  
 10408  	if invalidParams.Len() > 0 {
 10409  		return invalidParams
 10410  	}
 10411  	return nil
 10412  }
 10413  
 10414  // SetApiCachingBehavior sets the ApiCachingBehavior field's value.
 10415  func (s *UpdateApiCacheInput) SetApiCachingBehavior(v string) *UpdateApiCacheInput {
 10416  	s.ApiCachingBehavior = &v
 10417  	return s
 10418  }
 10419  
 10420  // SetApiId sets the ApiId field's value.
 10421  func (s *UpdateApiCacheInput) SetApiId(v string) *UpdateApiCacheInput {
 10422  	s.ApiId = &v
 10423  	return s
 10424  }
 10425  
 10426  // SetTtl sets the Ttl field's value.
 10427  func (s *UpdateApiCacheInput) SetTtl(v int64) *UpdateApiCacheInput {
 10428  	s.Ttl = &v
 10429  	return s
 10430  }
 10431  
 10432  // SetType sets the Type field's value.
 10433  func (s *UpdateApiCacheInput) SetType(v string) *UpdateApiCacheInput {
 10434  	s.Type = &v
 10435  	return s
 10436  }
 10437  
 10438  // Represents the output of a UpdateApiCache operation.
 10439  type UpdateApiCacheOutput struct {
 10440  	_ struct{} `type:"structure"`
 10441  
 10442  	// The ApiCache object.
 10443  	ApiCache *ApiCache `locationName:"apiCache" type:"structure"`
 10444  }
 10445  
 10446  // String returns the string representation.
 10447  //
 10448  // API parameter values that are decorated as "sensitive" in the API will not
 10449  // be included in the string output. The member name will be present, but the
 10450  // value will be replaced with "sensitive".
 10451  func (s UpdateApiCacheOutput) String() string {
 10452  	return awsutil.Prettify(s)
 10453  }
 10454  
 10455  // GoString returns the string representation.
 10456  //
 10457  // API parameter values that are decorated as "sensitive" in the API will not
 10458  // be included in the string output. The member name will be present, but the
 10459  // value will be replaced with "sensitive".
 10460  func (s UpdateApiCacheOutput) GoString() string {
 10461  	return s.String()
 10462  }
 10463  
 10464  // SetApiCache sets the ApiCache field's value.
 10465  func (s *UpdateApiCacheOutput) SetApiCache(v *ApiCache) *UpdateApiCacheOutput {
 10466  	s.ApiCache = v
 10467  	return s
 10468  }
 10469  
 10470  type UpdateApiKeyInput struct {
 10471  	_ struct{} `type:"structure"`
 10472  
 10473  	// The ID for the GraphQL API.
 10474  	//
 10475  	// ApiId is a required field
 10476  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10477  
 10478  	// A description of the purpose of the API key.
 10479  	Description *string `locationName:"description" type:"string"`
 10480  
 10481  	// The time from update time after which the API key expires. The date is represented
 10482  	// as seconds since the epoch. For more information, see .
 10483  	Expires *int64 `locationName:"expires" type:"long"`
 10484  
 10485  	// The API key ID.
 10486  	//
 10487  	// Id is a required field
 10488  	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
 10489  }
 10490  
 10491  // String returns the string representation.
 10492  //
 10493  // API parameter values that are decorated as "sensitive" in the API will not
 10494  // be included in the string output. The member name will be present, but the
 10495  // value will be replaced with "sensitive".
 10496  func (s UpdateApiKeyInput) String() string {
 10497  	return awsutil.Prettify(s)
 10498  }
 10499  
 10500  // GoString returns the string representation.
 10501  //
 10502  // API parameter values that are decorated as "sensitive" in the API will not
 10503  // be included in the string output. The member name will be present, but the
 10504  // value will be replaced with "sensitive".
 10505  func (s UpdateApiKeyInput) GoString() string {
 10506  	return s.String()
 10507  }
 10508  
 10509  // Validate inspects the fields of the type to determine if they are valid.
 10510  func (s *UpdateApiKeyInput) Validate() error {
 10511  	invalidParams := request.ErrInvalidParams{Context: "UpdateApiKeyInput"}
 10512  	if s.ApiId == nil {
 10513  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10514  	}
 10515  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10516  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10517  	}
 10518  	if s.Id == nil {
 10519  		invalidParams.Add(request.NewErrParamRequired("Id"))
 10520  	}
 10521  	if s.Id != nil && len(*s.Id) < 1 {
 10522  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 10523  	}
 10524  
 10525  	if invalidParams.Len() > 0 {
 10526  		return invalidParams
 10527  	}
 10528  	return nil
 10529  }
 10530  
 10531  // SetApiId sets the ApiId field's value.
 10532  func (s *UpdateApiKeyInput) SetApiId(v string) *UpdateApiKeyInput {
 10533  	s.ApiId = &v
 10534  	return s
 10535  }
 10536  
 10537  // SetDescription sets the Description field's value.
 10538  func (s *UpdateApiKeyInput) SetDescription(v string) *UpdateApiKeyInput {
 10539  	s.Description = &v
 10540  	return s
 10541  }
 10542  
 10543  // SetExpires sets the Expires field's value.
 10544  func (s *UpdateApiKeyInput) SetExpires(v int64) *UpdateApiKeyInput {
 10545  	s.Expires = &v
 10546  	return s
 10547  }
 10548  
 10549  // SetId sets the Id field's value.
 10550  func (s *UpdateApiKeyInput) SetId(v string) *UpdateApiKeyInput {
 10551  	s.Id = &v
 10552  	return s
 10553  }
 10554  
 10555  type UpdateApiKeyOutput struct {
 10556  	_ struct{} `type:"structure"`
 10557  
 10558  	// The API key.
 10559  	ApiKey *ApiKey `locationName:"apiKey" type:"structure"`
 10560  }
 10561  
 10562  // String returns the string representation.
 10563  //
 10564  // API parameter values that are decorated as "sensitive" in the API will not
 10565  // be included in the string output. The member name will be present, but the
 10566  // value will be replaced with "sensitive".
 10567  func (s UpdateApiKeyOutput) String() string {
 10568  	return awsutil.Prettify(s)
 10569  }
 10570  
 10571  // GoString returns the string representation.
 10572  //
 10573  // API parameter values that are decorated as "sensitive" in the API will not
 10574  // be included in the string output. The member name will be present, but the
 10575  // value will be replaced with "sensitive".
 10576  func (s UpdateApiKeyOutput) GoString() string {
 10577  	return s.String()
 10578  }
 10579  
 10580  // SetApiKey sets the ApiKey field's value.
 10581  func (s *UpdateApiKeyOutput) SetApiKey(v *ApiKey) *UpdateApiKeyOutput {
 10582  	s.ApiKey = v
 10583  	return s
 10584  }
 10585  
 10586  type UpdateDataSourceInput struct {
 10587  	_ struct{} `type:"structure"`
 10588  
 10589  	// The API ID.
 10590  	//
 10591  	// ApiId is a required field
 10592  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10593  
 10594  	// The new description for the data source.
 10595  	Description *string `locationName:"description" type:"string"`
 10596  
 10597  	// The new Amazon DynamoDB configuration.
 10598  	DynamodbConfig *DynamodbDataSourceConfig `locationName:"dynamodbConfig" type:"structure"`
 10599  
 10600  	// The new OpenSearch configuration.
 10601  	//
 10602  	// As of September 2021, Amazon Elasticsearch service is Amazon OpenSearch Service.
 10603  	// This configuration is deprecated. Instead, use UpdateDataSourceRequest$openSearchServiceConfig
 10604  	// to update an OpenSearch data source.
 10605  	ElasticsearchConfig *ElasticsearchDataSourceConfig `locationName:"elasticsearchConfig" type:"structure"`
 10606  
 10607  	// The new HTTP endpoint configuration.
 10608  	HttpConfig *HttpDataSourceConfig `locationName:"httpConfig" type:"structure"`
 10609  
 10610  	// The new Amazon Web Services Lambda configuration.
 10611  	LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"`
 10612  
 10613  	// The new name for the data source.
 10614  	//
 10615  	// Name is a required field
 10616  	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
 10617  
 10618  	// The new OpenSearch configuration.
 10619  	OpenSearchServiceConfig *OpenSearchServiceDataSourceConfig `locationName:"openSearchServiceConfig" type:"structure"`
 10620  
 10621  	// The new relational database configuration.
 10622  	RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"`
 10623  
 10624  	// The new service role ARN for the data source.
 10625  	ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"`
 10626  
 10627  	// The new data source type.
 10628  	//
 10629  	// Type is a required field
 10630  	Type *string `locationName:"type" type:"string" required:"true" enum:"DataSourceType"`
 10631  }
 10632  
 10633  // String returns the string representation.
 10634  //
 10635  // API parameter values that are decorated as "sensitive" in the API will not
 10636  // be included in the string output. The member name will be present, but the
 10637  // value will be replaced with "sensitive".
 10638  func (s UpdateDataSourceInput) String() string {
 10639  	return awsutil.Prettify(s)
 10640  }
 10641  
 10642  // GoString returns the string representation.
 10643  //
 10644  // API parameter values that are decorated as "sensitive" in the API will not
 10645  // be included in the string output. The member name will be present, but the
 10646  // value will be replaced with "sensitive".
 10647  func (s UpdateDataSourceInput) GoString() string {
 10648  	return s.String()
 10649  }
 10650  
 10651  // Validate inspects the fields of the type to determine if they are valid.
 10652  func (s *UpdateDataSourceInput) Validate() error {
 10653  	invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"}
 10654  	if s.ApiId == nil {
 10655  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10656  	}
 10657  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10658  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10659  	}
 10660  	if s.Name == nil {
 10661  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10662  	}
 10663  	if s.Name != nil && len(*s.Name) < 1 {
 10664  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 10665  	}
 10666  	if s.Type == nil {
 10667  		invalidParams.Add(request.NewErrParamRequired("Type"))
 10668  	}
 10669  	if s.DynamodbConfig != nil {
 10670  		if err := s.DynamodbConfig.Validate(); err != nil {
 10671  			invalidParams.AddNested("DynamodbConfig", err.(request.ErrInvalidParams))
 10672  		}
 10673  	}
 10674  	if s.ElasticsearchConfig != nil {
 10675  		if err := s.ElasticsearchConfig.Validate(); err != nil {
 10676  			invalidParams.AddNested("ElasticsearchConfig", err.(request.ErrInvalidParams))
 10677  		}
 10678  	}
 10679  	if s.HttpConfig != nil {
 10680  		if err := s.HttpConfig.Validate(); err != nil {
 10681  			invalidParams.AddNested("HttpConfig", err.(request.ErrInvalidParams))
 10682  		}
 10683  	}
 10684  	if s.LambdaConfig != nil {
 10685  		if err := s.LambdaConfig.Validate(); err != nil {
 10686  			invalidParams.AddNested("LambdaConfig", err.(request.ErrInvalidParams))
 10687  		}
 10688  	}
 10689  	if s.OpenSearchServiceConfig != nil {
 10690  		if err := s.OpenSearchServiceConfig.Validate(); err != nil {
 10691  			invalidParams.AddNested("OpenSearchServiceConfig", err.(request.ErrInvalidParams))
 10692  		}
 10693  	}
 10694  
 10695  	if invalidParams.Len() > 0 {
 10696  		return invalidParams
 10697  	}
 10698  	return nil
 10699  }
 10700  
 10701  // SetApiId sets the ApiId field's value.
 10702  func (s *UpdateDataSourceInput) SetApiId(v string) *UpdateDataSourceInput {
 10703  	s.ApiId = &v
 10704  	return s
 10705  }
 10706  
 10707  // SetDescription sets the Description field's value.
 10708  func (s *UpdateDataSourceInput) SetDescription(v string) *UpdateDataSourceInput {
 10709  	s.Description = &v
 10710  	return s
 10711  }
 10712  
 10713  // SetDynamodbConfig sets the DynamodbConfig field's value.
 10714  func (s *UpdateDataSourceInput) SetDynamodbConfig(v *DynamodbDataSourceConfig) *UpdateDataSourceInput {
 10715  	s.DynamodbConfig = v
 10716  	return s
 10717  }
 10718  
 10719  // SetElasticsearchConfig sets the ElasticsearchConfig field's value.
 10720  func (s *UpdateDataSourceInput) SetElasticsearchConfig(v *ElasticsearchDataSourceConfig) *UpdateDataSourceInput {
 10721  	s.ElasticsearchConfig = v
 10722  	return s
 10723  }
 10724  
 10725  // SetHttpConfig sets the HttpConfig field's value.
 10726  func (s *UpdateDataSourceInput) SetHttpConfig(v *HttpDataSourceConfig) *UpdateDataSourceInput {
 10727  	s.HttpConfig = v
 10728  	return s
 10729  }
 10730  
 10731  // SetLambdaConfig sets the LambdaConfig field's value.
 10732  func (s *UpdateDataSourceInput) SetLambdaConfig(v *LambdaDataSourceConfig) *UpdateDataSourceInput {
 10733  	s.LambdaConfig = v
 10734  	return s
 10735  }
 10736  
 10737  // SetName sets the Name field's value.
 10738  func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput {
 10739  	s.Name = &v
 10740  	return s
 10741  }
 10742  
 10743  // SetOpenSearchServiceConfig sets the OpenSearchServiceConfig field's value.
 10744  func (s *UpdateDataSourceInput) SetOpenSearchServiceConfig(v *OpenSearchServiceDataSourceConfig) *UpdateDataSourceInput {
 10745  	s.OpenSearchServiceConfig = v
 10746  	return s
 10747  }
 10748  
 10749  // SetRelationalDatabaseConfig sets the RelationalDatabaseConfig field's value.
 10750  func (s *UpdateDataSourceInput) SetRelationalDatabaseConfig(v *RelationalDatabaseDataSourceConfig) *UpdateDataSourceInput {
 10751  	s.RelationalDatabaseConfig = v
 10752  	return s
 10753  }
 10754  
 10755  // SetServiceRoleArn sets the ServiceRoleArn field's value.
 10756  func (s *UpdateDataSourceInput) SetServiceRoleArn(v string) *UpdateDataSourceInput {
 10757  	s.ServiceRoleArn = &v
 10758  	return s
 10759  }
 10760  
 10761  // SetType sets the Type field's value.
 10762  func (s *UpdateDataSourceInput) SetType(v string) *UpdateDataSourceInput {
 10763  	s.Type = &v
 10764  	return s
 10765  }
 10766  
 10767  type UpdateDataSourceOutput struct {
 10768  	_ struct{} `type:"structure"`
 10769  
 10770  	// The updated DataSource object.
 10771  	DataSource *DataSource `locationName:"dataSource" type:"structure"`
 10772  }
 10773  
 10774  // String returns the string representation.
 10775  //
 10776  // API parameter values that are decorated as "sensitive" in the API will not
 10777  // be included in the string output. The member name will be present, but the
 10778  // value will be replaced with "sensitive".
 10779  func (s UpdateDataSourceOutput) String() string {
 10780  	return awsutil.Prettify(s)
 10781  }
 10782  
 10783  // GoString returns the string representation.
 10784  //
 10785  // API parameter values that are decorated as "sensitive" in the API will not
 10786  // be included in the string output. The member name will be present, but the
 10787  // value will be replaced with "sensitive".
 10788  func (s UpdateDataSourceOutput) GoString() string {
 10789  	return s.String()
 10790  }
 10791  
 10792  // SetDataSource sets the DataSource field's value.
 10793  func (s *UpdateDataSourceOutput) SetDataSource(v *DataSource) *UpdateDataSourceOutput {
 10794  	s.DataSource = v
 10795  	return s
 10796  }
 10797  
 10798  type UpdateFunctionInput struct {
 10799  	_ struct{} `type:"structure"`
 10800  
 10801  	// The GraphQL API ID.
 10802  	//
 10803  	// ApiId is a required field
 10804  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 10805  
 10806  	// The Function DataSource name.
 10807  	//
 10808  	// DataSourceName is a required field
 10809  	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"`
 10810  
 10811  	// The Function description.
 10812  	Description *string `locationName:"description" type:"string"`
 10813  
 10814  	// The function ID.
 10815  	//
 10816  	// FunctionId is a required field
 10817  	FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"`
 10818  
 10819  	// The version of the request mapping template. Currently the supported value
 10820  	// is 2018-05-29.
 10821  	//
 10822  	// FunctionVersion is a required field
 10823  	FunctionVersion *string `locationName:"functionVersion" type:"string" required:"true"`
 10824  
 10825  	// The Function name.
 10826  	//
 10827  	// Name is a required field
 10828  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 10829  
 10830  	// The Function request mapping template. Functions support only the 2018-05-29
 10831  	// version of the request mapping template.
 10832  	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
 10833  
 10834  	// The Function request mapping template.
 10835  	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
 10836  
 10837  	// Describes a Sync configuration for a resolver.
 10838  	//
 10839  	// Contains information on which Conflict Detection as well as Resolution strategy
 10840  	// should be performed when the resolver is invoked.
 10841  	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
 10842  }
 10843  
 10844  // String returns the string representation.
 10845  //
 10846  // API parameter values that are decorated as "sensitive" in the API will not
 10847  // be included in the string output. The member name will be present, but the
 10848  // value will be replaced with "sensitive".
 10849  func (s UpdateFunctionInput) String() string {
 10850  	return awsutil.Prettify(s)
 10851  }
 10852  
 10853  // GoString returns the string representation.
 10854  //
 10855  // API parameter values that are decorated as "sensitive" in the API will not
 10856  // be included in the string output. The member name will be present, but the
 10857  // value will be replaced with "sensitive".
 10858  func (s UpdateFunctionInput) GoString() string {
 10859  	return s.String()
 10860  }
 10861  
 10862  // Validate inspects the fields of the type to determine if they are valid.
 10863  func (s *UpdateFunctionInput) Validate() error {
 10864  	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionInput"}
 10865  	if s.ApiId == nil {
 10866  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 10867  	}
 10868  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 10869  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 10870  	}
 10871  	if s.DataSourceName == nil {
 10872  		invalidParams.Add(request.NewErrParamRequired("DataSourceName"))
 10873  	}
 10874  	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
 10875  		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
 10876  	}
 10877  	if s.FunctionId == nil {
 10878  		invalidParams.Add(request.NewErrParamRequired("FunctionId"))
 10879  	}
 10880  	if s.FunctionId != nil && len(*s.FunctionId) < 1 {
 10881  		invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1))
 10882  	}
 10883  	if s.FunctionVersion == nil {
 10884  		invalidParams.Add(request.NewErrParamRequired("FunctionVersion"))
 10885  	}
 10886  	if s.Name == nil {
 10887  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10888  	}
 10889  	if s.Name != nil && len(*s.Name) < 1 {
 10890  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 10891  	}
 10892  	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
 10893  		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
 10894  	}
 10895  	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
 10896  		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
 10897  	}
 10898  
 10899  	if invalidParams.Len() > 0 {
 10900  		return invalidParams
 10901  	}
 10902  	return nil
 10903  }
 10904  
 10905  // SetApiId sets the ApiId field's value.
 10906  func (s *UpdateFunctionInput) SetApiId(v string) *UpdateFunctionInput {
 10907  	s.ApiId = &v
 10908  	return s
 10909  }
 10910  
 10911  // SetDataSourceName sets the DataSourceName field's value.
 10912  func (s *UpdateFunctionInput) SetDataSourceName(v string) *UpdateFunctionInput {
 10913  	s.DataSourceName = &v
 10914  	return s
 10915  }
 10916  
 10917  // SetDescription sets the Description field's value.
 10918  func (s *UpdateFunctionInput) SetDescription(v string) *UpdateFunctionInput {
 10919  	s.Description = &v
 10920  	return s
 10921  }
 10922  
 10923  // SetFunctionId sets the FunctionId field's value.
 10924  func (s *UpdateFunctionInput) SetFunctionId(v string) *UpdateFunctionInput {
 10925  	s.FunctionId = &v
 10926  	return s
 10927  }
 10928  
 10929  // SetFunctionVersion sets the FunctionVersion field's value.
 10930  func (s *UpdateFunctionInput) SetFunctionVersion(v string) *UpdateFunctionInput {
 10931  	s.FunctionVersion = &v
 10932  	return s
 10933  }
 10934  
 10935  // SetName sets the Name field's value.
 10936  func (s *UpdateFunctionInput) SetName(v string) *UpdateFunctionInput {
 10937  	s.Name = &v
 10938  	return s
 10939  }
 10940  
 10941  // SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
 10942  func (s *UpdateFunctionInput) SetRequestMappingTemplate(v string) *UpdateFunctionInput {
 10943  	s.RequestMappingTemplate = &v
 10944  	return s
 10945  }
 10946  
 10947  // SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
 10948  func (s *UpdateFunctionInput) SetResponseMappingTemplate(v string) *UpdateFunctionInput {
 10949  	s.ResponseMappingTemplate = &v
 10950  	return s
 10951  }
 10952  
 10953  // SetSyncConfig sets the SyncConfig field's value.
 10954  func (s *UpdateFunctionInput) SetSyncConfig(v *SyncConfig) *UpdateFunctionInput {
 10955  	s.SyncConfig = v
 10956  	return s
 10957  }
 10958  
 10959  type UpdateFunctionOutput struct {
 10960  	_ struct{} `type:"structure"`
 10961  
 10962  	// The Function object.
 10963  	FunctionConfiguration *FunctionConfiguration `locationName:"functionConfiguration" type:"structure"`
 10964  }
 10965  
 10966  // String returns the string representation.
 10967  //
 10968  // API parameter values that are decorated as "sensitive" in the API will not
 10969  // be included in the string output. The member name will be present, but the
 10970  // value will be replaced with "sensitive".
 10971  func (s UpdateFunctionOutput) String() string {
 10972  	return awsutil.Prettify(s)
 10973  }
 10974  
 10975  // GoString returns the string representation.
 10976  //
 10977  // API parameter values that are decorated as "sensitive" in the API will not
 10978  // be included in the string output. The member name will be present, but the
 10979  // value will be replaced with "sensitive".
 10980  func (s UpdateFunctionOutput) GoString() string {
 10981  	return s.String()
 10982  }
 10983  
 10984  // SetFunctionConfiguration sets the FunctionConfiguration field's value.
 10985  func (s *UpdateFunctionOutput) SetFunctionConfiguration(v *FunctionConfiguration) *UpdateFunctionOutput {
 10986  	s.FunctionConfiguration = v
 10987  	return s
 10988  }
 10989  
 10990  type UpdateGraphqlApiInput struct {
 10991  	_ struct{} `type:"structure"`
 10992  
 10993  	// A list of additional authentication providers for the GraphqlApi API.
 10994  	AdditionalAuthenticationProviders []*AdditionalAuthenticationProvider `locationName:"additionalAuthenticationProviders" type:"list"`
 10995  
 10996  	// The API ID.
 10997  	//
 10998  	// ApiId is a required field
 10999  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 11000  
 11001  	// The new authentication type for the GraphqlApi object.
 11002  	AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"`
 11003  
 11004  	// Configuration for Amazon Web Services Lambda function authorization.
 11005  	LambdaAuthorizerConfig *LambdaAuthorizerConfig `locationName:"lambdaAuthorizerConfig" type:"structure"`
 11006  
 11007  	// The Amazon CloudWatch Logs configuration for the GraphqlApi object.
 11008  	LogConfig *LogConfig `locationName:"logConfig" type:"structure"`
 11009  
 11010  	// The new name for the GraphqlApi object.
 11011  	//
 11012  	// Name is a required field
 11013  	Name *string `locationName:"name" type:"string" required:"true"`
 11014  
 11015  	// The OpenID Connect configuration for the GraphqlApi object.
 11016  	OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"`
 11017  
 11018  	// The new Amazon Cognito user pool configuration for the GraphqlApi object.
 11019  	UserPoolConfig *UserPoolConfig `locationName:"userPoolConfig" type:"structure"`
 11020  
 11021  	// A flag indicating whether to enable X-Ray tracing for the GraphqlApi.
 11022  	XrayEnabled *bool `locationName:"xrayEnabled" type:"boolean"`
 11023  }
 11024  
 11025  // String returns the string representation.
 11026  //
 11027  // API parameter values that are decorated as "sensitive" in the API will not
 11028  // be included in the string output. The member name will be present, but the
 11029  // value will be replaced with "sensitive".
 11030  func (s UpdateGraphqlApiInput) String() string {
 11031  	return awsutil.Prettify(s)
 11032  }
 11033  
 11034  // GoString returns the string representation.
 11035  //
 11036  // API parameter values that are decorated as "sensitive" in the API will not
 11037  // be included in the string output. The member name will be present, but the
 11038  // value will be replaced with "sensitive".
 11039  func (s UpdateGraphqlApiInput) GoString() string {
 11040  	return s.String()
 11041  }
 11042  
 11043  // Validate inspects the fields of the type to determine if they are valid.
 11044  func (s *UpdateGraphqlApiInput) Validate() error {
 11045  	invalidParams := request.ErrInvalidParams{Context: "UpdateGraphqlApiInput"}
 11046  	if s.ApiId == nil {
 11047  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11048  	}
 11049  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11050  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11051  	}
 11052  	if s.Name == nil {
 11053  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11054  	}
 11055  	if s.AdditionalAuthenticationProviders != nil {
 11056  		for i, v := range s.AdditionalAuthenticationProviders {
 11057  			if v == nil {
 11058  				continue
 11059  			}
 11060  			if err := v.Validate(); err != nil {
 11061  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalAuthenticationProviders", i), err.(request.ErrInvalidParams))
 11062  			}
 11063  		}
 11064  	}
 11065  	if s.LambdaAuthorizerConfig != nil {
 11066  		if err := s.LambdaAuthorizerConfig.Validate(); err != nil {
 11067  			invalidParams.AddNested("LambdaAuthorizerConfig", err.(request.ErrInvalidParams))
 11068  		}
 11069  	}
 11070  	if s.LogConfig != nil {
 11071  		if err := s.LogConfig.Validate(); err != nil {
 11072  			invalidParams.AddNested("LogConfig", err.(request.ErrInvalidParams))
 11073  		}
 11074  	}
 11075  	if s.OpenIDConnectConfig != nil {
 11076  		if err := s.OpenIDConnectConfig.Validate(); err != nil {
 11077  			invalidParams.AddNested("OpenIDConnectConfig", err.(request.ErrInvalidParams))
 11078  		}
 11079  	}
 11080  	if s.UserPoolConfig != nil {
 11081  		if err := s.UserPoolConfig.Validate(); err != nil {
 11082  			invalidParams.AddNested("UserPoolConfig", err.(request.ErrInvalidParams))
 11083  		}
 11084  	}
 11085  
 11086  	if invalidParams.Len() > 0 {
 11087  		return invalidParams
 11088  	}
 11089  	return nil
 11090  }
 11091  
 11092  // SetAdditionalAuthenticationProviders sets the AdditionalAuthenticationProviders field's value.
 11093  func (s *UpdateGraphqlApiInput) SetAdditionalAuthenticationProviders(v []*AdditionalAuthenticationProvider) *UpdateGraphqlApiInput {
 11094  	s.AdditionalAuthenticationProviders = v
 11095  	return s
 11096  }
 11097  
 11098  // SetApiId sets the ApiId field's value.
 11099  func (s *UpdateGraphqlApiInput) SetApiId(v string) *UpdateGraphqlApiInput {
 11100  	s.ApiId = &v
 11101  	return s
 11102  }
 11103  
 11104  // SetAuthenticationType sets the AuthenticationType field's value.
 11105  func (s *UpdateGraphqlApiInput) SetAuthenticationType(v string) *UpdateGraphqlApiInput {
 11106  	s.AuthenticationType = &v
 11107  	return s
 11108  }
 11109  
 11110  // SetLambdaAuthorizerConfig sets the LambdaAuthorizerConfig field's value.
 11111  func (s *UpdateGraphqlApiInput) SetLambdaAuthorizerConfig(v *LambdaAuthorizerConfig) *UpdateGraphqlApiInput {
 11112  	s.LambdaAuthorizerConfig = v
 11113  	return s
 11114  }
 11115  
 11116  // SetLogConfig sets the LogConfig field's value.
 11117  func (s *UpdateGraphqlApiInput) SetLogConfig(v *LogConfig) *UpdateGraphqlApiInput {
 11118  	s.LogConfig = v
 11119  	return s
 11120  }
 11121  
 11122  // SetName sets the Name field's value.
 11123  func (s *UpdateGraphqlApiInput) SetName(v string) *UpdateGraphqlApiInput {
 11124  	s.Name = &v
 11125  	return s
 11126  }
 11127  
 11128  // SetOpenIDConnectConfig sets the OpenIDConnectConfig field's value.
 11129  func (s *UpdateGraphqlApiInput) SetOpenIDConnectConfig(v *OpenIDConnectConfig) *UpdateGraphqlApiInput {
 11130  	s.OpenIDConnectConfig = v
 11131  	return s
 11132  }
 11133  
 11134  // SetUserPoolConfig sets the UserPoolConfig field's value.
 11135  func (s *UpdateGraphqlApiInput) SetUserPoolConfig(v *UserPoolConfig) *UpdateGraphqlApiInput {
 11136  	s.UserPoolConfig = v
 11137  	return s
 11138  }
 11139  
 11140  // SetXrayEnabled sets the XrayEnabled field's value.
 11141  func (s *UpdateGraphqlApiInput) SetXrayEnabled(v bool) *UpdateGraphqlApiInput {
 11142  	s.XrayEnabled = &v
 11143  	return s
 11144  }
 11145  
 11146  type UpdateGraphqlApiOutput struct {
 11147  	_ struct{} `type:"structure"`
 11148  
 11149  	// The updated GraphqlApi object.
 11150  	GraphqlApi *GraphqlApi `locationName:"graphqlApi" type:"structure"`
 11151  }
 11152  
 11153  // String returns the string representation.
 11154  //
 11155  // API parameter values that are decorated as "sensitive" in the API will not
 11156  // be included in the string output. The member name will be present, but the
 11157  // value will be replaced with "sensitive".
 11158  func (s UpdateGraphqlApiOutput) String() string {
 11159  	return awsutil.Prettify(s)
 11160  }
 11161  
 11162  // GoString returns the string representation.
 11163  //
 11164  // API parameter values that are decorated as "sensitive" in the API will not
 11165  // be included in the string output. The member name will be present, but the
 11166  // value will be replaced with "sensitive".
 11167  func (s UpdateGraphqlApiOutput) GoString() string {
 11168  	return s.String()
 11169  }
 11170  
 11171  // SetGraphqlApi sets the GraphqlApi field's value.
 11172  func (s *UpdateGraphqlApiOutput) SetGraphqlApi(v *GraphqlApi) *UpdateGraphqlApiOutput {
 11173  	s.GraphqlApi = v
 11174  	return s
 11175  }
 11176  
 11177  type UpdateResolverInput struct {
 11178  	_ struct{} `type:"structure"`
 11179  
 11180  	// The API ID.
 11181  	//
 11182  	// ApiId is a required field
 11183  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 11184  
 11185  	// The caching configuration for the resolver.
 11186  	CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"`
 11187  
 11188  	// The new data source name.
 11189  	DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"`
 11190  
 11191  	// The new field name.
 11192  	//
 11193  	// FieldName is a required field
 11194  	FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"`
 11195  
 11196  	// The resolver type.
 11197  	//
 11198  	//    * UNIT: A UNIT resolver type. A UNIT resolver is the default resolver
 11199  	//    type. A UNIT resolver enables you to execute a GraphQL query against a
 11200  	//    single data source.
 11201  	//
 11202  	//    * PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you
 11203  	//    to execute a series of Function in a serial manner. You can use a pipeline
 11204  	//    resolver to execute a GraphQL query against multiple data sources.
 11205  	Kind *string `locationName:"kind" type:"string" enum:"ResolverKind"`
 11206  
 11207  	// The PipelineConfig.
 11208  	PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"`
 11209  
 11210  	// The new request mapping template.
 11211  	//
 11212  	// A resolver uses a request mapping template to convert a GraphQL expression
 11213  	// into a format that a data source can understand. Mapping templates are written
 11214  	// in Apache Velocity Template Language (VTL).
 11215  	//
 11216  	// VTL request mapping templates are optional when using a Lambda data source.
 11217  	// For all other data sources, VTL request and response mapping templates are
 11218  	// required.
 11219  	RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"`
 11220  
 11221  	// The new response mapping template.
 11222  	ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"`
 11223  
 11224  	// The SyncConfig for a resolver attached to a versioned datasource.
 11225  	SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"`
 11226  
 11227  	// The new type name.
 11228  	//
 11229  	// TypeName is a required field
 11230  	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
 11231  }
 11232  
 11233  // String returns the string representation.
 11234  //
 11235  // API parameter values that are decorated as "sensitive" in the API will not
 11236  // be included in the string output. The member name will be present, but the
 11237  // value will be replaced with "sensitive".
 11238  func (s UpdateResolverInput) String() string {
 11239  	return awsutil.Prettify(s)
 11240  }
 11241  
 11242  // GoString returns the string representation.
 11243  //
 11244  // API parameter values that are decorated as "sensitive" in the API will not
 11245  // be included in the string output. The member name will be present, but the
 11246  // value will be replaced with "sensitive".
 11247  func (s UpdateResolverInput) GoString() string {
 11248  	return s.String()
 11249  }
 11250  
 11251  // Validate inspects the fields of the type to determine if they are valid.
 11252  func (s *UpdateResolverInput) Validate() error {
 11253  	invalidParams := request.ErrInvalidParams{Context: "UpdateResolverInput"}
 11254  	if s.ApiId == nil {
 11255  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11256  	}
 11257  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11258  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11259  	}
 11260  	if s.DataSourceName != nil && len(*s.DataSourceName) < 1 {
 11261  		invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1))
 11262  	}
 11263  	if s.FieldName == nil {
 11264  		invalidParams.Add(request.NewErrParamRequired("FieldName"))
 11265  	}
 11266  	if s.FieldName != nil && len(*s.FieldName) < 1 {
 11267  		invalidParams.Add(request.NewErrParamMinLen("FieldName", 1))
 11268  	}
 11269  	if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 {
 11270  		invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1))
 11271  	}
 11272  	if s.ResponseMappingTemplate != nil && len(*s.ResponseMappingTemplate) < 1 {
 11273  		invalidParams.Add(request.NewErrParamMinLen("ResponseMappingTemplate", 1))
 11274  	}
 11275  	if s.TypeName == nil {
 11276  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
 11277  	}
 11278  	if s.TypeName != nil && len(*s.TypeName) < 1 {
 11279  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
 11280  	}
 11281  
 11282  	if invalidParams.Len() > 0 {
 11283  		return invalidParams
 11284  	}
 11285  	return nil
 11286  }
 11287  
 11288  // SetApiId sets the ApiId field's value.
 11289  func (s *UpdateResolverInput) SetApiId(v string) *UpdateResolverInput {
 11290  	s.ApiId = &v
 11291  	return s
 11292  }
 11293  
 11294  // SetCachingConfig sets the CachingConfig field's value.
 11295  func (s *UpdateResolverInput) SetCachingConfig(v *CachingConfig) *UpdateResolverInput {
 11296  	s.CachingConfig = v
 11297  	return s
 11298  }
 11299  
 11300  // SetDataSourceName sets the DataSourceName field's value.
 11301  func (s *UpdateResolverInput) SetDataSourceName(v string) *UpdateResolverInput {
 11302  	s.DataSourceName = &v
 11303  	return s
 11304  }
 11305  
 11306  // SetFieldName sets the FieldName field's value.
 11307  func (s *UpdateResolverInput) SetFieldName(v string) *UpdateResolverInput {
 11308  	s.FieldName = &v
 11309  	return s
 11310  }
 11311  
 11312  // SetKind sets the Kind field's value.
 11313  func (s *UpdateResolverInput) SetKind(v string) *UpdateResolverInput {
 11314  	s.Kind = &v
 11315  	return s
 11316  }
 11317  
 11318  // SetPipelineConfig sets the PipelineConfig field's value.
 11319  func (s *UpdateResolverInput) SetPipelineConfig(v *PipelineConfig) *UpdateResolverInput {
 11320  	s.PipelineConfig = v
 11321  	return s
 11322  }
 11323  
 11324  // SetRequestMappingTemplate sets the RequestMappingTemplate field's value.
 11325  func (s *UpdateResolverInput) SetRequestMappingTemplate(v string) *UpdateResolverInput {
 11326  	s.RequestMappingTemplate = &v
 11327  	return s
 11328  }
 11329  
 11330  // SetResponseMappingTemplate sets the ResponseMappingTemplate field's value.
 11331  func (s *UpdateResolverInput) SetResponseMappingTemplate(v string) *UpdateResolverInput {
 11332  	s.ResponseMappingTemplate = &v
 11333  	return s
 11334  }
 11335  
 11336  // SetSyncConfig sets the SyncConfig field's value.
 11337  func (s *UpdateResolverInput) SetSyncConfig(v *SyncConfig) *UpdateResolverInput {
 11338  	s.SyncConfig = v
 11339  	return s
 11340  }
 11341  
 11342  // SetTypeName sets the TypeName field's value.
 11343  func (s *UpdateResolverInput) SetTypeName(v string) *UpdateResolverInput {
 11344  	s.TypeName = &v
 11345  	return s
 11346  }
 11347  
 11348  type UpdateResolverOutput struct {
 11349  	_ struct{} `type:"structure"`
 11350  
 11351  	// The updated Resolver object.
 11352  	Resolver *Resolver `locationName:"resolver" type:"structure"`
 11353  }
 11354  
 11355  // String returns the string representation.
 11356  //
 11357  // API parameter values that are decorated as "sensitive" in the API will not
 11358  // be included in the string output. The member name will be present, but the
 11359  // value will be replaced with "sensitive".
 11360  func (s UpdateResolverOutput) String() string {
 11361  	return awsutil.Prettify(s)
 11362  }
 11363  
 11364  // GoString returns the string representation.
 11365  //
 11366  // API parameter values that are decorated as "sensitive" in the API will not
 11367  // be included in the string output. The member name will be present, but the
 11368  // value will be replaced with "sensitive".
 11369  func (s UpdateResolverOutput) GoString() string {
 11370  	return s.String()
 11371  }
 11372  
 11373  // SetResolver sets the Resolver field's value.
 11374  func (s *UpdateResolverOutput) SetResolver(v *Resolver) *UpdateResolverOutput {
 11375  	s.Resolver = v
 11376  	return s
 11377  }
 11378  
 11379  type UpdateTypeInput struct {
 11380  	_ struct{} `type:"structure"`
 11381  
 11382  	// The API ID.
 11383  	//
 11384  	// ApiId is a required field
 11385  	ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"`
 11386  
 11387  	// The new definition.
 11388  	Definition *string `locationName:"definition" type:"string"`
 11389  
 11390  	// The new type format: SDL or JSON.
 11391  	//
 11392  	// Format is a required field
 11393  	Format *string `locationName:"format" type:"string" required:"true" enum:"TypeDefinitionFormat"`
 11394  
 11395  	// The new type name.
 11396  	//
 11397  	// TypeName is a required field
 11398  	TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"`
 11399  }
 11400  
 11401  // String returns the string representation.
 11402  //
 11403  // API parameter values that are decorated as "sensitive" in the API will not
 11404  // be included in the string output. The member name will be present, but the
 11405  // value will be replaced with "sensitive".
 11406  func (s UpdateTypeInput) String() string {
 11407  	return awsutil.Prettify(s)
 11408  }
 11409  
 11410  // GoString returns the string representation.
 11411  //
 11412  // API parameter values that are decorated as "sensitive" in the API will not
 11413  // be included in the string output. The member name will be present, but the
 11414  // value will be replaced with "sensitive".
 11415  func (s UpdateTypeInput) GoString() string {
 11416  	return s.String()
 11417  }
 11418  
 11419  // Validate inspects the fields of the type to determine if they are valid.
 11420  func (s *UpdateTypeInput) Validate() error {
 11421  	invalidParams := request.ErrInvalidParams{Context: "UpdateTypeInput"}
 11422  	if s.ApiId == nil {
 11423  		invalidParams.Add(request.NewErrParamRequired("ApiId"))
 11424  	}
 11425  	if s.ApiId != nil && len(*s.ApiId) < 1 {
 11426  		invalidParams.Add(request.NewErrParamMinLen("ApiId", 1))
 11427  	}
 11428  	if s.Format == nil {
 11429  		invalidParams.Add(request.NewErrParamRequired("Format"))
 11430  	}
 11431  	if s.TypeName == nil {
 11432  		invalidParams.Add(request.NewErrParamRequired("TypeName"))
 11433  	}
 11434  	if s.TypeName != nil && len(*s.TypeName) < 1 {
 11435  		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
 11436  	}
 11437  
 11438  	if invalidParams.Len() > 0 {
 11439  		return invalidParams
 11440  	}
 11441  	return nil
 11442  }
 11443  
 11444  // SetApiId sets the ApiId field's value.
 11445  func (s *UpdateTypeInput) SetApiId(v string) *UpdateTypeInput {
 11446  	s.ApiId = &v
 11447  	return s
 11448  }
 11449  
 11450  // SetDefinition sets the Definition field's value.
 11451  func (s *UpdateTypeInput) SetDefinition(v string) *UpdateTypeInput {
 11452  	s.Definition = &v
 11453  	return s
 11454  }
 11455  
 11456  // SetFormat sets the Format field's value.
 11457  func (s *UpdateTypeInput) SetFormat(v string) *UpdateTypeInput {
 11458  	s.Format = &v
 11459  	return s
 11460  }
 11461  
 11462  // SetTypeName sets the TypeName field's value.
 11463  func (s *UpdateTypeInput) SetTypeName(v string) *UpdateTypeInput {
 11464  	s.TypeName = &v
 11465  	return s
 11466  }
 11467  
 11468  type UpdateTypeOutput struct {
 11469  	_ struct{} `type:"structure"`
 11470  
 11471  	// The updated Type object.
 11472  	Type *Type `locationName:"type" type:"structure"`
 11473  }
 11474  
 11475  // String returns the string representation.
 11476  //
 11477  // API parameter values that are decorated as "sensitive" in the API will not
 11478  // be included in the string output. The member name will be present, but the
 11479  // value will be replaced with "sensitive".
 11480  func (s UpdateTypeOutput) String() string {
 11481  	return awsutil.Prettify(s)
 11482  }
 11483  
 11484  // GoString returns the string representation.
 11485  //
 11486  // API parameter values that are decorated as "sensitive" in the API will not
 11487  // be included in the string output. The member name will be present, but the
 11488  // value will be replaced with "sensitive".
 11489  func (s UpdateTypeOutput) GoString() string {
 11490  	return s.String()
 11491  }
 11492  
 11493  // SetType sets the Type field's value.
 11494  func (s *UpdateTypeOutput) SetType(v *Type) *UpdateTypeOutput {
 11495  	s.Type = v
 11496  	return s
 11497  }
 11498  
 11499  // Describes an Amazon Cognito user pool configuration.
 11500  type UserPoolConfig struct {
 11501  	_ struct{} `type:"structure"`
 11502  
 11503  	// A regular expression for validating the incoming Amazon Cognito user pool
 11504  	// app client ID.
 11505  	AppIdClientRegex *string `locationName:"appIdClientRegex" type:"string"`
 11506  
 11507  	// The Amazon Web Services Region in which the user pool was created.
 11508  	//
 11509  	// AwsRegion is a required field
 11510  	AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"`
 11511  
 11512  	// The action that you want your GraphQL API to take when a request that uses
 11513  	// Amazon Cognito user pool authentication doesn't match the Amazon Cognito
 11514  	// user pool configuration.
 11515  	//
 11516  	// DefaultAction is a required field
 11517  	DefaultAction *string `locationName:"defaultAction" type:"string" required:"true" enum:"DefaultAction"`
 11518  
 11519  	// The user pool ID.
 11520  	//
 11521  	// UserPoolId is a required field
 11522  	UserPoolId *string `locationName:"userPoolId" type:"string" required:"true"`
 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 UserPoolConfig) 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 UserPoolConfig) GoString() string {
 11540  	return s.String()
 11541  }
 11542  
 11543  // Validate inspects the fields of the type to determine if they are valid.
 11544  func (s *UserPoolConfig) Validate() error {
 11545  	invalidParams := request.ErrInvalidParams{Context: "UserPoolConfig"}
 11546  	if s.AwsRegion == nil {
 11547  		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
 11548  	}
 11549  	if s.DefaultAction == nil {
 11550  		invalidParams.Add(request.NewErrParamRequired("DefaultAction"))
 11551  	}
 11552  	if s.UserPoolId == nil {
 11553  		invalidParams.Add(request.NewErrParamRequired("UserPoolId"))
 11554  	}
 11555  
 11556  	if invalidParams.Len() > 0 {
 11557  		return invalidParams
 11558  	}
 11559  	return nil
 11560  }
 11561  
 11562  // SetAppIdClientRegex sets the AppIdClientRegex field's value.
 11563  func (s *UserPoolConfig) SetAppIdClientRegex(v string) *UserPoolConfig {
 11564  	s.AppIdClientRegex = &v
 11565  	return s
 11566  }
 11567  
 11568  // SetAwsRegion sets the AwsRegion field's value.
 11569  func (s *UserPoolConfig) SetAwsRegion(v string) *UserPoolConfig {
 11570  	s.AwsRegion = &v
 11571  	return s
 11572  }
 11573  
 11574  // SetDefaultAction sets the DefaultAction field's value.
 11575  func (s *UserPoolConfig) SetDefaultAction(v string) *UserPoolConfig {
 11576  	s.DefaultAction = &v
 11577  	return s
 11578  }
 11579  
 11580  // SetUserPoolId sets the UserPoolId field's value.
 11581  func (s *UserPoolConfig) SetUserPoolId(v string) *UserPoolConfig {
 11582  	s.UserPoolId = &v
 11583  	return s
 11584  }
 11585  
 11586  const (
 11587  	// ApiCacheStatusAvailable is a ApiCacheStatus enum value
 11588  	ApiCacheStatusAvailable = "AVAILABLE"
 11589  
 11590  	// ApiCacheStatusCreating is a ApiCacheStatus enum value
 11591  	ApiCacheStatusCreating = "CREATING"
 11592  
 11593  	// ApiCacheStatusDeleting is a ApiCacheStatus enum value
 11594  	ApiCacheStatusDeleting = "DELETING"
 11595  
 11596  	// ApiCacheStatusModifying is a ApiCacheStatus enum value
 11597  	ApiCacheStatusModifying = "MODIFYING"
 11598  
 11599  	// ApiCacheStatusFailed is a ApiCacheStatus enum value
 11600  	ApiCacheStatusFailed = "FAILED"
 11601  )
 11602  
 11603  // ApiCacheStatus_Values returns all elements of the ApiCacheStatus enum
 11604  func ApiCacheStatus_Values() []string {
 11605  	return []string{
 11606  		ApiCacheStatusAvailable,
 11607  		ApiCacheStatusCreating,
 11608  		ApiCacheStatusDeleting,
 11609  		ApiCacheStatusModifying,
 11610  		ApiCacheStatusFailed,
 11611  	}
 11612  }
 11613  
 11614  const (
 11615  	// ApiCacheTypeT2Small is a ApiCacheType enum value
 11616  	ApiCacheTypeT2Small = "T2_SMALL"
 11617  
 11618  	// ApiCacheTypeT2Medium is a ApiCacheType enum value
 11619  	ApiCacheTypeT2Medium = "T2_MEDIUM"
 11620  
 11621  	// ApiCacheTypeR4Large is a ApiCacheType enum value
 11622  	ApiCacheTypeR4Large = "R4_LARGE"
 11623  
 11624  	// ApiCacheTypeR4Xlarge is a ApiCacheType enum value
 11625  	ApiCacheTypeR4Xlarge = "R4_XLARGE"
 11626  
 11627  	// ApiCacheTypeR42xlarge is a ApiCacheType enum value
 11628  	ApiCacheTypeR42xlarge = "R4_2XLARGE"
 11629  
 11630  	// ApiCacheTypeR44xlarge is a ApiCacheType enum value
 11631  	ApiCacheTypeR44xlarge = "R4_4XLARGE"
 11632  
 11633  	// ApiCacheTypeR48xlarge is a ApiCacheType enum value
 11634  	ApiCacheTypeR48xlarge = "R4_8XLARGE"
 11635  
 11636  	// ApiCacheTypeSmall is a ApiCacheType enum value
 11637  	ApiCacheTypeSmall = "SMALL"
 11638  
 11639  	// ApiCacheTypeMedium is a ApiCacheType enum value
 11640  	ApiCacheTypeMedium = "MEDIUM"
 11641  
 11642  	// ApiCacheTypeLarge is a ApiCacheType enum value
 11643  	ApiCacheTypeLarge = "LARGE"
 11644  
 11645  	// ApiCacheTypeXlarge is a ApiCacheType enum value
 11646  	ApiCacheTypeXlarge = "XLARGE"
 11647  
 11648  	// ApiCacheTypeLarge2x is a ApiCacheType enum value
 11649  	ApiCacheTypeLarge2x = "LARGE_2X"
 11650  
 11651  	// ApiCacheTypeLarge4x is a ApiCacheType enum value
 11652  	ApiCacheTypeLarge4x = "LARGE_4X"
 11653  
 11654  	// ApiCacheTypeLarge8x is a ApiCacheType enum value
 11655  	ApiCacheTypeLarge8x = "LARGE_8X"
 11656  
 11657  	// ApiCacheTypeLarge12x is a ApiCacheType enum value
 11658  	ApiCacheTypeLarge12x = "LARGE_12X"
 11659  )
 11660  
 11661  // ApiCacheType_Values returns all elements of the ApiCacheType enum
 11662  func ApiCacheType_Values() []string {
 11663  	return []string{
 11664  		ApiCacheTypeT2Small,
 11665  		ApiCacheTypeT2Medium,
 11666  		ApiCacheTypeR4Large,
 11667  		ApiCacheTypeR4Xlarge,
 11668  		ApiCacheTypeR42xlarge,
 11669  		ApiCacheTypeR44xlarge,
 11670  		ApiCacheTypeR48xlarge,
 11671  		ApiCacheTypeSmall,
 11672  		ApiCacheTypeMedium,
 11673  		ApiCacheTypeLarge,
 11674  		ApiCacheTypeXlarge,
 11675  		ApiCacheTypeLarge2x,
 11676  		ApiCacheTypeLarge4x,
 11677  		ApiCacheTypeLarge8x,
 11678  		ApiCacheTypeLarge12x,
 11679  	}
 11680  }
 11681  
 11682  const (
 11683  	// ApiCachingBehaviorFullRequestCaching is a ApiCachingBehavior enum value
 11684  	ApiCachingBehaviorFullRequestCaching = "FULL_REQUEST_CACHING"
 11685  
 11686  	// ApiCachingBehaviorPerResolverCaching is a ApiCachingBehavior enum value
 11687  	ApiCachingBehaviorPerResolverCaching = "PER_RESOLVER_CACHING"
 11688  )
 11689  
 11690  // ApiCachingBehavior_Values returns all elements of the ApiCachingBehavior enum
 11691  func ApiCachingBehavior_Values() []string {
 11692  	return []string{
 11693  		ApiCachingBehaviorFullRequestCaching,
 11694  		ApiCachingBehaviorPerResolverCaching,
 11695  	}
 11696  }
 11697  
 11698  const (
 11699  	// AuthenticationTypeApiKey is a AuthenticationType enum value
 11700  	AuthenticationTypeApiKey = "API_KEY"
 11701  
 11702  	// AuthenticationTypeAwsIam is a AuthenticationType enum value
 11703  	AuthenticationTypeAwsIam = "AWS_IAM"
 11704  
 11705  	// AuthenticationTypeAmazonCognitoUserPools is a AuthenticationType enum value
 11706  	AuthenticationTypeAmazonCognitoUserPools = "AMAZON_COGNITO_USER_POOLS"
 11707  
 11708  	// AuthenticationTypeOpenidConnect is a AuthenticationType enum value
 11709  	AuthenticationTypeOpenidConnect = "OPENID_CONNECT"
 11710  
 11711  	// AuthenticationTypeAwsLambda is a AuthenticationType enum value
 11712  	AuthenticationTypeAwsLambda = "AWS_LAMBDA"
 11713  )
 11714  
 11715  // AuthenticationType_Values returns all elements of the AuthenticationType enum
 11716  func AuthenticationType_Values() []string {
 11717  	return []string{
 11718  		AuthenticationTypeApiKey,
 11719  		AuthenticationTypeAwsIam,
 11720  		AuthenticationTypeAmazonCognitoUserPools,
 11721  		AuthenticationTypeOpenidConnect,
 11722  		AuthenticationTypeAwsLambda,
 11723  	}
 11724  }
 11725  
 11726  const (
 11727  	// AuthorizationTypeAwsIam is a AuthorizationType enum value
 11728  	AuthorizationTypeAwsIam = "AWS_IAM"
 11729  )
 11730  
 11731  // AuthorizationType_Values returns all elements of the AuthorizationType enum
 11732  func AuthorizationType_Values() []string {
 11733  	return []string{
 11734  		AuthorizationTypeAwsIam,
 11735  	}
 11736  }
 11737  
 11738  const (
 11739  	// ConflictDetectionTypeVersion is a ConflictDetectionType enum value
 11740  	ConflictDetectionTypeVersion = "VERSION"
 11741  
 11742  	// ConflictDetectionTypeNone is a ConflictDetectionType enum value
 11743  	ConflictDetectionTypeNone = "NONE"
 11744  )
 11745  
 11746  // ConflictDetectionType_Values returns all elements of the ConflictDetectionType enum
 11747  func ConflictDetectionType_Values() []string {
 11748  	return []string{
 11749  		ConflictDetectionTypeVersion,
 11750  		ConflictDetectionTypeNone,
 11751  	}
 11752  }
 11753  
 11754  const (
 11755  	// ConflictHandlerTypeOptimisticConcurrency is a ConflictHandlerType enum value
 11756  	ConflictHandlerTypeOptimisticConcurrency = "OPTIMISTIC_CONCURRENCY"
 11757  
 11758  	// ConflictHandlerTypeLambda is a ConflictHandlerType enum value
 11759  	ConflictHandlerTypeLambda = "LAMBDA"
 11760  
 11761  	// ConflictHandlerTypeAutomerge is a ConflictHandlerType enum value
 11762  	ConflictHandlerTypeAutomerge = "AUTOMERGE"
 11763  
 11764  	// ConflictHandlerTypeNone is a ConflictHandlerType enum value
 11765  	ConflictHandlerTypeNone = "NONE"
 11766  )
 11767  
 11768  // ConflictHandlerType_Values returns all elements of the ConflictHandlerType enum
 11769  func ConflictHandlerType_Values() []string {
 11770  	return []string{
 11771  		ConflictHandlerTypeOptimisticConcurrency,
 11772  		ConflictHandlerTypeLambda,
 11773  		ConflictHandlerTypeAutomerge,
 11774  		ConflictHandlerTypeNone,
 11775  	}
 11776  }
 11777  
 11778  const (
 11779  	// DataSourceTypeAwsLambda is a DataSourceType enum value
 11780  	DataSourceTypeAwsLambda = "AWS_LAMBDA"
 11781  
 11782  	// DataSourceTypeAmazonDynamodb is a DataSourceType enum value
 11783  	DataSourceTypeAmazonDynamodb = "AMAZON_DYNAMODB"
 11784  
 11785  	// DataSourceTypeAmazonElasticsearch is a DataSourceType enum value
 11786  	DataSourceTypeAmazonElasticsearch = "AMAZON_ELASTICSEARCH"
 11787  
 11788  	// DataSourceTypeNone is a DataSourceType enum value
 11789  	DataSourceTypeNone = "NONE"
 11790  
 11791  	// DataSourceTypeHttp is a DataSourceType enum value
 11792  	DataSourceTypeHttp = "HTTP"
 11793  
 11794  	// DataSourceTypeRelationalDatabase is a DataSourceType enum value
 11795  	DataSourceTypeRelationalDatabase = "RELATIONAL_DATABASE"
 11796  
 11797  	// DataSourceTypeAmazonOpensearchService is a DataSourceType enum value
 11798  	DataSourceTypeAmazonOpensearchService = "AMAZON_OPENSEARCH_SERVICE"
 11799  )
 11800  
 11801  // DataSourceType_Values returns all elements of the DataSourceType enum
 11802  func DataSourceType_Values() []string {
 11803  	return []string{
 11804  		DataSourceTypeAwsLambda,
 11805  		DataSourceTypeAmazonDynamodb,
 11806  		DataSourceTypeAmazonElasticsearch,
 11807  		DataSourceTypeNone,
 11808  		DataSourceTypeHttp,
 11809  		DataSourceTypeRelationalDatabase,
 11810  		DataSourceTypeAmazonOpensearchService,
 11811  	}
 11812  }
 11813  
 11814  const (
 11815  	// DefaultActionAllow is a DefaultAction enum value
 11816  	DefaultActionAllow = "ALLOW"
 11817  
 11818  	// DefaultActionDeny is a DefaultAction enum value
 11819  	DefaultActionDeny = "DENY"
 11820  )
 11821  
 11822  // DefaultAction_Values returns all elements of the DefaultAction enum
 11823  func DefaultAction_Values() []string {
 11824  	return []string{
 11825  		DefaultActionAllow,
 11826  		DefaultActionDeny,
 11827  	}
 11828  }
 11829  
 11830  const (
 11831  	// FieldLogLevelNone is a FieldLogLevel enum value
 11832  	FieldLogLevelNone = "NONE"
 11833  
 11834  	// FieldLogLevelError is a FieldLogLevel enum value
 11835  	FieldLogLevelError = "ERROR"
 11836  
 11837  	// FieldLogLevelAll is a FieldLogLevel enum value
 11838  	FieldLogLevelAll = "ALL"
 11839  )
 11840  
 11841  // FieldLogLevel_Values returns all elements of the FieldLogLevel enum
 11842  func FieldLogLevel_Values() []string {
 11843  	return []string{
 11844  		FieldLogLevelNone,
 11845  		FieldLogLevelError,
 11846  		FieldLogLevelAll,
 11847  	}
 11848  }
 11849  
 11850  const (
 11851  	// OutputTypeSdl is a OutputType enum value
 11852  	OutputTypeSdl = "SDL"
 11853  
 11854  	// OutputTypeJson is a OutputType enum value
 11855  	OutputTypeJson = "JSON"
 11856  )
 11857  
 11858  // OutputType_Values returns all elements of the OutputType enum
 11859  func OutputType_Values() []string {
 11860  	return []string{
 11861  		OutputTypeSdl,
 11862  		OutputTypeJson,
 11863  	}
 11864  }
 11865  
 11866  const (
 11867  	// RelationalDatabaseSourceTypeRdsHttpEndpoint is a RelationalDatabaseSourceType enum value
 11868  	RelationalDatabaseSourceTypeRdsHttpEndpoint = "RDS_HTTP_ENDPOINT"
 11869  )
 11870  
 11871  // RelationalDatabaseSourceType_Values returns all elements of the RelationalDatabaseSourceType enum
 11872  func RelationalDatabaseSourceType_Values() []string {
 11873  	return []string{
 11874  		RelationalDatabaseSourceTypeRdsHttpEndpoint,
 11875  	}
 11876  }
 11877  
 11878  const (
 11879  	// ResolverKindUnit is a ResolverKind enum value
 11880  	ResolverKindUnit = "UNIT"
 11881  
 11882  	// ResolverKindPipeline is a ResolverKind enum value
 11883  	ResolverKindPipeline = "PIPELINE"
 11884  )
 11885  
 11886  // ResolverKind_Values returns all elements of the ResolverKind enum
 11887  func ResolverKind_Values() []string {
 11888  	return []string{
 11889  		ResolverKindUnit,
 11890  		ResolverKindPipeline,
 11891  	}
 11892  }
 11893  
 11894  const (
 11895  	// SchemaStatusProcessing is a SchemaStatus enum value
 11896  	SchemaStatusProcessing = "PROCESSING"
 11897  
 11898  	// SchemaStatusActive is a SchemaStatus enum value
 11899  	SchemaStatusActive = "ACTIVE"
 11900  
 11901  	// SchemaStatusDeleting is a SchemaStatus enum value
 11902  	SchemaStatusDeleting = "DELETING"
 11903  
 11904  	// SchemaStatusFailed is a SchemaStatus enum value
 11905  	SchemaStatusFailed = "FAILED"
 11906  
 11907  	// SchemaStatusSuccess is a SchemaStatus enum value
 11908  	SchemaStatusSuccess = "SUCCESS"
 11909  
 11910  	// SchemaStatusNotApplicable is a SchemaStatus enum value
 11911  	SchemaStatusNotApplicable = "NOT_APPLICABLE"
 11912  )
 11913  
 11914  // SchemaStatus_Values returns all elements of the SchemaStatus enum
 11915  func SchemaStatus_Values() []string {
 11916  	return []string{
 11917  		SchemaStatusProcessing,
 11918  		SchemaStatusActive,
 11919  		SchemaStatusDeleting,
 11920  		SchemaStatusFailed,
 11921  		SchemaStatusSuccess,
 11922  		SchemaStatusNotApplicable,
 11923  	}
 11924  }
 11925  
 11926  const (
 11927  	// TypeDefinitionFormatSdl is a TypeDefinitionFormat enum value
 11928  	TypeDefinitionFormatSdl = "SDL"
 11929  
 11930  	// TypeDefinitionFormatJson is a TypeDefinitionFormat enum value
 11931  	TypeDefinitionFormatJson = "JSON"
 11932  )
 11933  
 11934  // TypeDefinitionFormat_Values returns all elements of the TypeDefinitionFormat enum
 11935  func TypeDefinitionFormat_Values() []string {
 11936  	return []string{
 11937  		TypeDefinitionFormatSdl,
 11938  		TypeDefinitionFormatJson,
 11939  	}
 11940  }