1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package networkmanager
4
5import (
6	"time"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opAssociateCustomerGateway = "AssociateCustomerGateway"
16
17// AssociateCustomerGatewayRequest generates a "aws/request.Request" representing the
18// client's request for the AssociateCustomerGateway operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AssociateCustomerGateway for more information on using the AssociateCustomerGateway
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AssociateCustomerGatewayRequest method.
33//    req, resp := client.AssociateCustomerGatewayRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateCustomerGateway
41func (c *NetworkManager) AssociateCustomerGatewayRequest(input *AssociateCustomerGatewayInput) (req *request.Request, output *AssociateCustomerGatewayOutput) {
42	op := &request.Operation{
43		Name:       opAssociateCustomerGateway,
44		HTTPMethod: "POST",
45		HTTPPath:   "/global-networks/{globalNetworkId}/customer-gateway-associations",
46	}
47
48	if input == nil {
49		input = &AssociateCustomerGatewayInput{}
50	}
51
52	output = &AssociateCustomerGatewayOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// AssociateCustomerGateway API operation for AWS Network Manager.
58//
59// Associates a customer gateway with a device and optionally, with a link.
60// If you specify a link, it must be associated with the specified device.
61//
62// You can only associate customer gateways that are connected to a VPN attachment
63// on a transit gateway. The transit gateway must be registered in your global
64// network. When you register a transit gateway, customer gateways that are
65// connected to the transit gateway are automatically included in the global
66// network. To list customer gateways that are connected to a transit gateway,
67// use the DescribeVpnConnections (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html)
68// EC2 API and filter by transit-gateway-id.
69//
70// You cannot associate a customer gateway with more than one device and link.
71//
72// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
73// with awserr.Error's Code and Message methods to get detailed information about
74// the error.
75//
76// See the AWS API reference guide for AWS Network Manager's
77// API operation AssociateCustomerGateway for usage and error information.
78//
79// Returned Error Codes:
80//   * ErrCodeValidationException "ValidationException"
81//   The input fails to satisfy the constraints.
82//
83//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
84//   A service limit was exceeded.
85//
86//   * ErrCodeAccessDeniedException "AccessDeniedException"
87//   You do not have sufficient access to perform this action.
88//
89//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
90//   The specified resource could not be found.
91//
92//   * ErrCodeConflictException "ConflictException"
93//   There was a conflict processing the request. Updating or deleting the resource
94//   can cause an inconsistent state.
95//
96//   * ErrCodeThrottlingException "ThrottlingException"
97//   The request was denied due to request throttling.
98//
99//   * ErrCodeInternalServerException "InternalServerException"
100//   The request has failed due to an internal error.
101//
102// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateCustomerGateway
103func (c *NetworkManager) AssociateCustomerGateway(input *AssociateCustomerGatewayInput) (*AssociateCustomerGatewayOutput, error) {
104	req, out := c.AssociateCustomerGatewayRequest(input)
105	return out, req.Send()
106}
107
108// AssociateCustomerGatewayWithContext is the same as AssociateCustomerGateway with the addition of
109// the ability to pass a context and additional request options.
110//
111// See AssociateCustomerGateway for details on how to use this API operation.
112//
113// The context must be non-nil and will be used for request cancellation. If
114// the context is nil a panic will occur. In the future the SDK may create
115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
116// for more information on using Contexts.
117func (c *NetworkManager) AssociateCustomerGatewayWithContext(ctx aws.Context, input *AssociateCustomerGatewayInput, opts ...request.Option) (*AssociateCustomerGatewayOutput, error) {
118	req, out := c.AssociateCustomerGatewayRequest(input)
119	req.SetContext(ctx)
120	req.ApplyOptions(opts...)
121	return out, req.Send()
122}
123
124const opAssociateLink = "AssociateLink"
125
126// AssociateLinkRequest generates a "aws/request.Request" representing the
127// client's request for the AssociateLink operation. The "output" return
128// value will be populated with the request's response once the request completes
129// successfully.
130//
131// Use "Send" method on the returned Request to send the API call to the service.
132// the "output" return value is not valid until after Send returns without error.
133//
134// See AssociateLink for more information on using the AssociateLink
135// API call, and error handling.
136//
137// This method is useful when you want to inject custom logic or configuration
138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
139//
140//
141//    // Example sending a request using the AssociateLinkRequest method.
142//    req, resp := client.AssociateLinkRequest(params)
143//
144//    err := req.Send()
145//    if err == nil { // resp is now filled
146//        fmt.Println(resp)
147//    }
148//
149// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateLink
150func (c *NetworkManager) AssociateLinkRequest(input *AssociateLinkInput) (req *request.Request, output *AssociateLinkOutput) {
151	op := &request.Operation{
152		Name:       opAssociateLink,
153		HTTPMethod: "POST",
154		HTTPPath:   "/global-networks/{globalNetworkId}/link-associations",
155	}
156
157	if input == nil {
158		input = &AssociateLinkInput{}
159	}
160
161	output = &AssociateLinkOutput{}
162	req = c.newRequest(op, input, output)
163	return
164}
165
166// AssociateLink API operation for AWS Network Manager.
167//
168// Associates a link to a device. A device can be associated to multiple links
169// and a link can be associated to multiple devices. The device and link must
170// be in the same global network and the same site.
171//
172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
173// with awserr.Error's Code and Message methods to get detailed information about
174// the error.
175//
176// See the AWS API reference guide for AWS Network Manager's
177// API operation AssociateLink for usage and error information.
178//
179// Returned Error Codes:
180//   * ErrCodeValidationException "ValidationException"
181//   The input fails to satisfy the constraints.
182//
183//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
184//   A service limit was exceeded.
185//
186//   * ErrCodeAccessDeniedException "AccessDeniedException"
187//   You do not have sufficient access to perform this action.
188//
189//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
190//   The specified resource could not be found.
191//
192//   * ErrCodeConflictException "ConflictException"
193//   There was a conflict processing the request. Updating or deleting the resource
194//   can cause an inconsistent state.
195//
196//   * ErrCodeThrottlingException "ThrottlingException"
197//   The request was denied due to request throttling.
198//
199//   * ErrCodeInternalServerException "InternalServerException"
200//   The request has failed due to an internal error.
201//
202// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/AssociateLink
203func (c *NetworkManager) AssociateLink(input *AssociateLinkInput) (*AssociateLinkOutput, error) {
204	req, out := c.AssociateLinkRequest(input)
205	return out, req.Send()
206}
207
208// AssociateLinkWithContext is the same as AssociateLink with the addition of
209// the ability to pass a context and additional request options.
210//
211// See AssociateLink for details on how to use this API operation.
212//
213// The context must be non-nil and will be used for request cancellation. If
214// the context is nil a panic will occur. In the future the SDK may create
215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
216// for more information on using Contexts.
217func (c *NetworkManager) AssociateLinkWithContext(ctx aws.Context, input *AssociateLinkInput, opts ...request.Option) (*AssociateLinkOutput, error) {
218	req, out := c.AssociateLinkRequest(input)
219	req.SetContext(ctx)
220	req.ApplyOptions(opts...)
221	return out, req.Send()
222}
223
224const opCreateDevice = "CreateDevice"
225
226// CreateDeviceRequest generates a "aws/request.Request" representing the
227// client's request for the CreateDevice operation. The "output" return
228// value will be populated with the request's response once the request completes
229// successfully.
230//
231// Use "Send" method on the returned Request to send the API call to the service.
232// the "output" return value is not valid until after Send returns without error.
233//
234// See CreateDevice for more information on using the CreateDevice
235// API call, and error handling.
236//
237// This method is useful when you want to inject custom logic or configuration
238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
239//
240//
241//    // Example sending a request using the CreateDeviceRequest method.
242//    req, resp := client.CreateDeviceRequest(params)
243//
244//    err := req.Send()
245//    if err == nil { // resp is now filled
246//        fmt.Println(resp)
247//    }
248//
249// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateDevice
250func (c *NetworkManager) CreateDeviceRequest(input *CreateDeviceInput) (req *request.Request, output *CreateDeviceOutput) {
251	op := &request.Operation{
252		Name:       opCreateDevice,
253		HTTPMethod: "POST",
254		HTTPPath:   "/global-networks/{globalNetworkId}/devices",
255	}
256
257	if input == nil {
258		input = &CreateDeviceInput{}
259	}
260
261	output = &CreateDeviceOutput{}
262	req = c.newRequest(op, input, output)
263	return
264}
265
266// CreateDevice API operation for AWS Network Manager.
267//
268// Creates a new device in a global network. If you specify both a site ID and
269// a location, the location of the site is used for visualization in the Network
270// Manager console.
271//
272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
273// with awserr.Error's Code and Message methods to get detailed information about
274// the error.
275//
276// See the AWS API reference guide for AWS Network Manager's
277// API operation CreateDevice for usage and error information.
278//
279// Returned Error Codes:
280//   * ErrCodeValidationException "ValidationException"
281//   The input fails to satisfy the constraints.
282//
283//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
284//   A service limit was exceeded.
285//
286//   * ErrCodeAccessDeniedException "AccessDeniedException"
287//   You do not have sufficient access to perform this action.
288//
289//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
290//   The specified resource could not be found.
291//
292//   * ErrCodeConflictException "ConflictException"
293//   There was a conflict processing the request. Updating or deleting the resource
294//   can cause an inconsistent state.
295//
296//   * ErrCodeThrottlingException "ThrottlingException"
297//   The request was denied due to request throttling.
298//
299//   * ErrCodeInternalServerException "InternalServerException"
300//   The request has failed due to an internal error.
301//
302// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateDevice
303func (c *NetworkManager) CreateDevice(input *CreateDeviceInput) (*CreateDeviceOutput, error) {
304	req, out := c.CreateDeviceRequest(input)
305	return out, req.Send()
306}
307
308// CreateDeviceWithContext is the same as CreateDevice with the addition of
309// the ability to pass a context and additional request options.
310//
311// See CreateDevice for details on how to use this API operation.
312//
313// The context must be non-nil and will be used for request cancellation. If
314// the context is nil a panic will occur. In the future the SDK may create
315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
316// for more information on using Contexts.
317func (c *NetworkManager) CreateDeviceWithContext(ctx aws.Context, input *CreateDeviceInput, opts ...request.Option) (*CreateDeviceOutput, error) {
318	req, out := c.CreateDeviceRequest(input)
319	req.SetContext(ctx)
320	req.ApplyOptions(opts...)
321	return out, req.Send()
322}
323
324const opCreateGlobalNetwork = "CreateGlobalNetwork"
325
326// CreateGlobalNetworkRequest generates a "aws/request.Request" representing the
327// client's request for the CreateGlobalNetwork operation. The "output" return
328// value will be populated with the request's response once the request completes
329// successfully.
330//
331// Use "Send" method on the returned Request to send the API call to the service.
332// the "output" return value is not valid until after Send returns without error.
333//
334// See CreateGlobalNetwork for more information on using the CreateGlobalNetwork
335// API call, and error handling.
336//
337// This method is useful when you want to inject custom logic or configuration
338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
339//
340//
341//    // Example sending a request using the CreateGlobalNetworkRequest method.
342//    req, resp := client.CreateGlobalNetworkRequest(params)
343//
344//    err := req.Send()
345//    if err == nil { // resp is now filled
346//        fmt.Println(resp)
347//    }
348//
349// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateGlobalNetwork
350func (c *NetworkManager) CreateGlobalNetworkRequest(input *CreateGlobalNetworkInput) (req *request.Request, output *CreateGlobalNetworkOutput) {
351	op := &request.Operation{
352		Name:       opCreateGlobalNetwork,
353		HTTPMethod: "POST",
354		HTTPPath:   "/global-networks",
355	}
356
357	if input == nil {
358		input = &CreateGlobalNetworkInput{}
359	}
360
361	output = &CreateGlobalNetworkOutput{}
362	req = c.newRequest(op, input, output)
363	return
364}
365
366// CreateGlobalNetwork API operation for AWS Network Manager.
367//
368// Creates a new, empty global network.
369//
370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
371// with awserr.Error's Code and Message methods to get detailed information about
372// the error.
373//
374// See the AWS API reference guide for AWS Network Manager's
375// API operation CreateGlobalNetwork for usage and error information.
376//
377// Returned Error Codes:
378//   * ErrCodeValidationException "ValidationException"
379//   The input fails to satisfy the constraints.
380//
381//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
382//   A service limit was exceeded.
383//
384//   * ErrCodeAccessDeniedException "AccessDeniedException"
385//   You do not have sufficient access to perform this action.
386//
387//   * ErrCodeConflictException "ConflictException"
388//   There was a conflict processing the request. Updating or deleting the resource
389//   can cause an inconsistent state.
390//
391//   * ErrCodeThrottlingException "ThrottlingException"
392//   The request was denied due to request throttling.
393//
394//   * ErrCodeInternalServerException "InternalServerException"
395//   The request has failed due to an internal error.
396//
397// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateGlobalNetwork
398func (c *NetworkManager) CreateGlobalNetwork(input *CreateGlobalNetworkInput) (*CreateGlobalNetworkOutput, error) {
399	req, out := c.CreateGlobalNetworkRequest(input)
400	return out, req.Send()
401}
402
403// CreateGlobalNetworkWithContext is the same as CreateGlobalNetwork with the addition of
404// the ability to pass a context and additional request options.
405//
406// See CreateGlobalNetwork for details on how to use this API operation.
407//
408// The context must be non-nil and will be used for request cancellation. If
409// the context is nil a panic will occur. In the future the SDK may create
410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
411// for more information on using Contexts.
412func (c *NetworkManager) CreateGlobalNetworkWithContext(ctx aws.Context, input *CreateGlobalNetworkInput, opts ...request.Option) (*CreateGlobalNetworkOutput, error) {
413	req, out := c.CreateGlobalNetworkRequest(input)
414	req.SetContext(ctx)
415	req.ApplyOptions(opts...)
416	return out, req.Send()
417}
418
419const opCreateLink = "CreateLink"
420
421// CreateLinkRequest generates a "aws/request.Request" representing the
422// client's request for the CreateLink operation. The "output" return
423// value will be populated with the request's response once the request completes
424// successfully.
425//
426// Use "Send" method on the returned Request to send the API call to the service.
427// the "output" return value is not valid until after Send returns without error.
428//
429// See CreateLink for more information on using the CreateLink
430// API call, and error handling.
431//
432// This method is useful when you want to inject custom logic or configuration
433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
434//
435//
436//    // Example sending a request using the CreateLinkRequest method.
437//    req, resp := client.CreateLinkRequest(params)
438//
439//    err := req.Send()
440//    if err == nil { // resp is now filled
441//        fmt.Println(resp)
442//    }
443//
444// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateLink
445func (c *NetworkManager) CreateLinkRequest(input *CreateLinkInput) (req *request.Request, output *CreateLinkOutput) {
446	op := &request.Operation{
447		Name:       opCreateLink,
448		HTTPMethod: "POST",
449		HTTPPath:   "/global-networks/{globalNetworkId}/links",
450	}
451
452	if input == nil {
453		input = &CreateLinkInput{}
454	}
455
456	output = &CreateLinkOutput{}
457	req = c.newRequest(op, input, output)
458	return
459}
460
461// CreateLink API operation for AWS Network Manager.
462//
463// Creates a new link for a specified site.
464//
465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
466// with awserr.Error's Code and Message methods to get detailed information about
467// the error.
468//
469// See the AWS API reference guide for AWS Network Manager's
470// API operation CreateLink for usage and error information.
471//
472// Returned Error Codes:
473//   * ErrCodeValidationException "ValidationException"
474//   The input fails to satisfy the constraints.
475//
476//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
477//   A service limit was exceeded.
478//
479//   * ErrCodeAccessDeniedException "AccessDeniedException"
480//   You do not have sufficient access to perform this action.
481//
482//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
483//   The specified resource could not be found.
484//
485//   * ErrCodeConflictException "ConflictException"
486//   There was a conflict processing the request. Updating or deleting the resource
487//   can cause an inconsistent state.
488//
489//   * ErrCodeThrottlingException "ThrottlingException"
490//   The request was denied due to request throttling.
491//
492//   * ErrCodeInternalServerException "InternalServerException"
493//   The request has failed due to an internal error.
494//
495// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateLink
496func (c *NetworkManager) CreateLink(input *CreateLinkInput) (*CreateLinkOutput, error) {
497	req, out := c.CreateLinkRequest(input)
498	return out, req.Send()
499}
500
501// CreateLinkWithContext is the same as CreateLink with the addition of
502// the ability to pass a context and additional request options.
503//
504// See CreateLink for details on how to use this API operation.
505//
506// The context must be non-nil and will be used for request cancellation. If
507// the context is nil a panic will occur. In the future the SDK may create
508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
509// for more information on using Contexts.
510func (c *NetworkManager) CreateLinkWithContext(ctx aws.Context, input *CreateLinkInput, opts ...request.Option) (*CreateLinkOutput, error) {
511	req, out := c.CreateLinkRequest(input)
512	req.SetContext(ctx)
513	req.ApplyOptions(opts...)
514	return out, req.Send()
515}
516
517const opCreateSite = "CreateSite"
518
519// CreateSiteRequest generates a "aws/request.Request" representing the
520// client's request for the CreateSite operation. The "output" return
521// value will be populated with the request's response once the request completes
522// successfully.
523//
524// Use "Send" method on the returned Request to send the API call to the service.
525// the "output" return value is not valid until after Send returns without error.
526//
527// See CreateSite for more information on using the CreateSite
528// API call, and error handling.
529//
530// This method is useful when you want to inject custom logic or configuration
531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
532//
533//
534//    // Example sending a request using the CreateSiteRequest method.
535//    req, resp := client.CreateSiteRequest(params)
536//
537//    err := req.Send()
538//    if err == nil { // resp is now filled
539//        fmt.Println(resp)
540//    }
541//
542// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateSite
543func (c *NetworkManager) CreateSiteRequest(input *CreateSiteInput) (req *request.Request, output *CreateSiteOutput) {
544	op := &request.Operation{
545		Name:       opCreateSite,
546		HTTPMethod: "POST",
547		HTTPPath:   "/global-networks/{globalNetworkId}/sites",
548	}
549
550	if input == nil {
551		input = &CreateSiteInput{}
552	}
553
554	output = &CreateSiteOutput{}
555	req = c.newRequest(op, input, output)
556	return
557}
558
559// CreateSite API operation for AWS Network Manager.
560//
561// Creates a new site in a global network.
562//
563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
564// with awserr.Error's Code and Message methods to get detailed information about
565// the error.
566//
567// See the AWS API reference guide for AWS Network Manager's
568// API operation CreateSite for usage and error information.
569//
570// Returned Error Codes:
571//   * ErrCodeValidationException "ValidationException"
572//   The input fails to satisfy the constraints.
573//
574//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
575//   A service limit was exceeded.
576//
577//   * ErrCodeAccessDeniedException "AccessDeniedException"
578//   You do not have sufficient access to perform this action.
579//
580//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
581//   The specified resource could not be found.
582//
583//   * ErrCodeConflictException "ConflictException"
584//   There was a conflict processing the request. Updating or deleting the resource
585//   can cause an inconsistent state.
586//
587//   * ErrCodeThrottlingException "ThrottlingException"
588//   The request was denied due to request throttling.
589//
590//   * ErrCodeInternalServerException "InternalServerException"
591//   The request has failed due to an internal error.
592//
593// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CreateSite
594func (c *NetworkManager) CreateSite(input *CreateSiteInput) (*CreateSiteOutput, error) {
595	req, out := c.CreateSiteRequest(input)
596	return out, req.Send()
597}
598
599// CreateSiteWithContext is the same as CreateSite with the addition of
600// the ability to pass a context and additional request options.
601//
602// See CreateSite for details on how to use this API operation.
603//
604// The context must be non-nil and will be used for request cancellation. If
605// the context is nil a panic will occur. In the future the SDK may create
606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
607// for more information on using Contexts.
608func (c *NetworkManager) CreateSiteWithContext(ctx aws.Context, input *CreateSiteInput, opts ...request.Option) (*CreateSiteOutput, error) {
609	req, out := c.CreateSiteRequest(input)
610	req.SetContext(ctx)
611	req.ApplyOptions(opts...)
612	return out, req.Send()
613}
614
615const opDeleteDevice = "DeleteDevice"
616
617// DeleteDeviceRequest generates a "aws/request.Request" representing the
618// client's request for the DeleteDevice operation. The "output" return
619// value will be populated with the request's response once the request completes
620// successfully.
621//
622// Use "Send" method on the returned Request to send the API call to the service.
623// the "output" return value is not valid until after Send returns without error.
624//
625// See DeleteDevice for more information on using the DeleteDevice
626// API call, and error handling.
627//
628// This method is useful when you want to inject custom logic or configuration
629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
630//
631//
632//    // Example sending a request using the DeleteDeviceRequest method.
633//    req, resp := client.DeleteDeviceRequest(params)
634//
635//    err := req.Send()
636//    if err == nil { // resp is now filled
637//        fmt.Println(resp)
638//    }
639//
640// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteDevice
641func (c *NetworkManager) DeleteDeviceRequest(input *DeleteDeviceInput) (req *request.Request, output *DeleteDeviceOutput) {
642	op := &request.Operation{
643		Name:       opDeleteDevice,
644		HTTPMethod: "DELETE",
645		HTTPPath:   "/global-networks/{globalNetworkId}/devices/{deviceId}",
646	}
647
648	if input == nil {
649		input = &DeleteDeviceInput{}
650	}
651
652	output = &DeleteDeviceOutput{}
653	req = c.newRequest(op, input, output)
654	return
655}
656
657// DeleteDevice API operation for AWS Network Manager.
658//
659// Deletes an existing device. You must first disassociate the device from any
660// links and customer gateways.
661//
662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
663// with awserr.Error's Code and Message methods to get detailed information about
664// the error.
665//
666// See the AWS API reference guide for AWS Network Manager's
667// API operation DeleteDevice for usage and error information.
668//
669// Returned Error Codes:
670//   * ErrCodeValidationException "ValidationException"
671//   The input fails to satisfy the constraints.
672//
673//   * ErrCodeAccessDeniedException "AccessDeniedException"
674//   You do not have sufficient access to perform this action.
675//
676//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
677//   The specified resource could not be found.
678//
679//   * ErrCodeConflictException "ConflictException"
680//   There was a conflict processing the request. Updating or deleting the resource
681//   can cause an inconsistent state.
682//
683//   * ErrCodeThrottlingException "ThrottlingException"
684//   The request was denied due to request throttling.
685//
686//   * ErrCodeInternalServerException "InternalServerException"
687//   The request has failed due to an internal error.
688//
689// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteDevice
690func (c *NetworkManager) DeleteDevice(input *DeleteDeviceInput) (*DeleteDeviceOutput, error) {
691	req, out := c.DeleteDeviceRequest(input)
692	return out, req.Send()
693}
694
695// DeleteDeviceWithContext is the same as DeleteDevice with the addition of
696// the ability to pass a context and additional request options.
697//
698// See DeleteDevice for details on how to use this API operation.
699//
700// The context must be non-nil and will be used for request cancellation. If
701// the context is nil a panic will occur. In the future the SDK may create
702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
703// for more information on using Contexts.
704func (c *NetworkManager) DeleteDeviceWithContext(ctx aws.Context, input *DeleteDeviceInput, opts ...request.Option) (*DeleteDeviceOutput, error) {
705	req, out := c.DeleteDeviceRequest(input)
706	req.SetContext(ctx)
707	req.ApplyOptions(opts...)
708	return out, req.Send()
709}
710
711const opDeleteGlobalNetwork = "DeleteGlobalNetwork"
712
713// DeleteGlobalNetworkRequest generates a "aws/request.Request" representing the
714// client's request for the DeleteGlobalNetwork operation. The "output" return
715// value will be populated with the request's response once the request completes
716// successfully.
717//
718// Use "Send" method on the returned Request to send the API call to the service.
719// the "output" return value is not valid until after Send returns without error.
720//
721// See DeleteGlobalNetwork for more information on using the DeleteGlobalNetwork
722// API call, and error handling.
723//
724// This method is useful when you want to inject custom logic or configuration
725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
726//
727//
728//    // Example sending a request using the DeleteGlobalNetworkRequest method.
729//    req, resp := client.DeleteGlobalNetworkRequest(params)
730//
731//    err := req.Send()
732//    if err == nil { // resp is now filled
733//        fmt.Println(resp)
734//    }
735//
736// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteGlobalNetwork
737func (c *NetworkManager) DeleteGlobalNetworkRequest(input *DeleteGlobalNetworkInput) (req *request.Request, output *DeleteGlobalNetworkOutput) {
738	op := &request.Operation{
739		Name:       opDeleteGlobalNetwork,
740		HTTPMethod: "DELETE",
741		HTTPPath:   "/global-networks/{globalNetworkId}",
742	}
743
744	if input == nil {
745		input = &DeleteGlobalNetworkInput{}
746	}
747
748	output = &DeleteGlobalNetworkOutput{}
749	req = c.newRequest(op, input, output)
750	return
751}
752
753// DeleteGlobalNetwork API operation for AWS Network Manager.
754//
755// Deletes an existing global network. You must first delete all global network
756// objects (devices, links, and sites) and deregister all transit gateways.
757//
758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
759// with awserr.Error's Code and Message methods to get detailed information about
760// the error.
761//
762// See the AWS API reference guide for AWS Network Manager's
763// API operation DeleteGlobalNetwork for usage and error information.
764//
765// Returned Error Codes:
766//   * ErrCodeValidationException "ValidationException"
767//   The input fails to satisfy the constraints.
768//
769//   * ErrCodeAccessDeniedException "AccessDeniedException"
770//   You do not have sufficient access to perform this action.
771//
772//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
773//   The specified resource could not be found.
774//
775//   * ErrCodeConflictException "ConflictException"
776//   There was a conflict processing the request. Updating or deleting the resource
777//   can cause an inconsistent state.
778//
779//   * ErrCodeThrottlingException "ThrottlingException"
780//   The request was denied due to request throttling.
781//
782//   * ErrCodeInternalServerException "InternalServerException"
783//   The request has failed due to an internal error.
784//
785// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteGlobalNetwork
786func (c *NetworkManager) DeleteGlobalNetwork(input *DeleteGlobalNetworkInput) (*DeleteGlobalNetworkOutput, error) {
787	req, out := c.DeleteGlobalNetworkRequest(input)
788	return out, req.Send()
789}
790
791// DeleteGlobalNetworkWithContext is the same as DeleteGlobalNetwork with the addition of
792// the ability to pass a context and additional request options.
793//
794// See DeleteGlobalNetwork for details on how to use this API operation.
795//
796// The context must be non-nil and will be used for request cancellation. If
797// the context is nil a panic will occur. In the future the SDK may create
798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
799// for more information on using Contexts.
800func (c *NetworkManager) DeleteGlobalNetworkWithContext(ctx aws.Context, input *DeleteGlobalNetworkInput, opts ...request.Option) (*DeleteGlobalNetworkOutput, error) {
801	req, out := c.DeleteGlobalNetworkRequest(input)
802	req.SetContext(ctx)
803	req.ApplyOptions(opts...)
804	return out, req.Send()
805}
806
807const opDeleteLink = "DeleteLink"
808
809// DeleteLinkRequest generates a "aws/request.Request" representing the
810// client's request for the DeleteLink operation. The "output" return
811// value will be populated with the request's response once the request completes
812// successfully.
813//
814// Use "Send" method on the returned Request to send the API call to the service.
815// the "output" return value is not valid until after Send returns without error.
816//
817// See DeleteLink for more information on using the DeleteLink
818// API call, and error handling.
819//
820// This method is useful when you want to inject custom logic or configuration
821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
822//
823//
824//    // Example sending a request using the DeleteLinkRequest method.
825//    req, resp := client.DeleteLinkRequest(params)
826//
827//    err := req.Send()
828//    if err == nil { // resp is now filled
829//        fmt.Println(resp)
830//    }
831//
832// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteLink
833func (c *NetworkManager) DeleteLinkRequest(input *DeleteLinkInput) (req *request.Request, output *DeleteLinkOutput) {
834	op := &request.Operation{
835		Name:       opDeleteLink,
836		HTTPMethod: "DELETE",
837		HTTPPath:   "/global-networks/{globalNetworkId}/links/{linkId}",
838	}
839
840	if input == nil {
841		input = &DeleteLinkInput{}
842	}
843
844	output = &DeleteLinkOutput{}
845	req = c.newRequest(op, input, output)
846	return
847}
848
849// DeleteLink API operation for AWS Network Manager.
850//
851// Deletes an existing link. You must first disassociate the link from any devices
852// and customer gateways.
853//
854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
855// with awserr.Error's Code and Message methods to get detailed information about
856// the error.
857//
858// See the AWS API reference guide for AWS Network Manager's
859// API operation DeleteLink for usage and error information.
860//
861// Returned Error Codes:
862//   * ErrCodeValidationException "ValidationException"
863//   The input fails to satisfy the constraints.
864//
865//   * ErrCodeAccessDeniedException "AccessDeniedException"
866//   You do not have sufficient access to perform this action.
867//
868//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
869//   The specified resource could not be found.
870//
871//   * ErrCodeConflictException "ConflictException"
872//   There was a conflict processing the request. Updating or deleting the resource
873//   can cause an inconsistent state.
874//
875//   * ErrCodeThrottlingException "ThrottlingException"
876//   The request was denied due to request throttling.
877//
878//   * ErrCodeInternalServerException "InternalServerException"
879//   The request has failed due to an internal error.
880//
881// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteLink
882func (c *NetworkManager) DeleteLink(input *DeleteLinkInput) (*DeleteLinkOutput, error) {
883	req, out := c.DeleteLinkRequest(input)
884	return out, req.Send()
885}
886
887// DeleteLinkWithContext is the same as DeleteLink with the addition of
888// the ability to pass a context and additional request options.
889//
890// See DeleteLink for details on how to use this API operation.
891//
892// The context must be non-nil and will be used for request cancellation. If
893// the context is nil a panic will occur. In the future the SDK may create
894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
895// for more information on using Contexts.
896func (c *NetworkManager) DeleteLinkWithContext(ctx aws.Context, input *DeleteLinkInput, opts ...request.Option) (*DeleteLinkOutput, error) {
897	req, out := c.DeleteLinkRequest(input)
898	req.SetContext(ctx)
899	req.ApplyOptions(opts...)
900	return out, req.Send()
901}
902
903const opDeleteSite = "DeleteSite"
904
905// DeleteSiteRequest generates a "aws/request.Request" representing the
906// client's request for the DeleteSite operation. The "output" return
907// value will be populated with the request's response once the request completes
908// successfully.
909//
910// Use "Send" method on the returned Request to send the API call to the service.
911// the "output" return value is not valid until after Send returns without error.
912//
913// See DeleteSite for more information on using the DeleteSite
914// API call, and error handling.
915//
916// This method is useful when you want to inject custom logic or configuration
917// into the SDK's request lifecycle. Such as custom headers, or retry logic.
918//
919//
920//    // Example sending a request using the DeleteSiteRequest method.
921//    req, resp := client.DeleteSiteRequest(params)
922//
923//    err := req.Send()
924//    if err == nil { // resp is now filled
925//        fmt.Println(resp)
926//    }
927//
928// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteSite
929func (c *NetworkManager) DeleteSiteRequest(input *DeleteSiteInput) (req *request.Request, output *DeleteSiteOutput) {
930	op := &request.Operation{
931		Name:       opDeleteSite,
932		HTTPMethod: "DELETE",
933		HTTPPath:   "/global-networks/{globalNetworkId}/sites/{siteId}",
934	}
935
936	if input == nil {
937		input = &DeleteSiteInput{}
938	}
939
940	output = &DeleteSiteOutput{}
941	req = c.newRequest(op, input, output)
942	return
943}
944
945// DeleteSite API operation for AWS Network Manager.
946//
947// Deletes an existing site. The site cannot be associated with any device or
948// link.
949//
950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
951// with awserr.Error's Code and Message methods to get detailed information about
952// the error.
953//
954// See the AWS API reference guide for AWS Network Manager's
955// API operation DeleteSite for usage and error information.
956//
957// Returned Error Codes:
958//   * ErrCodeValidationException "ValidationException"
959//   The input fails to satisfy the constraints.
960//
961//   * ErrCodeAccessDeniedException "AccessDeniedException"
962//   You do not have sufficient access to perform this action.
963//
964//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
965//   The specified resource could not be found.
966//
967//   * ErrCodeConflictException "ConflictException"
968//   There was a conflict processing the request. Updating or deleting the resource
969//   can cause an inconsistent state.
970//
971//   * ErrCodeThrottlingException "ThrottlingException"
972//   The request was denied due to request throttling.
973//
974//   * ErrCodeInternalServerException "InternalServerException"
975//   The request has failed due to an internal error.
976//
977// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeleteSite
978func (c *NetworkManager) DeleteSite(input *DeleteSiteInput) (*DeleteSiteOutput, error) {
979	req, out := c.DeleteSiteRequest(input)
980	return out, req.Send()
981}
982
983// DeleteSiteWithContext is the same as DeleteSite with the addition of
984// the ability to pass a context and additional request options.
985//
986// See DeleteSite for details on how to use this API operation.
987//
988// The context must be non-nil and will be used for request cancellation. If
989// the context is nil a panic will occur. In the future the SDK may create
990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
991// for more information on using Contexts.
992func (c *NetworkManager) DeleteSiteWithContext(ctx aws.Context, input *DeleteSiteInput, opts ...request.Option) (*DeleteSiteOutput, error) {
993	req, out := c.DeleteSiteRequest(input)
994	req.SetContext(ctx)
995	req.ApplyOptions(opts...)
996	return out, req.Send()
997}
998
999const opDeregisterTransitGateway = "DeregisterTransitGateway"
1000
1001// DeregisterTransitGatewayRequest generates a "aws/request.Request" representing the
1002// client's request for the DeregisterTransitGateway operation. The "output" return
1003// value will be populated with the request's response once the request completes
1004// successfully.
1005//
1006// Use "Send" method on the returned Request to send the API call to the service.
1007// the "output" return value is not valid until after Send returns without error.
1008//
1009// See DeregisterTransitGateway for more information on using the DeregisterTransitGateway
1010// API call, and error handling.
1011//
1012// This method is useful when you want to inject custom logic or configuration
1013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1014//
1015//
1016//    // Example sending a request using the DeregisterTransitGatewayRequest method.
1017//    req, resp := client.DeregisterTransitGatewayRequest(params)
1018//
1019//    err := req.Send()
1020//    if err == nil { // resp is now filled
1021//        fmt.Println(resp)
1022//    }
1023//
1024// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeregisterTransitGateway
1025func (c *NetworkManager) DeregisterTransitGatewayRequest(input *DeregisterTransitGatewayInput) (req *request.Request, output *DeregisterTransitGatewayOutput) {
1026	op := &request.Operation{
1027		Name:       opDeregisterTransitGateway,
1028		HTTPMethod: "DELETE",
1029		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-registrations/{transitGatewayArn}",
1030	}
1031
1032	if input == nil {
1033		input = &DeregisterTransitGatewayInput{}
1034	}
1035
1036	output = &DeregisterTransitGatewayOutput{}
1037	req = c.newRequest(op, input, output)
1038	return
1039}
1040
1041// DeregisterTransitGateway API operation for AWS Network Manager.
1042//
1043// Deregisters a transit gateway from your global network. This action does
1044// not delete your transit gateway, or modify any of its attachments. This action
1045// removes any customer gateway associations.
1046//
1047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1048// with awserr.Error's Code and Message methods to get detailed information about
1049// the error.
1050//
1051// See the AWS API reference guide for AWS Network Manager's
1052// API operation DeregisterTransitGateway for usage and error information.
1053//
1054// Returned Error Codes:
1055//   * ErrCodeValidationException "ValidationException"
1056//   The input fails to satisfy the constraints.
1057//
1058//   * ErrCodeAccessDeniedException "AccessDeniedException"
1059//   You do not have sufficient access to perform this action.
1060//
1061//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1062//   The specified resource could not be found.
1063//
1064//   * ErrCodeConflictException "ConflictException"
1065//   There was a conflict processing the request. Updating or deleting the resource
1066//   can cause an inconsistent state.
1067//
1068//   * ErrCodeThrottlingException "ThrottlingException"
1069//   The request was denied due to request throttling.
1070//
1071//   * ErrCodeInternalServerException "InternalServerException"
1072//   The request has failed due to an internal error.
1073//
1074// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DeregisterTransitGateway
1075func (c *NetworkManager) DeregisterTransitGateway(input *DeregisterTransitGatewayInput) (*DeregisterTransitGatewayOutput, error) {
1076	req, out := c.DeregisterTransitGatewayRequest(input)
1077	return out, req.Send()
1078}
1079
1080// DeregisterTransitGatewayWithContext is the same as DeregisterTransitGateway with the addition of
1081// the ability to pass a context and additional request options.
1082//
1083// See DeregisterTransitGateway for details on how to use this API operation.
1084//
1085// The context must be non-nil and will be used for request cancellation. If
1086// the context is nil a panic will occur. In the future the SDK may create
1087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1088// for more information on using Contexts.
1089func (c *NetworkManager) DeregisterTransitGatewayWithContext(ctx aws.Context, input *DeregisterTransitGatewayInput, opts ...request.Option) (*DeregisterTransitGatewayOutput, error) {
1090	req, out := c.DeregisterTransitGatewayRequest(input)
1091	req.SetContext(ctx)
1092	req.ApplyOptions(opts...)
1093	return out, req.Send()
1094}
1095
1096const opDescribeGlobalNetworks = "DescribeGlobalNetworks"
1097
1098// DescribeGlobalNetworksRequest generates a "aws/request.Request" representing the
1099// client's request for the DescribeGlobalNetworks operation. The "output" return
1100// value will be populated with the request's response once the request completes
1101// successfully.
1102//
1103// Use "Send" method on the returned Request to send the API call to the service.
1104// the "output" return value is not valid until after Send returns without error.
1105//
1106// See DescribeGlobalNetworks for more information on using the DescribeGlobalNetworks
1107// API call, and error handling.
1108//
1109// This method is useful when you want to inject custom logic or configuration
1110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1111//
1112//
1113//    // Example sending a request using the DescribeGlobalNetworksRequest method.
1114//    req, resp := client.DescribeGlobalNetworksRequest(params)
1115//
1116//    err := req.Send()
1117//    if err == nil { // resp is now filled
1118//        fmt.Println(resp)
1119//    }
1120//
1121// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DescribeGlobalNetworks
1122func (c *NetworkManager) DescribeGlobalNetworksRequest(input *DescribeGlobalNetworksInput) (req *request.Request, output *DescribeGlobalNetworksOutput) {
1123	op := &request.Operation{
1124		Name:       opDescribeGlobalNetworks,
1125		HTTPMethod: "GET",
1126		HTTPPath:   "/global-networks",
1127		Paginator: &request.Paginator{
1128			InputTokens:     []string{"NextToken"},
1129			OutputTokens:    []string{"NextToken"},
1130			LimitToken:      "MaxResults",
1131			TruncationToken: "",
1132		},
1133	}
1134
1135	if input == nil {
1136		input = &DescribeGlobalNetworksInput{}
1137	}
1138
1139	output = &DescribeGlobalNetworksOutput{}
1140	req = c.newRequest(op, input, output)
1141	return
1142}
1143
1144// DescribeGlobalNetworks API operation for AWS Network Manager.
1145//
1146// Describes one or more global networks. By default, all global networks are
1147// described. To describe the objects in your global network, you must use the
1148// appropriate Get* action. For example, to list the transit gateways in your
1149// global network, use GetTransitGatewayRegistrations.
1150//
1151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1152// with awserr.Error's Code and Message methods to get detailed information about
1153// the error.
1154//
1155// See the AWS API reference guide for AWS Network Manager's
1156// API operation DescribeGlobalNetworks for usage and error information.
1157//
1158// Returned Error Codes:
1159//   * ErrCodeValidationException "ValidationException"
1160//   The input fails to satisfy the constraints.
1161//
1162//   * ErrCodeAccessDeniedException "AccessDeniedException"
1163//   You do not have sufficient access to perform this action.
1164//
1165//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1166//   The specified resource could not be found.
1167//
1168//   * ErrCodeThrottlingException "ThrottlingException"
1169//   The request was denied due to request throttling.
1170//
1171//   * ErrCodeInternalServerException "InternalServerException"
1172//   The request has failed due to an internal error.
1173//
1174// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DescribeGlobalNetworks
1175func (c *NetworkManager) DescribeGlobalNetworks(input *DescribeGlobalNetworksInput) (*DescribeGlobalNetworksOutput, error) {
1176	req, out := c.DescribeGlobalNetworksRequest(input)
1177	return out, req.Send()
1178}
1179
1180// DescribeGlobalNetworksWithContext is the same as DescribeGlobalNetworks with the addition of
1181// the ability to pass a context and additional request options.
1182//
1183// See DescribeGlobalNetworks for details on how to use this API operation.
1184//
1185// The context must be non-nil and will be used for request cancellation. If
1186// the context is nil a panic will occur. In the future the SDK may create
1187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1188// for more information on using Contexts.
1189func (c *NetworkManager) DescribeGlobalNetworksWithContext(ctx aws.Context, input *DescribeGlobalNetworksInput, opts ...request.Option) (*DescribeGlobalNetworksOutput, error) {
1190	req, out := c.DescribeGlobalNetworksRequest(input)
1191	req.SetContext(ctx)
1192	req.ApplyOptions(opts...)
1193	return out, req.Send()
1194}
1195
1196// DescribeGlobalNetworksPages iterates over the pages of a DescribeGlobalNetworks operation,
1197// calling the "fn" function with the response data for each page. To stop
1198// iterating, return false from the fn function.
1199//
1200// See DescribeGlobalNetworks method for more information on how to use this operation.
1201//
1202// Note: This operation can generate multiple requests to a service.
1203//
1204//    // Example iterating over at most 3 pages of a DescribeGlobalNetworks operation.
1205//    pageNum := 0
1206//    err := client.DescribeGlobalNetworksPages(params,
1207//        func(page *networkmanager.DescribeGlobalNetworksOutput, lastPage bool) bool {
1208//            pageNum++
1209//            fmt.Println(page)
1210//            return pageNum <= 3
1211//        })
1212//
1213func (c *NetworkManager) DescribeGlobalNetworksPages(input *DescribeGlobalNetworksInput, fn func(*DescribeGlobalNetworksOutput, bool) bool) error {
1214	return c.DescribeGlobalNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
1215}
1216
1217// DescribeGlobalNetworksPagesWithContext same as DescribeGlobalNetworksPages except
1218// it takes a Context and allows setting request options on the pages.
1219//
1220// The context must be non-nil and will be used for request cancellation. If
1221// the context is nil a panic will occur. In the future the SDK may create
1222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1223// for more information on using Contexts.
1224func (c *NetworkManager) DescribeGlobalNetworksPagesWithContext(ctx aws.Context, input *DescribeGlobalNetworksInput, fn func(*DescribeGlobalNetworksOutput, bool) bool, opts ...request.Option) error {
1225	p := request.Pagination{
1226		NewRequest: func() (*request.Request, error) {
1227			var inCpy *DescribeGlobalNetworksInput
1228			if input != nil {
1229				tmp := *input
1230				inCpy = &tmp
1231			}
1232			req, _ := c.DescribeGlobalNetworksRequest(inCpy)
1233			req.SetContext(ctx)
1234			req.ApplyOptions(opts...)
1235			return req, nil
1236		},
1237	}
1238
1239	for p.Next() {
1240		if !fn(p.Page().(*DescribeGlobalNetworksOutput), !p.HasNextPage()) {
1241			break
1242		}
1243	}
1244
1245	return p.Err()
1246}
1247
1248const opDisassociateCustomerGateway = "DisassociateCustomerGateway"
1249
1250// DisassociateCustomerGatewayRequest generates a "aws/request.Request" representing the
1251// client's request for the DisassociateCustomerGateway operation. The "output" return
1252// value will be populated with the request's response once the request completes
1253// successfully.
1254//
1255// Use "Send" method on the returned Request to send the API call to the service.
1256// the "output" return value is not valid until after Send returns without error.
1257//
1258// See DisassociateCustomerGateway for more information on using the DisassociateCustomerGateway
1259// API call, and error handling.
1260//
1261// This method is useful when you want to inject custom logic or configuration
1262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1263//
1264//
1265//    // Example sending a request using the DisassociateCustomerGatewayRequest method.
1266//    req, resp := client.DisassociateCustomerGatewayRequest(params)
1267//
1268//    err := req.Send()
1269//    if err == nil { // resp is now filled
1270//        fmt.Println(resp)
1271//    }
1272//
1273// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateCustomerGateway
1274func (c *NetworkManager) DisassociateCustomerGatewayRequest(input *DisassociateCustomerGatewayInput) (req *request.Request, output *DisassociateCustomerGatewayOutput) {
1275	op := &request.Operation{
1276		Name:       opDisassociateCustomerGateway,
1277		HTTPMethod: "DELETE",
1278		HTTPPath:   "/global-networks/{globalNetworkId}/customer-gateway-associations/{customerGatewayArn}",
1279	}
1280
1281	if input == nil {
1282		input = &DisassociateCustomerGatewayInput{}
1283	}
1284
1285	output = &DisassociateCustomerGatewayOutput{}
1286	req = c.newRequest(op, input, output)
1287	return
1288}
1289
1290// DisassociateCustomerGateway API operation for AWS Network Manager.
1291//
1292// Disassociates a customer gateway from a device and a link.
1293//
1294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1295// with awserr.Error's Code and Message methods to get detailed information about
1296// the error.
1297//
1298// See the AWS API reference guide for AWS Network Manager's
1299// API operation DisassociateCustomerGateway for usage and error information.
1300//
1301// Returned Error Codes:
1302//   * ErrCodeValidationException "ValidationException"
1303//   The input fails to satisfy the constraints.
1304//
1305//   * ErrCodeAccessDeniedException "AccessDeniedException"
1306//   You do not have sufficient access to perform this action.
1307//
1308//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1309//   The specified resource could not be found.
1310//
1311//   * ErrCodeConflictException "ConflictException"
1312//   There was a conflict processing the request. Updating or deleting the resource
1313//   can cause an inconsistent state.
1314//
1315//   * ErrCodeThrottlingException "ThrottlingException"
1316//   The request was denied due to request throttling.
1317//
1318//   * ErrCodeInternalServerException "InternalServerException"
1319//   The request has failed due to an internal error.
1320//
1321// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateCustomerGateway
1322func (c *NetworkManager) DisassociateCustomerGateway(input *DisassociateCustomerGatewayInput) (*DisassociateCustomerGatewayOutput, error) {
1323	req, out := c.DisassociateCustomerGatewayRequest(input)
1324	return out, req.Send()
1325}
1326
1327// DisassociateCustomerGatewayWithContext is the same as DisassociateCustomerGateway with the addition of
1328// the ability to pass a context and additional request options.
1329//
1330// See DisassociateCustomerGateway for details on how to use this API operation.
1331//
1332// The context must be non-nil and will be used for request cancellation. If
1333// the context is nil a panic will occur. In the future the SDK may create
1334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1335// for more information on using Contexts.
1336func (c *NetworkManager) DisassociateCustomerGatewayWithContext(ctx aws.Context, input *DisassociateCustomerGatewayInput, opts ...request.Option) (*DisassociateCustomerGatewayOutput, error) {
1337	req, out := c.DisassociateCustomerGatewayRequest(input)
1338	req.SetContext(ctx)
1339	req.ApplyOptions(opts...)
1340	return out, req.Send()
1341}
1342
1343const opDisassociateLink = "DisassociateLink"
1344
1345// DisassociateLinkRequest generates a "aws/request.Request" representing the
1346// client's request for the DisassociateLink operation. The "output" return
1347// value will be populated with the request's response once the request completes
1348// successfully.
1349//
1350// Use "Send" method on the returned Request to send the API call to the service.
1351// the "output" return value is not valid until after Send returns without error.
1352//
1353// See DisassociateLink for more information on using the DisassociateLink
1354// API call, and error handling.
1355//
1356// This method is useful when you want to inject custom logic or configuration
1357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1358//
1359//
1360//    // Example sending a request using the DisassociateLinkRequest method.
1361//    req, resp := client.DisassociateLinkRequest(params)
1362//
1363//    err := req.Send()
1364//    if err == nil { // resp is now filled
1365//        fmt.Println(resp)
1366//    }
1367//
1368// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateLink
1369func (c *NetworkManager) DisassociateLinkRequest(input *DisassociateLinkInput) (req *request.Request, output *DisassociateLinkOutput) {
1370	op := &request.Operation{
1371		Name:       opDisassociateLink,
1372		HTTPMethod: "DELETE",
1373		HTTPPath:   "/global-networks/{globalNetworkId}/link-associations",
1374	}
1375
1376	if input == nil {
1377		input = &DisassociateLinkInput{}
1378	}
1379
1380	output = &DisassociateLinkOutput{}
1381	req = c.newRequest(op, input, output)
1382	return
1383}
1384
1385// DisassociateLink API operation for AWS Network Manager.
1386//
1387// Disassociates an existing device from a link. You must first disassociate
1388// any customer gateways that are associated with the link.
1389//
1390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1391// with awserr.Error's Code and Message methods to get detailed information about
1392// the error.
1393//
1394// See the AWS API reference guide for AWS Network Manager's
1395// API operation DisassociateLink for usage and error information.
1396//
1397// Returned Error Codes:
1398//   * ErrCodeValidationException "ValidationException"
1399//   The input fails to satisfy the constraints.
1400//
1401//   * ErrCodeAccessDeniedException "AccessDeniedException"
1402//   You do not have sufficient access to perform this action.
1403//
1404//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1405//   The specified resource could not be found.
1406//
1407//   * ErrCodeConflictException "ConflictException"
1408//   There was a conflict processing the request. Updating or deleting the resource
1409//   can cause an inconsistent state.
1410//
1411//   * ErrCodeThrottlingException "ThrottlingException"
1412//   The request was denied due to request throttling.
1413//
1414//   * ErrCodeInternalServerException "InternalServerException"
1415//   The request has failed due to an internal error.
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/DisassociateLink
1418func (c *NetworkManager) DisassociateLink(input *DisassociateLinkInput) (*DisassociateLinkOutput, error) {
1419	req, out := c.DisassociateLinkRequest(input)
1420	return out, req.Send()
1421}
1422
1423// DisassociateLinkWithContext is the same as DisassociateLink with the addition of
1424// the ability to pass a context and additional request options.
1425//
1426// See DisassociateLink for details on how to use this API operation.
1427//
1428// The context must be non-nil and will be used for request cancellation. If
1429// the context is nil a panic will occur. In the future the SDK may create
1430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1431// for more information on using Contexts.
1432func (c *NetworkManager) DisassociateLinkWithContext(ctx aws.Context, input *DisassociateLinkInput, opts ...request.Option) (*DisassociateLinkOutput, error) {
1433	req, out := c.DisassociateLinkRequest(input)
1434	req.SetContext(ctx)
1435	req.ApplyOptions(opts...)
1436	return out, req.Send()
1437}
1438
1439const opGetCustomerGatewayAssociations = "GetCustomerGatewayAssociations"
1440
1441// GetCustomerGatewayAssociationsRequest generates a "aws/request.Request" representing the
1442// client's request for the GetCustomerGatewayAssociations operation. The "output" return
1443// value will be populated with the request's response once the request completes
1444// successfully.
1445//
1446// Use "Send" method on the returned Request to send the API call to the service.
1447// the "output" return value is not valid until after Send returns without error.
1448//
1449// See GetCustomerGatewayAssociations for more information on using the GetCustomerGatewayAssociations
1450// API call, and error handling.
1451//
1452// This method is useful when you want to inject custom logic or configuration
1453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1454//
1455//
1456//    // Example sending a request using the GetCustomerGatewayAssociationsRequest method.
1457//    req, resp := client.GetCustomerGatewayAssociationsRequest(params)
1458//
1459//    err := req.Send()
1460//    if err == nil { // resp is now filled
1461//        fmt.Println(resp)
1462//    }
1463//
1464// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCustomerGatewayAssociations
1465func (c *NetworkManager) GetCustomerGatewayAssociationsRequest(input *GetCustomerGatewayAssociationsInput) (req *request.Request, output *GetCustomerGatewayAssociationsOutput) {
1466	op := &request.Operation{
1467		Name:       opGetCustomerGatewayAssociations,
1468		HTTPMethod: "GET",
1469		HTTPPath:   "/global-networks/{globalNetworkId}/customer-gateway-associations",
1470		Paginator: &request.Paginator{
1471			InputTokens:     []string{"NextToken"},
1472			OutputTokens:    []string{"NextToken"},
1473			LimitToken:      "MaxResults",
1474			TruncationToken: "",
1475		},
1476	}
1477
1478	if input == nil {
1479		input = &GetCustomerGatewayAssociationsInput{}
1480	}
1481
1482	output = &GetCustomerGatewayAssociationsOutput{}
1483	req = c.newRequest(op, input, output)
1484	return
1485}
1486
1487// GetCustomerGatewayAssociations API operation for AWS Network Manager.
1488//
1489// Gets the association information for customer gateways that are associated
1490// with devices and links in your global network.
1491//
1492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1493// with awserr.Error's Code and Message methods to get detailed information about
1494// the error.
1495//
1496// See the AWS API reference guide for AWS Network Manager's
1497// API operation GetCustomerGatewayAssociations for usage and error information.
1498//
1499// Returned Error Codes:
1500//   * ErrCodeValidationException "ValidationException"
1501//   The input fails to satisfy the constraints.
1502//
1503//   * ErrCodeAccessDeniedException "AccessDeniedException"
1504//   You do not have sufficient access to perform this action.
1505//
1506//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1507//   The specified resource could not be found.
1508//
1509//   * ErrCodeConflictException "ConflictException"
1510//   There was a conflict processing the request. Updating or deleting the resource
1511//   can cause an inconsistent state.
1512//
1513//   * ErrCodeThrottlingException "ThrottlingException"
1514//   The request was denied due to request throttling.
1515//
1516//   * ErrCodeInternalServerException "InternalServerException"
1517//   The request has failed due to an internal error.
1518//
1519// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetCustomerGatewayAssociations
1520func (c *NetworkManager) GetCustomerGatewayAssociations(input *GetCustomerGatewayAssociationsInput) (*GetCustomerGatewayAssociationsOutput, error) {
1521	req, out := c.GetCustomerGatewayAssociationsRequest(input)
1522	return out, req.Send()
1523}
1524
1525// GetCustomerGatewayAssociationsWithContext is the same as GetCustomerGatewayAssociations with the addition of
1526// the ability to pass a context and additional request options.
1527//
1528// See GetCustomerGatewayAssociations for details on how to use this API operation.
1529//
1530// The context must be non-nil and will be used for request cancellation. If
1531// the context is nil a panic will occur. In the future the SDK may create
1532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1533// for more information on using Contexts.
1534func (c *NetworkManager) GetCustomerGatewayAssociationsWithContext(ctx aws.Context, input *GetCustomerGatewayAssociationsInput, opts ...request.Option) (*GetCustomerGatewayAssociationsOutput, error) {
1535	req, out := c.GetCustomerGatewayAssociationsRequest(input)
1536	req.SetContext(ctx)
1537	req.ApplyOptions(opts...)
1538	return out, req.Send()
1539}
1540
1541// GetCustomerGatewayAssociationsPages iterates over the pages of a GetCustomerGatewayAssociations operation,
1542// calling the "fn" function with the response data for each page. To stop
1543// iterating, return false from the fn function.
1544//
1545// See GetCustomerGatewayAssociations method for more information on how to use this operation.
1546//
1547// Note: This operation can generate multiple requests to a service.
1548//
1549//    // Example iterating over at most 3 pages of a GetCustomerGatewayAssociations operation.
1550//    pageNum := 0
1551//    err := client.GetCustomerGatewayAssociationsPages(params,
1552//        func(page *networkmanager.GetCustomerGatewayAssociationsOutput, lastPage bool) bool {
1553//            pageNum++
1554//            fmt.Println(page)
1555//            return pageNum <= 3
1556//        })
1557//
1558func (c *NetworkManager) GetCustomerGatewayAssociationsPages(input *GetCustomerGatewayAssociationsInput, fn func(*GetCustomerGatewayAssociationsOutput, bool) bool) error {
1559	return c.GetCustomerGatewayAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
1560}
1561
1562// GetCustomerGatewayAssociationsPagesWithContext same as GetCustomerGatewayAssociationsPages except
1563// it takes a Context and allows setting request options on the pages.
1564//
1565// The context must be non-nil and will be used for request cancellation. If
1566// the context is nil a panic will occur. In the future the SDK may create
1567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1568// for more information on using Contexts.
1569func (c *NetworkManager) GetCustomerGatewayAssociationsPagesWithContext(ctx aws.Context, input *GetCustomerGatewayAssociationsInput, fn func(*GetCustomerGatewayAssociationsOutput, bool) bool, opts ...request.Option) error {
1570	p := request.Pagination{
1571		NewRequest: func() (*request.Request, error) {
1572			var inCpy *GetCustomerGatewayAssociationsInput
1573			if input != nil {
1574				tmp := *input
1575				inCpy = &tmp
1576			}
1577			req, _ := c.GetCustomerGatewayAssociationsRequest(inCpy)
1578			req.SetContext(ctx)
1579			req.ApplyOptions(opts...)
1580			return req, nil
1581		},
1582	}
1583
1584	for p.Next() {
1585		if !fn(p.Page().(*GetCustomerGatewayAssociationsOutput), !p.HasNextPage()) {
1586			break
1587		}
1588	}
1589
1590	return p.Err()
1591}
1592
1593const opGetDevices = "GetDevices"
1594
1595// GetDevicesRequest generates a "aws/request.Request" representing the
1596// client's request for the GetDevices operation. The "output" return
1597// value will be populated with the request's response once the request completes
1598// successfully.
1599//
1600// Use "Send" method on the returned Request to send the API call to the service.
1601// the "output" return value is not valid until after Send returns without error.
1602//
1603// See GetDevices for more information on using the GetDevices
1604// API call, and error handling.
1605//
1606// This method is useful when you want to inject custom logic or configuration
1607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1608//
1609//
1610//    // Example sending a request using the GetDevicesRequest method.
1611//    req, resp := client.GetDevicesRequest(params)
1612//
1613//    err := req.Send()
1614//    if err == nil { // resp is now filled
1615//        fmt.Println(resp)
1616//    }
1617//
1618// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetDevices
1619func (c *NetworkManager) GetDevicesRequest(input *GetDevicesInput) (req *request.Request, output *GetDevicesOutput) {
1620	op := &request.Operation{
1621		Name:       opGetDevices,
1622		HTTPMethod: "GET",
1623		HTTPPath:   "/global-networks/{globalNetworkId}/devices",
1624		Paginator: &request.Paginator{
1625			InputTokens:     []string{"NextToken"},
1626			OutputTokens:    []string{"NextToken"},
1627			LimitToken:      "MaxResults",
1628			TruncationToken: "",
1629		},
1630	}
1631
1632	if input == nil {
1633		input = &GetDevicesInput{}
1634	}
1635
1636	output = &GetDevicesOutput{}
1637	req = c.newRequest(op, input, output)
1638	return
1639}
1640
1641// GetDevices API operation for AWS Network Manager.
1642//
1643// Gets information about one or more of your devices in a global network.
1644//
1645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1646// with awserr.Error's Code and Message methods to get detailed information about
1647// the error.
1648//
1649// See the AWS API reference guide for AWS Network Manager's
1650// API operation GetDevices for usage and error information.
1651//
1652// Returned Error Codes:
1653//   * ErrCodeValidationException "ValidationException"
1654//   The input fails to satisfy the constraints.
1655//
1656//   * ErrCodeAccessDeniedException "AccessDeniedException"
1657//   You do not have sufficient access to perform this action.
1658//
1659//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1660//   The specified resource could not be found.
1661//
1662//   * ErrCodeThrottlingException "ThrottlingException"
1663//   The request was denied due to request throttling.
1664//
1665//   * ErrCodeInternalServerException "InternalServerException"
1666//   The request has failed due to an internal error.
1667//
1668// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetDevices
1669func (c *NetworkManager) GetDevices(input *GetDevicesInput) (*GetDevicesOutput, error) {
1670	req, out := c.GetDevicesRequest(input)
1671	return out, req.Send()
1672}
1673
1674// GetDevicesWithContext is the same as GetDevices with the addition of
1675// the ability to pass a context and additional request options.
1676//
1677// See GetDevices for details on how to use this API operation.
1678//
1679// The context must be non-nil and will be used for request cancellation. If
1680// the context is nil a panic will occur. In the future the SDK may create
1681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1682// for more information on using Contexts.
1683func (c *NetworkManager) GetDevicesWithContext(ctx aws.Context, input *GetDevicesInput, opts ...request.Option) (*GetDevicesOutput, error) {
1684	req, out := c.GetDevicesRequest(input)
1685	req.SetContext(ctx)
1686	req.ApplyOptions(opts...)
1687	return out, req.Send()
1688}
1689
1690// GetDevicesPages iterates over the pages of a GetDevices operation,
1691// calling the "fn" function with the response data for each page. To stop
1692// iterating, return false from the fn function.
1693//
1694// See GetDevices method for more information on how to use this operation.
1695//
1696// Note: This operation can generate multiple requests to a service.
1697//
1698//    // Example iterating over at most 3 pages of a GetDevices operation.
1699//    pageNum := 0
1700//    err := client.GetDevicesPages(params,
1701//        func(page *networkmanager.GetDevicesOutput, lastPage bool) bool {
1702//            pageNum++
1703//            fmt.Println(page)
1704//            return pageNum <= 3
1705//        })
1706//
1707func (c *NetworkManager) GetDevicesPages(input *GetDevicesInput, fn func(*GetDevicesOutput, bool) bool) error {
1708	return c.GetDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
1709}
1710
1711// GetDevicesPagesWithContext same as GetDevicesPages except
1712// it takes a Context and allows setting request options on the pages.
1713//
1714// The context must be non-nil and will be used for request cancellation. If
1715// the context is nil a panic will occur. In the future the SDK may create
1716// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1717// for more information on using Contexts.
1718func (c *NetworkManager) GetDevicesPagesWithContext(ctx aws.Context, input *GetDevicesInput, fn func(*GetDevicesOutput, bool) bool, opts ...request.Option) error {
1719	p := request.Pagination{
1720		NewRequest: func() (*request.Request, error) {
1721			var inCpy *GetDevicesInput
1722			if input != nil {
1723				tmp := *input
1724				inCpy = &tmp
1725			}
1726			req, _ := c.GetDevicesRequest(inCpy)
1727			req.SetContext(ctx)
1728			req.ApplyOptions(opts...)
1729			return req, nil
1730		},
1731	}
1732
1733	for p.Next() {
1734		if !fn(p.Page().(*GetDevicesOutput), !p.HasNextPage()) {
1735			break
1736		}
1737	}
1738
1739	return p.Err()
1740}
1741
1742const opGetLinkAssociations = "GetLinkAssociations"
1743
1744// GetLinkAssociationsRequest generates a "aws/request.Request" representing the
1745// client's request for the GetLinkAssociations operation. The "output" return
1746// value will be populated with the request's response once the request completes
1747// successfully.
1748//
1749// Use "Send" method on the returned Request to send the API call to the service.
1750// the "output" return value is not valid until after Send returns without error.
1751//
1752// See GetLinkAssociations for more information on using the GetLinkAssociations
1753// API call, and error handling.
1754//
1755// This method is useful when you want to inject custom logic or configuration
1756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1757//
1758//
1759//    // Example sending a request using the GetLinkAssociationsRequest method.
1760//    req, resp := client.GetLinkAssociationsRequest(params)
1761//
1762//    err := req.Send()
1763//    if err == nil { // resp is now filled
1764//        fmt.Println(resp)
1765//    }
1766//
1767// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinkAssociations
1768func (c *NetworkManager) GetLinkAssociationsRequest(input *GetLinkAssociationsInput) (req *request.Request, output *GetLinkAssociationsOutput) {
1769	op := &request.Operation{
1770		Name:       opGetLinkAssociations,
1771		HTTPMethod: "GET",
1772		HTTPPath:   "/global-networks/{globalNetworkId}/link-associations",
1773		Paginator: &request.Paginator{
1774			InputTokens:     []string{"NextToken"},
1775			OutputTokens:    []string{"NextToken"},
1776			LimitToken:      "MaxResults",
1777			TruncationToken: "",
1778		},
1779	}
1780
1781	if input == nil {
1782		input = &GetLinkAssociationsInput{}
1783	}
1784
1785	output = &GetLinkAssociationsOutput{}
1786	req = c.newRequest(op, input, output)
1787	return
1788}
1789
1790// GetLinkAssociations API operation for AWS Network Manager.
1791//
1792// Gets the link associations for a device or a link. Either the device ID or
1793// the link ID must be specified.
1794//
1795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1796// with awserr.Error's Code and Message methods to get detailed information about
1797// the error.
1798//
1799// See the AWS API reference guide for AWS Network Manager's
1800// API operation GetLinkAssociations for usage and error information.
1801//
1802// Returned Error Codes:
1803//   * ErrCodeValidationException "ValidationException"
1804//   The input fails to satisfy the constraints.
1805//
1806//   * ErrCodeAccessDeniedException "AccessDeniedException"
1807//   You do not have sufficient access to perform this action.
1808//
1809//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1810//   The specified resource could not be found.
1811//
1812//   * ErrCodeThrottlingException "ThrottlingException"
1813//   The request was denied due to request throttling.
1814//
1815//   * ErrCodeInternalServerException "InternalServerException"
1816//   The request has failed due to an internal error.
1817//
1818// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinkAssociations
1819func (c *NetworkManager) GetLinkAssociations(input *GetLinkAssociationsInput) (*GetLinkAssociationsOutput, error) {
1820	req, out := c.GetLinkAssociationsRequest(input)
1821	return out, req.Send()
1822}
1823
1824// GetLinkAssociationsWithContext is the same as GetLinkAssociations with the addition of
1825// the ability to pass a context and additional request options.
1826//
1827// See GetLinkAssociations for details on how to use this API operation.
1828//
1829// The context must be non-nil and will be used for request cancellation. If
1830// the context is nil a panic will occur. In the future the SDK may create
1831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1832// for more information on using Contexts.
1833func (c *NetworkManager) GetLinkAssociationsWithContext(ctx aws.Context, input *GetLinkAssociationsInput, opts ...request.Option) (*GetLinkAssociationsOutput, error) {
1834	req, out := c.GetLinkAssociationsRequest(input)
1835	req.SetContext(ctx)
1836	req.ApplyOptions(opts...)
1837	return out, req.Send()
1838}
1839
1840// GetLinkAssociationsPages iterates over the pages of a GetLinkAssociations operation,
1841// calling the "fn" function with the response data for each page. To stop
1842// iterating, return false from the fn function.
1843//
1844// See GetLinkAssociations method for more information on how to use this operation.
1845//
1846// Note: This operation can generate multiple requests to a service.
1847//
1848//    // Example iterating over at most 3 pages of a GetLinkAssociations operation.
1849//    pageNum := 0
1850//    err := client.GetLinkAssociationsPages(params,
1851//        func(page *networkmanager.GetLinkAssociationsOutput, lastPage bool) bool {
1852//            pageNum++
1853//            fmt.Println(page)
1854//            return pageNum <= 3
1855//        })
1856//
1857func (c *NetworkManager) GetLinkAssociationsPages(input *GetLinkAssociationsInput, fn func(*GetLinkAssociationsOutput, bool) bool) error {
1858	return c.GetLinkAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
1859}
1860
1861// GetLinkAssociationsPagesWithContext same as GetLinkAssociationsPages except
1862// it takes a Context and allows setting request options on the pages.
1863//
1864// The context must be non-nil and will be used for request cancellation. If
1865// the context is nil a panic will occur. In the future the SDK may create
1866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1867// for more information on using Contexts.
1868func (c *NetworkManager) GetLinkAssociationsPagesWithContext(ctx aws.Context, input *GetLinkAssociationsInput, fn func(*GetLinkAssociationsOutput, bool) bool, opts ...request.Option) error {
1869	p := request.Pagination{
1870		NewRequest: func() (*request.Request, error) {
1871			var inCpy *GetLinkAssociationsInput
1872			if input != nil {
1873				tmp := *input
1874				inCpy = &tmp
1875			}
1876			req, _ := c.GetLinkAssociationsRequest(inCpy)
1877			req.SetContext(ctx)
1878			req.ApplyOptions(opts...)
1879			return req, nil
1880		},
1881	}
1882
1883	for p.Next() {
1884		if !fn(p.Page().(*GetLinkAssociationsOutput), !p.HasNextPage()) {
1885			break
1886		}
1887	}
1888
1889	return p.Err()
1890}
1891
1892const opGetLinks = "GetLinks"
1893
1894// GetLinksRequest generates a "aws/request.Request" representing the
1895// client's request for the GetLinks operation. The "output" return
1896// value will be populated with the request's response once the request completes
1897// successfully.
1898//
1899// Use "Send" method on the returned Request to send the API call to the service.
1900// the "output" return value is not valid until after Send returns without error.
1901//
1902// See GetLinks for more information on using the GetLinks
1903// API call, and error handling.
1904//
1905// This method is useful when you want to inject custom logic or configuration
1906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1907//
1908//
1909//    // Example sending a request using the GetLinksRequest method.
1910//    req, resp := client.GetLinksRequest(params)
1911//
1912//    err := req.Send()
1913//    if err == nil { // resp is now filled
1914//        fmt.Println(resp)
1915//    }
1916//
1917// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinks
1918func (c *NetworkManager) GetLinksRequest(input *GetLinksInput) (req *request.Request, output *GetLinksOutput) {
1919	op := &request.Operation{
1920		Name:       opGetLinks,
1921		HTTPMethod: "GET",
1922		HTTPPath:   "/global-networks/{globalNetworkId}/links",
1923		Paginator: &request.Paginator{
1924			InputTokens:     []string{"NextToken"},
1925			OutputTokens:    []string{"NextToken"},
1926			LimitToken:      "MaxResults",
1927			TruncationToken: "",
1928		},
1929	}
1930
1931	if input == nil {
1932		input = &GetLinksInput{}
1933	}
1934
1935	output = &GetLinksOutput{}
1936	req = c.newRequest(op, input, output)
1937	return
1938}
1939
1940// GetLinks API operation for AWS Network Manager.
1941//
1942// Gets information about one or more links in a specified global network.
1943//
1944// If you specify the site ID, you cannot specify the type or provider in the
1945// same request. You can specify the type and provider in the same request.
1946//
1947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1948// with awserr.Error's Code and Message methods to get detailed information about
1949// the error.
1950//
1951// See the AWS API reference guide for AWS Network Manager's
1952// API operation GetLinks for usage and error information.
1953//
1954// Returned Error Codes:
1955//   * ErrCodeValidationException "ValidationException"
1956//   The input fails to satisfy the constraints.
1957//
1958//   * ErrCodeAccessDeniedException "AccessDeniedException"
1959//   You do not have sufficient access to perform this action.
1960//
1961//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1962//   The specified resource could not be found.
1963//
1964//   * ErrCodeThrottlingException "ThrottlingException"
1965//   The request was denied due to request throttling.
1966//
1967//   * ErrCodeInternalServerException "InternalServerException"
1968//   The request has failed due to an internal error.
1969//
1970// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetLinks
1971func (c *NetworkManager) GetLinks(input *GetLinksInput) (*GetLinksOutput, error) {
1972	req, out := c.GetLinksRequest(input)
1973	return out, req.Send()
1974}
1975
1976// GetLinksWithContext is the same as GetLinks with the addition of
1977// the ability to pass a context and additional request options.
1978//
1979// See GetLinks for details on how to use this API operation.
1980//
1981// The context must be non-nil and will be used for request cancellation. If
1982// the context is nil a panic will occur. In the future the SDK may create
1983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1984// for more information on using Contexts.
1985func (c *NetworkManager) GetLinksWithContext(ctx aws.Context, input *GetLinksInput, opts ...request.Option) (*GetLinksOutput, error) {
1986	req, out := c.GetLinksRequest(input)
1987	req.SetContext(ctx)
1988	req.ApplyOptions(opts...)
1989	return out, req.Send()
1990}
1991
1992// GetLinksPages iterates over the pages of a GetLinks operation,
1993// calling the "fn" function with the response data for each page. To stop
1994// iterating, return false from the fn function.
1995//
1996// See GetLinks method for more information on how to use this operation.
1997//
1998// Note: This operation can generate multiple requests to a service.
1999//
2000//    // Example iterating over at most 3 pages of a GetLinks operation.
2001//    pageNum := 0
2002//    err := client.GetLinksPages(params,
2003//        func(page *networkmanager.GetLinksOutput, lastPage bool) bool {
2004//            pageNum++
2005//            fmt.Println(page)
2006//            return pageNum <= 3
2007//        })
2008//
2009func (c *NetworkManager) GetLinksPages(input *GetLinksInput, fn func(*GetLinksOutput, bool) bool) error {
2010	return c.GetLinksPagesWithContext(aws.BackgroundContext(), input, fn)
2011}
2012
2013// GetLinksPagesWithContext same as GetLinksPages except
2014// it takes a Context and allows setting request options on the pages.
2015//
2016// The context must be non-nil and will be used for request cancellation. If
2017// the context is nil a panic will occur. In the future the SDK may create
2018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2019// for more information on using Contexts.
2020func (c *NetworkManager) GetLinksPagesWithContext(ctx aws.Context, input *GetLinksInput, fn func(*GetLinksOutput, bool) bool, opts ...request.Option) error {
2021	p := request.Pagination{
2022		NewRequest: func() (*request.Request, error) {
2023			var inCpy *GetLinksInput
2024			if input != nil {
2025				tmp := *input
2026				inCpy = &tmp
2027			}
2028			req, _ := c.GetLinksRequest(inCpy)
2029			req.SetContext(ctx)
2030			req.ApplyOptions(opts...)
2031			return req, nil
2032		},
2033	}
2034
2035	for p.Next() {
2036		if !fn(p.Page().(*GetLinksOutput), !p.HasNextPage()) {
2037			break
2038		}
2039	}
2040
2041	return p.Err()
2042}
2043
2044const opGetSites = "GetSites"
2045
2046// GetSitesRequest generates a "aws/request.Request" representing the
2047// client's request for the GetSites operation. The "output" return
2048// value will be populated with the request's response once the request completes
2049// successfully.
2050//
2051// Use "Send" method on the returned Request to send the API call to the service.
2052// the "output" return value is not valid until after Send returns without error.
2053//
2054// See GetSites for more information on using the GetSites
2055// API call, and error handling.
2056//
2057// This method is useful when you want to inject custom logic or configuration
2058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2059//
2060//
2061//    // Example sending a request using the GetSitesRequest method.
2062//    req, resp := client.GetSitesRequest(params)
2063//
2064//    err := req.Send()
2065//    if err == nil { // resp is now filled
2066//        fmt.Println(resp)
2067//    }
2068//
2069// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSites
2070func (c *NetworkManager) GetSitesRequest(input *GetSitesInput) (req *request.Request, output *GetSitesOutput) {
2071	op := &request.Operation{
2072		Name:       opGetSites,
2073		HTTPMethod: "GET",
2074		HTTPPath:   "/global-networks/{globalNetworkId}/sites",
2075		Paginator: &request.Paginator{
2076			InputTokens:     []string{"NextToken"},
2077			OutputTokens:    []string{"NextToken"},
2078			LimitToken:      "MaxResults",
2079			TruncationToken: "",
2080		},
2081	}
2082
2083	if input == nil {
2084		input = &GetSitesInput{}
2085	}
2086
2087	output = &GetSitesOutput{}
2088	req = c.newRequest(op, input, output)
2089	return
2090}
2091
2092// GetSites API operation for AWS Network Manager.
2093//
2094// Gets information about one or more of your sites in a global network.
2095//
2096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2097// with awserr.Error's Code and Message methods to get detailed information about
2098// the error.
2099//
2100// See the AWS API reference guide for AWS Network Manager's
2101// API operation GetSites for usage and error information.
2102//
2103// Returned Error Codes:
2104//   * ErrCodeValidationException "ValidationException"
2105//   The input fails to satisfy the constraints.
2106//
2107//   * ErrCodeAccessDeniedException "AccessDeniedException"
2108//   You do not have sufficient access to perform this action.
2109//
2110//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2111//   The specified resource could not be found.
2112//
2113//   * ErrCodeThrottlingException "ThrottlingException"
2114//   The request was denied due to request throttling.
2115//
2116//   * ErrCodeInternalServerException "InternalServerException"
2117//   The request has failed due to an internal error.
2118//
2119// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetSites
2120func (c *NetworkManager) GetSites(input *GetSitesInput) (*GetSitesOutput, error) {
2121	req, out := c.GetSitesRequest(input)
2122	return out, req.Send()
2123}
2124
2125// GetSitesWithContext is the same as GetSites with the addition of
2126// the ability to pass a context and additional request options.
2127//
2128// See GetSites for details on how to use this API operation.
2129//
2130// The context must be non-nil and will be used for request cancellation. If
2131// the context is nil a panic will occur. In the future the SDK may create
2132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2133// for more information on using Contexts.
2134func (c *NetworkManager) GetSitesWithContext(ctx aws.Context, input *GetSitesInput, opts ...request.Option) (*GetSitesOutput, error) {
2135	req, out := c.GetSitesRequest(input)
2136	req.SetContext(ctx)
2137	req.ApplyOptions(opts...)
2138	return out, req.Send()
2139}
2140
2141// GetSitesPages iterates over the pages of a GetSites operation,
2142// calling the "fn" function with the response data for each page. To stop
2143// iterating, return false from the fn function.
2144//
2145// See GetSites method for more information on how to use this operation.
2146//
2147// Note: This operation can generate multiple requests to a service.
2148//
2149//    // Example iterating over at most 3 pages of a GetSites operation.
2150//    pageNum := 0
2151//    err := client.GetSitesPages(params,
2152//        func(page *networkmanager.GetSitesOutput, lastPage bool) bool {
2153//            pageNum++
2154//            fmt.Println(page)
2155//            return pageNum <= 3
2156//        })
2157//
2158func (c *NetworkManager) GetSitesPages(input *GetSitesInput, fn func(*GetSitesOutput, bool) bool) error {
2159	return c.GetSitesPagesWithContext(aws.BackgroundContext(), input, fn)
2160}
2161
2162// GetSitesPagesWithContext same as GetSitesPages except
2163// it takes a Context and allows setting request options on the pages.
2164//
2165// The context must be non-nil and will be used for request cancellation. If
2166// the context is nil a panic will occur. In the future the SDK may create
2167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2168// for more information on using Contexts.
2169func (c *NetworkManager) GetSitesPagesWithContext(ctx aws.Context, input *GetSitesInput, fn func(*GetSitesOutput, bool) bool, opts ...request.Option) error {
2170	p := request.Pagination{
2171		NewRequest: func() (*request.Request, error) {
2172			var inCpy *GetSitesInput
2173			if input != nil {
2174				tmp := *input
2175				inCpy = &tmp
2176			}
2177			req, _ := c.GetSitesRequest(inCpy)
2178			req.SetContext(ctx)
2179			req.ApplyOptions(opts...)
2180			return req, nil
2181		},
2182	}
2183
2184	for p.Next() {
2185		if !fn(p.Page().(*GetSitesOutput), !p.HasNextPage()) {
2186			break
2187		}
2188	}
2189
2190	return p.Err()
2191}
2192
2193const opGetTransitGatewayRegistrations = "GetTransitGatewayRegistrations"
2194
2195// GetTransitGatewayRegistrationsRequest generates a "aws/request.Request" representing the
2196// client's request for the GetTransitGatewayRegistrations operation. The "output" return
2197// value will be populated with the request's response once the request completes
2198// successfully.
2199//
2200// Use "Send" method on the returned Request to send the API call to the service.
2201// the "output" return value is not valid until after Send returns without error.
2202//
2203// See GetTransitGatewayRegistrations for more information on using the GetTransitGatewayRegistrations
2204// API call, and error handling.
2205//
2206// This method is useful when you want to inject custom logic or configuration
2207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2208//
2209//
2210//    // Example sending a request using the GetTransitGatewayRegistrationsRequest method.
2211//    req, resp := client.GetTransitGatewayRegistrationsRequest(params)
2212//
2213//    err := req.Send()
2214//    if err == nil { // resp is now filled
2215//        fmt.Println(resp)
2216//    }
2217//
2218// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayRegistrations
2219func (c *NetworkManager) GetTransitGatewayRegistrationsRequest(input *GetTransitGatewayRegistrationsInput) (req *request.Request, output *GetTransitGatewayRegistrationsOutput) {
2220	op := &request.Operation{
2221		Name:       opGetTransitGatewayRegistrations,
2222		HTTPMethod: "GET",
2223		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-registrations",
2224		Paginator: &request.Paginator{
2225			InputTokens:     []string{"NextToken"},
2226			OutputTokens:    []string{"NextToken"},
2227			LimitToken:      "MaxResults",
2228			TruncationToken: "",
2229		},
2230	}
2231
2232	if input == nil {
2233		input = &GetTransitGatewayRegistrationsInput{}
2234	}
2235
2236	output = &GetTransitGatewayRegistrationsOutput{}
2237	req = c.newRequest(op, input, output)
2238	return
2239}
2240
2241// GetTransitGatewayRegistrations API operation for AWS Network Manager.
2242//
2243// Gets information about the transit gateway registrations in a specified global
2244// network.
2245//
2246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2247// with awserr.Error's Code and Message methods to get detailed information about
2248// the error.
2249//
2250// See the AWS API reference guide for AWS Network Manager's
2251// API operation GetTransitGatewayRegistrations for usage and error information.
2252//
2253// Returned Error Codes:
2254//   * ErrCodeValidationException "ValidationException"
2255//   The input fails to satisfy the constraints.
2256//
2257//   * ErrCodeAccessDeniedException "AccessDeniedException"
2258//   You do not have sufficient access to perform this action.
2259//
2260//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2261//   The specified resource could not be found.
2262//
2263//   * ErrCodeThrottlingException "ThrottlingException"
2264//   The request was denied due to request throttling.
2265//
2266//   * ErrCodeInternalServerException "InternalServerException"
2267//   The request has failed due to an internal error.
2268//
2269// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/GetTransitGatewayRegistrations
2270func (c *NetworkManager) GetTransitGatewayRegistrations(input *GetTransitGatewayRegistrationsInput) (*GetTransitGatewayRegistrationsOutput, error) {
2271	req, out := c.GetTransitGatewayRegistrationsRequest(input)
2272	return out, req.Send()
2273}
2274
2275// GetTransitGatewayRegistrationsWithContext is the same as GetTransitGatewayRegistrations with the addition of
2276// the ability to pass a context and additional request options.
2277//
2278// See GetTransitGatewayRegistrations for details on how to use this API operation.
2279//
2280// The context must be non-nil and will be used for request cancellation. If
2281// the context is nil a panic will occur. In the future the SDK may create
2282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2283// for more information on using Contexts.
2284func (c *NetworkManager) GetTransitGatewayRegistrationsWithContext(ctx aws.Context, input *GetTransitGatewayRegistrationsInput, opts ...request.Option) (*GetTransitGatewayRegistrationsOutput, error) {
2285	req, out := c.GetTransitGatewayRegistrationsRequest(input)
2286	req.SetContext(ctx)
2287	req.ApplyOptions(opts...)
2288	return out, req.Send()
2289}
2290
2291// GetTransitGatewayRegistrationsPages iterates over the pages of a GetTransitGatewayRegistrations operation,
2292// calling the "fn" function with the response data for each page. To stop
2293// iterating, return false from the fn function.
2294//
2295// See GetTransitGatewayRegistrations method for more information on how to use this operation.
2296//
2297// Note: This operation can generate multiple requests to a service.
2298//
2299//    // Example iterating over at most 3 pages of a GetTransitGatewayRegistrations operation.
2300//    pageNum := 0
2301//    err := client.GetTransitGatewayRegistrationsPages(params,
2302//        func(page *networkmanager.GetTransitGatewayRegistrationsOutput, lastPage bool) bool {
2303//            pageNum++
2304//            fmt.Println(page)
2305//            return pageNum <= 3
2306//        })
2307//
2308func (c *NetworkManager) GetTransitGatewayRegistrationsPages(input *GetTransitGatewayRegistrationsInput, fn func(*GetTransitGatewayRegistrationsOutput, bool) bool) error {
2309	return c.GetTransitGatewayRegistrationsPagesWithContext(aws.BackgroundContext(), input, fn)
2310}
2311
2312// GetTransitGatewayRegistrationsPagesWithContext same as GetTransitGatewayRegistrationsPages except
2313// it takes a Context and allows setting request options on the pages.
2314//
2315// The context must be non-nil and will be used for request cancellation. If
2316// the context is nil a panic will occur. In the future the SDK may create
2317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2318// for more information on using Contexts.
2319func (c *NetworkManager) GetTransitGatewayRegistrationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRegistrationsInput, fn func(*GetTransitGatewayRegistrationsOutput, bool) bool, opts ...request.Option) error {
2320	p := request.Pagination{
2321		NewRequest: func() (*request.Request, error) {
2322			var inCpy *GetTransitGatewayRegistrationsInput
2323			if input != nil {
2324				tmp := *input
2325				inCpy = &tmp
2326			}
2327			req, _ := c.GetTransitGatewayRegistrationsRequest(inCpy)
2328			req.SetContext(ctx)
2329			req.ApplyOptions(opts...)
2330			return req, nil
2331		},
2332	}
2333
2334	for p.Next() {
2335		if !fn(p.Page().(*GetTransitGatewayRegistrationsOutput), !p.HasNextPage()) {
2336			break
2337		}
2338	}
2339
2340	return p.Err()
2341}
2342
2343const opListTagsForResource = "ListTagsForResource"
2344
2345// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2346// client's request for the ListTagsForResource operation. The "output" return
2347// value will be populated with the request's response once the request completes
2348// successfully.
2349//
2350// Use "Send" method on the returned Request to send the API call to the service.
2351// the "output" return value is not valid until after Send returns without error.
2352//
2353// See ListTagsForResource for more information on using the ListTagsForResource
2354// API call, and error handling.
2355//
2356// This method is useful when you want to inject custom logic or configuration
2357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2358//
2359//
2360//    // Example sending a request using the ListTagsForResourceRequest method.
2361//    req, resp := client.ListTagsForResourceRequest(params)
2362//
2363//    err := req.Send()
2364//    if err == nil { // resp is now filled
2365//        fmt.Println(resp)
2366//    }
2367//
2368// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListTagsForResource
2369func (c *NetworkManager) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2370	op := &request.Operation{
2371		Name:       opListTagsForResource,
2372		HTTPMethod: "GET",
2373		HTTPPath:   "/tags/{resourceArn}",
2374	}
2375
2376	if input == nil {
2377		input = &ListTagsForResourceInput{}
2378	}
2379
2380	output = &ListTagsForResourceOutput{}
2381	req = c.newRequest(op, input, output)
2382	return
2383}
2384
2385// ListTagsForResource API operation for AWS Network Manager.
2386//
2387// Lists the tags for a specified resource.
2388//
2389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2390// with awserr.Error's Code and Message methods to get detailed information about
2391// the error.
2392//
2393// See the AWS API reference guide for AWS Network Manager's
2394// API operation ListTagsForResource for usage and error information.
2395//
2396// Returned Error Codes:
2397//   * ErrCodeValidationException "ValidationException"
2398//   The input fails to satisfy the constraints.
2399//
2400//   * ErrCodeAccessDeniedException "AccessDeniedException"
2401//   You do not have sufficient access to perform this action.
2402//
2403//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2404//   The specified resource could not be found.
2405//
2406//   * ErrCodeThrottlingException "ThrottlingException"
2407//   The request was denied due to request throttling.
2408//
2409//   * ErrCodeInternalServerException "InternalServerException"
2410//   The request has failed due to an internal error.
2411//
2412// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/ListTagsForResource
2413func (c *NetworkManager) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2414	req, out := c.ListTagsForResourceRequest(input)
2415	return out, req.Send()
2416}
2417
2418// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2419// the ability to pass a context and additional request options.
2420//
2421// See ListTagsForResource for details on how to use this API operation.
2422//
2423// The context must be non-nil and will be used for request cancellation. If
2424// the context is nil a panic will occur. In the future the SDK may create
2425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2426// for more information on using Contexts.
2427func (c *NetworkManager) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2428	req, out := c.ListTagsForResourceRequest(input)
2429	req.SetContext(ctx)
2430	req.ApplyOptions(opts...)
2431	return out, req.Send()
2432}
2433
2434const opRegisterTransitGateway = "RegisterTransitGateway"
2435
2436// RegisterTransitGatewayRequest generates a "aws/request.Request" representing the
2437// client's request for the RegisterTransitGateway operation. The "output" return
2438// value will be populated with the request's response once the request completes
2439// successfully.
2440//
2441// Use "Send" method on the returned Request to send the API call to the service.
2442// the "output" return value is not valid until after Send returns without error.
2443//
2444// See RegisterTransitGateway for more information on using the RegisterTransitGateway
2445// API call, and error handling.
2446//
2447// This method is useful when you want to inject custom logic or configuration
2448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2449//
2450//
2451//    // Example sending a request using the RegisterTransitGatewayRequest method.
2452//    req, resp := client.RegisterTransitGatewayRequest(params)
2453//
2454//    err := req.Send()
2455//    if err == nil { // resp is now filled
2456//        fmt.Println(resp)
2457//    }
2458//
2459// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/RegisterTransitGateway
2460func (c *NetworkManager) RegisterTransitGatewayRequest(input *RegisterTransitGatewayInput) (req *request.Request, output *RegisterTransitGatewayOutput) {
2461	op := &request.Operation{
2462		Name:       opRegisterTransitGateway,
2463		HTTPMethod: "POST",
2464		HTTPPath:   "/global-networks/{globalNetworkId}/transit-gateway-registrations",
2465	}
2466
2467	if input == nil {
2468		input = &RegisterTransitGatewayInput{}
2469	}
2470
2471	output = &RegisterTransitGatewayOutput{}
2472	req = c.newRequest(op, input, output)
2473	return
2474}
2475
2476// RegisterTransitGateway API operation for AWS Network Manager.
2477//
2478// Registers a transit gateway in your global network. The transit gateway can
2479// be in any AWS Region, but it must be owned by the same AWS account that owns
2480// the global network. You cannot register a transit gateway in more than one
2481// global network.
2482//
2483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2484// with awserr.Error's Code and Message methods to get detailed information about
2485// the error.
2486//
2487// See the AWS API reference guide for AWS Network Manager's
2488// API operation RegisterTransitGateway for usage and error information.
2489//
2490// Returned Error Codes:
2491//   * ErrCodeValidationException "ValidationException"
2492//   The input fails to satisfy the constraints.
2493//
2494//   * ErrCodeAccessDeniedException "AccessDeniedException"
2495//   You do not have sufficient access to perform this action.
2496//
2497//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2498//   The specified resource could not be found.
2499//
2500//   * ErrCodeConflictException "ConflictException"
2501//   There was a conflict processing the request. Updating or deleting the resource
2502//   can cause an inconsistent state.
2503//
2504//   * ErrCodeThrottlingException "ThrottlingException"
2505//   The request was denied due to request throttling.
2506//
2507//   * ErrCodeInternalServerException "InternalServerException"
2508//   The request has failed due to an internal error.
2509//
2510// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/RegisterTransitGateway
2511func (c *NetworkManager) RegisterTransitGateway(input *RegisterTransitGatewayInput) (*RegisterTransitGatewayOutput, error) {
2512	req, out := c.RegisterTransitGatewayRequest(input)
2513	return out, req.Send()
2514}
2515
2516// RegisterTransitGatewayWithContext is the same as RegisterTransitGateway with the addition of
2517// the ability to pass a context and additional request options.
2518//
2519// See RegisterTransitGateway for details on how to use this API operation.
2520//
2521// The context must be non-nil and will be used for request cancellation. If
2522// the context is nil a panic will occur. In the future the SDK may create
2523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2524// for more information on using Contexts.
2525func (c *NetworkManager) RegisterTransitGatewayWithContext(ctx aws.Context, input *RegisterTransitGatewayInput, opts ...request.Option) (*RegisterTransitGatewayOutput, error) {
2526	req, out := c.RegisterTransitGatewayRequest(input)
2527	req.SetContext(ctx)
2528	req.ApplyOptions(opts...)
2529	return out, req.Send()
2530}
2531
2532const opTagResource = "TagResource"
2533
2534// TagResourceRequest generates a "aws/request.Request" representing the
2535// client's request for the TagResource operation. The "output" return
2536// value will be populated with the request's response once the request completes
2537// successfully.
2538//
2539// Use "Send" method on the returned Request to send the API call to the service.
2540// the "output" return value is not valid until after Send returns without error.
2541//
2542// See TagResource for more information on using the TagResource
2543// API call, and error handling.
2544//
2545// This method is useful when you want to inject custom logic or configuration
2546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2547//
2548//
2549//    // Example sending a request using the TagResourceRequest method.
2550//    req, resp := client.TagResourceRequest(params)
2551//
2552//    err := req.Send()
2553//    if err == nil { // resp is now filled
2554//        fmt.Println(resp)
2555//    }
2556//
2557// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/TagResource
2558func (c *NetworkManager) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2559	op := &request.Operation{
2560		Name:       opTagResource,
2561		HTTPMethod: "POST",
2562		HTTPPath:   "/tags/{resourceArn}",
2563	}
2564
2565	if input == nil {
2566		input = &TagResourceInput{}
2567	}
2568
2569	output = &TagResourceOutput{}
2570	req = c.newRequest(op, input, output)
2571	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2572	return
2573}
2574
2575// TagResource API operation for AWS Network Manager.
2576//
2577// Tags a specified resource.
2578//
2579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2580// with awserr.Error's Code and Message methods to get detailed information about
2581// the error.
2582//
2583// See the AWS API reference guide for AWS Network Manager's
2584// API operation TagResource for usage and error information.
2585//
2586// Returned Error Codes:
2587//   * ErrCodeValidationException "ValidationException"
2588//   The input fails to satisfy the constraints.
2589//
2590//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
2591//   A service limit was exceeded.
2592//
2593//   * ErrCodeAccessDeniedException "AccessDeniedException"
2594//   You do not have sufficient access to perform this action.
2595//
2596//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2597//   The specified resource could not be found.
2598//
2599//   * ErrCodeConflictException "ConflictException"
2600//   There was a conflict processing the request. Updating or deleting the resource
2601//   can cause an inconsistent state.
2602//
2603//   * ErrCodeThrottlingException "ThrottlingException"
2604//   The request was denied due to request throttling.
2605//
2606//   * ErrCodeInternalServerException "InternalServerException"
2607//   The request has failed due to an internal error.
2608//
2609// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/TagResource
2610func (c *NetworkManager) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2611	req, out := c.TagResourceRequest(input)
2612	return out, req.Send()
2613}
2614
2615// TagResourceWithContext is the same as TagResource with the addition of
2616// the ability to pass a context and additional request options.
2617//
2618// See TagResource for details on how to use this API operation.
2619//
2620// The context must be non-nil and will be used for request cancellation. If
2621// the context is nil a panic will occur. In the future the SDK may create
2622// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2623// for more information on using Contexts.
2624func (c *NetworkManager) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2625	req, out := c.TagResourceRequest(input)
2626	req.SetContext(ctx)
2627	req.ApplyOptions(opts...)
2628	return out, req.Send()
2629}
2630
2631const opUntagResource = "UntagResource"
2632
2633// UntagResourceRequest generates a "aws/request.Request" representing the
2634// client's request for the UntagResource operation. The "output" return
2635// value will be populated with the request's response once the request completes
2636// successfully.
2637//
2638// Use "Send" method on the returned Request to send the API call to the service.
2639// the "output" return value is not valid until after Send returns without error.
2640//
2641// See UntagResource for more information on using the UntagResource
2642// API call, and error handling.
2643//
2644// This method is useful when you want to inject custom logic or configuration
2645// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2646//
2647//
2648//    // Example sending a request using the UntagResourceRequest method.
2649//    req, resp := client.UntagResourceRequest(params)
2650//
2651//    err := req.Send()
2652//    if err == nil { // resp is now filled
2653//        fmt.Println(resp)
2654//    }
2655//
2656// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UntagResource
2657func (c *NetworkManager) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2658	op := &request.Operation{
2659		Name:       opUntagResource,
2660		HTTPMethod: "DELETE",
2661		HTTPPath:   "/tags/{resourceArn}",
2662	}
2663
2664	if input == nil {
2665		input = &UntagResourceInput{}
2666	}
2667
2668	output = &UntagResourceOutput{}
2669	req = c.newRequest(op, input, output)
2670	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2671	return
2672}
2673
2674// UntagResource API operation for AWS Network Manager.
2675//
2676// Removes tags from a specified resource.
2677//
2678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2679// with awserr.Error's Code and Message methods to get detailed information about
2680// the error.
2681//
2682// See the AWS API reference guide for AWS Network Manager's
2683// API operation UntagResource for usage and error information.
2684//
2685// Returned Error Codes:
2686//   * ErrCodeValidationException "ValidationException"
2687//   The input fails to satisfy the constraints.
2688//
2689//   * ErrCodeAccessDeniedException "AccessDeniedException"
2690//   You do not have sufficient access to perform this action.
2691//
2692//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2693//   The specified resource could not be found.
2694//
2695//   * ErrCodeConflictException "ConflictException"
2696//   There was a conflict processing the request. Updating or deleting the resource
2697//   can cause an inconsistent state.
2698//
2699//   * ErrCodeThrottlingException "ThrottlingException"
2700//   The request was denied due to request throttling.
2701//
2702//   * ErrCodeInternalServerException "InternalServerException"
2703//   The request has failed due to an internal error.
2704//
2705// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UntagResource
2706func (c *NetworkManager) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2707	req, out := c.UntagResourceRequest(input)
2708	return out, req.Send()
2709}
2710
2711// UntagResourceWithContext is the same as UntagResource with the addition of
2712// the ability to pass a context and additional request options.
2713//
2714// See UntagResource for details on how to use this API operation.
2715//
2716// The context must be non-nil and will be used for request cancellation. If
2717// the context is nil a panic will occur. In the future the SDK may create
2718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2719// for more information on using Contexts.
2720func (c *NetworkManager) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2721	req, out := c.UntagResourceRequest(input)
2722	req.SetContext(ctx)
2723	req.ApplyOptions(opts...)
2724	return out, req.Send()
2725}
2726
2727const opUpdateDevice = "UpdateDevice"
2728
2729// UpdateDeviceRequest generates a "aws/request.Request" representing the
2730// client's request for the UpdateDevice operation. The "output" return
2731// value will be populated with the request's response once the request completes
2732// successfully.
2733//
2734// Use "Send" method on the returned Request to send the API call to the service.
2735// the "output" return value is not valid until after Send returns without error.
2736//
2737// See UpdateDevice for more information on using the UpdateDevice
2738// API call, and error handling.
2739//
2740// This method is useful when you want to inject custom logic or configuration
2741// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2742//
2743//
2744//    // Example sending a request using the UpdateDeviceRequest method.
2745//    req, resp := client.UpdateDeviceRequest(params)
2746//
2747//    err := req.Send()
2748//    if err == nil { // resp is now filled
2749//        fmt.Println(resp)
2750//    }
2751//
2752// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateDevice
2753func (c *NetworkManager) UpdateDeviceRequest(input *UpdateDeviceInput) (req *request.Request, output *UpdateDeviceOutput) {
2754	op := &request.Operation{
2755		Name:       opUpdateDevice,
2756		HTTPMethod: "PATCH",
2757		HTTPPath:   "/global-networks/{globalNetworkId}/devices/{deviceId}",
2758	}
2759
2760	if input == nil {
2761		input = &UpdateDeviceInput{}
2762	}
2763
2764	output = &UpdateDeviceOutput{}
2765	req = c.newRequest(op, input, output)
2766	return
2767}
2768
2769// UpdateDevice API operation for AWS Network Manager.
2770//
2771// Updates the details for an existing device. To remove information for any
2772// of the parameters, specify an empty string.
2773//
2774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2775// with awserr.Error's Code and Message methods to get detailed information about
2776// the error.
2777//
2778// See the AWS API reference guide for AWS Network Manager's
2779// API operation UpdateDevice for usage and error information.
2780//
2781// Returned Error Codes:
2782//   * ErrCodeValidationException "ValidationException"
2783//   The input fails to satisfy the constraints.
2784//
2785//   * ErrCodeAccessDeniedException "AccessDeniedException"
2786//   You do not have sufficient access to perform this action.
2787//
2788//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2789//   The specified resource could not be found.
2790//
2791//   * ErrCodeConflictException "ConflictException"
2792//   There was a conflict processing the request. Updating or deleting the resource
2793//   can cause an inconsistent state.
2794//
2795//   * ErrCodeThrottlingException "ThrottlingException"
2796//   The request was denied due to request throttling.
2797//
2798//   * ErrCodeInternalServerException "InternalServerException"
2799//   The request has failed due to an internal error.
2800//
2801// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateDevice
2802func (c *NetworkManager) UpdateDevice(input *UpdateDeviceInput) (*UpdateDeviceOutput, error) {
2803	req, out := c.UpdateDeviceRequest(input)
2804	return out, req.Send()
2805}
2806
2807// UpdateDeviceWithContext is the same as UpdateDevice with the addition of
2808// the ability to pass a context and additional request options.
2809//
2810// See UpdateDevice for details on how to use this API operation.
2811//
2812// The context must be non-nil and will be used for request cancellation. If
2813// the context is nil a panic will occur. In the future the SDK may create
2814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2815// for more information on using Contexts.
2816func (c *NetworkManager) UpdateDeviceWithContext(ctx aws.Context, input *UpdateDeviceInput, opts ...request.Option) (*UpdateDeviceOutput, error) {
2817	req, out := c.UpdateDeviceRequest(input)
2818	req.SetContext(ctx)
2819	req.ApplyOptions(opts...)
2820	return out, req.Send()
2821}
2822
2823const opUpdateGlobalNetwork = "UpdateGlobalNetwork"
2824
2825// UpdateGlobalNetworkRequest generates a "aws/request.Request" representing the
2826// client's request for the UpdateGlobalNetwork operation. The "output" return
2827// value will be populated with the request's response once the request completes
2828// successfully.
2829//
2830// Use "Send" method on the returned Request to send the API call to the service.
2831// the "output" return value is not valid until after Send returns without error.
2832//
2833// See UpdateGlobalNetwork for more information on using the UpdateGlobalNetwork
2834// API call, and error handling.
2835//
2836// This method is useful when you want to inject custom logic or configuration
2837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2838//
2839//
2840//    // Example sending a request using the UpdateGlobalNetworkRequest method.
2841//    req, resp := client.UpdateGlobalNetworkRequest(params)
2842//
2843//    err := req.Send()
2844//    if err == nil { // resp is now filled
2845//        fmt.Println(resp)
2846//    }
2847//
2848// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateGlobalNetwork
2849func (c *NetworkManager) UpdateGlobalNetworkRequest(input *UpdateGlobalNetworkInput) (req *request.Request, output *UpdateGlobalNetworkOutput) {
2850	op := &request.Operation{
2851		Name:       opUpdateGlobalNetwork,
2852		HTTPMethod: "PATCH",
2853		HTTPPath:   "/global-networks/{globalNetworkId}",
2854	}
2855
2856	if input == nil {
2857		input = &UpdateGlobalNetworkInput{}
2858	}
2859
2860	output = &UpdateGlobalNetworkOutput{}
2861	req = c.newRequest(op, input, output)
2862	return
2863}
2864
2865// UpdateGlobalNetwork API operation for AWS Network Manager.
2866//
2867// Updates an existing global network. To remove information for any of the
2868// parameters, specify an empty string.
2869//
2870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2871// with awserr.Error's Code and Message methods to get detailed information about
2872// the error.
2873//
2874// See the AWS API reference guide for AWS Network Manager's
2875// API operation UpdateGlobalNetwork for usage and error information.
2876//
2877// Returned Error Codes:
2878//   * ErrCodeValidationException "ValidationException"
2879//   The input fails to satisfy the constraints.
2880//
2881//   * ErrCodeAccessDeniedException "AccessDeniedException"
2882//   You do not have sufficient access to perform this action.
2883//
2884//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2885//   The specified resource could not be found.
2886//
2887//   * ErrCodeConflictException "ConflictException"
2888//   There was a conflict processing the request. Updating or deleting the resource
2889//   can cause an inconsistent state.
2890//
2891//   * ErrCodeThrottlingException "ThrottlingException"
2892//   The request was denied due to request throttling.
2893//
2894//   * ErrCodeInternalServerException "InternalServerException"
2895//   The request has failed due to an internal error.
2896//
2897// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateGlobalNetwork
2898func (c *NetworkManager) UpdateGlobalNetwork(input *UpdateGlobalNetworkInput) (*UpdateGlobalNetworkOutput, error) {
2899	req, out := c.UpdateGlobalNetworkRequest(input)
2900	return out, req.Send()
2901}
2902
2903// UpdateGlobalNetworkWithContext is the same as UpdateGlobalNetwork with the addition of
2904// the ability to pass a context and additional request options.
2905//
2906// See UpdateGlobalNetwork for details on how to use this API operation.
2907//
2908// The context must be non-nil and will be used for request cancellation. If
2909// the context is nil a panic will occur. In the future the SDK may create
2910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2911// for more information on using Contexts.
2912func (c *NetworkManager) UpdateGlobalNetworkWithContext(ctx aws.Context, input *UpdateGlobalNetworkInput, opts ...request.Option) (*UpdateGlobalNetworkOutput, error) {
2913	req, out := c.UpdateGlobalNetworkRequest(input)
2914	req.SetContext(ctx)
2915	req.ApplyOptions(opts...)
2916	return out, req.Send()
2917}
2918
2919const opUpdateLink = "UpdateLink"
2920
2921// UpdateLinkRequest generates a "aws/request.Request" representing the
2922// client's request for the UpdateLink operation. The "output" return
2923// value will be populated with the request's response once the request completes
2924// successfully.
2925//
2926// Use "Send" method on the returned Request to send the API call to the service.
2927// the "output" return value is not valid until after Send returns without error.
2928//
2929// See UpdateLink for more information on using the UpdateLink
2930// API call, and error handling.
2931//
2932// This method is useful when you want to inject custom logic or configuration
2933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2934//
2935//
2936//    // Example sending a request using the UpdateLinkRequest method.
2937//    req, resp := client.UpdateLinkRequest(params)
2938//
2939//    err := req.Send()
2940//    if err == nil { // resp is now filled
2941//        fmt.Println(resp)
2942//    }
2943//
2944// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateLink
2945func (c *NetworkManager) UpdateLinkRequest(input *UpdateLinkInput) (req *request.Request, output *UpdateLinkOutput) {
2946	op := &request.Operation{
2947		Name:       opUpdateLink,
2948		HTTPMethod: "PATCH",
2949		HTTPPath:   "/global-networks/{globalNetworkId}/links/{linkId}",
2950	}
2951
2952	if input == nil {
2953		input = &UpdateLinkInput{}
2954	}
2955
2956	output = &UpdateLinkOutput{}
2957	req = c.newRequest(op, input, output)
2958	return
2959}
2960
2961// UpdateLink API operation for AWS Network Manager.
2962//
2963// Updates the details for an existing link. To remove information for any of
2964// the parameters, specify an empty string.
2965//
2966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2967// with awserr.Error's Code and Message methods to get detailed information about
2968// the error.
2969//
2970// See the AWS API reference guide for AWS Network Manager's
2971// API operation UpdateLink for usage and error information.
2972//
2973// Returned Error Codes:
2974//   * ErrCodeValidationException "ValidationException"
2975//   The input fails to satisfy the constraints.
2976//
2977//   * ErrCodeServiceQuotaExceededException "ServiceQuotaExceededException"
2978//   A service limit was exceeded.
2979//
2980//   * ErrCodeAccessDeniedException "AccessDeniedException"
2981//   You do not have sufficient access to perform this action.
2982//
2983//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2984//   The specified resource could not be found.
2985//
2986//   * ErrCodeConflictException "ConflictException"
2987//   There was a conflict processing the request. Updating or deleting the resource
2988//   can cause an inconsistent state.
2989//
2990//   * ErrCodeThrottlingException "ThrottlingException"
2991//   The request was denied due to request throttling.
2992//
2993//   * ErrCodeInternalServerException "InternalServerException"
2994//   The request has failed due to an internal error.
2995//
2996// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateLink
2997func (c *NetworkManager) UpdateLink(input *UpdateLinkInput) (*UpdateLinkOutput, error) {
2998	req, out := c.UpdateLinkRequest(input)
2999	return out, req.Send()
3000}
3001
3002// UpdateLinkWithContext is the same as UpdateLink with the addition of
3003// the ability to pass a context and additional request options.
3004//
3005// See UpdateLink for details on how to use this API operation.
3006//
3007// The context must be non-nil and will be used for request cancellation. If
3008// the context is nil a panic will occur. In the future the SDK may create
3009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3010// for more information on using Contexts.
3011func (c *NetworkManager) UpdateLinkWithContext(ctx aws.Context, input *UpdateLinkInput, opts ...request.Option) (*UpdateLinkOutput, error) {
3012	req, out := c.UpdateLinkRequest(input)
3013	req.SetContext(ctx)
3014	req.ApplyOptions(opts...)
3015	return out, req.Send()
3016}
3017
3018const opUpdateSite = "UpdateSite"
3019
3020// UpdateSiteRequest generates a "aws/request.Request" representing the
3021// client's request for the UpdateSite operation. The "output" return
3022// value will be populated with the request's response once the request completes
3023// successfully.
3024//
3025// Use "Send" method on the returned Request to send the API call to the service.
3026// the "output" return value is not valid until after Send returns without error.
3027//
3028// See UpdateSite for more information on using the UpdateSite
3029// API call, and error handling.
3030//
3031// This method is useful when you want to inject custom logic or configuration
3032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3033//
3034//
3035//    // Example sending a request using the UpdateSiteRequest method.
3036//    req, resp := client.UpdateSiteRequest(params)
3037//
3038//    err := req.Send()
3039//    if err == nil { // resp is now filled
3040//        fmt.Println(resp)
3041//    }
3042//
3043// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateSite
3044func (c *NetworkManager) UpdateSiteRequest(input *UpdateSiteInput) (req *request.Request, output *UpdateSiteOutput) {
3045	op := &request.Operation{
3046		Name:       opUpdateSite,
3047		HTTPMethod: "PATCH",
3048		HTTPPath:   "/global-networks/{globalNetworkId}/sites/{siteId}",
3049	}
3050
3051	if input == nil {
3052		input = &UpdateSiteInput{}
3053	}
3054
3055	output = &UpdateSiteOutput{}
3056	req = c.newRequest(op, input, output)
3057	return
3058}
3059
3060// UpdateSite API operation for AWS Network Manager.
3061//
3062// Updates the information for an existing site. To remove information for any
3063// of the parameters, specify an empty string.
3064//
3065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3066// with awserr.Error's Code and Message methods to get detailed information about
3067// the error.
3068//
3069// See the AWS API reference guide for AWS Network Manager's
3070// API operation UpdateSite for usage and error information.
3071//
3072// Returned Error Codes:
3073//   * ErrCodeValidationException "ValidationException"
3074//   The input fails to satisfy the constraints.
3075//
3076//   * ErrCodeAccessDeniedException "AccessDeniedException"
3077//   You do not have sufficient access to perform this action.
3078//
3079//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3080//   The specified resource could not be found.
3081//
3082//   * ErrCodeConflictException "ConflictException"
3083//   There was a conflict processing the request. Updating or deleting the resource
3084//   can cause an inconsistent state.
3085//
3086//   * ErrCodeThrottlingException "ThrottlingException"
3087//   The request was denied due to request throttling.
3088//
3089//   * ErrCodeInternalServerException "InternalServerException"
3090//   The request has failed due to an internal error.
3091//
3092// See also, https://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/UpdateSite
3093func (c *NetworkManager) UpdateSite(input *UpdateSiteInput) (*UpdateSiteOutput, error) {
3094	req, out := c.UpdateSiteRequest(input)
3095	return out, req.Send()
3096}
3097
3098// UpdateSiteWithContext is the same as UpdateSite with the addition of
3099// the ability to pass a context and additional request options.
3100//
3101// See UpdateSite for details on how to use this API operation.
3102//
3103// The context must be non-nil and will be used for request cancellation. If
3104// the context is nil a panic will occur. In the future the SDK may create
3105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3106// for more information on using Contexts.
3107func (c *NetworkManager) UpdateSiteWithContext(ctx aws.Context, input *UpdateSiteInput, opts ...request.Option) (*UpdateSiteOutput, error) {
3108	req, out := c.UpdateSiteRequest(input)
3109	req.SetContext(ctx)
3110	req.ApplyOptions(opts...)
3111	return out, req.Send()
3112}
3113
3114type AssociateCustomerGatewayInput struct {
3115	_ struct{} `type:"structure"`
3116
3117	// The Amazon Resource Name (ARN) of the customer gateway. For more information,
3118	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
3119	//
3120	// CustomerGatewayArn is a required field
3121	CustomerGatewayArn *string `type:"string" required:"true"`
3122
3123	// The ID of the device.
3124	//
3125	// DeviceId is a required field
3126	DeviceId *string `type:"string" required:"true"`
3127
3128	// The ID of the global network.
3129	//
3130	// GlobalNetworkId is a required field
3131	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3132
3133	// The ID of the link.
3134	LinkId *string `type:"string"`
3135}
3136
3137// String returns the string representation
3138func (s AssociateCustomerGatewayInput) String() string {
3139	return awsutil.Prettify(s)
3140}
3141
3142// GoString returns the string representation
3143func (s AssociateCustomerGatewayInput) GoString() string {
3144	return s.String()
3145}
3146
3147// Validate inspects the fields of the type to determine if they are valid.
3148func (s *AssociateCustomerGatewayInput) Validate() error {
3149	invalidParams := request.ErrInvalidParams{Context: "AssociateCustomerGatewayInput"}
3150	if s.CustomerGatewayArn == nil {
3151		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayArn"))
3152	}
3153	if s.DeviceId == nil {
3154		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
3155	}
3156	if s.GlobalNetworkId == nil {
3157		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
3158	}
3159	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
3160		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
3161	}
3162
3163	if invalidParams.Len() > 0 {
3164		return invalidParams
3165	}
3166	return nil
3167}
3168
3169// SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
3170func (s *AssociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *AssociateCustomerGatewayInput {
3171	s.CustomerGatewayArn = &v
3172	return s
3173}
3174
3175// SetDeviceId sets the DeviceId field's value.
3176func (s *AssociateCustomerGatewayInput) SetDeviceId(v string) *AssociateCustomerGatewayInput {
3177	s.DeviceId = &v
3178	return s
3179}
3180
3181// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3182func (s *AssociateCustomerGatewayInput) SetGlobalNetworkId(v string) *AssociateCustomerGatewayInput {
3183	s.GlobalNetworkId = &v
3184	return s
3185}
3186
3187// SetLinkId sets the LinkId field's value.
3188func (s *AssociateCustomerGatewayInput) SetLinkId(v string) *AssociateCustomerGatewayInput {
3189	s.LinkId = &v
3190	return s
3191}
3192
3193type AssociateCustomerGatewayOutput struct {
3194	_ struct{} `type:"structure"`
3195
3196	// The customer gateway association.
3197	CustomerGatewayAssociation *CustomerGatewayAssociation `type:"structure"`
3198}
3199
3200// String returns the string representation
3201func (s AssociateCustomerGatewayOutput) String() string {
3202	return awsutil.Prettify(s)
3203}
3204
3205// GoString returns the string representation
3206func (s AssociateCustomerGatewayOutput) GoString() string {
3207	return s.String()
3208}
3209
3210// SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
3211func (s *AssociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *AssociateCustomerGatewayOutput {
3212	s.CustomerGatewayAssociation = v
3213	return s
3214}
3215
3216type AssociateLinkInput struct {
3217	_ struct{} `type:"structure"`
3218
3219	// The ID of the device.
3220	//
3221	// DeviceId is a required field
3222	DeviceId *string `type:"string" required:"true"`
3223
3224	// The ID of the global network.
3225	//
3226	// GlobalNetworkId is a required field
3227	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3228
3229	// The ID of the link.
3230	//
3231	// LinkId is a required field
3232	LinkId *string `type:"string" required:"true"`
3233}
3234
3235// String returns the string representation
3236func (s AssociateLinkInput) String() string {
3237	return awsutil.Prettify(s)
3238}
3239
3240// GoString returns the string representation
3241func (s AssociateLinkInput) GoString() string {
3242	return s.String()
3243}
3244
3245// Validate inspects the fields of the type to determine if they are valid.
3246func (s *AssociateLinkInput) Validate() error {
3247	invalidParams := request.ErrInvalidParams{Context: "AssociateLinkInput"}
3248	if s.DeviceId == nil {
3249		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
3250	}
3251	if s.GlobalNetworkId == nil {
3252		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
3253	}
3254	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
3255		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
3256	}
3257	if s.LinkId == nil {
3258		invalidParams.Add(request.NewErrParamRequired("LinkId"))
3259	}
3260
3261	if invalidParams.Len() > 0 {
3262		return invalidParams
3263	}
3264	return nil
3265}
3266
3267// SetDeviceId sets the DeviceId field's value.
3268func (s *AssociateLinkInput) SetDeviceId(v string) *AssociateLinkInput {
3269	s.DeviceId = &v
3270	return s
3271}
3272
3273// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3274func (s *AssociateLinkInput) SetGlobalNetworkId(v string) *AssociateLinkInput {
3275	s.GlobalNetworkId = &v
3276	return s
3277}
3278
3279// SetLinkId sets the LinkId field's value.
3280func (s *AssociateLinkInput) SetLinkId(v string) *AssociateLinkInput {
3281	s.LinkId = &v
3282	return s
3283}
3284
3285type AssociateLinkOutput struct {
3286	_ struct{} `type:"structure"`
3287
3288	// The link association.
3289	LinkAssociation *LinkAssociation `type:"structure"`
3290}
3291
3292// String returns the string representation
3293func (s AssociateLinkOutput) String() string {
3294	return awsutil.Prettify(s)
3295}
3296
3297// GoString returns the string representation
3298func (s AssociateLinkOutput) GoString() string {
3299	return s.String()
3300}
3301
3302// SetLinkAssociation sets the LinkAssociation field's value.
3303func (s *AssociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *AssociateLinkOutput {
3304	s.LinkAssociation = v
3305	return s
3306}
3307
3308// Describes bandwidth information.
3309type Bandwidth struct {
3310	_ struct{} `type:"structure"`
3311
3312	// Download speed in Mbps.
3313	DownloadSpeed *int64 `type:"integer"`
3314
3315	// Upload speed in Mbps.
3316	UploadSpeed *int64 `type:"integer"`
3317}
3318
3319// String returns the string representation
3320func (s Bandwidth) String() string {
3321	return awsutil.Prettify(s)
3322}
3323
3324// GoString returns the string representation
3325func (s Bandwidth) GoString() string {
3326	return s.String()
3327}
3328
3329// SetDownloadSpeed sets the DownloadSpeed field's value.
3330func (s *Bandwidth) SetDownloadSpeed(v int64) *Bandwidth {
3331	s.DownloadSpeed = &v
3332	return s
3333}
3334
3335// SetUploadSpeed sets the UploadSpeed field's value.
3336func (s *Bandwidth) SetUploadSpeed(v int64) *Bandwidth {
3337	s.UploadSpeed = &v
3338	return s
3339}
3340
3341type CreateDeviceInput struct {
3342	_ struct{} `type:"structure"`
3343
3344	// A description of the device.
3345	//
3346	// Length Constraints: Maximum length of 256 characters.
3347	Description *string `type:"string"`
3348
3349	// The ID of the global network.
3350	//
3351	// GlobalNetworkId is a required field
3352	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3353
3354	// The location of the device.
3355	Location *Location `type:"structure"`
3356
3357	// The model of the device.
3358	//
3359	// Length Constraints: Maximum length of 128 characters.
3360	Model *string `type:"string"`
3361
3362	// The serial number of the device.
3363	//
3364	// Length Constraints: Maximum length of 128 characters.
3365	SerialNumber *string `type:"string"`
3366
3367	// The ID of the site.
3368	SiteId *string `type:"string"`
3369
3370	// The tags to apply to the resource during creation.
3371	Tags []*Tag `type:"list"`
3372
3373	// The type of the device.
3374	Type *string `type:"string"`
3375
3376	// The vendor of the device.
3377	//
3378	// Length Constraints: Maximum length of 128 characters.
3379	Vendor *string `type:"string"`
3380}
3381
3382// String returns the string representation
3383func (s CreateDeviceInput) String() string {
3384	return awsutil.Prettify(s)
3385}
3386
3387// GoString returns the string representation
3388func (s CreateDeviceInput) GoString() string {
3389	return s.String()
3390}
3391
3392// Validate inspects the fields of the type to determine if they are valid.
3393func (s *CreateDeviceInput) Validate() error {
3394	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceInput"}
3395	if s.GlobalNetworkId == nil {
3396		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
3397	}
3398	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
3399		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
3400	}
3401
3402	if invalidParams.Len() > 0 {
3403		return invalidParams
3404	}
3405	return nil
3406}
3407
3408// SetDescription sets the Description field's value.
3409func (s *CreateDeviceInput) SetDescription(v string) *CreateDeviceInput {
3410	s.Description = &v
3411	return s
3412}
3413
3414// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3415func (s *CreateDeviceInput) SetGlobalNetworkId(v string) *CreateDeviceInput {
3416	s.GlobalNetworkId = &v
3417	return s
3418}
3419
3420// SetLocation sets the Location field's value.
3421func (s *CreateDeviceInput) SetLocation(v *Location) *CreateDeviceInput {
3422	s.Location = v
3423	return s
3424}
3425
3426// SetModel sets the Model field's value.
3427func (s *CreateDeviceInput) SetModel(v string) *CreateDeviceInput {
3428	s.Model = &v
3429	return s
3430}
3431
3432// SetSerialNumber sets the SerialNumber field's value.
3433func (s *CreateDeviceInput) SetSerialNumber(v string) *CreateDeviceInput {
3434	s.SerialNumber = &v
3435	return s
3436}
3437
3438// SetSiteId sets the SiteId field's value.
3439func (s *CreateDeviceInput) SetSiteId(v string) *CreateDeviceInput {
3440	s.SiteId = &v
3441	return s
3442}
3443
3444// SetTags sets the Tags field's value.
3445func (s *CreateDeviceInput) SetTags(v []*Tag) *CreateDeviceInput {
3446	s.Tags = v
3447	return s
3448}
3449
3450// SetType sets the Type field's value.
3451func (s *CreateDeviceInput) SetType(v string) *CreateDeviceInput {
3452	s.Type = &v
3453	return s
3454}
3455
3456// SetVendor sets the Vendor field's value.
3457func (s *CreateDeviceInput) SetVendor(v string) *CreateDeviceInput {
3458	s.Vendor = &v
3459	return s
3460}
3461
3462type CreateDeviceOutput struct {
3463	_ struct{} `type:"structure"`
3464
3465	// Information about the device.
3466	Device *Device `type:"structure"`
3467}
3468
3469// String returns the string representation
3470func (s CreateDeviceOutput) String() string {
3471	return awsutil.Prettify(s)
3472}
3473
3474// GoString returns the string representation
3475func (s CreateDeviceOutput) GoString() string {
3476	return s.String()
3477}
3478
3479// SetDevice sets the Device field's value.
3480func (s *CreateDeviceOutput) SetDevice(v *Device) *CreateDeviceOutput {
3481	s.Device = v
3482	return s
3483}
3484
3485type CreateGlobalNetworkInput struct {
3486	_ struct{} `type:"structure"`
3487
3488	// A description of the global network.
3489	//
3490	// Length Constraints: Maximum length of 256 characters.
3491	Description *string `type:"string"`
3492
3493	// The tags to apply to the resource during creation.
3494	Tags []*Tag `type:"list"`
3495}
3496
3497// String returns the string representation
3498func (s CreateGlobalNetworkInput) String() string {
3499	return awsutil.Prettify(s)
3500}
3501
3502// GoString returns the string representation
3503func (s CreateGlobalNetworkInput) GoString() string {
3504	return s.String()
3505}
3506
3507// SetDescription sets the Description field's value.
3508func (s *CreateGlobalNetworkInput) SetDescription(v string) *CreateGlobalNetworkInput {
3509	s.Description = &v
3510	return s
3511}
3512
3513// SetTags sets the Tags field's value.
3514func (s *CreateGlobalNetworkInput) SetTags(v []*Tag) *CreateGlobalNetworkInput {
3515	s.Tags = v
3516	return s
3517}
3518
3519type CreateGlobalNetworkOutput struct {
3520	_ struct{} `type:"structure"`
3521
3522	// Information about the global network object.
3523	GlobalNetwork *GlobalNetwork `type:"structure"`
3524}
3525
3526// String returns the string representation
3527func (s CreateGlobalNetworkOutput) String() string {
3528	return awsutil.Prettify(s)
3529}
3530
3531// GoString returns the string representation
3532func (s CreateGlobalNetworkOutput) GoString() string {
3533	return s.String()
3534}
3535
3536// SetGlobalNetwork sets the GlobalNetwork field's value.
3537func (s *CreateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *CreateGlobalNetworkOutput {
3538	s.GlobalNetwork = v
3539	return s
3540}
3541
3542type CreateLinkInput struct {
3543	_ struct{} `type:"structure"`
3544
3545	// The upload speed and download speed in Mbps.
3546	//
3547	// Bandwidth is a required field
3548	Bandwidth *Bandwidth `type:"structure" required:"true"`
3549
3550	// A description of the link.
3551	//
3552	// Length Constraints: Maximum length of 256 characters.
3553	Description *string `type:"string"`
3554
3555	// The ID of the global network.
3556	//
3557	// GlobalNetworkId is a required field
3558	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3559
3560	// The provider of the link.
3561	//
3562	// Constraints: Cannot include the following characters: | \ ^
3563	//
3564	// Length Constraints: Maximum length of 128 characters.
3565	Provider *string `type:"string"`
3566
3567	// The ID of the site.
3568	//
3569	// SiteId is a required field
3570	SiteId *string `type:"string" required:"true"`
3571
3572	// The tags to apply to the resource during creation.
3573	Tags []*Tag `type:"list"`
3574
3575	// The type of the link.
3576	//
3577	// Constraints: Cannot include the following characters: | \ ^
3578	//
3579	// Length Constraints: Maximum length of 128 characters.
3580	Type *string `type:"string"`
3581}
3582
3583// String returns the string representation
3584func (s CreateLinkInput) String() string {
3585	return awsutil.Prettify(s)
3586}
3587
3588// GoString returns the string representation
3589func (s CreateLinkInput) GoString() string {
3590	return s.String()
3591}
3592
3593// Validate inspects the fields of the type to determine if they are valid.
3594func (s *CreateLinkInput) Validate() error {
3595	invalidParams := request.ErrInvalidParams{Context: "CreateLinkInput"}
3596	if s.Bandwidth == nil {
3597		invalidParams.Add(request.NewErrParamRequired("Bandwidth"))
3598	}
3599	if s.GlobalNetworkId == nil {
3600		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
3601	}
3602	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
3603		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
3604	}
3605	if s.SiteId == nil {
3606		invalidParams.Add(request.NewErrParamRequired("SiteId"))
3607	}
3608
3609	if invalidParams.Len() > 0 {
3610		return invalidParams
3611	}
3612	return nil
3613}
3614
3615// SetBandwidth sets the Bandwidth field's value.
3616func (s *CreateLinkInput) SetBandwidth(v *Bandwidth) *CreateLinkInput {
3617	s.Bandwidth = v
3618	return s
3619}
3620
3621// SetDescription sets the Description field's value.
3622func (s *CreateLinkInput) SetDescription(v string) *CreateLinkInput {
3623	s.Description = &v
3624	return s
3625}
3626
3627// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3628func (s *CreateLinkInput) SetGlobalNetworkId(v string) *CreateLinkInput {
3629	s.GlobalNetworkId = &v
3630	return s
3631}
3632
3633// SetProvider sets the Provider field's value.
3634func (s *CreateLinkInput) SetProvider(v string) *CreateLinkInput {
3635	s.Provider = &v
3636	return s
3637}
3638
3639// SetSiteId sets the SiteId field's value.
3640func (s *CreateLinkInput) SetSiteId(v string) *CreateLinkInput {
3641	s.SiteId = &v
3642	return s
3643}
3644
3645// SetTags sets the Tags field's value.
3646func (s *CreateLinkInput) SetTags(v []*Tag) *CreateLinkInput {
3647	s.Tags = v
3648	return s
3649}
3650
3651// SetType sets the Type field's value.
3652func (s *CreateLinkInput) SetType(v string) *CreateLinkInput {
3653	s.Type = &v
3654	return s
3655}
3656
3657type CreateLinkOutput struct {
3658	_ struct{} `type:"structure"`
3659
3660	// Information about the link.
3661	Link *Link `type:"structure"`
3662}
3663
3664// String returns the string representation
3665func (s CreateLinkOutput) String() string {
3666	return awsutil.Prettify(s)
3667}
3668
3669// GoString returns the string representation
3670func (s CreateLinkOutput) GoString() string {
3671	return s.String()
3672}
3673
3674// SetLink sets the Link field's value.
3675func (s *CreateLinkOutput) SetLink(v *Link) *CreateLinkOutput {
3676	s.Link = v
3677	return s
3678}
3679
3680type CreateSiteInput struct {
3681	_ struct{} `type:"structure"`
3682
3683	// A description of your site.
3684	//
3685	// Length Constraints: Maximum length of 256 characters.
3686	Description *string `type:"string"`
3687
3688	// The ID of the global network.
3689	//
3690	// GlobalNetworkId is a required field
3691	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3692
3693	// The site location. This information is used for visualization in the Network
3694	// Manager console. If you specify the address, the latitude and longitude are
3695	// automatically calculated.
3696	//
3697	//    * Address: The physical address of the site.
3698	//
3699	//    * Latitude: The latitude of the site.
3700	//
3701	//    * Longitude: The longitude of the site.
3702	Location *Location `type:"structure"`
3703
3704	// The tags to apply to the resource during creation.
3705	Tags []*Tag `type:"list"`
3706}
3707
3708// String returns the string representation
3709func (s CreateSiteInput) String() string {
3710	return awsutil.Prettify(s)
3711}
3712
3713// GoString returns the string representation
3714func (s CreateSiteInput) GoString() string {
3715	return s.String()
3716}
3717
3718// Validate inspects the fields of the type to determine if they are valid.
3719func (s *CreateSiteInput) Validate() error {
3720	invalidParams := request.ErrInvalidParams{Context: "CreateSiteInput"}
3721	if s.GlobalNetworkId == nil {
3722		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
3723	}
3724	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
3725		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
3726	}
3727
3728	if invalidParams.Len() > 0 {
3729		return invalidParams
3730	}
3731	return nil
3732}
3733
3734// SetDescription sets the Description field's value.
3735func (s *CreateSiteInput) SetDescription(v string) *CreateSiteInput {
3736	s.Description = &v
3737	return s
3738}
3739
3740// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3741func (s *CreateSiteInput) SetGlobalNetworkId(v string) *CreateSiteInput {
3742	s.GlobalNetworkId = &v
3743	return s
3744}
3745
3746// SetLocation sets the Location field's value.
3747func (s *CreateSiteInput) SetLocation(v *Location) *CreateSiteInput {
3748	s.Location = v
3749	return s
3750}
3751
3752// SetTags sets the Tags field's value.
3753func (s *CreateSiteInput) SetTags(v []*Tag) *CreateSiteInput {
3754	s.Tags = v
3755	return s
3756}
3757
3758type CreateSiteOutput struct {
3759	_ struct{} `type:"structure"`
3760
3761	// Information about the site.
3762	Site *Site `type:"structure"`
3763}
3764
3765// String returns the string representation
3766func (s CreateSiteOutput) String() string {
3767	return awsutil.Prettify(s)
3768}
3769
3770// GoString returns the string representation
3771func (s CreateSiteOutput) GoString() string {
3772	return s.String()
3773}
3774
3775// SetSite sets the Site field's value.
3776func (s *CreateSiteOutput) SetSite(v *Site) *CreateSiteOutput {
3777	s.Site = v
3778	return s
3779}
3780
3781// Describes the association between a customer gateway, a device, and a link.
3782type CustomerGatewayAssociation struct {
3783	_ struct{} `type:"structure"`
3784
3785	// The Amazon Resource Name (ARN) of the customer gateway.
3786	CustomerGatewayArn *string `type:"string"`
3787
3788	// The ID of the device.
3789	DeviceId *string `type:"string"`
3790
3791	// The ID of the global network.
3792	GlobalNetworkId *string `type:"string"`
3793
3794	// The ID of the link.
3795	LinkId *string `type:"string"`
3796
3797	// The association state.
3798	State *string `type:"string" enum:"CustomerGatewayAssociationState"`
3799}
3800
3801// String returns the string representation
3802func (s CustomerGatewayAssociation) String() string {
3803	return awsutil.Prettify(s)
3804}
3805
3806// GoString returns the string representation
3807func (s CustomerGatewayAssociation) GoString() string {
3808	return s.String()
3809}
3810
3811// SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
3812func (s *CustomerGatewayAssociation) SetCustomerGatewayArn(v string) *CustomerGatewayAssociation {
3813	s.CustomerGatewayArn = &v
3814	return s
3815}
3816
3817// SetDeviceId sets the DeviceId field's value.
3818func (s *CustomerGatewayAssociation) SetDeviceId(v string) *CustomerGatewayAssociation {
3819	s.DeviceId = &v
3820	return s
3821}
3822
3823// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3824func (s *CustomerGatewayAssociation) SetGlobalNetworkId(v string) *CustomerGatewayAssociation {
3825	s.GlobalNetworkId = &v
3826	return s
3827}
3828
3829// SetLinkId sets the LinkId field's value.
3830func (s *CustomerGatewayAssociation) SetLinkId(v string) *CustomerGatewayAssociation {
3831	s.LinkId = &v
3832	return s
3833}
3834
3835// SetState sets the State field's value.
3836func (s *CustomerGatewayAssociation) SetState(v string) *CustomerGatewayAssociation {
3837	s.State = &v
3838	return s
3839}
3840
3841type DeleteDeviceInput struct {
3842	_ struct{} `type:"structure"`
3843
3844	// The ID of the device.
3845	//
3846	// DeviceId is a required field
3847	DeviceId *string `location:"uri" locationName:"deviceId" type:"string" required:"true"`
3848
3849	// The ID of the global network.
3850	//
3851	// GlobalNetworkId is a required field
3852	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3853}
3854
3855// String returns the string representation
3856func (s DeleteDeviceInput) String() string {
3857	return awsutil.Prettify(s)
3858}
3859
3860// GoString returns the string representation
3861func (s DeleteDeviceInput) GoString() string {
3862	return s.String()
3863}
3864
3865// Validate inspects the fields of the type to determine if they are valid.
3866func (s *DeleteDeviceInput) Validate() error {
3867	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceInput"}
3868	if s.DeviceId == nil {
3869		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
3870	}
3871	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
3872		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
3873	}
3874	if s.GlobalNetworkId == nil {
3875		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
3876	}
3877	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
3878		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
3879	}
3880
3881	if invalidParams.Len() > 0 {
3882		return invalidParams
3883	}
3884	return nil
3885}
3886
3887// SetDeviceId sets the DeviceId field's value.
3888func (s *DeleteDeviceInput) SetDeviceId(v string) *DeleteDeviceInput {
3889	s.DeviceId = &v
3890	return s
3891}
3892
3893// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3894func (s *DeleteDeviceInput) SetGlobalNetworkId(v string) *DeleteDeviceInput {
3895	s.GlobalNetworkId = &v
3896	return s
3897}
3898
3899type DeleteDeviceOutput struct {
3900	_ struct{} `type:"structure"`
3901
3902	// Information about the device.
3903	Device *Device `type:"structure"`
3904}
3905
3906// String returns the string representation
3907func (s DeleteDeviceOutput) String() string {
3908	return awsutil.Prettify(s)
3909}
3910
3911// GoString returns the string representation
3912func (s DeleteDeviceOutput) GoString() string {
3913	return s.String()
3914}
3915
3916// SetDevice sets the Device field's value.
3917func (s *DeleteDeviceOutput) SetDevice(v *Device) *DeleteDeviceOutput {
3918	s.Device = v
3919	return s
3920}
3921
3922type DeleteGlobalNetworkInput struct {
3923	_ struct{} `type:"structure"`
3924
3925	// The ID of the global network.
3926	//
3927	// GlobalNetworkId is a required field
3928	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3929}
3930
3931// String returns the string representation
3932func (s DeleteGlobalNetworkInput) String() string {
3933	return awsutil.Prettify(s)
3934}
3935
3936// GoString returns the string representation
3937func (s DeleteGlobalNetworkInput) GoString() string {
3938	return s.String()
3939}
3940
3941// Validate inspects the fields of the type to determine if they are valid.
3942func (s *DeleteGlobalNetworkInput) Validate() error {
3943	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalNetworkInput"}
3944	if s.GlobalNetworkId == nil {
3945		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
3946	}
3947	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
3948		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
3949	}
3950
3951	if invalidParams.Len() > 0 {
3952		return invalidParams
3953	}
3954	return nil
3955}
3956
3957// SetGlobalNetworkId sets the GlobalNetworkId field's value.
3958func (s *DeleteGlobalNetworkInput) SetGlobalNetworkId(v string) *DeleteGlobalNetworkInput {
3959	s.GlobalNetworkId = &v
3960	return s
3961}
3962
3963type DeleteGlobalNetworkOutput struct {
3964	_ struct{} `type:"structure"`
3965
3966	// Information about the global network.
3967	GlobalNetwork *GlobalNetwork `type:"structure"`
3968}
3969
3970// String returns the string representation
3971func (s DeleteGlobalNetworkOutput) String() string {
3972	return awsutil.Prettify(s)
3973}
3974
3975// GoString returns the string representation
3976func (s DeleteGlobalNetworkOutput) GoString() string {
3977	return s.String()
3978}
3979
3980// SetGlobalNetwork sets the GlobalNetwork field's value.
3981func (s *DeleteGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *DeleteGlobalNetworkOutput {
3982	s.GlobalNetwork = v
3983	return s
3984}
3985
3986type DeleteLinkInput struct {
3987	_ struct{} `type:"structure"`
3988
3989	// The ID of the global network.
3990	//
3991	// GlobalNetworkId is a required field
3992	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
3993
3994	// The ID of the link.
3995	//
3996	// LinkId is a required field
3997	LinkId *string `location:"uri" locationName:"linkId" type:"string" required:"true"`
3998}
3999
4000// String returns the string representation
4001func (s DeleteLinkInput) String() string {
4002	return awsutil.Prettify(s)
4003}
4004
4005// GoString returns the string representation
4006func (s DeleteLinkInput) GoString() string {
4007	return s.String()
4008}
4009
4010// Validate inspects the fields of the type to determine if they are valid.
4011func (s *DeleteLinkInput) Validate() error {
4012	invalidParams := request.ErrInvalidParams{Context: "DeleteLinkInput"}
4013	if s.GlobalNetworkId == nil {
4014		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4015	}
4016	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4017		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4018	}
4019	if s.LinkId == nil {
4020		invalidParams.Add(request.NewErrParamRequired("LinkId"))
4021	}
4022	if s.LinkId != nil && len(*s.LinkId) < 1 {
4023		invalidParams.Add(request.NewErrParamMinLen("LinkId", 1))
4024	}
4025
4026	if invalidParams.Len() > 0 {
4027		return invalidParams
4028	}
4029	return nil
4030}
4031
4032// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4033func (s *DeleteLinkInput) SetGlobalNetworkId(v string) *DeleteLinkInput {
4034	s.GlobalNetworkId = &v
4035	return s
4036}
4037
4038// SetLinkId sets the LinkId field's value.
4039func (s *DeleteLinkInput) SetLinkId(v string) *DeleteLinkInput {
4040	s.LinkId = &v
4041	return s
4042}
4043
4044type DeleteLinkOutput struct {
4045	_ struct{} `type:"structure"`
4046
4047	// Information about the link.
4048	Link *Link `type:"structure"`
4049}
4050
4051// String returns the string representation
4052func (s DeleteLinkOutput) String() string {
4053	return awsutil.Prettify(s)
4054}
4055
4056// GoString returns the string representation
4057func (s DeleteLinkOutput) GoString() string {
4058	return s.String()
4059}
4060
4061// SetLink sets the Link field's value.
4062func (s *DeleteLinkOutput) SetLink(v *Link) *DeleteLinkOutput {
4063	s.Link = v
4064	return s
4065}
4066
4067type DeleteSiteInput struct {
4068	_ struct{} `type:"structure"`
4069
4070	// The ID of the global network.
4071	//
4072	// GlobalNetworkId is a required field
4073	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4074
4075	// The ID of the site.
4076	//
4077	// SiteId is a required field
4078	SiteId *string `location:"uri" locationName:"siteId" type:"string" required:"true"`
4079}
4080
4081// String returns the string representation
4082func (s DeleteSiteInput) String() string {
4083	return awsutil.Prettify(s)
4084}
4085
4086// GoString returns the string representation
4087func (s DeleteSiteInput) GoString() string {
4088	return s.String()
4089}
4090
4091// Validate inspects the fields of the type to determine if they are valid.
4092func (s *DeleteSiteInput) Validate() error {
4093	invalidParams := request.ErrInvalidParams{Context: "DeleteSiteInput"}
4094	if s.GlobalNetworkId == nil {
4095		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4096	}
4097	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4098		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4099	}
4100	if s.SiteId == nil {
4101		invalidParams.Add(request.NewErrParamRequired("SiteId"))
4102	}
4103	if s.SiteId != nil && len(*s.SiteId) < 1 {
4104		invalidParams.Add(request.NewErrParamMinLen("SiteId", 1))
4105	}
4106
4107	if invalidParams.Len() > 0 {
4108		return invalidParams
4109	}
4110	return nil
4111}
4112
4113// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4114func (s *DeleteSiteInput) SetGlobalNetworkId(v string) *DeleteSiteInput {
4115	s.GlobalNetworkId = &v
4116	return s
4117}
4118
4119// SetSiteId sets the SiteId field's value.
4120func (s *DeleteSiteInput) SetSiteId(v string) *DeleteSiteInput {
4121	s.SiteId = &v
4122	return s
4123}
4124
4125type DeleteSiteOutput struct {
4126	_ struct{} `type:"structure"`
4127
4128	// Information about the site.
4129	Site *Site `type:"structure"`
4130}
4131
4132// String returns the string representation
4133func (s DeleteSiteOutput) String() string {
4134	return awsutil.Prettify(s)
4135}
4136
4137// GoString returns the string representation
4138func (s DeleteSiteOutput) GoString() string {
4139	return s.String()
4140}
4141
4142// SetSite sets the Site field's value.
4143func (s *DeleteSiteOutput) SetSite(v *Site) *DeleteSiteOutput {
4144	s.Site = v
4145	return s
4146}
4147
4148type DeregisterTransitGatewayInput struct {
4149	_ struct{} `type:"structure"`
4150
4151	// The ID of the global network.
4152	//
4153	// GlobalNetworkId is a required field
4154	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4155
4156	// The Amazon Resource Name (ARN) of the transit gateway.
4157	//
4158	// TransitGatewayArn is a required field
4159	TransitGatewayArn *string `location:"uri" locationName:"transitGatewayArn" type:"string" required:"true"`
4160}
4161
4162// String returns the string representation
4163func (s DeregisterTransitGatewayInput) String() string {
4164	return awsutil.Prettify(s)
4165}
4166
4167// GoString returns the string representation
4168func (s DeregisterTransitGatewayInput) GoString() string {
4169	return s.String()
4170}
4171
4172// Validate inspects the fields of the type to determine if they are valid.
4173func (s *DeregisterTransitGatewayInput) Validate() error {
4174	invalidParams := request.ErrInvalidParams{Context: "DeregisterTransitGatewayInput"}
4175	if s.GlobalNetworkId == nil {
4176		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4177	}
4178	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4179		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4180	}
4181	if s.TransitGatewayArn == nil {
4182		invalidParams.Add(request.NewErrParamRequired("TransitGatewayArn"))
4183	}
4184	if s.TransitGatewayArn != nil && len(*s.TransitGatewayArn) < 1 {
4185		invalidParams.Add(request.NewErrParamMinLen("TransitGatewayArn", 1))
4186	}
4187
4188	if invalidParams.Len() > 0 {
4189		return invalidParams
4190	}
4191	return nil
4192}
4193
4194// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4195func (s *DeregisterTransitGatewayInput) SetGlobalNetworkId(v string) *DeregisterTransitGatewayInput {
4196	s.GlobalNetworkId = &v
4197	return s
4198}
4199
4200// SetTransitGatewayArn sets the TransitGatewayArn field's value.
4201func (s *DeregisterTransitGatewayInput) SetTransitGatewayArn(v string) *DeregisterTransitGatewayInput {
4202	s.TransitGatewayArn = &v
4203	return s
4204}
4205
4206type DeregisterTransitGatewayOutput struct {
4207	_ struct{} `type:"structure"`
4208
4209	// The transit gateway registration information.
4210	TransitGatewayRegistration *TransitGatewayRegistration `type:"structure"`
4211}
4212
4213// String returns the string representation
4214func (s DeregisterTransitGatewayOutput) String() string {
4215	return awsutil.Prettify(s)
4216}
4217
4218// GoString returns the string representation
4219func (s DeregisterTransitGatewayOutput) GoString() string {
4220	return s.String()
4221}
4222
4223// SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
4224func (s *DeregisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *DeregisterTransitGatewayOutput {
4225	s.TransitGatewayRegistration = v
4226	return s
4227}
4228
4229type DescribeGlobalNetworksInput struct {
4230	_ struct{} `type:"structure"`
4231
4232	// The IDs of one or more global networks. The maximum is 10.
4233	GlobalNetworkIds []*string `location:"querystring" locationName:"globalNetworkIds" type:"list"`
4234
4235	// The maximum number of results to return.
4236	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4237
4238	// The token for the next page of results.
4239	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4240}
4241
4242// String returns the string representation
4243func (s DescribeGlobalNetworksInput) String() string {
4244	return awsutil.Prettify(s)
4245}
4246
4247// GoString returns the string representation
4248func (s DescribeGlobalNetworksInput) GoString() string {
4249	return s.String()
4250}
4251
4252// Validate inspects the fields of the type to determine if they are valid.
4253func (s *DescribeGlobalNetworksInput) Validate() error {
4254	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalNetworksInput"}
4255	if s.MaxResults != nil && *s.MaxResults < 1 {
4256		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4257	}
4258
4259	if invalidParams.Len() > 0 {
4260		return invalidParams
4261	}
4262	return nil
4263}
4264
4265// SetGlobalNetworkIds sets the GlobalNetworkIds field's value.
4266func (s *DescribeGlobalNetworksInput) SetGlobalNetworkIds(v []*string) *DescribeGlobalNetworksInput {
4267	s.GlobalNetworkIds = v
4268	return s
4269}
4270
4271// SetMaxResults sets the MaxResults field's value.
4272func (s *DescribeGlobalNetworksInput) SetMaxResults(v int64) *DescribeGlobalNetworksInput {
4273	s.MaxResults = &v
4274	return s
4275}
4276
4277// SetNextToken sets the NextToken field's value.
4278func (s *DescribeGlobalNetworksInput) SetNextToken(v string) *DescribeGlobalNetworksInput {
4279	s.NextToken = &v
4280	return s
4281}
4282
4283type DescribeGlobalNetworksOutput struct {
4284	_ struct{} `type:"structure"`
4285
4286	// Information about the global networks.
4287	GlobalNetworks []*GlobalNetwork `type:"list"`
4288
4289	// The token for the next page of results.
4290	NextToken *string `type:"string"`
4291}
4292
4293// String returns the string representation
4294func (s DescribeGlobalNetworksOutput) String() string {
4295	return awsutil.Prettify(s)
4296}
4297
4298// GoString returns the string representation
4299func (s DescribeGlobalNetworksOutput) GoString() string {
4300	return s.String()
4301}
4302
4303// SetGlobalNetworks sets the GlobalNetworks field's value.
4304func (s *DescribeGlobalNetworksOutput) SetGlobalNetworks(v []*GlobalNetwork) *DescribeGlobalNetworksOutput {
4305	s.GlobalNetworks = v
4306	return s
4307}
4308
4309// SetNextToken sets the NextToken field's value.
4310func (s *DescribeGlobalNetworksOutput) SetNextToken(v string) *DescribeGlobalNetworksOutput {
4311	s.NextToken = &v
4312	return s
4313}
4314
4315// Describes a device.
4316type Device struct {
4317	_ struct{} `type:"structure"`
4318
4319	// The date and time that the site was created.
4320	CreatedAt *time.Time `type:"timestamp"`
4321
4322	// The description of the device.
4323	Description *string `type:"string"`
4324
4325	// The Amazon Resource Name (ARN) of the device.
4326	DeviceArn *string `type:"string"`
4327
4328	// The ID of the device.
4329	DeviceId *string `type:"string"`
4330
4331	// The ID of the global network.
4332	GlobalNetworkId *string `type:"string"`
4333
4334	// The site location.
4335	Location *Location `type:"structure"`
4336
4337	// The device model.
4338	Model *string `type:"string"`
4339
4340	// The device serial number.
4341	SerialNumber *string `type:"string"`
4342
4343	// The site ID.
4344	SiteId *string `type:"string"`
4345
4346	// The device state.
4347	State *string `type:"string" enum:"DeviceState"`
4348
4349	// The tags for the device.
4350	Tags []*Tag `type:"list"`
4351
4352	// The device type.
4353	Type *string `type:"string"`
4354
4355	// The device vendor.
4356	Vendor *string `type:"string"`
4357}
4358
4359// String returns the string representation
4360func (s Device) String() string {
4361	return awsutil.Prettify(s)
4362}
4363
4364// GoString returns the string representation
4365func (s Device) GoString() string {
4366	return s.String()
4367}
4368
4369// SetCreatedAt sets the CreatedAt field's value.
4370func (s *Device) SetCreatedAt(v time.Time) *Device {
4371	s.CreatedAt = &v
4372	return s
4373}
4374
4375// SetDescription sets the Description field's value.
4376func (s *Device) SetDescription(v string) *Device {
4377	s.Description = &v
4378	return s
4379}
4380
4381// SetDeviceArn sets the DeviceArn field's value.
4382func (s *Device) SetDeviceArn(v string) *Device {
4383	s.DeviceArn = &v
4384	return s
4385}
4386
4387// SetDeviceId sets the DeviceId field's value.
4388func (s *Device) SetDeviceId(v string) *Device {
4389	s.DeviceId = &v
4390	return s
4391}
4392
4393// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4394func (s *Device) SetGlobalNetworkId(v string) *Device {
4395	s.GlobalNetworkId = &v
4396	return s
4397}
4398
4399// SetLocation sets the Location field's value.
4400func (s *Device) SetLocation(v *Location) *Device {
4401	s.Location = v
4402	return s
4403}
4404
4405// SetModel sets the Model field's value.
4406func (s *Device) SetModel(v string) *Device {
4407	s.Model = &v
4408	return s
4409}
4410
4411// SetSerialNumber sets the SerialNumber field's value.
4412func (s *Device) SetSerialNumber(v string) *Device {
4413	s.SerialNumber = &v
4414	return s
4415}
4416
4417// SetSiteId sets the SiteId field's value.
4418func (s *Device) SetSiteId(v string) *Device {
4419	s.SiteId = &v
4420	return s
4421}
4422
4423// SetState sets the State field's value.
4424func (s *Device) SetState(v string) *Device {
4425	s.State = &v
4426	return s
4427}
4428
4429// SetTags sets the Tags field's value.
4430func (s *Device) SetTags(v []*Tag) *Device {
4431	s.Tags = v
4432	return s
4433}
4434
4435// SetType sets the Type field's value.
4436func (s *Device) SetType(v string) *Device {
4437	s.Type = &v
4438	return s
4439}
4440
4441// SetVendor sets the Vendor field's value.
4442func (s *Device) SetVendor(v string) *Device {
4443	s.Vendor = &v
4444	return s
4445}
4446
4447type DisassociateCustomerGatewayInput struct {
4448	_ struct{} `type:"structure"`
4449
4450	// The Amazon Resource Name (ARN) of the customer gateway. For more information,
4451	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
4452	//
4453	// CustomerGatewayArn is a required field
4454	CustomerGatewayArn *string `location:"uri" locationName:"customerGatewayArn" type:"string" required:"true"`
4455
4456	// The ID of the global network.
4457	//
4458	// GlobalNetworkId is a required field
4459	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4460}
4461
4462// String returns the string representation
4463func (s DisassociateCustomerGatewayInput) String() string {
4464	return awsutil.Prettify(s)
4465}
4466
4467// GoString returns the string representation
4468func (s DisassociateCustomerGatewayInput) GoString() string {
4469	return s.String()
4470}
4471
4472// Validate inspects the fields of the type to determine if they are valid.
4473func (s *DisassociateCustomerGatewayInput) Validate() error {
4474	invalidParams := request.ErrInvalidParams{Context: "DisassociateCustomerGatewayInput"}
4475	if s.CustomerGatewayArn == nil {
4476		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayArn"))
4477	}
4478	if s.CustomerGatewayArn != nil && len(*s.CustomerGatewayArn) < 1 {
4479		invalidParams.Add(request.NewErrParamMinLen("CustomerGatewayArn", 1))
4480	}
4481	if s.GlobalNetworkId == nil {
4482		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4483	}
4484	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4485		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4486	}
4487
4488	if invalidParams.Len() > 0 {
4489		return invalidParams
4490	}
4491	return nil
4492}
4493
4494// SetCustomerGatewayArn sets the CustomerGatewayArn field's value.
4495func (s *DisassociateCustomerGatewayInput) SetCustomerGatewayArn(v string) *DisassociateCustomerGatewayInput {
4496	s.CustomerGatewayArn = &v
4497	return s
4498}
4499
4500// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4501func (s *DisassociateCustomerGatewayInput) SetGlobalNetworkId(v string) *DisassociateCustomerGatewayInput {
4502	s.GlobalNetworkId = &v
4503	return s
4504}
4505
4506type DisassociateCustomerGatewayOutput struct {
4507	_ struct{} `type:"structure"`
4508
4509	// Information about the customer gateway association.
4510	CustomerGatewayAssociation *CustomerGatewayAssociation `type:"structure"`
4511}
4512
4513// String returns the string representation
4514func (s DisassociateCustomerGatewayOutput) String() string {
4515	return awsutil.Prettify(s)
4516}
4517
4518// GoString returns the string representation
4519func (s DisassociateCustomerGatewayOutput) GoString() string {
4520	return s.String()
4521}
4522
4523// SetCustomerGatewayAssociation sets the CustomerGatewayAssociation field's value.
4524func (s *DisassociateCustomerGatewayOutput) SetCustomerGatewayAssociation(v *CustomerGatewayAssociation) *DisassociateCustomerGatewayOutput {
4525	s.CustomerGatewayAssociation = v
4526	return s
4527}
4528
4529type DisassociateLinkInput struct {
4530	_ struct{} `type:"structure"`
4531
4532	// The ID of the device.
4533	//
4534	// DeviceId is a required field
4535	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string" required:"true"`
4536
4537	// The ID of the global network.
4538	//
4539	// GlobalNetworkId is a required field
4540	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4541
4542	// The ID of the link.
4543	//
4544	// LinkId is a required field
4545	LinkId *string `location:"querystring" locationName:"linkId" type:"string" required:"true"`
4546}
4547
4548// String returns the string representation
4549func (s DisassociateLinkInput) String() string {
4550	return awsutil.Prettify(s)
4551}
4552
4553// GoString returns the string representation
4554func (s DisassociateLinkInput) GoString() string {
4555	return s.String()
4556}
4557
4558// Validate inspects the fields of the type to determine if they are valid.
4559func (s *DisassociateLinkInput) Validate() error {
4560	invalidParams := request.ErrInvalidParams{Context: "DisassociateLinkInput"}
4561	if s.DeviceId == nil {
4562		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
4563	}
4564	if s.GlobalNetworkId == nil {
4565		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4566	}
4567	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4568		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4569	}
4570	if s.LinkId == nil {
4571		invalidParams.Add(request.NewErrParamRequired("LinkId"))
4572	}
4573
4574	if invalidParams.Len() > 0 {
4575		return invalidParams
4576	}
4577	return nil
4578}
4579
4580// SetDeviceId sets the DeviceId field's value.
4581func (s *DisassociateLinkInput) SetDeviceId(v string) *DisassociateLinkInput {
4582	s.DeviceId = &v
4583	return s
4584}
4585
4586// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4587func (s *DisassociateLinkInput) SetGlobalNetworkId(v string) *DisassociateLinkInput {
4588	s.GlobalNetworkId = &v
4589	return s
4590}
4591
4592// SetLinkId sets the LinkId field's value.
4593func (s *DisassociateLinkInput) SetLinkId(v string) *DisassociateLinkInput {
4594	s.LinkId = &v
4595	return s
4596}
4597
4598type DisassociateLinkOutput struct {
4599	_ struct{} `type:"structure"`
4600
4601	// Information about the link association.
4602	LinkAssociation *LinkAssociation `type:"structure"`
4603}
4604
4605// String returns the string representation
4606func (s DisassociateLinkOutput) String() string {
4607	return awsutil.Prettify(s)
4608}
4609
4610// GoString returns the string representation
4611func (s DisassociateLinkOutput) GoString() string {
4612	return s.String()
4613}
4614
4615// SetLinkAssociation sets the LinkAssociation field's value.
4616func (s *DisassociateLinkOutput) SetLinkAssociation(v *LinkAssociation) *DisassociateLinkOutput {
4617	s.LinkAssociation = v
4618	return s
4619}
4620
4621type GetCustomerGatewayAssociationsInput struct {
4622	_ struct{} `type:"structure"`
4623
4624	// One or more customer gateway Amazon Resource Names (ARNs). For more information,
4625	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
4626	// The maximum is 10.
4627	CustomerGatewayArns []*string `location:"querystring" locationName:"customerGatewayArns" type:"list"`
4628
4629	// The ID of the global network.
4630	//
4631	// GlobalNetworkId is a required field
4632	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4633
4634	// The maximum number of results to return.
4635	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4636
4637	// The token for the next page of results.
4638	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4639}
4640
4641// String returns the string representation
4642func (s GetCustomerGatewayAssociationsInput) String() string {
4643	return awsutil.Prettify(s)
4644}
4645
4646// GoString returns the string representation
4647func (s GetCustomerGatewayAssociationsInput) GoString() string {
4648	return s.String()
4649}
4650
4651// Validate inspects the fields of the type to determine if they are valid.
4652func (s *GetCustomerGatewayAssociationsInput) Validate() error {
4653	invalidParams := request.ErrInvalidParams{Context: "GetCustomerGatewayAssociationsInput"}
4654	if s.GlobalNetworkId == nil {
4655		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4656	}
4657	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4658		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4659	}
4660	if s.MaxResults != nil && *s.MaxResults < 1 {
4661		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4662	}
4663
4664	if invalidParams.Len() > 0 {
4665		return invalidParams
4666	}
4667	return nil
4668}
4669
4670// SetCustomerGatewayArns sets the CustomerGatewayArns field's value.
4671func (s *GetCustomerGatewayAssociationsInput) SetCustomerGatewayArns(v []*string) *GetCustomerGatewayAssociationsInput {
4672	s.CustomerGatewayArns = v
4673	return s
4674}
4675
4676// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4677func (s *GetCustomerGatewayAssociationsInput) SetGlobalNetworkId(v string) *GetCustomerGatewayAssociationsInput {
4678	s.GlobalNetworkId = &v
4679	return s
4680}
4681
4682// SetMaxResults sets the MaxResults field's value.
4683func (s *GetCustomerGatewayAssociationsInput) SetMaxResults(v int64) *GetCustomerGatewayAssociationsInput {
4684	s.MaxResults = &v
4685	return s
4686}
4687
4688// SetNextToken sets the NextToken field's value.
4689func (s *GetCustomerGatewayAssociationsInput) SetNextToken(v string) *GetCustomerGatewayAssociationsInput {
4690	s.NextToken = &v
4691	return s
4692}
4693
4694type GetCustomerGatewayAssociationsOutput struct {
4695	_ struct{} `type:"structure"`
4696
4697	// The customer gateway associations.
4698	CustomerGatewayAssociations []*CustomerGatewayAssociation `type:"list"`
4699
4700	// The token for the next page of results.
4701	NextToken *string `type:"string"`
4702}
4703
4704// String returns the string representation
4705func (s GetCustomerGatewayAssociationsOutput) String() string {
4706	return awsutil.Prettify(s)
4707}
4708
4709// GoString returns the string representation
4710func (s GetCustomerGatewayAssociationsOutput) GoString() string {
4711	return s.String()
4712}
4713
4714// SetCustomerGatewayAssociations sets the CustomerGatewayAssociations field's value.
4715func (s *GetCustomerGatewayAssociationsOutput) SetCustomerGatewayAssociations(v []*CustomerGatewayAssociation) *GetCustomerGatewayAssociationsOutput {
4716	s.CustomerGatewayAssociations = v
4717	return s
4718}
4719
4720// SetNextToken sets the NextToken field's value.
4721func (s *GetCustomerGatewayAssociationsOutput) SetNextToken(v string) *GetCustomerGatewayAssociationsOutput {
4722	s.NextToken = &v
4723	return s
4724}
4725
4726type GetDevicesInput struct {
4727	_ struct{} `type:"structure"`
4728
4729	// One or more device IDs. The maximum is 10.
4730	DeviceIds []*string `location:"querystring" locationName:"deviceIds" type:"list"`
4731
4732	// The ID of the global network.
4733	//
4734	// GlobalNetworkId is a required field
4735	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4736
4737	// The maximum number of results to return.
4738	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4739
4740	// The token for the next page of results.
4741	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4742
4743	// The ID of the site.
4744	SiteId *string `location:"querystring" locationName:"siteId" type:"string"`
4745}
4746
4747// String returns the string representation
4748func (s GetDevicesInput) String() string {
4749	return awsutil.Prettify(s)
4750}
4751
4752// GoString returns the string representation
4753func (s GetDevicesInput) GoString() string {
4754	return s.String()
4755}
4756
4757// Validate inspects the fields of the type to determine if they are valid.
4758func (s *GetDevicesInput) Validate() error {
4759	invalidParams := request.ErrInvalidParams{Context: "GetDevicesInput"}
4760	if s.GlobalNetworkId == nil {
4761		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4762	}
4763	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4764		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4765	}
4766	if s.MaxResults != nil && *s.MaxResults < 1 {
4767		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4768	}
4769
4770	if invalidParams.Len() > 0 {
4771		return invalidParams
4772	}
4773	return nil
4774}
4775
4776// SetDeviceIds sets the DeviceIds field's value.
4777func (s *GetDevicesInput) SetDeviceIds(v []*string) *GetDevicesInput {
4778	s.DeviceIds = v
4779	return s
4780}
4781
4782// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4783func (s *GetDevicesInput) SetGlobalNetworkId(v string) *GetDevicesInput {
4784	s.GlobalNetworkId = &v
4785	return s
4786}
4787
4788// SetMaxResults sets the MaxResults field's value.
4789func (s *GetDevicesInput) SetMaxResults(v int64) *GetDevicesInput {
4790	s.MaxResults = &v
4791	return s
4792}
4793
4794// SetNextToken sets the NextToken field's value.
4795func (s *GetDevicesInput) SetNextToken(v string) *GetDevicesInput {
4796	s.NextToken = &v
4797	return s
4798}
4799
4800// SetSiteId sets the SiteId field's value.
4801func (s *GetDevicesInput) SetSiteId(v string) *GetDevicesInput {
4802	s.SiteId = &v
4803	return s
4804}
4805
4806type GetDevicesOutput struct {
4807	_ struct{} `type:"structure"`
4808
4809	// The devices.
4810	Devices []*Device `type:"list"`
4811
4812	// The token for the next page of results.
4813	NextToken *string `type:"string"`
4814}
4815
4816// String returns the string representation
4817func (s GetDevicesOutput) String() string {
4818	return awsutil.Prettify(s)
4819}
4820
4821// GoString returns the string representation
4822func (s GetDevicesOutput) GoString() string {
4823	return s.String()
4824}
4825
4826// SetDevices sets the Devices field's value.
4827func (s *GetDevicesOutput) SetDevices(v []*Device) *GetDevicesOutput {
4828	s.Devices = v
4829	return s
4830}
4831
4832// SetNextToken sets the NextToken field's value.
4833func (s *GetDevicesOutput) SetNextToken(v string) *GetDevicesOutput {
4834	s.NextToken = &v
4835	return s
4836}
4837
4838type GetLinkAssociationsInput struct {
4839	_ struct{} `type:"structure"`
4840
4841	// The ID of the device.
4842	DeviceId *string `location:"querystring" locationName:"deviceId" type:"string"`
4843
4844	// The ID of the global network.
4845	//
4846	// GlobalNetworkId is a required field
4847	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4848
4849	// The ID of the link.
4850	LinkId *string `location:"querystring" locationName:"linkId" type:"string"`
4851
4852	// The maximum number of results to return.
4853	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4854
4855	// The token for the next page of results.
4856	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4857}
4858
4859// String returns the string representation
4860func (s GetLinkAssociationsInput) String() string {
4861	return awsutil.Prettify(s)
4862}
4863
4864// GoString returns the string representation
4865func (s GetLinkAssociationsInput) GoString() string {
4866	return s.String()
4867}
4868
4869// Validate inspects the fields of the type to determine if they are valid.
4870func (s *GetLinkAssociationsInput) Validate() error {
4871	invalidParams := request.ErrInvalidParams{Context: "GetLinkAssociationsInput"}
4872	if s.GlobalNetworkId == nil {
4873		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4874	}
4875	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4876		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4877	}
4878	if s.MaxResults != nil && *s.MaxResults < 1 {
4879		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4880	}
4881
4882	if invalidParams.Len() > 0 {
4883		return invalidParams
4884	}
4885	return nil
4886}
4887
4888// SetDeviceId sets the DeviceId field's value.
4889func (s *GetLinkAssociationsInput) SetDeviceId(v string) *GetLinkAssociationsInput {
4890	s.DeviceId = &v
4891	return s
4892}
4893
4894// SetGlobalNetworkId sets the GlobalNetworkId field's value.
4895func (s *GetLinkAssociationsInput) SetGlobalNetworkId(v string) *GetLinkAssociationsInput {
4896	s.GlobalNetworkId = &v
4897	return s
4898}
4899
4900// SetLinkId sets the LinkId field's value.
4901func (s *GetLinkAssociationsInput) SetLinkId(v string) *GetLinkAssociationsInput {
4902	s.LinkId = &v
4903	return s
4904}
4905
4906// SetMaxResults sets the MaxResults field's value.
4907func (s *GetLinkAssociationsInput) SetMaxResults(v int64) *GetLinkAssociationsInput {
4908	s.MaxResults = &v
4909	return s
4910}
4911
4912// SetNextToken sets the NextToken field's value.
4913func (s *GetLinkAssociationsInput) SetNextToken(v string) *GetLinkAssociationsInput {
4914	s.NextToken = &v
4915	return s
4916}
4917
4918type GetLinkAssociationsOutput struct {
4919	_ struct{} `type:"structure"`
4920
4921	// The link associations.
4922	LinkAssociations []*LinkAssociation `type:"list"`
4923
4924	// The token for the next page of results.
4925	NextToken *string `type:"string"`
4926}
4927
4928// String returns the string representation
4929func (s GetLinkAssociationsOutput) String() string {
4930	return awsutil.Prettify(s)
4931}
4932
4933// GoString returns the string representation
4934func (s GetLinkAssociationsOutput) GoString() string {
4935	return s.String()
4936}
4937
4938// SetLinkAssociations sets the LinkAssociations field's value.
4939func (s *GetLinkAssociationsOutput) SetLinkAssociations(v []*LinkAssociation) *GetLinkAssociationsOutput {
4940	s.LinkAssociations = v
4941	return s
4942}
4943
4944// SetNextToken sets the NextToken field's value.
4945func (s *GetLinkAssociationsOutput) SetNextToken(v string) *GetLinkAssociationsOutput {
4946	s.NextToken = &v
4947	return s
4948}
4949
4950type GetLinksInput struct {
4951	_ struct{} `type:"structure"`
4952
4953	// The ID of the global network.
4954	//
4955	// GlobalNetworkId is a required field
4956	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
4957
4958	// One or more link IDs. The maximum is 10.
4959	LinkIds []*string `location:"querystring" locationName:"linkIds" type:"list"`
4960
4961	// The maximum number of results to return.
4962	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
4963
4964	// The token for the next page of results.
4965	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
4966
4967	// The link provider.
4968	Provider *string `location:"querystring" locationName:"provider" type:"string"`
4969
4970	// The ID of the site.
4971	SiteId *string `location:"querystring" locationName:"siteId" type:"string"`
4972
4973	// The link type.
4974	Type *string `location:"querystring" locationName:"type" type:"string"`
4975}
4976
4977// String returns the string representation
4978func (s GetLinksInput) String() string {
4979	return awsutil.Prettify(s)
4980}
4981
4982// GoString returns the string representation
4983func (s GetLinksInput) GoString() string {
4984	return s.String()
4985}
4986
4987// Validate inspects the fields of the type to determine if they are valid.
4988func (s *GetLinksInput) Validate() error {
4989	invalidParams := request.ErrInvalidParams{Context: "GetLinksInput"}
4990	if s.GlobalNetworkId == nil {
4991		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
4992	}
4993	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
4994		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
4995	}
4996	if s.MaxResults != nil && *s.MaxResults < 1 {
4997		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4998	}
4999
5000	if invalidParams.Len() > 0 {
5001		return invalidParams
5002	}
5003	return nil
5004}
5005
5006// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5007func (s *GetLinksInput) SetGlobalNetworkId(v string) *GetLinksInput {
5008	s.GlobalNetworkId = &v
5009	return s
5010}
5011
5012// SetLinkIds sets the LinkIds field's value.
5013func (s *GetLinksInput) SetLinkIds(v []*string) *GetLinksInput {
5014	s.LinkIds = v
5015	return s
5016}
5017
5018// SetMaxResults sets the MaxResults field's value.
5019func (s *GetLinksInput) SetMaxResults(v int64) *GetLinksInput {
5020	s.MaxResults = &v
5021	return s
5022}
5023
5024// SetNextToken sets the NextToken field's value.
5025func (s *GetLinksInput) SetNextToken(v string) *GetLinksInput {
5026	s.NextToken = &v
5027	return s
5028}
5029
5030// SetProvider sets the Provider field's value.
5031func (s *GetLinksInput) SetProvider(v string) *GetLinksInput {
5032	s.Provider = &v
5033	return s
5034}
5035
5036// SetSiteId sets the SiteId field's value.
5037func (s *GetLinksInput) SetSiteId(v string) *GetLinksInput {
5038	s.SiteId = &v
5039	return s
5040}
5041
5042// SetType sets the Type field's value.
5043func (s *GetLinksInput) SetType(v string) *GetLinksInput {
5044	s.Type = &v
5045	return s
5046}
5047
5048type GetLinksOutput struct {
5049	_ struct{} `type:"structure"`
5050
5051	// The links.
5052	Links []*Link `type:"list"`
5053
5054	// The token for the next page of results.
5055	NextToken *string `type:"string"`
5056}
5057
5058// String returns the string representation
5059func (s GetLinksOutput) String() string {
5060	return awsutil.Prettify(s)
5061}
5062
5063// GoString returns the string representation
5064func (s GetLinksOutput) GoString() string {
5065	return s.String()
5066}
5067
5068// SetLinks sets the Links field's value.
5069func (s *GetLinksOutput) SetLinks(v []*Link) *GetLinksOutput {
5070	s.Links = v
5071	return s
5072}
5073
5074// SetNextToken sets the NextToken field's value.
5075func (s *GetLinksOutput) SetNextToken(v string) *GetLinksOutput {
5076	s.NextToken = &v
5077	return s
5078}
5079
5080type GetSitesInput struct {
5081	_ struct{} `type:"structure"`
5082
5083	// The ID of the global network.
5084	//
5085	// GlobalNetworkId is a required field
5086	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5087
5088	// The maximum number of results to return.
5089	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5090
5091	// The token for the next page of results.
5092	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5093
5094	// One or more site IDs. The maximum is 10.
5095	SiteIds []*string `location:"querystring" locationName:"siteIds" type:"list"`
5096}
5097
5098// String returns the string representation
5099func (s GetSitesInput) String() string {
5100	return awsutil.Prettify(s)
5101}
5102
5103// GoString returns the string representation
5104func (s GetSitesInput) GoString() string {
5105	return s.String()
5106}
5107
5108// Validate inspects the fields of the type to determine if they are valid.
5109func (s *GetSitesInput) Validate() error {
5110	invalidParams := request.ErrInvalidParams{Context: "GetSitesInput"}
5111	if s.GlobalNetworkId == nil {
5112		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5113	}
5114	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5115		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5116	}
5117	if s.MaxResults != nil && *s.MaxResults < 1 {
5118		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5119	}
5120
5121	if invalidParams.Len() > 0 {
5122		return invalidParams
5123	}
5124	return nil
5125}
5126
5127// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5128func (s *GetSitesInput) SetGlobalNetworkId(v string) *GetSitesInput {
5129	s.GlobalNetworkId = &v
5130	return s
5131}
5132
5133// SetMaxResults sets the MaxResults field's value.
5134func (s *GetSitesInput) SetMaxResults(v int64) *GetSitesInput {
5135	s.MaxResults = &v
5136	return s
5137}
5138
5139// SetNextToken sets the NextToken field's value.
5140func (s *GetSitesInput) SetNextToken(v string) *GetSitesInput {
5141	s.NextToken = &v
5142	return s
5143}
5144
5145// SetSiteIds sets the SiteIds field's value.
5146func (s *GetSitesInput) SetSiteIds(v []*string) *GetSitesInput {
5147	s.SiteIds = v
5148	return s
5149}
5150
5151type GetSitesOutput struct {
5152	_ struct{} `type:"structure"`
5153
5154	// The token for the next page of results.
5155	NextToken *string `type:"string"`
5156
5157	// The sites.
5158	Sites []*Site `type:"list"`
5159}
5160
5161// String returns the string representation
5162func (s GetSitesOutput) String() string {
5163	return awsutil.Prettify(s)
5164}
5165
5166// GoString returns the string representation
5167func (s GetSitesOutput) GoString() string {
5168	return s.String()
5169}
5170
5171// SetNextToken sets the NextToken field's value.
5172func (s *GetSitesOutput) SetNextToken(v string) *GetSitesOutput {
5173	s.NextToken = &v
5174	return s
5175}
5176
5177// SetSites sets the Sites field's value.
5178func (s *GetSitesOutput) SetSites(v []*Site) *GetSitesOutput {
5179	s.Sites = v
5180	return s
5181}
5182
5183type GetTransitGatewayRegistrationsInput struct {
5184	_ struct{} `type:"structure"`
5185
5186	// The ID of the global network.
5187	//
5188	// GlobalNetworkId is a required field
5189	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5190
5191	// The maximum number of results to return.
5192	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5193
5194	// The token for the next page of results.
5195	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5196
5197	// The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum
5198	// is 10.
5199	TransitGatewayArns []*string `location:"querystring" locationName:"transitGatewayArns" type:"list"`
5200}
5201
5202// String returns the string representation
5203func (s GetTransitGatewayRegistrationsInput) String() string {
5204	return awsutil.Prettify(s)
5205}
5206
5207// GoString returns the string representation
5208func (s GetTransitGatewayRegistrationsInput) GoString() string {
5209	return s.String()
5210}
5211
5212// Validate inspects the fields of the type to determine if they are valid.
5213func (s *GetTransitGatewayRegistrationsInput) Validate() error {
5214	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRegistrationsInput"}
5215	if s.GlobalNetworkId == nil {
5216		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5217	}
5218	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5219		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5220	}
5221	if s.MaxResults != nil && *s.MaxResults < 1 {
5222		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5223	}
5224
5225	if invalidParams.Len() > 0 {
5226		return invalidParams
5227	}
5228	return nil
5229}
5230
5231// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5232func (s *GetTransitGatewayRegistrationsInput) SetGlobalNetworkId(v string) *GetTransitGatewayRegistrationsInput {
5233	s.GlobalNetworkId = &v
5234	return s
5235}
5236
5237// SetMaxResults sets the MaxResults field's value.
5238func (s *GetTransitGatewayRegistrationsInput) SetMaxResults(v int64) *GetTransitGatewayRegistrationsInput {
5239	s.MaxResults = &v
5240	return s
5241}
5242
5243// SetNextToken sets the NextToken field's value.
5244func (s *GetTransitGatewayRegistrationsInput) SetNextToken(v string) *GetTransitGatewayRegistrationsInput {
5245	s.NextToken = &v
5246	return s
5247}
5248
5249// SetTransitGatewayArns sets the TransitGatewayArns field's value.
5250func (s *GetTransitGatewayRegistrationsInput) SetTransitGatewayArns(v []*string) *GetTransitGatewayRegistrationsInput {
5251	s.TransitGatewayArns = v
5252	return s
5253}
5254
5255type GetTransitGatewayRegistrationsOutput struct {
5256	_ struct{} `type:"structure"`
5257
5258	// The token for the next page of results.
5259	NextToken *string `type:"string"`
5260
5261	// The transit gateway registrations.
5262	TransitGatewayRegistrations []*TransitGatewayRegistration `type:"list"`
5263}
5264
5265// String returns the string representation
5266func (s GetTransitGatewayRegistrationsOutput) String() string {
5267	return awsutil.Prettify(s)
5268}
5269
5270// GoString returns the string representation
5271func (s GetTransitGatewayRegistrationsOutput) GoString() string {
5272	return s.String()
5273}
5274
5275// SetNextToken sets the NextToken field's value.
5276func (s *GetTransitGatewayRegistrationsOutput) SetNextToken(v string) *GetTransitGatewayRegistrationsOutput {
5277	s.NextToken = &v
5278	return s
5279}
5280
5281// SetTransitGatewayRegistrations sets the TransitGatewayRegistrations field's value.
5282func (s *GetTransitGatewayRegistrationsOutput) SetTransitGatewayRegistrations(v []*TransitGatewayRegistration) *GetTransitGatewayRegistrationsOutput {
5283	s.TransitGatewayRegistrations = v
5284	return s
5285}
5286
5287// Describes a global network.
5288type GlobalNetwork struct {
5289	_ struct{} `type:"structure"`
5290
5291	// The date and time that the global network was created.
5292	CreatedAt *time.Time `type:"timestamp"`
5293
5294	// The description of the global network.
5295	Description *string `type:"string"`
5296
5297	// The Amazon Resource Name (ARN) of the global network.
5298	GlobalNetworkArn *string `type:"string"`
5299
5300	// The ID of the global network.
5301	GlobalNetworkId *string `type:"string"`
5302
5303	// The state of the global network.
5304	State *string `type:"string" enum:"GlobalNetworkState"`
5305
5306	// The tags for the global network.
5307	Tags []*Tag `type:"list"`
5308}
5309
5310// String returns the string representation
5311func (s GlobalNetwork) String() string {
5312	return awsutil.Prettify(s)
5313}
5314
5315// GoString returns the string representation
5316func (s GlobalNetwork) GoString() string {
5317	return s.String()
5318}
5319
5320// SetCreatedAt sets the CreatedAt field's value.
5321func (s *GlobalNetwork) SetCreatedAt(v time.Time) *GlobalNetwork {
5322	s.CreatedAt = &v
5323	return s
5324}
5325
5326// SetDescription sets the Description field's value.
5327func (s *GlobalNetwork) SetDescription(v string) *GlobalNetwork {
5328	s.Description = &v
5329	return s
5330}
5331
5332// SetGlobalNetworkArn sets the GlobalNetworkArn field's value.
5333func (s *GlobalNetwork) SetGlobalNetworkArn(v string) *GlobalNetwork {
5334	s.GlobalNetworkArn = &v
5335	return s
5336}
5337
5338// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5339func (s *GlobalNetwork) SetGlobalNetworkId(v string) *GlobalNetwork {
5340	s.GlobalNetworkId = &v
5341	return s
5342}
5343
5344// SetState sets the State field's value.
5345func (s *GlobalNetwork) SetState(v string) *GlobalNetwork {
5346	s.State = &v
5347	return s
5348}
5349
5350// SetTags sets the Tags field's value.
5351func (s *GlobalNetwork) SetTags(v []*Tag) *GlobalNetwork {
5352	s.Tags = v
5353	return s
5354}
5355
5356// Describes a link.
5357type Link struct {
5358	_ struct{} `type:"structure"`
5359
5360	// The bandwidth for the link.
5361	Bandwidth *Bandwidth `type:"structure"`
5362
5363	// The date and time that the link was created.
5364	CreatedAt *time.Time `type:"timestamp"`
5365
5366	// The description of the link.
5367	Description *string `type:"string"`
5368
5369	// The ID of the global network.
5370	GlobalNetworkId *string `type:"string"`
5371
5372	// The Amazon Resource Name (ARN) of the link.
5373	LinkArn *string `type:"string"`
5374
5375	// The ID of the link.
5376	LinkId *string `type:"string"`
5377
5378	// The provider of the link.
5379	Provider *string `type:"string"`
5380
5381	// The ID of the site.
5382	SiteId *string `type:"string"`
5383
5384	// The state of the link.
5385	State *string `type:"string" enum:"LinkState"`
5386
5387	// The tags for the link.
5388	Tags []*Tag `type:"list"`
5389
5390	// The type of the link.
5391	Type *string `type:"string"`
5392}
5393
5394// String returns the string representation
5395func (s Link) String() string {
5396	return awsutil.Prettify(s)
5397}
5398
5399// GoString returns the string representation
5400func (s Link) GoString() string {
5401	return s.String()
5402}
5403
5404// SetBandwidth sets the Bandwidth field's value.
5405func (s *Link) SetBandwidth(v *Bandwidth) *Link {
5406	s.Bandwidth = v
5407	return s
5408}
5409
5410// SetCreatedAt sets the CreatedAt field's value.
5411func (s *Link) SetCreatedAt(v time.Time) *Link {
5412	s.CreatedAt = &v
5413	return s
5414}
5415
5416// SetDescription sets the Description field's value.
5417func (s *Link) SetDescription(v string) *Link {
5418	s.Description = &v
5419	return s
5420}
5421
5422// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5423func (s *Link) SetGlobalNetworkId(v string) *Link {
5424	s.GlobalNetworkId = &v
5425	return s
5426}
5427
5428// SetLinkArn sets the LinkArn field's value.
5429func (s *Link) SetLinkArn(v string) *Link {
5430	s.LinkArn = &v
5431	return s
5432}
5433
5434// SetLinkId sets the LinkId field's value.
5435func (s *Link) SetLinkId(v string) *Link {
5436	s.LinkId = &v
5437	return s
5438}
5439
5440// SetProvider sets the Provider field's value.
5441func (s *Link) SetProvider(v string) *Link {
5442	s.Provider = &v
5443	return s
5444}
5445
5446// SetSiteId sets the SiteId field's value.
5447func (s *Link) SetSiteId(v string) *Link {
5448	s.SiteId = &v
5449	return s
5450}
5451
5452// SetState sets the State field's value.
5453func (s *Link) SetState(v string) *Link {
5454	s.State = &v
5455	return s
5456}
5457
5458// SetTags sets the Tags field's value.
5459func (s *Link) SetTags(v []*Tag) *Link {
5460	s.Tags = v
5461	return s
5462}
5463
5464// SetType sets the Type field's value.
5465func (s *Link) SetType(v string) *Link {
5466	s.Type = &v
5467	return s
5468}
5469
5470// Describes the association between a device and a link.
5471type LinkAssociation struct {
5472	_ struct{} `type:"structure"`
5473
5474	// The device ID for the link association.
5475	DeviceId *string `type:"string"`
5476
5477	// The ID of the global network.
5478	GlobalNetworkId *string `type:"string"`
5479
5480	// The state of the association.
5481	LinkAssociationState *string `type:"string" enum:"LinkAssociationState"`
5482
5483	// The ID of the link.
5484	LinkId *string `type:"string"`
5485}
5486
5487// String returns the string representation
5488func (s LinkAssociation) String() string {
5489	return awsutil.Prettify(s)
5490}
5491
5492// GoString returns the string representation
5493func (s LinkAssociation) GoString() string {
5494	return s.String()
5495}
5496
5497// SetDeviceId sets the DeviceId field's value.
5498func (s *LinkAssociation) SetDeviceId(v string) *LinkAssociation {
5499	s.DeviceId = &v
5500	return s
5501}
5502
5503// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5504func (s *LinkAssociation) SetGlobalNetworkId(v string) *LinkAssociation {
5505	s.GlobalNetworkId = &v
5506	return s
5507}
5508
5509// SetLinkAssociationState sets the LinkAssociationState field's value.
5510func (s *LinkAssociation) SetLinkAssociationState(v string) *LinkAssociation {
5511	s.LinkAssociationState = &v
5512	return s
5513}
5514
5515// SetLinkId sets the LinkId field's value.
5516func (s *LinkAssociation) SetLinkId(v string) *LinkAssociation {
5517	s.LinkId = &v
5518	return s
5519}
5520
5521type ListTagsForResourceInput struct {
5522	_ struct{} `type:"structure"`
5523
5524	// The Amazon Resource Name (ARN) of the resource.
5525	//
5526	// ResourceArn is a required field
5527	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
5528}
5529
5530// String returns the string representation
5531func (s ListTagsForResourceInput) String() string {
5532	return awsutil.Prettify(s)
5533}
5534
5535// GoString returns the string representation
5536func (s ListTagsForResourceInput) GoString() string {
5537	return s.String()
5538}
5539
5540// Validate inspects the fields of the type to determine if they are valid.
5541func (s *ListTagsForResourceInput) Validate() error {
5542	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5543	if s.ResourceArn == nil {
5544		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5545	}
5546	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5547		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5548	}
5549
5550	if invalidParams.Len() > 0 {
5551		return invalidParams
5552	}
5553	return nil
5554}
5555
5556// SetResourceArn sets the ResourceArn field's value.
5557func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
5558	s.ResourceArn = &v
5559	return s
5560}
5561
5562type ListTagsForResourceOutput struct {
5563	_ struct{} `type:"structure"`
5564
5565	// The list of tags.
5566	TagList []*Tag `type:"list"`
5567}
5568
5569// String returns the string representation
5570func (s ListTagsForResourceOutput) String() string {
5571	return awsutil.Prettify(s)
5572}
5573
5574// GoString returns the string representation
5575func (s ListTagsForResourceOutput) GoString() string {
5576	return s.String()
5577}
5578
5579// SetTagList sets the TagList field's value.
5580func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
5581	s.TagList = v
5582	return s
5583}
5584
5585// Describes a location.
5586type Location struct {
5587	_ struct{} `type:"structure"`
5588
5589	// The physical address.
5590	Address *string `type:"string"`
5591
5592	// The latitude.
5593	Latitude *string `type:"string"`
5594
5595	// The longitude.
5596	Longitude *string `type:"string"`
5597}
5598
5599// String returns the string representation
5600func (s Location) String() string {
5601	return awsutil.Prettify(s)
5602}
5603
5604// GoString returns the string representation
5605func (s Location) GoString() string {
5606	return s.String()
5607}
5608
5609// SetAddress sets the Address field's value.
5610func (s *Location) SetAddress(v string) *Location {
5611	s.Address = &v
5612	return s
5613}
5614
5615// SetLatitude sets the Latitude field's value.
5616func (s *Location) SetLatitude(v string) *Location {
5617	s.Latitude = &v
5618	return s
5619}
5620
5621// SetLongitude sets the Longitude field's value.
5622func (s *Location) SetLongitude(v string) *Location {
5623	s.Longitude = &v
5624	return s
5625}
5626
5627type RegisterTransitGatewayInput struct {
5628	_ struct{} `type:"structure"`
5629
5630	// The ID of the global network.
5631	//
5632	// GlobalNetworkId is a required field
5633	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
5634
5635	// The Amazon Resource Name (ARN) of the transit gateway. For more information,
5636	// see Resources Defined by Amazon EC2 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html#amazonec2-resources-for-iam-policies).
5637	//
5638	// TransitGatewayArn is a required field
5639	TransitGatewayArn *string `type:"string" required:"true"`
5640}
5641
5642// String returns the string representation
5643func (s RegisterTransitGatewayInput) String() string {
5644	return awsutil.Prettify(s)
5645}
5646
5647// GoString returns the string representation
5648func (s RegisterTransitGatewayInput) GoString() string {
5649	return s.String()
5650}
5651
5652// Validate inspects the fields of the type to determine if they are valid.
5653func (s *RegisterTransitGatewayInput) Validate() error {
5654	invalidParams := request.ErrInvalidParams{Context: "RegisterTransitGatewayInput"}
5655	if s.GlobalNetworkId == nil {
5656		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
5657	}
5658	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
5659		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
5660	}
5661	if s.TransitGatewayArn == nil {
5662		invalidParams.Add(request.NewErrParamRequired("TransitGatewayArn"))
5663	}
5664
5665	if invalidParams.Len() > 0 {
5666		return invalidParams
5667	}
5668	return nil
5669}
5670
5671// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5672func (s *RegisterTransitGatewayInput) SetGlobalNetworkId(v string) *RegisterTransitGatewayInput {
5673	s.GlobalNetworkId = &v
5674	return s
5675}
5676
5677// SetTransitGatewayArn sets the TransitGatewayArn field's value.
5678func (s *RegisterTransitGatewayInput) SetTransitGatewayArn(v string) *RegisterTransitGatewayInput {
5679	s.TransitGatewayArn = &v
5680	return s
5681}
5682
5683type RegisterTransitGatewayOutput struct {
5684	_ struct{} `type:"structure"`
5685
5686	// Information about the transit gateway registration.
5687	TransitGatewayRegistration *TransitGatewayRegistration `type:"structure"`
5688}
5689
5690// String returns the string representation
5691func (s RegisterTransitGatewayOutput) String() string {
5692	return awsutil.Prettify(s)
5693}
5694
5695// GoString returns the string representation
5696func (s RegisterTransitGatewayOutput) GoString() string {
5697	return s.String()
5698}
5699
5700// SetTransitGatewayRegistration sets the TransitGatewayRegistration field's value.
5701func (s *RegisterTransitGatewayOutput) SetTransitGatewayRegistration(v *TransitGatewayRegistration) *RegisterTransitGatewayOutput {
5702	s.TransitGatewayRegistration = v
5703	return s
5704}
5705
5706// Describes a site.
5707type Site struct {
5708	_ struct{} `type:"structure"`
5709
5710	// The date and time that the site was created.
5711	CreatedAt *time.Time `type:"timestamp"`
5712
5713	// The description of the site.
5714	Description *string `type:"string"`
5715
5716	// The ID of the global network.
5717	GlobalNetworkId *string `type:"string"`
5718
5719	// The location of the site.
5720	Location *Location `type:"structure"`
5721
5722	// The Amazon Resource Name (ARN) of the site.
5723	SiteArn *string `type:"string"`
5724
5725	// The ID of the site.
5726	SiteId *string `type:"string"`
5727
5728	// The state of the site.
5729	State *string `type:"string" enum:"SiteState"`
5730
5731	// The tags for the site.
5732	Tags []*Tag `type:"list"`
5733}
5734
5735// String returns the string representation
5736func (s Site) String() string {
5737	return awsutil.Prettify(s)
5738}
5739
5740// GoString returns the string representation
5741func (s Site) GoString() string {
5742	return s.String()
5743}
5744
5745// SetCreatedAt sets the CreatedAt field's value.
5746func (s *Site) SetCreatedAt(v time.Time) *Site {
5747	s.CreatedAt = &v
5748	return s
5749}
5750
5751// SetDescription sets the Description field's value.
5752func (s *Site) SetDescription(v string) *Site {
5753	s.Description = &v
5754	return s
5755}
5756
5757// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5758func (s *Site) SetGlobalNetworkId(v string) *Site {
5759	s.GlobalNetworkId = &v
5760	return s
5761}
5762
5763// SetLocation sets the Location field's value.
5764func (s *Site) SetLocation(v *Location) *Site {
5765	s.Location = v
5766	return s
5767}
5768
5769// SetSiteArn sets the SiteArn field's value.
5770func (s *Site) SetSiteArn(v string) *Site {
5771	s.SiteArn = &v
5772	return s
5773}
5774
5775// SetSiteId sets the SiteId field's value.
5776func (s *Site) SetSiteId(v string) *Site {
5777	s.SiteId = &v
5778	return s
5779}
5780
5781// SetState sets the State field's value.
5782func (s *Site) SetState(v string) *Site {
5783	s.State = &v
5784	return s
5785}
5786
5787// SetTags sets the Tags field's value.
5788func (s *Site) SetTags(v []*Tag) *Site {
5789	s.Tags = v
5790	return s
5791}
5792
5793// Describes a tag.
5794type Tag struct {
5795	_ struct{} `type:"structure"`
5796
5797	// The tag key.
5798	//
5799	// Length Constraints: Maximum length of 128 characters.
5800	Key *string `type:"string"`
5801
5802	// The tag value.
5803	//
5804	// Length Constraints: Maximum length of 256 characters.
5805	Value *string `type:"string"`
5806}
5807
5808// String returns the string representation
5809func (s Tag) String() string {
5810	return awsutil.Prettify(s)
5811}
5812
5813// GoString returns the string representation
5814func (s Tag) GoString() string {
5815	return s.String()
5816}
5817
5818// SetKey sets the Key field's value.
5819func (s *Tag) SetKey(v string) *Tag {
5820	s.Key = &v
5821	return s
5822}
5823
5824// SetValue sets the Value field's value.
5825func (s *Tag) SetValue(v string) *Tag {
5826	s.Value = &v
5827	return s
5828}
5829
5830type TagResourceInput struct {
5831	_ struct{} `type:"structure"`
5832
5833	// The Amazon Resource Name (ARN) of the resource.
5834	//
5835	// ResourceArn is a required field
5836	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
5837
5838	// The tags to apply to the specified resource.
5839	//
5840	// Tags is a required field
5841	Tags []*Tag `type:"list" required:"true"`
5842}
5843
5844// String returns the string representation
5845func (s TagResourceInput) String() string {
5846	return awsutil.Prettify(s)
5847}
5848
5849// GoString returns the string representation
5850func (s TagResourceInput) GoString() string {
5851	return s.String()
5852}
5853
5854// Validate inspects the fields of the type to determine if they are valid.
5855func (s *TagResourceInput) Validate() error {
5856	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
5857	if s.ResourceArn == nil {
5858		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5859	}
5860	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5861		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5862	}
5863	if s.Tags == nil {
5864		invalidParams.Add(request.NewErrParamRequired("Tags"))
5865	}
5866
5867	if invalidParams.Len() > 0 {
5868		return invalidParams
5869	}
5870	return nil
5871}
5872
5873// SetResourceArn sets the ResourceArn field's value.
5874func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
5875	s.ResourceArn = &v
5876	return s
5877}
5878
5879// SetTags sets the Tags field's value.
5880func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
5881	s.Tags = v
5882	return s
5883}
5884
5885type TagResourceOutput struct {
5886	_ struct{} `type:"structure"`
5887}
5888
5889// String returns the string representation
5890func (s TagResourceOutput) String() string {
5891	return awsutil.Prettify(s)
5892}
5893
5894// GoString returns the string representation
5895func (s TagResourceOutput) GoString() string {
5896	return s.String()
5897}
5898
5899// Describes the registration of a transit gateway to a global network.
5900type TransitGatewayRegistration struct {
5901	_ struct{} `type:"structure"`
5902
5903	// The ID of the global network.
5904	GlobalNetworkId *string `type:"string"`
5905
5906	// The state of the transit gateway registration.
5907	State *TransitGatewayRegistrationStateReason `type:"structure"`
5908
5909	// The Amazon Resource Name (ARN) of the transit gateway.
5910	TransitGatewayArn *string `type:"string"`
5911}
5912
5913// String returns the string representation
5914func (s TransitGatewayRegistration) String() string {
5915	return awsutil.Prettify(s)
5916}
5917
5918// GoString returns the string representation
5919func (s TransitGatewayRegistration) GoString() string {
5920	return s.String()
5921}
5922
5923// SetGlobalNetworkId sets the GlobalNetworkId field's value.
5924func (s *TransitGatewayRegistration) SetGlobalNetworkId(v string) *TransitGatewayRegistration {
5925	s.GlobalNetworkId = &v
5926	return s
5927}
5928
5929// SetState sets the State field's value.
5930func (s *TransitGatewayRegistration) SetState(v *TransitGatewayRegistrationStateReason) *TransitGatewayRegistration {
5931	s.State = v
5932	return s
5933}
5934
5935// SetTransitGatewayArn sets the TransitGatewayArn field's value.
5936func (s *TransitGatewayRegistration) SetTransitGatewayArn(v string) *TransitGatewayRegistration {
5937	s.TransitGatewayArn = &v
5938	return s
5939}
5940
5941// Describes the status of a transit gateway registration.
5942type TransitGatewayRegistrationStateReason struct {
5943	_ struct{} `type:"structure"`
5944
5945	// The code for the state reason.
5946	Code *string `type:"string" enum:"TransitGatewayRegistrationState"`
5947
5948	// The message for the state reason.
5949	Message *string `type:"string"`
5950}
5951
5952// String returns the string representation
5953func (s TransitGatewayRegistrationStateReason) String() string {
5954	return awsutil.Prettify(s)
5955}
5956
5957// GoString returns the string representation
5958func (s TransitGatewayRegistrationStateReason) GoString() string {
5959	return s.String()
5960}
5961
5962// SetCode sets the Code field's value.
5963func (s *TransitGatewayRegistrationStateReason) SetCode(v string) *TransitGatewayRegistrationStateReason {
5964	s.Code = &v
5965	return s
5966}
5967
5968// SetMessage sets the Message field's value.
5969func (s *TransitGatewayRegistrationStateReason) SetMessage(v string) *TransitGatewayRegistrationStateReason {
5970	s.Message = &v
5971	return s
5972}
5973
5974type UntagResourceInput struct {
5975	_ struct{} `type:"structure"`
5976
5977	// The Amazon Resource Name (ARN) of the resource.
5978	//
5979	// ResourceArn is a required field
5980	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
5981
5982	// The tag keys to remove from the specified resource.
5983	//
5984	// TagKeys is a required field
5985	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
5986}
5987
5988// String returns the string representation
5989func (s UntagResourceInput) String() string {
5990	return awsutil.Prettify(s)
5991}
5992
5993// GoString returns the string representation
5994func (s UntagResourceInput) GoString() string {
5995	return s.String()
5996}
5997
5998// Validate inspects the fields of the type to determine if they are valid.
5999func (s *UntagResourceInput) Validate() error {
6000	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
6001	if s.ResourceArn == nil {
6002		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6003	}
6004	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
6005		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
6006	}
6007	if s.TagKeys == nil {
6008		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
6009	}
6010
6011	if invalidParams.Len() > 0 {
6012		return invalidParams
6013	}
6014	return nil
6015}
6016
6017// SetResourceArn sets the ResourceArn field's value.
6018func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
6019	s.ResourceArn = &v
6020	return s
6021}
6022
6023// SetTagKeys sets the TagKeys field's value.
6024func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
6025	s.TagKeys = v
6026	return s
6027}
6028
6029type UntagResourceOutput struct {
6030	_ struct{} `type:"structure"`
6031}
6032
6033// String returns the string representation
6034func (s UntagResourceOutput) String() string {
6035	return awsutil.Prettify(s)
6036}
6037
6038// GoString returns the string representation
6039func (s UntagResourceOutput) GoString() string {
6040	return s.String()
6041}
6042
6043type UpdateDeviceInput struct {
6044	_ struct{} `type:"structure"`
6045
6046	// A description of the device.
6047	//
6048	// Length Constraints: Maximum length of 256 characters.
6049	Description *string `type:"string"`
6050
6051	// The ID of the device.
6052	//
6053	// DeviceId is a required field
6054	DeviceId *string `location:"uri" locationName:"deviceId" type:"string" required:"true"`
6055
6056	// The ID of the global network.
6057	//
6058	// GlobalNetworkId is a required field
6059	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6060
6061	// Describes a location.
6062	Location *Location `type:"structure"`
6063
6064	// The model of the device.
6065	//
6066	// Length Constraints: Maximum length of 128 characters.
6067	Model *string `type:"string"`
6068
6069	// The serial number of the device.
6070	//
6071	// Length Constraints: Maximum length of 128 characters.
6072	SerialNumber *string `type:"string"`
6073
6074	// The ID of the site.
6075	SiteId *string `type:"string"`
6076
6077	// The type of the device.
6078	Type *string `type:"string"`
6079
6080	// The vendor of the device.
6081	//
6082	// Length Constraints: Maximum length of 128 characters.
6083	Vendor *string `type:"string"`
6084}
6085
6086// String returns the string representation
6087func (s UpdateDeviceInput) String() string {
6088	return awsutil.Prettify(s)
6089}
6090
6091// GoString returns the string representation
6092func (s UpdateDeviceInput) GoString() string {
6093	return s.String()
6094}
6095
6096// Validate inspects the fields of the type to determine if they are valid.
6097func (s *UpdateDeviceInput) Validate() error {
6098	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInput"}
6099	if s.DeviceId == nil {
6100		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
6101	}
6102	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
6103		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
6104	}
6105	if s.GlobalNetworkId == nil {
6106		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6107	}
6108	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6109		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6110	}
6111
6112	if invalidParams.Len() > 0 {
6113		return invalidParams
6114	}
6115	return nil
6116}
6117
6118// SetDescription sets the Description field's value.
6119func (s *UpdateDeviceInput) SetDescription(v string) *UpdateDeviceInput {
6120	s.Description = &v
6121	return s
6122}
6123
6124// SetDeviceId sets the DeviceId field's value.
6125func (s *UpdateDeviceInput) SetDeviceId(v string) *UpdateDeviceInput {
6126	s.DeviceId = &v
6127	return s
6128}
6129
6130// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6131func (s *UpdateDeviceInput) SetGlobalNetworkId(v string) *UpdateDeviceInput {
6132	s.GlobalNetworkId = &v
6133	return s
6134}
6135
6136// SetLocation sets the Location field's value.
6137func (s *UpdateDeviceInput) SetLocation(v *Location) *UpdateDeviceInput {
6138	s.Location = v
6139	return s
6140}
6141
6142// SetModel sets the Model field's value.
6143func (s *UpdateDeviceInput) SetModel(v string) *UpdateDeviceInput {
6144	s.Model = &v
6145	return s
6146}
6147
6148// SetSerialNumber sets the SerialNumber field's value.
6149func (s *UpdateDeviceInput) SetSerialNumber(v string) *UpdateDeviceInput {
6150	s.SerialNumber = &v
6151	return s
6152}
6153
6154// SetSiteId sets the SiteId field's value.
6155func (s *UpdateDeviceInput) SetSiteId(v string) *UpdateDeviceInput {
6156	s.SiteId = &v
6157	return s
6158}
6159
6160// SetType sets the Type field's value.
6161func (s *UpdateDeviceInput) SetType(v string) *UpdateDeviceInput {
6162	s.Type = &v
6163	return s
6164}
6165
6166// SetVendor sets the Vendor field's value.
6167func (s *UpdateDeviceInput) SetVendor(v string) *UpdateDeviceInput {
6168	s.Vendor = &v
6169	return s
6170}
6171
6172type UpdateDeviceOutput struct {
6173	_ struct{} `type:"structure"`
6174
6175	// Information about the device.
6176	Device *Device `type:"structure"`
6177}
6178
6179// String returns the string representation
6180func (s UpdateDeviceOutput) String() string {
6181	return awsutil.Prettify(s)
6182}
6183
6184// GoString returns the string representation
6185func (s UpdateDeviceOutput) GoString() string {
6186	return s.String()
6187}
6188
6189// SetDevice sets the Device field's value.
6190func (s *UpdateDeviceOutput) SetDevice(v *Device) *UpdateDeviceOutput {
6191	s.Device = v
6192	return s
6193}
6194
6195type UpdateGlobalNetworkInput struct {
6196	_ struct{} `type:"structure"`
6197
6198	// A description of the global network.
6199	//
6200	// Length Constraints: Maximum length of 256 characters.
6201	Description *string `type:"string"`
6202
6203	// The ID of your global network.
6204	//
6205	// GlobalNetworkId is a required field
6206	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6207}
6208
6209// String returns the string representation
6210func (s UpdateGlobalNetworkInput) String() string {
6211	return awsutil.Prettify(s)
6212}
6213
6214// GoString returns the string representation
6215func (s UpdateGlobalNetworkInput) GoString() string {
6216	return s.String()
6217}
6218
6219// Validate inspects the fields of the type to determine if they are valid.
6220func (s *UpdateGlobalNetworkInput) Validate() error {
6221	invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalNetworkInput"}
6222	if s.GlobalNetworkId == nil {
6223		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6224	}
6225	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6226		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6227	}
6228
6229	if invalidParams.Len() > 0 {
6230		return invalidParams
6231	}
6232	return nil
6233}
6234
6235// SetDescription sets the Description field's value.
6236func (s *UpdateGlobalNetworkInput) SetDescription(v string) *UpdateGlobalNetworkInput {
6237	s.Description = &v
6238	return s
6239}
6240
6241// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6242func (s *UpdateGlobalNetworkInput) SetGlobalNetworkId(v string) *UpdateGlobalNetworkInput {
6243	s.GlobalNetworkId = &v
6244	return s
6245}
6246
6247type UpdateGlobalNetworkOutput struct {
6248	_ struct{} `type:"structure"`
6249
6250	// Information about the global network object.
6251	GlobalNetwork *GlobalNetwork `type:"structure"`
6252}
6253
6254// String returns the string representation
6255func (s UpdateGlobalNetworkOutput) String() string {
6256	return awsutil.Prettify(s)
6257}
6258
6259// GoString returns the string representation
6260func (s UpdateGlobalNetworkOutput) GoString() string {
6261	return s.String()
6262}
6263
6264// SetGlobalNetwork sets the GlobalNetwork field's value.
6265func (s *UpdateGlobalNetworkOutput) SetGlobalNetwork(v *GlobalNetwork) *UpdateGlobalNetworkOutput {
6266	s.GlobalNetwork = v
6267	return s
6268}
6269
6270type UpdateLinkInput struct {
6271	_ struct{} `type:"structure"`
6272
6273	// The upload and download speed in Mbps.
6274	Bandwidth *Bandwidth `type:"structure"`
6275
6276	// A description of the link.
6277	//
6278	// Length Constraints: Maximum length of 256 characters.
6279	Description *string `type:"string"`
6280
6281	// The ID of the global network.
6282	//
6283	// GlobalNetworkId is a required field
6284	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6285
6286	// The ID of the link.
6287	//
6288	// LinkId is a required field
6289	LinkId *string `location:"uri" locationName:"linkId" type:"string" required:"true"`
6290
6291	// The provider of the link.
6292	//
6293	// Length Constraints: Maximum length of 128 characters.
6294	Provider *string `type:"string"`
6295
6296	// The type of the link.
6297	//
6298	// Length Constraints: Maximum length of 128 characters.
6299	Type *string `type:"string"`
6300}
6301
6302// String returns the string representation
6303func (s UpdateLinkInput) String() string {
6304	return awsutil.Prettify(s)
6305}
6306
6307// GoString returns the string representation
6308func (s UpdateLinkInput) GoString() string {
6309	return s.String()
6310}
6311
6312// Validate inspects the fields of the type to determine if they are valid.
6313func (s *UpdateLinkInput) Validate() error {
6314	invalidParams := request.ErrInvalidParams{Context: "UpdateLinkInput"}
6315	if s.GlobalNetworkId == nil {
6316		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6317	}
6318	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6319		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6320	}
6321	if s.LinkId == nil {
6322		invalidParams.Add(request.NewErrParamRequired("LinkId"))
6323	}
6324	if s.LinkId != nil && len(*s.LinkId) < 1 {
6325		invalidParams.Add(request.NewErrParamMinLen("LinkId", 1))
6326	}
6327
6328	if invalidParams.Len() > 0 {
6329		return invalidParams
6330	}
6331	return nil
6332}
6333
6334// SetBandwidth sets the Bandwidth field's value.
6335func (s *UpdateLinkInput) SetBandwidth(v *Bandwidth) *UpdateLinkInput {
6336	s.Bandwidth = v
6337	return s
6338}
6339
6340// SetDescription sets the Description field's value.
6341func (s *UpdateLinkInput) SetDescription(v string) *UpdateLinkInput {
6342	s.Description = &v
6343	return s
6344}
6345
6346// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6347func (s *UpdateLinkInput) SetGlobalNetworkId(v string) *UpdateLinkInput {
6348	s.GlobalNetworkId = &v
6349	return s
6350}
6351
6352// SetLinkId sets the LinkId field's value.
6353func (s *UpdateLinkInput) SetLinkId(v string) *UpdateLinkInput {
6354	s.LinkId = &v
6355	return s
6356}
6357
6358// SetProvider sets the Provider field's value.
6359func (s *UpdateLinkInput) SetProvider(v string) *UpdateLinkInput {
6360	s.Provider = &v
6361	return s
6362}
6363
6364// SetType sets the Type field's value.
6365func (s *UpdateLinkInput) SetType(v string) *UpdateLinkInput {
6366	s.Type = &v
6367	return s
6368}
6369
6370type UpdateLinkOutput struct {
6371	_ struct{} `type:"structure"`
6372
6373	// Information about the link.
6374	Link *Link `type:"structure"`
6375}
6376
6377// String returns the string representation
6378func (s UpdateLinkOutput) String() string {
6379	return awsutil.Prettify(s)
6380}
6381
6382// GoString returns the string representation
6383func (s UpdateLinkOutput) GoString() string {
6384	return s.String()
6385}
6386
6387// SetLink sets the Link field's value.
6388func (s *UpdateLinkOutput) SetLink(v *Link) *UpdateLinkOutput {
6389	s.Link = v
6390	return s
6391}
6392
6393type UpdateSiteInput struct {
6394	_ struct{} `type:"structure"`
6395
6396	// A description of your site.
6397	//
6398	// Length Constraints: Maximum length of 256 characters.
6399	Description *string `type:"string"`
6400
6401	// The ID of the global network.
6402	//
6403	// GlobalNetworkId is a required field
6404	GlobalNetworkId *string `location:"uri" locationName:"globalNetworkId" type:"string" required:"true"`
6405
6406	// The site location:
6407	//
6408	//    * Address: The physical address of the site.
6409	//
6410	//    * Latitude: The latitude of the site.
6411	//
6412	//    * Longitude: The longitude of the site.
6413	Location *Location `type:"structure"`
6414
6415	// The ID of your site.
6416	//
6417	// SiteId is a required field
6418	SiteId *string `location:"uri" locationName:"siteId" type:"string" required:"true"`
6419}
6420
6421// String returns the string representation
6422func (s UpdateSiteInput) String() string {
6423	return awsutil.Prettify(s)
6424}
6425
6426// GoString returns the string representation
6427func (s UpdateSiteInput) GoString() string {
6428	return s.String()
6429}
6430
6431// Validate inspects the fields of the type to determine if they are valid.
6432func (s *UpdateSiteInput) Validate() error {
6433	invalidParams := request.ErrInvalidParams{Context: "UpdateSiteInput"}
6434	if s.GlobalNetworkId == nil {
6435		invalidParams.Add(request.NewErrParamRequired("GlobalNetworkId"))
6436	}
6437	if s.GlobalNetworkId != nil && len(*s.GlobalNetworkId) < 1 {
6438		invalidParams.Add(request.NewErrParamMinLen("GlobalNetworkId", 1))
6439	}
6440	if s.SiteId == nil {
6441		invalidParams.Add(request.NewErrParamRequired("SiteId"))
6442	}
6443	if s.SiteId != nil && len(*s.SiteId) < 1 {
6444		invalidParams.Add(request.NewErrParamMinLen("SiteId", 1))
6445	}
6446
6447	if invalidParams.Len() > 0 {
6448		return invalidParams
6449	}
6450	return nil
6451}
6452
6453// SetDescription sets the Description field's value.
6454func (s *UpdateSiteInput) SetDescription(v string) *UpdateSiteInput {
6455	s.Description = &v
6456	return s
6457}
6458
6459// SetGlobalNetworkId sets the GlobalNetworkId field's value.
6460func (s *UpdateSiteInput) SetGlobalNetworkId(v string) *UpdateSiteInput {
6461	s.GlobalNetworkId = &v
6462	return s
6463}
6464
6465// SetLocation sets the Location field's value.
6466func (s *UpdateSiteInput) SetLocation(v *Location) *UpdateSiteInput {
6467	s.Location = v
6468	return s
6469}
6470
6471// SetSiteId sets the SiteId field's value.
6472func (s *UpdateSiteInput) SetSiteId(v string) *UpdateSiteInput {
6473	s.SiteId = &v
6474	return s
6475}
6476
6477type UpdateSiteOutput struct {
6478	_ struct{} `type:"structure"`
6479
6480	// Information about the site.
6481	Site *Site `type:"structure"`
6482}
6483
6484// String returns the string representation
6485func (s UpdateSiteOutput) String() string {
6486	return awsutil.Prettify(s)
6487}
6488
6489// GoString returns the string representation
6490func (s UpdateSiteOutput) GoString() string {
6491	return s.String()
6492}
6493
6494// SetSite sets the Site field's value.
6495func (s *UpdateSiteOutput) SetSite(v *Site) *UpdateSiteOutput {
6496	s.Site = v
6497	return s
6498}
6499
6500// Describes a validation exception for a field.
6501type ValidationExceptionField struct {
6502	_ struct{} `type:"structure"`
6503
6504	// The message for the field.
6505	//
6506	// Message is a required field
6507	Message *string `type:"string" required:"true"`
6508
6509	// The name of the field.
6510	//
6511	// Name is a required field
6512	Name *string `type:"string" required:"true"`
6513}
6514
6515// String returns the string representation
6516func (s ValidationExceptionField) String() string {
6517	return awsutil.Prettify(s)
6518}
6519
6520// GoString returns the string representation
6521func (s ValidationExceptionField) GoString() string {
6522	return s.String()
6523}
6524
6525// SetMessage sets the Message field's value.
6526func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
6527	s.Message = &v
6528	return s
6529}
6530
6531// SetName sets the Name field's value.
6532func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
6533	s.Name = &v
6534	return s
6535}
6536
6537const (
6538	// CustomerGatewayAssociationStatePending is a CustomerGatewayAssociationState enum value
6539	CustomerGatewayAssociationStatePending = "PENDING"
6540
6541	// CustomerGatewayAssociationStateAvailable is a CustomerGatewayAssociationState enum value
6542	CustomerGatewayAssociationStateAvailable = "AVAILABLE"
6543
6544	// CustomerGatewayAssociationStateDeleting is a CustomerGatewayAssociationState enum value
6545	CustomerGatewayAssociationStateDeleting = "DELETING"
6546
6547	// CustomerGatewayAssociationStateDeleted is a CustomerGatewayAssociationState enum value
6548	CustomerGatewayAssociationStateDeleted = "DELETED"
6549)
6550
6551const (
6552	// DeviceStatePending is a DeviceState enum value
6553	DeviceStatePending = "PENDING"
6554
6555	// DeviceStateAvailable is a DeviceState enum value
6556	DeviceStateAvailable = "AVAILABLE"
6557
6558	// DeviceStateDeleting is a DeviceState enum value
6559	DeviceStateDeleting = "DELETING"
6560
6561	// DeviceStateUpdating is a DeviceState enum value
6562	DeviceStateUpdating = "UPDATING"
6563)
6564
6565const (
6566	// GlobalNetworkStatePending is a GlobalNetworkState enum value
6567	GlobalNetworkStatePending = "PENDING"
6568
6569	// GlobalNetworkStateAvailable is a GlobalNetworkState enum value
6570	GlobalNetworkStateAvailable = "AVAILABLE"
6571
6572	// GlobalNetworkStateDeleting is a GlobalNetworkState enum value
6573	GlobalNetworkStateDeleting = "DELETING"
6574
6575	// GlobalNetworkStateUpdating is a GlobalNetworkState enum value
6576	GlobalNetworkStateUpdating = "UPDATING"
6577)
6578
6579const (
6580	// LinkAssociationStatePending is a LinkAssociationState enum value
6581	LinkAssociationStatePending = "PENDING"
6582
6583	// LinkAssociationStateAvailable is a LinkAssociationState enum value
6584	LinkAssociationStateAvailable = "AVAILABLE"
6585
6586	// LinkAssociationStateDeleting is a LinkAssociationState enum value
6587	LinkAssociationStateDeleting = "DELETING"
6588
6589	// LinkAssociationStateDeleted is a LinkAssociationState enum value
6590	LinkAssociationStateDeleted = "DELETED"
6591)
6592
6593const (
6594	// LinkStatePending is a LinkState enum value
6595	LinkStatePending = "PENDING"
6596
6597	// LinkStateAvailable is a LinkState enum value
6598	LinkStateAvailable = "AVAILABLE"
6599
6600	// LinkStateDeleting is a LinkState enum value
6601	LinkStateDeleting = "DELETING"
6602
6603	// LinkStateUpdating is a LinkState enum value
6604	LinkStateUpdating = "UPDATING"
6605)
6606
6607const (
6608	// SiteStatePending is a SiteState enum value
6609	SiteStatePending = "PENDING"
6610
6611	// SiteStateAvailable is a SiteState enum value
6612	SiteStateAvailable = "AVAILABLE"
6613
6614	// SiteStateDeleting is a SiteState enum value
6615	SiteStateDeleting = "DELETING"
6616
6617	// SiteStateUpdating is a SiteState enum value
6618	SiteStateUpdating = "UPDATING"
6619)
6620
6621const (
6622	// TransitGatewayRegistrationStatePending is a TransitGatewayRegistrationState enum value
6623	TransitGatewayRegistrationStatePending = "PENDING"
6624
6625	// TransitGatewayRegistrationStateAvailable is a TransitGatewayRegistrationState enum value
6626	TransitGatewayRegistrationStateAvailable = "AVAILABLE"
6627
6628	// TransitGatewayRegistrationStateDeleting is a TransitGatewayRegistrationState enum value
6629	TransitGatewayRegistrationStateDeleting = "DELETING"
6630
6631	// TransitGatewayRegistrationStateDeleted is a TransitGatewayRegistrationState enum value
6632	TransitGatewayRegistrationStateDeleted = "DELETED"
6633
6634	// TransitGatewayRegistrationStateFailed is a TransitGatewayRegistrationState enum value
6635	TransitGatewayRegistrationStateFailed = "FAILED"
6636)
6637
6638const (
6639	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
6640	ValidationExceptionReasonUnknownOperation = "UnknownOperation"
6641
6642	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
6643	ValidationExceptionReasonCannotParse = "CannotParse"
6644
6645	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
6646	ValidationExceptionReasonFieldValidationFailed = "FieldValidationFailed"
6647
6648	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
6649	ValidationExceptionReasonOther = "Other"
6650)
6651