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
3921func (s AWSLocation) String() string {
3922	return awsutil.Prettify(s)
3923}
3924
3925// GoString returns the string representation
3926func (s AWSLocation) GoString() string {
3927	return s.String()
3928}
3929
3930// SetSubnetArn sets the SubnetArn field's value.
3931func (s *AWSLocation) SetSubnetArn(v string) *AWSLocation {
3932	s.SubnetArn = &v
3933	return s
3934}
3935
3936// SetZone sets the Zone field's value.
3937func (s *AWSLocation) SetZone(v string) *AWSLocation {
3938	s.Zone = &v
3939	return s
3940}
3941
3942// You do not have sufficient access to perform this action.
3943type AccessDeniedException struct {
3944	_            struct{}                  `type:"structure"`
3945	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3946
3947	Message_ *string `locationName:"Message" type:"string"`
3948}
3949
3950// String returns the string representation
3951func (s AccessDeniedException) String() string {
3952	return awsutil.Prettify(s)
3953}
3954
3955// GoString returns the string representation
3956func (s AccessDeniedException) GoString() string {
3957	return s.String()
3958}
3959
3960func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3961	return &AccessDeniedException{
3962		RespMetadata: v,
3963	}
3964}
3965
3966// Code returns the exception type name.
3967func (s *AccessDeniedException) Code() string {
3968	return "AccessDeniedException"
3969}
3970
3971// Message returns the exception's message.
3972func (s *AccessDeniedException) Message() string {
3973	if s.Message_ != nil {
3974		return *s.Message_
3975	}
3976	return ""
3977}
3978
3979// OrigErr always returns nil, satisfies awserr.Error interface.
3980func (s *AccessDeniedException) OrigErr() error {
3981	return nil
3982}
3983
3984func (s *AccessDeniedException) Error() string {
3985	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3986}
3987
3988// Status code returns the HTTP status code for the request's response error.
3989func (s *AccessDeniedException) StatusCode() int {
3990	return s.RespMetadata.StatusCode
3991}
3992
3993// RequestID returns the service's response RequestID for request.
3994func (s *AccessDeniedException) RequestID() string {
3995	return s.RespMetadata.RequestID
3996}
3997
3998type AssociateCustomerGatewayInput struct {
3999	_ struct{} `type:"structure"`
4000
4001	// The Amazon Resource Name (ARN) of the customer gateway. For more information,
4002	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
4003	//
4004	// CustomerGatewayArn is a required field
4005	CustomerGatewayArn *string `type:"string" required:"true"`
4006
4007	// The ID of the device.
4008	//
4009	// DeviceId is a required field
4010	DeviceId *string `type:"string" required:"true"`
4011
4012	// The ID of the global network.
4013	//
4014	// GlobalNetworkId is a required field
4015	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4016
4017	// The ID of the link.
4018	LinkId *string `type:"string"`
4019}
4020
4021// String returns the string representation
4022func (s AssociateCustomerGatewayInput) String() string {
4023	return awsutil.Prettify(s)
4024}
4025
4026// GoString returns the string representation
4027func (s AssociateCustomerGatewayInput) GoString() string {
4028	return s.String()
4029}
4030
4031// Validate inspects the fields of the type to determine if they are valid.
4032func (s *AssociateCustomerGatewayInput) Validate() error {
4033	invalidParams := request.ErrInvalidParams{Context: "AssociateCustomerGatewayInput"}
4034	if s.CustomerGatewayArn == nil {
4035		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayArn"))
4036	}
4037	if s.DeviceId == nil {
4038		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
4039	}
4040	if s.GlobalNetworkId == nil {
4041		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4042	}
4043	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4044		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4045	}
4046
4047	if invalidParams.Len() > 0 {
4048		return invalidParams
4049	}
4050	return nil
4051}
4052
4053// SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
4054func (s *AssociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *AssociateCustomerGatewayInput {
4055	s.CustomerGatewayArn = &v
4056	return s
4057}
4058
4059// SetDeviceId sets the DeviceId field's value.
4060func (s *AssociateCustomerGatewayInput) SetDeviceId(v string) *AssociateCustomerGatewayInput {
4061	s.DeviceId = &v
4062	return s
4063}
4064
4065// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4066func (s *AssociateCustomerGatewayInput) SetGlobalNetworkId(v string) *AssociateCustomerGatewayInput {
4067	s.GlobalNetworkId = &v
4068	return s
4069}
4070
4071// SetLinkId sets the LinkId field's value.
4072func (s *AssociateCustomerGatewayInput) SetLinkId(v string) *AssociateCustomerGatewayInput {
4073	s.LinkId = &v
4074	return s
4075}
4076
4077type AssociateCustomerGatewayOutput struct {
4078	_ struct{} `type:"structure"`
4079
4080	// The customer gateway association.
4081	CustomerGatewayAssociation *CustomerGatewayAssociation `type:"structure"`
4082}
4083
4084// String returns the string representation
4085func (s AssociateCustomerGatewayOutput) String() string {
4086	return awsutil.Prettify(s)
4087}
4088
4089// GoString returns the string representation
4090func (s AssociateCustomerGatewayOutput) GoString() string {
4091	return s.String()
4092}
4093
4094// SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
4095func (s *AssociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *AssociateCustomerGatewayOutput {
4096	s.CustomerGatewayAssociation = v
4097	return s
4098}
4099
4100type AssociateLinkInput struct {
4101	_ struct{} `type:"structure"`
4102
4103	// The ID of the device.
4104	//
4105	// DeviceId is a required field
4106	DeviceId *string `type:"string" required:"true"`
4107
4108	// The ID of the global network.
4109	//
4110	// GlobalNetworkId is a required field
4111	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4112
4113	// The ID of the link.
4114	//
4115	// LinkId is a required field
4116	LinkId *string `type:"string" required:"true"`
4117}
4118
4119// String returns the string representation
4120func (s AssociateLinkInput) String() string {
4121	return awsutil.Prettify(s)
4122}
4123
4124// GoString returns the string representation
4125func (s AssociateLinkInput) GoString() string {
4126	return s.String()
4127}
4128
4129// Validate inspects the fields of the type to determine if they are valid.
4130func (s *AssociateLinkInput) Validate() error {
4131	invalidParams := request.ErrInvalidParams{Context: "AssociateLinkInput"}
4132	if s.DeviceId == nil {
4133		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
4134	}
4135	if s.GlobalNetworkId == nil {
4136		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4137	}
4138	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4139		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4140	}
4141	if s.LinkId == nil {
4142		invalidParams.Add(request.NewErrParamRequired("LinkId"))
4143	}
4144
4145	if invalidParams.Len() > 0 {
4146		return invalidParams
4147	}
4148	return nil
4149}
4150
4151// SetDeviceId sets the DeviceId field's value.
4152func (s *AssociateLinkInput) SetDeviceId(v string) *AssociateLinkInput {
4153	s.DeviceId = &v
4154	return s
4155}
4156
4157// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4158func (s *AssociateLinkInput) SetGlobalNetworkId(v string) *AssociateLinkInput {
4159	s.GlobalNetworkId = &v
4160	return s
4161}
4162
4163// SetLinkId sets the LinkId field's value.
4164func (s *AssociateLinkInput) SetLinkId(v string) *AssociateLinkInput {
4165	s.LinkId = &v
4166	return s
4167}
4168
4169type AssociateLinkOutput struct {
4170	_ struct{} `type:"structure"`
4171
4172	// The link association.
4173	LinkAssociation *LinkAssociation `type:"structure"`
4174}
4175
4176// String returns the string representation
4177func (s AssociateLinkOutput) String() string {
4178	return awsutil.Prettify(s)
4179}
4180
4181// GoString returns the string representation
4182func (s AssociateLinkOutput) GoString() string {
4183	return s.String()
4184}
4185
4186// SetLinkAssociation sets the LinkAssociation field's value.
4187func (s *AssociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *AssociateLinkOutput {
4188	s.LinkAssociation = v
4189	return s
4190}
4191
4192type AssociateTransitGatewayConnectPeerInput struct {
4193	_ struct{} `type:"structure"`
4194
4195	// The ID of the device.
4196	//
4197	// DeviceId is a required field
4198	DeviceId *string `type:"string" required:"true"`
4199
4200	// The ID of the global network.
4201	//
4202	// GlobalNetworkId is a required field
4203	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4204
4205	// The ID of the link.
4206	LinkId *string `type:"string"`
4207
4208	// The Amazon Resource Name (ARN) of the Connect peer.
4209	//
4210	// TransitGatewayConnectPeerArn is a required field
4211	TransitGatewayConnectPeerArn *string `type:"string" required:"true"`
4212}
4213
4214// String returns the string representation
4215func (s AssociateTransitGatewayConnectPeerInput) String() string {
4216	return awsutil.Prettify(s)
4217}
4218
4219// GoString returns the string representation
4220func (s AssociateTransitGatewayConnectPeerInput) GoString() string {
4221	return s.String()
4222}
4223
4224// Validate inspects the fields of the type to determine if they are valid.
4225func (s *AssociateTransitGatewayConnectPeerInput) Validate() error {
4226	invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayConnectPeerInput"}
4227	if s.DeviceId == nil {
4228		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
4229	}
4230	if s.GlobalNetworkId == nil {
4231		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4232	}
4233	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4234		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4235	}
4236	if s.TransitGatewayConnectPeerArn == nil {
4237		invalidParams.Add(request.NewErrParamRequired("TransitGatewayConnectPeerArn"))
4238	}
4239
4240	if invalidParams.Len() > 0 {
4241		return invalidParams
4242	}
4243	return nil
4244}
4245
4246// SetDeviceId sets the DeviceId field's value.
4247func (s *AssociateTransitGatewayConnectPeerInput) SetDeviceId(v string) *AssociateTransitGatewayConnectPeerInput {
4248	s.DeviceId = &v
4249	return s
4250}
4251
4252// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4253func (s *AssociateTransitGatewayConnectPeerInput) SetGlobalNetworkId(v string) *AssociateTransitGatewayConnectPeerInput {
4254	s.GlobalNetworkId = &v
4255	return s
4256}
4257
4258// SetLinkId sets the LinkId field's value.
4259func (s *AssociateTransitGatewayConnectPeerInput) SetLinkId(v string) *AssociateTransitGatewayConnectPeerInput {
4260	s.LinkId = &v
4261	return s
4262}
4263
4264// SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
4265func (s *AssociateTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerArn(v string) *AssociateTransitGatewayConnectPeerInput {
4266	s.TransitGatewayConnectPeerArn = &v
4267	return s
4268}
4269
4270type AssociateTransitGatewayConnectPeerOutput struct {
4271	_ struct{} `type:"structure"`
4272
4273	// The transit gateway Connect peer association.
4274	TransitGatewayConnectPeerAssociation *TransitGatewayConnectPeerAssociation `type:"structure"`
4275}
4276
4277// String returns the string representation
4278func (s AssociateTransitGatewayConnectPeerOutput) String() string {
4279	return awsutil.Prettify(s)
4280}
4281
4282// GoString returns the string representation
4283func (s AssociateTransitGatewayConnectPeerOutput) GoString() string {
4284	return s.String()
4285}
4286
4287// SetTransitGatewayConnectPeerAssociation sets the TransitGatewayConnectPeerAssociation field's value.
4288func (s *AssociateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeerAssociation(v *TransitGatewayConnectPeerAssociation) *AssociateTransitGatewayConnectPeerOutput {
4289	s.TransitGatewayConnectPeerAssociation = v
4290	return s
4291}
4292
4293// Describes bandwidth information.
4294type Bandwidth struct {
4295	_ struct{} `type:"structure"`
4296
4297	// Download speed in Mbps.
4298	DownloadSpeed *int64 `type:"integer"`
4299
4300	// Upload speed in Mbps.
4301	UploadSpeed *int64 `type:"integer"`
4302}
4303
4304// String returns the string representation
4305func (s Bandwidth) String() string {
4306	return awsutil.Prettify(s)
4307}
4308
4309// GoString returns the string representation
4310func (s Bandwidth) GoString() string {
4311	return s.String()
4312}
4313
4314// SetDownloadSpeed sets the DownloadSpeed field's value.
4315func (s *Bandwidth) SetDownloadSpeed(v int64) *Bandwidth {
4316	s.DownloadSpeed = &v
4317	return s
4318}
4319
4320// SetUploadSpeed sets the UploadSpeed field's value.
4321func (s *Bandwidth) SetUploadSpeed(v int64) *Bandwidth {
4322	s.UploadSpeed = &v
4323	return s
4324}
4325
4326// There was a conflict processing the request. Updating or deleting the resource
4327// can cause an inconsistent state.
4328type ConflictException struct {
4329	_            struct{}                  `type:"structure"`
4330	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4331
4332	Message_ *string `locationName:"Message" type:"string"`
4333
4334	// The ID of the resource.
4335	//
4336	// ResourceId is a required field
4337	ResourceId *string `type:"string" required:"true"`
4338
4339	// The resource type.
4340	//
4341	// ResourceType is a required field
4342	ResourceType *string `type:"string" required:"true"`
4343}
4344
4345// String returns the string representation
4346func (s ConflictException) String() string {
4347	return awsutil.Prettify(s)
4348}
4349
4350// GoString returns the string representation
4351func (s ConflictException) GoString() string {
4352	return s.String()
4353}
4354
4355func newErrorConflictException(v protocol.ResponseMetadata) error {
4356	return &ConflictException{
4357		RespMetadata: v,
4358	}
4359}
4360
4361// Code returns the exception type name.
4362func (s *ConflictException) Code() string {
4363	return "ConflictException"
4364}
4365
4366// Message returns the exception's message.
4367func (s *ConflictException) Message() string {
4368	if s.Message_ != nil {
4369		return *s.Message_
4370	}
4371	return ""
4372}
4373
4374// OrigErr always returns nil, satisfies awserr.Error interface.
4375func (s *ConflictException) OrigErr() error {
4376	return nil
4377}
4378
4379func (s *ConflictException) Error() string {
4380	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4381}
4382
4383// Status code returns the HTTP status code for the request's response error.
4384func (s *ConflictException) StatusCode() int {
4385	return s.RespMetadata.StatusCode
4386}
4387
4388// RequestID returns the service's response RequestID for request.
4389func (s *ConflictException) RequestID() string {
4390	return s.RespMetadata.RequestID
4391}
4392
4393// Describes a connection.
4394type Connection struct {
4395	_ struct{} `type:"structure"`
4396
4397	// The ID of the second device in the connection.
4398	ConnectedDeviceId *string `type:"string"`
4399
4400	// The ID of the link for the second device in the connection.
4401	ConnectedLinkId *string `type:"string"`
4402
4403	// The Amazon Resource Name (ARN) of the connection.
4404	ConnectionArn *string `type:"string"`
4405
4406	// The ID of the connection.
4407	ConnectionId *string `type:"string"`
4408
4409	// The date and time that the connection was created.
4410	CreatedAt *time.Time `type:"timestamp"`
4411
4412	// The description of the connection.
4413	Description *string `type:"string"`
4414
4415	// The ID of the first device in the connection.
4416	DeviceId *string `type:"string"`
4417
4418	// The ID of the global network.
4419	GlobalNetworkId *string `type:"string"`
4420
4421	// The ID of the link for the first device in the connection.
4422	LinkId *string `type:"string"`
4423
4424	// The state of the connection.
4425	State *string `type:"string" enum:"ConnectionState"`
4426
4427	// The tags for the connection.
4428	Tags []*Tag `type:"list"`
4429}
4430
4431// String returns the string representation
4432func (s Connection) String() string {
4433	return awsutil.Prettify(s)
4434}
4435
4436// GoString returns the string representation
4437func (s Connection) GoString() string {
4438	return s.String()
4439}
4440
4441// SetConnectedDeviceId sets the ConnectedDeviceId field's value.
4442func (s *Connection) SetConnectedDeviceId(v string) *Connection {
4443	s.ConnectedDeviceId = &v
4444	return s
4445}
4446
4447// SetConnectedLinkId sets the ConnectedLinkId field's value.
4448func (s *Connection) SetConnectedLinkId(v string) *Connection {
4449	s.ConnectedLinkId = &v
4450	return s
4451}
4452
4453// SetConnectionArn sets the ConnectionArn field's value.
4454func (s *Connection) SetConnectionArn(v string) *Connection {
4455	s.ConnectionArn = &v
4456	return s
4457}
4458
4459// SetConnectionId sets the ConnectionId field's value.
4460func (s *Connection) SetConnectionId(v string) *Connection {
4461	s.ConnectionId = &v
4462	return s
4463}
4464
4465// SetCreatedAt sets the CreatedAt field's value.
4466func (s *Connection) SetCreatedAt(v time.Time) *Connection {
4467	s.CreatedAt = &v
4468	return s
4469}
4470
4471// SetDescription sets the Description field's value.
4472func (s *Connection) SetDescription(v string) *Connection {
4473	s.Description = &v
4474	return s
4475}
4476
4477// SetDeviceId sets the DeviceId field's value.
4478func (s *Connection) SetDeviceId(v string) *Connection {
4479	s.DeviceId = &v
4480	return s
4481}
4482
4483// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4484func (s *Connection) SetGlobalNetworkId(v string) *Connection {
4485	s.GlobalNetworkId = &v
4486	return s
4487}
4488
4489// SetLinkId sets the LinkId field's value.
4490func (s *Connection) SetLinkId(v string) *Connection {
4491	s.LinkId = &v
4492	return s
4493}
4494
4495// SetState sets the State field's value.
4496func (s *Connection) SetState(v string) *Connection {
4497	s.State = &v
4498	return s
4499}
4500
4501// SetTags sets the Tags field's value.
4502func (s *Connection) SetTags(v []*Tag) *Connection {
4503	s.Tags = v
4504	return s
4505}
4506
4507type CreateConnectionInput struct {
4508	_ struct{} `type:"structure"`
4509
4510	// The ID of the second device in the connection.
4511	//
4512	// ConnectedDeviceId is a required field
4513	ConnectedDeviceId *string `type:"string" required:"true"`
4514
4515	// The ID of the link for the second device.
4516	ConnectedLinkId *string `type:"string"`
4517
4518	// A description of the connection.
4519	//
4520	// Length Constraints: Maximum length of 256 characters.
4521	Description *string `type:"string"`
4522
4523	// The ID of the first device in the connection.
4524	//
4525	// DeviceId is a required field
4526	DeviceId *string `type:"string" required:"true"`
4527
4528	// The ID of the global network.
4529	//
4530	// GlobalNetworkId is a required field
4531	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4532
4533	// The ID of the link for the first device.
4534	LinkId *string `type:"string"`
4535
4536	// The tags to apply to the resource during creation.
4537	Tags []*Tag `type:"list"`
4538}
4539
4540// String returns the string representation
4541func (s CreateConnectionInput) String() string {
4542	return awsutil.Prettify(s)
4543}
4544
4545// GoString returns the string representation
4546func (s CreateConnectionInput) GoString() string {
4547	return s.String()
4548}
4549
4550// Validate inspects the fields of the type to determine if they are valid.
4551func (s *CreateConnectionInput) Validate() error {
4552	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"}
4553	if s.ConnectedDeviceId == nil {
4554		invalidParams.Add(request.NewErrParamRequired("ConnectedDeviceId"))
4555	}
4556	if s.DeviceId == nil {
4557		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
4558	}
4559	if s.GlobalNetworkId == nil {
4560		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4561	}
4562	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4563		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4564	}
4565
4566	if invalidParams.Len() > 0 {
4567		return invalidParams
4568	}
4569	return nil
4570}
4571
4572// SetConnectedDeviceId sets the ConnectedDeviceId field's value.
4573func (s *CreateConnectionInput) SetConnectedDeviceId(v string) *CreateConnectionInput {
4574	s.ConnectedDeviceId = &v
4575	return s
4576}
4577
4578// SetConnectedLinkId sets the ConnectedLinkId field's value.
4579func (s *CreateConnectionInput) SetConnectedLinkId(v string) *CreateConnectionInput {
4580	s.ConnectedLinkId = &v
4581	return s
4582}
4583
4584// SetDescription sets the Description field's value.
4585func (s *CreateConnectionInput) SetDescription(v string) *CreateConnectionInput {
4586	s.Description = &v
4587	return s
4588}
4589
4590// SetDeviceId sets the DeviceId field's value.
4591func (s *CreateConnectionInput) SetDeviceId(v string) *CreateConnectionInput {
4592	s.DeviceId = &v
4593	return s
4594}
4595
4596// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4597func (s *CreateConnectionInput) SetGlobalNetworkId(v string) *CreateConnectionInput {
4598	s.GlobalNetworkId = &v
4599	return s
4600}
4601
4602// SetLinkId sets the LinkId field's value.
4603func (s *CreateConnectionInput) SetLinkId(v string) *CreateConnectionInput {
4604	s.LinkId = &v
4605	return s
4606}
4607
4608// SetTags sets the Tags field's value.
4609func (s *CreateConnectionInput) SetTags(v []*Tag) *CreateConnectionInput {
4610	s.Tags = v
4611	return s
4612}
4613
4614type CreateConnectionOutput struct {
4615	_ struct{} `type:"structure"`
4616
4617	// Information about the connection.
4618	Connection *Connection `type:"structure"`
4619}
4620
4621// String returns the string representation
4622func (s CreateConnectionOutput) String() string {
4623	return awsutil.Prettify(s)
4624}
4625
4626// GoString returns the string representation
4627func (s CreateConnectionOutput) GoString() string {
4628	return s.String()
4629}
4630
4631// SetConnection sets the Connection field's value.
4632func (s *CreateConnectionOutput) SetConnection(v *Connection) *CreateConnectionOutput {
4633	s.Connection = v
4634	return s
4635}
4636
4637type CreateDeviceInput struct {
4638	_ struct{} `type:"structure"`
4639
4640	// The AWS location of the device.
4641	AWSLocation *AWSLocation `type:"structure"`
4642
4643	// A description of the device.
4644	//
4645	// Length Constraints: Maximum length of 256 characters.
4646	Description *string `type:"string"`
4647
4648	// The ID of the global network.
4649	//
4650	// GlobalNetworkId is a required field
4651	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4652
4653	// The location of the device.
4654	Location *Location `type:"structure" sensitive:"true"`
4655
4656	// The model of the device.
4657	//
4658	// Length Constraints: Maximum length of 128 characters.
4659	Model *string `type:"string"`
4660
4661	// The serial number of the device.
4662	//
4663	// Length Constraints: Maximum length of 128 characters.
4664	SerialNumber *string `type:"string"`
4665
4666	// The ID of the site.
4667	SiteId *string `type:"string"`
4668
4669	// The tags to apply to the resource during creation.
4670	Tags []*Tag `type:"list"`
4671
4672	// The type of the device.
4673	Type *string `type:"string"`
4674
4675	// The vendor of the device.
4676	//
4677	// Length Constraints: Maximum length of 128 characters.
4678	Vendor *string `type:"string"`
4679}
4680
4681// String returns the string representation
4682func (s CreateDeviceInput) String() string {
4683	return awsutil.Prettify(s)
4684}
4685
4686// GoString returns the string representation
4687func (s CreateDeviceInput) GoString() string {
4688	return s.String()
4689}
4690
4691// Validate inspects the fields of the type to determine if they are valid.
4692func (s *CreateDeviceInput) Validate() error {
4693	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceInput"}
4694	if s.GlobalNetworkId == nil {
4695		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4696	}
4697	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4698		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4699	}
4700
4701	if invalidParams.Len() > 0 {
4702		return invalidParams
4703	}
4704	return nil
4705}
4706
4707// SetAWSLocation sets the AWSLocation field's value.
4708func (s *CreateDeviceInput) SetAWSLocation(v *AWSLocation) *CreateDeviceInput {
4709	s.AWSLocation = v
4710	return s
4711}
4712
4713// SetDescription sets the Description field's value.
4714func (s *CreateDeviceInput) SetDescription(v string) *CreateDeviceInput {
4715	s.Description = &v
4716	return s
4717}
4718
4719// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4720func (s *CreateDeviceInput) SetGlobalNetworkId(v string) *CreateDeviceInput {
4721	s.GlobalNetworkId = &v
4722	return s
4723}
4724
4725// SetLocation sets the Location field's value.
4726func (s *CreateDeviceInput) SetLocation(v *Location) *CreateDeviceInput {
4727	s.Location = v
4728	return s
4729}
4730
4731// SetModel sets the Model field's value.
4732func (s *CreateDeviceInput) SetModel(v string) *CreateDeviceInput {
4733	s.Model = &v
4734	return s
4735}
4736
4737// SetSerialNumber sets the SerialNumber field's value.
4738func (s *CreateDeviceInput) SetSerialNumber(v string) *CreateDeviceInput {
4739	s.SerialNumber = &v
4740	return s
4741}
4742
4743// SetSiteId sets the SiteId field's value.
4744func (s *CreateDeviceInput) SetSiteId(v string) *CreateDeviceInput {
4745	s.SiteId = &v
4746	return s
4747}
4748
4749// SetTags sets the Tags field's value.
4750func (s *CreateDeviceInput) SetTags(v []*Tag) *CreateDeviceInput {
4751	s.Tags = v
4752	return s
4753}
4754
4755// SetType sets the Type field's value.
4756func (s *CreateDeviceInput) SetType(v string) *CreateDeviceInput {
4757	s.Type = &v
4758	return s
4759}
4760
4761// SetVendor sets the Vendor field's value.
4762func (s *CreateDeviceInput) SetVendor(v string) *CreateDeviceInput {
4763	s.Vendor = &v
4764	return s
4765}
4766
4767type CreateDeviceOutput struct {
4768	_ struct{} `type:"structure"`
4769
4770	// Information about the device.
4771	Device *Device `type:"structure"`
4772}
4773
4774// String returns the string representation
4775func (s CreateDeviceOutput) String() string {
4776	return awsutil.Prettify(s)
4777}
4778
4779// GoString returns the string representation
4780func (s CreateDeviceOutput) GoString() string {
4781	return s.String()
4782}
4783
4784// SetDevice sets the Device field's value.
4785func (s *CreateDeviceOutput) SetDevice(v *Device) *CreateDeviceOutput {
4786	s.Device = v
4787	return s
4788}
4789
4790type CreateGlobalNetworkInput struct {
4791	_ struct{} `type:"structure"`
4792
4793	// A description of the global network.
4794	//
4795	// Length Constraints: Maximum length of 256 characters.
4796	Description *string `type:"string"`
4797
4798	// The tags to apply to the resource during creation.
4799	Tags []*Tag `type:"list"`
4800}
4801
4802// String returns the string representation
4803func (s CreateGlobalNetworkInput) String() string {
4804	return awsutil.Prettify(s)
4805}
4806
4807// GoString returns the string representation
4808func (s CreateGlobalNetworkInput) GoString() string {
4809	return s.String()
4810}
4811
4812// SetDescription sets the Description field's value.
4813func (s *CreateGlobalNetworkInput) SetDescription(v string) *CreateGlobalNetworkInput {
4814	s.Description = &v
4815	return s
4816}
4817
4818// SetTags sets the Tags field's value.
4819func (s *CreateGlobalNetworkInput) SetTags(v []*Tag) *CreateGlobalNetworkInput {
4820	s.Tags = v
4821	return s
4822}
4823
4824type CreateGlobalNetworkOutput struct {
4825	_ struct{} `type:"structure"`
4826
4827	// Information about the global network object.
4828	GlobalNetwork *GlobalNetwork `type:"structure"`
4829}
4830
4831// String returns the string representation
4832func (s CreateGlobalNetworkOutput) String() string {
4833	return awsutil.Prettify(s)
4834}
4835
4836// GoString returns the string representation
4837func (s CreateGlobalNetworkOutput) GoString() string {
4838	return s.String()
4839}
4840
4841// SetGlobalNetwork sets the GlobalNetwork field's value.
4842func (s *CreateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *CreateGlobalNetworkOutput {
4843	s.GlobalNetwork = v
4844	return s
4845}
4846
4847type CreateLinkInput struct {
4848	_ struct{} `type:"structure"`
4849
4850	// The upload speed and download speed in Mbps.
4851	//
4852	// Bandwidth is a required field
4853	Bandwidth *Bandwidth `type:"structure" required:"true"`
4854
4855	// A description of the link.
4856	//
4857	// Length Constraints: Maximum length of 256 characters.
4858	Description *string `type:"string"`
4859
4860	// The ID of the global network.
4861	//
4862	// GlobalNetworkId is a required field
4863	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4864
4865	// The provider of the link.
4866	//
4867	// Constraints: Cannot include the following characters: | \ ^
4868	//
4869	// Length Constraints: Maximum length of 128 characters.
4870	Provider *string `type:"string"`
4871
4872	// The ID of the site.
4873	//
4874	// SiteId is a required field
4875	SiteId *string `type:"string" required:"true"`
4876
4877	// The tags to apply to the resource during creation.
4878	Tags []*Tag `type:"list"`
4879
4880	// The type of the link.
4881	//
4882	// Constraints: Cannot include the following characters: | \ ^
4883	//
4884	// Length Constraints: Maximum length of 128 characters.
4885	Type *string `type:"string"`
4886}
4887
4888// String returns the string representation
4889func (s CreateLinkInput) String() string {
4890	return awsutil.Prettify(s)
4891}
4892
4893// GoString returns the string representation
4894func (s CreateLinkInput) GoString() string {
4895	return s.String()
4896}
4897
4898// Validate inspects the fields of the type to determine if they are valid.
4899func (s *CreateLinkInput) Validate() error {
4900	invalidParams := request.ErrInvalidParams{Context: "CreateLinkInput"}
4901	if s.Bandwidth == nil {
4902		invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
4903	}
4904	if s.GlobalNetworkId == nil {
4905		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4906	}
4907	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4908		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4909	}
4910	if s.SiteId == nil {
4911		invalidParams.Add(request.NewErrParamRequired("SiteId"))
4912	}
4913
4914	if invalidParams.Len() > 0 {
4915		return invalidParams
4916	}
4917	return nil
4918}
4919
4920// SetBandwidth sets the Bandwidth field's value.
4921func (s *CreateLinkInput) SetBandwidth(v *Bandwidth) *CreateLinkInput {
4922	s.Bandwidth = v
4923	return s
4924}
4925
4926// SetDescription sets the Description field's value.
4927func (s *CreateLinkInput) SetDescription(v string) *CreateLinkInput {
4928	s.Description = &v
4929	return s
4930}
4931
4932// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4933func (s *CreateLinkInput) SetGlobalNetworkId(v string) *CreateLinkInput {
4934	s.GlobalNetworkId = &v
4935	return s
4936}
4937
4938// SetProvider sets the Provider field's value.
4939func (s *CreateLinkInput) SetProvider(v string) *CreateLinkInput {
4940	s.Provider = &v
4941	return s
4942}
4943
4944// SetSiteId sets the SiteId field's value.
4945func (s *CreateLinkInput) SetSiteId(v string) *CreateLinkInput {
4946	s.SiteId = &v
4947	return s
4948}
4949
4950// SetTags sets the Tags field's value.
4951func (s *CreateLinkInput) SetTags(v []*Tag) *CreateLinkInput {
4952	s.Tags = v
4953	return s
4954}
4955
4956// SetType sets the Type field's value.
4957func (s *CreateLinkInput) SetType(v string) *CreateLinkInput {
4958	s.Type = &v
4959	return s
4960}
4961
4962type CreateLinkOutput struct {
4963	_ struct{} `type:"structure"`
4964
4965	// Information about the link.
4966	Link *Link `type:"structure"`
4967}
4968
4969// String returns the string representation
4970func (s CreateLinkOutput) String() string {
4971	return awsutil.Prettify(s)
4972}
4973
4974// GoString returns the string representation
4975func (s CreateLinkOutput) GoString() string {
4976	return s.String()
4977}
4978
4979// SetLink sets the Link field's value.
4980func (s *CreateLinkOutput) SetLink(v *Link) *CreateLinkOutput {
4981	s.Link = v
4982	return s
4983}
4984
4985type CreateSiteInput struct {
4986	_ struct{} `type:"structure"`
4987
4988	// A description of your site.
4989	//
4990	// Length Constraints: Maximum length of 256 characters.
4991	Description *string `type:"string"`
4992
4993	// The ID of the global network.
4994	//
4995	// GlobalNetworkId is a required field
4996	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4997
4998	// The site location. This information is used for visualization in the Network
4999	// Manager console. If you specify the address, the latitude and longitude are
5000	// automatically calculated.
5001	//
5002	//    * Address: The physical address of the site.
5003	//
5004	//    * Latitude: The latitude of the site.
5005	//
5006	//    * Longitude: The longitude of the site.
5007	Location *Location `type:"structure" sensitive:"true"`
5008
5009	// The tags to apply to the resource during creation.
5010	Tags []*Tag `type:"list"`
5011}
5012
5013// String returns the string representation
5014func (s CreateSiteInput) String() string {
5015	return awsutil.Prettify(s)
5016}
5017
5018// GoString returns the string representation
5019func (s CreateSiteInput) GoString() string {
5020	return s.String()
5021}
5022
5023// Validate inspects the fields of the type to determine if they are valid.
5024func (s *CreateSiteInput) Validate() error {
5025	invalidParams := request.ErrInvalidParams{Context: "CreateSiteInput"}
5026	if s.GlobalNetworkId == nil {
5027		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5028	}
5029	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5030		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5031	}
5032
5033	if invalidParams.Len() > 0 {
5034		return invalidParams
5035	}
5036	return nil
5037}
5038
5039// SetDescription sets the Description field's value.
5040func (s *CreateSiteInput) SetDescription(v string) *CreateSiteInput {
5041	s.Description = &v
5042	return s
5043}
5044
5045// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5046func (s *CreateSiteInput) SetGlobalNetworkId(v string) *CreateSiteInput {
5047	s.GlobalNetworkId = &v
5048	return s
5049}
5050
5051// SetLocation sets the Location field's value.
5052func (s *CreateSiteInput) SetLocation(v *Location) *CreateSiteInput {
5053	s.Location = v
5054	return s
5055}
5056
5057// SetTags sets the Tags field's value.
5058func (s *CreateSiteInput) SetTags(v []*Tag) *CreateSiteInput {
5059	s.Tags = v
5060	return s
5061}
5062
5063type CreateSiteOutput struct {
5064	_ struct{} `type:"structure"`
5065
5066	// Information about the site.
5067	Site *Site `type:"structure"`
5068}
5069
5070// String returns the string representation
5071func (s CreateSiteOutput) String() string {
5072	return awsutil.Prettify(s)
5073}
5074
5075// GoString returns the string representation
5076func (s CreateSiteOutput) GoString() string {
5077	return s.String()
5078}
5079
5080// SetSite sets the Site field's value.
5081func (s *CreateSiteOutput) SetSite(v *Site) *CreateSiteOutput {
5082	s.Site = v
5083	return s
5084}
5085
5086// Describes the association between a customer gateway, a device, and a link.
5087type CustomerGatewayAssociation struct {
5088	_ struct{} `type:"structure"`
5089
5090	// The Amazon Resource Name (ARN) of the customer gateway.
5091	CustomerGatewayArn *string `type:"string"`
5092
5093	// The ID of the device.
5094	DeviceId *string `type:"string"`
5095
5096	// The ID of the global network.
5097	GlobalNetworkId *string `type:"string"`
5098
5099	// The ID of the link.
5100	LinkId *string `type:"string"`
5101
5102	// The association state.
5103	State *string `type:"string" enum:"CustomerGatewayAssociationState"`
5104}
5105
5106// String returns the string representation
5107func (s CustomerGatewayAssociation) String() string {
5108	return awsutil.Prettify(s)
5109}
5110
5111// GoString returns the string representation
5112func (s CustomerGatewayAssociation) GoString() string {
5113	return s.String()
5114}
5115
5116// SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
5117func (s *CustomerGatewayAssociation) SetCustomerGatewayArn(v string) *CustomerGatewayAssociation {
5118	s.CustomerGatewayArn = &v
5119	return s
5120}
5121
5122// SetDeviceId sets the DeviceId field's value.
5123func (s *CustomerGatewayAssociation) SetDeviceId(v string) *CustomerGatewayAssociation {
5124	s.DeviceId = &v
5125	return s
5126}
5127
5128// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5129func (s *CustomerGatewayAssociation) SetGlobalNetworkId(v string) *CustomerGatewayAssociation {
5130	s.GlobalNetworkId = &v
5131	return s
5132}
5133
5134// SetLinkId sets the LinkId field's value.
5135func (s *CustomerGatewayAssociation) SetLinkId(v string) *CustomerGatewayAssociation {
5136	s.LinkId = &v
5137	return s
5138}
5139
5140// SetState sets the State field's value.
5141func (s *CustomerGatewayAssociation) SetState(v string) *CustomerGatewayAssociation {
5142	s.State = &v
5143	return s
5144}
5145
5146type DeleteConnectionInput struct {
5147	_ struct{} `type:"structure"`
5148
5149	// The ID of the connection.
5150	//
5151	// ConnectionId is a required field
5152	ConnectionId *string `location:"uri" locationName:"connectionId" type:"string" required:"true"`
5153
5154	// The ID of the global network.
5155	//
5156	// GlobalNetworkId is a required field
5157	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5158}
5159
5160// String returns the string representation
5161func (s DeleteConnectionInput) String() string {
5162	return awsutil.Prettify(s)
5163}
5164
5165// GoString returns the string representation
5166func (s DeleteConnectionInput) GoString() string {
5167	return s.String()
5168}
5169
5170// Validate inspects the fields of the type to determine if they are valid.
5171func (s *DeleteConnectionInput) Validate() error {
5172	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"}
5173	if s.ConnectionId == nil {
5174		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
5175	}
5176	if s.ConnectionId != nil && len(*s.ConnectionId) < 1 {
5177		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 1))
5178	}
5179	if s.GlobalNetworkId == nil {
5180		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5181	}
5182	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5183		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5184	}
5185
5186	if invalidParams.Len() > 0 {
5187		return invalidParams
5188	}
5189	return nil
5190}
5191
5192// SetConnectionId sets the ConnectionId field's value.
5193func (s *DeleteConnectionInput) SetConnectionId(v string) *DeleteConnectionInput {
5194	s.ConnectionId = &v
5195	return s
5196}
5197
5198// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5199func (s *DeleteConnectionInput) SetGlobalNetworkId(v string) *DeleteConnectionInput {
5200	s.GlobalNetworkId = &v
5201	return s
5202}
5203
5204type DeleteConnectionOutput struct {
5205	_ struct{} `type:"structure"`
5206
5207	// Information about the connection.
5208	Connection *Connection `type:"structure"`
5209}
5210
5211// String returns the string representation
5212func (s DeleteConnectionOutput) String() string {
5213	return awsutil.Prettify(s)
5214}
5215
5216// GoString returns the string representation
5217func (s DeleteConnectionOutput) GoString() string {
5218	return s.String()
5219}
5220
5221// SetConnection sets the Connection field's value.
5222func (s *DeleteConnectionOutput) SetConnection(v *Connection) *DeleteConnectionOutput {
5223	s.Connection = v
5224	return s
5225}
5226
5227type DeleteDeviceInput struct {
5228	_ struct{} `type:"structure"`
5229
5230	// The ID of the device.
5231	//
5232	// DeviceId is a required field
5233	DeviceId *string `location:"uri" locationName:"deviceId" type:"string" required:"true"`
5234
5235	// The ID of the global network.
5236	//
5237	// GlobalNetworkId is a required field
5238	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5239}
5240
5241// String returns the string representation
5242func (s DeleteDeviceInput) String() string {
5243	return awsutil.Prettify(s)
5244}
5245
5246// GoString returns the string representation
5247func (s DeleteDeviceInput) GoString() string {
5248	return s.String()
5249}
5250
5251// Validate inspects the fields of the type to determine if they are valid.
5252func (s *DeleteDeviceInput) Validate() error {
5253	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceInput"}
5254	if s.DeviceId == nil {
5255		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
5256	}
5257	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
5258		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
5259	}
5260	if s.GlobalNetworkId == nil {
5261		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5262	}
5263	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5264		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5265	}
5266
5267	if invalidParams.Len() > 0 {
5268		return invalidParams
5269	}
5270	return nil
5271}
5272
5273// SetDeviceId sets the DeviceId field's value.
5274func (s *DeleteDeviceInput) SetDeviceId(v string) *DeleteDeviceInput {
5275	s.DeviceId = &v
5276	return s
5277}
5278
5279// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5280func (s *DeleteDeviceInput) SetGlobalNetworkId(v string) *DeleteDeviceInput {
5281	s.GlobalNetworkId = &v
5282	return s
5283}
5284
5285type DeleteDeviceOutput struct {
5286	_ struct{} `type:"structure"`
5287
5288	// Information about the device.
5289	Device *Device `type:"structure"`
5290}
5291
5292// String returns the string representation
5293func (s DeleteDeviceOutput) String() string {
5294	return awsutil.Prettify(s)
5295}
5296
5297// GoString returns the string representation
5298func (s DeleteDeviceOutput) GoString() string {
5299	return s.String()
5300}
5301
5302// SetDevice sets the Device field's value.
5303func (s *DeleteDeviceOutput) SetDevice(v *Device) *DeleteDeviceOutput {
5304	s.Device = v
5305	return s
5306}
5307
5308type DeleteGlobalNetworkInput struct {
5309	_ struct{} `type:"structure"`
5310
5311	// The ID of the global network.
5312	//
5313	// GlobalNetworkId is a required field
5314	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5315}
5316
5317// String returns the string representation
5318func (s DeleteGlobalNetworkInput) String() string {
5319	return awsutil.Prettify(s)
5320}
5321
5322// GoString returns the string representation
5323func (s DeleteGlobalNetworkInput) GoString() string {
5324	return s.String()
5325}
5326
5327// Validate inspects the fields of the type to determine if they are valid.
5328func (s *DeleteGlobalNetworkInput) Validate() error {
5329	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalNetworkInput"}
5330	if s.GlobalNetworkId == nil {
5331		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5332	}
5333	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5334		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5335	}
5336
5337	if invalidParams.Len() > 0 {
5338		return invalidParams
5339	}
5340	return nil
5341}
5342
5343// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5344func (s *DeleteGlobalNetworkInput) SetGlobalNetworkId(v string) *DeleteGlobalNetworkInput {
5345	s.GlobalNetworkId = &v
5346	return s
5347}
5348
5349type DeleteGlobalNetworkOutput struct {
5350	_ struct{} `type:"structure"`
5351
5352	// Information about the global network.
5353	GlobalNetwork *GlobalNetwork `type:"structure"`
5354}
5355
5356// String returns the string representation
5357func (s DeleteGlobalNetworkOutput) String() string {
5358	return awsutil.Prettify(s)
5359}
5360
5361// GoString returns the string representation
5362func (s DeleteGlobalNetworkOutput) GoString() string {
5363	return s.String()
5364}
5365
5366// SetGlobalNetwork sets the GlobalNetwork field's value.
5367func (s *DeleteGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *DeleteGlobalNetworkOutput {
5368	s.GlobalNetwork = v
5369	return s
5370}
5371
5372type DeleteLinkInput struct {
5373	_ struct{} `type:"structure"`
5374
5375	// The ID of the global network.
5376	//
5377	// GlobalNetworkId is a required field
5378	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5379
5380	// The ID of the link.
5381	//
5382	// LinkId is a required field
5383	LinkId *string `location:"uri" locationName:"linkId" type:"string" required:"true"`
5384}
5385
5386// String returns the string representation
5387func (s DeleteLinkInput) String() string {
5388	return awsutil.Prettify(s)
5389}
5390
5391// GoString returns the string representation
5392func (s DeleteLinkInput) GoString() string {
5393	return s.String()
5394}
5395
5396// Validate inspects the fields of the type to determine if they are valid.
5397func (s *DeleteLinkInput) Validate() error {
5398	invalidParams := request.ErrInvalidParams{Context: "DeleteLinkInput"}
5399	if s.GlobalNetworkId == nil {
5400		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5401	}
5402	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5403		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5404	}
5405	if s.LinkId == nil {
5406		invalidParams.Add(request.NewErrParamRequired("LinkId"))
5407	}
5408	if s.LinkId != nil && len(*s.LinkId) < 1 {
5409		invalidParams.Add(request.NewErrParamMinLen("LinkId", 1))
5410	}
5411
5412	if invalidParams.Len() > 0 {
5413		return invalidParams
5414	}
5415	return nil
5416}
5417
5418// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5419func (s *DeleteLinkInput) SetGlobalNetworkId(v string) *DeleteLinkInput {
5420	s.GlobalNetworkId = &v
5421	return s
5422}
5423
5424// SetLinkId sets the LinkId field's value.
5425func (s *DeleteLinkInput) SetLinkId(v string) *DeleteLinkInput {
5426	s.LinkId = &v
5427	return s
5428}
5429
5430type DeleteLinkOutput struct {
5431	_ struct{} `type:"structure"`
5432
5433	// Information about the link.
5434	Link *Link `type:"structure"`
5435}
5436
5437// String returns the string representation
5438func (s DeleteLinkOutput) String() string {
5439	return awsutil.Prettify(s)
5440}
5441
5442// GoString returns the string representation
5443func (s DeleteLinkOutput) GoString() string {
5444	return s.String()
5445}
5446
5447// SetLink sets the Link field's value.
5448func (s *DeleteLinkOutput) SetLink(v *Link) *DeleteLinkOutput {
5449	s.Link = v
5450	return s
5451}
5452
5453type DeleteSiteInput struct {
5454	_ struct{} `type:"structure"`
5455
5456	// The ID of the global network.
5457	//
5458	// GlobalNetworkId is a required field
5459	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5460
5461	// The ID of the site.
5462	//
5463	// SiteId is a required field
5464	SiteId *string `location:"uri" locationName:"siteId" type:"string" required:"true"`
5465}
5466
5467// String returns the string representation
5468func (s DeleteSiteInput) String() string {
5469	return awsutil.Prettify(s)
5470}
5471
5472// GoString returns the string representation
5473func (s DeleteSiteInput) GoString() string {
5474	return s.String()
5475}
5476
5477// Validate inspects the fields of the type to determine if they are valid.
5478func (s *DeleteSiteInput) Validate() error {
5479	invalidParams := request.ErrInvalidParams{Context: "DeleteSiteInput"}
5480	if s.GlobalNetworkId == nil {
5481		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5482	}
5483	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5484		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5485	}
5486	if s.SiteId == nil {
5487		invalidParams.Add(request.NewErrParamRequired("SiteId"))
5488	}
5489	if s.SiteId != nil && len(*s.SiteId) < 1 {
5490		invalidParams.Add(request.NewErrParamMinLen("SiteId", 1))
5491	}
5492
5493	if invalidParams.Len() > 0 {
5494		return invalidParams
5495	}
5496	return nil
5497}
5498
5499// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5500func (s *DeleteSiteInput) SetGlobalNetworkId(v string) *DeleteSiteInput {
5501	s.GlobalNetworkId = &v
5502	return s
5503}
5504
5505// SetSiteId sets the SiteId field's value.
5506func (s *DeleteSiteInput) SetSiteId(v string) *DeleteSiteInput {
5507	s.SiteId = &v
5508	return s
5509}
5510
5511type DeleteSiteOutput struct {
5512	_ struct{} `type:"structure"`
5513
5514	// Information about the site.
5515	Site *Site `type:"structure"`
5516}
5517
5518// String returns the string representation
5519func (s DeleteSiteOutput) String() string {
5520	return awsutil.Prettify(s)
5521}
5522
5523// GoString returns the string representation
5524func (s DeleteSiteOutput) GoString() string {
5525	return s.String()
5526}
5527
5528// SetSite sets the Site field's value.
5529func (s *DeleteSiteOutput) SetSite(v *Site) *DeleteSiteOutput {
5530	s.Site = v
5531	return s
5532}
5533
5534type DeregisterTransitGatewayInput struct {
5535	_ struct{} `type:"structure"`
5536
5537	// The ID of the global network.
5538	//
5539	// GlobalNetworkId is a required field
5540	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5541
5542	// The Amazon Resource Name (ARN) of the transit gateway.
5543	//
5544	// TransitGatewayArn is a required field
5545	TransitGatewayArn *string `location:"uri" locationName:"transitGatewayArn" type:"string" required:"true"`
5546}
5547
5548// String returns the string representation
5549func (s DeregisterTransitGatewayInput) String() string {
5550	return awsutil.Prettify(s)
5551}
5552
5553// GoString returns the string representation
5554func (s DeregisterTransitGatewayInput) GoString() string {
5555	return s.String()
5556}
5557
5558// Validate inspects the fields of the type to determine if they are valid.
5559func (s *DeregisterTransitGatewayInput) Validate() error {
5560	invalidParams := request.ErrInvalidParams{Context: "DeregisterTransitGatewayInput"}
5561	if s.GlobalNetworkId == nil {
5562		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5563	}
5564	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5565		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5566	}
5567	if s.TransitGatewayArn == nil {
5568		invalidParams.Add(request.NewErrParamRequired("TransitGatewayArn"))
5569	}
5570	if s.TransitGatewayArn != nil && len(*s.TransitGatewayArn) < 1 {
5571		invalidParams.Add(request.NewErrParamMinLen("TransitGatewayArn", 1))
5572	}
5573
5574	if invalidParams.Len() > 0 {
5575		return invalidParams
5576	}
5577	return nil
5578}
5579
5580// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5581func (s *DeregisterTransitGatewayInput) SetGlobalNetworkId(v string) *DeregisterTransitGatewayInput {
5582	s.GlobalNetworkId = &v
5583	return s
5584}
5585
5586// SetTransitGatewayArn sets the TransitGatewayArn field's value.
5587func (s *DeregisterTransitGatewayInput) SetTransitGatewayArn(v string) *DeregisterTransitGatewayInput {
5588	s.TransitGatewayArn = &v
5589	return s
5590}
5591
5592type DeregisterTransitGatewayOutput struct {
5593	_ struct{} `type:"structure"`
5594
5595	// The transit gateway registration information.
5596	TransitGatewayRegistration *TransitGatewayRegistration `type:"structure"`
5597}
5598
5599// String returns the string representation
5600func (s DeregisterTransitGatewayOutput) String() string {
5601	return awsutil.Prettify(s)
5602}
5603
5604// GoString returns the string representation
5605func (s DeregisterTransitGatewayOutput) GoString() string {
5606	return s.String()
5607}
5608
5609// SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
5610func (s *DeregisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *DeregisterTransitGatewayOutput {
5611	s.TransitGatewayRegistration = v
5612	return s
5613}
5614
5615type DescribeGlobalNetworksInput struct {
5616	_ struct{} `type:"structure"`
5617
5618	// The IDs of one or more global networks. The maximum is 10.
5619	GlobalNetworkIds []*string `location:"querystring" locationName:"globalNetworkIds" type:"list"`
5620
5621	// The maximum number of results to return.
5622	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5623
5624	// The token for the next page of results.
5625	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5626}
5627
5628// String returns the string representation
5629func (s DescribeGlobalNetworksInput) String() string {
5630	return awsutil.Prettify(s)
5631}
5632
5633// GoString returns the string representation
5634func (s DescribeGlobalNetworksInput) GoString() string {
5635	return s.String()
5636}
5637
5638// Validate inspects the fields of the type to determine if they are valid.
5639func (s *DescribeGlobalNetworksInput) Validate() error {
5640	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalNetworksInput"}
5641	if s.MaxResults != nil && *s.MaxResults < 1 {
5642		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5643	}
5644
5645	if invalidParams.Len() > 0 {
5646		return invalidParams
5647	}
5648	return nil
5649}
5650
5651// SetGlobalNetworkIds sets the GlobalNetworkIds field's value.
5652func (s *DescribeGlobalNetworksInput) SetGlobalNetworkIds(v []*string) *DescribeGlobalNetworksInput {
5653	s.GlobalNetworkIds = v
5654	return s
5655}
5656
5657// SetMaxResults sets the MaxResults field's value.
5658func (s *DescribeGlobalNetworksInput) SetMaxResults(v int64) *DescribeGlobalNetworksInput {
5659	s.MaxResults = &v
5660	return s
5661}
5662
5663// SetNextToken sets the NextToken field's value.
5664func (s *DescribeGlobalNetworksInput) SetNextToken(v string) *DescribeGlobalNetworksInput {
5665	s.NextToken = &v
5666	return s
5667}
5668
5669type DescribeGlobalNetworksOutput struct {
5670	_ struct{} `type:"structure"`
5671
5672	// Information about the global networks.
5673	GlobalNetworks []*GlobalNetwork `type:"list"`
5674
5675	// The token for the next page of results.
5676	NextToken *string `type:"string"`
5677}
5678
5679// String returns the string representation
5680func (s DescribeGlobalNetworksOutput) String() string {
5681	return awsutil.Prettify(s)
5682}
5683
5684// GoString returns the string representation
5685func (s DescribeGlobalNetworksOutput) GoString() string {
5686	return s.String()
5687}
5688
5689// SetGlobalNetworks sets the GlobalNetworks field's value.
5690func (s *DescribeGlobalNetworksOutput) SetGlobalNetworks(v []*GlobalNetwork) *DescribeGlobalNetworksOutput {
5691	s.GlobalNetworks = v
5692	return s
5693}
5694
5695// SetNextToken sets the NextToken field's value.
5696func (s *DescribeGlobalNetworksOutput) SetNextToken(v string) *DescribeGlobalNetworksOutput {
5697	s.NextToken = &v
5698	return s
5699}
5700
5701// Describes a device.
5702type Device struct {
5703	_ struct{} `type:"structure"`
5704
5705	// The AWS location of the device.
5706	AWSLocation *AWSLocation `type:"structure"`
5707
5708	// The date and time that the site was created.
5709	CreatedAt *time.Time `type:"timestamp"`
5710
5711	// The description of the device.
5712	Description *string `type:"string"`
5713
5714	// The Amazon Resource Name (ARN) of the device.
5715	DeviceArn *string `type:"string"`
5716
5717	// The ID of the device.
5718	DeviceId *string `type:"string"`
5719
5720	// The ID of the global network.
5721	GlobalNetworkId *string `type:"string"`
5722
5723	// The site location.
5724	Location *Location `type:"structure" sensitive:"true"`
5725
5726	// The device model.
5727	Model *string `type:"string"`
5728
5729	// The device serial number.
5730	SerialNumber *string `type:"string"`
5731
5732	// The site ID.
5733	SiteId *string `type:"string"`
5734
5735	// The device state.
5736	State *string `type:"string" enum:"DeviceState"`
5737
5738	// The tags for the device.
5739	Tags []*Tag `type:"list"`
5740
5741	// The device type.
5742	Type *string `type:"string"`
5743
5744	// The device vendor.
5745	Vendor *string `type:"string"`
5746}
5747
5748// String returns the string representation
5749func (s Device) String() string {
5750	return awsutil.Prettify(s)
5751}
5752
5753// GoString returns the string representation
5754func (s Device) GoString() string {
5755	return s.String()
5756}
5757
5758// SetAWSLocation sets the AWSLocation field's value.
5759func (s *Device) SetAWSLocation(v *AWSLocation) *Device {
5760	s.AWSLocation = v
5761	return s
5762}
5763
5764// SetCreatedAt sets the CreatedAt field's value.
5765func (s *Device) SetCreatedAt(v time.Time) *Device {
5766	s.CreatedAt = &v
5767	return s
5768}
5769
5770// SetDescription sets the Description field's value.
5771func (s *Device) SetDescription(v string) *Device {
5772	s.Description = &v
5773	return s
5774}
5775
5776// SetDeviceArn sets the DeviceArn field's value.
5777func (s *Device) SetDeviceArn(v string) *Device {
5778	s.DeviceArn = &v
5779	return s
5780}
5781
5782// SetDeviceId sets the DeviceId field's value.
5783func (s *Device) SetDeviceId(v string) *Device {
5784	s.DeviceId = &v
5785	return s
5786}
5787
5788// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5789func (s *Device) SetGlobalNetworkId(v string) *Device {
5790	s.GlobalNetworkId = &v
5791	return s
5792}
5793
5794// SetLocation sets the Location field's value.
5795func (s *Device) SetLocation(v *Location) *Device {
5796	s.Location = v
5797	return s
5798}
5799
5800// SetModel sets the Model field's value.
5801func (s *Device) SetModel(v string) *Device {
5802	s.Model = &v
5803	return s
5804}
5805
5806// SetSerialNumber sets the SerialNumber field's value.
5807func (s *Device) SetSerialNumber(v string) *Device {
5808	s.SerialNumber = &v
5809	return s
5810}
5811
5812// SetSiteId sets the SiteId field's value.
5813func (s *Device) SetSiteId(v string) *Device {
5814	s.SiteId = &v
5815	return s
5816}
5817
5818// SetState sets the State field's value.
5819func (s *Device) SetState(v string) *Device {
5820	s.State = &v
5821	return s
5822}
5823
5824// SetTags sets the Tags field's value.
5825func (s *Device) SetTags(v []*Tag) *Device {
5826	s.Tags = v
5827	return s
5828}
5829
5830// SetType sets the Type field's value.
5831func (s *Device) SetType(v string) *Device {
5832	s.Type = &v
5833	return s
5834}
5835
5836// SetVendor sets the Vendor field's value.
5837func (s *Device) SetVendor(v string) *Device {
5838	s.Vendor = &v
5839	return s
5840}
5841
5842type DisassociateCustomerGatewayInput struct {
5843	_ struct{} `type:"structure"`
5844
5845	// The Amazon Resource Name (ARN) of the customer gateway. For more information,
5846	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
5847	//
5848	// CustomerGatewayArn is a required field
5849	CustomerGatewayArn *string `location:"uri" locationName:"customerGatewayArn" type:"string" required:"true"`
5850
5851	// The ID of the global network.
5852	//
5853	// GlobalNetworkId is a required field
5854	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5855}
5856
5857// String returns the string representation
5858func (s DisassociateCustomerGatewayInput) String() string {
5859	return awsutil.Prettify(s)
5860}
5861
5862// GoString returns the string representation
5863func (s DisassociateCustomerGatewayInput) GoString() string {
5864	return s.String()
5865}
5866
5867// Validate inspects the fields of the type to determine if they are valid.
5868func (s *DisassociateCustomerGatewayInput) Validate() error {
5869	invalidParams := request.ErrInvalidParams{Context: "DisassociateCustomerGatewayInput"}
5870	if s.CustomerGatewayArn == nil {
5871		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayArn"))
5872	}
5873	if s.CustomerGatewayArn != nil && len(*s.CustomerGatewayArn) < 1 {
5874		invalidParams.Add(request.NewErrParamMinLen("CustomerGatewayArn", 1))
5875	}
5876	if s.GlobalNetworkId == nil {
5877		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5878	}
5879	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5880		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5881	}
5882
5883	if invalidParams.Len() > 0 {
5884		return invalidParams
5885	}
5886	return nil
5887}
5888
5889// SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
5890func (s *DisassociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *DisassociateCustomerGatewayInput {
5891	s.CustomerGatewayArn = &v
5892	return s
5893}
5894
5895// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5896func (s *DisassociateCustomerGatewayInput) SetGlobalNetworkId(v string) *DisassociateCustomerGatewayInput {
5897	s.GlobalNetworkId = &v
5898	return s
5899}
5900
5901type DisassociateCustomerGatewayOutput struct {
5902	_ struct{} `type:"structure"`
5903
5904	// Information about the customer gateway association.
5905	CustomerGatewayAssociation *CustomerGatewayAssociation `type:"structure"`
5906}
5907
5908// String returns the string representation
5909func (s DisassociateCustomerGatewayOutput) String() string {
5910	return awsutil.Prettify(s)
5911}
5912
5913// GoString returns the string representation
5914func (s DisassociateCustomerGatewayOutput) GoString() string {
5915	return s.String()
5916}
5917
5918// SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
5919func (s *DisassociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *DisassociateCustomerGatewayOutput {
5920	s.CustomerGatewayAssociation = v
5921	return s
5922}
5923
5924type DisassociateLinkInput struct {
5925	_ struct{} `type:"structure"`
5926
5927	// The ID of the device.
5928	//
5929	// DeviceId is a required field
5930	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string" required:"true"`
5931
5932	// The ID of the global network.
5933	//
5934	// GlobalNetworkId is a required field
5935	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5936
5937	// The ID of the link.
5938	//
5939	// LinkId is a required field
5940	LinkId *string `location:"querystring" locationName:"linkId" type:"string" required:"true"`
5941}
5942
5943// String returns the string representation
5944func (s DisassociateLinkInput) String() string {
5945	return awsutil.Prettify(s)
5946}
5947
5948// GoString returns the string representation
5949func (s DisassociateLinkInput) GoString() string {
5950	return s.String()
5951}
5952
5953// Validate inspects the fields of the type to determine if they are valid.
5954func (s *DisassociateLinkInput) Validate() error {
5955	invalidParams := request.ErrInvalidParams{Context: "DisassociateLinkInput"}
5956	if s.DeviceId == nil {
5957		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
5958	}
5959	if s.GlobalNetworkId == nil {
5960		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5961	}
5962	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5963		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5964	}
5965	if s.LinkId == nil {
5966		invalidParams.Add(request.NewErrParamRequired("LinkId"))
5967	}
5968
5969	if invalidParams.Len() > 0 {
5970		return invalidParams
5971	}
5972	return nil
5973}
5974
5975// SetDeviceId sets the DeviceId field's value.
5976func (s *DisassociateLinkInput) SetDeviceId(v string) *DisassociateLinkInput {
5977	s.DeviceId = &v
5978	return s
5979}
5980
5981// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5982func (s *DisassociateLinkInput) SetGlobalNetworkId(v string) *DisassociateLinkInput {
5983	s.GlobalNetworkId = &v
5984	return s
5985}
5986
5987// SetLinkId sets the LinkId field's value.
5988func (s *DisassociateLinkInput) SetLinkId(v string) *DisassociateLinkInput {
5989	s.LinkId = &v
5990	return s
5991}
5992
5993type DisassociateLinkOutput struct {
5994	_ struct{} `type:"structure"`
5995
5996	// Information about the link association.
5997	LinkAssociation *LinkAssociation `type:"structure"`
5998}
5999
6000// String returns the string representation
6001func (s DisassociateLinkOutput) String() string {
6002	return awsutil.Prettify(s)
6003}
6004
6005// GoString returns the string representation
6006func (s DisassociateLinkOutput) GoString() string {
6007	return s.String()
6008}
6009
6010// SetLinkAssociation sets the LinkAssociation field's value.
6011func (s *DisassociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *DisassociateLinkOutput {
6012	s.LinkAssociation = v
6013	return s
6014}
6015
6016type DisassociateTransitGatewayConnectPeerInput struct {
6017	_ struct{} `type:"structure"`
6018
6019	// The ID of the global network.
6020	//
6021	// GlobalNetworkId is a required field
6022	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6023
6024	// The Amazon Resource Name (ARN) of the transit gateway Connect peer.
6025	//
6026	// TransitGatewayConnectPeerArn is a required field
6027	TransitGatewayConnectPeerArn *string `location:"uri" locationName:"transitGatewayConnectPeerArn" type:"string" required:"true"`
6028}
6029
6030// String returns the string representation
6031func (s DisassociateTransitGatewayConnectPeerInput) String() string {
6032	return awsutil.Prettify(s)
6033}
6034
6035// GoString returns the string representation
6036func (s DisassociateTransitGatewayConnectPeerInput) GoString() string {
6037	return s.String()
6038}
6039
6040// Validate inspects the fields of the type to determine if they are valid.
6041func (s *DisassociateTransitGatewayConnectPeerInput) Validate() error {
6042	invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayConnectPeerInput"}
6043	if s.GlobalNetworkId == nil {
6044		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6045	}
6046	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6047		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6048	}
6049	if s.TransitGatewayConnectPeerArn == nil {
6050		invalidParams.Add(request.NewErrParamRequired("TransitGatewayConnectPeerArn"))
6051	}
6052	if s.TransitGatewayConnectPeerArn != nil && len(*s.TransitGatewayConnectPeerArn) < 1 {
6053		invalidParams.Add(request.NewErrParamMinLen("TransitGatewayConnectPeerArn", 1))
6054	}
6055
6056	if invalidParams.Len() > 0 {
6057		return invalidParams
6058	}
6059	return nil
6060}
6061
6062// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6063func (s *DisassociateTransitGatewayConnectPeerInput) SetGlobalNetworkId(v string) *DisassociateTransitGatewayConnectPeerInput {
6064	s.GlobalNetworkId = &v
6065	return s
6066}
6067
6068// SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
6069func (s *DisassociateTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerArn(v string) *DisassociateTransitGatewayConnectPeerInput {
6070	s.TransitGatewayConnectPeerArn = &v
6071	return s
6072}
6073
6074type DisassociateTransitGatewayConnectPeerOutput struct {
6075	_ struct{} `type:"structure"`
6076
6077	// The transit gateway Connect peer association.
6078	TransitGatewayConnectPeerAssociation *TransitGatewayConnectPeerAssociation `type:"structure"`
6079}
6080
6081// String returns the string representation
6082func (s DisassociateTransitGatewayConnectPeerOutput) String() string {
6083	return awsutil.Prettify(s)
6084}
6085
6086// GoString returns the string representation
6087func (s DisassociateTransitGatewayConnectPeerOutput) GoString() string {
6088	return s.String()
6089}
6090
6091// SetTransitGatewayConnectPeerAssociation sets the TransitGatewayConnectPeerAssociation field's value.
6092func (s *DisassociateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeerAssociation(v *TransitGatewayConnectPeerAssociation) *DisassociateTransitGatewayConnectPeerOutput {
6093	s.TransitGatewayConnectPeerAssociation = v
6094	return s
6095}
6096
6097type GetConnectionsInput struct {
6098	_ struct{} `type:"structure"`
6099
6100	// One or more connection IDs.
6101	ConnectionIds []*string `location:"querystring" locationName:"connectionIds" type:"list"`
6102
6103	// The ID of the device.
6104	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string"`
6105
6106	// The ID of the global network.
6107	//
6108	// GlobalNetworkId is a required field
6109	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6110
6111	// The maximum number of results to return.
6112	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6113
6114	// The token for the next page of results.
6115	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6116}
6117
6118// String returns the string representation
6119func (s GetConnectionsInput) String() string {
6120	return awsutil.Prettify(s)
6121}
6122
6123// GoString returns the string representation
6124func (s GetConnectionsInput) GoString() string {
6125	return s.String()
6126}
6127
6128// Validate inspects the fields of the type to determine if they are valid.
6129func (s *GetConnectionsInput) Validate() error {
6130	invalidParams := request.ErrInvalidParams{Context: "GetConnectionsInput"}
6131	if s.GlobalNetworkId == nil {
6132		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6133	}
6134	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6135		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6136	}
6137	if s.MaxResults != nil && *s.MaxResults < 1 {
6138		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6139	}
6140
6141	if invalidParams.Len() > 0 {
6142		return invalidParams
6143	}
6144	return nil
6145}
6146
6147// SetConnectionIds sets the ConnectionIds field's value.
6148func (s *GetConnectionsInput) SetConnectionIds(v []*string) *GetConnectionsInput {
6149	s.ConnectionIds = v
6150	return s
6151}
6152
6153// SetDeviceId sets the DeviceId field's value.
6154func (s *GetConnectionsInput) SetDeviceId(v string) *GetConnectionsInput {
6155	s.DeviceId = &v
6156	return s
6157}
6158
6159// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6160func (s *GetConnectionsInput) SetGlobalNetworkId(v string) *GetConnectionsInput {
6161	s.GlobalNetworkId = &v
6162	return s
6163}
6164
6165// SetMaxResults sets the MaxResults field's value.
6166func (s *GetConnectionsInput) SetMaxResults(v int64) *GetConnectionsInput {
6167	s.MaxResults = &v
6168	return s
6169}
6170
6171// SetNextToken sets the NextToken field's value.
6172func (s *GetConnectionsInput) SetNextToken(v string) *GetConnectionsInput {
6173	s.NextToken = &v
6174	return s
6175}
6176
6177type GetConnectionsOutput struct {
6178	_ struct{} `type:"structure"`
6179
6180	// Information about the connections.
6181	Connections []*Connection `type:"list"`
6182
6183	// The token to use for the next page of results.
6184	NextToken *string `type:"string"`
6185}
6186
6187// String returns the string representation
6188func (s GetConnectionsOutput) String() string {
6189	return awsutil.Prettify(s)
6190}
6191
6192// GoString returns the string representation
6193func (s GetConnectionsOutput) GoString() string {
6194	return s.String()
6195}
6196
6197// SetConnections sets the Connections field's value.
6198func (s *GetConnectionsOutput) SetConnections(v []*Connection) *GetConnectionsOutput {
6199	s.Connections = v
6200	return s
6201}
6202
6203// SetNextToken sets the NextToken field's value.
6204func (s *GetConnectionsOutput) SetNextToken(v string) *GetConnectionsOutput {
6205	s.NextToken = &v
6206	return s
6207}
6208
6209type GetCustomerGatewayAssociationsInput struct {
6210	_ struct{} `type:"structure"`
6211
6212	// One or more customer gateway Amazon Resource Names (ARNs). For more information,
6213	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
6214	// The maximum is 10.
6215	CustomerGatewayArns []*string `location:"querystring" locationName:"customerGatewayArns" type:"list"`
6216
6217	// The ID of the global network.
6218	//
6219	// GlobalNetworkId is a required field
6220	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6221
6222	// The maximum number of results to return.
6223	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6224
6225	// The token for the next page of results.
6226	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6227}
6228
6229// String returns the string representation
6230func (s GetCustomerGatewayAssociationsInput) String() string {
6231	return awsutil.Prettify(s)
6232}
6233
6234// GoString returns the string representation
6235func (s GetCustomerGatewayAssociationsInput) GoString() string {
6236	return s.String()
6237}
6238
6239// Validate inspects the fields of the type to determine if they are valid.
6240func (s *GetCustomerGatewayAssociationsInput) Validate() error {
6241	invalidParams := request.ErrInvalidParams{Context: "GetCustomerGatewayAssociationsInput"}
6242	if s.GlobalNetworkId == nil {
6243		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6244	}
6245	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6246		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6247	}
6248	if s.MaxResults != nil && *s.MaxResults < 1 {
6249		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6250	}
6251
6252	if invalidParams.Len() > 0 {
6253		return invalidParams
6254	}
6255	return nil
6256}
6257
6258// SetCustomerGatewayArns sets the CustomerGatewayArns field's value.
6259func (s *GetCustomerGatewayAssociationsInput) SetCustomerGatewayArns(v []*string) *GetCustomerGatewayAssociationsInput {
6260	s.CustomerGatewayArns = v
6261	return s
6262}
6263
6264// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6265func (s *GetCustomerGatewayAssociationsInput) SetGlobalNetworkId(v string) *GetCustomerGatewayAssociationsInput {
6266	s.GlobalNetworkId = &v
6267	return s
6268}
6269
6270// SetMaxResults sets the MaxResults field's value.
6271func (s *GetCustomerGatewayAssociationsInput) SetMaxResults(v int64) *GetCustomerGatewayAssociationsInput {
6272	s.MaxResults = &v
6273	return s
6274}
6275
6276// SetNextToken sets the NextToken field's value.
6277func (s *GetCustomerGatewayAssociationsInput) SetNextToken(v string) *GetCustomerGatewayAssociationsInput {
6278	s.NextToken = &v
6279	return s
6280}
6281
6282type GetCustomerGatewayAssociationsOutput struct {
6283	_ struct{} `type:"structure"`
6284
6285	// The customer gateway associations.
6286	CustomerGatewayAssociations []*CustomerGatewayAssociation `type:"list"`
6287
6288	// The token for the next page of results.
6289	NextToken *string `type:"string"`
6290}
6291
6292// String returns the string representation
6293func (s GetCustomerGatewayAssociationsOutput) String() string {
6294	return awsutil.Prettify(s)
6295}
6296
6297// GoString returns the string representation
6298func (s GetCustomerGatewayAssociationsOutput) GoString() string {
6299	return s.String()
6300}
6301
6302// SetCustomerGatewayAssociations sets the CustomerGatewayAssociations field's value.
6303func (s *GetCustomerGatewayAssociationsOutput) SetCustomerGatewayAssociations(v []*CustomerGatewayAssociation) *GetCustomerGatewayAssociationsOutput {
6304	s.CustomerGatewayAssociations = v
6305	return s
6306}
6307
6308// SetNextToken sets the NextToken field's value.
6309func (s *GetCustomerGatewayAssociationsOutput) SetNextToken(v string) *GetCustomerGatewayAssociationsOutput {
6310	s.NextToken = &v
6311	return s
6312}
6313
6314type GetDevicesInput struct {
6315	_ struct{} `type:"structure"`
6316
6317	// One or more device IDs. The maximum is 10.
6318	DeviceIds []*string `location:"querystring" locationName:"deviceIds" type:"list"`
6319
6320	// The ID of the global network.
6321	//
6322	// GlobalNetworkId is a required field
6323	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6324
6325	// The maximum number of results to return.
6326	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6327
6328	// The token for the next page of results.
6329	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6330
6331	// The ID of the site.
6332	SiteId *string `location:"querystring" locationName:"siteId" type:"string"`
6333}
6334
6335// String returns the string representation
6336func (s GetDevicesInput) String() string {
6337	return awsutil.Prettify(s)
6338}
6339
6340// GoString returns the string representation
6341func (s GetDevicesInput) GoString() string {
6342	return s.String()
6343}
6344
6345// Validate inspects the fields of the type to determine if they are valid.
6346func (s *GetDevicesInput) Validate() error {
6347	invalidParams := request.ErrInvalidParams{Context: "GetDevicesInput"}
6348	if s.GlobalNetworkId == nil {
6349		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6350	}
6351	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6352		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6353	}
6354	if s.MaxResults != nil && *s.MaxResults < 1 {
6355		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6356	}
6357
6358	if invalidParams.Len() > 0 {
6359		return invalidParams
6360	}
6361	return nil
6362}
6363
6364// SetDeviceIds sets the DeviceIds field's value.
6365func (s *GetDevicesInput) SetDeviceIds(v []*string) *GetDevicesInput {
6366	s.DeviceIds = v
6367	return s
6368}
6369
6370// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6371func (s *GetDevicesInput) SetGlobalNetworkId(v string) *GetDevicesInput {
6372	s.GlobalNetworkId = &v
6373	return s
6374}
6375
6376// SetMaxResults sets the MaxResults field's value.
6377func (s *GetDevicesInput) SetMaxResults(v int64) *GetDevicesInput {
6378	s.MaxResults = &v
6379	return s
6380}
6381
6382// SetNextToken sets the NextToken field's value.
6383func (s *GetDevicesInput) SetNextToken(v string) *GetDevicesInput {
6384	s.NextToken = &v
6385	return s
6386}
6387
6388// SetSiteId sets the SiteId field's value.
6389func (s *GetDevicesInput) SetSiteId(v string) *GetDevicesInput {
6390	s.SiteId = &v
6391	return s
6392}
6393
6394type GetDevicesOutput struct {
6395	_ struct{} `type:"structure"`
6396
6397	// The devices.
6398	Devices []*Device `type:"list"`
6399
6400	// The token for the next page of results.
6401	NextToken *string `type:"string"`
6402}
6403
6404// String returns the string representation
6405func (s GetDevicesOutput) String() string {
6406	return awsutil.Prettify(s)
6407}
6408
6409// GoString returns the string representation
6410func (s GetDevicesOutput) GoString() string {
6411	return s.String()
6412}
6413
6414// SetDevices sets the Devices field's value.
6415func (s *GetDevicesOutput) SetDevices(v []*Device) *GetDevicesOutput {
6416	s.Devices = v
6417	return s
6418}
6419
6420// SetNextToken sets the NextToken field's value.
6421func (s *GetDevicesOutput) SetNextToken(v string) *GetDevicesOutput {
6422	s.NextToken = &v
6423	return s
6424}
6425
6426type GetLinkAssociationsInput struct {
6427	_ struct{} `type:"structure"`
6428
6429	// The ID of the device.
6430	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string"`
6431
6432	// The ID of the global network.
6433	//
6434	// GlobalNetworkId is a required field
6435	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6436
6437	// The ID of the link.
6438	LinkId *string `location:"querystring" locationName:"linkId" type:"string"`
6439
6440	// The maximum number of results to return.
6441	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6442
6443	// The token for the next page of results.
6444	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6445}
6446
6447// String returns the string representation
6448func (s GetLinkAssociationsInput) String() string {
6449	return awsutil.Prettify(s)
6450}
6451
6452// GoString returns the string representation
6453func (s GetLinkAssociationsInput) GoString() string {
6454	return s.String()
6455}
6456
6457// Validate inspects the fields of the type to determine if they are valid.
6458func (s *GetLinkAssociationsInput) Validate() error {
6459	invalidParams := request.ErrInvalidParams{Context: "GetLinkAssociationsInput"}
6460	if s.GlobalNetworkId == nil {
6461		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6462	}
6463	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6464		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6465	}
6466	if s.MaxResults != nil && *s.MaxResults < 1 {
6467		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6468	}
6469
6470	if invalidParams.Len() > 0 {
6471		return invalidParams
6472	}
6473	return nil
6474}
6475
6476// SetDeviceId sets the DeviceId field's value.
6477func (s *GetLinkAssociationsInput) SetDeviceId(v string) *GetLinkAssociationsInput {
6478	s.DeviceId = &v
6479	return s
6480}
6481
6482// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6483func (s *GetLinkAssociationsInput) SetGlobalNetworkId(v string) *GetLinkAssociationsInput {
6484	s.GlobalNetworkId = &v
6485	return s
6486}
6487
6488// SetLinkId sets the LinkId field's value.
6489func (s *GetLinkAssociationsInput) SetLinkId(v string) *GetLinkAssociationsInput {
6490	s.LinkId = &v
6491	return s
6492}
6493
6494// SetMaxResults sets the MaxResults field's value.
6495func (s *GetLinkAssociationsInput) SetMaxResults(v int64) *GetLinkAssociationsInput {
6496	s.MaxResults = &v
6497	return s
6498}
6499
6500// SetNextToken sets the NextToken field's value.
6501func (s *GetLinkAssociationsInput) SetNextToken(v string) *GetLinkAssociationsInput {
6502	s.NextToken = &v
6503	return s
6504}
6505
6506type GetLinkAssociationsOutput struct {
6507	_ struct{} `type:"structure"`
6508
6509	// The link associations.
6510	LinkAssociations []*LinkAssociation `type:"list"`
6511
6512	// The token for the next page of results.
6513	NextToken *string `type:"string"`
6514}
6515
6516// String returns the string representation
6517func (s GetLinkAssociationsOutput) String() string {
6518	return awsutil.Prettify(s)
6519}
6520
6521// GoString returns the string representation
6522func (s GetLinkAssociationsOutput) GoString() string {
6523	return s.String()
6524}
6525
6526// SetLinkAssociations sets the LinkAssociations field's value.
6527func (s *GetLinkAssociationsOutput) SetLinkAssociations(v []*LinkAssociation) *GetLinkAssociationsOutput {
6528	s.LinkAssociations = v
6529	return s
6530}
6531
6532// SetNextToken sets the NextToken field's value.
6533func (s *GetLinkAssociationsOutput) SetNextToken(v string) *GetLinkAssociationsOutput {
6534	s.NextToken = &v
6535	return s
6536}
6537
6538type GetLinksInput struct {
6539	_ struct{} `type:"structure"`
6540
6541	// The ID of the global network.
6542	//
6543	// GlobalNetworkId is a required field
6544	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6545
6546	// One or more link IDs. The maximum is 10.
6547	LinkIds []*string `location:"querystring" locationName:"linkIds" type:"list"`
6548
6549	// The maximum number of results to return.
6550	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6551
6552	// The token for the next page of results.
6553	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6554
6555	// The link provider.
6556	Provider *string `location:"querystring" locationName:"provider" type:"string"`
6557
6558	// The ID of the site.
6559	SiteId *string `location:"querystring" locationName:"siteId" type:"string"`
6560
6561	// The link type.
6562	Type *string `location:"querystring" locationName:"type" type:"string"`
6563}
6564
6565// String returns the string representation
6566func (s GetLinksInput) String() string {
6567	return awsutil.Prettify(s)
6568}
6569
6570// GoString returns the string representation
6571func (s GetLinksInput) GoString() string {
6572	return s.String()
6573}
6574
6575// Validate inspects the fields of the type to determine if they are valid.
6576func (s *GetLinksInput) Validate() error {
6577	invalidParams := request.ErrInvalidParams{Context: "GetLinksInput"}
6578	if s.GlobalNetworkId == nil {
6579		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6580	}
6581	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6582		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6583	}
6584	if s.MaxResults != nil && *s.MaxResults < 1 {
6585		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6586	}
6587
6588	if invalidParams.Len() > 0 {
6589		return invalidParams
6590	}
6591	return nil
6592}
6593
6594// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6595func (s *GetLinksInput) SetGlobalNetworkId(v string) *GetLinksInput {
6596	s.GlobalNetworkId = &v
6597	return s
6598}
6599
6600// SetLinkIds sets the LinkIds field's value.
6601func (s *GetLinksInput) SetLinkIds(v []*string) *GetLinksInput {
6602	s.LinkIds = v
6603	return s
6604}
6605
6606// SetMaxResults sets the MaxResults field's value.
6607func (s *GetLinksInput) SetMaxResults(v int64) *GetLinksInput {
6608	s.MaxResults = &v
6609	return s
6610}
6611
6612// SetNextToken sets the NextToken field's value.
6613func (s *GetLinksInput) SetNextToken(v string) *GetLinksInput {
6614	s.NextToken = &v
6615	return s
6616}
6617
6618// SetProvider sets the Provider field's value.
6619func (s *GetLinksInput) SetProvider(v string) *GetLinksInput {
6620	s.Provider = &v
6621	return s
6622}
6623
6624// SetSiteId sets the SiteId field's value.
6625func (s *GetLinksInput) SetSiteId(v string) *GetLinksInput {
6626	s.SiteId = &v
6627	return s
6628}
6629
6630// SetType sets the Type field's value.
6631func (s *GetLinksInput) SetType(v string) *GetLinksInput {
6632	s.Type = &v
6633	return s
6634}
6635
6636type GetLinksOutput struct {
6637	_ struct{} `type:"structure"`
6638
6639	// The links.
6640	Links []*Link `type:"list"`
6641
6642	// The token for the next page of results.
6643	NextToken *string `type:"string"`
6644}
6645
6646// String returns the string representation
6647func (s GetLinksOutput) String() string {
6648	return awsutil.Prettify(s)
6649}
6650
6651// GoString returns the string representation
6652func (s GetLinksOutput) GoString() string {
6653	return s.String()
6654}
6655
6656// SetLinks sets the Links field's value.
6657func (s *GetLinksOutput) SetLinks(v []*Link) *GetLinksOutput {
6658	s.Links = v
6659	return s
6660}
6661
6662// SetNextToken sets the NextToken field's value.
6663func (s *GetLinksOutput) SetNextToken(v string) *GetLinksOutput {
6664	s.NextToken = &v
6665	return s
6666}
6667
6668type GetSitesInput struct {
6669	_ struct{} `type:"structure"`
6670
6671	// The ID of the global network.
6672	//
6673	// GlobalNetworkId is a required field
6674	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6675
6676	// The maximum number of results to return.
6677	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6678
6679	// The token for the next page of results.
6680	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6681
6682	// One or more site IDs. The maximum is 10.
6683	SiteIds []*string `location:"querystring" locationName:"siteIds" type:"list"`
6684}
6685
6686// String returns the string representation
6687func (s GetSitesInput) String() string {
6688	return awsutil.Prettify(s)
6689}
6690
6691// GoString returns the string representation
6692func (s GetSitesInput) GoString() string {
6693	return s.String()
6694}
6695
6696// Validate inspects the fields of the type to determine if they are valid.
6697func (s *GetSitesInput) Validate() error {
6698	invalidParams := request.ErrInvalidParams{Context: "GetSitesInput"}
6699	if s.GlobalNetworkId == nil {
6700		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6701	}
6702	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6703		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6704	}
6705	if s.MaxResults != nil && *s.MaxResults < 1 {
6706		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6707	}
6708
6709	if invalidParams.Len() > 0 {
6710		return invalidParams
6711	}
6712	return nil
6713}
6714
6715// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6716func (s *GetSitesInput) SetGlobalNetworkId(v string) *GetSitesInput {
6717	s.GlobalNetworkId = &v
6718	return s
6719}
6720
6721// SetMaxResults sets the MaxResults field's value.
6722func (s *GetSitesInput) SetMaxResults(v int64) *GetSitesInput {
6723	s.MaxResults = &v
6724	return s
6725}
6726
6727// SetNextToken sets the NextToken field's value.
6728func (s *GetSitesInput) SetNextToken(v string) *GetSitesInput {
6729	s.NextToken = &v
6730	return s
6731}
6732
6733// SetSiteIds sets the SiteIds field's value.
6734func (s *GetSitesInput) SetSiteIds(v []*string) *GetSitesInput {
6735	s.SiteIds = v
6736	return s
6737}
6738
6739type GetSitesOutput struct {
6740	_ struct{} `type:"structure"`
6741
6742	// The token for the next page of results.
6743	NextToken *string `type:"string"`
6744
6745	// The sites.
6746	Sites []*Site `type:"list"`
6747}
6748
6749// String returns the string representation
6750func (s GetSitesOutput) String() string {
6751	return awsutil.Prettify(s)
6752}
6753
6754// GoString returns the string representation
6755func (s GetSitesOutput) GoString() string {
6756	return s.String()
6757}
6758
6759// SetNextToken sets the NextToken field's value.
6760func (s *GetSitesOutput) SetNextToken(v string) *GetSitesOutput {
6761	s.NextToken = &v
6762	return s
6763}
6764
6765// SetSites sets the Sites field's value.
6766func (s *GetSitesOutput) SetSites(v []*Site) *GetSitesOutput {
6767	s.Sites = v
6768	return s
6769}
6770
6771type GetTransitGatewayConnectPeerAssociationsInput struct {
6772	_ struct{} `type:"structure"`
6773
6774	// The ID of the global network.
6775	//
6776	// GlobalNetworkId is a required field
6777	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6778
6779	// The maximum number of results to return.
6780	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6781
6782	// The token for the next page of results.
6783	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6784
6785	// One or more transit gateway Connect peer Amazon Resource Names (ARNs).
6786	TransitGatewayConnectPeerArns []*string `location:"querystring" locationName:"transitGatewayConnectPeerArns" type:"list"`
6787}
6788
6789// String returns the string representation
6790func (s GetTransitGatewayConnectPeerAssociationsInput) String() string {
6791	return awsutil.Prettify(s)
6792}
6793
6794// GoString returns the string representation
6795func (s GetTransitGatewayConnectPeerAssociationsInput) GoString() string {
6796	return s.String()
6797}
6798
6799// Validate inspects the fields of the type to determine if they are valid.
6800func (s *GetTransitGatewayConnectPeerAssociationsInput) Validate() error {
6801	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayConnectPeerAssociationsInput"}
6802	if s.GlobalNetworkId == nil {
6803		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6804	}
6805	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6806		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6807	}
6808	if s.MaxResults != nil && *s.MaxResults < 1 {
6809		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6810	}
6811
6812	if invalidParams.Len() > 0 {
6813		return invalidParams
6814	}
6815	return nil
6816}
6817
6818// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6819func (s *GetTransitGatewayConnectPeerAssociationsInput) SetGlobalNetworkId(v string) *GetTransitGatewayConnectPeerAssociationsInput {
6820	s.GlobalNetworkId = &v
6821	return s
6822}
6823
6824// SetMaxResults sets the MaxResults field's value.
6825func (s *GetTransitGatewayConnectPeerAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayConnectPeerAssociationsInput {
6826	s.MaxResults = &v
6827	return s
6828}
6829
6830// SetNextToken sets the NextToken field's value.
6831func (s *GetTransitGatewayConnectPeerAssociationsInput) SetNextToken(v string) *GetTransitGatewayConnectPeerAssociationsInput {
6832	s.NextToken = &v
6833	return s
6834}
6835
6836// SetTransitGatewayConnectPeerArns sets the TransitGatewayConnectPeerArns field's value.
6837func (s *GetTransitGatewayConnectPeerAssociationsInput) SetTransitGatewayConnectPeerArns(v []*string) *GetTransitGatewayConnectPeerAssociationsInput {
6838	s.TransitGatewayConnectPeerArns = v
6839	return s
6840}
6841
6842type GetTransitGatewayConnectPeerAssociationsOutput struct {
6843	_ struct{} `type:"structure"`
6844
6845	// The token to use for the next page of results.
6846	NextToken *string `type:"string"`
6847
6848	// Information about the transit gateway Connect peer associations.
6849	TransitGatewayConnectPeerAssociations []*TransitGatewayConnectPeerAssociation `type:"list"`
6850}
6851
6852// String returns the string representation
6853func (s GetTransitGatewayConnectPeerAssociationsOutput) String() string {
6854	return awsutil.Prettify(s)
6855}
6856
6857// GoString returns the string representation
6858func (s GetTransitGatewayConnectPeerAssociationsOutput) GoString() string {
6859	return s.String()
6860}
6861
6862// SetNextToken sets the NextToken field's value.
6863func (s *GetTransitGatewayConnectPeerAssociationsOutput) SetNextToken(v string) *GetTransitGatewayConnectPeerAssociationsOutput {
6864	s.NextToken = &v
6865	return s
6866}
6867
6868// SetTransitGatewayConnectPeerAssociations sets the TransitGatewayConnectPeerAssociations field's value.
6869func (s *GetTransitGatewayConnectPeerAssociationsOutput) SetTransitGatewayConnectPeerAssociations(v []*TransitGatewayConnectPeerAssociation) *GetTransitGatewayConnectPeerAssociationsOutput {
6870	s.TransitGatewayConnectPeerAssociations = v
6871	return s
6872}
6873
6874type GetTransitGatewayRegistrationsInput struct {
6875	_ struct{} `type:"structure"`
6876
6877	// The ID of the global network.
6878	//
6879	// GlobalNetworkId is a required field
6880	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6881
6882	// The maximum number of results to return.
6883	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6884
6885	// The token for the next page of results.
6886	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6887
6888	// The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum
6889	// is 10.
6890	TransitGatewayArns []*string `location:"querystring" locationName:"transitGatewayArns" type:"list"`
6891}
6892
6893// String returns the string representation
6894func (s GetTransitGatewayRegistrationsInput) String() string {
6895	return awsutil.Prettify(s)
6896}
6897
6898// GoString returns the string representation
6899func (s GetTransitGatewayRegistrationsInput) GoString() string {
6900	return s.String()
6901}
6902
6903// Validate inspects the fields of the type to determine if they are valid.
6904func (s *GetTransitGatewayRegistrationsInput) Validate() error {
6905	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRegistrationsInput"}
6906	if s.GlobalNetworkId == nil {
6907		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6908	}
6909	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6910		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6911	}
6912	if s.MaxResults != nil && *s.MaxResults < 1 {
6913		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6914	}
6915
6916	if invalidParams.Len() > 0 {
6917		return invalidParams
6918	}
6919	return nil
6920}
6921
6922// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6923func (s *GetTransitGatewayRegistrationsInput) SetGlobalNetworkId(v string) *GetTransitGatewayRegistrationsInput {
6924	s.GlobalNetworkId = &v
6925	return s
6926}
6927
6928// SetMaxResults sets the MaxResults field's value.
6929func (s *GetTransitGatewayRegistrationsInput) SetMaxResults(v int64) *GetTransitGatewayRegistrationsInput {
6930	s.MaxResults = &v
6931	return s
6932}
6933
6934// SetNextToken sets the NextToken field's value.
6935func (s *GetTransitGatewayRegistrationsInput) SetNextToken(v string) *GetTransitGatewayRegistrationsInput {
6936	s.NextToken = &v
6937	return s
6938}
6939
6940// SetTransitGatewayArns sets the TransitGatewayArns field's value.
6941func (s *GetTransitGatewayRegistrationsInput) SetTransitGatewayArns(v []*string) *GetTransitGatewayRegistrationsInput {
6942	s.TransitGatewayArns = v
6943	return s
6944}
6945
6946type GetTransitGatewayRegistrationsOutput struct {
6947	_ struct{} `type:"structure"`
6948
6949	// The token for the next page of results.
6950	NextToken *string `type:"string"`
6951
6952	// The transit gateway registrations.
6953	TransitGatewayRegistrations []*TransitGatewayRegistration `type:"list"`
6954}
6955
6956// String returns the string representation
6957func (s GetTransitGatewayRegistrationsOutput) String() string {
6958	return awsutil.Prettify(s)
6959}
6960
6961// GoString returns the string representation
6962func (s GetTransitGatewayRegistrationsOutput) GoString() string {
6963	return s.String()
6964}
6965
6966// SetNextToken sets the NextToken field's value.
6967func (s *GetTransitGatewayRegistrationsOutput) SetNextToken(v string) *GetTransitGatewayRegistrationsOutput {
6968	s.NextToken = &v
6969	return s
6970}
6971
6972// SetTransitGatewayRegistrations sets the TransitGatewayRegistrations field's value.
6973func (s *GetTransitGatewayRegistrationsOutput) SetTransitGatewayRegistrations(v []*TransitGatewayRegistration) *GetTransitGatewayRegistrationsOutput {
6974	s.TransitGatewayRegistrations = v
6975	return s
6976}
6977
6978// Describes a global network.
6979type GlobalNetwork struct {
6980	_ struct{} `type:"structure"`
6981
6982	// The date and time that the global network was created.
6983	CreatedAt *time.Time `type:"timestamp"`
6984
6985	// The description of the global network.
6986	Description *string `type:"string"`
6987
6988	// The Amazon Resource Name (ARN) of the global network.
6989	GlobalNetworkArn *string `type:"string"`
6990
6991	// The ID of the global network.
6992	GlobalNetworkId *string `type:"string"`
6993
6994	// The state of the global network.
6995	State *string `type:"string" enum:"GlobalNetworkState"`
6996
6997	// The tags for the global network.
6998	Tags []*Tag `type:"list"`
6999}
7000
7001// String returns the string representation
7002func (s GlobalNetwork) String() string {
7003	return awsutil.Prettify(s)
7004}
7005
7006// GoString returns the string representation
7007func (s GlobalNetwork) GoString() string {
7008	return s.String()
7009}
7010
7011// SetCreatedAt sets the CreatedAt field's value.
7012func (s *GlobalNetwork) SetCreatedAt(v time.Time) *GlobalNetwork {
7013	s.CreatedAt = &v
7014	return s
7015}
7016
7017// SetDescription sets the Description field's value.
7018func (s *GlobalNetwork) SetDescription(v string) *GlobalNetwork {
7019	s.Description = &v
7020	return s
7021}
7022
7023// SetGlobalNetworkArn sets the GlobalNetworkArn field's value.
7024func (s *GlobalNetwork) SetGlobalNetworkArn(v string) *GlobalNetwork {
7025	s.GlobalNetworkArn = &v
7026	return s
7027}
7028
7029// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7030func (s *GlobalNetwork) SetGlobalNetworkId(v string) *GlobalNetwork {
7031	s.GlobalNetworkId = &v
7032	return s
7033}
7034
7035// SetState sets the State field's value.
7036func (s *GlobalNetwork) SetState(v string) *GlobalNetwork {
7037	s.State = &v
7038	return s
7039}
7040
7041// SetTags sets the Tags field's value.
7042func (s *GlobalNetwork) SetTags(v []*Tag) *GlobalNetwork {
7043	s.Tags = v
7044	return s
7045}
7046
7047// The request has failed due to an internal error.
7048type InternalServerException struct {
7049	_            struct{}                  `type:"structure"`
7050	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7051
7052	Message_ *string `locationName:"Message" type:"string"`
7053
7054	// Indicates when to retry the request.
7055	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
7056}
7057
7058// String returns the string representation
7059func (s InternalServerException) String() string {
7060	return awsutil.Prettify(s)
7061}
7062
7063// GoString returns the string representation
7064func (s InternalServerException) GoString() string {
7065	return s.String()
7066}
7067
7068func newErrorInternalServerException(v protocol.ResponseMetadata) error {
7069	return &InternalServerException{
7070		RespMetadata: v,
7071	}
7072}
7073
7074// Code returns the exception type name.
7075func (s *InternalServerException) Code() string {
7076	return "InternalServerException"
7077}
7078
7079// Message returns the exception's message.
7080func (s *InternalServerException) Message() string {
7081	if s.Message_ != nil {
7082		return *s.Message_
7083	}
7084	return ""
7085}
7086
7087// OrigErr always returns nil, satisfies awserr.Error interface.
7088func (s *InternalServerException) OrigErr() error {
7089	return nil
7090}
7091
7092func (s *InternalServerException) Error() string {
7093	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7094}
7095
7096// Status code returns the HTTP status code for the request's response error.
7097func (s *InternalServerException) StatusCode() int {
7098	return s.RespMetadata.StatusCode
7099}
7100
7101// RequestID returns the service's response RequestID for request.
7102func (s *InternalServerException) RequestID() string {
7103	return s.RespMetadata.RequestID
7104}
7105
7106// Describes a link.
7107type Link struct {
7108	_ struct{} `type:"structure"`
7109
7110	// The bandwidth for the link.
7111	Bandwidth *Bandwidth `type:"structure"`
7112
7113	// The date and time that the link was created.
7114	CreatedAt *time.Time `type:"timestamp"`
7115
7116	// The description of the link.
7117	Description *string `type:"string"`
7118
7119	// The ID of the global network.
7120	GlobalNetworkId *string `type:"string"`
7121
7122	// The Amazon Resource Name (ARN) of the link.
7123	LinkArn *string `type:"string"`
7124
7125	// The ID of the link.
7126	LinkId *string `type:"string"`
7127
7128	// The provider of the link.
7129	Provider *string `type:"string"`
7130
7131	// The ID of the site.
7132	SiteId *string `type:"string"`
7133
7134	// The state of the link.
7135	State *string `type:"string" enum:"LinkState"`
7136
7137	// The tags for the link.
7138	Tags []*Tag `type:"list"`
7139
7140	// The type of the link.
7141	Type *string `type:"string"`
7142}
7143
7144// String returns the string representation
7145func (s Link) String() string {
7146	return awsutil.Prettify(s)
7147}
7148
7149// GoString returns the string representation
7150func (s Link) GoString() string {
7151	return s.String()
7152}
7153
7154// SetBandwidth sets the Bandwidth field's value.
7155func (s *Link) SetBandwidth(v *Bandwidth) *Link {
7156	s.Bandwidth = v
7157	return s
7158}
7159
7160// SetCreatedAt sets the CreatedAt field's value.
7161func (s *Link) SetCreatedAt(v time.Time) *Link {
7162	s.CreatedAt = &v
7163	return s
7164}
7165
7166// SetDescription sets the Description field's value.
7167func (s *Link) SetDescription(v string) *Link {
7168	s.Description = &v
7169	return s
7170}
7171
7172// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7173func (s *Link) SetGlobalNetworkId(v string) *Link {
7174	s.GlobalNetworkId = &v
7175	return s
7176}
7177
7178// SetLinkArn sets the LinkArn field's value.
7179func (s *Link) SetLinkArn(v string) *Link {
7180	s.LinkArn = &v
7181	return s
7182}
7183
7184// SetLinkId sets the LinkId field's value.
7185func (s *Link) SetLinkId(v string) *Link {
7186	s.LinkId = &v
7187	return s
7188}
7189
7190// SetProvider sets the Provider field's value.
7191func (s *Link) SetProvider(v string) *Link {
7192	s.Provider = &v
7193	return s
7194}
7195
7196// SetSiteId sets the SiteId field's value.
7197func (s *Link) SetSiteId(v string) *Link {
7198	s.SiteId = &v
7199	return s
7200}
7201
7202// SetState sets the State field's value.
7203func (s *Link) SetState(v string) *Link {
7204	s.State = &v
7205	return s
7206}
7207
7208// SetTags sets the Tags field's value.
7209func (s *Link) SetTags(v []*Tag) *Link {
7210	s.Tags = v
7211	return s
7212}
7213
7214// SetType sets the Type field's value.
7215func (s *Link) SetType(v string) *Link {
7216	s.Type = &v
7217	return s
7218}
7219
7220// Describes the association between a device and a link.
7221type LinkAssociation struct {
7222	_ struct{} `type:"structure"`
7223
7224	// The device ID for the link association.
7225	DeviceId *string `type:"string"`
7226
7227	// The ID of the global network.
7228	GlobalNetworkId *string `type:"string"`
7229
7230	// The state of the association.
7231	LinkAssociationState *string `type:"string" enum:"LinkAssociationState"`
7232
7233	// The ID of the link.
7234	LinkId *string `type:"string"`
7235}
7236
7237// String returns the string representation
7238func (s LinkAssociation) String() string {
7239	return awsutil.Prettify(s)
7240}
7241
7242// GoString returns the string representation
7243func (s LinkAssociation) GoString() string {
7244	return s.String()
7245}
7246
7247// SetDeviceId sets the DeviceId field's value.
7248func (s *LinkAssociation) SetDeviceId(v string) *LinkAssociation {
7249	s.DeviceId = &v
7250	return s
7251}
7252
7253// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7254func (s *LinkAssociation) SetGlobalNetworkId(v string) *LinkAssociation {
7255	s.GlobalNetworkId = &v
7256	return s
7257}
7258
7259// SetLinkAssociationState sets the LinkAssociationState field's value.
7260func (s *LinkAssociation) SetLinkAssociationState(v string) *LinkAssociation {
7261	s.LinkAssociationState = &v
7262	return s
7263}
7264
7265// SetLinkId sets the LinkId field's value.
7266func (s *LinkAssociation) SetLinkId(v string) *LinkAssociation {
7267	s.LinkId = &v
7268	return s
7269}
7270
7271type ListTagsForResourceInput struct {
7272	_ struct{} `type:"structure"`
7273
7274	// The Amazon Resource Name (ARN) of the resource.
7275	//
7276	// ResourceArn is a required field
7277	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7278}
7279
7280// String returns the string representation
7281func (s ListTagsForResourceInput) String() string {
7282	return awsutil.Prettify(s)
7283}
7284
7285// GoString returns the string representation
7286func (s ListTagsForResourceInput) GoString() string {
7287	return s.String()
7288}
7289
7290// Validate inspects the fields of the type to determine if they are valid.
7291func (s *ListTagsForResourceInput) Validate() error {
7292	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
7293	if s.ResourceArn == nil {
7294		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7295	}
7296	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7297		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7298	}
7299
7300	if invalidParams.Len() > 0 {
7301		return invalidParams
7302	}
7303	return nil
7304}
7305
7306// SetResourceArn sets the ResourceArn field's value.
7307func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
7308	s.ResourceArn = &v
7309	return s
7310}
7311
7312type ListTagsForResourceOutput struct {
7313	_ struct{} `type:"structure"`
7314
7315	// The list of tags.
7316	TagList []*Tag `type:"list"`
7317}
7318
7319// String returns the string representation
7320func (s ListTagsForResourceOutput) String() string {
7321	return awsutil.Prettify(s)
7322}
7323
7324// GoString returns the string representation
7325func (s ListTagsForResourceOutput) GoString() string {
7326	return s.String()
7327}
7328
7329// SetTagList sets the TagList field's value.
7330func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
7331	s.TagList = v
7332	return s
7333}
7334
7335// Describes a location.
7336type Location struct {
7337	_ struct{} `type:"structure" sensitive:"true"`
7338
7339	// The physical address.
7340	Address *string `type:"string"`
7341
7342	// The latitude.
7343	Latitude *string `type:"string"`
7344
7345	// The longitude.
7346	Longitude *string `type:"string"`
7347}
7348
7349// String returns the string representation
7350func (s Location) String() string {
7351	return awsutil.Prettify(s)
7352}
7353
7354// GoString returns the string representation
7355func (s Location) GoString() string {
7356	return s.String()
7357}
7358
7359// SetAddress sets the Address field's value.
7360func (s *Location) SetAddress(v string) *Location {
7361	s.Address = &v
7362	return s
7363}
7364
7365// SetLatitude sets the Latitude field's value.
7366func (s *Location) SetLatitude(v string) *Location {
7367	s.Latitude = &v
7368	return s
7369}
7370
7371// SetLongitude sets the Longitude field's value.
7372func (s *Location) SetLongitude(v string) *Location {
7373	s.Longitude = &v
7374	return s
7375}
7376
7377type RegisterTransitGatewayInput struct {
7378	_ struct{} `type:"structure"`
7379
7380	// The ID of the global network.
7381	//
7382	// GlobalNetworkId is a required field
7383	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
7384
7385	// The Amazon Resource Name (ARN) of the transit gateway. For more information,
7386	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
7387	//
7388	// TransitGatewayArn is a required field
7389	TransitGatewayArn *string `type:"string" required:"true"`
7390}
7391
7392// String returns the string representation
7393func (s RegisterTransitGatewayInput) String() string {
7394	return awsutil.Prettify(s)
7395}
7396
7397// GoString returns the string representation
7398func (s RegisterTransitGatewayInput) GoString() string {
7399	return s.String()
7400}
7401
7402// Validate inspects the fields of the type to determine if they are valid.
7403func (s *RegisterTransitGatewayInput) Validate() error {
7404	invalidParams := request.ErrInvalidParams{Context: "RegisterTransitGatewayInput"}
7405	if s.GlobalNetworkId == nil {
7406		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
7407	}
7408	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
7409		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
7410	}
7411	if s.TransitGatewayArn == nil {
7412		invalidParams.Add(request.NewErrParamRequired("TransitGatewayArn"))
7413	}
7414
7415	if invalidParams.Len() > 0 {
7416		return invalidParams
7417	}
7418	return nil
7419}
7420
7421// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7422func (s *RegisterTransitGatewayInput) SetGlobalNetworkId(v string) *RegisterTransitGatewayInput {
7423	s.GlobalNetworkId = &v
7424	return s
7425}
7426
7427// SetTransitGatewayArn sets the TransitGatewayArn field's value.
7428func (s *RegisterTransitGatewayInput) SetTransitGatewayArn(v string) *RegisterTransitGatewayInput {
7429	s.TransitGatewayArn = &v
7430	return s
7431}
7432
7433type RegisterTransitGatewayOutput struct {
7434	_ struct{} `type:"structure"`
7435
7436	// Information about the transit gateway registration.
7437	TransitGatewayRegistration *TransitGatewayRegistration `type:"structure"`
7438}
7439
7440// String returns the string representation
7441func (s RegisterTransitGatewayOutput) String() string {
7442	return awsutil.Prettify(s)
7443}
7444
7445// GoString returns the string representation
7446func (s RegisterTransitGatewayOutput) GoString() string {
7447	return s.String()
7448}
7449
7450// SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
7451func (s *RegisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *RegisterTransitGatewayOutput {
7452	s.TransitGatewayRegistration = v
7453	return s
7454}
7455
7456// The specified resource could not be found.
7457type ResourceNotFoundException struct {
7458	_            struct{}                  `type:"structure"`
7459	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7460
7461	Message_ *string `locationName:"Message" type:"string"`
7462
7463	// The ID of the resource.
7464	//
7465	// ResourceId is a required field
7466	ResourceId *string `type:"string" required:"true"`
7467
7468	// The resource type.
7469	//
7470	// ResourceType is a required field
7471	ResourceType *string `type:"string" required:"true"`
7472}
7473
7474// String returns the string representation
7475func (s ResourceNotFoundException) String() string {
7476	return awsutil.Prettify(s)
7477}
7478
7479// GoString returns the string representation
7480func (s ResourceNotFoundException) GoString() string {
7481	return s.String()
7482}
7483
7484func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
7485	return &ResourceNotFoundException{
7486		RespMetadata: v,
7487	}
7488}
7489
7490// Code returns the exception type name.
7491func (s *ResourceNotFoundException) Code() string {
7492	return "ResourceNotFoundException"
7493}
7494
7495// Message returns the exception's message.
7496func (s *ResourceNotFoundException) Message() string {
7497	if s.Message_ != nil {
7498		return *s.Message_
7499	}
7500	return ""
7501}
7502
7503// OrigErr always returns nil, satisfies awserr.Error interface.
7504func (s *ResourceNotFoundException) OrigErr() error {
7505	return nil
7506}
7507
7508func (s *ResourceNotFoundException) Error() string {
7509	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7510}
7511
7512// Status code returns the HTTP status code for the request's response error.
7513func (s *ResourceNotFoundException) StatusCode() int {
7514	return s.RespMetadata.StatusCode
7515}
7516
7517// RequestID returns the service's response RequestID for request.
7518func (s *ResourceNotFoundException) RequestID() string {
7519	return s.RespMetadata.RequestID
7520}
7521
7522// A service limit was exceeded.
7523type ServiceQuotaExceededException struct {
7524	_            struct{}                  `type:"structure"`
7525	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7526
7527	// The limit code.
7528	//
7529	// LimitCode is a required field
7530	LimitCode *string `type:"string" required:"true"`
7531
7532	// The error message.
7533	Message_ *string `locationName:"Message" type:"string"`
7534
7535	// The ID of the resource.
7536	ResourceId *string `type:"string"`
7537
7538	// The resource type.
7539	ResourceType *string `type:"string"`
7540
7541	// The service code.
7542	//
7543	// ServiceCode is a required field
7544	ServiceCode *string `type:"string" required:"true"`
7545}
7546
7547// String returns the string representation
7548func (s ServiceQuotaExceededException) String() string {
7549	return awsutil.Prettify(s)
7550}
7551
7552// GoString returns the string representation
7553func (s ServiceQuotaExceededException) GoString() string {
7554	return s.String()
7555}
7556
7557func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
7558	return &ServiceQuotaExceededException{
7559		RespMetadata: v,
7560	}
7561}
7562
7563// Code returns the exception type name.
7564func (s *ServiceQuotaExceededException) Code() string {
7565	return "ServiceQuotaExceededException"
7566}
7567
7568// Message returns the exception's message.
7569func (s *ServiceQuotaExceededException) Message() string {
7570	if s.Message_ != nil {
7571		return *s.Message_
7572	}
7573	return ""
7574}
7575
7576// OrigErr always returns nil, satisfies awserr.Error interface.
7577func (s *ServiceQuotaExceededException) OrigErr() error {
7578	return nil
7579}
7580
7581func (s *ServiceQuotaExceededException) Error() string {
7582	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7583}
7584
7585// Status code returns the HTTP status code for the request's response error.
7586func (s *ServiceQuotaExceededException) StatusCode() int {
7587	return s.RespMetadata.StatusCode
7588}
7589
7590// RequestID returns the service's response RequestID for request.
7591func (s *ServiceQuotaExceededException) RequestID() string {
7592	return s.RespMetadata.RequestID
7593}
7594
7595// Describes a site.
7596type Site struct {
7597	_ struct{} `type:"structure"`
7598
7599	// The date and time that the site was created.
7600	CreatedAt *time.Time `type:"timestamp"`
7601
7602	// The description of the site.
7603	Description *string `type:"string"`
7604
7605	// The ID of the global network.
7606	GlobalNetworkId *string `type:"string"`
7607
7608	// The location of the site.
7609	Location *Location `type:"structure" sensitive:"true"`
7610
7611	// The Amazon Resource Name (ARN) of the site.
7612	SiteArn *string `type:"string"`
7613
7614	// The ID of the site.
7615	SiteId *string `type:"string"`
7616
7617	// The state of the site.
7618	State *string `type:"string" enum:"SiteState"`
7619
7620	// The tags for the site.
7621	Tags []*Tag `type:"list"`
7622}
7623
7624// String returns the string representation
7625func (s Site) String() string {
7626	return awsutil.Prettify(s)
7627}
7628
7629// GoString returns the string representation
7630func (s Site) GoString() string {
7631	return s.String()
7632}
7633
7634// SetCreatedAt sets the CreatedAt field's value.
7635func (s *Site) SetCreatedAt(v time.Time) *Site {
7636	s.CreatedAt = &v
7637	return s
7638}
7639
7640// SetDescription sets the Description field's value.
7641func (s *Site) SetDescription(v string) *Site {
7642	s.Description = &v
7643	return s
7644}
7645
7646// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7647func (s *Site) SetGlobalNetworkId(v string) *Site {
7648	s.GlobalNetworkId = &v
7649	return s
7650}
7651
7652// SetLocation sets the Location field's value.
7653func (s *Site) SetLocation(v *Location) *Site {
7654	s.Location = v
7655	return s
7656}
7657
7658// SetSiteArn sets the SiteArn field's value.
7659func (s *Site) SetSiteArn(v string) *Site {
7660	s.SiteArn = &v
7661	return s
7662}
7663
7664// SetSiteId sets the SiteId field's value.
7665func (s *Site) SetSiteId(v string) *Site {
7666	s.SiteId = &v
7667	return s
7668}
7669
7670// SetState sets the State field's value.
7671func (s *Site) SetState(v string) *Site {
7672	s.State = &v
7673	return s
7674}
7675
7676// SetTags sets the Tags field's value.
7677func (s *Site) SetTags(v []*Tag) *Site {
7678	s.Tags = v
7679	return s
7680}
7681
7682// Describes a tag.
7683type Tag struct {
7684	_ struct{} `type:"structure"`
7685
7686	// The tag key.
7687	//
7688	// Length Constraints: Maximum length of 128 characters.
7689	Key *string `type:"string"`
7690
7691	// The tag value.
7692	//
7693	// Length Constraints: Maximum length of 256 characters.
7694	Value *string `type:"string"`
7695}
7696
7697// String returns the string representation
7698func (s Tag) String() string {
7699	return awsutil.Prettify(s)
7700}
7701
7702// GoString returns the string representation
7703func (s Tag) GoString() string {
7704	return s.String()
7705}
7706
7707// SetKey sets the Key field's value.
7708func (s *Tag) SetKey(v string) *Tag {
7709	s.Key = &v
7710	return s
7711}
7712
7713// SetValue sets the Value field's value.
7714func (s *Tag) SetValue(v string) *Tag {
7715	s.Value = &v
7716	return s
7717}
7718
7719type TagResourceInput struct {
7720	_ struct{} `type:"structure"`
7721
7722	// The Amazon Resource Name (ARN) of the resource.
7723	//
7724	// ResourceArn is a required field
7725	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7726
7727	// The tags to apply to the specified resource.
7728	//
7729	// Tags is a required field
7730	Tags []*Tag `type:"list" required:"true"`
7731}
7732
7733// String returns the string representation
7734func (s TagResourceInput) String() string {
7735	return awsutil.Prettify(s)
7736}
7737
7738// GoString returns the string representation
7739func (s TagResourceInput) GoString() string {
7740	return s.String()
7741}
7742
7743// Validate inspects the fields of the type to determine if they are valid.
7744func (s *TagResourceInput) Validate() error {
7745	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7746	if s.ResourceArn == nil {
7747		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7748	}
7749	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7750		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7751	}
7752	if s.Tags == nil {
7753		invalidParams.Add(request.NewErrParamRequired("Tags"))
7754	}
7755
7756	if invalidParams.Len() > 0 {
7757		return invalidParams
7758	}
7759	return nil
7760}
7761
7762// SetResourceArn sets the ResourceArn field's value.
7763func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7764	s.ResourceArn = &v
7765	return s
7766}
7767
7768// SetTags sets the Tags field's value.
7769func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
7770	s.Tags = v
7771	return s
7772}
7773
7774type TagResourceOutput struct {
7775	_ struct{} `type:"structure"`
7776}
7777
7778// String returns the string representation
7779func (s TagResourceOutput) String() string {
7780	return awsutil.Prettify(s)
7781}
7782
7783// GoString returns the string representation
7784func (s TagResourceOutput) GoString() string {
7785	return s.String()
7786}
7787
7788// The request was denied due to request throttling.
7789type ThrottlingException struct {
7790	_            struct{}                  `type:"structure"`
7791	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7792
7793	Message_ *string `locationName:"Message" type:"string"`
7794
7795	// Indicates when to retry the request.
7796	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
7797}
7798
7799// String returns the string representation
7800func (s ThrottlingException) String() string {
7801	return awsutil.Prettify(s)
7802}
7803
7804// GoString returns the string representation
7805func (s ThrottlingException) GoString() string {
7806	return s.String()
7807}
7808
7809func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7810	return &ThrottlingException{
7811		RespMetadata: v,
7812	}
7813}
7814
7815// Code returns the exception type name.
7816func (s *ThrottlingException) Code() string {
7817	return "ThrottlingException"
7818}
7819
7820// Message returns the exception's message.
7821func (s *ThrottlingException) Message() string {
7822	if s.Message_ != nil {
7823		return *s.Message_
7824	}
7825	return ""
7826}
7827
7828// OrigErr always returns nil, satisfies awserr.Error interface.
7829func (s *ThrottlingException) OrigErr() error {
7830	return nil
7831}
7832
7833func (s *ThrottlingException) Error() string {
7834	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7835}
7836
7837// Status code returns the HTTP status code for the request's response error.
7838func (s *ThrottlingException) StatusCode() int {
7839	return s.RespMetadata.StatusCode
7840}
7841
7842// RequestID returns the service's response RequestID for request.
7843func (s *ThrottlingException) RequestID() string {
7844	return s.RespMetadata.RequestID
7845}
7846
7847// Describes a transit gateway Connect peer association.
7848type TransitGatewayConnectPeerAssociation struct {
7849	_ struct{} `type:"structure"`
7850
7851	// The ID of the device.
7852	DeviceId *string `type:"string"`
7853
7854	// The ID of the global network.
7855	GlobalNetworkId *string `type:"string"`
7856
7857	// The ID of the link.
7858	LinkId *string `type:"string"`
7859
7860	// The state of the association.
7861	State *string `type:"string" enum:"TransitGatewayConnectPeerAssociationState"`
7862
7863	// The Amazon Resource Name (ARN) of the transit gateway Connect peer.
7864	TransitGatewayConnectPeerArn *string `type:"string"`
7865}
7866
7867// String returns the string representation
7868func (s TransitGatewayConnectPeerAssociation) String() string {
7869	return awsutil.Prettify(s)
7870}
7871
7872// GoString returns the string representation
7873func (s TransitGatewayConnectPeerAssociation) GoString() string {
7874	return s.String()
7875}
7876
7877// SetDeviceId sets the DeviceId field's value.
7878func (s *TransitGatewayConnectPeerAssociation) SetDeviceId(v string) *TransitGatewayConnectPeerAssociation {
7879	s.DeviceId = &v
7880	return s
7881}
7882
7883// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7884func (s *TransitGatewayConnectPeerAssociation) SetGlobalNetworkId(v string) *TransitGatewayConnectPeerAssociation {
7885	s.GlobalNetworkId = &v
7886	return s
7887}
7888
7889// SetLinkId sets the LinkId field's value.
7890func (s *TransitGatewayConnectPeerAssociation) SetLinkId(v string) *TransitGatewayConnectPeerAssociation {
7891	s.LinkId = &v
7892	return s
7893}
7894
7895// SetState sets the State field's value.
7896func (s *TransitGatewayConnectPeerAssociation) SetState(v string) *TransitGatewayConnectPeerAssociation {
7897	s.State = &v
7898	return s
7899}
7900
7901// SetTransitGatewayConnectPeerArn sets the TransitGatewayConnectPeerArn field's value.
7902func (s *TransitGatewayConnectPeerAssociation) SetTransitGatewayConnectPeerArn(v string) *TransitGatewayConnectPeerAssociation {
7903	s.TransitGatewayConnectPeerArn = &v
7904	return s
7905}
7906
7907// Describes the registration of a transit gateway to a global network.
7908type TransitGatewayRegistration struct {
7909	_ struct{} `type:"structure"`
7910
7911	// The ID of the global network.
7912	GlobalNetworkId *string `type:"string"`
7913
7914	// The state of the transit gateway registration.
7915	State *TransitGatewayRegistrationStateReason `type:"structure"`
7916
7917	// The Amazon Resource Name (ARN) of the transit gateway.
7918	TransitGatewayArn *string `type:"string"`
7919}
7920
7921// String returns the string representation
7922func (s TransitGatewayRegistration) String() string {
7923	return awsutil.Prettify(s)
7924}
7925
7926// GoString returns the string representation
7927func (s TransitGatewayRegistration) GoString() string {
7928	return s.String()
7929}
7930
7931// SetGlobalNetworkId sets the GlobalNetworkId field's value.
7932func (s *TransitGatewayRegistration) SetGlobalNetworkId(v string) *TransitGatewayRegistration {
7933	s.GlobalNetworkId = &v
7934	return s
7935}
7936
7937// SetState sets the State field's value.
7938func (s *TransitGatewayRegistration) SetState(v *TransitGatewayRegistrationStateReason) *TransitGatewayRegistration {
7939	s.State = v
7940	return s
7941}
7942
7943// SetTransitGatewayArn sets the TransitGatewayArn field's value.
7944func (s *TransitGatewayRegistration) SetTransitGatewayArn(v string) *TransitGatewayRegistration {
7945	s.TransitGatewayArn = &v
7946	return s
7947}
7948
7949// Describes the status of a transit gateway registration.
7950type TransitGatewayRegistrationStateReason struct {
7951	_ struct{} `type:"structure"`
7952
7953	// The code for the state reason.
7954	Code *string `type:"string" enum:"TransitGatewayRegistrationState"`
7955
7956	// The message for the state reason.
7957	Message *string `type:"string"`
7958}
7959
7960// String returns the string representation
7961func (s TransitGatewayRegistrationStateReason) String() string {
7962	return awsutil.Prettify(s)
7963}
7964
7965// GoString returns the string representation
7966func (s TransitGatewayRegistrationStateReason) GoString() string {
7967	return s.String()
7968}
7969
7970// SetCode sets the Code field's value.
7971func (s *TransitGatewayRegistrationStateReason) SetCode(v string) *TransitGatewayRegistrationStateReason {
7972	s.Code = &v
7973	return s
7974}
7975
7976// SetMessage sets the Message field's value.
7977func (s *TransitGatewayRegistrationStateReason) SetMessage(v string) *TransitGatewayRegistrationStateReason {
7978	s.Message = &v
7979	return s
7980}
7981
7982type UntagResourceInput struct {
7983	_ struct{} `type:"structure"`
7984
7985	// The Amazon Resource Name (ARN) of the resource.
7986	//
7987	// ResourceArn is a required field
7988	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7989
7990	// The tag keys to remove from the specified resource.
7991	//
7992	// TagKeys is a required field
7993	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
7994}
7995
7996// String returns the string representation
7997func (s UntagResourceInput) String() string {
7998	return awsutil.Prettify(s)
7999}
8000
8001// GoString returns the string representation
8002func (s UntagResourceInput) GoString() string {
8003	return s.String()
8004}
8005
8006// Validate inspects the fields of the type to determine if they are valid.
8007func (s *UntagResourceInput) Validate() error {
8008	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
8009	if s.ResourceArn == nil {
8010		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8011	}
8012	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8013		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8014	}
8015	if s.TagKeys == nil {
8016		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
8017	}
8018
8019	if invalidParams.Len() > 0 {
8020		return invalidParams
8021	}
8022	return nil
8023}
8024
8025// SetResourceArn sets the ResourceArn field's value.
8026func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
8027	s.ResourceArn = &v
8028	return s
8029}
8030
8031// SetTagKeys sets the TagKeys field's value.
8032func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
8033	s.TagKeys = v
8034	return s
8035}
8036
8037type UntagResourceOutput struct {
8038	_ struct{} `type:"structure"`
8039}
8040
8041// String returns the string representation
8042func (s UntagResourceOutput) String() string {
8043	return awsutil.Prettify(s)
8044}
8045
8046// GoString returns the string representation
8047func (s UntagResourceOutput) GoString() string {
8048	return s.String()
8049}
8050
8051type UpdateConnectionInput struct {
8052	_ struct{} `type:"structure"`
8053
8054	// The ID of the link for the second device in the connection.
8055	ConnectedLinkId *string `type:"string"`
8056
8057	// The ID of the connection.
8058	//
8059	// ConnectionId is a required field
8060	ConnectionId *string `location:"uri" locationName:"connectionId" type:"string" required:"true"`
8061
8062	// A description of the connection.
8063	//
8064	// Length Constraints: Maximum length of 256 characters.
8065	Description *string `type:"string"`
8066
8067	// The ID of the global network.
8068	//
8069	// GlobalNetworkId is a required field
8070	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
8071
8072	// The ID of the link for the first device in the connection.
8073	LinkId *string `type:"string"`
8074}
8075
8076// String returns the string representation
8077func (s UpdateConnectionInput) String() string {
8078	return awsutil.Prettify(s)
8079}
8080
8081// GoString returns the string representation
8082func (s UpdateConnectionInput) GoString() string {
8083	return s.String()
8084}
8085
8086// Validate inspects the fields of the type to determine if they are valid.
8087func (s *UpdateConnectionInput) Validate() error {
8088	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionInput"}
8089	if s.ConnectionId == nil {
8090		invalidParams.Add(request.NewErrParamRequired("ConnectionId"))
8091	}
8092	if s.ConnectionId != nil && len(*s.ConnectionId) < 1 {
8093		invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 1))
8094	}
8095	if s.GlobalNetworkId == nil {
8096		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
8097	}
8098	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
8099		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
8100	}
8101
8102	if invalidParams.Len() > 0 {
8103		return invalidParams
8104	}
8105	return nil
8106}
8107
8108// SetConnectedLinkId sets the ConnectedLinkId field's value.
8109func (s *UpdateConnectionInput) SetConnectedLinkId(v string) *UpdateConnectionInput {
8110	s.ConnectedLinkId = &v
8111	return s
8112}
8113
8114// SetConnectionId sets the ConnectionId field's value.
8115func (s *UpdateConnectionInput) SetConnectionId(v string) *UpdateConnectionInput {
8116	s.ConnectionId = &v
8117	return s
8118}
8119
8120// SetDescription sets the Description field's value.
8121func (s *UpdateConnectionInput) SetDescription(v string) *UpdateConnectionInput {
8122	s.Description = &v
8123	return s
8124}
8125
8126// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8127func (s *UpdateConnectionInput) SetGlobalNetworkId(v string) *UpdateConnectionInput {
8128	s.GlobalNetworkId = &v
8129	return s
8130}
8131
8132// SetLinkId sets the LinkId field's value.
8133func (s *UpdateConnectionInput) SetLinkId(v string) *UpdateConnectionInput {
8134	s.LinkId = &v
8135	return s
8136}
8137
8138type UpdateConnectionOutput struct {
8139	_ struct{} `type:"structure"`
8140
8141	// Information about the connection.
8142	Connection *Connection `type:"structure"`
8143}
8144
8145// String returns the string representation
8146func (s UpdateConnectionOutput) String() string {
8147	return awsutil.Prettify(s)
8148}
8149
8150// GoString returns the string representation
8151func (s UpdateConnectionOutput) GoString() string {
8152	return s.String()
8153}
8154
8155// SetConnection sets the Connection field's value.
8156func (s *UpdateConnectionOutput) SetConnection(v *Connection) *UpdateConnectionOutput {
8157	s.Connection = v
8158	return s
8159}
8160
8161type UpdateDeviceInput struct {
8162	_ struct{} `type:"structure"`
8163
8164	// The AWS location of the device.
8165	AWSLocation *AWSLocation `type:"structure"`
8166
8167	// A description of the device.
8168	//
8169	// Length Constraints: Maximum length of 256 characters.
8170	Description *string `type:"string"`
8171
8172	// The ID of the device.
8173	//
8174	// DeviceId is a required field
8175	DeviceId *string `location:"uri" locationName:"deviceId" type:"string" required:"true"`
8176
8177	// The ID of the global network.
8178	//
8179	// GlobalNetworkId is a required field
8180	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
8181
8182	// Describes a location.
8183	Location *Location `type:"structure" sensitive:"true"`
8184
8185	// The model of the device.
8186	//
8187	// Length Constraints: Maximum length of 128 characters.
8188	Model *string `type:"string"`
8189
8190	// The serial number of the device.
8191	//
8192	// Length Constraints: Maximum length of 128 characters.
8193	SerialNumber *string `type:"string"`
8194
8195	// The ID of the site.
8196	SiteId *string `type:"string"`
8197
8198	// The type of the device.
8199	Type *string `type:"string"`
8200
8201	// The vendor of the device.
8202	//
8203	// Length Constraints: Maximum length of 128 characters.
8204	Vendor *string `type:"string"`
8205}
8206
8207// String returns the string representation
8208func (s UpdateDeviceInput) String() string {
8209	return awsutil.Prettify(s)
8210}
8211
8212// GoString returns the string representation
8213func (s UpdateDeviceInput) GoString() string {
8214	return s.String()
8215}
8216
8217// Validate inspects the fields of the type to determine if they are valid.
8218func (s *UpdateDeviceInput) Validate() error {
8219	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInput"}
8220	if s.DeviceId == nil {
8221		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
8222	}
8223	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
8224		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
8225	}
8226	if s.GlobalNetworkId == nil {
8227		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
8228	}
8229	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
8230		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
8231	}
8232
8233	if invalidParams.Len() > 0 {
8234		return invalidParams
8235	}
8236	return nil
8237}
8238
8239// SetAWSLocation sets the AWSLocation field's value.
8240func (s *UpdateDeviceInput) SetAWSLocation(v *AWSLocation) *UpdateDeviceInput {
8241	s.AWSLocation = v
8242	return s
8243}
8244
8245// SetDescription sets the Description field's value.
8246func (s *UpdateDeviceInput) SetDescription(v string) *UpdateDeviceInput {
8247	s.Description = &v
8248	return s
8249}
8250
8251// SetDeviceId sets the DeviceId field's value.
8252func (s *UpdateDeviceInput) SetDeviceId(v string) *UpdateDeviceInput {
8253	s.DeviceId = &v
8254	return s
8255}
8256
8257// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8258func (s *UpdateDeviceInput) SetGlobalNetworkId(v string) *UpdateDeviceInput {
8259	s.GlobalNetworkId = &v
8260	return s
8261}
8262
8263// SetLocation sets the Location field's value.
8264func (s *UpdateDeviceInput) SetLocation(v *Location) *UpdateDeviceInput {
8265	s.Location = v
8266	return s
8267}
8268
8269// SetModel sets the Model field's value.
8270func (s *UpdateDeviceInput) SetModel(v string) *UpdateDeviceInput {
8271	s.Model = &v
8272	return s
8273}
8274
8275// SetSerialNumber sets the SerialNumber field's value.
8276func (s *UpdateDeviceInput) SetSerialNumber(v string) *UpdateDeviceInput {
8277	s.SerialNumber = &v
8278	return s
8279}
8280
8281// SetSiteId sets the SiteId field's value.
8282func (s *UpdateDeviceInput) SetSiteId(v string) *UpdateDeviceInput {
8283	s.SiteId = &v
8284	return s
8285}
8286
8287// SetType sets the Type field's value.
8288func (s *UpdateDeviceInput) SetType(v string) *UpdateDeviceInput {
8289	s.Type = &v
8290	return s
8291}
8292
8293// SetVendor sets the Vendor field's value.
8294func (s *UpdateDeviceInput) SetVendor(v string) *UpdateDeviceInput {
8295	s.Vendor = &v
8296	return s
8297}
8298
8299type UpdateDeviceOutput struct {
8300	_ struct{} `type:"structure"`
8301
8302	// Information about the device.
8303	Device *Device `type:"structure"`
8304}
8305
8306// String returns the string representation
8307func (s UpdateDeviceOutput) String() string {
8308	return awsutil.Prettify(s)
8309}
8310
8311// GoString returns the string representation
8312func (s UpdateDeviceOutput) GoString() string {
8313	return s.String()
8314}
8315
8316// SetDevice sets the Device field's value.
8317func (s *UpdateDeviceOutput) SetDevice(v *Device) *UpdateDeviceOutput {
8318	s.Device = v
8319	return s
8320}
8321
8322type UpdateGlobalNetworkInput struct {
8323	_ struct{} `type:"structure"`
8324
8325	// A description of the global network.
8326	//
8327	// Length Constraints: Maximum length of 256 characters.
8328	Description *string `type:"string"`
8329
8330	// The ID of your global network.
8331	//
8332	// GlobalNetworkId is a required field
8333	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
8334}
8335
8336// String returns the string representation
8337func (s UpdateGlobalNetworkInput) String() string {
8338	return awsutil.Prettify(s)
8339}
8340
8341// GoString returns the string representation
8342func (s UpdateGlobalNetworkInput) GoString() string {
8343	return s.String()
8344}
8345
8346// Validate inspects the fields of the type to determine if they are valid.
8347func (s *UpdateGlobalNetworkInput) Validate() error {
8348	invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalNetworkInput"}
8349	if s.GlobalNetworkId == nil {
8350		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
8351	}
8352	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
8353		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
8354	}
8355
8356	if invalidParams.Len() > 0 {
8357		return invalidParams
8358	}
8359	return nil
8360}
8361
8362// SetDescription sets the Description field's value.
8363func (s *UpdateGlobalNetworkInput) SetDescription(v string) *UpdateGlobalNetworkInput {
8364	s.Description = &v
8365	return s
8366}
8367
8368// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8369func (s *UpdateGlobalNetworkInput) SetGlobalNetworkId(v string) *UpdateGlobalNetworkInput {
8370	s.GlobalNetworkId = &v
8371	return s
8372}
8373
8374type UpdateGlobalNetworkOutput struct {
8375	_ struct{} `type:"structure"`
8376
8377	// Information about the global network object.
8378	GlobalNetwork *GlobalNetwork `type:"structure"`
8379}
8380
8381// String returns the string representation
8382func (s UpdateGlobalNetworkOutput) String() string {
8383	return awsutil.Prettify(s)
8384}
8385
8386// GoString returns the string representation
8387func (s UpdateGlobalNetworkOutput) GoString() string {
8388	return s.String()
8389}
8390
8391// SetGlobalNetwork sets the GlobalNetwork field's value.
8392func (s *UpdateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *UpdateGlobalNetworkOutput {
8393	s.GlobalNetwork = v
8394	return s
8395}
8396
8397type UpdateLinkInput struct {
8398	_ struct{} `type:"structure"`
8399
8400	// The upload and download speed in Mbps.
8401	Bandwidth *Bandwidth `type:"structure"`
8402
8403	// A description of the link.
8404	//
8405	// Length Constraints: Maximum length of 256 characters.
8406	Description *string `type:"string"`
8407
8408	// The ID of the global network.
8409	//
8410	// GlobalNetworkId is a required field
8411	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
8412
8413	// The ID of the link.
8414	//
8415	// LinkId is a required field
8416	LinkId *string `location:"uri" locationName:"linkId" type:"string" required:"true"`
8417
8418	// The provider of the link.
8419	//
8420	// Length Constraints: Maximum length of 128 characters.
8421	Provider *string `type:"string"`
8422
8423	// The type of the link.
8424	//
8425	// Length Constraints: Maximum length of 128 characters.
8426	Type *string `type:"string"`
8427}
8428
8429// String returns the string representation
8430func (s UpdateLinkInput) String() string {
8431	return awsutil.Prettify(s)
8432}
8433
8434// GoString returns the string representation
8435func (s UpdateLinkInput) GoString() string {
8436	return s.String()
8437}
8438
8439// Validate inspects the fields of the type to determine if they are valid.
8440func (s *UpdateLinkInput) Validate() error {
8441	invalidParams := request.ErrInvalidParams{Context: "UpdateLinkInput"}
8442	if s.GlobalNetworkId == nil {
8443		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
8444	}
8445	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
8446		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
8447	}
8448	if s.LinkId == nil {
8449		invalidParams.Add(request.NewErrParamRequired("LinkId"))
8450	}
8451	if s.LinkId != nil && len(*s.LinkId) < 1 {
8452		invalidParams.Add(request.NewErrParamMinLen("LinkId", 1))
8453	}
8454
8455	if invalidParams.Len() > 0 {
8456		return invalidParams
8457	}
8458	return nil
8459}
8460
8461// SetBandwidth sets the Bandwidth field's value.
8462func (s *UpdateLinkInput) SetBandwidth(v *Bandwidth) *UpdateLinkInput {
8463	s.Bandwidth = v
8464	return s
8465}
8466
8467// SetDescription sets the Description field's value.
8468func (s *UpdateLinkInput) SetDescription(v string) *UpdateLinkInput {
8469	s.Description = &v
8470	return s
8471}
8472
8473// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8474func (s *UpdateLinkInput) SetGlobalNetworkId(v string) *UpdateLinkInput {
8475	s.GlobalNetworkId = &v
8476	return s
8477}
8478
8479// SetLinkId sets the LinkId field's value.
8480func (s *UpdateLinkInput) SetLinkId(v string) *UpdateLinkInput {
8481	s.LinkId = &v
8482	return s
8483}
8484
8485// SetProvider sets the Provider field's value.
8486func (s *UpdateLinkInput) SetProvider(v string) *UpdateLinkInput {
8487	s.Provider = &v
8488	return s
8489}
8490
8491// SetType sets the Type field's value.
8492func (s *UpdateLinkInput) SetType(v string) *UpdateLinkInput {
8493	s.Type = &v
8494	return s
8495}
8496
8497type UpdateLinkOutput struct {
8498	_ struct{} `type:"structure"`
8499
8500	// Information about the link.
8501	Link *Link `type:"structure"`
8502}
8503
8504// String returns the string representation
8505func (s UpdateLinkOutput) String() string {
8506	return awsutil.Prettify(s)
8507}
8508
8509// GoString returns the string representation
8510func (s UpdateLinkOutput) GoString() string {
8511	return s.String()
8512}
8513
8514// SetLink sets the Link field's value.
8515func (s *UpdateLinkOutput) SetLink(v *Link) *UpdateLinkOutput {
8516	s.Link = v
8517	return s
8518}
8519
8520type UpdateSiteInput struct {
8521	_ struct{} `type:"structure"`
8522
8523	// A description of your site.
8524	//
8525	// Length Constraints: Maximum length of 256 characters.
8526	Description *string `type:"string"`
8527
8528	// The ID of the global network.
8529	//
8530	// GlobalNetworkId is a required field
8531	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
8532
8533	// The site location:
8534	//
8535	//    * Address: The physical address of the site.
8536	//
8537	//    * Latitude: The latitude of the site.
8538	//
8539	//    * Longitude: The longitude of the site.
8540	Location *Location `type:"structure" sensitive:"true"`
8541
8542	// The ID of your site.
8543	//
8544	// SiteId is a required field
8545	SiteId *string `location:"uri" locationName:"siteId" type:"string" required:"true"`
8546}
8547
8548// String returns the string representation
8549func (s UpdateSiteInput) String() string {
8550	return awsutil.Prettify(s)
8551}
8552
8553// GoString returns the string representation
8554func (s UpdateSiteInput) GoString() string {
8555	return s.String()
8556}
8557
8558// Validate inspects the fields of the type to determine if they are valid.
8559func (s *UpdateSiteInput) Validate() error {
8560	invalidParams := request.ErrInvalidParams{Context: "UpdateSiteInput"}
8561	if s.GlobalNetworkId == nil {
8562		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
8563	}
8564	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
8565		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
8566	}
8567	if s.SiteId == nil {
8568		invalidParams.Add(request.NewErrParamRequired("SiteId"))
8569	}
8570	if s.SiteId != nil && len(*s.SiteId) < 1 {
8571		invalidParams.Add(request.NewErrParamMinLen("SiteId", 1))
8572	}
8573
8574	if invalidParams.Len() > 0 {
8575		return invalidParams
8576	}
8577	return nil
8578}
8579
8580// SetDescription sets the Description field's value.
8581func (s *UpdateSiteInput) SetDescription(v string) *UpdateSiteInput {
8582	s.Description = &v
8583	return s
8584}
8585
8586// SetGlobalNetworkId sets the GlobalNetworkId field's value.
8587func (s *UpdateSiteInput) SetGlobalNetworkId(v string) *UpdateSiteInput {
8588	s.GlobalNetworkId = &v
8589	return s
8590}
8591
8592// SetLocation sets the Location field's value.
8593func (s *UpdateSiteInput) SetLocation(v *Location) *UpdateSiteInput {
8594	s.Location = v
8595	return s
8596}
8597
8598// SetSiteId sets the SiteId field's value.
8599func (s *UpdateSiteInput) SetSiteId(v string) *UpdateSiteInput {
8600	s.SiteId = &v
8601	return s
8602}
8603
8604type UpdateSiteOutput struct {
8605	_ struct{} `type:"structure"`
8606
8607	// Information about the site.
8608	Site *Site `type:"structure"`
8609}
8610
8611// String returns the string representation
8612func (s UpdateSiteOutput) String() string {
8613	return awsutil.Prettify(s)
8614}
8615
8616// GoString returns the string representation
8617func (s UpdateSiteOutput) GoString() string {
8618	return s.String()
8619}
8620
8621// SetSite sets the Site field's value.
8622func (s *UpdateSiteOutput) SetSite(v *Site) *UpdateSiteOutput {
8623	s.Site = v
8624	return s
8625}
8626
8627// The input fails to satisfy the constraints.
8628type ValidationException struct {
8629	_            struct{}                  `type:"structure"`
8630	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8631
8632	// The fields that caused the error, if applicable.
8633	Fields []*ValidationExceptionField `type:"list"`
8634
8635	Message_ *string `locationName:"Message" type:"string"`
8636
8637	// The reason for the error.
8638	Reason *string `type:"string" enum:"ValidationExceptionReason"`
8639}
8640
8641// String returns the string representation
8642func (s ValidationException) String() string {
8643	return awsutil.Prettify(s)
8644}
8645
8646// GoString returns the string representation
8647func (s ValidationException) GoString() string {
8648	return s.String()
8649}
8650
8651func newErrorValidationException(v protocol.ResponseMetadata) error {
8652	return &ValidationException{
8653		RespMetadata: v,
8654	}
8655}
8656
8657// Code returns the exception type name.
8658func (s *ValidationException) Code() string {
8659	return "ValidationException"
8660}
8661
8662// Message returns the exception's message.
8663func (s *ValidationException) Message() string {
8664	if s.Message_ != nil {
8665		return *s.Message_
8666	}
8667	return ""
8668}
8669
8670// OrigErr always returns nil, satisfies awserr.Error interface.
8671func (s *ValidationException) OrigErr() error {
8672	return nil
8673}
8674
8675func (s *ValidationException) Error() string {
8676	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8677}
8678
8679// Status code returns the HTTP status code for the request's response error.
8680func (s *ValidationException) StatusCode() int {
8681	return s.RespMetadata.StatusCode
8682}
8683
8684// RequestID returns the service's response RequestID for request.
8685func (s *ValidationException) RequestID() string {
8686	return s.RespMetadata.RequestID
8687}
8688
8689// Describes a validation exception for a field.
8690type ValidationExceptionField struct {
8691	_ struct{} `type:"structure"`
8692
8693	// The message for the field.
8694	//
8695	// Message is a required field
8696	Message *string `type:"string" required:"true"`
8697
8698	// The name of the field.
8699	//
8700	// Name is a required field
8701	Name *string `type:"string" required:"true"`
8702}
8703
8704// String returns the string representation
8705func (s ValidationExceptionField) String() string {
8706	return awsutil.Prettify(s)
8707}
8708
8709// GoString returns the string representation
8710func (s ValidationExceptionField) GoString() string {
8711	return s.String()
8712}
8713
8714// SetMessage sets the Message field's value.
8715func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
8716	s.Message = &v
8717	return s
8718}
8719
8720// SetName sets the Name field's value.
8721func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
8722	s.Name = &v
8723	return s
8724}
8725
8726const (
8727	// ConnectionStatePending is a ConnectionState enum value
8728	ConnectionStatePending = "PENDING"
8729
8730	// ConnectionStateAvailable is a ConnectionState enum value
8731	ConnectionStateAvailable = "AVAILABLE"
8732
8733	// ConnectionStateDeleting is a ConnectionState enum value
8734	ConnectionStateDeleting = "DELETING"
8735
8736	// ConnectionStateUpdating is a ConnectionState enum value
8737	ConnectionStateUpdating = "UPDATING"
8738)
8739
8740// ConnectionState_Values returns all elements of the ConnectionState enum
8741func ConnectionState_Values() []string {
8742	return []string{
8743		ConnectionStatePending,
8744		ConnectionStateAvailable,
8745		ConnectionStateDeleting,
8746		ConnectionStateUpdating,
8747	}
8748}
8749
8750const (
8751	// CustomerGatewayAssociationStatePending is a CustomerGatewayAssociationState enum value
8752	CustomerGatewayAssociationStatePending = "PENDING"
8753
8754	// CustomerGatewayAssociationStateAvailable is a CustomerGatewayAssociationState enum value
8755	CustomerGatewayAssociationStateAvailable = "AVAILABLE"
8756
8757	// CustomerGatewayAssociationStateDeleting is a CustomerGatewayAssociationState enum value
8758	CustomerGatewayAssociationStateDeleting = "DELETING"
8759
8760	// CustomerGatewayAssociationStateDeleted is a CustomerGatewayAssociationState enum value
8761	CustomerGatewayAssociationStateDeleted = "DELETED"
8762)
8763
8764// CustomerGatewayAssociationState_Values returns all elements of the CustomerGatewayAssociationState enum
8765func CustomerGatewayAssociationState_Values() []string {
8766	return []string{
8767		CustomerGatewayAssociationStatePending,
8768		CustomerGatewayAssociationStateAvailable,
8769		CustomerGatewayAssociationStateDeleting,
8770		CustomerGatewayAssociationStateDeleted,
8771	}
8772}
8773
8774const (
8775	// DeviceStatePending is a DeviceState enum value
8776	DeviceStatePending = "PENDING"
8777
8778	// DeviceStateAvailable is a DeviceState enum value
8779	DeviceStateAvailable = "AVAILABLE"
8780
8781	// DeviceStateDeleting is a DeviceState enum value
8782	DeviceStateDeleting = "DELETING"
8783
8784	// DeviceStateUpdating is a DeviceState enum value
8785	DeviceStateUpdating = "UPDATING"
8786)
8787
8788// DeviceState_Values returns all elements of the DeviceState enum
8789func DeviceState_Values() []string {
8790	return []string{
8791		DeviceStatePending,
8792		DeviceStateAvailable,
8793		DeviceStateDeleting,
8794		DeviceStateUpdating,
8795	}
8796}
8797
8798const (
8799	// GlobalNetworkStatePending is a GlobalNetworkState enum value
8800	GlobalNetworkStatePending = "PENDING"
8801
8802	// GlobalNetworkStateAvailable is a GlobalNetworkState enum value
8803	GlobalNetworkStateAvailable = "AVAILABLE"
8804
8805	// GlobalNetworkStateDeleting is a GlobalNetworkState enum value
8806	GlobalNetworkStateDeleting = "DELETING"
8807
8808	// GlobalNetworkStateUpdating is a GlobalNetworkState enum value
8809	GlobalNetworkStateUpdating = "UPDATING"
8810)
8811
8812// GlobalNetworkState_Values returns all elements of the GlobalNetworkState enum
8813func GlobalNetworkState_Values() []string {
8814	return []string{
8815		GlobalNetworkStatePending,
8816		GlobalNetworkStateAvailable,
8817		GlobalNetworkStateDeleting,
8818		GlobalNetworkStateUpdating,
8819	}
8820}
8821
8822const (
8823	// LinkAssociationStatePending is a LinkAssociationState enum value
8824	LinkAssociationStatePending = "PENDING"
8825
8826	// LinkAssociationStateAvailable is a LinkAssociationState enum value
8827	LinkAssociationStateAvailable = "AVAILABLE"
8828
8829	// LinkAssociationStateDeleting is a LinkAssociationState enum value
8830	LinkAssociationStateDeleting = "DELETING"
8831
8832	// LinkAssociationStateDeleted is a LinkAssociationState enum value
8833	LinkAssociationStateDeleted = "DELETED"
8834)
8835
8836// LinkAssociationState_Values returns all elements of the LinkAssociationState enum
8837func LinkAssociationState_Values() []string {
8838	return []string{
8839		LinkAssociationStatePending,
8840		LinkAssociationStateAvailable,
8841		LinkAssociationStateDeleting,
8842		LinkAssociationStateDeleted,
8843	}
8844}
8845
8846const (
8847	// LinkStatePending is a LinkState enum value
8848	LinkStatePending = "PENDING"
8849
8850	// LinkStateAvailable is a LinkState enum value
8851	LinkStateAvailable = "AVAILABLE"
8852
8853	// LinkStateDeleting is a LinkState enum value
8854	LinkStateDeleting = "DELETING"
8855
8856	// LinkStateUpdating is a LinkState enum value
8857	LinkStateUpdating = "UPDATING"
8858)
8859
8860// LinkState_Values returns all elements of the LinkState enum
8861func LinkState_Values() []string {
8862	return []string{
8863		LinkStatePending,
8864		LinkStateAvailable,
8865		LinkStateDeleting,
8866		LinkStateUpdating,
8867	}
8868}
8869
8870const (
8871	// SiteStatePending is a SiteState enum value
8872	SiteStatePending = "PENDING"
8873
8874	// SiteStateAvailable is a SiteState enum value
8875	SiteStateAvailable = "AVAILABLE"
8876
8877	// SiteStateDeleting is a SiteState enum value
8878	SiteStateDeleting = "DELETING"
8879
8880	// SiteStateUpdating is a SiteState enum value
8881	SiteStateUpdating = "UPDATING"
8882)
8883
8884// SiteState_Values returns all elements of the SiteState enum
8885func SiteState_Values() []string {
8886	return []string{
8887		SiteStatePending,
8888		SiteStateAvailable,
8889		SiteStateDeleting,
8890		SiteStateUpdating,
8891	}
8892}
8893
8894const (
8895	// TransitGatewayConnectPeerAssociationStatePending is a TransitGatewayConnectPeerAssociationState enum value
8896	TransitGatewayConnectPeerAssociationStatePending = "PENDING"
8897
8898	// TransitGatewayConnectPeerAssociationStateAvailable is a TransitGatewayConnectPeerAssociationState enum value
8899	TransitGatewayConnectPeerAssociationStateAvailable = "AVAILABLE"
8900
8901	// TransitGatewayConnectPeerAssociationStateDeleting is a TransitGatewayConnectPeerAssociationState enum value
8902	TransitGatewayConnectPeerAssociationStateDeleting = "DELETING"
8903
8904	// TransitGatewayConnectPeerAssociationStateDeleted is a TransitGatewayConnectPeerAssociationState enum value
8905	TransitGatewayConnectPeerAssociationStateDeleted = "DELETED"
8906)
8907
8908// TransitGatewayConnectPeerAssociationState_Values returns all elements of the TransitGatewayConnectPeerAssociationState enum
8909func TransitGatewayConnectPeerAssociationState_Values() []string {
8910	return []string{
8911		TransitGatewayConnectPeerAssociationStatePending,
8912		TransitGatewayConnectPeerAssociationStateAvailable,
8913		TransitGatewayConnectPeerAssociationStateDeleting,
8914		TransitGatewayConnectPeerAssociationStateDeleted,
8915	}
8916}
8917
8918const (
8919	// TransitGatewayRegistrationStatePending is a TransitGatewayRegistrationState enum value
8920	TransitGatewayRegistrationStatePending = "PENDING"
8921
8922	// TransitGatewayRegistrationStateAvailable is a TransitGatewayRegistrationState enum value
8923	TransitGatewayRegistrationStateAvailable = "AVAILABLE"
8924
8925	// TransitGatewayRegistrationStateDeleting is a TransitGatewayRegistrationState enum value
8926	TransitGatewayRegistrationStateDeleting = "DELETING"
8927
8928	// TransitGatewayRegistrationStateDeleted is a TransitGatewayRegistrationState enum value
8929	TransitGatewayRegistrationStateDeleted = "DELETED"
8930
8931	// TransitGatewayRegistrationStateFailed is a TransitGatewayRegistrationState enum value
8932	TransitGatewayRegistrationStateFailed = "FAILED"
8933)
8934
8935// TransitGatewayRegistrationState_Values returns all elements of the TransitGatewayRegistrationState enum
8936func TransitGatewayRegistrationState_Values() []string {
8937	return []string{
8938		TransitGatewayRegistrationStatePending,
8939		TransitGatewayRegistrationStateAvailable,
8940		TransitGatewayRegistrationStateDeleting,
8941		TransitGatewayRegistrationStateDeleted,
8942		TransitGatewayRegistrationStateFailed,
8943	}
8944}
8945
8946const (
8947	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
8948	ValidationExceptionReasonUnknownOperation = "UnknownOperation"
8949
8950	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
8951	ValidationExceptionReasonCannotParse = "CannotParse"
8952
8953	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
8954	ValidationExceptionReasonFieldValidationFailed = "FieldValidationFailed"
8955
8956	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
8957	ValidationExceptionReasonOther = "Other"
8958)
8959
8960// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
8961func ValidationExceptionReason_Values() []string {
8962	return []string{
8963		ValidationExceptionReasonUnknownOperation,
8964		ValidationExceptionReasonCannotParse,
8965		ValidationExceptionReasonFieldValidationFailed,
8966		ValidationExceptionReasonOther,
8967	}
8968}
8969