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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package globalaccelerator
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opAddCustomRoutingEndpoints = "AddCustomRoutingEndpoints"
    17  
    18  // AddCustomRoutingEndpointsRequest generates a "aws/request.Request" representing the
    19  // client's request for the AddCustomRoutingEndpoints operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AddCustomRoutingEndpoints for more information on using the AddCustomRoutingEndpoints
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AddCustomRoutingEndpointsRequest method.
    34  //    req, resp := client.AddCustomRoutingEndpointsRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddCustomRoutingEndpoints
    42  func (c *GlobalAccelerator) AddCustomRoutingEndpointsRequest(input *AddCustomRoutingEndpointsInput) (req *request.Request, output *AddCustomRoutingEndpointsOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAddCustomRoutingEndpoints,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AddCustomRoutingEndpointsInput{}
    51  	}
    52  
    53  	output = &AddCustomRoutingEndpointsOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AddCustomRoutingEndpoints API operation for AWS Global Accelerator.
    59  //
    60  // Associate a virtual private cloud (VPC) subnet endpoint with your custom
    61  // routing accelerator.
    62  //
    63  // The listener port range must be large enough to support the number of IP
    64  // addresses that can be specified in your subnet. The number of ports required
    65  // is: subnet size times the number of ports per destination EC2 instances.
    66  // For example, a subnet defined as /24 requires a listener port range of at
    67  // least 255 ports.
    68  //
    69  // Note: You must have enough remaining listener ports available to map to the
    70  // subnet ports, or the call will fail with a LimitExceededException.
    71  //
    72  // By default, all destinations in a subnet in a custom routing accelerator
    73  // cannot receive traffic. To enable all destinations to receive traffic, or
    74  // to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic
    75  // (https://docs.aws.amazon.com/global-accelerator/latest/api/API_AllowCustomRoutingTraffic.html)
    76  // operation.
    77  //
    78  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    79  // with awserr.Error's Code and Message methods to get detailed information about
    80  // the error.
    81  //
    82  // See the AWS API reference guide for AWS Global Accelerator's
    83  // API operation AddCustomRoutingEndpoints for usage and error information.
    84  //
    85  // Returned Error Types:
    86  //   * EndpointAlreadyExistsException
    87  //   The endpoint that you specified doesn't exist.
    88  //
    89  //   * EndpointGroupNotFoundException
    90  //   The endpoint group that you specified doesn't exist.
    91  //
    92  //   * InternalServiceErrorException
    93  //   There was an internal error for AWS Global Accelerator.
    94  //
    95  //   * InvalidArgumentException
    96  //   An argument that you specified is invalid.
    97  //
    98  //   * LimitExceededException
    99  //   Processing your request would cause you to exceed an AWS Global Accelerator
   100  //   limit.
   101  //
   102  //   * AccessDeniedException
   103  //   You don't have access permission.
   104  //
   105  //   * ConflictException
   106  //   You can't use both of those options.
   107  //
   108  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AddCustomRoutingEndpoints
   109  func (c *GlobalAccelerator) AddCustomRoutingEndpoints(input *AddCustomRoutingEndpointsInput) (*AddCustomRoutingEndpointsOutput, error) {
   110  	req, out := c.AddCustomRoutingEndpointsRequest(input)
   111  	return out, req.Send()
   112  }
   113  
   114  // AddCustomRoutingEndpointsWithContext is the same as AddCustomRoutingEndpoints with the addition of
   115  // the ability to pass a context and additional request options.
   116  //
   117  // See AddCustomRoutingEndpoints for details on how to use this API operation.
   118  //
   119  // The context must be non-nil and will be used for request cancellation. If
   120  // the context is nil a panic will occur. In the future the SDK may create
   121  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   122  // for more information on using Contexts.
   123  func (c *GlobalAccelerator) AddCustomRoutingEndpointsWithContext(ctx aws.Context, input *AddCustomRoutingEndpointsInput, opts ...request.Option) (*AddCustomRoutingEndpointsOutput, error) {
   124  	req, out := c.AddCustomRoutingEndpointsRequest(input)
   125  	req.SetContext(ctx)
   126  	req.ApplyOptions(opts...)
   127  	return out, req.Send()
   128  }
   129  
   130  const opAdvertiseByoipCidr = "AdvertiseByoipCidr"
   131  
   132  // AdvertiseByoipCidrRequest generates a "aws/request.Request" representing the
   133  // client's request for the AdvertiseByoipCidr operation. The "output" return
   134  // value will be populated with the request's response once the request completes
   135  // successfully.
   136  //
   137  // Use "Send" method on the returned Request to send the API call to the service.
   138  // the "output" return value is not valid until after Send returns without error.
   139  //
   140  // See AdvertiseByoipCidr for more information on using the AdvertiseByoipCidr
   141  // API call, and error handling.
   142  //
   143  // This method is useful when you want to inject custom logic or configuration
   144  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   145  //
   146  //
   147  //    // Example sending a request using the AdvertiseByoipCidrRequest method.
   148  //    req, resp := client.AdvertiseByoipCidrRequest(params)
   149  //
   150  //    err := req.Send()
   151  //    if err == nil { // resp is now filled
   152  //        fmt.Println(resp)
   153  //    }
   154  //
   155  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AdvertiseByoipCidr
   156  func (c *GlobalAccelerator) AdvertiseByoipCidrRequest(input *AdvertiseByoipCidrInput) (req *request.Request, output *AdvertiseByoipCidrOutput) {
   157  	op := &request.Operation{
   158  		Name:       opAdvertiseByoipCidr,
   159  		HTTPMethod: "POST",
   160  		HTTPPath:   "/",
   161  	}
   162  
   163  	if input == nil {
   164  		input = &AdvertiseByoipCidrInput{}
   165  	}
   166  
   167  	output = &AdvertiseByoipCidrOutput{}
   168  	req = c.newRequest(op, input, output)
   169  	return
   170  }
   171  
   172  // AdvertiseByoipCidr API operation for AWS Global Accelerator.
   173  //
   174  // Advertises an IPv4 address range that is provisioned for use with your AWS
   175  // resources through bring your own IP addresses (BYOIP). It can take a few
   176  // minutes before traffic to the specified addresses starts routing to AWS because
   177  // of propagation delays.
   178  //
   179  // To stop advertising the BYOIP address range, use WithdrawByoipCidr (https://docs.aws.amazon.com/global-accelerator/latest/api/WithdrawByoipCidr.html).
   180  //
   181  // For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)
   182  // in the AWS Global Accelerator Developer Guide.
   183  //
   184  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   185  // with awserr.Error's Code and Message methods to get detailed information about
   186  // the error.
   187  //
   188  // See the AWS API reference guide for AWS Global Accelerator's
   189  // API operation AdvertiseByoipCidr for usage and error information.
   190  //
   191  // Returned Error Types:
   192  //   * InternalServiceErrorException
   193  //   There was an internal error for AWS Global Accelerator.
   194  //
   195  //   * InvalidArgumentException
   196  //   An argument that you specified is invalid.
   197  //
   198  //   * AccessDeniedException
   199  //   You don't have access permission.
   200  //
   201  //   * ByoipCidrNotFoundException
   202  //   The CIDR that you specified was not found or is incorrect.
   203  //
   204  //   * IncorrectCidrStateException
   205  //   The CIDR that you specified is not valid for this action. For example, the
   206  //   state of the CIDR might be incorrect for this action.
   207  //
   208  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AdvertiseByoipCidr
   209  func (c *GlobalAccelerator) AdvertiseByoipCidr(input *AdvertiseByoipCidrInput) (*AdvertiseByoipCidrOutput, error) {
   210  	req, out := c.AdvertiseByoipCidrRequest(input)
   211  	return out, req.Send()
   212  }
   213  
   214  // AdvertiseByoipCidrWithContext is the same as AdvertiseByoipCidr with the addition of
   215  // the ability to pass a context and additional request options.
   216  //
   217  // See AdvertiseByoipCidr for details on how to use this API operation.
   218  //
   219  // The context must be non-nil and will be used for request cancellation. If
   220  // the context is nil a panic will occur. In the future the SDK may create
   221  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   222  // for more information on using Contexts.
   223  func (c *GlobalAccelerator) AdvertiseByoipCidrWithContext(ctx aws.Context, input *AdvertiseByoipCidrInput, opts ...request.Option) (*AdvertiseByoipCidrOutput, error) {
   224  	req, out := c.AdvertiseByoipCidrRequest(input)
   225  	req.SetContext(ctx)
   226  	req.ApplyOptions(opts...)
   227  	return out, req.Send()
   228  }
   229  
   230  const opAllowCustomRoutingTraffic = "AllowCustomRoutingTraffic"
   231  
   232  // AllowCustomRoutingTrafficRequest generates a "aws/request.Request" representing the
   233  // client's request for the AllowCustomRoutingTraffic operation. The "output" return
   234  // value will be populated with the request's response once the request completes
   235  // successfully.
   236  //
   237  // Use "Send" method on the returned Request to send the API call to the service.
   238  // the "output" return value is not valid until after Send returns without error.
   239  //
   240  // See AllowCustomRoutingTraffic for more information on using the AllowCustomRoutingTraffic
   241  // API call, and error handling.
   242  //
   243  // This method is useful when you want to inject custom logic or configuration
   244  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   245  //
   246  //
   247  //    // Example sending a request using the AllowCustomRoutingTrafficRequest method.
   248  //    req, resp := client.AllowCustomRoutingTrafficRequest(params)
   249  //
   250  //    err := req.Send()
   251  //    if err == nil { // resp is now filled
   252  //        fmt.Println(resp)
   253  //    }
   254  //
   255  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AllowCustomRoutingTraffic
   256  func (c *GlobalAccelerator) AllowCustomRoutingTrafficRequest(input *AllowCustomRoutingTrafficInput) (req *request.Request, output *AllowCustomRoutingTrafficOutput) {
   257  	op := &request.Operation{
   258  		Name:       opAllowCustomRoutingTraffic,
   259  		HTTPMethod: "POST",
   260  		HTTPPath:   "/",
   261  	}
   262  
   263  	if input == nil {
   264  		input = &AllowCustomRoutingTrafficInput{}
   265  	}
   266  
   267  	output = &AllowCustomRoutingTrafficOutput{}
   268  	req = c.newRequest(op, input, output)
   269  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   270  	return
   271  }
   272  
   273  // AllowCustomRoutingTraffic API operation for AWS Global Accelerator.
   274  //
   275  // Specify the Amazon EC2 instance (destination) IP addresses and ports for
   276  // a VPC subnet endpoint that can receive traffic for a custom routing accelerator.
   277  // You can allow traffic to all destinations in the subnet endpoint, or allow
   278  // traffic to a specified list of destination IP addresses and ports in the
   279  // subnet. Note that you cannot specify IP addresses or ports outside of the
   280  // range that you configured for the endpoint group.
   281  //
   282  // After you make changes, you can verify that the updates are complete by checking
   283  // the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED.
   284  //
   285  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   286  // with awserr.Error's Code and Message methods to get detailed information about
   287  // the error.
   288  //
   289  // See the AWS API reference guide for AWS Global Accelerator's
   290  // API operation AllowCustomRoutingTraffic for usage and error information.
   291  //
   292  // Returned Error Types:
   293  //   * InvalidArgumentException
   294  //   An argument that you specified is invalid.
   295  //
   296  //   * InternalServiceErrorException
   297  //   There was an internal error for AWS Global Accelerator.
   298  //
   299  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AllowCustomRoutingTraffic
   300  func (c *GlobalAccelerator) AllowCustomRoutingTraffic(input *AllowCustomRoutingTrafficInput) (*AllowCustomRoutingTrafficOutput, error) {
   301  	req, out := c.AllowCustomRoutingTrafficRequest(input)
   302  	return out, req.Send()
   303  }
   304  
   305  // AllowCustomRoutingTrafficWithContext is the same as AllowCustomRoutingTraffic with the addition of
   306  // the ability to pass a context and additional request options.
   307  //
   308  // See AllowCustomRoutingTraffic for details on how to use this API operation.
   309  //
   310  // The context must be non-nil and will be used for request cancellation. If
   311  // the context is nil a panic will occur. In the future the SDK may create
   312  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   313  // for more information on using Contexts.
   314  func (c *GlobalAccelerator) AllowCustomRoutingTrafficWithContext(ctx aws.Context, input *AllowCustomRoutingTrafficInput, opts ...request.Option) (*AllowCustomRoutingTrafficOutput, error) {
   315  	req, out := c.AllowCustomRoutingTrafficRequest(input)
   316  	req.SetContext(ctx)
   317  	req.ApplyOptions(opts...)
   318  	return out, req.Send()
   319  }
   320  
   321  const opCreateAccelerator = "CreateAccelerator"
   322  
   323  // CreateAcceleratorRequest generates a "aws/request.Request" representing the
   324  // client's request for the CreateAccelerator operation. The "output" return
   325  // value will be populated with the request's response once the request completes
   326  // successfully.
   327  //
   328  // Use "Send" method on the returned Request to send the API call to the service.
   329  // the "output" return value is not valid until after Send returns without error.
   330  //
   331  // See CreateAccelerator for more information on using the CreateAccelerator
   332  // API call, and error handling.
   333  //
   334  // This method is useful when you want to inject custom logic or configuration
   335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   336  //
   337  //
   338  //    // Example sending a request using the CreateAcceleratorRequest method.
   339  //    req, resp := client.CreateAcceleratorRequest(params)
   340  //
   341  //    err := req.Send()
   342  //    if err == nil { // resp is now filled
   343  //        fmt.Println(resp)
   344  //    }
   345  //
   346  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateAccelerator
   347  func (c *GlobalAccelerator) CreateAcceleratorRequest(input *CreateAcceleratorInput) (req *request.Request, output *CreateAcceleratorOutput) {
   348  	op := &request.Operation{
   349  		Name:       opCreateAccelerator,
   350  		HTTPMethod: "POST",
   351  		HTTPPath:   "/",
   352  	}
   353  
   354  	if input == nil {
   355  		input = &CreateAcceleratorInput{}
   356  	}
   357  
   358  	output = &CreateAcceleratorOutput{}
   359  	req = c.newRequest(op, input, output)
   360  	return
   361  }
   362  
   363  // CreateAccelerator API operation for AWS Global Accelerator.
   364  //
   365  // Create an accelerator. An accelerator includes one or more listeners that
   366  // process inbound connections and direct traffic to one or more endpoint groups,
   367  // each of which includes endpoints, such as Network Load Balancers.
   368  //
   369  // Global Accelerator is a global service that supports endpoints in multiple
   370  // AWS Regions but you must specify the US West (Oregon) Region to create or
   371  // update accelerators.
   372  //
   373  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   374  // with awserr.Error's Code and Message methods to get detailed information about
   375  // the error.
   376  //
   377  // See the AWS API reference guide for AWS Global Accelerator's
   378  // API operation CreateAccelerator for usage and error information.
   379  //
   380  // Returned Error Types:
   381  //   * InternalServiceErrorException
   382  //   There was an internal error for AWS Global Accelerator.
   383  //
   384  //   * InvalidArgumentException
   385  //   An argument that you specified is invalid.
   386  //
   387  //   * LimitExceededException
   388  //   Processing your request would cause you to exceed an AWS Global Accelerator
   389  //   limit.
   390  //
   391  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateAccelerator
   392  func (c *GlobalAccelerator) CreateAccelerator(input *CreateAcceleratorInput) (*CreateAcceleratorOutput, error) {
   393  	req, out := c.CreateAcceleratorRequest(input)
   394  	return out, req.Send()
   395  }
   396  
   397  // CreateAcceleratorWithContext is the same as CreateAccelerator with the addition of
   398  // the ability to pass a context and additional request options.
   399  //
   400  // See CreateAccelerator for details on how to use this API operation.
   401  //
   402  // The context must be non-nil and will be used for request cancellation. If
   403  // the context is nil a panic will occur. In the future the SDK may create
   404  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   405  // for more information on using Contexts.
   406  func (c *GlobalAccelerator) CreateAcceleratorWithContext(ctx aws.Context, input *CreateAcceleratorInput, opts ...request.Option) (*CreateAcceleratorOutput, error) {
   407  	req, out := c.CreateAcceleratorRequest(input)
   408  	req.SetContext(ctx)
   409  	req.ApplyOptions(opts...)
   410  	return out, req.Send()
   411  }
   412  
   413  const opCreateCustomRoutingAccelerator = "CreateCustomRoutingAccelerator"
   414  
   415  // CreateCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the
   416  // client's request for the CreateCustomRoutingAccelerator operation. The "output" return
   417  // value will be populated with the request's response once the request completes
   418  // successfully.
   419  //
   420  // Use "Send" method on the returned Request to send the API call to the service.
   421  // the "output" return value is not valid until after Send returns without error.
   422  //
   423  // See CreateCustomRoutingAccelerator for more information on using the CreateCustomRoutingAccelerator
   424  // API call, and error handling.
   425  //
   426  // This method is useful when you want to inject custom logic or configuration
   427  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   428  //
   429  //
   430  //    // Example sending a request using the CreateCustomRoutingAcceleratorRequest method.
   431  //    req, resp := client.CreateCustomRoutingAcceleratorRequest(params)
   432  //
   433  //    err := req.Send()
   434  //    if err == nil { // resp is now filled
   435  //        fmt.Println(resp)
   436  //    }
   437  //
   438  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingAccelerator
   439  func (c *GlobalAccelerator) CreateCustomRoutingAcceleratorRequest(input *CreateCustomRoutingAcceleratorInput) (req *request.Request, output *CreateCustomRoutingAcceleratorOutput) {
   440  	op := &request.Operation{
   441  		Name:       opCreateCustomRoutingAccelerator,
   442  		HTTPMethod: "POST",
   443  		HTTPPath:   "/",
   444  	}
   445  
   446  	if input == nil {
   447  		input = &CreateCustomRoutingAcceleratorInput{}
   448  	}
   449  
   450  	output = &CreateCustomRoutingAcceleratorOutput{}
   451  	req = c.newRequest(op, input, output)
   452  	return
   453  }
   454  
   455  // CreateCustomRoutingAccelerator API operation for AWS Global Accelerator.
   456  //
   457  // Create a custom routing accelerator. A custom routing accelerator directs
   458  // traffic to one of possibly thousands of Amazon EC2 instance destinations
   459  // running in a single or multiple virtual private clouds (VPC) subnet endpoints.
   460  //
   461  // Be aware that, by default, all destination EC2 instances in a VPC subnet
   462  // endpoint cannot receive traffic. To enable all destinations to receive traffic,
   463  // or to specify individual port mappings that can receive traffic, see the
   464  // AllowCustomRoutingTraffic (https://docs.aws.amazon.com/global-accelerator/latest/api/API_AllowCustomRoutingTraffic.html)
   465  // operation.
   466  //
   467  // Global Accelerator is a global service that supports endpoints in multiple
   468  // AWS Regions but you must specify the US West (Oregon) Region to create or
   469  // update accelerators.
   470  //
   471  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   472  // with awserr.Error's Code and Message methods to get detailed information about
   473  // the error.
   474  //
   475  // See the AWS API reference guide for AWS Global Accelerator's
   476  // API operation CreateCustomRoutingAccelerator for usage and error information.
   477  //
   478  // Returned Error Types:
   479  //   * InternalServiceErrorException
   480  //   There was an internal error for AWS Global Accelerator.
   481  //
   482  //   * InvalidArgumentException
   483  //   An argument that you specified is invalid.
   484  //
   485  //   * LimitExceededException
   486  //   Processing your request would cause you to exceed an AWS Global Accelerator
   487  //   limit.
   488  //
   489  //   * AccessDeniedException
   490  //   You don't have access permission.
   491  //
   492  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingAccelerator
   493  func (c *GlobalAccelerator) CreateCustomRoutingAccelerator(input *CreateCustomRoutingAcceleratorInput) (*CreateCustomRoutingAcceleratorOutput, error) {
   494  	req, out := c.CreateCustomRoutingAcceleratorRequest(input)
   495  	return out, req.Send()
   496  }
   497  
   498  // CreateCustomRoutingAcceleratorWithContext is the same as CreateCustomRoutingAccelerator with the addition of
   499  // the ability to pass a context and additional request options.
   500  //
   501  // See CreateCustomRoutingAccelerator for details on how to use this API operation.
   502  //
   503  // The context must be non-nil and will be used for request cancellation. If
   504  // the context is nil a panic will occur. In the future the SDK may create
   505  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   506  // for more information on using Contexts.
   507  func (c *GlobalAccelerator) CreateCustomRoutingAcceleratorWithContext(ctx aws.Context, input *CreateCustomRoutingAcceleratorInput, opts ...request.Option) (*CreateCustomRoutingAcceleratorOutput, error) {
   508  	req, out := c.CreateCustomRoutingAcceleratorRequest(input)
   509  	req.SetContext(ctx)
   510  	req.ApplyOptions(opts...)
   511  	return out, req.Send()
   512  }
   513  
   514  const opCreateCustomRoutingEndpointGroup = "CreateCustomRoutingEndpointGroup"
   515  
   516  // CreateCustomRoutingEndpointGroupRequest generates a "aws/request.Request" representing the
   517  // client's request for the CreateCustomRoutingEndpointGroup operation. The "output" return
   518  // value will be populated with the request's response once the request completes
   519  // successfully.
   520  //
   521  // Use "Send" method on the returned Request to send the API call to the service.
   522  // the "output" return value is not valid until after Send returns without error.
   523  //
   524  // See CreateCustomRoutingEndpointGroup for more information on using the CreateCustomRoutingEndpointGroup
   525  // API call, and error handling.
   526  //
   527  // This method is useful when you want to inject custom logic or configuration
   528  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   529  //
   530  //
   531  //    // Example sending a request using the CreateCustomRoutingEndpointGroupRequest method.
   532  //    req, resp := client.CreateCustomRoutingEndpointGroupRequest(params)
   533  //
   534  //    err := req.Send()
   535  //    if err == nil { // resp is now filled
   536  //        fmt.Println(resp)
   537  //    }
   538  //
   539  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingEndpointGroup
   540  func (c *GlobalAccelerator) CreateCustomRoutingEndpointGroupRequest(input *CreateCustomRoutingEndpointGroupInput) (req *request.Request, output *CreateCustomRoutingEndpointGroupOutput) {
   541  	op := &request.Operation{
   542  		Name:       opCreateCustomRoutingEndpointGroup,
   543  		HTTPMethod: "POST",
   544  		HTTPPath:   "/",
   545  	}
   546  
   547  	if input == nil {
   548  		input = &CreateCustomRoutingEndpointGroupInput{}
   549  	}
   550  
   551  	output = &CreateCustomRoutingEndpointGroupOutput{}
   552  	req = c.newRequest(op, input, output)
   553  	return
   554  }
   555  
   556  // CreateCustomRoutingEndpointGroup API operation for AWS Global Accelerator.
   557  //
   558  // Create an endpoint group for the specified listener for a custom routing
   559  // accelerator. An endpoint group is a collection of endpoints in one AWS Region.
   560  //
   561  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   562  // with awserr.Error's Code and Message methods to get detailed information about
   563  // the error.
   564  //
   565  // See the AWS API reference guide for AWS Global Accelerator's
   566  // API operation CreateCustomRoutingEndpointGroup for usage and error information.
   567  //
   568  // Returned Error Types:
   569  //   * AcceleratorNotFoundException
   570  //   The accelerator that you specified doesn't exist.
   571  //
   572  //   * EndpointGroupAlreadyExistsException
   573  //   The endpoint group that you specified already exists.
   574  //
   575  //   * ListenerNotFoundException
   576  //   The listener that you specified doesn't exist.
   577  //
   578  //   * InternalServiceErrorException
   579  //   There was an internal error for AWS Global Accelerator.
   580  //
   581  //   * InvalidArgumentException
   582  //   An argument that you specified is invalid.
   583  //
   584  //   * InvalidPortRangeException
   585  //   The port numbers that you specified are not valid numbers or are not unique
   586  //   for this accelerator.
   587  //
   588  //   * LimitExceededException
   589  //   Processing your request would cause you to exceed an AWS Global Accelerator
   590  //   limit.
   591  //
   592  //   * AccessDeniedException
   593  //   You don't have access permission.
   594  //
   595  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingEndpointGroup
   596  func (c *GlobalAccelerator) CreateCustomRoutingEndpointGroup(input *CreateCustomRoutingEndpointGroupInput) (*CreateCustomRoutingEndpointGroupOutput, error) {
   597  	req, out := c.CreateCustomRoutingEndpointGroupRequest(input)
   598  	return out, req.Send()
   599  }
   600  
   601  // CreateCustomRoutingEndpointGroupWithContext is the same as CreateCustomRoutingEndpointGroup with the addition of
   602  // the ability to pass a context and additional request options.
   603  //
   604  // See CreateCustomRoutingEndpointGroup for details on how to use this API operation.
   605  //
   606  // The context must be non-nil and will be used for request cancellation. If
   607  // the context is nil a panic will occur. In the future the SDK may create
   608  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   609  // for more information on using Contexts.
   610  func (c *GlobalAccelerator) CreateCustomRoutingEndpointGroupWithContext(ctx aws.Context, input *CreateCustomRoutingEndpointGroupInput, opts ...request.Option) (*CreateCustomRoutingEndpointGroupOutput, error) {
   611  	req, out := c.CreateCustomRoutingEndpointGroupRequest(input)
   612  	req.SetContext(ctx)
   613  	req.ApplyOptions(opts...)
   614  	return out, req.Send()
   615  }
   616  
   617  const opCreateCustomRoutingListener = "CreateCustomRoutingListener"
   618  
   619  // CreateCustomRoutingListenerRequest generates a "aws/request.Request" representing the
   620  // client's request for the CreateCustomRoutingListener operation. The "output" return
   621  // value will be populated with the request's response once the request completes
   622  // successfully.
   623  //
   624  // Use "Send" method on the returned Request to send the API call to the service.
   625  // the "output" return value is not valid until after Send returns without error.
   626  //
   627  // See CreateCustomRoutingListener for more information on using the CreateCustomRoutingListener
   628  // API call, and error handling.
   629  //
   630  // This method is useful when you want to inject custom logic or configuration
   631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   632  //
   633  //
   634  //    // Example sending a request using the CreateCustomRoutingListenerRequest method.
   635  //    req, resp := client.CreateCustomRoutingListenerRequest(params)
   636  //
   637  //    err := req.Send()
   638  //    if err == nil { // resp is now filled
   639  //        fmt.Println(resp)
   640  //    }
   641  //
   642  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingListener
   643  func (c *GlobalAccelerator) CreateCustomRoutingListenerRequest(input *CreateCustomRoutingListenerInput) (req *request.Request, output *CreateCustomRoutingListenerOutput) {
   644  	op := &request.Operation{
   645  		Name:       opCreateCustomRoutingListener,
   646  		HTTPMethod: "POST",
   647  		HTTPPath:   "/",
   648  	}
   649  
   650  	if input == nil {
   651  		input = &CreateCustomRoutingListenerInput{}
   652  	}
   653  
   654  	output = &CreateCustomRoutingListenerOutput{}
   655  	req = c.newRequest(op, input, output)
   656  	return
   657  }
   658  
   659  // CreateCustomRoutingListener API operation for AWS Global Accelerator.
   660  //
   661  // Create a listener to process inbound connections from clients to a custom
   662  // routing accelerator. Connections arrive to assigned static IP addresses on
   663  // the port range that you specify.
   664  //
   665  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   666  // with awserr.Error's Code and Message methods to get detailed information about
   667  // the error.
   668  //
   669  // See the AWS API reference guide for AWS Global Accelerator's
   670  // API operation CreateCustomRoutingListener for usage and error information.
   671  //
   672  // Returned Error Types:
   673  //   * InvalidArgumentException
   674  //   An argument that you specified is invalid.
   675  //
   676  //   * AcceleratorNotFoundException
   677  //   The accelerator that you specified doesn't exist.
   678  //
   679  //   * InvalidPortRangeException
   680  //   The port numbers that you specified are not valid numbers or are not unique
   681  //   for this accelerator.
   682  //
   683  //   * InternalServiceErrorException
   684  //   There was an internal error for AWS Global Accelerator.
   685  //
   686  //   * LimitExceededException
   687  //   Processing your request would cause you to exceed an AWS Global Accelerator
   688  //   limit.
   689  //
   690  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCustomRoutingListener
   691  func (c *GlobalAccelerator) CreateCustomRoutingListener(input *CreateCustomRoutingListenerInput) (*CreateCustomRoutingListenerOutput, error) {
   692  	req, out := c.CreateCustomRoutingListenerRequest(input)
   693  	return out, req.Send()
   694  }
   695  
   696  // CreateCustomRoutingListenerWithContext is the same as CreateCustomRoutingListener with the addition of
   697  // the ability to pass a context and additional request options.
   698  //
   699  // See CreateCustomRoutingListener for details on how to use this API operation.
   700  //
   701  // The context must be non-nil and will be used for request cancellation. If
   702  // the context is nil a panic will occur. In the future the SDK may create
   703  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   704  // for more information on using Contexts.
   705  func (c *GlobalAccelerator) CreateCustomRoutingListenerWithContext(ctx aws.Context, input *CreateCustomRoutingListenerInput, opts ...request.Option) (*CreateCustomRoutingListenerOutput, error) {
   706  	req, out := c.CreateCustomRoutingListenerRequest(input)
   707  	req.SetContext(ctx)
   708  	req.ApplyOptions(opts...)
   709  	return out, req.Send()
   710  }
   711  
   712  const opCreateEndpointGroup = "CreateEndpointGroup"
   713  
   714  // CreateEndpointGroupRequest generates a "aws/request.Request" representing the
   715  // client's request for the CreateEndpointGroup operation. The "output" return
   716  // value will be populated with the request's response once the request completes
   717  // successfully.
   718  //
   719  // Use "Send" method on the returned Request to send the API call to the service.
   720  // the "output" return value is not valid until after Send returns without error.
   721  //
   722  // See CreateEndpointGroup for more information on using the CreateEndpointGroup
   723  // API call, and error handling.
   724  //
   725  // This method is useful when you want to inject custom logic or configuration
   726  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   727  //
   728  //
   729  //    // Example sending a request using the CreateEndpointGroupRequest method.
   730  //    req, resp := client.CreateEndpointGroupRequest(params)
   731  //
   732  //    err := req.Send()
   733  //    if err == nil { // resp is now filled
   734  //        fmt.Println(resp)
   735  //    }
   736  //
   737  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup
   738  func (c *GlobalAccelerator) CreateEndpointGroupRequest(input *CreateEndpointGroupInput) (req *request.Request, output *CreateEndpointGroupOutput) {
   739  	op := &request.Operation{
   740  		Name:       opCreateEndpointGroup,
   741  		HTTPMethod: "POST",
   742  		HTTPPath:   "/",
   743  	}
   744  
   745  	if input == nil {
   746  		input = &CreateEndpointGroupInput{}
   747  	}
   748  
   749  	output = &CreateEndpointGroupOutput{}
   750  	req = c.newRequest(op, input, output)
   751  	return
   752  }
   753  
   754  // CreateEndpointGroup API operation for AWS Global Accelerator.
   755  //
   756  // Create an endpoint group for the specified listener. An endpoint group is
   757  // a collection of endpoints in one AWS Region. A resource must be valid and
   758  // active when you add it as an endpoint.
   759  //
   760  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   761  // with awserr.Error's Code and Message methods to get detailed information about
   762  // the error.
   763  //
   764  // See the AWS API reference guide for AWS Global Accelerator's
   765  // API operation CreateEndpointGroup for usage and error information.
   766  //
   767  // Returned Error Types:
   768  //   * AcceleratorNotFoundException
   769  //   The accelerator that you specified doesn't exist.
   770  //
   771  //   * EndpointGroupAlreadyExistsException
   772  //   The endpoint group that you specified already exists.
   773  //
   774  //   * ListenerNotFoundException
   775  //   The listener that you specified doesn't exist.
   776  //
   777  //   * InternalServiceErrorException
   778  //   There was an internal error for AWS Global Accelerator.
   779  //
   780  //   * InvalidArgumentException
   781  //   An argument that you specified is invalid.
   782  //
   783  //   * LimitExceededException
   784  //   Processing your request would cause you to exceed an AWS Global Accelerator
   785  //   limit.
   786  //
   787  //   * AccessDeniedException
   788  //   You don't have access permission.
   789  //
   790  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup
   791  func (c *GlobalAccelerator) CreateEndpointGroup(input *CreateEndpointGroupInput) (*CreateEndpointGroupOutput, error) {
   792  	req, out := c.CreateEndpointGroupRequest(input)
   793  	return out, req.Send()
   794  }
   795  
   796  // CreateEndpointGroupWithContext is the same as CreateEndpointGroup with the addition of
   797  // the ability to pass a context and additional request options.
   798  //
   799  // See CreateEndpointGroup for details on how to use this API operation.
   800  //
   801  // The context must be non-nil and will be used for request cancellation. If
   802  // the context is nil a panic will occur. In the future the SDK may create
   803  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   804  // for more information on using Contexts.
   805  func (c *GlobalAccelerator) CreateEndpointGroupWithContext(ctx aws.Context, input *CreateEndpointGroupInput, opts ...request.Option) (*CreateEndpointGroupOutput, error) {
   806  	req, out := c.CreateEndpointGroupRequest(input)
   807  	req.SetContext(ctx)
   808  	req.ApplyOptions(opts...)
   809  	return out, req.Send()
   810  }
   811  
   812  const opCreateListener = "CreateListener"
   813  
   814  // CreateListenerRequest generates a "aws/request.Request" representing the
   815  // client's request for the CreateListener operation. The "output" return
   816  // value will be populated with the request's response once the request completes
   817  // successfully.
   818  //
   819  // Use "Send" method on the returned Request to send the API call to the service.
   820  // the "output" return value is not valid until after Send returns without error.
   821  //
   822  // See CreateListener for more information on using the CreateListener
   823  // API call, and error handling.
   824  //
   825  // This method is useful when you want to inject custom logic or configuration
   826  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   827  //
   828  //
   829  //    // Example sending a request using the CreateListenerRequest method.
   830  //    req, resp := client.CreateListenerRequest(params)
   831  //
   832  //    err := req.Send()
   833  //    if err == nil { // resp is now filled
   834  //        fmt.Println(resp)
   835  //    }
   836  //
   837  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener
   838  func (c *GlobalAccelerator) CreateListenerRequest(input *CreateListenerInput) (req *request.Request, output *CreateListenerOutput) {
   839  	op := &request.Operation{
   840  		Name:       opCreateListener,
   841  		HTTPMethod: "POST",
   842  		HTTPPath:   "/",
   843  	}
   844  
   845  	if input == nil {
   846  		input = &CreateListenerInput{}
   847  	}
   848  
   849  	output = &CreateListenerOutput{}
   850  	req = c.newRequest(op, input, output)
   851  	return
   852  }
   853  
   854  // CreateListener API operation for AWS Global Accelerator.
   855  //
   856  // Create a listener to process inbound connections from clients to an accelerator.
   857  // Connections arrive to assigned static IP addresses on a port, port range,
   858  // or list of port ranges that you specify.
   859  //
   860  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   861  // with awserr.Error's Code and Message methods to get detailed information about
   862  // the error.
   863  //
   864  // See the AWS API reference guide for AWS Global Accelerator's
   865  // API operation CreateListener for usage and error information.
   866  //
   867  // Returned Error Types:
   868  //   * InvalidArgumentException
   869  //   An argument that you specified is invalid.
   870  //
   871  //   * AcceleratorNotFoundException
   872  //   The accelerator that you specified doesn't exist.
   873  //
   874  //   * InvalidPortRangeException
   875  //   The port numbers that you specified are not valid numbers or are not unique
   876  //   for this accelerator.
   877  //
   878  //   * InternalServiceErrorException
   879  //   There was an internal error for AWS Global Accelerator.
   880  //
   881  //   * LimitExceededException
   882  //   Processing your request would cause you to exceed an AWS Global Accelerator
   883  //   limit.
   884  //
   885  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener
   886  func (c *GlobalAccelerator) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) {
   887  	req, out := c.CreateListenerRequest(input)
   888  	return out, req.Send()
   889  }
   890  
   891  // CreateListenerWithContext is the same as CreateListener with the addition of
   892  // the ability to pass a context and additional request options.
   893  //
   894  // See CreateListener for details on how to use this API operation.
   895  //
   896  // The context must be non-nil and will be used for request cancellation. If
   897  // the context is nil a panic will occur. In the future the SDK may create
   898  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   899  // for more information on using Contexts.
   900  func (c *GlobalAccelerator) CreateListenerWithContext(ctx aws.Context, input *CreateListenerInput, opts ...request.Option) (*CreateListenerOutput, error) {
   901  	req, out := c.CreateListenerRequest(input)
   902  	req.SetContext(ctx)
   903  	req.ApplyOptions(opts...)
   904  	return out, req.Send()
   905  }
   906  
   907  const opDeleteAccelerator = "DeleteAccelerator"
   908  
   909  // DeleteAcceleratorRequest generates a "aws/request.Request" representing the
   910  // client's request for the DeleteAccelerator operation. The "output" return
   911  // value will be populated with the request's response once the request completes
   912  // successfully.
   913  //
   914  // Use "Send" method on the returned Request to send the API call to the service.
   915  // the "output" return value is not valid until after Send returns without error.
   916  //
   917  // See DeleteAccelerator for more information on using the DeleteAccelerator
   918  // API call, and error handling.
   919  //
   920  // This method is useful when you want to inject custom logic or configuration
   921  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   922  //
   923  //
   924  //    // Example sending a request using the DeleteAcceleratorRequest method.
   925  //    req, resp := client.DeleteAcceleratorRequest(params)
   926  //
   927  //    err := req.Send()
   928  //    if err == nil { // resp is now filled
   929  //        fmt.Println(resp)
   930  //    }
   931  //
   932  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator
   933  func (c *GlobalAccelerator) DeleteAcceleratorRequest(input *DeleteAcceleratorInput) (req *request.Request, output *DeleteAcceleratorOutput) {
   934  	op := &request.Operation{
   935  		Name:       opDeleteAccelerator,
   936  		HTTPMethod: "POST",
   937  		HTTPPath:   "/",
   938  	}
   939  
   940  	if input == nil {
   941  		input = &DeleteAcceleratorInput{}
   942  	}
   943  
   944  	output = &DeleteAcceleratorOutput{}
   945  	req = c.newRequest(op, input, output)
   946  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   947  	return
   948  }
   949  
   950  // DeleteAccelerator API operation for AWS Global Accelerator.
   951  //
   952  // Delete an accelerator. Before you can delete an accelerator, you must disable
   953  // it and remove all dependent resources (listeners and endpoint groups). To
   954  // disable the accelerator, update the accelerator to set Enabled to false.
   955  //
   956  // When you create an accelerator, by default, Global Accelerator provides you
   957  // with a set of two static IP addresses. Alternatively, you can bring your
   958  // own IP address ranges to Global Accelerator and assign IP addresses from
   959  // those ranges.
   960  //
   961  // The IP addresses are assigned to your accelerator for as long as it exists,
   962  // even if you disable the accelerator and it no longer accepts or routes traffic.
   963  // However, when you delete an accelerator, you lose the static IP addresses
   964  // that are assigned to the accelerator, so you can no longer route traffic
   965  // by using them. As a best practice, ensure that you have permissions in place
   966  // to avoid inadvertently deleting accelerators. You can use IAM policies with
   967  // Global Accelerator to limit the users who have permissions to delete an accelerator.
   968  // For more information, see Authentication and Access Control (https://docs.aws.amazon.com/global-accelerator/latest/dg/auth-and-access-control.html)
   969  // in the AWS Global Accelerator Developer Guide.
   970  //
   971  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   972  // with awserr.Error's Code and Message methods to get detailed information about
   973  // the error.
   974  //
   975  // See the AWS API reference guide for AWS Global Accelerator's
   976  // API operation DeleteAccelerator for usage and error information.
   977  //
   978  // Returned Error Types:
   979  //   * AcceleratorNotFoundException
   980  //   The accelerator that you specified doesn't exist.
   981  //
   982  //   * AcceleratorNotDisabledException
   983  //   The accelerator that you specified could not be disabled.
   984  //
   985  //   * AssociatedListenerFoundException
   986  //   The accelerator that you specified has a listener associated with it. You
   987  //   must remove all dependent resources from an accelerator before you can delete
   988  //   it.
   989  //
   990  //   * InternalServiceErrorException
   991  //   There was an internal error for AWS Global Accelerator.
   992  //
   993  //   * InvalidArgumentException
   994  //   An argument that you specified is invalid.
   995  //
   996  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator
   997  func (c *GlobalAccelerator) DeleteAccelerator(input *DeleteAcceleratorInput) (*DeleteAcceleratorOutput, error) {
   998  	req, out := c.DeleteAcceleratorRequest(input)
   999  	return out, req.Send()
  1000  }
  1001  
  1002  // DeleteAcceleratorWithContext is the same as DeleteAccelerator with the addition of
  1003  // the ability to pass a context and additional request options.
  1004  //
  1005  // See DeleteAccelerator for details on how to use this API operation.
  1006  //
  1007  // The context must be non-nil and will be used for request cancellation. If
  1008  // the context is nil a panic will occur. In the future the SDK may create
  1009  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1010  // for more information on using Contexts.
  1011  func (c *GlobalAccelerator) DeleteAcceleratorWithContext(ctx aws.Context, input *DeleteAcceleratorInput, opts ...request.Option) (*DeleteAcceleratorOutput, error) {
  1012  	req, out := c.DeleteAcceleratorRequest(input)
  1013  	req.SetContext(ctx)
  1014  	req.ApplyOptions(opts...)
  1015  	return out, req.Send()
  1016  }
  1017  
  1018  const opDeleteCustomRoutingAccelerator = "DeleteCustomRoutingAccelerator"
  1019  
  1020  // DeleteCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the
  1021  // client's request for the DeleteCustomRoutingAccelerator operation. The "output" return
  1022  // value will be populated with the request's response once the request completes
  1023  // successfully.
  1024  //
  1025  // Use "Send" method on the returned Request to send the API call to the service.
  1026  // the "output" return value is not valid until after Send returns without error.
  1027  //
  1028  // See DeleteCustomRoutingAccelerator for more information on using the DeleteCustomRoutingAccelerator
  1029  // API call, and error handling.
  1030  //
  1031  // This method is useful when you want to inject custom logic or configuration
  1032  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1033  //
  1034  //
  1035  //    // Example sending a request using the DeleteCustomRoutingAcceleratorRequest method.
  1036  //    req, resp := client.DeleteCustomRoutingAcceleratorRequest(params)
  1037  //
  1038  //    err := req.Send()
  1039  //    if err == nil { // resp is now filled
  1040  //        fmt.Println(resp)
  1041  //    }
  1042  //
  1043  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingAccelerator
  1044  func (c *GlobalAccelerator) DeleteCustomRoutingAcceleratorRequest(input *DeleteCustomRoutingAcceleratorInput) (req *request.Request, output *DeleteCustomRoutingAcceleratorOutput) {
  1045  	op := &request.Operation{
  1046  		Name:       opDeleteCustomRoutingAccelerator,
  1047  		HTTPMethod: "POST",
  1048  		HTTPPath:   "/",
  1049  	}
  1050  
  1051  	if input == nil {
  1052  		input = &DeleteCustomRoutingAcceleratorInput{}
  1053  	}
  1054  
  1055  	output = &DeleteCustomRoutingAcceleratorOutput{}
  1056  	req = c.newRequest(op, input, output)
  1057  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1058  	return
  1059  }
  1060  
  1061  // DeleteCustomRoutingAccelerator API operation for AWS Global Accelerator.
  1062  //
  1063  // Delete a custom routing accelerator. Before you can delete an accelerator,
  1064  // you must disable it and remove all dependent resources (listeners and endpoint
  1065  // groups). To disable the accelerator, update the accelerator to set Enabled
  1066  // to false.
  1067  //
  1068  // When you create a custom routing accelerator, by default, Global Accelerator
  1069  // provides you with a set of two static IP addresses.
  1070  //
  1071  // The IP addresses are assigned to your accelerator for as long as it exists,
  1072  // even if you disable the accelerator and it no longer accepts or routes traffic.
  1073  // However, when you delete an accelerator, you lose the static IP addresses
  1074  // that are assigned to the accelerator, so you can no longer route traffic
  1075  // by using them. As a best practice, ensure that you have permissions in place
  1076  // to avoid inadvertently deleting accelerators. You can use IAM policies with
  1077  // Global Accelerator to limit the users who have permissions to delete an accelerator.
  1078  // For more information, see Authentication and Access Control (https://docs.aws.amazon.com/global-accelerator/latest/dg/auth-and-access-control.html)
  1079  // in the AWS Global Accelerator Developer Guide.
  1080  //
  1081  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1082  // with awserr.Error's Code and Message methods to get detailed information about
  1083  // the error.
  1084  //
  1085  // See the AWS API reference guide for AWS Global Accelerator's
  1086  // API operation DeleteCustomRoutingAccelerator for usage and error information.
  1087  //
  1088  // Returned Error Types:
  1089  //   * AcceleratorNotFoundException
  1090  //   The accelerator that you specified doesn't exist.
  1091  //
  1092  //   * AcceleratorNotDisabledException
  1093  //   The accelerator that you specified could not be disabled.
  1094  //
  1095  //   * AssociatedListenerFoundException
  1096  //   The accelerator that you specified has a listener associated with it. You
  1097  //   must remove all dependent resources from an accelerator before you can delete
  1098  //   it.
  1099  //
  1100  //   * InternalServiceErrorException
  1101  //   There was an internal error for AWS Global Accelerator.
  1102  //
  1103  //   * InvalidArgumentException
  1104  //   An argument that you specified is invalid.
  1105  //
  1106  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingAccelerator
  1107  func (c *GlobalAccelerator) DeleteCustomRoutingAccelerator(input *DeleteCustomRoutingAcceleratorInput) (*DeleteCustomRoutingAcceleratorOutput, error) {
  1108  	req, out := c.DeleteCustomRoutingAcceleratorRequest(input)
  1109  	return out, req.Send()
  1110  }
  1111  
  1112  // DeleteCustomRoutingAcceleratorWithContext is the same as DeleteCustomRoutingAccelerator with the addition of
  1113  // the ability to pass a context and additional request options.
  1114  //
  1115  // See DeleteCustomRoutingAccelerator for details on how to use this API operation.
  1116  //
  1117  // The context must be non-nil and will be used for request cancellation. If
  1118  // the context is nil a panic will occur. In the future the SDK may create
  1119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1120  // for more information on using Contexts.
  1121  func (c *GlobalAccelerator) DeleteCustomRoutingAcceleratorWithContext(ctx aws.Context, input *DeleteCustomRoutingAcceleratorInput, opts ...request.Option) (*DeleteCustomRoutingAcceleratorOutput, error) {
  1122  	req, out := c.DeleteCustomRoutingAcceleratorRequest(input)
  1123  	req.SetContext(ctx)
  1124  	req.ApplyOptions(opts...)
  1125  	return out, req.Send()
  1126  }
  1127  
  1128  const opDeleteCustomRoutingEndpointGroup = "DeleteCustomRoutingEndpointGroup"
  1129  
  1130  // DeleteCustomRoutingEndpointGroupRequest generates a "aws/request.Request" representing the
  1131  // client's request for the DeleteCustomRoutingEndpointGroup operation. The "output" return
  1132  // value will be populated with the request's response once the request completes
  1133  // successfully.
  1134  //
  1135  // Use "Send" method on the returned Request to send the API call to the service.
  1136  // the "output" return value is not valid until after Send returns without error.
  1137  //
  1138  // See DeleteCustomRoutingEndpointGroup for more information on using the DeleteCustomRoutingEndpointGroup
  1139  // API call, and error handling.
  1140  //
  1141  // This method is useful when you want to inject custom logic or configuration
  1142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1143  //
  1144  //
  1145  //    // Example sending a request using the DeleteCustomRoutingEndpointGroupRequest method.
  1146  //    req, resp := client.DeleteCustomRoutingEndpointGroupRequest(params)
  1147  //
  1148  //    err := req.Send()
  1149  //    if err == nil { // resp is now filled
  1150  //        fmt.Println(resp)
  1151  //    }
  1152  //
  1153  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingEndpointGroup
  1154  func (c *GlobalAccelerator) DeleteCustomRoutingEndpointGroupRequest(input *DeleteCustomRoutingEndpointGroupInput) (req *request.Request, output *DeleteCustomRoutingEndpointGroupOutput) {
  1155  	op := &request.Operation{
  1156  		Name:       opDeleteCustomRoutingEndpointGroup,
  1157  		HTTPMethod: "POST",
  1158  		HTTPPath:   "/",
  1159  	}
  1160  
  1161  	if input == nil {
  1162  		input = &DeleteCustomRoutingEndpointGroupInput{}
  1163  	}
  1164  
  1165  	output = &DeleteCustomRoutingEndpointGroupOutput{}
  1166  	req = c.newRequest(op, input, output)
  1167  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1168  	return
  1169  }
  1170  
  1171  // DeleteCustomRoutingEndpointGroup API operation for AWS Global Accelerator.
  1172  //
  1173  // Delete an endpoint group from a listener for a custom routing accelerator.
  1174  //
  1175  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1176  // with awserr.Error's Code and Message methods to get detailed information about
  1177  // the error.
  1178  //
  1179  // See the AWS API reference guide for AWS Global Accelerator's
  1180  // API operation DeleteCustomRoutingEndpointGroup for usage and error information.
  1181  //
  1182  // Returned Error Types:
  1183  //   * InvalidArgumentException
  1184  //   An argument that you specified is invalid.
  1185  //
  1186  //   * EndpointGroupNotFoundException
  1187  //   The endpoint group that you specified doesn't exist.
  1188  //
  1189  //   * InternalServiceErrorException
  1190  //   There was an internal error for AWS Global Accelerator.
  1191  //
  1192  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingEndpointGroup
  1193  func (c *GlobalAccelerator) DeleteCustomRoutingEndpointGroup(input *DeleteCustomRoutingEndpointGroupInput) (*DeleteCustomRoutingEndpointGroupOutput, error) {
  1194  	req, out := c.DeleteCustomRoutingEndpointGroupRequest(input)
  1195  	return out, req.Send()
  1196  }
  1197  
  1198  // DeleteCustomRoutingEndpointGroupWithContext is the same as DeleteCustomRoutingEndpointGroup with the addition of
  1199  // the ability to pass a context and additional request options.
  1200  //
  1201  // See DeleteCustomRoutingEndpointGroup for details on how to use this API operation.
  1202  //
  1203  // The context must be non-nil and will be used for request cancellation. If
  1204  // the context is nil a panic will occur. In the future the SDK may create
  1205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1206  // for more information on using Contexts.
  1207  func (c *GlobalAccelerator) DeleteCustomRoutingEndpointGroupWithContext(ctx aws.Context, input *DeleteCustomRoutingEndpointGroupInput, opts ...request.Option) (*DeleteCustomRoutingEndpointGroupOutput, error) {
  1208  	req, out := c.DeleteCustomRoutingEndpointGroupRequest(input)
  1209  	req.SetContext(ctx)
  1210  	req.ApplyOptions(opts...)
  1211  	return out, req.Send()
  1212  }
  1213  
  1214  const opDeleteCustomRoutingListener = "DeleteCustomRoutingListener"
  1215  
  1216  // DeleteCustomRoutingListenerRequest generates a "aws/request.Request" representing the
  1217  // client's request for the DeleteCustomRoutingListener operation. The "output" return
  1218  // value will be populated with the request's response once the request completes
  1219  // successfully.
  1220  //
  1221  // Use "Send" method on the returned Request to send the API call to the service.
  1222  // the "output" return value is not valid until after Send returns without error.
  1223  //
  1224  // See DeleteCustomRoutingListener for more information on using the DeleteCustomRoutingListener
  1225  // API call, and error handling.
  1226  //
  1227  // This method is useful when you want to inject custom logic or configuration
  1228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1229  //
  1230  //
  1231  //    // Example sending a request using the DeleteCustomRoutingListenerRequest method.
  1232  //    req, resp := client.DeleteCustomRoutingListenerRequest(params)
  1233  //
  1234  //    err := req.Send()
  1235  //    if err == nil { // resp is now filled
  1236  //        fmt.Println(resp)
  1237  //    }
  1238  //
  1239  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingListener
  1240  func (c *GlobalAccelerator) DeleteCustomRoutingListenerRequest(input *DeleteCustomRoutingListenerInput) (req *request.Request, output *DeleteCustomRoutingListenerOutput) {
  1241  	op := &request.Operation{
  1242  		Name:       opDeleteCustomRoutingListener,
  1243  		HTTPMethod: "POST",
  1244  		HTTPPath:   "/",
  1245  	}
  1246  
  1247  	if input == nil {
  1248  		input = &DeleteCustomRoutingListenerInput{}
  1249  	}
  1250  
  1251  	output = &DeleteCustomRoutingListenerOutput{}
  1252  	req = c.newRequest(op, input, output)
  1253  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1254  	return
  1255  }
  1256  
  1257  // DeleteCustomRoutingListener API operation for AWS Global Accelerator.
  1258  //
  1259  // Delete a listener for a custom routing accelerator.
  1260  //
  1261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1262  // with awserr.Error's Code and Message methods to get detailed information about
  1263  // the error.
  1264  //
  1265  // See the AWS API reference guide for AWS Global Accelerator's
  1266  // API operation DeleteCustomRoutingListener for usage and error information.
  1267  //
  1268  // Returned Error Types:
  1269  //   * InvalidArgumentException
  1270  //   An argument that you specified is invalid.
  1271  //
  1272  //   * ListenerNotFoundException
  1273  //   The listener that you specified doesn't exist.
  1274  //
  1275  //   * AssociatedEndpointGroupFoundException
  1276  //   The listener that you specified has an endpoint group associated with it.
  1277  //   You must remove all dependent resources from a listener before you can delete
  1278  //   it.
  1279  //
  1280  //   * InternalServiceErrorException
  1281  //   There was an internal error for AWS Global Accelerator.
  1282  //
  1283  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCustomRoutingListener
  1284  func (c *GlobalAccelerator) DeleteCustomRoutingListener(input *DeleteCustomRoutingListenerInput) (*DeleteCustomRoutingListenerOutput, error) {
  1285  	req, out := c.DeleteCustomRoutingListenerRequest(input)
  1286  	return out, req.Send()
  1287  }
  1288  
  1289  // DeleteCustomRoutingListenerWithContext is the same as DeleteCustomRoutingListener with the addition of
  1290  // the ability to pass a context and additional request options.
  1291  //
  1292  // See DeleteCustomRoutingListener for details on how to use this API operation.
  1293  //
  1294  // The context must be non-nil and will be used for request cancellation. If
  1295  // the context is nil a panic will occur. In the future the SDK may create
  1296  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1297  // for more information on using Contexts.
  1298  func (c *GlobalAccelerator) DeleteCustomRoutingListenerWithContext(ctx aws.Context, input *DeleteCustomRoutingListenerInput, opts ...request.Option) (*DeleteCustomRoutingListenerOutput, error) {
  1299  	req, out := c.DeleteCustomRoutingListenerRequest(input)
  1300  	req.SetContext(ctx)
  1301  	req.ApplyOptions(opts...)
  1302  	return out, req.Send()
  1303  }
  1304  
  1305  const opDeleteEndpointGroup = "DeleteEndpointGroup"
  1306  
  1307  // DeleteEndpointGroupRequest generates a "aws/request.Request" representing the
  1308  // client's request for the DeleteEndpointGroup operation. The "output" return
  1309  // value will be populated with the request's response once the request completes
  1310  // successfully.
  1311  //
  1312  // Use "Send" method on the returned Request to send the API call to the service.
  1313  // the "output" return value is not valid until after Send returns without error.
  1314  //
  1315  // See DeleteEndpointGroup for more information on using the DeleteEndpointGroup
  1316  // API call, and error handling.
  1317  //
  1318  // This method is useful when you want to inject custom logic or configuration
  1319  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1320  //
  1321  //
  1322  //    // Example sending a request using the DeleteEndpointGroupRequest method.
  1323  //    req, resp := client.DeleteEndpointGroupRequest(params)
  1324  //
  1325  //    err := req.Send()
  1326  //    if err == nil { // resp is now filled
  1327  //        fmt.Println(resp)
  1328  //    }
  1329  //
  1330  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup
  1331  func (c *GlobalAccelerator) DeleteEndpointGroupRequest(input *DeleteEndpointGroupInput) (req *request.Request, output *DeleteEndpointGroupOutput) {
  1332  	op := &request.Operation{
  1333  		Name:       opDeleteEndpointGroup,
  1334  		HTTPMethod: "POST",
  1335  		HTTPPath:   "/",
  1336  	}
  1337  
  1338  	if input == nil {
  1339  		input = &DeleteEndpointGroupInput{}
  1340  	}
  1341  
  1342  	output = &DeleteEndpointGroupOutput{}
  1343  	req = c.newRequest(op, input, output)
  1344  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1345  	return
  1346  }
  1347  
  1348  // DeleteEndpointGroup API operation for AWS Global Accelerator.
  1349  //
  1350  // Delete an endpoint group from a listener.
  1351  //
  1352  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1353  // with awserr.Error's Code and Message methods to get detailed information about
  1354  // the error.
  1355  //
  1356  // See the AWS API reference guide for AWS Global Accelerator's
  1357  // API operation DeleteEndpointGroup for usage and error information.
  1358  //
  1359  // Returned Error Types:
  1360  //   * InvalidArgumentException
  1361  //   An argument that you specified is invalid.
  1362  //
  1363  //   * EndpointGroupNotFoundException
  1364  //   The endpoint group that you specified doesn't exist.
  1365  //
  1366  //   * InternalServiceErrorException
  1367  //   There was an internal error for AWS Global Accelerator.
  1368  //
  1369  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup
  1370  func (c *GlobalAccelerator) DeleteEndpointGroup(input *DeleteEndpointGroupInput) (*DeleteEndpointGroupOutput, error) {
  1371  	req, out := c.DeleteEndpointGroupRequest(input)
  1372  	return out, req.Send()
  1373  }
  1374  
  1375  // DeleteEndpointGroupWithContext is the same as DeleteEndpointGroup with the addition of
  1376  // the ability to pass a context and additional request options.
  1377  //
  1378  // See DeleteEndpointGroup for details on how to use this API operation.
  1379  //
  1380  // The context must be non-nil and will be used for request cancellation. If
  1381  // the context is nil a panic will occur. In the future the SDK may create
  1382  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1383  // for more information on using Contexts.
  1384  func (c *GlobalAccelerator) DeleteEndpointGroupWithContext(ctx aws.Context, input *DeleteEndpointGroupInput, opts ...request.Option) (*DeleteEndpointGroupOutput, error) {
  1385  	req, out := c.DeleteEndpointGroupRequest(input)
  1386  	req.SetContext(ctx)
  1387  	req.ApplyOptions(opts...)
  1388  	return out, req.Send()
  1389  }
  1390  
  1391  const opDeleteListener = "DeleteListener"
  1392  
  1393  // DeleteListenerRequest generates a "aws/request.Request" representing the
  1394  // client's request for the DeleteListener operation. The "output" return
  1395  // value will be populated with the request's response once the request completes
  1396  // successfully.
  1397  //
  1398  // Use "Send" method on the returned Request to send the API call to the service.
  1399  // the "output" return value is not valid until after Send returns without error.
  1400  //
  1401  // See DeleteListener for more information on using the DeleteListener
  1402  // API call, and error handling.
  1403  //
  1404  // This method is useful when you want to inject custom logic or configuration
  1405  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1406  //
  1407  //
  1408  //    // Example sending a request using the DeleteListenerRequest method.
  1409  //    req, resp := client.DeleteListenerRequest(params)
  1410  //
  1411  //    err := req.Send()
  1412  //    if err == nil { // resp is now filled
  1413  //        fmt.Println(resp)
  1414  //    }
  1415  //
  1416  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener
  1417  func (c *GlobalAccelerator) DeleteListenerRequest(input *DeleteListenerInput) (req *request.Request, output *DeleteListenerOutput) {
  1418  	op := &request.Operation{
  1419  		Name:       opDeleteListener,
  1420  		HTTPMethod: "POST",
  1421  		HTTPPath:   "/",
  1422  	}
  1423  
  1424  	if input == nil {
  1425  		input = &DeleteListenerInput{}
  1426  	}
  1427  
  1428  	output = &DeleteListenerOutput{}
  1429  	req = c.newRequest(op, input, output)
  1430  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1431  	return
  1432  }
  1433  
  1434  // DeleteListener API operation for AWS Global Accelerator.
  1435  //
  1436  // Delete a listener from an accelerator.
  1437  //
  1438  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1439  // with awserr.Error's Code and Message methods to get detailed information about
  1440  // the error.
  1441  //
  1442  // See the AWS API reference guide for AWS Global Accelerator's
  1443  // API operation DeleteListener for usage and error information.
  1444  //
  1445  // Returned Error Types:
  1446  //   * InvalidArgumentException
  1447  //   An argument that you specified is invalid.
  1448  //
  1449  //   * ListenerNotFoundException
  1450  //   The listener that you specified doesn't exist.
  1451  //
  1452  //   * AssociatedEndpointGroupFoundException
  1453  //   The listener that you specified has an endpoint group associated with it.
  1454  //   You must remove all dependent resources from a listener before you can delete
  1455  //   it.
  1456  //
  1457  //   * InternalServiceErrorException
  1458  //   There was an internal error for AWS Global Accelerator.
  1459  //
  1460  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener
  1461  func (c *GlobalAccelerator) DeleteListener(input *DeleteListenerInput) (*DeleteListenerOutput, error) {
  1462  	req, out := c.DeleteListenerRequest(input)
  1463  	return out, req.Send()
  1464  }
  1465  
  1466  // DeleteListenerWithContext is the same as DeleteListener with the addition of
  1467  // the ability to pass a context and additional request options.
  1468  //
  1469  // See DeleteListener for details on how to use this API operation.
  1470  //
  1471  // The context must be non-nil and will be used for request cancellation. If
  1472  // the context is nil a panic will occur. In the future the SDK may create
  1473  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1474  // for more information on using Contexts.
  1475  func (c *GlobalAccelerator) DeleteListenerWithContext(ctx aws.Context, input *DeleteListenerInput, opts ...request.Option) (*DeleteListenerOutput, error) {
  1476  	req, out := c.DeleteListenerRequest(input)
  1477  	req.SetContext(ctx)
  1478  	req.ApplyOptions(opts...)
  1479  	return out, req.Send()
  1480  }
  1481  
  1482  const opDenyCustomRoutingTraffic = "DenyCustomRoutingTraffic"
  1483  
  1484  // DenyCustomRoutingTrafficRequest generates a "aws/request.Request" representing the
  1485  // client's request for the DenyCustomRoutingTraffic operation. The "output" return
  1486  // value will be populated with the request's response once the request completes
  1487  // successfully.
  1488  //
  1489  // Use "Send" method on the returned Request to send the API call to the service.
  1490  // the "output" return value is not valid until after Send returns without error.
  1491  //
  1492  // See DenyCustomRoutingTraffic for more information on using the DenyCustomRoutingTraffic
  1493  // API call, and error handling.
  1494  //
  1495  // This method is useful when you want to inject custom logic or configuration
  1496  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1497  //
  1498  //
  1499  //    // Example sending a request using the DenyCustomRoutingTrafficRequest method.
  1500  //    req, resp := client.DenyCustomRoutingTrafficRequest(params)
  1501  //
  1502  //    err := req.Send()
  1503  //    if err == nil { // resp is now filled
  1504  //        fmt.Println(resp)
  1505  //    }
  1506  //
  1507  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DenyCustomRoutingTraffic
  1508  func (c *GlobalAccelerator) DenyCustomRoutingTrafficRequest(input *DenyCustomRoutingTrafficInput) (req *request.Request, output *DenyCustomRoutingTrafficOutput) {
  1509  	op := &request.Operation{
  1510  		Name:       opDenyCustomRoutingTraffic,
  1511  		HTTPMethod: "POST",
  1512  		HTTPPath:   "/",
  1513  	}
  1514  
  1515  	if input == nil {
  1516  		input = &DenyCustomRoutingTrafficInput{}
  1517  	}
  1518  
  1519  	output = &DenyCustomRoutingTrafficOutput{}
  1520  	req = c.newRequest(op, input, output)
  1521  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1522  	return
  1523  }
  1524  
  1525  // DenyCustomRoutingTraffic API operation for AWS Global Accelerator.
  1526  //
  1527  // Specify the Amazon EC2 instance (destination) IP addresses and ports for
  1528  // a VPC subnet endpoint that cannot receive traffic for a custom routing accelerator.
  1529  // You can deny traffic to all destinations in the VPC endpoint, or deny traffic
  1530  // to a specified list of destination IP addresses and ports. Note that you
  1531  // cannot specify IP addresses or ports outside of the range that you configured
  1532  // for the endpoint group.
  1533  //
  1534  // After you make changes, you can verify that the updates are complete by checking
  1535  // the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED.
  1536  //
  1537  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1538  // with awserr.Error's Code and Message methods to get detailed information about
  1539  // the error.
  1540  //
  1541  // See the AWS API reference guide for AWS Global Accelerator's
  1542  // API operation DenyCustomRoutingTraffic for usage and error information.
  1543  //
  1544  // Returned Error Types:
  1545  //   * InvalidArgumentException
  1546  //   An argument that you specified is invalid.
  1547  //
  1548  //   * InternalServiceErrorException
  1549  //   There was an internal error for AWS Global Accelerator.
  1550  //
  1551  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DenyCustomRoutingTraffic
  1552  func (c *GlobalAccelerator) DenyCustomRoutingTraffic(input *DenyCustomRoutingTrafficInput) (*DenyCustomRoutingTrafficOutput, error) {
  1553  	req, out := c.DenyCustomRoutingTrafficRequest(input)
  1554  	return out, req.Send()
  1555  }
  1556  
  1557  // DenyCustomRoutingTrafficWithContext is the same as DenyCustomRoutingTraffic with the addition of
  1558  // the ability to pass a context and additional request options.
  1559  //
  1560  // See DenyCustomRoutingTraffic for details on how to use this API operation.
  1561  //
  1562  // The context must be non-nil and will be used for request cancellation. If
  1563  // the context is nil a panic will occur. In the future the SDK may create
  1564  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1565  // for more information on using Contexts.
  1566  func (c *GlobalAccelerator) DenyCustomRoutingTrafficWithContext(ctx aws.Context, input *DenyCustomRoutingTrafficInput, opts ...request.Option) (*DenyCustomRoutingTrafficOutput, error) {
  1567  	req, out := c.DenyCustomRoutingTrafficRequest(input)
  1568  	req.SetContext(ctx)
  1569  	req.ApplyOptions(opts...)
  1570  	return out, req.Send()
  1571  }
  1572  
  1573  const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
  1574  
  1575  // DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
  1576  // client's request for the DeprovisionByoipCidr operation. The "output" return
  1577  // value will be populated with the request's response once the request completes
  1578  // successfully.
  1579  //
  1580  // Use "Send" method on the returned Request to send the API call to the service.
  1581  // the "output" return value is not valid until after Send returns without error.
  1582  //
  1583  // See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
  1584  // API call, and error handling.
  1585  //
  1586  // This method is useful when you want to inject custom logic or configuration
  1587  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1588  //
  1589  //
  1590  //    // Example sending a request using the DeprovisionByoipCidrRequest method.
  1591  //    req, resp := client.DeprovisionByoipCidrRequest(params)
  1592  //
  1593  //    err := req.Send()
  1594  //    if err == nil { // resp is now filled
  1595  //        fmt.Println(resp)
  1596  //    }
  1597  //
  1598  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeprovisionByoipCidr
  1599  func (c *GlobalAccelerator) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
  1600  	op := &request.Operation{
  1601  		Name:       opDeprovisionByoipCidr,
  1602  		HTTPMethod: "POST",
  1603  		HTTPPath:   "/",
  1604  	}
  1605  
  1606  	if input == nil {
  1607  		input = &DeprovisionByoipCidrInput{}
  1608  	}
  1609  
  1610  	output = &DeprovisionByoipCidrOutput{}
  1611  	req = c.newRequest(op, input, output)
  1612  	return
  1613  }
  1614  
  1615  // DeprovisionByoipCidr API operation for AWS Global Accelerator.
  1616  //
  1617  // Releases the specified address range that you provisioned to use with your
  1618  // AWS resources through bring your own IP addresses (BYOIP) and deletes the
  1619  // corresponding address pool.
  1620  //
  1621  // Before you can release an address range, you must stop advertising it by
  1622  // using WithdrawByoipCidr (https://docs.aws.amazon.com/global-accelerator/latest/api/WithdrawByoipCidr.html)
  1623  // and you must not have any accelerators that are using static IP addresses
  1624  // allocated from its address range.
  1625  //
  1626  // For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)
  1627  // in the AWS Global Accelerator Developer Guide.
  1628  //
  1629  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1630  // with awserr.Error's Code and Message methods to get detailed information about
  1631  // the error.
  1632  //
  1633  // See the AWS API reference guide for AWS Global Accelerator's
  1634  // API operation DeprovisionByoipCidr for usage and error information.
  1635  //
  1636  // Returned Error Types:
  1637  //   * InternalServiceErrorException
  1638  //   There was an internal error for AWS Global Accelerator.
  1639  //
  1640  //   * InvalidArgumentException
  1641  //   An argument that you specified is invalid.
  1642  //
  1643  //   * AccessDeniedException
  1644  //   You don't have access permission.
  1645  //
  1646  //   * ByoipCidrNotFoundException
  1647  //   The CIDR that you specified was not found or is incorrect.
  1648  //
  1649  //   * IncorrectCidrStateException
  1650  //   The CIDR that you specified is not valid for this action. For example, the
  1651  //   state of the CIDR might be incorrect for this action.
  1652  //
  1653  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeprovisionByoipCidr
  1654  func (c *GlobalAccelerator) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
  1655  	req, out := c.DeprovisionByoipCidrRequest(input)
  1656  	return out, req.Send()
  1657  }
  1658  
  1659  // DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
  1660  // the ability to pass a context and additional request options.
  1661  //
  1662  // See DeprovisionByoipCidr for details on how to use this API operation.
  1663  //
  1664  // The context must be non-nil and will be used for request cancellation. If
  1665  // the context is nil a panic will occur. In the future the SDK may create
  1666  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1667  // for more information on using Contexts.
  1668  func (c *GlobalAccelerator) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
  1669  	req, out := c.DeprovisionByoipCidrRequest(input)
  1670  	req.SetContext(ctx)
  1671  	req.ApplyOptions(opts...)
  1672  	return out, req.Send()
  1673  }
  1674  
  1675  const opDescribeAccelerator = "DescribeAccelerator"
  1676  
  1677  // DescribeAcceleratorRequest generates a "aws/request.Request" representing the
  1678  // client's request for the DescribeAccelerator operation. The "output" return
  1679  // value will be populated with the request's response once the request completes
  1680  // successfully.
  1681  //
  1682  // Use "Send" method on the returned Request to send the API call to the service.
  1683  // the "output" return value is not valid until after Send returns without error.
  1684  //
  1685  // See DescribeAccelerator for more information on using the DescribeAccelerator
  1686  // API call, and error handling.
  1687  //
  1688  // This method is useful when you want to inject custom logic or configuration
  1689  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1690  //
  1691  //
  1692  //    // Example sending a request using the DescribeAcceleratorRequest method.
  1693  //    req, resp := client.DescribeAcceleratorRequest(params)
  1694  //
  1695  //    err := req.Send()
  1696  //    if err == nil { // resp is now filled
  1697  //        fmt.Println(resp)
  1698  //    }
  1699  //
  1700  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator
  1701  func (c *GlobalAccelerator) DescribeAcceleratorRequest(input *DescribeAcceleratorInput) (req *request.Request, output *DescribeAcceleratorOutput) {
  1702  	op := &request.Operation{
  1703  		Name:       opDescribeAccelerator,
  1704  		HTTPMethod: "POST",
  1705  		HTTPPath:   "/",
  1706  	}
  1707  
  1708  	if input == nil {
  1709  		input = &DescribeAcceleratorInput{}
  1710  	}
  1711  
  1712  	output = &DescribeAcceleratorOutput{}
  1713  	req = c.newRequest(op, input, output)
  1714  	return
  1715  }
  1716  
  1717  // DescribeAccelerator API operation for AWS Global Accelerator.
  1718  //
  1719  // Describe an accelerator.
  1720  //
  1721  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1722  // with awserr.Error's Code and Message methods to get detailed information about
  1723  // the error.
  1724  //
  1725  // See the AWS API reference guide for AWS Global Accelerator's
  1726  // API operation DescribeAccelerator for usage and error information.
  1727  //
  1728  // Returned Error Types:
  1729  //   * AcceleratorNotFoundException
  1730  //   The accelerator that you specified doesn't exist.
  1731  //
  1732  //   * InternalServiceErrorException
  1733  //   There was an internal error for AWS Global Accelerator.
  1734  //
  1735  //   * InvalidArgumentException
  1736  //   An argument that you specified is invalid.
  1737  //
  1738  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator
  1739  func (c *GlobalAccelerator) DescribeAccelerator(input *DescribeAcceleratorInput) (*DescribeAcceleratorOutput, error) {
  1740  	req, out := c.DescribeAcceleratorRequest(input)
  1741  	return out, req.Send()
  1742  }
  1743  
  1744  // DescribeAcceleratorWithContext is the same as DescribeAccelerator with the addition of
  1745  // the ability to pass a context and additional request options.
  1746  //
  1747  // See DescribeAccelerator for details on how to use this API operation.
  1748  //
  1749  // The context must be non-nil and will be used for request cancellation. If
  1750  // the context is nil a panic will occur. In the future the SDK may create
  1751  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1752  // for more information on using Contexts.
  1753  func (c *GlobalAccelerator) DescribeAcceleratorWithContext(ctx aws.Context, input *DescribeAcceleratorInput, opts ...request.Option) (*DescribeAcceleratorOutput, error) {
  1754  	req, out := c.DescribeAcceleratorRequest(input)
  1755  	req.SetContext(ctx)
  1756  	req.ApplyOptions(opts...)
  1757  	return out, req.Send()
  1758  }
  1759  
  1760  const opDescribeAcceleratorAttributes = "DescribeAcceleratorAttributes"
  1761  
  1762  // DescribeAcceleratorAttributesRequest generates a "aws/request.Request" representing the
  1763  // client's request for the DescribeAcceleratorAttributes operation. The "output" return
  1764  // value will be populated with the request's response once the request completes
  1765  // successfully.
  1766  //
  1767  // Use "Send" method on the returned Request to send the API call to the service.
  1768  // the "output" return value is not valid until after Send returns without error.
  1769  //
  1770  // See DescribeAcceleratorAttributes for more information on using the DescribeAcceleratorAttributes
  1771  // API call, and error handling.
  1772  //
  1773  // This method is useful when you want to inject custom logic or configuration
  1774  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1775  //
  1776  //
  1777  //    // Example sending a request using the DescribeAcceleratorAttributesRequest method.
  1778  //    req, resp := client.DescribeAcceleratorAttributesRequest(params)
  1779  //
  1780  //    err := req.Send()
  1781  //    if err == nil { // resp is now filled
  1782  //        fmt.Println(resp)
  1783  //    }
  1784  //
  1785  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes
  1786  func (c *GlobalAccelerator) DescribeAcceleratorAttributesRequest(input *DescribeAcceleratorAttributesInput) (req *request.Request, output *DescribeAcceleratorAttributesOutput) {
  1787  	op := &request.Operation{
  1788  		Name:       opDescribeAcceleratorAttributes,
  1789  		HTTPMethod: "POST",
  1790  		HTTPPath:   "/",
  1791  	}
  1792  
  1793  	if input == nil {
  1794  		input = &DescribeAcceleratorAttributesInput{}
  1795  	}
  1796  
  1797  	output = &DescribeAcceleratorAttributesOutput{}
  1798  	req = c.newRequest(op, input, output)
  1799  	return
  1800  }
  1801  
  1802  // DescribeAcceleratorAttributes API operation for AWS Global Accelerator.
  1803  //
  1804  // Describe the attributes of an accelerator.
  1805  //
  1806  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1807  // with awserr.Error's Code and Message methods to get detailed information about
  1808  // the error.
  1809  //
  1810  // See the AWS API reference guide for AWS Global Accelerator's
  1811  // API operation DescribeAcceleratorAttributes for usage and error information.
  1812  //
  1813  // Returned Error Types:
  1814  //   * AcceleratorNotFoundException
  1815  //   The accelerator that you specified doesn't exist.
  1816  //
  1817  //   * InternalServiceErrorException
  1818  //   There was an internal error for AWS Global Accelerator.
  1819  //
  1820  //   * InvalidArgumentException
  1821  //   An argument that you specified is invalid.
  1822  //
  1823  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes
  1824  func (c *GlobalAccelerator) DescribeAcceleratorAttributes(input *DescribeAcceleratorAttributesInput) (*DescribeAcceleratorAttributesOutput, error) {
  1825  	req, out := c.DescribeAcceleratorAttributesRequest(input)
  1826  	return out, req.Send()
  1827  }
  1828  
  1829  // DescribeAcceleratorAttributesWithContext is the same as DescribeAcceleratorAttributes with the addition of
  1830  // the ability to pass a context and additional request options.
  1831  //
  1832  // See DescribeAcceleratorAttributes for details on how to use this API operation.
  1833  //
  1834  // The context must be non-nil and will be used for request cancellation. If
  1835  // the context is nil a panic will occur. In the future the SDK may create
  1836  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1837  // for more information on using Contexts.
  1838  func (c *GlobalAccelerator) DescribeAcceleratorAttributesWithContext(ctx aws.Context, input *DescribeAcceleratorAttributesInput, opts ...request.Option) (*DescribeAcceleratorAttributesOutput, error) {
  1839  	req, out := c.DescribeAcceleratorAttributesRequest(input)
  1840  	req.SetContext(ctx)
  1841  	req.ApplyOptions(opts...)
  1842  	return out, req.Send()
  1843  }
  1844  
  1845  const opDescribeCustomRoutingAccelerator = "DescribeCustomRoutingAccelerator"
  1846  
  1847  // DescribeCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the
  1848  // client's request for the DescribeCustomRoutingAccelerator operation. The "output" return
  1849  // value will be populated with the request's response once the request completes
  1850  // successfully.
  1851  //
  1852  // Use "Send" method on the returned Request to send the API call to the service.
  1853  // the "output" return value is not valid until after Send returns without error.
  1854  //
  1855  // See DescribeCustomRoutingAccelerator for more information on using the DescribeCustomRoutingAccelerator
  1856  // API call, and error handling.
  1857  //
  1858  // This method is useful when you want to inject custom logic or configuration
  1859  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1860  //
  1861  //
  1862  //    // Example sending a request using the DescribeCustomRoutingAcceleratorRequest method.
  1863  //    req, resp := client.DescribeCustomRoutingAcceleratorRequest(params)
  1864  //
  1865  //    err := req.Send()
  1866  //    if err == nil { // resp is now filled
  1867  //        fmt.Println(resp)
  1868  //    }
  1869  //
  1870  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAccelerator
  1871  func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorRequest(input *DescribeCustomRoutingAcceleratorInput) (req *request.Request, output *DescribeCustomRoutingAcceleratorOutput) {
  1872  	op := &request.Operation{
  1873  		Name:       opDescribeCustomRoutingAccelerator,
  1874  		HTTPMethod: "POST",
  1875  		HTTPPath:   "/",
  1876  	}
  1877  
  1878  	if input == nil {
  1879  		input = &DescribeCustomRoutingAcceleratorInput{}
  1880  	}
  1881  
  1882  	output = &DescribeCustomRoutingAcceleratorOutput{}
  1883  	req = c.newRequest(op, input, output)
  1884  	return
  1885  }
  1886  
  1887  // DescribeCustomRoutingAccelerator API operation for AWS Global Accelerator.
  1888  //
  1889  // Describe a custom routing accelerator.
  1890  //
  1891  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1892  // with awserr.Error's Code and Message methods to get detailed information about
  1893  // the error.
  1894  //
  1895  // See the AWS API reference guide for AWS Global Accelerator's
  1896  // API operation DescribeCustomRoutingAccelerator for usage and error information.
  1897  //
  1898  // Returned Error Types:
  1899  //   * AcceleratorNotFoundException
  1900  //   The accelerator that you specified doesn't exist.
  1901  //
  1902  //   * InternalServiceErrorException
  1903  //   There was an internal error for AWS Global Accelerator.
  1904  //
  1905  //   * InvalidArgumentException
  1906  //   An argument that you specified is invalid.
  1907  //
  1908  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAccelerator
  1909  func (c *GlobalAccelerator) DescribeCustomRoutingAccelerator(input *DescribeCustomRoutingAcceleratorInput) (*DescribeCustomRoutingAcceleratorOutput, error) {
  1910  	req, out := c.DescribeCustomRoutingAcceleratorRequest(input)
  1911  	return out, req.Send()
  1912  }
  1913  
  1914  // DescribeCustomRoutingAcceleratorWithContext is the same as DescribeCustomRoutingAccelerator with the addition of
  1915  // the ability to pass a context and additional request options.
  1916  //
  1917  // See DescribeCustomRoutingAccelerator for details on how to use this API operation.
  1918  //
  1919  // The context must be non-nil and will be used for request cancellation. If
  1920  // the context is nil a panic will occur. In the future the SDK may create
  1921  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1922  // for more information on using Contexts.
  1923  func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorWithContext(ctx aws.Context, input *DescribeCustomRoutingAcceleratorInput, opts ...request.Option) (*DescribeCustomRoutingAcceleratorOutput, error) {
  1924  	req, out := c.DescribeCustomRoutingAcceleratorRequest(input)
  1925  	req.SetContext(ctx)
  1926  	req.ApplyOptions(opts...)
  1927  	return out, req.Send()
  1928  }
  1929  
  1930  const opDescribeCustomRoutingAcceleratorAttributes = "DescribeCustomRoutingAcceleratorAttributes"
  1931  
  1932  // DescribeCustomRoutingAcceleratorAttributesRequest generates a "aws/request.Request" representing the
  1933  // client's request for the DescribeCustomRoutingAcceleratorAttributes operation. The "output" return
  1934  // value will be populated with the request's response once the request completes
  1935  // successfully.
  1936  //
  1937  // Use "Send" method on the returned Request to send the API call to the service.
  1938  // the "output" return value is not valid until after Send returns without error.
  1939  //
  1940  // See DescribeCustomRoutingAcceleratorAttributes for more information on using the DescribeCustomRoutingAcceleratorAttributes
  1941  // API call, and error handling.
  1942  //
  1943  // This method is useful when you want to inject custom logic or configuration
  1944  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1945  //
  1946  //
  1947  //    // Example sending a request using the DescribeCustomRoutingAcceleratorAttributesRequest method.
  1948  //    req, resp := client.DescribeCustomRoutingAcceleratorAttributesRequest(params)
  1949  //
  1950  //    err := req.Send()
  1951  //    if err == nil { // resp is now filled
  1952  //        fmt.Println(resp)
  1953  //    }
  1954  //
  1955  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorAttributes
  1956  func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorAttributesRequest(input *DescribeCustomRoutingAcceleratorAttributesInput) (req *request.Request, output *DescribeCustomRoutingAcceleratorAttributesOutput) {
  1957  	op := &request.Operation{
  1958  		Name:       opDescribeCustomRoutingAcceleratorAttributes,
  1959  		HTTPMethod: "POST",
  1960  		HTTPPath:   "/",
  1961  	}
  1962  
  1963  	if input == nil {
  1964  		input = &DescribeCustomRoutingAcceleratorAttributesInput{}
  1965  	}
  1966  
  1967  	output = &DescribeCustomRoutingAcceleratorAttributesOutput{}
  1968  	req = c.newRequest(op, input, output)
  1969  	return
  1970  }
  1971  
  1972  // DescribeCustomRoutingAcceleratorAttributes API operation for AWS Global Accelerator.
  1973  //
  1974  // Describe the attributes of a custom routing accelerator.
  1975  //
  1976  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1977  // with awserr.Error's Code and Message methods to get detailed information about
  1978  // the error.
  1979  //
  1980  // See the AWS API reference guide for AWS Global Accelerator's
  1981  // API operation DescribeCustomRoutingAcceleratorAttributes for usage and error information.
  1982  //
  1983  // Returned Error Types:
  1984  //   * AcceleratorNotFoundException
  1985  //   The accelerator that you specified doesn't exist.
  1986  //
  1987  //   * InternalServiceErrorException
  1988  //   There was an internal error for AWS Global Accelerator.
  1989  //
  1990  //   * InvalidArgumentException
  1991  //   An argument that you specified is invalid.
  1992  //
  1993  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingAcceleratorAttributes
  1994  func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorAttributes(input *DescribeCustomRoutingAcceleratorAttributesInput) (*DescribeCustomRoutingAcceleratorAttributesOutput, error) {
  1995  	req, out := c.DescribeCustomRoutingAcceleratorAttributesRequest(input)
  1996  	return out, req.Send()
  1997  }
  1998  
  1999  // DescribeCustomRoutingAcceleratorAttributesWithContext is the same as DescribeCustomRoutingAcceleratorAttributes with the addition of
  2000  // the ability to pass a context and additional request options.
  2001  //
  2002  // See DescribeCustomRoutingAcceleratorAttributes for details on how to use this API operation.
  2003  //
  2004  // The context must be non-nil and will be used for request cancellation. If
  2005  // the context is nil a panic will occur. In the future the SDK may create
  2006  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2007  // for more information on using Contexts.
  2008  func (c *GlobalAccelerator) DescribeCustomRoutingAcceleratorAttributesWithContext(ctx aws.Context, input *DescribeCustomRoutingAcceleratorAttributesInput, opts ...request.Option) (*DescribeCustomRoutingAcceleratorAttributesOutput, error) {
  2009  	req, out := c.DescribeCustomRoutingAcceleratorAttributesRequest(input)
  2010  	req.SetContext(ctx)
  2011  	req.ApplyOptions(opts...)
  2012  	return out, req.Send()
  2013  }
  2014  
  2015  const opDescribeCustomRoutingEndpointGroup = "DescribeCustomRoutingEndpointGroup"
  2016  
  2017  // DescribeCustomRoutingEndpointGroupRequest generates a "aws/request.Request" representing the
  2018  // client's request for the DescribeCustomRoutingEndpointGroup operation. The "output" return
  2019  // value will be populated with the request's response once the request completes
  2020  // successfully.
  2021  //
  2022  // Use "Send" method on the returned Request to send the API call to the service.
  2023  // the "output" return value is not valid until after Send returns without error.
  2024  //
  2025  // See DescribeCustomRoutingEndpointGroup for more information on using the DescribeCustomRoutingEndpointGroup
  2026  // API call, and error handling.
  2027  //
  2028  // This method is useful when you want to inject custom logic or configuration
  2029  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2030  //
  2031  //
  2032  //    // Example sending a request using the DescribeCustomRoutingEndpointGroupRequest method.
  2033  //    req, resp := client.DescribeCustomRoutingEndpointGroupRequest(params)
  2034  //
  2035  //    err := req.Send()
  2036  //    if err == nil { // resp is now filled
  2037  //        fmt.Println(resp)
  2038  //    }
  2039  //
  2040  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingEndpointGroup
  2041  func (c *GlobalAccelerator) DescribeCustomRoutingEndpointGroupRequest(input *DescribeCustomRoutingEndpointGroupInput) (req *request.Request, output *DescribeCustomRoutingEndpointGroupOutput) {
  2042  	op := &request.Operation{
  2043  		Name:       opDescribeCustomRoutingEndpointGroup,
  2044  		HTTPMethod: "POST",
  2045  		HTTPPath:   "/",
  2046  	}
  2047  
  2048  	if input == nil {
  2049  		input = &DescribeCustomRoutingEndpointGroupInput{}
  2050  	}
  2051  
  2052  	output = &DescribeCustomRoutingEndpointGroupOutput{}
  2053  	req = c.newRequest(op, input, output)
  2054  	return
  2055  }
  2056  
  2057  // DescribeCustomRoutingEndpointGroup API operation for AWS Global Accelerator.
  2058  //
  2059  // Describe an endpoint group for a custom routing accelerator.
  2060  //
  2061  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2062  // with awserr.Error's Code and Message methods to get detailed information about
  2063  // the error.
  2064  //
  2065  // See the AWS API reference guide for AWS Global Accelerator's
  2066  // API operation DescribeCustomRoutingEndpointGroup for usage and error information.
  2067  //
  2068  // Returned Error Types:
  2069  //   * InvalidArgumentException
  2070  //   An argument that you specified is invalid.
  2071  //
  2072  //   * EndpointGroupNotFoundException
  2073  //   The endpoint group that you specified doesn't exist.
  2074  //
  2075  //   * InternalServiceErrorException
  2076  //   There was an internal error for AWS Global Accelerator.
  2077  //
  2078  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingEndpointGroup
  2079  func (c *GlobalAccelerator) DescribeCustomRoutingEndpointGroup(input *DescribeCustomRoutingEndpointGroupInput) (*DescribeCustomRoutingEndpointGroupOutput, error) {
  2080  	req, out := c.DescribeCustomRoutingEndpointGroupRequest(input)
  2081  	return out, req.Send()
  2082  }
  2083  
  2084  // DescribeCustomRoutingEndpointGroupWithContext is the same as DescribeCustomRoutingEndpointGroup with the addition of
  2085  // the ability to pass a context and additional request options.
  2086  //
  2087  // See DescribeCustomRoutingEndpointGroup for details on how to use this API operation.
  2088  //
  2089  // The context must be non-nil and will be used for request cancellation. If
  2090  // the context is nil a panic will occur. In the future the SDK may create
  2091  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2092  // for more information on using Contexts.
  2093  func (c *GlobalAccelerator) DescribeCustomRoutingEndpointGroupWithContext(ctx aws.Context, input *DescribeCustomRoutingEndpointGroupInput, opts ...request.Option) (*DescribeCustomRoutingEndpointGroupOutput, error) {
  2094  	req, out := c.DescribeCustomRoutingEndpointGroupRequest(input)
  2095  	req.SetContext(ctx)
  2096  	req.ApplyOptions(opts...)
  2097  	return out, req.Send()
  2098  }
  2099  
  2100  const opDescribeCustomRoutingListener = "DescribeCustomRoutingListener"
  2101  
  2102  // DescribeCustomRoutingListenerRequest generates a "aws/request.Request" representing the
  2103  // client's request for the DescribeCustomRoutingListener operation. The "output" return
  2104  // value will be populated with the request's response once the request completes
  2105  // successfully.
  2106  //
  2107  // Use "Send" method on the returned Request to send the API call to the service.
  2108  // the "output" return value is not valid until after Send returns without error.
  2109  //
  2110  // See DescribeCustomRoutingListener for more information on using the DescribeCustomRoutingListener
  2111  // API call, and error handling.
  2112  //
  2113  // This method is useful when you want to inject custom logic or configuration
  2114  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2115  //
  2116  //
  2117  //    // Example sending a request using the DescribeCustomRoutingListenerRequest method.
  2118  //    req, resp := client.DescribeCustomRoutingListenerRequest(params)
  2119  //
  2120  //    err := req.Send()
  2121  //    if err == nil { // resp is now filled
  2122  //        fmt.Println(resp)
  2123  //    }
  2124  //
  2125  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingListener
  2126  func (c *GlobalAccelerator) DescribeCustomRoutingListenerRequest(input *DescribeCustomRoutingListenerInput) (req *request.Request, output *DescribeCustomRoutingListenerOutput) {
  2127  	op := &request.Operation{
  2128  		Name:       opDescribeCustomRoutingListener,
  2129  		HTTPMethod: "POST",
  2130  		HTTPPath:   "/",
  2131  	}
  2132  
  2133  	if input == nil {
  2134  		input = &DescribeCustomRoutingListenerInput{}
  2135  	}
  2136  
  2137  	output = &DescribeCustomRoutingListenerOutput{}
  2138  	req = c.newRequest(op, input, output)
  2139  	return
  2140  }
  2141  
  2142  // DescribeCustomRoutingListener API operation for AWS Global Accelerator.
  2143  //
  2144  // The description of a listener for a custom routing accelerator.
  2145  //
  2146  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2147  // with awserr.Error's Code and Message methods to get detailed information about
  2148  // the error.
  2149  //
  2150  // See the AWS API reference guide for AWS Global Accelerator's
  2151  // API operation DescribeCustomRoutingListener for usage and error information.
  2152  //
  2153  // Returned Error Types:
  2154  //   * InvalidArgumentException
  2155  //   An argument that you specified is invalid.
  2156  //
  2157  //   * ListenerNotFoundException
  2158  //   The listener that you specified doesn't exist.
  2159  //
  2160  //   * InternalServiceErrorException
  2161  //   There was an internal error for AWS Global Accelerator.
  2162  //
  2163  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCustomRoutingListener
  2164  func (c *GlobalAccelerator) DescribeCustomRoutingListener(input *DescribeCustomRoutingListenerInput) (*DescribeCustomRoutingListenerOutput, error) {
  2165  	req, out := c.DescribeCustomRoutingListenerRequest(input)
  2166  	return out, req.Send()
  2167  }
  2168  
  2169  // DescribeCustomRoutingListenerWithContext is the same as DescribeCustomRoutingListener with the addition of
  2170  // the ability to pass a context and additional request options.
  2171  //
  2172  // See DescribeCustomRoutingListener for details on how to use this API operation.
  2173  //
  2174  // The context must be non-nil and will be used for request cancellation. If
  2175  // the context is nil a panic will occur. In the future the SDK may create
  2176  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2177  // for more information on using Contexts.
  2178  func (c *GlobalAccelerator) DescribeCustomRoutingListenerWithContext(ctx aws.Context, input *DescribeCustomRoutingListenerInput, opts ...request.Option) (*DescribeCustomRoutingListenerOutput, error) {
  2179  	req, out := c.DescribeCustomRoutingListenerRequest(input)
  2180  	req.SetContext(ctx)
  2181  	req.ApplyOptions(opts...)
  2182  	return out, req.Send()
  2183  }
  2184  
  2185  const opDescribeEndpointGroup = "DescribeEndpointGroup"
  2186  
  2187  // DescribeEndpointGroupRequest generates a "aws/request.Request" representing the
  2188  // client's request for the DescribeEndpointGroup operation. The "output" return
  2189  // value will be populated with the request's response once the request completes
  2190  // successfully.
  2191  //
  2192  // Use "Send" method on the returned Request to send the API call to the service.
  2193  // the "output" return value is not valid until after Send returns without error.
  2194  //
  2195  // See DescribeEndpointGroup for more information on using the DescribeEndpointGroup
  2196  // API call, and error handling.
  2197  //
  2198  // This method is useful when you want to inject custom logic or configuration
  2199  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2200  //
  2201  //
  2202  //    // Example sending a request using the DescribeEndpointGroupRequest method.
  2203  //    req, resp := client.DescribeEndpointGroupRequest(params)
  2204  //
  2205  //    err := req.Send()
  2206  //    if err == nil { // resp is now filled
  2207  //        fmt.Println(resp)
  2208  //    }
  2209  //
  2210  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup
  2211  func (c *GlobalAccelerator) DescribeEndpointGroupRequest(input *DescribeEndpointGroupInput) (req *request.Request, output *DescribeEndpointGroupOutput) {
  2212  	op := &request.Operation{
  2213  		Name:       opDescribeEndpointGroup,
  2214  		HTTPMethod: "POST",
  2215  		HTTPPath:   "/",
  2216  	}
  2217  
  2218  	if input == nil {
  2219  		input = &DescribeEndpointGroupInput{}
  2220  	}
  2221  
  2222  	output = &DescribeEndpointGroupOutput{}
  2223  	req = c.newRequest(op, input, output)
  2224  	return
  2225  }
  2226  
  2227  // DescribeEndpointGroup API operation for AWS Global Accelerator.
  2228  //
  2229  // Describe an endpoint group.
  2230  //
  2231  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2232  // with awserr.Error's Code and Message methods to get detailed information about
  2233  // the error.
  2234  //
  2235  // See the AWS API reference guide for AWS Global Accelerator's
  2236  // API operation DescribeEndpointGroup for usage and error information.
  2237  //
  2238  // Returned Error Types:
  2239  //   * InvalidArgumentException
  2240  //   An argument that you specified is invalid.
  2241  //
  2242  //   * EndpointGroupNotFoundException
  2243  //   The endpoint group that you specified doesn't exist.
  2244  //
  2245  //   * InternalServiceErrorException
  2246  //   There was an internal error for AWS Global Accelerator.
  2247  //
  2248  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup
  2249  func (c *GlobalAccelerator) DescribeEndpointGroup(input *DescribeEndpointGroupInput) (*DescribeEndpointGroupOutput, error) {
  2250  	req, out := c.DescribeEndpointGroupRequest(input)
  2251  	return out, req.Send()
  2252  }
  2253  
  2254  // DescribeEndpointGroupWithContext is the same as DescribeEndpointGroup with the addition of
  2255  // the ability to pass a context and additional request options.
  2256  //
  2257  // See DescribeEndpointGroup for details on how to use this API operation.
  2258  //
  2259  // The context must be non-nil and will be used for request cancellation. If
  2260  // the context is nil a panic will occur. In the future the SDK may create
  2261  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2262  // for more information on using Contexts.
  2263  func (c *GlobalAccelerator) DescribeEndpointGroupWithContext(ctx aws.Context, input *DescribeEndpointGroupInput, opts ...request.Option) (*DescribeEndpointGroupOutput, error) {
  2264  	req, out := c.DescribeEndpointGroupRequest(input)
  2265  	req.SetContext(ctx)
  2266  	req.ApplyOptions(opts...)
  2267  	return out, req.Send()
  2268  }
  2269  
  2270  const opDescribeListener = "DescribeListener"
  2271  
  2272  // DescribeListenerRequest generates a "aws/request.Request" representing the
  2273  // client's request for the DescribeListener operation. The "output" return
  2274  // value will be populated with the request's response once the request completes
  2275  // successfully.
  2276  //
  2277  // Use "Send" method on the returned Request to send the API call to the service.
  2278  // the "output" return value is not valid until after Send returns without error.
  2279  //
  2280  // See DescribeListener for more information on using the DescribeListener
  2281  // API call, and error handling.
  2282  //
  2283  // This method is useful when you want to inject custom logic or configuration
  2284  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2285  //
  2286  //
  2287  //    // Example sending a request using the DescribeListenerRequest method.
  2288  //    req, resp := client.DescribeListenerRequest(params)
  2289  //
  2290  //    err := req.Send()
  2291  //    if err == nil { // resp is now filled
  2292  //        fmt.Println(resp)
  2293  //    }
  2294  //
  2295  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener
  2296  func (c *GlobalAccelerator) DescribeListenerRequest(input *DescribeListenerInput) (req *request.Request, output *DescribeListenerOutput) {
  2297  	op := &request.Operation{
  2298  		Name:       opDescribeListener,
  2299  		HTTPMethod: "POST",
  2300  		HTTPPath:   "/",
  2301  	}
  2302  
  2303  	if input == nil {
  2304  		input = &DescribeListenerInput{}
  2305  	}
  2306  
  2307  	output = &DescribeListenerOutput{}
  2308  	req = c.newRequest(op, input, output)
  2309  	return
  2310  }
  2311  
  2312  // DescribeListener API operation for AWS Global Accelerator.
  2313  //
  2314  // Describe a listener.
  2315  //
  2316  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2317  // with awserr.Error's Code and Message methods to get detailed information about
  2318  // the error.
  2319  //
  2320  // See the AWS API reference guide for AWS Global Accelerator's
  2321  // API operation DescribeListener for usage and error information.
  2322  //
  2323  // Returned Error Types:
  2324  //   * InvalidArgumentException
  2325  //   An argument that you specified is invalid.
  2326  //
  2327  //   * ListenerNotFoundException
  2328  //   The listener that you specified doesn't exist.
  2329  //
  2330  //   * InternalServiceErrorException
  2331  //   There was an internal error for AWS Global Accelerator.
  2332  //
  2333  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener
  2334  func (c *GlobalAccelerator) DescribeListener(input *DescribeListenerInput) (*DescribeListenerOutput, error) {
  2335  	req, out := c.DescribeListenerRequest(input)
  2336  	return out, req.Send()
  2337  }
  2338  
  2339  // DescribeListenerWithContext is the same as DescribeListener with the addition of
  2340  // the ability to pass a context and additional request options.
  2341  //
  2342  // See DescribeListener for details on how to use this API operation.
  2343  //
  2344  // The context must be non-nil and will be used for request cancellation. If
  2345  // the context is nil a panic will occur. In the future the SDK may create
  2346  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2347  // for more information on using Contexts.
  2348  func (c *GlobalAccelerator) DescribeListenerWithContext(ctx aws.Context, input *DescribeListenerInput, opts ...request.Option) (*DescribeListenerOutput, error) {
  2349  	req, out := c.DescribeListenerRequest(input)
  2350  	req.SetContext(ctx)
  2351  	req.ApplyOptions(opts...)
  2352  	return out, req.Send()
  2353  }
  2354  
  2355  const opListAccelerators = "ListAccelerators"
  2356  
  2357  // ListAcceleratorsRequest generates a "aws/request.Request" representing the
  2358  // client's request for the ListAccelerators operation. The "output" return
  2359  // value will be populated with the request's response once the request completes
  2360  // successfully.
  2361  //
  2362  // Use "Send" method on the returned Request to send the API call to the service.
  2363  // the "output" return value is not valid until after Send returns without error.
  2364  //
  2365  // See ListAccelerators for more information on using the ListAccelerators
  2366  // API call, and error handling.
  2367  //
  2368  // This method is useful when you want to inject custom logic or configuration
  2369  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2370  //
  2371  //
  2372  //    // Example sending a request using the ListAcceleratorsRequest method.
  2373  //    req, resp := client.ListAcceleratorsRequest(params)
  2374  //
  2375  //    err := req.Send()
  2376  //    if err == nil { // resp is now filled
  2377  //        fmt.Println(resp)
  2378  //    }
  2379  //
  2380  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators
  2381  func (c *GlobalAccelerator) ListAcceleratorsRequest(input *ListAcceleratorsInput) (req *request.Request, output *ListAcceleratorsOutput) {
  2382  	op := &request.Operation{
  2383  		Name:       opListAccelerators,
  2384  		HTTPMethod: "POST",
  2385  		HTTPPath:   "/",
  2386  		Paginator: &request.Paginator{
  2387  			InputTokens:     []string{"NextToken"},
  2388  			OutputTokens:    []string{"NextToken"},
  2389  			LimitToken:      "MaxResults",
  2390  			TruncationToken: "",
  2391  		},
  2392  	}
  2393  
  2394  	if input == nil {
  2395  		input = &ListAcceleratorsInput{}
  2396  	}
  2397  
  2398  	output = &ListAcceleratorsOutput{}
  2399  	req = c.newRequest(op, input, output)
  2400  	return
  2401  }
  2402  
  2403  // ListAccelerators API operation for AWS Global Accelerator.
  2404  //
  2405  // List the accelerators for an AWS account.
  2406  //
  2407  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2408  // with awserr.Error's Code and Message methods to get detailed information about
  2409  // the error.
  2410  //
  2411  // See the AWS API reference guide for AWS Global Accelerator's
  2412  // API operation ListAccelerators for usage and error information.
  2413  //
  2414  // Returned Error Types:
  2415  //   * InvalidArgumentException
  2416  //   An argument that you specified is invalid.
  2417  //
  2418  //   * InvalidNextTokenException
  2419  //   There isn't another item to return.
  2420  //
  2421  //   * InternalServiceErrorException
  2422  //   There was an internal error for AWS Global Accelerator.
  2423  //
  2424  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators
  2425  func (c *GlobalAccelerator) ListAccelerators(input *ListAcceleratorsInput) (*ListAcceleratorsOutput, error) {
  2426  	req, out := c.ListAcceleratorsRequest(input)
  2427  	return out, req.Send()
  2428  }
  2429  
  2430  // ListAcceleratorsWithContext is the same as ListAccelerators with the addition of
  2431  // the ability to pass a context and additional request options.
  2432  //
  2433  // See ListAccelerators for details on how to use this API operation.
  2434  //
  2435  // The context must be non-nil and will be used for request cancellation. If
  2436  // the context is nil a panic will occur. In the future the SDK may create
  2437  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2438  // for more information on using Contexts.
  2439  func (c *GlobalAccelerator) ListAcceleratorsWithContext(ctx aws.Context, input *ListAcceleratorsInput, opts ...request.Option) (*ListAcceleratorsOutput, error) {
  2440  	req, out := c.ListAcceleratorsRequest(input)
  2441  	req.SetContext(ctx)
  2442  	req.ApplyOptions(opts...)
  2443  	return out, req.Send()
  2444  }
  2445  
  2446  // ListAcceleratorsPages iterates over the pages of a ListAccelerators operation,
  2447  // calling the "fn" function with the response data for each page. To stop
  2448  // iterating, return false from the fn function.
  2449  //
  2450  // See ListAccelerators method for more information on how to use this operation.
  2451  //
  2452  // Note: This operation can generate multiple requests to a service.
  2453  //
  2454  //    // Example iterating over at most 3 pages of a ListAccelerators operation.
  2455  //    pageNum := 0
  2456  //    err := client.ListAcceleratorsPages(params,
  2457  //        func(page *globalaccelerator.ListAcceleratorsOutput, lastPage bool) bool {
  2458  //            pageNum++
  2459  //            fmt.Println(page)
  2460  //            return pageNum <= 3
  2461  //        })
  2462  //
  2463  func (c *GlobalAccelerator) ListAcceleratorsPages(input *ListAcceleratorsInput, fn func(*ListAcceleratorsOutput, bool) bool) error {
  2464  	return c.ListAcceleratorsPagesWithContext(aws.BackgroundContext(), input, fn)
  2465  }
  2466  
  2467  // ListAcceleratorsPagesWithContext same as ListAcceleratorsPages except
  2468  // it takes a Context and allows setting request options on the pages.
  2469  //
  2470  // The context must be non-nil and will be used for request cancellation. If
  2471  // the context is nil a panic will occur. In the future the SDK may create
  2472  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2473  // for more information on using Contexts.
  2474  func (c *GlobalAccelerator) ListAcceleratorsPagesWithContext(ctx aws.Context, input *ListAcceleratorsInput, fn func(*ListAcceleratorsOutput, bool) bool, opts ...request.Option) error {
  2475  	p := request.Pagination{
  2476  		NewRequest: func() (*request.Request, error) {
  2477  			var inCpy *ListAcceleratorsInput
  2478  			if input != nil {
  2479  				tmp := *input
  2480  				inCpy = &tmp
  2481  			}
  2482  			req, _ := c.ListAcceleratorsRequest(inCpy)
  2483  			req.SetContext(ctx)
  2484  			req.ApplyOptions(opts...)
  2485  			return req, nil
  2486  		},
  2487  	}
  2488  
  2489  	for p.Next() {
  2490  		if !fn(p.Page().(*ListAcceleratorsOutput), !p.HasNextPage()) {
  2491  			break
  2492  		}
  2493  	}
  2494  
  2495  	return p.Err()
  2496  }
  2497  
  2498  const opListByoipCidrs = "ListByoipCidrs"
  2499  
  2500  // ListByoipCidrsRequest generates a "aws/request.Request" representing the
  2501  // client's request for the ListByoipCidrs operation. The "output" return
  2502  // value will be populated with the request's response once the request completes
  2503  // successfully.
  2504  //
  2505  // Use "Send" method on the returned Request to send the API call to the service.
  2506  // the "output" return value is not valid until after Send returns without error.
  2507  //
  2508  // See ListByoipCidrs for more information on using the ListByoipCidrs
  2509  // API call, and error handling.
  2510  //
  2511  // This method is useful when you want to inject custom logic or configuration
  2512  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2513  //
  2514  //
  2515  //    // Example sending a request using the ListByoipCidrsRequest method.
  2516  //    req, resp := client.ListByoipCidrsRequest(params)
  2517  //
  2518  //    err := req.Send()
  2519  //    if err == nil { // resp is now filled
  2520  //        fmt.Println(resp)
  2521  //    }
  2522  //
  2523  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrs
  2524  func (c *GlobalAccelerator) ListByoipCidrsRequest(input *ListByoipCidrsInput) (req *request.Request, output *ListByoipCidrsOutput) {
  2525  	op := &request.Operation{
  2526  		Name:       opListByoipCidrs,
  2527  		HTTPMethod: "POST",
  2528  		HTTPPath:   "/",
  2529  		Paginator: &request.Paginator{
  2530  			InputTokens:     []string{"NextToken"},
  2531  			OutputTokens:    []string{"NextToken"},
  2532  			LimitToken:      "MaxResults",
  2533  			TruncationToken: "",
  2534  		},
  2535  	}
  2536  
  2537  	if input == nil {
  2538  		input = &ListByoipCidrsInput{}
  2539  	}
  2540  
  2541  	output = &ListByoipCidrsOutput{}
  2542  	req = c.newRequest(op, input, output)
  2543  	return
  2544  }
  2545  
  2546  // ListByoipCidrs API operation for AWS Global Accelerator.
  2547  //
  2548  // Lists the IP address ranges that were specified in calls to ProvisionByoipCidr
  2549  // (https://docs.aws.amazon.com/global-accelerator/latest/api/ProvisionByoipCidr.html),
  2550  // including the current state and a history of state changes.
  2551  //
  2552  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2553  // with awserr.Error's Code and Message methods to get detailed information about
  2554  // the error.
  2555  //
  2556  // See the AWS API reference guide for AWS Global Accelerator's
  2557  // API operation ListByoipCidrs for usage and error information.
  2558  //
  2559  // Returned Error Types:
  2560  //   * InternalServiceErrorException
  2561  //   There was an internal error for AWS Global Accelerator.
  2562  //
  2563  //   * InvalidArgumentException
  2564  //   An argument that you specified is invalid.
  2565  //
  2566  //   * AccessDeniedException
  2567  //   You don't have access permission.
  2568  //
  2569  //   * InvalidNextTokenException
  2570  //   There isn't another item to return.
  2571  //
  2572  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListByoipCidrs
  2573  func (c *GlobalAccelerator) ListByoipCidrs(input *ListByoipCidrsInput) (*ListByoipCidrsOutput, error) {
  2574  	req, out := c.ListByoipCidrsRequest(input)
  2575  	return out, req.Send()
  2576  }
  2577  
  2578  // ListByoipCidrsWithContext is the same as ListByoipCidrs with the addition of
  2579  // the ability to pass a context and additional request options.
  2580  //
  2581  // See ListByoipCidrs for details on how to use this API operation.
  2582  //
  2583  // The context must be non-nil and will be used for request cancellation. If
  2584  // the context is nil a panic will occur. In the future the SDK may create
  2585  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2586  // for more information on using Contexts.
  2587  func (c *GlobalAccelerator) ListByoipCidrsWithContext(ctx aws.Context, input *ListByoipCidrsInput, opts ...request.Option) (*ListByoipCidrsOutput, error) {
  2588  	req, out := c.ListByoipCidrsRequest(input)
  2589  	req.SetContext(ctx)
  2590  	req.ApplyOptions(opts...)
  2591  	return out, req.Send()
  2592  }
  2593  
  2594  // ListByoipCidrsPages iterates over the pages of a ListByoipCidrs operation,
  2595  // calling the "fn" function with the response data for each page. To stop
  2596  // iterating, return false from the fn function.
  2597  //
  2598  // See ListByoipCidrs method for more information on how to use this operation.
  2599  //
  2600  // Note: This operation can generate multiple requests to a service.
  2601  //
  2602  //    // Example iterating over at most 3 pages of a ListByoipCidrs operation.
  2603  //    pageNum := 0
  2604  //    err := client.ListByoipCidrsPages(params,
  2605  //        func(page *globalaccelerator.ListByoipCidrsOutput, lastPage bool) bool {
  2606  //            pageNum++
  2607  //            fmt.Println(page)
  2608  //            return pageNum <= 3
  2609  //        })
  2610  //
  2611  func (c *GlobalAccelerator) ListByoipCidrsPages(input *ListByoipCidrsInput, fn func(*ListByoipCidrsOutput, bool) bool) error {
  2612  	return c.ListByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
  2613  }
  2614  
  2615  // ListByoipCidrsPagesWithContext same as ListByoipCidrsPages except
  2616  // it takes a Context and allows setting request options on the pages.
  2617  //
  2618  // The context must be non-nil and will be used for request cancellation. If
  2619  // the context is nil a panic will occur. In the future the SDK may create
  2620  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2621  // for more information on using Contexts.
  2622  func (c *GlobalAccelerator) ListByoipCidrsPagesWithContext(ctx aws.Context, input *ListByoipCidrsInput, fn func(*ListByoipCidrsOutput, bool) bool, opts ...request.Option) error {
  2623  	p := request.Pagination{
  2624  		NewRequest: func() (*request.Request, error) {
  2625  			var inCpy *ListByoipCidrsInput
  2626  			if input != nil {
  2627  				tmp := *input
  2628  				inCpy = &tmp
  2629  			}
  2630  			req, _ := c.ListByoipCidrsRequest(inCpy)
  2631  			req.SetContext(ctx)
  2632  			req.ApplyOptions(opts...)
  2633  			return req, nil
  2634  		},
  2635  	}
  2636  
  2637  	for p.Next() {
  2638  		if !fn(p.Page().(*ListByoipCidrsOutput), !p.HasNextPage()) {
  2639  			break
  2640  		}
  2641  	}
  2642  
  2643  	return p.Err()
  2644  }
  2645  
  2646  const opListCustomRoutingAccelerators = "ListCustomRoutingAccelerators"
  2647  
  2648  // ListCustomRoutingAcceleratorsRequest generates a "aws/request.Request" representing the
  2649  // client's request for the ListCustomRoutingAccelerators operation. The "output" return
  2650  // value will be populated with the request's response once the request completes
  2651  // successfully.
  2652  //
  2653  // Use "Send" method on the returned Request to send the API call to the service.
  2654  // the "output" return value is not valid until after Send returns without error.
  2655  //
  2656  // See ListCustomRoutingAccelerators for more information on using the ListCustomRoutingAccelerators
  2657  // API call, and error handling.
  2658  //
  2659  // This method is useful when you want to inject custom logic or configuration
  2660  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2661  //
  2662  //
  2663  //    // Example sending a request using the ListCustomRoutingAcceleratorsRequest method.
  2664  //    req, resp := client.ListCustomRoutingAcceleratorsRequest(params)
  2665  //
  2666  //    err := req.Send()
  2667  //    if err == nil { // resp is now filled
  2668  //        fmt.Println(resp)
  2669  //    }
  2670  //
  2671  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators
  2672  func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsRequest(input *ListCustomRoutingAcceleratorsInput) (req *request.Request, output *ListCustomRoutingAcceleratorsOutput) {
  2673  	op := &request.Operation{
  2674  		Name:       opListCustomRoutingAccelerators,
  2675  		HTTPMethod: "POST",
  2676  		HTTPPath:   "/",
  2677  		Paginator: &request.Paginator{
  2678  			InputTokens:     []string{"NextToken"},
  2679  			OutputTokens:    []string{"NextToken"},
  2680  			LimitToken:      "MaxResults",
  2681  			TruncationToken: "",
  2682  		},
  2683  	}
  2684  
  2685  	if input == nil {
  2686  		input = &ListCustomRoutingAcceleratorsInput{}
  2687  	}
  2688  
  2689  	output = &ListCustomRoutingAcceleratorsOutput{}
  2690  	req = c.newRequest(op, input, output)
  2691  	return
  2692  }
  2693  
  2694  // ListCustomRoutingAccelerators API operation for AWS Global Accelerator.
  2695  //
  2696  // List the custom routing accelerators for an AWS account.
  2697  //
  2698  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2699  // with awserr.Error's Code and Message methods to get detailed information about
  2700  // the error.
  2701  //
  2702  // See the AWS API reference guide for AWS Global Accelerator's
  2703  // API operation ListCustomRoutingAccelerators for usage and error information.
  2704  //
  2705  // Returned Error Types:
  2706  //   * InvalidArgumentException
  2707  //   An argument that you specified is invalid.
  2708  //
  2709  //   * InvalidNextTokenException
  2710  //   There isn't another item to return.
  2711  //
  2712  //   * InternalServiceErrorException
  2713  //   There was an internal error for AWS Global Accelerator.
  2714  //
  2715  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators
  2716  func (c *GlobalAccelerator) ListCustomRoutingAccelerators(input *ListCustomRoutingAcceleratorsInput) (*ListCustomRoutingAcceleratorsOutput, error) {
  2717  	req, out := c.ListCustomRoutingAcceleratorsRequest(input)
  2718  	return out, req.Send()
  2719  }
  2720  
  2721  // ListCustomRoutingAcceleratorsWithContext is the same as ListCustomRoutingAccelerators with the addition of
  2722  // the ability to pass a context and additional request options.
  2723  //
  2724  // See ListCustomRoutingAccelerators for details on how to use this API operation.
  2725  //
  2726  // The context must be non-nil and will be used for request cancellation. If
  2727  // the context is nil a panic will occur. In the future the SDK may create
  2728  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2729  // for more information on using Contexts.
  2730  func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, opts ...request.Option) (*ListCustomRoutingAcceleratorsOutput, error) {
  2731  	req, out := c.ListCustomRoutingAcceleratorsRequest(input)
  2732  	req.SetContext(ctx)
  2733  	req.ApplyOptions(opts...)
  2734  	return out, req.Send()
  2735  }
  2736  
  2737  // ListCustomRoutingAcceleratorsPages iterates over the pages of a ListCustomRoutingAccelerators operation,
  2738  // calling the "fn" function with the response data for each page. To stop
  2739  // iterating, return false from the fn function.
  2740  //
  2741  // See ListCustomRoutingAccelerators method for more information on how to use this operation.
  2742  //
  2743  // Note: This operation can generate multiple requests to a service.
  2744  //
  2745  //    // Example iterating over at most 3 pages of a ListCustomRoutingAccelerators operation.
  2746  //    pageNum := 0
  2747  //    err := client.ListCustomRoutingAcceleratorsPages(params,
  2748  //        func(page *globalaccelerator.ListCustomRoutingAcceleratorsOutput, lastPage bool) bool {
  2749  //            pageNum++
  2750  //            fmt.Println(page)
  2751  //            return pageNum <= 3
  2752  //        })
  2753  //
  2754  func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPages(input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool) error {
  2755  	return c.ListCustomRoutingAcceleratorsPagesWithContext(aws.BackgroundContext(), input, fn)
  2756  }
  2757  
  2758  // ListCustomRoutingAcceleratorsPagesWithContext same as ListCustomRoutingAcceleratorsPages except
  2759  // it takes a Context and allows setting request options on the pages.
  2760  //
  2761  // The context must be non-nil and will be used for request cancellation. If
  2762  // the context is nil a panic will occur. In the future the SDK may create
  2763  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2764  // for more information on using Contexts.
  2765  func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPagesWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool, opts ...request.Option) error {
  2766  	p := request.Pagination{
  2767  		NewRequest: func() (*request.Request, error) {
  2768  			var inCpy *ListCustomRoutingAcceleratorsInput
  2769  			if input != nil {
  2770  				tmp := *input
  2771  				inCpy = &tmp
  2772  			}
  2773  			req, _ := c.ListCustomRoutingAcceleratorsRequest(inCpy)
  2774  			req.SetContext(ctx)
  2775  			req.ApplyOptions(opts...)
  2776  			return req, nil
  2777  		},
  2778  	}
  2779  
  2780  	for p.Next() {
  2781  		if !fn(p.Page().(*ListCustomRoutingAcceleratorsOutput), !p.HasNextPage()) {
  2782  			break
  2783  		}
  2784  	}
  2785  
  2786  	return p.Err()
  2787  }
  2788  
  2789  const opListCustomRoutingEndpointGroups = "ListCustomRoutingEndpointGroups"
  2790  
  2791  // ListCustomRoutingEndpointGroupsRequest generates a "aws/request.Request" representing the
  2792  // client's request for the ListCustomRoutingEndpointGroups operation. The "output" return
  2793  // value will be populated with the request's response once the request completes
  2794  // successfully.
  2795  //
  2796  // Use "Send" method on the returned Request to send the API call to the service.
  2797  // the "output" return value is not valid until after Send returns without error.
  2798  //
  2799  // See ListCustomRoutingEndpointGroups for more information on using the ListCustomRoutingEndpointGroups
  2800  // API call, and error handling.
  2801  //
  2802  // This method is useful when you want to inject custom logic or configuration
  2803  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2804  //
  2805  //
  2806  //    // Example sending a request using the ListCustomRoutingEndpointGroupsRequest method.
  2807  //    req, resp := client.ListCustomRoutingEndpointGroupsRequest(params)
  2808  //
  2809  //    err := req.Send()
  2810  //    if err == nil { // resp is now filled
  2811  //        fmt.Println(resp)
  2812  //    }
  2813  //
  2814  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroups
  2815  func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsRequest(input *ListCustomRoutingEndpointGroupsInput) (req *request.Request, output *ListCustomRoutingEndpointGroupsOutput) {
  2816  	op := &request.Operation{
  2817  		Name:       opListCustomRoutingEndpointGroups,
  2818  		HTTPMethod: "POST",
  2819  		HTTPPath:   "/",
  2820  		Paginator: &request.Paginator{
  2821  			InputTokens:     []string{"NextToken"},
  2822  			OutputTokens:    []string{"NextToken"},
  2823  			LimitToken:      "MaxResults",
  2824  			TruncationToken: "",
  2825  		},
  2826  	}
  2827  
  2828  	if input == nil {
  2829  		input = &ListCustomRoutingEndpointGroupsInput{}
  2830  	}
  2831  
  2832  	output = &ListCustomRoutingEndpointGroupsOutput{}
  2833  	req = c.newRequest(op, input, output)
  2834  	return
  2835  }
  2836  
  2837  // ListCustomRoutingEndpointGroups API operation for AWS Global Accelerator.
  2838  //
  2839  // List the endpoint groups that are associated with a listener for a custom
  2840  // routing accelerator.
  2841  //
  2842  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2843  // with awserr.Error's Code and Message methods to get detailed information about
  2844  // the error.
  2845  //
  2846  // See the AWS API reference guide for AWS Global Accelerator's
  2847  // API operation ListCustomRoutingEndpointGroups for usage and error information.
  2848  //
  2849  // Returned Error Types:
  2850  //   * ListenerNotFoundException
  2851  //   The listener that you specified doesn't exist.
  2852  //
  2853  //   * InvalidNextTokenException
  2854  //   There isn't another item to return.
  2855  //
  2856  //   * InvalidArgumentException
  2857  //   An argument that you specified is invalid.
  2858  //
  2859  //   * InternalServiceErrorException
  2860  //   There was an internal error for AWS Global Accelerator.
  2861  //
  2862  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroups
  2863  func (c *GlobalAccelerator) ListCustomRoutingEndpointGroups(input *ListCustomRoutingEndpointGroupsInput) (*ListCustomRoutingEndpointGroupsOutput, error) {
  2864  	req, out := c.ListCustomRoutingEndpointGroupsRequest(input)
  2865  	return out, req.Send()
  2866  }
  2867  
  2868  // ListCustomRoutingEndpointGroupsWithContext is the same as ListCustomRoutingEndpointGroups with the addition of
  2869  // the ability to pass a context and additional request options.
  2870  //
  2871  // See ListCustomRoutingEndpointGroups for details on how to use this API operation.
  2872  //
  2873  // The context must be non-nil and will be used for request cancellation. If
  2874  // the context is nil a panic will occur. In the future the SDK may create
  2875  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2876  // for more information on using Contexts.
  2877  func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsWithContext(ctx aws.Context, input *ListCustomRoutingEndpointGroupsInput, opts ...request.Option) (*ListCustomRoutingEndpointGroupsOutput, error) {
  2878  	req, out := c.ListCustomRoutingEndpointGroupsRequest(input)
  2879  	req.SetContext(ctx)
  2880  	req.ApplyOptions(opts...)
  2881  	return out, req.Send()
  2882  }
  2883  
  2884  // ListCustomRoutingEndpointGroupsPages iterates over the pages of a ListCustomRoutingEndpointGroups operation,
  2885  // calling the "fn" function with the response data for each page. To stop
  2886  // iterating, return false from the fn function.
  2887  //
  2888  // See ListCustomRoutingEndpointGroups method for more information on how to use this operation.
  2889  //
  2890  // Note: This operation can generate multiple requests to a service.
  2891  //
  2892  //    // Example iterating over at most 3 pages of a ListCustomRoutingEndpointGroups operation.
  2893  //    pageNum := 0
  2894  //    err := client.ListCustomRoutingEndpointGroupsPages(params,
  2895  //        func(page *globalaccelerator.ListCustomRoutingEndpointGroupsOutput, lastPage bool) bool {
  2896  //            pageNum++
  2897  //            fmt.Println(page)
  2898  //            return pageNum <= 3
  2899  //        })
  2900  //
  2901  func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsPages(input *ListCustomRoutingEndpointGroupsInput, fn func(*ListCustomRoutingEndpointGroupsOutput, bool) bool) error {
  2902  	return c.ListCustomRoutingEndpointGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  2903  }
  2904  
  2905  // ListCustomRoutingEndpointGroupsPagesWithContext same as ListCustomRoutingEndpointGroupsPages except
  2906  // it takes a Context and allows setting request options on the pages.
  2907  //
  2908  // The context must be non-nil and will be used for request cancellation. If
  2909  // the context is nil a panic will occur. In the future the SDK may create
  2910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2911  // for more information on using Contexts.
  2912  func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsPagesWithContext(ctx aws.Context, input *ListCustomRoutingEndpointGroupsInput, fn func(*ListCustomRoutingEndpointGroupsOutput, bool) bool, opts ...request.Option) error {
  2913  	p := request.Pagination{
  2914  		NewRequest: func() (*request.Request, error) {
  2915  			var inCpy *ListCustomRoutingEndpointGroupsInput
  2916  			if input != nil {
  2917  				tmp := *input
  2918  				inCpy = &tmp
  2919  			}
  2920  			req, _ := c.ListCustomRoutingEndpointGroupsRequest(inCpy)
  2921  			req.SetContext(ctx)
  2922  			req.ApplyOptions(opts...)
  2923  			return req, nil
  2924  		},
  2925  	}
  2926  
  2927  	for p.Next() {
  2928  		if !fn(p.Page().(*ListCustomRoutingEndpointGroupsOutput), !p.HasNextPage()) {
  2929  			break
  2930  		}
  2931  	}
  2932  
  2933  	return p.Err()
  2934  }
  2935  
  2936  const opListCustomRoutingListeners = "ListCustomRoutingListeners"
  2937  
  2938  // ListCustomRoutingListenersRequest generates a "aws/request.Request" representing the
  2939  // client's request for the ListCustomRoutingListeners operation. The "output" return
  2940  // value will be populated with the request's response once the request completes
  2941  // successfully.
  2942  //
  2943  // Use "Send" method on the returned Request to send the API call to the service.
  2944  // the "output" return value is not valid until after Send returns without error.
  2945  //
  2946  // See ListCustomRoutingListeners for more information on using the ListCustomRoutingListeners
  2947  // API call, and error handling.
  2948  //
  2949  // This method is useful when you want to inject custom logic or configuration
  2950  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2951  //
  2952  //
  2953  //    // Example sending a request using the ListCustomRoutingListenersRequest method.
  2954  //    req, resp := client.ListCustomRoutingListenersRequest(params)
  2955  //
  2956  //    err := req.Send()
  2957  //    if err == nil { // resp is now filled
  2958  //        fmt.Println(resp)
  2959  //    }
  2960  //
  2961  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingListeners
  2962  func (c *GlobalAccelerator) ListCustomRoutingListenersRequest(input *ListCustomRoutingListenersInput) (req *request.Request, output *ListCustomRoutingListenersOutput) {
  2963  	op := &request.Operation{
  2964  		Name:       opListCustomRoutingListeners,
  2965  		HTTPMethod: "POST",
  2966  		HTTPPath:   "/",
  2967  		Paginator: &request.Paginator{
  2968  			InputTokens:     []string{"NextToken"},
  2969  			OutputTokens:    []string{"NextToken"},
  2970  			LimitToken:      "MaxResults",
  2971  			TruncationToken: "",
  2972  		},
  2973  	}
  2974  
  2975  	if input == nil {
  2976  		input = &ListCustomRoutingListenersInput{}
  2977  	}
  2978  
  2979  	output = &ListCustomRoutingListenersOutput{}
  2980  	req = c.newRequest(op, input, output)
  2981  	return
  2982  }
  2983  
  2984  // ListCustomRoutingListeners API operation for AWS Global Accelerator.
  2985  //
  2986  // List the listeners for a custom routing accelerator.
  2987  //
  2988  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2989  // with awserr.Error's Code and Message methods to get detailed information about
  2990  // the error.
  2991  //
  2992  // See the AWS API reference guide for AWS Global Accelerator's
  2993  // API operation ListCustomRoutingListeners for usage and error information.
  2994  //
  2995  // Returned Error Types:
  2996  //   * InvalidArgumentException
  2997  //   An argument that you specified is invalid.
  2998  //
  2999  //   * AcceleratorNotFoundException
  3000  //   The accelerator that you specified doesn't exist.
  3001  //
  3002  //   * InvalidNextTokenException
  3003  //   There isn't another item to return.
  3004  //
  3005  //   * InternalServiceErrorException
  3006  //   There was an internal error for AWS Global Accelerator.
  3007  //
  3008  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingListeners
  3009  func (c *GlobalAccelerator) ListCustomRoutingListeners(input *ListCustomRoutingListenersInput) (*ListCustomRoutingListenersOutput, error) {
  3010  	req, out := c.ListCustomRoutingListenersRequest(input)
  3011  	return out, req.Send()
  3012  }
  3013  
  3014  // ListCustomRoutingListenersWithContext is the same as ListCustomRoutingListeners with the addition of
  3015  // the ability to pass a context and additional request options.
  3016  //
  3017  // See ListCustomRoutingListeners for details on how to use this API operation.
  3018  //
  3019  // The context must be non-nil and will be used for request cancellation. If
  3020  // the context is nil a panic will occur. In the future the SDK may create
  3021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3022  // for more information on using Contexts.
  3023  func (c *GlobalAccelerator) ListCustomRoutingListenersWithContext(ctx aws.Context, input *ListCustomRoutingListenersInput, opts ...request.Option) (*ListCustomRoutingListenersOutput, error) {
  3024  	req, out := c.ListCustomRoutingListenersRequest(input)
  3025  	req.SetContext(ctx)
  3026  	req.ApplyOptions(opts...)
  3027  	return out, req.Send()
  3028  }
  3029  
  3030  // ListCustomRoutingListenersPages iterates over the pages of a ListCustomRoutingListeners operation,
  3031  // calling the "fn" function with the response data for each page. To stop
  3032  // iterating, return false from the fn function.
  3033  //
  3034  // See ListCustomRoutingListeners method for more information on how to use this operation.
  3035  //
  3036  // Note: This operation can generate multiple requests to a service.
  3037  //
  3038  //    // Example iterating over at most 3 pages of a ListCustomRoutingListeners operation.
  3039  //    pageNum := 0
  3040  //    err := client.ListCustomRoutingListenersPages(params,
  3041  //        func(page *globalaccelerator.ListCustomRoutingListenersOutput, lastPage bool) bool {
  3042  //            pageNum++
  3043  //            fmt.Println(page)
  3044  //            return pageNum <= 3
  3045  //        })
  3046  //
  3047  func (c *GlobalAccelerator) ListCustomRoutingListenersPages(input *ListCustomRoutingListenersInput, fn func(*ListCustomRoutingListenersOutput, bool) bool) error {
  3048  	return c.ListCustomRoutingListenersPagesWithContext(aws.BackgroundContext(), input, fn)
  3049  }
  3050  
  3051  // ListCustomRoutingListenersPagesWithContext same as ListCustomRoutingListenersPages except
  3052  // it takes a Context and allows setting request options on the pages.
  3053  //
  3054  // The context must be non-nil and will be used for request cancellation. If
  3055  // the context is nil a panic will occur. In the future the SDK may create
  3056  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3057  // for more information on using Contexts.
  3058  func (c *GlobalAccelerator) ListCustomRoutingListenersPagesWithContext(ctx aws.Context, input *ListCustomRoutingListenersInput, fn func(*ListCustomRoutingListenersOutput, bool) bool, opts ...request.Option) error {
  3059  	p := request.Pagination{
  3060  		NewRequest: func() (*request.Request, error) {
  3061  			var inCpy *ListCustomRoutingListenersInput
  3062  			if input != nil {
  3063  				tmp := *input
  3064  				inCpy = &tmp
  3065  			}
  3066  			req, _ := c.ListCustomRoutingListenersRequest(inCpy)
  3067  			req.SetContext(ctx)
  3068  			req.ApplyOptions(opts...)
  3069  			return req, nil
  3070  		},
  3071  	}
  3072  
  3073  	for p.Next() {
  3074  		if !fn(p.Page().(*ListCustomRoutingListenersOutput), !p.HasNextPage()) {
  3075  			break
  3076  		}
  3077  	}
  3078  
  3079  	return p.Err()
  3080  }
  3081  
  3082  const opListCustomRoutingPortMappings = "ListCustomRoutingPortMappings"
  3083  
  3084  // ListCustomRoutingPortMappingsRequest generates a "aws/request.Request" representing the
  3085  // client's request for the ListCustomRoutingPortMappings operation. The "output" return
  3086  // value will be populated with the request's response once the request completes
  3087  // successfully.
  3088  //
  3089  // Use "Send" method on the returned Request to send the API call to the service.
  3090  // the "output" return value is not valid until after Send returns without error.
  3091  //
  3092  // See ListCustomRoutingPortMappings for more information on using the ListCustomRoutingPortMappings
  3093  // API call, and error handling.
  3094  //
  3095  // This method is useful when you want to inject custom logic or configuration
  3096  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3097  //
  3098  //
  3099  //    // Example sending a request using the ListCustomRoutingPortMappingsRequest method.
  3100  //    req, resp := client.ListCustomRoutingPortMappingsRequest(params)
  3101  //
  3102  //    err := req.Send()
  3103  //    if err == nil { // resp is now filled
  3104  //        fmt.Println(resp)
  3105  //    }
  3106  //
  3107  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappings
  3108  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsRequest(input *ListCustomRoutingPortMappingsInput) (req *request.Request, output *ListCustomRoutingPortMappingsOutput) {
  3109  	op := &request.Operation{
  3110  		Name:       opListCustomRoutingPortMappings,
  3111  		HTTPMethod: "POST",
  3112  		HTTPPath:   "/",
  3113  		Paginator: &request.Paginator{
  3114  			InputTokens:     []string{"NextToken"},
  3115  			OutputTokens:    []string{"NextToken"},
  3116  			LimitToken:      "MaxResults",
  3117  			TruncationToken: "",
  3118  		},
  3119  	}
  3120  
  3121  	if input == nil {
  3122  		input = &ListCustomRoutingPortMappingsInput{}
  3123  	}
  3124  
  3125  	output = &ListCustomRoutingPortMappingsOutput{}
  3126  	req = c.newRequest(op, input, output)
  3127  	return
  3128  }
  3129  
  3130  // ListCustomRoutingPortMappings API operation for AWS Global Accelerator.
  3131  //
  3132  // Provides a complete mapping from the public accelerator IP address and port
  3133  // to destination EC2 instance IP addresses and ports in the virtual public
  3134  // cloud (VPC) subnet endpoint for a custom routing accelerator. For each subnet
  3135  // endpoint that you add, Global Accelerator creates a new static port mapping
  3136  // for the accelerator. The port mappings don't change after Global Accelerator
  3137  // generates them, so you can retrieve and cache the full mapping on your servers.
  3138  //
  3139  // If you remove a subnet from your accelerator, Global Accelerator removes
  3140  // (reclaims) the port mappings. If you add a subnet to your accelerator, Global
  3141  // Accelerator creates new port mappings (the existing ones don't change). If
  3142  // you add or remove EC2 instances in your subnet, the port mappings don't change,
  3143  // because the mappings are created when you add the subnet to Global Accelerator.
  3144  //
  3145  // The mappings also include a flag for each destination denoting which destination
  3146  // IP addresses and ports are allowed or denied traffic.
  3147  //
  3148  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3149  // with awserr.Error's Code and Message methods to get detailed information about
  3150  // the error.
  3151  //
  3152  // See the AWS API reference guide for AWS Global Accelerator's
  3153  // API operation ListCustomRoutingPortMappings for usage and error information.
  3154  //
  3155  // Returned Error Types:
  3156  //   * InvalidArgumentException
  3157  //   An argument that you specified is invalid.
  3158  //
  3159  //   * InvalidNextTokenException
  3160  //   There isn't another item to return.
  3161  //
  3162  //   * EndpointGroupNotFoundException
  3163  //   The endpoint group that you specified doesn't exist.
  3164  //
  3165  //   * AcceleratorNotFoundException
  3166  //   The accelerator that you specified doesn't exist.
  3167  //
  3168  //   * InternalServiceErrorException
  3169  //   There was an internal error for AWS Global Accelerator.
  3170  //
  3171  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappings
  3172  func (c *GlobalAccelerator) ListCustomRoutingPortMappings(input *ListCustomRoutingPortMappingsInput) (*ListCustomRoutingPortMappingsOutput, error) {
  3173  	req, out := c.ListCustomRoutingPortMappingsRequest(input)
  3174  	return out, req.Send()
  3175  }
  3176  
  3177  // ListCustomRoutingPortMappingsWithContext is the same as ListCustomRoutingPortMappings with the addition of
  3178  // the ability to pass a context and additional request options.
  3179  //
  3180  // See ListCustomRoutingPortMappings for details on how to use this API operation.
  3181  //
  3182  // The context must be non-nil and will be used for request cancellation. If
  3183  // the context is nil a panic will occur. In the future the SDK may create
  3184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3185  // for more information on using Contexts.
  3186  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsInput, opts ...request.Option) (*ListCustomRoutingPortMappingsOutput, error) {
  3187  	req, out := c.ListCustomRoutingPortMappingsRequest(input)
  3188  	req.SetContext(ctx)
  3189  	req.ApplyOptions(opts...)
  3190  	return out, req.Send()
  3191  }
  3192  
  3193  // ListCustomRoutingPortMappingsPages iterates over the pages of a ListCustomRoutingPortMappings operation,
  3194  // calling the "fn" function with the response data for each page. To stop
  3195  // iterating, return false from the fn function.
  3196  //
  3197  // See ListCustomRoutingPortMappings method for more information on how to use this operation.
  3198  //
  3199  // Note: This operation can generate multiple requests to a service.
  3200  //
  3201  //    // Example iterating over at most 3 pages of a ListCustomRoutingPortMappings operation.
  3202  //    pageNum := 0
  3203  //    err := client.ListCustomRoutingPortMappingsPages(params,
  3204  //        func(page *globalaccelerator.ListCustomRoutingPortMappingsOutput, lastPage bool) bool {
  3205  //            pageNum++
  3206  //            fmt.Println(page)
  3207  //            return pageNum <= 3
  3208  //        })
  3209  //
  3210  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsPages(input *ListCustomRoutingPortMappingsInput, fn func(*ListCustomRoutingPortMappingsOutput, bool) bool) error {
  3211  	return c.ListCustomRoutingPortMappingsPagesWithContext(aws.BackgroundContext(), input, fn)
  3212  }
  3213  
  3214  // ListCustomRoutingPortMappingsPagesWithContext same as ListCustomRoutingPortMappingsPages except
  3215  // it takes a Context and allows setting request options on the pages.
  3216  //
  3217  // The context must be non-nil and will be used for request cancellation. If
  3218  // the context is nil a panic will occur. In the future the SDK may create
  3219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3220  // for more information on using Contexts.
  3221  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsPagesWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsInput, fn func(*ListCustomRoutingPortMappingsOutput, bool) bool, opts ...request.Option) error {
  3222  	p := request.Pagination{
  3223  		NewRequest: func() (*request.Request, error) {
  3224  			var inCpy *ListCustomRoutingPortMappingsInput
  3225  			if input != nil {
  3226  				tmp := *input
  3227  				inCpy = &tmp
  3228  			}
  3229  			req, _ := c.ListCustomRoutingPortMappingsRequest(inCpy)
  3230  			req.SetContext(ctx)
  3231  			req.ApplyOptions(opts...)
  3232  			return req, nil
  3233  		},
  3234  	}
  3235  
  3236  	for p.Next() {
  3237  		if !fn(p.Page().(*ListCustomRoutingPortMappingsOutput), !p.HasNextPage()) {
  3238  			break
  3239  		}
  3240  	}
  3241  
  3242  	return p.Err()
  3243  }
  3244  
  3245  const opListCustomRoutingPortMappingsByDestination = "ListCustomRoutingPortMappingsByDestination"
  3246  
  3247  // ListCustomRoutingPortMappingsByDestinationRequest generates a "aws/request.Request" representing the
  3248  // client's request for the ListCustomRoutingPortMappingsByDestination operation. The "output" return
  3249  // value will be populated with the request's response once the request completes
  3250  // successfully.
  3251  //
  3252  // Use "Send" method on the returned Request to send the API call to the service.
  3253  // the "output" return value is not valid until after Send returns without error.
  3254  //
  3255  // See ListCustomRoutingPortMappingsByDestination for more information on using the ListCustomRoutingPortMappingsByDestination
  3256  // API call, and error handling.
  3257  //
  3258  // This method is useful when you want to inject custom logic or configuration
  3259  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3260  //
  3261  //
  3262  //    // Example sending a request using the ListCustomRoutingPortMappingsByDestinationRequest method.
  3263  //    req, resp := client.ListCustomRoutingPortMappingsByDestinationRequest(params)
  3264  //
  3265  //    err := req.Send()
  3266  //    if err == nil { // resp is now filled
  3267  //        fmt.Println(resp)
  3268  //    }
  3269  //
  3270  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsByDestination
  3271  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationRequest(input *ListCustomRoutingPortMappingsByDestinationInput) (req *request.Request, output *ListCustomRoutingPortMappingsByDestinationOutput) {
  3272  	op := &request.Operation{
  3273  		Name:       opListCustomRoutingPortMappingsByDestination,
  3274  		HTTPMethod: "POST",
  3275  		HTTPPath:   "/",
  3276  		Paginator: &request.Paginator{
  3277  			InputTokens:     []string{"NextToken"},
  3278  			OutputTokens:    []string{"NextToken"},
  3279  			LimitToken:      "MaxResults",
  3280  			TruncationToken: "",
  3281  		},
  3282  	}
  3283  
  3284  	if input == nil {
  3285  		input = &ListCustomRoutingPortMappingsByDestinationInput{}
  3286  	}
  3287  
  3288  	output = &ListCustomRoutingPortMappingsByDestinationOutput{}
  3289  	req = c.newRequest(op, input, output)
  3290  	return
  3291  }
  3292  
  3293  // ListCustomRoutingPortMappingsByDestination API operation for AWS Global Accelerator.
  3294  //
  3295  // List the port mappings for a specific EC2 instance (destination) in a VPC
  3296  // subnet endpoint. The response is the mappings for one destination IP address.
  3297  // This is useful when your subnet endpoint has mappings that span multiple
  3298  // custom routing accelerators in your account, or for scenarios where you only
  3299  // want to list the port mappings for a specific destination instance.
  3300  //
  3301  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3302  // with awserr.Error's Code and Message methods to get detailed information about
  3303  // the error.
  3304  //
  3305  // See the AWS API reference guide for AWS Global Accelerator's
  3306  // API operation ListCustomRoutingPortMappingsByDestination for usage and error information.
  3307  //
  3308  // Returned Error Types:
  3309  //   * InvalidArgumentException
  3310  //   An argument that you specified is invalid.
  3311  //
  3312  //   * InvalidNextTokenException
  3313  //   There isn't another item to return.
  3314  //
  3315  //   * EndpointNotFoundException
  3316  //   The endpoint that you specified doesn't exist.
  3317  //
  3318  //   * InternalServiceErrorException
  3319  //   There was an internal error for AWS Global Accelerator.
  3320  //
  3321  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingPortMappingsByDestination
  3322  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestination(input *ListCustomRoutingPortMappingsByDestinationInput) (*ListCustomRoutingPortMappingsByDestinationOutput, error) {
  3323  	req, out := c.ListCustomRoutingPortMappingsByDestinationRequest(input)
  3324  	return out, req.Send()
  3325  }
  3326  
  3327  // ListCustomRoutingPortMappingsByDestinationWithContext is the same as ListCustomRoutingPortMappingsByDestination with the addition of
  3328  // the ability to pass a context and additional request options.
  3329  //
  3330  // See ListCustomRoutingPortMappingsByDestination for details on how to use this API operation.
  3331  //
  3332  // The context must be non-nil and will be used for request cancellation. If
  3333  // the context is nil a panic will occur. In the future the SDK may create
  3334  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3335  // for more information on using Contexts.
  3336  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsByDestinationInput, opts ...request.Option) (*ListCustomRoutingPortMappingsByDestinationOutput, error) {
  3337  	req, out := c.ListCustomRoutingPortMappingsByDestinationRequest(input)
  3338  	req.SetContext(ctx)
  3339  	req.ApplyOptions(opts...)
  3340  	return out, req.Send()
  3341  }
  3342  
  3343  // ListCustomRoutingPortMappingsByDestinationPages iterates over the pages of a ListCustomRoutingPortMappingsByDestination operation,
  3344  // calling the "fn" function with the response data for each page. To stop
  3345  // iterating, return false from the fn function.
  3346  //
  3347  // See ListCustomRoutingPortMappingsByDestination method for more information on how to use this operation.
  3348  //
  3349  // Note: This operation can generate multiple requests to a service.
  3350  //
  3351  //    // Example iterating over at most 3 pages of a ListCustomRoutingPortMappingsByDestination operation.
  3352  //    pageNum := 0
  3353  //    err := client.ListCustomRoutingPortMappingsByDestinationPages(params,
  3354  //        func(page *globalaccelerator.ListCustomRoutingPortMappingsByDestinationOutput, lastPage bool) bool {
  3355  //            pageNum++
  3356  //            fmt.Println(page)
  3357  //            return pageNum <= 3
  3358  //        })
  3359  //
  3360  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationPages(input *ListCustomRoutingPortMappingsByDestinationInput, fn func(*ListCustomRoutingPortMappingsByDestinationOutput, bool) bool) error {
  3361  	return c.ListCustomRoutingPortMappingsByDestinationPagesWithContext(aws.BackgroundContext(), input, fn)
  3362  }
  3363  
  3364  // ListCustomRoutingPortMappingsByDestinationPagesWithContext same as ListCustomRoutingPortMappingsByDestinationPages except
  3365  // it takes a Context and allows setting request options on the pages.
  3366  //
  3367  // The context must be non-nil and will be used for request cancellation. If
  3368  // the context is nil a panic will occur. In the future the SDK may create
  3369  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3370  // for more information on using Contexts.
  3371  func (c *GlobalAccelerator) ListCustomRoutingPortMappingsByDestinationPagesWithContext(ctx aws.Context, input *ListCustomRoutingPortMappingsByDestinationInput, fn func(*ListCustomRoutingPortMappingsByDestinationOutput, bool) bool, opts ...request.Option) error {
  3372  	p := request.Pagination{
  3373  		NewRequest: func() (*request.Request, error) {
  3374  			var inCpy *ListCustomRoutingPortMappingsByDestinationInput
  3375  			if input != nil {
  3376  				tmp := *input
  3377  				inCpy = &tmp
  3378  			}
  3379  			req, _ := c.ListCustomRoutingPortMappingsByDestinationRequest(inCpy)
  3380  			req.SetContext(ctx)
  3381  			req.ApplyOptions(opts...)
  3382  			return req, nil
  3383  		},
  3384  	}
  3385  
  3386  	for p.Next() {
  3387  		if !fn(p.Page().(*ListCustomRoutingPortMappingsByDestinationOutput), !p.HasNextPage()) {
  3388  			break
  3389  		}
  3390  	}
  3391  
  3392  	return p.Err()
  3393  }
  3394  
  3395  const opListEndpointGroups = "ListEndpointGroups"
  3396  
  3397  // ListEndpointGroupsRequest generates a "aws/request.Request" representing the
  3398  // client's request for the ListEndpointGroups operation. The "output" return
  3399  // value will be populated with the request's response once the request completes
  3400  // successfully.
  3401  //
  3402  // Use "Send" method on the returned Request to send the API call to the service.
  3403  // the "output" return value is not valid until after Send returns without error.
  3404  //
  3405  // See ListEndpointGroups for more information on using the ListEndpointGroups
  3406  // API call, and error handling.
  3407  //
  3408  // This method is useful when you want to inject custom logic or configuration
  3409  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3410  //
  3411  //
  3412  //    // Example sending a request using the ListEndpointGroupsRequest method.
  3413  //    req, resp := client.ListEndpointGroupsRequest(params)
  3414  //
  3415  //    err := req.Send()
  3416  //    if err == nil { // resp is now filled
  3417  //        fmt.Println(resp)
  3418  //    }
  3419  //
  3420  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups
  3421  func (c *GlobalAccelerator) ListEndpointGroupsRequest(input *ListEndpointGroupsInput) (req *request.Request, output *ListEndpointGroupsOutput) {
  3422  	op := &request.Operation{
  3423  		Name:       opListEndpointGroups,
  3424  		HTTPMethod: "POST",
  3425  		HTTPPath:   "/",
  3426  		Paginator: &request.Paginator{
  3427  			InputTokens:     []string{"NextToken"},
  3428  			OutputTokens:    []string{"NextToken"},
  3429  			LimitToken:      "MaxResults",
  3430  			TruncationToken: "",
  3431  		},
  3432  	}
  3433  
  3434  	if input == nil {
  3435  		input = &ListEndpointGroupsInput{}
  3436  	}
  3437  
  3438  	output = &ListEndpointGroupsOutput{}
  3439  	req = c.newRequest(op, input, output)
  3440  	return
  3441  }
  3442  
  3443  // ListEndpointGroups API operation for AWS Global Accelerator.
  3444  //
  3445  // List the endpoint groups that are associated with a listener.
  3446  //
  3447  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3448  // with awserr.Error's Code and Message methods to get detailed information about
  3449  // the error.
  3450  //
  3451  // See the AWS API reference guide for AWS Global Accelerator's
  3452  // API operation ListEndpointGroups for usage and error information.
  3453  //
  3454  // Returned Error Types:
  3455  //   * ListenerNotFoundException
  3456  //   The listener that you specified doesn't exist.
  3457  //
  3458  //   * InvalidNextTokenException
  3459  //   There isn't another item to return.
  3460  //
  3461  //   * InvalidArgumentException
  3462  //   An argument that you specified is invalid.
  3463  //
  3464  //   * InternalServiceErrorException
  3465  //   There was an internal error for AWS Global Accelerator.
  3466  //
  3467  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups
  3468  func (c *GlobalAccelerator) ListEndpointGroups(input *ListEndpointGroupsInput) (*ListEndpointGroupsOutput, error) {
  3469  	req, out := c.ListEndpointGroupsRequest(input)
  3470  	return out, req.Send()
  3471  }
  3472  
  3473  // ListEndpointGroupsWithContext is the same as ListEndpointGroups with the addition of
  3474  // the ability to pass a context and additional request options.
  3475  //
  3476  // See ListEndpointGroups for details on how to use this API operation.
  3477  //
  3478  // The context must be non-nil and will be used for request cancellation. If
  3479  // the context is nil a panic will occur. In the future the SDK may create
  3480  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3481  // for more information on using Contexts.
  3482  func (c *GlobalAccelerator) ListEndpointGroupsWithContext(ctx aws.Context, input *ListEndpointGroupsInput, opts ...request.Option) (*ListEndpointGroupsOutput, error) {
  3483  	req, out := c.ListEndpointGroupsRequest(input)
  3484  	req.SetContext(ctx)
  3485  	req.ApplyOptions(opts...)
  3486  	return out, req.Send()
  3487  }
  3488  
  3489  // ListEndpointGroupsPages iterates over the pages of a ListEndpointGroups operation,
  3490  // calling the "fn" function with the response data for each page. To stop
  3491  // iterating, return false from the fn function.
  3492  //
  3493  // See ListEndpointGroups method for more information on how to use this operation.
  3494  //
  3495  // Note: This operation can generate multiple requests to a service.
  3496  //
  3497  //    // Example iterating over at most 3 pages of a ListEndpointGroups operation.
  3498  //    pageNum := 0
  3499  //    err := client.ListEndpointGroupsPages(params,
  3500  //        func(page *globalaccelerator.ListEndpointGroupsOutput, lastPage bool) bool {
  3501  //            pageNum++
  3502  //            fmt.Println(page)
  3503  //            return pageNum <= 3
  3504  //        })
  3505  //
  3506  func (c *GlobalAccelerator) ListEndpointGroupsPages(input *ListEndpointGroupsInput, fn func(*ListEndpointGroupsOutput, bool) bool) error {
  3507  	return c.ListEndpointGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  3508  }
  3509  
  3510  // ListEndpointGroupsPagesWithContext same as ListEndpointGroupsPages except
  3511  // it takes a Context and allows setting request options on the pages.
  3512  //
  3513  // The context must be non-nil and will be used for request cancellation. If
  3514  // the context is nil a panic will occur. In the future the SDK may create
  3515  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3516  // for more information on using Contexts.
  3517  func (c *GlobalAccelerator) ListEndpointGroupsPagesWithContext(ctx aws.Context, input *ListEndpointGroupsInput, fn func(*ListEndpointGroupsOutput, bool) bool, opts ...request.Option) error {
  3518  	p := request.Pagination{
  3519  		NewRequest: func() (*request.Request, error) {
  3520  			var inCpy *ListEndpointGroupsInput
  3521  			if input != nil {
  3522  				tmp := *input
  3523  				inCpy = &tmp
  3524  			}
  3525  			req, _ := c.ListEndpointGroupsRequest(inCpy)
  3526  			req.SetContext(ctx)
  3527  			req.ApplyOptions(opts...)
  3528  			return req, nil
  3529  		},
  3530  	}
  3531  
  3532  	for p.Next() {
  3533  		if !fn(p.Page().(*ListEndpointGroupsOutput), !p.HasNextPage()) {
  3534  			break
  3535  		}
  3536  	}
  3537  
  3538  	return p.Err()
  3539  }
  3540  
  3541  const opListListeners = "ListListeners"
  3542  
  3543  // ListListenersRequest generates a "aws/request.Request" representing the
  3544  // client's request for the ListListeners operation. The "output" return
  3545  // value will be populated with the request's response once the request completes
  3546  // successfully.
  3547  //
  3548  // Use "Send" method on the returned Request to send the API call to the service.
  3549  // the "output" return value is not valid until after Send returns without error.
  3550  //
  3551  // See ListListeners for more information on using the ListListeners
  3552  // API call, and error handling.
  3553  //
  3554  // This method is useful when you want to inject custom logic or configuration
  3555  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3556  //
  3557  //
  3558  //    // Example sending a request using the ListListenersRequest method.
  3559  //    req, resp := client.ListListenersRequest(params)
  3560  //
  3561  //    err := req.Send()
  3562  //    if err == nil { // resp is now filled
  3563  //        fmt.Println(resp)
  3564  //    }
  3565  //
  3566  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners
  3567  func (c *GlobalAccelerator) ListListenersRequest(input *ListListenersInput) (req *request.Request, output *ListListenersOutput) {
  3568  	op := &request.Operation{
  3569  		Name:       opListListeners,
  3570  		HTTPMethod: "POST",
  3571  		HTTPPath:   "/",
  3572  		Paginator: &request.Paginator{
  3573  			InputTokens:     []string{"NextToken"},
  3574  			OutputTokens:    []string{"NextToken"},
  3575  			LimitToken:      "MaxResults",
  3576  			TruncationToken: "",
  3577  		},
  3578  	}
  3579  
  3580  	if input == nil {
  3581  		input = &ListListenersInput{}
  3582  	}
  3583  
  3584  	output = &ListListenersOutput{}
  3585  	req = c.newRequest(op, input, output)
  3586  	return
  3587  }
  3588  
  3589  // ListListeners API operation for AWS Global Accelerator.
  3590  //
  3591  // List the listeners for an accelerator.
  3592  //
  3593  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3594  // with awserr.Error's Code and Message methods to get detailed information about
  3595  // the error.
  3596  //
  3597  // See the AWS API reference guide for AWS Global Accelerator's
  3598  // API operation ListListeners for usage and error information.
  3599  //
  3600  // Returned Error Types:
  3601  //   * InvalidArgumentException
  3602  //   An argument that you specified is invalid.
  3603  //
  3604  //   * AcceleratorNotFoundException
  3605  //   The accelerator that you specified doesn't exist.
  3606  //
  3607  //   * InvalidNextTokenException
  3608  //   There isn't another item to return.
  3609  //
  3610  //   * InternalServiceErrorException
  3611  //   There was an internal error for AWS Global Accelerator.
  3612  //
  3613  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners
  3614  func (c *GlobalAccelerator) ListListeners(input *ListListenersInput) (*ListListenersOutput, error) {
  3615  	req, out := c.ListListenersRequest(input)
  3616  	return out, req.Send()
  3617  }
  3618  
  3619  // ListListenersWithContext is the same as ListListeners with the addition of
  3620  // the ability to pass a context and additional request options.
  3621  //
  3622  // See ListListeners for details on how to use this API operation.
  3623  //
  3624  // The context must be non-nil and will be used for request cancellation. If
  3625  // the context is nil a panic will occur. In the future the SDK may create
  3626  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3627  // for more information on using Contexts.
  3628  func (c *GlobalAccelerator) ListListenersWithContext(ctx aws.Context, input *ListListenersInput, opts ...request.Option) (*ListListenersOutput, error) {
  3629  	req, out := c.ListListenersRequest(input)
  3630  	req.SetContext(ctx)
  3631  	req.ApplyOptions(opts...)
  3632  	return out, req.Send()
  3633  }
  3634  
  3635  // ListListenersPages iterates over the pages of a ListListeners operation,
  3636  // calling the "fn" function with the response data for each page. To stop
  3637  // iterating, return false from the fn function.
  3638  //
  3639  // See ListListeners method for more information on how to use this operation.
  3640  //
  3641  // Note: This operation can generate multiple requests to a service.
  3642  //
  3643  //    // Example iterating over at most 3 pages of a ListListeners operation.
  3644  //    pageNum := 0
  3645  //    err := client.ListListenersPages(params,
  3646  //        func(page *globalaccelerator.ListListenersOutput, lastPage bool) bool {
  3647  //            pageNum++
  3648  //            fmt.Println(page)
  3649  //            return pageNum <= 3
  3650  //        })
  3651  //
  3652  func (c *GlobalAccelerator) ListListenersPages(input *ListListenersInput, fn func(*ListListenersOutput, bool) bool) error {
  3653  	return c.ListListenersPagesWithContext(aws.BackgroundContext(), input, fn)
  3654  }
  3655  
  3656  // ListListenersPagesWithContext same as ListListenersPages except
  3657  // it takes a Context and allows setting request options on the pages.
  3658  //
  3659  // The context must be non-nil and will be used for request cancellation. If
  3660  // the context is nil a panic will occur. In the future the SDK may create
  3661  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3662  // for more information on using Contexts.
  3663  func (c *GlobalAccelerator) ListListenersPagesWithContext(ctx aws.Context, input *ListListenersInput, fn func(*ListListenersOutput, bool) bool, opts ...request.Option) error {
  3664  	p := request.Pagination{
  3665  		NewRequest: func() (*request.Request, error) {
  3666  			var inCpy *ListListenersInput
  3667  			if input != nil {
  3668  				tmp := *input
  3669  				inCpy = &tmp
  3670  			}
  3671  			req, _ := c.ListListenersRequest(inCpy)
  3672  			req.SetContext(ctx)
  3673  			req.ApplyOptions(opts...)
  3674  			return req, nil
  3675  		},
  3676  	}
  3677  
  3678  	for p.Next() {
  3679  		if !fn(p.Page().(*ListListenersOutput), !p.HasNextPage()) {
  3680  			break
  3681  		}
  3682  	}
  3683  
  3684  	return p.Err()
  3685  }
  3686  
  3687  const opListTagsForResource = "ListTagsForResource"
  3688  
  3689  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  3690  // client's request for the ListTagsForResource operation. The "output" return
  3691  // value will be populated with the request's response once the request completes
  3692  // successfully.
  3693  //
  3694  // Use "Send" method on the returned Request to send the API call to the service.
  3695  // the "output" return value is not valid until after Send returns without error.
  3696  //
  3697  // See ListTagsForResource for more information on using the ListTagsForResource
  3698  // API call, and error handling.
  3699  //
  3700  // This method is useful when you want to inject custom logic or configuration
  3701  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3702  //
  3703  //
  3704  //    // Example sending a request using the ListTagsForResourceRequest method.
  3705  //    req, resp := client.ListTagsForResourceRequest(params)
  3706  //
  3707  //    err := req.Send()
  3708  //    if err == nil { // resp is now filled
  3709  //        fmt.Println(resp)
  3710  //    }
  3711  //
  3712  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListTagsForResource
  3713  func (c *GlobalAccelerator) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  3714  	op := &request.Operation{
  3715  		Name:       opListTagsForResource,
  3716  		HTTPMethod: "POST",
  3717  		HTTPPath:   "/",
  3718  	}
  3719  
  3720  	if input == nil {
  3721  		input = &ListTagsForResourceInput{}
  3722  	}
  3723  
  3724  	output = &ListTagsForResourceOutput{}
  3725  	req = c.newRequest(op, input, output)
  3726  	return
  3727  }
  3728  
  3729  // ListTagsForResource API operation for AWS Global Accelerator.
  3730  //
  3731  // List all tags for an accelerator.
  3732  //
  3733  // For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html)
  3734  // in the AWS Global Accelerator Developer Guide.
  3735  //
  3736  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3737  // with awserr.Error's Code and Message methods to get detailed information about
  3738  // the error.
  3739  //
  3740  // See the AWS API reference guide for AWS Global Accelerator's
  3741  // API operation ListTagsForResource for usage and error information.
  3742  //
  3743  // Returned Error Types:
  3744  //   * AcceleratorNotFoundException
  3745  //   The accelerator that you specified doesn't exist.
  3746  //
  3747  //   * InternalServiceErrorException
  3748  //   There was an internal error for AWS Global Accelerator.
  3749  //
  3750  //   * InvalidArgumentException
  3751  //   An argument that you specified is invalid.
  3752  //
  3753  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListTagsForResource
  3754  func (c *GlobalAccelerator) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  3755  	req, out := c.ListTagsForResourceRequest(input)
  3756  	return out, req.Send()
  3757  }
  3758  
  3759  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  3760  // the ability to pass a context and additional request options.
  3761  //
  3762  // See ListTagsForResource for details on how to use this API operation.
  3763  //
  3764  // The context must be non-nil and will be used for request cancellation. If
  3765  // the context is nil a panic will occur. In the future the SDK may create
  3766  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3767  // for more information on using Contexts.
  3768  func (c *GlobalAccelerator) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  3769  	req, out := c.ListTagsForResourceRequest(input)
  3770  	req.SetContext(ctx)
  3771  	req.ApplyOptions(opts...)
  3772  	return out, req.Send()
  3773  }
  3774  
  3775  const opProvisionByoipCidr = "ProvisionByoipCidr"
  3776  
  3777  // ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
  3778  // client's request for the ProvisionByoipCidr operation. The "output" return
  3779  // value will be populated with the request's response once the request completes
  3780  // successfully.
  3781  //
  3782  // Use "Send" method on the returned Request to send the API call to the service.
  3783  // the "output" return value is not valid until after Send returns without error.
  3784  //
  3785  // See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
  3786  // API call, and error handling.
  3787  //
  3788  // This method is useful when you want to inject custom logic or configuration
  3789  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3790  //
  3791  //
  3792  //    // Example sending a request using the ProvisionByoipCidrRequest method.
  3793  //    req, resp := client.ProvisionByoipCidrRequest(params)
  3794  //
  3795  //    err := req.Send()
  3796  //    if err == nil { // resp is now filled
  3797  //        fmt.Println(resp)
  3798  //    }
  3799  //
  3800  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ProvisionByoipCidr
  3801  func (c *GlobalAccelerator) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
  3802  	op := &request.Operation{
  3803  		Name:       opProvisionByoipCidr,
  3804  		HTTPMethod: "POST",
  3805  		HTTPPath:   "/",
  3806  	}
  3807  
  3808  	if input == nil {
  3809  		input = &ProvisionByoipCidrInput{}
  3810  	}
  3811  
  3812  	output = &ProvisionByoipCidrOutput{}
  3813  	req = c.newRequest(op, input, output)
  3814  	return
  3815  }
  3816  
  3817  // ProvisionByoipCidr API operation for AWS Global Accelerator.
  3818  //
  3819  // Provisions an IP address range to use with your AWS resources through bring
  3820  // your own IP addresses (BYOIP) and creates a corresponding address pool. After
  3821  // the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr
  3822  // (https://docs.aws.amazon.com/global-accelerator/latest/api/AdvertiseByoipCidr.html).
  3823  //
  3824  // For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)
  3825  // in the AWS Global Accelerator Developer Guide.
  3826  //
  3827  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3828  // with awserr.Error's Code and Message methods to get detailed information about
  3829  // the error.
  3830  //
  3831  // See the AWS API reference guide for AWS Global Accelerator's
  3832  // API operation ProvisionByoipCidr for usage and error information.
  3833  //
  3834  // Returned Error Types:
  3835  //   * InternalServiceErrorException
  3836  //   There was an internal error for AWS Global Accelerator.
  3837  //
  3838  //   * InvalidArgumentException
  3839  //   An argument that you specified is invalid.
  3840  //
  3841  //   * LimitExceededException
  3842  //   Processing your request would cause you to exceed an AWS Global Accelerator
  3843  //   limit.
  3844  //
  3845  //   * AccessDeniedException
  3846  //   You don't have access permission.
  3847  //
  3848  //   * IncorrectCidrStateException
  3849  //   The CIDR that you specified is not valid for this action. For example, the
  3850  //   state of the CIDR might be incorrect for this action.
  3851  //
  3852  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ProvisionByoipCidr
  3853  func (c *GlobalAccelerator) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
  3854  	req, out := c.ProvisionByoipCidrRequest(input)
  3855  	return out, req.Send()
  3856  }
  3857  
  3858  // ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
  3859  // the ability to pass a context and additional request options.
  3860  //
  3861  // See ProvisionByoipCidr for details on how to use this API operation.
  3862  //
  3863  // The context must be non-nil and will be used for request cancellation. If
  3864  // the context is nil a panic will occur. In the future the SDK may create
  3865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3866  // for more information on using Contexts.
  3867  func (c *GlobalAccelerator) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
  3868  	req, out := c.ProvisionByoipCidrRequest(input)
  3869  	req.SetContext(ctx)
  3870  	req.ApplyOptions(opts...)
  3871  	return out, req.Send()
  3872  }
  3873  
  3874  const opRemoveCustomRoutingEndpoints = "RemoveCustomRoutingEndpoints"
  3875  
  3876  // RemoveCustomRoutingEndpointsRequest generates a "aws/request.Request" representing the
  3877  // client's request for the RemoveCustomRoutingEndpoints operation. The "output" return
  3878  // value will be populated with the request's response once the request completes
  3879  // successfully.
  3880  //
  3881  // Use "Send" method on the returned Request to send the API call to the service.
  3882  // the "output" return value is not valid until after Send returns without error.
  3883  //
  3884  // See RemoveCustomRoutingEndpoints for more information on using the RemoveCustomRoutingEndpoints
  3885  // API call, and error handling.
  3886  //
  3887  // This method is useful when you want to inject custom logic or configuration
  3888  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3889  //
  3890  //
  3891  //    // Example sending a request using the RemoveCustomRoutingEndpointsRequest method.
  3892  //    req, resp := client.RemoveCustomRoutingEndpointsRequest(params)
  3893  //
  3894  //    err := req.Send()
  3895  //    if err == nil { // resp is now filled
  3896  //        fmt.Println(resp)
  3897  //    }
  3898  //
  3899  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/RemoveCustomRoutingEndpoints
  3900  func (c *GlobalAccelerator) RemoveCustomRoutingEndpointsRequest(input *RemoveCustomRoutingEndpointsInput) (req *request.Request, output *RemoveCustomRoutingEndpointsOutput) {
  3901  	op := &request.Operation{
  3902  		Name:       opRemoveCustomRoutingEndpoints,
  3903  		HTTPMethod: "POST",
  3904  		HTTPPath:   "/",
  3905  	}
  3906  
  3907  	if input == nil {
  3908  		input = &RemoveCustomRoutingEndpointsInput{}
  3909  	}
  3910  
  3911  	output = &RemoveCustomRoutingEndpointsOutput{}
  3912  	req = c.newRequest(op, input, output)
  3913  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3914  	return
  3915  }
  3916  
  3917  // RemoveCustomRoutingEndpoints API operation for AWS Global Accelerator.
  3918  //
  3919  // Remove endpoints from a custom routing accelerator.
  3920  //
  3921  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3922  // with awserr.Error's Code and Message methods to get detailed information about
  3923  // the error.
  3924  //
  3925  // See the AWS API reference guide for AWS Global Accelerator's
  3926  // API operation RemoveCustomRoutingEndpoints for usage and error information.
  3927  //
  3928  // Returned Error Types:
  3929  //   * EndpointGroupNotFoundException
  3930  //   The endpoint group that you specified doesn't exist.
  3931  //
  3932  //   * EndpointNotFoundException
  3933  //   The endpoint that you specified doesn't exist.
  3934  //
  3935  //   * InternalServiceErrorException
  3936  //   There was an internal error for AWS Global Accelerator.
  3937  //
  3938  //   * InvalidArgumentException
  3939  //   An argument that you specified is invalid.
  3940  //
  3941  //   * AccessDeniedException
  3942  //   You don't have access permission.
  3943  //
  3944  //   * ConflictException
  3945  //   You can't use both of those options.
  3946  //
  3947  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/RemoveCustomRoutingEndpoints
  3948  func (c *GlobalAccelerator) RemoveCustomRoutingEndpoints(input *RemoveCustomRoutingEndpointsInput) (*RemoveCustomRoutingEndpointsOutput, error) {
  3949  	req, out := c.RemoveCustomRoutingEndpointsRequest(input)
  3950  	return out, req.Send()
  3951  }
  3952  
  3953  // RemoveCustomRoutingEndpointsWithContext is the same as RemoveCustomRoutingEndpoints with the addition of
  3954  // the ability to pass a context and additional request options.
  3955  //
  3956  // See RemoveCustomRoutingEndpoints for details on how to use this API operation.
  3957  //
  3958  // The context must be non-nil and will be used for request cancellation. If
  3959  // the context is nil a panic will occur. In the future the SDK may create
  3960  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3961  // for more information on using Contexts.
  3962  func (c *GlobalAccelerator) RemoveCustomRoutingEndpointsWithContext(ctx aws.Context, input *RemoveCustomRoutingEndpointsInput, opts ...request.Option) (*RemoveCustomRoutingEndpointsOutput, error) {
  3963  	req, out := c.RemoveCustomRoutingEndpointsRequest(input)
  3964  	req.SetContext(ctx)
  3965  	req.ApplyOptions(opts...)
  3966  	return out, req.Send()
  3967  }
  3968  
  3969  const opTagResource = "TagResource"
  3970  
  3971  // TagResourceRequest generates a "aws/request.Request" representing the
  3972  // client's request for the TagResource operation. The "output" return
  3973  // value will be populated with the request's response once the request completes
  3974  // successfully.
  3975  //
  3976  // Use "Send" method on the returned Request to send the API call to the service.
  3977  // the "output" return value is not valid until after Send returns without error.
  3978  //
  3979  // See TagResource for more information on using the TagResource
  3980  // API call, and error handling.
  3981  //
  3982  // This method is useful when you want to inject custom logic or configuration
  3983  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3984  //
  3985  //
  3986  //    // Example sending a request using the TagResourceRequest method.
  3987  //    req, resp := client.TagResourceRequest(params)
  3988  //
  3989  //    err := req.Send()
  3990  //    if err == nil { // resp is now filled
  3991  //        fmt.Println(resp)
  3992  //    }
  3993  //
  3994  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/TagResource
  3995  func (c *GlobalAccelerator) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3996  	op := &request.Operation{
  3997  		Name:       opTagResource,
  3998  		HTTPMethod: "POST",
  3999  		HTTPPath:   "/",
  4000  	}
  4001  
  4002  	if input == nil {
  4003  		input = &TagResourceInput{}
  4004  	}
  4005  
  4006  	output = &TagResourceOutput{}
  4007  	req = c.newRequest(op, input, output)
  4008  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4009  	return
  4010  }
  4011  
  4012  // TagResource API operation for AWS Global Accelerator.
  4013  //
  4014  // Add tags to an accelerator resource.
  4015  //
  4016  // For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html)
  4017  // in the AWS Global Accelerator Developer Guide.
  4018  //
  4019  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4020  // with awserr.Error's Code and Message methods to get detailed information about
  4021  // the error.
  4022  //
  4023  // See the AWS API reference guide for AWS Global Accelerator's
  4024  // API operation TagResource for usage and error information.
  4025  //
  4026  // Returned Error Types:
  4027  //   * AcceleratorNotFoundException
  4028  //   The accelerator that you specified doesn't exist.
  4029  //
  4030  //   * InternalServiceErrorException
  4031  //   There was an internal error for AWS Global Accelerator.
  4032  //
  4033  //   * InvalidArgumentException
  4034  //   An argument that you specified is invalid.
  4035  //
  4036  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/TagResource
  4037  func (c *GlobalAccelerator) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  4038  	req, out := c.TagResourceRequest(input)
  4039  	return out, req.Send()
  4040  }
  4041  
  4042  // TagResourceWithContext is the same as TagResource with the addition of
  4043  // the ability to pass a context and additional request options.
  4044  //
  4045  // See TagResource for details on how to use this API operation.
  4046  //
  4047  // The context must be non-nil and will be used for request cancellation. If
  4048  // the context is nil a panic will occur. In the future the SDK may create
  4049  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4050  // for more information on using Contexts.
  4051  func (c *GlobalAccelerator) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  4052  	req, out := c.TagResourceRequest(input)
  4053  	req.SetContext(ctx)
  4054  	req.ApplyOptions(opts...)
  4055  	return out, req.Send()
  4056  }
  4057  
  4058  const opUntagResource = "UntagResource"
  4059  
  4060  // UntagResourceRequest generates a "aws/request.Request" representing the
  4061  // client's request for the UntagResource operation. The "output" return
  4062  // value will be populated with the request's response once the request completes
  4063  // successfully.
  4064  //
  4065  // Use "Send" method on the returned Request to send the API call to the service.
  4066  // the "output" return value is not valid until after Send returns without error.
  4067  //
  4068  // See UntagResource for more information on using the UntagResource
  4069  // API call, and error handling.
  4070  //
  4071  // This method is useful when you want to inject custom logic or configuration
  4072  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4073  //
  4074  //
  4075  //    // Example sending a request using the UntagResourceRequest method.
  4076  //    req, resp := client.UntagResourceRequest(params)
  4077  //
  4078  //    err := req.Send()
  4079  //    if err == nil { // resp is now filled
  4080  //        fmt.Println(resp)
  4081  //    }
  4082  //
  4083  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UntagResource
  4084  func (c *GlobalAccelerator) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  4085  	op := &request.Operation{
  4086  		Name:       opUntagResource,
  4087  		HTTPMethod: "POST",
  4088  		HTTPPath:   "/",
  4089  	}
  4090  
  4091  	if input == nil {
  4092  		input = &UntagResourceInput{}
  4093  	}
  4094  
  4095  	output = &UntagResourceOutput{}
  4096  	req = c.newRequest(op, input, output)
  4097  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4098  	return
  4099  }
  4100  
  4101  // UntagResource API operation for AWS Global Accelerator.
  4102  //
  4103  // Remove tags from a Global Accelerator resource. When you specify a tag key,
  4104  // the action removes both that key and its associated value. The operation
  4105  // succeeds even if you attempt to remove tags from an accelerator that was
  4106  // already removed.
  4107  //
  4108  // For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html)
  4109  // in the AWS Global Accelerator Developer Guide.
  4110  //
  4111  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4112  // with awserr.Error's Code and Message methods to get detailed information about
  4113  // the error.
  4114  //
  4115  // See the AWS API reference guide for AWS Global Accelerator's
  4116  // API operation UntagResource for usage and error information.
  4117  //
  4118  // Returned Error Types:
  4119  //   * AcceleratorNotFoundException
  4120  //   The accelerator that you specified doesn't exist.
  4121  //
  4122  //   * InternalServiceErrorException
  4123  //   There was an internal error for AWS Global Accelerator.
  4124  //
  4125  //   * InvalidArgumentException
  4126  //   An argument that you specified is invalid.
  4127  //
  4128  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UntagResource
  4129  func (c *GlobalAccelerator) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  4130  	req, out := c.UntagResourceRequest(input)
  4131  	return out, req.Send()
  4132  }
  4133  
  4134  // UntagResourceWithContext is the same as UntagResource with the addition of
  4135  // the ability to pass a context and additional request options.
  4136  //
  4137  // See UntagResource for details on how to use this API operation.
  4138  //
  4139  // The context must be non-nil and will be used for request cancellation. If
  4140  // the context is nil a panic will occur. In the future the SDK may create
  4141  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4142  // for more information on using Contexts.
  4143  func (c *GlobalAccelerator) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  4144  	req, out := c.UntagResourceRequest(input)
  4145  	req.SetContext(ctx)
  4146  	req.ApplyOptions(opts...)
  4147  	return out, req.Send()
  4148  }
  4149  
  4150  const opUpdateAccelerator = "UpdateAccelerator"
  4151  
  4152  // UpdateAcceleratorRequest generates a "aws/request.Request" representing the
  4153  // client's request for the UpdateAccelerator operation. The "output" return
  4154  // value will be populated with the request's response once the request completes
  4155  // successfully.
  4156  //
  4157  // Use "Send" method on the returned Request to send the API call to the service.
  4158  // the "output" return value is not valid until after Send returns without error.
  4159  //
  4160  // See UpdateAccelerator for more information on using the UpdateAccelerator
  4161  // API call, and error handling.
  4162  //
  4163  // This method is useful when you want to inject custom logic or configuration
  4164  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4165  //
  4166  //
  4167  //    // Example sending a request using the UpdateAcceleratorRequest method.
  4168  //    req, resp := client.UpdateAcceleratorRequest(params)
  4169  //
  4170  //    err := req.Send()
  4171  //    if err == nil { // resp is now filled
  4172  //        fmt.Println(resp)
  4173  //    }
  4174  //
  4175  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator
  4176  func (c *GlobalAccelerator) UpdateAcceleratorRequest(input *UpdateAcceleratorInput) (req *request.Request, output *UpdateAcceleratorOutput) {
  4177  	op := &request.Operation{
  4178  		Name:       opUpdateAccelerator,
  4179  		HTTPMethod: "POST",
  4180  		HTTPPath:   "/",
  4181  	}
  4182  
  4183  	if input == nil {
  4184  		input = &UpdateAcceleratorInput{}
  4185  	}
  4186  
  4187  	output = &UpdateAcceleratorOutput{}
  4188  	req = c.newRequest(op, input, output)
  4189  	return
  4190  }
  4191  
  4192  // UpdateAccelerator API operation for AWS Global Accelerator.
  4193  //
  4194  // Update an accelerator.
  4195  //
  4196  // Global Accelerator is a global service that supports endpoints in multiple
  4197  // AWS Regions but you must specify the US West (Oregon) Region to create or
  4198  // update accelerators.
  4199  //
  4200  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4201  // with awserr.Error's Code and Message methods to get detailed information about
  4202  // the error.
  4203  //
  4204  // See the AWS API reference guide for AWS Global Accelerator's
  4205  // API operation UpdateAccelerator for usage and error information.
  4206  //
  4207  // Returned Error Types:
  4208  //   * AcceleratorNotFoundException
  4209  //   The accelerator that you specified doesn't exist.
  4210  //
  4211  //   * InternalServiceErrorException
  4212  //   There was an internal error for AWS Global Accelerator.
  4213  //
  4214  //   * InvalidArgumentException
  4215  //   An argument that you specified is invalid.
  4216  //
  4217  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator
  4218  func (c *GlobalAccelerator) UpdateAccelerator(input *UpdateAcceleratorInput) (*UpdateAcceleratorOutput, error) {
  4219  	req, out := c.UpdateAcceleratorRequest(input)
  4220  	return out, req.Send()
  4221  }
  4222  
  4223  // UpdateAcceleratorWithContext is the same as UpdateAccelerator with the addition of
  4224  // the ability to pass a context and additional request options.
  4225  //
  4226  // See UpdateAccelerator for details on how to use this API operation.
  4227  //
  4228  // The context must be non-nil and will be used for request cancellation. If
  4229  // the context is nil a panic will occur. In the future the SDK may create
  4230  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4231  // for more information on using Contexts.
  4232  func (c *GlobalAccelerator) UpdateAcceleratorWithContext(ctx aws.Context, input *UpdateAcceleratorInput, opts ...request.Option) (*UpdateAcceleratorOutput, error) {
  4233  	req, out := c.UpdateAcceleratorRequest(input)
  4234  	req.SetContext(ctx)
  4235  	req.ApplyOptions(opts...)
  4236  	return out, req.Send()
  4237  }
  4238  
  4239  const opUpdateAcceleratorAttributes = "UpdateAcceleratorAttributes"
  4240  
  4241  // UpdateAcceleratorAttributesRequest generates a "aws/request.Request" representing the
  4242  // client's request for the UpdateAcceleratorAttributes operation. The "output" return
  4243  // value will be populated with the request's response once the request completes
  4244  // successfully.
  4245  //
  4246  // Use "Send" method on the returned Request to send the API call to the service.
  4247  // the "output" return value is not valid until after Send returns without error.
  4248  //
  4249  // See UpdateAcceleratorAttributes for more information on using the UpdateAcceleratorAttributes
  4250  // API call, and error handling.
  4251  //
  4252  // This method is useful when you want to inject custom logic or configuration
  4253  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4254  //
  4255  //
  4256  //    // Example sending a request using the UpdateAcceleratorAttributesRequest method.
  4257  //    req, resp := client.UpdateAcceleratorAttributesRequest(params)
  4258  //
  4259  //    err := req.Send()
  4260  //    if err == nil { // resp is now filled
  4261  //        fmt.Println(resp)
  4262  //    }
  4263  //
  4264  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes
  4265  func (c *GlobalAccelerator) UpdateAcceleratorAttributesRequest(input *UpdateAcceleratorAttributesInput) (req *request.Request, output *UpdateAcceleratorAttributesOutput) {
  4266  	op := &request.Operation{
  4267  		Name:       opUpdateAcceleratorAttributes,
  4268  		HTTPMethod: "POST",
  4269  		HTTPPath:   "/",
  4270  	}
  4271  
  4272  	if input == nil {
  4273  		input = &UpdateAcceleratorAttributesInput{}
  4274  	}
  4275  
  4276  	output = &UpdateAcceleratorAttributesOutput{}
  4277  	req = c.newRequest(op, input, output)
  4278  	return
  4279  }
  4280  
  4281  // UpdateAcceleratorAttributes API operation for AWS Global Accelerator.
  4282  //
  4283  // Update the attributes for an accelerator.
  4284  //
  4285  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4286  // with awserr.Error's Code and Message methods to get detailed information about
  4287  // the error.
  4288  //
  4289  // See the AWS API reference guide for AWS Global Accelerator's
  4290  // API operation UpdateAcceleratorAttributes for usage and error information.
  4291  //
  4292  // Returned Error Types:
  4293  //   * AcceleratorNotFoundException
  4294  //   The accelerator that you specified doesn't exist.
  4295  //
  4296  //   * InternalServiceErrorException
  4297  //   There was an internal error for AWS Global Accelerator.
  4298  //
  4299  //   * InvalidArgumentException
  4300  //   An argument that you specified is invalid.
  4301  //
  4302  //   * AccessDeniedException
  4303  //   You don't have access permission.
  4304  //
  4305  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes
  4306  func (c *GlobalAccelerator) UpdateAcceleratorAttributes(input *UpdateAcceleratorAttributesInput) (*UpdateAcceleratorAttributesOutput, error) {
  4307  	req, out := c.UpdateAcceleratorAttributesRequest(input)
  4308  	return out, req.Send()
  4309  }
  4310  
  4311  // UpdateAcceleratorAttributesWithContext is the same as UpdateAcceleratorAttributes with the addition of
  4312  // the ability to pass a context and additional request options.
  4313  //
  4314  // See UpdateAcceleratorAttributes for details on how to use this API operation.
  4315  //
  4316  // The context must be non-nil and will be used for request cancellation. If
  4317  // the context is nil a panic will occur. In the future the SDK may create
  4318  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4319  // for more information on using Contexts.
  4320  func (c *GlobalAccelerator) UpdateAcceleratorAttributesWithContext(ctx aws.Context, input *UpdateAcceleratorAttributesInput, opts ...request.Option) (*UpdateAcceleratorAttributesOutput, error) {
  4321  	req, out := c.UpdateAcceleratorAttributesRequest(input)
  4322  	req.SetContext(ctx)
  4323  	req.ApplyOptions(opts...)
  4324  	return out, req.Send()
  4325  }
  4326  
  4327  const opUpdateCustomRoutingAccelerator = "UpdateCustomRoutingAccelerator"
  4328  
  4329  // UpdateCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the
  4330  // client's request for the UpdateCustomRoutingAccelerator operation. The "output" return
  4331  // value will be populated with the request's response once the request completes
  4332  // successfully.
  4333  //
  4334  // Use "Send" method on the returned Request to send the API call to the service.
  4335  // the "output" return value is not valid until after Send returns without error.
  4336  //
  4337  // See UpdateCustomRoutingAccelerator for more information on using the UpdateCustomRoutingAccelerator
  4338  // API call, and error handling.
  4339  //
  4340  // This method is useful when you want to inject custom logic or configuration
  4341  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4342  //
  4343  //
  4344  //    // Example sending a request using the UpdateCustomRoutingAcceleratorRequest method.
  4345  //    req, resp := client.UpdateCustomRoutingAcceleratorRequest(params)
  4346  //
  4347  //    err := req.Send()
  4348  //    if err == nil { // resp is now filled
  4349  //        fmt.Println(resp)
  4350  //    }
  4351  //
  4352  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAccelerator
  4353  func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorRequest(input *UpdateCustomRoutingAcceleratorInput) (req *request.Request, output *UpdateCustomRoutingAcceleratorOutput) {
  4354  	op := &request.Operation{
  4355  		Name:       opUpdateCustomRoutingAccelerator,
  4356  		HTTPMethod: "POST",
  4357  		HTTPPath:   "/",
  4358  	}
  4359  
  4360  	if input == nil {
  4361  		input = &UpdateCustomRoutingAcceleratorInput{}
  4362  	}
  4363  
  4364  	output = &UpdateCustomRoutingAcceleratorOutput{}
  4365  	req = c.newRequest(op, input, output)
  4366  	return
  4367  }
  4368  
  4369  // UpdateCustomRoutingAccelerator API operation for AWS Global Accelerator.
  4370  //
  4371  // Update a custom routing accelerator.
  4372  //
  4373  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4374  // with awserr.Error's Code and Message methods to get detailed information about
  4375  // the error.
  4376  //
  4377  // See the AWS API reference guide for AWS Global Accelerator's
  4378  // API operation UpdateCustomRoutingAccelerator for usage and error information.
  4379  //
  4380  // Returned Error Types:
  4381  //   * AcceleratorNotFoundException
  4382  //   The accelerator that you specified doesn't exist.
  4383  //
  4384  //   * InternalServiceErrorException
  4385  //   There was an internal error for AWS Global Accelerator.
  4386  //
  4387  //   * InvalidArgumentException
  4388  //   An argument that you specified is invalid.
  4389  //
  4390  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAccelerator
  4391  func (c *GlobalAccelerator) UpdateCustomRoutingAccelerator(input *UpdateCustomRoutingAcceleratorInput) (*UpdateCustomRoutingAcceleratorOutput, error) {
  4392  	req, out := c.UpdateCustomRoutingAcceleratorRequest(input)
  4393  	return out, req.Send()
  4394  }
  4395  
  4396  // UpdateCustomRoutingAcceleratorWithContext is the same as UpdateCustomRoutingAccelerator with the addition of
  4397  // the ability to pass a context and additional request options.
  4398  //
  4399  // See UpdateCustomRoutingAccelerator for details on how to use this API operation.
  4400  //
  4401  // The context must be non-nil and will be used for request cancellation. If
  4402  // the context is nil a panic will occur. In the future the SDK may create
  4403  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4404  // for more information on using Contexts.
  4405  func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorWithContext(ctx aws.Context, input *UpdateCustomRoutingAcceleratorInput, opts ...request.Option) (*UpdateCustomRoutingAcceleratorOutput, error) {
  4406  	req, out := c.UpdateCustomRoutingAcceleratorRequest(input)
  4407  	req.SetContext(ctx)
  4408  	req.ApplyOptions(opts...)
  4409  	return out, req.Send()
  4410  }
  4411  
  4412  const opUpdateCustomRoutingAcceleratorAttributes = "UpdateCustomRoutingAcceleratorAttributes"
  4413  
  4414  // UpdateCustomRoutingAcceleratorAttributesRequest generates a "aws/request.Request" representing the
  4415  // client's request for the UpdateCustomRoutingAcceleratorAttributes operation. The "output" return
  4416  // value will be populated with the request's response once the request completes
  4417  // successfully.
  4418  //
  4419  // Use "Send" method on the returned Request to send the API call to the service.
  4420  // the "output" return value is not valid until after Send returns without error.
  4421  //
  4422  // See UpdateCustomRoutingAcceleratorAttributes for more information on using the UpdateCustomRoutingAcceleratorAttributes
  4423  // API call, and error handling.
  4424  //
  4425  // This method is useful when you want to inject custom logic or configuration
  4426  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4427  //
  4428  //
  4429  //    // Example sending a request using the UpdateCustomRoutingAcceleratorAttributesRequest method.
  4430  //    req, resp := client.UpdateCustomRoutingAcceleratorAttributesRequest(params)
  4431  //
  4432  //    err := req.Send()
  4433  //    if err == nil { // resp is now filled
  4434  //        fmt.Println(resp)
  4435  //    }
  4436  //
  4437  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorAttributes
  4438  func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorAttributesRequest(input *UpdateCustomRoutingAcceleratorAttributesInput) (req *request.Request, output *UpdateCustomRoutingAcceleratorAttributesOutput) {
  4439  	op := &request.Operation{
  4440  		Name:       opUpdateCustomRoutingAcceleratorAttributes,
  4441  		HTTPMethod: "POST",
  4442  		HTTPPath:   "/",
  4443  	}
  4444  
  4445  	if input == nil {
  4446  		input = &UpdateCustomRoutingAcceleratorAttributesInput{}
  4447  	}
  4448  
  4449  	output = &UpdateCustomRoutingAcceleratorAttributesOutput{}
  4450  	req = c.newRequest(op, input, output)
  4451  	return
  4452  }
  4453  
  4454  // UpdateCustomRoutingAcceleratorAttributes API operation for AWS Global Accelerator.
  4455  //
  4456  // Update the attributes for a custom routing accelerator.
  4457  //
  4458  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4459  // with awserr.Error's Code and Message methods to get detailed information about
  4460  // the error.
  4461  //
  4462  // See the AWS API reference guide for AWS Global Accelerator's
  4463  // API operation UpdateCustomRoutingAcceleratorAttributes for usage and error information.
  4464  //
  4465  // Returned Error Types:
  4466  //   * AcceleratorNotFoundException
  4467  //   The accelerator that you specified doesn't exist.
  4468  //
  4469  //   * InternalServiceErrorException
  4470  //   There was an internal error for AWS Global Accelerator.
  4471  //
  4472  //   * InvalidArgumentException
  4473  //   An argument that you specified is invalid.
  4474  //
  4475  //   * AccessDeniedException
  4476  //   You don't have access permission.
  4477  //
  4478  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingAcceleratorAttributes
  4479  func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorAttributes(input *UpdateCustomRoutingAcceleratorAttributesInput) (*UpdateCustomRoutingAcceleratorAttributesOutput, error) {
  4480  	req, out := c.UpdateCustomRoutingAcceleratorAttributesRequest(input)
  4481  	return out, req.Send()
  4482  }
  4483  
  4484  // UpdateCustomRoutingAcceleratorAttributesWithContext is the same as UpdateCustomRoutingAcceleratorAttributes with the addition of
  4485  // the ability to pass a context and additional request options.
  4486  //
  4487  // See UpdateCustomRoutingAcceleratorAttributes for details on how to use this API operation.
  4488  //
  4489  // The context must be non-nil and will be used for request cancellation. If
  4490  // the context is nil a panic will occur. In the future the SDK may create
  4491  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4492  // for more information on using Contexts.
  4493  func (c *GlobalAccelerator) UpdateCustomRoutingAcceleratorAttributesWithContext(ctx aws.Context, input *UpdateCustomRoutingAcceleratorAttributesInput, opts ...request.Option) (*UpdateCustomRoutingAcceleratorAttributesOutput, error) {
  4494  	req, out := c.UpdateCustomRoutingAcceleratorAttributesRequest(input)
  4495  	req.SetContext(ctx)
  4496  	req.ApplyOptions(opts...)
  4497  	return out, req.Send()
  4498  }
  4499  
  4500  const opUpdateCustomRoutingListener = "UpdateCustomRoutingListener"
  4501  
  4502  // UpdateCustomRoutingListenerRequest generates a "aws/request.Request" representing the
  4503  // client's request for the UpdateCustomRoutingListener operation. The "output" return
  4504  // value will be populated with the request's response once the request completes
  4505  // successfully.
  4506  //
  4507  // Use "Send" method on the returned Request to send the API call to the service.
  4508  // the "output" return value is not valid until after Send returns without error.
  4509  //
  4510  // See UpdateCustomRoutingListener for more information on using the UpdateCustomRoutingListener
  4511  // API call, and error handling.
  4512  //
  4513  // This method is useful when you want to inject custom logic or configuration
  4514  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4515  //
  4516  //
  4517  //    // Example sending a request using the UpdateCustomRoutingListenerRequest method.
  4518  //    req, resp := client.UpdateCustomRoutingListenerRequest(params)
  4519  //
  4520  //    err := req.Send()
  4521  //    if err == nil { // resp is now filled
  4522  //        fmt.Println(resp)
  4523  //    }
  4524  //
  4525  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingListener
  4526  func (c *GlobalAccelerator) UpdateCustomRoutingListenerRequest(input *UpdateCustomRoutingListenerInput) (req *request.Request, output *UpdateCustomRoutingListenerOutput) {
  4527  	op := &request.Operation{
  4528  		Name:       opUpdateCustomRoutingListener,
  4529  		HTTPMethod: "POST",
  4530  		HTTPPath:   "/",
  4531  	}
  4532  
  4533  	if input == nil {
  4534  		input = &UpdateCustomRoutingListenerInput{}
  4535  	}
  4536  
  4537  	output = &UpdateCustomRoutingListenerOutput{}
  4538  	req = c.newRequest(op, input, output)
  4539  	return
  4540  }
  4541  
  4542  // UpdateCustomRoutingListener API operation for AWS Global Accelerator.
  4543  //
  4544  // Update a listener for a custom routing accelerator.
  4545  //
  4546  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4547  // with awserr.Error's Code and Message methods to get detailed information about
  4548  // the error.
  4549  //
  4550  // See the AWS API reference guide for AWS Global Accelerator's
  4551  // API operation UpdateCustomRoutingListener for usage and error information.
  4552  //
  4553  // Returned Error Types:
  4554  //   * InvalidArgumentException
  4555  //   An argument that you specified is invalid.
  4556  //
  4557  //   * InvalidPortRangeException
  4558  //   The port numbers that you specified are not valid numbers or are not unique
  4559  //   for this accelerator.
  4560  //
  4561  //   * ListenerNotFoundException
  4562  //   The listener that you specified doesn't exist.
  4563  //
  4564  //   * InternalServiceErrorException
  4565  //   There was an internal error for AWS Global Accelerator.
  4566  //
  4567  //   * LimitExceededException
  4568  //   Processing your request would cause you to exceed an AWS Global Accelerator
  4569  //   limit.
  4570  //
  4571  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCustomRoutingListener
  4572  func (c *GlobalAccelerator) UpdateCustomRoutingListener(input *UpdateCustomRoutingListenerInput) (*UpdateCustomRoutingListenerOutput, error) {
  4573  	req, out := c.UpdateCustomRoutingListenerRequest(input)
  4574  	return out, req.Send()
  4575  }
  4576  
  4577  // UpdateCustomRoutingListenerWithContext is the same as UpdateCustomRoutingListener with the addition of
  4578  // the ability to pass a context and additional request options.
  4579  //
  4580  // See UpdateCustomRoutingListener for details on how to use this API operation.
  4581  //
  4582  // The context must be non-nil and will be used for request cancellation. If
  4583  // the context is nil a panic will occur. In the future the SDK may create
  4584  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4585  // for more information on using Contexts.
  4586  func (c *GlobalAccelerator) UpdateCustomRoutingListenerWithContext(ctx aws.Context, input *UpdateCustomRoutingListenerInput, opts ...request.Option) (*UpdateCustomRoutingListenerOutput, error) {
  4587  	req, out := c.UpdateCustomRoutingListenerRequest(input)
  4588  	req.SetContext(ctx)
  4589  	req.ApplyOptions(opts...)
  4590  	return out, req.Send()
  4591  }
  4592  
  4593  const opUpdateEndpointGroup = "UpdateEndpointGroup"
  4594  
  4595  // UpdateEndpointGroupRequest generates a "aws/request.Request" representing the
  4596  // client's request for the UpdateEndpointGroup operation. The "output" return
  4597  // value will be populated with the request's response once the request completes
  4598  // successfully.
  4599  //
  4600  // Use "Send" method on the returned Request to send the API call to the service.
  4601  // the "output" return value is not valid until after Send returns without error.
  4602  //
  4603  // See UpdateEndpointGroup for more information on using the UpdateEndpointGroup
  4604  // API call, and error handling.
  4605  //
  4606  // This method is useful when you want to inject custom logic or configuration
  4607  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4608  //
  4609  //
  4610  //    // Example sending a request using the UpdateEndpointGroupRequest method.
  4611  //    req, resp := client.UpdateEndpointGroupRequest(params)
  4612  //
  4613  //    err := req.Send()
  4614  //    if err == nil { // resp is now filled
  4615  //        fmt.Println(resp)
  4616  //    }
  4617  //
  4618  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup
  4619  func (c *GlobalAccelerator) UpdateEndpointGroupRequest(input *UpdateEndpointGroupInput) (req *request.Request, output *UpdateEndpointGroupOutput) {
  4620  	op := &request.Operation{
  4621  		Name:       opUpdateEndpointGroup,
  4622  		HTTPMethod: "POST",
  4623  		HTTPPath:   "/",
  4624  	}
  4625  
  4626  	if input == nil {
  4627  		input = &UpdateEndpointGroupInput{}
  4628  	}
  4629  
  4630  	output = &UpdateEndpointGroupOutput{}
  4631  	req = c.newRequest(op, input, output)
  4632  	return
  4633  }
  4634  
  4635  // UpdateEndpointGroup API operation for AWS Global Accelerator.
  4636  //
  4637  // Update an endpoint group. A resource must be valid and active when you add
  4638  // it as an endpoint.
  4639  //
  4640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4641  // with awserr.Error's Code and Message methods to get detailed information about
  4642  // the error.
  4643  //
  4644  // See the AWS API reference guide for AWS Global Accelerator's
  4645  // API operation UpdateEndpointGroup for usage and error information.
  4646  //
  4647  // Returned Error Types:
  4648  //   * InvalidArgumentException
  4649  //   An argument that you specified is invalid.
  4650  //
  4651  //   * EndpointGroupNotFoundException
  4652  //   The endpoint group that you specified doesn't exist.
  4653  //
  4654  //   * InternalServiceErrorException
  4655  //   There was an internal error for AWS Global Accelerator.
  4656  //
  4657  //   * LimitExceededException
  4658  //   Processing your request would cause you to exceed an AWS Global Accelerator
  4659  //   limit.
  4660  //
  4661  //   * AccessDeniedException
  4662  //   You don't have access permission.
  4663  //
  4664  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup
  4665  func (c *GlobalAccelerator) UpdateEndpointGroup(input *UpdateEndpointGroupInput) (*UpdateEndpointGroupOutput, error) {
  4666  	req, out := c.UpdateEndpointGroupRequest(input)
  4667  	return out, req.Send()
  4668  }
  4669  
  4670  // UpdateEndpointGroupWithContext is the same as UpdateEndpointGroup with the addition of
  4671  // the ability to pass a context and additional request options.
  4672  //
  4673  // See UpdateEndpointGroup for details on how to use this API operation.
  4674  //
  4675  // The context must be non-nil and will be used for request cancellation. If
  4676  // the context is nil a panic will occur. In the future the SDK may create
  4677  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4678  // for more information on using Contexts.
  4679  func (c *GlobalAccelerator) UpdateEndpointGroupWithContext(ctx aws.Context, input *UpdateEndpointGroupInput, opts ...request.Option) (*UpdateEndpointGroupOutput, error) {
  4680  	req, out := c.UpdateEndpointGroupRequest(input)
  4681  	req.SetContext(ctx)
  4682  	req.ApplyOptions(opts...)
  4683  	return out, req.Send()
  4684  }
  4685  
  4686  const opUpdateListener = "UpdateListener"
  4687  
  4688  // UpdateListenerRequest generates a "aws/request.Request" representing the
  4689  // client's request for the UpdateListener operation. The "output" return
  4690  // value will be populated with the request's response once the request completes
  4691  // successfully.
  4692  //
  4693  // Use "Send" method on the returned Request to send the API call to the service.
  4694  // the "output" return value is not valid until after Send returns without error.
  4695  //
  4696  // See UpdateListener for more information on using the UpdateListener
  4697  // API call, and error handling.
  4698  //
  4699  // This method is useful when you want to inject custom logic or configuration
  4700  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4701  //
  4702  //
  4703  //    // Example sending a request using the UpdateListenerRequest method.
  4704  //    req, resp := client.UpdateListenerRequest(params)
  4705  //
  4706  //    err := req.Send()
  4707  //    if err == nil { // resp is now filled
  4708  //        fmt.Println(resp)
  4709  //    }
  4710  //
  4711  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener
  4712  func (c *GlobalAccelerator) UpdateListenerRequest(input *UpdateListenerInput) (req *request.Request, output *UpdateListenerOutput) {
  4713  	op := &request.Operation{
  4714  		Name:       opUpdateListener,
  4715  		HTTPMethod: "POST",
  4716  		HTTPPath:   "/",
  4717  	}
  4718  
  4719  	if input == nil {
  4720  		input = &UpdateListenerInput{}
  4721  	}
  4722  
  4723  	output = &UpdateListenerOutput{}
  4724  	req = c.newRequest(op, input, output)
  4725  	return
  4726  }
  4727  
  4728  // UpdateListener API operation for AWS Global Accelerator.
  4729  //
  4730  // Update a listener.
  4731  //
  4732  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4733  // with awserr.Error's Code and Message methods to get detailed information about
  4734  // the error.
  4735  //
  4736  // See the AWS API reference guide for AWS Global Accelerator's
  4737  // API operation UpdateListener for usage and error information.
  4738  //
  4739  // Returned Error Types:
  4740  //   * InvalidArgumentException
  4741  //   An argument that you specified is invalid.
  4742  //
  4743  //   * InvalidPortRangeException
  4744  //   The port numbers that you specified are not valid numbers or are not unique
  4745  //   for this accelerator.
  4746  //
  4747  //   * ListenerNotFoundException
  4748  //   The listener that you specified doesn't exist.
  4749  //
  4750  //   * InternalServiceErrorException
  4751  //   There was an internal error for AWS Global Accelerator.
  4752  //
  4753  //   * LimitExceededException
  4754  //   Processing your request would cause you to exceed an AWS Global Accelerator
  4755  //   limit.
  4756  //
  4757  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener
  4758  func (c *GlobalAccelerator) UpdateListener(input *UpdateListenerInput) (*UpdateListenerOutput, error) {
  4759  	req, out := c.UpdateListenerRequest(input)
  4760  	return out, req.Send()
  4761  }
  4762  
  4763  // UpdateListenerWithContext is the same as UpdateListener with the addition of
  4764  // the ability to pass a context and additional request options.
  4765  //
  4766  // See UpdateListener for details on how to use this API operation.
  4767  //
  4768  // The context must be non-nil and will be used for request cancellation. If
  4769  // the context is nil a panic will occur. In the future the SDK may create
  4770  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4771  // for more information on using Contexts.
  4772  func (c *GlobalAccelerator) UpdateListenerWithContext(ctx aws.Context, input *UpdateListenerInput, opts ...request.Option) (*UpdateListenerOutput, error) {
  4773  	req, out := c.UpdateListenerRequest(input)
  4774  	req.SetContext(ctx)
  4775  	req.ApplyOptions(opts...)
  4776  	return out, req.Send()
  4777  }
  4778  
  4779  const opWithdrawByoipCidr = "WithdrawByoipCidr"
  4780  
  4781  // WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
  4782  // client's request for the WithdrawByoipCidr operation. The "output" return
  4783  // value will be populated with the request's response once the request completes
  4784  // successfully.
  4785  //
  4786  // Use "Send" method on the returned Request to send the API call to the service.
  4787  // the "output" return value is not valid until after Send returns without error.
  4788  //
  4789  // See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
  4790  // API call, and error handling.
  4791  //
  4792  // This method is useful when you want to inject custom logic or configuration
  4793  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4794  //
  4795  //
  4796  //    // Example sending a request using the WithdrawByoipCidrRequest method.
  4797  //    req, resp := client.WithdrawByoipCidrRequest(params)
  4798  //
  4799  //    err := req.Send()
  4800  //    if err == nil { // resp is now filled
  4801  //        fmt.Println(resp)
  4802  //    }
  4803  //
  4804  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/WithdrawByoipCidr
  4805  func (c *GlobalAccelerator) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
  4806  	op := &request.Operation{
  4807  		Name:       opWithdrawByoipCidr,
  4808  		HTTPMethod: "POST",
  4809  		HTTPPath:   "/",
  4810  	}
  4811  
  4812  	if input == nil {
  4813  		input = &WithdrawByoipCidrInput{}
  4814  	}
  4815  
  4816  	output = &WithdrawByoipCidrOutput{}
  4817  	req = c.newRequest(op, input, output)
  4818  	return
  4819  }
  4820  
  4821  // WithdrawByoipCidr API operation for AWS Global Accelerator.
  4822  //
  4823  // Stops advertising an address range that is provisioned as an address pool.
  4824  // You can perform this operation at most once every 10 seconds, even if you
  4825  // specify different address ranges each time.
  4826  //
  4827  // It can take a few minutes before traffic to the specified addresses stops
  4828  // routing to AWS because of propagation delays.
  4829  //
  4830  // For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)
  4831  // in the AWS Global Accelerator Developer Guide.
  4832  //
  4833  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4834  // with awserr.Error's Code and Message methods to get detailed information about
  4835  // the error.
  4836  //
  4837  // See the AWS API reference guide for AWS Global Accelerator's
  4838  // API operation WithdrawByoipCidr for usage and error information.
  4839  //
  4840  // Returned Error Types:
  4841  //   * InternalServiceErrorException
  4842  //   There was an internal error for AWS Global Accelerator.
  4843  //
  4844  //   * InvalidArgumentException
  4845  //   An argument that you specified is invalid.
  4846  //
  4847  //   * AccessDeniedException
  4848  //   You don't have access permission.
  4849  //
  4850  //   * ByoipCidrNotFoundException
  4851  //   The CIDR that you specified was not found or is incorrect.
  4852  //
  4853  //   * IncorrectCidrStateException
  4854  //   The CIDR that you specified is not valid for this action. For example, the
  4855  //   state of the CIDR might be incorrect for this action.
  4856  //
  4857  // See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/WithdrawByoipCidr
  4858  func (c *GlobalAccelerator) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
  4859  	req, out := c.WithdrawByoipCidrRequest(input)
  4860  	return out, req.Send()
  4861  }
  4862  
  4863  // WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
  4864  // the ability to pass a context and additional request options.
  4865  //
  4866  // See WithdrawByoipCidr for details on how to use this API operation.
  4867  //
  4868  // The context must be non-nil and will be used for request cancellation. If
  4869  // the context is nil a panic will occur. In the future the SDK may create
  4870  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4871  // for more information on using Contexts.
  4872  func (c *GlobalAccelerator) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
  4873  	req, out := c.WithdrawByoipCidrRequest(input)
  4874  	req.SetContext(ctx)
  4875  	req.ApplyOptions(opts...)
  4876  	return out, req.Send()
  4877  }
  4878  
  4879  // An accelerator is a complex type that includes one or more listeners that
  4880  // process inbound connections and then direct traffic to one or more endpoint
  4881  // groups, each of which includes endpoints, such as load balancers.
  4882  type Accelerator struct {
  4883  	_ struct{} `type:"structure"`
  4884  
  4885  	// The Amazon Resource Name (ARN) of the accelerator.
  4886  	AcceleratorArn *string `type:"string"`
  4887  
  4888  	// The date and time that the accelerator was created.
  4889  	CreatedTime *time.Time `type:"timestamp"`
  4890  
  4891  	// The Domain Name System (DNS) name that Global Accelerator creates that points
  4892  	// to your accelerator's static IP addresses.
  4893  	//
  4894  	// The naming convention for the DNS name is the following: A lowercase letter
  4895  	// a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com.
  4896  	// For example: a1234567890abcdef.awsglobalaccelerator.com.
  4897  	//
  4898  	// For more information about the default DNS name, see Support for DNS Addressing
  4899  	// in Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing)
  4900  	// in the AWS Global Accelerator Developer Guide.
  4901  	DnsName *string `type:"string"`
  4902  
  4903  	// Indicates whether the accelerator is enabled. The value is true or false.
  4904  	// The default value is true.
  4905  	//
  4906  	// If the value is set to true, the accelerator cannot be deleted. If set to
  4907  	// false, accelerator can be deleted.
  4908  	Enabled *bool `type:"boolean"`
  4909  
  4910  	// The value for the address type must be IPv4.
  4911  	IpAddressType *string `type:"string" enum:"IpAddressType"`
  4912  
  4913  	// The static IP addresses that Global Accelerator associates with the accelerator.
  4914  	IpSets []*IpSet `type:"list"`
  4915  
  4916  	// The date and time that the accelerator was last modified.
  4917  	LastModifiedTime *time.Time `type:"timestamp"`
  4918  
  4919  	// The name of the accelerator. The name must contain only alphanumeric characters
  4920  	// or hyphens (-), and must not begin or end with a hyphen.
  4921  	Name *string `type:"string"`
  4922  
  4923  	// Describes the deployment status of the accelerator.
  4924  	Status *string `type:"string" enum:"AcceleratorStatus"`
  4925  }
  4926  
  4927  // String returns the string representation.
  4928  //
  4929  // API parameter values that are decorated as "sensitive" in the API will not
  4930  // be included in the string output. The member name will be present, but the
  4931  // value will be replaced with "sensitive".
  4932  func (s Accelerator) String() string {
  4933  	return awsutil.Prettify(s)
  4934  }
  4935  
  4936  // GoString returns the string representation.
  4937  //
  4938  // API parameter values that are decorated as "sensitive" in the API will not
  4939  // be included in the string output. The member name will be present, but the
  4940  // value will be replaced with "sensitive".
  4941  func (s Accelerator) GoString() string {
  4942  	return s.String()
  4943  }
  4944  
  4945  // SetAcceleratorArn sets the AcceleratorArn field's value.
  4946  func (s *Accelerator) SetAcceleratorArn(v string) *Accelerator {
  4947  	s.AcceleratorArn = &v
  4948  	return s
  4949  }
  4950  
  4951  // SetCreatedTime sets the CreatedTime field's value.
  4952  func (s *Accelerator) SetCreatedTime(v time.Time) *Accelerator {
  4953  	s.CreatedTime = &v
  4954  	return s
  4955  }
  4956  
  4957  // SetDnsName sets the DnsName field's value.
  4958  func (s *Accelerator) SetDnsName(v string) *Accelerator {
  4959  	s.DnsName = &v
  4960  	return s
  4961  }
  4962  
  4963  // SetEnabled sets the Enabled field's value.
  4964  func (s *Accelerator) SetEnabled(v bool) *Accelerator {
  4965  	s.Enabled = &v
  4966  	return s
  4967  }
  4968  
  4969  // SetIpAddressType sets the IpAddressType field's value.
  4970  func (s *Accelerator) SetIpAddressType(v string) *Accelerator {
  4971  	s.IpAddressType = &v
  4972  	return s
  4973  }
  4974  
  4975  // SetIpSets sets the IpSets field's value.
  4976  func (s *Accelerator) SetIpSets(v []*IpSet) *Accelerator {
  4977  	s.IpSets = v
  4978  	return s
  4979  }
  4980  
  4981  // SetLastModifiedTime sets the LastModifiedTime field's value.
  4982  func (s *Accelerator) SetLastModifiedTime(v time.Time) *Accelerator {
  4983  	s.LastModifiedTime = &v
  4984  	return s
  4985  }
  4986  
  4987  // SetName sets the Name field's value.
  4988  func (s *Accelerator) SetName(v string) *Accelerator {
  4989  	s.Name = &v
  4990  	return s
  4991  }
  4992  
  4993  // SetStatus sets the Status field's value.
  4994  func (s *Accelerator) SetStatus(v string) *Accelerator {
  4995  	s.Status = &v
  4996  	return s
  4997  }
  4998  
  4999  // Attributes of an accelerator.
  5000  type AcceleratorAttributes struct {
  5001  	_ struct{} `type:"structure"`
  5002  
  5003  	// Indicates whether flow logs are enabled. The default value is false. If the
  5004  	// value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.
  5005  	//
  5006  	// For more information, see Flow Logs (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html)
  5007  	// in the AWS Global Accelerator Developer Guide.
  5008  	FlowLogsEnabled *bool `type:"boolean"`
  5009  
  5010  	// The name of the Amazon S3 bucket for the flow logs. Attribute is required
  5011  	// if FlowLogsEnabled is true. The bucket must exist and have a bucket policy
  5012  	// that grants AWS Global Accelerator permission to write to the bucket.
  5013  	FlowLogsS3Bucket *string `type:"string"`
  5014  
  5015  	// The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute
  5016  	// is required if FlowLogsEnabled is true.
  5017  	//
  5018  	// If you don’t specify a prefix, the flow logs are stored in the root of
  5019  	// the bucket. If you specify slash (/) for the S3 bucket prefix, the log file
  5020  	// bucket folder structure will include a double slash (//), like the following:
  5021  	//
  5022  	// s3-bucket_name//AWSLogs/aws_account_id
  5023  	FlowLogsS3Prefix *string `type:"string"`
  5024  }
  5025  
  5026  // String returns the string representation.
  5027  //
  5028  // API parameter values that are decorated as "sensitive" in the API will not
  5029  // be included in the string output. The member name will be present, but the
  5030  // value will be replaced with "sensitive".
  5031  func (s AcceleratorAttributes) String() string {
  5032  	return awsutil.Prettify(s)
  5033  }
  5034  
  5035  // GoString returns the string representation.
  5036  //
  5037  // API parameter values that are decorated as "sensitive" in the API will not
  5038  // be included in the string output. The member name will be present, but the
  5039  // value will be replaced with "sensitive".
  5040  func (s AcceleratorAttributes) GoString() string {
  5041  	return s.String()
  5042  }
  5043  
  5044  // SetFlowLogsEnabled sets the FlowLogsEnabled field's value.
  5045  func (s *AcceleratorAttributes) SetFlowLogsEnabled(v bool) *AcceleratorAttributes {
  5046  	s.FlowLogsEnabled = &v
  5047  	return s
  5048  }
  5049  
  5050  // SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value.
  5051  func (s *AcceleratorAttributes) SetFlowLogsS3Bucket(v string) *AcceleratorAttributes {
  5052  	s.FlowLogsS3Bucket = &v
  5053  	return s
  5054  }
  5055  
  5056  // SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value.
  5057  func (s *AcceleratorAttributes) SetFlowLogsS3Prefix(v string) *AcceleratorAttributes {
  5058  	s.FlowLogsS3Prefix = &v
  5059  	return s
  5060  }
  5061  
  5062  // The accelerator that you specified could not be disabled.
  5063  type AcceleratorNotDisabledException struct {
  5064  	_            struct{}                  `type:"structure"`
  5065  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5066  
  5067  	Message_ *string `locationName:"Message" type:"string"`
  5068  }
  5069  
  5070  // String returns the string representation.
  5071  //
  5072  // API parameter values that are decorated as "sensitive" in the API will not
  5073  // be included in the string output. The member name will be present, but the
  5074  // value will be replaced with "sensitive".
  5075  func (s AcceleratorNotDisabledException) String() string {
  5076  	return awsutil.Prettify(s)
  5077  }
  5078  
  5079  // GoString returns the string representation.
  5080  //
  5081  // API parameter values that are decorated as "sensitive" in the API will not
  5082  // be included in the string output. The member name will be present, but the
  5083  // value will be replaced with "sensitive".
  5084  func (s AcceleratorNotDisabledException) GoString() string {
  5085  	return s.String()
  5086  }
  5087  
  5088  func newErrorAcceleratorNotDisabledException(v protocol.ResponseMetadata) error {
  5089  	return &AcceleratorNotDisabledException{
  5090  		RespMetadata: v,
  5091  	}
  5092  }
  5093  
  5094  // Code returns the exception type name.
  5095  func (s *AcceleratorNotDisabledException) Code() string {
  5096  	return "AcceleratorNotDisabledException"
  5097  }
  5098  
  5099  // Message returns the exception's message.
  5100  func (s *AcceleratorNotDisabledException) Message() string {
  5101  	if s.Message_ != nil {
  5102  		return *s.Message_
  5103  	}
  5104  	return ""
  5105  }
  5106  
  5107  // OrigErr always returns nil, satisfies awserr.Error interface.
  5108  func (s *AcceleratorNotDisabledException) OrigErr() error {
  5109  	return nil
  5110  }
  5111  
  5112  func (s *AcceleratorNotDisabledException) Error() string {
  5113  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5114  }
  5115  
  5116  // Status code returns the HTTP status code for the request's response error.
  5117  func (s *AcceleratorNotDisabledException) StatusCode() int {
  5118  	return s.RespMetadata.StatusCode
  5119  }
  5120  
  5121  // RequestID returns the service's response RequestID for request.
  5122  func (s *AcceleratorNotDisabledException) RequestID() string {
  5123  	return s.RespMetadata.RequestID
  5124  }
  5125  
  5126  // The accelerator that you specified doesn't exist.
  5127  type AcceleratorNotFoundException struct {
  5128  	_            struct{}                  `type:"structure"`
  5129  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5130  
  5131  	Message_ *string `locationName:"Message" type:"string"`
  5132  }
  5133  
  5134  // String returns the string representation.
  5135  //
  5136  // API parameter values that are decorated as "sensitive" in the API will not
  5137  // be included in the string output. The member name will be present, but the
  5138  // value will be replaced with "sensitive".
  5139  func (s AcceleratorNotFoundException) String() string {
  5140  	return awsutil.Prettify(s)
  5141  }
  5142  
  5143  // GoString returns the string representation.
  5144  //
  5145  // API parameter values that are decorated as "sensitive" in the API will not
  5146  // be included in the string output. The member name will be present, but the
  5147  // value will be replaced with "sensitive".
  5148  func (s AcceleratorNotFoundException) GoString() string {
  5149  	return s.String()
  5150  }
  5151  
  5152  func newErrorAcceleratorNotFoundException(v protocol.ResponseMetadata) error {
  5153  	return &AcceleratorNotFoundException{
  5154  		RespMetadata: v,
  5155  	}
  5156  }
  5157  
  5158  // Code returns the exception type name.
  5159  func (s *AcceleratorNotFoundException) Code() string {
  5160  	return "AcceleratorNotFoundException"
  5161  }
  5162  
  5163  // Message returns the exception's message.
  5164  func (s *AcceleratorNotFoundException) Message() string {
  5165  	if s.Message_ != nil {
  5166  		return *s.Message_
  5167  	}
  5168  	return ""
  5169  }
  5170  
  5171  // OrigErr always returns nil, satisfies awserr.Error interface.
  5172  func (s *AcceleratorNotFoundException) OrigErr() error {
  5173  	return nil
  5174  }
  5175  
  5176  func (s *AcceleratorNotFoundException) Error() string {
  5177  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5178  }
  5179  
  5180  // Status code returns the HTTP status code for the request's response error.
  5181  func (s *AcceleratorNotFoundException) StatusCode() int {
  5182  	return s.RespMetadata.StatusCode
  5183  }
  5184  
  5185  // RequestID returns the service's response RequestID for request.
  5186  func (s *AcceleratorNotFoundException) RequestID() string {
  5187  	return s.RespMetadata.RequestID
  5188  }
  5189  
  5190  // You don't have access permission.
  5191  type AccessDeniedException struct {
  5192  	_            struct{}                  `type:"structure"`
  5193  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5194  
  5195  	Message_ *string `locationName:"Message" type:"string"`
  5196  }
  5197  
  5198  // String returns the string representation.
  5199  //
  5200  // API parameter values that are decorated as "sensitive" in the API will not
  5201  // be included in the string output. The member name will be present, but the
  5202  // value will be replaced with "sensitive".
  5203  func (s AccessDeniedException) String() string {
  5204  	return awsutil.Prettify(s)
  5205  }
  5206  
  5207  // GoString returns the string representation.
  5208  //
  5209  // API parameter values that are decorated as "sensitive" in the API will not
  5210  // be included in the string output. The member name will be present, but the
  5211  // value will be replaced with "sensitive".
  5212  func (s AccessDeniedException) GoString() string {
  5213  	return s.String()
  5214  }
  5215  
  5216  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  5217  	return &AccessDeniedException{
  5218  		RespMetadata: v,
  5219  	}
  5220  }
  5221  
  5222  // Code returns the exception type name.
  5223  func (s *AccessDeniedException) Code() string {
  5224  	return "AccessDeniedException"
  5225  }
  5226  
  5227  // Message returns the exception's message.
  5228  func (s *AccessDeniedException) Message() string {
  5229  	if s.Message_ != nil {
  5230  		return *s.Message_
  5231  	}
  5232  	return ""
  5233  }
  5234  
  5235  // OrigErr always returns nil, satisfies awserr.Error interface.
  5236  func (s *AccessDeniedException) OrigErr() error {
  5237  	return nil
  5238  }
  5239  
  5240  func (s *AccessDeniedException) Error() string {
  5241  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5242  }
  5243  
  5244  // Status code returns the HTTP status code for the request's response error.
  5245  func (s *AccessDeniedException) StatusCode() int {
  5246  	return s.RespMetadata.StatusCode
  5247  }
  5248  
  5249  // RequestID returns the service's response RequestID for request.
  5250  func (s *AccessDeniedException) RequestID() string {
  5251  	return s.RespMetadata.RequestID
  5252  }
  5253  
  5254  type AddCustomRoutingEndpointsInput struct {
  5255  	_ struct{} `type:"structure"`
  5256  
  5257  	// The list of endpoint objects to add to a custom routing accelerator.
  5258  	//
  5259  	// EndpointConfigurations is a required field
  5260  	EndpointConfigurations []*CustomRoutingEndpointConfiguration `min:"1" type:"list" required:"true"`
  5261  
  5262  	// The Amazon Resource Name (ARN) of the endpoint group for the custom routing
  5263  	// endpoint.
  5264  	//
  5265  	// EndpointGroupArn is a required field
  5266  	EndpointGroupArn *string `type:"string" required:"true"`
  5267  }
  5268  
  5269  // String returns the string representation.
  5270  //
  5271  // API parameter values that are decorated as "sensitive" in the API will not
  5272  // be included in the string output. The member name will be present, but the
  5273  // value will be replaced with "sensitive".
  5274  func (s AddCustomRoutingEndpointsInput) String() string {
  5275  	return awsutil.Prettify(s)
  5276  }
  5277  
  5278  // GoString returns the string representation.
  5279  //
  5280  // API parameter values that are decorated as "sensitive" in the API will not
  5281  // be included in the string output. The member name will be present, but the
  5282  // value will be replaced with "sensitive".
  5283  func (s AddCustomRoutingEndpointsInput) GoString() string {
  5284  	return s.String()
  5285  }
  5286  
  5287  // Validate inspects the fields of the type to determine if they are valid.
  5288  func (s *AddCustomRoutingEndpointsInput) Validate() error {
  5289  	invalidParams := request.ErrInvalidParams{Context: "AddCustomRoutingEndpointsInput"}
  5290  	if s.EndpointConfigurations == nil {
  5291  		invalidParams.Add(request.NewErrParamRequired("EndpointConfigurations"))
  5292  	}
  5293  	if s.EndpointConfigurations != nil && len(s.EndpointConfigurations) < 1 {
  5294  		invalidParams.Add(request.NewErrParamMinLen("EndpointConfigurations", 1))
  5295  	}
  5296  	if s.EndpointGroupArn == nil {
  5297  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
  5298  	}
  5299  
  5300  	if invalidParams.Len() > 0 {
  5301  		return invalidParams
  5302  	}
  5303  	return nil
  5304  }
  5305  
  5306  // SetEndpointConfigurations sets the EndpointConfigurations field's value.
  5307  func (s *AddCustomRoutingEndpointsInput) SetEndpointConfigurations(v []*CustomRoutingEndpointConfiguration) *AddCustomRoutingEndpointsInput {
  5308  	s.EndpointConfigurations = v
  5309  	return s
  5310  }
  5311  
  5312  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  5313  func (s *AddCustomRoutingEndpointsInput) SetEndpointGroupArn(v string) *AddCustomRoutingEndpointsInput {
  5314  	s.EndpointGroupArn = &v
  5315  	return s
  5316  }
  5317  
  5318  type AddCustomRoutingEndpointsOutput struct {
  5319  	_ struct{} `type:"structure"`
  5320  
  5321  	// The endpoint objects added to the custom routing accelerator.
  5322  	EndpointDescriptions []*CustomRoutingEndpointDescription `type:"list"`
  5323  
  5324  	// The Amazon Resource Name (ARN) of the endpoint group for the custom routing
  5325  	// endpoint.
  5326  	EndpointGroupArn *string `type:"string"`
  5327  }
  5328  
  5329  // String returns the string representation.
  5330  //
  5331  // API parameter values that are decorated as "sensitive" in the API will not
  5332  // be included in the string output. The member name will be present, but the
  5333  // value will be replaced with "sensitive".
  5334  func (s AddCustomRoutingEndpointsOutput) String() string {
  5335  	return awsutil.Prettify(s)
  5336  }
  5337  
  5338  // GoString returns the string representation.
  5339  //
  5340  // API parameter values that are decorated as "sensitive" in the API will not
  5341  // be included in the string output. The member name will be present, but the
  5342  // value will be replaced with "sensitive".
  5343  func (s AddCustomRoutingEndpointsOutput) GoString() string {
  5344  	return s.String()
  5345  }
  5346  
  5347  // SetEndpointDescriptions sets the EndpointDescriptions field's value.
  5348  func (s *AddCustomRoutingEndpointsOutput) SetEndpointDescriptions(v []*CustomRoutingEndpointDescription) *AddCustomRoutingEndpointsOutput {
  5349  	s.EndpointDescriptions = v
  5350  	return s
  5351  }
  5352  
  5353  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  5354  func (s *AddCustomRoutingEndpointsOutput) SetEndpointGroupArn(v string) *AddCustomRoutingEndpointsOutput {
  5355  	s.EndpointGroupArn = &v
  5356  	return s
  5357  }
  5358  
  5359  type AdvertiseByoipCidrInput struct {
  5360  	_ struct{} `type:"structure"`
  5361  
  5362  	// The address range, in CIDR notation. This must be the exact range that you
  5363  	// provisioned. You can't advertise only a portion of the provisioned range.
  5364  	//
  5365  	// Cidr is a required field
  5366  	Cidr *string `type:"string" required:"true"`
  5367  }
  5368  
  5369  // String returns the string representation.
  5370  //
  5371  // API parameter values that are decorated as "sensitive" in the API will not
  5372  // be included in the string output. The member name will be present, but the
  5373  // value will be replaced with "sensitive".
  5374  func (s AdvertiseByoipCidrInput) String() string {
  5375  	return awsutil.Prettify(s)
  5376  }
  5377  
  5378  // GoString returns the string representation.
  5379  //
  5380  // API parameter values that are decorated as "sensitive" in the API will not
  5381  // be included in the string output. The member name will be present, but the
  5382  // value will be replaced with "sensitive".
  5383  func (s AdvertiseByoipCidrInput) GoString() string {
  5384  	return s.String()
  5385  }
  5386  
  5387  // Validate inspects the fields of the type to determine if they are valid.
  5388  func (s *AdvertiseByoipCidrInput) Validate() error {
  5389  	invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
  5390  	if s.Cidr == nil {
  5391  		invalidParams.Add(request.NewErrParamRequired("Cidr"))
  5392  	}
  5393  
  5394  	if invalidParams.Len() > 0 {
  5395  		return invalidParams
  5396  	}
  5397  	return nil
  5398  }
  5399  
  5400  // SetCidr sets the Cidr field's value.
  5401  func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
  5402  	s.Cidr = &v
  5403  	return s
  5404  }
  5405  
  5406  type AdvertiseByoipCidrOutput struct {
  5407  	_ struct{} `type:"structure"`
  5408  
  5409  	// Information about the address range.
  5410  	ByoipCidr *ByoipCidr `type:"structure"`
  5411  }
  5412  
  5413  // String returns the string representation.
  5414  //
  5415  // API parameter values that are decorated as "sensitive" in the API will not
  5416  // be included in the string output. The member name will be present, but the
  5417  // value will be replaced with "sensitive".
  5418  func (s AdvertiseByoipCidrOutput) String() string {
  5419  	return awsutil.Prettify(s)
  5420  }
  5421  
  5422  // GoString returns the string representation.
  5423  //
  5424  // API parameter values that are decorated as "sensitive" in the API will not
  5425  // be included in the string output. The member name will be present, but the
  5426  // value will be replaced with "sensitive".
  5427  func (s AdvertiseByoipCidrOutput) GoString() string {
  5428  	return s.String()
  5429  }
  5430  
  5431  // SetByoipCidr sets the ByoipCidr field's value.
  5432  func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
  5433  	s.ByoipCidr = v
  5434  	return s
  5435  }
  5436  
  5437  type AllowCustomRoutingTrafficInput struct {
  5438  	_ struct{} `type:"structure"`
  5439  
  5440  	// Indicates whether all destination IP addresses and ports for a specified
  5441  	// VPC subnet endpoint can receive traffic from a custom routing accelerator.
  5442  	// The value is TRUE or FALSE.
  5443  	//
  5444  	// When set to TRUE, all destinations in the custom routing VPC subnet can receive
  5445  	// traffic. Note that you cannot specify destination IP addresses and ports
  5446  	// when the value is set to TRUE.
  5447  	//
  5448  	// When set to FALSE (or not specified), you must specify a list of destination
  5449  	// IP addresses that are allowed to receive traffic. A list of ports is optional.
  5450  	// If you don't specify a list of ports, the ports that can accept traffic is
  5451  	// the same as the ports configured for the endpoint group.
  5452  	//
  5453  	// The default value is FALSE.
  5454  	AllowAllTrafficToEndpoint *bool `type:"boolean"`
  5455  
  5456  	// A list of specific Amazon EC2 instance IP addresses (destination addresses)
  5457  	// in a subnet that you want to allow to receive traffic. The IP addresses must
  5458  	// be a subset of the IP addresses that you specified for the endpoint group.
  5459  	//
  5460  	// DestinationAddresses is required if AllowAllTrafficToEndpoint is FALSE or
  5461  	// is not specified.
  5462  	DestinationAddresses []*string `type:"list"`
  5463  
  5464  	// A list of specific Amazon EC2 instance ports (destination ports) that you
  5465  	// want to allow to receive traffic.
  5466  	DestinationPorts []*int64 `type:"list"`
  5467  
  5468  	// The Amazon Resource Name (ARN) of the endpoint group.
  5469  	//
  5470  	// EndpointGroupArn is a required field
  5471  	EndpointGroupArn *string `type:"string" required:"true"`
  5472  
  5473  	// An ID for the endpoint. For custom routing accelerators, this is the virtual
  5474  	// private cloud (VPC) subnet ID.
  5475  	//
  5476  	// EndpointId is a required field
  5477  	EndpointId *string `type:"string" required:"true"`
  5478  }
  5479  
  5480  // String 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 AllowCustomRoutingTrafficInput) String() string {
  5486  	return awsutil.Prettify(s)
  5487  }
  5488  
  5489  // GoString returns the string representation.
  5490  //
  5491  // API parameter values that are decorated as "sensitive" in the API will not
  5492  // be included in the string output. The member name will be present, but the
  5493  // value will be replaced with "sensitive".
  5494  func (s AllowCustomRoutingTrafficInput) GoString() string {
  5495  	return s.String()
  5496  }
  5497  
  5498  // Validate inspects the fields of the type to determine if they are valid.
  5499  func (s *AllowCustomRoutingTrafficInput) Validate() error {
  5500  	invalidParams := request.ErrInvalidParams{Context: "AllowCustomRoutingTrafficInput"}
  5501  	if s.EndpointGroupArn == nil {
  5502  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
  5503  	}
  5504  	if s.EndpointId == nil {
  5505  		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
  5506  	}
  5507  
  5508  	if invalidParams.Len() > 0 {
  5509  		return invalidParams
  5510  	}
  5511  	return nil
  5512  }
  5513  
  5514  // SetAllowAllTrafficToEndpoint sets the AllowAllTrafficToEndpoint field's value.
  5515  func (s *AllowCustomRoutingTrafficInput) SetAllowAllTrafficToEndpoint(v bool) *AllowCustomRoutingTrafficInput {
  5516  	s.AllowAllTrafficToEndpoint = &v
  5517  	return s
  5518  }
  5519  
  5520  // SetDestinationAddresses sets the DestinationAddresses field's value.
  5521  func (s *AllowCustomRoutingTrafficInput) SetDestinationAddresses(v []*string) *AllowCustomRoutingTrafficInput {
  5522  	s.DestinationAddresses = v
  5523  	return s
  5524  }
  5525  
  5526  // SetDestinationPorts sets the DestinationPorts field's value.
  5527  func (s *AllowCustomRoutingTrafficInput) SetDestinationPorts(v []*int64) *AllowCustomRoutingTrafficInput {
  5528  	s.DestinationPorts = v
  5529  	return s
  5530  }
  5531  
  5532  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  5533  func (s *AllowCustomRoutingTrafficInput) SetEndpointGroupArn(v string) *AllowCustomRoutingTrafficInput {
  5534  	s.EndpointGroupArn = &v
  5535  	return s
  5536  }
  5537  
  5538  // SetEndpointId sets the EndpointId field's value.
  5539  func (s *AllowCustomRoutingTrafficInput) SetEndpointId(v string) *AllowCustomRoutingTrafficInput {
  5540  	s.EndpointId = &v
  5541  	return s
  5542  }
  5543  
  5544  type AllowCustomRoutingTrafficOutput struct {
  5545  	_ struct{} `type:"structure"`
  5546  }
  5547  
  5548  // String returns the string representation.
  5549  //
  5550  // API parameter values that are decorated as "sensitive" in the API will not
  5551  // be included in the string output. The member name will be present, but the
  5552  // value will be replaced with "sensitive".
  5553  func (s AllowCustomRoutingTrafficOutput) String() string {
  5554  	return awsutil.Prettify(s)
  5555  }
  5556  
  5557  // GoString returns the string representation.
  5558  //
  5559  // API parameter values that are decorated as "sensitive" in the API will not
  5560  // be included in the string output. The member name will be present, but the
  5561  // value will be replaced with "sensitive".
  5562  func (s AllowCustomRoutingTrafficOutput) GoString() string {
  5563  	return s.String()
  5564  }
  5565  
  5566  // The listener that you specified has an endpoint group associated with it.
  5567  // You must remove all dependent resources from a listener before you can delete
  5568  // it.
  5569  type AssociatedEndpointGroupFoundException struct {
  5570  	_            struct{}                  `type:"structure"`
  5571  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5572  
  5573  	Message_ *string `locationName:"Message" type:"string"`
  5574  }
  5575  
  5576  // String returns the string representation.
  5577  //
  5578  // API parameter values that are decorated as "sensitive" in the API will not
  5579  // be included in the string output. The member name will be present, but the
  5580  // value will be replaced with "sensitive".
  5581  func (s AssociatedEndpointGroupFoundException) String() string {
  5582  	return awsutil.Prettify(s)
  5583  }
  5584  
  5585  // GoString returns the string representation.
  5586  //
  5587  // API parameter values that are decorated as "sensitive" in the API will not
  5588  // be included in the string output. The member name will be present, but the
  5589  // value will be replaced with "sensitive".
  5590  func (s AssociatedEndpointGroupFoundException) GoString() string {
  5591  	return s.String()
  5592  }
  5593  
  5594  func newErrorAssociatedEndpointGroupFoundException(v protocol.ResponseMetadata) error {
  5595  	return &AssociatedEndpointGroupFoundException{
  5596  		RespMetadata: v,
  5597  	}
  5598  }
  5599  
  5600  // Code returns the exception type name.
  5601  func (s *AssociatedEndpointGroupFoundException) Code() string {
  5602  	return "AssociatedEndpointGroupFoundException"
  5603  }
  5604  
  5605  // Message returns the exception's message.
  5606  func (s *AssociatedEndpointGroupFoundException) Message() string {
  5607  	if s.Message_ != nil {
  5608  		return *s.Message_
  5609  	}
  5610  	return ""
  5611  }
  5612  
  5613  // OrigErr always returns nil, satisfies awserr.Error interface.
  5614  func (s *AssociatedEndpointGroupFoundException) OrigErr() error {
  5615  	return nil
  5616  }
  5617  
  5618  func (s *AssociatedEndpointGroupFoundException) Error() string {
  5619  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5620  }
  5621  
  5622  // Status code returns the HTTP status code for the request's response error.
  5623  func (s *AssociatedEndpointGroupFoundException) StatusCode() int {
  5624  	return s.RespMetadata.StatusCode
  5625  }
  5626  
  5627  // RequestID returns the service's response RequestID for request.
  5628  func (s *AssociatedEndpointGroupFoundException) RequestID() string {
  5629  	return s.RespMetadata.RequestID
  5630  }
  5631  
  5632  // The accelerator that you specified has a listener associated with it. You
  5633  // must remove all dependent resources from an accelerator before you can delete
  5634  // it.
  5635  type AssociatedListenerFoundException struct {
  5636  	_            struct{}                  `type:"structure"`
  5637  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5638  
  5639  	Message_ *string `locationName:"Message" type:"string"`
  5640  }
  5641  
  5642  // String returns the string representation.
  5643  //
  5644  // API parameter values that are decorated as "sensitive" in the API will not
  5645  // be included in the string output. The member name will be present, but the
  5646  // value will be replaced with "sensitive".
  5647  func (s AssociatedListenerFoundException) String() string {
  5648  	return awsutil.Prettify(s)
  5649  }
  5650  
  5651  // GoString returns the string representation.
  5652  //
  5653  // API parameter values that are decorated as "sensitive" in the API will not
  5654  // be included in the string output. The member name will be present, but the
  5655  // value will be replaced with "sensitive".
  5656  func (s AssociatedListenerFoundException) GoString() string {
  5657  	return s.String()
  5658  }
  5659  
  5660  func newErrorAssociatedListenerFoundException(v protocol.ResponseMetadata) error {
  5661  	return &AssociatedListenerFoundException{
  5662  		RespMetadata: v,
  5663  	}
  5664  }
  5665  
  5666  // Code returns the exception type name.
  5667  func (s *AssociatedListenerFoundException) Code() string {
  5668  	return "AssociatedListenerFoundException"
  5669  }
  5670  
  5671  // Message returns the exception's message.
  5672  func (s *AssociatedListenerFoundException) Message() string {
  5673  	if s.Message_ != nil {
  5674  		return *s.Message_
  5675  	}
  5676  	return ""
  5677  }
  5678  
  5679  // OrigErr always returns nil, satisfies awserr.Error interface.
  5680  func (s *AssociatedListenerFoundException) OrigErr() error {
  5681  	return nil
  5682  }
  5683  
  5684  func (s *AssociatedListenerFoundException) Error() string {
  5685  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5686  }
  5687  
  5688  // Status code returns the HTTP status code for the request's response error.
  5689  func (s *AssociatedListenerFoundException) StatusCode() int {
  5690  	return s.RespMetadata.StatusCode
  5691  }
  5692  
  5693  // RequestID returns the service's response RequestID for request.
  5694  func (s *AssociatedListenerFoundException) RequestID() string {
  5695  	return s.RespMetadata.RequestID
  5696  }
  5697  
  5698  // Information about an IP address range that is provisioned for use with your
  5699  // AWS resources through bring your own IP address (BYOIP).
  5700  //
  5701  // The following describes each BYOIP State that your IP address range can be
  5702  // in.
  5703  //
  5704  //    * PENDING_PROVISIONING — You’ve submitted a request to provision an
  5705  //    IP address range but it is not yet provisioned with AWS Global Accelerator.
  5706  //
  5707  //    * READY — The address range is provisioned with AWS Global Accelerator
  5708  //    and can be advertised.
  5709  //
  5710  //    * PENDING_ADVERTISING — You’ve submitted a request for AWS Global
  5711  //    Accelerator to advertise an address range but it is not yet being advertised.
  5712  //
  5713  //    * ADVERTISING — The address range is being advertised by AWS Global
  5714  //    Accelerator.
  5715  //
  5716  //    * PENDING_WITHDRAWING — You’ve submitted a request to withdraw an
  5717  //    address range from being advertised but it is still being advertised by
  5718  //    AWS Global Accelerator.
  5719  //
  5720  //    * PENDING_DEPROVISIONING — You’ve submitted a request to deprovision
  5721  //    an address range from AWS Global Accelerator but it is still provisioned.
  5722  //
  5723  //    * DEPROVISIONED — The address range is deprovisioned from AWS Global
  5724  //    Accelerator.
  5725  //
  5726  //    * FAILED_PROVISION — The request to provision the address range from
  5727  //    AWS Global Accelerator was not successful. Please make sure that you provide
  5728  //    all of the correct information, and try again. If the request fails a
  5729  //    second time, contact AWS support.
  5730  //
  5731  //    * FAILED_ADVERTISING — The request for AWS Global Accelerator to advertise
  5732  //    the address range was not successful. Please make sure that you provide
  5733  //    all of the correct information, and try again. If the request fails a
  5734  //    second time, contact AWS support.
  5735  //
  5736  //    * FAILED_WITHDRAW — The request to withdraw the address range from advertising
  5737  //    by AWS Global Accelerator was not successful. Please make sure that you
  5738  //    provide all of the correct information, and try again. If the request
  5739  //    fails a second time, contact AWS support.
  5740  //
  5741  //    * FAILED_DEPROVISION — The request to deprovision the address range
  5742  //    from AWS Global Accelerator was not successful. Please make sure that
  5743  //    you provide all of the correct information, and try again. If the request
  5744  //    fails a second time, contact AWS support.
  5745  type ByoipCidr struct {
  5746  	_ struct{} `type:"structure"`
  5747  
  5748  	// The address range, in CIDR notation.
  5749  	Cidr *string `type:"string"`
  5750  
  5751  	// A history of status changes for an IP address range that you bring to AWS
  5752  	// Global Accelerator through bring your own IP address (BYOIP).
  5753  	Events []*ByoipCidrEvent `type:"list"`
  5754  
  5755  	// The state of the address pool.
  5756  	State *string `type:"string" enum:"ByoipCidrState"`
  5757  }
  5758  
  5759  // String returns the string representation.
  5760  //
  5761  // API parameter values that are decorated as "sensitive" in the API will not
  5762  // be included in the string output. The member name will be present, but the
  5763  // value will be replaced with "sensitive".
  5764  func (s ByoipCidr) String() string {
  5765  	return awsutil.Prettify(s)
  5766  }
  5767  
  5768  // GoString returns the string representation.
  5769  //
  5770  // API parameter values that are decorated as "sensitive" in the API will not
  5771  // be included in the string output. The member name will be present, but the
  5772  // value will be replaced with "sensitive".
  5773  func (s ByoipCidr) GoString() string {
  5774  	return s.String()
  5775  }
  5776  
  5777  // SetCidr sets the Cidr field's value.
  5778  func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
  5779  	s.Cidr = &v
  5780  	return s
  5781  }
  5782  
  5783  // SetEvents sets the Events field's value.
  5784  func (s *ByoipCidr) SetEvents(v []*ByoipCidrEvent) *ByoipCidr {
  5785  	s.Events = v
  5786  	return s
  5787  }
  5788  
  5789  // SetState sets the State field's value.
  5790  func (s *ByoipCidr) SetState(v string) *ByoipCidr {
  5791  	s.State = &v
  5792  	return s
  5793  }
  5794  
  5795  // A complex type that contains a Message and a Timestamp value for changes
  5796  // that you make in the status an IP address range that you bring to AWS Global
  5797  // Accelerator through bring your own IP address (BYOIP).
  5798  type ByoipCidrEvent struct {
  5799  	_ struct{} `type:"structure"`
  5800  
  5801  	// A string that contains an Event message describing changes that you make
  5802  	// in the status of an IP address range that you bring to AWS Global Accelerator
  5803  	// through bring your own IP address (BYOIP).
  5804  	Message *string `type:"string"`
  5805  
  5806  	// A timestamp when you make a status change for an IP address range that you
  5807  	// bring to AWS Global Accelerator through bring your own IP address (BYOIP).
  5808  	Timestamp *time.Time `type:"timestamp"`
  5809  }
  5810  
  5811  // String returns the string representation.
  5812  //
  5813  // API parameter values that are decorated as "sensitive" in the API will not
  5814  // be included in the string output. The member name will be present, but the
  5815  // value will be replaced with "sensitive".
  5816  func (s ByoipCidrEvent) String() string {
  5817  	return awsutil.Prettify(s)
  5818  }
  5819  
  5820  // GoString returns the string representation.
  5821  //
  5822  // API parameter values that are decorated as "sensitive" in the API will not
  5823  // be included in the string output. The member name will be present, but the
  5824  // value will be replaced with "sensitive".
  5825  func (s ByoipCidrEvent) GoString() string {
  5826  	return s.String()
  5827  }
  5828  
  5829  // SetMessage sets the Message field's value.
  5830  func (s *ByoipCidrEvent) SetMessage(v string) *ByoipCidrEvent {
  5831  	s.Message = &v
  5832  	return s
  5833  }
  5834  
  5835  // SetTimestamp sets the Timestamp field's value.
  5836  func (s *ByoipCidrEvent) SetTimestamp(v time.Time) *ByoipCidrEvent {
  5837  	s.Timestamp = &v
  5838  	return s
  5839  }
  5840  
  5841  // The CIDR that you specified was not found or is incorrect.
  5842  type ByoipCidrNotFoundException struct {
  5843  	_            struct{}                  `type:"structure"`
  5844  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5845  
  5846  	Message_ *string `locationName:"Message" type:"string"`
  5847  }
  5848  
  5849  // String returns the string representation.
  5850  //
  5851  // API parameter values that are decorated as "sensitive" in the API will not
  5852  // be included in the string output. The member name will be present, but the
  5853  // value will be replaced with "sensitive".
  5854  func (s ByoipCidrNotFoundException) String() string {
  5855  	return awsutil.Prettify(s)
  5856  }
  5857  
  5858  // GoString returns the string representation.
  5859  //
  5860  // API parameter values that are decorated as "sensitive" in the API will not
  5861  // be included in the string output. The member name will be present, but the
  5862  // value will be replaced with "sensitive".
  5863  func (s ByoipCidrNotFoundException) GoString() string {
  5864  	return s.String()
  5865  }
  5866  
  5867  func newErrorByoipCidrNotFoundException(v protocol.ResponseMetadata) error {
  5868  	return &ByoipCidrNotFoundException{
  5869  		RespMetadata: v,
  5870  	}
  5871  }
  5872  
  5873  // Code returns the exception type name.
  5874  func (s *ByoipCidrNotFoundException) Code() string {
  5875  	return "ByoipCidrNotFoundException"
  5876  }
  5877  
  5878  // Message returns the exception's message.
  5879  func (s *ByoipCidrNotFoundException) Message() string {
  5880  	if s.Message_ != nil {
  5881  		return *s.Message_
  5882  	}
  5883  	return ""
  5884  }
  5885  
  5886  // OrigErr always returns nil, satisfies awserr.Error interface.
  5887  func (s *ByoipCidrNotFoundException) OrigErr() error {
  5888  	return nil
  5889  }
  5890  
  5891  func (s *ByoipCidrNotFoundException) Error() string {
  5892  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5893  }
  5894  
  5895  // Status code returns the HTTP status code for the request's response error.
  5896  func (s *ByoipCidrNotFoundException) StatusCode() int {
  5897  	return s.RespMetadata.StatusCode
  5898  }
  5899  
  5900  // RequestID returns the service's response RequestID for request.
  5901  func (s *ByoipCidrNotFoundException) RequestID() string {
  5902  	return s.RespMetadata.RequestID
  5903  }
  5904  
  5905  // Provides authorization for Amazon to bring a specific IP address range to
  5906  // a specific AWS account using bring your own IP addresses (BYOIP).
  5907  //
  5908  // For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)
  5909  // in the AWS Global Accelerator Developer Guide.
  5910  type CidrAuthorizationContext struct {
  5911  	_ struct{} `type:"structure"`
  5912  
  5913  	// The plain-text authorization message for the prefix and account.
  5914  	//
  5915  	// Message is a required field
  5916  	Message *string `type:"string" required:"true"`
  5917  
  5918  	// The signed authorization message for the prefix and account.
  5919  	//
  5920  	// Signature is a required field
  5921  	Signature *string `type:"string" required:"true"`
  5922  }
  5923  
  5924  // String returns the string representation.
  5925  //
  5926  // API parameter values that are decorated as "sensitive" in the API will not
  5927  // be included in the string output. The member name will be present, but the
  5928  // value will be replaced with "sensitive".
  5929  func (s CidrAuthorizationContext) String() string {
  5930  	return awsutil.Prettify(s)
  5931  }
  5932  
  5933  // GoString returns the string representation.
  5934  //
  5935  // API parameter values that are decorated as "sensitive" in the API will not
  5936  // be included in the string output. The member name will be present, but the
  5937  // value will be replaced with "sensitive".
  5938  func (s CidrAuthorizationContext) GoString() string {
  5939  	return s.String()
  5940  }
  5941  
  5942  // Validate inspects the fields of the type to determine if they are valid.
  5943  func (s *CidrAuthorizationContext) Validate() error {
  5944  	invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
  5945  	if s.Message == nil {
  5946  		invalidParams.Add(request.NewErrParamRequired("Message"))
  5947  	}
  5948  	if s.Signature == nil {
  5949  		invalidParams.Add(request.NewErrParamRequired("Signature"))
  5950  	}
  5951  
  5952  	if invalidParams.Len() > 0 {
  5953  		return invalidParams
  5954  	}
  5955  	return nil
  5956  }
  5957  
  5958  // SetMessage sets the Message field's value.
  5959  func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
  5960  	s.Message = &v
  5961  	return s
  5962  }
  5963  
  5964  // SetSignature sets the Signature field's value.
  5965  func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
  5966  	s.Signature = &v
  5967  	return s
  5968  }
  5969  
  5970  // You can't use both of those options.
  5971  type ConflictException struct {
  5972  	_            struct{}                  `type:"structure"`
  5973  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5974  
  5975  	Message_ *string `locationName:"Message" type:"string"`
  5976  }
  5977  
  5978  // String returns the string representation.
  5979  //
  5980  // API parameter values that are decorated as "sensitive" in the API will not
  5981  // be included in the string output. The member name will be present, but the
  5982  // value will be replaced with "sensitive".
  5983  func (s ConflictException) String() string {
  5984  	return awsutil.Prettify(s)
  5985  }
  5986  
  5987  // GoString returns the string representation.
  5988  //
  5989  // API parameter values that are decorated as "sensitive" in the API will not
  5990  // be included in the string output. The member name will be present, but the
  5991  // value will be replaced with "sensitive".
  5992  func (s ConflictException) GoString() string {
  5993  	return s.String()
  5994  }
  5995  
  5996  func newErrorConflictException(v protocol.ResponseMetadata) error {
  5997  	return &ConflictException{
  5998  		RespMetadata: v,
  5999  	}
  6000  }
  6001  
  6002  // Code returns the exception type name.
  6003  func (s *ConflictException) Code() string {
  6004  	return "ConflictException"
  6005  }
  6006  
  6007  // Message returns the exception's message.
  6008  func (s *ConflictException) Message() string {
  6009  	if s.Message_ != nil {
  6010  		return *s.Message_
  6011  	}
  6012  	return ""
  6013  }
  6014  
  6015  // OrigErr always returns nil, satisfies awserr.Error interface.
  6016  func (s *ConflictException) OrigErr() error {
  6017  	return nil
  6018  }
  6019  
  6020  func (s *ConflictException) Error() string {
  6021  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6022  }
  6023  
  6024  // Status code returns the HTTP status code for the request's response error.
  6025  func (s *ConflictException) StatusCode() int {
  6026  	return s.RespMetadata.StatusCode
  6027  }
  6028  
  6029  // RequestID returns the service's response RequestID for request.
  6030  func (s *ConflictException) RequestID() string {
  6031  	return s.RespMetadata.RequestID
  6032  }
  6033  
  6034  type CreateAcceleratorInput struct {
  6035  	_ struct{} `type:"structure"`
  6036  
  6037  	// Indicates whether an accelerator is enabled. The value is true or false.
  6038  	// The default value is true.
  6039  	//
  6040  	// If the value is set to true, an accelerator cannot be deleted. If set to
  6041  	// false, the accelerator can be deleted.
  6042  	Enabled *bool `type:"boolean"`
  6043  
  6044  	// A unique, case-sensitive identifier that you provide to ensure the idempotency—that
  6045  	// is, the uniqueness—of an accelerator.
  6046  	IdempotencyToken *string `type:"string" idempotencyToken:"true"`
  6047  
  6048  	// The value for the address type must be IPv4.
  6049  	IpAddressType *string `type:"string" enum:"IpAddressType"`
  6050  
  6051  	// Optionally, if you've added your own IP address pool to Global Accelerator
  6052  	// (BYOIP), you can choose IP addresses from your own pool to use for the accelerator's
  6053  	// static IP addresses when you create an accelerator. You can specify one or
  6054  	// two addresses, separated by a space. Do not include the /32 suffix.
  6055  	//
  6056  	// Only one IP address from each of your IP address ranges can be used for each
  6057  	// accelerator. If you specify only one IP address from your IP address range,
  6058  	// Global Accelerator assigns a second static IP address for the accelerator
  6059  	// from the AWS IP address pool.
  6060  	//
  6061  	// Note that you can't update IP addresses for an existing accelerator. To change
  6062  	// them, you must create a new accelerator with the new addresses.
  6063  	//
  6064  	// For more information, see Bring Your Own IP Addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)
  6065  	// in the AWS Global Accelerator Developer Guide.
  6066  	IpAddresses []*string `type:"list"`
  6067  
  6068  	// The name of an accelerator. The name can have a maximum of 32 characters,
  6069  	// must contain only alphanumeric characters or hyphens (-), and must not begin
  6070  	// or end with a hyphen.
  6071  	//
  6072  	// Name is a required field
  6073  	Name *string `type:"string" required:"true"`
  6074  
  6075  	// Create tags for an accelerator.
  6076  	//
  6077  	// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html)
  6078  	// in the AWS Global Accelerator Developer Guide.
  6079  	Tags []*Tag `type:"list"`
  6080  }
  6081  
  6082  // String returns the string representation.
  6083  //
  6084  // API parameter values that are decorated as "sensitive" in the API will not
  6085  // be included in the string output. The member name will be present, but the
  6086  // value will be replaced with "sensitive".
  6087  func (s CreateAcceleratorInput) String() string {
  6088  	return awsutil.Prettify(s)
  6089  }
  6090  
  6091  // GoString returns the string representation.
  6092  //
  6093  // API parameter values that are decorated as "sensitive" in the API will not
  6094  // be included in the string output. The member name will be present, but the
  6095  // value will be replaced with "sensitive".
  6096  func (s CreateAcceleratorInput) GoString() string {
  6097  	return s.String()
  6098  }
  6099  
  6100  // Validate inspects the fields of the type to determine if they are valid.
  6101  func (s *CreateAcceleratorInput) Validate() error {
  6102  	invalidParams := request.ErrInvalidParams{Context: "CreateAcceleratorInput"}
  6103  	if s.Name == nil {
  6104  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6105  	}
  6106  	if s.Tags != nil {
  6107  		for i, v := range s.Tags {
  6108  			if v == nil {
  6109  				continue
  6110  			}
  6111  			if err := v.Validate(); err != nil {
  6112  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6113  			}
  6114  		}
  6115  	}
  6116  
  6117  	if invalidParams.Len() > 0 {
  6118  		return invalidParams
  6119  	}
  6120  	return nil
  6121  }
  6122  
  6123  // SetEnabled sets the Enabled field's value.
  6124  func (s *CreateAcceleratorInput) SetEnabled(v bool) *CreateAcceleratorInput {
  6125  	s.Enabled = &v
  6126  	return s
  6127  }
  6128  
  6129  // SetIdempotencyToken sets the IdempotencyToken field's value.
  6130  func (s *CreateAcceleratorInput) SetIdempotencyToken(v string) *CreateAcceleratorInput {
  6131  	s.IdempotencyToken = &v
  6132  	return s
  6133  }
  6134  
  6135  // SetIpAddressType sets the IpAddressType field's value.
  6136  func (s *CreateAcceleratorInput) SetIpAddressType(v string) *CreateAcceleratorInput {
  6137  	s.IpAddressType = &v
  6138  	return s
  6139  }
  6140  
  6141  // SetIpAddresses sets the IpAddresses field's value.
  6142  func (s *CreateAcceleratorInput) SetIpAddresses(v []*string) *CreateAcceleratorInput {
  6143  	s.IpAddresses = v
  6144  	return s
  6145  }
  6146  
  6147  // SetName sets the Name field's value.
  6148  func (s *CreateAcceleratorInput) SetName(v string) *CreateAcceleratorInput {
  6149  	s.Name = &v
  6150  	return s
  6151  }
  6152  
  6153  // SetTags sets the Tags field's value.
  6154  func (s *CreateAcceleratorInput) SetTags(v []*Tag) *CreateAcceleratorInput {
  6155  	s.Tags = v
  6156  	return s
  6157  }
  6158  
  6159  type CreateAcceleratorOutput struct {
  6160  	_ struct{} `type:"structure"`
  6161  
  6162  	// The accelerator that is created by specifying a listener and the supported
  6163  	// IP address types.
  6164  	Accelerator *Accelerator `type:"structure"`
  6165  }
  6166  
  6167  // String returns the string representation.
  6168  //
  6169  // API parameter values that are decorated as "sensitive" in the API will not
  6170  // be included in the string output. The member name will be present, but the
  6171  // value will be replaced with "sensitive".
  6172  func (s CreateAcceleratorOutput) String() string {
  6173  	return awsutil.Prettify(s)
  6174  }
  6175  
  6176  // GoString returns the string representation.
  6177  //
  6178  // API parameter values that are decorated as "sensitive" in the API will not
  6179  // be included in the string output. The member name will be present, but the
  6180  // value will be replaced with "sensitive".
  6181  func (s CreateAcceleratorOutput) GoString() string {
  6182  	return s.String()
  6183  }
  6184  
  6185  // SetAccelerator sets the Accelerator field's value.
  6186  func (s *CreateAcceleratorOutput) SetAccelerator(v *Accelerator) *CreateAcceleratorOutput {
  6187  	s.Accelerator = v
  6188  	return s
  6189  }
  6190  
  6191  type CreateCustomRoutingAcceleratorInput struct {
  6192  	_ struct{} `type:"structure"`
  6193  
  6194  	// Indicates whether an accelerator is enabled. The value is true or false.
  6195  	// The default value is true.
  6196  	//
  6197  	// If the value is set to true, an accelerator cannot be deleted. If set to
  6198  	// false, the accelerator can be deleted.
  6199  	Enabled *bool `type:"boolean"`
  6200  
  6201  	// A unique, case-sensitive identifier that you provide to ensure the idempotency—that
  6202  	// is, the uniqueness—of the request.
  6203  	IdempotencyToken *string `type:"string" idempotencyToken:"true"`
  6204  
  6205  	// The value for the address type must be IPv4.
  6206  	IpAddressType *string `type:"string" enum:"IpAddressType"`
  6207  
  6208  	// Optionally, if you've added your own IP address pool to Global Accelerator
  6209  	// (BYOIP), you can choose IP addresses from your own pool to use for the accelerator's
  6210  	// static IP addresses when you create an accelerator. You can specify one or
  6211  	// two addresses, separated by a space. Do not include the /32 suffix.
  6212  	//
  6213  	// Only one IP address from each of your IP address ranges can be used for each
  6214  	// accelerator. If you specify only one IP address from your IP address range,
  6215  	// Global Accelerator assigns a second static IP address for the accelerator
  6216  	// from the AWS IP address pool.
  6217  	//
  6218  	// Note that you can't update IP addresses for an existing accelerator. To change
  6219  	// them, you must create a new accelerator with the new addresses.
  6220  	//
  6221  	// For more information, see Bring your own IP addresses (BYOIP) (https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)
  6222  	// in the AWS Global Accelerator Developer Guide.
  6223  	IpAddresses []*string `type:"list"`
  6224  
  6225  	// The name of a custom routing accelerator. The name can have a maximum of
  6226  	// 64 characters, must contain only alphanumeric characters or hyphens (-),
  6227  	// and must not begin or end with a hyphen.
  6228  	//
  6229  	// Name is a required field
  6230  	Name *string `type:"string" required:"true"`
  6231  
  6232  	// Create tags for an accelerator.
  6233  	//
  6234  	// For more information, see Tagging in AWS Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html)
  6235  	// in the AWS Global Accelerator Developer Guide.
  6236  	Tags []*Tag `type:"list"`
  6237  }
  6238  
  6239  // String returns the string representation.
  6240  //
  6241  // API parameter values that are decorated as "sensitive" in the API will not
  6242  // be included in the string output. The member name will be present, but the
  6243  // value will be replaced with "sensitive".
  6244  func (s CreateCustomRoutingAcceleratorInput) String() string {
  6245  	return awsutil.Prettify(s)
  6246  }
  6247  
  6248  // GoString returns the string representation.
  6249  //
  6250  // API parameter values that are decorated as "sensitive" in the API will not
  6251  // be included in the string output. The member name will be present, but the
  6252  // value will be replaced with "sensitive".
  6253  func (s CreateCustomRoutingAcceleratorInput) GoString() string {
  6254  	return s.String()
  6255  }
  6256  
  6257  // Validate inspects the fields of the type to determine if they are valid.
  6258  func (s *CreateCustomRoutingAcceleratorInput) Validate() error {
  6259  	invalidParams := request.ErrInvalidParams{Context: "CreateCustomRoutingAcceleratorInput"}
  6260  	if s.Name == nil {
  6261  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6262  	}
  6263  	if s.Tags != nil {
  6264  		for i, v := range s.Tags {
  6265  			if v == nil {
  6266  				continue
  6267  			}
  6268  			if err := v.Validate(); err != nil {
  6269  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6270  			}
  6271  		}
  6272  	}
  6273  
  6274  	if invalidParams.Len() > 0 {
  6275  		return invalidParams
  6276  	}
  6277  	return nil
  6278  }
  6279  
  6280  // SetEnabled sets the Enabled field's value.
  6281  func (s *CreateCustomRoutingAcceleratorInput) SetEnabled(v bool) *CreateCustomRoutingAcceleratorInput {
  6282  	s.Enabled = &v
  6283  	return s
  6284  }
  6285  
  6286  // SetIdempotencyToken sets the IdempotencyToken field's value.
  6287  func (s *CreateCustomRoutingAcceleratorInput) SetIdempotencyToken(v string) *CreateCustomRoutingAcceleratorInput {
  6288  	s.IdempotencyToken = &v
  6289  	return s
  6290  }
  6291  
  6292  // SetIpAddressType sets the IpAddressType field's value.
  6293  func (s *CreateCustomRoutingAcceleratorInput) SetIpAddressType(v string) *CreateCustomRoutingAcceleratorInput {
  6294  	s.IpAddressType = &v
  6295  	return s
  6296  }
  6297  
  6298  // SetIpAddresses sets the IpAddresses field's value.
  6299  func (s *CreateCustomRoutingAcceleratorInput) SetIpAddresses(v []*string) *CreateCustomRoutingAcceleratorInput {
  6300  	s.IpAddresses = v
  6301  	return s
  6302  }
  6303  
  6304  // SetName sets the Name field's value.
  6305  func (s *CreateCustomRoutingAcceleratorInput) SetName(v string) *CreateCustomRoutingAcceleratorInput {
  6306  	s.Name = &v
  6307  	return s
  6308  }
  6309  
  6310  // SetTags sets the Tags field's value.
  6311  func (s *CreateCustomRoutingAcceleratorInput) SetTags(v []*Tag) *CreateCustomRoutingAcceleratorInput {
  6312  	s.Tags = v
  6313  	return s
  6314  }
  6315  
  6316  type CreateCustomRoutingAcceleratorOutput struct {
  6317  	_ struct{} `type:"structure"`
  6318  
  6319  	// The accelerator that is created.
  6320  	Accelerator *CustomRoutingAccelerator `type:"structure"`
  6321  }
  6322  
  6323  // String returns the string representation.
  6324  //
  6325  // API parameter values that are decorated as "sensitive" in the API will not
  6326  // be included in the string output. The member name will be present, but the
  6327  // value will be replaced with "sensitive".
  6328  func (s CreateCustomRoutingAcceleratorOutput) String() string {
  6329  	return awsutil.Prettify(s)
  6330  }
  6331  
  6332  // GoString returns the string representation.
  6333  //
  6334  // API parameter values that are decorated as "sensitive" in the API will not
  6335  // be included in the string output. The member name will be present, but the
  6336  // value will be replaced with "sensitive".
  6337  func (s CreateCustomRoutingAcceleratorOutput) GoString() string {
  6338  	return s.String()
  6339  }
  6340  
  6341  // SetAccelerator sets the Accelerator field's value.
  6342  func (s *CreateCustomRoutingAcceleratorOutput) SetAccelerator(v *CustomRoutingAccelerator) *CreateCustomRoutingAcceleratorOutput {
  6343  	s.Accelerator = v
  6344  	return s
  6345  }
  6346  
  6347  type CreateCustomRoutingEndpointGroupInput struct {
  6348  	_ struct{} `type:"structure"`
  6349  
  6350  	// Sets the port range and protocol for all endpoints (virtual private cloud
  6351  	// subnets) in a custom routing endpoint group to accept client traffic on.
  6352  	//
  6353  	// DestinationConfigurations is a required field
  6354  	DestinationConfigurations []*CustomRoutingDestinationConfiguration `min:"1" type:"list" required:"true"`
  6355  
  6356  	// The AWS Region where the endpoint group is located. A listener can have only
  6357  	// one endpoint group in a specific Region.
  6358  	//
  6359  	// EndpointGroupRegion is a required field
  6360  	EndpointGroupRegion *string `type:"string" required:"true"`
  6361  
  6362  	// A unique, case-sensitive identifier that you provide to ensure the idempotency—that
  6363  	// is, the uniqueness—of the request.
  6364  	IdempotencyToken *string `type:"string" idempotencyToken:"true"`
  6365  
  6366  	// The Amazon Resource Name (ARN) of the listener for a custom routing endpoint.
  6367  	//
  6368  	// ListenerArn is a required field
  6369  	ListenerArn *string `type:"string" required:"true"`
  6370  }
  6371  
  6372  // String returns the string representation.
  6373  //
  6374  // API parameter values that are decorated as "sensitive" in the API will not
  6375  // be included in the string output. The member name will be present, but the
  6376  // value will be replaced with "sensitive".
  6377  func (s CreateCustomRoutingEndpointGroupInput) String() string {
  6378  	return awsutil.Prettify(s)
  6379  }
  6380  
  6381  // GoString returns the string representation.
  6382  //
  6383  // API parameter values that are decorated as "sensitive" in the API will not
  6384  // be included in the string output. The member name will be present, but the
  6385  // value will be replaced with "sensitive".
  6386  func (s CreateCustomRoutingEndpointGroupInput) GoString() string {
  6387  	return s.String()
  6388  }
  6389  
  6390  // Validate inspects the fields of the type to determine if they are valid.
  6391  func (s *CreateCustomRoutingEndpointGroupInput) Validate() error {
  6392  	invalidParams := request.ErrInvalidParams{Context: "CreateCustomRoutingEndpointGroupInput"}
  6393  	if s.DestinationConfigurations == nil {
  6394  		invalidParams.Add(request.NewErrParamRequired("DestinationConfigurations"))
  6395  	}
  6396  	if s.DestinationConfigurations != nil && len(s.DestinationConfigurations) < 1 {
  6397  		invalidParams.Add(request.NewErrParamMinLen("DestinationConfigurations", 1))
  6398  	}
  6399  	if s.EndpointGroupRegion == nil {
  6400  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupRegion"))
  6401  	}
  6402  	if s.ListenerArn == nil {
  6403  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  6404  	}
  6405  	if s.DestinationConfigurations != nil {
  6406  		for i, v := range s.DestinationConfigurations {
  6407  			if v == nil {
  6408  				continue
  6409  			}
  6410  			if err := v.Validate(); err != nil {
  6411  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DestinationConfigurations", i), err.(request.ErrInvalidParams))
  6412  			}
  6413  		}
  6414  	}
  6415  
  6416  	if invalidParams.Len() > 0 {
  6417  		return invalidParams
  6418  	}
  6419  	return nil
  6420  }
  6421  
  6422  // SetDestinationConfigurations sets the DestinationConfigurations field's value.
  6423  func (s *CreateCustomRoutingEndpointGroupInput) SetDestinationConfigurations(v []*CustomRoutingDestinationConfiguration) *CreateCustomRoutingEndpointGroupInput {
  6424  	s.DestinationConfigurations = v
  6425  	return s
  6426  }
  6427  
  6428  // SetEndpointGroupRegion sets the EndpointGroupRegion field's value.
  6429  func (s *CreateCustomRoutingEndpointGroupInput) SetEndpointGroupRegion(v string) *CreateCustomRoutingEndpointGroupInput {
  6430  	s.EndpointGroupRegion = &v
  6431  	return s
  6432  }
  6433  
  6434  // SetIdempotencyToken sets the IdempotencyToken field's value.
  6435  func (s *CreateCustomRoutingEndpointGroupInput) SetIdempotencyToken(v string) *CreateCustomRoutingEndpointGroupInput {
  6436  	s.IdempotencyToken = &v
  6437  	return s
  6438  }
  6439  
  6440  // SetListenerArn sets the ListenerArn field's value.
  6441  func (s *CreateCustomRoutingEndpointGroupInput) SetListenerArn(v string) *CreateCustomRoutingEndpointGroupInput {
  6442  	s.ListenerArn = &v
  6443  	return s
  6444  }
  6445  
  6446  type CreateCustomRoutingEndpointGroupOutput struct {
  6447  	_ struct{} `type:"structure"`
  6448  
  6449  	// The information about the endpoint group created for a custom routing accelerator.
  6450  	EndpointGroup *CustomRoutingEndpointGroup `type:"structure"`
  6451  }
  6452  
  6453  // String returns the string representation.
  6454  //
  6455  // API parameter values that are decorated as "sensitive" in the API will not
  6456  // be included in the string output. The member name will be present, but the
  6457  // value will be replaced with "sensitive".
  6458  func (s CreateCustomRoutingEndpointGroupOutput) String() string {
  6459  	return awsutil.Prettify(s)
  6460  }
  6461  
  6462  // GoString returns the string representation.
  6463  //
  6464  // API parameter values that are decorated as "sensitive" in the API will not
  6465  // be included in the string output. The member name will be present, but the
  6466  // value will be replaced with "sensitive".
  6467  func (s CreateCustomRoutingEndpointGroupOutput) GoString() string {
  6468  	return s.String()
  6469  }
  6470  
  6471  // SetEndpointGroup sets the EndpointGroup field's value.
  6472  func (s *CreateCustomRoutingEndpointGroupOutput) SetEndpointGroup(v *CustomRoutingEndpointGroup) *CreateCustomRoutingEndpointGroupOutput {
  6473  	s.EndpointGroup = v
  6474  	return s
  6475  }
  6476  
  6477  type CreateCustomRoutingListenerInput struct {
  6478  	_ struct{} `type:"structure"`
  6479  
  6480  	// The Amazon Resource Name (ARN) of the accelerator for a custom routing listener.
  6481  	//
  6482  	// AcceleratorArn is a required field
  6483  	AcceleratorArn *string `type:"string" required:"true"`
  6484  
  6485  	// A unique, case-sensitive identifier that you provide to ensure the idempotency—that
  6486  	// is, the uniqueness—of the request.
  6487  	IdempotencyToken *string `type:"string" idempotencyToken:"true"`
  6488  
  6489  	// The port range to support for connections from clients to your accelerator.
  6490  	//
  6491  	// Separately, you set port ranges for endpoints. For more information, see
  6492  	// About endpoints for custom routing accelerators (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html).
  6493  	//
  6494  	// PortRanges is a required field
  6495  	PortRanges []*PortRange `min:"1" type:"list" required:"true"`
  6496  }
  6497  
  6498  // String returns the string representation.
  6499  //
  6500  // API parameter values that are decorated as "sensitive" in the API will not
  6501  // be included in the string output. The member name will be present, but the
  6502  // value will be replaced with "sensitive".
  6503  func (s CreateCustomRoutingListenerInput) String() string {
  6504  	return awsutil.Prettify(s)
  6505  }
  6506  
  6507  // GoString returns the string representation.
  6508  //
  6509  // API parameter values that are decorated as "sensitive" in the API will not
  6510  // be included in the string output. The member name will be present, but the
  6511  // value will be replaced with "sensitive".
  6512  func (s CreateCustomRoutingListenerInput) GoString() string {
  6513  	return s.String()
  6514  }
  6515  
  6516  // Validate inspects the fields of the type to determine if they are valid.
  6517  func (s *CreateCustomRoutingListenerInput) Validate() error {
  6518  	invalidParams := request.ErrInvalidParams{Context: "CreateCustomRoutingListenerInput"}
  6519  	if s.AcceleratorArn == nil {
  6520  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  6521  	}
  6522  	if s.PortRanges == nil {
  6523  		invalidParams.Add(request.NewErrParamRequired("PortRanges"))
  6524  	}
  6525  	if s.PortRanges != nil && len(s.PortRanges) < 1 {
  6526  		invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1))
  6527  	}
  6528  	if s.PortRanges != nil {
  6529  		for i, v := range s.PortRanges {
  6530  			if v == nil {
  6531  				continue
  6532  			}
  6533  			if err := v.Validate(); err != nil {
  6534  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams))
  6535  			}
  6536  		}
  6537  	}
  6538  
  6539  	if invalidParams.Len() > 0 {
  6540  		return invalidParams
  6541  	}
  6542  	return nil
  6543  }
  6544  
  6545  // SetAcceleratorArn sets the AcceleratorArn field's value.
  6546  func (s *CreateCustomRoutingListenerInput) SetAcceleratorArn(v string) *CreateCustomRoutingListenerInput {
  6547  	s.AcceleratorArn = &v
  6548  	return s
  6549  }
  6550  
  6551  // SetIdempotencyToken sets the IdempotencyToken field's value.
  6552  func (s *CreateCustomRoutingListenerInput) SetIdempotencyToken(v string) *CreateCustomRoutingListenerInput {
  6553  	s.IdempotencyToken = &v
  6554  	return s
  6555  }
  6556  
  6557  // SetPortRanges sets the PortRanges field's value.
  6558  func (s *CreateCustomRoutingListenerInput) SetPortRanges(v []*PortRange) *CreateCustomRoutingListenerInput {
  6559  	s.PortRanges = v
  6560  	return s
  6561  }
  6562  
  6563  type CreateCustomRoutingListenerOutput struct {
  6564  	_ struct{} `type:"structure"`
  6565  
  6566  	// The listener that you've created for a custom routing accelerator.
  6567  	Listener *CustomRoutingListener `type:"structure"`
  6568  }
  6569  
  6570  // String returns the string representation.
  6571  //
  6572  // API parameter values that are decorated as "sensitive" in the API will not
  6573  // be included in the string output. The member name will be present, but the
  6574  // value will be replaced with "sensitive".
  6575  func (s CreateCustomRoutingListenerOutput) String() string {
  6576  	return awsutil.Prettify(s)
  6577  }
  6578  
  6579  // GoString returns the string representation.
  6580  //
  6581  // API parameter values that are decorated as "sensitive" in the API will not
  6582  // be included in the string output. The member name will be present, but the
  6583  // value will be replaced with "sensitive".
  6584  func (s CreateCustomRoutingListenerOutput) GoString() string {
  6585  	return s.String()
  6586  }
  6587  
  6588  // SetListener sets the Listener field's value.
  6589  func (s *CreateCustomRoutingListenerOutput) SetListener(v *CustomRoutingListener) *CreateCustomRoutingListenerOutput {
  6590  	s.Listener = v
  6591  	return s
  6592  }
  6593  
  6594  type CreateEndpointGroupInput struct {
  6595  	_ struct{} `type:"structure"`
  6596  
  6597  	// The list of endpoint objects.
  6598  	EndpointConfigurations []*EndpointConfiguration `type:"list"`
  6599  
  6600  	// The AWS Region where the endpoint group is located. A listener can have only
  6601  	// one endpoint group in a specific Region.
  6602  	//
  6603  	// EndpointGroupRegion is a required field
  6604  	EndpointGroupRegion *string `type:"string" required:"true"`
  6605  
  6606  	// The time—10 seconds or 30 seconds—between each health check for an endpoint.
  6607  	// The default value is 30.
  6608  	HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"`
  6609  
  6610  	// If the protocol is HTTP/S, then this specifies the path that is the destination
  6611  	// for health check targets. The default value is slash (/).
  6612  	HealthCheckPath *string `type:"string"`
  6613  
  6614  	// The port that AWS Global Accelerator uses to check the health of endpoints
  6615  	// that are part of this endpoint group. The default port is the listener port
  6616  	// that this endpoint group is associated with. If listener port is a list of
  6617  	// ports, Global Accelerator uses the first port in the list.
  6618  	HealthCheckPort *int64 `min:"1" type:"integer"`
  6619  
  6620  	// The protocol that AWS Global Accelerator uses to check the health of endpoints
  6621  	// that are part of this endpoint group. The default value is TCP.
  6622  	HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"`
  6623  
  6624  	// A unique, case-sensitive identifier that you provide to ensure the idempotency—that
  6625  	// is, the uniqueness—of the request.
  6626  	IdempotencyToken *string `type:"string" idempotencyToken:"true"`
  6627  
  6628  	// The Amazon Resource Name (ARN) of the listener.
  6629  	//
  6630  	// ListenerArn is a required field
  6631  	ListenerArn *string `type:"string" required:"true"`
  6632  
  6633  	// Override specific listener ports used to route traffic to endpoints that
  6634  	// are part of this endpoint group. For example, you can create a port override
  6635  	// in which the listener receives user traffic on ports 80 and 443, but your
  6636  	// accelerator routes that traffic to ports 1080 and 1443, respectively, on
  6637  	// the endpoints.
  6638  	//
  6639  	// For more information, see Port overrides (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html)
  6640  	// in the AWS Global Accelerator Developer Guide.
  6641  	PortOverrides []*PortOverride `type:"list"`
  6642  
  6643  	// The number of consecutive health checks required to set the state of a healthy
  6644  	// endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default
  6645  	// value is 3.
  6646  	ThresholdCount *int64 `min:"1" type:"integer"`
  6647  
  6648  	// The percentage of traffic to send to an AWS Region. Additional traffic is
  6649  	// distributed to other endpoint groups for this listener.
  6650  	//
  6651  	// Use this action to increase (dial up) or decrease (dial down) traffic to
  6652  	// a specific Region. The percentage is applied to the traffic that would otherwise
  6653  	// have been routed to the Region based on optimal routing.
  6654  	//
  6655  	// The default value is 100.
  6656  	TrafficDialPercentage *float64 `type:"float"`
  6657  }
  6658  
  6659  // String returns the string representation.
  6660  //
  6661  // API parameter values that are decorated as "sensitive" in the API will not
  6662  // be included in the string output. The member name will be present, but the
  6663  // value will be replaced with "sensitive".
  6664  func (s CreateEndpointGroupInput) String() string {
  6665  	return awsutil.Prettify(s)
  6666  }
  6667  
  6668  // GoString returns the string representation.
  6669  //
  6670  // API parameter values that are decorated as "sensitive" in the API will not
  6671  // be included in the string output. The member name will be present, but the
  6672  // value will be replaced with "sensitive".
  6673  func (s CreateEndpointGroupInput) GoString() string {
  6674  	return s.String()
  6675  }
  6676  
  6677  // Validate inspects the fields of the type to determine if they are valid.
  6678  func (s *CreateEndpointGroupInput) Validate() error {
  6679  	invalidParams := request.ErrInvalidParams{Context: "CreateEndpointGroupInput"}
  6680  	if s.EndpointGroupRegion == nil {
  6681  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupRegion"))
  6682  	}
  6683  	if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 10 {
  6684  		invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 10))
  6685  	}
  6686  	if s.HealthCheckPort != nil && *s.HealthCheckPort < 1 {
  6687  		invalidParams.Add(request.NewErrParamMinValue("HealthCheckPort", 1))
  6688  	}
  6689  	if s.ListenerArn == nil {
  6690  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  6691  	}
  6692  	if s.ThresholdCount != nil && *s.ThresholdCount < 1 {
  6693  		invalidParams.Add(request.NewErrParamMinValue("ThresholdCount", 1))
  6694  	}
  6695  	if s.PortOverrides != nil {
  6696  		for i, v := range s.PortOverrides {
  6697  			if v == nil {
  6698  				continue
  6699  			}
  6700  			if err := v.Validate(); err != nil {
  6701  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortOverrides", i), err.(request.ErrInvalidParams))
  6702  			}
  6703  		}
  6704  	}
  6705  
  6706  	if invalidParams.Len() > 0 {
  6707  		return invalidParams
  6708  	}
  6709  	return nil
  6710  }
  6711  
  6712  // SetEndpointConfigurations sets the EndpointConfigurations field's value.
  6713  func (s *CreateEndpointGroupInput) SetEndpointConfigurations(v []*EndpointConfiguration) *CreateEndpointGroupInput {
  6714  	s.EndpointConfigurations = v
  6715  	return s
  6716  }
  6717  
  6718  // SetEndpointGroupRegion sets the EndpointGroupRegion field's value.
  6719  func (s *CreateEndpointGroupInput) SetEndpointGroupRegion(v string) *CreateEndpointGroupInput {
  6720  	s.EndpointGroupRegion = &v
  6721  	return s
  6722  }
  6723  
  6724  // SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
  6725  func (s *CreateEndpointGroupInput) SetHealthCheckIntervalSeconds(v int64) *CreateEndpointGroupInput {
  6726  	s.HealthCheckIntervalSeconds = &v
  6727  	return s
  6728  }
  6729  
  6730  // SetHealthCheckPath sets the HealthCheckPath field's value.
  6731  func (s *CreateEndpointGroupInput) SetHealthCheckPath(v string) *CreateEndpointGroupInput {
  6732  	s.HealthCheckPath = &v
  6733  	return s
  6734  }
  6735  
  6736  // SetHealthCheckPort sets the HealthCheckPort field's value.
  6737  func (s *CreateEndpointGroupInput) SetHealthCheckPort(v int64) *CreateEndpointGroupInput {
  6738  	s.HealthCheckPort = &v
  6739  	return s
  6740  }
  6741  
  6742  // SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
  6743  func (s *CreateEndpointGroupInput) SetHealthCheckProtocol(v string) *CreateEndpointGroupInput {
  6744  	s.HealthCheckProtocol = &v
  6745  	return s
  6746  }
  6747  
  6748  // SetIdempotencyToken sets the IdempotencyToken field's value.
  6749  func (s *CreateEndpointGroupInput) SetIdempotencyToken(v string) *CreateEndpointGroupInput {
  6750  	s.IdempotencyToken = &v
  6751  	return s
  6752  }
  6753  
  6754  // SetListenerArn sets the ListenerArn field's value.
  6755  func (s *CreateEndpointGroupInput) SetListenerArn(v string) *CreateEndpointGroupInput {
  6756  	s.ListenerArn = &v
  6757  	return s
  6758  }
  6759  
  6760  // SetPortOverrides sets the PortOverrides field's value.
  6761  func (s *CreateEndpointGroupInput) SetPortOverrides(v []*PortOverride) *CreateEndpointGroupInput {
  6762  	s.PortOverrides = v
  6763  	return s
  6764  }
  6765  
  6766  // SetThresholdCount sets the ThresholdCount field's value.
  6767  func (s *CreateEndpointGroupInput) SetThresholdCount(v int64) *CreateEndpointGroupInput {
  6768  	s.ThresholdCount = &v
  6769  	return s
  6770  }
  6771  
  6772  // SetTrafficDialPercentage sets the TrafficDialPercentage field's value.
  6773  func (s *CreateEndpointGroupInput) SetTrafficDialPercentage(v float64) *CreateEndpointGroupInput {
  6774  	s.TrafficDialPercentage = &v
  6775  	return s
  6776  }
  6777  
  6778  type CreateEndpointGroupOutput struct {
  6779  	_ struct{} `type:"structure"`
  6780  
  6781  	// The information about the endpoint group that was created.
  6782  	EndpointGroup *EndpointGroup `type:"structure"`
  6783  }
  6784  
  6785  // String returns the string representation.
  6786  //
  6787  // API parameter values that are decorated as "sensitive" in the API will not
  6788  // be included in the string output. The member name will be present, but the
  6789  // value will be replaced with "sensitive".
  6790  func (s CreateEndpointGroupOutput) String() string {
  6791  	return awsutil.Prettify(s)
  6792  }
  6793  
  6794  // GoString returns the string representation.
  6795  //
  6796  // API parameter values that are decorated as "sensitive" in the API will not
  6797  // be included in the string output. The member name will be present, but the
  6798  // value will be replaced with "sensitive".
  6799  func (s CreateEndpointGroupOutput) GoString() string {
  6800  	return s.String()
  6801  }
  6802  
  6803  // SetEndpointGroup sets the EndpointGroup field's value.
  6804  func (s *CreateEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *CreateEndpointGroupOutput {
  6805  	s.EndpointGroup = v
  6806  	return s
  6807  }
  6808  
  6809  type CreateListenerInput struct {
  6810  	_ struct{} `type:"structure"`
  6811  
  6812  	// The Amazon Resource Name (ARN) of your accelerator.
  6813  	//
  6814  	// AcceleratorArn is a required field
  6815  	AcceleratorArn *string `type:"string" required:"true"`
  6816  
  6817  	// Client affinity lets you direct all requests from a user to the same endpoint,
  6818  	// if you have stateful applications, regardless of the port and protocol of
  6819  	// the client request. Client affinity gives you control over whether to always
  6820  	// route each client to the same specific endpoint.
  6821  	//
  6822  	// AWS Global Accelerator uses a consistent-flow hashing algorithm to choose
  6823  	// the optimal endpoint for a connection. If client affinity is NONE, Global
  6824  	// Accelerator uses the "five-tuple" (5-tuple) properties—source IP address,
  6825  	// source port, destination IP address, destination port, and protocol—to
  6826  	// select the hash value, and then chooses the best endpoint. However, with
  6827  	// this setting, if someone uses different ports to connect to Global Accelerator,
  6828  	// their connections might not be always routed to the same endpoint because
  6829  	// the hash value changes.
  6830  	//
  6831  	// If you want a given client to always be routed to the same endpoint, set
  6832  	// client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting,
  6833  	// Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client)
  6834  	// IP address and destination IP address—to select the hash value.
  6835  	//
  6836  	// The default value is NONE.
  6837  	ClientAffinity *string `type:"string" enum:"ClientAffinity"`
  6838  
  6839  	// A unique, case-sensitive identifier that you provide to ensure the idempotency—that
  6840  	// is, the uniqueness—of the request.
  6841  	IdempotencyToken *string `type:"string" idempotencyToken:"true"`
  6842  
  6843  	// The list of port ranges to support for connections from clients to your accelerator.
  6844  	//
  6845  	// PortRanges is a required field
  6846  	PortRanges []*PortRange `min:"1" type:"list" required:"true"`
  6847  
  6848  	// The protocol for connections from clients to your accelerator.
  6849  	//
  6850  	// Protocol is a required field
  6851  	Protocol *string `type:"string" required:"true" enum:"Protocol"`
  6852  }
  6853  
  6854  // String returns the string representation.
  6855  //
  6856  // API parameter values that are decorated as "sensitive" in the API will not
  6857  // be included in the string output. The member name will be present, but the
  6858  // value will be replaced with "sensitive".
  6859  func (s CreateListenerInput) String() string {
  6860  	return awsutil.Prettify(s)
  6861  }
  6862  
  6863  // GoString returns the string representation.
  6864  //
  6865  // API parameter values that are decorated as "sensitive" in the API will not
  6866  // be included in the string output. The member name will be present, but the
  6867  // value will be replaced with "sensitive".
  6868  func (s CreateListenerInput) GoString() string {
  6869  	return s.String()
  6870  }
  6871  
  6872  // Validate inspects the fields of the type to determine if they are valid.
  6873  func (s *CreateListenerInput) Validate() error {
  6874  	invalidParams := request.ErrInvalidParams{Context: "CreateListenerInput"}
  6875  	if s.AcceleratorArn == nil {
  6876  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  6877  	}
  6878  	if s.PortRanges == nil {
  6879  		invalidParams.Add(request.NewErrParamRequired("PortRanges"))
  6880  	}
  6881  	if s.PortRanges != nil && len(s.PortRanges) < 1 {
  6882  		invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1))
  6883  	}
  6884  	if s.Protocol == nil {
  6885  		invalidParams.Add(request.NewErrParamRequired("Protocol"))
  6886  	}
  6887  	if s.PortRanges != nil {
  6888  		for i, v := range s.PortRanges {
  6889  			if v == nil {
  6890  				continue
  6891  			}
  6892  			if err := v.Validate(); err != nil {
  6893  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams))
  6894  			}
  6895  		}
  6896  	}
  6897  
  6898  	if invalidParams.Len() > 0 {
  6899  		return invalidParams
  6900  	}
  6901  	return nil
  6902  }
  6903  
  6904  // SetAcceleratorArn sets the AcceleratorArn field's value.
  6905  func (s *CreateListenerInput) SetAcceleratorArn(v string) *CreateListenerInput {
  6906  	s.AcceleratorArn = &v
  6907  	return s
  6908  }
  6909  
  6910  // SetClientAffinity sets the ClientAffinity field's value.
  6911  func (s *CreateListenerInput) SetClientAffinity(v string) *CreateListenerInput {
  6912  	s.ClientAffinity = &v
  6913  	return s
  6914  }
  6915  
  6916  // SetIdempotencyToken sets the IdempotencyToken field's value.
  6917  func (s *CreateListenerInput) SetIdempotencyToken(v string) *CreateListenerInput {
  6918  	s.IdempotencyToken = &v
  6919  	return s
  6920  }
  6921  
  6922  // SetPortRanges sets the PortRanges field's value.
  6923  func (s *CreateListenerInput) SetPortRanges(v []*PortRange) *CreateListenerInput {
  6924  	s.PortRanges = v
  6925  	return s
  6926  }
  6927  
  6928  // SetProtocol sets the Protocol field's value.
  6929  func (s *CreateListenerInput) SetProtocol(v string) *CreateListenerInput {
  6930  	s.Protocol = &v
  6931  	return s
  6932  }
  6933  
  6934  type CreateListenerOutput struct {
  6935  	_ struct{} `type:"structure"`
  6936  
  6937  	// The listener that you've created.
  6938  	Listener *Listener `type:"structure"`
  6939  }
  6940  
  6941  // String returns the string representation.
  6942  //
  6943  // API parameter values that are decorated as "sensitive" in the API will not
  6944  // be included in the string output. The member name will be present, but the
  6945  // value will be replaced with "sensitive".
  6946  func (s CreateListenerOutput) String() string {
  6947  	return awsutil.Prettify(s)
  6948  }
  6949  
  6950  // GoString returns the string representation.
  6951  //
  6952  // API parameter values that are decorated as "sensitive" in the API will not
  6953  // be included in the string output. The member name will be present, but the
  6954  // value will be replaced with "sensitive".
  6955  func (s CreateListenerOutput) GoString() string {
  6956  	return s.String()
  6957  }
  6958  
  6959  // SetListener sets the Listener field's value.
  6960  func (s *CreateListenerOutput) SetListener(v *Listener) *CreateListenerOutput {
  6961  	s.Listener = v
  6962  	return s
  6963  }
  6964  
  6965  // Attributes of a custom routing accelerator.
  6966  type CustomRoutingAccelerator struct {
  6967  	_ struct{} `type:"structure"`
  6968  
  6969  	// The Amazon Resource Name (ARN) of the custom routing accelerator.
  6970  	AcceleratorArn *string `type:"string"`
  6971  
  6972  	// The date and time that the accelerator was created.
  6973  	CreatedTime *time.Time `type:"timestamp"`
  6974  
  6975  	// The Domain Name System (DNS) name that Global Accelerator creates that points
  6976  	// to your accelerator's static IP addresses.
  6977  	//
  6978  	// The naming convention for the DNS name is the following: A lowercase letter
  6979  	// a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com.
  6980  	// For example: a1234567890abcdef.awsglobalaccelerator.com.
  6981  	//
  6982  	// For more information about the default DNS name, see Support for DNS Addressing
  6983  	// in Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing)
  6984  	// in the AWS Global Accelerator Developer Guide.
  6985  	DnsName *string `type:"string"`
  6986  
  6987  	// Indicates whether the accelerator is enabled. The value is true or false.
  6988  	// The default value is true.
  6989  	//
  6990  	// If the value is set to true, the accelerator cannot be deleted. If set to
  6991  	// false, accelerator can be deleted.
  6992  	Enabled *bool `type:"boolean"`
  6993  
  6994  	// The value for the address type must be IPv4.
  6995  	IpAddressType *string `type:"string" enum:"IpAddressType"`
  6996  
  6997  	// The static IP addresses that Global Accelerator associates with the accelerator.
  6998  	IpSets []*IpSet `type:"list"`
  6999  
  7000  	// The date and time that the accelerator was last modified.
  7001  	LastModifiedTime *time.Time `type:"timestamp"`
  7002  
  7003  	// The name of the accelerator. The name must contain only alphanumeric characters
  7004  	// or hyphens (-), and must not begin or end with a hyphen.
  7005  	Name *string `type:"string"`
  7006  
  7007  	// Describes the deployment status of the accelerator.
  7008  	Status *string `type:"string" enum:"CustomRoutingAcceleratorStatus"`
  7009  }
  7010  
  7011  // String returns the string representation.
  7012  //
  7013  // API parameter values that are decorated as "sensitive" in the API will not
  7014  // be included in the string output. The member name will be present, but the
  7015  // value will be replaced with "sensitive".
  7016  func (s CustomRoutingAccelerator) String() string {
  7017  	return awsutil.Prettify(s)
  7018  }
  7019  
  7020  // GoString returns the string representation.
  7021  //
  7022  // API parameter values that are decorated as "sensitive" in the API will not
  7023  // be included in the string output. The member name will be present, but the
  7024  // value will be replaced with "sensitive".
  7025  func (s CustomRoutingAccelerator) GoString() string {
  7026  	return s.String()
  7027  }
  7028  
  7029  // SetAcceleratorArn sets the AcceleratorArn field's value.
  7030  func (s *CustomRoutingAccelerator) SetAcceleratorArn(v string) *CustomRoutingAccelerator {
  7031  	s.AcceleratorArn = &v
  7032  	return s
  7033  }
  7034  
  7035  // SetCreatedTime sets the CreatedTime field's value.
  7036  func (s *CustomRoutingAccelerator) SetCreatedTime(v time.Time) *CustomRoutingAccelerator {
  7037  	s.CreatedTime = &v
  7038  	return s
  7039  }
  7040  
  7041  // SetDnsName sets the DnsName field's value.
  7042  func (s *CustomRoutingAccelerator) SetDnsName(v string) *CustomRoutingAccelerator {
  7043  	s.DnsName = &v
  7044  	return s
  7045  }
  7046  
  7047  // SetEnabled sets the Enabled field's value.
  7048  func (s *CustomRoutingAccelerator) SetEnabled(v bool) *CustomRoutingAccelerator {
  7049  	s.Enabled = &v
  7050  	return s
  7051  }
  7052  
  7053  // SetIpAddressType sets the IpAddressType field's value.
  7054  func (s *CustomRoutingAccelerator) SetIpAddressType(v string) *CustomRoutingAccelerator {
  7055  	s.IpAddressType = &v
  7056  	return s
  7057  }
  7058  
  7059  // SetIpSets sets the IpSets field's value.
  7060  func (s *CustomRoutingAccelerator) SetIpSets(v []*IpSet) *CustomRoutingAccelerator {
  7061  	s.IpSets = v
  7062  	return s
  7063  }
  7064  
  7065  // SetLastModifiedTime sets the LastModifiedTime field's value.
  7066  func (s *CustomRoutingAccelerator) SetLastModifiedTime(v time.Time) *CustomRoutingAccelerator {
  7067  	s.LastModifiedTime = &v
  7068  	return s
  7069  }
  7070  
  7071  // SetName sets the Name field's value.
  7072  func (s *CustomRoutingAccelerator) SetName(v string) *CustomRoutingAccelerator {
  7073  	s.Name = &v
  7074  	return s
  7075  }
  7076  
  7077  // SetStatus sets the Status field's value.
  7078  func (s *CustomRoutingAccelerator) SetStatus(v string) *CustomRoutingAccelerator {
  7079  	s.Status = &v
  7080  	return s
  7081  }
  7082  
  7083  // Attributes of a custom routing accelerator.
  7084  type CustomRoutingAcceleratorAttributes struct {
  7085  	_ struct{} `type:"structure"`
  7086  
  7087  	// Indicates whether flow logs are enabled. The default value is false. If the
  7088  	// value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.
  7089  	//
  7090  	// For more information, see Flow Logs (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html)
  7091  	// in the AWS Global Accelerator Developer Guide.
  7092  	FlowLogsEnabled *bool `type:"boolean"`
  7093  
  7094  	// The name of the Amazon S3 bucket for the flow logs. Attribute is required
  7095  	// if FlowLogsEnabled is true. The bucket must exist and have a bucket policy
  7096  	// that grants AWS Global Accelerator permission to write to the bucket.
  7097  	FlowLogsS3Bucket *string `type:"string"`
  7098  
  7099  	// The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute
  7100  	// is required if FlowLogsEnabled is true.
  7101  	//
  7102  	// If you don’t specify a prefix, the flow logs are stored in the root of
  7103  	// the bucket. If you specify slash (/) for the S3 bucket prefix, the log file
  7104  	// bucket folder structure will include a double slash (//), like the following:
  7105  	//
  7106  	// DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id
  7107  	FlowLogsS3Prefix *string `type:"string"`
  7108  }
  7109  
  7110  // String returns the string representation.
  7111  //
  7112  // API parameter values that are decorated as "sensitive" in the API will not
  7113  // be included in the string output. The member name will be present, but the
  7114  // value will be replaced with "sensitive".
  7115  func (s CustomRoutingAcceleratorAttributes) String() string {
  7116  	return awsutil.Prettify(s)
  7117  }
  7118  
  7119  // GoString returns the string representation.
  7120  //
  7121  // API parameter values that are decorated as "sensitive" in the API will not
  7122  // be included in the string output. The member name will be present, but the
  7123  // value will be replaced with "sensitive".
  7124  func (s CustomRoutingAcceleratorAttributes) GoString() string {
  7125  	return s.String()
  7126  }
  7127  
  7128  // SetFlowLogsEnabled sets the FlowLogsEnabled field's value.
  7129  func (s *CustomRoutingAcceleratorAttributes) SetFlowLogsEnabled(v bool) *CustomRoutingAcceleratorAttributes {
  7130  	s.FlowLogsEnabled = &v
  7131  	return s
  7132  }
  7133  
  7134  // SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value.
  7135  func (s *CustomRoutingAcceleratorAttributes) SetFlowLogsS3Bucket(v string) *CustomRoutingAcceleratorAttributes {
  7136  	s.FlowLogsS3Bucket = &v
  7137  	return s
  7138  }
  7139  
  7140  // SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value.
  7141  func (s *CustomRoutingAcceleratorAttributes) SetFlowLogsS3Prefix(v string) *CustomRoutingAcceleratorAttributes {
  7142  	s.FlowLogsS3Prefix = &v
  7143  	return s
  7144  }
  7145  
  7146  // For a custom routing accelerator, sets the port range and protocol for all
  7147  // endpoints (virtual private cloud subnets) in an endpoint group to accept
  7148  // client traffic on.
  7149  type CustomRoutingDestinationConfiguration struct {
  7150  	_ struct{} `type:"structure"`
  7151  
  7152  	// The first port, inclusive, in the range of ports for the endpoint group that
  7153  	// is associated with a custom routing accelerator.
  7154  	//
  7155  	// FromPort is a required field
  7156  	FromPort *int64 `min:"1" type:"integer" required:"true"`
  7157  
  7158  	// The protocol for the endpoint group that is associated with a custom routing
  7159  	// accelerator. The protocol can be either TCP or UDP.
  7160  	//
  7161  	// Protocols is a required field
  7162  	Protocols []*string `min:"1" type:"list" required:"true"`
  7163  
  7164  	// The last port, inclusive, in the range of ports for the endpoint group that
  7165  	// is associated with a custom routing accelerator.
  7166  	//
  7167  	// ToPort is a required field
  7168  	ToPort *int64 `min:"1" type:"integer" required:"true"`
  7169  }
  7170  
  7171  // String returns the string representation.
  7172  //
  7173  // API parameter values that are decorated as "sensitive" in the API will not
  7174  // be included in the string output. The member name will be present, but the
  7175  // value will be replaced with "sensitive".
  7176  func (s CustomRoutingDestinationConfiguration) String() string {
  7177  	return awsutil.Prettify(s)
  7178  }
  7179  
  7180  // GoString returns the string representation.
  7181  //
  7182  // API parameter values that are decorated as "sensitive" in the API will not
  7183  // be included in the string output. The member name will be present, but the
  7184  // value will be replaced with "sensitive".
  7185  func (s CustomRoutingDestinationConfiguration) GoString() string {
  7186  	return s.String()
  7187  }
  7188  
  7189  // Validate inspects the fields of the type to determine if they are valid.
  7190  func (s *CustomRoutingDestinationConfiguration) Validate() error {
  7191  	invalidParams := request.ErrInvalidParams{Context: "CustomRoutingDestinationConfiguration"}
  7192  	if s.FromPort == nil {
  7193  		invalidParams.Add(request.NewErrParamRequired("FromPort"))
  7194  	}
  7195  	if s.FromPort != nil && *s.FromPort < 1 {
  7196  		invalidParams.Add(request.NewErrParamMinValue("FromPort", 1))
  7197  	}
  7198  	if s.Protocols == nil {
  7199  		invalidParams.Add(request.NewErrParamRequired("Protocols"))
  7200  	}
  7201  	if s.Protocols != nil && len(s.Protocols) < 1 {
  7202  		invalidParams.Add(request.NewErrParamMinLen("Protocols", 1))
  7203  	}
  7204  	if s.ToPort == nil {
  7205  		invalidParams.Add(request.NewErrParamRequired("ToPort"))
  7206  	}
  7207  	if s.ToPort != nil && *s.ToPort < 1 {
  7208  		invalidParams.Add(request.NewErrParamMinValue("ToPort", 1))
  7209  	}
  7210  
  7211  	if invalidParams.Len() > 0 {
  7212  		return invalidParams
  7213  	}
  7214  	return nil
  7215  }
  7216  
  7217  // SetFromPort sets the FromPort field's value.
  7218  func (s *CustomRoutingDestinationConfiguration) SetFromPort(v int64) *CustomRoutingDestinationConfiguration {
  7219  	s.FromPort = &v
  7220  	return s
  7221  }
  7222  
  7223  // SetProtocols sets the Protocols field's value.
  7224  func (s *CustomRoutingDestinationConfiguration) SetProtocols(v []*string) *CustomRoutingDestinationConfiguration {
  7225  	s.Protocols = v
  7226  	return s
  7227  }
  7228  
  7229  // SetToPort sets the ToPort field's value.
  7230  func (s *CustomRoutingDestinationConfiguration) SetToPort(v int64) *CustomRoutingDestinationConfiguration {
  7231  	s.ToPort = &v
  7232  	return s
  7233  }
  7234  
  7235  // For a custom routing accelerator, describes the port range and protocol for
  7236  // all endpoints (virtual private cloud subnets) in an endpoint group to accept
  7237  // client traffic on.
  7238  type CustomRoutingDestinationDescription struct {
  7239  	_ struct{} `type:"structure"`
  7240  
  7241  	// The first port, inclusive, in the range of ports for the endpoint group that
  7242  	// is associated with a custom routing accelerator.
  7243  	FromPort *int64 `min:"1" type:"integer"`
  7244  
  7245  	// The protocol for the endpoint group that is associated with a custom routing
  7246  	// accelerator. The protocol can be either TCP or UDP.
  7247  	Protocols []*string `type:"list"`
  7248  
  7249  	// The last port, inclusive, in the range of ports for the endpoint group that
  7250  	// is associated with a custom routing accelerator.
  7251  	ToPort *int64 `min:"1" type:"integer"`
  7252  }
  7253  
  7254  // String returns the string representation.
  7255  //
  7256  // API parameter values that are decorated as "sensitive" in the API will not
  7257  // be included in the string output. The member name will be present, but the
  7258  // value will be replaced with "sensitive".
  7259  func (s CustomRoutingDestinationDescription) String() string {
  7260  	return awsutil.Prettify(s)
  7261  }
  7262  
  7263  // GoString returns the string representation.
  7264  //
  7265  // API parameter values that are decorated as "sensitive" in the API will not
  7266  // be included in the string output. The member name will be present, but the
  7267  // value will be replaced with "sensitive".
  7268  func (s CustomRoutingDestinationDescription) GoString() string {
  7269  	return s.String()
  7270  }
  7271  
  7272  // SetFromPort sets the FromPort field's value.
  7273  func (s *CustomRoutingDestinationDescription) SetFromPort(v int64) *CustomRoutingDestinationDescription {
  7274  	s.FromPort = &v
  7275  	return s
  7276  }
  7277  
  7278  // SetProtocols sets the Protocols field's value.
  7279  func (s *CustomRoutingDestinationDescription) SetProtocols(v []*string) *CustomRoutingDestinationDescription {
  7280  	s.Protocols = v
  7281  	return s
  7282  }
  7283  
  7284  // SetToPort sets the ToPort field's value.
  7285  func (s *CustomRoutingDestinationDescription) SetToPort(v int64) *CustomRoutingDestinationDescription {
  7286  	s.ToPort = &v
  7287  	return s
  7288  }
  7289  
  7290  // The list of endpoint objects. For custom routing, this is a list of virtual
  7291  // private cloud (VPC) subnet IDs.
  7292  type CustomRoutingEndpointConfiguration struct {
  7293  	_ struct{} `type:"structure"`
  7294  
  7295  	// An ID for the endpoint. For custom routing accelerators, this is the virtual
  7296  	// private cloud (VPC) subnet ID.
  7297  	EndpointId *string `type:"string"`
  7298  }
  7299  
  7300  // String returns the string representation.
  7301  //
  7302  // API parameter values that are decorated as "sensitive" in the API will not
  7303  // be included in the string output. The member name will be present, but the
  7304  // value will be replaced with "sensitive".
  7305  func (s CustomRoutingEndpointConfiguration) String() string {
  7306  	return awsutil.Prettify(s)
  7307  }
  7308  
  7309  // GoString returns the string representation.
  7310  //
  7311  // API parameter values that are decorated as "sensitive" in the API will not
  7312  // be included in the string output. The member name will be present, but the
  7313  // value will be replaced with "sensitive".
  7314  func (s CustomRoutingEndpointConfiguration) GoString() string {
  7315  	return s.String()
  7316  }
  7317  
  7318  // SetEndpointId sets the EndpointId field's value.
  7319  func (s *CustomRoutingEndpointConfiguration) SetEndpointId(v string) *CustomRoutingEndpointConfiguration {
  7320  	s.EndpointId = &v
  7321  	return s
  7322  }
  7323  
  7324  // A complex type for an endpoint for a custom routing accelerator. Each endpoint
  7325  // group can include one or more endpoints, which are virtual private cloud
  7326  // (VPC) subnets.
  7327  type CustomRoutingEndpointDescription struct {
  7328  	_ struct{} `type:"structure"`
  7329  
  7330  	// An ID for the endpoint. For custom routing accelerators, this is the virtual
  7331  	// private cloud (VPC) subnet ID.
  7332  	EndpointId *string `type:"string"`
  7333  }
  7334  
  7335  // String returns the string representation.
  7336  //
  7337  // API parameter values that are decorated as "sensitive" in the API will not
  7338  // be included in the string output. The member name will be present, but the
  7339  // value will be replaced with "sensitive".
  7340  func (s CustomRoutingEndpointDescription) String() string {
  7341  	return awsutil.Prettify(s)
  7342  }
  7343  
  7344  // GoString returns the string representation.
  7345  //
  7346  // API parameter values that are decorated as "sensitive" in the API will not
  7347  // be included in the string output. The member name will be present, but the
  7348  // value will be replaced with "sensitive".
  7349  func (s CustomRoutingEndpointDescription) GoString() string {
  7350  	return s.String()
  7351  }
  7352  
  7353  // SetEndpointId sets the EndpointId field's value.
  7354  func (s *CustomRoutingEndpointDescription) SetEndpointId(v string) *CustomRoutingEndpointDescription {
  7355  	s.EndpointId = &v
  7356  	return s
  7357  }
  7358  
  7359  // A complex type for the endpoint group for a custom routing accelerator. An
  7360  // AWS Region can have only one endpoint group for a specific listener.
  7361  type CustomRoutingEndpointGroup struct {
  7362  	_ struct{} `type:"structure"`
  7363  
  7364  	// For a custom routing accelerator, describes the port range and protocol for
  7365  	// all endpoints (virtual private cloud subnets) in an endpoint group to accept
  7366  	// client traffic on.
  7367  	DestinationDescriptions []*CustomRoutingDestinationDescription `type:"list"`
  7368  
  7369  	// For a custom routing accelerator, describes the endpoints (virtual private
  7370  	// cloud subnets) in an endpoint group to accept client traffic on.
  7371  	EndpointDescriptions []*CustomRoutingEndpointDescription `type:"list"`
  7372  
  7373  	// The Amazon Resource Name (ARN) of the endpoint group.
  7374  	EndpointGroupArn *string `type:"string"`
  7375  
  7376  	// The AWS Region where the endpoint group is located.
  7377  	EndpointGroupRegion *string `type:"string"`
  7378  }
  7379  
  7380  // String returns the string representation.
  7381  //
  7382  // API parameter values that are decorated as "sensitive" in the API will not
  7383  // be included in the string output. The member name will be present, but the
  7384  // value will be replaced with "sensitive".
  7385  func (s CustomRoutingEndpointGroup) String() string {
  7386  	return awsutil.Prettify(s)
  7387  }
  7388  
  7389  // GoString returns the string representation.
  7390  //
  7391  // API parameter values that are decorated as "sensitive" in the API will not
  7392  // be included in the string output. The member name will be present, but the
  7393  // value will be replaced with "sensitive".
  7394  func (s CustomRoutingEndpointGroup) GoString() string {
  7395  	return s.String()
  7396  }
  7397  
  7398  // SetDestinationDescriptions sets the DestinationDescriptions field's value.
  7399  func (s *CustomRoutingEndpointGroup) SetDestinationDescriptions(v []*CustomRoutingDestinationDescription) *CustomRoutingEndpointGroup {
  7400  	s.DestinationDescriptions = v
  7401  	return s
  7402  }
  7403  
  7404  // SetEndpointDescriptions sets the EndpointDescriptions field's value.
  7405  func (s *CustomRoutingEndpointGroup) SetEndpointDescriptions(v []*CustomRoutingEndpointDescription) *CustomRoutingEndpointGroup {
  7406  	s.EndpointDescriptions = v
  7407  	return s
  7408  }
  7409  
  7410  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  7411  func (s *CustomRoutingEndpointGroup) SetEndpointGroupArn(v string) *CustomRoutingEndpointGroup {
  7412  	s.EndpointGroupArn = &v
  7413  	return s
  7414  }
  7415  
  7416  // SetEndpointGroupRegion sets the EndpointGroupRegion field's value.
  7417  func (s *CustomRoutingEndpointGroup) SetEndpointGroupRegion(v string) *CustomRoutingEndpointGroup {
  7418  	s.EndpointGroupRegion = &v
  7419  	return s
  7420  }
  7421  
  7422  // A complex type for a listener for a custom routing accelerator.
  7423  type CustomRoutingListener struct {
  7424  	_ struct{} `type:"structure"`
  7425  
  7426  	// The Amazon Resource Name (ARN) of the listener.
  7427  	ListenerArn *string `type:"string"`
  7428  
  7429  	// The port range to support for connections from clients to your accelerator.
  7430  	//
  7431  	// Separately, you set port ranges for endpoints. For more information, see
  7432  	// About endpoints for custom routing accelerators (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html).
  7433  	PortRanges []*PortRange `min:"1" type:"list"`
  7434  }
  7435  
  7436  // String returns the string representation.
  7437  //
  7438  // API parameter values that are decorated as "sensitive" in the API will not
  7439  // be included in the string output. The member name will be present, but the
  7440  // value will be replaced with "sensitive".
  7441  func (s CustomRoutingListener) String() string {
  7442  	return awsutil.Prettify(s)
  7443  }
  7444  
  7445  // GoString returns the string representation.
  7446  //
  7447  // API parameter values that are decorated as "sensitive" in the API will not
  7448  // be included in the string output. The member name will be present, but the
  7449  // value will be replaced with "sensitive".
  7450  func (s CustomRoutingListener) GoString() string {
  7451  	return s.String()
  7452  }
  7453  
  7454  // SetListenerArn sets the ListenerArn field's value.
  7455  func (s *CustomRoutingListener) SetListenerArn(v string) *CustomRoutingListener {
  7456  	s.ListenerArn = &v
  7457  	return s
  7458  }
  7459  
  7460  // SetPortRanges sets the PortRanges field's value.
  7461  func (s *CustomRoutingListener) SetPortRanges(v []*PortRange) *CustomRoutingListener {
  7462  	s.PortRanges = v
  7463  	return s
  7464  }
  7465  
  7466  type DeleteAcceleratorInput struct {
  7467  	_ struct{} `type:"structure"`
  7468  
  7469  	// The Amazon Resource Name (ARN) of an accelerator.
  7470  	//
  7471  	// AcceleratorArn is a required field
  7472  	AcceleratorArn *string `type:"string" required:"true"`
  7473  }
  7474  
  7475  // String returns the string representation.
  7476  //
  7477  // API parameter values that are decorated as "sensitive" in the API will not
  7478  // be included in the string output. The member name will be present, but the
  7479  // value will be replaced with "sensitive".
  7480  func (s DeleteAcceleratorInput) String() string {
  7481  	return awsutil.Prettify(s)
  7482  }
  7483  
  7484  // GoString returns the string representation.
  7485  //
  7486  // API parameter values that are decorated as "sensitive" in the API will not
  7487  // be included in the string output. The member name will be present, but the
  7488  // value will be replaced with "sensitive".
  7489  func (s DeleteAcceleratorInput) GoString() string {
  7490  	return s.String()
  7491  }
  7492  
  7493  // Validate inspects the fields of the type to determine if they are valid.
  7494  func (s *DeleteAcceleratorInput) Validate() error {
  7495  	invalidParams := request.ErrInvalidParams{Context: "DeleteAcceleratorInput"}
  7496  	if s.AcceleratorArn == nil {
  7497  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  7498  	}
  7499  
  7500  	if invalidParams.Len() > 0 {
  7501  		return invalidParams
  7502  	}
  7503  	return nil
  7504  }
  7505  
  7506  // SetAcceleratorArn sets the AcceleratorArn field's value.
  7507  func (s *DeleteAcceleratorInput) SetAcceleratorArn(v string) *DeleteAcceleratorInput {
  7508  	s.AcceleratorArn = &v
  7509  	return s
  7510  }
  7511  
  7512  type DeleteAcceleratorOutput struct {
  7513  	_ struct{} `type:"structure"`
  7514  }
  7515  
  7516  // String returns the string representation.
  7517  //
  7518  // API parameter values that are decorated as "sensitive" in the API will not
  7519  // be included in the string output. The member name will be present, but the
  7520  // value will be replaced with "sensitive".
  7521  func (s DeleteAcceleratorOutput) String() string {
  7522  	return awsutil.Prettify(s)
  7523  }
  7524  
  7525  // GoString returns the string representation.
  7526  //
  7527  // API parameter values that are decorated as "sensitive" in the API will not
  7528  // be included in the string output. The member name will be present, but the
  7529  // value will be replaced with "sensitive".
  7530  func (s DeleteAcceleratorOutput) GoString() string {
  7531  	return s.String()
  7532  }
  7533  
  7534  type DeleteCustomRoutingAcceleratorInput struct {
  7535  	_ struct{} `type:"structure"`
  7536  
  7537  	// The Amazon Resource Name (ARN) of the custom routing accelerator to delete.
  7538  	//
  7539  	// AcceleratorArn is a required field
  7540  	AcceleratorArn *string `type:"string" required:"true"`
  7541  }
  7542  
  7543  // String returns the string representation.
  7544  //
  7545  // API parameter values that are decorated as "sensitive" in the API will not
  7546  // be included in the string output. The member name will be present, but the
  7547  // value will be replaced with "sensitive".
  7548  func (s DeleteCustomRoutingAcceleratorInput) String() string {
  7549  	return awsutil.Prettify(s)
  7550  }
  7551  
  7552  // GoString returns the string representation.
  7553  //
  7554  // API parameter values that are decorated as "sensitive" in the API will not
  7555  // be included in the string output. The member name will be present, but the
  7556  // value will be replaced with "sensitive".
  7557  func (s DeleteCustomRoutingAcceleratorInput) GoString() string {
  7558  	return s.String()
  7559  }
  7560  
  7561  // Validate inspects the fields of the type to determine if they are valid.
  7562  func (s *DeleteCustomRoutingAcceleratorInput) Validate() error {
  7563  	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomRoutingAcceleratorInput"}
  7564  	if s.AcceleratorArn == nil {
  7565  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  7566  	}
  7567  
  7568  	if invalidParams.Len() > 0 {
  7569  		return invalidParams
  7570  	}
  7571  	return nil
  7572  }
  7573  
  7574  // SetAcceleratorArn sets the AcceleratorArn field's value.
  7575  func (s *DeleteCustomRoutingAcceleratorInput) SetAcceleratorArn(v string) *DeleteCustomRoutingAcceleratorInput {
  7576  	s.AcceleratorArn = &v
  7577  	return s
  7578  }
  7579  
  7580  type DeleteCustomRoutingAcceleratorOutput struct {
  7581  	_ struct{} `type:"structure"`
  7582  }
  7583  
  7584  // String returns the string representation.
  7585  //
  7586  // API parameter values that are decorated as "sensitive" in the API will not
  7587  // be included in the string output. The member name will be present, but the
  7588  // value will be replaced with "sensitive".
  7589  func (s DeleteCustomRoutingAcceleratorOutput) String() string {
  7590  	return awsutil.Prettify(s)
  7591  }
  7592  
  7593  // GoString returns the string representation.
  7594  //
  7595  // API parameter values that are decorated as "sensitive" in the API will not
  7596  // be included in the string output. The member name will be present, but the
  7597  // value will be replaced with "sensitive".
  7598  func (s DeleteCustomRoutingAcceleratorOutput) GoString() string {
  7599  	return s.String()
  7600  }
  7601  
  7602  type DeleteCustomRoutingEndpointGroupInput struct {
  7603  	_ struct{} `type:"structure"`
  7604  
  7605  	// The Amazon Resource Name (ARN) of the endpoint group to delete.
  7606  	//
  7607  	// EndpointGroupArn is a required field
  7608  	EndpointGroupArn *string `type:"string" required:"true"`
  7609  }
  7610  
  7611  // String returns the string representation.
  7612  //
  7613  // API parameter values that are decorated as "sensitive" in the API will not
  7614  // be included in the string output. The member name will be present, but the
  7615  // value will be replaced with "sensitive".
  7616  func (s DeleteCustomRoutingEndpointGroupInput) String() string {
  7617  	return awsutil.Prettify(s)
  7618  }
  7619  
  7620  // GoString returns the string representation.
  7621  //
  7622  // API parameter values that are decorated as "sensitive" in the API will not
  7623  // be included in the string output. The member name will be present, but the
  7624  // value will be replaced with "sensitive".
  7625  func (s DeleteCustomRoutingEndpointGroupInput) GoString() string {
  7626  	return s.String()
  7627  }
  7628  
  7629  // Validate inspects the fields of the type to determine if they are valid.
  7630  func (s *DeleteCustomRoutingEndpointGroupInput) Validate() error {
  7631  	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomRoutingEndpointGroupInput"}
  7632  	if s.EndpointGroupArn == nil {
  7633  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
  7634  	}
  7635  
  7636  	if invalidParams.Len() > 0 {
  7637  		return invalidParams
  7638  	}
  7639  	return nil
  7640  }
  7641  
  7642  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  7643  func (s *DeleteCustomRoutingEndpointGroupInput) SetEndpointGroupArn(v string) *DeleteCustomRoutingEndpointGroupInput {
  7644  	s.EndpointGroupArn = &v
  7645  	return s
  7646  }
  7647  
  7648  type DeleteCustomRoutingEndpointGroupOutput struct {
  7649  	_ struct{} `type:"structure"`
  7650  }
  7651  
  7652  // String returns the string representation.
  7653  //
  7654  // API parameter values that are decorated as "sensitive" in the API will not
  7655  // be included in the string output. The member name will be present, but the
  7656  // value will be replaced with "sensitive".
  7657  func (s DeleteCustomRoutingEndpointGroupOutput) String() string {
  7658  	return awsutil.Prettify(s)
  7659  }
  7660  
  7661  // GoString returns the string representation.
  7662  //
  7663  // API parameter values that are decorated as "sensitive" in the API will not
  7664  // be included in the string output. The member name will be present, but the
  7665  // value will be replaced with "sensitive".
  7666  func (s DeleteCustomRoutingEndpointGroupOutput) GoString() string {
  7667  	return s.String()
  7668  }
  7669  
  7670  type DeleteCustomRoutingListenerInput struct {
  7671  	_ struct{} `type:"structure"`
  7672  
  7673  	// The Amazon Resource Name (ARN) of the listener to delete.
  7674  	//
  7675  	// ListenerArn is a required field
  7676  	ListenerArn *string `type:"string" required:"true"`
  7677  }
  7678  
  7679  // String returns the string representation.
  7680  //
  7681  // API parameter values that are decorated as "sensitive" in the API will not
  7682  // be included in the string output. The member name will be present, but the
  7683  // value will be replaced with "sensitive".
  7684  func (s DeleteCustomRoutingListenerInput) String() string {
  7685  	return awsutil.Prettify(s)
  7686  }
  7687  
  7688  // GoString returns the string representation.
  7689  //
  7690  // API parameter values that are decorated as "sensitive" in the API will not
  7691  // be included in the string output. The member name will be present, but the
  7692  // value will be replaced with "sensitive".
  7693  func (s DeleteCustomRoutingListenerInput) GoString() string {
  7694  	return s.String()
  7695  }
  7696  
  7697  // Validate inspects the fields of the type to determine if they are valid.
  7698  func (s *DeleteCustomRoutingListenerInput) Validate() error {
  7699  	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomRoutingListenerInput"}
  7700  	if s.ListenerArn == nil {
  7701  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  7702  	}
  7703  
  7704  	if invalidParams.Len() > 0 {
  7705  		return invalidParams
  7706  	}
  7707  	return nil
  7708  }
  7709  
  7710  // SetListenerArn sets the ListenerArn field's value.
  7711  func (s *DeleteCustomRoutingListenerInput) SetListenerArn(v string) *DeleteCustomRoutingListenerInput {
  7712  	s.ListenerArn = &v
  7713  	return s
  7714  }
  7715  
  7716  type DeleteCustomRoutingListenerOutput struct {
  7717  	_ struct{} `type:"structure"`
  7718  }
  7719  
  7720  // String returns the string representation.
  7721  //
  7722  // API parameter values that are decorated as "sensitive" in the API will not
  7723  // be included in the string output. The member name will be present, but the
  7724  // value will be replaced with "sensitive".
  7725  func (s DeleteCustomRoutingListenerOutput) String() string {
  7726  	return awsutil.Prettify(s)
  7727  }
  7728  
  7729  // GoString returns the string representation.
  7730  //
  7731  // API parameter values that are decorated as "sensitive" in the API will not
  7732  // be included in the string output. The member name will be present, but the
  7733  // value will be replaced with "sensitive".
  7734  func (s DeleteCustomRoutingListenerOutput) GoString() string {
  7735  	return s.String()
  7736  }
  7737  
  7738  type DeleteEndpointGroupInput struct {
  7739  	_ struct{} `type:"structure"`
  7740  
  7741  	// The Amazon Resource Name (ARN) of the endpoint group to delete.
  7742  	//
  7743  	// EndpointGroupArn is a required field
  7744  	EndpointGroupArn *string `type:"string" required:"true"`
  7745  }
  7746  
  7747  // String returns the string representation.
  7748  //
  7749  // API parameter values that are decorated as "sensitive" in the API will not
  7750  // be included in the string output. The member name will be present, but the
  7751  // value will be replaced with "sensitive".
  7752  func (s DeleteEndpointGroupInput) String() string {
  7753  	return awsutil.Prettify(s)
  7754  }
  7755  
  7756  // GoString returns the string representation.
  7757  //
  7758  // API parameter values that are decorated as "sensitive" in the API will not
  7759  // be included in the string output. The member name will be present, but the
  7760  // value will be replaced with "sensitive".
  7761  func (s DeleteEndpointGroupInput) GoString() string {
  7762  	return s.String()
  7763  }
  7764  
  7765  // Validate inspects the fields of the type to determine if they are valid.
  7766  func (s *DeleteEndpointGroupInput) Validate() error {
  7767  	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointGroupInput"}
  7768  	if s.EndpointGroupArn == nil {
  7769  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
  7770  	}
  7771  
  7772  	if invalidParams.Len() > 0 {
  7773  		return invalidParams
  7774  	}
  7775  	return nil
  7776  }
  7777  
  7778  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  7779  func (s *DeleteEndpointGroupInput) SetEndpointGroupArn(v string) *DeleteEndpointGroupInput {
  7780  	s.EndpointGroupArn = &v
  7781  	return s
  7782  }
  7783  
  7784  type DeleteEndpointGroupOutput struct {
  7785  	_ struct{} `type:"structure"`
  7786  }
  7787  
  7788  // String returns the string representation.
  7789  //
  7790  // API parameter values that are decorated as "sensitive" in the API will not
  7791  // be included in the string output. The member name will be present, but the
  7792  // value will be replaced with "sensitive".
  7793  func (s DeleteEndpointGroupOutput) String() string {
  7794  	return awsutil.Prettify(s)
  7795  }
  7796  
  7797  // GoString returns the string representation.
  7798  //
  7799  // API parameter values that are decorated as "sensitive" in the API will not
  7800  // be included in the string output. The member name will be present, but the
  7801  // value will be replaced with "sensitive".
  7802  func (s DeleteEndpointGroupOutput) GoString() string {
  7803  	return s.String()
  7804  }
  7805  
  7806  type DeleteListenerInput struct {
  7807  	_ struct{} `type:"structure"`
  7808  
  7809  	// The Amazon Resource Name (ARN) of the listener.
  7810  	//
  7811  	// ListenerArn is a required field
  7812  	ListenerArn *string `type:"string" required:"true"`
  7813  }
  7814  
  7815  // String returns the string representation.
  7816  //
  7817  // API parameter values that are decorated as "sensitive" in the API will not
  7818  // be included in the string output. The member name will be present, but the
  7819  // value will be replaced with "sensitive".
  7820  func (s DeleteListenerInput) String() string {
  7821  	return awsutil.Prettify(s)
  7822  }
  7823  
  7824  // GoString returns the string representation.
  7825  //
  7826  // API parameter values that are decorated as "sensitive" in the API will not
  7827  // be included in the string output. The member name will be present, but the
  7828  // value will be replaced with "sensitive".
  7829  func (s DeleteListenerInput) GoString() string {
  7830  	return s.String()
  7831  }
  7832  
  7833  // Validate inspects the fields of the type to determine if they are valid.
  7834  func (s *DeleteListenerInput) Validate() error {
  7835  	invalidParams := request.ErrInvalidParams{Context: "DeleteListenerInput"}
  7836  	if s.ListenerArn == nil {
  7837  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  7838  	}
  7839  
  7840  	if invalidParams.Len() > 0 {
  7841  		return invalidParams
  7842  	}
  7843  	return nil
  7844  }
  7845  
  7846  // SetListenerArn sets the ListenerArn field's value.
  7847  func (s *DeleteListenerInput) SetListenerArn(v string) *DeleteListenerInput {
  7848  	s.ListenerArn = &v
  7849  	return s
  7850  }
  7851  
  7852  type DeleteListenerOutput struct {
  7853  	_ struct{} `type:"structure"`
  7854  }
  7855  
  7856  // String returns the string representation.
  7857  //
  7858  // API parameter values that are decorated as "sensitive" in the API will not
  7859  // be included in the string output. The member name will be present, but the
  7860  // value will be replaced with "sensitive".
  7861  func (s DeleteListenerOutput) String() string {
  7862  	return awsutil.Prettify(s)
  7863  }
  7864  
  7865  // GoString returns the string representation.
  7866  //
  7867  // API parameter values that are decorated as "sensitive" in the API will not
  7868  // be included in the string output. The member name will be present, but the
  7869  // value will be replaced with "sensitive".
  7870  func (s DeleteListenerOutput) GoString() string {
  7871  	return s.String()
  7872  }
  7873  
  7874  type DenyCustomRoutingTrafficInput struct {
  7875  	_ struct{} `type:"structure"`
  7876  
  7877  	// Indicates whether all destination IP addresses and ports for a specified
  7878  	// VPC subnet endpoint cannot receive traffic from a custom routing accelerator.
  7879  	// The value is TRUE or FALSE.
  7880  	//
  7881  	// When set to TRUE, no destinations in the custom routing VPC subnet can receive
  7882  	// traffic. Note that you cannot specify destination IP addresses and ports
  7883  	// when the value is set to TRUE.
  7884  	//
  7885  	// When set to FALSE (or not specified), you must specify a list of destination
  7886  	// IP addresses that cannot receive traffic. A list of ports is optional. If
  7887  	// you don't specify a list of ports, the ports that can accept traffic is the
  7888  	// same as the ports configured for the endpoint group.
  7889  	//
  7890  	// The default value is FALSE.
  7891  	DenyAllTrafficToEndpoint *bool `type:"boolean"`
  7892  
  7893  	// A list of specific Amazon EC2 instance IP addresses (destination addresses)
  7894  	// in a subnet that you want to prevent from receiving traffic. The IP addresses
  7895  	// must be a subset of the IP addresses allowed for the VPC subnet associated
  7896  	// with the endpoint group.
  7897  	DestinationAddresses []*string `type:"list"`
  7898  
  7899  	// A list of specific Amazon EC2 instance ports (destination ports) in a subnet
  7900  	// endpoint that you want to prevent from receiving traffic.
  7901  	DestinationPorts []*int64 `type:"list"`
  7902  
  7903  	// The Amazon Resource Name (ARN) of the endpoint group.
  7904  	//
  7905  	// EndpointGroupArn is a required field
  7906  	EndpointGroupArn *string `type:"string" required:"true"`
  7907  
  7908  	// An ID for the endpoint. For custom routing accelerators, this is the virtual
  7909  	// private cloud (VPC) subnet ID.
  7910  	//
  7911  	// EndpointId is a required field
  7912  	EndpointId *string `type:"string" required:"true"`
  7913  }
  7914  
  7915  // String returns the string representation.
  7916  //
  7917  // API parameter values that are decorated as "sensitive" in the API will not
  7918  // be included in the string output. The member name will be present, but the
  7919  // value will be replaced with "sensitive".
  7920  func (s DenyCustomRoutingTrafficInput) String() string {
  7921  	return awsutil.Prettify(s)
  7922  }
  7923  
  7924  // GoString returns the string representation.
  7925  //
  7926  // API parameter values that are decorated as "sensitive" in the API will not
  7927  // be included in the string output. The member name will be present, but the
  7928  // value will be replaced with "sensitive".
  7929  func (s DenyCustomRoutingTrafficInput) GoString() string {
  7930  	return s.String()
  7931  }
  7932  
  7933  // Validate inspects the fields of the type to determine if they are valid.
  7934  func (s *DenyCustomRoutingTrafficInput) Validate() error {
  7935  	invalidParams := request.ErrInvalidParams{Context: "DenyCustomRoutingTrafficInput"}
  7936  	if s.EndpointGroupArn == nil {
  7937  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
  7938  	}
  7939  	if s.EndpointId == nil {
  7940  		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
  7941  	}
  7942  
  7943  	if invalidParams.Len() > 0 {
  7944  		return invalidParams
  7945  	}
  7946  	return nil
  7947  }
  7948  
  7949  // SetDenyAllTrafficToEndpoint sets the DenyAllTrafficToEndpoint field's value.
  7950  func (s *DenyCustomRoutingTrafficInput) SetDenyAllTrafficToEndpoint(v bool) *DenyCustomRoutingTrafficInput {
  7951  	s.DenyAllTrafficToEndpoint = &v
  7952  	return s
  7953  }
  7954  
  7955  // SetDestinationAddresses sets the DestinationAddresses field's value.
  7956  func (s *DenyCustomRoutingTrafficInput) SetDestinationAddresses(v []*string) *DenyCustomRoutingTrafficInput {
  7957  	s.DestinationAddresses = v
  7958  	return s
  7959  }
  7960  
  7961  // SetDestinationPorts sets the DestinationPorts field's value.
  7962  func (s *DenyCustomRoutingTrafficInput) SetDestinationPorts(v []*int64) *DenyCustomRoutingTrafficInput {
  7963  	s.DestinationPorts = v
  7964  	return s
  7965  }
  7966  
  7967  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  7968  func (s *DenyCustomRoutingTrafficInput) SetEndpointGroupArn(v string) *DenyCustomRoutingTrafficInput {
  7969  	s.EndpointGroupArn = &v
  7970  	return s
  7971  }
  7972  
  7973  // SetEndpointId sets the EndpointId field's value.
  7974  func (s *DenyCustomRoutingTrafficInput) SetEndpointId(v string) *DenyCustomRoutingTrafficInput {
  7975  	s.EndpointId = &v
  7976  	return s
  7977  }
  7978  
  7979  type DenyCustomRoutingTrafficOutput struct {
  7980  	_ struct{} `type:"structure"`
  7981  }
  7982  
  7983  // String returns the string representation.
  7984  //
  7985  // API parameter values that are decorated as "sensitive" in the API will not
  7986  // be included in the string output. The member name will be present, but the
  7987  // value will be replaced with "sensitive".
  7988  func (s DenyCustomRoutingTrafficOutput) String() string {
  7989  	return awsutil.Prettify(s)
  7990  }
  7991  
  7992  // GoString returns the string representation.
  7993  //
  7994  // API parameter values that are decorated as "sensitive" in the API will not
  7995  // be included in the string output. The member name will be present, but the
  7996  // value will be replaced with "sensitive".
  7997  func (s DenyCustomRoutingTrafficOutput) GoString() string {
  7998  	return s.String()
  7999  }
  8000  
  8001  type DeprovisionByoipCidrInput struct {
  8002  	_ struct{} `type:"structure"`
  8003  
  8004  	// The address range, in CIDR notation. The prefix must be the same prefix that
  8005  	// you specified when you provisioned the address range.
  8006  	//
  8007  	// Cidr is a required field
  8008  	Cidr *string `type:"string" required:"true"`
  8009  }
  8010  
  8011  // String returns the string representation.
  8012  //
  8013  // API parameter values that are decorated as "sensitive" in the API will not
  8014  // be included in the string output. The member name will be present, but the
  8015  // value will be replaced with "sensitive".
  8016  func (s DeprovisionByoipCidrInput) String() string {
  8017  	return awsutil.Prettify(s)
  8018  }
  8019  
  8020  // GoString returns the string representation.
  8021  //
  8022  // API parameter values that are decorated as "sensitive" in the API will not
  8023  // be included in the string output. The member name will be present, but the
  8024  // value will be replaced with "sensitive".
  8025  func (s DeprovisionByoipCidrInput) GoString() string {
  8026  	return s.String()
  8027  }
  8028  
  8029  // Validate inspects the fields of the type to determine if they are valid.
  8030  func (s *DeprovisionByoipCidrInput) Validate() error {
  8031  	invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
  8032  	if s.Cidr == nil {
  8033  		invalidParams.Add(request.NewErrParamRequired("Cidr"))
  8034  	}
  8035  
  8036  	if invalidParams.Len() > 0 {
  8037  		return invalidParams
  8038  	}
  8039  	return nil
  8040  }
  8041  
  8042  // SetCidr sets the Cidr field's value.
  8043  func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
  8044  	s.Cidr = &v
  8045  	return s
  8046  }
  8047  
  8048  type DeprovisionByoipCidrOutput struct {
  8049  	_ struct{} `type:"structure"`
  8050  
  8051  	// Information about the address range.
  8052  	ByoipCidr *ByoipCidr `type:"structure"`
  8053  }
  8054  
  8055  // String returns the string representation.
  8056  //
  8057  // API parameter values that are decorated as "sensitive" in the API will not
  8058  // be included in the string output. The member name will be present, but the
  8059  // value will be replaced with "sensitive".
  8060  func (s DeprovisionByoipCidrOutput) String() string {
  8061  	return awsutil.Prettify(s)
  8062  }
  8063  
  8064  // GoString returns the string representation.
  8065  //
  8066  // API parameter values that are decorated as "sensitive" in the API will not
  8067  // be included in the string output. The member name will be present, but the
  8068  // value will be replaced with "sensitive".
  8069  func (s DeprovisionByoipCidrOutput) GoString() string {
  8070  	return s.String()
  8071  }
  8072  
  8073  // SetByoipCidr sets the ByoipCidr field's value.
  8074  func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
  8075  	s.ByoipCidr = v
  8076  	return s
  8077  }
  8078  
  8079  type DescribeAcceleratorAttributesInput struct {
  8080  	_ struct{} `type:"structure"`
  8081  
  8082  	// The Amazon Resource Name (ARN) of the accelerator with the attributes that
  8083  	// you want to describe.
  8084  	//
  8085  	// AcceleratorArn is a required field
  8086  	AcceleratorArn *string `type:"string" required:"true"`
  8087  }
  8088  
  8089  // String returns the string representation.
  8090  //
  8091  // API parameter values that are decorated as "sensitive" in the API will not
  8092  // be included in the string output. The member name will be present, but the
  8093  // value will be replaced with "sensitive".
  8094  func (s DescribeAcceleratorAttributesInput) String() string {
  8095  	return awsutil.Prettify(s)
  8096  }
  8097  
  8098  // GoString returns the string representation.
  8099  //
  8100  // API parameter values that are decorated as "sensitive" in the API will not
  8101  // be included in the string output. The member name will be present, but the
  8102  // value will be replaced with "sensitive".
  8103  func (s DescribeAcceleratorAttributesInput) GoString() string {
  8104  	return s.String()
  8105  }
  8106  
  8107  // Validate inspects the fields of the type to determine if they are valid.
  8108  func (s *DescribeAcceleratorAttributesInput) Validate() error {
  8109  	invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorAttributesInput"}
  8110  	if s.AcceleratorArn == nil {
  8111  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  8112  	}
  8113  
  8114  	if invalidParams.Len() > 0 {
  8115  		return invalidParams
  8116  	}
  8117  	return nil
  8118  }
  8119  
  8120  // SetAcceleratorArn sets the AcceleratorArn field's value.
  8121  func (s *DescribeAcceleratorAttributesInput) SetAcceleratorArn(v string) *DescribeAcceleratorAttributesInput {
  8122  	s.AcceleratorArn = &v
  8123  	return s
  8124  }
  8125  
  8126  type DescribeAcceleratorAttributesOutput struct {
  8127  	_ struct{} `type:"structure"`
  8128  
  8129  	// The attributes of the accelerator.
  8130  	AcceleratorAttributes *AcceleratorAttributes `type:"structure"`
  8131  }
  8132  
  8133  // String returns the string representation.
  8134  //
  8135  // API parameter values that are decorated as "sensitive" in the API will not
  8136  // be included in the string output. The member name will be present, but the
  8137  // value will be replaced with "sensitive".
  8138  func (s DescribeAcceleratorAttributesOutput) String() string {
  8139  	return awsutil.Prettify(s)
  8140  }
  8141  
  8142  // GoString returns the string representation.
  8143  //
  8144  // API parameter values that are decorated as "sensitive" in the API will not
  8145  // be included in the string output. The member name will be present, but the
  8146  // value will be replaced with "sensitive".
  8147  func (s DescribeAcceleratorAttributesOutput) GoString() string {
  8148  	return s.String()
  8149  }
  8150  
  8151  // SetAcceleratorAttributes sets the AcceleratorAttributes field's value.
  8152  func (s *DescribeAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *DescribeAcceleratorAttributesOutput {
  8153  	s.AcceleratorAttributes = v
  8154  	return s
  8155  }
  8156  
  8157  type DescribeAcceleratorInput struct {
  8158  	_ struct{} `type:"structure"`
  8159  
  8160  	// The Amazon Resource Name (ARN) of the accelerator to describe.
  8161  	//
  8162  	// AcceleratorArn is a required field
  8163  	AcceleratorArn *string `type:"string" required:"true"`
  8164  }
  8165  
  8166  // String returns the string representation.
  8167  //
  8168  // API parameter values that are decorated as "sensitive" in the API will not
  8169  // be included in the string output. The member name will be present, but the
  8170  // value will be replaced with "sensitive".
  8171  func (s DescribeAcceleratorInput) String() string {
  8172  	return awsutil.Prettify(s)
  8173  }
  8174  
  8175  // GoString returns the string representation.
  8176  //
  8177  // API parameter values that are decorated as "sensitive" in the API will not
  8178  // be included in the string output. The member name will be present, but the
  8179  // value will be replaced with "sensitive".
  8180  func (s DescribeAcceleratorInput) GoString() string {
  8181  	return s.String()
  8182  }
  8183  
  8184  // Validate inspects the fields of the type to determine if they are valid.
  8185  func (s *DescribeAcceleratorInput) Validate() error {
  8186  	invalidParams := request.ErrInvalidParams{Context: "DescribeAcceleratorInput"}
  8187  	if s.AcceleratorArn == nil {
  8188  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  8189  	}
  8190  
  8191  	if invalidParams.Len() > 0 {
  8192  		return invalidParams
  8193  	}
  8194  	return nil
  8195  }
  8196  
  8197  // SetAcceleratorArn sets the AcceleratorArn field's value.
  8198  func (s *DescribeAcceleratorInput) SetAcceleratorArn(v string) *DescribeAcceleratorInput {
  8199  	s.AcceleratorArn = &v
  8200  	return s
  8201  }
  8202  
  8203  type DescribeAcceleratorOutput struct {
  8204  	_ struct{} `type:"structure"`
  8205  
  8206  	// The description of the accelerator.
  8207  	Accelerator *Accelerator `type:"structure"`
  8208  }
  8209  
  8210  // String returns the string representation.
  8211  //
  8212  // API parameter values that are decorated as "sensitive" in the API will not
  8213  // be included in the string output. The member name will be present, but the
  8214  // value will be replaced with "sensitive".
  8215  func (s DescribeAcceleratorOutput) String() string {
  8216  	return awsutil.Prettify(s)
  8217  }
  8218  
  8219  // GoString returns the string representation.
  8220  //
  8221  // API parameter values that are decorated as "sensitive" in the API will not
  8222  // be included in the string output. The member name will be present, but the
  8223  // value will be replaced with "sensitive".
  8224  func (s DescribeAcceleratorOutput) GoString() string {
  8225  	return s.String()
  8226  }
  8227  
  8228  // SetAccelerator sets the Accelerator field's value.
  8229  func (s *DescribeAcceleratorOutput) SetAccelerator(v *Accelerator) *DescribeAcceleratorOutput {
  8230  	s.Accelerator = v
  8231  	return s
  8232  }
  8233  
  8234  type DescribeCustomRoutingAcceleratorAttributesInput struct {
  8235  	_ struct{} `type:"structure"`
  8236  
  8237  	// The Amazon Resource Name (ARN) of the custom routing accelerator to describe
  8238  	// the attributes for.
  8239  	//
  8240  	// AcceleratorArn is a required field
  8241  	AcceleratorArn *string `type:"string" required:"true"`
  8242  }
  8243  
  8244  // String returns the string representation.
  8245  //
  8246  // API parameter values that are decorated as "sensitive" in the API will not
  8247  // be included in the string output. The member name will be present, but the
  8248  // value will be replaced with "sensitive".
  8249  func (s DescribeCustomRoutingAcceleratorAttributesInput) String() string {
  8250  	return awsutil.Prettify(s)
  8251  }
  8252  
  8253  // GoString returns the string representation.
  8254  //
  8255  // API parameter values that are decorated as "sensitive" in the API will not
  8256  // be included in the string output. The member name will be present, but the
  8257  // value will be replaced with "sensitive".
  8258  func (s DescribeCustomRoutingAcceleratorAttributesInput) GoString() string {
  8259  	return s.String()
  8260  }
  8261  
  8262  // Validate inspects the fields of the type to determine if they are valid.
  8263  func (s *DescribeCustomRoutingAcceleratorAttributesInput) Validate() error {
  8264  	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingAcceleratorAttributesInput"}
  8265  	if s.AcceleratorArn == nil {
  8266  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  8267  	}
  8268  
  8269  	if invalidParams.Len() > 0 {
  8270  		return invalidParams
  8271  	}
  8272  	return nil
  8273  }
  8274  
  8275  // SetAcceleratorArn sets the AcceleratorArn field's value.
  8276  func (s *DescribeCustomRoutingAcceleratorAttributesInput) SetAcceleratorArn(v string) *DescribeCustomRoutingAcceleratorAttributesInput {
  8277  	s.AcceleratorArn = &v
  8278  	return s
  8279  }
  8280  
  8281  type DescribeCustomRoutingAcceleratorAttributesOutput struct {
  8282  	_ struct{} `type:"structure"`
  8283  
  8284  	// The attributes of the custom routing accelerator.
  8285  	AcceleratorAttributes *CustomRoutingAcceleratorAttributes `type:"structure"`
  8286  }
  8287  
  8288  // String returns the string representation.
  8289  //
  8290  // API parameter values that are decorated as "sensitive" in the API will not
  8291  // be included in the string output. The member name will be present, but the
  8292  // value will be replaced with "sensitive".
  8293  func (s DescribeCustomRoutingAcceleratorAttributesOutput) String() string {
  8294  	return awsutil.Prettify(s)
  8295  }
  8296  
  8297  // GoString returns the string representation.
  8298  //
  8299  // API parameter values that are decorated as "sensitive" in the API will not
  8300  // be included in the string output. The member name will be present, but the
  8301  // value will be replaced with "sensitive".
  8302  func (s DescribeCustomRoutingAcceleratorAttributesOutput) GoString() string {
  8303  	return s.String()
  8304  }
  8305  
  8306  // SetAcceleratorAttributes sets the AcceleratorAttributes field's value.
  8307  func (s *DescribeCustomRoutingAcceleratorAttributesOutput) SetAcceleratorAttributes(v *CustomRoutingAcceleratorAttributes) *DescribeCustomRoutingAcceleratorAttributesOutput {
  8308  	s.AcceleratorAttributes = v
  8309  	return s
  8310  }
  8311  
  8312  type DescribeCustomRoutingAcceleratorInput struct {
  8313  	_ struct{} `type:"structure"`
  8314  
  8315  	// The Amazon Resource Name (ARN) of the accelerator to describe.
  8316  	//
  8317  	// AcceleratorArn is a required field
  8318  	AcceleratorArn *string `type:"string" required:"true"`
  8319  }
  8320  
  8321  // String returns the string representation.
  8322  //
  8323  // API parameter values that are decorated as "sensitive" in the API will not
  8324  // be included in the string output. The member name will be present, but the
  8325  // value will be replaced with "sensitive".
  8326  func (s DescribeCustomRoutingAcceleratorInput) String() string {
  8327  	return awsutil.Prettify(s)
  8328  }
  8329  
  8330  // GoString returns the string representation.
  8331  //
  8332  // API parameter values that are decorated as "sensitive" in the API will not
  8333  // be included in the string output. The member name will be present, but the
  8334  // value will be replaced with "sensitive".
  8335  func (s DescribeCustomRoutingAcceleratorInput) GoString() string {
  8336  	return s.String()
  8337  }
  8338  
  8339  // Validate inspects the fields of the type to determine if they are valid.
  8340  func (s *DescribeCustomRoutingAcceleratorInput) Validate() error {
  8341  	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingAcceleratorInput"}
  8342  	if s.AcceleratorArn == nil {
  8343  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
  8344  	}
  8345  
  8346  	if invalidParams.Len() > 0 {
  8347  		return invalidParams
  8348  	}
  8349  	return nil
  8350  }
  8351  
  8352  // SetAcceleratorArn sets the AcceleratorArn field's value.
  8353  func (s *DescribeCustomRoutingAcceleratorInput) SetAcceleratorArn(v string) *DescribeCustomRoutingAcceleratorInput {
  8354  	s.AcceleratorArn = &v
  8355  	return s
  8356  }
  8357  
  8358  type DescribeCustomRoutingAcceleratorOutput struct {
  8359  	_ struct{} `type:"structure"`
  8360  
  8361  	// The description of the custom routing accelerator.
  8362  	Accelerator *CustomRoutingAccelerator `type:"structure"`
  8363  }
  8364  
  8365  // String returns the string representation.
  8366  //
  8367  // API parameter values that are decorated as "sensitive" in the API will not
  8368  // be included in the string output. The member name will be present, but the
  8369  // value will be replaced with "sensitive".
  8370  func (s DescribeCustomRoutingAcceleratorOutput) String() string {
  8371  	return awsutil.Prettify(s)
  8372  }
  8373  
  8374  // GoString returns the string representation.
  8375  //
  8376  // API parameter values that are decorated as "sensitive" in the API will not
  8377  // be included in the string output. The member name will be present, but the
  8378  // value will be replaced with "sensitive".
  8379  func (s DescribeCustomRoutingAcceleratorOutput) GoString() string {
  8380  	return s.String()
  8381  }
  8382  
  8383  // SetAccelerator sets the Accelerator field's value.
  8384  func (s *DescribeCustomRoutingAcceleratorOutput) SetAccelerator(v *CustomRoutingAccelerator) *DescribeCustomRoutingAcceleratorOutput {
  8385  	s.Accelerator = v
  8386  	return s
  8387  }
  8388  
  8389  type DescribeCustomRoutingEndpointGroupInput struct {
  8390  	_ struct{} `type:"structure"`
  8391  
  8392  	// The Amazon Resource Name (ARN) of the endpoint group to describe.
  8393  	//
  8394  	// EndpointGroupArn is a required field
  8395  	EndpointGroupArn *string `type:"string" required:"true"`
  8396  }
  8397  
  8398  // String returns the string representation.
  8399  //
  8400  // API parameter values that are decorated as "sensitive" in the API will not
  8401  // be included in the string output. The member name will be present, but the
  8402  // value will be replaced with "sensitive".
  8403  func (s DescribeCustomRoutingEndpointGroupInput) String() string {
  8404  	return awsutil.Prettify(s)
  8405  }
  8406  
  8407  // GoString returns the string representation.
  8408  //
  8409  // API parameter values that are decorated as "sensitive" in the API will not
  8410  // be included in the string output. The member name will be present, but the
  8411  // value will be replaced with "sensitive".
  8412  func (s DescribeCustomRoutingEndpointGroupInput) GoString() string {
  8413  	return s.String()
  8414  }
  8415  
  8416  // Validate inspects the fields of the type to determine if they are valid.
  8417  func (s *DescribeCustomRoutingEndpointGroupInput) Validate() error {
  8418  	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingEndpointGroupInput"}
  8419  	if s.EndpointGroupArn == nil {
  8420  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
  8421  	}
  8422  
  8423  	if invalidParams.Len() > 0 {
  8424  		return invalidParams
  8425  	}
  8426  	return nil
  8427  }
  8428  
  8429  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  8430  func (s *DescribeCustomRoutingEndpointGroupInput) SetEndpointGroupArn(v string) *DescribeCustomRoutingEndpointGroupInput {
  8431  	s.EndpointGroupArn = &v
  8432  	return s
  8433  }
  8434  
  8435  type DescribeCustomRoutingEndpointGroupOutput struct {
  8436  	_ struct{} `type:"structure"`
  8437  
  8438  	// The description of an endpoint group for a custom routing accelerator.
  8439  	EndpointGroup *CustomRoutingEndpointGroup `type:"structure"`
  8440  }
  8441  
  8442  // String returns the string representation.
  8443  //
  8444  // API parameter values that are decorated as "sensitive" in the API will not
  8445  // be included in the string output. The member name will be present, but the
  8446  // value will be replaced with "sensitive".
  8447  func (s DescribeCustomRoutingEndpointGroupOutput) String() string {
  8448  	return awsutil.Prettify(s)
  8449  }
  8450  
  8451  // GoString returns the string representation.
  8452  //
  8453  // API parameter values that are decorated as "sensitive" in the API will not
  8454  // be included in the string output. The member name will be present, but the
  8455  // value will be replaced with "sensitive".
  8456  func (s DescribeCustomRoutingEndpointGroupOutput) GoString() string {
  8457  	return s.String()
  8458  }
  8459  
  8460  // SetEndpointGroup sets the EndpointGroup field's value.
  8461  func (s *DescribeCustomRoutingEndpointGroupOutput) SetEndpointGroup(v *CustomRoutingEndpointGroup) *DescribeCustomRoutingEndpointGroupOutput {
  8462  	s.EndpointGroup = v
  8463  	return s
  8464  }
  8465  
  8466  type DescribeCustomRoutingListenerInput struct {
  8467  	_ struct{} `type:"structure"`
  8468  
  8469  	// The Amazon Resource Name (ARN) of the listener to describe.
  8470  	//
  8471  	// ListenerArn is a required field
  8472  	ListenerArn *string `type:"string" required:"true"`
  8473  }
  8474  
  8475  // String returns the string representation.
  8476  //
  8477  // API parameter values that are decorated as "sensitive" in the API will not
  8478  // be included in the string output. The member name will be present, but the
  8479  // value will be replaced with "sensitive".
  8480  func (s DescribeCustomRoutingListenerInput) String() string {
  8481  	return awsutil.Prettify(s)
  8482  }
  8483  
  8484  // GoString returns the string representation.
  8485  //
  8486  // API parameter values that are decorated as "sensitive" in the API will not
  8487  // be included in the string output. The member name will be present, but the
  8488  // value will be replaced with "sensitive".
  8489  func (s DescribeCustomRoutingListenerInput) GoString() string {
  8490  	return s.String()
  8491  }
  8492  
  8493  // Validate inspects the fields of the type to determine if they are valid.
  8494  func (s *DescribeCustomRoutingListenerInput) Validate() error {
  8495  	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomRoutingListenerInput"}
  8496  	if s.ListenerArn == nil {
  8497  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  8498  	}
  8499  
  8500  	if invalidParams.Len() > 0 {
  8501  		return invalidParams
  8502  	}
  8503  	return nil
  8504  }
  8505  
  8506  // SetListenerArn sets the ListenerArn field's value.
  8507  func (s *DescribeCustomRoutingListenerInput) SetListenerArn(v string) *DescribeCustomRoutingListenerInput {
  8508  	s.ListenerArn = &v
  8509  	return s
  8510  }
  8511  
  8512  type DescribeCustomRoutingListenerOutput struct {
  8513  	_ struct{} `type:"structure"`
  8514  
  8515  	// The description of a listener for a custom routing accelerator.
  8516  	Listener *CustomRoutingListener `type:"structure"`
  8517  }
  8518  
  8519  // String returns the string representation.
  8520  //
  8521  // API parameter values that are decorated as "sensitive" in the API will not
  8522  // be included in the string output. The member name will be present, but the
  8523  // value will be replaced with "sensitive".
  8524  func (s DescribeCustomRoutingListenerOutput) String() string {
  8525  	return awsutil.Prettify(s)
  8526  }
  8527  
  8528  // GoString returns the string representation.
  8529  //
  8530  // API parameter values that are decorated as "sensitive" in the API will not
  8531  // be included in the string output. The member name will be present, but the
  8532  // value will be replaced with "sensitive".
  8533  func (s DescribeCustomRoutingListenerOutput) GoString() string {
  8534  	return s.String()
  8535  }
  8536  
  8537  // SetListener sets the Listener field's value.
  8538  func (s *DescribeCustomRoutingListenerOutput) SetListener(v *CustomRoutingListener) *DescribeCustomRoutingListenerOutput {
  8539  	s.Listener = v
  8540  	return s
  8541  }
  8542  
  8543  type DescribeEndpointGroupInput struct {
  8544  	_ struct{} `type:"structure"`
  8545  
  8546  	// The Amazon Resource Name (ARN) of the endpoint group to describe.
  8547  	//
  8548  	// EndpointGroupArn is a required field
  8549  	EndpointGroupArn *string `type:"string" required:"true"`
  8550  }
  8551  
  8552  // String returns the string representation.
  8553  //
  8554  // API parameter values that are decorated as "sensitive" in the API will not
  8555  // be included in the string output. The member name will be present, but the
  8556  // value will be replaced with "sensitive".
  8557  func (s DescribeEndpointGroupInput) String() string {
  8558  	return awsutil.Prettify(s)
  8559  }
  8560  
  8561  // GoString returns the string representation.
  8562  //
  8563  // API parameter values that are decorated as "sensitive" in the API will not
  8564  // be included in the string output. The member name will be present, but the
  8565  // value will be replaced with "sensitive".
  8566  func (s DescribeEndpointGroupInput) GoString() string {
  8567  	return s.String()
  8568  }
  8569  
  8570  // Validate inspects the fields of the type to determine if they are valid.
  8571  func (s *DescribeEndpointGroupInput) Validate() error {
  8572  	invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointGroupInput"}
  8573  	if s.EndpointGroupArn == nil {
  8574  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
  8575  	}
  8576  
  8577  	if invalidParams.Len() > 0 {
  8578  		return invalidParams
  8579  	}
  8580  	return nil
  8581  }
  8582  
  8583  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  8584  func (s *DescribeEndpointGroupInput) SetEndpointGroupArn(v string) *DescribeEndpointGroupInput {
  8585  	s.EndpointGroupArn = &v
  8586  	return s
  8587  }
  8588  
  8589  type DescribeEndpointGroupOutput struct {
  8590  	_ struct{} `type:"structure"`
  8591  
  8592  	// The description of an endpoint group.
  8593  	EndpointGroup *EndpointGroup `type:"structure"`
  8594  }
  8595  
  8596  // String returns the string representation.
  8597  //
  8598  // API parameter values that are decorated as "sensitive" in the API will not
  8599  // be included in the string output. The member name will be present, but the
  8600  // value will be replaced with "sensitive".
  8601  func (s DescribeEndpointGroupOutput) String() string {
  8602  	return awsutil.Prettify(s)
  8603  }
  8604  
  8605  // GoString returns the string representation.
  8606  //
  8607  // API parameter values that are decorated as "sensitive" in the API will not
  8608  // be included in the string output. The member name will be present, but the
  8609  // value will be replaced with "sensitive".
  8610  func (s DescribeEndpointGroupOutput) GoString() string {
  8611  	return s.String()
  8612  }
  8613  
  8614  // SetEndpointGroup sets the EndpointGroup field's value.
  8615  func (s *DescribeEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *DescribeEndpointGroupOutput {
  8616  	s.EndpointGroup = v
  8617  	return s
  8618  }
  8619  
  8620  type DescribeListenerInput struct {
  8621  	_ struct{} `type:"structure"`
  8622  
  8623  	// The Amazon Resource Name (ARN) of the listener to describe.
  8624  	//
  8625  	// ListenerArn is a required field
  8626  	ListenerArn *string `type:"string" required:"true"`
  8627  }
  8628  
  8629  // String returns the string representation.
  8630  //
  8631  // API parameter values that are decorated as "sensitive" in the API will not
  8632  // be included in the string output. The member name will be present, but the
  8633  // value will be replaced with "sensitive".
  8634  func (s DescribeListenerInput) String() string {
  8635  	return awsutil.Prettify(s)
  8636  }
  8637  
  8638  // GoString returns the string representation.
  8639  //
  8640  // API parameter values that are decorated as "sensitive" in the API will not
  8641  // be included in the string output. The member name will be present, but the
  8642  // value will be replaced with "sensitive".
  8643  func (s DescribeListenerInput) GoString() string {
  8644  	return s.String()
  8645  }
  8646  
  8647  // Validate inspects the fields of the type to determine if they are valid.
  8648  func (s *DescribeListenerInput) Validate() error {
  8649  	invalidParams := request.ErrInvalidParams{Context: "DescribeListenerInput"}
  8650  	if s.ListenerArn == nil {
  8651  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
  8652  	}
  8653  
  8654  	if invalidParams.Len() > 0 {
  8655  		return invalidParams
  8656  	}
  8657  	return nil
  8658  }
  8659  
  8660  // SetListenerArn sets the ListenerArn field's value.
  8661  func (s *DescribeListenerInput) SetListenerArn(v string) *DescribeListenerInput {
  8662  	s.ListenerArn = &v
  8663  	return s
  8664  }
  8665  
  8666  type DescribeListenerOutput struct {
  8667  	_ struct{} `type:"structure"`
  8668  
  8669  	// The description of a listener.
  8670  	Listener *Listener `type:"structure"`
  8671  }
  8672  
  8673  // String returns the string representation.
  8674  //
  8675  // API parameter values that are decorated as "sensitive" in the API will not
  8676  // be included in the string output. The member name will be present, but the
  8677  // value will be replaced with "sensitive".
  8678  func (s DescribeListenerOutput) String() string {
  8679  	return awsutil.Prettify(s)
  8680  }
  8681  
  8682  // GoString returns the string representation.
  8683  //
  8684  // API parameter values that are decorated as "sensitive" in the API will not
  8685  // be included in the string output. The member name will be present, but the
  8686  // value will be replaced with "sensitive".
  8687  func (s DescribeListenerOutput) GoString() string {
  8688  	return s.String()
  8689  }
  8690  
  8691  // SetListener sets the Listener field's value.
  8692  func (s *DescribeListenerOutput) SetListener(v *Listener) *DescribeListenerOutput {
  8693  	s.Listener = v
  8694  	return s
  8695  }
  8696  
  8697  // The port mappings for a specified endpoint IP address (destination).
  8698  type DestinationPortMapping struct {
  8699  	_ struct{} `type:"structure"`
  8700  
  8701  	// The Amazon Resource Name (ARN) of the custom routing accelerator that you
  8702  	// have port mappings for.
  8703  	AcceleratorArn *string `type:"string"`
  8704  
  8705  	// The IP address/port combinations (sockets) that map to a given destination
  8706  	// socket address.
  8707  	AcceleratorSocketAddresses []*SocketAddress `type:"list"`
  8708  
  8709  	// The endpoint IP address/port combination for traffic received on the accelerator
  8710  	// socket address.
  8711  	DestinationSocketAddress *SocketAddress `type:"structure"`
  8712  
  8713  	// Indicates whether or not a port mapping destination can receive traffic.
  8714  	// The value is either ALLOW, if traffic is allowed to the destination, or DENY,
  8715  	// if traffic is not allowed to the destination.
  8716  	DestinationTrafficState *string `type:"string" enum:"CustomRoutingDestinationTrafficState"`
  8717  
  8718  	// The Amazon Resource Name (ARN) of the endpoint group.
  8719  	EndpointGroupArn *string `type:"string"`
  8720  
  8721  	// The AWS Region for the endpoint group.
  8722  	EndpointGroupRegion *string `type:"string"`
  8723  
  8724  	// The ID for the virtual private cloud (VPC) subnet.
  8725  	EndpointId *string `type:"string"`
  8726  
  8727  	// The IP address type, which must be IPv4.
  8728  	IpAddressType *string `type:"string" enum:"IpAddressType"`
  8729  }
  8730  
  8731  // String returns the string representation.
  8732  //
  8733  // API parameter values that are decorated as "sensitive" in the API will not
  8734  // be included in the string output. The member name will be present, but the
  8735  // value will be replaced with "sensitive".
  8736  func (s DestinationPortMapping) String() string {
  8737  	return awsutil.Prettify(s)
  8738  }
  8739  
  8740  // GoString returns the string representation.
  8741  //
  8742  // API parameter values that are decorated as "sensitive" in the API will not
  8743  // be included in the string output. The member name will be present, but the
  8744  // value will be replaced with "sensitive".
  8745  func (s DestinationPortMapping) GoString() string {
  8746  	return s.String()
  8747  }
  8748  
  8749  // SetAcceleratorArn sets the AcceleratorArn field's value.
  8750  func (s *DestinationPortMapping) SetAcceleratorArn(v string) *DestinationPortMapping {
  8751  	s.AcceleratorArn = &v
  8752  	return s
  8753  }
  8754  
  8755  // SetAcceleratorSocketAddresses sets the AcceleratorSocketAddresses field's value.
  8756  func (s *DestinationPortMapping) SetAcceleratorSocketAddresses(v []*SocketAddress) *DestinationPortMapping {
  8757  	s.AcceleratorSocketAddresses = v
  8758  	return s
  8759  }
  8760  
  8761  // SetDestinationSocketAddress sets the DestinationSocketAddress field's value.
  8762  func (s *DestinationPortMapping) SetDestinationSocketAddress(v *SocketAddress) *DestinationPortMapping {
  8763  	s.DestinationSocketAddress = v
  8764  	return s
  8765  }
  8766  
  8767  // SetDestinationTrafficState sets the DestinationTrafficState field's value.
  8768  func (s *DestinationPortMapping) SetDestinationTrafficState(v string) *DestinationPortMapping {
  8769  	s.DestinationTrafficState = &v
  8770  	return s
  8771  }
  8772  
  8773  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  8774  func (s *DestinationPortMapping) SetEndpointGroupArn(v string) *DestinationPortMapping {
  8775  	s.EndpointGroupArn = &v
  8776  	return s
  8777  }
  8778  
  8779  // SetEndpointGroupRegion sets the EndpointGroupRegion field's value.
  8780  func (s *DestinationPortMapping) SetEndpointGroupRegion(v string) *DestinationPortMapping {
  8781  	s.EndpointGroupRegion = &v
  8782  	return s
  8783  }
  8784  
  8785  // SetEndpointId sets the EndpointId field's value.
  8786  func (s *DestinationPortMapping) SetEndpointId(v string) *DestinationPortMapping {
  8787  	s.EndpointId = &v
  8788  	return s
  8789  }
  8790  
  8791  // SetIpAddressType sets the IpAddressType field's value.
  8792  func (s *DestinationPortMapping) SetIpAddressType(v string) *DestinationPortMapping {
  8793  	s.IpAddressType = &v
  8794  	return s
  8795  }
  8796  
  8797  // The endpoint that you specified doesn't exist.
  8798  type EndpointAlreadyExistsException struct {
  8799  	_            struct{}                  `type:"structure"`
  8800  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8801  
  8802  	Message_ *string `locationName:"Message" type:"string"`
  8803  }
  8804  
  8805  // String returns the string representation.
  8806  //
  8807  // API parameter values that are decorated as "sensitive" in the API will not
  8808  // be included in the string output. The member name will be present, but the
  8809  // value will be replaced with "sensitive".
  8810  func (s EndpointAlreadyExistsException) String() string {
  8811  	return awsutil.Prettify(s)
  8812  }
  8813  
  8814  // GoString returns the string representation.
  8815  //
  8816  // API parameter values that are decorated as "sensitive" in the API will not
  8817  // be included in the string output. The member name will be present, but the
  8818  // value will be replaced with "sensitive".
  8819  func (s EndpointAlreadyExistsException) GoString() string {
  8820  	return s.String()
  8821  }
  8822  
  8823  func newErrorEndpointAlreadyExistsException(v protocol.ResponseMetadata) error {
  8824  	return &EndpointAlreadyExistsException{
  8825  		RespMetadata: v,
  8826  	}
  8827  }
  8828  
  8829  // Code returns the exception type name.
  8830  func (s *EndpointAlreadyExistsException) Code() string {
  8831  	return "EndpointAlreadyExistsException"
  8832  }
  8833  
  8834  // Message returns the exception's message.
  8835  func (s *EndpointAlreadyExistsException) Message() string {
  8836  	if s.Message_ != nil {
  8837  		return *s.Message_
  8838  	}
  8839  	return ""
  8840  }
  8841  
  8842  // OrigErr always returns nil, satisfies awserr.Error interface.
  8843  func (s *EndpointAlreadyExistsException) OrigErr() error {
  8844  	return nil
  8845  }
  8846  
  8847  func (s *EndpointAlreadyExistsException) Error() string {
  8848  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8849  }
  8850  
  8851  // Status code returns the HTTP status code for the request's response error.
  8852  func (s *EndpointAlreadyExistsException) StatusCode() int {
  8853  	return s.RespMetadata.StatusCode
  8854  }
  8855  
  8856  // RequestID returns the service's response RequestID for request.
  8857  func (s *EndpointAlreadyExistsException) RequestID() string {
  8858  	return s.RespMetadata.RequestID
  8859  }
  8860  
  8861  // A complex type for endpoints. A resource must be valid and active when you
  8862  // add it as an endpoint.
  8863  type EndpointConfiguration struct {
  8864  	_ struct{} `type:"structure"`
  8865  
  8866  	// Indicates whether client IP address preservation is enabled for an Application
  8867  	// Load Balancer endpoint. The value is true or false. The default value is
  8868  	// true for new accelerators.
  8869  	//
  8870  	// If the value is set to true, the client's IP address is preserved in the
  8871  	// X-Forwarded-For request header as traffic travels to applications on the
  8872  	// Application Load Balancer endpoint fronted by the accelerator.
  8873  	//
  8874  	// For more information, see Preserve Client IP Addresses in AWS Global Accelerator
  8875  	// (https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html)
  8876  	// in the AWS Global Accelerator Developer Guide.
  8877  	ClientIPPreservationEnabled *bool `type:"boolean"`
  8878  
  8879  	// An ID for the endpoint. If the endpoint is a Network Load Balancer or Application
  8880  	// Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If
  8881  	// the endpoint is an Elastic IP address, this is the Elastic IP address allocation
  8882  	// ID. For Amazon EC2 instances, this is the EC2 instance ID. A resource must
  8883  	// be valid and active when you add it as an endpoint.
  8884  	//
  8885  	// An Application Load Balancer can be either internal or internet-facing.
  8886  	EndpointId *string `type:"string"`
  8887  
  8888  	// The weight associated with the endpoint. When you add weights to endpoints,
  8889  	// you configure AWS Global Accelerator to route traffic based on proportions
  8890  	// that you specify. For example, you might specify endpoint weights of 4, 5,
  8891  	// 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is
  8892  	// routed to the first endpoint, 5/20 is routed both to the second and third
  8893  	// endpoints, and 6/20 is routed to the last endpoint. For more information,
  8894  	// see Endpoint Weights (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html)
  8895  	// in the AWS Global Accelerator Developer Guide.
  8896  	Weight *int64 `type:"integer"`
  8897  }
  8898  
  8899  // String returns the string representation.
  8900  //
  8901  // API parameter values that are decorated as "sensitive" in the API will not
  8902  // be included in the string output. The member name will be present, but the
  8903  // value will be replaced with "sensitive".
  8904  func (s EndpointConfiguration) String() string {
  8905  	return awsutil.Prettify(s)
  8906  }
  8907  
  8908  // GoString returns the string representation.
  8909  //
  8910  // API parameter values that are decorated as "sensitive" in the API will not
  8911  // be included in the string output. The member name will be present, but the
  8912  // value will be replaced with "sensitive".
  8913  func (s EndpointConfiguration) GoString() string {
  8914  	return s.String()
  8915  }
  8916  
  8917  // SetClientIPPreservationEnabled sets the ClientIPPreservationEnabled field's value.
  8918  func (s *EndpointConfiguration) SetClientIPPreservationEnabled(v bool) *EndpointConfiguration {
  8919  	s.ClientIPPreservationEnabled = &v
  8920  	return s
  8921  }
  8922  
  8923  // SetEndpointId sets the EndpointId field's value.
  8924  func (s *EndpointConfiguration) SetEndpointId(v string) *EndpointConfiguration {
  8925  	s.EndpointId = &v
  8926  	return s
  8927  }
  8928  
  8929  // SetWeight sets the Weight field's value.
  8930  func (s *EndpointConfiguration) SetWeight(v int64) *EndpointConfiguration {
  8931  	s.Weight = &v
  8932  	return s
  8933  }
  8934  
  8935  // A complex type for an endpoint. Each endpoint group can include one or more
  8936  // endpoints, such as load balancers.
  8937  type EndpointDescription struct {
  8938  	_ struct{} `type:"structure"`
  8939  
  8940  	// Indicates whether client IP address preservation is enabled for an Application
  8941  	// Load Balancer endpoint. The value is true or false. The default value is
  8942  	// true for new accelerators.
  8943  	//
  8944  	// If the value is set to true, the client's IP address is preserved in the
  8945  	// X-Forwarded-For request header as traffic travels to applications on the
  8946  	// Application Load Balancer endpoint fronted by the accelerator.
  8947  	//
  8948  	// For more information, see Viewing Client IP Addresses in AWS Global Accelerator
  8949  	// (https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works-client-ip.html)
  8950  	// in the AWS Global Accelerator Developer Guide.
  8951  	ClientIPPreservationEnabled *bool `type:"boolean"`
  8952  
  8953  	// An ID for the endpoint. If the endpoint is a Network Load Balancer or Application
  8954  	// Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If
  8955  	// the endpoint is an Elastic IP address, this is the Elastic IP address allocation
  8956  	// ID. For Amazon EC2 instances, this is the EC2 instance ID.
  8957  	//
  8958  	// An Application Load Balancer can be either internal or internet-facing.
  8959  	EndpointId *string `type:"string"`
  8960  
  8961  	// Returns a null result.
  8962  	HealthReason *string `type:"string"`
  8963  
  8964  	// The health status of the endpoint.
  8965  	HealthState *string `type:"string" enum:"HealthState"`
  8966  
  8967  	// The weight associated with the endpoint. When you add weights to endpoints,
  8968  	// you configure AWS Global Accelerator to route traffic based on proportions
  8969  	// that you specify. For example, you might specify endpoint weights of 4, 5,
  8970  	// 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is
  8971  	// routed to the first endpoint, 5/20 is routed both to the second and third
  8972  	// endpoints, and 6/20 is routed to the last endpoint. For more information,
  8973  	// see Endpoint Weights (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html)
  8974  	// in the AWS Global Accelerator Developer Guide.
  8975  	Weight *int64 `type:"integer"`
  8976  }
  8977  
  8978  // String returns the string representation.
  8979  //
  8980  // API parameter values that are decorated as "sensitive" in the API will not
  8981  // be included in the string output. The member name will be present, but the
  8982  // value will be replaced with "sensitive".
  8983  func (s EndpointDescription) String() string {
  8984  	return awsutil.Prettify(s)
  8985  }
  8986  
  8987  // GoString returns the string representation.
  8988  //
  8989  // API parameter values that are decorated as "sensitive" in the API will not
  8990  // be included in the string output. The member name will be present, but the
  8991  // value will be replaced with "sensitive".
  8992  func (s EndpointDescription) GoString() string {
  8993  	return s.String()
  8994  }
  8995  
  8996  // SetClientIPPreservationEnabled sets the ClientIPPreservationEnabled field's value.
  8997  func (s *EndpointDescription) SetClientIPPreservationEnabled(v bool) *EndpointDescription {
  8998  	s.ClientIPPreservationEnabled = &v
  8999  	return s
  9000  }
  9001  
  9002  // SetEndpointId sets the EndpointId field's value.
  9003  func (s *EndpointDescription) SetEndpointId(v string) *EndpointDescription {
  9004  	s.EndpointId = &v
  9005  	return s
  9006  }
  9007  
  9008  // SetHealthReason sets the HealthReason field's value.
  9009  func (s *EndpointDescription) SetHealthReason(v string) *EndpointDescription {
  9010  	s.HealthReason = &v
  9011  	return s
  9012  }
  9013  
  9014  // SetHealthState sets the HealthState field's value.
  9015  func (s *EndpointDescription) SetHealthState(v string) *EndpointDescription {
  9016  	s.HealthState = &v
  9017  	return s
  9018  }
  9019  
  9020  // SetWeight sets the Weight field's value.
  9021  func (s *EndpointDescription) SetWeight(v int64) *EndpointDescription {
  9022  	s.Weight = &v
  9023  	return s
  9024  }
  9025  
  9026  // A complex type for the endpoint group. An AWS Region can have only one endpoint
  9027  // group for a specific listener.
  9028  type EndpointGroup struct {
  9029  	_ struct{} `type:"structure"`
  9030  
  9031  	// The list of endpoint objects.
  9032  	EndpointDescriptions []*EndpointDescription `type:"list"`
  9033  
  9034  	// The Amazon Resource Name (ARN) of the endpoint group.
  9035  	EndpointGroupArn *string `type:"string"`
  9036  
  9037  	// The AWS Region where the endpoint group is located.
  9038  	EndpointGroupRegion *string `type:"string"`
  9039  
  9040  	// The time—10 seconds or 30 seconds—between health checks for each endpoint.
  9041  	// The default value is 30.
  9042  	HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"`
  9043  
  9044  	// If the protocol is HTTP/S, then this value provides the ping path that Global
  9045  	// Accelerator uses for the destination on the endpoints for health checks.
  9046  	// The default is slash (/).
  9047  	HealthCheckPath *string `type:"string"`
  9048  
  9049  	// The port that Global Accelerator uses to perform health checks on endpoints
  9050  	// that are part of this endpoint group.
  9051  	//
  9052  	// The default port is the port for the listener that this endpoint group is
  9053  	// associated with. If the listener port is a list, Global Accelerator uses
  9054  	// the first specified port in the list of ports.
  9055  	HealthCheckPort *int64 `min:"1" type:"integer"`
  9056  
  9057  	// The protocol that Global Accelerator uses to perform health checks on endpoints
  9058  	// that are part of this endpoint group. The default value is TCP.
  9059  	HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"`
  9060  
  9061  	// Allows you to override the destination ports used to route traffic to an
  9062  	// endpoint. Using a port override lets you to map a list of external destination
  9063  	// ports (that your users send traffic to) to a list of internal destination
  9064  	// ports that you want an application endpoint to receive traffic on.
  9065  	PortOverrides []*PortOverride `type:"list"`
  9066  
  9067  	// The number of consecutive health checks required to set the state of a healthy
  9068  	// endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default
  9069  	// value is 3.
  9070  	ThresholdCount *int64 `min:"1" type:"integer"`
  9071  
  9072  	// The percentage of traffic to send to an AWS Region. Additional traffic is
  9073  	// distributed to other endpoint groups for this listener.
  9074  	//
  9075  	// Use this action to increase (dial up) or decrease (dial down) traffic to
  9076  	// a specific Region. The percentage is applied to the traffic that would otherwise
  9077  	// have been routed to the Region based on optimal routing.
  9078  	//
  9079  	// The default value is 100.
  9080  	TrafficDialPercentage *float64 `type:"float"`
  9081  }
  9082  
  9083  // String returns the string representation.
  9084  //
  9085  // API parameter values that are decorated as "sensitive" in the API will not
  9086  // be included in the string output. The member name will be present, but the
  9087  // value will be replaced with "sensitive".
  9088  func (s EndpointGroup) String() string {
  9089  	return awsutil.Prettify(s)
  9090  }
  9091  
  9092  // GoString returns the string representation.
  9093  //
  9094  // API parameter values that are decorated as "sensitive" in the API will not
  9095  // be included in the string output. The member name will be present, but the
  9096  // value will be replaced with "sensitive".
  9097  func (s EndpointGroup) GoString() string {
  9098  	return s.String()
  9099  }
  9100  
  9101  // SetEndpointDescriptions sets the EndpointDescriptions field's value.
  9102  func (s *EndpointGroup) SetEndpointDescriptions(v []*EndpointDescription) *EndpointGroup {
  9103  	s.EndpointDescriptions = v
  9104  	return s
  9105  }
  9106  
  9107  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
  9108  func (s *EndpointGroup) SetEndpointGroupArn(v string) *EndpointGroup {
  9109  	s.EndpointGroupArn = &v
  9110  	return s
  9111  }
  9112  
  9113  // SetEndpointGroupRegion sets the EndpointGroupRegion field's value.
  9114  func (s *EndpointGroup) SetEndpointGroupRegion(v string) *EndpointGroup {
  9115  	s.EndpointGroupRegion = &v
  9116  	return s
  9117  }
  9118  
  9119  // SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
  9120  func (s *EndpointGroup) SetHealthCheckIntervalSeconds(v int64) *EndpointGroup {
  9121  	s.HealthCheckIntervalSeconds = &v
  9122  	return s
  9123  }
  9124  
  9125  // SetHealthCheckPath sets the HealthCheckPath field's value.
  9126  func (s *EndpointGroup) SetHealthCheckPath(v string) *EndpointGroup {
  9127  	s.HealthCheckPath = &v
  9128  	return s
  9129  }
  9130  
  9131  // SetHealthCheckPort sets the HealthCheckPort field's value.
  9132  func (s *EndpointGroup) SetHealthCheckPort(v int64) *EndpointGroup {
  9133  	s.HealthCheckPort = &v
  9134  	return s
  9135  }
  9136  
  9137  // SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
  9138  func (s *EndpointGroup) SetHealthCheckProtocol(v string) *EndpointGroup {
  9139  	s.HealthCheckProtocol = &v
  9140  	return s
  9141  }
  9142  
  9143  // SetPortOverrides sets the PortOverrides field's value.
  9144  func (s *EndpointGroup) SetPortOverrides(v []*PortOverride) *EndpointGroup {
  9145  	s.PortOverrides = v
  9146  	return s
  9147  }
  9148  
  9149  // SetThresholdCount sets the ThresholdCount field's value.
  9150  func (s *EndpointGroup) SetThresholdCount(v int64) *EndpointGroup {
  9151  	s.ThresholdCount = &v
  9152  	return s
  9153  }
  9154  
  9155  // SetTrafficDialPercentage sets the TrafficDialPercentage field's value.
  9156  func (s *EndpointGroup) SetTrafficDialPercentage(v float64) *EndpointGroup {
  9157  	s.TrafficDialPercentage = &v
  9158  	return s
  9159  }
  9160  
  9161  // The endpoint group that you specified already exists.
  9162  type EndpointGroupAlreadyExistsException struct {
  9163  	_            struct{}                  `type:"structure"`
  9164  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9165  
  9166  	Message_ *string `locationName:"Message" type:"string"`
  9167  }
  9168  
  9169  // String returns the string representation.
  9170  //
  9171  // API parameter values that are decorated as "sensitive" in the API will not
  9172  // be included in the string output. The member name will be present, but the
  9173  // value will be replaced with "sensitive".
  9174  func (s EndpointGroupAlreadyExistsException) String() string {
  9175  	return awsutil.Prettify(s)
  9176  }
  9177  
  9178  // GoString returns the string representation.
  9179  //
  9180  // API parameter values that are decorated as "sensitive" in the API will not
  9181  // be included in the string output. The member name will be present, but the
  9182  // value will be replaced with "sensitive".
  9183  func (s EndpointGroupAlreadyExistsException) GoString() string {
  9184  	return s.String()
  9185  }
  9186  
  9187  func newErrorEndpointGroupAlreadyExistsException(v protocol.ResponseMetadata) error {
  9188  	return &EndpointGroupAlreadyExistsException{
  9189  		RespMetadata: v,
  9190  	}
  9191  }
  9192  
  9193  // Code returns the exception type name.
  9194  func (s *EndpointGroupAlreadyExistsException) Code() string {
  9195  	return "EndpointGroupAlreadyExistsException"
  9196  }
  9197  
  9198  // Message returns the exception's message.
  9199  func (s *EndpointGroupAlreadyExistsException) Message() string {
  9200  	if s.Message_ != nil {
  9201  		return *s.Message_
  9202  	}
  9203  	return ""
  9204  }
  9205  
  9206  // OrigErr always returns nil, satisfies awserr.Error interface.
  9207  func (s *EndpointGroupAlreadyExistsException) OrigErr() error {
  9208  	return nil
  9209  }
  9210  
  9211  func (s *EndpointGroupAlreadyExistsException) Error() string {
  9212  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9213  }
  9214  
  9215  // Status code returns the HTTP status code for the request's response error.
  9216  func (s *EndpointGroupAlreadyExistsException) StatusCode() int {
  9217  	return s.RespMetadata.StatusCode
  9218  }
  9219  
  9220  // RequestID returns the service's response RequestID for request.
  9221  func (s *EndpointGroupAlreadyExistsException) RequestID() string {
  9222  	return s.RespMetadata.RequestID
  9223  }
  9224  
  9225  // The endpoint group that you specified doesn't exist.
  9226  type EndpointGroupNotFoundException struct {
  9227  	_            struct{}                  `type:"structure"`
  9228  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9229  
  9230  	Message_ *string `locationName:"Message" type:"string"`
  9231  }
  9232  
  9233  // String returns the string representation.
  9234  //
  9235  // API parameter values that are decorated as "sensitive" in the API will not
  9236  // be included in the string output. The member name will be present, but the
  9237  // value will be replaced with "sensitive".
  9238  func (s EndpointGroupNotFoundException) String() string {
  9239  	return awsutil.Prettify(s)
  9240  }
  9241  
  9242  // GoString returns the string representation.
  9243  //
  9244  // API parameter values that are decorated as "sensitive" in the API will not
  9245  // be included in the string output. The member name will be present, but the
  9246  // value will be replaced with "sensitive".
  9247  func (s EndpointGroupNotFoundException) GoString() string {
  9248  	return s.String()
  9249  }
  9250  
  9251  func newErrorEndpointGroupNotFoundException(v protocol.ResponseMetadata) error {
  9252  	return &EndpointGroupNotFoundException{
  9253  		RespMetadata: v,
  9254  	}
  9255  }
  9256  
  9257  // Code returns the exception type name.
  9258  func (s *EndpointGroupNotFoundException) Code() string {
  9259  	return "EndpointGroupNotFoundException"
  9260  }
  9261  
  9262  // Message returns the exception's message.
  9263  func (s *EndpointGroupNotFoundException) Message() string {
  9264  	if s.Message_ != nil {
  9265  		return *s.Message_
  9266  	}
  9267  	return ""
  9268  }
  9269  
  9270  // OrigErr always returns nil, satisfies awserr.Error interface.
  9271  func (s *EndpointGroupNotFoundException) OrigErr() error {
  9272  	return nil
  9273  }
  9274  
  9275  func (s *EndpointGroupNotFoundException) Error() string {
  9276  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9277  }
  9278  
  9279  // Status code returns the HTTP status code for the request's response error.
  9280  func (s *EndpointGroupNotFoundException) StatusCode() int {
  9281  	return s.RespMetadata.StatusCode
  9282  }
  9283  
  9284  // RequestID returns the service's response RequestID for request.
  9285  func (s *EndpointGroupNotFoundException) RequestID() string {
  9286  	return s.RespMetadata.RequestID
  9287  }
  9288  
  9289  // The endpoint that you specified doesn't exist.
  9290  type EndpointNotFoundException struct {
  9291  	_            struct{}                  `type:"structure"`
  9292  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9293  
  9294  	Message_ *string `locationName:"Message" type:"string"`
  9295  }
  9296  
  9297  // String returns the string representation.
  9298  //
  9299  // API parameter values that are decorated as "sensitive" in the API will not
  9300  // be included in the string output. The member name will be present, but the
  9301  // value will be replaced with "sensitive".
  9302  func (s EndpointNotFoundException) String() string {
  9303  	return awsutil.Prettify(s)
  9304  }
  9305  
  9306  // GoString returns the string representation.
  9307  //
  9308  // API parameter values that are decorated as "sensitive" in the API will not
  9309  // be included in the string output. The member name will be present, but the
  9310  // value will be replaced with "sensitive".
  9311  func (s EndpointNotFoundException) GoString() string {
  9312  	return s.String()
  9313  }
  9314  
  9315  func newErrorEndpointNotFoundException(v protocol.ResponseMetadata) error {
  9316  	return &EndpointNotFoundException{
  9317  		RespMetadata: v,
  9318  	}
  9319  }
  9320  
  9321  // Code returns the exception type name.
  9322  func (s *EndpointNotFoundException) Code() string {
  9323  	return "EndpointNotFoundException"
  9324  }
  9325  
  9326  // Message returns the exception's message.
  9327  func (s *EndpointNotFoundException) Message() string {
  9328  	if s.Message_ != nil {
  9329  		return *s.Message_
  9330  	}
  9331  	return ""
  9332  }
  9333  
  9334  // OrigErr always returns nil, satisfies awserr.Error interface.
  9335  func (s *EndpointNotFoundException) OrigErr() error {
  9336  	return nil
  9337  }
  9338  
  9339  func (s *EndpointNotFoundException) Error() string {
  9340  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9341  }
  9342  
  9343  // Status code returns the HTTP status code for the request's response error.
  9344  func (s *EndpointNotFoundException) StatusCode() int {
  9345  	return s.RespMetadata.StatusCode
  9346  }
  9347  
  9348  // RequestID returns the service's response RequestID for request.
  9349  func (s *EndpointNotFoundException) RequestID() string {
  9350  	return s.RespMetadata.RequestID
  9351  }
  9352  
  9353  // The CIDR that you specified is not valid for this action. For example, the
  9354  // state of the CIDR might be incorrect for this action.
  9355  type IncorrectCidrStateException struct {
  9356  	_            struct{}                  `type:"structure"`
  9357  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9358  
  9359  	Message_ *string `locationName:"Message" type:"string"`
  9360  }
  9361  
  9362  // String returns the string representation.
  9363  //
  9364  // API parameter values that are decorated as "sensitive" in the API will not
  9365  // be included in the string output. The member name will be present, but the
  9366  // value will be replaced with "sensitive".
  9367  func (s IncorrectCidrStateException) String() string {
  9368  	return awsutil.Prettify(s)
  9369  }
  9370  
  9371  // GoString returns the string representation.
  9372  //
  9373  // API parameter values that are decorated as "sensitive" in the API will not
  9374  // be included in the string output. The member name will be present, but the
  9375  // value will be replaced with "sensitive".
  9376  func (s IncorrectCidrStateException) GoString() string {
  9377  	return s.String()
  9378  }
  9379  
  9380  func newErrorIncorrectCidrStateException(v protocol.ResponseMetadata) error {
  9381  	return &IncorrectCidrStateException{
  9382  		RespMetadata: v,
  9383  	}
  9384  }
  9385  
  9386  // Code returns the exception type name.
  9387  func (s *IncorrectCidrStateException) Code() string {
  9388  	return "IncorrectCidrStateException"
  9389  }
  9390  
  9391  // Message returns the exception's message.
  9392  func (s *IncorrectCidrStateException) Message() string {
  9393  	if s.Message_ != nil {
  9394  		return *s.Message_
  9395  	}
  9396  	return ""
  9397  }
  9398  
  9399  // OrigErr always returns nil, satisfies awserr.Error interface.
  9400  func (s *IncorrectCidrStateException) OrigErr() error {
  9401  	return nil
  9402  }
  9403  
  9404  func (s *IncorrectCidrStateException) Error() string {
  9405  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9406  }
  9407  
  9408  // Status code returns the HTTP status code for the request's response error.
  9409  func (s *IncorrectCidrStateException) StatusCode() int {
  9410  	return s.RespMetadata.StatusCode
  9411  }
  9412  
  9413  // RequestID returns the service's response RequestID for request.
  9414  func (s *IncorrectCidrStateException) RequestID() string {
  9415  	return s.RespMetadata.RequestID
  9416  }
  9417  
  9418  // There was an internal error for AWS Global Accelerator.
  9419  type InternalServiceErrorException struct {
  9420  	_            struct{}                  `type:"structure"`
  9421  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9422  
  9423  	Message_ *string `locationName:"Message" type:"string"`
  9424  }
  9425  
  9426  // String returns the string representation.
  9427  //
  9428  // API parameter values that are decorated as "sensitive" in the API will not
  9429  // be included in the string output. The member name will be present, but the
  9430  // value will be replaced with "sensitive".
  9431  func (s InternalServiceErrorException) String() string {
  9432  	return awsutil.Prettify(s)
  9433  }
  9434  
  9435  // GoString returns the string representation.
  9436  //
  9437  // API parameter values that are decorated as "sensitive" in the API will not
  9438  // be included in the string output. The member name will be present, but the
  9439  // value will be replaced with "sensitive".
  9440  func (s InternalServiceErrorException) GoString() string {
  9441  	return s.String()
  9442  }
  9443  
  9444  func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error {
  9445  	return &InternalServiceErrorException{
  9446  		RespMetadata: v,
  9447  	}
  9448  }
  9449  
  9450  // Code returns the exception type name.
  9451  func (s *InternalServiceErrorException) Code() string {
  9452  	return "InternalServiceErrorException"
  9453  }
  9454  
  9455  // Message returns the exception's message.
  9456  func (s *InternalServiceErrorException) Message() string {
  9457  	if s.Message_ != nil {
  9458  		return *s.Message_
  9459  	}
  9460  	return ""
  9461  }
  9462  
  9463  // OrigErr always returns nil, satisfies awserr.Error interface.
  9464  func (s *InternalServiceErrorException) OrigErr() error {
  9465  	return nil
  9466  }
  9467  
  9468  func (s *InternalServiceErrorException) Error() string {
  9469  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9470  }
  9471  
  9472  // Status code returns the HTTP status code for the request's response error.
  9473  func (s *InternalServiceErrorException) StatusCode() int {
  9474  	return s.RespMetadata.StatusCode
  9475  }
  9476  
  9477  // RequestID returns the service's response RequestID for request.
  9478  func (s *InternalServiceErrorException) RequestID() string {
  9479  	return s.RespMetadata.RequestID
  9480  }
  9481  
  9482  // An argument that you specified is invalid.
  9483  type InvalidArgumentException struct {
  9484  	_            struct{}                  `type:"structure"`
  9485  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9486  
  9487  	Message_ *string `locationName:"Message" type:"string"`
  9488  }
  9489  
  9490  // String returns the string representation.
  9491  //
  9492  // API parameter values that are decorated as "sensitive" in the API will not
  9493  // be included in the string output. The member name will be present, but the
  9494  // value will be replaced with "sensitive".
  9495  func (s InvalidArgumentException) String() string {
  9496  	return awsutil.Prettify(s)
  9497  }
  9498  
  9499  // GoString returns the string representation.
  9500  //
  9501  // API parameter values that are decorated as "sensitive" in the API will not
  9502  // be included in the string output. The member name will be present, but the
  9503  // value will be replaced with "sensitive".
  9504  func (s InvalidArgumentException) GoString() string {
  9505  	return s.String()
  9506  }
  9507  
  9508  func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error {
  9509  	return &InvalidArgumentException{
  9510  		RespMetadata: v,
  9511  	}
  9512  }
  9513  
  9514  // Code returns the exception type name.
  9515  func (s *InvalidArgumentException) Code() string {
  9516  	return "InvalidArgumentException"
  9517  }
  9518  
  9519  // Message returns the exception's message.
  9520  func (s *InvalidArgumentException) Message() string {
  9521  	if s.Message_ != nil {
  9522  		return *s.Message_
  9523  	}
  9524  	return ""
  9525  }
  9526  
  9527  // OrigErr always returns nil, satisfies awserr.Error interface.
  9528  func (s *InvalidArgumentException) OrigErr() error {
  9529  	return nil
  9530  }
  9531  
  9532  func (s *InvalidArgumentException) Error() string {
  9533  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9534  }
  9535  
  9536  // Status code returns the HTTP status code for the request's response error.
  9537  func (s *InvalidArgumentException) StatusCode() int {
  9538  	return s.RespMetadata.StatusCode
  9539  }
  9540  
  9541  // RequestID returns the service's response RequestID for request.
  9542  func (s *InvalidArgumentException) RequestID() string {
  9543  	return s.RespMetadata.RequestID
  9544  }
  9545  
  9546  // There isn't another item to return.
  9547  type InvalidNextTokenException struct {
  9548  	_            struct{}                  `type:"structure"`
  9549  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9550  
  9551  	Message_ *string `locationName:"Message" type:"string"`
  9552  }
  9553  
  9554  // String returns the string representation.
  9555  //
  9556  // API parameter values that are decorated as "sensitive" in the API will not
  9557  // be included in the string output. The member name will be present, but the
  9558  // value will be replaced with "sensitive".
  9559  func (s InvalidNextTokenException) String() string {
  9560  	return awsutil.Prettify(s)
  9561  }
  9562  
  9563  // GoString returns the string representation.
  9564  //
  9565  // API parameter values that are decorated as "sensitive" in the API will not
  9566  // be included in the string output. The member name will be present, but the
  9567  // value will be replaced with "sensitive".
  9568  func (s InvalidNextTokenException) GoString() string {
  9569  	return s.String()
  9570  }
  9571  
  9572  func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
  9573  	return &InvalidNextTokenException{
  9574  		RespMetadata: v,
  9575  	}
  9576  }
  9577  
  9578  // Code returns the exception type name.
  9579  func (s *InvalidNextTokenException) Code() string {
  9580  	return "InvalidNextTokenException"
  9581  }
  9582  
  9583  // Message returns the exception's message.
  9584  func (s *InvalidNextTokenException) Message() string {
  9585  	if s.Message_ != nil {
  9586  		return *s.Message_
  9587  	}
  9588  	return ""
  9589  }
  9590  
  9591  // OrigErr always returns nil, satisfies awserr.Error interface.
  9592  func (s *InvalidNextTokenException) OrigErr() error {
  9593  	return nil
  9594  }
  9595  
  9596  func (s *InvalidNextTokenException) Error() string {
  9597  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9598  }
  9599  
  9600  // Status code returns the HTTP status code for the request's response error.
  9601  func (s *InvalidNextTokenException) StatusCode() int {
  9602  	return s.RespMetadata.StatusCode
  9603  }
  9604  
  9605  // RequestID returns the service's response RequestID for request.
  9606  func (s *InvalidNextTokenException) RequestID() string {
  9607  	return s.RespMetadata.RequestID
  9608  }
  9609  
  9610  // The port numbers that you specified are not valid numbers or are not unique
  9611  // for this accelerator.
  9612  type InvalidPortRangeException struct {
  9613  	_            struct{}                  `type:"structure"`
  9614  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9615  
  9616  	Message_ *string `locationName:"Message" type:"string"`
  9617  }
  9618  
  9619  // String returns the string representation.
  9620  //
  9621  // API parameter values that are decorated as "sensitive" in the API will not
  9622  // be included in the string output. The member name will be present, but the
  9623  // value will be replaced with "sensitive".
  9624  func (s InvalidPortRangeException) String() string {
  9625  	return awsutil.Prettify(s)
  9626  }
  9627  
  9628  // GoString returns the string representation.
  9629  //
  9630  // API parameter values that are decorated as "sensitive" in the API will not
  9631  // be included in the string output. The member name will be present, but the
  9632  // value will be replaced with "sensitive".
  9633  func (s InvalidPortRangeException) GoString() string {
  9634  	return s.String()
  9635  }
  9636  
  9637  func newErrorInvalidPortRangeException(v protocol.ResponseMetadata) error {
  9638  	return &InvalidPortRangeException{
  9639  		RespMetadata: v,
  9640  	}
  9641  }
  9642  
  9643  // Code returns the exception type name.
  9644  func (s *InvalidPortRangeException) Code() string {
  9645  	return "InvalidPortRangeException"
  9646  }
  9647  
  9648  // Message returns the exception's message.
  9649  func (s *InvalidPortRangeException) Message() string {
  9650  	if s.Message_ != nil {
  9651  		return *s.Message_
  9652  	}
  9653  	return ""
  9654  }
  9655  
  9656  // OrigErr always returns nil, satisfies awserr.Error interface.
  9657  func (s *InvalidPortRangeException) OrigErr() error {
  9658  	return nil
  9659  }
  9660  
  9661  func (s *InvalidPortRangeException) Error() string {
  9662  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9663  }
  9664  
  9665  // Status code returns the HTTP status code for the request's response error.
  9666  func (s *InvalidPortRangeException) StatusCode() int {
  9667  	return s.RespMetadata.StatusCode
  9668  }
  9669  
  9670  // RequestID returns the service's response RequestID for request.
  9671  func (s *InvalidPortRangeException) RequestID() string {
  9672  	return s.RespMetadata.RequestID
  9673  }
  9674  
  9675  // A complex type for the set of IP addresses for an accelerator.
  9676  type IpSet struct {
  9677  	_ struct{} `type:"structure"`
  9678  
  9679  	// The array of IP addresses in the IP address set. An IP address set can have
  9680  	// a maximum of two IP addresses.
  9681  	IpAddresses []*string `type:"list"`
  9682  
  9683  	// The types of IP addresses included in this IP set.
  9684  	IpFamily *string `type:"string"`
  9685  }
  9686  
  9687  // String returns the string representation.
  9688  //
  9689  // API parameter values that are decorated as "sensitive" in the API will not
  9690  // be included in the string output. The member name will be present, but the
  9691  // value will be replaced with "sensitive".
  9692  func (s IpSet) String() string {
  9693  	return awsutil.Prettify(s)
  9694  }
  9695  
  9696  // GoString returns the string representation.
  9697  //
  9698  // API parameter values that are decorated as "sensitive" in the API will not
  9699  // be included in the string output. The member name will be present, but the
  9700  // value will be replaced with "sensitive".
  9701  func (s IpSet) GoString() string {
  9702  	return s.String()
  9703  }
  9704  
  9705  // SetIpAddresses sets the IpAddresses field's value.
  9706  func (s *IpSet) SetIpAddresses(v []*string) *IpSet {
  9707  	s.IpAddresses = v
  9708  	return s
  9709  }
  9710  
  9711  // SetIpFamily sets the IpFamily field's value.
  9712  func (s *IpSet) SetIpFamily(v string) *IpSet {
  9713  	s.IpFamily = &v
  9714  	return s
  9715  }
  9716  
  9717  // Processing your request would cause you to exceed an AWS Global Accelerator
  9718  // limit.
  9719  type LimitExceededException struct {
  9720  	_            struct{}                  `type:"structure"`
  9721  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9722  
  9723  	Message_ *string `locationName:"Message" type:"string"`
  9724  }
  9725  
  9726  // String returns the string representation.
  9727  //
  9728  // API parameter values that are decorated as "sensitive" in the API will not
  9729  // be included in the string output. The member name will be present, but the
  9730  // value will be replaced with "sensitive".
  9731  func (s LimitExceededException) String() string {
  9732  	return awsutil.Prettify(s)
  9733  }
  9734  
  9735  // GoString returns the string representation.
  9736  //
  9737  // API parameter values that are decorated as "sensitive" in the API will not
  9738  // be included in the string output. The member name will be present, but the
  9739  // value will be replaced with "sensitive".
  9740  func (s LimitExceededException) GoString() string {
  9741  	return s.String()
  9742  }
  9743  
  9744  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  9745  	return &LimitExceededException{
  9746  		RespMetadata: v,
  9747  	}
  9748  }
  9749  
  9750  // Code returns the exception type name.
  9751  func (s *LimitExceededException) Code() string {
  9752  	return "LimitExceededException"
  9753  }
  9754  
  9755  // Message returns the exception's message.
  9756  func (s *LimitExceededException) Message() string {
  9757  	if s.Message_ != nil {
  9758  		return *s.Message_
  9759  	}
  9760  	return ""
  9761  }
  9762  
  9763  // OrigErr always returns nil, satisfies awserr.Error interface.
  9764  func (s *LimitExceededException) OrigErr() error {
  9765  	return nil
  9766  }
  9767  
  9768  func (s *LimitExceededException) Error() string {
  9769  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9770  }
  9771  
  9772  // Status code returns the HTTP status code for the request's response error.
  9773  func (s *LimitExceededException) StatusCode() int {
  9774  	return s.RespMetadata.StatusCode
  9775  }
  9776  
  9777  // RequestID returns the service's response RequestID for request.
  9778  func (s *LimitExceededException) RequestID() string {
  9779  	return s.RespMetadata.RequestID
  9780  }
  9781  
  9782  type ListAcceleratorsInput struct {
  9783  	_ struct{} `type:"structure"`
  9784  
  9785  	// The number of Global Accelerator objects that you want to return with this
  9786  	// call. The default value is 10.
  9787  	MaxResults *int64 `min:"1" type:"integer"`
  9788  
  9789  	// The token for the next set of results. You receive this token from a previous
  9790  	// call.
  9791  	NextToken *string `type:"string"`
  9792  }
  9793  
  9794  // String returns the string representation.
  9795  //
  9796  // API parameter values that are decorated as "sensitive" in the API will not
  9797  // be included in the string output. The member name will be present, but the
  9798  // value will be replaced with "sensitive".
  9799  func (s ListAcceleratorsInput) String() string {
  9800  	return awsutil.Prettify(s)
  9801  }
  9802  
  9803  // GoString returns the string representation.
  9804  //
  9805  // API parameter values that are decorated as "sensitive" in the API will not
  9806  // be included in the string output. The member name will be present, but the
  9807  // value will be replaced with "sensitive".
  9808  func (s ListAcceleratorsInput) GoString() string {
  9809  	return s.String()
  9810  }
  9811  
  9812  // Validate inspects the fields of the type to determine if they are valid.
  9813  func (s *ListAcceleratorsInput) Validate() error {
  9814  	invalidParams := request.ErrInvalidParams{Context: "ListAcceleratorsInput"}
  9815  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9816  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9817  	}
  9818  
  9819  	if invalidParams.Len() > 0 {
  9820  		return invalidParams
  9821  	}
  9822  	return nil
  9823  }
  9824  
  9825  // SetMaxResults sets the MaxResults field's value.
  9826  func (s *ListAcceleratorsInput) SetMaxResults(v int64) *ListAcceleratorsInput {
  9827  	s.MaxResults = &v
  9828  	return s
  9829  }
  9830  
  9831  // SetNextToken sets the NextToken field's value.
  9832  func (s *ListAcceleratorsInput) SetNextToken(v string) *ListAcceleratorsInput {
  9833  	s.NextToken = &v
  9834  	return s
  9835  }
  9836  
  9837  type ListAcceleratorsOutput struct {
  9838  	_ struct{} `type:"structure"`
  9839  
  9840  	// The list of accelerators for a customer account.
  9841  	Accelerators []*Accelerator `type:"list"`
  9842  
  9843  	// The token for the next set of results. You receive this token from a previous
  9844  	// call.
  9845  	NextToken *string `type:"string"`
  9846  }
  9847  
  9848  // String returns the string representation.
  9849  //
  9850  // API parameter values that are decorated as "sensitive" in the API will not
  9851  // be included in the string output. The member name will be present, but the
  9852  // value will be replaced with "sensitive".
  9853  func (s ListAcceleratorsOutput) String() string {
  9854  	return awsutil.Prettify(s)
  9855  }
  9856  
  9857  // GoString returns the string representation.
  9858  //
  9859  // API parameter values that are decorated as "sensitive" in the API will not
  9860  // be included in the string output. The member name will be present, but the
  9861  // value will be replaced with "sensitive".
  9862  func (s ListAcceleratorsOutput) GoString() string {
  9863  	return s.String()
  9864  }
  9865  
  9866  // SetAccelerators sets the Accelerators field's value.
  9867  func (s *ListAcceleratorsOutput) SetAccelerators(v []*Accelerator) *ListAcceleratorsOutput {
  9868  	s.Accelerators = v
  9869  	return s
  9870  }
  9871  
  9872  // SetNextToken sets the NextToken field's value.
  9873  func (s *ListAcceleratorsOutput) SetNextToken(v string) *ListAcceleratorsOutput {
  9874  	s.NextToken = &v
  9875  	return s
  9876  }
  9877  
  9878  type ListByoipCidrsInput struct {
  9879  	_ struct{} `type:"structure"`
  9880  
  9881  	// The maximum number of results to return with a single call. To retrieve the
  9882  	// remaining results, make another call with the returned nextToken value.
  9883  	MaxResults *int64 `min:"1" type:"integer"`
  9884  
  9885  	// The token for the next page of results.
  9886  	NextToken *string `type:"string"`
  9887  }
  9888  
  9889  // String returns the string representation.
  9890  //
  9891  // API parameter values that are decorated as "sensitive" in the API will not
  9892  // be included in the string output. The member name will be present, but the
  9893  // value will be replaced with "sensitive".
  9894  func (s ListByoipCidrsInput) String() string {
  9895  	return awsutil.Prettify(s)
  9896  }
  9897  
  9898  // GoString returns the string representation.
  9899  //
  9900  // API parameter values that are decorated as "sensitive" in the API will not
  9901  // be included in the string output. The member name will be present, but the
  9902  // value will be replaced with "sensitive".
  9903  func (s ListByoipCidrsInput) GoString() string {
  9904  	return s.String()
  9905  }
  9906  
  9907  // Validate inspects the fields of the type to determine if they are valid.
  9908  func (s *ListByoipCidrsInput) Validate() error {
  9909  	invalidParams := request.ErrInvalidParams{Context: "ListByoipCidrsInput"}
  9910  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9911  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9912  	}
  9913  
  9914  	if invalidParams.Len() > 0 {
  9915  		return invalidParams
  9916  	}
  9917  	return nil
  9918  }
  9919  
  9920  // SetMaxResults sets the MaxResults field's value.
  9921  func (s *ListByoipCidrsInput) SetMaxResults(v int64) *ListByoipCidrsInput {
  9922  	s.MaxResults = &v
  9923  	return s
  9924  }
  9925  
  9926  // SetNextToken sets the NextToken field's value.
  9927  func (s *ListByoipCidrsInput) SetNextToken(v string) *ListByoipCidrsInput {
  9928  	s.NextToken = &v
  9929  	return s
  9930  }
  9931  
  9932  type ListByoipCidrsOutput struct {
  9933  	_ struct{} `type:"structure"`
  9934  
  9935  	// Information about your address ranges.
  9936  	ByoipCidrs []*ByoipCidr `type:"list"`
  9937  
  9938  	// The token for the next page of results.
  9939  	NextToken *string `type:"string"`
  9940  }
  9941  
  9942  // String returns the string representation.
  9943  //
  9944  // API parameter values that are decorated as "sensitive" in the API will not
  9945  // be included in the string output. The member name will be present, but the
  9946  // value will be replaced with "sensitive".
  9947  func (s ListByoipCidrsOutput) String() string {
  9948  	return awsutil.Prettify(s)
  9949  }
  9950  
  9951  // GoString returns the string representation.
  9952  //
  9953  // API parameter values that are decorated as "sensitive" in the API will not
  9954  // be included in the string output. The member name will be present, but the
  9955  // value will be replaced with "sensitive".
  9956  func (s ListByoipCidrsOutput) GoString() string {
  9957  	return s.String()
  9958  }
  9959  
  9960  // SetByoipCidrs sets the ByoipCidrs field's value.
  9961  func (s *ListByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *ListByoipCidrsOutput {
  9962  	s.ByoipCidrs = v
  9963  	return s
  9964  }
  9965  
  9966  // SetNextToken sets the NextToken field's value.
  9967  func (s *ListByoipCidrsOutput) SetNextToken(v string) *ListByoipCidrsOutput {
  9968  	s.NextToken = &v
  9969  	return s
  9970  }
  9971  
  9972  type ListCustomRoutingAcceleratorsInput struct {
  9973  	_ struct{} `type:"structure"`
  9974  
  9975  	// The number of custom routing Global Accelerator objects that you want to
  9976  	// return with this call. The default value is 10.
  9977  	MaxResults *int64 `min:"1" type:"integer"`
  9978  
  9979  	// The token for the next set of results. You receive this token from a previous
  9980  	// call.
  9981  	NextToken *string `type:"string"`
  9982  }
  9983  
  9984  // String returns the string representation.
  9985  //
  9986  // API parameter values that are decorated as "sensitive" in the API will not
  9987  // be included in the string output. The member name will be present, but the
  9988  // value will be replaced with "sensitive".
  9989  func (s ListCustomRoutingAcceleratorsInput) String() string {
  9990  	return awsutil.Prettify(s)
  9991  }
  9992  
  9993  // GoString returns the string representation.
  9994  //
  9995  // API parameter values that are decorated as "sensitive" in the API will not
  9996  // be included in the string output. The member name will be present, but the
  9997  // value will be replaced with "sensitive".
  9998  func (s ListCustomRoutingAcceleratorsInput) GoString() string {
  9999  	return s.String()
 10000  }
 10001  
 10002  // Validate inspects the fields of the type to determine if they are valid.
 10003  func (s *ListCustomRoutingAcceleratorsInput) Validate() error {
 10004  	invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingAcceleratorsInput"}
 10005  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10006  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10007  	}
 10008  
 10009  	if invalidParams.Len() > 0 {
 10010  		return invalidParams
 10011  	}
 10012  	return nil
 10013  }
 10014  
 10015  // SetMaxResults sets the MaxResults field's value.
 10016  func (s *ListCustomRoutingAcceleratorsInput) SetMaxResults(v int64) *ListCustomRoutingAcceleratorsInput {
 10017  	s.MaxResults = &v
 10018  	return s
 10019  }
 10020  
 10021  // SetNextToken sets the NextToken field's value.
 10022  func (s *ListCustomRoutingAcceleratorsInput) SetNextToken(v string) *ListCustomRoutingAcceleratorsInput {
 10023  	s.NextToken = &v
 10024  	return s
 10025  }
 10026  
 10027  type ListCustomRoutingAcceleratorsOutput struct {
 10028  	_ struct{} `type:"structure"`
 10029  
 10030  	// The list of custom routing accelerators for a customer account.
 10031  	Accelerators []*CustomRoutingAccelerator `type:"list"`
 10032  
 10033  	// The token for the next set of results. You receive this token from a previous
 10034  	// call.
 10035  	NextToken *string `type:"string"`
 10036  }
 10037  
 10038  // String returns the string representation.
 10039  //
 10040  // API parameter values that are decorated as "sensitive" in the API will not
 10041  // be included in the string output. The member name will be present, but the
 10042  // value will be replaced with "sensitive".
 10043  func (s ListCustomRoutingAcceleratorsOutput) String() string {
 10044  	return awsutil.Prettify(s)
 10045  }
 10046  
 10047  // GoString returns the string representation.
 10048  //
 10049  // API parameter values that are decorated as "sensitive" in the API will not
 10050  // be included in the string output. The member name will be present, but the
 10051  // value will be replaced with "sensitive".
 10052  func (s ListCustomRoutingAcceleratorsOutput) GoString() string {
 10053  	return s.String()
 10054  }
 10055  
 10056  // SetAccelerators sets the Accelerators field's value.
 10057  func (s *ListCustomRoutingAcceleratorsOutput) SetAccelerators(v []*CustomRoutingAccelerator) *ListCustomRoutingAcceleratorsOutput {
 10058  	s.Accelerators = v
 10059  	return s
 10060  }
 10061  
 10062  // SetNextToken sets the NextToken field's value.
 10063  func (s *ListCustomRoutingAcceleratorsOutput) SetNextToken(v string) *ListCustomRoutingAcceleratorsOutput {
 10064  	s.NextToken = &v
 10065  	return s
 10066  }
 10067  
 10068  type ListCustomRoutingEndpointGroupsInput struct {
 10069  	_ struct{} `type:"structure"`
 10070  
 10071  	// The Amazon Resource Name (ARN) of the listener to list endpoint groups for.
 10072  	//
 10073  	// ListenerArn is a required field
 10074  	ListenerArn *string `type:"string" required:"true"`
 10075  
 10076  	// The number of endpoint group objects that you want to return with this call.
 10077  	// The default value is 10.
 10078  	MaxResults *int64 `min:"1" type:"integer"`
 10079  
 10080  	// The token for the next set of results. You receive this token from a previous
 10081  	// call.
 10082  	NextToken *string `type:"string"`
 10083  }
 10084  
 10085  // String returns the string representation.
 10086  //
 10087  // API parameter values that are decorated as "sensitive" in the API will not
 10088  // be included in the string output. The member name will be present, but the
 10089  // value will be replaced with "sensitive".
 10090  func (s ListCustomRoutingEndpointGroupsInput) String() string {
 10091  	return awsutil.Prettify(s)
 10092  }
 10093  
 10094  // GoString returns the string representation.
 10095  //
 10096  // API parameter values that are decorated as "sensitive" in the API will not
 10097  // be included in the string output. The member name will be present, but the
 10098  // value will be replaced with "sensitive".
 10099  func (s ListCustomRoutingEndpointGroupsInput) GoString() string {
 10100  	return s.String()
 10101  }
 10102  
 10103  // Validate inspects the fields of the type to determine if they are valid.
 10104  func (s *ListCustomRoutingEndpointGroupsInput) Validate() error {
 10105  	invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingEndpointGroupsInput"}
 10106  	if s.ListenerArn == nil {
 10107  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
 10108  	}
 10109  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10110  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10111  	}
 10112  
 10113  	if invalidParams.Len() > 0 {
 10114  		return invalidParams
 10115  	}
 10116  	return nil
 10117  }
 10118  
 10119  // SetListenerArn sets the ListenerArn field's value.
 10120  func (s *ListCustomRoutingEndpointGroupsInput) SetListenerArn(v string) *ListCustomRoutingEndpointGroupsInput {
 10121  	s.ListenerArn = &v
 10122  	return s
 10123  }
 10124  
 10125  // SetMaxResults sets the MaxResults field's value.
 10126  func (s *ListCustomRoutingEndpointGroupsInput) SetMaxResults(v int64) *ListCustomRoutingEndpointGroupsInput {
 10127  	s.MaxResults = &v
 10128  	return s
 10129  }
 10130  
 10131  // SetNextToken sets the NextToken field's value.
 10132  func (s *ListCustomRoutingEndpointGroupsInput) SetNextToken(v string) *ListCustomRoutingEndpointGroupsInput {
 10133  	s.NextToken = &v
 10134  	return s
 10135  }
 10136  
 10137  type ListCustomRoutingEndpointGroupsOutput struct {
 10138  	_ struct{} `type:"structure"`
 10139  
 10140  	// The list of the endpoint groups associated with a listener for a custom routing
 10141  	// accelerator.
 10142  	EndpointGroups []*CustomRoutingEndpointGroup `type:"list"`
 10143  
 10144  	// The token for the next set of results. You receive this token from a previous
 10145  	// call.
 10146  	NextToken *string `type:"string"`
 10147  }
 10148  
 10149  // String returns the string representation.
 10150  //
 10151  // API parameter values that are decorated as "sensitive" in the API will not
 10152  // be included in the string output. The member name will be present, but the
 10153  // value will be replaced with "sensitive".
 10154  func (s ListCustomRoutingEndpointGroupsOutput) String() string {
 10155  	return awsutil.Prettify(s)
 10156  }
 10157  
 10158  // GoString returns the string representation.
 10159  //
 10160  // API parameter values that are decorated as "sensitive" in the API will not
 10161  // be included in the string output. The member name will be present, but the
 10162  // value will be replaced with "sensitive".
 10163  func (s ListCustomRoutingEndpointGroupsOutput) GoString() string {
 10164  	return s.String()
 10165  }
 10166  
 10167  // SetEndpointGroups sets the EndpointGroups field's value.
 10168  func (s *ListCustomRoutingEndpointGroupsOutput) SetEndpointGroups(v []*CustomRoutingEndpointGroup) *ListCustomRoutingEndpointGroupsOutput {
 10169  	s.EndpointGroups = v
 10170  	return s
 10171  }
 10172  
 10173  // SetNextToken sets the NextToken field's value.
 10174  func (s *ListCustomRoutingEndpointGroupsOutput) SetNextToken(v string) *ListCustomRoutingEndpointGroupsOutput {
 10175  	s.NextToken = &v
 10176  	return s
 10177  }
 10178  
 10179  type ListCustomRoutingListenersInput struct {
 10180  	_ struct{} `type:"structure"`
 10181  
 10182  	// The Amazon Resource Name (ARN) of the accelerator to list listeners for.
 10183  	//
 10184  	// AcceleratorArn is a required field
 10185  	AcceleratorArn *string `type:"string" required:"true"`
 10186  
 10187  	// The number of listener objects that you want to return with this call. The
 10188  	// default value is 10.
 10189  	MaxResults *int64 `min:"1" type:"integer"`
 10190  
 10191  	// The token for the next set of results. You receive this token from a previous
 10192  	// call.
 10193  	NextToken *string `type:"string"`
 10194  }
 10195  
 10196  // String returns the string representation.
 10197  //
 10198  // API parameter values that are decorated as "sensitive" in the API will not
 10199  // be included in the string output. The member name will be present, but the
 10200  // value will be replaced with "sensitive".
 10201  func (s ListCustomRoutingListenersInput) String() string {
 10202  	return awsutil.Prettify(s)
 10203  }
 10204  
 10205  // GoString returns the string representation.
 10206  //
 10207  // API parameter values that are decorated as "sensitive" in the API will not
 10208  // be included in the string output. The member name will be present, but the
 10209  // value will be replaced with "sensitive".
 10210  func (s ListCustomRoutingListenersInput) GoString() string {
 10211  	return s.String()
 10212  }
 10213  
 10214  // Validate inspects the fields of the type to determine if they are valid.
 10215  func (s *ListCustomRoutingListenersInput) Validate() error {
 10216  	invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingListenersInput"}
 10217  	if s.AcceleratorArn == nil {
 10218  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
 10219  	}
 10220  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10221  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10222  	}
 10223  
 10224  	if invalidParams.Len() > 0 {
 10225  		return invalidParams
 10226  	}
 10227  	return nil
 10228  }
 10229  
 10230  // SetAcceleratorArn sets the AcceleratorArn field's value.
 10231  func (s *ListCustomRoutingListenersInput) SetAcceleratorArn(v string) *ListCustomRoutingListenersInput {
 10232  	s.AcceleratorArn = &v
 10233  	return s
 10234  }
 10235  
 10236  // SetMaxResults sets the MaxResults field's value.
 10237  func (s *ListCustomRoutingListenersInput) SetMaxResults(v int64) *ListCustomRoutingListenersInput {
 10238  	s.MaxResults = &v
 10239  	return s
 10240  }
 10241  
 10242  // SetNextToken sets the NextToken field's value.
 10243  func (s *ListCustomRoutingListenersInput) SetNextToken(v string) *ListCustomRoutingListenersInput {
 10244  	s.NextToken = &v
 10245  	return s
 10246  }
 10247  
 10248  type ListCustomRoutingListenersOutput struct {
 10249  	_ struct{} `type:"structure"`
 10250  
 10251  	// The list of listeners for a custom routing accelerator.
 10252  	Listeners []*CustomRoutingListener `type:"list"`
 10253  
 10254  	// The token for the next set of results. You receive this token from a previous
 10255  	// call.
 10256  	NextToken *string `type:"string"`
 10257  }
 10258  
 10259  // String returns the string representation.
 10260  //
 10261  // API parameter values that are decorated as "sensitive" in the API will not
 10262  // be included in the string output. The member name will be present, but the
 10263  // value will be replaced with "sensitive".
 10264  func (s ListCustomRoutingListenersOutput) String() string {
 10265  	return awsutil.Prettify(s)
 10266  }
 10267  
 10268  // GoString returns the string representation.
 10269  //
 10270  // API parameter values that are decorated as "sensitive" in the API will not
 10271  // be included in the string output. The member name will be present, but the
 10272  // value will be replaced with "sensitive".
 10273  func (s ListCustomRoutingListenersOutput) GoString() string {
 10274  	return s.String()
 10275  }
 10276  
 10277  // SetListeners sets the Listeners field's value.
 10278  func (s *ListCustomRoutingListenersOutput) SetListeners(v []*CustomRoutingListener) *ListCustomRoutingListenersOutput {
 10279  	s.Listeners = v
 10280  	return s
 10281  }
 10282  
 10283  // SetNextToken sets the NextToken field's value.
 10284  func (s *ListCustomRoutingListenersOutput) SetNextToken(v string) *ListCustomRoutingListenersOutput {
 10285  	s.NextToken = &v
 10286  	return s
 10287  }
 10288  
 10289  type ListCustomRoutingPortMappingsByDestinationInput struct {
 10290  	_ struct{} `type:"structure"`
 10291  
 10292  	// The endpoint IP address in a virtual private cloud (VPC) subnet for which
 10293  	// you want to receive back port mappings.
 10294  	//
 10295  	// DestinationAddress is a required field
 10296  	DestinationAddress *string `type:"string" required:"true"`
 10297  
 10298  	// The ID for the virtual private cloud (VPC) subnet.
 10299  	//
 10300  	// EndpointId is a required field
 10301  	EndpointId *string `type:"string" required:"true"`
 10302  
 10303  	// The number of destination port mappings that you want to return with this
 10304  	// call. The default value is 10.
 10305  	MaxResults *int64 `min:"1" type:"integer"`
 10306  
 10307  	// The token for the next set of results. You receive this token from a previous
 10308  	// call.
 10309  	NextToken *string `type:"string"`
 10310  }
 10311  
 10312  // String returns the string representation.
 10313  //
 10314  // API parameter values that are decorated as "sensitive" in the API will not
 10315  // be included in the string output. The member name will be present, but the
 10316  // value will be replaced with "sensitive".
 10317  func (s ListCustomRoutingPortMappingsByDestinationInput) String() string {
 10318  	return awsutil.Prettify(s)
 10319  }
 10320  
 10321  // GoString returns the string representation.
 10322  //
 10323  // API parameter values that are decorated as "sensitive" in the API will not
 10324  // be included in the string output. The member name will be present, but the
 10325  // value will be replaced with "sensitive".
 10326  func (s ListCustomRoutingPortMappingsByDestinationInput) GoString() string {
 10327  	return s.String()
 10328  }
 10329  
 10330  // Validate inspects the fields of the type to determine if they are valid.
 10331  func (s *ListCustomRoutingPortMappingsByDestinationInput) Validate() error {
 10332  	invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingPortMappingsByDestinationInput"}
 10333  	if s.DestinationAddress == nil {
 10334  		invalidParams.Add(request.NewErrParamRequired("DestinationAddress"))
 10335  	}
 10336  	if s.EndpointId == nil {
 10337  		invalidParams.Add(request.NewErrParamRequired("EndpointId"))
 10338  	}
 10339  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10340  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10341  	}
 10342  
 10343  	if invalidParams.Len() > 0 {
 10344  		return invalidParams
 10345  	}
 10346  	return nil
 10347  }
 10348  
 10349  // SetDestinationAddress sets the DestinationAddress field's value.
 10350  func (s *ListCustomRoutingPortMappingsByDestinationInput) SetDestinationAddress(v string) *ListCustomRoutingPortMappingsByDestinationInput {
 10351  	s.DestinationAddress = &v
 10352  	return s
 10353  }
 10354  
 10355  // SetEndpointId sets the EndpointId field's value.
 10356  func (s *ListCustomRoutingPortMappingsByDestinationInput) SetEndpointId(v string) *ListCustomRoutingPortMappingsByDestinationInput {
 10357  	s.EndpointId = &v
 10358  	return s
 10359  }
 10360  
 10361  // SetMaxResults sets the MaxResults field's value.
 10362  func (s *ListCustomRoutingPortMappingsByDestinationInput) SetMaxResults(v int64) *ListCustomRoutingPortMappingsByDestinationInput {
 10363  	s.MaxResults = &v
 10364  	return s
 10365  }
 10366  
 10367  // SetNextToken sets the NextToken field's value.
 10368  func (s *ListCustomRoutingPortMappingsByDestinationInput) SetNextToken(v string) *ListCustomRoutingPortMappingsByDestinationInput {
 10369  	s.NextToken = &v
 10370  	return s
 10371  }
 10372  
 10373  type ListCustomRoutingPortMappingsByDestinationOutput struct {
 10374  	_ struct{} `type:"structure"`
 10375  
 10376  	// The port mappings for the endpoint IP address that you specified in the request.
 10377  	DestinationPortMappings []*DestinationPortMapping `type:"list"`
 10378  
 10379  	// The token for the next set of results. You receive this token from a previous
 10380  	// call.
 10381  	NextToken *string `type:"string"`
 10382  }
 10383  
 10384  // String returns the string representation.
 10385  //
 10386  // API parameter values that are decorated as "sensitive" in the API will not
 10387  // be included in the string output. The member name will be present, but the
 10388  // value will be replaced with "sensitive".
 10389  func (s ListCustomRoutingPortMappingsByDestinationOutput) String() string {
 10390  	return awsutil.Prettify(s)
 10391  }
 10392  
 10393  // GoString returns the string representation.
 10394  //
 10395  // API parameter values that are decorated as "sensitive" in the API will not
 10396  // be included in the string output. The member name will be present, but the
 10397  // value will be replaced with "sensitive".
 10398  func (s ListCustomRoutingPortMappingsByDestinationOutput) GoString() string {
 10399  	return s.String()
 10400  }
 10401  
 10402  // SetDestinationPortMappings sets the DestinationPortMappings field's value.
 10403  func (s *ListCustomRoutingPortMappingsByDestinationOutput) SetDestinationPortMappings(v []*DestinationPortMapping) *ListCustomRoutingPortMappingsByDestinationOutput {
 10404  	s.DestinationPortMappings = v
 10405  	return s
 10406  }
 10407  
 10408  // SetNextToken sets the NextToken field's value.
 10409  func (s *ListCustomRoutingPortMappingsByDestinationOutput) SetNextToken(v string) *ListCustomRoutingPortMappingsByDestinationOutput {
 10410  	s.NextToken = &v
 10411  	return s
 10412  }
 10413  
 10414  type ListCustomRoutingPortMappingsInput struct {
 10415  	_ struct{} `type:"structure"`
 10416  
 10417  	// The Amazon Resource Name (ARN) of the accelerator to list the custom routing
 10418  	// port mappings for.
 10419  	//
 10420  	// AcceleratorArn is a required field
 10421  	AcceleratorArn *string `type:"string" required:"true"`
 10422  
 10423  	// The Amazon Resource Name (ARN) of the endpoint group to list the custom routing
 10424  	// port mappings for.
 10425  	EndpointGroupArn *string `type:"string"`
 10426  
 10427  	// The number of destination port mappings that you want to return with this
 10428  	// call. The default value is 10.
 10429  	MaxResults *int64 `min:"1" type:"integer"`
 10430  
 10431  	// The token for the next set of results. You receive this token from a previous
 10432  	// call.
 10433  	NextToken *string `type:"string"`
 10434  }
 10435  
 10436  // String returns the string representation.
 10437  //
 10438  // API parameter values that are decorated as "sensitive" in the API will not
 10439  // be included in the string output. The member name will be present, but the
 10440  // value will be replaced with "sensitive".
 10441  func (s ListCustomRoutingPortMappingsInput) String() string {
 10442  	return awsutil.Prettify(s)
 10443  }
 10444  
 10445  // GoString returns the string representation.
 10446  //
 10447  // API parameter values that are decorated as "sensitive" in the API will not
 10448  // be included in the string output. The member name will be present, but the
 10449  // value will be replaced with "sensitive".
 10450  func (s ListCustomRoutingPortMappingsInput) GoString() string {
 10451  	return s.String()
 10452  }
 10453  
 10454  // Validate inspects the fields of the type to determine if they are valid.
 10455  func (s *ListCustomRoutingPortMappingsInput) Validate() error {
 10456  	invalidParams := request.ErrInvalidParams{Context: "ListCustomRoutingPortMappingsInput"}
 10457  	if s.AcceleratorArn == nil {
 10458  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
 10459  	}
 10460  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10461  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10462  	}
 10463  
 10464  	if invalidParams.Len() > 0 {
 10465  		return invalidParams
 10466  	}
 10467  	return nil
 10468  }
 10469  
 10470  // SetAcceleratorArn sets the AcceleratorArn field's value.
 10471  func (s *ListCustomRoutingPortMappingsInput) SetAcceleratorArn(v string) *ListCustomRoutingPortMappingsInput {
 10472  	s.AcceleratorArn = &v
 10473  	return s
 10474  }
 10475  
 10476  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
 10477  func (s *ListCustomRoutingPortMappingsInput) SetEndpointGroupArn(v string) *ListCustomRoutingPortMappingsInput {
 10478  	s.EndpointGroupArn = &v
 10479  	return s
 10480  }
 10481  
 10482  // SetMaxResults sets the MaxResults field's value.
 10483  func (s *ListCustomRoutingPortMappingsInput) SetMaxResults(v int64) *ListCustomRoutingPortMappingsInput {
 10484  	s.MaxResults = &v
 10485  	return s
 10486  }
 10487  
 10488  // SetNextToken sets the NextToken field's value.
 10489  func (s *ListCustomRoutingPortMappingsInput) SetNextToken(v string) *ListCustomRoutingPortMappingsInput {
 10490  	s.NextToken = &v
 10491  	return s
 10492  }
 10493  
 10494  type ListCustomRoutingPortMappingsOutput struct {
 10495  	_ struct{} `type:"structure"`
 10496  
 10497  	// The token for the next set of results. You receive this token from a previous
 10498  	// call.
 10499  	NextToken *string `type:"string"`
 10500  
 10501  	// The port mappings for a custom routing accelerator.
 10502  	PortMappings []*PortMapping `type:"list"`
 10503  }
 10504  
 10505  // String returns the string representation.
 10506  //
 10507  // API parameter values that are decorated as "sensitive" in the API will not
 10508  // be included in the string output. The member name will be present, but the
 10509  // value will be replaced with "sensitive".
 10510  func (s ListCustomRoutingPortMappingsOutput) String() string {
 10511  	return awsutil.Prettify(s)
 10512  }
 10513  
 10514  // GoString returns the string representation.
 10515  //
 10516  // API parameter values that are decorated as "sensitive" in the API will not
 10517  // be included in the string output. The member name will be present, but the
 10518  // value will be replaced with "sensitive".
 10519  func (s ListCustomRoutingPortMappingsOutput) GoString() string {
 10520  	return s.String()
 10521  }
 10522  
 10523  // SetNextToken sets the NextToken field's value.
 10524  func (s *ListCustomRoutingPortMappingsOutput) SetNextToken(v string) *ListCustomRoutingPortMappingsOutput {
 10525  	s.NextToken = &v
 10526  	return s
 10527  }
 10528  
 10529  // SetPortMappings sets the PortMappings field's value.
 10530  func (s *ListCustomRoutingPortMappingsOutput) SetPortMappings(v []*PortMapping) *ListCustomRoutingPortMappingsOutput {
 10531  	s.PortMappings = v
 10532  	return s
 10533  }
 10534  
 10535  type ListEndpointGroupsInput struct {
 10536  	_ struct{} `type:"structure"`
 10537  
 10538  	// The Amazon Resource Name (ARN) of the listener.
 10539  	//
 10540  	// ListenerArn is a required field
 10541  	ListenerArn *string `type:"string" required:"true"`
 10542  
 10543  	// The number of endpoint group objects that you want to return with this call.
 10544  	// The default value is 10.
 10545  	MaxResults *int64 `min:"1" type:"integer"`
 10546  
 10547  	// The token for the next set of results. You receive this token from a previous
 10548  	// call.
 10549  	NextToken *string `type:"string"`
 10550  }
 10551  
 10552  // String returns the string representation.
 10553  //
 10554  // API parameter values that are decorated as "sensitive" in the API will not
 10555  // be included in the string output. The member name will be present, but the
 10556  // value will be replaced with "sensitive".
 10557  func (s ListEndpointGroupsInput) String() string {
 10558  	return awsutil.Prettify(s)
 10559  }
 10560  
 10561  // GoString returns the string representation.
 10562  //
 10563  // API parameter values that are decorated as "sensitive" in the API will not
 10564  // be included in the string output. The member name will be present, but the
 10565  // value will be replaced with "sensitive".
 10566  func (s ListEndpointGroupsInput) GoString() string {
 10567  	return s.String()
 10568  }
 10569  
 10570  // Validate inspects the fields of the type to determine if they are valid.
 10571  func (s *ListEndpointGroupsInput) Validate() error {
 10572  	invalidParams := request.ErrInvalidParams{Context: "ListEndpointGroupsInput"}
 10573  	if s.ListenerArn == nil {
 10574  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
 10575  	}
 10576  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10577  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10578  	}
 10579  
 10580  	if invalidParams.Len() > 0 {
 10581  		return invalidParams
 10582  	}
 10583  	return nil
 10584  }
 10585  
 10586  // SetListenerArn sets the ListenerArn field's value.
 10587  func (s *ListEndpointGroupsInput) SetListenerArn(v string) *ListEndpointGroupsInput {
 10588  	s.ListenerArn = &v
 10589  	return s
 10590  }
 10591  
 10592  // SetMaxResults sets the MaxResults field's value.
 10593  func (s *ListEndpointGroupsInput) SetMaxResults(v int64) *ListEndpointGroupsInput {
 10594  	s.MaxResults = &v
 10595  	return s
 10596  }
 10597  
 10598  // SetNextToken sets the NextToken field's value.
 10599  func (s *ListEndpointGroupsInput) SetNextToken(v string) *ListEndpointGroupsInput {
 10600  	s.NextToken = &v
 10601  	return s
 10602  }
 10603  
 10604  type ListEndpointGroupsOutput struct {
 10605  	_ struct{} `type:"structure"`
 10606  
 10607  	// The list of the endpoint groups associated with a listener.
 10608  	EndpointGroups []*EndpointGroup `type:"list"`
 10609  
 10610  	// The token for the next set of results. You receive this token from a previous
 10611  	// call.
 10612  	NextToken *string `type:"string"`
 10613  }
 10614  
 10615  // String returns the string representation.
 10616  //
 10617  // API parameter values that are decorated as "sensitive" in the API will not
 10618  // be included in the string output. The member name will be present, but the
 10619  // value will be replaced with "sensitive".
 10620  func (s ListEndpointGroupsOutput) String() string {
 10621  	return awsutil.Prettify(s)
 10622  }
 10623  
 10624  // GoString returns the string representation.
 10625  //
 10626  // API parameter values that are decorated as "sensitive" in the API will not
 10627  // be included in the string output. The member name will be present, but the
 10628  // value will be replaced with "sensitive".
 10629  func (s ListEndpointGroupsOutput) GoString() string {
 10630  	return s.String()
 10631  }
 10632  
 10633  // SetEndpointGroups sets the EndpointGroups field's value.
 10634  func (s *ListEndpointGroupsOutput) SetEndpointGroups(v []*EndpointGroup) *ListEndpointGroupsOutput {
 10635  	s.EndpointGroups = v
 10636  	return s
 10637  }
 10638  
 10639  // SetNextToken sets the NextToken field's value.
 10640  func (s *ListEndpointGroupsOutput) SetNextToken(v string) *ListEndpointGroupsOutput {
 10641  	s.NextToken = &v
 10642  	return s
 10643  }
 10644  
 10645  type ListListenersInput struct {
 10646  	_ struct{} `type:"structure"`
 10647  
 10648  	// The Amazon Resource Name (ARN) of the accelerator for which you want to list
 10649  	// listener objects.
 10650  	//
 10651  	// AcceleratorArn is a required field
 10652  	AcceleratorArn *string `type:"string" required:"true"`
 10653  
 10654  	// The number of listener objects that you want to return with this call. The
 10655  	// default value is 10.
 10656  	MaxResults *int64 `min:"1" type:"integer"`
 10657  
 10658  	// The token for the next set of results. You receive this token from a previous
 10659  	// call.
 10660  	NextToken *string `type:"string"`
 10661  }
 10662  
 10663  // String returns the string representation.
 10664  //
 10665  // API parameter values that are decorated as "sensitive" in the API will not
 10666  // be included in the string output. The member name will be present, but the
 10667  // value will be replaced with "sensitive".
 10668  func (s ListListenersInput) String() string {
 10669  	return awsutil.Prettify(s)
 10670  }
 10671  
 10672  // GoString returns the string representation.
 10673  //
 10674  // API parameter values that are decorated as "sensitive" in the API will not
 10675  // be included in the string output. The member name will be present, but the
 10676  // value will be replaced with "sensitive".
 10677  func (s ListListenersInput) GoString() string {
 10678  	return s.String()
 10679  }
 10680  
 10681  // Validate inspects the fields of the type to determine if they are valid.
 10682  func (s *ListListenersInput) Validate() error {
 10683  	invalidParams := request.ErrInvalidParams{Context: "ListListenersInput"}
 10684  	if s.AcceleratorArn == nil {
 10685  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
 10686  	}
 10687  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10688  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10689  	}
 10690  
 10691  	if invalidParams.Len() > 0 {
 10692  		return invalidParams
 10693  	}
 10694  	return nil
 10695  }
 10696  
 10697  // SetAcceleratorArn sets the AcceleratorArn field's value.
 10698  func (s *ListListenersInput) SetAcceleratorArn(v string) *ListListenersInput {
 10699  	s.AcceleratorArn = &v
 10700  	return s
 10701  }
 10702  
 10703  // SetMaxResults sets the MaxResults field's value.
 10704  func (s *ListListenersInput) SetMaxResults(v int64) *ListListenersInput {
 10705  	s.MaxResults = &v
 10706  	return s
 10707  }
 10708  
 10709  // SetNextToken sets the NextToken field's value.
 10710  func (s *ListListenersInput) SetNextToken(v string) *ListListenersInput {
 10711  	s.NextToken = &v
 10712  	return s
 10713  }
 10714  
 10715  type ListListenersOutput struct {
 10716  	_ struct{} `type:"structure"`
 10717  
 10718  	// The list of listeners for an accelerator.
 10719  	Listeners []*Listener `type:"list"`
 10720  
 10721  	// The token for the next set of results. You receive this token from a previous
 10722  	// call.
 10723  	NextToken *string `type:"string"`
 10724  }
 10725  
 10726  // String returns the string representation.
 10727  //
 10728  // API parameter values that are decorated as "sensitive" in the API will not
 10729  // be included in the string output. The member name will be present, but the
 10730  // value will be replaced with "sensitive".
 10731  func (s ListListenersOutput) String() string {
 10732  	return awsutil.Prettify(s)
 10733  }
 10734  
 10735  // GoString returns the string representation.
 10736  //
 10737  // API parameter values that are decorated as "sensitive" in the API will not
 10738  // be included in the string output. The member name will be present, but the
 10739  // value will be replaced with "sensitive".
 10740  func (s ListListenersOutput) GoString() string {
 10741  	return s.String()
 10742  }
 10743  
 10744  // SetListeners sets the Listeners field's value.
 10745  func (s *ListListenersOutput) SetListeners(v []*Listener) *ListListenersOutput {
 10746  	s.Listeners = v
 10747  	return s
 10748  }
 10749  
 10750  // SetNextToken sets the NextToken field's value.
 10751  func (s *ListListenersOutput) SetNextToken(v string) *ListListenersOutput {
 10752  	s.NextToken = &v
 10753  	return s
 10754  }
 10755  
 10756  type ListTagsForResourceInput struct {
 10757  	_ struct{} `type:"structure"`
 10758  
 10759  	// The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
 10760  	// uniquely identifies an accelerator.
 10761  	//
 10762  	// ResourceArn is a required field
 10763  	ResourceArn *string `min:"1" type:"string" required:"true"`
 10764  }
 10765  
 10766  // String returns the string representation.
 10767  //
 10768  // API parameter values that are decorated as "sensitive" in the API will not
 10769  // be included in the string output. The member name will be present, but the
 10770  // value will be replaced with "sensitive".
 10771  func (s ListTagsForResourceInput) String() string {
 10772  	return awsutil.Prettify(s)
 10773  }
 10774  
 10775  // GoString returns the string representation.
 10776  //
 10777  // API parameter values that are decorated as "sensitive" in the API will not
 10778  // be included in the string output. The member name will be present, but the
 10779  // value will be replaced with "sensitive".
 10780  func (s ListTagsForResourceInput) GoString() string {
 10781  	return s.String()
 10782  }
 10783  
 10784  // Validate inspects the fields of the type to determine if they are valid.
 10785  func (s *ListTagsForResourceInput) Validate() error {
 10786  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 10787  	if s.ResourceArn == nil {
 10788  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10789  	}
 10790  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10791  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10792  	}
 10793  
 10794  	if invalidParams.Len() > 0 {
 10795  		return invalidParams
 10796  	}
 10797  	return nil
 10798  }
 10799  
 10800  // SetResourceArn sets the ResourceArn field's value.
 10801  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 10802  	s.ResourceArn = &v
 10803  	return s
 10804  }
 10805  
 10806  type ListTagsForResourceOutput struct {
 10807  	_ struct{} `type:"structure"`
 10808  
 10809  	// Root level tag for the Tags parameters.
 10810  	Tags []*Tag `type:"list"`
 10811  }
 10812  
 10813  // String returns the string representation.
 10814  //
 10815  // API parameter values that are decorated as "sensitive" in the API will not
 10816  // be included in the string output. The member name will be present, but the
 10817  // value will be replaced with "sensitive".
 10818  func (s ListTagsForResourceOutput) String() string {
 10819  	return awsutil.Prettify(s)
 10820  }
 10821  
 10822  // GoString returns the string representation.
 10823  //
 10824  // API parameter values that are decorated as "sensitive" in the API will not
 10825  // be included in the string output. The member name will be present, but the
 10826  // value will be replaced with "sensitive".
 10827  func (s ListTagsForResourceOutput) GoString() string {
 10828  	return s.String()
 10829  }
 10830  
 10831  // SetTags sets the Tags field's value.
 10832  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 10833  	s.Tags = v
 10834  	return s
 10835  }
 10836  
 10837  // A complex type for a listener.
 10838  type Listener struct {
 10839  	_ struct{} `type:"structure"`
 10840  
 10841  	// Client affinity lets you direct all requests from a user to the same endpoint,
 10842  	// if you have stateful applications, regardless of the port and protocol of
 10843  	// the client request. Client affinity gives you control over whether to always
 10844  	// route each client to the same specific endpoint.
 10845  	//
 10846  	// AWS Global Accelerator uses a consistent-flow hashing algorithm to choose
 10847  	// the optimal endpoint for a connection. If client affinity is NONE, Global
 10848  	// Accelerator uses the "five-tuple" (5-tuple) properties—source IP address,
 10849  	// source port, destination IP address, destination port, and protocol—to
 10850  	// select the hash value, and then chooses the best endpoint. However, with
 10851  	// this setting, if someone uses different ports to connect to Global Accelerator,
 10852  	// their connections might not be always routed to the same endpoint because
 10853  	// the hash value changes.
 10854  	//
 10855  	// If you want a given client to always be routed to the same endpoint, set
 10856  	// client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting,
 10857  	// Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client)
 10858  	// IP address and destination IP address—to select the hash value.
 10859  	//
 10860  	// The default value is NONE.
 10861  	ClientAffinity *string `type:"string" enum:"ClientAffinity"`
 10862  
 10863  	// The Amazon Resource Name (ARN) of the listener.
 10864  	ListenerArn *string `type:"string"`
 10865  
 10866  	// The list of port ranges for the connections from clients to the accelerator.
 10867  	PortRanges []*PortRange `min:"1" type:"list"`
 10868  
 10869  	// The protocol for the connections from clients to the accelerator.
 10870  	Protocol *string `type:"string" enum:"Protocol"`
 10871  }
 10872  
 10873  // String returns the string representation.
 10874  //
 10875  // API parameter values that are decorated as "sensitive" in the API will not
 10876  // be included in the string output. The member name will be present, but the
 10877  // value will be replaced with "sensitive".
 10878  func (s Listener) String() string {
 10879  	return awsutil.Prettify(s)
 10880  }
 10881  
 10882  // GoString returns the string representation.
 10883  //
 10884  // API parameter values that are decorated as "sensitive" in the API will not
 10885  // be included in the string output. The member name will be present, but the
 10886  // value will be replaced with "sensitive".
 10887  func (s Listener) GoString() string {
 10888  	return s.String()
 10889  }
 10890  
 10891  // SetClientAffinity sets the ClientAffinity field's value.
 10892  func (s *Listener) SetClientAffinity(v string) *Listener {
 10893  	s.ClientAffinity = &v
 10894  	return s
 10895  }
 10896  
 10897  // SetListenerArn sets the ListenerArn field's value.
 10898  func (s *Listener) SetListenerArn(v string) *Listener {
 10899  	s.ListenerArn = &v
 10900  	return s
 10901  }
 10902  
 10903  // SetPortRanges sets the PortRanges field's value.
 10904  func (s *Listener) SetPortRanges(v []*PortRange) *Listener {
 10905  	s.PortRanges = v
 10906  	return s
 10907  }
 10908  
 10909  // SetProtocol sets the Protocol field's value.
 10910  func (s *Listener) SetProtocol(v string) *Listener {
 10911  	s.Protocol = &v
 10912  	return s
 10913  }
 10914  
 10915  // The listener that you specified doesn't exist.
 10916  type ListenerNotFoundException struct {
 10917  	_            struct{}                  `type:"structure"`
 10918  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10919  
 10920  	Message_ *string `locationName:"Message" type:"string"`
 10921  }
 10922  
 10923  // String returns the string representation.
 10924  //
 10925  // API parameter values that are decorated as "sensitive" in the API will not
 10926  // be included in the string output. The member name will be present, but the
 10927  // value will be replaced with "sensitive".
 10928  func (s ListenerNotFoundException) String() string {
 10929  	return awsutil.Prettify(s)
 10930  }
 10931  
 10932  // GoString returns the string representation.
 10933  //
 10934  // API parameter values that are decorated as "sensitive" in the API will not
 10935  // be included in the string output. The member name will be present, but the
 10936  // value will be replaced with "sensitive".
 10937  func (s ListenerNotFoundException) GoString() string {
 10938  	return s.String()
 10939  }
 10940  
 10941  func newErrorListenerNotFoundException(v protocol.ResponseMetadata) error {
 10942  	return &ListenerNotFoundException{
 10943  		RespMetadata: v,
 10944  	}
 10945  }
 10946  
 10947  // Code returns the exception type name.
 10948  func (s *ListenerNotFoundException) Code() string {
 10949  	return "ListenerNotFoundException"
 10950  }
 10951  
 10952  // Message returns the exception's message.
 10953  func (s *ListenerNotFoundException) Message() string {
 10954  	if s.Message_ != nil {
 10955  		return *s.Message_
 10956  	}
 10957  	return ""
 10958  }
 10959  
 10960  // OrigErr always returns nil, satisfies awserr.Error interface.
 10961  func (s *ListenerNotFoundException) OrigErr() error {
 10962  	return nil
 10963  }
 10964  
 10965  func (s *ListenerNotFoundException) Error() string {
 10966  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10967  }
 10968  
 10969  // Status code returns the HTTP status code for the request's response error.
 10970  func (s *ListenerNotFoundException) StatusCode() int {
 10971  	return s.RespMetadata.StatusCode
 10972  }
 10973  
 10974  // RequestID returns the service's response RequestID for request.
 10975  func (s *ListenerNotFoundException) RequestID() string {
 10976  	return s.RespMetadata.RequestID
 10977  }
 10978  
 10979  // Returns the ports and associated IP addresses and ports of Amazon EC2 instances
 10980  // in your virtual private cloud (VPC) subnets. Custom routing is a port mapping
 10981  // protocol in AWS Global Accelerator that statically associates port ranges
 10982  // with VPC subnets, which allows Global Accelerator to route to specific instances
 10983  // and ports within one or more subnets.
 10984  type PortMapping struct {
 10985  	_ struct{} `type:"structure"`
 10986  
 10987  	// The accelerator port.
 10988  	AcceleratorPort *int64 `min:"1" type:"integer"`
 10989  
 10990  	// The EC2 instance IP address and port number in the virtual private cloud
 10991  	// (VPC) subnet.
 10992  	DestinationSocketAddress *SocketAddress `type:"structure"`
 10993  
 10994  	// Indicates whether or not a port mapping destination can receive traffic.
 10995  	// The value is either ALLOW, if traffic is allowed to the destination, or DENY,
 10996  	// if traffic is not allowed to the destination.
 10997  	DestinationTrafficState *string `type:"string" enum:"CustomRoutingDestinationTrafficState"`
 10998  
 10999  	// The Amazon Resource Name (ARN) of the endpoint group.
 11000  	EndpointGroupArn *string `type:"string"`
 11001  
 11002  	// The IP address of the VPC subnet (the subnet ID).
 11003  	EndpointId *string `type:"string"`
 11004  
 11005  	// The protocols supported by the endpoint group.
 11006  	Protocols []*string `min:"1" type:"list"`
 11007  }
 11008  
 11009  // String returns the string representation.
 11010  //
 11011  // API parameter values that are decorated as "sensitive" in the API will not
 11012  // be included in the string output. The member name will be present, but the
 11013  // value will be replaced with "sensitive".
 11014  func (s PortMapping) String() string {
 11015  	return awsutil.Prettify(s)
 11016  }
 11017  
 11018  // GoString returns the string representation.
 11019  //
 11020  // API parameter values that are decorated as "sensitive" in the API will not
 11021  // be included in the string output. The member name will be present, but the
 11022  // value will be replaced with "sensitive".
 11023  func (s PortMapping) GoString() string {
 11024  	return s.String()
 11025  }
 11026  
 11027  // SetAcceleratorPort sets the AcceleratorPort field's value.
 11028  func (s *PortMapping) SetAcceleratorPort(v int64) *PortMapping {
 11029  	s.AcceleratorPort = &v
 11030  	return s
 11031  }
 11032  
 11033  // SetDestinationSocketAddress sets the DestinationSocketAddress field's value.
 11034  func (s *PortMapping) SetDestinationSocketAddress(v *SocketAddress) *PortMapping {
 11035  	s.DestinationSocketAddress = v
 11036  	return s
 11037  }
 11038  
 11039  // SetDestinationTrafficState sets the DestinationTrafficState field's value.
 11040  func (s *PortMapping) SetDestinationTrafficState(v string) *PortMapping {
 11041  	s.DestinationTrafficState = &v
 11042  	return s
 11043  }
 11044  
 11045  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
 11046  func (s *PortMapping) SetEndpointGroupArn(v string) *PortMapping {
 11047  	s.EndpointGroupArn = &v
 11048  	return s
 11049  }
 11050  
 11051  // SetEndpointId sets the EndpointId field's value.
 11052  func (s *PortMapping) SetEndpointId(v string) *PortMapping {
 11053  	s.EndpointId = &v
 11054  	return s
 11055  }
 11056  
 11057  // SetProtocols sets the Protocols field's value.
 11058  func (s *PortMapping) SetProtocols(v []*string) *PortMapping {
 11059  	s.Protocols = v
 11060  	return s
 11061  }
 11062  
 11063  // Override specific listener ports used to route traffic to endpoints that
 11064  // are part of an endpoint group. For example, you can create a port override
 11065  // in which the listener receives user traffic on ports 80 and 443, but your
 11066  // accelerator routes that traffic to ports 1080 and 1443, respectively, on
 11067  // the endpoints.
 11068  //
 11069  // For more information, see Port overrides (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html)
 11070  // in the AWS Global Accelerator Developer Guide.
 11071  type PortOverride struct {
 11072  	_ struct{} `type:"structure"`
 11073  
 11074  	// The endpoint port that you want a listener port to be mapped to. This is
 11075  	// the port on the endpoint, such as the Application Load Balancer or Amazon
 11076  	// EC2 instance.
 11077  	EndpointPort *int64 `min:"1" type:"integer"`
 11078  
 11079  	// The listener port that you want to map to a specific endpoint port. This
 11080  	// is the port that user traffic arrives to the Global Accelerator on.
 11081  	ListenerPort *int64 `min:"1" type:"integer"`
 11082  }
 11083  
 11084  // String returns the string representation.
 11085  //
 11086  // API parameter values that are decorated as "sensitive" in the API will not
 11087  // be included in the string output. The member name will be present, but the
 11088  // value will be replaced with "sensitive".
 11089  func (s PortOverride) String() string {
 11090  	return awsutil.Prettify(s)
 11091  }
 11092  
 11093  // GoString returns the string representation.
 11094  //
 11095  // API parameter values that are decorated as "sensitive" in the API will not
 11096  // be included in the string output. The member name will be present, but the
 11097  // value will be replaced with "sensitive".
 11098  func (s PortOverride) GoString() string {
 11099  	return s.String()
 11100  }
 11101  
 11102  // Validate inspects the fields of the type to determine if they are valid.
 11103  func (s *PortOverride) Validate() error {
 11104  	invalidParams := request.ErrInvalidParams{Context: "PortOverride"}
 11105  	if s.EndpointPort != nil && *s.EndpointPort < 1 {
 11106  		invalidParams.Add(request.NewErrParamMinValue("EndpointPort", 1))
 11107  	}
 11108  	if s.ListenerPort != nil && *s.ListenerPort < 1 {
 11109  		invalidParams.Add(request.NewErrParamMinValue("ListenerPort", 1))
 11110  	}
 11111  
 11112  	if invalidParams.Len() > 0 {
 11113  		return invalidParams
 11114  	}
 11115  	return nil
 11116  }
 11117  
 11118  // SetEndpointPort sets the EndpointPort field's value.
 11119  func (s *PortOverride) SetEndpointPort(v int64) *PortOverride {
 11120  	s.EndpointPort = &v
 11121  	return s
 11122  }
 11123  
 11124  // SetListenerPort sets the ListenerPort field's value.
 11125  func (s *PortOverride) SetListenerPort(v int64) *PortOverride {
 11126  	s.ListenerPort = &v
 11127  	return s
 11128  }
 11129  
 11130  // A complex type for a range of ports for a listener.
 11131  type PortRange struct {
 11132  	_ struct{} `type:"structure"`
 11133  
 11134  	// The first port in the range of ports, inclusive.
 11135  	FromPort *int64 `min:"1" type:"integer"`
 11136  
 11137  	// The last port in the range of ports, inclusive.
 11138  	ToPort *int64 `min:"1" type:"integer"`
 11139  }
 11140  
 11141  // String returns the string representation.
 11142  //
 11143  // API parameter values that are decorated as "sensitive" in the API will not
 11144  // be included in the string output. The member name will be present, but the
 11145  // value will be replaced with "sensitive".
 11146  func (s PortRange) String() string {
 11147  	return awsutil.Prettify(s)
 11148  }
 11149  
 11150  // GoString returns the string representation.
 11151  //
 11152  // API parameter values that are decorated as "sensitive" in the API will not
 11153  // be included in the string output. The member name will be present, but the
 11154  // value will be replaced with "sensitive".
 11155  func (s PortRange) GoString() string {
 11156  	return s.String()
 11157  }
 11158  
 11159  // Validate inspects the fields of the type to determine if they are valid.
 11160  func (s *PortRange) Validate() error {
 11161  	invalidParams := request.ErrInvalidParams{Context: "PortRange"}
 11162  	if s.FromPort != nil && *s.FromPort < 1 {
 11163  		invalidParams.Add(request.NewErrParamMinValue("FromPort", 1))
 11164  	}
 11165  	if s.ToPort != nil && *s.ToPort < 1 {
 11166  		invalidParams.Add(request.NewErrParamMinValue("ToPort", 1))
 11167  	}
 11168  
 11169  	if invalidParams.Len() > 0 {
 11170  		return invalidParams
 11171  	}
 11172  	return nil
 11173  }
 11174  
 11175  // SetFromPort sets the FromPort field's value.
 11176  func (s *PortRange) SetFromPort(v int64) *PortRange {
 11177  	s.FromPort = &v
 11178  	return s
 11179  }
 11180  
 11181  // SetToPort sets the ToPort field's value.
 11182  func (s *PortRange) SetToPort(v int64) *PortRange {
 11183  	s.ToPort = &v
 11184  	return s
 11185  }
 11186  
 11187  type ProvisionByoipCidrInput struct {
 11188  	_ struct{} `type:"structure"`
 11189  
 11190  	// The public IPv4 address range, in CIDR notation. The most specific IP prefix
 11191  	// that you can specify is /24. The address range cannot overlap with another
 11192  	// address range that you've brought to this or another Region.
 11193  	//
 11194  	// Cidr is a required field
 11195  	Cidr *string `type:"string" required:"true"`
 11196  
 11197  	// A signed document that proves that you are authorized to bring the specified
 11198  	// IP address range to Amazon using BYOIP.
 11199  	//
 11200  	// CidrAuthorizationContext is a required field
 11201  	CidrAuthorizationContext *CidrAuthorizationContext `type:"structure" required:"true"`
 11202  }
 11203  
 11204  // String returns the string representation.
 11205  //
 11206  // API parameter values that are decorated as "sensitive" in the API will not
 11207  // be included in the string output. The member name will be present, but the
 11208  // value will be replaced with "sensitive".
 11209  func (s ProvisionByoipCidrInput) String() string {
 11210  	return awsutil.Prettify(s)
 11211  }
 11212  
 11213  // GoString returns the string representation.
 11214  //
 11215  // API parameter values that are decorated as "sensitive" in the API will not
 11216  // be included in the string output. The member name will be present, but the
 11217  // value will be replaced with "sensitive".
 11218  func (s ProvisionByoipCidrInput) GoString() string {
 11219  	return s.String()
 11220  }
 11221  
 11222  // Validate inspects the fields of the type to determine if they are valid.
 11223  func (s *ProvisionByoipCidrInput) Validate() error {
 11224  	invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
 11225  	if s.Cidr == nil {
 11226  		invalidParams.Add(request.NewErrParamRequired("Cidr"))
 11227  	}
 11228  	if s.CidrAuthorizationContext == nil {
 11229  		invalidParams.Add(request.NewErrParamRequired("CidrAuthorizationContext"))
 11230  	}
 11231  	if s.CidrAuthorizationContext != nil {
 11232  		if err := s.CidrAuthorizationContext.Validate(); err != nil {
 11233  			invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
 11234  		}
 11235  	}
 11236  
 11237  	if invalidParams.Len() > 0 {
 11238  		return invalidParams
 11239  	}
 11240  	return nil
 11241  }
 11242  
 11243  // SetCidr sets the Cidr field's value.
 11244  func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
 11245  	s.Cidr = &v
 11246  	return s
 11247  }
 11248  
 11249  // SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
 11250  func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
 11251  	s.CidrAuthorizationContext = v
 11252  	return s
 11253  }
 11254  
 11255  type ProvisionByoipCidrOutput struct {
 11256  	_ struct{} `type:"structure"`
 11257  
 11258  	// Information about the address range.
 11259  	ByoipCidr *ByoipCidr `type:"structure"`
 11260  }
 11261  
 11262  // String returns the string representation.
 11263  //
 11264  // API parameter values that are decorated as "sensitive" in the API will not
 11265  // be included in the string output. The member name will be present, but the
 11266  // value will be replaced with "sensitive".
 11267  func (s ProvisionByoipCidrOutput) String() string {
 11268  	return awsutil.Prettify(s)
 11269  }
 11270  
 11271  // GoString returns the string representation.
 11272  //
 11273  // API parameter values that are decorated as "sensitive" in the API will not
 11274  // be included in the string output. The member name will be present, but the
 11275  // value will be replaced with "sensitive".
 11276  func (s ProvisionByoipCidrOutput) GoString() string {
 11277  	return s.String()
 11278  }
 11279  
 11280  // SetByoipCidr sets the ByoipCidr field's value.
 11281  func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
 11282  	s.ByoipCidr = v
 11283  	return s
 11284  }
 11285  
 11286  type RemoveCustomRoutingEndpointsInput struct {
 11287  	_ struct{} `type:"structure"`
 11288  
 11289  	// The Amazon Resource Name (ARN) of the endpoint group to remove endpoints
 11290  	// from.
 11291  	//
 11292  	// EndpointGroupArn is a required field
 11293  	EndpointGroupArn *string `type:"string" required:"true"`
 11294  
 11295  	// The IDs for the endpoints. For custom routing accelerators, endpoint IDs
 11296  	// are the virtual private cloud (VPC) subnet IDs.
 11297  	//
 11298  	// EndpointIds is a required field
 11299  	EndpointIds []*string `type:"list" required:"true"`
 11300  }
 11301  
 11302  // String returns the string representation.
 11303  //
 11304  // API parameter values that are decorated as "sensitive" in the API will not
 11305  // be included in the string output. The member name will be present, but the
 11306  // value will be replaced with "sensitive".
 11307  func (s RemoveCustomRoutingEndpointsInput) String() string {
 11308  	return awsutil.Prettify(s)
 11309  }
 11310  
 11311  // GoString returns the string representation.
 11312  //
 11313  // API parameter values that are decorated as "sensitive" in the API will not
 11314  // be included in the string output. The member name will be present, but the
 11315  // value will be replaced with "sensitive".
 11316  func (s RemoveCustomRoutingEndpointsInput) GoString() string {
 11317  	return s.String()
 11318  }
 11319  
 11320  // Validate inspects the fields of the type to determine if they are valid.
 11321  func (s *RemoveCustomRoutingEndpointsInput) Validate() error {
 11322  	invalidParams := request.ErrInvalidParams{Context: "RemoveCustomRoutingEndpointsInput"}
 11323  	if s.EndpointGroupArn == nil {
 11324  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
 11325  	}
 11326  	if s.EndpointIds == nil {
 11327  		invalidParams.Add(request.NewErrParamRequired("EndpointIds"))
 11328  	}
 11329  
 11330  	if invalidParams.Len() > 0 {
 11331  		return invalidParams
 11332  	}
 11333  	return nil
 11334  }
 11335  
 11336  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
 11337  func (s *RemoveCustomRoutingEndpointsInput) SetEndpointGroupArn(v string) *RemoveCustomRoutingEndpointsInput {
 11338  	s.EndpointGroupArn = &v
 11339  	return s
 11340  }
 11341  
 11342  // SetEndpointIds sets the EndpointIds field's value.
 11343  func (s *RemoveCustomRoutingEndpointsInput) SetEndpointIds(v []*string) *RemoveCustomRoutingEndpointsInput {
 11344  	s.EndpointIds = v
 11345  	return s
 11346  }
 11347  
 11348  type RemoveCustomRoutingEndpointsOutput struct {
 11349  	_ struct{} `type:"structure"`
 11350  }
 11351  
 11352  // String returns the string representation.
 11353  //
 11354  // API parameter values that are decorated as "sensitive" in the API will not
 11355  // be included in the string output. The member name will be present, but the
 11356  // value will be replaced with "sensitive".
 11357  func (s RemoveCustomRoutingEndpointsOutput) String() string {
 11358  	return awsutil.Prettify(s)
 11359  }
 11360  
 11361  // GoString returns the string representation.
 11362  //
 11363  // API parameter values that are decorated as "sensitive" in the API will not
 11364  // be included in the string output. The member name will be present, but the
 11365  // value will be replaced with "sensitive".
 11366  func (s RemoveCustomRoutingEndpointsOutput) GoString() string {
 11367  	return s.String()
 11368  }
 11369  
 11370  // An IP address/port combination.
 11371  type SocketAddress struct {
 11372  	_ struct{} `type:"structure"`
 11373  
 11374  	// The IP address for the socket address.
 11375  	IpAddress *string `type:"string"`
 11376  
 11377  	// The port for the socket address.
 11378  	Port *int64 `min:"1" type:"integer"`
 11379  }
 11380  
 11381  // String returns the string representation.
 11382  //
 11383  // API parameter values that are decorated as "sensitive" in the API will not
 11384  // be included in the string output. The member name will be present, but the
 11385  // value will be replaced with "sensitive".
 11386  func (s SocketAddress) String() string {
 11387  	return awsutil.Prettify(s)
 11388  }
 11389  
 11390  // GoString returns the string representation.
 11391  //
 11392  // API parameter values that are decorated as "sensitive" in the API will not
 11393  // be included in the string output. The member name will be present, but the
 11394  // value will be replaced with "sensitive".
 11395  func (s SocketAddress) GoString() string {
 11396  	return s.String()
 11397  }
 11398  
 11399  // SetIpAddress sets the IpAddress field's value.
 11400  func (s *SocketAddress) SetIpAddress(v string) *SocketAddress {
 11401  	s.IpAddress = &v
 11402  	return s
 11403  }
 11404  
 11405  // SetPort sets the Port field's value.
 11406  func (s *SocketAddress) SetPort(v int64) *SocketAddress {
 11407  	s.Port = &v
 11408  	return s
 11409  }
 11410  
 11411  // A complex type that contains a Tag key and Tag value.
 11412  type Tag struct {
 11413  	_ struct{} `type:"structure"`
 11414  
 11415  	// A string that contains a Tag key.
 11416  	//
 11417  	// Key is a required field
 11418  	Key *string `min:"1" type:"string" required:"true"`
 11419  
 11420  	// A string that contains a Tag value.
 11421  	//
 11422  	// Value is a required field
 11423  	Value *string `type:"string" required:"true"`
 11424  }
 11425  
 11426  // String returns the string representation.
 11427  //
 11428  // API parameter values that are decorated as "sensitive" in the API will not
 11429  // be included in the string output. The member name will be present, but the
 11430  // value will be replaced with "sensitive".
 11431  func (s Tag) String() string {
 11432  	return awsutil.Prettify(s)
 11433  }
 11434  
 11435  // GoString returns the string representation.
 11436  //
 11437  // API parameter values that are decorated as "sensitive" in the API will not
 11438  // be included in the string output. The member name will be present, but the
 11439  // value will be replaced with "sensitive".
 11440  func (s Tag) GoString() string {
 11441  	return s.String()
 11442  }
 11443  
 11444  // Validate inspects the fields of the type to determine if they are valid.
 11445  func (s *Tag) Validate() error {
 11446  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 11447  	if s.Key == nil {
 11448  		invalidParams.Add(request.NewErrParamRequired("Key"))
 11449  	}
 11450  	if s.Key != nil && len(*s.Key) < 1 {
 11451  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 11452  	}
 11453  	if s.Value == nil {
 11454  		invalidParams.Add(request.NewErrParamRequired("Value"))
 11455  	}
 11456  
 11457  	if invalidParams.Len() > 0 {
 11458  		return invalidParams
 11459  	}
 11460  	return nil
 11461  }
 11462  
 11463  // SetKey sets the Key field's value.
 11464  func (s *Tag) SetKey(v string) *Tag {
 11465  	s.Key = &v
 11466  	return s
 11467  }
 11468  
 11469  // SetValue sets the Value field's value.
 11470  func (s *Tag) SetValue(v string) *Tag {
 11471  	s.Value = &v
 11472  	return s
 11473  }
 11474  
 11475  type TagResourceInput struct {
 11476  	_ struct{} `type:"structure"`
 11477  
 11478  	// The Amazon Resource Name (ARN) of the Global Accelerator resource to add
 11479  	// tags to. An ARN uniquely identifies a resource.
 11480  	//
 11481  	// ResourceArn is a required field
 11482  	ResourceArn *string `min:"1" type:"string" required:"true"`
 11483  
 11484  	// The tags to add to a resource. A tag consists of a key and a value that you
 11485  	// define.
 11486  	//
 11487  	// Tags is a required field
 11488  	Tags []*Tag `type:"list" required:"true"`
 11489  }
 11490  
 11491  // String returns the string representation.
 11492  //
 11493  // API parameter values that are decorated as "sensitive" in the API will not
 11494  // be included in the string output. The member name will be present, but the
 11495  // value will be replaced with "sensitive".
 11496  func (s TagResourceInput) String() string {
 11497  	return awsutil.Prettify(s)
 11498  }
 11499  
 11500  // GoString returns the string representation.
 11501  //
 11502  // API parameter values that are decorated as "sensitive" in the API will not
 11503  // be included in the string output. The member name will be present, but the
 11504  // value will be replaced with "sensitive".
 11505  func (s TagResourceInput) GoString() string {
 11506  	return s.String()
 11507  }
 11508  
 11509  // Validate inspects the fields of the type to determine if they are valid.
 11510  func (s *TagResourceInput) Validate() error {
 11511  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 11512  	if s.ResourceArn == nil {
 11513  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11514  	}
 11515  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 11516  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 11517  	}
 11518  	if s.Tags == nil {
 11519  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 11520  	}
 11521  	if s.Tags != nil {
 11522  		for i, v := range s.Tags {
 11523  			if v == nil {
 11524  				continue
 11525  			}
 11526  			if err := v.Validate(); err != nil {
 11527  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 11528  			}
 11529  		}
 11530  	}
 11531  
 11532  	if invalidParams.Len() > 0 {
 11533  		return invalidParams
 11534  	}
 11535  	return nil
 11536  }
 11537  
 11538  // SetResourceArn sets the ResourceArn field's value.
 11539  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 11540  	s.ResourceArn = &v
 11541  	return s
 11542  }
 11543  
 11544  // SetTags sets the Tags field's value.
 11545  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 11546  	s.Tags = v
 11547  	return s
 11548  }
 11549  
 11550  type TagResourceOutput struct {
 11551  	_ struct{} `type:"structure"`
 11552  }
 11553  
 11554  // String returns the string representation.
 11555  //
 11556  // API parameter values that are decorated as "sensitive" in the API will not
 11557  // be included in the string output. The member name will be present, but the
 11558  // value will be replaced with "sensitive".
 11559  func (s TagResourceOutput) String() string {
 11560  	return awsutil.Prettify(s)
 11561  }
 11562  
 11563  // GoString returns the string representation.
 11564  //
 11565  // API parameter values that are decorated as "sensitive" in the API will not
 11566  // be included in the string output. The member name will be present, but the
 11567  // value will be replaced with "sensitive".
 11568  func (s TagResourceOutput) GoString() string {
 11569  	return s.String()
 11570  }
 11571  
 11572  type UntagResourceInput struct {
 11573  	_ struct{} `type:"structure"`
 11574  
 11575  	// The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
 11576  	// tags from. An ARN uniquely identifies a resource.
 11577  	//
 11578  	// ResourceArn is a required field
 11579  	ResourceArn *string `min:"1" type:"string" required:"true"`
 11580  
 11581  	// The tag key pairs that you want to remove from the specified resources.
 11582  	//
 11583  	// TagKeys is a required field
 11584  	TagKeys []*string `type:"list" required:"true"`
 11585  }
 11586  
 11587  // String returns the string representation.
 11588  //
 11589  // API parameter values that are decorated as "sensitive" in the API will not
 11590  // be included in the string output. The member name will be present, but the
 11591  // value will be replaced with "sensitive".
 11592  func (s UntagResourceInput) String() string {
 11593  	return awsutil.Prettify(s)
 11594  }
 11595  
 11596  // GoString returns the string representation.
 11597  //
 11598  // API parameter values that are decorated as "sensitive" in the API will not
 11599  // be included in the string output. The member name will be present, but the
 11600  // value will be replaced with "sensitive".
 11601  func (s UntagResourceInput) GoString() string {
 11602  	return s.String()
 11603  }
 11604  
 11605  // Validate inspects the fields of the type to determine if they are valid.
 11606  func (s *UntagResourceInput) Validate() error {
 11607  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 11608  	if s.ResourceArn == nil {
 11609  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11610  	}
 11611  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 11612  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 11613  	}
 11614  	if s.TagKeys == nil {
 11615  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 11616  	}
 11617  
 11618  	if invalidParams.Len() > 0 {
 11619  		return invalidParams
 11620  	}
 11621  	return nil
 11622  }
 11623  
 11624  // SetResourceArn sets the ResourceArn field's value.
 11625  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 11626  	s.ResourceArn = &v
 11627  	return s
 11628  }
 11629  
 11630  // SetTagKeys sets the TagKeys field's value.
 11631  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 11632  	s.TagKeys = v
 11633  	return s
 11634  }
 11635  
 11636  type UntagResourceOutput struct {
 11637  	_ struct{} `type:"structure"`
 11638  }
 11639  
 11640  // String returns the string representation.
 11641  //
 11642  // API parameter values that are decorated as "sensitive" in the API will not
 11643  // be included in the string output. The member name will be present, but the
 11644  // value will be replaced with "sensitive".
 11645  func (s UntagResourceOutput) String() string {
 11646  	return awsutil.Prettify(s)
 11647  }
 11648  
 11649  // GoString returns the string representation.
 11650  //
 11651  // API parameter values that are decorated as "sensitive" in the API will not
 11652  // be included in the string output. The member name will be present, but the
 11653  // value will be replaced with "sensitive".
 11654  func (s UntagResourceOutput) GoString() string {
 11655  	return s.String()
 11656  }
 11657  
 11658  type UpdateAcceleratorAttributesInput struct {
 11659  	_ struct{} `type:"structure"`
 11660  
 11661  	// The Amazon Resource Name (ARN) of the accelerator that you want to update.
 11662  	//
 11663  	// AcceleratorArn is a required field
 11664  	AcceleratorArn *string `type:"string" required:"true"`
 11665  
 11666  	// Update whether flow logs are enabled. The default value is false. If the
 11667  	// value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.
 11668  	//
 11669  	// For more information, see Flow Logs (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html)
 11670  	// in the AWS Global Accelerator Developer Guide.
 11671  	FlowLogsEnabled *bool `type:"boolean"`
 11672  
 11673  	// The name of the Amazon S3 bucket for the flow logs. Attribute is required
 11674  	// if FlowLogsEnabled is true. The bucket must exist and have a bucket policy
 11675  	// that grants AWS Global Accelerator permission to write to the bucket.
 11676  	FlowLogsS3Bucket *string `type:"string"`
 11677  
 11678  	// Update the prefix for the location in the Amazon S3 bucket for the flow logs.
 11679  	// Attribute is required if FlowLogsEnabled is true.
 11680  	//
 11681  	// If you don’t specify a prefix, the flow logs are stored in the root of
 11682  	// the bucket. If you specify slash (/) for the S3 bucket prefix, the log file
 11683  	// bucket folder structure will include a double slash (//), like the following:
 11684  	//
 11685  	// s3-bucket_name//AWSLogs/aws_account_id
 11686  	FlowLogsS3Prefix *string `type:"string"`
 11687  }
 11688  
 11689  // String returns the string representation.
 11690  //
 11691  // API parameter values that are decorated as "sensitive" in the API will not
 11692  // be included in the string output. The member name will be present, but the
 11693  // value will be replaced with "sensitive".
 11694  func (s UpdateAcceleratorAttributesInput) String() string {
 11695  	return awsutil.Prettify(s)
 11696  }
 11697  
 11698  // GoString returns the string representation.
 11699  //
 11700  // API parameter values that are decorated as "sensitive" in the API will not
 11701  // be included in the string output. The member name will be present, but the
 11702  // value will be replaced with "sensitive".
 11703  func (s UpdateAcceleratorAttributesInput) GoString() string {
 11704  	return s.String()
 11705  }
 11706  
 11707  // Validate inspects the fields of the type to determine if they are valid.
 11708  func (s *UpdateAcceleratorAttributesInput) Validate() error {
 11709  	invalidParams := request.ErrInvalidParams{Context: "UpdateAcceleratorAttributesInput"}
 11710  	if s.AcceleratorArn == nil {
 11711  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
 11712  	}
 11713  
 11714  	if invalidParams.Len() > 0 {
 11715  		return invalidParams
 11716  	}
 11717  	return nil
 11718  }
 11719  
 11720  // SetAcceleratorArn sets the AcceleratorArn field's value.
 11721  func (s *UpdateAcceleratorAttributesInput) SetAcceleratorArn(v string) *UpdateAcceleratorAttributesInput {
 11722  	s.AcceleratorArn = &v
 11723  	return s
 11724  }
 11725  
 11726  // SetFlowLogsEnabled sets the FlowLogsEnabled field's value.
 11727  func (s *UpdateAcceleratorAttributesInput) SetFlowLogsEnabled(v bool) *UpdateAcceleratorAttributesInput {
 11728  	s.FlowLogsEnabled = &v
 11729  	return s
 11730  }
 11731  
 11732  // SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value.
 11733  func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Bucket(v string) *UpdateAcceleratorAttributesInput {
 11734  	s.FlowLogsS3Bucket = &v
 11735  	return s
 11736  }
 11737  
 11738  // SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value.
 11739  func (s *UpdateAcceleratorAttributesInput) SetFlowLogsS3Prefix(v string) *UpdateAcceleratorAttributesInput {
 11740  	s.FlowLogsS3Prefix = &v
 11741  	return s
 11742  }
 11743  
 11744  type UpdateAcceleratorAttributesOutput struct {
 11745  	_ struct{} `type:"structure"`
 11746  
 11747  	// Updated attributes for the accelerator.
 11748  	AcceleratorAttributes *AcceleratorAttributes `type:"structure"`
 11749  }
 11750  
 11751  // String returns the string representation.
 11752  //
 11753  // API parameter values that are decorated as "sensitive" in the API will not
 11754  // be included in the string output. The member name will be present, but the
 11755  // value will be replaced with "sensitive".
 11756  func (s UpdateAcceleratorAttributesOutput) String() string {
 11757  	return awsutil.Prettify(s)
 11758  }
 11759  
 11760  // GoString returns the string representation.
 11761  //
 11762  // API parameter values that are decorated as "sensitive" in the API will not
 11763  // be included in the string output. The member name will be present, but the
 11764  // value will be replaced with "sensitive".
 11765  func (s UpdateAcceleratorAttributesOutput) GoString() string {
 11766  	return s.String()
 11767  }
 11768  
 11769  // SetAcceleratorAttributes sets the AcceleratorAttributes field's value.
 11770  func (s *UpdateAcceleratorAttributesOutput) SetAcceleratorAttributes(v *AcceleratorAttributes) *UpdateAcceleratorAttributesOutput {
 11771  	s.AcceleratorAttributes = v
 11772  	return s
 11773  }
 11774  
 11775  type UpdateAcceleratorInput struct {
 11776  	_ struct{} `type:"structure"`
 11777  
 11778  	// The Amazon Resource Name (ARN) of the accelerator to update.
 11779  	//
 11780  	// AcceleratorArn is a required field
 11781  	AcceleratorArn *string `type:"string" required:"true"`
 11782  
 11783  	// Indicates whether an accelerator is enabled. The value is true or false.
 11784  	// The default value is true.
 11785  	//
 11786  	// If the value is set to true, the accelerator cannot be deleted. If set to
 11787  	// false, the accelerator can be deleted.
 11788  	Enabled *bool `type:"boolean"`
 11789  
 11790  	// The IP address type, which must be IPv4.
 11791  	IpAddressType *string `type:"string" enum:"IpAddressType"`
 11792  
 11793  	// The name of the accelerator. The name can have a maximum of 32 characters,
 11794  	// must contain only alphanumeric characters or hyphens (-), and must not begin
 11795  	// or end with a hyphen.
 11796  	Name *string `type:"string"`
 11797  }
 11798  
 11799  // String returns the string representation.
 11800  //
 11801  // API parameter values that are decorated as "sensitive" in the API will not
 11802  // be included in the string output. The member name will be present, but the
 11803  // value will be replaced with "sensitive".
 11804  func (s UpdateAcceleratorInput) String() string {
 11805  	return awsutil.Prettify(s)
 11806  }
 11807  
 11808  // GoString returns the string representation.
 11809  //
 11810  // API parameter values that are decorated as "sensitive" in the API will not
 11811  // be included in the string output. The member name will be present, but the
 11812  // value will be replaced with "sensitive".
 11813  func (s UpdateAcceleratorInput) GoString() string {
 11814  	return s.String()
 11815  }
 11816  
 11817  // Validate inspects the fields of the type to determine if they are valid.
 11818  func (s *UpdateAcceleratorInput) Validate() error {
 11819  	invalidParams := request.ErrInvalidParams{Context: "UpdateAcceleratorInput"}
 11820  	if s.AcceleratorArn == nil {
 11821  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
 11822  	}
 11823  
 11824  	if invalidParams.Len() > 0 {
 11825  		return invalidParams
 11826  	}
 11827  	return nil
 11828  }
 11829  
 11830  // SetAcceleratorArn sets the AcceleratorArn field's value.
 11831  func (s *UpdateAcceleratorInput) SetAcceleratorArn(v string) *UpdateAcceleratorInput {
 11832  	s.AcceleratorArn = &v
 11833  	return s
 11834  }
 11835  
 11836  // SetEnabled sets the Enabled field's value.
 11837  func (s *UpdateAcceleratorInput) SetEnabled(v bool) *UpdateAcceleratorInput {
 11838  	s.Enabled = &v
 11839  	return s
 11840  }
 11841  
 11842  // SetIpAddressType sets the IpAddressType field's value.
 11843  func (s *UpdateAcceleratorInput) SetIpAddressType(v string) *UpdateAcceleratorInput {
 11844  	s.IpAddressType = &v
 11845  	return s
 11846  }
 11847  
 11848  // SetName sets the Name field's value.
 11849  func (s *UpdateAcceleratorInput) SetName(v string) *UpdateAcceleratorInput {
 11850  	s.Name = &v
 11851  	return s
 11852  }
 11853  
 11854  type UpdateAcceleratorOutput struct {
 11855  	_ struct{} `type:"structure"`
 11856  
 11857  	// Information about the updated accelerator.
 11858  	Accelerator *Accelerator `type:"structure"`
 11859  }
 11860  
 11861  // String returns the string representation.
 11862  //
 11863  // API parameter values that are decorated as "sensitive" in the API will not
 11864  // be included in the string output. The member name will be present, but the
 11865  // value will be replaced with "sensitive".
 11866  func (s UpdateAcceleratorOutput) String() string {
 11867  	return awsutil.Prettify(s)
 11868  }
 11869  
 11870  // GoString returns the string representation.
 11871  //
 11872  // API parameter values that are decorated as "sensitive" in the API will not
 11873  // be included in the string output. The member name will be present, but the
 11874  // value will be replaced with "sensitive".
 11875  func (s UpdateAcceleratorOutput) GoString() string {
 11876  	return s.String()
 11877  }
 11878  
 11879  // SetAccelerator sets the Accelerator field's value.
 11880  func (s *UpdateAcceleratorOutput) SetAccelerator(v *Accelerator) *UpdateAcceleratorOutput {
 11881  	s.Accelerator = v
 11882  	return s
 11883  }
 11884  
 11885  type UpdateCustomRoutingAcceleratorAttributesInput struct {
 11886  	_ struct{} `type:"structure"`
 11887  
 11888  	// The Amazon Resource Name (ARN) of the custom routing accelerator to update
 11889  	// attributes for.
 11890  	//
 11891  	// AcceleratorArn is a required field
 11892  	AcceleratorArn *string `type:"string" required:"true"`
 11893  
 11894  	// Update whether flow logs are enabled. The default value is false. If the
 11895  	// value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.
 11896  	//
 11897  	// For more information, see Flow Logs (https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html)
 11898  	// in the AWS Global Accelerator Developer Guide.
 11899  	FlowLogsEnabled *bool `type:"boolean"`
 11900  
 11901  	// The name of the Amazon S3 bucket for the flow logs. Attribute is required
 11902  	// if FlowLogsEnabled is true. The bucket must exist and have a bucket policy
 11903  	// that grants AWS Global Accelerator permission to write to the bucket.
 11904  	FlowLogsS3Bucket *string `type:"string"`
 11905  
 11906  	// Update the prefix for the location in the Amazon S3 bucket for the flow logs.
 11907  	// Attribute is required if FlowLogsEnabled is true.
 11908  	//
 11909  	// If you don’t specify a prefix, the flow logs are stored in the root of
 11910  	// the bucket. If you specify slash (/) for the S3 bucket prefix, the log file
 11911  	// bucket folder structure will include a double slash (//), like the following:
 11912  	//
 11913  	// DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id
 11914  	FlowLogsS3Prefix *string `type:"string"`
 11915  }
 11916  
 11917  // String returns the string representation.
 11918  //
 11919  // API parameter values that are decorated as "sensitive" in the API will not
 11920  // be included in the string output. The member name will be present, but the
 11921  // value will be replaced with "sensitive".
 11922  func (s UpdateCustomRoutingAcceleratorAttributesInput) String() string {
 11923  	return awsutil.Prettify(s)
 11924  }
 11925  
 11926  // GoString returns the string representation.
 11927  //
 11928  // API parameter values that are decorated as "sensitive" in the API will not
 11929  // be included in the string output. The member name will be present, but the
 11930  // value will be replaced with "sensitive".
 11931  func (s UpdateCustomRoutingAcceleratorAttributesInput) GoString() string {
 11932  	return s.String()
 11933  }
 11934  
 11935  // Validate inspects the fields of the type to determine if they are valid.
 11936  func (s *UpdateCustomRoutingAcceleratorAttributesInput) Validate() error {
 11937  	invalidParams := request.ErrInvalidParams{Context: "UpdateCustomRoutingAcceleratorAttributesInput"}
 11938  	if s.AcceleratorArn == nil {
 11939  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
 11940  	}
 11941  
 11942  	if invalidParams.Len() > 0 {
 11943  		return invalidParams
 11944  	}
 11945  	return nil
 11946  }
 11947  
 11948  // SetAcceleratorArn sets the AcceleratorArn field's value.
 11949  func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetAcceleratorArn(v string) *UpdateCustomRoutingAcceleratorAttributesInput {
 11950  	s.AcceleratorArn = &v
 11951  	return s
 11952  }
 11953  
 11954  // SetFlowLogsEnabled sets the FlowLogsEnabled field's value.
 11955  func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetFlowLogsEnabled(v bool) *UpdateCustomRoutingAcceleratorAttributesInput {
 11956  	s.FlowLogsEnabled = &v
 11957  	return s
 11958  }
 11959  
 11960  // SetFlowLogsS3Bucket sets the FlowLogsS3Bucket field's value.
 11961  func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetFlowLogsS3Bucket(v string) *UpdateCustomRoutingAcceleratorAttributesInput {
 11962  	s.FlowLogsS3Bucket = &v
 11963  	return s
 11964  }
 11965  
 11966  // SetFlowLogsS3Prefix sets the FlowLogsS3Prefix field's value.
 11967  func (s *UpdateCustomRoutingAcceleratorAttributesInput) SetFlowLogsS3Prefix(v string) *UpdateCustomRoutingAcceleratorAttributesInput {
 11968  	s.FlowLogsS3Prefix = &v
 11969  	return s
 11970  }
 11971  
 11972  type UpdateCustomRoutingAcceleratorAttributesOutput struct {
 11973  	_ struct{} `type:"structure"`
 11974  
 11975  	// Updated custom routing accelerator.
 11976  	AcceleratorAttributes *CustomRoutingAcceleratorAttributes `type:"structure"`
 11977  }
 11978  
 11979  // String returns the string representation.
 11980  //
 11981  // API parameter values that are decorated as "sensitive" in the API will not
 11982  // be included in the string output. The member name will be present, but the
 11983  // value will be replaced with "sensitive".
 11984  func (s UpdateCustomRoutingAcceleratorAttributesOutput) String() string {
 11985  	return awsutil.Prettify(s)
 11986  }
 11987  
 11988  // GoString returns the string representation.
 11989  //
 11990  // API parameter values that are decorated as "sensitive" in the API will not
 11991  // be included in the string output. The member name will be present, but the
 11992  // value will be replaced with "sensitive".
 11993  func (s UpdateCustomRoutingAcceleratorAttributesOutput) GoString() string {
 11994  	return s.String()
 11995  }
 11996  
 11997  // SetAcceleratorAttributes sets the AcceleratorAttributes field's value.
 11998  func (s *UpdateCustomRoutingAcceleratorAttributesOutput) SetAcceleratorAttributes(v *CustomRoutingAcceleratorAttributes) *UpdateCustomRoutingAcceleratorAttributesOutput {
 11999  	s.AcceleratorAttributes = v
 12000  	return s
 12001  }
 12002  
 12003  type UpdateCustomRoutingAcceleratorInput struct {
 12004  	_ struct{} `type:"structure"`
 12005  
 12006  	// The Amazon Resource Name (ARN) of the accelerator to update.
 12007  	//
 12008  	// AcceleratorArn is a required field
 12009  	AcceleratorArn *string `type:"string" required:"true"`
 12010  
 12011  	// Indicates whether an accelerator is enabled. The value is true or false.
 12012  	// The default value is true.
 12013  	//
 12014  	// If the value is set to true, the accelerator cannot be deleted. If set to
 12015  	// false, the accelerator can be deleted.
 12016  	Enabled *bool `type:"boolean"`
 12017  
 12018  	// The value for the address type must be IPv4.
 12019  	IpAddressType *string `type:"string" enum:"IpAddressType"`
 12020  
 12021  	// The name of the accelerator. The name can have a maximum of 32 characters,
 12022  	// must contain only alphanumeric characters or hyphens (-), and must not begin
 12023  	// or end with a hyphen.
 12024  	Name *string `type:"string"`
 12025  }
 12026  
 12027  // String returns the string representation.
 12028  //
 12029  // API parameter values that are decorated as "sensitive" in the API will not
 12030  // be included in the string output. The member name will be present, but the
 12031  // value will be replaced with "sensitive".
 12032  func (s UpdateCustomRoutingAcceleratorInput) String() string {
 12033  	return awsutil.Prettify(s)
 12034  }
 12035  
 12036  // GoString returns the string representation.
 12037  //
 12038  // API parameter values that are decorated as "sensitive" in the API will not
 12039  // be included in the string output. The member name will be present, but the
 12040  // value will be replaced with "sensitive".
 12041  func (s UpdateCustomRoutingAcceleratorInput) GoString() string {
 12042  	return s.String()
 12043  }
 12044  
 12045  // Validate inspects the fields of the type to determine if they are valid.
 12046  func (s *UpdateCustomRoutingAcceleratorInput) Validate() error {
 12047  	invalidParams := request.ErrInvalidParams{Context: "UpdateCustomRoutingAcceleratorInput"}
 12048  	if s.AcceleratorArn == nil {
 12049  		invalidParams.Add(request.NewErrParamRequired("AcceleratorArn"))
 12050  	}
 12051  
 12052  	if invalidParams.Len() > 0 {
 12053  		return invalidParams
 12054  	}
 12055  	return nil
 12056  }
 12057  
 12058  // SetAcceleratorArn sets the AcceleratorArn field's value.
 12059  func (s *UpdateCustomRoutingAcceleratorInput) SetAcceleratorArn(v string) *UpdateCustomRoutingAcceleratorInput {
 12060  	s.AcceleratorArn = &v
 12061  	return s
 12062  }
 12063  
 12064  // SetEnabled sets the Enabled field's value.
 12065  func (s *UpdateCustomRoutingAcceleratorInput) SetEnabled(v bool) *UpdateCustomRoutingAcceleratorInput {
 12066  	s.Enabled = &v
 12067  	return s
 12068  }
 12069  
 12070  // SetIpAddressType sets the IpAddressType field's value.
 12071  func (s *UpdateCustomRoutingAcceleratorInput) SetIpAddressType(v string) *UpdateCustomRoutingAcceleratorInput {
 12072  	s.IpAddressType = &v
 12073  	return s
 12074  }
 12075  
 12076  // SetName sets the Name field's value.
 12077  func (s *UpdateCustomRoutingAcceleratorInput) SetName(v string) *UpdateCustomRoutingAcceleratorInput {
 12078  	s.Name = &v
 12079  	return s
 12080  }
 12081  
 12082  type UpdateCustomRoutingAcceleratorOutput struct {
 12083  	_ struct{} `type:"structure"`
 12084  
 12085  	// Information about the updated custom routing accelerator.
 12086  	Accelerator *CustomRoutingAccelerator `type:"structure"`
 12087  }
 12088  
 12089  // String returns the string representation.
 12090  //
 12091  // API parameter values that are decorated as "sensitive" in the API will not
 12092  // be included in the string output. The member name will be present, but the
 12093  // value will be replaced with "sensitive".
 12094  func (s UpdateCustomRoutingAcceleratorOutput) String() string {
 12095  	return awsutil.Prettify(s)
 12096  }
 12097  
 12098  // GoString returns the string representation.
 12099  //
 12100  // API parameter values that are decorated as "sensitive" in the API will not
 12101  // be included in the string output. The member name will be present, but the
 12102  // value will be replaced with "sensitive".
 12103  func (s UpdateCustomRoutingAcceleratorOutput) GoString() string {
 12104  	return s.String()
 12105  }
 12106  
 12107  // SetAccelerator sets the Accelerator field's value.
 12108  func (s *UpdateCustomRoutingAcceleratorOutput) SetAccelerator(v *CustomRoutingAccelerator) *UpdateCustomRoutingAcceleratorOutput {
 12109  	s.Accelerator = v
 12110  	return s
 12111  }
 12112  
 12113  type UpdateCustomRoutingListenerInput struct {
 12114  	_ struct{} `type:"structure"`
 12115  
 12116  	// The Amazon Resource Name (ARN) of the listener to update.
 12117  	//
 12118  	// ListenerArn is a required field
 12119  	ListenerArn *string `type:"string" required:"true"`
 12120  
 12121  	// The updated port range to support for connections from clients to your accelerator.
 12122  	// If you remove ports that are currently being used by a subnet endpoint, the
 12123  	// call fails.
 12124  	//
 12125  	// Separately, you set port ranges for endpoints. For more information, see
 12126  	// About endpoints for custom routing accelerators (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-endpoints.html).
 12127  	//
 12128  	// PortRanges is a required field
 12129  	PortRanges []*PortRange `min:"1" type:"list" required:"true"`
 12130  }
 12131  
 12132  // String returns the string representation.
 12133  //
 12134  // API parameter values that are decorated as "sensitive" in the API will not
 12135  // be included in the string output. The member name will be present, but the
 12136  // value will be replaced with "sensitive".
 12137  func (s UpdateCustomRoutingListenerInput) String() string {
 12138  	return awsutil.Prettify(s)
 12139  }
 12140  
 12141  // GoString returns the string representation.
 12142  //
 12143  // API parameter values that are decorated as "sensitive" in the API will not
 12144  // be included in the string output. The member name will be present, but the
 12145  // value will be replaced with "sensitive".
 12146  func (s UpdateCustomRoutingListenerInput) GoString() string {
 12147  	return s.String()
 12148  }
 12149  
 12150  // Validate inspects the fields of the type to determine if they are valid.
 12151  func (s *UpdateCustomRoutingListenerInput) Validate() error {
 12152  	invalidParams := request.ErrInvalidParams{Context: "UpdateCustomRoutingListenerInput"}
 12153  	if s.ListenerArn == nil {
 12154  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
 12155  	}
 12156  	if s.PortRanges == nil {
 12157  		invalidParams.Add(request.NewErrParamRequired("PortRanges"))
 12158  	}
 12159  	if s.PortRanges != nil && len(s.PortRanges) < 1 {
 12160  		invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1))
 12161  	}
 12162  	if s.PortRanges != nil {
 12163  		for i, v := range s.PortRanges {
 12164  			if v == nil {
 12165  				continue
 12166  			}
 12167  			if err := v.Validate(); err != nil {
 12168  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams))
 12169  			}
 12170  		}
 12171  	}
 12172  
 12173  	if invalidParams.Len() > 0 {
 12174  		return invalidParams
 12175  	}
 12176  	return nil
 12177  }
 12178  
 12179  // SetListenerArn sets the ListenerArn field's value.
 12180  func (s *UpdateCustomRoutingListenerInput) SetListenerArn(v string) *UpdateCustomRoutingListenerInput {
 12181  	s.ListenerArn = &v
 12182  	return s
 12183  }
 12184  
 12185  // SetPortRanges sets the PortRanges field's value.
 12186  func (s *UpdateCustomRoutingListenerInput) SetPortRanges(v []*PortRange) *UpdateCustomRoutingListenerInput {
 12187  	s.PortRanges = v
 12188  	return s
 12189  }
 12190  
 12191  type UpdateCustomRoutingListenerOutput struct {
 12192  	_ struct{} `type:"structure"`
 12193  
 12194  	// Information for the updated listener for a custom routing accelerator.
 12195  	Listener *CustomRoutingListener `type:"structure"`
 12196  }
 12197  
 12198  // String returns the string representation.
 12199  //
 12200  // API parameter values that are decorated as "sensitive" in the API will not
 12201  // be included in the string output. The member name will be present, but the
 12202  // value will be replaced with "sensitive".
 12203  func (s UpdateCustomRoutingListenerOutput) String() string {
 12204  	return awsutil.Prettify(s)
 12205  }
 12206  
 12207  // GoString returns the string representation.
 12208  //
 12209  // API parameter values that are decorated as "sensitive" in the API will not
 12210  // be included in the string output. The member name will be present, but the
 12211  // value will be replaced with "sensitive".
 12212  func (s UpdateCustomRoutingListenerOutput) GoString() string {
 12213  	return s.String()
 12214  }
 12215  
 12216  // SetListener sets the Listener field's value.
 12217  func (s *UpdateCustomRoutingListenerOutput) SetListener(v *CustomRoutingListener) *UpdateCustomRoutingListenerOutput {
 12218  	s.Listener = v
 12219  	return s
 12220  }
 12221  
 12222  type UpdateEndpointGroupInput struct {
 12223  	_ struct{} `type:"structure"`
 12224  
 12225  	// The list of endpoint objects. A resource must be valid and active when you
 12226  	// add it as an endpoint.
 12227  	EndpointConfigurations []*EndpointConfiguration `type:"list"`
 12228  
 12229  	// The Amazon Resource Name (ARN) of the endpoint group.
 12230  	//
 12231  	// EndpointGroupArn is a required field
 12232  	EndpointGroupArn *string `type:"string" required:"true"`
 12233  
 12234  	// The time—10 seconds or 30 seconds—between each health check for an endpoint.
 12235  	// The default value is 30.
 12236  	HealthCheckIntervalSeconds *int64 `min:"10" type:"integer"`
 12237  
 12238  	// If the protocol is HTTP/S, then this specifies the path that is the destination
 12239  	// for health check targets. The default value is slash (/).
 12240  	HealthCheckPath *string `type:"string"`
 12241  
 12242  	// The port that AWS Global Accelerator uses to check the health of endpoints
 12243  	// that are part of this endpoint group. The default port is the listener port
 12244  	// that this endpoint group is associated with. If the listener port is a list
 12245  	// of ports, Global Accelerator uses the first port in the list.
 12246  	HealthCheckPort *int64 `min:"1" type:"integer"`
 12247  
 12248  	// The protocol that AWS Global Accelerator uses to check the health of endpoints
 12249  	// that are part of this endpoint group. The default value is TCP.
 12250  	HealthCheckProtocol *string `type:"string" enum:"HealthCheckProtocol"`
 12251  
 12252  	// Override specific listener ports used to route traffic to endpoints that
 12253  	// are part of this endpoint group. For example, you can create a port override
 12254  	// in which the listener receives user traffic on ports 80 and 443, but your
 12255  	// accelerator routes that traffic to ports 1080 and 1443, respectively, on
 12256  	// the endpoints.
 12257  	//
 12258  	// For more information, see Port overrides (https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html)
 12259  	// in the AWS Global Accelerator Developer Guide.
 12260  	PortOverrides []*PortOverride `type:"list"`
 12261  
 12262  	// The number of consecutive health checks required to set the state of a healthy
 12263  	// endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default
 12264  	// value is 3.
 12265  	ThresholdCount *int64 `min:"1" type:"integer"`
 12266  
 12267  	// The percentage of traffic to send to an AWS Region. Additional traffic is
 12268  	// distributed to other endpoint groups for this listener.
 12269  	//
 12270  	// Use this action to increase (dial up) or decrease (dial down) traffic to
 12271  	// a specific Region. The percentage is applied to the traffic that would otherwise
 12272  	// have been routed to the Region based on optimal routing.
 12273  	//
 12274  	// The default value is 100.
 12275  	TrafficDialPercentage *float64 `type:"float"`
 12276  }
 12277  
 12278  // String returns the string representation.
 12279  //
 12280  // API parameter values that are decorated as "sensitive" in the API will not
 12281  // be included in the string output. The member name will be present, but the
 12282  // value will be replaced with "sensitive".
 12283  func (s UpdateEndpointGroupInput) String() string {
 12284  	return awsutil.Prettify(s)
 12285  }
 12286  
 12287  // GoString returns the string representation.
 12288  //
 12289  // API parameter values that are decorated as "sensitive" in the API will not
 12290  // be included in the string output. The member name will be present, but the
 12291  // value will be replaced with "sensitive".
 12292  func (s UpdateEndpointGroupInput) GoString() string {
 12293  	return s.String()
 12294  }
 12295  
 12296  // Validate inspects the fields of the type to determine if they are valid.
 12297  func (s *UpdateEndpointGroupInput) Validate() error {
 12298  	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointGroupInput"}
 12299  	if s.EndpointGroupArn == nil {
 12300  		invalidParams.Add(request.NewErrParamRequired("EndpointGroupArn"))
 12301  	}
 12302  	if s.HealthCheckIntervalSeconds != nil && *s.HealthCheckIntervalSeconds < 10 {
 12303  		invalidParams.Add(request.NewErrParamMinValue("HealthCheckIntervalSeconds", 10))
 12304  	}
 12305  	if s.HealthCheckPort != nil && *s.HealthCheckPort < 1 {
 12306  		invalidParams.Add(request.NewErrParamMinValue("HealthCheckPort", 1))
 12307  	}
 12308  	if s.ThresholdCount != nil && *s.ThresholdCount < 1 {
 12309  		invalidParams.Add(request.NewErrParamMinValue("ThresholdCount", 1))
 12310  	}
 12311  	if s.PortOverrides != nil {
 12312  		for i, v := range s.PortOverrides {
 12313  			if v == nil {
 12314  				continue
 12315  			}
 12316  			if err := v.Validate(); err != nil {
 12317  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortOverrides", i), err.(request.ErrInvalidParams))
 12318  			}
 12319  		}
 12320  	}
 12321  
 12322  	if invalidParams.Len() > 0 {
 12323  		return invalidParams
 12324  	}
 12325  	return nil
 12326  }
 12327  
 12328  // SetEndpointConfigurations sets the EndpointConfigurations field's value.
 12329  func (s *UpdateEndpointGroupInput) SetEndpointConfigurations(v []*EndpointConfiguration) *UpdateEndpointGroupInput {
 12330  	s.EndpointConfigurations = v
 12331  	return s
 12332  }
 12333  
 12334  // SetEndpointGroupArn sets the EndpointGroupArn field's value.
 12335  func (s *UpdateEndpointGroupInput) SetEndpointGroupArn(v string) *UpdateEndpointGroupInput {
 12336  	s.EndpointGroupArn = &v
 12337  	return s
 12338  }
 12339  
 12340  // SetHealthCheckIntervalSeconds sets the HealthCheckIntervalSeconds field's value.
 12341  func (s *UpdateEndpointGroupInput) SetHealthCheckIntervalSeconds(v int64) *UpdateEndpointGroupInput {
 12342  	s.HealthCheckIntervalSeconds = &v
 12343  	return s
 12344  }
 12345  
 12346  // SetHealthCheckPath sets the HealthCheckPath field's value.
 12347  func (s *UpdateEndpointGroupInput) SetHealthCheckPath(v string) *UpdateEndpointGroupInput {
 12348  	s.HealthCheckPath = &v
 12349  	return s
 12350  }
 12351  
 12352  // SetHealthCheckPort sets the HealthCheckPort field's value.
 12353  func (s *UpdateEndpointGroupInput) SetHealthCheckPort(v int64) *UpdateEndpointGroupInput {
 12354  	s.HealthCheckPort = &v
 12355  	return s
 12356  }
 12357  
 12358  // SetHealthCheckProtocol sets the HealthCheckProtocol field's value.
 12359  func (s *UpdateEndpointGroupInput) SetHealthCheckProtocol(v string) *UpdateEndpointGroupInput {
 12360  	s.HealthCheckProtocol = &v
 12361  	return s
 12362  }
 12363  
 12364  // SetPortOverrides sets the PortOverrides field's value.
 12365  func (s *UpdateEndpointGroupInput) SetPortOverrides(v []*PortOverride) *UpdateEndpointGroupInput {
 12366  	s.PortOverrides = v
 12367  	return s
 12368  }
 12369  
 12370  // SetThresholdCount sets the ThresholdCount field's value.
 12371  func (s *UpdateEndpointGroupInput) SetThresholdCount(v int64) *UpdateEndpointGroupInput {
 12372  	s.ThresholdCount = &v
 12373  	return s
 12374  }
 12375  
 12376  // SetTrafficDialPercentage sets the TrafficDialPercentage field's value.
 12377  func (s *UpdateEndpointGroupInput) SetTrafficDialPercentage(v float64) *UpdateEndpointGroupInput {
 12378  	s.TrafficDialPercentage = &v
 12379  	return s
 12380  }
 12381  
 12382  type UpdateEndpointGroupOutput struct {
 12383  	_ struct{} `type:"structure"`
 12384  
 12385  	// The information about the endpoint group that was updated.
 12386  	EndpointGroup *EndpointGroup `type:"structure"`
 12387  }
 12388  
 12389  // String returns the string representation.
 12390  //
 12391  // API parameter values that are decorated as "sensitive" in the API will not
 12392  // be included in the string output. The member name will be present, but the
 12393  // value will be replaced with "sensitive".
 12394  func (s UpdateEndpointGroupOutput) String() string {
 12395  	return awsutil.Prettify(s)
 12396  }
 12397  
 12398  // GoString returns the string representation.
 12399  //
 12400  // API parameter values that are decorated as "sensitive" in the API will not
 12401  // be included in the string output. The member name will be present, but the
 12402  // value will be replaced with "sensitive".
 12403  func (s UpdateEndpointGroupOutput) GoString() string {
 12404  	return s.String()
 12405  }
 12406  
 12407  // SetEndpointGroup sets the EndpointGroup field's value.
 12408  func (s *UpdateEndpointGroupOutput) SetEndpointGroup(v *EndpointGroup) *UpdateEndpointGroupOutput {
 12409  	s.EndpointGroup = v
 12410  	return s
 12411  }
 12412  
 12413  type UpdateListenerInput struct {
 12414  	_ struct{} `type:"structure"`
 12415  
 12416  	// Client affinity lets you direct all requests from a user to the same endpoint,
 12417  	// if you have stateful applications, regardless of the port and protocol of
 12418  	// the client request. Client affinity gives you control over whether to always
 12419  	// route each client to the same specific endpoint.
 12420  	//
 12421  	// AWS Global Accelerator uses a consistent-flow hashing algorithm to choose
 12422  	// the optimal endpoint for a connection. If client affinity is NONE, Global
 12423  	// Accelerator uses the "five-tuple" (5-tuple) properties—source IP address,
 12424  	// source port, destination IP address, destination port, and protocol—to
 12425  	// select the hash value, and then chooses the best endpoint. However, with
 12426  	// this setting, if someone uses different ports to connect to Global Accelerator,
 12427  	// their connections might not be always routed to the same endpoint because
 12428  	// the hash value changes.
 12429  	//
 12430  	// If you want a given client to always be routed to the same endpoint, set
 12431  	// client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting,
 12432  	// Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client)
 12433  	// IP address and destination IP address—to select the hash value.
 12434  	//
 12435  	// The default value is NONE.
 12436  	ClientAffinity *string `type:"string" enum:"ClientAffinity"`
 12437  
 12438  	// The Amazon Resource Name (ARN) of the listener to update.
 12439  	//
 12440  	// ListenerArn is a required field
 12441  	ListenerArn *string `type:"string" required:"true"`
 12442  
 12443  	// The updated list of port ranges for the connections from clients to the accelerator.
 12444  	PortRanges []*PortRange `min:"1" type:"list"`
 12445  
 12446  	// The updated protocol for the connections from clients to the accelerator.
 12447  	Protocol *string `type:"string" enum:"Protocol"`
 12448  }
 12449  
 12450  // String returns the string representation.
 12451  //
 12452  // API parameter values that are decorated as "sensitive" in the API will not
 12453  // be included in the string output. The member name will be present, but the
 12454  // value will be replaced with "sensitive".
 12455  func (s UpdateListenerInput) String() string {
 12456  	return awsutil.Prettify(s)
 12457  }
 12458  
 12459  // GoString returns the string representation.
 12460  //
 12461  // API parameter values that are decorated as "sensitive" in the API will not
 12462  // be included in the string output. The member name will be present, but the
 12463  // value will be replaced with "sensitive".
 12464  func (s UpdateListenerInput) GoString() string {
 12465  	return s.String()
 12466  }
 12467  
 12468  // Validate inspects the fields of the type to determine if they are valid.
 12469  func (s *UpdateListenerInput) Validate() error {
 12470  	invalidParams := request.ErrInvalidParams{Context: "UpdateListenerInput"}
 12471  	if s.ListenerArn == nil {
 12472  		invalidParams.Add(request.NewErrParamRequired("ListenerArn"))
 12473  	}
 12474  	if s.PortRanges != nil && len(s.PortRanges) < 1 {
 12475  		invalidParams.Add(request.NewErrParamMinLen("PortRanges", 1))
 12476  	}
 12477  	if s.PortRanges != nil {
 12478  		for i, v := range s.PortRanges {
 12479  			if v == nil {
 12480  				continue
 12481  			}
 12482  			if err := v.Validate(); err != nil {
 12483  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortRanges", i), err.(request.ErrInvalidParams))
 12484  			}
 12485  		}
 12486  	}
 12487  
 12488  	if invalidParams.Len() > 0 {
 12489  		return invalidParams
 12490  	}
 12491  	return nil
 12492  }
 12493  
 12494  // SetClientAffinity sets the ClientAffinity field's value.
 12495  func (s *UpdateListenerInput) SetClientAffinity(v string) *UpdateListenerInput {
 12496  	s.ClientAffinity = &v
 12497  	return s
 12498  }
 12499  
 12500  // SetListenerArn sets the ListenerArn field's value.
 12501  func (s *UpdateListenerInput) SetListenerArn(v string) *UpdateListenerInput {
 12502  	s.ListenerArn = &v
 12503  	return s
 12504  }
 12505  
 12506  // SetPortRanges sets the PortRanges field's value.
 12507  func (s *UpdateListenerInput) SetPortRanges(v []*PortRange) *UpdateListenerInput {
 12508  	s.PortRanges = v
 12509  	return s
 12510  }
 12511  
 12512  // SetProtocol sets the Protocol field's value.
 12513  func (s *UpdateListenerInput) SetProtocol(v string) *UpdateListenerInput {
 12514  	s.Protocol = &v
 12515  	return s
 12516  }
 12517  
 12518  type UpdateListenerOutput struct {
 12519  	_ struct{} `type:"structure"`
 12520  
 12521  	// Information for the updated listener.
 12522  	Listener *Listener `type:"structure"`
 12523  }
 12524  
 12525  // String returns the string representation.
 12526  //
 12527  // API parameter values that are decorated as "sensitive" in the API will not
 12528  // be included in the string output. The member name will be present, but the
 12529  // value will be replaced with "sensitive".
 12530  func (s UpdateListenerOutput) String() string {
 12531  	return awsutil.Prettify(s)
 12532  }
 12533  
 12534  // GoString returns the string representation.
 12535  //
 12536  // API parameter values that are decorated as "sensitive" in the API will not
 12537  // be included in the string output. The member name will be present, but the
 12538  // value will be replaced with "sensitive".
 12539  func (s UpdateListenerOutput) GoString() string {
 12540  	return s.String()
 12541  }
 12542  
 12543  // SetListener sets the Listener field's value.
 12544  func (s *UpdateListenerOutput) SetListener(v *Listener) *UpdateListenerOutput {
 12545  	s.Listener = v
 12546  	return s
 12547  }
 12548  
 12549  type WithdrawByoipCidrInput struct {
 12550  	_ struct{} `type:"structure"`
 12551  
 12552  	// The address range, in CIDR notation.
 12553  	//
 12554  	// Cidr is a required field
 12555  	Cidr *string `type:"string" required:"true"`
 12556  }
 12557  
 12558  // String returns the string representation.
 12559  //
 12560  // API parameter values that are decorated as "sensitive" in the API will not
 12561  // be included in the string output. The member name will be present, but the
 12562  // value will be replaced with "sensitive".
 12563  func (s WithdrawByoipCidrInput) String() string {
 12564  	return awsutil.Prettify(s)
 12565  }
 12566  
 12567  // GoString returns the string representation.
 12568  //
 12569  // API parameter values that are decorated as "sensitive" in the API will not
 12570  // be included in the string output. The member name will be present, but the
 12571  // value will be replaced with "sensitive".
 12572  func (s WithdrawByoipCidrInput) GoString() string {
 12573  	return s.String()
 12574  }
 12575  
 12576  // Validate inspects the fields of the type to determine if they are valid.
 12577  func (s *WithdrawByoipCidrInput) Validate() error {
 12578  	invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
 12579  	if s.Cidr == nil {
 12580  		invalidParams.Add(request.NewErrParamRequired("Cidr"))
 12581  	}
 12582  
 12583  	if invalidParams.Len() > 0 {
 12584  		return invalidParams
 12585  	}
 12586  	return nil
 12587  }
 12588  
 12589  // SetCidr sets the Cidr field's value.
 12590  func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
 12591  	s.Cidr = &v
 12592  	return s
 12593  }
 12594  
 12595  type WithdrawByoipCidrOutput struct {
 12596  	_ struct{} `type:"structure"`
 12597  
 12598  	// Information about the address pool.
 12599  	ByoipCidr *ByoipCidr `type:"structure"`
 12600  }
 12601  
 12602  // String returns the string representation.
 12603  //
 12604  // API parameter values that are decorated as "sensitive" in the API will not
 12605  // be included in the string output. The member name will be present, but the
 12606  // value will be replaced with "sensitive".
 12607  func (s WithdrawByoipCidrOutput) String() string {
 12608  	return awsutil.Prettify(s)
 12609  }
 12610  
 12611  // GoString returns the string representation.
 12612  //
 12613  // API parameter values that are decorated as "sensitive" in the API will not
 12614  // be included in the string output. The member name will be present, but the
 12615  // value will be replaced with "sensitive".
 12616  func (s WithdrawByoipCidrOutput) GoString() string {
 12617  	return s.String()
 12618  }
 12619  
 12620  // SetByoipCidr sets the ByoipCidr field's value.
 12621  func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
 12622  	s.ByoipCidr = v
 12623  	return s
 12624  }
 12625  
 12626  const (
 12627  	// AcceleratorStatusDeployed is a AcceleratorStatus enum value
 12628  	AcceleratorStatusDeployed = "DEPLOYED"
 12629  
 12630  	// AcceleratorStatusInProgress is a AcceleratorStatus enum value
 12631  	AcceleratorStatusInProgress = "IN_PROGRESS"
 12632  )
 12633  
 12634  // AcceleratorStatus_Values returns all elements of the AcceleratorStatus enum
 12635  func AcceleratorStatus_Values() []string {
 12636  	return []string{
 12637  		AcceleratorStatusDeployed,
 12638  		AcceleratorStatusInProgress,
 12639  	}
 12640  }
 12641  
 12642  const (
 12643  	// ByoipCidrStatePendingProvisioning is a ByoipCidrState enum value
 12644  	ByoipCidrStatePendingProvisioning = "PENDING_PROVISIONING"
 12645  
 12646  	// ByoipCidrStateReady is a ByoipCidrState enum value
 12647  	ByoipCidrStateReady = "READY"
 12648  
 12649  	// ByoipCidrStatePendingAdvertising is a ByoipCidrState enum value
 12650  	ByoipCidrStatePendingAdvertising = "PENDING_ADVERTISING"
 12651  
 12652  	// ByoipCidrStateAdvertising is a ByoipCidrState enum value
 12653  	ByoipCidrStateAdvertising = "ADVERTISING"
 12654  
 12655  	// ByoipCidrStatePendingWithdrawing is a ByoipCidrState enum value
 12656  	ByoipCidrStatePendingWithdrawing = "PENDING_WITHDRAWING"
 12657  
 12658  	// ByoipCidrStatePendingDeprovisioning is a ByoipCidrState enum value
 12659  	ByoipCidrStatePendingDeprovisioning = "PENDING_DEPROVISIONING"
 12660  
 12661  	// ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
 12662  	ByoipCidrStateDeprovisioned = "DEPROVISIONED"
 12663  
 12664  	// ByoipCidrStateFailedProvision is a ByoipCidrState enum value
 12665  	ByoipCidrStateFailedProvision = "FAILED_PROVISION"
 12666  
 12667  	// ByoipCidrStateFailedAdvertising is a ByoipCidrState enum value
 12668  	ByoipCidrStateFailedAdvertising = "FAILED_ADVERTISING"
 12669  
 12670  	// ByoipCidrStateFailedWithdraw is a ByoipCidrState enum value
 12671  	ByoipCidrStateFailedWithdraw = "FAILED_WITHDRAW"
 12672  
 12673  	// ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
 12674  	ByoipCidrStateFailedDeprovision = "FAILED_DEPROVISION"
 12675  )
 12676  
 12677  // ByoipCidrState_Values returns all elements of the ByoipCidrState enum
 12678  func ByoipCidrState_Values() []string {
 12679  	return []string{
 12680  		ByoipCidrStatePendingProvisioning,
 12681  		ByoipCidrStateReady,
 12682  		ByoipCidrStatePendingAdvertising,
 12683  		ByoipCidrStateAdvertising,
 12684  		ByoipCidrStatePendingWithdrawing,
 12685  		ByoipCidrStatePendingDeprovisioning,
 12686  		ByoipCidrStateDeprovisioned,
 12687  		ByoipCidrStateFailedProvision,
 12688  		ByoipCidrStateFailedAdvertising,
 12689  		ByoipCidrStateFailedWithdraw,
 12690  		ByoipCidrStateFailedDeprovision,
 12691  	}
 12692  }
 12693  
 12694  const (
 12695  	// ClientAffinityNone is a ClientAffinity enum value
 12696  	ClientAffinityNone = "NONE"
 12697  
 12698  	// ClientAffinitySourceIp is a ClientAffinity enum value
 12699  	ClientAffinitySourceIp = "SOURCE_IP"
 12700  )
 12701  
 12702  // ClientAffinity_Values returns all elements of the ClientAffinity enum
 12703  func ClientAffinity_Values() []string {
 12704  	return []string{
 12705  		ClientAffinityNone,
 12706  		ClientAffinitySourceIp,
 12707  	}
 12708  }
 12709  
 12710  const (
 12711  	// CustomRoutingAcceleratorStatusDeployed is a CustomRoutingAcceleratorStatus enum value
 12712  	CustomRoutingAcceleratorStatusDeployed = "DEPLOYED"
 12713  
 12714  	// CustomRoutingAcceleratorStatusInProgress is a CustomRoutingAcceleratorStatus enum value
 12715  	CustomRoutingAcceleratorStatusInProgress = "IN_PROGRESS"
 12716  )
 12717  
 12718  // CustomRoutingAcceleratorStatus_Values returns all elements of the CustomRoutingAcceleratorStatus enum
 12719  func CustomRoutingAcceleratorStatus_Values() []string {
 12720  	return []string{
 12721  		CustomRoutingAcceleratorStatusDeployed,
 12722  		CustomRoutingAcceleratorStatusInProgress,
 12723  	}
 12724  }
 12725  
 12726  const (
 12727  	// CustomRoutingDestinationTrafficStateAllow is a CustomRoutingDestinationTrafficState enum value
 12728  	CustomRoutingDestinationTrafficStateAllow = "ALLOW"
 12729  
 12730  	// CustomRoutingDestinationTrafficStateDeny is a CustomRoutingDestinationTrafficState enum value
 12731  	CustomRoutingDestinationTrafficStateDeny = "DENY"
 12732  )
 12733  
 12734  // CustomRoutingDestinationTrafficState_Values returns all elements of the CustomRoutingDestinationTrafficState enum
 12735  func CustomRoutingDestinationTrafficState_Values() []string {
 12736  	return []string{
 12737  		CustomRoutingDestinationTrafficStateAllow,
 12738  		CustomRoutingDestinationTrafficStateDeny,
 12739  	}
 12740  }
 12741  
 12742  const (
 12743  	// CustomRoutingProtocolTcp is a CustomRoutingProtocol enum value
 12744  	CustomRoutingProtocolTcp = "TCP"
 12745  
 12746  	// CustomRoutingProtocolUdp is a CustomRoutingProtocol enum value
 12747  	CustomRoutingProtocolUdp = "UDP"
 12748  )
 12749  
 12750  // CustomRoutingProtocol_Values returns all elements of the CustomRoutingProtocol enum
 12751  func CustomRoutingProtocol_Values() []string {
 12752  	return []string{
 12753  		CustomRoutingProtocolTcp,
 12754  		CustomRoutingProtocolUdp,
 12755  	}
 12756  }
 12757  
 12758  const (
 12759  	// HealthCheckProtocolTcp is a HealthCheckProtocol enum value
 12760  	HealthCheckProtocolTcp = "TCP"
 12761  
 12762  	// HealthCheckProtocolHttp is a HealthCheckProtocol enum value
 12763  	HealthCheckProtocolHttp = "HTTP"
 12764  
 12765  	// HealthCheckProtocolHttps is a HealthCheckProtocol enum value
 12766  	HealthCheckProtocolHttps = "HTTPS"
 12767  )
 12768  
 12769  // HealthCheckProtocol_Values returns all elements of the HealthCheckProtocol enum
 12770  func HealthCheckProtocol_Values() []string {
 12771  	return []string{
 12772  		HealthCheckProtocolTcp,
 12773  		HealthCheckProtocolHttp,
 12774  		HealthCheckProtocolHttps,
 12775  	}
 12776  }
 12777  
 12778  const (
 12779  	// HealthStateInitial is a HealthState enum value
 12780  	HealthStateInitial = "INITIAL"
 12781  
 12782  	// HealthStateHealthy is a HealthState enum value
 12783  	HealthStateHealthy = "HEALTHY"
 12784  
 12785  	// HealthStateUnhealthy is a HealthState enum value
 12786  	HealthStateUnhealthy = "UNHEALTHY"
 12787  )
 12788  
 12789  // HealthState_Values returns all elements of the HealthState enum
 12790  func HealthState_Values() []string {
 12791  	return []string{
 12792  		HealthStateInitial,
 12793  		HealthStateHealthy,
 12794  		HealthStateUnhealthy,
 12795  	}
 12796  }
 12797  
 12798  const (
 12799  	// IpAddressTypeIpv4 is a IpAddressType enum value
 12800  	IpAddressTypeIpv4 = "IPV4"
 12801  )
 12802  
 12803  // IpAddressType_Values returns all elements of the IpAddressType enum
 12804  func IpAddressType_Values() []string {
 12805  	return []string{
 12806  		IpAddressTypeIpv4,
 12807  	}
 12808  }
 12809  
 12810  const (
 12811  	// ProtocolTcp is a Protocol enum value
 12812  	ProtocolTcp = "TCP"
 12813  
 12814  	// ProtocolUdp is a Protocol enum value
 12815  	ProtocolUdp = "UDP"
 12816  )
 12817  
 12818  // Protocol_Values returns all elements of the Protocol enum
 12819  func Protocol_Values() []string {
 12820  	return []string{
 12821  		ProtocolTcp,
 12822  		ProtocolUdp,
 12823  	}
 12824  }