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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package networkmanager
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAssociateCustomerGateway = "AssociateCustomerGateway"
    17  
    18  // AssociateCustomerGatewayRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateCustomerGateway 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 AssociateCustomerGateway for more information on using the AssociateCustomerGateway
    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 AssociateCustomerGatewayRequest method.
    34  //    req, resp := client.AssociateCustomerGatewayRequest(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/networkmanager-2019-07-05/AssociateCustomerGateway
    42  func (c *NetworkManager) AssociateCustomerGatewayRequest(input *AssociateCustomerGatewayInput) (req *request.Request, output *AssociateCustomerGatewayOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateCustomerGateway,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/global-networks/{globalNetworkId}/customer-gateway-associations",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateCustomerGatewayInput{}
    51  	}
    52  
    53  	output = &AssociateCustomerGatewayOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AssociateCustomerGateway API operation for AWS Network Manager.
    59  //
    60  // Associates a customer gateway with a device and optionally, with a link.
    61  // If you specify a link, it must be associated with the specified device.
    62  //
    63  // You can only associate customer gateways that are connected to a VPN attachment
    64  // on a transit gateway. The transit gateway must be registered in your global
    65  // network. When you register a transit gateway, customer gateways that are
    66  // connected to the transit gateway are automatically included in the global
    67  // network. To list customer gateways that are connected to a transit gateway,
    68  // use the DescribeVpnConnections (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html)
    69  // EC2 API and filter by transit-gateway-id.
    70  //
    71  // You cannot associate a customer gateway with more than one device and link.
    72  //
    73  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    74  // with awserr.Error's Code and Message methods to get detailed information about
    75  // the error.
    76  //
    77  // See the AWS API reference guide for AWS Network Manager's
    78  // API operation AssociateCustomerGateway for usage and error information.
    79  //
    80  // Returned Error Types:
    81  //   * ValidationException
    82  //   The input fails to satisfy the constraints.
    83  //
    84  //   * ServiceQuotaExceededException
    85  //   A service limit was exceeded.
    86  //
    87  //   * AccessDeniedException
    88  //   You do not have sufficient access to perform this action.
    89  //
    90  //   * ResourceNotFoundException
    91  //   The specified resource could not be found.
    92  //
    93  //   * ConflictException
    94  //   There was a conflict processing the request. Updating or deleting the resource
    95  //   can cause an inconsistent state.
    96  //
    97  //   * ThrottlingException
    98  //   The request was denied due to request throttling.
    99  //
   100  //   * InternalServerException
   101  //   The request has failed due to an internal error.
   102  //
   103  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateCustomerGateway
   104  func (c *NetworkManager) AssociateCustomerGateway(input *AssociateCustomerGatewayInput) (*AssociateCustomerGatewayOutput, error) {
   105  	req, out := c.AssociateCustomerGatewayRequest(input)
   106  	return out, req.Send()
   107  }
   108  
   109  // AssociateCustomerGatewayWithContext is the same as AssociateCustomerGateway with the addition of
   110  // the ability to pass a context and additional request options.
   111  //
   112  // See AssociateCustomerGateway for details on how to use this API operation.
   113  //
   114  // The context must be non-nil and will be used for request cancellation. If
   115  // the context is nil a panic will occur. In the future the SDK may create
   116  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   117  // for more information on using Contexts.
   118  func (c *NetworkManager) AssociateCustomerGatewayWithContext(ctx aws.Context, input *AssociateCustomerGatewayInput, opts ...request.Option) (*AssociateCustomerGatewayOutput, error) {
   119  	req, out := c.AssociateCustomerGatewayRequest(input)
   120  	req.SetContext(ctx)
   121  	req.ApplyOptions(opts...)
   122  	return out, req.Send()
   123  }
   124  
   125  const opAssociateLink = "AssociateLink"
   126  
   127  // AssociateLinkRequest generates a "aws/request.Request" representing the
   128  // client's request for the AssociateLink operation. The "output" return
   129  // value will be populated with the request's response once the request completes
   130  // successfully.
   131  //
   132  // Use "Send" method on the returned Request to send the API call to the service.
   133  // the "output" return value is not valid until after Send returns without error.
   134  //
   135  // See AssociateLink for more information on using the AssociateLink
   136  // API call, and error handling.
   137  //
   138  // This method is useful when you want to inject custom logic or configuration
   139  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   140  //
   141  //
   142  //    // Example sending a request using the AssociateLinkRequest method.
   143  //    req, resp := client.AssociateLinkRequest(params)
   144  //
   145  //    err := req.Send()
   146  //    if err == nil { // resp is now filled
   147  //        fmt.Println(resp)
   148  //    }
   149  //
   150  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateLink
   151  func (c *NetworkManager) AssociateLinkRequest(input *AssociateLinkInput) (req *request.Request, output *AssociateLinkOutput) {
   152  	op := &request.Operation{
   153  		Name:       opAssociateLink,
   154  		HTTPMethod: "POST",
   155  		HTTPPath:   "/global-networks/{globalNetworkId}/link-associations",
   156  	}
   157  
   158  	if input == nil {
   159  		input = &AssociateLinkInput{}
   160  	}
   161  
   162  	output = &AssociateLinkOutput{}
   163  	req = c.newRequest(op, input, output)
   164  	return
   165  }
   166  
   167  // AssociateLink API operation for AWS Network Manager.
   168  //
   169  // Associates a link to a device. A device can be associated to multiple links
   170  // and a link can be associated to multiple devices. The device and link must
   171  // be in the same global network and the same site.
   172  //
   173  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   174  // with awserr.Error's Code and Message methods to get detailed information about
   175  // the error.
   176  //
   177  // See the AWS API reference guide for AWS Network Manager's
   178  // API operation AssociateLink for usage and error information.
   179  //
   180  // Returned Error Types:
   181  //   * ValidationException
   182  //   The input fails to satisfy the constraints.
   183  //
   184  //   * ServiceQuotaExceededException
   185  //   A service limit was exceeded.
   186  //
   187  //   * AccessDeniedException
   188  //   You do not have sufficient access to perform this action.
   189  //
   190  //   * ResourceNotFoundException
   191  //   The specified resource could not be found.
   192  //
   193  //   * ConflictException
   194  //   There was a conflict processing the request. Updating or deleting the resource
   195  //   can cause an inconsistent state.
   196  //
   197  //   * ThrottlingException
   198  //   The request was denied due to request throttling.
   199  //
   200  //   * InternalServerException
   201  //   The request has failed due to an internal error.
   202  //
   203  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateLink
   204  func (c *NetworkManager) AssociateLink(input *AssociateLinkInput) (*AssociateLinkOutput, error) {
   205  	req, out := c.AssociateLinkRequest(input)
   206  	return out, req.Send()
   207  }
   208  
   209  // AssociateLinkWithContext is the same as AssociateLink with the addition of
   210  // the ability to pass a context and additional request options.
   211  //
   212  // See AssociateLink for details on how to use this API operation.
   213  //
   214  // The context must be non-nil and will be used for request cancellation. If
   215  // the context is nil a panic will occur. In the future the SDK may create
   216  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   217  // for more information on using Contexts.
   218  func (c *NetworkManager) AssociateLinkWithContext(ctx aws.Context, input *AssociateLinkInput, opts ...request.Option) (*AssociateLinkOutput, error) {
   219  	req, out := c.AssociateLinkRequest(input)
   220  	req.SetContext(ctx)
   221  	req.ApplyOptions(opts...)
   222  	return out, req.Send()
   223  }
   224  
   225  const opAssociateTransitGatewayConnectPeer = "AssociateTransitGatewayConnectPeer"
   226  
   227  // AssociateTransitGatewayConnectPeerRequest generates a "aws/request.Request" representing the
   228  // client's request for the AssociateTransitGatewayConnectPeer operation. The "output" return
   229  // value will be populated with the request's response once the request completes
   230  // successfully.
   231  //
   232  // Use "Send" method on the returned Request to send the API call to the service.
   233  // the "output" return value is not valid until after Send returns without error.
   234  //
   235  // See AssociateTransitGatewayConnectPeer for more information on using the AssociateTransitGatewayConnectPeer
   236  // API call, and error handling.
   237  //
   238  // This method is useful when you want to inject custom logic or configuration
   239  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   240  //
   241  //
   242  //    // Example sending a request using the AssociateTransitGatewayConnectPeerRequest method.
   243  //    req, resp := client.AssociateTransitGatewayConnectPeerRequest(params)
   244  //
   245  //    err := req.Send()
   246  //    if err == nil { // resp is now filled
   247  //        fmt.Println(resp)
   248  //    }
   249  //
   250  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateTransitGatewayConnectPeer
   251  func (c *NetworkManager) AssociateTransitGatewayConnectPeerRequest(input *AssociateTransitGatewayConnectPeerInput) (req *request.Request, output *AssociateTransitGatewayConnectPeerOutput) {
   252  	op := &request.Operation{
   253  		Name:       opAssociateTransitGatewayConnectPeer,
   254  		HTTPMethod: "POST",
   255  		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-connect-peer-associations",
   256  	}
   257  
   258  	if input == nil {
   259  		input = &AssociateTransitGatewayConnectPeerInput{}
   260  	}
   261  
   262  	output = &AssociateTransitGatewayConnectPeerOutput{}
   263  	req = c.newRequest(op, input, output)
   264  	return
   265  }
   266  
   267  // AssociateTransitGatewayConnectPeer API operation for AWS Network Manager.
   268  //
   269  // Associates a transit gateway Connect peer with a device, and optionally,
   270  // with a link. If you specify a link, it must be associated with the specified
   271  // device.
   272  //
   273  // You can only associate transit gateway Connect peers that have been created
   274  // on a transit gateway that's registered in your global network.
   275  //
   276  // You cannot associate a transit gateway Connect peer with more than one device
   277  // and link.
   278  //
   279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   280  // with awserr.Error's Code and Message methods to get detailed information about
   281  // the error.
   282  //
   283  // See the AWS API reference guide for AWS Network Manager's
   284  // API operation AssociateTransitGatewayConnectPeer for usage and error information.
   285  //
   286  // Returned Error Types:
   287  //   * ValidationException
   288  //   The input fails to satisfy the constraints.
   289  //
   290  //   * ServiceQuotaExceededException
   291  //   A service limit was exceeded.
   292  //
   293  //   * AccessDeniedException
   294  //   You do not have sufficient access to perform this action.
   295  //
   296  //   * ResourceNotFoundException
   297  //   The specified resource could not be found.
   298  //
   299  //   * ConflictException
   300  //   There was a conflict processing the request. Updating or deleting the resource
   301  //   can cause an inconsistent state.
   302  //
   303  //   * ThrottlingException
   304  //   The request was denied due to request throttling.
   305  //
   306  //   * InternalServerException
   307  //   The request has failed due to an internal error.
   308  //
   309  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateTransitGatewayConnectPeer
   310  func (c *NetworkManager) AssociateTransitGatewayConnectPeer(input *AssociateTransitGatewayConnectPeerInput) (*AssociateTransitGatewayConnectPeerOutput, error) {
   311  	req, out := c.AssociateTransitGatewayConnectPeerRequest(input)
   312  	return out, req.Send()
   313  }
   314  
   315  // AssociateTransitGatewayConnectPeerWithContext is the same as AssociateTransitGatewayConnectPeer with the addition of
   316  // the ability to pass a context and additional request options.
   317  //
   318  // See AssociateTransitGatewayConnectPeer for details on how to use this API operation.
   319  //
   320  // The context must be non-nil and will be used for request cancellation. If
   321  // the context is nil a panic will occur. In the future the SDK may create
   322  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   323  // for more information on using Contexts.
   324  func (c *NetworkManager) AssociateTransitGatewayConnectPeerWithContext(ctx aws.Context, input *AssociateTransitGatewayConnectPeerInput, opts ...request.Option) (*AssociateTransitGatewayConnectPeerOutput, error) {
   325  	req, out := c.AssociateTransitGatewayConnectPeerRequest(input)
   326  	req.SetContext(ctx)
   327  	req.ApplyOptions(opts...)
   328  	return out, req.Send()
   329  }
   330  
   331  const opCreateConnection = "CreateConnection"
   332  
   333  // CreateConnectionRequest generates a "aws/request.Request" representing the
   334  // client's request for the CreateConnection operation. The "output" return
   335  // value will be populated with the request's response once the request completes
   336  // successfully.
   337  //
   338  // Use "Send" method on the returned Request to send the API call to the service.
   339  // the "output" return value is not valid until after Send returns without error.
   340  //
   341  // See CreateConnection for more information on using the CreateConnection
   342  // API call, and error handling.
   343  //
   344  // This method is useful when you want to inject custom logic or configuration
   345  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   346  //
   347  //
   348  //    // Example sending a request using the CreateConnectionRequest method.
   349  //    req, resp := client.CreateConnectionRequest(params)
   350  //
   351  //    err := req.Send()
   352  //    if err == nil { // resp is now filled
   353  //        fmt.Println(resp)
   354  //    }
   355  //
   356  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateConnection
   357  func (c *NetworkManager) CreateConnectionRequest(input *CreateConnectionInput) (req *request.Request, output *CreateConnectionOutput) {
   358  	op := &request.Operation{
   359  		Name:       opCreateConnection,
   360  		HTTPMethod: "POST",
   361  		HTTPPath:   "/global-networks/{globalNetworkId}/connections",
   362  	}
   363  
   364  	if input == nil {
   365  		input = &CreateConnectionInput{}
   366  	}
   367  
   368  	output = &CreateConnectionOutput{}
   369  	req = c.newRequest(op, input, output)
   370  	return
   371  }
   372  
   373  // CreateConnection API operation for AWS Network Manager.
   374  //
   375  // Creates a connection between two devices. The devices can be a physical or
   376  // virtual appliance that connects to a third-party appliance in a VPC, or a
   377  // physical appliance that connects to another physical appliance in an on-premises
   378  // network.
   379  //
   380  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   381  // with awserr.Error's Code and Message methods to get detailed information about
   382  // the error.
   383  //
   384  // See the AWS API reference guide for AWS Network Manager's
   385  // API operation CreateConnection for usage and error information.
   386  //
   387  // Returned Error Types:
   388  //   * ValidationException
   389  //   The input fails to satisfy the constraints.
   390  //
   391  //   * ServiceQuotaExceededException
   392  //   A service limit was exceeded.
   393  //
   394  //   * AccessDeniedException
   395  //   You do not have sufficient access to perform this action.
   396  //
   397  //   * ConflictException
   398  //   There was a conflict processing the request. Updating or deleting the resource
   399  //   can cause an inconsistent state.
   400  //
   401  //   * ThrottlingException
   402  //   The request was denied due to request throttling.
   403  //
   404  //   * InternalServerException
   405  //   The request has failed due to an internal error.
   406  //
   407  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateConnection
   408  func (c *NetworkManager) CreateConnection(input *CreateConnectionInput) (*CreateConnectionOutput, error) {
   409  	req, out := c.CreateConnectionRequest(input)
   410  	return out, req.Send()
   411  }
   412  
   413  // CreateConnectionWithContext is the same as CreateConnection with the addition of
   414  // the ability to pass a context and additional request options.
   415  //
   416  // See CreateConnection for details on how to use this API operation.
   417  //
   418  // The context must be non-nil and will be used for request cancellation. If
   419  // the context is nil a panic will occur. In the future the SDK may create
   420  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   421  // for more information on using Contexts.
   422  func (c *NetworkManager) CreateConnectionWithContext(ctx aws.Context, input *CreateConnectionInput, opts ...request.Option) (*CreateConnectionOutput, error) {
   423  	req, out := c.CreateConnectionRequest(input)
   424  	req.SetContext(ctx)
   425  	req.ApplyOptions(opts...)
   426  	return out, req.Send()
   427  }
   428  
   429  const opCreateDevice = "CreateDevice"
   430  
   431  // CreateDeviceRequest generates a "aws/request.Request" representing the
   432  // client's request for the CreateDevice operation. The "output" return
   433  // value will be populated with the request's response once the request completes
   434  // successfully.
   435  //
   436  // Use "Send" method on the returned Request to send the API call to the service.
   437  // the "output" return value is not valid until after Send returns without error.
   438  //
   439  // See CreateDevice for more information on using the CreateDevice
   440  // API call, and error handling.
   441  //
   442  // This method is useful when you want to inject custom logic or configuration
   443  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   444  //
   445  //
   446  //    // Example sending a request using the CreateDeviceRequest method.
   447  //    req, resp := client.CreateDeviceRequest(params)
   448  //
   449  //    err := req.Send()
   450  //    if err == nil { // resp is now filled
   451  //        fmt.Println(resp)
   452  //    }
   453  //
   454  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateDevice
   455  func (c *NetworkManager) CreateDeviceRequest(input *CreateDeviceInput) (req *request.Request, output *CreateDeviceOutput) {
   456  	op := &request.Operation{
   457  		Name:       opCreateDevice,
   458  		HTTPMethod: "POST",
   459  		HTTPPath:   "/global-networks/{globalNetworkId}/devices",
   460  	}
   461  
   462  	if input == nil {
   463  		input = &CreateDeviceInput{}
   464  	}
   465  
   466  	output = &CreateDeviceOutput{}
   467  	req = c.newRequest(op, input, output)
   468  	return
   469  }
   470  
   471  // CreateDevice API operation for AWS Network Manager.
   472  //
   473  // Creates a new device in a global network. If you specify both a site ID and
   474  // a location, the location of the site is used for visualization in the Network
   475  // Manager console.
   476  //
   477  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   478  // with awserr.Error's Code and Message methods to get detailed information about
   479  // the error.
   480  //
   481  // See the AWS API reference guide for AWS Network Manager's
   482  // API operation CreateDevice for usage and error information.
   483  //
   484  // Returned Error Types:
   485  //   * ValidationException
   486  //   The input fails to satisfy the constraints.
   487  //
   488  //   * ServiceQuotaExceededException
   489  //   A service limit was exceeded.
   490  //
   491  //   * AccessDeniedException
   492  //   You do not have sufficient access to perform this action.
   493  //
   494  //   * ResourceNotFoundException
   495  //   The specified resource could not be found.
   496  //
   497  //   * ConflictException
   498  //   There was a conflict processing the request. Updating or deleting the resource
   499  //   can cause an inconsistent state.
   500  //
   501  //   * ThrottlingException
   502  //   The request was denied due to request throttling.
   503  //
   504  //   * InternalServerException
   505  //   The request has failed due to an internal error.
   506  //
   507  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateDevice
   508  func (c *NetworkManager) CreateDevice(input *CreateDeviceInput) (*CreateDeviceOutput, error) {
   509  	req, out := c.CreateDeviceRequest(input)
   510  	return out, req.Send()
   511  }
   512  
   513  // CreateDeviceWithContext is the same as CreateDevice with the addition of
   514  // the ability to pass a context and additional request options.
   515  //
   516  // See CreateDevice for details on how to use this API operation.
   517  //
   518  // The context must be non-nil and will be used for request cancellation. If
   519  // the context is nil a panic will occur. In the future the SDK may create
   520  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   521  // for more information on using Contexts.
   522  func (c *NetworkManager) CreateDeviceWithContext(ctx aws.Context, input *CreateDeviceInput, opts ...request.Option) (*CreateDeviceOutput, error) {
   523  	req, out := c.CreateDeviceRequest(input)
   524  	req.SetContext(ctx)
   525  	req.ApplyOptions(opts...)
   526  	return out, req.Send()
   527  }
   528  
   529  const opCreateGlobalNetwork = "CreateGlobalNetwork"
   530  
   531  // CreateGlobalNetworkRequest generates a "aws/request.Request" representing the
   532  // client's request for the CreateGlobalNetwork operation. The "output" return
   533  // value will be populated with the request's response once the request completes
   534  // successfully.
   535  //
   536  // Use "Send" method on the returned Request to send the API call to the service.
   537  // the "output" return value is not valid until after Send returns without error.
   538  //
   539  // See CreateGlobalNetwork for more information on using the CreateGlobalNetwork
   540  // API call, and error handling.
   541  //
   542  // This method is useful when you want to inject custom logic or configuration
   543  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   544  //
   545  //
   546  //    // Example sending a request using the CreateGlobalNetworkRequest method.
   547  //    req, resp := client.CreateGlobalNetworkRequest(params)
   548  //
   549  //    err := req.Send()
   550  //    if err == nil { // resp is now filled
   551  //        fmt.Println(resp)
   552  //    }
   553  //
   554  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateGlobalNetwork
   555  func (c *NetworkManager) CreateGlobalNetworkRequest(input *CreateGlobalNetworkInput) (req *request.Request, output *CreateGlobalNetworkOutput) {
   556  	op := &request.Operation{
   557  		Name:       opCreateGlobalNetwork,
   558  		HTTPMethod: "POST",
   559  		HTTPPath:   "/global-networks",
   560  	}
   561  
   562  	if input == nil {
   563  		input = &CreateGlobalNetworkInput{}
   564  	}
   565  
   566  	output = &CreateGlobalNetworkOutput{}
   567  	req = c.newRequest(op, input, output)
   568  	return
   569  }
   570  
   571  // CreateGlobalNetwork API operation for AWS Network Manager.
   572  //
   573  // Creates a new, empty global network.
   574  //
   575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   576  // with awserr.Error's Code and Message methods to get detailed information about
   577  // the error.
   578  //
   579  // See the AWS API reference guide for AWS Network Manager's
   580  // API operation CreateGlobalNetwork for usage and error information.
   581  //
   582  // Returned Error Types:
   583  //   * ValidationException
   584  //   The input fails to satisfy the constraints.
   585  //
   586  //   * ServiceQuotaExceededException
   587  //   A service limit was exceeded.
   588  //
   589  //   * AccessDeniedException
   590  //   You do not have sufficient access to perform this action.
   591  //
   592  //   * ConflictException
   593  //   There was a conflict processing the request. Updating or deleting the resource
   594  //   can cause an inconsistent state.
   595  //
   596  //   * ThrottlingException
   597  //   The request was denied due to request throttling.
   598  //
   599  //   * InternalServerException
   600  //   The request has failed due to an internal error.
   601  //
   602  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateGlobalNetwork
   603  func (c *NetworkManager) CreateGlobalNetwork(input *CreateGlobalNetworkInput) (*CreateGlobalNetworkOutput, error) {
   604  	req, out := c.CreateGlobalNetworkRequest(input)
   605  	return out, req.Send()
   606  }
   607  
   608  // CreateGlobalNetworkWithContext is the same as CreateGlobalNetwork with the addition of
   609  // the ability to pass a context and additional request options.
   610  //
   611  // See CreateGlobalNetwork for details on how to use this API operation.
   612  //
   613  // The context must be non-nil and will be used for request cancellation. If
   614  // the context is nil a panic will occur. In the future the SDK may create
   615  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   616  // for more information on using Contexts.
   617  func (c *NetworkManager) CreateGlobalNetworkWithContext(ctx aws.Context, input *CreateGlobalNetworkInput, opts ...request.Option) (*CreateGlobalNetworkOutput, error) {
   618  	req, out := c.CreateGlobalNetworkRequest(input)
   619  	req.SetContext(ctx)
   620  	req.ApplyOptions(opts...)
   621  	return out, req.Send()
   622  }
   623  
   624  const opCreateLink = "CreateLink"
   625  
   626  // CreateLinkRequest generates a "aws/request.Request" representing the
   627  // client's request for the CreateLink operation. The "output" return
   628  // value will be populated with the request's response once the request completes
   629  // successfully.
   630  //
   631  // Use "Send" method on the returned Request to send the API call to the service.
   632  // the "output" return value is not valid until after Send returns without error.
   633  //
   634  // See CreateLink for more information on using the CreateLink
   635  // API call, and error handling.
   636  //
   637  // This method is useful when you want to inject custom logic or configuration
   638  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   639  //
   640  //
   641  //    // Example sending a request using the CreateLinkRequest method.
   642  //    req, resp := client.CreateLinkRequest(params)
   643  //
   644  //    err := req.Send()
   645  //    if err == nil { // resp is now filled
   646  //        fmt.Println(resp)
   647  //    }
   648  //
   649  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateLink
   650  func (c *NetworkManager) CreateLinkRequest(input *CreateLinkInput) (req *request.Request, output *CreateLinkOutput) {
   651  	op := &request.Operation{
   652  		Name:       opCreateLink,
   653  		HTTPMethod: "POST",
   654  		HTTPPath:   "/global-networks/{globalNetworkId}/links",
   655  	}
   656  
   657  	if input == nil {
   658  		input = &CreateLinkInput{}
   659  	}
   660  
   661  	output = &CreateLinkOutput{}
   662  	req = c.newRequest(op, input, output)
   663  	return
   664  }
   665  
   666  // CreateLink API operation for AWS Network Manager.
   667  //
   668  // Creates a new link for a specified site.
   669  //
   670  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   671  // with awserr.Error's Code and Message methods to get detailed information about
   672  // the error.
   673  //
   674  // See the AWS API reference guide for AWS Network Manager's
   675  // API operation CreateLink for usage and error information.
   676  //
   677  // Returned Error Types:
   678  //   * ValidationException
   679  //   The input fails to satisfy the constraints.
   680  //
   681  //   * ServiceQuotaExceededException
   682  //   A service limit was exceeded.
   683  //
   684  //   * AccessDeniedException
   685  //   You do not have sufficient access to perform this action.
   686  //
   687  //   * ResourceNotFoundException
   688  //   The specified resource could not be found.
   689  //
   690  //   * ConflictException
   691  //   There was a conflict processing the request. Updating or deleting the resource
   692  //   can cause an inconsistent state.
   693  //
   694  //   * ThrottlingException
   695  //   The request was denied due to request throttling.
   696  //
   697  //   * InternalServerException
   698  //   The request has failed due to an internal error.
   699  //
   700  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateLink
   701  func (c *NetworkManager) CreateLink(input *CreateLinkInput) (*CreateLinkOutput, error) {
   702  	req, out := c.CreateLinkRequest(input)
   703  	return out, req.Send()
   704  }
   705  
   706  // CreateLinkWithContext is the same as CreateLink with the addition of
   707  // the ability to pass a context and additional request options.
   708  //
   709  // See CreateLink for details on how to use this API operation.
   710  //
   711  // The context must be non-nil and will be used for request cancellation. If
   712  // the context is nil a panic will occur. In the future the SDK may create
   713  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   714  // for more information on using Contexts.
   715  func (c *NetworkManager) CreateLinkWithContext(ctx aws.Context, input *CreateLinkInput, opts ...request.Option) (*CreateLinkOutput, error) {
   716  	req, out := c.CreateLinkRequest(input)
   717  	req.SetContext(ctx)
   718  	req.ApplyOptions(opts...)
   719  	return out, req.Send()
   720  }
   721  
   722  const opCreateSite = "CreateSite"
   723  
   724  // CreateSiteRequest generates a "aws/request.Request" representing the
   725  // client's request for the CreateSite operation. The "output" return
   726  // value will be populated with the request's response once the request completes
   727  // successfully.
   728  //
   729  // Use "Send" method on the returned Request to send the API call to the service.
   730  // the "output" return value is not valid until after Send returns without error.
   731  //
   732  // See CreateSite for more information on using the CreateSite
   733  // API call, and error handling.
   734  //
   735  // This method is useful when you want to inject custom logic or configuration
   736  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   737  //
   738  //
   739  //    // Example sending a request using the CreateSiteRequest method.
   740  //    req, resp := client.CreateSiteRequest(params)
   741  //
   742  //    err := req.Send()
   743  //    if err == nil { // resp is now filled
   744  //        fmt.Println(resp)
   745  //    }
   746  //
   747  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateSite
   748  func (c *NetworkManager) CreateSiteRequest(input *CreateSiteInput) (req *request.Request, output *CreateSiteOutput) {
   749  	op := &request.Operation{
   750  		Name:       opCreateSite,
   751  		HTTPMethod: "POST",
   752  		HTTPPath:   "/global-networks/{globalNetworkId}/sites",
   753  	}
   754  
   755  	if input == nil {
   756  		input = &CreateSiteInput{}
   757  	}
   758  
   759  	output = &CreateSiteOutput{}
   760  	req = c.newRequest(op, input, output)
   761  	return
   762  }
   763  
   764  // CreateSite API operation for AWS Network Manager.
   765  //
   766  // Creates a new site in a global network.
   767  //
   768  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   769  // with awserr.Error's Code and Message methods to get detailed information about
   770  // the error.
   771  //
   772  // See the AWS API reference guide for AWS Network Manager's
   773  // API operation CreateSite for usage and error information.
   774  //
   775  // Returned Error Types:
   776  //   * ValidationException
   777  //   The input fails to satisfy the constraints.
   778  //
   779  //   * ServiceQuotaExceededException
   780  //   A service limit was exceeded.
   781  //
   782  //   * AccessDeniedException
   783  //   You do not have sufficient access to perform this action.
   784  //
   785  //   * ResourceNotFoundException
   786  //   The specified resource could not be found.
   787  //
   788  //   * ConflictException
   789  //   There was a conflict processing the request. Updating or deleting the resource
   790  //   can cause an inconsistent state.
   791  //
   792  //   * ThrottlingException
   793  //   The request was denied due to request throttling.
   794  //
   795  //   * InternalServerException
   796  //   The request has failed due to an internal error.
   797  //
   798  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateSite
   799  func (c *NetworkManager) CreateSite(input *CreateSiteInput) (*CreateSiteOutput, error) {
   800  	req, out := c.CreateSiteRequest(input)
   801  	return out, req.Send()
   802  }
   803  
   804  // CreateSiteWithContext is the same as CreateSite with the addition of
   805  // the ability to pass a context and additional request options.
   806  //
   807  // See CreateSite for details on how to use this API operation.
   808  //
   809  // The context must be non-nil and will be used for request cancellation. If
   810  // the context is nil a panic will occur. In the future the SDK may create
   811  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   812  // for more information on using Contexts.
   813  func (c *NetworkManager) CreateSiteWithContext(ctx aws.Context, input *CreateSiteInput, opts ...request.Option) (*CreateSiteOutput, error) {
   814  	req, out := c.CreateSiteRequest(input)
   815  	req.SetContext(ctx)
   816  	req.ApplyOptions(opts...)
   817  	return out, req.Send()
   818  }
   819  
   820  const opDeleteConnection = "DeleteConnection"
   821  
   822  // DeleteConnectionRequest generates a "aws/request.Request" representing the
   823  // client's request for the DeleteConnection operation. The "output" return
   824  // value will be populated with the request's response once the request completes
   825  // successfully.
   826  //
   827  // Use "Send" method on the returned Request to send the API call to the service.
   828  // the "output" return value is not valid until after Send returns without error.
   829  //
   830  // See DeleteConnection for more information on using the DeleteConnection
   831  // API call, and error handling.
   832  //
   833  // This method is useful when you want to inject custom logic or configuration
   834  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   835  //
   836  //
   837  //    // Example sending a request using the DeleteConnectionRequest method.
   838  //    req, resp := client.DeleteConnectionRequest(params)
   839  //
   840  //    err := req.Send()
   841  //    if err == nil { // resp is now filled
   842  //        fmt.Println(resp)
   843  //    }
   844  //
   845  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteConnection
   846  func (c *NetworkManager) DeleteConnectionRequest(input *DeleteConnectionInput) (req *request.Request, output *DeleteConnectionOutput) {
   847  	op := &request.Operation{
   848  		Name:       opDeleteConnection,
   849  		HTTPMethod: "DELETE",
   850  		HTTPPath:   "/global-networks/{globalNetworkId}/connections/{connectionId}",
   851  	}
   852  
   853  	if input == nil {
   854  		input = &DeleteConnectionInput{}
   855  	}
   856  
   857  	output = &DeleteConnectionOutput{}
   858  	req = c.newRequest(op, input, output)
   859  	return
   860  }
   861  
   862  // DeleteConnection API operation for AWS Network Manager.
   863  //
   864  // Deletes the specified connection in your global network.
   865  //
   866  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   867  // with awserr.Error's Code and Message methods to get detailed information about
   868  // the error.
   869  //
   870  // See the AWS API reference guide for AWS Network Manager's
   871  // API operation DeleteConnection for usage and error information.
   872  //
   873  // Returned Error Types:
   874  //   * ValidationException
   875  //   The input fails to satisfy the constraints.
   876  //
   877  //   * AccessDeniedException
   878  //   You do not have sufficient access to perform this action.
   879  //
   880  //   * ResourceNotFoundException
   881  //   The specified resource could not be found.
   882  //
   883  //   * ConflictException
   884  //   There was a conflict processing the request. Updating or deleting the resource
   885  //   can cause an inconsistent state.
   886  //
   887  //   * ThrottlingException
   888  //   The request was denied due to request throttling.
   889  //
   890  //   * InternalServerException
   891  //   The request has failed due to an internal error.
   892  //
   893  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteConnection
   894  func (c *NetworkManager) DeleteConnection(input *DeleteConnectionInput) (*DeleteConnectionOutput, error) {
   895  	req, out := c.DeleteConnectionRequest(input)
   896  	return out, req.Send()
   897  }
   898  
   899  // DeleteConnectionWithContext is the same as DeleteConnection with the addition of
   900  // the ability to pass a context and additional request options.
   901  //
   902  // See DeleteConnection for details on how to use this API operation.
   903  //
   904  // The context must be non-nil and will be used for request cancellation. If
   905  // the context is nil a panic will occur. In the future the SDK may create
   906  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   907  // for more information on using Contexts.
   908  func (c *NetworkManager) DeleteConnectionWithContext(ctx aws.Context, input *DeleteConnectionInput, opts ...request.Option) (*DeleteConnectionOutput, error) {
   909  	req, out := c.DeleteConnectionRequest(input)
   910  	req.SetContext(ctx)
   911  	req.ApplyOptions(opts...)
   912  	return out, req.Send()
   913  }
   914  
   915  const opDeleteDevice = "DeleteDevice"
   916  
   917  // DeleteDeviceRequest generates a "aws/request.Request" representing the
   918  // client's request for the DeleteDevice operation. The "output" return
   919  // value will be populated with the request's response once the request completes
   920  // successfully.
   921  //
   922  // Use "Send" method on the returned Request to send the API call to the service.
   923  // the "output" return value is not valid until after Send returns without error.
   924  //
   925  // See DeleteDevice for more information on using the DeleteDevice
   926  // API call, and error handling.
   927  //
   928  // This method is useful when you want to inject custom logic or configuration
   929  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   930  //
   931  //
   932  //    // Example sending a request using the DeleteDeviceRequest method.
   933  //    req, resp := client.DeleteDeviceRequest(params)
   934  //
   935  //    err := req.Send()
   936  //    if err == nil { // resp is now filled
   937  //        fmt.Println(resp)
   938  //    }
   939  //
   940  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteDevice
   941  func (c *NetworkManager) DeleteDeviceRequest(input *DeleteDeviceInput) (req *request.Request, output *DeleteDeviceOutput) {
   942  	op := &request.Operation{
   943  		Name:       opDeleteDevice,
   944  		HTTPMethod: "DELETE",
   945  		HTTPPath:   "/global-networks/{globalNetworkId}/devices/{deviceId}",
   946  	}
   947  
   948  	if input == nil {
   949  		input = &DeleteDeviceInput{}
   950  	}
   951  
   952  	output = &DeleteDeviceOutput{}
   953  	req = c.newRequest(op, input, output)
   954  	return
   955  }
   956  
   957  // DeleteDevice API operation for AWS Network Manager.
   958  //
   959  // Deletes an existing device. You must first disassociate the device from any
   960  // links and customer gateways.
   961  //
   962  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   963  // with awserr.Error's Code and Message methods to get detailed information about
   964  // the error.
   965  //
   966  // See the AWS API reference guide for AWS Network Manager's
   967  // API operation DeleteDevice for usage and error information.
   968  //
   969  // Returned Error Types:
   970  //   * ValidationException
   971  //   The input fails to satisfy the constraints.
   972  //
   973  //   * AccessDeniedException
   974  //   You do not have sufficient access to perform this action.
   975  //
   976  //   * ResourceNotFoundException
   977  //   The specified resource could not be found.
   978  //
   979  //   * ConflictException
   980  //   There was a conflict processing the request. Updating or deleting the resource
   981  //   can cause an inconsistent state.
   982  //
   983  //   * ThrottlingException
   984  //   The request was denied due to request throttling.
   985  //
   986  //   * InternalServerException
   987  //   The request has failed due to an internal error.
   988  //
   989  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteDevice
   990  func (c *NetworkManager) DeleteDevice(input *DeleteDeviceInput) (*DeleteDeviceOutput, error) {
   991  	req, out := c.DeleteDeviceRequest(input)
   992  	return out, req.Send()
   993  }
   994  
   995  // DeleteDeviceWithContext is the same as DeleteDevice with the addition of
   996  // the ability to pass a context and additional request options.
   997  //
   998  // See DeleteDevice for details on how to use this API operation.
   999  //
  1000  // The context must be non-nil and will be used for request cancellation. If
  1001  // the context is nil a panic will occur. In the future the SDK may create
  1002  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1003  // for more information on using Contexts.
  1004  func (c *NetworkManager) DeleteDeviceWithContext(ctx aws.Context, input *DeleteDeviceInput, opts ...request.Option) (*DeleteDeviceOutput, error) {
  1005  	req, out := c.DeleteDeviceRequest(input)
  1006  	req.SetContext(ctx)
  1007  	req.ApplyOptions(opts...)
  1008  	return out, req.Send()
  1009  }
  1010  
  1011  const opDeleteGlobalNetwork = "DeleteGlobalNetwork"
  1012  
  1013  // DeleteGlobalNetworkRequest generates a "aws/request.Request" representing the
  1014  // client's request for the DeleteGlobalNetwork operation. The "output" return
  1015  // value will be populated with the request's response once the request completes
  1016  // successfully.
  1017  //
  1018  // Use "Send" method on the returned Request to send the API call to the service.
  1019  // the "output" return value is not valid until after Send returns without error.
  1020  //
  1021  // See DeleteGlobalNetwork for more information on using the DeleteGlobalNetwork
  1022  // API call, and error handling.
  1023  //
  1024  // This method is useful when you want to inject custom logic or configuration
  1025  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1026  //
  1027  //
  1028  //    // Example sending a request using the DeleteGlobalNetworkRequest method.
  1029  //    req, resp := client.DeleteGlobalNetworkRequest(params)
  1030  //
  1031  //    err := req.Send()
  1032  //    if err == nil { // resp is now filled
  1033  //        fmt.Println(resp)
  1034  //    }
  1035  //
  1036  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteGlobalNetwork
  1037  func (c *NetworkManager) DeleteGlobalNetworkRequest(input *DeleteGlobalNetworkInput) (req *request.Request, output *DeleteGlobalNetworkOutput) {
  1038  	op := &request.Operation{
  1039  		Name:       opDeleteGlobalNetwork,
  1040  		HTTPMethod: "DELETE",
  1041  		HTTPPath:   "/global-networks/{globalNetworkId}",
  1042  	}
  1043  
  1044  	if input == nil {
  1045  		input = &DeleteGlobalNetworkInput{}
  1046  	}
  1047  
  1048  	output = &DeleteGlobalNetworkOutput{}
  1049  	req = c.newRequest(op, input, output)
  1050  	return
  1051  }
  1052  
  1053  // DeleteGlobalNetwork API operation for AWS Network Manager.
  1054  //
  1055  // Deletes an existing global network. You must first delete all global network
  1056  // objects (devices, links, and sites) and deregister all transit gateways.
  1057  //
  1058  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1059  // with awserr.Error's Code and Message methods to get detailed information about
  1060  // the error.
  1061  //
  1062  // See the AWS API reference guide for AWS Network Manager's
  1063  // API operation DeleteGlobalNetwork for usage and error information.
  1064  //
  1065  // Returned Error Types:
  1066  //   * ValidationException
  1067  //   The input fails to satisfy the constraints.
  1068  //
  1069  //   * AccessDeniedException
  1070  //   You do not have sufficient access to perform this action.
  1071  //
  1072  //   * ResourceNotFoundException
  1073  //   The specified resource could not be found.
  1074  //
  1075  //   * ConflictException
  1076  //   There was a conflict processing the request. Updating or deleting the resource
  1077  //   can cause an inconsistent state.
  1078  //
  1079  //   * ThrottlingException
  1080  //   The request was denied due to request throttling.
  1081  //
  1082  //   * InternalServerException
  1083  //   The request has failed due to an internal error.
  1084  //
  1085  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteGlobalNetwork
  1086  func (c *NetworkManager) DeleteGlobalNetwork(input *DeleteGlobalNetworkInput) (*DeleteGlobalNetworkOutput, error) {
  1087  	req, out := c.DeleteGlobalNetworkRequest(input)
  1088  	return out, req.Send()
  1089  }
  1090  
  1091  // DeleteGlobalNetworkWithContext is the same as DeleteGlobalNetwork with the addition of
  1092  // the ability to pass a context and additional request options.
  1093  //
  1094  // See DeleteGlobalNetwork for details on how to use this API operation.
  1095  //
  1096  // The context must be non-nil and will be used for request cancellation. If
  1097  // the context is nil a panic will occur. In the future the SDK may create
  1098  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1099  // for more information on using Contexts.
  1100  func (c *NetworkManager) DeleteGlobalNetworkWithContext(ctx aws.Context, input *DeleteGlobalNetworkInput, opts ...request.Option) (*DeleteGlobalNetworkOutput, error) {
  1101  	req, out := c.DeleteGlobalNetworkRequest(input)
  1102  	req.SetContext(ctx)
  1103  	req.ApplyOptions(opts...)
  1104  	return out, req.Send()
  1105  }
  1106  
  1107  const opDeleteLink = "DeleteLink"
  1108  
  1109  // DeleteLinkRequest generates a "aws/request.Request" representing the
  1110  // client's request for the DeleteLink operation. The "output" return
  1111  // value will be populated with the request's response once the request completes
  1112  // successfully.
  1113  //
  1114  // Use "Send" method on the returned Request to send the API call to the service.
  1115  // the "output" return value is not valid until after Send returns without error.
  1116  //
  1117  // See DeleteLink for more information on using the DeleteLink
  1118  // API call, and error handling.
  1119  //
  1120  // This method is useful when you want to inject custom logic or configuration
  1121  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1122  //
  1123  //
  1124  //    // Example sending a request using the DeleteLinkRequest method.
  1125  //    req, resp := client.DeleteLinkRequest(params)
  1126  //
  1127  //    err := req.Send()
  1128  //    if err == nil { // resp is now filled
  1129  //        fmt.Println(resp)
  1130  //    }
  1131  //
  1132  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteLink
  1133  func (c *NetworkManager) DeleteLinkRequest(input *DeleteLinkInput) (req *request.Request, output *DeleteLinkOutput) {
  1134  	op := &request.Operation{
  1135  		Name:       opDeleteLink,
  1136  		HTTPMethod: "DELETE",
  1137  		HTTPPath:   "/global-networks/{globalNetworkId}/links/{linkId}",
  1138  	}
  1139  
  1140  	if input == nil {
  1141  		input = &DeleteLinkInput{}
  1142  	}
  1143  
  1144  	output = &DeleteLinkOutput{}
  1145  	req = c.newRequest(op, input, output)
  1146  	return
  1147  }
  1148  
  1149  // DeleteLink API operation for AWS Network Manager.
  1150  //
  1151  // Deletes an existing link. You must first disassociate the link from any devices
  1152  // and customer gateways.
  1153  //
  1154  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1155  // with awserr.Error's Code and Message methods to get detailed information about
  1156  // the error.
  1157  //
  1158  // See the AWS API reference guide for AWS Network Manager's
  1159  // API operation DeleteLink for usage and error information.
  1160  //
  1161  // Returned Error Types:
  1162  //   * ValidationException
  1163  //   The input fails to satisfy the constraints.
  1164  //
  1165  //   * AccessDeniedException
  1166  //   You do not have sufficient access to perform this action.
  1167  //
  1168  //   * ResourceNotFoundException
  1169  //   The specified resource could not be found.
  1170  //
  1171  //   * ConflictException
  1172  //   There was a conflict processing the request. Updating or deleting the resource
  1173  //   can cause an inconsistent state.
  1174  //
  1175  //   * ThrottlingException
  1176  //   The request was denied due to request throttling.
  1177  //
  1178  //   * InternalServerException
  1179  //   The request has failed due to an internal error.
  1180  //
  1181  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteLink
  1182  func (c *NetworkManager) DeleteLink(input *DeleteLinkInput) (*DeleteLinkOutput, error) {
  1183  	req, out := c.DeleteLinkRequest(input)
  1184  	return out, req.Send()
  1185  }
  1186  
  1187  // DeleteLinkWithContext is the same as DeleteLink with the addition of
  1188  // the ability to pass a context and additional request options.
  1189  //
  1190  // See DeleteLink for details on how to use this API operation.
  1191  //
  1192  // The context must be non-nil and will be used for request cancellation. If
  1193  // the context is nil a panic will occur. In the future the SDK may create
  1194  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1195  // for more information on using Contexts.
  1196  func (c *NetworkManager) DeleteLinkWithContext(ctx aws.Context, input *DeleteLinkInput, opts ...request.Option) (*DeleteLinkOutput, error) {
  1197  	req, out := c.DeleteLinkRequest(input)
  1198  	req.SetContext(ctx)
  1199  	req.ApplyOptions(opts...)
  1200  	return out, req.Send()
  1201  }
  1202  
  1203  const opDeleteSite = "DeleteSite"
  1204  
  1205  // DeleteSiteRequest generates a "aws/request.Request" representing the
  1206  // client's request for the DeleteSite operation. The "output" return
  1207  // value will be populated with the request's response once the request completes
  1208  // successfully.
  1209  //
  1210  // Use "Send" method on the returned Request to send the API call to the service.
  1211  // the "output" return value is not valid until after Send returns without error.
  1212  //
  1213  // See DeleteSite for more information on using the DeleteSite
  1214  // API call, and error handling.
  1215  //
  1216  // This method is useful when you want to inject custom logic or configuration
  1217  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1218  //
  1219  //
  1220  //    // Example sending a request using the DeleteSiteRequest method.
  1221  //    req, resp := client.DeleteSiteRequest(params)
  1222  //
  1223  //    err := req.Send()
  1224  //    if err == nil { // resp is now filled
  1225  //        fmt.Println(resp)
  1226  //    }
  1227  //
  1228  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteSite
  1229  func (c *NetworkManager) DeleteSiteRequest(input *DeleteSiteInput) (req *request.Request, output *DeleteSiteOutput) {
  1230  	op := &request.Operation{
  1231  		Name:       opDeleteSite,
  1232  		HTTPMethod: "DELETE",
  1233  		HTTPPath:   "/global-networks/{globalNetworkId}/sites/{siteId}",
  1234  	}
  1235  
  1236  	if input == nil {
  1237  		input = &DeleteSiteInput{}
  1238  	}
  1239  
  1240  	output = &DeleteSiteOutput{}
  1241  	req = c.newRequest(op, input, output)
  1242  	return
  1243  }
  1244  
  1245  // DeleteSite API operation for AWS Network Manager.
  1246  //
  1247  // Deletes an existing site. The site cannot be associated with any device or
  1248  // link.
  1249  //
  1250  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1251  // with awserr.Error's Code and Message methods to get detailed information about
  1252  // the error.
  1253  //
  1254  // See the AWS API reference guide for AWS Network Manager's
  1255  // API operation DeleteSite for usage and error information.
  1256  //
  1257  // Returned Error Types:
  1258  //   * ValidationException
  1259  //   The input fails to satisfy the constraints.
  1260  //
  1261  //   * AccessDeniedException
  1262  //   You do not have sufficient access to perform this action.
  1263  //
  1264  //   * ResourceNotFoundException
  1265  //   The specified resource could not be found.
  1266  //
  1267  //   * ConflictException
  1268  //   There was a conflict processing the request. Updating or deleting the resource
  1269  //   can cause an inconsistent state.
  1270  //
  1271  //   * ThrottlingException
  1272  //   The request was denied due to request throttling.
  1273  //
  1274  //   * InternalServerException
  1275  //   The request has failed due to an internal error.
  1276  //
  1277  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteSite
  1278  func (c *NetworkManager) DeleteSite(input *DeleteSiteInput) (*DeleteSiteOutput, error) {
  1279  	req, out := c.DeleteSiteRequest(input)
  1280  	return out, req.Send()
  1281  }
  1282  
  1283  // DeleteSiteWithContext is the same as DeleteSite with the addition of
  1284  // the ability to pass a context and additional request options.
  1285  //
  1286  // See DeleteSite for details on how to use this API operation.
  1287  //
  1288  // The context must be non-nil and will be used for request cancellation. If
  1289  // the context is nil a panic will occur. In the future the SDK may create
  1290  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1291  // for more information on using Contexts.
  1292  func (c *NetworkManager) DeleteSiteWithContext(ctx aws.Context, input *DeleteSiteInput, opts ...request.Option) (*DeleteSiteOutput, error) {
  1293  	req, out := c.DeleteSiteRequest(input)
  1294  	req.SetContext(ctx)
  1295  	req.ApplyOptions(opts...)
  1296  	return out, req.Send()
  1297  }
  1298  
  1299  const opDeregisterTransitGateway = "DeregisterTransitGateway"
  1300  
  1301  // DeregisterTransitGatewayRequest generates a "aws/request.Request" representing the
  1302  // client's request for the DeregisterTransitGateway operation. The "output" return
  1303  // value will be populated with the request's response once the request completes
  1304  // successfully.
  1305  //
  1306  // Use "Send" method on the returned Request to send the API call to the service.
  1307  // the "output" return value is not valid until after Send returns without error.
  1308  //
  1309  // See DeregisterTransitGateway for more information on using the DeregisterTransitGateway
  1310  // API call, and error handling.
  1311  //
  1312  // This method is useful when you want to inject custom logic or configuration
  1313  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1314  //
  1315  //
  1316  //    // Example sending a request using the DeregisterTransitGatewayRequest method.
  1317  //    req, resp := client.DeregisterTransitGatewayRequest(params)
  1318  //
  1319  //    err := req.Send()
  1320  //    if err == nil { // resp is now filled
  1321  //        fmt.Println(resp)
  1322  //    }
  1323  //
  1324  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeregisterTransitGateway
  1325  func (c *NetworkManager) DeregisterTransitGatewayRequest(input *DeregisterTransitGatewayInput) (req *request.Request, output *DeregisterTransitGatewayOutput) {
  1326  	op := &request.Operation{
  1327  		Name:       opDeregisterTransitGateway,
  1328  		HTTPMethod: "DELETE",
  1329  		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-registrations/{transitGatewayArn}",
  1330  	}
  1331  
  1332  	if input == nil {
  1333  		input = &DeregisterTransitGatewayInput{}
  1334  	}
  1335  
  1336  	output = &DeregisterTransitGatewayOutput{}
  1337  	req = c.newRequest(op, input, output)
  1338  	return
  1339  }
  1340  
  1341  // DeregisterTransitGateway API operation for AWS Network Manager.
  1342  //
  1343  // Deregisters a transit gateway from your global network. This action does
  1344  // not delete your transit gateway, or modify any of its attachments. This action
  1345  // removes any customer gateway associations.
  1346  //
  1347  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1348  // with awserr.Error's Code and Message methods to get detailed information about
  1349  // the error.
  1350  //
  1351  // See the AWS API reference guide for AWS Network Manager's
  1352  // API operation DeregisterTransitGateway for usage and error information.
  1353  //
  1354  // Returned Error Types:
  1355  //   * ValidationException
  1356  //   The input fails to satisfy the constraints.
  1357  //
  1358  //   * AccessDeniedException
  1359  //   You do not have sufficient access to perform this action.
  1360  //
  1361  //   * ResourceNotFoundException
  1362  //   The specified resource could not be found.
  1363  //
  1364  //   * ConflictException
  1365  //   There was a conflict processing the request. Updating or deleting the resource
  1366  //   can cause an inconsistent state.
  1367  //
  1368  //   * ThrottlingException
  1369  //   The request was denied due to request throttling.
  1370  //
  1371  //   * InternalServerException
  1372  //   The request has failed due to an internal error.
  1373  //
  1374  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeregisterTransitGateway
  1375  func (c *NetworkManager) DeregisterTransitGateway(input *DeregisterTransitGatewayInput) (*DeregisterTransitGatewayOutput, error) {
  1376  	req, out := c.DeregisterTransitGatewayRequest(input)
  1377  	return out, req.Send()
  1378  }
  1379  
  1380  // DeregisterTransitGatewayWithContext is the same as DeregisterTransitGateway with the addition of
  1381  // the ability to pass a context and additional request options.
  1382  //
  1383  // See DeregisterTransitGateway for details on how to use this API operation.
  1384  //
  1385  // The context must be non-nil and will be used for request cancellation. If
  1386  // the context is nil a panic will occur. In the future the SDK may create
  1387  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1388  // for more information on using Contexts.
  1389  func (c *NetworkManager) DeregisterTransitGatewayWithContext(ctx aws.Context, input *DeregisterTransitGatewayInput, opts ...request.Option) (*DeregisterTransitGatewayOutput, error) {
  1390  	req, out := c.DeregisterTransitGatewayRequest(input)
  1391  	req.SetContext(ctx)
  1392  	req.ApplyOptions(opts...)
  1393  	return out, req.Send()
  1394  }
  1395  
  1396  const opDescribeGlobalNetworks = "DescribeGlobalNetworks"
  1397  
  1398  // DescribeGlobalNetworksRequest generates a "aws/request.Request" representing the
  1399  // client's request for the DescribeGlobalNetworks operation. The "output" return
  1400  // value will be populated with the request's response once the request completes
  1401  // successfully.
  1402  //
  1403  // Use "Send" method on the returned Request to send the API call to the service.
  1404  // the "output" return value is not valid until after Send returns without error.
  1405  //
  1406  // See DescribeGlobalNetworks for more information on using the DescribeGlobalNetworks
  1407  // API call, and error handling.
  1408  //
  1409  // This method is useful when you want to inject custom logic or configuration
  1410  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1411  //
  1412  //
  1413  //    // Example sending a request using the DescribeGlobalNetworksRequest method.
  1414  //    req, resp := client.DescribeGlobalNetworksRequest(params)
  1415  //
  1416  //    err := req.Send()
  1417  //    if err == nil { // resp is now filled
  1418  //        fmt.Println(resp)
  1419  //    }
  1420  //
  1421  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DescribeGlobalNetworks
  1422  func (c *NetworkManager) DescribeGlobalNetworksRequest(input *DescribeGlobalNetworksInput) (req *request.Request, output *DescribeGlobalNetworksOutput) {
  1423  	op := &request.Operation{
  1424  		Name:       opDescribeGlobalNetworks,
  1425  		HTTPMethod: "GET",
  1426  		HTTPPath:   "/global-networks",
  1427  		Paginator: &request.Paginator{
  1428  			InputTokens:     []string{"NextToken"},
  1429  			OutputTokens:    []string{"NextToken"},
  1430  			LimitToken:      "MaxResults",
  1431  			TruncationToken: "",
  1432  		},
  1433  	}
  1434  
  1435  	if input == nil {
  1436  		input = &DescribeGlobalNetworksInput{}
  1437  	}
  1438  
  1439  	output = &DescribeGlobalNetworksOutput{}
  1440  	req = c.newRequest(op, input, output)
  1441  	return
  1442  }
  1443  
  1444  // DescribeGlobalNetworks API operation for AWS Network Manager.
  1445  //
  1446  // Describes one or more global networks. By default, all global networks are
  1447  // described. To describe the objects in your global network, you must use the
  1448  // appropriate Get* action. For example, to list the transit gateways in your
  1449  // global network, use GetTransitGatewayRegistrations.
  1450  //
  1451  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1452  // with awserr.Error's Code and Message methods to get detailed information about
  1453  // the error.
  1454  //
  1455  // See the AWS API reference guide for AWS Network Manager's
  1456  // API operation DescribeGlobalNetworks for usage and error information.
  1457  //
  1458  // Returned Error Types:
  1459  //   * ValidationException
  1460  //   The input fails to satisfy the constraints.
  1461  //
  1462  //   * AccessDeniedException
  1463  //   You do not have sufficient access to perform this action.
  1464  //
  1465  //   * ResourceNotFoundException
  1466  //   The specified resource could not be found.
  1467  //
  1468  //   * ThrottlingException
  1469  //   The request was denied due to request throttling.
  1470  //
  1471  //   * InternalServerException
  1472  //   The request has failed due to an internal error.
  1473  //
  1474  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DescribeGlobalNetworks
  1475  func (c *NetworkManager) DescribeGlobalNetworks(input *DescribeGlobalNetworksInput) (*DescribeGlobalNetworksOutput, error) {
  1476  	req, out := c.DescribeGlobalNetworksRequest(input)
  1477  	return out, req.Send()
  1478  }
  1479  
  1480  // DescribeGlobalNetworksWithContext is the same as DescribeGlobalNetworks with the addition of
  1481  // the ability to pass a context and additional request options.
  1482  //
  1483  // See DescribeGlobalNetworks for details on how to use this API operation.
  1484  //
  1485  // The context must be non-nil and will be used for request cancellation. If
  1486  // the context is nil a panic will occur. In the future the SDK may create
  1487  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1488  // for more information on using Contexts.
  1489  func (c *NetworkManager) DescribeGlobalNetworksWithContext(ctx aws.Context, input *DescribeGlobalNetworksInput, opts ...request.Option) (*DescribeGlobalNetworksOutput, error) {
  1490  	req, out := c.DescribeGlobalNetworksRequest(input)
  1491  	req.SetContext(ctx)
  1492  	req.ApplyOptions(opts...)
  1493  	return out, req.Send()
  1494  }
  1495  
  1496  // DescribeGlobalNetworksPages iterates over the pages of a DescribeGlobalNetworks operation,
  1497  // calling the "fn" function with the response data for each page. To stop
  1498  // iterating, return false from the fn function.
  1499  //
  1500  // See DescribeGlobalNetworks method for more information on how to use this operation.
  1501  //
  1502  // Note: This operation can generate multiple requests to a service.
  1503  //
  1504  //    // Example iterating over at most 3 pages of a DescribeGlobalNetworks operation.
  1505  //    pageNum := 0
  1506  //    err := client.DescribeGlobalNetworksPages(params,
  1507  //        func(page *networkmanager.DescribeGlobalNetworksOutput, lastPage bool) bool {
  1508  //            pageNum++
  1509  //            fmt.Println(page)
  1510  //            return pageNum <= 3
  1511  //        })
  1512  //
  1513  func (c *NetworkManager) DescribeGlobalNetworksPages(input *DescribeGlobalNetworksInput, fn func(*DescribeGlobalNetworksOutput, bool) bool) error {
  1514  	return c.DescribeGlobalNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
  1515  }
  1516  
  1517  // DescribeGlobalNetworksPagesWithContext same as DescribeGlobalNetworksPages except
  1518  // it takes a Context and allows setting request options on the pages.
  1519  //
  1520  // The context must be non-nil and will be used for request cancellation. If
  1521  // the context is nil a panic will occur. In the future the SDK may create
  1522  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1523  // for more information on using Contexts.
  1524  func (c *NetworkManager) DescribeGlobalNetworksPagesWithContext(ctx aws.Context, input *DescribeGlobalNetworksInput, fn func(*DescribeGlobalNetworksOutput, bool) bool, opts ...request.Option) error {
  1525  	p := request.Pagination{
  1526  		NewRequest: func() (*request.Request, error) {
  1527  			var inCpy *DescribeGlobalNetworksInput
  1528  			if input != nil {
  1529  				tmp := *input
  1530  				inCpy = &tmp
  1531  			}
  1532  			req, _ := c.DescribeGlobalNetworksRequest(inCpy)
  1533  			req.SetContext(ctx)
  1534  			req.ApplyOptions(opts...)
  1535  			return req, nil
  1536  		},
  1537  	}
  1538  
  1539  	for p.Next() {
  1540  		if !fn(p.Page().(*DescribeGlobalNetworksOutput), !p.HasNextPage()) {
  1541  			break
  1542  		}
  1543  	}
  1544  
  1545  	return p.Err()
  1546  }
  1547  
  1548  const opDisassociateCustomerGateway = "DisassociateCustomerGateway"
  1549  
  1550  // DisassociateCustomerGatewayRequest generates a "aws/request.Request" representing the
  1551  // client's request for the DisassociateCustomerGateway operation. The "output" return
  1552  // value will be populated with the request's response once the request completes
  1553  // successfully.
  1554  //
  1555  // Use "Send" method on the returned Request to send the API call to the service.
  1556  // the "output" return value is not valid until after Send returns without error.
  1557  //
  1558  // See DisassociateCustomerGateway for more information on using the DisassociateCustomerGateway
  1559  // API call, and error handling.
  1560  //
  1561  // This method is useful when you want to inject custom logic or configuration
  1562  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1563  //
  1564  //
  1565  //    // Example sending a request using the DisassociateCustomerGatewayRequest method.
  1566  //    req, resp := client.DisassociateCustomerGatewayRequest(params)
  1567  //
  1568  //    err := req.Send()
  1569  //    if err == nil { // resp is now filled
  1570  //        fmt.Println(resp)
  1571  //    }
  1572  //
  1573  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateCustomerGateway
  1574  func (c *NetworkManager) DisassociateCustomerGatewayRequest(input *DisassociateCustomerGatewayInput) (req *request.Request, output *DisassociateCustomerGatewayOutput) {
  1575  	op := &request.Operation{
  1576  		Name:       opDisassociateCustomerGateway,
  1577  		HTTPMethod: "DELETE",
  1578  		HTTPPath:   "/global-networks/{globalNetworkId}/customer-gateway-associations/{customerGatewayArn}",
  1579  	}
  1580  
  1581  	if input == nil {
  1582  		input = &DisassociateCustomerGatewayInput{}
  1583  	}
  1584  
  1585  	output = &DisassociateCustomerGatewayOutput{}
  1586  	req = c.newRequest(op, input, output)
  1587  	return
  1588  }
  1589  
  1590  // DisassociateCustomerGateway API operation for AWS Network Manager.
  1591  //
  1592  // Disassociates a customer gateway from a device and a link.
  1593  //
  1594  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1595  // with awserr.Error's Code and Message methods to get detailed information about
  1596  // the error.
  1597  //
  1598  // See the AWS API reference guide for AWS Network Manager's
  1599  // API operation DisassociateCustomerGateway for usage and error information.
  1600  //
  1601  // Returned Error Types:
  1602  //   * ValidationException
  1603  //   The input fails to satisfy the constraints.
  1604  //
  1605  //   * AccessDeniedException
  1606  //   You do not have sufficient access to perform this action.
  1607  //
  1608  //   * ResourceNotFoundException
  1609  //   The specified resource could not be found.
  1610  //
  1611  //   * ConflictException
  1612  //   There was a conflict processing the request. Updating or deleting the resource
  1613  //   can cause an inconsistent state.
  1614  //
  1615  //   * ThrottlingException
  1616  //   The request was denied due to request throttling.
  1617  //
  1618  //   * InternalServerException
  1619  //   The request has failed due to an internal error.
  1620  //
  1621  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateCustomerGateway
  1622  func (c *NetworkManager) DisassociateCustomerGateway(input *DisassociateCustomerGatewayInput) (*DisassociateCustomerGatewayOutput, error) {
  1623  	req, out := c.DisassociateCustomerGatewayRequest(input)
  1624  	return out, req.Send()
  1625  }
  1626  
  1627  // DisassociateCustomerGatewayWithContext is the same as DisassociateCustomerGateway with the addition of
  1628  // the ability to pass a context and additional request options.
  1629  //
  1630  // See DisassociateCustomerGateway for details on how to use this API operation.
  1631  //
  1632  // The context must be non-nil and will be used for request cancellation. If
  1633  // the context is nil a panic will occur. In the future the SDK may create
  1634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1635  // for more information on using Contexts.
  1636  func (c *NetworkManager) DisassociateCustomerGatewayWithContext(ctx aws.Context, input *DisassociateCustomerGatewayInput, opts ...request.Option) (*DisassociateCustomerGatewayOutput, error) {
  1637  	req, out := c.DisassociateCustomerGatewayRequest(input)
  1638  	req.SetContext(ctx)
  1639  	req.ApplyOptions(opts...)
  1640  	return out, req.Send()
  1641  }
  1642  
  1643  const opDisassociateLink = "DisassociateLink"
  1644  
  1645  // DisassociateLinkRequest generates a "aws/request.Request" representing the
  1646  // client's request for the DisassociateLink operation. The "output" return
  1647  // value will be populated with the request's response once the request completes
  1648  // successfully.
  1649  //
  1650  // Use "Send" method on the returned Request to send the API call to the service.
  1651  // the "output" return value is not valid until after Send returns without error.
  1652  //
  1653  // See DisassociateLink for more information on using the DisassociateLink
  1654  // API call, and error handling.
  1655  //
  1656  // This method is useful when you want to inject custom logic or configuration
  1657  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1658  //
  1659  //
  1660  //    // Example sending a request using the DisassociateLinkRequest method.
  1661  //    req, resp := client.DisassociateLinkRequest(params)
  1662  //
  1663  //    err := req.Send()
  1664  //    if err == nil { // resp is now filled
  1665  //        fmt.Println(resp)
  1666  //    }
  1667  //
  1668  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateLink
  1669  func (c *NetworkManager) DisassociateLinkRequest(input *DisassociateLinkInput) (req *request.Request, output *DisassociateLinkOutput) {
  1670  	op := &request.Operation{
  1671  		Name:       opDisassociateLink,
  1672  		HTTPMethod: "DELETE",
  1673  		HTTPPath:   "/global-networks/{globalNetworkId}/link-associations",
  1674  	}
  1675  
  1676  	if input == nil {
  1677  		input = &DisassociateLinkInput{}
  1678  	}
  1679  
  1680  	output = &DisassociateLinkOutput{}
  1681  	req = c.newRequest(op, input, output)
  1682  	return
  1683  }
  1684  
  1685  // DisassociateLink API operation for AWS Network Manager.
  1686  //
  1687  // Disassociates an existing device from a link. You must first disassociate
  1688  // any customer gateways that are associated with the link.
  1689  //
  1690  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1691  // with awserr.Error's Code and Message methods to get detailed information about
  1692  // the error.
  1693  //
  1694  // See the AWS API reference guide for AWS Network Manager's
  1695  // API operation DisassociateLink for usage and error information.
  1696  //
  1697  // Returned Error Types:
  1698  //   * ValidationException
  1699  //   The input fails to satisfy the constraints.
  1700  //
  1701  //   * AccessDeniedException
  1702  //   You do not have sufficient access to perform this action.
  1703  //
  1704  //   * ResourceNotFoundException
  1705  //   The specified resource could not be found.
  1706  //
  1707  //   * ConflictException
  1708  //   There was a conflict processing the request. Updating or deleting the resource
  1709  //   can cause an inconsistent state.
  1710  //
  1711  //   * ThrottlingException
  1712  //   The request was denied due to request throttling.
  1713  //
  1714  //   * InternalServerException
  1715  //   The request has failed due to an internal error.
  1716  //
  1717  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateLink
  1718  func (c *NetworkManager) DisassociateLink(input *DisassociateLinkInput) (*DisassociateLinkOutput, error) {
  1719  	req, out := c.DisassociateLinkRequest(input)
  1720  	return out, req.Send()
  1721  }
  1722  
  1723  // DisassociateLinkWithContext is the same as DisassociateLink with the addition of
  1724  // the ability to pass a context and additional request options.
  1725  //
  1726  // See DisassociateLink for details on how to use this API operation.
  1727  //
  1728  // The context must be non-nil and will be used for request cancellation. If
  1729  // the context is nil a panic will occur. In the future the SDK may create
  1730  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1731  // for more information on using Contexts.
  1732  func (c *NetworkManager) DisassociateLinkWithContext(ctx aws.Context, input *DisassociateLinkInput, opts ...request.Option) (*DisassociateLinkOutput, error) {
  1733  	req, out := c.DisassociateLinkRequest(input)
  1734  	req.SetContext(ctx)
  1735  	req.ApplyOptions(opts...)
  1736  	return out, req.Send()
  1737  }
  1738  
  1739  const opDisassociateTransitGatewayConnectPeer = "DisassociateTransitGatewayConnectPeer"
  1740  
  1741  // DisassociateTransitGatewayConnectPeerRequest generates a "aws/request.Request" representing the
  1742  // client's request for the DisassociateTransitGatewayConnectPeer operation. The "output" return
  1743  // value will be populated with the request's response once the request completes
  1744  // successfully.
  1745  //
  1746  // Use "Send" method on the returned Request to send the API call to the service.
  1747  // the "output" return value is not valid until after Send returns without error.
  1748  //
  1749  // See DisassociateTransitGatewayConnectPeer for more information on using the DisassociateTransitGatewayConnectPeer
  1750  // API call, and error handling.
  1751  //
  1752  // This method is useful when you want to inject custom logic or configuration
  1753  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1754  //
  1755  //
  1756  //    // Example sending a request using the DisassociateTransitGatewayConnectPeerRequest method.
  1757  //    req, resp := client.DisassociateTransitGatewayConnectPeerRequest(params)
  1758  //
  1759  //    err := req.Send()
  1760  //    if err == nil { // resp is now filled
  1761  //        fmt.Println(resp)
  1762  //    }
  1763  //
  1764  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateTransitGatewayConnectPeer
  1765  func (c *NetworkManager) DisassociateTransitGatewayConnectPeerRequest(input *DisassociateTransitGatewayConnectPeerInput) (req *request.Request, output *DisassociateTransitGatewayConnectPeerOutput) {
  1766  	op := &request.Operation{
  1767  		Name:       opDisassociateTransitGatewayConnectPeer,
  1768  		HTTPMethod: "DELETE",
  1769  		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-connect-peer-associations/{transitGatewayConnectPeerArn}",
  1770  	}
  1771  
  1772  	if input == nil {
  1773  		input = &DisassociateTransitGatewayConnectPeerInput{}
  1774  	}
  1775  
  1776  	output = &DisassociateTransitGatewayConnectPeerOutput{}
  1777  	req = c.newRequest(op, input, output)
  1778  	return
  1779  }
  1780  
  1781  // DisassociateTransitGatewayConnectPeer API operation for AWS Network Manager.
  1782  //
  1783  // Disassociates a transit gateway Connect peer from a device and link.
  1784  //
  1785  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1786  // with awserr.Error's Code and Message methods to get detailed information about
  1787  // the error.
  1788  //
  1789  // See the AWS API reference guide for AWS Network Manager's
  1790  // API operation DisassociateTransitGatewayConnectPeer for usage and error information.
  1791  //
  1792  // Returned Error Types:
  1793  //   * ValidationException
  1794  //   The input fails to satisfy the constraints.
  1795  //
  1796  //   * AccessDeniedException
  1797  //   You do not have sufficient access to perform this action.
  1798  //
  1799  //   * ResourceNotFoundException
  1800  //   The specified resource could not be found.
  1801  //
  1802  //   * ConflictException
  1803  //   There was a conflict processing the request. Updating or deleting the resource
  1804  //   can cause an inconsistent state.
  1805  //
  1806  //   * ThrottlingException
  1807  //   The request was denied due to request throttling.
  1808  //
  1809  //   * InternalServerException
  1810  //   The request has failed due to an internal error.
  1811  //
  1812  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateTransitGatewayConnectPeer
  1813  func (c *NetworkManager) DisassociateTransitGatewayConnectPeer(input *DisassociateTransitGatewayConnectPeerInput) (*DisassociateTransitGatewayConnectPeerOutput, error) {
  1814  	req, out := c.DisassociateTransitGatewayConnectPeerRequest(input)
  1815  	return out, req.Send()
  1816  }
  1817  
  1818  // DisassociateTransitGatewayConnectPeerWithContext is the same as DisassociateTransitGatewayConnectPeer with the addition of
  1819  // the ability to pass a context and additional request options.
  1820  //
  1821  // See DisassociateTransitGatewayConnectPeer for details on how to use this API operation.
  1822  //
  1823  // The context must be non-nil and will be used for request cancellation. If
  1824  // the context is nil a panic will occur. In the future the SDK may create
  1825  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1826  // for more information on using Contexts.
  1827  func (c *NetworkManager) DisassociateTransitGatewayConnectPeerWithContext(ctx aws.Context, input *DisassociateTransitGatewayConnectPeerInput, opts ...request.Option) (*DisassociateTransitGatewayConnectPeerOutput, error) {
  1828  	req, out := c.DisassociateTransitGatewayConnectPeerRequest(input)
  1829  	req.SetContext(ctx)
  1830  	req.ApplyOptions(opts...)
  1831  	return out, req.Send()
  1832  }
  1833  
  1834  const opGetConnections = "GetConnections"
  1835  
  1836  // GetConnectionsRequest generates a "aws/request.Request" representing the
  1837  // client's request for the GetConnections operation. The "output" return
  1838  // value will be populated with the request's response once the request completes
  1839  // successfully.
  1840  //
  1841  // Use "Send" method on the returned Request to send the API call to the service.
  1842  // the "output" return value is not valid until after Send returns without error.
  1843  //
  1844  // See GetConnections for more information on using the GetConnections
  1845  // API call, and error handling.
  1846  //
  1847  // This method is useful when you want to inject custom logic or configuration
  1848  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1849  //
  1850  //
  1851  //    // Example sending a request using the GetConnectionsRequest method.
  1852  //    req, resp := client.GetConnectionsRequest(params)
  1853  //
  1854  //    err := req.Send()
  1855  //    if err == nil { // resp is now filled
  1856  //        fmt.Println(resp)
  1857  //    }
  1858  //
  1859  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetConnections
  1860  func (c *NetworkManager) GetConnectionsRequest(input *GetConnectionsInput) (req *request.Request, output *GetConnectionsOutput) {
  1861  	op := &request.Operation{
  1862  		Name:       opGetConnections,
  1863  		HTTPMethod: "GET",
  1864  		HTTPPath:   "/global-networks/{globalNetworkId}/connections",
  1865  		Paginator: &request.Paginator{
  1866  			InputTokens:     []string{"NextToken"},
  1867  			OutputTokens:    []string{"NextToken"},
  1868  			LimitToken:      "MaxResults",
  1869  			TruncationToken: "",
  1870  		},
  1871  	}
  1872  
  1873  	if input == nil {
  1874  		input = &GetConnectionsInput{}
  1875  	}
  1876  
  1877  	output = &GetConnectionsOutput{}
  1878  	req = c.newRequest(op, input, output)
  1879  	return
  1880  }
  1881  
  1882  // GetConnections API operation for AWS Network Manager.
  1883  //
  1884  // Gets information about one or more of your connections in a global network.
  1885  //
  1886  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1887  // with awserr.Error's Code and Message methods to get detailed information about
  1888  // the error.
  1889  //
  1890  // See the AWS API reference guide for AWS Network Manager's
  1891  // API operation GetConnections for usage and error information.
  1892  //
  1893  // Returned Error Types:
  1894  //   * ValidationException
  1895  //   The input fails to satisfy the constraints.
  1896  //
  1897  //   * AccessDeniedException
  1898  //   You do not have sufficient access to perform this action.
  1899  //
  1900  //   * ResourceNotFoundException
  1901  //   The specified resource could not be found.
  1902  //
  1903  //   * ThrottlingException
  1904  //   The request was denied due to request throttling.
  1905  //
  1906  //   * InternalServerException
  1907  //   The request has failed due to an internal error.
  1908  //
  1909  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetConnections
  1910  func (c *NetworkManager) GetConnections(input *GetConnectionsInput) (*GetConnectionsOutput, error) {
  1911  	req, out := c.GetConnectionsRequest(input)
  1912  	return out, req.Send()
  1913  }
  1914  
  1915  // GetConnectionsWithContext is the same as GetConnections with the addition of
  1916  // the ability to pass a context and additional request options.
  1917  //
  1918  // See GetConnections for details on how to use this API operation.
  1919  //
  1920  // The context must be non-nil and will be used for request cancellation. If
  1921  // the context is nil a panic will occur. In the future the SDK may create
  1922  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1923  // for more information on using Contexts.
  1924  func (c *NetworkManager) GetConnectionsWithContext(ctx aws.Context, input *GetConnectionsInput, opts ...request.Option) (*GetConnectionsOutput, error) {
  1925  	req, out := c.GetConnectionsRequest(input)
  1926  	req.SetContext(ctx)
  1927  	req.ApplyOptions(opts...)
  1928  	return out, req.Send()
  1929  }
  1930  
  1931  // GetConnectionsPages iterates over the pages of a GetConnections operation,
  1932  // calling the "fn" function with the response data for each page. To stop
  1933  // iterating, return false from the fn function.
  1934  //
  1935  // See GetConnections method for more information on how to use this operation.
  1936  //
  1937  // Note: This operation can generate multiple requests to a service.
  1938  //
  1939  //    // Example iterating over at most 3 pages of a GetConnections operation.
  1940  //    pageNum := 0
  1941  //    err := client.GetConnectionsPages(params,
  1942  //        func(page *networkmanager.GetConnectionsOutput, lastPage bool) bool {
  1943  //            pageNum++
  1944  //            fmt.Println(page)
  1945  //            return pageNum <= 3
  1946  //        })
  1947  //
  1948  func (c *NetworkManager) GetConnectionsPages(input *GetConnectionsInput, fn func(*GetConnectionsOutput, bool) bool) error {
  1949  	return c.GetConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1950  }
  1951  
  1952  // GetConnectionsPagesWithContext same as GetConnectionsPages except
  1953  // it takes a Context and allows setting request options on the pages.
  1954  //
  1955  // The context must be non-nil and will be used for request cancellation. If
  1956  // the context is nil a panic will occur. In the future the SDK may create
  1957  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1958  // for more information on using Contexts.
  1959  func (c *NetworkManager) GetConnectionsPagesWithContext(ctx aws.Context, input *GetConnectionsInput, fn func(*GetConnectionsOutput, bool) bool, opts ...request.Option) error {
  1960  	p := request.Pagination{
  1961  		NewRequest: func() (*request.Request, error) {
  1962  			var inCpy *GetConnectionsInput
  1963  			if input != nil {
  1964  				tmp := *input
  1965  				inCpy = &tmp
  1966  			}
  1967  			req, _ := c.GetConnectionsRequest(inCpy)
  1968  			req.SetContext(ctx)
  1969  			req.ApplyOptions(opts...)
  1970  			return req, nil
  1971  		},
  1972  	}
  1973  
  1974  	for p.Next() {
  1975  		if !fn(p.Page().(*GetConnectionsOutput), !p.HasNextPage()) {
  1976  			break
  1977  		}
  1978  	}
  1979  
  1980  	return p.Err()
  1981  }
  1982  
  1983  const opGetCustomerGatewayAssociations = "GetCustomerGatewayAssociations"
  1984  
  1985  // GetCustomerGatewayAssociationsRequest generates a "aws/request.Request" representing the
  1986  // client's request for the GetCustomerGatewayAssociations operation. The "output" return
  1987  // value will be populated with the request's response once the request completes
  1988  // successfully.
  1989  //
  1990  // Use "Send" method on the returned Request to send the API call to the service.
  1991  // the "output" return value is not valid until after Send returns without error.
  1992  //
  1993  // See GetCustomerGatewayAssociations for more information on using the GetCustomerGatewayAssociations
  1994  // API call, and error handling.
  1995  //
  1996  // This method is useful when you want to inject custom logic or configuration
  1997  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1998  //
  1999  //
  2000  //    // Example sending a request using the GetCustomerGatewayAssociationsRequest method.
  2001  //    req, resp := client.GetCustomerGatewayAssociationsRequest(params)
  2002  //
  2003  //    err := req.Send()
  2004  //    if err == nil { // resp is now filled
  2005  //        fmt.Println(resp)
  2006  //    }
  2007  //
  2008  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCustomerGatewayAssociations
  2009  func (c *NetworkManager) GetCustomerGatewayAssociationsRequest(input *GetCustomerGatewayAssociationsInput) (req *request.Request, output *GetCustomerGatewayAssociationsOutput) {
  2010  	op := &request.Operation{
  2011  		Name:       opGetCustomerGatewayAssociations,
  2012  		HTTPMethod: "GET",
  2013  		HTTPPath:   "/global-networks/{globalNetworkId}/customer-gateway-associations",
  2014  		Paginator: &request.Paginator{
  2015  			InputTokens:     []string{"NextToken"},
  2016  			OutputTokens:    []string{"NextToken"},
  2017  			LimitToken:      "MaxResults",
  2018  			TruncationToken: "",
  2019  		},
  2020  	}
  2021  
  2022  	if input == nil {
  2023  		input = &GetCustomerGatewayAssociationsInput{}
  2024  	}
  2025  
  2026  	output = &GetCustomerGatewayAssociationsOutput{}
  2027  	req = c.newRequest(op, input, output)
  2028  	return
  2029  }
  2030  
  2031  // GetCustomerGatewayAssociations API operation for AWS Network Manager.
  2032  //
  2033  // Gets the association information for customer gateways that are associated
  2034  // with devices and links in your global network.
  2035  //
  2036  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2037  // with awserr.Error's Code and Message methods to get detailed information about
  2038  // the error.
  2039  //
  2040  // See the AWS API reference guide for AWS Network Manager's
  2041  // API operation GetCustomerGatewayAssociations for usage and error information.
  2042  //
  2043  // Returned Error Types:
  2044  //   * ValidationException
  2045  //   The input fails to satisfy the constraints.
  2046  //
  2047  //   * AccessDeniedException
  2048  //   You do not have sufficient access to perform this action.
  2049  //
  2050  //   * ResourceNotFoundException
  2051  //   The specified resource could not be found.
  2052  //
  2053  //   * ConflictException
  2054  //   There was a conflict processing the request. Updating or deleting the resource
  2055  //   can cause an inconsistent state.
  2056  //
  2057  //   * ThrottlingException
  2058  //   The request was denied due to request throttling.
  2059  //
  2060  //   * InternalServerException
  2061  //   The request has failed due to an internal error.
  2062  //
  2063  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCustomerGatewayAssociations
  2064  func (c *NetworkManager) GetCustomerGatewayAssociations(input *GetCustomerGatewayAssociationsInput) (*GetCustomerGatewayAssociationsOutput, error) {
  2065  	req, out := c.GetCustomerGatewayAssociationsRequest(input)
  2066  	return out, req.Send()
  2067  }
  2068  
  2069  // GetCustomerGatewayAssociationsWithContext is the same as GetCustomerGatewayAssociations with the addition of
  2070  // the ability to pass a context and additional request options.
  2071  //
  2072  // See GetCustomerGatewayAssociations for details on how to use this API operation.
  2073  //
  2074  // The context must be non-nil and will be used for request cancellation. If
  2075  // the context is nil a panic will occur. In the future the SDK may create
  2076  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2077  // for more information on using Contexts.
  2078  func (c *NetworkManager) GetCustomerGatewayAssociationsWithContext(ctx aws.Context, input *GetCustomerGatewayAssociationsInput, opts ...request.Option) (*GetCustomerGatewayAssociationsOutput, error) {
  2079  	req, out := c.GetCustomerGatewayAssociationsRequest(input)
  2080  	req.SetContext(ctx)
  2081  	req.ApplyOptions(opts...)
  2082  	return out, req.Send()
  2083  }
  2084  
  2085  // GetCustomerGatewayAssociationsPages iterates over the pages of a GetCustomerGatewayAssociations operation,
  2086  // calling the "fn" function with the response data for each page. To stop
  2087  // iterating, return false from the fn function.
  2088  //
  2089  // See GetCustomerGatewayAssociations method for more information on how to use this operation.
  2090  //
  2091  // Note: This operation can generate multiple requests to a service.
  2092  //
  2093  //    // Example iterating over at most 3 pages of a GetCustomerGatewayAssociations operation.
  2094  //    pageNum := 0
  2095  //    err := client.GetCustomerGatewayAssociationsPages(params,
  2096  //        func(page *networkmanager.GetCustomerGatewayAssociationsOutput, lastPage bool) bool {
  2097  //            pageNum++
  2098  //            fmt.Println(page)
  2099  //            return pageNum <= 3
  2100  //        })
  2101  //
  2102  func (c *NetworkManager) GetCustomerGatewayAssociationsPages(input *GetCustomerGatewayAssociationsInput, fn func(*GetCustomerGatewayAssociationsOutput, bool) bool) error {
  2103  	return c.GetCustomerGatewayAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
  2104  }
  2105  
  2106  // GetCustomerGatewayAssociationsPagesWithContext same as GetCustomerGatewayAssociationsPages except
  2107  // it takes a Context and allows setting request options on the pages.
  2108  //
  2109  // The context must be non-nil and will be used for request cancellation. If
  2110  // the context is nil a panic will occur. In the future the SDK may create
  2111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2112  // for more information on using Contexts.
  2113  func (c *NetworkManager) GetCustomerGatewayAssociationsPagesWithContext(ctx aws.Context, input *GetCustomerGatewayAssociationsInput, fn func(*GetCustomerGatewayAssociationsOutput, bool) bool, opts ...request.Option) error {
  2114  	p := request.Pagination{
  2115  		NewRequest: func() (*request.Request, error) {
  2116  			var inCpy *GetCustomerGatewayAssociationsInput
  2117  			if input != nil {
  2118  				tmp := *input
  2119  				inCpy = &tmp
  2120  			}
  2121  			req, _ := c.GetCustomerGatewayAssociationsRequest(inCpy)
  2122  			req.SetContext(ctx)
  2123  			req.ApplyOptions(opts...)
  2124  			return req, nil
  2125  		},
  2126  	}
  2127  
  2128  	for p.Next() {
  2129  		if !fn(p.Page().(*GetCustomerGatewayAssociationsOutput), !p.HasNextPage()) {
  2130  			break
  2131  		}
  2132  	}
  2133  
  2134  	return p.Err()
  2135  }
  2136  
  2137  const opGetDevices = "GetDevices"
  2138  
  2139  // GetDevicesRequest generates a "aws/request.Request" representing the
  2140  // client's request for the GetDevices operation. The "output" return
  2141  // value will be populated with the request's response once the request completes
  2142  // successfully.
  2143  //
  2144  // Use "Send" method on the returned Request to send the API call to the service.
  2145  // the "output" return value is not valid until after Send returns without error.
  2146  //
  2147  // See GetDevices for more information on using the GetDevices
  2148  // API call, and error handling.
  2149  //
  2150  // This method is useful when you want to inject custom logic or configuration
  2151  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2152  //
  2153  //
  2154  //    // Example sending a request using the GetDevicesRequest method.
  2155  //    req, resp := client.GetDevicesRequest(params)
  2156  //
  2157  //    err := req.Send()
  2158  //    if err == nil { // resp is now filled
  2159  //        fmt.Println(resp)
  2160  //    }
  2161  //
  2162  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetDevices
  2163  func (c *NetworkManager) GetDevicesRequest(input *GetDevicesInput) (req *request.Request, output *GetDevicesOutput) {
  2164  	op := &request.Operation{
  2165  		Name:       opGetDevices,
  2166  		HTTPMethod: "GET",
  2167  		HTTPPath:   "/global-networks/{globalNetworkId}/devices",
  2168  		Paginator: &request.Paginator{
  2169  			InputTokens:     []string{"NextToken"},
  2170  			OutputTokens:    []string{"NextToken"},
  2171  			LimitToken:      "MaxResults",
  2172  			TruncationToken: "",
  2173  		},
  2174  	}
  2175  
  2176  	if input == nil {
  2177  		input = &GetDevicesInput{}
  2178  	}
  2179  
  2180  	output = &GetDevicesOutput{}
  2181  	req = c.newRequest(op, input, output)
  2182  	return
  2183  }
  2184  
  2185  // GetDevices API operation for AWS Network Manager.
  2186  //
  2187  // Gets information about one or more of your devices in a global network.
  2188  //
  2189  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2190  // with awserr.Error's Code and Message methods to get detailed information about
  2191  // the error.
  2192  //
  2193  // See the AWS API reference guide for AWS Network Manager's
  2194  // API operation GetDevices for usage and error information.
  2195  //
  2196  // Returned Error Types:
  2197  //   * ValidationException
  2198  //   The input fails to satisfy the constraints.
  2199  //
  2200  //   * AccessDeniedException
  2201  //   You do not have sufficient access to perform this action.
  2202  //
  2203  //   * ResourceNotFoundException
  2204  //   The specified resource could not be found.
  2205  //
  2206  //   * ThrottlingException
  2207  //   The request was denied due to request throttling.
  2208  //
  2209  //   * InternalServerException
  2210  //   The request has failed due to an internal error.
  2211  //
  2212  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetDevices
  2213  func (c *NetworkManager) GetDevices(input *GetDevicesInput) (*GetDevicesOutput, error) {
  2214  	req, out := c.GetDevicesRequest(input)
  2215  	return out, req.Send()
  2216  }
  2217  
  2218  // GetDevicesWithContext is the same as GetDevices with the addition of
  2219  // the ability to pass a context and additional request options.
  2220  //
  2221  // See GetDevices for details on how to use this API operation.
  2222  //
  2223  // The context must be non-nil and will be used for request cancellation. If
  2224  // the context is nil a panic will occur. In the future the SDK may create
  2225  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2226  // for more information on using Contexts.
  2227  func (c *NetworkManager) GetDevicesWithContext(ctx aws.Context, input *GetDevicesInput, opts ...request.Option) (*GetDevicesOutput, error) {
  2228  	req, out := c.GetDevicesRequest(input)
  2229  	req.SetContext(ctx)
  2230  	req.ApplyOptions(opts...)
  2231  	return out, req.Send()
  2232  }
  2233  
  2234  // GetDevicesPages iterates over the pages of a GetDevices operation,
  2235  // calling the "fn" function with the response data for each page. To stop
  2236  // iterating, return false from the fn function.
  2237  //
  2238  // See GetDevices method for more information on how to use this operation.
  2239  //
  2240  // Note: This operation can generate multiple requests to a service.
  2241  //
  2242  //    // Example iterating over at most 3 pages of a GetDevices operation.
  2243  //    pageNum := 0
  2244  //    err := client.GetDevicesPages(params,
  2245  //        func(page *networkmanager.GetDevicesOutput, lastPage bool) bool {
  2246  //            pageNum++
  2247  //            fmt.Println(page)
  2248  //            return pageNum <= 3
  2249  //        })
  2250  //
  2251  func (c *NetworkManager) GetDevicesPages(input *GetDevicesInput, fn func(*GetDevicesOutput, bool) bool) error {
  2252  	return c.GetDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
  2253  }
  2254  
  2255  // GetDevicesPagesWithContext same as GetDevicesPages except
  2256  // it takes a Context and allows setting request options on the pages.
  2257  //
  2258  // The context must be non-nil and will be used for request cancellation. If
  2259  // the context is nil a panic will occur. In the future the SDK may create
  2260  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2261  // for more information on using Contexts.
  2262  func (c *NetworkManager) GetDevicesPagesWithContext(ctx aws.Context, input *GetDevicesInput, fn func(*GetDevicesOutput, bool) bool, opts ...request.Option) error {
  2263  	p := request.Pagination{
  2264  		NewRequest: func() (*request.Request, error) {
  2265  			var inCpy *GetDevicesInput
  2266  			if input != nil {
  2267  				tmp := *input
  2268  				inCpy = &tmp
  2269  			}
  2270  			req, _ := c.GetDevicesRequest(inCpy)
  2271  			req.SetContext(ctx)
  2272  			req.ApplyOptions(opts...)
  2273  			return req, nil
  2274  		},
  2275  	}
  2276  
  2277  	for p.Next() {
  2278  		if !fn(p.Page().(*GetDevicesOutput), !p.HasNextPage()) {
  2279  			break
  2280  		}
  2281  	}
  2282  
  2283  	return p.Err()
  2284  }
  2285  
  2286  const opGetLinkAssociations = "GetLinkAssociations"
  2287  
  2288  // GetLinkAssociationsRequest generates a "aws/request.Request" representing the
  2289  // client's request for the GetLinkAssociations operation. The "output" return
  2290  // value will be populated with the request's response once the request completes
  2291  // successfully.
  2292  //
  2293  // Use "Send" method on the returned Request to send the API call to the service.
  2294  // the "output" return value is not valid until after Send returns without error.
  2295  //
  2296  // See GetLinkAssociations for more information on using the GetLinkAssociations
  2297  // API call, and error handling.
  2298  //
  2299  // This method is useful when you want to inject custom logic or configuration
  2300  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2301  //
  2302  //
  2303  //    // Example sending a request using the GetLinkAssociationsRequest method.
  2304  //    req, resp := client.GetLinkAssociationsRequest(params)
  2305  //
  2306  //    err := req.Send()
  2307  //    if err == nil { // resp is now filled
  2308  //        fmt.Println(resp)
  2309  //    }
  2310  //
  2311  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinkAssociations
  2312  func (c *NetworkManager) GetLinkAssociationsRequest(input *GetLinkAssociationsInput) (req *request.Request, output *GetLinkAssociationsOutput) {
  2313  	op := &request.Operation{
  2314  		Name:       opGetLinkAssociations,
  2315  		HTTPMethod: "GET",
  2316  		HTTPPath:   "/global-networks/{globalNetworkId}/link-associations",
  2317  		Paginator: &request.Paginator{
  2318  			InputTokens:     []string{"NextToken"},
  2319  			OutputTokens:    []string{"NextToken"},
  2320  			LimitToken:      "MaxResults",
  2321  			TruncationToken: "",
  2322  		},
  2323  	}
  2324  
  2325  	if input == nil {
  2326  		input = &GetLinkAssociationsInput{}
  2327  	}
  2328  
  2329  	output = &GetLinkAssociationsOutput{}
  2330  	req = c.newRequest(op, input, output)
  2331  	return
  2332  }
  2333  
  2334  // GetLinkAssociations API operation for AWS Network Manager.
  2335  //
  2336  // Gets the link associations for a device or a link. Either the device ID or
  2337  // the link ID must be specified.
  2338  //
  2339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2340  // with awserr.Error's Code and Message methods to get detailed information about
  2341  // the error.
  2342  //
  2343  // See the AWS API reference guide for AWS Network Manager's
  2344  // API operation GetLinkAssociations for usage and error information.
  2345  //
  2346  // Returned Error Types:
  2347  //   * ValidationException
  2348  //   The input fails to satisfy the constraints.
  2349  //
  2350  //   * AccessDeniedException
  2351  //   You do not have sufficient access to perform this action.
  2352  //
  2353  //   * ResourceNotFoundException
  2354  //   The specified resource could not be found.
  2355  //
  2356  //   * ThrottlingException
  2357  //   The request was denied due to request throttling.
  2358  //
  2359  //   * InternalServerException
  2360  //   The request has failed due to an internal error.
  2361  //
  2362  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinkAssociations
  2363  func (c *NetworkManager) GetLinkAssociations(input *GetLinkAssociationsInput) (*GetLinkAssociationsOutput, error) {
  2364  	req, out := c.GetLinkAssociationsRequest(input)
  2365  	return out, req.Send()
  2366  }
  2367  
  2368  // GetLinkAssociationsWithContext is the same as GetLinkAssociations with the addition of
  2369  // the ability to pass a context and additional request options.
  2370  //
  2371  // See GetLinkAssociations for details on how to use this API operation.
  2372  //
  2373  // The context must be non-nil and will be used for request cancellation. If
  2374  // the context is nil a panic will occur. In the future the SDK may create
  2375  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2376  // for more information on using Contexts.
  2377  func (c *NetworkManager) GetLinkAssociationsWithContext(ctx aws.Context, input *GetLinkAssociationsInput, opts ...request.Option) (*GetLinkAssociationsOutput, error) {
  2378  	req, out := c.GetLinkAssociationsRequest(input)
  2379  	req.SetContext(ctx)
  2380  	req.ApplyOptions(opts...)
  2381  	return out, req.Send()
  2382  }
  2383  
  2384  // GetLinkAssociationsPages iterates over the pages of a GetLinkAssociations operation,
  2385  // calling the "fn" function with the response data for each page. To stop
  2386  // iterating, return false from the fn function.
  2387  //
  2388  // See GetLinkAssociations method for more information on how to use this operation.
  2389  //
  2390  // Note: This operation can generate multiple requests to a service.
  2391  //
  2392  //    // Example iterating over at most 3 pages of a GetLinkAssociations operation.
  2393  //    pageNum := 0
  2394  //    err := client.GetLinkAssociationsPages(params,
  2395  //        func(page *networkmanager.GetLinkAssociationsOutput, lastPage bool) bool {
  2396  //            pageNum++
  2397  //            fmt.Println(page)
  2398  //            return pageNum <= 3
  2399  //        })
  2400  //
  2401  func (c *NetworkManager) GetLinkAssociationsPages(input *GetLinkAssociationsInput, fn func(*GetLinkAssociationsOutput, bool) bool) error {
  2402  	return c.GetLinkAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
  2403  }
  2404  
  2405  // GetLinkAssociationsPagesWithContext same as GetLinkAssociationsPages except
  2406  // it takes a Context and allows setting request options on the pages.
  2407  //
  2408  // The context must be non-nil and will be used for request cancellation. If
  2409  // the context is nil a panic will occur. In the future the SDK may create
  2410  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2411  // for more information on using Contexts.
  2412  func (c *NetworkManager) GetLinkAssociationsPagesWithContext(ctx aws.Context, input *GetLinkAssociationsInput, fn func(*GetLinkAssociationsOutput, bool) bool, opts ...request.Option) error {
  2413  	p := request.Pagination{
  2414  		NewRequest: func() (*request.Request, error) {
  2415  			var inCpy *GetLinkAssociationsInput
  2416  			if input != nil {
  2417  				tmp := *input
  2418  				inCpy = &tmp
  2419  			}
  2420  			req, _ := c.GetLinkAssociationsRequest(inCpy)
  2421  			req.SetContext(ctx)
  2422  			req.ApplyOptions(opts...)
  2423  			return req, nil
  2424  		},
  2425  	}
  2426  
  2427  	for p.Next() {
  2428  		if !fn(p.Page().(*GetLinkAssociationsOutput), !p.HasNextPage()) {
  2429  			break
  2430  		}
  2431  	}
  2432  
  2433  	return p.Err()
  2434  }
  2435  
  2436  const opGetLinks = "GetLinks"
  2437  
  2438  // GetLinksRequest generates a "aws/request.Request" representing the
  2439  // client's request for the GetLinks operation. The "output" return
  2440  // value will be populated with the request's response once the request completes
  2441  // successfully.
  2442  //
  2443  // Use "Send" method on the returned Request to send the API call to the service.
  2444  // the "output" return value is not valid until after Send returns without error.
  2445  //
  2446  // See GetLinks for more information on using the GetLinks
  2447  // API call, and error handling.
  2448  //
  2449  // This method is useful when you want to inject custom logic or configuration
  2450  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2451  //
  2452  //
  2453  //    // Example sending a request using the GetLinksRequest method.
  2454  //    req, resp := client.GetLinksRequest(params)
  2455  //
  2456  //    err := req.Send()
  2457  //    if err == nil { // resp is now filled
  2458  //        fmt.Println(resp)
  2459  //    }
  2460  //
  2461  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinks
  2462  func (c *NetworkManager) GetLinksRequest(input *GetLinksInput) (req *request.Request, output *GetLinksOutput) {
  2463  	op := &request.Operation{
  2464  		Name:       opGetLinks,
  2465  		HTTPMethod: "GET",
  2466  		HTTPPath:   "/global-networks/{globalNetworkId}/links",
  2467  		Paginator: &request.Paginator{
  2468  			InputTokens:     []string{"NextToken"},
  2469  			OutputTokens:    []string{"NextToken"},
  2470  			LimitToken:      "MaxResults",
  2471  			TruncationToken: "",
  2472  		},
  2473  	}
  2474  
  2475  	if input == nil {
  2476  		input = &GetLinksInput{}
  2477  	}
  2478  
  2479  	output = &GetLinksOutput{}
  2480  	req = c.newRequest(op, input, output)
  2481  	return
  2482  }
  2483  
  2484  // GetLinks API operation for AWS Network Manager.
  2485  //
  2486  // Gets information about one or more links in a specified global network.
  2487  //
  2488  // If you specify the site ID, you cannot specify the type or provider in the
  2489  // same request. You can specify the type and provider in the same request.
  2490  //
  2491  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2492  // with awserr.Error's Code and Message methods to get detailed information about
  2493  // the error.
  2494  //
  2495  // See the AWS API reference guide for AWS Network Manager's
  2496  // API operation GetLinks for usage and error information.
  2497  //
  2498  // Returned Error Types:
  2499  //   * ValidationException
  2500  //   The input fails to satisfy the constraints.
  2501  //
  2502  //   * AccessDeniedException
  2503  //   You do not have sufficient access to perform this action.
  2504  //
  2505  //   * ResourceNotFoundException
  2506  //   The specified resource could not be found.
  2507  //
  2508  //   * ThrottlingException
  2509  //   The request was denied due to request throttling.
  2510  //
  2511  //   * InternalServerException
  2512  //   The request has failed due to an internal error.
  2513  //
  2514  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinks
  2515  func (c *NetworkManager) GetLinks(input *GetLinksInput) (*GetLinksOutput, error) {
  2516  	req, out := c.GetLinksRequest(input)
  2517  	return out, req.Send()
  2518  }
  2519  
  2520  // GetLinksWithContext is the same as GetLinks with the addition of
  2521  // the ability to pass a context and additional request options.
  2522  //
  2523  // See GetLinks for details on how to use this API operation.
  2524  //
  2525  // The context must be non-nil and will be used for request cancellation. If
  2526  // the context is nil a panic will occur. In the future the SDK may create
  2527  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2528  // for more information on using Contexts.
  2529  func (c *NetworkManager) GetLinksWithContext(ctx aws.Context, input *GetLinksInput, opts ...request.Option) (*GetLinksOutput, error) {
  2530  	req, out := c.GetLinksRequest(input)
  2531  	req.SetContext(ctx)
  2532  	req.ApplyOptions(opts...)
  2533  	return out, req.Send()
  2534  }
  2535  
  2536  // GetLinksPages iterates over the pages of a GetLinks operation,
  2537  // calling the "fn" function with the response data for each page. To stop
  2538  // iterating, return false from the fn function.
  2539  //
  2540  // See GetLinks method for more information on how to use this operation.
  2541  //
  2542  // Note: This operation can generate multiple requests to a service.
  2543  //
  2544  //    // Example iterating over at most 3 pages of a GetLinks operation.
  2545  //    pageNum := 0
  2546  //    err := client.GetLinksPages(params,
  2547  //        func(page *networkmanager.GetLinksOutput, lastPage bool) bool {
  2548  //            pageNum++
  2549  //            fmt.Println(page)
  2550  //            return pageNum <= 3
  2551  //        })
  2552  //
  2553  func (c *NetworkManager) GetLinksPages(input *GetLinksInput, fn func(*GetLinksOutput, bool) bool) error {
  2554  	return c.GetLinksPagesWithContext(aws.BackgroundContext(), input, fn)
  2555  }
  2556  
  2557  // GetLinksPagesWithContext same as GetLinksPages except
  2558  // it takes a Context and allows setting request options on the pages.
  2559  //
  2560  // The context must be non-nil and will be used for request cancellation. If
  2561  // the context is nil a panic will occur. In the future the SDK may create
  2562  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2563  // for more information on using Contexts.
  2564  func (c *NetworkManager) GetLinksPagesWithContext(ctx aws.Context, input *GetLinksInput, fn func(*GetLinksOutput, bool) bool, opts ...request.Option) error {
  2565  	p := request.Pagination{
  2566  		NewRequest: func() (*request.Request, error) {
  2567  			var inCpy *GetLinksInput
  2568  			if input != nil {
  2569  				tmp := *input
  2570  				inCpy = &tmp
  2571  			}
  2572  			req, _ := c.GetLinksRequest(inCpy)
  2573  			req.SetContext(ctx)
  2574  			req.ApplyOptions(opts...)
  2575  			return req, nil
  2576  		},
  2577  	}
  2578  
  2579  	for p.Next() {
  2580  		if !fn(p.Page().(*GetLinksOutput), !p.HasNextPage()) {
  2581  			break
  2582  		}
  2583  	}
  2584  
  2585  	return p.Err()
  2586  }
  2587  
  2588  const opGetSites = "GetSites"
  2589  
  2590  // GetSitesRequest generates a "aws/request.Request" representing the
  2591  // client's request for the GetSites operation. The "output" return
  2592  // value will be populated with the request's response once the request completes
  2593  // successfully.
  2594  //
  2595  // Use "Send" method on the returned Request to send the API call to the service.
  2596  // the "output" return value is not valid until after Send returns without error.
  2597  //
  2598  // See GetSites for more information on using the GetSites
  2599  // API call, and error handling.
  2600  //
  2601  // This method is useful when you want to inject custom logic or configuration
  2602  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2603  //
  2604  //
  2605  //    // Example sending a request using the GetSitesRequest method.
  2606  //    req, resp := client.GetSitesRequest(params)
  2607  //
  2608  //    err := req.Send()
  2609  //    if err == nil { // resp is now filled
  2610  //        fmt.Println(resp)
  2611  //    }
  2612  //
  2613  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSites
  2614  func (c *NetworkManager) GetSitesRequest(input *GetSitesInput) (req *request.Request, output *GetSitesOutput) {
  2615  	op := &request.Operation{
  2616  		Name:       opGetSites,
  2617  		HTTPMethod: "GET",
  2618  		HTTPPath:   "/global-networks/{globalNetworkId}/sites",
  2619  		Paginator: &request.Paginator{
  2620  			InputTokens:     []string{"NextToken"},
  2621  			OutputTokens:    []string{"NextToken"},
  2622  			LimitToken:      "MaxResults",
  2623  			TruncationToken: "",
  2624  		},
  2625  	}
  2626  
  2627  	if input == nil {
  2628  		input = &GetSitesInput{}
  2629  	}
  2630  
  2631  	output = &GetSitesOutput{}
  2632  	req = c.newRequest(op, input, output)
  2633  	return
  2634  }
  2635  
  2636  // GetSites API operation for AWS Network Manager.
  2637  //
  2638  // Gets information about one or more of your sites in a global network.
  2639  //
  2640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2641  // with awserr.Error's Code and Message methods to get detailed information about
  2642  // the error.
  2643  //
  2644  // See the AWS API reference guide for AWS Network Manager's
  2645  // API operation GetSites for usage and error information.
  2646  //
  2647  // Returned Error Types:
  2648  //   * ValidationException
  2649  //   The input fails to satisfy the constraints.
  2650  //
  2651  //   * AccessDeniedException
  2652  //   You do not have sufficient access to perform this action.
  2653  //
  2654  //   * ResourceNotFoundException
  2655  //   The specified resource could not be found.
  2656  //
  2657  //   * ThrottlingException
  2658  //   The request was denied due to request throttling.
  2659  //
  2660  //   * InternalServerException
  2661  //   The request has failed due to an internal error.
  2662  //
  2663  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSites
  2664  func (c *NetworkManager) GetSites(input *GetSitesInput) (*GetSitesOutput, error) {
  2665  	req, out := c.GetSitesRequest(input)
  2666  	return out, req.Send()
  2667  }
  2668  
  2669  // GetSitesWithContext is the same as GetSites with the addition of
  2670  // the ability to pass a context and additional request options.
  2671  //
  2672  // See GetSites for details on how to use this API operation.
  2673  //
  2674  // The context must be non-nil and will be used for request cancellation. If
  2675  // the context is nil a panic will occur. In the future the SDK may create
  2676  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2677  // for more information on using Contexts.
  2678  func (c *NetworkManager) GetSitesWithContext(ctx aws.Context, input *GetSitesInput, opts ...request.Option) (*GetSitesOutput, error) {
  2679  	req, out := c.GetSitesRequest(input)
  2680  	req.SetContext(ctx)
  2681  	req.ApplyOptions(opts...)
  2682  	return out, req.Send()
  2683  }
  2684  
  2685  // GetSitesPages iterates over the pages of a GetSites operation,
  2686  // calling the "fn" function with the response data for each page. To stop
  2687  // iterating, return false from the fn function.
  2688  //
  2689  // See GetSites method for more information on how to use this operation.
  2690  //
  2691  // Note: This operation can generate multiple requests to a service.
  2692  //
  2693  //    // Example iterating over at most 3 pages of a GetSites operation.
  2694  //    pageNum := 0
  2695  //    err := client.GetSitesPages(params,
  2696  //        func(page *networkmanager.GetSitesOutput, lastPage bool) bool {
  2697  //            pageNum++
  2698  //            fmt.Println(page)
  2699  //            return pageNum <= 3
  2700  //        })
  2701  //
  2702  func (c *NetworkManager) GetSitesPages(input *GetSitesInput, fn func(*GetSitesOutput, bool) bool) error {
  2703  	return c.GetSitesPagesWithContext(aws.BackgroundContext(), input, fn)
  2704  }
  2705  
  2706  // GetSitesPagesWithContext same as GetSitesPages except
  2707  // it takes a Context and allows setting request options on the pages.
  2708  //
  2709  // The context must be non-nil and will be used for request cancellation. If
  2710  // the context is nil a panic will occur. In the future the SDK may create
  2711  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2712  // for more information on using Contexts.
  2713  func (c *NetworkManager) GetSitesPagesWithContext(ctx aws.Context, input *GetSitesInput, fn func(*GetSitesOutput, bool) bool, opts ...request.Option) error {
  2714  	p := request.Pagination{
  2715  		NewRequest: func() (*request.Request, error) {
  2716  			var inCpy *GetSitesInput
  2717  			if input != nil {
  2718  				tmp := *input
  2719  				inCpy = &tmp
  2720  			}
  2721  			req, _ := c.GetSitesRequest(inCpy)
  2722  			req.SetContext(ctx)
  2723  			req.ApplyOptions(opts...)
  2724  			return req, nil
  2725  		},
  2726  	}
  2727  
  2728  	for p.Next() {
  2729  		if !fn(p.Page().(*GetSitesOutput), !p.HasNextPage()) {
  2730  			break
  2731  		}
  2732  	}
  2733  
  2734  	return p.Err()
  2735  }
  2736  
  2737  const opGetTransitGatewayConnectPeerAssociations = "GetTransitGatewayConnectPeerAssociations"
  2738  
  2739  // GetTransitGatewayConnectPeerAssociationsRequest generates a "aws/request.Request" representing the
  2740  // client's request for the GetTransitGatewayConnectPeerAssociations operation. The "output" return
  2741  // value will be populated with the request's response once the request completes
  2742  // successfully.
  2743  //
  2744  // Use "Send" method on the returned Request to send the API call to the service.
  2745  // the "output" return value is not valid until after Send returns without error.
  2746  //
  2747  // See GetTransitGatewayConnectPeerAssociations for more information on using the GetTransitGatewayConnectPeerAssociations
  2748  // API call, and error handling.
  2749  //
  2750  // This method is useful when you want to inject custom logic or configuration
  2751  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2752  //
  2753  //
  2754  //    // Example sending a request using the GetTransitGatewayConnectPeerAssociationsRequest method.
  2755  //    req, resp := client.GetTransitGatewayConnectPeerAssociationsRequest(params)
  2756  //
  2757  //    err := req.Send()
  2758  //    if err == nil { // resp is now filled
  2759  //        fmt.Println(resp)
  2760  //    }
  2761  //
  2762  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayConnectPeerAssociations
  2763  func (c *NetworkManager) GetTransitGatewayConnectPeerAssociationsRequest(input *GetTransitGatewayConnectPeerAssociationsInput) (req *request.Request, output *GetTransitGatewayConnectPeerAssociationsOutput) {
  2764  	op := &request.Operation{
  2765  		Name:       opGetTransitGatewayConnectPeerAssociations,
  2766  		HTTPMethod: "GET",
  2767  		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-connect-peer-associations",
  2768  		Paginator: &request.Paginator{
  2769  			InputTokens:     []string{"NextToken"},
  2770  			OutputTokens:    []string{"NextToken"},
  2771  			LimitToken:      "MaxResults",
  2772  			TruncationToken: "",
  2773  		},
  2774  	}
  2775  
  2776  	if input == nil {
  2777  		input = &GetTransitGatewayConnectPeerAssociationsInput{}
  2778  	}
  2779  
  2780  	output = &GetTransitGatewayConnectPeerAssociationsOutput{}
  2781  	req = c.newRequest(op, input, output)
  2782  	return
  2783  }
  2784  
  2785  // GetTransitGatewayConnectPeerAssociations API operation for AWS Network Manager.
  2786  //
  2787  // Gets information about one or more of your transit gateway Connect peer associations
  2788  // in a global network.
  2789  //
  2790  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2791  // with awserr.Error's Code and Message methods to get detailed information about
  2792  // the error.
  2793  //
  2794  // See the AWS API reference guide for AWS Network Manager's
  2795  // API operation GetTransitGatewayConnectPeerAssociations for usage and error information.
  2796  //
  2797  // Returned Error Types:
  2798  //   * ValidationException
  2799  //   The input fails to satisfy the constraints.
  2800  //
  2801  //   * AccessDeniedException
  2802  //   You do not have sufficient access to perform this action.
  2803  //
  2804  //   * ResourceNotFoundException
  2805  //   The specified resource could not be found.
  2806  //
  2807  //   * ConflictException
  2808  //   There was a conflict processing the request. Updating or deleting the resource
  2809  //   can cause an inconsistent state.
  2810  //
  2811  //   * ThrottlingException
  2812  //   The request was denied due to request throttling.
  2813  //
  2814  //   * InternalServerException
  2815  //   The request has failed due to an internal error.
  2816  //
  2817  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayConnectPeerAssociations
  2818  func (c *NetworkManager) GetTransitGatewayConnectPeerAssociations(input *GetTransitGatewayConnectPeerAssociationsInput) (*GetTransitGatewayConnectPeerAssociationsOutput, error) {
  2819  	req, out := c.GetTransitGatewayConnectPeerAssociationsRequest(input)
  2820  	return out, req.Send()
  2821  }
  2822  
  2823  // GetTransitGatewayConnectPeerAssociationsWithContext is the same as GetTransitGatewayConnectPeerAssociations with the addition of
  2824  // the ability to pass a context and additional request options.
  2825  //
  2826  // See GetTransitGatewayConnectPeerAssociations for details on how to use this API operation.
  2827  //
  2828  // The context must be non-nil and will be used for request cancellation. If
  2829  // the context is nil a panic will occur. In the future the SDK may create
  2830  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2831  // for more information on using Contexts.
  2832  func (c *NetworkManager) GetTransitGatewayConnectPeerAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayConnectPeerAssociationsInput, opts ...request.Option) (*GetTransitGatewayConnectPeerAssociationsOutput, error) {
  2833  	req, out := c.GetTransitGatewayConnectPeerAssociationsRequest(input)
  2834  	req.SetContext(ctx)
  2835  	req.ApplyOptions(opts...)
  2836  	return out, req.Send()
  2837  }
  2838  
  2839  // GetTransitGatewayConnectPeerAssociationsPages iterates over the pages of a GetTransitGatewayConnectPeerAssociations operation,
  2840  // calling the "fn" function with the response data for each page. To stop
  2841  // iterating, return false from the fn function.
  2842  //
  2843  // See GetTransitGatewayConnectPeerAssociations method for more information on how to use this operation.
  2844  //
  2845  // Note: This operation can generate multiple requests to a service.
  2846  //
  2847  //    // Example iterating over at most 3 pages of a GetTransitGatewayConnectPeerAssociations operation.
  2848  //    pageNum := 0
  2849  //    err := client.GetTransitGatewayConnectPeerAssociationsPages(params,
  2850  //        func(page *networkmanager.GetTransitGatewayConnectPeerAssociationsOutput, lastPage bool) bool {
  2851  //            pageNum++
  2852  //            fmt.Println(page)
  2853  //            return pageNum <= 3
  2854  //        })
  2855  //
  2856  func (c *NetworkManager) GetTransitGatewayConnectPeerAssociationsPages(input *GetTransitGatewayConnectPeerAssociationsInput, fn func(*GetTransitGatewayConnectPeerAssociationsOutput, bool) bool) error {
  2857  	return c.GetTransitGatewayConnectPeerAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
  2858  }
  2859  
  2860  // GetTransitGatewayConnectPeerAssociationsPagesWithContext same as GetTransitGatewayConnectPeerAssociationsPages except
  2861  // it takes a Context and allows setting request options on the pages.
  2862  //
  2863  // The context must be non-nil and will be used for request cancellation. If
  2864  // the context is nil a panic will occur. In the future the SDK may create
  2865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2866  // for more information on using Contexts.
  2867  func (c *NetworkManager) GetTransitGatewayConnectPeerAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayConnectPeerAssociationsInput, fn func(*GetTransitGatewayConnectPeerAssociationsOutput, bool) bool, opts ...request.Option) error {
  2868  	p := request.Pagination{
  2869  		NewRequest: func() (*request.Request, error) {
  2870  			var inCpy *GetTransitGatewayConnectPeerAssociationsInput
  2871  			if input != nil {
  2872  				tmp := *input
  2873  				inCpy = &tmp
  2874  			}
  2875  			req, _ := c.GetTransitGatewayConnectPeerAssociationsRequest(inCpy)
  2876  			req.SetContext(ctx)
  2877  			req.ApplyOptions(opts...)
  2878  			return req, nil
  2879  		},
  2880  	}
  2881  
  2882  	for p.Next() {
  2883  		if !fn(p.Page().(*GetTransitGatewayConnectPeerAssociationsOutput), !p.HasNextPage()) {
  2884  			break
  2885  		}
  2886  	}
  2887  
  2888  	return p.Err()
  2889  }
  2890  
  2891  const opGetTransitGatewayRegistrations = "GetTransitGatewayRegistrations"
  2892  
  2893  // GetTransitGatewayRegistrationsRequest generates a "aws/request.Request" representing the
  2894  // client's request for the GetTransitGatewayRegistrations operation. The "output" return
  2895  // value will be populated with the request's response once the request completes
  2896  // successfully.
  2897  //
  2898  // Use "Send" method on the returned Request to send the API call to the service.
  2899  // the "output" return value is not valid until after Send returns without error.
  2900  //
  2901  // See GetTransitGatewayRegistrations for more information on using the GetTransitGatewayRegistrations
  2902  // API call, and error handling.
  2903  //
  2904  // This method is useful when you want to inject custom logic or configuration
  2905  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2906  //
  2907  //
  2908  //    // Example sending a request using the GetTransitGatewayRegistrationsRequest method.
  2909  //    req, resp := client.GetTransitGatewayRegistrationsRequest(params)
  2910  //
  2911  //    err := req.Send()
  2912  //    if err == nil { // resp is now filled
  2913  //        fmt.Println(resp)
  2914  //    }
  2915  //
  2916  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayRegistrations
  2917  func (c *NetworkManager) GetTransitGatewayRegistrationsRequest(input *GetTransitGatewayRegistrationsInput) (req *request.Request, output *GetTransitGatewayRegistrationsOutput) {
  2918  	op := &request.Operation{
  2919  		Name:       opGetTransitGatewayRegistrations,
  2920  		HTTPMethod: "GET",
  2921  		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-registrations",
  2922  		Paginator: &request.Paginator{
  2923  			InputTokens:     []string{"NextToken"},
  2924  			OutputTokens:    []string{"NextToken"},
  2925  			LimitToken:      "MaxResults",
  2926  			TruncationToken: "",
  2927  		},
  2928  	}
  2929  
  2930  	if input == nil {
  2931  		input = &GetTransitGatewayRegistrationsInput{}
  2932  	}
  2933  
  2934  	output = &GetTransitGatewayRegistrationsOutput{}
  2935  	req = c.newRequest(op, input, output)
  2936  	return
  2937  }
  2938  
  2939  // GetTransitGatewayRegistrations API operation for AWS Network Manager.
  2940  //
  2941  // Gets information about the transit gateway registrations in a specified global
  2942  // network.
  2943  //
  2944  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2945  // with awserr.Error's Code and Message methods to get detailed information about
  2946  // the error.
  2947  //
  2948  // See the AWS API reference guide for AWS Network Manager's
  2949  // API operation GetTransitGatewayRegistrations for usage and error information.
  2950  //
  2951  // Returned Error Types:
  2952  //   * ValidationException
  2953  //   The input fails to satisfy the constraints.
  2954  //
  2955  //   * AccessDeniedException
  2956  //   You do not have sufficient access to perform this action.
  2957  //
  2958  //   * ResourceNotFoundException
  2959  //   The specified resource could not be found.
  2960  //
  2961  //   * ThrottlingException
  2962  //   The request was denied due to request throttling.
  2963  //
  2964  //   * InternalServerException
  2965  //   The request has failed due to an internal error.
  2966  //
  2967  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayRegistrations
  2968  func (c *NetworkManager) GetTransitGatewayRegistrations(input *GetTransitGatewayRegistrationsInput) (*GetTransitGatewayRegistrationsOutput, error) {
  2969  	req, out := c.GetTransitGatewayRegistrationsRequest(input)
  2970  	return out, req.Send()
  2971  }
  2972  
  2973  // GetTransitGatewayRegistrationsWithContext is the same as GetTransitGatewayRegistrations with the addition of
  2974  // the ability to pass a context and additional request options.
  2975  //
  2976  // See GetTransitGatewayRegistrations for details on how to use this API operation.
  2977  //
  2978  // The context must be non-nil and will be used for request cancellation. If
  2979  // the context is nil a panic will occur. In the future the SDK may create
  2980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2981  // for more information on using Contexts.
  2982  func (c *NetworkManager) GetTransitGatewayRegistrationsWithContext(ctx aws.Context, input *GetTransitGatewayRegistrationsInput, opts ...request.Option) (*GetTransitGatewayRegistrationsOutput, error) {
  2983  	req, out := c.GetTransitGatewayRegistrationsRequest(input)
  2984  	req.SetContext(ctx)
  2985  	req.ApplyOptions(opts...)
  2986  	return out, req.Send()
  2987  }
  2988  
  2989  // GetTransitGatewayRegistrationsPages iterates over the pages of a GetTransitGatewayRegistrations operation,
  2990  // calling the "fn" function with the response data for each page. To stop
  2991  // iterating, return false from the fn function.
  2992  //
  2993  // See GetTransitGatewayRegistrations method for more information on how to use this operation.
  2994  //
  2995  // Note: This operation can generate multiple requests to a service.
  2996  //
  2997  //    // Example iterating over at most 3 pages of a GetTransitGatewayRegistrations operation.
  2998  //    pageNum := 0
  2999  //    err := client.GetTransitGatewayRegistrationsPages(params,
  3000  //        func(page *networkmanager.GetTransitGatewayRegistrationsOutput, lastPage bool) bool {
  3001  //            pageNum++
  3002  //            fmt.Println(page)
  3003  //            return pageNum <= 3
  3004  //        })
  3005  //
  3006  func (c *NetworkManager) GetTransitGatewayRegistrationsPages(input *GetTransitGatewayRegistrationsInput, fn func(*GetTransitGatewayRegistrationsOutput, bool) bool) error {
  3007  	return c.GetTransitGatewayRegistrationsPagesWithContext(aws.BackgroundContext(), input, fn)
  3008  }
  3009  
  3010  // GetTransitGatewayRegistrationsPagesWithContext same as GetTransitGatewayRegistrationsPages except
  3011  // it takes a Context and allows setting request options on the pages.
  3012  //
  3013  // The context must be non-nil and will be used for request cancellation. If
  3014  // the context is nil a panic will occur. In the future the SDK may create
  3015  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3016  // for more information on using Contexts.
  3017  func (c *NetworkManager) GetTransitGatewayRegistrationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRegistrationsInput, fn func(*GetTransitGatewayRegistrationsOutput, bool) bool, opts ...request.Option) error {
  3018  	p := request.Pagination{
  3019  		NewRequest: func() (*request.Request, error) {
  3020  			var inCpy *GetTransitGatewayRegistrationsInput
  3021  			if input != nil {
  3022  				tmp := *input
  3023  				inCpy = &tmp
  3024  			}
  3025  			req, _ := c.GetTransitGatewayRegistrationsRequest(inCpy)
  3026  			req.SetContext(ctx)
  3027  			req.ApplyOptions(opts...)
  3028  			return req, nil
  3029  		},
  3030  	}
  3031  
  3032  	for p.Next() {
  3033  		if !fn(p.Page().(*GetTransitGatewayRegistrationsOutput), !p.HasNextPage()) {
  3034  			break
  3035  		}
  3036  	}
  3037  
  3038  	return p.Err()
  3039  }
  3040  
  3041  const opListTagsForResource = "ListTagsForResource"
  3042  
  3043  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  3044  // client's request for the ListTagsForResource operation. The "output" return
  3045  // value will be populated with the request's response once the request completes
  3046  // successfully.
  3047  //
  3048  // Use "Send" method on the returned Request to send the API call to the service.
  3049  // the "output" return value is not valid until after Send returns without error.
  3050  //
  3051  // See ListTagsForResource for more information on using the ListTagsForResource
  3052  // API call, and error handling.
  3053  //
  3054  // This method is useful when you want to inject custom logic or configuration
  3055  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3056  //
  3057  //
  3058  //    // Example sending a request using the ListTagsForResourceRequest method.
  3059  //    req, resp := client.ListTagsForResourceRequest(params)
  3060  //
  3061  //    err := req.Send()
  3062  //    if err == nil { // resp is now filled
  3063  //        fmt.Println(resp)
  3064  //    }
  3065  //
  3066  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListTagsForResource
  3067  func (c *NetworkManager) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  3068  	op := &request.Operation{
  3069  		Name:       opListTagsForResource,
  3070  		HTTPMethod: "GET",
  3071  		HTTPPath:   "/tags/{resourceArn}",
  3072  	}
  3073  
  3074  	if input == nil {
  3075  		input = &ListTagsForResourceInput{}
  3076  	}
  3077  
  3078  	output = &ListTagsForResourceOutput{}
  3079  	req = c.newRequest(op, input, output)
  3080  	return
  3081  }
  3082  
  3083  // ListTagsForResource API operation for AWS Network Manager.
  3084  //
  3085  // Lists the tags for a specified resource.
  3086  //
  3087  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3088  // with awserr.Error's Code and Message methods to get detailed information about
  3089  // the error.
  3090  //
  3091  // See the AWS API reference guide for AWS Network Manager's
  3092  // API operation ListTagsForResource for usage and error information.
  3093  //
  3094  // Returned Error Types:
  3095  //   * ValidationException
  3096  //   The input fails to satisfy the constraints.
  3097  //
  3098  //   * AccessDeniedException
  3099  //   You do not have sufficient access to perform this action.
  3100  //
  3101  //   * ResourceNotFoundException
  3102  //   The specified resource could not be found.
  3103  //
  3104  //   * ThrottlingException
  3105  //   The request was denied due to request throttling.
  3106  //
  3107  //   * InternalServerException
  3108  //   The request has failed due to an internal error.
  3109  //
  3110  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListTagsForResource
  3111  func (c *NetworkManager) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  3112  	req, out := c.ListTagsForResourceRequest(input)
  3113  	return out, req.Send()
  3114  }
  3115  
  3116  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  3117  // the ability to pass a context and additional request options.
  3118  //
  3119  // See ListTagsForResource for details on how to use this API operation.
  3120  //
  3121  // The context must be non-nil and will be used for request cancellation. If
  3122  // the context is nil a panic will occur. In the future the SDK may create
  3123  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3124  // for more information on using Contexts.
  3125  func (c *NetworkManager) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  3126  	req, out := c.ListTagsForResourceRequest(input)
  3127  	req.SetContext(ctx)
  3128  	req.ApplyOptions(opts...)
  3129  	return out, req.Send()
  3130  }
  3131  
  3132  const opRegisterTransitGateway = "RegisterTransitGateway"
  3133  
  3134  // RegisterTransitGatewayRequest generates a "aws/request.Request" representing the
  3135  // client's request for the RegisterTransitGateway operation. The "output" return
  3136  // value will be populated with the request's response once the request completes
  3137  // successfully.
  3138  //
  3139  // Use "Send" method on the returned Request to send the API call to the service.
  3140  // the "output" return value is not valid until after Send returns without error.
  3141  //
  3142  // See RegisterTransitGateway for more information on using the RegisterTransitGateway
  3143  // API call, and error handling.
  3144  //
  3145  // This method is useful when you want to inject custom logic or configuration
  3146  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3147  //
  3148  //
  3149  //    // Example sending a request using the RegisterTransitGatewayRequest method.
  3150  //    req, resp := client.RegisterTransitGatewayRequest(params)
  3151  //
  3152  //    err := req.Send()
  3153  //    if err == nil { // resp is now filled
  3154  //        fmt.Println(resp)
  3155  //    }
  3156  //
  3157  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/RegisterTransitGateway
  3158  func (c *NetworkManager) RegisterTransitGatewayRequest(input *RegisterTransitGatewayInput) (req *request.Request, output *RegisterTransitGatewayOutput) {
  3159  	op := &request.Operation{
  3160  		Name:       opRegisterTransitGateway,
  3161  		HTTPMethod: "POST",
  3162  		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-registrations",
  3163  	}
  3164  
  3165  	if input == nil {
  3166  		input = &RegisterTransitGatewayInput{}
  3167  	}
  3168  
  3169  	output = &RegisterTransitGatewayOutput{}
  3170  	req = c.newRequest(op, input, output)
  3171  	return
  3172  }
  3173  
  3174  // RegisterTransitGateway API operation for AWS Network Manager.
  3175  //
  3176  // Registers a transit gateway in your global network. The transit gateway can
  3177  // be in any AWS Region, but it must be owned by the same AWS account that owns
  3178  // the global network. You cannot register a transit gateway in more than one
  3179  // global network.
  3180  //
  3181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3182  // with awserr.Error's Code and Message methods to get detailed information about
  3183  // the error.
  3184  //
  3185  // See the AWS API reference guide for AWS Network Manager's
  3186  // API operation RegisterTransitGateway for usage and error information.
  3187  //
  3188  // Returned Error Types:
  3189  //   * ValidationException
  3190  //   The input fails to satisfy the constraints.
  3191  //
  3192  //   * AccessDeniedException
  3193  //   You do not have sufficient access to perform this action.
  3194  //
  3195  //   * ResourceNotFoundException
  3196  //   The specified resource could not be found.
  3197  //
  3198  //   * ConflictException
  3199  //   There was a conflict processing the request. Updating or deleting the resource
  3200  //   can cause an inconsistent state.
  3201  //
  3202  //   * ThrottlingException
  3203  //   The request was denied due to request throttling.
  3204  //
  3205  //   * InternalServerException
  3206  //   The request has failed due to an internal error.
  3207  //
  3208  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/RegisterTransitGateway
  3209  func (c *NetworkManager) RegisterTransitGateway(input *RegisterTransitGatewayInput) (*RegisterTransitGatewayOutput, error) {
  3210  	req, out := c.RegisterTransitGatewayRequest(input)
  3211  	return out, req.Send()
  3212  }
  3213  
  3214  // RegisterTransitGatewayWithContext is the same as RegisterTransitGateway with the addition of
  3215  // the ability to pass a context and additional request options.
  3216  //
  3217  // See RegisterTransitGateway for details on how to use this API operation.
  3218  //
  3219  // The context must be non-nil and will be used for request cancellation. If
  3220  // the context is nil a panic will occur. In the future the SDK may create
  3221  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3222  // for more information on using Contexts.
  3223  func (c *NetworkManager) RegisterTransitGatewayWithContext(ctx aws.Context, input *RegisterTransitGatewayInput, opts ...request.Option) (*RegisterTransitGatewayOutput, error) {
  3224  	req, out := c.RegisterTransitGatewayRequest(input)
  3225  	req.SetContext(ctx)
  3226  	req.ApplyOptions(opts...)
  3227  	return out, req.Send()
  3228  }
  3229  
  3230  const opTagResource = "TagResource"
  3231  
  3232  // TagResourceRequest generates a "aws/request.Request" representing the
  3233  // client's request for the TagResource operation. The "output" return
  3234  // value will be populated with the request's response once the request completes
  3235  // successfully.
  3236  //
  3237  // Use "Send" method on the returned Request to send the API call to the service.
  3238  // the "output" return value is not valid until after Send returns without error.
  3239  //
  3240  // See TagResource for more information on using the TagResource
  3241  // API call, and error handling.
  3242  //
  3243  // This method is useful when you want to inject custom logic or configuration
  3244  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3245  //
  3246  //
  3247  //    // Example sending a request using the TagResourceRequest method.
  3248  //    req, resp := client.TagResourceRequest(params)
  3249  //
  3250  //    err := req.Send()
  3251  //    if err == nil { // resp is now filled
  3252  //        fmt.Println(resp)
  3253  //    }
  3254  //
  3255  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/TagResource
  3256  func (c *NetworkManager) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3257  	op := &request.Operation{
  3258  		Name:       opTagResource,
  3259  		HTTPMethod: "POST",
  3260  		HTTPPath:   "/tags/{resourceArn}",
  3261  	}
  3262  
  3263  	if input == nil {
  3264  		input = &TagResourceInput{}
  3265  	}
  3266  
  3267  	output = &TagResourceOutput{}
  3268  	req = c.newRequest(op, input, output)
  3269  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3270  	return
  3271  }
  3272  
  3273  // TagResource API operation for AWS Network Manager.
  3274  //
  3275  // Tags a specified resource.
  3276  //
  3277  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3278  // with awserr.Error's Code and Message methods to get detailed information about
  3279  // the error.
  3280  //
  3281  // See the AWS API reference guide for AWS Network Manager's
  3282  // API operation TagResource for usage and error information.
  3283  //
  3284  // Returned Error Types:
  3285  //   * ValidationException
  3286  //   The input fails to satisfy the constraints.
  3287  //
  3288  //   * ServiceQuotaExceededException
  3289  //   A service limit was exceeded.
  3290  //
  3291  //   * AccessDeniedException
  3292  //   You do not have sufficient access to perform this action.
  3293  //
  3294  //   * ResourceNotFoundException
  3295  //   The specified resource could not be found.
  3296  //
  3297  //   * ConflictException
  3298  //   There was a conflict processing the request. Updating or deleting the resource
  3299  //   can cause an inconsistent state.
  3300  //
  3301  //   * ThrottlingException
  3302  //   The request was denied due to request throttling.
  3303  //
  3304  //   * InternalServerException
  3305  //   The request has failed due to an internal error.
  3306  //
  3307  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/TagResource
  3308  func (c *NetworkManager) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3309  	req, out := c.TagResourceRequest(input)
  3310  	return out, req.Send()
  3311  }
  3312  
  3313  // TagResourceWithContext is the same as TagResource with the addition of
  3314  // the ability to pass a context and additional request options.
  3315  //
  3316  // See TagResource for details on how to use this API operation.
  3317  //
  3318  // The context must be non-nil and will be used for request cancellation. If
  3319  // the context is nil a panic will occur. In the future the SDK may create
  3320  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3321  // for more information on using Contexts.
  3322  func (c *NetworkManager) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3323  	req, out := c.TagResourceRequest(input)
  3324  	req.SetContext(ctx)
  3325  	req.ApplyOptions(opts...)
  3326  	return out, req.Send()
  3327  }
  3328  
  3329  const opUntagResource = "UntagResource"
  3330  
  3331  // UntagResourceRequest generates a "aws/request.Request" representing the
  3332  // client's request for the UntagResource operation. The "output" return
  3333  // value will be populated with the request's response once the request completes
  3334  // successfully.
  3335  //
  3336  // Use "Send" method on the returned Request to send the API call to the service.
  3337  // the "output" return value is not valid until after Send returns without error.
  3338  //
  3339  // See UntagResource for more information on using the UntagResource
  3340  // API call, and error handling.
  3341  //
  3342  // This method is useful when you want to inject custom logic or configuration
  3343  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3344  //
  3345  //
  3346  //    // Example sending a request using the UntagResourceRequest method.
  3347  //    req, resp := client.UntagResourceRequest(params)
  3348  //
  3349  //    err := req.Send()
  3350  //    if err == nil { // resp is now filled
  3351  //        fmt.Println(resp)
  3352  //    }
  3353  //
  3354  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UntagResource
  3355  func (c *NetworkManager) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3356  	op := &request.Operation{
  3357  		Name:       opUntagResource,
  3358  		HTTPMethod: "DELETE",
  3359  		HTTPPath:   "/tags/{resourceArn}",
  3360  	}
  3361  
  3362  	if input == nil {
  3363  		input = &UntagResourceInput{}
  3364  	}
  3365  
  3366  	output = &UntagResourceOutput{}
  3367  	req = c.newRequest(op, input, output)
  3368  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3369  	return
  3370  }
  3371  
  3372  // UntagResource API operation for AWS Network Manager.
  3373  //
  3374  // Removes tags from a specified resource.
  3375  //
  3376  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3377  // with awserr.Error's Code and Message methods to get detailed information about
  3378  // the error.
  3379  //
  3380  // See the AWS API reference guide for AWS Network Manager's
  3381  // API operation UntagResource for usage and error information.
  3382  //
  3383  // Returned Error Types:
  3384  //   * ValidationException
  3385  //   The input fails to satisfy the constraints.
  3386  //
  3387  //   * AccessDeniedException
  3388  //   You do not have sufficient access to perform this action.
  3389  //
  3390  //   * ResourceNotFoundException
  3391  //   The specified resource could not be found.
  3392  //
  3393  //   * ConflictException
  3394  //   There was a conflict processing the request. Updating or deleting the resource
  3395  //   can cause an inconsistent state.
  3396  //
  3397  //   * ThrottlingException
  3398  //   The request was denied due to request throttling.
  3399  //
  3400  //   * InternalServerException
  3401  //   The request has failed due to an internal error.
  3402  //
  3403  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UntagResource
  3404  func (c *NetworkManager) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3405  	req, out := c.UntagResourceRequest(input)
  3406  	return out, req.Send()
  3407  }
  3408  
  3409  // UntagResourceWithContext is the same as UntagResource with the addition of
  3410  // the ability to pass a context and additional request options.
  3411  //
  3412  // See UntagResource for details on how to use this API operation.
  3413  //
  3414  // The context must be non-nil and will be used for request cancellation. If
  3415  // the context is nil a panic will occur. In the future the SDK may create
  3416  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3417  // for more information on using Contexts.
  3418  func (c *NetworkManager) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3419  	req, out := c.UntagResourceRequest(input)
  3420  	req.SetContext(ctx)
  3421  	req.ApplyOptions(opts...)
  3422  	return out, req.Send()
  3423  }
  3424  
  3425  const opUpdateConnection = "UpdateConnection"
  3426  
  3427  // UpdateConnectionRequest generates a "aws/request.Request" representing the
  3428  // client's request for the UpdateConnection operation. The "output" return
  3429  // value will be populated with the request's response once the request completes
  3430  // successfully.
  3431  //
  3432  // Use "Send" method on the returned Request to send the API call to the service.
  3433  // the "output" return value is not valid until after Send returns without error.
  3434  //
  3435  // See UpdateConnection for more information on using the UpdateConnection
  3436  // API call, and error handling.
  3437  //
  3438  // This method is useful when you want to inject custom logic or configuration
  3439  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3440  //
  3441  //
  3442  //    // Example sending a request using the UpdateConnectionRequest method.
  3443  //    req, resp := client.UpdateConnectionRequest(params)
  3444  //
  3445  //    err := req.Send()
  3446  //    if err == nil { // resp is now filled
  3447  //        fmt.Println(resp)
  3448  //    }
  3449  //
  3450  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateConnection
  3451  func (c *NetworkManager) UpdateConnectionRequest(input *UpdateConnectionInput) (req *request.Request, output *UpdateConnectionOutput) {
  3452  	op := &request.Operation{
  3453  		Name:       opUpdateConnection,
  3454  		HTTPMethod: "PATCH",
  3455  		HTTPPath:   "/global-networks/{globalNetworkId}/connections/{connectionId}",
  3456  	}
  3457  
  3458  	if input == nil {
  3459  		input = &UpdateConnectionInput{}
  3460  	}
  3461  
  3462  	output = &UpdateConnectionOutput{}
  3463  	req = c.newRequest(op, input, output)
  3464  	return
  3465  }
  3466  
  3467  // UpdateConnection API operation for AWS Network Manager.
  3468  //
  3469  // Updates the information for an existing connection. To remove information
  3470  // for any of the parameters, specify an empty string.
  3471  //
  3472  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3473  // with awserr.Error's Code and Message methods to get detailed information about
  3474  // the error.
  3475  //
  3476  // See the AWS API reference guide for AWS Network Manager's
  3477  // API operation UpdateConnection for usage and error information.
  3478  //
  3479  // Returned Error Types:
  3480  //   * ValidationException
  3481  //   The input fails to satisfy the constraints.
  3482  //
  3483  //   * AccessDeniedException
  3484  //   You do not have sufficient access to perform this action.
  3485  //
  3486  //   * ResourceNotFoundException
  3487  //   The specified resource could not be found.
  3488  //
  3489  //   * ConflictException
  3490  //   There was a conflict processing the request. Updating or deleting the resource
  3491  //   can cause an inconsistent state.
  3492  //
  3493  //   * ThrottlingException
  3494  //   The request was denied due to request throttling.
  3495  //
  3496  //   * InternalServerException
  3497  //   The request has failed due to an internal error.
  3498  //
  3499  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateConnection
  3500  func (c *NetworkManager) UpdateConnection(input *UpdateConnectionInput) (*UpdateConnectionOutput, error) {
  3501  	req, out := c.UpdateConnectionRequest(input)
  3502  	return out, req.Send()
  3503  }
  3504  
  3505  // UpdateConnectionWithContext is the same as UpdateConnection with the addition of
  3506  // the ability to pass a context and additional request options.
  3507  //
  3508  // See UpdateConnection for details on how to use this API operation.
  3509  //
  3510  // The context must be non-nil and will be used for request cancellation. If
  3511  // the context is nil a panic will occur. In the future the SDK may create
  3512  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3513  // for more information on using Contexts.
  3514  func (c *NetworkManager) UpdateConnectionWithContext(ctx aws.Context, input *UpdateConnectionInput, opts ...request.Option) (*UpdateConnectionOutput, error) {
  3515  	req, out := c.UpdateConnectionRequest(input)
  3516  	req.SetContext(ctx)
  3517  	req.ApplyOptions(opts...)
  3518  	return out, req.Send()
  3519  }
  3520  
  3521  const opUpdateDevice = "UpdateDevice"
  3522  
  3523  // UpdateDeviceRequest generates a "aws/request.Request" representing the
  3524  // client's request for the UpdateDevice operation. The "output" return
  3525  // value will be populated with the request's response once the request completes
  3526  // successfully.
  3527  //
  3528  // Use "Send" method on the returned Request to send the API call to the service.
  3529  // the "output" return value is not valid until after Send returns without error.
  3530  //
  3531  // See UpdateDevice for more information on using the UpdateDevice
  3532  // API call, and error handling.
  3533  //
  3534  // This method is useful when you want to inject custom logic or configuration
  3535  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3536  //
  3537  //
  3538  //    // Example sending a request using the UpdateDeviceRequest method.
  3539  //    req, resp := client.UpdateDeviceRequest(params)
  3540  //
  3541  //    err := req.Send()
  3542  //    if err == nil { // resp is now filled
  3543  //        fmt.Println(resp)
  3544  //    }
  3545  //
  3546  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateDevice
  3547  func (c *NetworkManager) UpdateDeviceRequest(input *UpdateDeviceInput) (req *request.Request, output *UpdateDeviceOutput) {
  3548  	op := &request.Operation{
  3549  		Name:       opUpdateDevice,
  3550  		HTTPMethod: "PATCH",
  3551  		HTTPPath:   "/global-networks/{globalNetworkId}/devices/{deviceId}",
  3552  	}
  3553  
  3554  	if input == nil {
  3555  		input = &UpdateDeviceInput{}
  3556  	}
  3557  
  3558  	output = &UpdateDeviceOutput{}
  3559  	req = c.newRequest(op, input, output)
  3560  	return
  3561  }
  3562  
  3563  // UpdateDevice API operation for AWS Network Manager.
  3564  //
  3565  // Updates the details for an existing device. To remove information for any
  3566  // of the parameters, specify an empty string.
  3567  //
  3568  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3569  // with awserr.Error's Code and Message methods to get detailed information about
  3570  // the error.
  3571  //
  3572  // See the AWS API reference guide for AWS Network Manager's
  3573  // API operation UpdateDevice for usage and error information.
  3574  //
  3575  // Returned Error Types:
  3576  //   * ValidationException
  3577  //   The input fails to satisfy the constraints.
  3578  //
  3579  //   * AccessDeniedException
  3580  //   You do not have sufficient access to perform this action.
  3581  //
  3582  //   * ResourceNotFoundException
  3583  //   The specified resource could not be found.
  3584  //
  3585  //   * ConflictException
  3586  //   There was a conflict processing the request. Updating or deleting the resource
  3587  //   can cause an inconsistent state.
  3588  //
  3589  //   * ThrottlingException
  3590  //   The request was denied due to request throttling.
  3591  //
  3592  //   * InternalServerException
  3593  //   The request has failed due to an internal error.
  3594  //
  3595  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateDevice
  3596  func (c *NetworkManager) UpdateDevice(input *UpdateDeviceInput) (*UpdateDeviceOutput, error) {
  3597  	req, out := c.UpdateDeviceRequest(input)
  3598  	return out, req.Send()
  3599  }
  3600  
  3601  // UpdateDeviceWithContext is the same as UpdateDevice with the addition of
  3602  // the ability to pass a context and additional request options.
  3603  //
  3604  // See UpdateDevice for details on how to use this API operation.
  3605  //
  3606  // The context must be non-nil and will be used for request cancellation. If
  3607  // the context is nil a panic will occur. In the future the SDK may create
  3608  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3609  // for more information on using Contexts.
  3610  func (c *NetworkManager) UpdateDeviceWithContext(ctx aws.Context, input *UpdateDeviceInput, opts ...request.Option) (*UpdateDeviceOutput, error) {
  3611  	req, out := c.UpdateDeviceRequest(input)
  3612  	req.SetContext(ctx)
  3613  	req.ApplyOptions(opts...)
  3614  	return out, req.Send()
  3615  }
  3616  
  3617  const opUpdateGlobalNetwork = "UpdateGlobalNetwork"
  3618  
  3619  // UpdateGlobalNetworkRequest generates a "aws/request.Request" representing the
  3620  // client's request for the UpdateGlobalNetwork operation. The "output" return
  3621  // value will be populated with the request's response once the request completes
  3622  // successfully.
  3623  //
  3624  // Use "Send" method on the returned Request to send the API call to the service.
  3625  // the "output" return value is not valid until after Send returns without error.
  3626  //
  3627  // See UpdateGlobalNetwork for more information on using the UpdateGlobalNetwork
  3628  // API call, and error handling.
  3629  //
  3630  // This method is useful when you want to inject custom logic or configuration
  3631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3632  //
  3633  //
  3634  //    // Example sending a request using the UpdateGlobalNetworkRequest method.
  3635  //    req, resp := client.UpdateGlobalNetworkRequest(params)
  3636  //
  3637  //    err := req.Send()
  3638  //    if err == nil { // resp is now filled
  3639  //        fmt.Println(resp)
  3640  //    }
  3641  //
  3642  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateGlobalNetwork
  3643  func (c *NetworkManager) UpdateGlobalNetworkRequest(input *UpdateGlobalNetworkInput) (req *request.Request, output *UpdateGlobalNetworkOutput) {
  3644  	op := &request.Operation{
  3645  		Name:       opUpdateGlobalNetwork,
  3646  		HTTPMethod: "PATCH",
  3647  		HTTPPath:   "/global-networks/{globalNetworkId}",
  3648  	}
  3649  
  3650  	if input == nil {
  3651  		input = &UpdateGlobalNetworkInput{}
  3652  	}
  3653  
  3654  	output = &UpdateGlobalNetworkOutput{}
  3655  	req = c.newRequest(op, input, output)
  3656  	return
  3657  }
  3658  
  3659  // UpdateGlobalNetwork API operation for AWS Network Manager.
  3660  //
  3661  // Updates an existing global network. To remove information for any of the
  3662  // parameters, specify an empty string.
  3663  //
  3664  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3665  // with awserr.Error's Code and Message methods to get detailed information about
  3666  // the error.
  3667  //
  3668  // See the AWS API reference guide for AWS Network Manager's
  3669  // API operation UpdateGlobalNetwork for usage and error information.
  3670  //
  3671  // Returned Error Types:
  3672  //   * ValidationException
  3673  //   The input fails to satisfy the constraints.
  3674  //
  3675  //   * AccessDeniedException
  3676  //   You do not have sufficient access to perform this action.
  3677  //
  3678  //   * ResourceNotFoundException
  3679  //   The specified resource could not be found.
  3680  //
  3681  //   * ConflictException
  3682  //   There was a conflict processing the request. Updating or deleting the resource
  3683  //   can cause an inconsistent state.
  3684  //
  3685  //   * ThrottlingException
  3686  //   The request was denied due to request throttling.
  3687  //
  3688  //   * InternalServerException
  3689  //   The request has failed due to an internal error.
  3690  //
  3691  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateGlobalNetwork
  3692  func (c *NetworkManager) UpdateGlobalNetwork(input *UpdateGlobalNetworkInput) (*UpdateGlobalNetworkOutput, error) {
  3693  	req, out := c.UpdateGlobalNetworkRequest(input)
  3694  	return out, req.Send()
  3695  }
  3696  
  3697  // UpdateGlobalNetworkWithContext is the same as UpdateGlobalNetwork with the addition of
  3698  // the ability to pass a context and additional request options.
  3699  //
  3700  // See UpdateGlobalNetwork for details on how to use this API operation.
  3701  //
  3702  // The context must be non-nil and will be used for request cancellation. If
  3703  // the context is nil a panic will occur. In the future the SDK may create
  3704  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3705  // for more information on using Contexts.
  3706  func (c *NetworkManager) UpdateGlobalNetworkWithContext(ctx aws.Context, input *UpdateGlobalNetworkInput, opts ...request.Option) (*UpdateGlobalNetworkOutput, error) {
  3707  	req, out := c.UpdateGlobalNetworkRequest(input)
  3708  	req.SetContext(ctx)
  3709  	req.ApplyOptions(opts...)
  3710  	return out, req.Send()
  3711  }
  3712  
  3713  const opUpdateLink = "UpdateLink"
  3714  
  3715  // UpdateLinkRequest generates a "aws/request.Request" representing the
  3716  // client's request for the UpdateLink operation. The "output" return
  3717  // value will be populated with the request's response once the request completes
  3718  // successfully.
  3719  //
  3720  // Use "Send" method on the returned Request to send the API call to the service.
  3721  // the "output" return value is not valid until after Send returns without error.
  3722  //
  3723  // See UpdateLink for more information on using the UpdateLink
  3724  // API call, and error handling.
  3725  //
  3726  // This method is useful when you want to inject custom logic or configuration
  3727  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3728  //
  3729  //
  3730  //    // Example sending a request using the UpdateLinkRequest method.
  3731  //    req, resp := client.UpdateLinkRequest(params)
  3732  //
  3733  //    err := req.Send()
  3734  //    if err == nil { // resp is now filled
  3735  //        fmt.Println(resp)
  3736  //    }
  3737  //
  3738  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateLink
  3739  func (c *NetworkManager) UpdateLinkRequest(input *UpdateLinkInput) (req *request.Request, output *UpdateLinkOutput) {
  3740  	op := &request.Operation{
  3741  		Name:       opUpdateLink,
  3742  		HTTPMethod: "PATCH",
  3743  		HTTPPath:   "/global-networks/{globalNetworkId}/links/{linkId}",
  3744  	}
  3745  
  3746  	if input == nil {
  3747  		input = &UpdateLinkInput{}
  3748  	}
  3749  
  3750  	output = &UpdateLinkOutput{}
  3751  	req = c.newRequest(op, input, output)
  3752  	return
  3753  }
  3754  
  3755  // UpdateLink API operation for AWS Network Manager.
  3756  //
  3757  // Updates the details for an existing link. To remove information for any of
  3758  // the parameters, specify an empty string.
  3759  //
  3760  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3761  // with awserr.Error's Code and Message methods to get detailed information about
  3762  // the error.
  3763  //
  3764  // See the AWS API reference guide for AWS Network Manager's
  3765  // API operation UpdateLink for usage and error information.
  3766  //
  3767  // Returned Error Types:
  3768  //   * ValidationException
  3769  //   The input fails to satisfy the constraints.
  3770  //
  3771  //   * ServiceQuotaExceededException
  3772  //   A service limit was exceeded.
  3773  //
  3774  //   * AccessDeniedException
  3775  //   You do not have sufficient access to perform this action.
  3776  //
  3777  //   * ResourceNotFoundException
  3778  //   The specified resource could not be found.
  3779  //
  3780  //   * ConflictException
  3781  //   There was a conflict processing the request. Updating or deleting the resource
  3782  //   can cause an inconsistent state.
  3783  //
  3784  //   * ThrottlingException
  3785  //   The request was denied due to request throttling.
  3786  //
  3787  //   * InternalServerException
  3788  //   The request has failed due to an internal error.
  3789  //
  3790  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateLink
  3791  func (c *NetworkManager) UpdateLink(input *UpdateLinkInput) (*UpdateLinkOutput, error) {
  3792  	req, out := c.UpdateLinkRequest(input)
  3793  	return out, req.Send()
  3794  }
  3795  
  3796  // UpdateLinkWithContext is the same as UpdateLink with the addition of
  3797  // the ability to pass a context and additional request options.
  3798  //
  3799  // See UpdateLink for details on how to use this API operation.
  3800  //
  3801  // The context must be non-nil and will be used for request cancellation. If
  3802  // the context is nil a panic will occur. In the future the SDK may create
  3803  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3804  // for more information on using Contexts.
  3805  func (c *NetworkManager) UpdateLinkWithContext(ctx aws.Context, input *UpdateLinkInput, opts ...request.Option) (*UpdateLinkOutput, error) {
  3806  	req, out := c.UpdateLinkRequest(input)
  3807  	req.SetContext(ctx)
  3808  	req.ApplyOptions(opts...)
  3809  	return out, req.Send()
  3810  }
  3811  
  3812  const opUpdateSite = "UpdateSite"
  3813  
  3814  // UpdateSiteRequest generates a "aws/request.Request" representing the
  3815  // client's request for the UpdateSite operation. The "output" return
  3816  // value will be populated with the request's response once the request completes
  3817  // successfully.
  3818  //
  3819  // Use "Send" method on the returned Request to send the API call to the service.
  3820  // the "output" return value is not valid until after Send returns without error.
  3821  //
  3822  // See UpdateSite for more information on using the UpdateSite
  3823  // API call, and error handling.
  3824  //
  3825  // This method is useful when you want to inject custom logic or configuration
  3826  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3827  //
  3828  //
  3829  //    // Example sending a request using the UpdateSiteRequest method.
  3830  //    req, resp := client.UpdateSiteRequest(params)
  3831  //
  3832  //    err := req.Send()
  3833  //    if err == nil { // resp is now filled
  3834  //        fmt.Println(resp)
  3835  //    }
  3836  //
  3837  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateSite
  3838  func (c *NetworkManager) UpdateSiteRequest(input *UpdateSiteInput) (req *request.Request, output *UpdateSiteOutput) {
  3839  	op := &request.Operation{
  3840  		Name:       opUpdateSite,
  3841  		HTTPMethod: "PATCH",
  3842  		HTTPPath:   "/global-networks/{globalNetworkId}/sites/{siteId}",
  3843  	}
  3844  
  3845  	if input == nil {
  3846  		input = &UpdateSiteInput{}
  3847  	}
  3848  
  3849  	output = &UpdateSiteOutput{}
  3850  	req = c.newRequest(op, input, output)
  3851  	return
  3852  }
  3853  
  3854  // UpdateSite API operation for AWS Network Manager.
  3855  //
  3856  // Updates the information for an existing site. To remove information for any
  3857  // of the parameters, specify an empty string.
  3858  //
  3859  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3860  // with awserr.Error's Code and Message methods to get detailed information about
  3861  // the error.
  3862  //
  3863  // See the AWS API reference guide for AWS Network Manager's
  3864  // API operation UpdateSite for usage and error information.
  3865  //
  3866  // Returned Error Types:
  3867  //   * ValidationException
  3868  //   The input fails to satisfy the constraints.
  3869  //
  3870  //   * AccessDeniedException
  3871  //   You do not have sufficient access to perform this action.
  3872  //
  3873  //   * ResourceNotFoundException
  3874  //   The specified resource could not be found.
  3875  //
  3876  //   * ConflictException
  3877  //   There was a conflict processing the request. Updating or deleting the resource
  3878  //   can cause an inconsistent state.
  3879  //
  3880  //   * ThrottlingException
  3881  //   The request was denied due to request throttling.
  3882  //
  3883  //   * InternalServerException
  3884  //   The request has failed due to an internal error.
  3885  //
  3886  // See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateSite
  3887  func (c *NetworkManager) UpdateSite(input *UpdateSiteInput) (*UpdateSiteOutput, error) {
  3888  	req, out := c.UpdateSiteRequest(input)
  3889  	return out, req.Send()
  3890  }
  3891  
  3892  // UpdateSiteWithContext is the same as UpdateSite with the addition of
  3893  // the ability to pass a context and additional request options.
  3894  //
  3895  // See UpdateSite for details on how to use this API operation.
  3896  //
  3897  // The context must be non-nil and will be used for request cancellation. If
  3898  // the context is nil a panic will occur. In the future the SDK may create
  3899  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3900  // for more information on using Contexts.
  3901  func (c *NetworkManager) UpdateSiteWithContext(ctx aws.Context, input *UpdateSiteInput, opts ...request.Option) (*UpdateSiteOutput, error) {
  3902  	req, out := c.UpdateSiteRequest(input)
  3903  	req.SetContext(ctx)
  3904  	req.ApplyOptions(opts...)
  3905  	return out, req.Send()
  3906  }
  3907  
  3908  // Specifies a location in AWS.
  3909  type AWSLocation struct {
  3910  	_ struct{} `type:"structure"`
  3911  
  3912  	// The Amazon Resource Name (ARN) of the subnet the device is located in.
  3913  	SubnetArn *string `type:"string"`
  3914  
  3915  	// The Zone the device is located in. This can be the ID of an Availability
  3916  	// Zone, Local Zone, Wavelength Zone, or an Outpost.
  3917  	Zone *string `type:"string"`
  3918  }
  3919  
  3920  // String returns the string representation.
  3921  //
  3922  // API parameter values that are decorated as "sensitive" in the API will not
  3923  // be included in the string output. The member name will be present, but the
  3924  // value will be replaced with "sensitive".
  3925  func (s AWSLocation) String() string {
  3926  	return awsutil.Prettify(s)
  3927  }
  3928  
  3929  // GoString returns the string representation.
  3930  //
  3931  // API parameter values that are decorated as "sensitive" in the API will not
  3932  // be included in the string output. The member name will be present, but the
  3933  // value will be replaced with "sensitive".
  3934  func (s AWSLocation) GoString() string {
  3935  	return s.String()
  3936  }
  3937  
  3938  // SetSubnetArn sets the SubnetArn field's value.
  3939  func (s *AWSLocation) SetSubnetArn(v string) *AWSLocation {
  3940  	s.SubnetArn = &v
  3941  	return s
  3942  }
  3943  
  3944  // SetZone sets the Zone field's value.
  3945  func (s *AWSLocation) SetZone(v string) *AWSLocation {
  3946  	s.Zone = &v
  3947  	return s
  3948  }
  3949  
  3950  // You do not have sufficient access to perform this action.
  3951  type AccessDeniedException struct {
  3952  	_            struct{}                  `type:"structure"`
  3953  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3954  
  3955  	Message_ *string `locationName:"Message" type:"string"`
  3956  }
  3957  
  3958  // String returns the string representation.
  3959  //
  3960  // API parameter values that are decorated as "sensitive" in the API will not
  3961  // be included in the string output. The member name will be present, but the
  3962  // value will be replaced with "sensitive".
  3963  func (s AccessDeniedException) String() string {
  3964  	return awsutil.Prettify(s)
  3965  }
  3966  
  3967  // GoString returns the string representation.
  3968  //
  3969  // API parameter values that are decorated as "sensitive" in the API will not
  3970  // be included in the string output. The member name will be present, but the
  3971  // value will be replaced with "sensitive".
  3972  func (s AccessDeniedException) GoString() string {
  3973  	return s.String()
  3974  }
  3975  
  3976  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  3977  	return &AccessDeniedException{
  3978  		RespMetadata: v,
  3979  	}
  3980  }
  3981  
  3982  // Code returns the exception type name.
  3983  func (s *AccessDeniedException) Code() string {
  3984  	return "AccessDeniedException"
  3985  }
  3986  
  3987  // Message returns the exception's message.
  3988  func (s *AccessDeniedException) Message() string {
  3989  	if s.Message_ != nil {
  3990  		return *s.Message_
  3991  	}
  3992  	return ""
  3993  }
  3994  
  3995  // OrigErr always returns nil, satisfies awserr.Error interface.
  3996  func (s *AccessDeniedException) OrigErr() error {
  3997  	return nil
  3998  }
  3999  
  4000  func (s *AccessDeniedException) Error() string {
  4001  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4002  }
  4003  
  4004  // Status code returns the HTTP status code for the request's response error.
  4005  func (s *AccessDeniedException) StatusCode() int {
  4006  	return s.RespMetadata.StatusCode
  4007  }
  4008  
  4009  // RequestID returns the service's response RequestID for request.
  4010  func (s *AccessDeniedException) RequestID() string {
  4011  	return s.RespMetadata.RequestID
  4012  }
  4013  
  4014  type AssociateCustomerGatewayInput struct {
  4015  	_ struct{} `type:"structure"`
  4016  
  4017  	// The Amazon Resource Name (ARN) of the customer gateway. For more information,
  4018  	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
  4019  	//
  4020  	// CustomerGatewayArn is a required field
  4021  	CustomerGatewayArn *string `type:"string" required:"true"`
  4022  
  4023  	// The ID of the device.
  4024  	//
  4025  	// DeviceId is a required field
  4026  	DeviceId *string `type:"string" required:"true"`
  4027  
  4028  	// The ID of the global network.
  4029  	//
  4030  	// GlobalNetworkId is a required field
  4031  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  4032  
  4033  	// The ID of the link.
  4034  	LinkId *string `type:"string"`
  4035  }
  4036  
  4037  // String returns the string representation.
  4038  //
  4039  // API parameter values that are decorated as "sensitive" in the API will not
  4040  // be included in the string output. The member name will be present, but the
  4041  // value will be replaced with "sensitive".
  4042  func (s AssociateCustomerGatewayInput) String() string {
  4043  	return awsutil.Prettify(s)
  4044  }
  4045  
  4046  // GoString returns the string representation.
  4047  //
  4048  // API parameter values that are decorated as "sensitive" in the API will not
  4049  // be included in the string output. The member name will be present, but the
  4050  // value will be replaced with "sensitive".
  4051  func (s AssociateCustomerGatewayInput) GoString() string {
  4052  	return s.String()
  4053  }
  4054  
  4055  // Validate inspects the fields of the type to determine if they are valid.
  4056  func (s *AssociateCustomerGatewayInput) Validate() error {
  4057  	invalidParams := request.ErrInvalidParams{Context: "AssociateCustomerGatewayInput"}
  4058  	if s.CustomerGatewayArn == nil {
  4059  		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayArn"))
  4060  	}
  4061  	if s.DeviceId == nil {
  4062  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  4063  	}
  4064  	if s.GlobalNetworkId == nil {
  4065  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  4066  	}
  4067  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  4068  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  4069  	}
  4070  
  4071  	if invalidParams.Len() > 0 {
  4072  		return invalidParams
  4073  	}
  4074  	return nil
  4075  }
  4076  
  4077  // SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
  4078  func (s *AssociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *AssociateCustomerGatewayInput {
  4079  	s.CustomerGatewayArn = &v
  4080  	return s
  4081  }
  4082  
  4083  // SetDeviceId sets the DeviceId field's value.
  4084  func (s *AssociateCustomerGatewayInput) SetDeviceId(v string) *AssociateCustomerGatewayInput {
  4085  	s.DeviceId = &v
  4086  	return s
  4087  }
  4088  
  4089  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  4090  func (s *AssociateCustomerGatewayInput) SetGlobalNetworkId(v string) *AssociateCustomerGatewayInput {
  4091  	s.GlobalNetworkId = &v
  4092  	return s
  4093  }
  4094  
  4095  // SetLinkId sets the LinkId field's value.
  4096  func (s *AssociateCustomerGatewayInput) SetLinkId(v string) *AssociateCustomerGatewayInput {
  4097  	s.LinkId = &v
  4098  	return s
  4099  }
  4100  
  4101  type AssociateCustomerGatewayOutput struct {
  4102  	_ struct{} `type:"structure"`
  4103  
  4104  	// The customer gateway association.
  4105  	CustomerGatewayAssociation *CustomerGatewayAssociation `type:"structure"`
  4106  }
  4107  
  4108  // String returns the string representation.
  4109  //
  4110  // API parameter values that are decorated as "sensitive" in the API will not
  4111  // be included in the string output. The member name will be present, but the
  4112  // value will be replaced with "sensitive".
  4113  func (s AssociateCustomerGatewayOutput) String() string {
  4114  	return awsutil.Prettify(s)
  4115  }
  4116  
  4117  // GoString returns the string representation.
  4118  //
  4119  // API parameter values that are decorated as "sensitive" in the API will not
  4120  // be included in the string output. The member name will be present, but the
  4121  // value will be replaced with "sensitive".
  4122  func (s AssociateCustomerGatewayOutput) GoString() string {
  4123  	return s.String()
  4124  }
  4125  
  4126  // SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
  4127  func (s *AssociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *AssociateCustomerGatewayOutput {
  4128  	s.CustomerGatewayAssociation = v
  4129  	return s
  4130  }
  4131  
  4132  type AssociateLinkInput struct {
  4133  	_ struct{} `type:"structure"`
  4134  
  4135  	// The ID of the device.
  4136  	//
  4137  	// DeviceId is a required field
  4138  	DeviceId *string `type:"string" required:"true"`
  4139  
  4140  	// The ID of the global network.
  4141  	//
  4142  	// GlobalNetworkId is a required field
  4143  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  4144  
  4145  	// The ID of the link.
  4146  	//
  4147  	// LinkId is a required field
  4148  	LinkId *string `type:"string" required:"true"`
  4149  }
  4150  
  4151  // String returns the string representation.
  4152  //
  4153  // API parameter values that are decorated as "sensitive" in the API will not
  4154  // be included in the string output. The member name will be present, but the
  4155  // value will be replaced with "sensitive".
  4156  func (s AssociateLinkInput) String() string {
  4157  	return awsutil.Prettify(s)
  4158  }
  4159  
  4160  // GoString returns the string representation.
  4161  //
  4162  // API parameter values that are decorated as "sensitive" in the API will not
  4163  // be included in the string output. The member name will be present, but the
  4164  // value will be replaced with "sensitive".
  4165  func (s AssociateLinkInput) GoString() string {
  4166  	return s.String()
  4167  }
  4168  
  4169  // Validate inspects the fields of the type to determine if they are valid.
  4170  func (s *AssociateLinkInput) Validate() error {
  4171  	invalidParams := request.ErrInvalidParams{Context: "AssociateLinkInput"}
  4172  	if s.DeviceId == nil {
  4173  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  4174  	}
  4175  	if s.GlobalNetworkId == nil {
  4176  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  4177  	}
  4178  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  4179  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  4180  	}
  4181  	if s.LinkId == nil {
  4182  		invalidParams.Add(request.NewErrParamRequired("LinkId"))
  4183  	}
  4184  
  4185  	if invalidParams.Len() > 0 {
  4186  		return invalidParams
  4187  	}
  4188  	return nil
  4189  }
  4190  
  4191  // SetDeviceId sets the DeviceId field's value.
  4192  func (s *AssociateLinkInput) SetDeviceId(v string) *AssociateLinkInput {
  4193  	s.DeviceId = &v
  4194  	return s
  4195  }
  4196  
  4197  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  4198  func (s *AssociateLinkInput) SetGlobalNetworkId(v string) *AssociateLinkInput {
  4199  	s.GlobalNetworkId = &v
  4200  	return s
  4201  }
  4202  
  4203  // SetLinkId sets the LinkId field's value.
  4204  func (s *AssociateLinkInput) SetLinkId(v string) *AssociateLinkInput {
  4205  	s.LinkId = &v
  4206  	return s
  4207  }
  4208  
  4209  type AssociateLinkOutput struct {
  4210  	_ struct{} `type:"structure"`
  4211  
  4212  	// The link association.
  4213  	LinkAssociation *LinkAssociation `type:"structure"`
  4214  }
  4215  
  4216  // String returns the string representation.
  4217  //
  4218  // API parameter values that are decorated as "sensitive" in the API will not
  4219  // be included in the string output. The member name will be present, but the
  4220  // value will be replaced with "sensitive".
  4221  func (s AssociateLinkOutput) String() string {
  4222  	return awsutil.Prettify(s)
  4223  }
  4224  
  4225  // GoString returns the string representation.
  4226  //
  4227  // API parameter values that are decorated as "sensitive" in the API will not
  4228  // be included in the string output. The member name will be present, but the
  4229  // value will be replaced with "sensitive".
  4230  func (s AssociateLinkOutput) GoString() string {
  4231  	return s.String()
  4232  }
  4233  
  4234  // SetLinkAssociation sets the LinkAssociation field's value.
  4235  func (s *AssociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *AssociateLinkOutput {
  4236  	s.LinkAssociation = v
  4237  	return s
  4238  }
  4239  
  4240  type AssociateTransitGatewayConnectPeerInput struct {
  4241  	_ struct{} `type:"structure"`
  4242  
  4243  	// The ID of the device.
  4244  	//
  4245  	// DeviceId is a required field
  4246  	DeviceId *string `type:"string" required:"true"`
  4247  
  4248  	// The ID of the global network.
  4249  	//
  4250  	// GlobalNetworkId is a required field
  4251  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  4252  
  4253  	// The ID of the link.
  4254  	LinkId *string `type:"string"`
  4255  
  4256  	// The Amazon Resource Name (ARN) of the Connect peer.
  4257  	//
  4258  	// TransitGatewayConnectPeerArn is a required field
  4259  	TransitGatewayConnectPeerArn *string `type:"string" required:"true"`
  4260  }
  4261  
  4262  // String returns the string representation.
  4263  //
  4264  // API parameter values that are decorated as "sensitive" in the API will not
  4265  // be included in the string output. The member name will be present, but the
  4266  // value will be replaced with "sensitive".
  4267  func (s AssociateTransitGatewayConnectPeerInput) String() string {
  4268  	return awsutil.Prettify(s)
  4269  }
  4270  
  4271  // GoString returns the string representation.
  4272  //
  4273  // API parameter values that are decorated as "sensitive" in the API will not
  4274  // be included in the string output. The member name will be present, but the
  4275  // value will be replaced with "sensitive".
  4276  func (s AssociateTransitGatewayConnectPeerInput) GoString() string {
  4277  	return s.String()
  4278  }
  4279  
  4280  // Validate inspects the fields of the type to determine if they are valid.
  4281  func (s *AssociateTransitGatewayConnectPeerInput) Validate() error {
  4282  	invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayConnectPeerInput"}
  4283  	if s.DeviceId == nil {
  4284  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  4285  	}
  4286  	if s.GlobalNetworkId == nil {
  4287  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  4288  	}
  4289  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  4290  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  4291  	}
  4292  	if s.TransitGatewayConnectPeerArn == nil {
  4293  		invalidParams.Add(request.NewErrParamRequired("TransitGatewayConnectPeerArn"))
  4294  	}
  4295  
  4296  	if invalidParams.Len() > 0 {
  4297  		return invalidParams
  4298  	}
  4299  	return nil
  4300  }
  4301  
  4302  // SetDeviceId sets the DeviceId field's value.
  4303  func (s *AssociateTransitGatewayConnectPeerInput) SetDeviceId(v string) *AssociateTransitGatewayConnectPeerInput {
  4304  	s.DeviceId = &v
  4305  	return s
  4306  }
  4307  
  4308  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  4309  func (s *AssociateTransitGatewayConnectPeerInput) SetGlobalNetworkId(v string) *AssociateTransitGatewayConnectPeerInput {
  4310  	s.GlobalNetworkId = &v
  4311  	return s
  4312  }
  4313  
  4314  // SetLinkId sets the LinkId field's value.
  4315  func (s *AssociateTransitGatewayConnectPeerInput) SetLinkId(v string) *AssociateTransitGatewayConnectPeerInput {
  4316  	s.LinkId = &v
  4317  	return s
  4318  }
  4319  
  4320  // SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
  4321  func (s *AssociateTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerArn(v string) *AssociateTransitGatewayConnectPeerInput {
  4322  	s.TransitGatewayConnectPeerArn = &v
  4323  	return s
  4324  }
  4325  
  4326  type AssociateTransitGatewayConnectPeerOutput struct {
  4327  	_ struct{} `type:"structure"`
  4328  
  4329  	// The transit gateway Connect peer association.
  4330  	TransitGatewayConnectPeerAssociation *TransitGatewayConnectPeerAssociation `type:"structure"`
  4331  }
  4332  
  4333  // String returns the string representation.
  4334  //
  4335  // API parameter values that are decorated as "sensitive" in the API will not
  4336  // be included in the string output. The member name will be present, but the
  4337  // value will be replaced with "sensitive".
  4338  func (s AssociateTransitGatewayConnectPeerOutput) String() string {
  4339  	return awsutil.Prettify(s)
  4340  }
  4341  
  4342  // GoString returns the string representation.
  4343  //
  4344  // API parameter values that are decorated as "sensitive" in the API will not
  4345  // be included in the string output. The member name will be present, but the
  4346  // value will be replaced with "sensitive".
  4347  func (s AssociateTransitGatewayConnectPeerOutput) GoString() string {
  4348  	return s.String()
  4349  }
  4350  
  4351  // SetTransitGatewayConnectPeerAssociation sets the TransitGatewayConnectPeerAssociation field's value.
  4352  func (s *AssociateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeerAssociation(v *TransitGatewayConnectPeerAssociation) *AssociateTransitGatewayConnectPeerOutput {
  4353  	s.TransitGatewayConnectPeerAssociation = v
  4354  	return s
  4355  }
  4356  
  4357  // Describes bandwidth information.
  4358  type Bandwidth struct {
  4359  	_ struct{} `type:"structure"`
  4360  
  4361  	// Download speed in Mbps.
  4362  	DownloadSpeed *int64 `type:"integer"`
  4363  
  4364  	// Upload speed in Mbps.
  4365  	UploadSpeed *int64 `type:"integer"`
  4366  }
  4367  
  4368  // String returns the string representation.
  4369  //
  4370  // API parameter values that are decorated as "sensitive" in the API will not
  4371  // be included in the string output. The member name will be present, but the
  4372  // value will be replaced with "sensitive".
  4373  func (s Bandwidth) String() string {
  4374  	return awsutil.Prettify(s)
  4375  }
  4376  
  4377  // GoString returns the string representation.
  4378  //
  4379  // API parameter values that are decorated as "sensitive" in the API will not
  4380  // be included in the string output. The member name will be present, but the
  4381  // value will be replaced with "sensitive".
  4382  func (s Bandwidth) GoString() string {
  4383  	return s.String()
  4384  }
  4385  
  4386  // SetDownloadSpeed sets the DownloadSpeed field's value.
  4387  func (s *Bandwidth) SetDownloadSpeed(v int64) *Bandwidth {
  4388  	s.DownloadSpeed = &v
  4389  	return s
  4390  }
  4391  
  4392  // SetUploadSpeed sets the UploadSpeed field's value.
  4393  func (s *Bandwidth) SetUploadSpeed(v int64) *Bandwidth {
  4394  	s.UploadSpeed = &v
  4395  	return s
  4396  }
  4397  
  4398  // There was a conflict processing the request. Updating or deleting the resource
  4399  // can cause an inconsistent state.
  4400  type ConflictException struct {
  4401  	_            struct{}                  `type:"structure"`
  4402  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4403  
  4404  	Message_ *string `locationName:"Message" type:"string"`
  4405  
  4406  	// The ID of the resource.
  4407  	//
  4408  	// ResourceId is a required field
  4409  	ResourceId *string `type:"string" required:"true"`
  4410  
  4411  	// The resource type.
  4412  	//
  4413  	// ResourceType is a required field
  4414  	ResourceType *string `type:"string" required:"true"`
  4415  }
  4416  
  4417  // String returns the string representation.
  4418  //
  4419  // API parameter values that are decorated as "sensitive" in the API will not
  4420  // be included in the string output. The member name will be present, but the
  4421  // value will be replaced with "sensitive".
  4422  func (s ConflictException) String() string {
  4423  	return awsutil.Prettify(s)
  4424  }
  4425  
  4426  // GoString returns the string representation.
  4427  //
  4428  // API parameter values that are decorated as "sensitive" in the API will not
  4429  // be included in the string output. The member name will be present, but the
  4430  // value will be replaced with "sensitive".
  4431  func (s ConflictException) GoString() string {
  4432  	return s.String()
  4433  }
  4434  
  4435  func newErrorConflictException(v protocol.ResponseMetadata) error {
  4436  	return &ConflictException{
  4437  		RespMetadata: v,
  4438  	}
  4439  }
  4440  
  4441  // Code returns the exception type name.
  4442  func (s *ConflictException) Code() string {
  4443  	return "ConflictException"
  4444  }
  4445  
  4446  // Message returns the exception's message.
  4447  func (s *ConflictException) Message() string {
  4448  	if s.Message_ != nil {
  4449  		return *s.Message_
  4450  	}
  4451  	return ""
  4452  }
  4453  
  4454  // OrigErr always returns nil, satisfies awserr.Error interface.
  4455  func (s *ConflictException) OrigErr() error {
  4456  	return nil
  4457  }
  4458  
  4459  func (s *ConflictException) Error() string {
  4460  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4461  }
  4462  
  4463  // Status code returns the HTTP status code for the request's response error.
  4464  func (s *ConflictException) StatusCode() int {
  4465  	return s.RespMetadata.StatusCode
  4466  }
  4467  
  4468  // RequestID returns the service's response RequestID for request.
  4469  func (s *ConflictException) RequestID() string {
  4470  	return s.RespMetadata.RequestID
  4471  }
  4472  
  4473  // Describes a connection.
  4474  type Connection struct {
  4475  	_ struct{} `type:"structure"`
  4476  
  4477  	// The ID of the second device in the connection.
  4478  	ConnectedDeviceId *string `type:"string"`
  4479  
  4480  	// The ID of the link for the second device in the connection.
  4481  	ConnectedLinkId *string `type:"string"`
  4482  
  4483  	// The Amazon Resource Name (ARN) of the connection.
  4484  	ConnectionArn *string `type:"string"`
  4485  
  4486  	// The ID of the connection.
  4487  	ConnectionId *string `type:"string"`
  4488  
  4489  	// The date and time that the connection was created.
  4490  	CreatedAt *time.Time `type:"timestamp"`
  4491  
  4492  	// The description of the connection.
  4493  	Description *string `type:"string"`
  4494  
  4495  	// The ID of the first device in the connection.
  4496  	DeviceId *string `type:"string"`
  4497  
  4498  	// The ID of the global network.
  4499  	GlobalNetworkId *string `type:"string"`
  4500  
  4501  	// The ID of the link for the first device in the connection.
  4502  	LinkId *string `type:"string"`
  4503  
  4504  	// The state of the connection.
  4505  	State *string `type:"string" enum:"ConnectionState"`
  4506  
  4507  	// The tags for the connection.
  4508  	Tags []*Tag `type:"list"`
  4509  }
  4510  
  4511  // String returns the string representation.
  4512  //
  4513  // API parameter values that are decorated as "sensitive" in the API will not
  4514  // be included in the string output. The member name will be present, but the
  4515  // value will be replaced with "sensitive".
  4516  func (s Connection) String() string {
  4517  	return awsutil.Prettify(s)
  4518  }
  4519  
  4520  // GoString returns the string representation.
  4521  //
  4522  // API parameter values that are decorated as "sensitive" in the API will not
  4523  // be included in the string output. The member name will be present, but the
  4524  // value will be replaced with "sensitive".
  4525  func (s Connection) GoString() string {
  4526  	return s.String()
  4527  }
  4528  
  4529  // SetConnectedDeviceId sets the ConnectedDeviceId field's value.
  4530  func (s *Connection) SetConnectedDeviceId(v string) *Connection {
  4531  	s.ConnectedDeviceId = &v
  4532  	return s
  4533  }
  4534  
  4535  // SetConnectedLinkId sets the ConnectedLinkId field's value.
  4536  func (s *Connection) SetConnectedLinkId(v string) *Connection {
  4537  	s.ConnectedLinkId = &v
  4538  	return s
  4539  }
  4540  
  4541  // SetConnectionArn sets the ConnectionArn field's value.
  4542  func (s *Connection) SetConnectionArn(v string) *Connection {
  4543  	s.ConnectionArn = &v
  4544  	return s
  4545  }
  4546  
  4547  // SetConnectionId sets the ConnectionId field's value.
  4548  func (s *Connection) SetConnectionId(v string) *Connection {
  4549  	s.ConnectionId = &v
  4550  	return s
  4551  }
  4552  
  4553  // SetCreatedAt sets the CreatedAt field's value.
  4554  func (s *Connection) SetCreatedAt(v time.Time) *Connection {
  4555  	s.CreatedAt = &v
  4556  	return s
  4557  }
  4558  
  4559  // SetDescription sets the Description field's value.
  4560  func (s *Connection) SetDescription(v string) *Connection {
  4561  	s.Description = &v
  4562  	return s
  4563  }
  4564  
  4565  // SetDeviceId sets the DeviceId field's value.
  4566  func (s *Connection) SetDeviceId(v string) *Connection {
  4567  	s.DeviceId = &v
  4568  	return s
  4569  }
  4570  
  4571  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  4572  func (s *Connection) SetGlobalNetworkId(v string) *Connection {
  4573  	s.GlobalNetworkId = &v
  4574  	return s
  4575  }
  4576  
  4577  // SetLinkId sets the LinkId field's value.
  4578  func (s *Connection) SetLinkId(v string) *Connection {
  4579  	s.LinkId = &v
  4580  	return s
  4581  }
  4582  
  4583  // SetState sets the State field's value.
  4584  func (s *Connection) SetState(v string) *Connection {
  4585  	s.State = &v
  4586  	return s
  4587  }
  4588  
  4589  // SetTags sets the Tags field's value.
  4590  func (s *Connection) SetTags(v []*Tag) *Connection {
  4591  	s.Tags = v
  4592  	return s
  4593  }
  4594  
  4595  type CreateConnectionInput struct {
  4596  	_ struct{} `type:"structure"`
  4597  
  4598  	// The ID of the second device in the connection.
  4599  	//
  4600  	// ConnectedDeviceId is a required field
  4601  	ConnectedDeviceId *string `type:"string" required:"true"`
  4602  
  4603  	// The ID of the link for the second device.
  4604  	ConnectedLinkId *string `type:"string"`
  4605  
  4606  	// A description of the connection.
  4607  	//
  4608  	// Length Constraints: Maximum length of 256 characters.
  4609  	Description *string `type:"string"`
  4610  
  4611  	// The ID of the first device in the connection.
  4612  	//
  4613  	// DeviceId is a required field
  4614  	DeviceId *string `type:"string" required:"true"`
  4615  
  4616  	// The ID of the global network.
  4617  	//
  4618  	// GlobalNetworkId is a required field
  4619  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  4620  
  4621  	// The ID of the link for the first device.
  4622  	LinkId *string `type:"string"`
  4623  
  4624  	// The tags to apply to the resource during creation.
  4625  	Tags []*Tag `type:"list"`
  4626  }
  4627  
  4628  // String returns the string representation.
  4629  //
  4630  // API parameter values that are decorated as "sensitive" in the API will not
  4631  // be included in the string output. The member name will be present, but the
  4632  // value will be replaced with "sensitive".
  4633  func (s CreateConnectionInput) String() string {
  4634  	return awsutil.Prettify(s)
  4635  }
  4636  
  4637  // GoString returns the string representation.
  4638  //
  4639  // API parameter values that are decorated as "sensitive" in the API will not
  4640  // be included in the string output. The member name will be present, but the
  4641  // value will be replaced with "sensitive".
  4642  func (s CreateConnectionInput) GoString() string {
  4643  	return s.String()
  4644  }
  4645  
  4646  // Validate inspects the fields of the type to determine if they are valid.
  4647  func (s *CreateConnectionInput) Validate() error {
  4648  	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"}
  4649  	if s.ConnectedDeviceId == nil {
  4650  		invalidParams.Add(request.NewErrParamRequired("ConnectedDeviceId"))
  4651  	}
  4652  	if s.DeviceId == nil {
  4653  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  4654  	}
  4655  	if s.GlobalNetworkId == nil {
  4656  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  4657  	}
  4658  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  4659  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  4660  	}
  4661  
  4662  	if invalidParams.Len() > 0 {
  4663  		return invalidParams
  4664  	}
  4665  	return nil
  4666  }
  4667  
  4668  // SetConnectedDeviceId sets the ConnectedDeviceId field's value.
  4669  func (s *CreateConnectionInput) SetConnectedDeviceId(v string) *CreateConnectionInput {
  4670  	s.ConnectedDeviceId = &v
  4671  	return s
  4672  }
  4673  
  4674  // SetConnectedLinkId sets the ConnectedLinkId field's value.
  4675  func (s *CreateConnectionInput) SetConnectedLinkId(v string) *CreateConnectionInput {
  4676  	s.ConnectedLinkId = &v
  4677  	return s
  4678  }
  4679  
  4680  // SetDescription sets the Description field's value.
  4681  func (s *CreateConnectionInput) SetDescription(v string) *CreateConnectionInput {
  4682  	s.Description = &v
  4683  	return s
  4684  }
  4685  
  4686  // SetDeviceId sets the DeviceId field's value.
  4687  func (s *CreateConnectionInput) SetDeviceId(v string) *CreateConnectionInput {
  4688  	s.DeviceId = &v
  4689  	return s
  4690  }
  4691  
  4692  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  4693  func (s *CreateConnectionInput) SetGlobalNetworkId(v string) *CreateConnectionInput {
  4694  	s.GlobalNetworkId = &v
  4695  	return s
  4696  }
  4697  
  4698  // SetLinkId sets the LinkId field's value.
  4699  func (s *CreateConnectionInput) SetLinkId(v string) *CreateConnectionInput {
  4700  	s.LinkId = &v
  4701  	return s
  4702  }
  4703  
  4704  // SetTags sets the Tags field's value.
  4705  func (s *CreateConnectionInput) SetTags(v []*Tag) *CreateConnectionInput {
  4706  	s.Tags = v
  4707  	return s
  4708  }
  4709  
  4710  type CreateConnectionOutput struct {
  4711  	_ struct{} `type:"structure"`
  4712  
  4713  	// Information about the connection.
  4714  	Connection *Connection `type:"structure"`
  4715  }
  4716  
  4717  // String returns the string representation.
  4718  //
  4719  // API parameter values that are decorated as "sensitive" in the API will not
  4720  // be included in the string output. The member name will be present, but the
  4721  // value will be replaced with "sensitive".
  4722  func (s CreateConnectionOutput) String() string {
  4723  	return awsutil.Prettify(s)
  4724  }
  4725  
  4726  // GoString returns the string representation.
  4727  //
  4728  // API parameter values that are decorated as "sensitive" in the API will not
  4729  // be included in the string output. The member name will be present, but the
  4730  // value will be replaced with "sensitive".
  4731  func (s CreateConnectionOutput) GoString() string {
  4732  	return s.String()
  4733  }
  4734  
  4735  // SetConnection sets the Connection field's value.
  4736  func (s *CreateConnectionOutput) SetConnection(v *Connection) *CreateConnectionOutput {
  4737  	s.Connection = v
  4738  	return s
  4739  }
  4740  
  4741  type CreateDeviceInput struct {
  4742  	_ struct{} `type:"structure"`
  4743  
  4744  	// The AWS location of the device.
  4745  	AWSLocation *AWSLocation `type:"structure"`
  4746  
  4747  	// A description of the device.
  4748  	//
  4749  	// Length Constraints: Maximum length of 256 characters.
  4750  	Description *string `type:"string"`
  4751  
  4752  	// The ID of the global network.
  4753  	//
  4754  	// GlobalNetworkId is a required field
  4755  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  4756  
  4757  	// The location of the device.
  4758  	//
  4759  	// Location is a sensitive parameter and its value will be
  4760  	// replaced with "sensitive" in string returned by CreateDeviceInput's
  4761  	// String and GoString methods.
  4762  	Location *Location `type:"structure" sensitive:"true"`
  4763  
  4764  	// The model of the device.
  4765  	//
  4766  	// Length Constraints: Maximum length of 128 characters.
  4767  	Model *string `type:"string"`
  4768  
  4769  	// The serial number of the device.
  4770  	//
  4771  	// Length Constraints: Maximum length of 128 characters.
  4772  	SerialNumber *string `type:"string"`
  4773  
  4774  	// The ID of the site.
  4775  	SiteId *string `type:"string"`
  4776  
  4777  	// The tags to apply to the resource during creation.
  4778  	Tags []*Tag `type:"list"`
  4779  
  4780  	// The type of the device.
  4781  	Type *string `type:"string"`
  4782  
  4783  	// The vendor of the device.
  4784  	//
  4785  	// Length Constraints: Maximum length of 128 characters.
  4786  	Vendor *string `type:"string"`
  4787  }
  4788  
  4789  // String returns the string representation.
  4790  //
  4791  // API parameter values that are decorated as "sensitive" in the API will not
  4792  // be included in the string output. The member name will be present, but the
  4793  // value will be replaced with "sensitive".
  4794  func (s CreateDeviceInput) String() string {
  4795  	return awsutil.Prettify(s)
  4796  }
  4797  
  4798  // GoString returns the string representation.
  4799  //
  4800  // API parameter values that are decorated as "sensitive" in the API will not
  4801  // be included in the string output. The member name will be present, but the
  4802  // value will be replaced with "sensitive".
  4803  func (s CreateDeviceInput) GoString() string {
  4804  	return s.String()
  4805  }
  4806  
  4807  // Validate inspects the fields of the type to determine if they are valid.
  4808  func (s *CreateDeviceInput) Validate() error {
  4809  	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceInput"}
  4810  	if s.GlobalNetworkId == nil {
  4811  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  4812  	}
  4813  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  4814  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  4815  	}
  4816  
  4817  	if invalidParams.Len() > 0 {
  4818  		return invalidParams
  4819  	}
  4820  	return nil
  4821  }
  4822  
  4823  // SetAWSLocation sets the AWSLocation field's value.
  4824  func (s *CreateDeviceInput) SetAWSLocation(v *AWSLocation) *CreateDeviceInput {
  4825  	s.AWSLocation = v
  4826  	return s
  4827  }
  4828  
  4829  // SetDescription sets the Description field's value.
  4830  func (s *CreateDeviceInput) SetDescription(v string) *CreateDeviceInput {
  4831  	s.Description = &v
  4832  	return s
  4833  }
  4834  
  4835  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  4836  func (s *CreateDeviceInput) SetGlobalNetworkId(v string) *CreateDeviceInput {
  4837  	s.GlobalNetworkId = &v
  4838  	return s
  4839  }
  4840  
  4841  // SetLocation sets the Location field's value.
  4842  func (s *CreateDeviceInput) SetLocation(v *Location) *CreateDeviceInput {
  4843  	s.Location = v
  4844  	return s
  4845  }
  4846  
  4847  // SetModel sets the Model field's value.
  4848  func (s *CreateDeviceInput) SetModel(v string) *CreateDeviceInput {
  4849  	s.Model = &v
  4850  	return s
  4851  }
  4852  
  4853  // SetSerialNumber sets the SerialNumber field's value.
  4854  func (s *CreateDeviceInput) SetSerialNumber(v string) *CreateDeviceInput {
  4855  	s.SerialNumber = &v
  4856  	return s
  4857  }
  4858  
  4859  // SetSiteId sets the SiteId field's value.
  4860  func (s *CreateDeviceInput) SetSiteId(v string) *CreateDeviceInput {
  4861  	s.SiteId = &v
  4862  	return s
  4863  }
  4864  
  4865  // SetTags sets the Tags field's value.
  4866  func (s *CreateDeviceInput) SetTags(v []*Tag) *CreateDeviceInput {
  4867  	s.Tags = v
  4868  	return s
  4869  }
  4870  
  4871  // SetType sets the Type field's value.
  4872  func (s *CreateDeviceInput) SetType(v string) *CreateDeviceInput {
  4873  	s.Type = &v
  4874  	return s
  4875  }
  4876  
  4877  // SetVendor sets the Vendor field's value.
  4878  func (s *CreateDeviceInput) SetVendor(v string) *CreateDeviceInput {
  4879  	s.Vendor = &v
  4880  	return s
  4881  }
  4882  
  4883  type CreateDeviceOutput struct {
  4884  	_ struct{} `type:"structure"`
  4885  
  4886  	// Information about the device.
  4887  	Device *Device `type:"structure"`
  4888  }
  4889  
  4890  // String returns the string representation.
  4891  //
  4892  // API parameter values that are decorated as "sensitive" in the API will not
  4893  // be included in the string output. The member name will be present, but the
  4894  // value will be replaced with "sensitive".
  4895  func (s CreateDeviceOutput) String() string {
  4896  	return awsutil.Prettify(s)
  4897  }
  4898  
  4899  // GoString returns the string representation.
  4900  //
  4901  // API parameter values that are decorated as "sensitive" in the API will not
  4902  // be included in the string output. The member name will be present, but the
  4903  // value will be replaced with "sensitive".
  4904  func (s CreateDeviceOutput) GoString() string {
  4905  	return s.String()
  4906  }
  4907  
  4908  // SetDevice sets the Device field's value.
  4909  func (s *CreateDeviceOutput) SetDevice(v *Device) *CreateDeviceOutput {
  4910  	s.Device = v
  4911  	return s
  4912  }
  4913  
  4914  type CreateGlobalNetworkInput struct {
  4915  	_ struct{} `type:"structure"`
  4916  
  4917  	// A description of the global network.
  4918  	//
  4919  	// Length Constraints: Maximum length of 256 characters.
  4920  	Description *string `type:"string"`
  4921  
  4922  	// The tags to apply to the resource during creation.
  4923  	Tags []*Tag `type:"list"`
  4924  }
  4925  
  4926  // String returns the string representation.
  4927  //
  4928  // API parameter values that are decorated as "sensitive" in the API will not
  4929  // be included in the string output. The member name will be present, but the
  4930  // value will be replaced with "sensitive".
  4931  func (s CreateGlobalNetworkInput) String() string {
  4932  	return awsutil.Prettify(s)
  4933  }
  4934  
  4935  // GoString returns the string representation.
  4936  //
  4937  // API parameter values that are decorated as "sensitive" in the API will not
  4938  // be included in the string output. The member name will be present, but the
  4939  // value will be replaced with "sensitive".
  4940  func (s CreateGlobalNetworkInput) GoString() string {
  4941  	return s.String()
  4942  }
  4943  
  4944  // SetDescription sets the Description field's value.
  4945  func (s *CreateGlobalNetworkInput) SetDescription(v string) *CreateGlobalNetworkInput {
  4946  	s.Description = &v
  4947  	return s
  4948  }
  4949  
  4950  // SetTags sets the Tags field's value.
  4951  func (s *CreateGlobalNetworkInput) SetTags(v []*Tag) *CreateGlobalNetworkInput {
  4952  	s.Tags = v
  4953  	return s
  4954  }
  4955  
  4956  type CreateGlobalNetworkOutput struct {
  4957  	_ struct{} `type:"structure"`
  4958  
  4959  	// Information about the global network object.
  4960  	GlobalNetwork *GlobalNetwork `type:"structure"`
  4961  }
  4962  
  4963  // String returns the string representation.
  4964  //
  4965  // API parameter values that are decorated as "sensitive" in the API will not
  4966  // be included in the string output. The member name will be present, but the
  4967  // value will be replaced with "sensitive".
  4968  func (s CreateGlobalNetworkOutput) String() string {
  4969  	return awsutil.Prettify(s)
  4970  }
  4971  
  4972  // GoString returns the string representation.
  4973  //
  4974  // API parameter values that are decorated as "sensitive" in the API will not
  4975  // be included in the string output. The member name will be present, but the
  4976  // value will be replaced with "sensitive".
  4977  func (s CreateGlobalNetworkOutput) GoString() string {
  4978  	return s.String()
  4979  }
  4980  
  4981  // SetGlobalNetwork sets the GlobalNetwork field's value.
  4982  func (s *CreateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *CreateGlobalNetworkOutput {
  4983  	s.GlobalNetwork = v
  4984  	return s
  4985  }
  4986  
  4987  type CreateLinkInput struct {
  4988  	_ struct{} `type:"structure"`
  4989  
  4990  	// The upload speed and download speed in Mbps.
  4991  	//
  4992  	// Bandwidth is a required field
  4993  	Bandwidth *Bandwidth `type:"structure" required:"true"`
  4994  
  4995  	// A description of the link.
  4996  	//
  4997  	// Length Constraints: Maximum length of 256 characters.
  4998  	Description *string `type:"string"`
  4999  
  5000  	// The ID of the global network.
  5001  	//
  5002  	// GlobalNetworkId is a required field
  5003  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5004  
  5005  	// The provider of the link.
  5006  	//
  5007  	// Constraints: Cannot include the following characters: | \ ^
  5008  	//
  5009  	// Length Constraints: Maximum length of 128 characters.
  5010  	Provider *string `type:"string"`
  5011  
  5012  	// The ID of the site.
  5013  	//
  5014  	// SiteId is a required field
  5015  	SiteId *string `type:"string" required:"true"`
  5016  
  5017  	// The tags to apply to the resource during creation.
  5018  	Tags []*Tag `type:"list"`
  5019  
  5020  	// The type of the link.
  5021  	//
  5022  	// Constraints: Cannot include the following characters: | \ ^
  5023  	//
  5024  	// Length Constraints: Maximum length of 128 characters.
  5025  	Type *string `type:"string"`
  5026  }
  5027  
  5028  // String returns the string representation.
  5029  //
  5030  // API parameter values that are decorated as "sensitive" in the API will not
  5031  // be included in the string output. The member name will be present, but the
  5032  // value will be replaced with "sensitive".
  5033  func (s CreateLinkInput) String() string {
  5034  	return awsutil.Prettify(s)
  5035  }
  5036  
  5037  // GoString returns the string representation.
  5038  //
  5039  // API parameter values that are decorated as "sensitive" in the API will not
  5040  // be included in the string output. The member name will be present, but the
  5041  // value will be replaced with "sensitive".
  5042  func (s CreateLinkInput) GoString() string {
  5043  	return s.String()
  5044  }
  5045  
  5046  // Validate inspects the fields of the type to determine if they are valid.
  5047  func (s *CreateLinkInput) Validate() error {
  5048  	invalidParams := request.ErrInvalidParams{Context: "CreateLinkInput"}
  5049  	if s.Bandwidth == nil {
  5050  		invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
  5051  	}
  5052  	if s.GlobalNetworkId == nil {
  5053  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5054  	}
  5055  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5056  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5057  	}
  5058  	if s.SiteId == nil {
  5059  		invalidParams.Add(request.NewErrParamRequired("SiteId"))
  5060  	}
  5061  
  5062  	if invalidParams.Len() > 0 {
  5063  		return invalidParams
  5064  	}
  5065  	return nil
  5066  }
  5067  
  5068  // SetBandwidth sets the Bandwidth field's value.
  5069  func (s *CreateLinkInput) SetBandwidth(v *Bandwidth) *CreateLinkInput {
  5070  	s.Bandwidth = v
  5071  	return s
  5072  }
  5073  
  5074  // SetDescription sets the Description field's value.
  5075  func (s *CreateLinkInput) SetDescription(v string) *CreateLinkInput {
  5076  	s.Description = &v
  5077  	return s
  5078  }
  5079  
  5080  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5081  func (s *CreateLinkInput) SetGlobalNetworkId(v string) *CreateLinkInput {
  5082  	s.GlobalNetworkId = &v
  5083  	return s
  5084  }
  5085  
  5086  // SetProvider sets the Provider field's value.
  5087  func (s *CreateLinkInput) SetProvider(v string) *CreateLinkInput {
  5088  	s.Provider = &v
  5089  	return s
  5090  }
  5091  
  5092  // SetSiteId sets the SiteId field's value.
  5093  func (s *CreateLinkInput) SetSiteId(v string) *CreateLinkInput {
  5094  	s.SiteId = &v
  5095  	return s
  5096  }
  5097  
  5098  // SetTags sets the Tags field's value.
  5099  func (s *CreateLinkInput) SetTags(v []*Tag) *CreateLinkInput {
  5100  	s.Tags = v
  5101  	return s
  5102  }
  5103  
  5104  // SetType sets the Type field's value.
  5105  func (s *CreateLinkInput) SetType(v string) *CreateLinkInput {
  5106  	s.Type = &v
  5107  	return s
  5108  }
  5109  
  5110  type CreateLinkOutput struct {
  5111  	_ struct{} `type:"structure"`
  5112  
  5113  	// Information about the link.
  5114  	Link *Link `type:"structure"`
  5115  }
  5116  
  5117  // String returns the string representation.
  5118  //
  5119  // API parameter values that are decorated as "sensitive" in the API will not
  5120  // be included in the string output. The member name will be present, but the
  5121  // value will be replaced with "sensitive".
  5122  func (s CreateLinkOutput) String() string {
  5123  	return awsutil.Prettify(s)
  5124  }
  5125  
  5126  // GoString returns the string representation.
  5127  //
  5128  // API parameter values that are decorated as "sensitive" in the API will not
  5129  // be included in the string output. The member name will be present, but the
  5130  // value will be replaced with "sensitive".
  5131  func (s CreateLinkOutput) GoString() string {
  5132  	return s.String()
  5133  }
  5134  
  5135  // SetLink sets the Link field's value.
  5136  func (s *CreateLinkOutput) SetLink(v *Link) *CreateLinkOutput {
  5137  	s.Link = v
  5138  	return s
  5139  }
  5140  
  5141  type CreateSiteInput struct {
  5142  	_ struct{} `type:"structure"`
  5143  
  5144  	// A description of your site.
  5145  	//
  5146  	// Length Constraints: Maximum length of 256 characters.
  5147  	Description *string `type:"string"`
  5148  
  5149  	// The ID of the global network.
  5150  	//
  5151  	// GlobalNetworkId is a required field
  5152  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5153  
  5154  	// The site location. This information is used for visualization in the Network
  5155  	// Manager console. If you specify the address, the latitude and longitude are
  5156  	// automatically calculated.
  5157  	//
  5158  	//    * Address: The physical address of the site.
  5159  	//
  5160  	//    * Latitude: The latitude of the site.
  5161  	//
  5162  	//    * Longitude: The longitude of the site.
  5163  	//
  5164  	// Location is a sensitive parameter and its value will be
  5165  	// replaced with "sensitive" in string returned by CreateSiteInput's
  5166  	// String and GoString methods.
  5167  	Location *Location `type:"structure" sensitive:"true"`
  5168  
  5169  	// The tags to apply to the resource during creation.
  5170  	Tags []*Tag `type:"list"`
  5171  }
  5172  
  5173  // String returns the string representation.
  5174  //
  5175  // API parameter values that are decorated as "sensitive" in the API will not
  5176  // be included in the string output. The member name will be present, but the
  5177  // value will be replaced with "sensitive".
  5178  func (s CreateSiteInput) String() string {
  5179  	return awsutil.Prettify(s)
  5180  }
  5181  
  5182  // GoString returns the string representation.
  5183  //
  5184  // API parameter values that are decorated as "sensitive" in the API will not
  5185  // be included in the string output. The member name will be present, but the
  5186  // value will be replaced with "sensitive".
  5187  func (s CreateSiteInput) GoString() string {
  5188  	return s.String()
  5189  }
  5190  
  5191  // Validate inspects the fields of the type to determine if they are valid.
  5192  func (s *CreateSiteInput) Validate() error {
  5193  	invalidParams := request.ErrInvalidParams{Context: "CreateSiteInput"}
  5194  	if s.GlobalNetworkId == nil {
  5195  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5196  	}
  5197  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5198  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5199  	}
  5200  
  5201  	if invalidParams.Len() > 0 {
  5202  		return invalidParams
  5203  	}
  5204  	return nil
  5205  }
  5206  
  5207  // SetDescription sets the Description field's value.
  5208  func (s *CreateSiteInput) SetDescription(v string) *CreateSiteInput {
  5209  	s.Description = &v
  5210  	return s
  5211  }
  5212  
  5213  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5214  func (s *CreateSiteInput) SetGlobalNetworkId(v string) *CreateSiteInput {
  5215  	s.GlobalNetworkId = &v
  5216  	return s
  5217  }
  5218  
  5219  // SetLocation sets the Location field's value.
  5220  func (s *CreateSiteInput) SetLocation(v *Location) *CreateSiteInput {
  5221  	s.Location = v
  5222  	return s
  5223  }
  5224  
  5225  // SetTags sets the Tags field's value.
  5226  func (s *CreateSiteInput) SetTags(v []*Tag) *CreateSiteInput {
  5227  	s.Tags = v
  5228  	return s
  5229  }
  5230  
  5231  type CreateSiteOutput struct {
  5232  	_ struct{} `type:"structure"`
  5233  
  5234  	// Information about the site.
  5235  	Site *Site `type:"structure"`
  5236  }
  5237  
  5238  // String returns the string representation.
  5239  //
  5240  // API parameter values that are decorated as "sensitive" in the API will not
  5241  // be included in the string output. The member name will be present, but the
  5242  // value will be replaced with "sensitive".
  5243  func (s CreateSiteOutput) String() string {
  5244  	return awsutil.Prettify(s)
  5245  }
  5246  
  5247  // GoString returns the string representation.
  5248  //
  5249  // API parameter values that are decorated as "sensitive" in the API will not
  5250  // be included in the string output. The member name will be present, but the
  5251  // value will be replaced with "sensitive".
  5252  func (s CreateSiteOutput) GoString() string {
  5253  	return s.String()
  5254  }
  5255  
  5256  // SetSite sets the Site field's value.
  5257  func (s *CreateSiteOutput) SetSite(v *Site) *CreateSiteOutput {
  5258  	s.Site = v
  5259  	return s
  5260  }
  5261  
  5262  // Describes the association between a customer gateway, a device, and a link.
  5263  type CustomerGatewayAssociation struct {
  5264  	_ struct{} `type:"structure"`
  5265  
  5266  	// The Amazon Resource Name (ARN) of the customer gateway.
  5267  	CustomerGatewayArn *string `type:"string"`
  5268  
  5269  	// The ID of the device.
  5270  	DeviceId *string `type:"string"`
  5271  
  5272  	// The ID of the global network.
  5273  	GlobalNetworkId *string `type:"string"`
  5274  
  5275  	// The ID of the link.
  5276  	LinkId *string `type:"string"`
  5277  
  5278  	// The association state.
  5279  	State *string `type:"string" enum:"CustomerGatewayAssociationState"`
  5280  }
  5281  
  5282  // String returns the string representation.
  5283  //
  5284  // API parameter values that are decorated as "sensitive" in the API will not
  5285  // be included in the string output. The member name will be present, but the
  5286  // value will be replaced with "sensitive".
  5287  func (s CustomerGatewayAssociation) String() string {
  5288  	return awsutil.Prettify(s)
  5289  }
  5290  
  5291  // GoString returns the string representation.
  5292  //
  5293  // API parameter values that are decorated as "sensitive" in the API will not
  5294  // be included in the string output. The member name will be present, but the
  5295  // value will be replaced with "sensitive".
  5296  func (s CustomerGatewayAssociation) GoString() string {
  5297  	return s.String()
  5298  }
  5299  
  5300  // SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
  5301  func (s *CustomerGatewayAssociation) SetCustomerGatewayArn(v string) *CustomerGatewayAssociation {
  5302  	s.CustomerGatewayArn = &v
  5303  	return s
  5304  }
  5305  
  5306  // SetDeviceId sets the DeviceId field's value.
  5307  func (s *CustomerGatewayAssociation) SetDeviceId(v string) *CustomerGatewayAssociation {
  5308  	s.DeviceId = &v
  5309  	return s
  5310  }
  5311  
  5312  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5313  func (s *CustomerGatewayAssociation) SetGlobalNetworkId(v string) *CustomerGatewayAssociation {
  5314  	s.GlobalNetworkId = &v
  5315  	return s
  5316  }
  5317  
  5318  // SetLinkId sets the LinkId field's value.
  5319  func (s *CustomerGatewayAssociation) SetLinkId(v string) *CustomerGatewayAssociation {
  5320  	s.LinkId = &v
  5321  	return s
  5322  }
  5323  
  5324  // SetState sets the State field's value.
  5325  func (s *CustomerGatewayAssociation) SetState(v string) *CustomerGatewayAssociation {
  5326  	s.State = &v
  5327  	return s
  5328  }
  5329  
  5330  type DeleteConnectionInput struct {
  5331  	_ struct{} `type:"structure" nopayload:"true"`
  5332  
  5333  	// The ID of the connection.
  5334  	//
  5335  	// ConnectionId is a required field
  5336  	ConnectionId *string `location:"uri" locationName:"connectionId" type:"string" required:"true"`
  5337  
  5338  	// The ID of the global network.
  5339  	//
  5340  	// GlobalNetworkId is a required field
  5341  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5342  }
  5343  
  5344  // String returns the string representation.
  5345  //
  5346  // API parameter values that are decorated as "sensitive" in the API will not
  5347  // be included in the string output. The member name will be present, but the
  5348  // value will be replaced with "sensitive".
  5349  func (s DeleteConnectionInput) String() string {
  5350  	return awsutil.Prettify(s)
  5351  }
  5352  
  5353  // GoString returns the string representation.
  5354  //
  5355  // API parameter values that are decorated as "sensitive" in the API will not
  5356  // be included in the string output. The member name will be present, but the
  5357  // value will be replaced with "sensitive".
  5358  func (s DeleteConnectionInput) GoString() string {
  5359  	return s.String()
  5360  }
  5361  
  5362  // Validate inspects the fields of the type to determine if they are valid.
  5363  func (s *DeleteConnectionInput) Validate() error {
  5364  	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"}
  5365  	if s.ConnectionId == nil {
  5366  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  5367  	}
  5368  	if s.ConnectionId != nil && len(*s.ConnectionId) < 1 {
  5369  		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 1))
  5370  	}
  5371  	if s.GlobalNetworkId == nil {
  5372  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5373  	}
  5374  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5375  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5376  	}
  5377  
  5378  	if invalidParams.Len() > 0 {
  5379  		return invalidParams
  5380  	}
  5381  	return nil
  5382  }
  5383  
  5384  // SetConnectionId sets the ConnectionId field's value.
  5385  func (s *DeleteConnectionInput) SetConnectionId(v string) *DeleteConnectionInput {
  5386  	s.ConnectionId = &v
  5387  	return s
  5388  }
  5389  
  5390  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5391  func (s *DeleteConnectionInput) SetGlobalNetworkId(v string) *DeleteConnectionInput {
  5392  	s.GlobalNetworkId = &v
  5393  	return s
  5394  }
  5395  
  5396  type DeleteConnectionOutput struct {
  5397  	_ struct{} `type:"structure"`
  5398  
  5399  	// Information about the connection.
  5400  	Connection *Connection `type:"structure"`
  5401  }
  5402  
  5403  // String returns the string representation.
  5404  //
  5405  // API parameter values that are decorated as "sensitive" in the API will not
  5406  // be included in the string output. The member name will be present, but the
  5407  // value will be replaced with "sensitive".
  5408  func (s DeleteConnectionOutput) String() string {
  5409  	return awsutil.Prettify(s)
  5410  }
  5411  
  5412  // GoString returns the string representation.
  5413  //
  5414  // API parameter values that are decorated as "sensitive" in the API will not
  5415  // be included in the string output. The member name will be present, but the
  5416  // value will be replaced with "sensitive".
  5417  func (s DeleteConnectionOutput) GoString() string {
  5418  	return s.String()
  5419  }
  5420  
  5421  // SetConnection sets the Connection field's value.
  5422  func (s *DeleteConnectionOutput) SetConnection(v *Connection) *DeleteConnectionOutput {
  5423  	s.Connection = v
  5424  	return s
  5425  }
  5426  
  5427  type DeleteDeviceInput struct {
  5428  	_ struct{} `type:"structure" nopayload:"true"`
  5429  
  5430  	// The ID of the device.
  5431  	//
  5432  	// DeviceId is a required field
  5433  	DeviceId *string `location:"uri" locationName:"deviceId" type:"string" required:"true"`
  5434  
  5435  	// The ID of the global network.
  5436  	//
  5437  	// GlobalNetworkId is a required field
  5438  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5439  }
  5440  
  5441  // String returns the string representation.
  5442  //
  5443  // API parameter values that are decorated as "sensitive" in the API will not
  5444  // be included in the string output. The member name will be present, but the
  5445  // value will be replaced with "sensitive".
  5446  func (s DeleteDeviceInput) String() string {
  5447  	return awsutil.Prettify(s)
  5448  }
  5449  
  5450  // GoString returns the string representation.
  5451  //
  5452  // API parameter values that are decorated as "sensitive" in the API will not
  5453  // be included in the string output. The member name will be present, but the
  5454  // value will be replaced with "sensitive".
  5455  func (s DeleteDeviceInput) GoString() string {
  5456  	return s.String()
  5457  }
  5458  
  5459  // Validate inspects the fields of the type to determine if they are valid.
  5460  func (s *DeleteDeviceInput) Validate() error {
  5461  	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceInput"}
  5462  	if s.DeviceId == nil {
  5463  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  5464  	}
  5465  	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
  5466  		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
  5467  	}
  5468  	if s.GlobalNetworkId == nil {
  5469  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5470  	}
  5471  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5472  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5473  	}
  5474  
  5475  	if invalidParams.Len() > 0 {
  5476  		return invalidParams
  5477  	}
  5478  	return nil
  5479  }
  5480  
  5481  // SetDeviceId sets the DeviceId field's value.
  5482  func (s *DeleteDeviceInput) SetDeviceId(v string) *DeleteDeviceInput {
  5483  	s.DeviceId = &v
  5484  	return s
  5485  }
  5486  
  5487  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5488  func (s *DeleteDeviceInput) SetGlobalNetworkId(v string) *DeleteDeviceInput {
  5489  	s.GlobalNetworkId = &v
  5490  	return s
  5491  }
  5492  
  5493  type DeleteDeviceOutput struct {
  5494  	_ struct{} `type:"structure"`
  5495  
  5496  	// Information about the device.
  5497  	Device *Device `type:"structure"`
  5498  }
  5499  
  5500  // String returns the string representation.
  5501  //
  5502  // API parameter values that are decorated as "sensitive" in the API will not
  5503  // be included in the string output. The member name will be present, but the
  5504  // value will be replaced with "sensitive".
  5505  func (s DeleteDeviceOutput) String() string {
  5506  	return awsutil.Prettify(s)
  5507  }
  5508  
  5509  // GoString returns the string representation.
  5510  //
  5511  // API parameter values that are decorated as "sensitive" in the API will not
  5512  // be included in the string output. The member name will be present, but the
  5513  // value will be replaced with "sensitive".
  5514  func (s DeleteDeviceOutput) GoString() string {
  5515  	return s.String()
  5516  }
  5517  
  5518  // SetDevice sets the Device field's value.
  5519  func (s *DeleteDeviceOutput) SetDevice(v *Device) *DeleteDeviceOutput {
  5520  	s.Device = v
  5521  	return s
  5522  }
  5523  
  5524  type DeleteGlobalNetworkInput struct {
  5525  	_ struct{} `type:"structure" nopayload:"true"`
  5526  
  5527  	// The ID of the global network.
  5528  	//
  5529  	// GlobalNetworkId is a required field
  5530  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5531  }
  5532  
  5533  // String returns the string representation.
  5534  //
  5535  // API parameter values that are decorated as "sensitive" in the API will not
  5536  // be included in the string output. The member name will be present, but the
  5537  // value will be replaced with "sensitive".
  5538  func (s DeleteGlobalNetworkInput) String() string {
  5539  	return awsutil.Prettify(s)
  5540  }
  5541  
  5542  // GoString returns the string representation.
  5543  //
  5544  // API parameter values that are decorated as "sensitive" in the API will not
  5545  // be included in the string output. The member name will be present, but the
  5546  // value will be replaced with "sensitive".
  5547  func (s DeleteGlobalNetworkInput) GoString() string {
  5548  	return s.String()
  5549  }
  5550  
  5551  // Validate inspects the fields of the type to determine if they are valid.
  5552  func (s *DeleteGlobalNetworkInput) Validate() error {
  5553  	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalNetworkInput"}
  5554  	if s.GlobalNetworkId == nil {
  5555  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5556  	}
  5557  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5558  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5559  	}
  5560  
  5561  	if invalidParams.Len() > 0 {
  5562  		return invalidParams
  5563  	}
  5564  	return nil
  5565  }
  5566  
  5567  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5568  func (s *DeleteGlobalNetworkInput) SetGlobalNetworkId(v string) *DeleteGlobalNetworkInput {
  5569  	s.GlobalNetworkId = &v
  5570  	return s
  5571  }
  5572  
  5573  type DeleteGlobalNetworkOutput struct {
  5574  	_ struct{} `type:"structure"`
  5575  
  5576  	// Information about the global network.
  5577  	GlobalNetwork *GlobalNetwork `type:"structure"`
  5578  }
  5579  
  5580  // String returns the string representation.
  5581  //
  5582  // API parameter values that are decorated as "sensitive" in the API will not
  5583  // be included in the string output. The member name will be present, but the
  5584  // value will be replaced with "sensitive".
  5585  func (s DeleteGlobalNetworkOutput) String() string {
  5586  	return awsutil.Prettify(s)
  5587  }
  5588  
  5589  // GoString returns the string representation.
  5590  //
  5591  // API parameter values that are decorated as "sensitive" in the API will not
  5592  // be included in the string output. The member name will be present, but the
  5593  // value will be replaced with "sensitive".
  5594  func (s DeleteGlobalNetworkOutput) GoString() string {
  5595  	return s.String()
  5596  }
  5597  
  5598  // SetGlobalNetwork sets the GlobalNetwork field's value.
  5599  func (s *DeleteGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *DeleteGlobalNetworkOutput {
  5600  	s.GlobalNetwork = v
  5601  	return s
  5602  }
  5603  
  5604  type DeleteLinkInput struct {
  5605  	_ struct{} `type:"structure" nopayload:"true"`
  5606  
  5607  	// The ID of the global network.
  5608  	//
  5609  	// GlobalNetworkId is a required field
  5610  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5611  
  5612  	// The ID of the link.
  5613  	//
  5614  	// LinkId is a required field
  5615  	LinkId *string `location:"uri" locationName:"linkId" type:"string" required:"true"`
  5616  }
  5617  
  5618  // String returns the string representation.
  5619  //
  5620  // API parameter values that are decorated as "sensitive" in the API will not
  5621  // be included in the string output. The member name will be present, but the
  5622  // value will be replaced with "sensitive".
  5623  func (s DeleteLinkInput) String() string {
  5624  	return awsutil.Prettify(s)
  5625  }
  5626  
  5627  // GoString returns the string representation.
  5628  //
  5629  // API parameter values that are decorated as "sensitive" in the API will not
  5630  // be included in the string output. The member name will be present, but the
  5631  // value will be replaced with "sensitive".
  5632  func (s DeleteLinkInput) GoString() string {
  5633  	return s.String()
  5634  }
  5635  
  5636  // Validate inspects the fields of the type to determine if they are valid.
  5637  func (s *DeleteLinkInput) Validate() error {
  5638  	invalidParams := request.ErrInvalidParams{Context: "DeleteLinkInput"}
  5639  	if s.GlobalNetworkId == nil {
  5640  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5641  	}
  5642  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5643  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5644  	}
  5645  	if s.LinkId == nil {
  5646  		invalidParams.Add(request.NewErrParamRequired("LinkId"))
  5647  	}
  5648  	if s.LinkId != nil && len(*s.LinkId) < 1 {
  5649  		invalidParams.Add(request.NewErrParamMinLen("LinkId", 1))
  5650  	}
  5651  
  5652  	if invalidParams.Len() > 0 {
  5653  		return invalidParams
  5654  	}
  5655  	return nil
  5656  }
  5657  
  5658  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5659  func (s *DeleteLinkInput) SetGlobalNetworkId(v string) *DeleteLinkInput {
  5660  	s.GlobalNetworkId = &v
  5661  	return s
  5662  }
  5663  
  5664  // SetLinkId sets the LinkId field's value.
  5665  func (s *DeleteLinkInput) SetLinkId(v string) *DeleteLinkInput {
  5666  	s.LinkId = &v
  5667  	return s
  5668  }
  5669  
  5670  type DeleteLinkOutput struct {
  5671  	_ struct{} `type:"structure"`
  5672  
  5673  	// Information about the link.
  5674  	Link *Link `type:"structure"`
  5675  }
  5676  
  5677  // String returns the string representation.
  5678  //
  5679  // API parameter values that are decorated as "sensitive" in the API will not
  5680  // be included in the string output. The member name will be present, but the
  5681  // value will be replaced with "sensitive".
  5682  func (s DeleteLinkOutput) String() string {
  5683  	return awsutil.Prettify(s)
  5684  }
  5685  
  5686  // GoString returns the string representation.
  5687  //
  5688  // API parameter values that are decorated as "sensitive" in the API will not
  5689  // be included in the string output. The member name will be present, but the
  5690  // value will be replaced with "sensitive".
  5691  func (s DeleteLinkOutput) GoString() string {
  5692  	return s.String()
  5693  }
  5694  
  5695  // SetLink sets the Link field's value.
  5696  func (s *DeleteLinkOutput) SetLink(v *Link) *DeleteLinkOutput {
  5697  	s.Link = v
  5698  	return s
  5699  }
  5700  
  5701  type DeleteSiteInput struct {
  5702  	_ struct{} `type:"structure" nopayload:"true"`
  5703  
  5704  	// The ID of the global network.
  5705  	//
  5706  	// GlobalNetworkId is a required field
  5707  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5708  
  5709  	// The ID of the site.
  5710  	//
  5711  	// SiteId is a required field
  5712  	SiteId *string `location:"uri" locationName:"siteId" type:"string" required:"true"`
  5713  }
  5714  
  5715  // String returns the string representation.
  5716  //
  5717  // API parameter values that are decorated as "sensitive" in the API will not
  5718  // be included in the string output. The member name will be present, but the
  5719  // value will be replaced with "sensitive".
  5720  func (s DeleteSiteInput) String() string {
  5721  	return awsutil.Prettify(s)
  5722  }
  5723  
  5724  // GoString returns the string representation.
  5725  //
  5726  // API parameter values that are decorated as "sensitive" in the API will not
  5727  // be included in the string output. The member name will be present, but the
  5728  // value will be replaced with "sensitive".
  5729  func (s DeleteSiteInput) GoString() string {
  5730  	return s.String()
  5731  }
  5732  
  5733  // Validate inspects the fields of the type to determine if they are valid.
  5734  func (s *DeleteSiteInput) Validate() error {
  5735  	invalidParams := request.ErrInvalidParams{Context: "DeleteSiteInput"}
  5736  	if s.GlobalNetworkId == nil {
  5737  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5738  	}
  5739  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5740  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5741  	}
  5742  	if s.SiteId == nil {
  5743  		invalidParams.Add(request.NewErrParamRequired("SiteId"))
  5744  	}
  5745  	if s.SiteId != nil && len(*s.SiteId) < 1 {
  5746  		invalidParams.Add(request.NewErrParamMinLen("SiteId", 1))
  5747  	}
  5748  
  5749  	if invalidParams.Len() > 0 {
  5750  		return invalidParams
  5751  	}
  5752  	return nil
  5753  }
  5754  
  5755  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5756  func (s *DeleteSiteInput) SetGlobalNetworkId(v string) *DeleteSiteInput {
  5757  	s.GlobalNetworkId = &v
  5758  	return s
  5759  }
  5760  
  5761  // SetSiteId sets the SiteId field's value.
  5762  func (s *DeleteSiteInput) SetSiteId(v string) *DeleteSiteInput {
  5763  	s.SiteId = &v
  5764  	return s
  5765  }
  5766  
  5767  type DeleteSiteOutput struct {
  5768  	_ struct{} `type:"structure"`
  5769  
  5770  	// Information about the site.
  5771  	Site *Site `type:"structure"`
  5772  }
  5773  
  5774  // String returns the string representation.
  5775  //
  5776  // API parameter values that are decorated as "sensitive" in the API will not
  5777  // be included in the string output. The member name will be present, but the
  5778  // value will be replaced with "sensitive".
  5779  func (s DeleteSiteOutput) String() string {
  5780  	return awsutil.Prettify(s)
  5781  }
  5782  
  5783  // GoString returns the string representation.
  5784  //
  5785  // API parameter values that are decorated as "sensitive" in the API will not
  5786  // be included in the string output. The member name will be present, but the
  5787  // value will be replaced with "sensitive".
  5788  func (s DeleteSiteOutput) GoString() string {
  5789  	return s.String()
  5790  }
  5791  
  5792  // SetSite sets the Site field's value.
  5793  func (s *DeleteSiteOutput) SetSite(v *Site) *DeleteSiteOutput {
  5794  	s.Site = v
  5795  	return s
  5796  }
  5797  
  5798  type DeregisterTransitGatewayInput struct {
  5799  	_ struct{} `type:"structure" nopayload:"true"`
  5800  
  5801  	// The ID of the global network.
  5802  	//
  5803  	// GlobalNetworkId is a required field
  5804  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  5805  
  5806  	// The Amazon Resource Name (ARN) of the transit gateway.
  5807  	//
  5808  	// TransitGatewayArn is a required field
  5809  	TransitGatewayArn *string `location:"uri" locationName:"transitGatewayArn" type:"string" required:"true"`
  5810  }
  5811  
  5812  // String returns the string representation.
  5813  //
  5814  // API parameter values that are decorated as "sensitive" in the API will not
  5815  // be included in the string output. The member name will be present, but the
  5816  // value will be replaced with "sensitive".
  5817  func (s DeregisterTransitGatewayInput) String() string {
  5818  	return awsutil.Prettify(s)
  5819  }
  5820  
  5821  // GoString returns the string representation.
  5822  //
  5823  // API parameter values that are decorated as "sensitive" in the API will not
  5824  // be included in the string output. The member name will be present, but the
  5825  // value will be replaced with "sensitive".
  5826  func (s DeregisterTransitGatewayInput) GoString() string {
  5827  	return s.String()
  5828  }
  5829  
  5830  // Validate inspects the fields of the type to determine if they are valid.
  5831  func (s *DeregisterTransitGatewayInput) Validate() error {
  5832  	invalidParams := request.ErrInvalidParams{Context: "DeregisterTransitGatewayInput"}
  5833  	if s.GlobalNetworkId == nil {
  5834  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  5835  	}
  5836  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  5837  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  5838  	}
  5839  	if s.TransitGatewayArn == nil {
  5840  		invalidParams.Add(request.NewErrParamRequired("TransitGatewayArn"))
  5841  	}
  5842  	if s.TransitGatewayArn != nil && len(*s.TransitGatewayArn) < 1 {
  5843  		invalidParams.Add(request.NewErrParamMinLen("TransitGatewayArn", 1))
  5844  	}
  5845  
  5846  	if invalidParams.Len() > 0 {
  5847  		return invalidParams
  5848  	}
  5849  	return nil
  5850  }
  5851  
  5852  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  5853  func (s *DeregisterTransitGatewayInput) SetGlobalNetworkId(v string) *DeregisterTransitGatewayInput {
  5854  	s.GlobalNetworkId = &v
  5855  	return s
  5856  }
  5857  
  5858  // SetTransitGatewayArn sets the TransitGatewayArn field's value.
  5859  func (s *DeregisterTransitGatewayInput) SetTransitGatewayArn(v string) *DeregisterTransitGatewayInput {
  5860  	s.TransitGatewayArn = &v
  5861  	return s
  5862  }
  5863  
  5864  type DeregisterTransitGatewayOutput struct {
  5865  	_ struct{} `type:"structure"`
  5866  
  5867  	// The transit gateway registration information.
  5868  	TransitGatewayRegistration *TransitGatewayRegistration `type:"structure"`
  5869  }
  5870  
  5871  // String returns the string representation.
  5872  //
  5873  // API parameter values that are decorated as "sensitive" in the API will not
  5874  // be included in the string output. The member name will be present, but the
  5875  // value will be replaced with "sensitive".
  5876  func (s DeregisterTransitGatewayOutput) String() string {
  5877  	return awsutil.Prettify(s)
  5878  }
  5879  
  5880  // GoString returns the string representation.
  5881  //
  5882  // API parameter values that are decorated as "sensitive" in the API will not
  5883  // be included in the string output. The member name will be present, but the
  5884  // value will be replaced with "sensitive".
  5885  func (s DeregisterTransitGatewayOutput) GoString() string {
  5886  	return s.String()
  5887  }
  5888  
  5889  // SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
  5890  func (s *DeregisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *DeregisterTransitGatewayOutput {
  5891  	s.TransitGatewayRegistration = v
  5892  	return s
  5893  }
  5894  
  5895  type DescribeGlobalNetworksInput struct {
  5896  	_ struct{} `type:"structure" nopayload:"true"`
  5897  
  5898  	// The IDs of one or more global networks. The maximum is 10.
  5899  	GlobalNetworkIds []*string `location:"querystring" locationName:"globalNetworkIds" type:"list"`
  5900  
  5901  	// The maximum number of results to return.
  5902  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  5903  
  5904  	// The token for the next page of results.
  5905  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  5906  }
  5907  
  5908  // String returns the string representation.
  5909  //
  5910  // API parameter values that are decorated as "sensitive" in the API will not
  5911  // be included in the string output. The member name will be present, but the
  5912  // value will be replaced with "sensitive".
  5913  func (s DescribeGlobalNetworksInput) String() string {
  5914  	return awsutil.Prettify(s)
  5915  }
  5916  
  5917  // GoString returns the string representation.
  5918  //
  5919  // API parameter values that are decorated as "sensitive" in the API will not
  5920  // be included in the string output. The member name will be present, but the
  5921  // value will be replaced with "sensitive".
  5922  func (s DescribeGlobalNetworksInput) GoString() string {
  5923  	return s.String()
  5924  }
  5925  
  5926  // Validate inspects the fields of the type to determine if they are valid.
  5927  func (s *DescribeGlobalNetworksInput) Validate() error {
  5928  	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalNetworksInput"}
  5929  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5930  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5931  	}
  5932  
  5933  	if invalidParams.Len() > 0 {
  5934  		return invalidParams
  5935  	}
  5936  	return nil
  5937  }
  5938  
  5939  // SetGlobalNetworkIds sets the GlobalNetworkIds field's value.
  5940  func (s *DescribeGlobalNetworksInput) SetGlobalNetworkIds(v []*string) *DescribeGlobalNetworksInput {
  5941  	s.GlobalNetworkIds = v
  5942  	return s
  5943  }
  5944  
  5945  // SetMaxResults sets the MaxResults field's value.
  5946  func (s *DescribeGlobalNetworksInput) SetMaxResults(v int64) *DescribeGlobalNetworksInput {
  5947  	s.MaxResults = &v
  5948  	return s
  5949  }
  5950  
  5951  // SetNextToken sets the NextToken field's value.
  5952  func (s *DescribeGlobalNetworksInput) SetNextToken(v string) *DescribeGlobalNetworksInput {
  5953  	s.NextToken = &v
  5954  	return s
  5955  }
  5956  
  5957  type DescribeGlobalNetworksOutput struct {
  5958  	_ struct{} `type:"structure"`
  5959  
  5960  	// Information about the global networks.
  5961  	GlobalNetworks []*GlobalNetwork `type:"list"`
  5962  
  5963  	// The token for the next page of results.
  5964  	NextToken *string `type:"string"`
  5965  }
  5966  
  5967  // String returns the string representation.
  5968  //
  5969  // API parameter values that are decorated as "sensitive" in the API will not
  5970  // be included in the string output. The member name will be present, but the
  5971  // value will be replaced with "sensitive".
  5972  func (s DescribeGlobalNetworksOutput) String() string {
  5973  	return awsutil.Prettify(s)
  5974  }
  5975  
  5976  // GoString returns the string representation.
  5977  //
  5978  // API parameter values that are decorated as "sensitive" in the API will not
  5979  // be included in the string output. The member name will be present, but the
  5980  // value will be replaced with "sensitive".
  5981  func (s DescribeGlobalNetworksOutput) GoString() string {
  5982  	return s.String()
  5983  }
  5984  
  5985  // SetGlobalNetworks sets the GlobalNetworks field's value.
  5986  func (s *DescribeGlobalNetworksOutput) SetGlobalNetworks(v []*GlobalNetwork) *DescribeGlobalNetworksOutput {
  5987  	s.GlobalNetworks = v
  5988  	return s
  5989  }
  5990  
  5991  // SetNextToken sets the NextToken field's value.
  5992  func (s *DescribeGlobalNetworksOutput) SetNextToken(v string) *DescribeGlobalNetworksOutput {
  5993  	s.NextToken = &v
  5994  	return s
  5995  }
  5996  
  5997  // Describes a device.
  5998  type Device struct {
  5999  	_ struct{} `type:"structure"`
  6000  
  6001  	// The AWS location of the device.
  6002  	AWSLocation *AWSLocation `type:"structure"`
  6003  
  6004  	// The date and time that the site was created.
  6005  	CreatedAt *time.Time `type:"timestamp"`
  6006  
  6007  	// The description of the device.
  6008  	Description *string `type:"string"`
  6009  
  6010  	// The Amazon Resource Name (ARN) of the device.
  6011  	DeviceArn *string `type:"string"`
  6012  
  6013  	// The ID of the device.
  6014  	DeviceId *string `type:"string"`
  6015  
  6016  	// The ID of the global network.
  6017  	GlobalNetworkId *string `type:"string"`
  6018  
  6019  	// The site location.
  6020  	//
  6021  	// Location is a sensitive parameter and its value will be
  6022  	// replaced with "sensitive" in string returned by Device's
  6023  	// String and GoString methods.
  6024  	Location *Location `type:"structure" sensitive:"true"`
  6025  
  6026  	// The device model.
  6027  	Model *string `type:"string"`
  6028  
  6029  	// The device serial number.
  6030  	SerialNumber *string `type:"string"`
  6031  
  6032  	// The site ID.
  6033  	SiteId *string `type:"string"`
  6034  
  6035  	// The device state.
  6036  	State *string `type:"string" enum:"DeviceState"`
  6037  
  6038  	// The tags for the device.
  6039  	Tags []*Tag `type:"list"`
  6040  
  6041  	// The device type.
  6042  	Type *string `type:"string"`
  6043  
  6044  	// The device vendor.
  6045  	Vendor *string `type:"string"`
  6046  }
  6047  
  6048  // String returns the string representation.
  6049  //
  6050  // API parameter values that are decorated as "sensitive" in the API will not
  6051  // be included in the string output. The member name will be present, but the
  6052  // value will be replaced with "sensitive".
  6053  func (s Device) String() string {
  6054  	return awsutil.Prettify(s)
  6055  }
  6056  
  6057  // GoString returns the string representation.
  6058  //
  6059  // API parameter values that are decorated as "sensitive" in the API will not
  6060  // be included in the string output. The member name will be present, but the
  6061  // value will be replaced with "sensitive".
  6062  func (s Device) GoString() string {
  6063  	return s.String()
  6064  }
  6065  
  6066  // SetAWSLocation sets the AWSLocation field's value.
  6067  func (s *Device) SetAWSLocation(v *AWSLocation) *Device {
  6068  	s.AWSLocation = v
  6069  	return s
  6070  }
  6071  
  6072  // SetCreatedAt sets the CreatedAt field's value.
  6073  func (s *Device) SetCreatedAt(v time.Time) *Device {
  6074  	s.CreatedAt = &v
  6075  	return s
  6076  }
  6077  
  6078  // SetDescription sets the Description field's value.
  6079  func (s *Device) SetDescription(v string) *Device {
  6080  	s.Description = &v
  6081  	return s
  6082  }
  6083  
  6084  // SetDeviceArn sets the DeviceArn field's value.
  6085  func (s *Device) SetDeviceArn(v string) *Device {
  6086  	s.DeviceArn = &v
  6087  	return s
  6088  }
  6089  
  6090  // SetDeviceId sets the DeviceId field's value.
  6091  func (s *Device) SetDeviceId(v string) *Device {
  6092  	s.DeviceId = &v
  6093  	return s
  6094  }
  6095  
  6096  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6097  func (s *Device) SetGlobalNetworkId(v string) *Device {
  6098  	s.GlobalNetworkId = &v
  6099  	return s
  6100  }
  6101  
  6102  // SetLocation sets the Location field's value.
  6103  func (s *Device) SetLocation(v *Location) *Device {
  6104  	s.Location = v
  6105  	return s
  6106  }
  6107  
  6108  // SetModel sets the Model field's value.
  6109  func (s *Device) SetModel(v string) *Device {
  6110  	s.Model = &v
  6111  	return s
  6112  }
  6113  
  6114  // SetSerialNumber sets the SerialNumber field's value.
  6115  func (s *Device) SetSerialNumber(v string) *Device {
  6116  	s.SerialNumber = &v
  6117  	return s
  6118  }
  6119  
  6120  // SetSiteId sets the SiteId field's value.
  6121  func (s *Device) SetSiteId(v string) *Device {
  6122  	s.SiteId = &v
  6123  	return s
  6124  }
  6125  
  6126  // SetState sets the State field's value.
  6127  func (s *Device) SetState(v string) *Device {
  6128  	s.State = &v
  6129  	return s
  6130  }
  6131  
  6132  // SetTags sets the Tags field's value.
  6133  func (s *Device) SetTags(v []*Tag) *Device {
  6134  	s.Tags = v
  6135  	return s
  6136  }
  6137  
  6138  // SetType sets the Type field's value.
  6139  func (s *Device) SetType(v string) *Device {
  6140  	s.Type = &v
  6141  	return s
  6142  }
  6143  
  6144  // SetVendor sets the Vendor field's value.
  6145  func (s *Device) SetVendor(v string) *Device {
  6146  	s.Vendor = &v
  6147  	return s
  6148  }
  6149  
  6150  type DisassociateCustomerGatewayInput struct {
  6151  	_ struct{} `type:"structure" nopayload:"true"`
  6152  
  6153  	// The Amazon Resource Name (ARN) of the customer gateway. For more information,
  6154  	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
  6155  	//
  6156  	// CustomerGatewayArn is a required field
  6157  	CustomerGatewayArn *string `location:"uri" locationName:"customerGatewayArn" type:"string" required:"true"`
  6158  
  6159  	// The ID of the global network.
  6160  	//
  6161  	// GlobalNetworkId is a required field
  6162  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6163  }
  6164  
  6165  // String returns the string representation.
  6166  //
  6167  // API parameter values that are decorated as "sensitive" in the API will not
  6168  // be included in the string output. The member name will be present, but the
  6169  // value will be replaced with "sensitive".
  6170  func (s DisassociateCustomerGatewayInput) String() string {
  6171  	return awsutil.Prettify(s)
  6172  }
  6173  
  6174  // GoString returns the string representation.
  6175  //
  6176  // API parameter values that are decorated as "sensitive" in the API will not
  6177  // be included in the string output. The member name will be present, but the
  6178  // value will be replaced with "sensitive".
  6179  func (s DisassociateCustomerGatewayInput) GoString() string {
  6180  	return s.String()
  6181  }
  6182  
  6183  // Validate inspects the fields of the type to determine if they are valid.
  6184  func (s *DisassociateCustomerGatewayInput) Validate() error {
  6185  	invalidParams := request.ErrInvalidParams{Context: "DisassociateCustomerGatewayInput"}
  6186  	if s.CustomerGatewayArn == nil {
  6187  		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayArn"))
  6188  	}
  6189  	if s.CustomerGatewayArn != nil && len(*s.CustomerGatewayArn) < 1 {
  6190  		invalidParams.Add(request.NewErrParamMinLen("CustomerGatewayArn", 1))
  6191  	}
  6192  	if s.GlobalNetworkId == nil {
  6193  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  6194  	}
  6195  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  6196  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  6197  	}
  6198  
  6199  	if invalidParams.Len() > 0 {
  6200  		return invalidParams
  6201  	}
  6202  	return nil
  6203  }
  6204  
  6205  // SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
  6206  func (s *DisassociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *DisassociateCustomerGatewayInput {
  6207  	s.CustomerGatewayArn = &v
  6208  	return s
  6209  }
  6210  
  6211  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6212  func (s *DisassociateCustomerGatewayInput) SetGlobalNetworkId(v string) *DisassociateCustomerGatewayInput {
  6213  	s.GlobalNetworkId = &v
  6214  	return s
  6215  }
  6216  
  6217  type DisassociateCustomerGatewayOutput struct {
  6218  	_ struct{} `type:"structure"`
  6219  
  6220  	// Information about the customer gateway association.
  6221  	CustomerGatewayAssociation *CustomerGatewayAssociation `type:"structure"`
  6222  }
  6223  
  6224  // String returns the string representation.
  6225  //
  6226  // API parameter values that are decorated as "sensitive" in the API will not
  6227  // be included in the string output. The member name will be present, but the
  6228  // value will be replaced with "sensitive".
  6229  func (s DisassociateCustomerGatewayOutput) String() string {
  6230  	return awsutil.Prettify(s)
  6231  }
  6232  
  6233  // GoString returns the string representation.
  6234  //
  6235  // API parameter values that are decorated as "sensitive" in the API will not
  6236  // be included in the string output. The member name will be present, but the
  6237  // value will be replaced with "sensitive".
  6238  func (s DisassociateCustomerGatewayOutput) GoString() string {
  6239  	return s.String()
  6240  }
  6241  
  6242  // SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
  6243  func (s *DisassociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *DisassociateCustomerGatewayOutput {
  6244  	s.CustomerGatewayAssociation = v
  6245  	return s
  6246  }
  6247  
  6248  type DisassociateLinkInput struct {
  6249  	_ struct{} `type:"structure" nopayload:"true"`
  6250  
  6251  	// The ID of the device.
  6252  	//
  6253  	// DeviceId is a required field
  6254  	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string" required:"true"`
  6255  
  6256  	// The ID of the global network.
  6257  	//
  6258  	// GlobalNetworkId is a required field
  6259  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6260  
  6261  	// The ID of the link.
  6262  	//
  6263  	// LinkId is a required field
  6264  	LinkId *string `location:"querystring" locationName:"linkId" type:"string" required:"true"`
  6265  }
  6266  
  6267  // String returns the string representation.
  6268  //
  6269  // API parameter values that are decorated as "sensitive" in the API will not
  6270  // be included in the string output. The member name will be present, but the
  6271  // value will be replaced with "sensitive".
  6272  func (s DisassociateLinkInput) String() string {
  6273  	return awsutil.Prettify(s)
  6274  }
  6275  
  6276  // GoString returns the string representation.
  6277  //
  6278  // API parameter values that are decorated as "sensitive" in the API will not
  6279  // be included in the string output. The member name will be present, but the
  6280  // value will be replaced with "sensitive".
  6281  func (s DisassociateLinkInput) GoString() string {
  6282  	return s.String()
  6283  }
  6284  
  6285  // Validate inspects the fields of the type to determine if they are valid.
  6286  func (s *DisassociateLinkInput) Validate() error {
  6287  	invalidParams := request.ErrInvalidParams{Context: "DisassociateLinkInput"}
  6288  	if s.DeviceId == nil {
  6289  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  6290  	}
  6291  	if s.GlobalNetworkId == nil {
  6292  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  6293  	}
  6294  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  6295  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  6296  	}
  6297  	if s.LinkId == nil {
  6298  		invalidParams.Add(request.NewErrParamRequired("LinkId"))
  6299  	}
  6300  
  6301  	if invalidParams.Len() > 0 {
  6302  		return invalidParams
  6303  	}
  6304  	return nil
  6305  }
  6306  
  6307  // SetDeviceId sets the DeviceId field's value.
  6308  func (s *DisassociateLinkInput) SetDeviceId(v string) *DisassociateLinkInput {
  6309  	s.DeviceId = &v
  6310  	return s
  6311  }
  6312  
  6313  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6314  func (s *DisassociateLinkInput) SetGlobalNetworkId(v string) *DisassociateLinkInput {
  6315  	s.GlobalNetworkId = &v
  6316  	return s
  6317  }
  6318  
  6319  // SetLinkId sets the LinkId field's value.
  6320  func (s *DisassociateLinkInput) SetLinkId(v string) *DisassociateLinkInput {
  6321  	s.LinkId = &v
  6322  	return s
  6323  }
  6324  
  6325  type DisassociateLinkOutput struct {
  6326  	_ struct{} `type:"structure"`
  6327  
  6328  	// Information about the link association.
  6329  	LinkAssociation *LinkAssociation `type:"structure"`
  6330  }
  6331  
  6332  // String 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 DisassociateLinkOutput) String() string {
  6338  	return awsutil.Prettify(s)
  6339  }
  6340  
  6341  // GoString returns the string representation.
  6342  //
  6343  // API parameter values that are decorated as "sensitive" in the API will not
  6344  // be included in the string output. The member name will be present, but the
  6345  // value will be replaced with "sensitive".
  6346  func (s DisassociateLinkOutput) GoString() string {
  6347  	return s.String()
  6348  }
  6349  
  6350  // SetLinkAssociation sets the LinkAssociation field's value.
  6351  func (s *DisassociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *DisassociateLinkOutput {
  6352  	s.LinkAssociation = v
  6353  	return s
  6354  }
  6355  
  6356  type DisassociateTransitGatewayConnectPeerInput struct {
  6357  	_ struct{} `type:"structure" nopayload:"true"`
  6358  
  6359  	// The ID of the global network.
  6360  	//
  6361  	// GlobalNetworkId is a required field
  6362  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6363  
  6364  	// The Amazon Resource Name (ARN) of the transit gateway Connect peer.
  6365  	//
  6366  	// TransitGatewayConnectPeerArn is a required field
  6367  	TransitGatewayConnectPeerArn *string `location:"uri" locationName:"transitGatewayConnectPeerArn" type:"string" required:"true"`
  6368  }
  6369  
  6370  // String returns the string representation.
  6371  //
  6372  // API parameter values that are decorated as "sensitive" in the API will not
  6373  // be included in the string output. The member name will be present, but the
  6374  // value will be replaced with "sensitive".
  6375  func (s DisassociateTransitGatewayConnectPeerInput) String() string {
  6376  	return awsutil.Prettify(s)
  6377  }
  6378  
  6379  // GoString returns the string representation.
  6380  //
  6381  // API parameter values that are decorated as "sensitive" in the API will not
  6382  // be included in the string output. The member name will be present, but the
  6383  // value will be replaced with "sensitive".
  6384  func (s DisassociateTransitGatewayConnectPeerInput) GoString() string {
  6385  	return s.String()
  6386  }
  6387  
  6388  // Validate inspects the fields of the type to determine if they are valid.
  6389  func (s *DisassociateTransitGatewayConnectPeerInput) Validate() error {
  6390  	invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayConnectPeerInput"}
  6391  	if s.GlobalNetworkId == nil {
  6392  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  6393  	}
  6394  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  6395  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  6396  	}
  6397  	if s.TransitGatewayConnectPeerArn == nil {
  6398  		invalidParams.Add(request.NewErrParamRequired("TransitGatewayConnectPeerArn"))
  6399  	}
  6400  	if s.TransitGatewayConnectPeerArn != nil && len(*s.TransitGatewayConnectPeerArn) < 1 {
  6401  		invalidParams.Add(request.NewErrParamMinLen("TransitGatewayConnectPeerArn", 1))
  6402  	}
  6403  
  6404  	if invalidParams.Len() > 0 {
  6405  		return invalidParams
  6406  	}
  6407  	return nil
  6408  }
  6409  
  6410  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6411  func (s *DisassociateTransitGatewayConnectPeerInput) SetGlobalNetworkId(v string) *DisassociateTransitGatewayConnectPeerInput {
  6412  	s.GlobalNetworkId = &v
  6413  	return s
  6414  }
  6415  
  6416  // SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
  6417  func (s *DisassociateTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerArn(v string) *DisassociateTransitGatewayConnectPeerInput {
  6418  	s.TransitGatewayConnectPeerArn = &v
  6419  	return s
  6420  }
  6421  
  6422  type DisassociateTransitGatewayConnectPeerOutput struct {
  6423  	_ struct{} `type:"structure"`
  6424  
  6425  	// The transit gateway Connect peer association.
  6426  	TransitGatewayConnectPeerAssociation *TransitGatewayConnectPeerAssociation `type:"structure"`
  6427  }
  6428  
  6429  // String returns the string representation.
  6430  //
  6431  // API parameter values that are decorated as "sensitive" in the API will not
  6432  // be included in the string output. The member name will be present, but the
  6433  // value will be replaced with "sensitive".
  6434  func (s DisassociateTransitGatewayConnectPeerOutput) String() string {
  6435  	return awsutil.Prettify(s)
  6436  }
  6437  
  6438  // GoString returns the string representation.
  6439  //
  6440  // API parameter values that are decorated as "sensitive" in the API will not
  6441  // be included in the string output. The member name will be present, but the
  6442  // value will be replaced with "sensitive".
  6443  func (s DisassociateTransitGatewayConnectPeerOutput) GoString() string {
  6444  	return s.String()
  6445  }
  6446  
  6447  // SetTransitGatewayConnectPeerAssociation sets the TransitGatewayConnectPeerAssociation field's value.
  6448  func (s *DisassociateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeerAssociation(v *TransitGatewayConnectPeerAssociation) *DisassociateTransitGatewayConnectPeerOutput {
  6449  	s.TransitGatewayConnectPeerAssociation = v
  6450  	return s
  6451  }
  6452  
  6453  type GetConnectionsInput struct {
  6454  	_ struct{} `type:"structure" nopayload:"true"`
  6455  
  6456  	// One or more connection IDs.
  6457  	ConnectionIds []*string `location:"querystring" locationName:"connectionIds" type:"list"`
  6458  
  6459  	// The ID of the device.
  6460  	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string"`
  6461  
  6462  	// The ID of the global network.
  6463  	//
  6464  	// GlobalNetworkId is a required field
  6465  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6466  
  6467  	// The maximum number of results to return.
  6468  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6469  
  6470  	// The token for the next page of results.
  6471  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6472  }
  6473  
  6474  // String returns the string representation.
  6475  //
  6476  // API parameter values that are decorated as "sensitive" in the API will not
  6477  // be included in the string output. The member name will be present, but the
  6478  // value will be replaced with "sensitive".
  6479  func (s GetConnectionsInput) String() string {
  6480  	return awsutil.Prettify(s)
  6481  }
  6482  
  6483  // GoString returns the string representation.
  6484  //
  6485  // API parameter values that are decorated as "sensitive" in the API will not
  6486  // be included in the string output. The member name will be present, but the
  6487  // value will be replaced with "sensitive".
  6488  func (s GetConnectionsInput) GoString() string {
  6489  	return s.String()
  6490  }
  6491  
  6492  // Validate inspects the fields of the type to determine if they are valid.
  6493  func (s *GetConnectionsInput) Validate() error {
  6494  	invalidParams := request.ErrInvalidParams{Context: "GetConnectionsInput"}
  6495  	if s.GlobalNetworkId == nil {
  6496  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  6497  	}
  6498  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  6499  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  6500  	}
  6501  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6502  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6503  	}
  6504  
  6505  	if invalidParams.Len() > 0 {
  6506  		return invalidParams
  6507  	}
  6508  	return nil
  6509  }
  6510  
  6511  // SetConnectionIds sets the ConnectionIds field's value.
  6512  func (s *GetConnectionsInput) SetConnectionIds(v []*string) *GetConnectionsInput {
  6513  	s.ConnectionIds = v
  6514  	return s
  6515  }
  6516  
  6517  // SetDeviceId sets the DeviceId field's value.
  6518  func (s *GetConnectionsInput) SetDeviceId(v string) *GetConnectionsInput {
  6519  	s.DeviceId = &v
  6520  	return s
  6521  }
  6522  
  6523  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6524  func (s *GetConnectionsInput) SetGlobalNetworkId(v string) *GetConnectionsInput {
  6525  	s.GlobalNetworkId = &v
  6526  	return s
  6527  }
  6528  
  6529  // SetMaxResults sets the MaxResults field's value.
  6530  func (s *GetConnectionsInput) SetMaxResults(v int64) *GetConnectionsInput {
  6531  	s.MaxResults = &v
  6532  	return s
  6533  }
  6534  
  6535  // SetNextToken sets the NextToken field's value.
  6536  func (s *GetConnectionsInput) SetNextToken(v string) *GetConnectionsInput {
  6537  	s.NextToken = &v
  6538  	return s
  6539  }
  6540  
  6541  type GetConnectionsOutput struct {
  6542  	_ struct{} `type:"structure"`
  6543  
  6544  	// Information about the connections.
  6545  	Connections []*Connection `type:"list"`
  6546  
  6547  	// The token to use for the next page of results.
  6548  	NextToken *string `type:"string"`
  6549  }
  6550  
  6551  // String returns the string representation.
  6552  //
  6553  // API parameter values that are decorated as "sensitive" in the API will not
  6554  // be included in the string output. The member name will be present, but the
  6555  // value will be replaced with "sensitive".
  6556  func (s GetConnectionsOutput) String() string {
  6557  	return awsutil.Prettify(s)
  6558  }
  6559  
  6560  // GoString returns the string representation.
  6561  //
  6562  // API parameter values that are decorated as "sensitive" in the API will not
  6563  // be included in the string output. The member name will be present, but the
  6564  // value will be replaced with "sensitive".
  6565  func (s GetConnectionsOutput) GoString() string {
  6566  	return s.String()
  6567  }
  6568  
  6569  // SetConnections sets the Connections field's value.
  6570  func (s *GetConnectionsOutput) SetConnections(v []*Connection) *GetConnectionsOutput {
  6571  	s.Connections = v
  6572  	return s
  6573  }
  6574  
  6575  // SetNextToken sets the NextToken field's value.
  6576  func (s *GetConnectionsOutput) SetNextToken(v string) *GetConnectionsOutput {
  6577  	s.NextToken = &v
  6578  	return s
  6579  }
  6580  
  6581  type GetCustomerGatewayAssociationsInput struct {
  6582  	_ struct{} `type:"structure" nopayload:"true"`
  6583  
  6584  	// One or more customer gateway Amazon Resource Names (ARNs). For more information,
  6585  	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
  6586  	// The maximum is 10.
  6587  	CustomerGatewayArns []*string `location:"querystring" locationName:"customerGatewayArns" type:"list"`
  6588  
  6589  	// The ID of the global network.
  6590  	//
  6591  	// GlobalNetworkId is a required field
  6592  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6593  
  6594  	// The maximum number of results to return.
  6595  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6596  
  6597  	// The token for the next page of results.
  6598  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6599  }
  6600  
  6601  // String returns the string representation.
  6602  //
  6603  // API parameter values that are decorated as "sensitive" in the API will not
  6604  // be included in the string output. The member name will be present, but the
  6605  // value will be replaced with "sensitive".
  6606  func (s GetCustomerGatewayAssociationsInput) String() string {
  6607  	return awsutil.Prettify(s)
  6608  }
  6609  
  6610  // GoString returns the string representation.
  6611  //
  6612  // API parameter values that are decorated as "sensitive" in the API will not
  6613  // be included in the string output. The member name will be present, but the
  6614  // value will be replaced with "sensitive".
  6615  func (s GetCustomerGatewayAssociationsInput) GoString() string {
  6616  	return s.String()
  6617  }
  6618  
  6619  // Validate inspects the fields of the type to determine if they are valid.
  6620  func (s *GetCustomerGatewayAssociationsInput) Validate() error {
  6621  	invalidParams := request.ErrInvalidParams{Context: "GetCustomerGatewayAssociationsInput"}
  6622  	if s.GlobalNetworkId == nil {
  6623  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  6624  	}
  6625  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  6626  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  6627  	}
  6628  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6629  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6630  	}
  6631  
  6632  	if invalidParams.Len() > 0 {
  6633  		return invalidParams
  6634  	}
  6635  	return nil
  6636  }
  6637  
  6638  // SetCustomerGatewayArns sets the CustomerGatewayArns field's value.
  6639  func (s *GetCustomerGatewayAssociationsInput) SetCustomerGatewayArns(v []*string) *GetCustomerGatewayAssociationsInput {
  6640  	s.CustomerGatewayArns = v
  6641  	return s
  6642  }
  6643  
  6644  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6645  func (s *GetCustomerGatewayAssociationsInput) SetGlobalNetworkId(v string) *GetCustomerGatewayAssociationsInput {
  6646  	s.GlobalNetworkId = &v
  6647  	return s
  6648  }
  6649  
  6650  // SetMaxResults sets the MaxResults field's value.
  6651  func (s *GetCustomerGatewayAssociationsInput) SetMaxResults(v int64) *GetCustomerGatewayAssociationsInput {
  6652  	s.MaxResults = &v
  6653  	return s
  6654  }
  6655  
  6656  // SetNextToken sets the NextToken field's value.
  6657  func (s *GetCustomerGatewayAssociationsInput) SetNextToken(v string) *GetCustomerGatewayAssociationsInput {
  6658  	s.NextToken = &v
  6659  	return s
  6660  }
  6661  
  6662  type GetCustomerGatewayAssociationsOutput struct {
  6663  	_ struct{} `type:"structure"`
  6664  
  6665  	// The customer gateway associations.
  6666  	CustomerGatewayAssociations []*CustomerGatewayAssociation `type:"list"`
  6667  
  6668  	// The token for the next page of results.
  6669  	NextToken *string `type:"string"`
  6670  }
  6671  
  6672  // String returns the string representation.
  6673  //
  6674  // API parameter values that are decorated as "sensitive" in the API will not
  6675  // be included in the string output. The member name will be present, but the
  6676  // value will be replaced with "sensitive".
  6677  func (s GetCustomerGatewayAssociationsOutput) String() string {
  6678  	return awsutil.Prettify(s)
  6679  }
  6680  
  6681  // GoString returns the string representation.
  6682  //
  6683  // API parameter values that are decorated as "sensitive" in the API will not
  6684  // be included in the string output. The member name will be present, but the
  6685  // value will be replaced with "sensitive".
  6686  func (s GetCustomerGatewayAssociationsOutput) GoString() string {
  6687  	return s.String()
  6688  }
  6689  
  6690  // SetCustomerGatewayAssociations sets the CustomerGatewayAssociations field's value.
  6691  func (s *GetCustomerGatewayAssociationsOutput) SetCustomerGatewayAssociations(v []*CustomerGatewayAssociation) *GetCustomerGatewayAssociationsOutput {
  6692  	s.CustomerGatewayAssociations = v
  6693  	return s
  6694  }
  6695  
  6696  // SetNextToken sets the NextToken field's value.
  6697  func (s *GetCustomerGatewayAssociationsOutput) SetNextToken(v string) *GetCustomerGatewayAssociationsOutput {
  6698  	s.NextToken = &v
  6699  	return s
  6700  }
  6701  
  6702  type GetDevicesInput struct {
  6703  	_ struct{} `type:"structure" nopayload:"true"`
  6704  
  6705  	// One or more device IDs. The maximum is 10.
  6706  	DeviceIds []*string `location:"querystring" locationName:"deviceIds" type:"list"`
  6707  
  6708  	// The ID of the global network.
  6709  	//
  6710  	// GlobalNetworkId is a required field
  6711  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6712  
  6713  	// The maximum number of results to return.
  6714  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6715  
  6716  	// The token for the next page of results.
  6717  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6718  
  6719  	// The ID of the site.
  6720  	SiteId *string `location:"querystring" locationName:"siteId" type:"string"`
  6721  }
  6722  
  6723  // String returns the string representation.
  6724  //
  6725  // API parameter values that are decorated as "sensitive" in the API will not
  6726  // be included in the string output. The member name will be present, but the
  6727  // value will be replaced with "sensitive".
  6728  func (s GetDevicesInput) String() string {
  6729  	return awsutil.Prettify(s)
  6730  }
  6731  
  6732  // GoString returns the string representation.
  6733  //
  6734  // API parameter values that are decorated as "sensitive" in the API will not
  6735  // be included in the string output. The member name will be present, but the
  6736  // value will be replaced with "sensitive".
  6737  func (s GetDevicesInput) GoString() string {
  6738  	return s.String()
  6739  }
  6740  
  6741  // Validate inspects the fields of the type to determine if they are valid.
  6742  func (s *GetDevicesInput) Validate() error {
  6743  	invalidParams := request.ErrInvalidParams{Context: "GetDevicesInput"}
  6744  	if s.GlobalNetworkId == nil {
  6745  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  6746  	}
  6747  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  6748  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  6749  	}
  6750  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6751  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6752  	}
  6753  
  6754  	if invalidParams.Len() > 0 {
  6755  		return invalidParams
  6756  	}
  6757  	return nil
  6758  }
  6759  
  6760  // SetDeviceIds sets the DeviceIds field's value.
  6761  func (s *GetDevicesInput) SetDeviceIds(v []*string) *GetDevicesInput {
  6762  	s.DeviceIds = v
  6763  	return s
  6764  }
  6765  
  6766  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6767  func (s *GetDevicesInput) SetGlobalNetworkId(v string) *GetDevicesInput {
  6768  	s.GlobalNetworkId = &v
  6769  	return s
  6770  }
  6771  
  6772  // SetMaxResults sets the MaxResults field's value.
  6773  func (s *GetDevicesInput) SetMaxResults(v int64) *GetDevicesInput {
  6774  	s.MaxResults = &v
  6775  	return s
  6776  }
  6777  
  6778  // SetNextToken sets the NextToken field's value.
  6779  func (s *GetDevicesInput) SetNextToken(v string) *GetDevicesInput {
  6780  	s.NextToken = &v
  6781  	return s
  6782  }
  6783  
  6784  // SetSiteId sets the SiteId field's value.
  6785  func (s *GetDevicesInput) SetSiteId(v string) *GetDevicesInput {
  6786  	s.SiteId = &v
  6787  	return s
  6788  }
  6789  
  6790  type GetDevicesOutput struct {
  6791  	_ struct{} `type:"structure"`
  6792  
  6793  	// The devices.
  6794  	Devices []*Device `type:"list"`
  6795  
  6796  	// The token for the next page of results.
  6797  	NextToken *string `type:"string"`
  6798  }
  6799  
  6800  // String returns the string representation.
  6801  //
  6802  // API parameter values that are decorated as "sensitive" in the API will not
  6803  // be included in the string output. The member name will be present, but the
  6804  // value will be replaced with "sensitive".
  6805  func (s GetDevicesOutput) String() string {
  6806  	return awsutil.Prettify(s)
  6807  }
  6808  
  6809  // GoString returns the string representation.
  6810  //
  6811  // API parameter values that are decorated as "sensitive" in the API will not
  6812  // be included in the string output. The member name will be present, but the
  6813  // value will be replaced with "sensitive".
  6814  func (s GetDevicesOutput) GoString() string {
  6815  	return s.String()
  6816  }
  6817  
  6818  // SetDevices sets the Devices field's value.
  6819  func (s *GetDevicesOutput) SetDevices(v []*Device) *GetDevicesOutput {
  6820  	s.Devices = v
  6821  	return s
  6822  }
  6823  
  6824  // SetNextToken sets the NextToken field's value.
  6825  func (s *GetDevicesOutput) SetNextToken(v string) *GetDevicesOutput {
  6826  	s.NextToken = &v
  6827  	return s
  6828  }
  6829  
  6830  type GetLinkAssociationsInput struct {
  6831  	_ struct{} `type:"structure" nopayload:"true"`
  6832  
  6833  	// The ID of the device.
  6834  	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string"`
  6835  
  6836  	// The ID of the global network.
  6837  	//
  6838  	// GlobalNetworkId is a required field
  6839  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6840  
  6841  	// The ID of the link.
  6842  	LinkId *string `location:"querystring" locationName:"linkId" type:"string"`
  6843  
  6844  	// The maximum number of results to return.
  6845  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6846  
  6847  	// The token for the next page of results.
  6848  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6849  }
  6850  
  6851  // String returns the string representation.
  6852  //
  6853  // API parameter values that are decorated as "sensitive" in the API will not
  6854  // be included in the string output. The member name will be present, but the
  6855  // value will be replaced with "sensitive".
  6856  func (s GetLinkAssociationsInput) String() string {
  6857  	return awsutil.Prettify(s)
  6858  }
  6859  
  6860  // GoString returns the string representation.
  6861  //
  6862  // API parameter values that are decorated as "sensitive" in the API will not
  6863  // be included in the string output. The member name will be present, but the
  6864  // value will be replaced with "sensitive".
  6865  func (s GetLinkAssociationsInput) GoString() string {
  6866  	return s.String()
  6867  }
  6868  
  6869  // Validate inspects the fields of the type to determine if they are valid.
  6870  func (s *GetLinkAssociationsInput) Validate() error {
  6871  	invalidParams := request.ErrInvalidParams{Context: "GetLinkAssociationsInput"}
  6872  	if s.GlobalNetworkId == nil {
  6873  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  6874  	}
  6875  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  6876  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  6877  	}
  6878  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6879  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6880  	}
  6881  
  6882  	if invalidParams.Len() > 0 {
  6883  		return invalidParams
  6884  	}
  6885  	return nil
  6886  }
  6887  
  6888  // SetDeviceId sets the DeviceId field's value.
  6889  func (s *GetLinkAssociationsInput) SetDeviceId(v string) *GetLinkAssociationsInput {
  6890  	s.DeviceId = &v
  6891  	return s
  6892  }
  6893  
  6894  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  6895  func (s *GetLinkAssociationsInput) SetGlobalNetworkId(v string) *GetLinkAssociationsInput {
  6896  	s.GlobalNetworkId = &v
  6897  	return s
  6898  }
  6899  
  6900  // SetLinkId sets the LinkId field's value.
  6901  func (s *GetLinkAssociationsInput) SetLinkId(v string) *GetLinkAssociationsInput {
  6902  	s.LinkId = &v
  6903  	return s
  6904  }
  6905  
  6906  // SetMaxResults sets the MaxResults field's value.
  6907  func (s *GetLinkAssociationsInput) SetMaxResults(v int64) *GetLinkAssociationsInput {
  6908  	s.MaxResults = &v
  6909  	return s
  6910  }
  6911  
  6912  // SetNextToken sets the NextToken field's value.
  6913  func (s *GetLinkAssociationsInput) SetNextToken(v string) *GetLinkAssociationsInput {
  6914  	s.NextToken = &v
  6915  	return s
  6916  }
  6917  
  6918  type GetLinkAssociationsOutput struct {
  6919  	_ struct{} `type:"structure"`
  6920  
  6921  	// The link associations.
  6922  	LinkAssociations []*LinkAssociation `type:"list"`
  6923  
  6924  	// The token for the next page of results.
  6925  	NextToken *string `type:"string"`
  6926  }
  6927  
  6928  // String returns the string representation.
  6929  //
  6930  // API parameter values that are decorated as "sensitive" in the API will not
  6931  // be included in the string output. The member name will be present, but the
  6932  // value will be replaced with "sensitive".
  6933  func (s GetLinkAssociationsOutput) String() string {
  6934  	return awsutil.Prettify(s)
  6935  }
  6936  
  6937  // GoString returns the string representation.
  6938  //
  6939  // API parameter values that are decorated as "sensitive" in the API will not
  6940  // be included in the string output. The member name will be present, but the
  6941  // value will be replaced with "sensitive".
  6942  func (s GetLinkAssociationsOutput) GoString() string {
  6943  	return s.String()
  6944  }
  6945  
  6946  // SetLinkAssociations sets the LinkAssociations field's value.
  6947  func (s *GetLinkAssociationsOutput) SetLinkAssociations(v []*LinkAssociation) *GetLinkAssociationsOutput {
  6948  	s.LinkAssociations = v
  6949  	return s
  6950  }
  6951  
  6952  // SetNextToken sets the NextToken field's value.
  6953  func (s *GetLinkAssociationsOutput) SetNextToken(v string) *GetLinkAssociationsOutput {
  6954  	s.NextToken = &v
  6955  	return s
  6956  }
  6957  
  6958  type GetLinksInput struct {
  6959  	_ struct{} `type:"structure" nopayload:"true"`
  6960  
  6961  	// The ID of the global network.
  6962  	//
  6963  	// GlobalNetworkId is a required field
  6964  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  6965  
  6966  	// One or more link IDs. The maximum is 10.
  6967  	LinkIds []*string `location:"querystring" locationName:"linkIds" type:"list"`
  6968  
  6969  	// The maximum number of results to return.
  6970  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6971  
  6972  	// The token for the next page of results.
  6973  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6974  
  6975  	// The link provider.
  6976  	Provider *string `location:"querystring" locationName:"provider" type:"string"`
  6977  
  6978  	// The ID of the site.
  6979  	SiteId *string `location:"querystring" locationName:"siteId" type:"string"`
  6980  
  6981  	// The link type.
  6982  	Type *string `location:"querystring" locationName:"type" type:"string"`
  6983  }
  6984  
  6985  // String returns the string representation.
  6986  //
  6987  // API parameter values that are decorated as "sensitive" in the API will not
  6988  // be included in the string output. The member name will be present, but the
  6989  // value will be replaced with "sensitive".
  6990  func (s GetLinksInput) String() string {
  6991  	return awsutil.Prettify(s)
  6992  }
  6993  
  6994  // GoString returns the string representation.
  6995  //
  6996  // API parameter values that are decorated as "sensitive" in the API will not
  6997  // be included in the string output. The member name will be present, but the
  6998  // value will be replaced with "sensitive".
  6999  func (s GetLinksInput) GoString() string {
  7000  	return s.String()
  7001  }
  7002  
  7003  // Validate inspects the fields of the type to determine if they are valid.
  7004  func (s *GetLinksInput) Validate() error {
  7005  	invalidParams := request.ErrInvalidParams{Context: "GetLinksInput"}
  7006  	if s.GlobalNetworkId == nil {
  7007  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  7008  	}
  7009  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  7010  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  7011  	}
  7012  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7013  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7014  	}
  7015  
  7016  	if invalidParams.Len() > 0 {
  7017  		return invalidParams
  7018  	}
  7019  	return nil
  7020  }
  7021  
  7022  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7023  func (s *GetLinksInput) SetGlobalNetworkId(v string) *GetLinksInput {
  7024  	s.GlobalNetworkId = &v
  7025  	return s
  7026  }
  7027  
  7028  // SetLinkIds sets the LinkIds field's value.
  7029  func (s *GetLinksInput) SetLinkIds(v []*string) *GetLinksInput {
  7030  	s.LinkIds = v
  7031  	return s
  7032  }
  7033  
  7034  // SetMaxResults sets the MaxResults field's value.
  7035  func (s *GetLinksInput) SetMaxResults(v int64) *GetLinksInput {
  7036  	s.MaxResults = &v
  7037  	return s
  7038  }
  7039  
  7040  // SetNextToken sets the NextToken field's value.
  7041  func (s *GetLinksInput) SetNextToken(v string) *GetLinksInput {
  7042  	s.NextToken = &v
  7043  	return s
  7044  }
  7045  
  7046  // SetProvider sets the Provider field's value.
  7047  func (s *GetLinksInput) SetProvider(v string) *GetLinksInput {
  7048  	s.Provider = &v
  7049  	return s
  7050  }
  7051  
  7052  // SetSiteId sets the SiteId field's value.
  7053  func (s *GetLinksInput) SetSiteId(v string) *GetLinksInput {
  7054  	s.SiteId = &v
  7055  	return s
  7056  }
  7057  
  7058  // SetType sets the Type field's value.
  7059  func (s *GetLinksInput) SetType(v string) *GetLinksInput {
  7060  	s.Type = &v
  7061  	return s
  7062  }
  7063  
  7064  type GetLinksOutput struct {
  7065  	_ struct{} `type:"structure"`
  7066  
  7067  	// The links.
  7068  	Links []*Link `type:"list"`
  7069  
  7070  	// The token for the next page of results.
  7071  	NextToken *string `type:"string"`
  7072  }
  7073  
  7074  // String returns the string representation.
  7075  //
  7076  // API parameter values that are decorated as "sensitive" in the API will not
  7077  // be included in the string output. The member name will be present, but the
  7078  // value will be replaced with "sensitive".
  7079  func (s GetLinksOutput) String() string {
  7080  	return awsutil.Prettify(s)
  7081  }
  7082  
  7083  // GoString returns the string representation.
  7084  //
  7085  // API parameter values that are decorated as "sensitive" in the API will not
  7086  // be included in the string output. The member name will be present, but the
  7087  // value will be replaced with "sensitive".
  7088  func (s GetLinksOutput) GoString() string {
  7089  	return s.String()
  7090  }
  7091  
  7092  // SetLinks sets the Links field's value.
  7093  func (s *GetLinksOutput) SetLinks(v []*Link) *GetLinksOutput {
  7094  	s.Links = v
  7095  	return s
  7096  }
  7097  
  7098  // SetNextToken sets the NextToken field's value.
  7099  func (s *GetLinksOutput) SetNextToken(v string) *GetLinksOutput {
  7100  	s.NextToken = &v
  7101  	return s
  7102  }
  7103  
  7104  type GetSitesInput struct {
  7105  	_ struct{} `type:"structure" nopayload:"true"`
  7106  
  7107  	// The ID of the global network.
  7108  	//
  7109  	// GlobalNetworkId is a required field
  7110  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  7111  
  7112  	// The maximum number of results to return.
  7113  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7114  
  7115  	// The token for the next page of results.
  7116  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7117  
  7118  	// One or more site IDs. The maximum is 10.
  7119  	SiteIds []*string `location:"querystring" locationName:"siteIds" type:"list"`
  7120  }
  7121  
  7122  // String returns the string representation.
  7123  //
  7124  // API parameter values that are decorated as "sensitive" in the API will not
  7125  // be included in the string output. The member name will be present, but the
  7126  // value will be replaced with "sensitive".
  7127  func (s GetSitesInput) String() string {
  7128  	return awsutil.Prettify(s)
  7129  }
  7130  
  7131  // GoString returns the string representation.
  7132  //
  7133  // API parameter values that are decorated as "sensitive" in the API will not
  7134  // be included in the string output. The member name will be present, but the
  7135  // value will be replaced with "sensitive".
  7136  func (s GetSitesInput) GoString() string {
  7137  	return s.String()
  7138  }
  7139  
  7140  // Validate inspects the fields of the type to determine if they are valid.
  7141  func (s *GetSitesInput) Validate() error {
  7142  	invalidParams := request.ErrInvalidParams{Context: "GetSitesInput"}
  7143  	if s.GlobalNetworkId == nil {
  7144  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  7145  	}
  7146  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  7147  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  7148  	}
  7149  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7150  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7151  	}
  7152  
  7153  	if invalidParams.Len() > 0 {
  7154  		return invalidParams
  7155  	}
  7156  	return nil
  7157  }
  7158  
  7159  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7160  func (s *GetSitesInput) SetGlobalNetworkId(v string) *GetSitesInput {
  7161  	s.GlobalNetworkId = &v
  7162  	return s
  7163  }
  7164  
  7165  // SetMaxResults sets the MaxResults field's value.
  7166  func (s *GetSitesInput) SetMaxResults(v int64) *GetSitesInput {
  7167  	s.MaxResults = &v
  7168  	return s
  7169  }
  7170  
  7171  // SetNextToken sets the NextToken field's value.
  7172  func (s *GetSitesInput) SetNextToken(v string) *GetSitesInput {
  7173  	s.NextToken = &v
  7174  	return s
  7175  }
  7176  
  7177  // SetSiteIds sets the SiteIds field's value.
  7178  func (s *GetSitesInput) SetSiteIds(v []*string) *GetSitesInput {
  7179  	s.SiteIds = v
  7180  	return s
  7181  }
  7182  
  7183  type GetSitesOutput struct {
  7184  	_ struct{} `type:"structure"`
  7185  
  7186  	// The token for the next page of results.
  7187  	NextToken *string `type:"string"`
  7188  
  7189  	// The sites.
  7190  	Sites []*Site `type:"list"`
  7191  }
  7192  
  7193  // String returns the string representation.
  7194  //
  7195  // API parameter values that are decorated as "sensitive" in the API will not
  7196  // be included in the string output. The member name will be present, but the
  7197  // value will be replaced with "sensitive".
  7198  func (s GetSitesOutput) String() string {
  7199  	return awsutil.Prettify(s)
  7200  }
  7201  
  7202  // GoString returns the string representation.
  7203  //
  7204  // API parameter values that are decorated as "sensitive" in the API will not
  7205  // be included in the string output. The member name will be present, but the
  7206  // value will be replaced with "sensitive".
  7207  func (s GetSitesOutput) GoString() string {
  7208  	return s.String()
  7209  }
  7210  
  7211  // SetNextToken sets the NextToken field's value.
  7212  func (s *GetSitesOutput) SetNextToken(v string) *GetSitesOutput {
  7213  	s.NextToken = &v
  7214  	return s
  7215  }
  7216  
  7217  // SetSites sets the Sites field's value.
  7218  func (s *GetSitesOutput) SetSites(v []*Site) *GetSitesOutput {
  7219  	s.Sites = v
  7220  	return s
  7221  }
  7222  
  7223  type GetTransitGatewayConnectPeerAssociationsInput struct {
  7224  	_ struct{} `type:"structure" nopayload:"true"`
  7225  
  7226  	// The ID of the global network.
  7227  	//
  7228  	// GlobalNetworkId is a required field
  7229  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  7230  
  7231  	// The maximum number of results to return.
  7232  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7233  
  7234  	// The token for the next page of results.
  7235  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7236  
  7237  	// One or more transit gateway Connect peer Amazon Resource Names (ARNs).
  7238  	TransitGatewayConnectPeerArns []*string `location:"querystring" locationName:"transitGatewayConnectPeerArns" type:"list"`
  7239  }
  7240  
  7241  // String returns the string representation.
  7242  //
  7243  // API parameter values that are decorated as "sensitive" in the API will not
  7244  // be included in the string output. The member name will be present, but the
  7245  // value will be replaced with "sensitive".
  7246  func (s GetTransitGatewayConnectPeerAssociationsInput) String() string {
  7247  	return awsutil.Prettify(s)
  7248  }
  7249  
  7250  // GoString returns the string representation.
  7251  //
  7252  // API parameter values that are decorated as "sensitive" in the API will not
  7253  // be included in the string output. The member name will be present, but the
  7254  // value will be replaced with "sensitive".
  7255  func (s GetTransitGatewayConnectPeerAssociationsInput) GoString() string {
  7256  	return s.String()
  7257  }
  7258  
  7259  // Validate inspects the fields of the type to determine if they are valid.
  7260  func (s *GetTransitGatewayConnectPeerAssociationsInput) Validate() error {
  7261  	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayConnectPeerAssociationsInput"}
  7262  	if s.GlobalNetworkId == nil {
  7263  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  7264  	}
  7265  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  7266  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  7267  	}
  7268  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7269  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7270  	}
  7271  
  7272  	if invalidParams.Len() > 0 {
  7273  		return invalidParams
  7274  	}
  7275  	return nil
  7276  }
  7277  
  7278  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7279  func (s *GetTransitGatewayConnectPeerAssociationsInput) SetGlobalNetworkId(v string) *GetTransitGatewayConnectPeerAssociationsInput {
  7280  	s.GlobalNetworkId = &v
  7281  	return s
  7282  }
  7283  
  7284  // SetMaxResults sets the MaxResults field's value.
  7285  func (s *GetTransitGatewayConnectPeerAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayConnectPeerAssociationsInput {
  7286  	s.MaxResults = &v
  7287  	return s
  7288  }
  7289  
  7290  // SetNextToken sets the NextToken field's value.
  7291  func (s *GetTransitGatewayConnectPeerAssociationsInput) SetNextToken(v string) *GetTransitGatewayConnectPeerAssociationsInput {
  7292  	s.NextToken = &v
  7293  	return s
  7294  }
  7295  
  7296  // SetTransitGatewayConnectPeerArns sets the TransitGatewayConnectPeerArns field's value.
  7297  func (s *GetTransitGatewayConnectPeerAssociationsInput) SetTransitGatewayConnectPeerArns(v []*string) *GetTransitGatewayConnectPeerAssociationsInput {
  7298  	s.TransitGatewayConnectPeerArns = v
  7299  	return s
  7300  }
  7301  
  7302  type GetTransitGatewayConnectPeerAssociationsOutput struct {
  7303  	_ struct{} `type:"structure"`
  7304  
  7305  	// The token to use for the next page of results.
  7306  	NextToken *string `type:"string"`
  7307  
  7308  	// Information about the transit gateway Connect peer associations.
  7309  	TransitGatewayConnectPeerAssociations []*TransitGatewayConnectPeerAssociation `type:"list"`
  7310  }
  7311  
  7312  // String returns the string representation.
  7313  //
  7314  // API parameter values that are decorated as "sensitive" in the API will not
  7315  // be included in the string output. The member name will be present, but the
  7316  // value will be replaced with "sensitive".
  7317  func (s GetTransitGatewayConnectPeerAssociationsOutput) String() string {
  7318  	return awsutil.Prettify(s)
  7319  }
  7320  
  7321  // GoString returns the string representation.
  7322  //
  7323  // API parameter values that are decorated as "sensitive" in the API will not
  7324  // be included in the string output. The member name will be present, but the
  7325  // value will be replaced with "sensitive".
  7326  func (s GetTransitGatewayConnectPeerAssociationsOutput) GoString() string {
  7327  	return s.String()
  7328  }
  7329  
  7330  // SetNextToken sets the NextToken field's value.
  7331  func (s *GetTransitGatewayConnectPeerAssociationsOutput) SetNextToken(v string) *GetTransitGatewayConnectPeerAssociationsOutput {
  7332  	s.NextToken = &v
  7333  	return s
  7334  }
  7335  
  7336  // SetTransitGatewayConnectPeerAssociations sets the TransitGatewayConnectPeerAssociations field's value.
  7337  func (s *GetTransitGatewayConnectPeerAssociationsOutput) SetTransitGatewayConnectPeerAssociations(v []*TransitGatewayConnectPeerAssociation) *GetTransitGatewayConnectPeerAssociationsOutput {
  7338  	s.TransitGatewayConnectPeerAssociations = v
  7339  	return s
  7340  }
  7341  
  7342  type GetTransitGatewayRegistrationsInput struct {
  7343  	_ struct{} `type:"structure" nopayload:"true"`
  7344  
  7345  	// The ID of the global network.
  7346  	//
  7347  	// GlobalNetworkId is a required field
  7348  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  7349  
  7350  	// The maximum number of results to return.
  7351  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  7352  
  7353  	// The token for the next page of results.
  7354  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  7355  
  7356  	// The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum
  7357  	// is 10.
  7358  	TransitGatewayArns []*string `location:"querystring" locationName:"transitGatewayArns" type:"list"`
  7359  }
  7360  
  7361  // String returns the string representation.
  7362  //
  7363  // API parameter values that are decorated as "sensitive" in the API will not
  7364  // be included in the string output. The member name will be present, but the
  7365  // value will be replaced with "sensitive".
  7366  func (s GetTransitGatewayRegistrationsInput) String() string {
  7367  	return awsutil.Prettify(s)
  7368  }
  7369  
  7370  // GoString returns the string representation.
  7371  //
  7372  // API parameter values that are decorated as "sensitive" in the API will not
  7373  // be included in the string output. The member name will be present, but the
  7374  // value will be replaced with "sensitive".
  7375  func (s GetTransitGatewayRegistrationsInput) GoString() string {
  7376  	return s.String()
  7377  }
  7378  
  7379  // Validate inspects the fields of the type to determine if they are valid.
  7380  func (s *GetTransitGatewayRegistrationsInput) Validate() error {
  7381  	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRegistrationsInput"}
  7382  	if s.GlobalNetworkId == nil {
  7383  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  7384  	}
  7385  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  7386  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  7387  	}
  7388  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7389  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7390  	}
  7391  
  7392  	if invalidParams.Len() > 0 {
  7393  		return invalidParams
  7394  	}
  7395  	return nil
  7396  }
  7397  
  7398  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7399  func (s *GetTransitGatewayRegistrationsInput) SetGlobalNetworkId(v string) *GetTransitGatewayRegistrationsInput {
  7400  	s.GlobalNetworkId = &v
  7401  	return s
  7402  }
  7403  
  7404  // SetMaxResults sets the MaxResults field's value.
  7405  func (s *GetTransitGatewayRegistrationsInput) SetMaxResults(v int64) *GetTransitGatewayRegistrationsInput {
  7406  	s.MaxResults = &v
  7407  	return s
  7408  }
  7409  
  7410  // SetNextToken sets the NextToken field's value.
  7411  func (s *GetTransitGatewayRegistrationsInput) SetNextToken(v string) *GetTransitGatewayRegistrationsInput {
  7412  	s.NextToken = &v
  7413  	return s
  7414  }
  7415  
  7416  // SetTransitGatewayArns sets the TransitGatewayArns field's value.
  7417  func (s *GetTransitGatewayRegistrationsInput) SetTransitGatewayArns(v []*string) *GetTransitGatewayRegistrationsInput {
  7418  	s.TransitGatewayArns = v
  7419  	return s
  7420  }
  7421  
  7422  type GetTransitGatewayRegistrationsOutput struct {
  7423  	_ struct{} `type:"structure"`
  7424  
  7425  	// The token for the next page of results.
  7426  	NextToken *string `type:"string"`
  7427  
  7428  	// The transit gateway registrations.
  7429  	TransitGatewayRegistrations []*TransitGatewayRegistration `type:"list"`
  7430  }
  7431  
  7432  // String returns the string representation.
  7433  //
  7434  // API parameter values that are decorated as "sensitive" in the API will not
  7435  // be included in the string output. The member name will be present, but the
  7436  // value will be replaced with "sensitive".
  7437  func (s GetTransitGatewayRegistrationsOutput) String() string {
  7438  	return awsutil.Prettify(s)
  7439  }
  7440  
  7441  // GoString returns the string representation.
  7442  //
  7443  // API parameter values that are decorated as "sensitive" in the API will not
  7444  // be included in the string output. The member name will be present, but the
  7445  // value will be replaced with "sensitive".
  7446  func (s GetTransitGatewayRegistrationsOutput) GoString() string {
  7447  	return s.String()
  7448  }
  7449  
  7450  // SetNextToken sets the NextToken field's value.
  7451  func (s *GetTransitGatewayRegistrationsOutput) SetNextToken(v string) *GetTransitGatewayRegistrationsOutput {
  7452  	s.NextToken = &v
  7453  	return s
  7454  }
  7455  
  7456  // SetTransitGatewayRegistrations sets the TransitGatewayRegistrations field's value.
  7457  func (s *GetTransitGatewayRegistrationsOutput) SetTransitGatewayRegistrations(v []*TransitGatewayRegistration) *GetTransitGatewayRegistrationsOutput {
  7458  	s.TransitGatewayRegistrations = v
  7459  	return s
  7460  }
  7461  
  7462  // Describes a global network.
  7463  type GlobalNetwork struct {
  7464  	_ struct{} `type:"structure"`
  7465  
  7466  	// The date and time that the global network was created.
  7467  	CreatedAt *time.Time `type:"timestamp"`
  7468  
  7469  	// The description of the global network.
  7470  	Description *string `type:"string"`
  7471  
  7472  	// The Amazon Resource Name (ARN) of the global network.
  7473  	GlobalNetworkArn *string `type:"string"`
  7474  
  7475  	// The ID of the global network.
  7476  	GlobalNetworkId *string `type:"string"`
  7477  
  7478  	// The state of the global network.
  7479  	State *string `type:"string" enum:"GlobalNetworkState"`
  7480  
  7481  	// The tags for the global network.
  7482  	Tags []*Tag `type:"list"`
  7483  }
  7484  
  7485  // String returns the string representation.
  7486  //
  7487  // API parameter values that are decorated as "sensitive" in the API will not
  7488  // be included in the string output. The member name will be present, but the
  7489  // value will be replaced with "sensitive".
  7490  func (s GlobalNetwork) String() string {
  7491  	return awsutil.Prettify(s)
  7492  }
  7493  
  7494  // GoString returns the string representation.
  7495  //
  7496  // API parameter values that are decorated as "sensitive" in the API will not
  7497  // be included in the string output. The member name will be present, but the
  7498  // value will be replaced with "sensitive".
  7499  func (s GlobalNetwork) GoString() string {
  7500  	return s.String()
  7501  }
  7502  
  7503  // SetCreatedAt sets the CreatedAt field's value.
  7504  func (s *GlobalNetwork) SetCreatedAt(v time.Time) *GlobalNetwork {
  7505  	s.CreatedAt = &v
  7506  	return s
  7507  }
  7508  
  7509  // SetDescription sets the Description field's value.
  7510  func (s *GlobalNetwork) SetDescription(v string) *GlobalNetwork {
  7511  	s.Description = &v
  7512  	return s
  7513  }
  7514  
  7515  // SetGlobalNetworkArn sets the GlobalNetworkArn field's value.
  7516  func (s *GlobalNetwork) SetGlobalNetworkArn(v string) *GlobalNetwork {
  7517  	s.GlobalNetworkArn = &v
  7518  	return s
  7519  }
  7520  
  7521  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7522  func (s *GlobalNetwork) SetGlobalNetworkId(v string) *GlobalNetwork {
  7523  	s.GlobalNetworkId = &v
  7524  	return s
  7525  }
  7526  
  7527  // SetState sets the State field's value.
  7528  func (s *GlobalNetwork) SetState(v string) *GlobalNetwork {
  7529  	s.State = &v
  7530  	return s
  7531  }
  7532  
  7533  // SetTags sets the Tags field's value.
  7534  func (s *GlobalNetwork) SetTags(v []*Tag) *GlobalNetwork {
  7535  	s.Tags = v
  7536  	return s
  7537  }
  7538  
  7539  // The request has failed due to an internal error.
  7540  type InternalServerException struct {
  7541  	_            struct{}                  `type:"structure"`
  7542  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7543  
  7544  	Message_ *string `locationName:"Message" type:"string"`
  7545  
  7546  	// Indicates when to retry the request.
  7547  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
  7548  }
  7549  
  7550  // String returns the string representation.
  7551  //
  7552  // API parameter values that are decorated as "sensitive" in the API will not
  7553  // be included in the string output. The member name will be present, but the
  7554  // value will be replaced with "sensitive".
  7555  func (s InternalServerException) String() string {
  7556  	return awsutil.Prettify(s)
  7557  }
  7558  
  7559  // GoString returns the string representation.
  7560  //
  7561  // API parameter values that are decorated as "sensitive" in the API will not
  7562  // be included in the string output. The member name will be present, but the
  7563  // value will be replaced with "sensitive".
  7564  func (s InternalServerException) GoString() string {
  7565  	return s.String()
  7566  }
  7567  
  7568  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  7569  	return &InternalServerException{
  7570  		RespMetadata: v,
  7571  	}
  7572  }
  7573  
  7574  // Code returns the exception type name.
  7575  func (s *InternalServerException) Code() string {
  7576  	return "InternalServerException"
  7577  }
  7578  
  7579  // Message returns the exception's message.
  7580  func (s *InternalServerException) Message() string {
  7581  	if s.Message_ != nil {
  7582  		return *s.Message_
  7583  	}
  7584  	return ""
  7585  }
  7586  
  7587  // OrigErr always returns nil, satisfies awserr.Error interface.
  7588  func (s *InternalServerException) OrigErr() error {
  7589  	return nil
  7590  }
  7591  
  7592  func (s *InternalServerException) Error() string {
  7593  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7594  }
  7595  
  7596  // Status code returns the HTTP status code for the request's response error.
  7597  func (s *InternalServerException) StatusCode() int {
  7598  	return s.RespMetadata.StatusCode
  7599  }
  7600  
  7601  // RequestID returns the service's response RequestID for request.
  7602  func (s *InternalServerException) RequestID() string {
  7603  	return s.RespMetadata.RequestID
  7604  }
  7605  
  7606  // Describes a link.
  7607  type Link struct {
  7608  	_ struct{} `type:"structure"`
  7609  
  7610  	// The bandwidth for the link.
  7611  	Bandwidth *Bandwidth `type:"structure"`
  7612  
  7613  	// The date and time that the link was created.
  7614  	CreatedAt *time.Time `type:"timestamp"`
  7615  
  7616  	// The description of the link.
  7617  	Description *string `type:"string"`
  7618  
  7619  	// The ID of the global network.
  7620  	GlobalNetworkId *string `type:"string"`
  7621  
  7622  	// The Amazon Resource Name (ARN) of the link.
  7623  	LinkArn *string `type:"string"`
  7624  
  7625  	// The ID of the link.
  7626  	LinkId *string `type:"string"`
  7627  
  7628  	// The provider of the link.
  7629  	Provider *string `type:"string"`
  7630  
  7631  	// The ID of the site.
  7632  	SiteId *string `type:"string"`
  7633  
  7634  	// The state of the link.
  7635  	State *string `type:"string" enum:"LinkState"`
  7636  
  7637  	// The tags for the link.
  7638  	Tags []*Tag `type:"list"`
  7639  
  7640  	// The type of the link.
  7641  	Type *string `type:"string"`
  7642  }
  7643  
  7644  // String returns the string representation.
  7645  //
  7646  // API parameter values that are decorated as "sensitive" in the API will not
  7647  // be included in the string output. The member name will be present, but the
  7648  // value will be replaced with "sensitive".
  7649  func (s Link) String() string {
  7650  	return awsutil.Prettify(s)
  7651  }
  7652  
  7653  // GoString returns the string representation.
  7654  //
  7655  // API parameter values that are decorated as "sensitive" in the API will not
  7656  // be included in the string output. The member name will be present, but the
  7657  // value will be replaced with "sensitive".
  7658  func (s Link) GoString() string {
  7659  	return s.String()
  7660  }
  7661  
  7662  // SetBandwidth sets the Bandwidth field's value.
  7663  func (s *Link) SetBandwidth(v *Bandwidth) *Link {
  7664  	s.Bandwidth = v
  7665  	return s
  7666  }
  7667  
  7668  // SetCreatedAt sets the CreatedAt field's value.
  7669  func (s *Link) SetCreatedAt(v time.Time) *Link {
  7670  	s.CreatedAt = &v
  7671  	return s
  7672  }
  7673  
  7674  // SetDescription sets the Description field's value.
  7675  func (s *Link) SetDescription(v string) *Link {
  7676  	s.Description = &v
  7677  	return s
  7678  }
  7679  
  7680  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7681  func (s *Link) SetGlobalNetworkId(v string) *Link {
  7682  	s.GlobalNetworkId = &v
  7683  	return s
  7684  }
  7685  
  7686  // SetLinkArn sets the LinkArn field's value.
  7687  func (s *Link) SetLinkArn(v string) *Link {
  7688  	s.LinkArn = &v
  7689  	return s
  7690  }
  7691  
  7692  // SetLinkId sets the LinkId field's value.
  7693  func (s *Link) SetLinkId(v string) *Link {
  7694  	s.LinkId = &v
  7695  	return s
  7696  }
  7697  
  7698  // SetProvider sets the Provider field's value.
  7699  func (s *Link) SetProvider(v string) *Link {
  7700  	s.Provider = &v
  7701  	return s
  7702  }
  7703  
  7704  // SetSiteId sets the SiteId field's value.
  7705  func (s *Link) SetSiteId(v string) *Link {
  7706  	s.SiteId = &v
  7707  	return s
  7708  }
  7709  
  7710  // SetState sets the State field's value.
  7711  func (s *Link) SetState(v string) *Link {
  7712  	s.State = &v
  7713  	return s
  7714  }
  7715  
  7716  // SetTags sets the Tags field's value.
  7717  func (s *Link) SetTags(v []*Tag) *Link {
  7718  	s.Tags = v
  7719  	return s
  7720  }
  7721  
  7722  // SetType sets the Type field's value.
  7723  func (s *Link) SetType(v string) *Link {
  7724  	s.Type = &v
  7725  	return s
  7726  }
  7727  
  7728  // Describes the association between a device and a link.
  7729  type LinkAssociation struct {
  7730  	_ struct{} `type:"structure"`
  7731  
  7732  	// The device ID for the link association.
  7733  	DeviceId *string `type:"string"`
  7734  
  7735  	// The ID of the global network.
  7736  	GlobalNetworkId *string `type:"string"`
  7737  
  7738  	// The state of the association.
  7739  	LinkAssociationState *string `type:"string" enum:"LinkAssociationState"`
  7740  
  7741  	// The ID of the link.
  7742  	LinkId *string `type:"string"`
  7743  }
  7744  
  7745  // String returns the string representation.
  7746  //
  7747  // API parameter values that are decorated as "sensitive" in the API will not
  7748  // be included in the string output. The member name will be present, but the
  7749  // value will be replaced with "sensitive".
  7750  func (s LinkAssociation) String() string {
  7751  	return awsutil.Prettify(s)
  7752  }
  7753  
  7754  // GoString returns the string representation.
  7755  //
  7756  // API parameter values that are decorated as "sensitive" in the API will not
  7757  // be included in the string output. The member name will be present, but the
  7758  // value will be replaced with "sensitive".
  7759  func (s LinkAssociation) GoString() string {
  7760  	return s.String()
  7761  }
  7762  
  7763  // SetDeviceId sets the DeviceId field's value.
  7764  func (s *LinkAssociation) SetDeviceId(v string) *LinkAssociation {
  7765  	s.DeviceId = &v
  7766  	return s
  7767  }
  7768  
  7769  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7770  func (s *LinkAssociation) SetGlobalNetworkId(v string) *LinkAssociation {
  7771  	s.GlobalNetworkId = &v
  7772  	return s
  7773  }
  7774  
  7775  // SetLinkAssociationState sets the LinkAssociationState field's value.
  7776  func (s *LinkAssociation) SetLinkAssociationState(v string) *LinkAssociation {
  7777  	s.LinkAssociationState = &v
  7778  	return s
  7779  }
  7780  
  7781  // SetLinkId sets the LinkId field's value.
  7782  func (s *LinkAssociation) SetLinkId(v string) *LinkAssociation {
  7783  	s.LinkId = &v
  7784  	return s
  7785  }
  7786  
  7787  type ListTagsForResourceInput struct {
  7788  	_ struct{} `type:"structure" nopayload:"true"`
  7789  
  7790  	// The Amazon Resource Name (ARN) of the resource.
  7791  	//
  7792  	// ResourceArn is a required field
  7793  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  7794  }
  7795  
  7796  // String returns the string representation.
  7797  //
  7798  // API parameter values that are decorated as "sensitive" in the API will not
  7799  // be included in the string output. The member name will be present, but the
  7800  // value will be replaced with "sensitive".
  7801  func (s ListTagsForResourceInput) String() string {
  7802  	return awsutil.Prettify(s)
  7803  }
  7804  
  7805  // GoString returns the string representation.
  7806  //
  7807  // API parameter values that are decorated as "sensitive" in the API will not
  7808  // be included in the string output. The member name will be present, but the
  7809  // value will be replaced with "sensitive".
  7810  func (s ListTagsForResourceInput) GoString() string {
  7811  	return s.String()
  7812  }
  7813  
  7814  // Validate inspects the fields of the type to determine if they are valid.
  7815  func (s *ListTagsForResourceInput) Validate() error {
  7816  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  7817  	if s.ResourceArn == nil {
  7818  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7819  	}
  7820  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  7821  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  7822  	}
  7823  
  7824  	if invalidParams.Len() > 0 {
  7825  		return invalidParams
  7826  	}
  7827  	return nil
  7828  }
  7829  
  7830  // SetResourceArn sets the ResourceArn field's value.
  7831  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  7832  	s.ResourceArn = &v
  7833  	return s
  7834  }
  7835  
  7836  type ListTagsForResourceOutput struct {
  7837  	_ struct{} `type:"structure"`
  7838  
  7839  	// The list of tags.
  7840  	TagList []*Tag `type:"list"`
  7841  }
  7842  
  7843  // String returns the string representation.
  7844  //
  7845  // API parameter values that are decorated as "sensitive" in the API will not
  7846  // be included in the string output. The member name will be present, but the
  7847  // value will be replaced with "sensitive".
  7848  func (s ListTagsForResourceOutput) String() string {
  7849  	return awsutil.Prettify(s)
  7850  }
  7851  
  7852  // GoString returns the string representation.
  7853  //
  7854  // API parameter values that are decorated as "sensitive" in the API will not
  7855  // be included in the string output. The member name will be present, but the
  7856  // value will be replaced with "sensitive".
  7857  func (s ListTagsForResourceOutput) GoString() string {
  7858  	return s.String()
  7859  }
  7860  
  7861  // SetTagList sets the TagList field's value.
  7862  func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
  7863  	s.TagList = v
  7864  	return s
  7865  }
  7866  
  7867  // Describes a location.
  7868  type Location struct {
  7869  	_ struct{} `type:"structure" sensitive:"true"`
  7870  
  7871  	// The physical address.
  7872  	Address *string `type:"string"`
  7873  
  7874  	// The latitude.
  7875  	Latitude *string `type:"string"`
  7876  
  7877  	// The longitude.
  7878  	Longitude *string `type:"string"`
  7879  }
  7880  
  7881  // String returns the string representation.
  7882  //
  7883  // API parameter values that are decorated as "sensitive" in the API will not
  7884  // be included in the string output. The member name will be present, but the
  7885  // value will be replaced with "sensitive".
  7886  func (s Location) String() string {
  7887  	return awsutil.Prettify(s)
  7888  }
  7889  
  7890  // GoString returns the string representation.
  7891  //
  7892  // API parameter values that are decorated as "sensitive" in the API will not
  7893  // be included in the string output. The member name will be present, but the
  7894  // value will be replaced with "sensitive".
  7895  func (s Location) GoString() string {
  7896  	return s.String()
  7897  }
  7898  
  7899  // SetAddress sets the Address field's value.
  7900  func (s *Location) SetAddress(v string) *Location {
  7901  	s.Address = &v
  7902  	return s
  7903  }
  7904  
  7905  // SetLatitude sets the Latitude field's value.
  7906  func (s *Location) SetLatitude(v string) *Location {
  7907  	s.Latitude = &v
  7908  	return s
  7909  }
  7910  
  7911  // SetLongitude sets the Longitude field's value.
  7912  func (s *Location) SetLongitude(v string) *Location {
  7913  	s.Longitude = &v
  7914  	return s
  7915  }
  7916  
  7917  type RegisterTransitGatewayInput struct {
  7918  	_ struct{} `type:"structure"`
  7919  
  7920  	// The ID of the global network.
  7921  	//
  7922  	// GlobalNetworkId is a required field
  7923  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  7924  
  7925  	// The Amazon Resource Name (ARN) of the transit gateway. For more information,
  7926  	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
  7927  	//
  7928  	// TransitGatewayArn is a required field
  7929  	TransitGatewayArn *string `type:"string" required:"true"`
  7930  }
  7931  
  7932  // String returns the string representation.
  7933  //
  7934  // API parameter values that are decorated as "sensitive" in the API will not
  7935  // be included in the string output. The member name will be present, but the
  7936  // value will be replaced with "sensitive".
  7937  func (s RegisterTransitGatewayInput) String() string {
  7938  	return awsutil.Prettify(s)
  7939  }
  7940  
  7941  // GoString returns the string representation.
  7942  //
  7943  // API parameter values that are decorated as "sensitive" in the API will not
  7944  // be included in the string output. The member name will be present, but the
  7945  // value will be replaced with "sensitive".
  7946  func (s RegisterTransitGatewayInput) GoString() string {
  7947  	return s.String()
  7948  }
  7949  
  7950  // Validate inspects the fields of the type to determine if they are valid.
  7951  func (s *RegisterTransitGatewayInput) Validate() error {
  7952  	invalidParams := request.ErrInvalidParams{Context: "RegisterTransitGatewayInput"}
  7953  	if s.GlobalNetworkId == nil {
  7954  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  7955  	}
  7956  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  7957  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  7958  	}
  7959  	if s.TransitGatewayArn == nil {
  7960  		invalidParams.Add(request.NewErrParamRequired("TransitGatewayArn"))
  7961  	}
  7962  
  7963  	if invalidParams.Len() > 0 {
  7964  		return invalidParams
  7965  	}
  7966  	return nil
  7967  }
  7968  
  7969  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  7970  func (s *RegisterTransitGatewayInput) SetGlobalNetworkId(v string) *RegisterTransitGatewayInput {
  7971  	s.GlobalNetworkId = &v
  7972  	return s
  7973  }
  7974  
  7975  // SetTransitGatewayArn sets the TransitGatewayArn field's value.
  7976  func (s *RegisterTransitGatewayInput) SetTransitGatewayArn(v string) *RegisterTransitGatewayInput {
  7977  	s.TransitGatewayArn = &v
  7978  	return s
  7979  }
  7980  
  7981  type RegisterTransitGatewayOutput struct {
  7982  	_ struct{} `type:"structure"`
  7983  
  7984  	// Information about the transit gateway registration.
  7985  	TransitGatewayRegistration *TransitGatewayRegistration `type:"structure"`
  7986  }
  7987  
  7988  // String returns the string representation.
  7989  //
  7990  // API parameter values that are decorated as "sensitive" in the API will not
  7991  // be included in the string output. The member name will be present, but the
  7992  // value will be replaced with "sensitive".
  7993  func (s RegisterTransitGatewayOutput) String() string {
  7994  	return awsutil.Prettify(s)
  7995  }
  7996  
  7997  // GoString returns the string representation.
  7998  //
  7999  // API parameter values that are decorated as "sensitive" in the API will not
  8000  // be included in the string output. The member name will be present, but the
  8001  // value will be replaced with "sensitive".
  8002  func (s RegisterTransitGatewayOutput) GoString() string {
  8003  	return s.String()
  8004  }
  8005  
  8006  // SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
  8007  func (s *RegisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *RegisterTransitGatewayOutput {
  8008  	s.TransitGatewayRegistration = v
  8009  	return s
  8010  }
  8011  
  8012  // The specified resource could not be found.
  8013  type ResourceNotFoundException struct {
  8014  	_            struct{}                  `type:"structure"`
  8015  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8016  
  8017  	Message_ *string `locationName:"Message" type:"string"`
  8018  
  8019  	// The ID of the resource.
  8020  	//
  8021  	// ResourceId is a required field
  8022  	ResourceId *string `type:"string" required:"true"`
  8023  
  8024  	// The resource type.
  8025  	//
  8026  	// ResourceType is a required field
  8027  	ResourceType *string `type:"string" required:"true"`
  8028  }
  8029  
  8030  // String returns the string representation.
  8031  //
  8032  // API parameter values that are decorated as "sensitive" in the API will not
  8033  // be included in the string output. The member name will be present, but the
  8034  // value will be replaced with "sensitive".
  8035  func (s ResourceNotFoundException) String() string {
  8036  	return awsutil.Prettify(s)
  8037  }
  8038  
  8039  // GoString returns the string representation.
  8040  //
  8041  // API parameter values that are decorated as "sensitive" in the API will not
  8042  // be included in the string output. The member name will be present, but the
  8043  // value will be replaced with "sensitive".
  8044  func (s ResourceNotFoundException) GoString() string {
  8045  	return s.String()
  8046  }
  8047  
  8048  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  8049  	return &ResourceNotFoundException{
  8050  		RespMetadata: v,
  8051  	}
  8052  }
  8053  
  8054  // Code returns the exception type name.
  8055  func (s *ResourceNotFoundException) Code() string {
  8056  	return "ResourceNotFoundException"
  8057  }
  8058  
  8059  // Message returns the exception's message.
  8060  func (s *ResourceNotFoundException) Message() string {
  8061  	if s.Message_ != nil {
  8062  		return *s.Message_
  8063  	}
  8064  	return ""
  8065  }
  8066  
  8067  // OrigErr always returns nil, satisfies awserr.Error interface.
  8068  func (s *ResourceNotFoundException) OrigErr() error {
  8069  	return nil
  8070  }
  8071  
  8072  func (s *ResourceNotFoundException) Error() string {
  8073  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8074  }
  8075  
  8076  // Status code returns the HTTP status code for the request's response error.
  8077  func (s *ResourceNotFoundException) StatusCode() int {
  8078  	return s.RespMetadata.StatusCode
  8079  }
  8080  
  8081  // RequestID returns the service's response RequestID for request.
  8082  func (s *ResourceNotFoundException) RequestID() string {
  8083  	return s.RespMetadata.RequestID
  8084  }
  8085  
  8086  // A service limit was exceeded.
  8087  type ServiceQuotaExceededException struct {
  8088  	_            struct{}                  `type:"structure"`
  8089  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8090  
  8091  	// The limit code.
  8092  	//
  8093  	// LimitCode is a required field
  8094  	LimitCode *string `type:"string" required:"true"`
  8095  
  8096  	// The error message.
  8097  	Message_ *string `locationName:"Message" type:"string"`
  8098  
  8099  	// The ID of the resource.
  8100  	ResourceId *string `type:"string"`
  8101  
  8102  	// The resource type.
  8103  	ResourceType *string `type:"string"`
  8104  
  8105  	// The service code.
  8106  	//
  8107  	// ServiceCode is a required field
  8108  	ServiceCode *string `type:"string" required:"true"`
  8109  }
  8110  
  8111  // String returns the string representation.
  8112  //
  8113  // API parameter values that are decorated as "sensitive" in the API will not
  8114  // be included in the string output. The member name will be present, but the
  8115  // value will be replaced with "sensitive".
  8116  func (s ServiceQuotaExceededException) String() string {
  8117  	return awsutil.Prettify(s)
  8118  }
  8119  
  8120  // GoString returns the string representation.
  8121  //
  8122  // API parameter values that are decorated as "sensitive" in the API will not
  8123  // be included in the string output. The member name will be present, but the
  8124  // value will be replaced with "sensitive".
  8125  func (s ServiceQuotaExceededException) GoString() string {
  8126  	return s.String()
  8127  }
  8128  
  8129  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  8130  	return &ServiceQuotaExceededException{
  8131  		RespMetadata: v,
  8132  	}
  8133  }
  8134  
  8135  // Code returns the exception type name.
  8136  func (s *ServiceQuotaExceededException) Code() string {
  8137  	return "ServiceQuotaExceededException"
  8138  }
  8139  
  8140  // Message returns the exception's message.
  8141  func (s *ServiceQuotaExceededException) Message() string {
  8142  	if s.Message_ != nil {
  8143  		return *s.Message_
  8144  	}
  8145  	return ""
  8146  }
  8147  
  8148  // OrigErr always returns nil, satisfies awserr.Error interface.
  8149  func (s *ServiceQuotaExceededException) OrigErr() error {
  8150  	return nil
  8151  }
  8152  
  8153  func (s *ServiceQuotaExceededException) Error() string {
  8154  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8155  }
  8156  
  8157  // Status code returns the HTTP status code for the request's response error.
  8158  func (s *ServiceQuotaExceededException) StatusCode() int {
  8159  	return s.RespMetadata.StatusCode
  8160  }
  8161  
  8162  // RequestID returns the service's response RequestID for request.
  8163  func (s *ServiceQuotaExceededException) RequestID() string {
  8164  	return s.RespMetadata.RequestID
  8165  }
  8166  
  8167  // Describes a site.
  8168  type Site struct {
  8169  	_ struct{} `type:"structure"`
  8170  
  8171  	// The date and time that the site was created.
  8172  	CreatedAt *time.Time `type:"timestamp"`
  8173  
  8174  	// The description of the site.
  8175  	Description *string `type:"string"`
  8176  
  8177  	// The ID of the global network.
  8178  	GlobalNetworkId *string `type:"string"`
  8179  
  8180  	// The location of the site.
  8181  	//
  8182  	// Location is a sensitive parameter and its value will be
  8183  	// replaced with "sensitive" in string returned by Site's
  8184  	// String and GoString methods.
  8185  	Location *Location `type:"structure" sensitive:"true"`
  8186  
  8187  	// The Amazon Resource Name (ARN) of the site.
  8188  	SiteArn *string `type:"string"`
  8189  
  8190  	// The ID of the site.
  8191  	SiteId *string `type:"string"`
  8192  
  8193  	// The state of the site.
  8194  	State *string `type:"string" enum:"SiteState"`
  8195  
  8196  	// The tags for the site.
  8197  	Tags []*Tag `type:"list"`
  8198  }
  8199  
  8200  // String returns the string representation.
  8201  //
  8202  // API parameter values that are decorated as "sensitive" in the API will not
  8203  // be included in the string output. The member name will be present, but the
  8204  // value will be replaced with "sensitive".
  8205  func (s Site) String() string {
  8206  	return awsutil.Prettify(s)
  8207  }
  8208  
  8209  // GoString returns the string representation.
  8210  //
  8211  // API parameter values that are decorated as "sensitive" in the API will not
  8212  // be included in the string output. The member name will be present, but the
  8213  // value will be replaced with "sensitive".
  8214  func (s Site) GoString() string {
  8215  	return s.String()
  8216  }
  8217  
  8218  // SetCreatedAt sets the CreatedAt field's value.
  8219  func (s *Site) SetCreatedAt(v time.Time) *Site {
  8220  	s.CreatedAt = &v
  8221  	return s
  8222  }
  8223  
  8224  // SetDescription sets the Description field's value.
  8225  func (s *Site) SetDescription(v string) *Site {
  8226  	s.Description = &v
  8227  	return s
  8228  }
  8229  
  8230  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  8231  func (s *Site) SetGlobalNetworkId(v string) *Site {
  8232  	s.GlobalNetworkId = &v
  8233  	return s
  8234  }
  8235  
  8236  // SetLocation sets the Location field's value.
  8237  func (s *Site) SetLocation(v *Location) *Site {
  8238  	s.Location = v
  8239  	return s
  8240  }
  8241  
  8242  // SetSiteArn sets the SiteArn field's value.
  8243  func (s *Site) SetSiteArn(v string) *Site {
  8244  	s.SiteArn = &v
  8245  	return s
  8246  }
  8247  
  8248  // SetSiteId sets the SiteId field's value.
  8249  func (s *Site) SetSiteId(v string) *Site {
  8250  	s.SiteId = &v
  8251  	return s
  8252  }
  8253  
  8254  // SetState sets the State field's value.
  8255  func (s *Site) SetState(v string) *Site {
  8256  	s.State = &v
  8257  	return s
  8258  }
  8259  
  8260  // SetTags sets the Tags field's value.
  8261  func (s *Site) SetTags(v []*Tag) *Site {
  8262  	s.Tags = v
  8263  	return s
  8264  }
  8265  
  8266  // Describes a tag.
  8267  type Tag struct {
  8268  	_ struct{} `type:"structure"`
  8269  
  8270  	// The tag key.
  8271  	//
  8272  	// Length Constraints: Maximum length of 128 characters.
  8273  	Key *string `type:"string"`
  8274  
  8275  	// The tag value.
  8276  	//
  8277  	// Length Constraints: Maximum length of 256 characters.
  8278  	Value *string `type:"string"`
  8279  }
  8280  
  8281  // String returns the string representation.
  8282  //
  8283  // API parameter values that are decorated as "sensitive" in the API will not
  8284  // be included in the string output. The member name will be present, but the
  8285  // value will be replaced with "sensitive".
  8286  func (s Tag) String() string {
  8287  	return awsutil.Prettify(s)
  8288  }
  8289  
  8290  // GoString returns the string representation.
  8291  //
  8292  // API parameter values that are decorated as "sensitive" in the API will not
  8293  // be included in the string output. The member name will be present, but the
  8294  // value will be replaced with "sensitive".
  8295  func (s Tag) GoString() string {
  8296  	return s.String()
  8297  }
  8298  
  8299  // SetKey sets the Key field's value.
  8300  func (s *Tag) SetKey(v string) *Tag {
  8301  	s.Key = &v
  8302  	return s
  8303  }
  8304  
  8305  // SetValue sets the Value field's value.
  8306  func (s *Tag) SetValue(v string) *Tag {
  8307  	s.Value = &v
  8308  	return s
  8309  }
  8310  
  8311  type TagResourceInput struct {
  8312  	_ struct{} `type:"structure"`
  8313  
  8314  	// The Amazon Resource Name (ARN) of the resource.
  8315  	//
  8316  	// ResourceArn is a required field
  8317  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  8318  
  8319  	// The tags to apply to the specified resource.
  8320  	//
  8321  	// Tags is a required field
  8322  	Tags []*Tag `type:"list" required:"true"`
  8323  }
  8324  
  8325  // String returns the string representation.
  8326  //
  8327  // API parameter values that are decorated as "sensitive" in the API will not
  8328  // be included in the string output. The member name will be present, but the
  8329  // value will be replaced with "sensitive".
  8330  func (s TagResourceInput) String() string {
  8331  	return awsutil.Prettify(s)
  8332  }
  8333  
  8334  // GoString returns the string representation.
  8335  //
  8336  // API parameter values that are decorated as "sensitive" in the API will not
  8337  // be included in the string output. The member name will be present, but the
  8338  // value will be replaced with "sensitive".
  8339  func (s TagResourceInput) GoString() string {
  8340  	return s.String()
  8341  }
  8342  
  8343  // Validate inspects the fields of the type to determine if they are valid.
  8344  func (s *TagResourceInput) Validate() error {
  8345  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8346  	if s.ResourceArn == nil {
  8347  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8348  	}
  8349  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8350  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8351  	}
  8352  	if s.Tags == nil {
  8353  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8354  	}
  8355  
  8356  	if invalidParams.Len() > 0 {
  8357  		return invalidParams
  8358  	}
  8359  	return nil
  8360  }
  8361  
  8362  // SetResourceArn sets the ResourceArn field's value.
  8363  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  8364  	s.ResourceArn = &v
  8365  	return s
  8366  }
  8367  
  8368  // SetTags sets the Tags field's value.
  8369  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  8370  	s.Tags = v
  8371  	return s
  8372  }
  8373  
  8374  type TagResourceOutput struct {
  8375  	_ struct{} `type:"structure" nopayload:"true"`
  8376  }
  8377  
  8378  // String returns the string representation.
  8379  //
  8380  // API parameter values that are decorated as "sensitive" in the API will not
  8381  // be included in the string output. The member name will be present, but the
  8382  // value will be replaced with "sensitive".
  8383  func (s TagResourceOutput) String() string {
  8384  	return awsutil.Prettify(s)
  8385  }
  8386  
  8387  // GoString returns the string representation.
  8388  //
  8389  // API parameter values that are decorated as "sensitive" in the API will not
  8390  // be included in the string output. The member name will be present, but the
  8391  // value will be replaced with "sensitive".
  8392  func (s TagResourceOutput) GoString() string {
  8393  	return s.String()
  8394  }
  8395  
  8396  // The request was denied due to request throttling.
  8397  type ThrottlingException struct {
  8398  	_            struct{}                  `type:"structure"`
  8399  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8400  
  8401  	Message_ *string `locationName:"Message" type:"string"`
  8402  
  8403  	// Indicates when to retry the request.
  8404  	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
  8405  }
  8406  
  8407  // String 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 ThrottlingException) String() string {
  8413  	return awsutil.Prettify(s)
  8414  }
  8415  
  8416  // GoString returns the string representation.
  8417  //
  8418  // API parameter values that are decorated as "sensitive" in the API will not
  8419  // be included in the string output. The member name will be present, but the
  8420  // value will be replaced with "sensitive".
  8421  func (s ThrottlingException) GoString() string {
  8422  	return s.String()
  8423  }
  8424  
  8425  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  8426  	return &ThrottlingException{
  8427  		RespMetadata: v,
  8428  	}
  8429  }
  8430  
  8431  // Code returns the exception type name.
  8432  func (s *ThrottlingException) Code() string {
  8433  	return "ThrottlingException"
  8434  }
  8435  
  8436  // Message returns the exception's message.
  8437  func (s *ThrottlingException) Message() string {
  8438  	if s.Message_ != nil {
  8439  		return *s.Message_
  8440  	}
  8441  	return ""
  8442  }
  8443  
  8444  // OrigErr always returns nil, satisfies awserr.Error interface.
  8445  func (s *ThrottlingException) OrigErr() error {
  8446  	return nil
  8447  }
  8448  
  8449  func (s *ThrottlingException) Error() string {
  8450  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8451  }
  8452  
  8453  // Status code returns the HTTP status code for the request's response error.
  8454  func (s *ThrottlingException) StatusCode() int {
  8455  	return s.RespMetadata.StatusCode
  8456  }
  8457  
  8458  // RequestID returns the service's response RequestID for request.
  8459  func (s *ThrottlingException) RequestID() string {
  8460  	return s.RespMetadata.RequestID
  8461  }
  8462  
  8463  // Describes a transit gateway Connect peer association.
  8464  type TransitGatewayConnectPeerAssociation struct {
  8465  	_ struct{} `type:"structure"`
  8466  
  8467  	// The ID of the device.
  8468  	DeviceId *string `type:"string"`
  8469  
  8470  	// The ID of the global network.
  8471  	GlobalNetworkId *string `type:"string"`
  8472  
  8473  	// The ID of the link.
  8474  	LinkId *string `type:"string"`
  8475  
  8476  	// The state of the association.
  8477  	State *string `type:"string" enum:"TransitGatewayConnectPeerAssociationState"`
  8478  
  8479  	// The Amazon Resource Name (ARN) of the transit gateway Connect peer.
  8480  	TransitGatewayConnectPeerArn *string `type:"string"`
  8481  }
  8482  
  8483  // String returns the string representation.
  8484  //
  8485  // API parameter values that are decorated as "sensitive" in the API will not
  8486  // be included in the string output. The member name will be present, but the
  8487  // value will be replaced with "sensitive".
  8488  func (s TransitGatewayConnectPeerAssociation) String() string {
  8489  	return awsutil.Prettify(s)
  8490  }
  8491  
  8492  // GoString returns the string representation.
  8493  //
  8494  // API parameter values that are decorated as "sensitive" in the API will not
  8495  // be included in the string output. The member name will be present, but the
  8496  // value will be replaced with "sensitive".
  8497  func (s TransitGatewayConnectPeerAssociation) GoString() string {
  8498  	return s.String()
  8499  }
  8500  
  8501  // SetDeviceId sets the DeviceId field's value.
  8502  func (s *TransitGatewayConnectPeerAssociation) SetDeviceId(v string) *TransitGatewayConnectPeerAssociation {
  8503  	s.DeviceId = &v
  8504  	return s
  8505  }
  8506  
  8507  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  8508  func (s *TransitGatewayConnectPeerAssociation) SetGlobalNetworkId(v string) *TransitGatewayConnectPeerAssociation {
  8509  	s.GlobalNetworkId = &v
  8510  	return s
  8511  }
  8512  
  8513  // SetLinkId sets the LinkId field's value.
  8514  func (s *TransitGatewayConnectPeerAssociation) SetLinkId(v string) *TransitGatewayConnectPeerAssociation {
  8515  	s.LinkId = &v
  8516  	return s
  8517  }
  8518  
  8519  // SetState sets the State field's value.
  8520  func (s *TransitGatewayConnectPeerAssociation) SetState(v string) *TransitGatewayConnectPeerAssociation {
  8521  	s.State = &v
  8522  	return s
  8523  }
  8524  
  8525  // SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
  8526  func (s *TransitGatewayConnectPeerAssociation) SetTransitGatewayConnectPeerArn(v string) *TransitGatewayConnectPeerAssociation {
  8527  	s.TransitGatewayConnectPeerArn = &v
  8528  	return s
  8529  }
  8530  
  8531  // Describes the registration of a transit gateway to a global network.
  8532  type TransitGatewayRegistration struct {
  8533  	_ struct{} `type:"structure"`
  8534  
  8535  	// The ID of the global network.
  8536  	GlobalNetworkId *string `type:"string"`
  8537  
  8538  	// The state of the transit gateway registration.
  8539  	State *TransitGatewayRegistrationStateReason `type:"structure"`
  8540  
  8541  	// The Amazon Resource Name (ARN) of the transit gateway.
  8542  	TransitGatewayArn *string `type:"string"`
  8543  }
  8544  
  8545  // String returns the string representation.
  8546  //
  8547  // API parameter values that are decorated as "sensitive" in the API will not
  8548  // be included in the string output. The member name will be present, but the
  8549  // value will be replaced with "sensitive".
  8550  func (s TransitGatewayRegistration) String() string {
  8551  	return awsutil.Prettify(s)
  8552  }
  8553  
  8554  // GoString returns the string representation.
  8555  //
  8556  // API parameter values that are decorated as "sensitive" in the API will not
  8557  // be included in the string output. The member name will be present, but the
  8558  // value will be replaced with "sensitive".
  8559  func (s TransitGatewayRegistration) GoString() string {
  8560  	return s.String()
  8561  }
  8562  
  8563  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  8564  func (s *TransitGatewayRegistration) SetGlobalNetworkId(v string) *TransitGatewayRegistration {
  8565  	s.GlobalNetworkId = &v
  8566  	return s
  8567  }
  8568  
  8569  // SetState sets the State field's value.
  8570  func (s *TransitGatewayRegistration) SetState(v *TransitGatewayRegistrationStateReason) *TransitGatewayRegistration {
  8571  	s.State = v
  8572  	return s
  8573  }
  8574  
  8575  // SetTransitGatewayArn sets the TransitGatewayArn field's value.
  8576  func (s *TransitGatewayRegistration) SetTransitGatewayArn(v string) *TransitGatewayRegistration {
  8577  	s.TransitGatewayArn = &v
  8578  	return s
  8579  }
  8580  
  8581  // Describes the status of a transit gateway registration.
  8582  type TransitGatewayRegistrationStateReason struct {
  8583  	_ struct{} `type:"structure"`
  8584  
  8585  	// The code for the state reason.
  8586  	Code *string `type:"string" enum:"TransitGatewayRegistrationState"`
  8587  
  8588  	// The message for the state reason.
  8589  	Message *string `type:"string"`
  8590  }
  8591  
  8592  // String returns the string representation.
  8593  //
  8594  // API parameter values that are decorated as "sensitive" in the API will not
  8595  // be included in the string output. The member name will be present, but the
  8596  // value will be replaced with "sensitive".
  8597  func (s TransitGatewayRegistrationStateReason) String() string {
  8598  	return awsutil.Prettify(s)
  8599  }
  8600  
  8601  // GoString returns the string representation.
  8602  //
  8603  // API parameter values that are decorated as "sensitive" in the API will not
  8604  // be included in the string output. The member name will be present, but the
  8605  // value will be replaced with "sensitive".
  8606  func (s TransitGatewayRegistrationStateReason) GoString() string {
  8607  	return s.String()
  8608  }
  8609  
  8610  // SetCode sets the Code field's value.
  8611  func (s *TransitGatewayRegistrationStateReason) SetCode(v string) *TransitGatewayRegistrationStateReason {
  8612  	s.Code = &v
  8613  	return s
  8614  }
  8615  
  8616  // SetMessage sets the Message field's value.
  8617  func (s *TransitGatewayRegistrationStateReason) SetMessage(v string) *TransitGatewayRegistrationStateReason {
  8618  	s.Message = &v
  8619  	return s
  8620  }
  8621  
  8622  type UntagResourceInput struct {
  8623  	_ struct{} `type:"structure" nopayload:"true"`
  8624  
  8625  	// The Amazon Resource Name (ARN) of the resource.
  8626  	//
  8627  	// ResourceArn is a required field
  8628  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  8629  
  8630  	// The tag keys to remove from the specified resource.
  8631  	//
  8632  	// TagKeys is a required field
  8633  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  8634  }
  8635  
  8636  // String returns the string representation.
  8637  //
  8638  // API parameter values that are decorated as "sensitive" in the API will not
  8639  // be included in the string output. The member name will be present, but the
  8640  // value will be replaced with "sensitive".
  8641  func (s UntagResourceInput) String() string {
  8642  	return awsutil.Prettify(s)
  8643  }
  8644  
  8645  // GoString returns the string representation.
  8646  //
  8647  // API parameter values that are decorated as "sensitive" in the API will not
  8648  // be included in the string output. The member name will be present, but the
  8649  // value will be replaced with "sensitive".
  8650  func (s UntagResourceInput) GoString() string {
  8651  	return s.String()
  8652  }
  8653  
  8654  // Validate inspects the fields of the type to determine if they are valid.
  8655  func (s *UntagResourceInput) Validate() error {
  8656  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  8657  	if s.ResourceArn == nil {
  8658  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8659  	}
  8660  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8661  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8662  	}
  8663  	if s.TagKeys == nil {
  8664  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  8665  	}
  8666  
  8667  	if invalidParams.Len() > 0 {
  8668  		return invalidParams
  8669  	}
  8670  	return nil
  8671  }
  8672  
  8673  // SetResourceArn sets the ResourceArn field's value.
  8674  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  8675  	s.ResourceArn = &v
  8676  	return s
  8677  }
  8678  
  8679  // SetTagKeys sets the TagKeys field's value.
  8680  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  8681  	s.TagKeys = v
  8682  	return s
  8683  }
  8684  
  8685  type UntagResourceOutput struct {
  8686  	_ struct{} `type:"structure" nopayload:"true"`
  8687  }
  8688  
  8689  // String returns the string representation.
  8690  //
  8691  // API parameter values that are decorated as "sensitive" in the API will not
  8692  // be included in the string output. The member name will be present, but the
  8693  // value will be replaced with "sensitive".
  8694  func (s UntagResourceOutput) String() string {
  8695  	return awsutil.Prettify(s)
  8696  }
  8697  
  8698  // GoString returns the string representation.
  8699  //
  8700  // API parameter values that are decorated as "sensitive" in the API will not
  8701  // be included in the string output. The member name will be present, but the
  8702  // value will be replaced with "sensitive".
  8703  func (s UntagResourceOutput) GoString() string {
  8704  	return s.String()
  8705  }
  8706  
  8707  type UpdateConnectionInput struct {
  8708  	_ struct{} `type:"structure"`
  8709  
  8710  	// The ID of the link for the second device in the connection.
  8711  	ConnectedLinkId *string `type:"string"`
  8712  
  8713  	// The ID of the connection.
  8714  	//
  8715  	// ConnectionId is a required field
  8716  	ConnectionId *string `location:"uri" locationName:"connectionId" type:"string" required:"true"`
  8717  
  8718  	// A description of the connection.
  8719  	//
  8720  	// Length Constraints: Maximum length of 256 characters.
  8721  	Description *string `type:"string"`
  8722  
  8723  	// The ID of the global network.
  8724  	//
  8725  	// GlobalNetworkId is a required field
  8726  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  8727  
  8728  	// The ID of the link for the first device in the connection.
  8729  	LinkId *string `type:"string"`
  8730  }
  8731  
  8732  // String returns the string representation.
  8733  //
  8734  // API parameter values that are decorated as "sensitive" in the API will not
  8735  // be included in the string output. The member name will be present, but the
  8736  // value will be replaced with "sensitive".
  8737  func (s UpdateConnectionInput) String() string {
  8738  	return awsutil.Prettify(s)
  8739  }
  8740  
  8741  // GoString returns the string representation.
  8742  //
  8743  // API parameter values that are decorated as "sensitive" in the API will not
  8744  // be included in the string output. The member name will be present, but the
  8745  // value will be replaced with "sensitive".
  8746  func (s UpdateConnectionInput) GoString() string {
  8747  	return s.String()
  8748  }
  8749  
  8750  // Validate inspects the fields of the type to determine if they are valid.
  8751  func (s *UpdateConnectionInput) Validate() error {
  8752  	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionInput"}
  8753  	if s.ConnectionId == nil {
  8754  		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
  8755  	}
  8756  	if s.ConnectionId != nil && len(*s.ConnectionId) < 1 {
  8757  		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 1))
  8758  	}
  8759  	if s.GlobalNetworkId == nil {
  8760  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  8761  	}
  8762  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  8763  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  8764  	}
  8765  
  8766  	if invalidParams.Len() > 0 {
  8767  		return invalidParams
  8768  	}
  8769  	return nil
  8770  }
  8771  
  8772  // SetConnectedLinkId sets the ConnectedLinkId field's value.
  8773  func (s *UpdateConnectionInput) SetConnectedLinkId(v string) *UpdateConnectionInput {
  8774  	s.ConnectedLinkId = &v
  8775  	return s
  8776  }
  8777  
  8778  // SetConnectionId sets the ConnectionId field's value.
  8779  func (s *UpdateConnectionInput) SetConnectionId(v string) *UpdateConnectionInput {
  8780  	s.ConnectionId = &v
  8781  	return s
  8782  }
  8783  
  8784  // SetDescription sets the Description field's value.
  8785  func (s *UpdateConnectionInput) SetDescription(v string) *UpdateConnectionInput {
  8786  	s.Description = &v
  8787  	return s
  8788  }
  8789  
  8790  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  8791  func (s *UpdateConnectionInput) SetGlobalNetworkId(v string) *UpdateConnectionInput {
  8792  	s.GlobalNetworkId = &v
  8793  	return s
  8794  }
  8795  
  8796  // SetLinkId sets the LinkId field's value.
  8797  func (s *UpdateConnectionInput) SetLinkId(v string) *UpdateConnectionInput {
  8798  	s.LinkId = &v
  8799  	return s
  8800  }
  8801  
  8802  type UpdateConnectionOutput struct {
  8803  	_ struct{} `type:"structure"`
  8804  
  8805  	// Information about the connection.
  8806  	Connection *Connection `type:"structure"`
  8807  }
  8808  
  8809  // String returns the string representation.
  8810  //
  8811  // API parameter values that are decorated as "sensitive" in the API will not
  8812  // be included in the string output. The member name will be present, but the
  8813  // value will be replaced with "sensitive".
  8814  func (s UpdateConnectionOutput) String() string {
  8815  	return awsutil.Prettify(s)
  8816  }
  8817  
  8818  // GoString returns the string representation.
  8819  //
  8820  // API parameter values that are decorated as "sensitive" in the API will not
  8821  // be included in the string output. The member name will be present, but the
  8822  // value will be replaced with "sensitive".
  8823  func (s UpdateConnectionOutput) GoString() string {
  8824  	return s.String()
  8825  }
  8826  
  8827  // SetConnection sets the Connection field's value.
  8828  func (s *UpdateConnectionOutput) SetConnection(v *Connection) *UpdateConnectionOutput {
  8829  	s.Connection = v
  8830  	return s
  8831  }
  8832  
  8833  type UpdateDeviceInput struct {
  8834  	_ struct{} `type:"structure"`
  8835  
  8836  	// The AWS location of the device.
  8837  	AWSLocation *AWSLocation `type:"structure"`
  8838  
  8839  	// A description of the device.
  8840  	//
  8841  	// Length Constraints: Maximum length of 256 characters.
  8842  	Description *string `type:"string"`
  8843  
  8844  	// The ID of the device.
  8845  	//
  8846  	// DeviceId is a required field
  8847  	DeviceId *string `location:"uri" locationName:"deviceId" type:"string" required:"true"`
  8848  
  8849  	// The ID of the global network.
  8850  	//
  8851  	// GlobalNetworkId is a required field
  8852  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  8853  
  8854  	// Describes a location.
  8855  	//
  8856  	// Location is a sensitive parameter and its value will be
  8857  	// replaced with "sensitive" in string returned by UpdateDeviceInput's
  8858  	// String and GoString methods.
  8859  	Location *Location `type:"structure" sensitive:"true"`
  8860  
  8861  	// The model of the device.
  8862  	//
  8863  	// Length Constraints: Maximum length of 128 characters.
  8864  	Model *string `type:"string"`
  8865  
  8866  	// The serial number of the device.
  8867  	//
  8868  	// Length Constraints: Maximum length of 128 characters.
  8869  	SerialNumber *string `type:"string"`
  8870  
  8871  	// The ID of the site.
  8872  	SiteId *string `type:"string"`
  8873  
  8874  	// The type of the device.
  8875  	Type *string `type:"string"`
  8876  
  8877  	// The vendor of the device.
  8878  	//
  8879  	// Length Constraints: Maximum length of 128 characters.
  8880  	Vendor *string `type:"string"`
  8881  }
  8882  
  8883  // String returns the string representation.
  8884  //
  8885  // API parameter values that are decorated as "sensitive" in the API will not
  8886  // be included in the string output. The member name will be present, but the
  8887  // value will be replaced with "sensitive".
  8888  func (s UpdateDeviceInput) String() string {
  8889  	return awsutil.Prettify(s)
  8890  }
  8891  
  8892  // GoString returns the string representation.
  8893  //
  8894  // API parameter values that are decorated as "sensitive" in the API will not
  8895  // be included in the string output. The member name will be present, but the
  8896  // value will be replaced with "sensitive".
  8897  func (s UpdateDeviceInput) GoString() string {
  8898  	return s.String()
  8899  }
  8900  
  8901  // Validate inspects the fields of the type to determine if they are valid.
  8902  func (s *UpdateDeviceInput) Validate() error {
  8903  	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInput"}
  8904  	if s.DeviceId == nil {
  8905  		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
  8906  	}
  8907  	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
  8908  		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
  8909  	}
  8910  	if s.GlobalNetworkId == nil {
  8911  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  8912  	}
  8913  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  8914  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  8915  	}
  8916  
  8917  	if invalidParams.Len() > 0 {
  8918  		return invalidParams
  8919  	}
  8920  	return nil
  8921  }
  8922  
  8923  // SetAWSLocation sets the AWSLocation field's value.
  8924  func (s *UpdateDeviceInput) SetAWSLocation(v *AWSLocation) *UpdateDeviceInput {
  8925  	s.AWSLocation = v
  8926  	return s
  8927  }
  8928  
  8929  // SetDescription sets the Description field's value.
  8930  func (s *UpdateDeviceInput) SetDescription(v string) *UpdateDeviceInput {
  8931  	s.Description = &v
  8932  	return s
  8933  }
  8934  
  8935  // SetDeviceId sets the DeviceId field's value.
  8936  func (s *UpdateDeviceInput) SetDeviceId(v string) *UpdateDeviceInput {
  8937  	s.DeviceId = &v
  8938  	return s
  8939  }
  8940  
  8941  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  8942  func (s *UpdateDeviceInput) SetGlobalNetworkId(v string) *UpdateDeviceInput {
  8943  	s.GlobalNetworkId = &v
  8944  	return s
  8945  }
  8946  
  8947  // SetLocation sets the Location field's value.
  8948  func (s *UpdateDeviceInput) SetLocation(v *Location) *UpdateDeviceInput {
  8949  	s.Location = v
  8950  	return s
  8951  }
  8952  
  8953  // SetModel sets the Model field's value.
  8954  func (s *UpdateDeviceInput) SetModel(v string) *UpdateDeviceInput {
  8955  	s.Model = &v
  8956  	return s
  8957  }
  8958  
  8959  // SetSerialNumber sets the SerialNumber field's value.
  8960  func (s *UpdateDeviceInput) SetSerialNumber(v string) *UpdateDeviceInput {
  8961  	s.SerialNumber = &v
  8962  	return s
  8963  }
  8964  
  8965  // SetSiteId sets the SiteId field's value.
  8966  func (s *UpdateDeviceInput) SetSiteId(v string) *UpdateDeviceInput {
  8967  	s.SiteId = &v
  8968  	return s
  8969  }
  8970  
  8971  // SetType sets the Type field's value.
  8972  func (s *UpdateDeviceInput) SetType(v string) *UpdateDeviceInput {
  8973  	s.Type = &v
  8974  	return s
  8975  }
  8976  
  8977  // SetVendor sets the Vendor field's value.
  8978  func (s *UpdateDeviceInput) SetVendor(v string) *UpdateDeviceInput {
  8979  	s.Vendor = &v
  8980  	return s
  8981  }
  8982  
  8983  type UpdateDeviceOutput struct {
  8984  	_ struct{} `type:"structure"`
  8985  
  8986  	// Information about the device.
  8987  	Device *Device `type:"structure"`
  8988  }
  8989  
  8990  // String returns the string representation.
  8991  //
  8992  // API parameter values that are decorated as "sensitive" in the API will not
  8993  // be included in the string output. The member name will be present, but the
  8994  // value will be replaced with "sensitive".
  8995  func (s UpdateDeviceOutput) String() string {
  8996  	return awsutil.Prettify(s)
  8997  }
  8998  
  8999  // GoString returns the string representation.
  9000  //
  9001  // API parameter values that are decorated as "sensitive" in the API will not
  9002  // be included in the string output. The member name will be present, but the
  9003  // value will be replaced with "sensitive".
  9004  func (s UpdateDeviceOutput) GoString() string {
  9005  	return s.String()
  9006  }
  9007  
  9008  // SetDevice sets the Device field's value.
  9009  func (s *UpdateDeviceOutput) SetDevice(v *Device) *UpdateDeviceOutput {
  9010  	s.Device = v
  9011  	return s
  9012  }
  9013  
  9014  type UpdateGlobalNetworkInput struct {
  9015  	_ struct{} `type:"structure"`
  9016  
  9017  	// A description of the global network.
  9018  	//
  9019  	// Length Constraints: Maximum length of 256 characters.
  9020  	Description *string `type:"string"`
  9021  
  9022  	// The ID of your global network.
  9023  	//
  9024  	// GlobalNetworkId is a required field
  9025  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  9026  }
  9027  
  9028  // String returns the string representation.
  9029  //
  9030  // API parameter values that are decorated as "sensitive" in the API will not
  9031  // be included in the string output. The member name will be present, but the
  9032  // value will be replaced with "sensitive".
  9033  func (s UpdateGlobalNetworkInput) String() string {
  9034  	return awsutil.Prettify(s)
  9035  }
  9036  
  9037  // GoString returns the string representation.
  9038  //
  9039  // API parameter values that are decorated as "sensitive" in the API will not
  9040  // be included in the string output. The member name will be present, but the
  9041  // value will be replaced with "sensitive".
  9042  func (s UpdateGlobalNetworkInput) GoString() string {
  9043  	return s.String()
  9044  }
  9045  
  9046  // Validate inspects the fields of the type to determine if they are valid.
  9047  func (s *UpdateGlobalNetworkInput) Validate() error {
  9048  	invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalNetworkInput"}
  9049  	if s.GlobalNetworkId == nil {
  9050  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  9051  	}
  9052  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  9053  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  9054  	}
  9055  
  9056  	if invalidParams.Len() > 0 {
  9057  		return invalidParams
  9058  	}
  9059  	return nil
  9060  }
  9061  
  9062  // SetDescription sets the Description field's value.
  9063  func (s *UpdateGlobalNetworkInput) SetDescription(v string) *UpdateGlobalNetworkInput {
  9064  	s.Description = &v
  9065  	return s
  9066  }
  9067  
  9068  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  9069  func (s *UpdateGlobalNetworkInput) SetGlobalNetworkId(v string) *UpdateGlobalNetworkInput {
  9070  	s.GlobalNetworkId = &v
  9071  	return s
  9072  }
  9073  
  9074  type UpdateGlobalNetworkOutput struct {
  9075  	_ struct{} `type:"structure"`
  9076  
  9077  	// Information about the global network object.
  9078  	GlobalNetwork *GlobalNetwork `type:"structure"`
  9079  }
  9080  
  9081  // String returns the string representation.
  9082  //
  9083  // API parameter values that are decorated as "sensitive" in the API will not
  9084  // be included in the string output. The member name will be present, but the
  9085  // value will be replaced with "sensitive".
  9086  func (s UpdateGlobalNetworkOutput) String() string {
  9087  	return awsutil.Prettify(s)
  9088  }
  9089  
  9090  // GoString returns the string representation.
  9091  //
  9092  // API parameter values that are decorated as "sensitive" in the API will not
  9093  // be included in the string output. The member name will be present, but the
  9094  // value will be replaced with "sensitive".
  9095  func (s UpdateGlobalNetworkOutput) GoString() string {
  9096  	return s.String()
  9097  }
  9098  
  9099  // SetGlobalNetwork sets the GlobalNetwork field's value.
  9100  func (s *UpdateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *UpdateGlobalNetworkOutput {
  9101  	s.GlobalNetwork = v
  9102  	return s
  9103  }
  9104  
  9105  type UpdateLinkInput struct {
  9106  	_ struct{} `type:"structure"`
  9107  
  9108  	// The upload and download speed in Mbps.
  9109  	Bandwidth *Bandwidth `type:"structure"`
  9110  
  9111  	// A description of the link.
  9112  	//
  9113  	// Length Constraints: Maximum length of 256 characters.
  9114  	Description *string `type:"string"`
  9115  
  9116  	// The ID of the global network.
  9117  	//
  9118  	// GlobalNetworkId is a required field
  9119  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  9120  
  9121  	// The ID of the link.
  9122  	//
  9123  	// LinkId is a required field
  9124  	LinkId *string `location:"uri" locationName:"linkId" type:"string" required:"true"`
  9125  
  9126  	// The provider of the link.
  9127  	//
  9128  	// Length Constraints: Maximum length of 128 characters.
  9129  	Provider *string `type:"string"`
  9130  
  9131  	// The type of the link.
  9132  	//
  9133  	// Length Constraints: Maximum length of 128 characters.
  9134  	Type *string `type:"string"`
  9135  }
  9136  
  9137  // String returns the string representation.
  9138  //
  9139  // API parameter values that are decorated as "sensitive" in the API will not
  9140  // be included in the string output. The member name will be present, but the
  9141  // value will be replaced with "sensitive".
  9142  func (s UpdateLinkInput) String() string {
  9143  	return awsutil.Prettify(s)
  9144  }
  9145  
  9146  // GoString returns the string representation.
  9147  //
  9148  // API parameter values that are decorated as "sensitive" in the API will not
  9149  // be included in the string output. The member name will be present, but the
  9150  // value will be replaced with "sensitive".
  9151  func (s UpdateLinkInput) GoString() string {
  9152  	return s.String()
  9153  }
  9154  
  9155  // Validate inspects the fields of the type to determine if they are valid.
  9156  func (s *UpdateLinkInput) Validate() error {
  9157  	invalidParams := request.ErrInvalidParams{Context: "UpdateLinkInput"}
  9158  	if s.GlobalNetworkId == nil {
  9159  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  9160  	}
  9161  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  9162  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  9163  	}
  9164  	if s.LinkId == nil {
  9165  		invalidParams.Add(request.NewErrParamRequired("LinkId"))
  9166  	}
  9167  	if s.LinkId != nil && len(*s.LinkId) < 1 {
  9168  		invalidParams.Add(request.NewErrParamMinLen("LinkId", 1))
  9169  	}
  9170  
  9171  	if invalidParams.Len() > 0 {
  9172  		return invalidParams
  9173  	}
  9174  	return nil
  9175  }
  9176  
  9177  // SetBandwidth sets the Bandwidth field's value.
  9178  func (s *UpdateLinkInput) SetBandwidth(v *Bandwidth) *UpdateLinkInput {
  9179  	s.Bandwidth = v
  9180  	return s
  9181  }
  9182  
  9183  // SetDescription sets the Description field's value.
  9184  func (s *UpdateLinkInput) SetDescription(v string) *UpdateLinkInput {
  9185  	s.Description = &v
  9186  	return s
  9187  }
  9188  
  9189  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  9190  func (s *UpdateLinkInput) SetGlobalNetworkId(v string) *UpdateLinkInput {
  9191  	s.GlobalNetworkId = &v
  9192  	return s
  9193  }
  9194  
  9195  // SetLinkId sets the LinkId field's value.
  9196  func (s *UpdateLinkInput) SetLinkId(v string) *UpdateLinkInput {
  9197  	s.LinkId = &v
  9198  	return s
  9199  }
  9200  
  9201  // SetProvider sets the Provider field's value.
  9202  func (s *UpdateLinkInput) SetProvider(v string) *UpdateLinkInput {
  9203  	s.Provider = &v
  9204  	return s
  9205  }
  9206  
  9207  // SetType sets the Type field's value.
  9208  func (s *UpdateLinkInput) SetType(v string) *UpdateLinkInput {
  9209  	s.Type = &v
  9210  	return s
  9211  }
  9212  
  9213  type UpdateLinkOutput struct {
  9214  	_ struct{} `type:"structure"`
  9215  
  9216  	// Information about the link.
  9217  	Link *Link `type:"structure"`
  9218  }
  9219  
  9220  // String returns the string representation.
  9221  //
  9222  // API parameter values that are decorated as "sensitive" in the API will not
  9223  // be included in the string output. The member name will be present, but the
  9224  // value will be replaced with "sensitive".
  9225  func (s UpdateLinkOutput) String() string {
  9226  	return awsutil.Prettify(s)
  9227  }
  9228  
  9229  // GoString returns the string representation.
  9230  //
  9231  // API parameter values that are decorated as "sensitive" in the API will not
  9232  // be included in the string output. The member name will be present, but the
  9233  // value will be replaced with "sensitive".
  9234  func (s UpdateLinkOutput) GoString() string {
  9235  	return s.String()
  9236  }
  9237  
  9238  // SetLink sets the Link field's value.
  9239  func (s *UpdateLinkOutput) SetLink(v *Link) *UpdateLinkOutput {
  9240  	s.Link = v
  9241  	return s
  9242  }
  9243  
  9244  type UpdateSiteInput struct {
  9245  	_ struct{} `type:"structure"`
  9246  
  9247  	// A description of your site.
  9248  	//
  9249  	// Length Constraints: Maximum length of 256 characters.
  9250  	Description *string `type:"string"`
  9251  
  9252  	// The ID of the global network.
  9253  	//
  9254  	// GlobalNetworkId is a required field
  9255  	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
  9256  
  9257  	// The site location:
  9258  	//
  9259  	//    * Address: The physical address of the site.
  9260  	//
  9261  	//    * Latitude: The latitude of the site.
  9262  	//
  9263  	//    * Longitude: The longitude of the site.
  9264  	//
  9265  	// Location is a sensitive parameter and its value will be
  9266  	// replaced with "sensitive" in string returned by UpdateSiteInput's
  9267  	// String and GoString methods.
  9268  	Location *Location `type:"structure" sensitive:"true"`
  9269  
  9270  	// The ID of your site.
  9271  	//
  9272  	// SiteId is a required field
  9273  	SiteId *string `location:"uri" locationName:"siteId" type:"string" required:"true"`
  9274  }
  9275  
  9276  // String returns the string representation.
  9277  //
  9278  // API parameter values that are decorated as "sensitive" in the API will not
  9279  // be included in the string output. The member name will be present, but the
  9280  // value will be replaced with "sensitive".
  9281  func (s UpdateSiteInput) String() string {
  9282  	return awsutil.Prettify(s)
  9283  }
  9284  
  9285  // GoString returns the string representation.
  9286  //
  9287  // API parameter values that are decorated as "sensitive" in the API will not
  9288  // be included in the string output. The member name will be present, but the
  9289  // value will be replaced with "sensitive".
  9290  func (s UpdateSiteInput) GoString() string {
  9291  	return s.String()
  9292  }
  9293  
  9294  // Validate inspects the fields of the type to determine if they are valid.
  9295  func (s *UpdateSiteInput) Validate() error {
  9296  	invalidParams := request.ErrInvalidParams{Context: "UpdateSiteInput"}
  9297  	if s.GlobalNetworkId == nil {
  9298  		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
  9299  	}
  9300  	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
  9301  		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
  9302  	}
  9303  	if s.SiteId == nil {
  9304  		invalidParams.Add(request.NewErrParamRequired("SiteId"))
  9305  	}
  9306  	if s.SiteId != nil && len(*s.SiteId) < 1 {
  9307  		invalidParams.Add(request.NewErrParamMinLen("SiteId", 1))
  9308  	}
  9309  
  9310  	if invalidParams.Len() > 0 {
  9311  		return invalidParams
  9312  	}
  9313  	return nil
  9314  }
  9315  
  9316  // SetDescription sets the Description field's value.
  9317  func (s *UpdateSiteInput) SetDescription(v string) *UpdateSiteInput {
  9318  	s.Description = &v
  9319  	return s
  9320  }
  9321  
  9322  // SetGlobalNetworkId sets the GlobalNetworkId field's value.
  9323  func (s *UpdateSiteInput) SetGlobalNetworkId(v string) *UpdateSiteInput {
  9324  	s.GlobalNetworkId = &v
  9325  	return s
  9326  }
  9327  
  9328  // SetLocation sets the Location field's value.
  9329  func (s *UpdateSiteInput) SetLocation(v *Location) *UpdateSiteInput {
  9330  	s.Location = v
  9331  	return s
  9332  }
  9333  
  9334  // SetSiteId sets the SiteId field's value.
  9335  func (s *UpdateSiteInput) SetSiteId(v string) *UpdateSiteInput {
  9336  	s.SiteId = &v
  9337  	return s
  9338  }
  9339  
  9340  type UpdateSiteOutput struct {
  9341  	_ struct{} `type:"structure"`
  9342  
  9343  	// Information about the site.
  9344  	Site *Site `type:"structure"`
  9345  }
  9346  
  9347  // String returns the string representation.
  9348  //
  9349  // API parameter values that are decorated as "sensitive" in the API will not
  9350  // be included in the string output. The member name will be present, but the
  9351  // value will be replaced with "sensitive".
  9352  func (s UpdateSiteOutput) String() string {
  9353  	return awsutil.Prettify(s)
  9354  }
  9355  
  9356  // GoString returns the string representation.
  9357  //
  9358  // API parameter values that are decorated as "sensitive" in the API will not
  9359  // be included in the string output. The member name will be present, but the
  9360  // value will be replaced with "sensitive".
  9361  func (s UpdateSiteOutput) GoString() string {
  9362  	return s.String()
  9363  }
  9364  
  9365  // SetSite sets the Site field's value.
  9366  func (s *UpdateSiteOutput) SetSite(v *Site) *UpdateSiteOutput {
  9367  	s.Site = v
  9368  	return s
  9369  }
  9370  
  9371  // The input fails to satisfy the constraints.
  9372  type ValidationException struct {
  9373  	_            struct{}                  `type:"structure"`
  9374  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9375  
  9376  	// The fields that caused the error, if applicable.
  9377  	Fields []*ValidationExceptionField `type:"list"`
  9378  
  9379  	Message_ *string `locationName:"Message" type:"string"`
  9380  
  9381  	// The reason for the error.
  9382  	Reason *string `type:"string" enum:"ValidationExceptionReason"`
  9383  }
  9384  
  9385  // String returns the string representation.
  9386  //
  9387  // API parameter values that are decorated as "sensitive" in the API will not
  9388  // be included in the string output. The member name will be present, but the
  9389  // value will be replaced with "sensitive".
  9390  func (s ValidationException) String() string {
  9391  	return awsutil.Prettify(s)
  9392  }
  9393  
  9394  // GoString returns the string representation.
  9395  //
  9396  // API parameter values that are decorated as "sensitive" in the API will not
  9397  // be included in the string output. The member name will be present, but the
  9398  // value will be replaced with "sensitive".
  9399  func (s ValidationException) GoString() string {
  9400  	return s.String()
  9401  }
  9402  
  9403  func newErrorValidationException(v protocol.ResponseMetadata) error {
  9404  	return &ValidationException{
  9405  		RespMetadata: v,
  9406  	}
  9407  }
  9408  
  9409  // Code returns the exception type name.
  9410  func (s *ValidationException) Code() string {
  9411  	return "ValidationException"
  9412  }
  9413  
  9414  // Message returns the exception's message.
  9415  func (s *ValidationException) Message() string {
  9416  	if s.Message_ != nil {
  9417  		return *s.Message_
  9418  	}
  9419  	return ""
  9420  }
  9421  
  9422  // OrigErr always returns nil, satisfies awserr.Error interface.
  9423  func (s *ValidationException) OrigErr() error {
  9424  	return nil
  9425  }
  9426  
  9427  func (s *ValidationException) Error() string {
  9428  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9429  }
  9430  
  9431  // Status code returns the HTTP status code for the request's response error.
  9432  func (s *ValidationException) StatusCode() int {
  9433  	return s.RespMetadata.StatusCode
  9434  }
  9435  
  9436  // RequestID returns the service's response RequestID for request.
  9437  func (s *ValidationException) RequestID() string {
  9438  	return s.RespMetadata.RequestID
  9439  }
  9440  
  9441  // Describes a validation exception for a field.
  9442  type ValidationExceptionField struct {
  9443  	_ struct{} `type:"structure"`
  9444  
  9445  	// The message for the field.
  9446  	//
  9447  	// Message is a required field
  9448  	Message *string `type:"string" required:"true"`
  9449  
  9450  	// The name of the field.
  9451  	//
  9452  	// Name is a required field
  9453  	Name *string `type:"string" required:"true"`
  9454  }
  9455  
  9456  // String returns the string representation.
  9457  //
  9458  // API parameter values that are decorated as "sensitive" in the API will not
  9459  // be included in the string output. The member name will be present, but the
  9460  // value will be replaced with "sensitive".
  9461  func (s ValidationExceptionField) String() string {
  9462  	return awsutil.Prettify(s)
  9463  }
  9464  
  9465  // GoString returns the string representation.
  9466  //
  9467  // API parameter values that are decorated as "sensitive" in the API will not
  9468  // be included in the string output. The member name will be present, but the
  9469  // value will be replaced with "sensitive".
  9470  func (s ValidationExceptionField) GoString() string {
  9471  	return s.String()
  9472  }
  9473  
  9474  // SetMessage sets the Message field's value.
  9475  func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
  9476  	s.Message = &v
  9477  	return s
  9478  }
  9479  
  9480  // SetName sets the Name field's value.
  9481  func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
  9482  	s.Name = &v
  9483  	return s
  9484  }
  9485  
  9486  const (
  9487  	// ConnectionStatePending is a ConnectionState enum value
  9488  	ConnectionStatePending = "PENDING"
  9489  
  9490  	// ConnectionStateAvailable is a ConnectionState enum value
  9491  	ConnectionStateAvailable = "AVAILABLE"
  9492  
  9493  	// ConnectionStateDeleting is a ConnectionState enum value
  9494  	ConnectionStateDeleting = "DELETING"
  9495  
  9496  	// ConnectionStateUpdating is a ConnectionState enum value
  9497  	ConnectionStateUpdating = "UPDATING"
  9498  )
  9499  
  9500  // ConnectionState_Values returns all elements of the ConnectionState enum
  9501  func ConnectionState_Values() []string {
  9502  	return []string{
  9503  		ConnectionStatePending,
  9504  		ConnectionStateAvailable,
  9505  		ConnectionStateDeleting,
  9506  		ConnectionStateUpdating,
  9507  	}
  9508  }
  9509  
  9510  const (
  9511  	// CustomerGatewayAssociationStatePending is a CustomerGatewayAssociationState enum value
  9512  	CustomerGatewayAssociationStatePending = "PENDING"
  9513  
  9514  	// CustomerGatewayAssociationStateAvailable is a CustomerGatewayAssociationState enum value
  9515  	CustomerGatewayAssociationStateAvailable = "AVAILABLE"
  9516  
  9517  	// CustomerGatewayAssociationStateDeleting is a CustomerGatewayAssociationState enum value
  9518  	CustomerGatewayAssociationStateDeleting = "DELETING"
  9519  
  9520  	// CustomerGatewayAssociationStateDeleted is a CustomerGatewayAssociationState enum value
  9521  	CustomerGatewayAssociationStateDeleted = "DELETED"
  9522  )
  9523  
  9524  // CustomerGatewayAssociationState_Values returns all elements of the CustomerGatewayAssociationState enum
  9525  func CustomerGatewayAssociationState_Values() []string {
  9526  	return []string{
  9527  		CustomerGatewayAssociationStatePending,
  9528  		CustomerGatewayAssociationStateAvailable,
  9529  		CustomerGatewayAssociationStateDeleting,
  9530  		CustomerGatewayAssociationStateDeleted,
  9531  	}
  9532  }
  9533  
  9534  const (
  9535  	// DeviceStatePending is a DeviceState enum value
  9536  	DeviceStatePending = "PENDING"
  9537  
  9538  	// DeviceStateAvailable is a DeviceState enum value
  9539  	DeviceStateAvailable = "AVAILABLE"
  9540  
  9541  	// DeviceStateDeleting is a DeviceState enum value
  9542  	DeviceStateDeleting = "DELETING"
  9543  
  9544  	// DeviceStateUpdating is a DeviceState enum value
  9545  	DeviceStateUpdating = "UPDATING"
  9546  )
  9547  
  9548  // DeviceState_Values returns all elements of the DeviceState enum
  9549  func DeviceState_Values() []string {
  9550  	return []string{
  9551  		DeviceStatePending,
  9552  		DeviceStateAvailable,
  9553  		DeviceStateDeleting,
  9554  		DeviceStateUpdating,
  9555  	}
  9556  }
  9557  
  9558  const (
  9559  	// GlobalNetworkStatePending is a GlobalNetworkState enum value
  9560  	GlobalNetworkStatePending = "PENDING"
  9561  
  9562  	// GlobalNetworkStateAvailable is a GlobalNetworkState enum value
  9563  	GlobalNetworkStateAvailable = "AVAILABLE"
  9564  
  9565  	// GlobalNetworkStateDeleting is a GlobalNetworkState enum value
  9566  	GlobalNetworkStateDeleting = "DELETING"
  9567  
  9568  	// GlobalNetworkStateUpdating is a GlobalNetworkState enum value
  9569  	GlobalNetworkStateUpdating = "UPDATING"
  9570  )
  9571  
  9572  // GlobalNetworkState_Values returns all elements of the GlobalNetworkState enum
  9573  func GlobalNetworkState_Values() []string {
  9574  	return []string{
  9575  		GlobalNetworkStatePending,
  9576  		GlobalNetworkStateAvailable,
  9577  		GlobalNetworkStateDeleting,
  9578  		GlobalNetworkStateUpdating,
  9579  	}
  9580  }
  9581  
  9582  const (
  9583  	// LinkAssociationStatePending is a LinkAssociationState enum value
  9584  	LinkAssociationStatePending = "PENDING"
  9585  
  9586  	// LinkAssociationStateAvailable is a LinkAssociationState enum value
  9587  	LinkAssociationStateAvailable = "AVAILABLE"
  9588  
  9589  	// LinkAssociationStateDeleting is a LinkAssociationState enum value
  9590  	LinkAssociationStateDeleting = "DELETING"
  9591  
  9592  	// LinkAssociationStateDeleted is a LinkAssociationState enum value
  9593  	LinkAssociationStateDeleted = "DELETED"
  9594  )
  9595  
  9596  // LinkAssociationState_Values returns all elements of the LinkAssociationState enum
  9597  func LinkAssociationState_Values() []string {
  9598  	return []string{
  9599  		LinkAssociationStatePending,
  9600  		LinkAssociationStateAvailable,
  9601  		LinkAssociationStateDeleting,
  9602  		LinkAssociationStateDeleted,
  9603  	}
  9604  }
  9605  
  9606  const (
  9607  	// LinkStatePending is a LinkState enum value
  9608  	LinkStatePending = "PENDING"
  9609  
  9610  	// LinkStateAvailable is a LinkState enum value
  9611  	LinkStateAvailable = "AVAILABLE"
  9612  
  9613  	// LinkStateDeleting is a LinkState enum value
  9614  	LinkStateDeleting = "DELETING"
  9615  
  9616  	// LinkStateUpdating is a LinkState enum value
  9617  	LinkStateUpdating = "UPDATING"
  9618  )
  9619  
  9620  // LinkState_Values returns all elements of the LinkState enum
  9621  func LinkState_Values() []string {
  9622  	return []string{
  9623  		LinkStatePending,
  9624  		LinkStateAvailable,
  9625  		LinkStateDeleting,
  9626  		LinkStateUpdating,
  9627  	}
  9628  }
  9629  
  9630  const (
  9631  	// SiteStatePending is a SiteState enum value
  9632  	SiteStatePending = "PENDING"
  9633  
  9634  	// SiteStateAvailable is a SiteState enum value
  9635  	SiteStateAvailable = "AVAILABLE"
  9636  
  9637  	// SiteStateDeleting is a SiteState enum value
  9638  	SiteStateDeleting = "DELETING"
  9639  
  9640  	// SiteStateUpdating is a SiteState enum value
  9641  	SiteStateUpdating = "UPDATING"
  9642  )
  9643  
  9644  // SiteState_Values returns all elements of the SiteState enum
  9645  func SiteState_Values() []string {
  9646  	return []string{
  9647  		SiteStatePending,
  9648  		SiteStateAvailable,
  9649  		SiteStateDeleting,
  9650  		SiteStateUpdating,
  9651  	}
  9652  }
  9653  
  9654  const (
  9655  	// TransitGatewayConnectPeerAssociationStatePending is a TransitGatewayConnectPeerAssociationState enum value
  9656  	TransitGatewayConnectPeerAssociationStatePending = "PENDING"
  9657  
  9658  	// TransitGatewayConnectPeerAssociationStateAvailable is a TransitGatewayConnectPeerAssociationState enum value
  9659  	TransitGatewayConnectPeerAssociationStateAvailable = "AVAILABLE"
  9660  
  9661  	// TransitGatewayConnectPeerAssociationStateDeleting is a TransitGatewayConnectPeerAssociationState enum value
  9662  	TransitGatewayConnectPeerAssociationStateDeleting = "DELETING"
  9663  
  9664  	// TransitGatewayConnectPeerAssociationStateDeleted is a TransitGatewayConnectPeerAssociationState enum value
  9665  	TransitGatewayConnectPeerAssociationStateDeleted = "DELETED"
  9666  )
  9667  
  9668  // TransitGatewayConnectPeerAssociationState_Values returns all elements of the TransitGatewayConnectPeerAssociationState enum
  9669  func TransitGatewayConnectPeerAssociationState_Values() []string {
  9670  	return []string{
  9671  		TransitGatewayConnectPeerAssociationStatePending,
  9672  		TransitGatewayConnectPeerAssociationStateAvailable,
  9673  		TransitGatewayConnectPeerAssociationStateDeleting,
  9674  		TransitGatewayConnectPeerAssociationStateDeleted,
  9675  	}
  9676  }
  9677  
  9678  const (
  9679  	// TransitGatewayRegistrationStatePending is a TransitGatewayRegistrationState enum value
  9680  	TransitGatewayRegistrationStatePending = "PENDING"
  9681  
  9682  	// TransitGatewayRegistrationStateAvailable is a TransitGatewayRegistrationState enum value
  9683  	TransitGatewayRegistrationStateAvailable = "AVAILABLE"
  9684  
  9685  	// TransitGatewayRegistrationStateDeleting is a TransitGatewayRegistrationState enum value
  9686  	TransitGatewayRegistrationStateDeleting = "DELETING"
  9687  
  9688  	// TransitGatewayRegistrationStateDeleted is a TransitGatewayRegistrationState enum value
  9689  	TransitGatewayRegistrationStateDeleted = "DELETED"
  9690  
  9691  	// TransitGatewayRegistrationStateFailed is a TransitGatewayRegistrationState enum value
  9692  	TransitGatewayRegistrationStateFailed = "FAILED"
  9693  )
  9694  
  9695  // TransitGatewayRegistrationState_Values returns all elements of the TransitGatewayRegistrationState enum
  9696  func TransitGatewayRegistrationState_Values() []string {
  9697  	return []string{
  9698  		TransitGatewayRegistrationStatePending,
  9699  		TransitGatewayRegistrationStateAvailable,
  9700  		TransitGatewayRegistrationStateDeleting,
  9701  		TransitGatewayRegistrationStateDeleted,
  9702  		TransitGatewayRegistrationStateFailed,
  9703  	}
  9704  }
  9705  
  9706  const (
  9707  	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
  9708  	ValidationExceptionReasonUnknownOperation = "UnknownOperation"
  9709  
  9710  	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
  9711  	ValidationExceptionReasonCannotParse = "CannotParse"
  9712  
  9713  	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
  9714  	ValidationExceptionReasonFieldValidationFailed = "FieldValidationFailed"
  9715  
  9716  	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
  9717  	ValidationExceptionReasonOther = "Other"
  9718  )
  9719  
  9720  // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
  9721  func ValidationExceptionReason_Values() []string {
  9722  	return []string{
  9723  		ValidationExceptionReasonUnknownOperation,
  9724  		ValidationExceptionReasonCannotParse,
  9725  		ValidationExceptionReasonFieldValidationFailed,
  9726  		ValidationExceptionReasonOther,
  9727  	}
  9728  }