1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package networkmanager
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const 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
42func (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
104func (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.
118func (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
125const 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
151func (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
204func (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.
218func (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
225const 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
251func (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
310func (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.
324func (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
331const 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
357func (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
408func (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.
422func (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
429const 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
455func (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
508func (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.
522func (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
529const 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
555func (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
603func (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.
617func (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
624const 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
650func (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
701func (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.
715func (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
722const 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
748func (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
799func (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.
813func (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
820const 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
846func (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
894func (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.
908func (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
915const 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
941func (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
990func (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.
1004func (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
1011const 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
1037func (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
1086func (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.
1100func (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
1107const 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
1133func (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
1182func (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.
1196func (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
1203const 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
1229func (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
1278func (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.
1292func (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
1299const 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
1325func (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
1375func (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.
1389func (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
1396const 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
1422func (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
1475func (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.
1489func (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//
1513func (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.
1524func (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
1548const 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
1574func (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
1622func (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.
1636func (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
1643const 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
1669func (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
1718func (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.
1732func (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
1739const 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
1765func (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
1813func (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.
1827func (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
1834const 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
1860func (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
1910func (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.
1924func (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//
1948func (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.
1959func (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
1983const 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
2009func (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
2064func (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.
2078func (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//
2102func (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.
2113func (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
2137const 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
2163func (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
2213func (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.
2227func (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//
2251func (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.
2262func (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
2286const 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
2312func (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
2363func (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.
2377func (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//
2401func (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.
2412func (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
2436const 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
2462func (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
2515func (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.
2529func (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//
2553func (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.
2564func (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
2588const 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
2614func (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
2664func (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.
2678func (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//
2702func (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.
2713func (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
2737const 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
2763func (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
2818func (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.
2832func (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//
2856func (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.
2867func (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
2891const 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
2917func (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
2968func (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.
2982func (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//
3006func (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.
3017func (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
3041const 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
3067func (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
3111func (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.
3125func (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
3132const 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
3158func (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
3209func (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.
3223func (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
3230const 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
3256func (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
3308func (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.
3322func (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
3329const 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
3355func (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
3404func (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.
3418func (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
3425const 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
3451func (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
3500func (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.
3514func (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
3521const 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
3547func (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
3596func (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.
3610func (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
3617const 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
3643func (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
3692func (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.
3706func (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
3713const 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
3739func (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
3791func (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.
3805func (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
3812const 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
3838func (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
3887func (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.
3901func (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.
3909type 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".
3925func (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".
3934func (s AWSLocation) GoString() string {
3935	return s.String()
3936}
3937
3938// SetSubnetArn sets the SubnetArn field's value.
3939func (s *AWSLocation) SetSubnetArn(v string) *AWSLocation {
3940	s.SubnetArn = &v
3941	return s
3942}
3943
3944// SetZone sets the Zone field's value.
3945func (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.
3951type 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".
3963func (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".
3972func (s AccessDeniedException) GoString() string {
3973	return s.String()
3974}
3975
3976func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3977	return &AccessDeniedException{
3978		RespMetadata: v,
3979	}
3980}
3981
3982// Code returns the exception type name.
3983func (s *AccessDeniedException) Code() string {
3984	return "AccessDeniedException"
3985}
3986
3987// Message returns the exception's message.
3988func (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.
3996func (s *AccessDeniedException) OrigErr() error {
3997	return nil
3998}
3999
4000func (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.
4005func (s *AccessDeniedException) StatusCode() int {
4006	return s.RespMetadata.StatusCode
4007}
4008
4009// RequestID returns the service's response RequestID for request.
4010func (s *AccessDeniedException) RequestID() string {
4011	return s.RespMetadata.RequestID
4012}
4013
4014type 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".
4042func (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".
4051func (s AssociateCustomerGatewayInput) GoString() string {
4052	return s.String()
4053}
4054
4055// Validate inspects the fields of the type to determine if they are valid.
4056func (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.
4078func (s *AssociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *AssociateCustomerGatewayInput {
4079	s.CustomerGatewayArn = &v
4080	return s
4081}
4082
4083// SetDeviceId sets the DeviceId field's value.
4084func (s *AssociateCustomerGatewayInput) SetDeviceId(v string) *AssociateCustomerGatewayInput {
4085	s.DeviceId = &v
4086	return s
4087}
4088
4089// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4090func (s *AssociateCustomerGatewayInput) SetGlobalNetworkId(v string) *AssociateCustomerGatewayInput {
4091	s.GlobalNetworkId = &v
4092	return s
4093}
4094
4095// SetLinkId sets the LinkId field's value.
4096func (s *AssociateCustomerGatewayInput) SetLinkId(v string) *AssociateCustomerGatewayInput {
4097	s.LinkId = &v
4098	return s
4099}
4100
4101type 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".
4113func (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".
4122func (s AssociateCustomerGatewayOutput) GoString() string {
4123	return s.String()
4124}
4125
4126// SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
4127func (s *AssociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *AssociateCustomerGatewayOutput {
4128	s.CustomerGatewayAssociation = v
4129	return s
4130}
4131
4132type 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".
4156func (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".
4165func (s AssociateLinkInput) GoString() string {
4166	return s.String()
4167}
4168
4169// Validate inspects the fields of the type to determine if they are valid.
4170func (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.
4192func (s *AssociateLinkInput) SetDeviceId(v string) *AssociateLinkInput {
4193	s.DeviceId = &v
4194	return s
4195}
4196
4197// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4198func (s *AssociateLinkInput) SetGlobalNetworkId(v string) *AssociateLinkInput {
4199	s.GlobalNetworkId = &v
4200	return s
4201}
4202
4203// SetLinkId sets the LinkId field's value.
4204func (s *AssociateLinkInput) SetLinkId(v string) *AssociateLinkInput {
4205	s.LinkId = &v
4206	return s
4207}
4208
4209type 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".
4221func (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".
4230func (s AssociateLinkOutput) GoString() string {
4231	return s.String()
4232}
4233
4234// SetLinkAssociation sets the LinkAssociation field's value.
4235func (s *AssociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *AssociateLinkOutput {
4236	s.LinkAssociation = v
4237	return s
4238}
4239
4240type 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".
4267func (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".
4276func (s AssociateTransitGatewayConnectPeerInput) GoString() string {
4277	return s.String()
4278}
4279
4280// Validate inspects the fields of the type to determine if they are valid.
4281func (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.
4303func (s *AssociateTransitGatewayConnectPeerInput) SetDeviceId(v string) *AssociateTransitGatewayConnectPeerInput {
4304	s.DeviceId = &v
4305	return s
4306}
4307
4308// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4309func (s *AssociateTransitGatewayConnectPeerInput) SetGlobalNetworkId(v string) *AssociateTransitGatewayConnectPeerInput {
4310	s.GlobalNetworkId = &v
4311	return s
4312}
4313
4314// SetLinkId sets the LinkId field's value.
4315func (s *AssociateTransitGatewayConnectPeerInput) SetLinkId(v string) *AssociateTransitGatewayConnectPeerInput {
4316	s.LinkId = &v
4317	return s
4318}
4319
4320// SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
4321func (s *AssociateTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerArn(v string) *AssociateTransitGatewayConnectPeerInput {
4322	s.TransitGatewayConnectPeerArn = &v
4323	return s
4324}
4325
4326type 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".
4338func (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".
4347func (s AssociateTransitGatewayConnectPeerOutput) GoString() string {
4348	return s.String()
4349}
4350
4351// SetTransitGatewayConnectPeerAssociation sets the TransitGatewayConnectPeerAssociation field's value.
4352func (s *AssociateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeerAssociation(v *TransitGatewayConnectPeerAssociation) *AssociateTransitGatewayConnectPeerOutput {
4353	s.TransitGatewayConnectPeerAssociation = v
4354	return s
4355}
4356
4357// Describes bandwidth information.
4358type 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".
4373func (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".
4382func (s Bandwidth) GoString() string {
4383	return s.String()
4384}
4385
4386// SetDownloadSpeed sets the DownloadSpeed field's value.
4387func (s *Bandwidth) SetDownloadSpeed(v int64) *Bandwidth {
4388	s.DownloadSpeed = &v
4389	return s
4390}
4391
4392// SetUploadSpeed sets the UploadSpeed field's value.
4393func (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.
4400type 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".
4422func (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".
4431func (s ConflictException) GoString() string {
4432	return s.String()
4433}
4434
4435func newErrorConflictException(v protocol.ResponseMetadata) error {
4436	return &ConflictException{
4437		RespMetadata: v,
4438	}
4439}
4440
4441// Code returns the exception type name.
4442func (s *ConflictException) Code() string {
4443	return "ConflictException"
4444}
4445
4446// Message returns the exception's message.
4447func (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.
4455func (s *ConflictException) OrigErr() error {
4456	return nil
4457}
4458
4459func (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.
4464func (s *ConflictException) StatusCode() int {
4465	return s.RespMetadata.StatusCode
4466}
4467
4468// RequestID returns the service's response RequestID for request.
4469func (s *ConflictException) RequestID() string {
4470	return s.RespMetadata.RequestID
4471}
4472
4473// Describes a connection.
4474type 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".
4516func (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".
4525func (s Connection) GoString() string {
4526	return s.String()
4527}
4528
4529// SetConnectedDeviceId sets the ConnectedDeviceId field's value.
4530func (s *Connection) SetConnectedDeviceId(v string) *Connection {
4531	s.ConnectedDeviceId = &v
4532	return s
4533}
4534
4535// SetConnectedLinkId sets the ConnectedLinkId field's value.
4536func (s *Connection) SetConnectedLinkId(v string) *Connection {
4537	s.ConnectedLinkId = &v
4538	return s
4539}
4540
4541// SetConnectionArn sets the ConnectionArn field's value.
4542func (s *Connection) SetConnectionArn(v string) *Connection {
4543	s.ConnectionArn = &v
4544	return s
4545}
4546
4547// SetConnectionId sets the ConnectionId field's value.
4548func (s *Connection) SetConnectionId(v string) *Connection {
4549	s.ConnectionId = &v
4550	return s
4551}
4552
4553// SetCreatedAt sets the CreatedAt field's value.
4554func (s *Connection) SetCreatedAt(v time.Time) *Connection {
4555	s.CreatedAt = &v
4556	return s
4557}
4558
4559// SetDescription sets the Description field's value.
4560func (s *Connection) SetDescription(v string) *Connection {
4561	s.Description = &v
4562	return s
4563}
4564
4565// SetDeviceId sets the DeviceId field's value.
4566func (s *Connection) SetDeviceId(v string) *Connection {
4567	s.DeviceId = &v
4568	return s
4569}
4570
4571// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4572func (s *Connection) SetGlobalNetworkId(v string) *Connection {
4573	s.GlobalNetworkId = &v
4574	return s
4575}
4576
4577// SetLinkId sets the LinkId field's value.
4578func (s *Connection) SetLinkId(v string) *Connection {
4579	s.LinkId = &v
4580	return s
4581}
4582
4583// SetState sets the State field's value.
4584func (s *Connection) SetState(v string) *Connection {
4585	s.State = &v
4586	return s
4587}
4588
4589// SetTags sets the Tags field's value.
4590func (s *Connection) SetTags(v []*Tag) *Connection {
4591	s.Tags = v
4592	return s
4593}
4594
4595type 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".
4633func (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".
4642func (s CreateConnectionInput) GoString() string {
4643	return s.String()
4644}
4645
4646// Validate inspects the fields of the type to determine if they are valid.
4647func (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.
4669func (s *CreateConnectionInput) SetConnectedDeviceId(v string) *CreateConnectionInput {
4670	s.ConnectedDeviceId = &v
4671	return s
4672}
4673
4674// SetConnectedLinkId sets the ConnectedLinkId field's value.
4675func (s *CreateConnectionInput) SetConnectedLinkId(v string) *CreateConnectionInput {
4676	s.ConnectedLinkId = &v
4677	return s
4678}
4679
4680// SetDescription sets the Description field's value.
4681func (s *CreateConnectionInput) SetDescription(v string) *CreateConnectionInput {
4682	s.Description = &v
4683	return s
4684}
4685
4686// SetDeviceId sets the DeviceId field's value.
4687func (s *CreateConnectionInput) SetDeviceId(v string) *CreateConnectionInput {
4688	s.DeviceId = &v
4689	return s
4690}
4691
4692// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4693func (s *CreateConnectionInput) SetGlobalNetworkId(v string) *CreateConnectionInput {
4694	s.GlobalNetworkId = &v
4695	return s
4696}
4697
4698// SetLinkId sets the LinkId field's value.
4699func (s *CreateConnectionInput) SetLinkId(v string) *CreateConnectionInput {
4700	s.LinkId = &v
4701	return s
4702}
4703
4704// SetTags sets the Tags field's value.
4705func (s *CreateConnectionInput) SetTags(v []*Tag) *CreateConnectionInput {
4706	s.Tags = v
4707	return s
4708}
4709
4710type 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".
4722func (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".
4731func (s CreateConnectionOutput) GoString() string {
4732	return s.String()
4733}
4734
4735// SetConnection sets the Connection field's value.
4736func (s *CreateConnectionOutput) SetConnection(v *Connection) *CreateConnectionOutput {
4737	s.Connection = v
4738	return s
4739}
4740
4741type 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".
4794func (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".
4803func (s CreateDeviceInput) GoString() string {
4804	return s.String()
4805}
4806
4807// Validate inspects the fields of the type to determine if they are valid.
4808func (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.
4824func (s *CreateDeviceInput) SetAWSLocation(v *AWSLocation) *CreateDeviceInput {
4825	s.AWSLocation = v
4826	return s
4827}
4828
4829// SetDescription sets the Description field's value.
4830func (s *CreateDeviceInput) SetDescription(v string) *CreateDeviceInput {
4831	s.Description = &v
4832	return s
4833}
4834
4835// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4836func (s *CreateDeviceInput) SetGlobalNetworkId(v string) *CreateDeviceInput {
4837	s.GlobalNetworkId = &v
4838	return s
4839}
4840
4841// SetLocation sets the Location field's value.
4842func (s *CreateDeviceInput) SetLocation(v *Location) *CreateDeviceInput {
4843	s.Location = v
4844	return s
4845}
4846
4847// SetModel sets the Model field's value.
4848func (s *CreateDeviceInput) SetModel(v string) *CreateDeviceInput {
4849	s.Model = &v
4850	return s
4851}
4852
4853// SetSerialNumber sets the SerialNumber field's value.
4854func (s *CreateDeviceInput) SetSerialNumber(v string) *CreateDeviceInput {
4855	s.SerialNumber = &v
4856	return s
4857}
4858
4859// SetSiteId sets the SiteId field's value.
4860func (s *CreateDeviceInput) SetSiteId(v string) *CreateDeviceInput {
4861	s.SiteId = &v
4862	return s
4863}
4864
4865// SetTags sets the Tags field's value.
4866func (s *CreateDeviceInput) SetTags(v []*Tag) *CreateDeviceInput {
4867	s.Tags = v
4868	return s
4869}
4870
4871// SetType sets the Type field's value.
4872func (s *CreateDeviceInput) SetType(v string) *CreateDeviceInput {
4873	s.Type = &v
4874	return s
4875}
4876
4877// SetVendor sets the Vendor field's value.
4878func (s *CreateDeviceInput) SetVendor(v string) *CreateDeviceInput {
4879	s.Vendor = &v
4880	return s
4881}
4882
4883type 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".
4895func (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".
4904func (s CreateDeviceOutput) GoString() string {
4905	return s.String()
4906}
4907
4908// SetDevice sets the Device field's value.
4909func (s *CreateDeviceOutput) SetDevice(v *Device) *CreateDeviceOutput {
4910	s.Device = v
4911	return s
4912}
4913
4914type 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".
4931func (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".
4940func (s CreateGlobalNetworkInput) GoString() string {
4941	return s.String()
4942}
4943
4944// SetDescription sets the Description field's value.
4945func (s *CreateGlobalNetworkInput) SetDescription(v string) *CreateGlobalNetworkInput {
4946	s.Description = &v
4947	return s
4948}
4949
4950// SetTags sets the Tags field's value.
4951func (s *CreateGlobalNetworkInput) SetTags(v []*Tag) *CreateGlobalNetworkInput {
4952	s.Tags = v
4953	return s
4954}
4955
4956type 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".
4968func (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".
4977func (s CreateGlobalNetworkOutput) GoString() string {
4978	return s.String()
4979}
4980
4981// SetGlobalNetwork sets the GlobalNetwork field's value.
4982func (s *CreateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *CreateGlobalNetworkOutput {
4983	s.GlobalNetwork = v
4984	return s
4985}
4986
4987type 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".
5033func (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".
5042func (s CreateLinkInput) GoString() string {
5043	return s.String()
5044}
5045
5046// Validate inspects the fields of the type to determine if they are valid.
5047func (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.
5069func (s *CreateLinkInput) SetBandwidth(v *Bandwidth) *CreateLinkInput {
5070	s.Bandwidth = v
5071	return s
5072}
5073
5074// SetDescription sets the Description field's value.
5075func (s *CreateLinkInput) SetDescription(v string) *CreateLinkInput {
5076	s.Description = &v
5077	return s
5078}
5079
5080// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5081func (s *CreateLinkInput) SetGlobalNetworkId(v string) *CreateLinkInput {
5082	s.GlobalNetworkId = &v
5083	return s
5084}
5085
5086// SetProvider sets the Provider field's value.
5087func (s *CreateLinkInput) SetProvider(v string) *CreateLinkInput {
5088	s.Provider = &v
5089	return s
5090}
5091
5092// SetSiteId sets the SiteId field's value.
5093func (s *CreateLinkInput) SetSiteId(v string) *CreateLinkInput {
5094	s.SiteId = &v
5095	return s
5096}
5097
5098// SetTags sets the Tags field's value.
5099func (s *CreateLinkInput) SetTags(v []*Tag) *CreateLinkInput {
5100	s.Tags = v
5101	return s
5102}
5103
5104// SetType sets the Type field's value.
5105func (s *CreateLinkInput) SetType(v string) *CreateLinkInput {
5106	s.Type = &v
5107	return s
5108}
5109
5110type 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".
5122func (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".
5131func (s CreateLinkOutput) GoString() string {
5132	return s.String()
5133}
5134
5135// SetLink sets the Link field's value.
5136func (s *CreateLinkOutput) SetLink(v *Link) *CreateLinkOutput {
5137	s.Link = v
5138	return s
5139}
5140
5141type 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".
5178func (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".
5187func (s CreateSiteInput) GoString() string {
5188	return s.String()
5189}
5190
5191// Validate inspects the fields of the type to determine if they are valid.
5192func (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.
5208func (s *CreateSiteInput) SetDescription(v string) *CreateSiteInput {
5209	s.Description = &v
5210	return s
5211}
5212
5213// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5214func (s *CreateSiteInput) SetGlobalNetworkId(v string) *CreateSiteInput {
5215	s.GlobalNetworkId = &v
5216	return s
5217}
5218
5219// SetLocation sets the Location field's value.
5220func (s *CreateSiteInput) SetLocation(v *Location) *CreateSiteInput {
5221	s.Location = v
5222	return s
5223}
5224
5225// SetTags sets the Tags field's value.
5226func (s *CreateSiteInput) SetTags(v []*Tag) *CreateSiteInput {
5227	s.Tags = v
5228	return s
5229}
5230
5231type 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".
5243func (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".
5252func (s CreateSiteOutput) GoString() string {
5253	return s.String()
5254}
5255
5256// SetSite sets the Site field's value.
5257func (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.
5263type 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".
5287func (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".
5296func (s CustomerGatewayAssociation) GoString() string {
5297	return s.String()
5298}
5299
5300// SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
5301func (s *CustomerGatewayAssociation) SetCustomerGatewayArn(v string) *CustomerGatewayAssociation {
5302	s.CustomerGatewayArn = &v
5303	return s
5304}
5305
5306// SetDeviceId sets the DeviceId field's value.
5307func (s *CustomerGatewayAssociation) SetDeviceId(v string) *CustomerGatewayAssociation {
5308	s.DeviceId = &v
5309	return s
5310}
5311
5312// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5313func (s *CustomerGatewayAssociation) SetGlobalNetworkId(v string) *CustomerGatewayAssociation {
5314	s.GlobalNetworkId = &v
5315	return s
5316}
5317
5318// SetLinkId sets the LinkId field's value.
5319func (s *CustomerGatewayAssociation) SetLinkId(v string) *CustomerGatewayAssociation {
5320	s.LinkId = &v
5321	return s
5322}
5323
5324// SetState sets the State field's value.
5325func (s *CustomerGatewayAssociation) SetState(v string) *CustomerGatewayAssociation {
5326	s.State = &v
5327	return s
5328}
5329
5330type 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".
5349func (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".
5358func (s DeleteConnectionInput) GoString() string {
5359	return s.String()
5360}
5361
5362// Validate inspects the fields of the type to determine if they are valid.
5363func (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.
5385func (s *DeleteConnectionInput) SetConnectionId(v string) *DeleteConnectionInput {
5386	s.ConnectionId = &v
5387	return s
5388}
5389
5390// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5391func (s *DeleteConnectionInput) SetGlobalNetworkId(v string) *DeleteConnectionInput {
5392	s.GlobalNetworkId = &v
5393	return s
5394}
5395
5396type 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".
5408func (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".
5417func (s DeleteConnectionOutput) GoString() string {
5418	return s.String()
5419}
5420
5421// SetConnection sets the Connection field's value.
5422func (s *DeleteConnectionOutput) SetConnection(v *Connection) *DeleteConnectionOutput {
5423	s.Connection = v
5424	return s
5425}
5426
5427type 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".
5446func (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".
5455func (s DeleteDeviceInput) GoString() string {
5456	return s.String()
5457}
5458
5459// Validate inspects the fields of the type to determine if they are valid.
5460func (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.
5482func (s *DeleteDeviceInput) SetDeviceId(v string) *DeleteDeviceInput {
5483	s.DeviceId = &v
5484	return s
5485}
5486
5487// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5488func (s *DeleteDeviceInput) SetGlobalNetworkId(v string) *DeleteDeviceInput {
5489	s.GlobalNetworkId = &v
5490	return s
5491}
5492
5493type 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".
5505func (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".
5514func (s DeleteDeviceOutput) GoString() string {
5515	return s.String()
5516}
5517
5518// SetDevice sets the Device field's value.
5519func (s *DeleteDeviceOutput) SetDevice(v *Device) *DeleteDeviceOutput {
5520	s.Device = v
5521	return s
5522}
5523
5524type 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".
5538func (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".
5547func (s DeleteGlobalNetworkInput) GoString() string {
5548	return s.String()
5549}
5550
5551// Validate inspects the fields of the type to determine if they are valid.
5552func (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.
5568func (s *DeleteGlobalNetworkInput) SetGlobalNetworkId(v string) *DeleteGlobalNetworkInput {
5569	s.GlobalNetworkId = &v
5570	return s
5571}
5572
5573type 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".
5585func (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".
5594func (s DeleteGlobalNetworkOutput) GoString() string {
5595	return s.String()
5596}
5597
5598// SetGlobalNetwork sets the GlobalNetwork field's value.
5599func (s *DeleteGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *DeleteGlobalNetworkOutput {
5600	s.GlobalNetwork = v
5601	return s
5602}
5603
5604type 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".
5623func (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".
5632func (s DeleteLinkInput) GoString() string {
5633	return s.String()
5634}
5635
5636// Validate inspects the fields of the type to determine if they are valid.
5637func (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.
5659func (s *DeleteLinkInput) SetGlobalNetworkId(v string) *DeleteLinkInput {
5660	s.GlobalNetworkId = &v
5661	return s
5662}
5663
5664// SetLinkId sets the LinkId field's value.
5665func (s *DeleteLinkInput) SetLinkId(v string) *DeleteLinkInput {
5666	s.LinkId = &v
5667	return s
5668}
5669
5670type 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".
5682func (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".
5691func (s DeleteLinkOutput) GoString() string {
5692	return s.String()
5693}
5694
5695// SetLink sets the Link field's value.
5696func (s *DeleteLinkOutput) SetLink(v *Link) *DeleteLinkOutput {
5697	s.Link = v
5698	return s
5699}
5700
5701type 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".
5720func (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".
5729func (s DeleteSiteInput) GoString() string {
5730	return s.String()
5731}
5732
5733// Validate inspects the fields of the type to determine if they are valid.
5734func (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.
5756func (s *DeleteSiteInput) SetGlobalNetworkId(v string) *DeleteSiteInput {
5757	s.GlobalNetworkId = &v
5758	return s
5759}
5760
5761// SetSiteId sets the SiteId field's value.
5762func (s *DeleteSiteInput) SetSiteId(v string) *DeleteSiteInput {
5763	s.SiteId = &v
5764	return s
5765}
5766
5767type 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".
5779func (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".
5788func (s DeleteSiteOutput) GoString() string {
5789	return s.String()
5790}
5791
5792// SetSite sets the Site field's value.
5793func (s *DeleteSiteOutput) SetSite(v *Site) *DeleteSiteOutput {
5794	s.Site = v
5795	return s
5796}
5797
5798type 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".
5817func (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".
5826func (s DeregisterTransitGatewayInput) GoString() string {
5827	return s.String()
5828}
5829
5830// Validate inspects the fields of the type to determine if they are valid.
5831func (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.
5853func (s *DeregisterTransitGatewayInput) SetGlobalNetworkId(v string) *DeregisterTransitGatewayInput {
5854	s.GlobalNetworkId = &v
5855	return s
5856}
5857
5858// SetTransitGatewayArn sets the TransitGatewayArn field's value.
5859func (s *DeregisterTransitGatewayInput) SetTransitGatewayArn(v string) *DeregisterTransitGatewayInput {
5860	s.TransitGatewayArn = &v
5861	return s
5862}
5863
5864type 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".
5876func (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".
5885func (s DeregisterTransitGatewayOutput) GoString() string {
5886	return s.String()
5887}
5888
5889// SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
5890func (s *DeregisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *DeregisterTransitGatewayOutput {
5891	s.TransitGatewayRegistration = v
5892	return s
5893}
5894
5895type 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".
5913func (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".
5922func (s DescribeGlobalNetworksInput) GoString() string {
5923	return s.String()
5924}
5925
5926// Validate inspects the fields of the type to determine if they are valid.
5927func (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.
5940func (s *DescribeGlobalNetworksInput) SetGlobalNetworkIds(v []*string) *DescribeGlobalNetworksInput {
5941	s.GlobalNetworkIds = v
5942	return s
5943}
5944
5945// SetMaxResults sets the MaxResults field's value.
5946func (s *DescribeGlobalNetworksInput) SetMaxResults(v int64) *DescribeGlobalNetworksInput {
5947	s.MaxResults = &v
5948	return s
5949}
5950
5951// SetNextToken sets the NextToken field's value.
5952func (s *DescribeGlobalNetworksInput) SetNextToken(v string) *DescribeGlobalNetworksInput {
5953	s.NextToken = &v
5954	return s
5955}
5956
5957type 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".
5972func (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".
5981func (s DescribeGlobalNetworksOutput) GoString() string {
5982	return s.String()
5983}
5984
5985// SetGlobalNetworks sets the GlobalNetworks field's value.
5986func (s *DescribeGlobalNetworksOutput) SetGlobalNetworks(v []*GlobalNetwork) *DescribeGlobalNetworksOutput {
5987	s.GlobalNetworks = v
5988	return s
5989}
5990
5991// SetNextToken sets the NextToken field's value.
5992func (s *DescribeGlobalNetworksOutput) SetNextToken(v string) *DescribeGlobalNetworksOutput {
5993	s.NextToken = &v
5994	return s
5995}
5996
5997// Describes a device.
5998type 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".
6053func (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".
6062func (s Device) GoString() string {
6063	return s.String()
6064}
6065
6066// SetAWSLocation sets the AWSLocation field's value.
6067func (s *Device) SetAWSLocation(v *AWSLocation) *Device {
6068	s.AWSLocation = v
6069	return s
6070}
6071
6072// SetCreatedAt sets the CreatedAt field's value.
6073func (s *Device) SetCreatedAt(v time.Time) *Device {
6074	s.CreatedAt = &v
6075	return s
6076}
6077
6078// SetDescription sets the Description field's value.
6079func (s *Device) SetDescription(v string) *Device {
6080	s.Description = &v
6081	return s
6082}
6083
6084// SetDeviceArn sets the DeviceArn field's value.
6085func (s *Device) SetDeviceArn(v string) *Device {
6086	s.DeviceArn = &v
6087	return s
6088}
6089
6090// SetDeviceId sets the DeviceId field's value.
6091func (s *Device) SetDeviceId(v string) *Device {
6092	s.DeviceId = &v
6093	return s
6094}
6095
6096// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6097func (s *Device) SetGlobalNetworkId(v string) *Device {
6098	s.GlobalNetworkId = &v
6099	return s
6100}
6101
6102// SetLocation sets the Location field's value.
6103func (s *Device) SetLocation(v *Location) *Device {
6104	s.Location = v
6105	return s
6106}
6107
6108// SetModel sets the Model field's value.
6109func (s *Device) SetModel(v string) *Device {
6110	s.Model = &v
6111	return s
6112}
6113
6114// SetSerialNumber sets the SerialNumber field's value.
6115func (s *Device) SetSerialNumber(v string) *Device {
6116	s.SerialNumber = &v
6117	return s
6118}
6119
6120// SetSiteId sets the SiteId field's value.
6121func (s *Device) SetSiteId(v string) *Device {
6122	s.SiteId = &v
6123	return s
6124}
6125
6126// SetState sets the State field's value.
6127func (s *Device) SetState(v string) *Device {
6128	s.State = &v
6129	return s
6130}
6131
6132// SetTags sets the Tags field's value.
6133func (s *Device) SetTags(v []*Tag) *Device {
6134	s.Tags = v
6135	return s
6136}
6137
6138// SetType sets the Type field's value.
6139func (s *Device) SetType(v string) *Device {
6140	s.Type = &v
6141	return s
6142}
6143
6144// SetVendor sets the Vendor field's value.
6145func (s *Device) SetVendor(v string) *Device {
6146	s.Vendor = &v
6147	return s
6148}
6149
6150type 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".
6170func (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".
6179func (s DisassociateCustomerGatewayInput) GoString() string {
6180	return s.String()
6181}
6182
6183// Validate inspects the fields of the type to determine if they are valid.
6184func (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.
6206func (s *DisassociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *DisassociateCustomerGatewayInput {
6207	s.CustomerGatewayArn = &v
6208	return s
6209}
6210
6211// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6212func (s *DisassociateCustomerGatewayInput) SetGlobalNetworkId(v string) *DisassociateCustomerGatewayInput {
6213	s.GlobalNetworkId = &v
6214	return s
6215}
6216
6217type 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".
6229func (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".
6238func (s DisassociateCustomerGatewayOutput) GoString() string {
6239	return s.String()
6240}
6241
6242// SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
6243func (s *DisassociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *DisassociateCustomerGatewayOutput {
6244	s.CustomerGatewayAssociation = v
6245	return s
6246}
6247
6248type 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".
6272func (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".
6281func (s DisassociateLinkInput) GoString() string {
6282	return s.String()
6283}
6284
6285// Validate inspects the fields of the type to determine if they are valid.
6286func (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.
6308func (s *DisassociateLinkInput) SetDeviceId(v string) *DisassociateLinkInput {
6309	s.DeviceId = &v
6310	return s
6311}
6312
6313// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6314func (s *DisassociateLinkInput) SetGlobalNetworkId(v string) *DisassociateLinkInput {
6315	s.GlobalNetworkId = &v
6316	return s
6317}
6318
6319// SetLinkId sets the LinkId field's value.
6320func (s *DisassociateLinkInput) SetLinkId(v string) *DisassociateLinkInput {
6321	s.LinkId = &v
6322	return s
6323}
6324
6325type 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".
6337func (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".
6346func (s DisassociateLinkOutput) GoString() string {
6347	return s.String()
6348}
6349
6350// SetLinkAssociation sets the LinkAssociation field's value.
6351func (s *DisassociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *DisassociateLinkOutput {
6352	s.LinkAssociation = v
6353	return s
6354}
6355
6356type 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".
6375func (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".
6384func (s DisassociateTransitGatewayConnectPeerInput) GoString() string {
6385	return s.String()
6386}
6387
6388// Validate inspects the fields of the type to determine if they are valid.
6389func (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.
6411func (s *DisassociateTransitGatewayConnectPeerInput) SetGlobalNetworkId(v string) *DisassociateTransitGatewayConnectPeerInput {
6412	s.GlobalNetworkId = &v
6413	return s
6414}
6415
6416// SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
6417func (s *DisassociateTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerArn(v string) *DisassociateTransitGatewayConnectPeerInput {
6418	s.TransitGatewayConnectPeerArn = &v
6419	return s
6420}
6421
6422type 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".
6434func (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".
6443func (s DisassociateTransitGatewayConnectPeerOutput) GoString() string {
6444	return s.String()
6445}
6446
6447// SetTransitGatewayConnectPeerAssociation sets the TransitGatewayConnectPeerAssociation field's value.
6448func (s *DisassociateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeerAssociation(v *TransitGatewayConnectPeerAssociation) *DisassociateTransitGatewayConnectPeerOutput {
6449	s.TransitGatewayConnectPeerAssociation = v
6450	return s
6451}
6452
6453type 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".
6479func (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".
6488func (s GetConnectionsInput) GoString() string {
6489	return s.String()
6490}
6491
6492// Validate inspects the fields of the type to determine if they are valid.
6493func (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.
6512func (s *GetConnectionsInput) SetConnectionIds(v []*string) *GetConnectionsInput {
6513	s.ConnectionIds = v
6514	return s
6515}
6516
6517// SetDeviceId sets the DeviceId field's value.
6518func (s *GetConnectionsInput) SetDeviceId(v string) *GetConnectionsInput {
6519	s.DeviceId = &v
6520	return s
6521}
6522
6523// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6524func (s *GetConnectionsInput) SetGlobalNetworkId(v string) *GetConnectionsInput {
6525	s.GlobalNetworkId = &v
6526	return s
6527}
6528
6529// SetMaxResults sets the MaxResults field's value.
6530func (s *GetConnectionsInput) SetMaxResults(v int64) *GetConnectionsInput {
6531	s.MaxResults = &v
6532	return s
6533}
6534
6535// SetNextToken sets the NextToken field's value.
6536func (s *GetConnectionsInput) SetNextToken(v string) *GetConnectionsInput {
6537	s.NextToken = &v
6538	return s
6539}
6540
6541type 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".
6556func (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".
6565func (s GetConnectionsOutput) GoString() string {
6566	return s.String()
6567}
6568
6569// SetConnections sets the Connections field's value.
6570func (s *GetConnectionsOutput) SetConnections(v []*Connection) *GetConnectionsOutput {
6571	s.Connections = v
6572	return s
6573}
6574
6575// SetNextToken sets the NextToken field's value.
6576func (s *GetConnectionsOutput) SetNextToken(v string) *GetConnectionsOutput {
6577	s.NextToken = &v
6578	return s
6579}
6580
6581type 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".
6606func (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".
6615func (s GetCustomerGatewayAssociationsInput) GoString() string {
6616	return s.String()
6617}
6618
6619// Validate inspects the fields of the type to determine if they are valid.
6620func (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.
6639func (s *GetCustomerGatewayAssociationsInput) SetCustomerGatewayArns(v []*string) *GetCustomerGatewayAssociationsInput {
6640	s.CustomerGatewayArns = v
6641	return s
6642}
6643
6644// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6645func (s *GetCustomerGatewayAssociationsInput) SetGlobalNetworkId(v string) *GetCustomerGatewayAssociationsInput {
6646	s.GlobalNetworkId = &v
6647	return s
6648}
6649
6650// SetMaxResults sets the MaxResults field's value.
6651func (s *GetCustomerGatewayAssociationsInput) SetMaxResults(v int64) *GetCustomerGatewayAssociationsInput {
6652	s.MaxResults = &v
6653	return s
6654}
6655
6656// SetNextToken sets the NextToken field's value.
6657func (s *GetCustomerGatewayAssociationsInput) SetNextToken(v string) *GetCustomerGatewayAssociationsInput {
6658	s.NextToken = &v
6659	return s
6660}
6661
6662type 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".
6677func (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".
6686func (s GetCustomerGatewayAssociationsOutput) GoString() string {
6687	return s.String()
6688}
6689
6690// SetCustomerGatewayAssociations sets the CustomerGatewayAssociations field's value.
6691func (s *GetCustomerGatewayAssociationsOutput) SetCustomerGatewayAssociations(v []*CustomerGatewayAssociation) *GetCustomerGatewayAssociationsOutput {
6692	s.CustomerGatewayAssociations = v
6693	return s
6694}
6695
6696// SetNextToken sets the NextToken field's value.
6697func (s *GetCustomerGatewayAssociationsOutput) SetNextToken(v string) *GetCustomerGatewayAssociationsOutput {
6698	s.NextToken = &v
6699	return s
6700}
6701
6702type 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".
6728func (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".
6737func (s GetDevicesInput) GoString() string {
6738	return s.String()
6739}
6740
6741// Validate inspects the fields of the type to determine if they are valid.
6742func (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.
6761func (s *GetDevicesInput) SetDeviceIds(v []*string) *GetDevicesInput {
6762	s.DeviceIds = v
6763	return s
6764}
6765
6766// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6767func (s *GetDevicesInput) SetGlobalNetworkId(v string) *GetDevicesInput {
6768	s.GlobalNetworkId = &v
6769	return s
6770}
6771
6772// SetMaxResults sets the MaxResults field's value.
6773func (s *GetDevicesInput) SetMaxResults(v int64) *GetDevicesInput {
6774	s.MaxResults = &v
6775	return s
6776}
6777
6778// SetNextToken sets the NextToken field's value.
6779func (s *GetDevicesInput) SetNextToken(v string) *GetDevicesInput {
6780	s.NextToken = &v
6781	return s
6782}
6783
6784// SetSiteId sets the SiteId field's value.
6785func (s *GetDevicesInput) SetSiteId(v string) *GetDevicesInput {
6786	s.SiteId = &v
6787	return s
6788}
6789
6790type 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".
6805func (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".
6814func (s GetDevicesOutput) GoString() string {
6815	return s.String()
6816}
6817
6818// SetDevices sets the Devices field's value.
6819func (s *GetDevicesOutput) SetDevices(v []*Device) *GetDevicesOutput {
6820	s.Devices = v
6821	return s
6822}
6823
6824// SetNextToken sets the NextToken field's value.
6825func (s *GetDevicesOutput) SetNextToken(v string) *GetDevicesOutput {
6826	s.NextToken = &v
6827	return s
6828}
6829
6830type 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".
6856func (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".
6865func (s GetLinkAssociationsInput) GoString() string {
6866	return s.String()
6867}
6868
6869// Validate inspects the fields of the type to determine if they are valid.
6870func (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.
6889func (s *GetLinkAssociationsInput) SetDeviceId(v string) *GetLinkAssociationsInput {
6890	s.DeviceId = &v
6891	return s
6892}
6893
6894// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6895func (s *GetLinkAssociationsInput) SetGlobalNetworkId(v string) *GetLinkAssociationsInput {
6896	s.GlobalNetworkId = &v
6897	return s
6898}
6899
6900// SetLinkId sets the LinkId field's value.
6901func (s *GetLinkAssociationsInput) SetLinkId(v string) *GetLinkAssociationsInput {
6902	s.LinkId = &v
6903	return s
6904}
6905
6906// SetMaxResults sets the MaxResults field's value.
6907func (s *GetLinkAssociationsInput) SetMaxResults(v int64) *GetLinkAssociationsInput {
6908	s.MaxResults = &v
6909	return s
6910}
6911
6912// SetNextToken sets the NextToken field's value.
6913func (s *GetLinkAssociationsInput) SetNextToken(v string) *GetLinkAssociationsInput {
6914	s.NextToken = &v
6915	return s
6916}
6917
6918type 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".
6933func (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".
6942func (s GetLinkAssociationsOutput) GoString() string {
6943	return s.String()
6944}
6945
6946// SetLinkAssociations sets the LinkAssociations field's value.
6947func (s *GetLinkAssociationsOutput) SetLinkAssociations(v []*LinkAssociation) *GetLinkAssociationsOutput {
6948	s.LinkAssociations = v
6949	return s
6950}
6951
6952// SetNextToken sets the NextToken field's value.
6953func (s *GetLinkAssociationsOutput) SetNextToken(v string) *GetLinkAssociationsOutput {
6954	s.NextToken = &v
6955	return s
6956}
6957
6958type 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".
6990func (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".
6999func (s GetLinksInput) GoString() string {
7000	return s.String()
7001}
7002
7003// Validate inspects the fields of the type to determine if they are valid.
7004func (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.
7023func (s *GetLinksInput) SetGlobalNetworkId(v string) *GetLinksInput {
7024	s.GlobalNetworkId = &v
7025	return s
7026}
7027
7028// SetLinkIds sets the LinkIds field's value.
7029func (s *GetLinksInput) SetLinkIds(v []*string) *GetLinksInput {
7030	s.LinkIds = v
7031	return s
7032}
7033
7034// SetMaxResults sets the MaxResults field's value.
7035func (s *GetLinksInput) SetMaxResults(v int64) *GetLinksInput {
7036	s.MaxResults = &v
7037	return s
7038}
7039
7040// SetNextToken sets the NextToken field's value.
7041func (s *GetLinksInput) SetNextToken(v string) *GetLinksInput {
7042	s.NextToken = &v
7043	return s
7044}
7045
7046// SetProvider sets the Provider field's value.
7047func (s *GetLinksInput) SetProvider(v string) *GetLinksInput {
7048	s.Provider = &v
7049	return s
7050}
7051
7052// SetSiteId sets the SiteId field's value.
7053func (s *GetLinksInput) SetSiteId(v string) *GetLinksInput {
7054	s.SiteId = &v
7055	return s
7056}
7057
7058// SetType sets the Type field's value.
7059func (s *GetLinksInput) SetType(v string) *GetLinksInput {
7060	s.Type = &v
7061	return s
7062}
7063
7064type 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".
7079func (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".
7088func (s GetLinksOutput) GoString() string {
7089	return s.String()
7090}
7091
7092// SetLinks sets the Links field's value.
7093func (s *GetLinksOutput) SetLinks(v []*Link) *GetLinksOutput {
7094	s.Links = v
7095	return s
7096}
7097
7098// SetNextToken sets the NextToken field's value.
7099func (s *GetLinksOutput) SetNextToken(v string) *GetLinksOutput {
7100	s.NextToken = &v
7101	return s
7102}
7103
7104type 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".
7127func (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".
7136func (s GetSitesInput) GoString() string {
7137	return s.String()
7138}
7139
7140// Validate inspects the fields of the type to determine if they are valid.
7141func (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.
7160func (s *GetSitesInput) SetGlobalNetworkId(v string) *GetSitesInput {
7161	s.GlobalNetworkId = &v
7162	return s
7163}
7164
7165// SetMaxResults sets the MaxResults field's value.
7166func (s *GetSitesInput) SetMaxResults(v int64) *GetSitesInput {
7167	s.MaxResults = &v
7168	return s
7169}
7170
7171// SetNextToken sets the NextToken field's value.
7172func (s *GetSitesInput) SetNextToken(v string) *GetSitesInput {
7173	s.NextToken = &v
7174	return s
7175}
7176
7177// SetSiteIds sets the SiteIds field's value.
7178func (s *GetSitesInput) SetSiteIds(v []*string) *GetSitesInput {
7179	s.SiteIds = v
7180	return s
7181}
7182
7183type 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".
7198func (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".
7207func (s GetSitesOutput) GoString() string {
7208	return s.String()
7209}
7210
7211// SetNextToken sets the NextToken field's value.
7212func (s *GetSitesOutput) SetNextToken(v string) *GetSitesOutput {
7213	s.NextToken = &v
7214	return s
7215}
7216
7217// SetSites sets the Sites field's value.
7218func (s *GetSitesOutput) SetSites(v []*Site) *GetSitesOutput {
7219	s.Sites = v
7220	return s
7221}
7222
7223type 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".
7246func (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".
7255func (s GetTransitGatewayConnectPeerAssociationsInput) GoString() string {
7256	return s.String()
7257}
7258
7259// Validate inspects the fields of the type to determine if they are valid.
7260func (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.
7279func (s *GetTransitGatewayConnectPeerAssociationsInput) SetGlobalNetworkId(v string) *GetTransitGatewayConnectPeerAssociationsInput {
7280	s.GlobalNetworkId = &v
7281	return s
7282}
7283
7284// SetMaxResults sets the MaxResults field's value.
7285func (s *GetTransitGatewayConnectPeerAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayConnectPeerAssociationsInput {
7286	s.MaxResults = &v
7287	return s
7288}
7289
7290// SetNextToken sets the NextToken field's value.
7291func (s *GetTransitGatewayConnectPeerAssociationsInput) SetNextToken(v string) *GetTransitGatewayConnectPeerAssociationsInput {
7292	s.NextToken = &v
7293	return s
7294}
7295
7296// SetTransitGatewayConnectPeerArns sets the TransitGatewayConnectPeerArns field's value.
7297func (s *GetTransitGatewayConnectPeerAssociationsInput) SetTransitGatewayConnectPeerArns(v []*string) *GetTransitGatewayConnectPeerAssociationsInput {
7298	s.TransitGatewayConnectPeerArns = v
7299	return s
7300}
7301
7302type 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".
7317func (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".
7326func (s GetTransitGatewayConnectPeerAssociationsOutput) GoString() string {
7327	return s.String()
7328}
7329
7330// SetNextToken sets the NextToken field's value.
7331func (s *GetTransitGatewayConnectPeerAssociationsOutput) SetNextToken(v string) *GetTransitGatewayConnectPeerAssociationsOutput {
7332	s.NextToken = &v
7333	return s
7334}
7335
7336// SetTransitGatewayConnectPeerAssociations sets the TransitGatewayConnectPeerAssociations field's value.
7337func (s *GetTransitGatewayConnectPeerAssociationsOutput) SetTransitGatewayConnectPeerAssociations(v []*TransitGatewayConnectPeerAssociation) *GetTransitGatewayConnectPeerAssociationsOutput {
7338	s.TransitGatewayConnectPeerAssociations = v
7339	return s
7340}
7341
7342type 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".
7366func (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".
7375func (s GetTransitGatewayRegistrationsInput) GoString() string {
7376	return s.String()
7377}
7378
7379// Validate inspects the fields of the type to determine if they are valid.
7380func (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.
7399func (s *GetTransitGatewayRegistrationsInput) SetGlobalNetworkId(v string) *GetTransitGatewayRegistrationsInput {
7400	s.GlobalNetworkId = &v
7401	return s
7402}
7403
7404// SetMaxResults sets the MaxResults field's value.
7405func (s *GetTransitGatewayRegistrationsInput) SetMaxResults(v int64) *GetTransitGatewayRegistrationsInput {
7406	s.MaxResults = &v
7407	return s
7408}
7409
7410// SetNextToken sets the NextToken field's value.
7411func (s *GetTransitGatewayRegistrationsInput) SetNextToken(v string) *GetTransitGatewayRegistrationsInput {
7412	s.NextToken = &v
7413	return s
7414}
7415
7416// SetTransitGatewayArns sets the TransitGatewayArns field's value.
7417func (s *GetTransitGatewayRegistrationsInput) SetTransitGatewayArns(v []*string) *GetTransitGatewayRegistrationsInput {
7418	s.TransitGatewayArns = v
7419	return s
7420}
7421
7422type 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".
7437func (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".
7446func (s GetTransitGatewayRegistrationsOutput) GoString() string {
7447	return s.String()
7448}
7449
7450// SetNextToken sets the NextToken field's value.
7451func (s *GetTransitGatewayRegistrationsOutput) SetNextToken(v string) *GetTransitGatewayRegistrationsOutput {
7452	s.NextToken = &v
7453	return s
7454}
7455
7456// SetTransitGatewayRegistrations sets the TransitGatewayRegistrations field's value.
7457func (s *GetTransitGatewayRegistrationsOutput) SetTransitGatewayRegistrations(v []*TransitGatewayRegistration) *GetTransitGatewayRegistrationsOutput {
7458	s.TransitGatewayRegistrations = v
7459	return s
7460}
7461
7462// Describes a global network.
7463type 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".
7490func (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".
7499func (s GlobalNetwork) GoString() string {
7500	return s.String()
7501}
7502
7503// SetCreatedAt sets the CreatedAt field's value.
7504func (s *GlobalNetwork) SetCreatedAt(v time.Time) *GlobalNetwork {
7505	s.CreatedAt = &v
7506	return s
7507}
7508
7509// SetDescription sets the Description field's value.
7510func (s *GlobalNetwork) SetDescription(v string) *GlobalNetwork {
7511	s.Description = &v
7512	return s
7513}
7514
7515// SetGlobalNetworkArn sets the GlobalNetworkArn field's value.
7516func (s *GlobalNetwork) SetGlobalNetworkArn(v string) *GlobalNetwork {
7517	s.GlobalNetworkArn = &v
7518	return s
7519}
7520
7521// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7522func (s *GlobalNetwork) SetGlobalNetworkId(v string) *GlobalNetwork {
7523	s.GlobalNetworkId = &v
7524	return s
7525}
7526
7527// SetState sets the State field's value.
7528func (s *GlobalNetwork) SetState(v string) *GlobalNetwork {
7529	s.State = &v
7530	return s
7531}
7532
7533// SetTags sets the Tags field's value.
7534func (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.
7540type 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".
7555func (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".
7564func (s InternalServerException) GoString() string {
7565	return s.String()
7566}
7567
7568func newErrorInternalServerException(v protocol.ResponseMetadata) error {
7569	return &InternalServerException{
7570		RespMetadata: v,
7571	}
7572}
7573
7574// Code returns the exception type name.
7575func (s *InternalServerException) Code() string {
7576	return "InternalServerException"
7577}
7578
7579// Message returns the exception's message.
7580func (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.
7588func (s *InternalServerException) OrigErr() error {
7589	return nil
7590}
7591
7592func (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.
7597func (s *InternalServerException) StatusCode() int {
7598	return s.RespMetadata.StatusCode
7599}
7600
7601// RequestID returns the service's response RequestID for request.
7602func (s *InternalServerException) RequestID() string {
7603	return s.RespMetadata.RequestID
7604}
7605
7606// Describes a link.
7607type 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".
7649func (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".
7658func (s Link) GoString() string {
7659	return s.String()
7660}
7661
7662// SetBandwidth sets the Bandwidth field's value.
7663func (s *Link) SetBandwidth(v *Bandwidth) *Link {
7664	s.Bandwidth = v
7665	return s
7666}
7667
7668// SetCreatedAt sets the CreatedAt field's value.
7669func (s *Link) SetCreatedAt(v time.Time) *Link {
7670	s.CreatedAt = &v
7671	return s
7672}
7673
7674// SetDescription sets the Description field's value.
7675func (s *Link) SetDescription(v string) *Link {
7676	s.Description = &v
7677	return s
7678}
7679
7680// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7681func (s *Link) SetGlobalNetworkId(v string) *Link {
7682	s.GlobalNetworkId = &v
7683	return s
7684}
7685
7686// SetLinkArn sets the LinkArn field's value.
7687func (s *Link) SetLinkArn(v string) *Link {
7688	s.LinkArn = &v
7689	return s
7690}
7691
7692// SetLinkId sets the LinkId field's value.
7693func (s *Link) SetLinkId(v string) *Link {
7694	s.LinkId = &v
7695	return s
7696}
7697
7698// SetProvider sets the Provider field's value.
7699func (s *Link) SetProvider(v string) *Link {
7700	s.Provider = &v
7701	return s
7702}
7703
7704// SetSiteId sets the SiteId field's value.
7705func (s *Link) SetSiteId(v string) *Link {
7706	s.SiteId = &v
7707	return s
7708}
7709
7710// SetState sets the State field's value.
7711func (s *Link) SetState(v string) *Link {
7712	s.State = &v
7713	return s
7714}
7715
7716// SetTags sets the Tags field's value.
7717func (s *Link) SetTags(v []*Tag) *Link {
7718	s.Tags = v
7719	return s
7720}
7721
7722// SetType sets the Type field's value.
7723func (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.
7729type 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".
7750func (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".
7759func (s LinkAssociation) GoString() string {
7760	return s.String()
7761}
7762
7763// SetDeviceId sets the DeviceId field's value.
7764func (s *LinkAssociation) SetDeviceId(v string) *LinkAssociation {
7765	s.DeviceId = &v
7766	return s
7767}
7768
7769// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7770func (s *LinkAssociation) SetGlobalNetworkId(v string) *LinkAssociation {
7771	s.GlobalNetworkId = &v
7772	return s
7773}
7774
7775// SetLinkAssociationState sets the LinkAssociationState field's value.
7776func (s *LinkAssociation) SetLinkAssociationState(v string) *LinkAssociation {
7777	s.LinkAssociationState = &v
7778	return s
7779}
7780
7781// SetLinkId sets the LinkId field's value.
7782func (s *LinkAssociation) SetLinkId(v string) *LinkAssociation {
7783	s.LinkId = &v
7784	return s
7785}
7786
7787type 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".
7801func (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".
7810func (s ListTagsForResourceInput) GoString() string {
7811	return s.String()
7812}
7813
7814// Validate inspects the fields of the type to determine if they are valid.
7815func (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.
7831func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
7832	s.ResourceArn = &v
7833	return s
7834}
7835
7836type 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".
7848func (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".
7857func (s ListTagsForResourceOutput) GoString() string {
7858	return s.String()
7859}
7860
7861// SetTagList sets the TagList field's value.
7862func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
7863	s.TagList = v
7864	return s
7865}
7866
7867// Describes a location.
7868type 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".
7886func (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".
7895func (s Location) GoString() string {
7896	return s.String()
7897}
7898
7899// SetAddress sets the Address field's value.
7900func (s *Location) SetAddress(v string) *Location {
7901	s.Address = &v
7902	return s
7903}
7904
7905// SetLatitude sets the Latitude field's value.
7906func (s *Location) SetLatitude(v string) *Location {
7907	s.Latitude = &v
7908	return s
7909}
7910
7911// SetLongitude sets the Longitude field's value.
7912func (s *Location) SetLongitude(v string) *Location {
7913	s.Longitude = &v
7914	return s
7915}
7916
7917type 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".
7937func (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".
7946func (s RegisterTransitGatewayInput) GoString() string {
7947	return s.String()
7948}
7949
7950// Validate inspects the fields of the type to determine if they are valid.
7951func (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.
7970func (s *RegisterTransitGatewayInput) SetGlobalNetworkId(v string) *RegisterTransitGatewayInput {
7971	s.GlobalNetworkId = &v
7972	return s
7973}
7974
7975// SetTransitGatewayArn sets the TransitGatewayArn field's value.
7976func (s *RegisterTransitGatewayInput) SetTransitGatewayArn(v string) *RegisterTransitGatewayInput {
7977	s.TransitGatewayArn = &v
7978	return s
7979}
7980
7981type 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".
7993func (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".
8002func (s RegisterTransitGatewayOutput) GoString() string {
8003	return s.String()
8004}
8005
8006// SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
8007func (s *RegisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *RegisterTransitGatewayOutput {
8008	s.TransitGatewayRegistration = v
8009	return s
8010}
8011
8012// The specified resource could not be found.
8013type 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".
8035func (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".
8044func (s ResourceNotFoundException) GoString() string {
8045	return s.String()
8046}
8047
8048func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
8049	return &ResourceNotFoundException{
8050		RespMetadata: v,
8051	}
8052}
8053
8054// Code returns the exception type name.
8055func (s *ResourceNotFoundException) Code() string {
8056	return "ResourceNotFoundException"
8057}
8058
8059// Message returns the exception's message.
8060func (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.
8068func (s *ResourceNotFoundException) OrigErr() error {
8069	return nil
8070}
8071
8072func (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.
8077func (s *ResourceNotFoundException) StatusCode() int {
8078	return s.RespMetadata.StatusCode
8079}
8080
8081// RequestID returns the service's response RequestID for request.
8082func (s *ResourceNotFoundException) RequestID() string {
8083	return s.RespMetadata.RequestID
8084}
8085
8086// A service limit was exceeded.
8087type 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".
8116func (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".
8125func (s ServiceQuotaExceededException) GoString() string {
8126	return s.String()
8127}
8128
8129func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
8130	return &ServiceQuotaExceededException{
8131		RespMetadata: v,
8132	}
8133}
8134
8135// Code returns the exception type name.
8136func (s *ServiceQuotaExceededException) Code() string {
8137	return "ServiceQuotaExceededException"
8138}
8139
8140// Message returns the exception's message.
8141func (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.
8149func (s *ServiceQuotaExceededException) OrigErr() error {
8150	return nil
8151}
8152
8153func (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.
8158func (s *ServiceQuotaExceededException) StatusCode() int {
8159	return s.RespMetadata.StatusCode
8160}
8161
8162// RequestID returns the service's response RequestID for request.
8163func (s *ServiceQuotaExceededException) RequestID() string {
8164	return s.RespMetadata.RequestID
8165}
8166
8167// Describes a site.
8168type 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".
8205func (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".
8214func (s Site) GoString() string {
8215	return s.String()
8216}
8217
8218// SetCreatedAt sets the CreatedAt field's value.
8219func (s *Site) SetCreatedAt(v time.Time) *Site {
8220	s.CreatedAt = &v
8221	return s
8222}
8223
8224// SetDescription sets the Description field's value.
8225func (s *Site) SetDescription(v string) *Site {
8226	s.Description = &v
8227	return s
8228}
8229
8230// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8231func (s *Site) SetGlobalNetworkId(v string) *Site {
8232	s.GlobalNetworkId = &v
8233	return s
8234}
8235
8236// SetLocation sets the Location field's value.
8237func (s *Site) SetLocation(v *Location) *Site {
8238	s.Location = v
8239	return s
8240}
8241
8242// SetSiteArn sets the SiteArn field's value.
8243func (s *Site) SetSiteArn(v string) *Site {
8244	s.SiteArn = &v
8245	return s
8246}
8247
8248// SetSiteId sets the SiteId field's value.
8249func (s *Site) SetSiteId(v string) *Site {
8250	s.SiteId = &v
8251	return s
8252}
8253
8254// SetState sets the State field's value.
8255func (s *Site) SetState(v string) *Site {
8256	s.State = &v
8257	return s
8258}
8259
8260// SetTags sets the Tags field's value.
8261func (s *Site) SetTags(v []*Tag) *Site {
8262	s.Tags = v
8263	return s
8264}
8265
8266// Describes a tag.
8267type 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".
8286func (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".
8295func (s Tag) GoString() string {
8296	return s.String()
8297}
8298
8299// SetKey sets the Key field's value.
8300func (s *Tag) SetKey(v string) *Tag {
8301	s.Key = &v
8302	return s
8303}
8304
8305// SetValue sets the Value field's value.
8306func (s *Tag) SetValue(v string) *Tag {
8307	s.Value = &v
8308	return s
8309}
8310
8311type 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".
8330func (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".
8339func (s TagResourceInput) GoString() string {
8340	return s.String()
8341}
8342
8343// Validate inspects the fields of the type to determine if they are valid.
8344func (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.
8363func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
8364	s.ResourceArn = &v
8365	return s
8366}
8367
8368// SetTags sets the Tags field's value.
8369func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
8370	s.Tags = v
8371	return s
8372}
8373
8374type TagResourceOutput struct {
8375	_ struct{} `type:"structure"`
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".
8383func (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".
8392func (s TagResourceOutput) GoString() string {
8393	return s.String()
8394}
8395
8396// The request was denied due to request throttling.
8397type 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".
8412func (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".
8421func (s ThrottlingException) GoString() string {
8422	return s.String()
8423}
8424
8425func newErrorThrottlingException(v protocol.ResponseMetadata) error {
8426	return &ThrottlingException{
8427		RespMetadata: v,
8428	}
8429}
8430
8431// Code returns the exception type name.
8432func (s *ThrottlingException) Code() string {
8433	return "ThrottlingException"
8434}
8435
8436// Message returns the exception's message.
8437func (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.
8445func (s *ThrottlingException) OrigErr() error {
8446	return nil
8447}
8448
8449func (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.
8454func (s *ThrottlingException) StatusCode() int {
8455	return s.RespMetadata.StatusCode
8456}
8457
8458// RequestID returns the service's response RequestID for request.
8459func (s *ThrottlingException) RequestID() string {
8460	return s.RespMetadata.RequestID
8461}
8462
8463// Describes a transit gateway Connect peer association.
8464type 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".
8488func (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".
8497func (s TransitGatewayConnectPeerAssociation) GoString() string {
8498	return s.String()
8499}
8500
8501// SetDeviceId sets the DeviceId field's value.
8502func (s *TransitGatewayConnectPeerAssociation) SetDeviceId(v string) *TransitGatewayConnectPeerAssociation {
8503	s.DeviceId = &v
8504	return s
8505}
8506
8507// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8508func (s *TransitGatewayConnectPeerAssociation) SetGlobalNetworkId(v string) *TransitGatewayConnectPeerAssociation {
8509	s.GlobalNetworkId = &v
8510	return s
8511}
8512
8513// SetLinkId sets the LinkId field's value.
8514func (s *TransitGatewayConnectPeerAssociation) SetLinkId(v string) *TransitGatewayConnectPeerAssociation {
8515	s.LinkId = &v
8516	return s
8517}
8518
8519// SetState sets the State field's value.
8520func (s *TransitGatewayConnectPeerAssociation) SetState(v string) *TransitGatewayConnectPeerAssociation {
8521	s.State = &v
8522	return s
8523}
8524
8525// SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
8526func (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.
8532type 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".
8550func (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".
8559func (s TransitGatewayRegistration) GoString() string {
8560	return s.String()
8561}
8562
8563// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8564func (s *TransitGatewayRegistration) SetGlobalNetworkId(v string) *TransitGatewayRegistration {
8565	s.GlobalNetworkId = &v
8566	return s
8567}
8568
8569// SetState sets the State field's value.
8570func (s *TransitGatewayRegistration) SetState(v *TransitGatewayRegistrationStateReason) *TransitGatewayRegistration {
8571	s.State = v
8572	return s
8573}
8574
8575// SetTransitGatewayArn sets the TransitGatewayArn field's value.
8576func (s *TransitGatewayRegistration) SetTransitGatewayArn(v string) *TransitGatewayRegistration {
8577	s.TransitGatewayArn = &v
8578	return s
8579}
8580
8581// Describes the status of a transit gateway registration.
8582type 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".
8597func (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".
8606func (s TransitGatewayRegistrationStateReason) GoString() string {
8607	return s.String()
8608}
8609
8610// SetCode sets the Code field's value.
8611func (s *TransitGatewayRegistrationStateReason) SetCode(v string) *TransitGatewayRegistrationStateReason {
8612	s.Code = &v
8613	return s
8614}
8615
8616// SetMessage sets the Message field's value.
8617func (s *TransitGatewayRegistrationStateReason) SetMessage(v string) *TransitGatewayRegistrationStateReason {
8618	s.Message = &v
8619	return s
8620}
8621
8622type 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".
8641func (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".
8650func (s UntagResourceInput) GoString() string {
8651	return s.String()
8652}
8653
8654// Validate inspects the fields of the type to determine if they are valid.
8655func (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.
8674func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
8675	s.ResourceArn = &v
8676	return s
8677}
8678
8679// SetTagKeys sets the TagKeys field's value.
8680func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
8681	s.TagKeys = v
8682	return s
8683}
8684
8685type UntagResourceOutput struct {
8686	_ struct{} `type:"structure"`
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".
8694func (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".
8703func (s UntagResourceOutput) GoString() string {
8704	return s.String()
8705}
8706
8707type 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".
8737func (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".
8746func (s UpdateConnectionInput) GoString() string {
8747	return s.String()
8748}
8749
8750// Validate inspects the fields of the type to determine if they are valid.
8751func (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.
8773func (s *UpdateConnectionInput) SetConnectedLinkId(v string) *UpdateConnectionInput {
8774	s.ConnectedLinkId = &v
8775	return s
8776}
8777
8778// SetConnectionId sets the ConnectionId field's value.
8779func (s *UpdateConnectionInput) SetConnectionId(v string) *UpdateConnectionInput {
8780	s.ConnectionId = &v
8781	return s
8782}
8783
8784// SetDescription sets the Description field's value.
8785func (s *UpdateConnectionInput) SetDescription(v string) *UpdateConnectionInput {
8786	s.Description = &v
8787	return s
8788}
8789
8790// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8791func (s *UpdateConnectionInput) SetGlobalNetworkId(v string) *UpdateConnectionInput {
8792	s.GlobalNetworkId = &v
8793	return s
8794}
8795
8796// SetLinkId sets the LinkId field's value.
8797func (s *UpdateConnectionInput) SetLinkId(v string) *UpdateConnectionInput {
8798	s.LinkId = &v
8799	return s
8800}
8801
8802type 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".
8814func (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".
8823func (s UpdateConnectionOutput) GoString() string {
8824	return s.String()
8825}
8826
8827// SetConnection sets the Connection field's value.
8828func (s *UpdateConnectionOutput) SetConnection(v *Connection) *UpdateConnectionOutput {
8829	s.Connection = v
8830	return s
8831}
8832
8833type 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".
8888func (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".
8897func (s UpdateDeviceInput) GoString() string {
8898	return s.String()
8899}
8900
8901// Validate inspects the fields of the type to determine if they are valid.
8902func (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.
8924func (s *UpdateDeviceInput) SetAWSLocation(v *AWSLocation) *UpdateDeviceInput {
8925	s.AWSLocation = v
8926	return s
8927}
8928
8929// SetDescription sets the Description field's value.
8930func (s *UpdateDeviceInput) SetDescription(v string) *UpdateDeviceInput {
8931	s.Description = &v
8932	return s
8933}
8934
8935// SetDeviceId sets the DeviceId field's value.
8936func (s *UpdateDeviceInput) SetDeviceId(v string) *UpdateDeviceInput {
8937	s.DeviceId = &v
8938	return s
8939}
8940
8941// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8942func (s *UpdateDeviceInput) SetGlobalNetworkId(v string) *UpdateDeviceInput {
8943	s.GlobalNetworkId = &v
8944	return s
8945}
8946
8947// SetLocation sets the Location field's value.
8948func (s *UpdateDeviceInput) SetLocation(v *Location) *UpdateDeviceInput {
8949	s.Location = v
8950	return s
8951}
8952
8953// SetModel sets the Model field's value.
8954func (s *UpdateDeviceInput) SetModel(v string) *UpdateDeviceInput {
8955	s.Model = &v
8956	return s
8957}
8958
8959// SetSerialNumber sets the SerialNumber field's value.
8960func (s *UpdateDeviceInput) SetSerialNumber(v string) *UpdateDeviceInput {
8961	s.SerialNumber = &v
8962	return s
8963}
8964
8965// SetSiteId sets the SiteId field's value.
8966func (s *UpdateDeviceInput) SetSiteId(v string) *UpdateDeviceInput {
8967	s.SiteId = &v
8968	return s
8969}
8970
8971// SetType sets the Type field's value.
8972func (s *UpdateDeviceInput) SetType(v string) *UpdateDeviceInput {
8973	s.Type = &v
8974	return s
8975}
8976
8977// SetVendor sets the Vendor field's value.
8978func (s *UpdateDeviceInput) SetVendor(v string) *UpdateDeviceInput {
8979	s.Vendor = &v
8980	return s
8981}
8982
8983type 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".
8995func (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".
9004func (s UpdateDeviceOutput) GoString() string {
9005	return s.String()
9006}
9007
9008// SetDevice sets the Device field's value.
9009func (s *UpdateDeviceOutput) SetDevice(v *Device) *UpdateDeviceOutput {
9010	s.Device = v
9011	return s
9012}
9013
9014type 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".
9033func (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".
9042func (s UpdateGlobalNetworkInput) GoString() string {
9043	return s.String()
9044}
9045
9046// Validate inspects the fields of the type to determine if they are valid.
9047func (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.
9063func (s *UpdateGlobalNetworkInput) SetDescription(v string) *UpdateGlobalNetworkInput {
9064	s.Description = &v
9065	return s
9066}
9067
9068// SetGlobalNetworkId sets the GlobalNetworkId field's value.
9069func (s *UpdateGlobalNetworkInput) SetGlobalNetworkId(v string) *UpdateGlobalNetworkInput {
9070	s.GlobalNetworkId = &v
9071	return s
9072}
9073
9074type 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".
9086func (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".
9095func (s UpdateGlobalNetworkOutput) GoString() string {
9096	return s.String()
9097}
9098
9099// SetGlobalNetwork sets the GlobalNetwork field's value.
9100func (s *UpdateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *UpdateGlobalNetworkOutput {
9101	s.GlobalNetwork = v
9102	return s
9103}
9104
9105type 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".
9142func (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".
9151func (s UpdateLinkInput) GoString() string {
9152	return s.String()
9153}
9154
9155// Validate inspects the fields of the type to determine if they are valid.
9156func (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.
9178func (s *UpdateLinkInput) SetBandwidth(v *Bandwidth) *UpdateLinkInput {
9179	s.Bandwidth = v
9180	return s
9181}
9182
9183// SetDescription sets the Description field's value.
9184func (s *UpdateLinkInput) SetDescription(v string) *UpdateLinkInput {
9185	s.Description = &v
9186	return s
9187}
9188
9189// SetGlobalNetworkId sets the GlobalNetworkId field's value.
9190func (s *UpdateLinkInput) SetGlobalNetworkId(v string) *UpdateLinkInput {
9191	s.GlobalNetworkId = &v
9192	return s
9193}
9194
9195// SetLinkId sets the LinkId field's value.
9196func (s *UpdateLinkInput) SetLinkId(v string) *UpdateLinkInput {
9197	s.LinkId = &v
9198	return s
9199}
9200
9201// SetProvider sets the Provider field's value.
9202func (s *UpdateLinkInput) SetProvider(v string) *UpdateLinkInput {
9203	s.Provider = &v
9204	return s
9205}
9206
9207// SetType sets the Type field's value.
9208func (s *UpdateLinkInput) SetType(v string) *UpdateLinkInput {
9209	s.Type = &v
9210	return s
9211}
9212
9213type 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".
9225func (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".
9234func (s UpdateLinkOutput) GoString() string {
9235	return s.String()
9236}
9237
9238// SetLink sets the Link field's value.
9239func (s *UpdateLinkOutput) SetLink(v *Link) *UpdateLinkOutput {
9240	s.Link = v
9241	return s
9242}
9243
9244type 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".
9281func (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".
9290func (s UpdateSiteInput) GoString() string {
9291	return s.String()
9292}
9293
9294// Validate inspects the fields of the type to determine if they are valid.
9295func (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.
9317func (s *UpdateSiteInput) SetDescription(v string) *UpdateSiteInput {
9318	s.Description = &v
9319	return s
9320}
9321
9322// SetGlobalNetworkId sets the GlobalNetworkId field's value.
9323func (s *UpdateSiteInput) SetGlobalNetworkId(v string) *UpdateSiteInput {
9324	s.GlobalNetworkId = &v
9325	return s
9326}
9327
9328// SetLocation sets the Location field's value.
9329func (s *UpdateSiteInput) SetLocation(v *Location) *UpdateSiteInput {
9330	s.Location = v
9331	return s
9332}
9333
9334// SetSiteId sets the SiteId field's value.
9335func (s *UpdateSiteInput) SetSiteId(v string) *UpdateSiteInput {
9336	s.SiteId = &v
9337	return s
9338}
9339
9340type 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".
9352func (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".
9361func (s UpdateSiteOutput) GoString() string {
9362	return s.String()
9363}
9364
9365// SetSite sets the Site field's value.
9366func (s *UpdateSiteOutput) SetSite(v *Site) *UpdateSiteOutput {
9367	s.Site = v
9368	return s
9369}
9370
9371// The input fails to satisfy the constraints.
9372type 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".
9390func (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".
9399func (s ValidationException) GoString() string {
9400	return s.String()
9401}
9402
9403func newErrorValidationException(v protocol.ResponseMetadata) error {
9404	return &ValidationException{
9405		RespMetadata: v,
9406	}
9407}
9408
9409// Code returns the exception type name.
9410func (s *ValidationException) Code() string {
9411	return "ValidationException"
9412}
9413
9414// Message returns the exception's message.
9415func (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.
9423func (s *ValidationException) OrigErr() error {
9424	return nil
9425}
9426
9427func (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.
9432func (s *ValidationException) StatusCode() int {
9433	return s.RespMetadata.StatusCode
9434}
9435
9436// RequestID returns the service's response RequestID for request.
9437func (s *ValidationException) RequestID() string {
9438	return s.RespMetadata.RequestID
9439}
9440
9441// Describes a validation exception for a field.
9442type 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".
9461func (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".
9470func (s ValidationExceptionField) GoString() string {
9471	return s.String()
9472}
9473
9474// SetMessage sets the Message field's value.
9475func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
9476	s.Message = &v
9477	return s
9478}
9479
9480// SetName sets the Name field's value.
9481func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
9482	s.Name = &v
9483	return s
9484}
9485
9486const (
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
9501func ConnectionState_Values() []string {
9502	return []string{
9503		ConnectionStatePending,
9504		ConnectionStateAvailable,
9505		ConnectionStateDeleting,
9506		ConnectionStateUpdating,
9507	}
9508}
9509
9510const (
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
9525func CustomerGatewayAssociationState_Values() []string {
9526	return []string{
9527		CustomerGatewayAssociationStatePending,
9528		CustomerGatewayAssociationStateAvailable,
9529		CustomerGatewayAssociationStateDeleting,
9530		CustomerGatewayAssociationStateDeleted,
9531	}
9532}
9533
9534const (
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
9549func DeviceState_Values() []string {
9550	return []string{
9551		DeviceStatePending,
9552		DeviceStateAvailable,
9553		DeviceStateDeleting,
9554		DeviceStateUpdating,
9555	}
9556}
9557
9558const (
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
9573func GlobalNetworkState_Values() []string {
9574	return []string{
9575		GlobalNetworkStatePending,
9576		GlobalNetworkStateAvailable,
9577		GlobalNetworkStateDeleting,
9578		GlobalNetworkStateUpdating,
9579	}
9580}
9581
9582const (
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
9597func LinkAssociationState_Values() []string {
9598	return []string{
9599		LinkAssociationStatePending,
9600		LinkAssociationStateAvailable,
9601		LinkAssociationStateDeleting,
9602		LinkAssociationStateDeleted,
9603	}
9604}
9605
9606const (
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
9621func LinkState_Values() []string {
9622	return []string{
9623		LinkStatePending,
9624		LinkStateAvailable,
9625		LinkStateDeleting,
9626		LinkStateUpdating,
9627	}
9628}
9629
9630const (
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
9645func SiteState_Values() []string {
9646	return []string{
9647		SiteStatePending,
9648		SiteStateAvailable,
9649		SiteStateDeleting,
9650		SiteStateUpdating,
9651	}
9652}
9653
9654const (
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
9669func TransitGatewayConnectPeerAssociationState_Values() []string {
9670	return []string{
9671		TransitGatewayConnectPeerAssociationStatePending,
9672		TransitGatewayConnectPeerAssociationStateAvailable,
9673		TransitGatewayConnectPeerAssociationStateDeleting,
9674		TransitGatewayConnectPeerAssociationStateDeleted,
9675	}
9676}
9677
9678const (
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
9696func TransitGatewayRegistrationState_Values() []string {
9697	return []string{
9698		TransitGatewayRegistrationStatePending,
9699		TransitGatewayRegistrationStateAvailable,
9700		TransitGatewayRegistrationStateDeleting,
9701		TransitGatewayRegistrationStateDeleted,
9702		TransitGatewayRegistrationStateFailed,
9703	}
9704}
9705
9706const (
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
9721func ValidationExceptionReason_Values() []string {
9722	return []string{
9723		ValidationExceptionReasonUnknownOperation,
9724		ValidationExceptionReasonCannotParse,
9725		ValidationExceptionReasonFieldValidationFailed,
9726		ValidationExceptionReasonOther,
9727	}
9728}
9729