1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package snowdevicemanagement
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opCancelTask = "CancelTask"
17
18// CancelTaskRequest generates a "aws/request.Request" representing the
19// client's request for the CancelTask operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CancelTask for more information on using the CancelTask
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CancelTaskRequest method.
34//    req, resp := client.CancelTaskRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CancelTask
42func (c *SnowDeviceManagement) CancelTaskRequest(input *CancelTaskInput) (req *request.Request, output *CancelTaskOutput) {
43	op := &request.Operation{
44		Name:       opCancelTask,
45		HTTPMethod: "POST",
46		HTTPPath:   "/task/{taskId}/cancel",
47	}
48
49	if input == nil {
50		input = &CancelTaskInput{}
51	}
52
53	output = &CancelTaskOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CancelTask API operation for AWS Snow Device Management.
59//
60// Sends a cancel request for a specified task. You can cancel a task only if
61// it's still in a QUEUED state. Tasks that are already running can't be cancelled.
62//
63// A task might still run if it's processed from the queue before the CancelTask
64// operation changes the task's state.
65//
66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
67// with awserr.Error's Code and Message methods to get detailed information about
68// the error.
69//
70// See the AWS API reference guide for AWS Snow Device Management's
71// API operation CancelTask for usage and error information.
72//
73// Returned Error Types:
74//   * ThrottlingException
75//   The request was denied due to request throttling.
76//
77//   * InternalServerException
78//   An unexpected error occurred while processing the request.
79//
80//   * ResourceNotFoundException
81//   The request references a resource that doesn't exist.
82//
83//   * ValidationException
84//   The input fails to satisfy the constraints specified by an Amazon Web Services
85//   service.
86//
87//   * AccessDeniedException
88//   You don't have sufficient access to perform this action.
89//
90// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CancelTask
91func (c *SnowDeviceManagement) CancelTask(input *CancelTaskInput) (*CancelTaskOutput, error) {
92	req, out := c.CancelTaskRequest(input)
93	return out, req.Send()
94}
95
96// CancelTaskWithContext is the same as CancelTask with the addition of
97// the ability to pass a context and additional request options.
98//
99// See CancelTask for details on how to use this API operation.
100//
101// The context must be non-nil and will be used for request cancellation. If
102// the context is nil a panic will occur. In the future the SDK may create
103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
104// for more information on using Contexts.
105func (c *SnowDeviceManagement) CancelTaskWithContext(ctx aws.Context, input *CancelTaskInput, opts ...request.Option) (*CancelTaskOutput, error) {
106	req, out := c.CancelTaskRequest(input)
107	req.SetContext(ctx)
108	req.ApplyOptions(opts...)
109	return out, req.Send()
110}
111
112const opCreateTask = "CreateTask"
113
114// CreateTaskRequest generates a "aws/request.Request" representing the
115// client's request for the CreateTask operation. The "output" return
116// value will be populated with the request's response once the request completes
117// successfully.
118//
119// Use "Send" method on the returned Request to send the API call to the service.
120// the "output" return value is not valid until after Send returns without error.
121//
122// See CreateTask for more information on using the CreateTask
123// API call, and error handling.
124//
125// This method is useful when you want to inject custom logic or configuration
126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
127//
128//
129//    // Example sending a request using the CreateTaskRequest method.
130//    req, resp := client.CreateTaskRequest(params)
131//
132//    err := req.Send()
133//    if err == nil { // resp is now filled
134//        fmt.Println(resp)
135//    }
136//
137// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CreateTask
138func (c *SnowDeviceManagement) CreateTaskRequest(input *CreateTaskInput) (req *request.Request, output *CreateTaskOutput) {
139	op := &request.Operation{
140		Name:       opCreateTask,
141		HTTPMethod: "POST",
142		HTTPPath:   "/task",
143	}
144
145	if input == nil {
146		input = &CreateTaskInput{}
147	}
148
149	output = &CreateTaskOutput{}
150	req = c.newRequest(op, input, output)
151	return
152}
153
154// CreateTask API operation for AWS Snow Device Management.
155//
156// Instructs one or more devices to start a task, such as unlocking or rebooting.
157//
158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
159// with awserr.Error's Code and Message methods to get detailed information about
160// the error.
161//
162// See the AWS API reference guide for AWS Snow Device Management's
163// API operation CreateTask for usage and error information.
164//
165// Returned Error Types:
166//   * ServiceQuotaExceededException
167//   The request would cause a service quota to be exceeded.
168//
169//   * ThrottlingException
170//   The request was denied due to request throttling.
171//
172//   * InternalServerException
173//   An unexpected error occurred while processing the request.
174//
175//   * ResourceNotFoundException
176//   The request references a resource that doesn't exist.
177//
178//   * ValidationException
179//   The input fails to satisfy the constraints specified by an Amazon Web Services
180//   service.
181//
182//   * AccessDeniedException
183//   You don't have sufficient access to perform this action.
184//
185// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/CreateTask
186func (c *SnowDeviceManagement) CreateTask(input *CreateTaskInput) (*CreateTaskOutput, error) {
187	req, out := c.CreateTaskRequest(input)
188	return out, req.Send()
189}
190
191// CreateTaskWithContext is the same as CreateTask with the addition of
192// the ability to pass a context and additional request options.
193//
194// See CreateTask for details on how to use this API operation.
195//
196// The context must be non-nil and will be used for request cancellation. If
197// the context is nil a panic will occur. In the future the SDK may create
198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
199// for more information on using Contexts.
200func (c *SnowDeviceManagement) CreateTaskWithContext(ctx aws.Context, input *CreateTaskInput, opts ...request.Option) (*CreateTaskOutput, error) {
201	req, out := c.CreateTaskRequest(input)
202	req.SetContext(ctx)
203	req.ApplyOptions(opts...)
204	return out, req.Send()
205}
206
207const opDescribeDevice = "DescribeDevice"
208
209// DescribeDeviceRequest generates a "aws/request.Request" representing the
210// client's request for the DescribeDevice operation. The "output" return
211// value will be populated with the request's response once the request completes
212// successfully.
213//
214// Use "Send" method on the returned Request to send the API call to the service.
215// the "output" return value is not valid until after Send returns without error.
216//
217// See DescribeDevice for more information on using the DescribeDevice
218// API call, and error handling.
219//
220// This method is useful when you want to inject custom logic or configuration
221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
222//
223//
224//    // Example sending a request using the DescribeDeviceRequest method.
225//    req, resp := client.DescribeDeviceRequest(params)
226//
227//    err := req.Send()
228//    if err == nil { // resp is now filled
229//        fmt.Println(resp)
230//    }
231//
232// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDevice
233func (c *SnowDeviceManagement) DescribeDeviceRequest(input *DescribeDeviceInput) (req *request.Request, output *DescribeDeviceOutput) {
234	op := &request.Operation{
235		Name:       opDescribeDevice,
236		HTTPMethod: "POST",
237		HTTPPath:   "/managed-device/{managedDeviceId}/describe",
238	}
239
240	if input == nil {
241		input = &DescribeDeviceInput{}
242	}
243
244	output = &DescribeDeviceOutput{}
245	req = c.newRequest(op, input, output)
246	return
247}
248
249// DescribeDevice API operation for AWS Snow Device Management.
250//
251// Checks device-specific information, such as the device type, software version,
252// IP addresses, and lock status.
253//
254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
255// with awserr.Error's Code and Message methods to get detailed information about
256// the error.
257//
258// See the AWS API reference guide for AWS Snow Device Management's
259// API operation DescribeDevice for usage and error information.
260//
261// Returned Error Types:
262//   * ThrottlingException
263//   The request was denied due to request throttling.
264//
265//   * InternalServerException
266//   An unexpected error occurred while processing the request.
267//
268//   * ResourceNotFoundException
269//   The request references a resource that doesn't exist.
270//
271//   * ValidationException
272//   The input fails to satisfy the constraints specified by an Amazon Web Services
273//   service.
274//
275//   * AccessDeniedException
276//   You don't have sufficient access to perform this action.
277//
278// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDevice
279func (c *SnowDeviceManagement) DescribeDevice(input *DescribeDeviceInput) (*DescribeDeviceOutput, error) {
280	req, out := c.DescribeDeviceRequest(input)
281	return out, req.Send()
282}
283
284// DescribeDeviceWithContext is the same as DescribeDevice with the addition of
285// the ability to pass a context and additional request options.
286//
287// See DescribeDevice for details on how to use this API operation.
288//
289// The context must be non-nil and will be used for request cancellation. If
290// the context is nil a panic will occur. In the future the SDK may create
291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
292// for more information on using Contexts.
293func (c *SnowDeviceManagement) DescribeDeviceWithContext(ctx aws.Context, input *DescribeDeviceInput, opts ...request.Option) (*DescribeDeviceOutput, error) {
294	req, out := c.DescribeDeviceRequest(input)
295	req.SetContext(ctx)
296	req.ApplyOptions(opts...)
297	return out, req.Send()
298}
299
300const opDescribeDeviceEc2Instances = "DescribeDeviceEc2Instances"
301
302// DescribeDeviceEc2InstancesRequest generates a "aws/request.Request" representing the
303// client's request for the DescribeDeviceEc2Instances operation. The "output" return
304// value will be populated with the request's response once the request completes
305// successfully.
306//
307// Use "Send" method on the returned Request to send the API call to the service.
308// the "output" return value is not valid until after Send returns without error.
309//
310// See DescribeDeviceEc2Instances for more information on using the DescribeDeviceEc2Instances
311// API call, and error handling.
312//
313// This method is useful when you want to inject custom logic or configuration
314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
315//
316//
317//    // Example sending a request using the DescribeDeviceEc2InstancesRequest method.
318//    req, resp := client.DescribeDeviceEc2InstancesRequest(params)
319//
320//    err := req.Send()
321//    if err == nil { // resp is now filled
322//        fmt.Println(resp)
323//    }
324//
325// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDeviceEc2Instances
326func (c *SnowDeviceManagement) DescribeDeviceEc2InstancesRequest(input *DescribeDeviceEc2InstancesInput) (req *request.Request, output *DescribeDeviceEc2InstancesOutput) {
327	op := &request.Operation{
328		Name:       opDescribeDeviceEc2Instances,
329		HTTPMethod: "POST",
330		HTTPPath:   "/managed-device/{managedDeviceId}/resources/ec2/describe",
331	}
332
333	if input == nil {
334		input = &DescribeDeviceEc2InstancesInput{}
335	}
336
337	output = &DescribeDeviceEc2InstancesOutput{}
338	req = c.newRequest(op, input, output)
339	return
340}
341
342// DescribeDeviceEc2Instances API operation for AWS Snow Device Management.
343//
344// Checks the current state of the Amazon EC2 instances. The output is similar
345// to describeDevice, but the results are sourced from the device cache in the
346// Amazon Web Services Cloud and include a subset of the available fields.
347//
348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
349// with awserr.Error's Code and Message methods to get detailed information about
350// the error.
351//
352// See the AWS API reference guide for AWS Snow Device Management's
353// API operation DescribeDeviceEc2Instances for usage and error information.
354//
355// Returned Error Types:
356//   * ThrottlingException
357//   The request was denied due to request throttling.
358//
359//   * InternalServerException
360//   An unexpected error occurred while processing the request.
361//
362//   * ResourceNotFoundException
363//   The request references a resource that doesn't exist.
364//
365//   * ValidationException
366//   The input fails to satisfy the constraints specified by an Amazon Web Services
367//   service.
368//
369//   * AccessDeniedException
370//   You don't have sufficient access to perform this action.
371//
372// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDeviceEc2Instances
373func (c *SnowDeviceManagement) DescribeDeviceEc2Instances(input *DescribeDeviceEc2InstancesInput) (*DescribeDeviceEc2InstancesOutput, error) {
374	req, out := c.DescribeDeviceEc2InstancesRequest(input)
375	return out, req.Send()
376}
377
378// DescribeDeviceEc2InstancesWithContext is the same as DescribeDeviceEc2Instances with the addition of
379// the ability to pass a context and additional request options.
380//
381// See DescribeDeviceEc2Instances for details on how to use this API operation.
382//
383// The context must be non-nil and will be used for request cancellation. If
384// the context is nil a panic will occur. In the future the SDK may create
385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
386// for more information on using Contexts.
387func (c *SnowDeviceManagement) DescribeDeviceEc2InstancesWithContext(ctx aws.Context, input *DescribeDeviceEc2InstancesInput, opts ...request.Option) (*DescribeDeviceEc2InstancesOutput, error) {
388	req, out := c.DescribeDeviceEc2InstancesRequest(input)
389	req.SetContext(ctx)
390	req.ApplyOptions(opts...)
391	return out, req.Send()
392}
393
394const opDescribeExecution = "DescribeExecution"
395
396// DescribeExecutionRequest generates a "aws/request.Request" representing the
397// client's request for the DescribeExecution operation. The "output" return
398// value will be populated with the request's response once the request completes
399// successfully.
400//
401// Use "Send" method on the returned Request to send the API call to the service.
402// the "output" return value is not valid until after Send returns without error.
403//
404// See DescribeExecution for more information on using the DescribeExecution
405// API call, and error handling.
406//
407// This method is useful when you want to inject custom logic or configuration
408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
409//
410//
411//    // Example sending a request using the DescribeExecutionRequest method.
412//    req, resp := client.DescribeExecutionRequest(params)
413//
414//    err := req.Send()
415//    if err == nil { // resp is now filled
416//        fmt.Println(resp)
417//    }
418//
419// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeExecution
420func (c *SnowDeviceManagement) DescribeExecutionRequest(input *DescribeExecutionInput) (req *request.Request, output *DescribeExecutionOutput) {
421	op := &request.Operation{
422		Name:       opDescribeExecution,
423		HTTPMethod: "POST",
424		HTTPPath:   "/task/{taskId}/execution/{managedDeviceId}",
425	}
426
427	if input == nil {
428		input = &DescribeExecutionInput{}
429	}
430
431	output = &DescribeExecutionOutput{}
432	req = c.newRequest(op, input, output)
433	return
434}
435
436// DescribeExecution API operation for AWS Snow Device Management.
437//
438// Checks the status of a remote task running on one or more target devices.
439//
440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
441// with awserr.Error's Code and Message methods to get detailed information about
442// the error.
443//
444// See the AWS API reference guide for AWS Snow Device Management's
445// API operation DescribeExecution for usage and error information.
446//
447// Returned Error Types:
448//   * ThrottlingException
449//   The request was denied due to request throttling.
450//
451//   * InternalServerException
452//   An unexpected error occurred while processing the request.
453//
454//   * ResourceNotFoundException
455//   The request references a resource that doesn't exist.
456//
457//   * ValidationException
458//   The input fails to satisfy the constraints specified by an Amazon Web Services
459//   service.
460//
461//   * AccessDeniedException
462//   You don't have sufficient access to perform this action.
463//
464// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeExecution
465func (c *SnowDeviceManagement) DescribeExecution(input *DescribeExecutionInput) (*DescribeExecutionOutput, error) {
466	req, out := c.DescribeExecutionRequest(input)
467	return out, req.Send()
468}
469
470// DescribeExecutionWithContext is the same as DescribeExecution with the addition of
471// the ability to pass a context and additional request options.
472//
473// See DescribeExecution for details on how to use this API operation.
474//
475// The context must be non-nil and will be used for request cancellation. If
476// the context is nil a panic will occur. In the future the SDK may create
477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
478// for more information on using Contexts.
479func (c *SnowDeviceManagement) DescribeExecutionWithContext(ctx aws.Context, input *DescribeExecutionInput, opts ...request.Option) (*DescribeExecutionOutput, error) {
480	req, out := c.DescribeExecutionRequest(input)
481	req.SetContext(ctx)
482	req.ApplyOptions(opts...)
483	return out, req.Send()
484}
485
486const opDescribeTask = "DescribeTask"
487
488// DescribeTaskRequest generates a "aws/request.Request" representing the
489// client's request for the DescribeTask operation. The "output" return
490// value will be populated with the request's response once the request completes
491// successfully.
492//
493// Use "Send" method on the returned Request to send the API call to the service.
494// the "output" return value is not valid until after Send returns without error.
495//
496// See DescribeTask for more information on using the DescribeTask
497// API call, and error handling.
498//
499// This method is useful when you want to inject custom logic or configuration
500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
501//
502//
503//    // Example sending a request using the DescribeTaskRequest method.
504//    req, resp := client.DescribeTaskRequest(params)
505//
506//    err := req.Send()
507//    if err == nil { // resp is now filled
508//        fmt.Println(resp)
509//    }
510//
511// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeTask
512func (c *SnowDeviceManagement) DescribeTaskRequest(input *DescribeTaskInput) (req *request.Request, output *DescribeTaskOutput) {
513	op := &request.Operation{
514		Name:       opDescribeTask,
515		HTTPMethod: "POST",
516		HTTPPath:   "/task/{taskId}",
517	}
518
519	if input == nil {
520		input = &DescribeTaskInput{}
521	}
522
523	output = &DescribeTaskOutput{}
524	req = c.newRequest(op, input, output)
525	return
526}
527
528// DescribeTask API operation for AWS Snow Device Management.
529//
530// Checks the metadata for a given task on a device.
531//
532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
533// with awserr.Error's Code and Message methods to get detailed information about
534// the error.
535//
536// See the AWS API reference guide for AWS Snow Device Management's
537// API operation DescribeTask for usage and error information.
538//
539// Returned Error Types:
540//   * ThrottlingException
541//   The request was denied due to request throttling.
542//
543//   * InternalServerException
544//   An unexpected error occurred while processing the request.
545//
546//   * ResourceNotFoundException
547//   The request references a resource that doesn't exist.
548//
549//   * ValidationException
550//   The input fails to satisfy the constraints specified by an Amazon Web Services
551//   service.
552//
553//   * AccessDeniedException
554//   You don't have sufficient access to perform this action.
555//
556// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeTask
557func (c *SnowDeviceManagement) DescribeTask(input *DescribeTaskInput) (*DescribeTaskOutput, error) {
558	req, out := c.DescribeTaskRequest(input)
559	return out, req.Send()
560}
561
562// DescribeTaskWithContext is the same as DescribeTask with the addition of
563// the ability to pass a context and additional request options.
564//
565// See DescribeTask for details on how to use this API operation.
566//
567// The context must be non-nil and will be used for request cancellation. If
568// the context is nil a panic will occur. In the future the SDK may create
569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
570// for more information on using Contexts.
571func (c *SnowDeviceManagement) DescribeTaskWithContext(ctx aws.Context, input *DescribeTaskInput, opts ...request.Option) (*DescribeTaskOutput, error) {
572	req, out := c.DescribeTaskRequest(input)
573	req.SetContext(ctx)
574	req.ApplyOptions(opts...)
575	return out, req.Send()
576}
577
578const opListDeviceResources = "ListDeviceResources"
579
580// ListDeviceResourcesRequest generates a "aws/request.Request" representing the
581// client's request for the ListDeviceResources operation. The "output" return
582// value will be populated with the request's response once the request completes
583// successfully.
584//
585// Use "Send" method on the returned Request to send the API call to the service.
586// the "output" return value is not valid until after Send returns without error.
587//
588// See ListDeviceResources for more information on using the ListDeviceResources
589// API call, and error handling.
590//
591// This method is useful when you want to inject custom logic or configuration
592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
593//
594//
595//    // Example sending a request using the ListDeviceResourcesRequest method.
596//    req, resp := client.ListDeviceResourcesRequest(params)
597//
598//    err := req.Send()
599//    if err == nil { // resp is now filled
600//        fmt.Println(resp)
601//    }
602//
603// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDeviceResources
604func (c *SnowDeviceManagement) ListDeviceResourcesRequest(input *ListDeviceResourcesInput) (req *request.Request, output *ListDeviceResourcesOutput) {
605	op := &request.Operation{
606		Name:       opListDeviceResources,
607		HTTPMethod: "GET",
608		HTTPPath:   "/managed-device/{managedDeviceId}/resources",
609		Paginator: &request.Paginator{
610			InputTokens:     []string{"nextToken"},
611			OutputTokens:    []string{"nextToken"},
612			LimitToken:      "maxResults",
613			TruncationToken: "",
614		},
615	}
616
617	if input == nil {
618		input = &ListDeviceResourcesInput{}
619	}
620
621	output = &ListDeviceResourcesOutput{}
622	req = c.newRequest(op, input, output)
623	return
624}
625
626// ListDeviceResources API operation for AWS Snow Device Management.
627//
628// Returns a list of the Amazon Web Services resources available for a device.
629// Currently, Amazon EC2 instances are the only supported resource type.
630//
631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
632// with awserr.Error's Code and Message methods to get detailed information about
633// the error.
634//
635// See the AWS API reference guide for AWS Snow Device Management's
636// API operation ListDeviceResources for usage and error information.
637//
638// Returned Error Types:
639//   * ThrottlingException
640//   The request was denied due to request throttling.
641//
642//   * InternalServerException
643//   An unexpected error occurred while processing the request.
644//
645//   * ResourceNotFoundException
646//   The request references a resource that doesn't exist.
647//
648//   * ValidationException
649//   The input fails to satisfy the constraints specified by an Amazon Web Services
650//   service.
651//
652//   * AccessDeniedException
653//   You don't have sufficient access to perform this action.
654//
655// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDeviceResources
656func (c *SnowDeviceManagement) ListDeviceResources(input *ListDeviceResourcesInput) (*ListDeviceResourcesOutput, error) {
657	req, out := c.ListDeviceResourcesRequest(input)
658	return out, req.Send()
659}
660
661// ListDeviceResourcesWithContext is the same as ListDeviceResources with the addition of
662// the ability to pass a context and additional request options.
663//
664// See ListDeviceResources for details on how to use this API operation.
665//
666// The context must be non-nil and will be used for request cancellation. If
667// the context is nil a panic will occur. In the future the SDK may create
668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
669// for more information on using Contexts.
670func (c *SnowDeviceManagement) ListDeviceResourcesWithContext(ctx aws.Context, input *ListDeviceResourcesInput, opts ...request.Option) (*ListDeviceResourcesOutput, error) {
671	req, out := c.ListDeviceResourcesRequest(input)
672	req.SetContext(ctx)
673	req.ApplyOptions(opts...)
674	return out, req.Send()
675}
676
677// ListDeviceResourcesPages iterates over the pages of a ListDeviceResources operation,
678// calling the "fn" function with the response data for each page. To stop
679// iterating, return false from the fn function.
680//
681// See ListDeviceResources method for more information on how to use this operation.
682//
683// Note: This operation can generate multiple requests to a service.
684//
685//    // Example iterating over at most 3 pages of a ListDeviceResources operation.
686//    pageNum := 0
687//    err := client.ListDeviceResourcesPages(params,
688//        func(page *snowdevicemanagement.ListDeviceResourcesOutput, lastPage bool) bool {
689//            pageNum++
690//            fmt.Println(page)
691//            return pageNum <= 3
692//        })
693//
694func (c *SnowDeviceManagement) ListDeviceResourcesPages(input *ListDeviceResourcesInput, fn func(*ListDeviceResourcesOutput, bool) bool) error {
695	return c.ListDeviceResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
696}
697
698// ListDeviceResourcesPagesWithContext same as ListDeviceResourcesPages except
699// it takes a Context and allows setting request options on the pages.
700//
701// The context must be non-nil and will be used for request cancellation. If
702// the context is nil a panic will occur. In the future the SDK may create
703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
704// for more information on using Contexts.
705func (c *SnowDeviceManagement) ListDeviceResourcesPagesWithContext(ctx aws.Context, input *ListDeviceResourcesInput, fn func(*ListDeviceResourcesOutput, bool) bool, opts ...request.Option) error {
706	p := request.Pagination{
707		NewRequest: func() (*request.Request, error) {
708			var inCpy *ListDeviceResourcesInput
709			if input != nil {
710				tmp := *input
711				inCpy = &tmp
712			}
713			req, _ := c.ListDeviceResourcesRequest(inCpy)
714			req.SetContext(ctx)
715			req.ApplyOptions(opts...)
716			return req, nil
717		},
718	}
719
720	for p.Next() {
721		if !fn(p.Page().(*ListDeviceResourcesOutput), !p.HasNextPage()) {
722			break
723		}
724	}
725
726	return p.Err()
727}
728
729const opListDevices = "ListDevices"
730
731// ListDevicesRequest generates a "aws/request.Request" representing the
732// client's request for the ListDevices operation. The "output" return
733// value will be populated with the request's response once the request completes
734// successfully.
735//
736// Use "Send" method on the returned Request to send the API call to the service.
737// the "output" return value is not valid until after Send returns without error.
738//
739// See ListDevices for more information on using the ListDevices
740// API call, and error handling.
741//
742// This method is useful when you want to inject custom logic or configuration
743// into the SDK's request lifecycle. Such as custom headers, or retry logic.
744//
745//
746//    // Example sending a request using the ListDevicesRequest method.
747//    req, resp := client.ListDevicesRequest(params)
748//
749//    err := req.Send()
750//    if err == nil { // resp is now filled
751//        fmt.Println(resp)
752//    }
753//
754// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDevices
755func (c *SnowDeviceManagement) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) {
756	op := &request.Operation{
757		Name:       opListDevices,
758		HTTPMethod: "GET",
759		HTTPPath:   "/managed-devices",
760		Paginator: &request.Paginator{
761			InputTokens:     []string{"nextToken"},
762			OutputTokens:    []string{"nextToken"},
763			LimitToken:      "maxResults",
764			TruncationToken: "",
765		},
766	}
767
768	if input == nil {
769		input = &ListDevicesInput{}
770	}
771
772	output = &ListDevicesOutput{}
773	req = c.newRequest(op, input, output)
774	return
775}
776
777// ListDevices API operation for AWS Snow Device Management.
778//
779// Returns a list of all devices on your Amazon Web Services account that have
780// Amazon Web Services Snow Device Management enabled in the Amazon Web Services
781// Region where the command is run.
782//
783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
784// with awserr.Error's Code and Message methods to get detailed information about
785// the error.
786//
787// See the AWS API reference guide for AWS Snow Device Management's
788// API operation ListDevices for usage and error information.
789//
790// Returned Error Types:
791//   * ThrottlingException
792//   The request was denied due to request throttling.
793//
794//   * InternalServerException
795//   An unexpected error occurred while processing the request.
796//
797//   * ValidationException
798//   The input fails to satisfy the constraints specified by an Amazon Web Services
799//   service.
800//
801//   * AccessDeniedException
802//   You don't have sufficient access to perform this action.
803//
804// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListDevices
805func (c *SnowDeviceManagement) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) {
806	req, out := c.ListDevicesRequest(input)
807	return out, req.Send()
808}
809
810// ListDevicesWithContext is the same as ListDevices with the addition of
811// the ability to pass a context and additional request options.
812//
813// See ListDevices for details on how to use this API operation.
814//
815// The context must be non-nil and will be used for request cancellation. If
816// the context is nil a panic will occur. In the future the SDK may create
817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
818// for more information on using Contexts.
819func (c *SnowDeviceManagement) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) {
820	req, out := c.ListDevicesRequest(input)
821	req.SetContext(ctx)
822	req.ApplyOptions(opts...)
823	return out, req.Send()
824}
825
826// ListDevicesPages iterates over the pages of a ListDevices operation,
827// calling the "fn" function with the response data for each page. To stop
828// iterating, return false from the fn function.
829//
830// See ListDevices method for more information on how to use this operation.
831//
832// Note: This operation can generate multiple requests to a service.
833//
834//    // Example iterating over at most 3 pages of a ListDevices operation.
835//    pageNum := 0
836//    err := client.ListDevicesPages(params,
837//        func(page *snowdevicemanagement.ListDevicesOutput, lastPage bool) bool {
838//            pageNum++
839//            fmt.Println(page)
840//            return pageNum <= 3
841//        })
842//
843func (c *SnowDeviceManagement) ListDevicesPages(input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool) error {
844	return c.ListDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
845}
846
847// ListDevicesPagesWithContext same as ListDevicesPages except
848// it takes a Context and allows setting request options on the pages.
849//
850// The context must be non-nil and will be used for request cancellation. If
851// the context is nil a panic will occur. In the future the SDK may create
852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
853// for more information on using Contexts.
854func (c *SnowDeviceManagement) ListDevicesPagesWithContext(ctx aws.Context, input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool, opts ...request.Option) error {
855	p := request.Pagination{
856		NewRequest: func() (*request.Request, error) {
857			var inCpy *ListDevicesInput
858			if input != nil {
859				tmp := *input
860				inCpy = &tmp
861			}
862			req, _ := c.ListDevicesRequest(inCpy)
863			req.SetContext(ctx)
864			req.ApplyOptions(opts...)
865			return req, nil
866		},
867	}
868
869	for p.Next() {
870		if !fn(p.Page().(*ListDevicesOutput), !p.HasNextPage()) {
871			break
872		}
873	}
874
875	return p.Err()
876}
877
878const opListExecutions = "ListExecutions"
879
880// ListExecutionsRequest generates a "aws/request.Request" representing the
881// client's request for the ListExecutions operation. The "output" return
882// value will be populated with the request's response once the request completes
883// successfully.
884//
885// Use "Send" method on the returned Request to send the API call to the service.
886// the "output" return value is not valid until after Send returns without error.
887//
888// See ListExecutions for more information on using the ListExecutions
889// API call, and error handling.
890//
891// This method is useful when you want to inject custom logic or configuration
892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
893//
894//
895//    // Example sending a request using the ListExecutionsRequest method.
896//    req, resp := client.ListExecutionsRequest(params)
897//
898//    err := req.Send()
899//    if err == nil { // resp is now filled
900//        fmt.Println(resp)
901//    }
902//
903// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListExecutions
904func (c *SnowDeviceManagement) ListExecutionsRequest(input *ListExecutionsInput) (req *request.Request, output *ListExecutionsOutput) {
905	op := &request.Operation{
906		Name:       opListExecutions,
907		HTTPMethod: "GET",
908		HTTPPath:   "/executions",
909		Paginator: &request.Paginator{
910			InputTokens:     []string{"nextToken"},
911			OutputTokens:    []string{"nextToken"},
912			LimitToken:      "maxResults",
913			TruncationToken: "",
914		},
915	}
916
917	if input == nil {
918		input = &ListExecutionsInput{}
919	}
920
921	output = &ListExecutionsOutput{}
922	req = c.newRequest(op, input, output)
923	return
924}
925
926// ListExecutions API operation for AWS Snow Device Management.
927//
928// Returns the status of tasks for one or more target devices.
929//
930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
931// with awserr.Error's Code and Message methods to get detailed information about
932// the error.
933//
934// See the AWS API reference guide for AWS Snow Device Management's
935// API operation ListExecutions for usage and error information.
936//
937// Returned Error Types:
938//   * ThrottlingException
939//   The request was denied due to request throttling.
940//
941//   * InternalServerException
942//   An unexpected error occurred while processing the request.
943//
944//   * ResourceNotFoundException
945//   The request references a resource that doesn't exist.
946//
947//   * ValidationException
948//   The input fails to satisfy the constraints specified by an Amazon Web Services
949//   service.
950//
951//   * AccessDeniedException
952//   You don't have sufficient access to perform this action.
953//
954// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListExecutions
955func (c *SnowDeviceManagement) ListExecutions(input *ListExecutionsInput) (*ListExecutionsOutput, error) {
956	req, out := c.ListExecutionsRequest(input)
957	return out, req.Send()
958}
959
960// ListExecutionsWithContext is the same as ListExecutions with the addition of
961// the ability to pass a context and additional request options.
962//
963// See ListExecutions for details on how to use this API operation.
964//
965// The context must be non-nil and will be used for request cancellation. If
966// the context is nil a panic will occur. In the future the SDK may create
967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
968// for more information on using Contexts.
969func (c *SnowDeviceManagement) ListExecutionsWithContext(ctx aws.Context, input *ListExecutionsInput, opts ...request.Option) (*ListExecutionsOutput, error) {
970	req, out := c.ListExecutionsRequest(input)
971	req.SetContext(ctx)
972	req.ApplyOptions(opts...)
973	return out, req.Send()
974}
975
976// ListExecutionsPages iterates over the pages of a ListExecutions operation,
977// calling the "fn" function with the response data for each page. To stop
978// iterating, return false from the fn function.
979//
980// See ListExecutions method for more information on how to use this operation.
981//
982// Note: This operation can generate multiple requests to a service.
983//
984//    // Example iterating over at most 3 pages of a ListExecutions operation.
985//    pageNum := 0
986//    err := client.ListExecutionsPages(params,
987//        func(page *snowdevicemanagement.ListExecutionsOutput, lastPage bool) bool {
988//            pageNum++
989//            fmt.Println(page)
990//            return pageNum <= 3
991//        })
992//
993func (c *SnowDeviceManagement) ListExecutionsPages(input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool) error {
994	return c.ListExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
995}
996
997// ListExecutionsPagesWithContext same as ListExecutionsPages except
998// it takes a Context and allows setting request options on the pages.
999//
1000// The context must be non-nil and will be used for request cancellation. If
1001// the context is nil a panic will occur. In the future the SDK may create
1002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1003// for more information on using Contexts.
1004func (c *SnowDeviceManagement) ListExecutionsPagesWithContext(ctx aws.Context, input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool, opts ...request.Option) error {
1005	p := request.Pagination{
1006		NewRequest: func() (*request.Request, error) {
1007			var inCpy *ListExecutionsInput
1008			if input != nil {
1009				tmp := *input
1010				inCpy = &tmp
1011			}
1012			req, _ := c.ListExecutionsRequest(inCpy)
1013			req.SetContext(ctx)
1014			req.ApplyOptions(opts...)
1015			return req, nil
1016		},
1017	}
1018
1019	for p.Next() {
1020		if !fn(p.Page().(*ListExecutionsOutput), !p.HasNextPage()) {
1021			break
1022		}
1023	}
1024
1025	return p.Err()
1026}
1027
1028const opListTagsForResource = "ListTagsForResource"
1029
1030// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1031// client's request for the ListTagsForResource operation. The "output" return
1032// value will be populated with the request's response once the request completes
1033// successfully.
1034//
1035// Use "Send" method on the returned Request to send the API call to the service.
1036// the "output" return value is not valid until after Send returns without error.
1037//
1038// See ListTagsForResource for more information on using the ListTagsForResource
1039// API call, and error handling.
1040//
1041// This method is useful when you want to inject custom logic or configuration
1042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1043//
1044//
1045//    // Example sending a request using the ListTagsForResourceRequest method.
1046//    req, resp := client.ListTagsForResourceRequest(params)
1047//
1048//    err := req.Send()
1049//    if err == nil { // resp is now filled
1050//        fmt.Println(resp)
1051//    }
1052//
1053// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTagsForResource
1054func (c *SnowDeviceManagement) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1055	op := &request.Operation{
1056		Name:       opListTagsForResource,
1057		HTTPMethod: "GET",
1058		HTTPPath:   "/tags/{resourceArn}",
1059	}
1060
1061	if input == nil {
1062		input = &ListTagsForResourceInput{}
1063	}
1064
1065	output = &ListTagsForResourceOutput{}
1066	req = c.newRequest(op, input, output)
1067	return
1068}
1069
1070// ListTagsForResource API operation for AWS Snow Device Management.
1071//
1072// Returns a list of tags for a managed device or task.
1073//
1074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1075// with awserr.Error's Code and Message methods to get detailed information about
1076// the error.
1077//
1078// See the AWS API reference guide for AWS Snow Device Management's
1079// API operation ListTagsForResource for usage and error information.
1080//
1081// Returned Error Types:
1082//   * InternalServerException
1083//   An unexpected error occurred while processing the request.
1084//
1085//   * ResourceNotFoundException
1086//   The request references a resource that doesn't exist.
1087//
1088//   * ValidationException
1089//   The input fails to satisfy the constraints specified by an Amazon Web Services
1090//   service.
1091//
1092// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTagsForResource
1093func (c *SnowDeviceManagement) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1094	req, out := c.ListTagsForResourceRequest(input)
1095	return out, req.Send()
1096}
1097
1098// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1099// the ability to pass a context and additional request options.
1100//
1101// See ListTagsForResource for details on how to use this API operation.
1102//
1103// The context must be non-nil and will be used for request cancellation. If
1104// the context is nil a panic will occur. In the future the SDK may create
1105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1106// for more information on using Contexts.
1107func (c *SnowDeviceManagement) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1108	req, out := c.ListTagsForResourceRequest(input)
1109	req.SetContext(ctx)
1110	req.ApplyOptions(opts...)
1111	return out, req.Send()
1112}
1113
1114const opListTasks = "ListTasks"
1115
1116// ListTasksRequest generates a "aws/request.Request" representing the
1117// client's request for the ListTasks operation. The "output" return
1118// value will be populated with the request's response once the request completes
1119// successfully.
1120//
1121// Use "Send" method on the returned Request to send the API call to the service.
1122// the "output" return value is not valid until after Send returns without error.
1123//
1124// See ListTasks for more information on using the ListTasks
1125// API call, and error handling.
1126//
1127// This method is useful when you want to inject custom logic or configuration
1128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1129//
1130//
1131//    // Example sending a request using the ListTasksRequest method.
1132//    req, resp := client.ListTasksRequest(params)
1133//
1134//    err := req.Send()
1135//    if err == nil { // resp is now filled
1136//        fmt.Println(resp)
1137//    }
1138//
1139// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTasks
1140func (c *SnowDeviceManagement) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) {
1141	op := &request.Operation{
1142		Name:       opListTasks,
1143		HTTPMethod: "GET",
1144		HTTPPath:   "/tasks",
1145		Paginator: &request.Paginator{
1146			InputTokens:     []string{"nextToken"},
1147			OutputTokens:    []string{"nextToken"},
1148			LimitToken:      "maxResults",
1149			TruncationToken: "",
1150		},
1151	}
1152
1153	if input == nil {
1154		input = &ListTasksInput{}
1155	}
1156
1157	output = &ListTasksOutput{}
1158	req = c.newRequest(op, input, output)
1159	return
1160}
1161
1162// ListTasks API operation for AWS Snow Device Management.
1163//
1164// Returns a list of tasks that can be filtered by state.
1165//
1166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1167// with awserr.Error's Code and Message methods to get detailed information about
1168// the error.
1169//
1170// See the AWS API reference guide for AWS Snow Device Management's
1171// API operation ListTasks for usage and error information.
1172//
1173// Returned Error Types:
1174//   * ThrottlingException
1175//   The request was denied due to request throttling.
1176//
1177//   * InternalServerException
1178//   An unexpected error occurred while processing the request.
1179//
1180//   * ValidationException
1181//   The input fails to satisfy the constraints specified by an Amazon Web Services
1182//   service.
1183//
1184//   * AccessDeniedException
1185//   You don't have sufficient access to perform this action.
1186//
1187// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/ListTasks
1188func (c *SnowDeviceManagement) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) {
1189	req, out := c.ListTasksRequest(input)
1190	return out, req.Send()
1191}
1192
1193// ListTasksWithContext is the same as ListTasks with the addition of
1194// the ability to pass a context and additional request options.
1195//
1196// See ListTasks for details on how to use this API operation.
1197//
1198// The context must be non-nil and will be used for request cancellation. If
1199// the context is nil a panic will occur. In the future the SDK may create
1200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1201// for more information on using Contexts.
1202func (c *SnowDeviceManagement) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) {
1203	req, out := c.ListTasksRequest(input)
1204	req.SetContext(ctx)
1205	req.ApplyOptions(opts...)
1206	return out, req.Send()
1207}
1208
1209// ListTasksPages iterates over the pages of a ListTasks operation,
1210// calling the "fn" function with the response data for each page. To stop
1211// iterating, return false from the fn function.
1212//
1213// See ListTasks method for more information on how to use this operation.
1214//
1215// Note: This operation can generate multiple requests to a service.
1216//
1217//    // Example iterating over at most 3 pages of a ListTasks operation.
1218//    pageNum := 0
1219//    err := client.ListTasksPages(params,
1220//        func(page *snowdevicemanagement.ListTasksOutput, lastPage bool) bool {
1221//            pageNum++
1222//            fmt.Println(page)
1223//            return pageNum <= 3
1224//        })
1225//
1226func (c *SnowDeviceManagement) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error {
1227	return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn)
1228}
1229
1230// ListTasksPagesWithContext same as ListTasksPages except
1231// it takes a Context and allows setting request options on the pages.
1232//
1233// The context must be non-nil and will be used for request cancellation. If
1234// the context is nil a panic will occur. In the future the SDK may create
1235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1236// for more information on using Contexts.
1237func (c *SnowDeviceManagement) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error {
1238	p := request.Pagination{
1239		NewRequest: func() (*request.Request, error) {
1240			var inCpy *ListTasksInput
1241			if input != nil {
1242				tmp := *input
1243				inCpy = &tmp
1244			}
1245			req, _ := c.ListTasksRequest(inCpy)
1246			req.SetContext(ctx)
1247			req.ApplyOptions(opts...)
1248			return req, nil
1249		},
1250	}
1251
1252	for p.Next() {
1253		if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) {
1254			break
1255		}
1256	}
1257
1258	return p.Err()
1259}
1260
1261const opTagResource = "TagResource"
1262
1263// TagResourceRequest generates a "aws/request.Request" representing the
1264// client's request for the TagResource operation. The "output" return
1265// value will be populated with the request's response once the request completes
1266// successfully.
1267//
1268// Use "Send" method on the returned Request to send the API call to the service.
1269// the "output" return value is not valid until after Send returns without error.
1270//
1271// See TagResource for more information on using the TagResource
1272// API call, and error handling.
1273//
1274// This method is useful when you want to inject custom logic or configuration
1275// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1276//
1277//
1278//    // Example sending a request using the TagResourceRequest method.
1279//    req, resp := client.TagResourceRequest(params)
1280//
1281//    err := req.Send()
1282//    if err == nil { // resp is now filled
1283//        fmt.Println(resp)
1284//    }
1285//
1286// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/TagResource
1287func (c *SnowDeviceManagement) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1288	op := &request.Operation{
1289		Name:       opTagResource,
1290		HTTPMethod: "POST",
1291		HTTPPath:   "/tags/{resourceArn}",
1292	}
1293
1294	if input == nil {
1295		input = &TagResourceInput{}
1296	}
1297
1298	output = &TagResourceOutput{}
1299	req = c.newRequest(op, input, output)
1300	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1301	return
1302}
1303
1304// TagResource API operation for AWS Snow Device Management.
1305//
1306// Adds or replaces tags on a device or task.
1307//
1308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1309// with awserr.Error's Code and Message methods to get detailed information about
1310// the error.
1311//
1312// See the AWS API reference guide for AWS Snow Device Management's
1313// API operation TagResource for usage and error information.
1314//
1315// Returned Error Types:
1316//   * InternalServerException
1317//   An unexpected error occurred while processing the request.
1318//
1319//   * ResourceNotFoundException
1320//   The request references a resource that doesn't exist.
1321//
1322//   * ValidationException
1323//   The input fails to satisfy the constraints specified by an Amazon Web Services
1324//   service.
1325//
1326// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/TagResource
1327func (c *SnowDeviceManagement) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1328	req, out := c.TagResourceRequest(input)
1329	return out, req.Send()
1330}
1331
1332// TagResourceWithContext is the same as TagResource with the addition of
1333// the ability to pass a context and additional request options.
1334//
1335// See TagResource for details on how to use this API operation.
1336//
1337// The context must be non-nil and will be used for request cancellation. If
1338// the context is nil a panic will occur. In the future the SDK may create
1339// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1340// for more information on using Contexts.
1341func (c *SnowDeviceManagement) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1342	req, out := c.TagResourceRequest(input)
1343	req.SetContext(ctx)
1344	req.ApplyOptions(opts...)
1345	return out, req.Send()
1346}
1347
1348const opUntagResource = "UntagResource"
1349
1350// UntagResourceRequest generates a "aws/request.Request" representing the
1351// client's request for the UntagResource operation. The "output" return
1352// value will be populated with the request's response once the request completes
1353// successfully.
1354//
1355// Use "Send" method on the returned Request to send the API call to the service.
1356// the "output" return value is not valid until after Send returns without error.
1357//
1358// See UntagResource for more information on using the UntagResource
1359// API call, and error handling.
1360//
1361// This method is useful when you want to inject custom logic or configuration
1362// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1363//
1364//
1365//    // Example sending a request using the UntagResourceRequest method.
1366//    req, resp := client.UntagResourceRequest(params)
1367//
1368//    err := req.Send()
1369//    if err == nil { // resp is now filled
1370//        fmt.Println(resp)
1371//    }
1372//
1373// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/UntagResource
1374func (c *SnowDeviceManagement) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1375	op := &request.Operation{
1376		Name:       opUntagResource,
1377		HTTPMethod: "DELETE",
1378		HTTPPath:   "/tags/{resourceArn}",
1379	}
1380
1381	if input == nil {
1382		input = &UntagResourceInput{}
1383	}
1384
1385	output = &UntagResourceOutput{}
1386	req = c.newRequest(op, input, output)
1387	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1388	return
1389}
1390
1391// UntagResource API operation for AWS Snow Device Management.
1392//
1393// Removes a tag from a device or task.
1394//
1395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1396// with awserr.Error's Code and Message methods to get detailed information about
1397// the error.
1398//
1399// See the AWS API reference guide for AWS Snow Device Management's
1400// API operation UntagResource for usage and error information.
1401//
1402// Returned Error Types:
1403//   * InternalServerException
1404//   An unexpected error occurred while processing the request.
1405//
1406//   * ResourceNotFoundException
1407//   The request references a resource that doesn't exist.
1408//
1409//   * ValidationException
1410//   The input fails to satisfy the constraints specified by an Amazon Web Services
1411//   service.
1412//
1413// See also, https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/UntagResource
1414func (c *SnowDeviceManagement) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1415	req, out := c.UntagResourceRequest(input)
1416	return out, req.Send()
1417}
1418
1419// UntagResourceWithContext is the same as UntagResource with the addition of
1420// the ability to pass a context and additional request options.
1421//
1422// See UntagResource for details on how to use this API operation.
1423//
1424// The context must be non-nil and will be used for request cancellation. If
1425// the context is nil a panic will occur. In the future the SDK may create
1426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1427// for more information on using Contexts.
1428func (c *SnowDeviceManagement) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1429	req, out := c.UntagResourceRequest(input)
1430	req.SetContext(ctx)
1431	req.ApplyOptions(opts...)
1432	return out, req.Send()
1433}
1434
1435// You don't have sufficient access to perform this action.
1436type AccessDeniedException struct {
1437	_            struct{}                  `type:"structure"`
1438	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1439
1440	Message_ *string `locationName:"message" type:"string"`
1441}
1442
1443// String returns the string representation.
1444//
1445// API parameter values that are decorated as "sensitive" in the API will not
1446// be included in the string output. The member name will be present, but the
1447// value will be replaced with "sensitive".
1448func (s AccessDeniedException) String() string {
1449	return awsutil.Prettify(s)
1450}
1451
1452// GoString returns the string representation.
1453//
1454// API parameter values that are decorated as "sensitive" in the API will not
1455// be included in the string output. The member name will be present, but the
1456// value will be replaced with "sensitive".
1457func (s AccessDeniedException) GoString() string {
1458	return s.String()
1459}
1460
1461func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
1462	return &AccessDeniedException{
1463		RespMetadata: v,
1464	}
1465}
1466
1467// Code returns the exception type name.
1468func (s *AccessDeniedException) Code() string {
1469	return "AccessDeniedException"
1470}
1471
1472// Message returns the exception's message.
1473func (s *AccessDeniedException) Message() string {
1474	if s.Message_ != nil {
1475		return *s.Message_
1476	}
1477	return ""
1478}
1479
1480// OrigErr always returns nil, satisfies awserr.Error interface.
1481func (s *AccessDeniedException) OrigErr() error {
1482	return nil
1483}
1484
1485func (s *AccessDeniedException) Error() string {
1486	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1487}
1488
1489// Status code returns the HTTP status code for the request's response error.
1490func (s *AccessDeniedException) StatusCode() int {
1491	return s.RespMetadata.StatusCode
1492}
1493
1494// RequestID returns the service's response RequestID for request.
1495func (s *AccessDeniedException) RequestID() string {
1496	return s.RespMetadata.RequestID
1497}
1498
1499type CancelTaskInput struct {
1500	_ struct{} `type:"structure" nopayload:"true"`
1501
1502	// The ID of the task that you are attempting to cancel. You can retrieve a
1503	// task ID by using the ListTasks operation.
1504	//
1505	// TaskId is a required field
1506	TaskId *string `location:"uri" locationName:"taskId" min:"1" type:"string" required:"true"`
1507}
1508
1509// String returns the string representation.
1510//
1511// API parameter values that are decorated as "sensitive" in the API will not
1512// be included in the string output. The member name will be present, but the
1513// value will be replaced with "sensitive".
1514func (s CancelTaskInput) String() string {
1515	return awsutil.Prettify(s)
1516}
1517
1518// GoString returns the string representation.
1519//
1520// API parameter values that are decorated as "sensitive" in the API will not
1521// be included in the string output. The member name will be present, but the
1522// value will be replaced with "sensitive".
1523func (s CancelTaskInput) GoString() string {
1524	return s.String()
1525}
1526
1527// Validate inspects the fields of the type to determine if they are valid.
1528func (s *CancelTaskInput) Validate() error {
1529	invalidParams := request.ErrInvalidParams{Context: "CancelTaskInput"}
1530	if s.TaskId == nil {
1531		invalidParams.Add(request.NewErrParamRequired("TaskId"))
1532	}
1533	if s.TaskId != nil && len(*s.TaskId) < 1 {
1534		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
1535	}
1536
1537	if invalidParams.Len() > 0 {
1538		return invalidParams
1539	}
1540	return nil
1541}
1542
1543// SetTaskId sets the TaskId field's value.
1544func (s *CancelTaskInput) SetTaskId(v string) *CancelTaskInput {
1545	s.TaskId = &v
1546	return s
1547}
1548
1549type CancelTaskOutput struct {
1550	_ struct{} `type:"structure"`
1551
1552	// The ID of the task that you are attempting to cancel.
1553	TaskId *string `locationName:"taskId" type:"string"`
1554}
1555
1556// String returns the string representation.
1557//
1558// API parameter values that are decorated as "sensitive" in the API will not
1559// be included in the string output. The member name will be present, but the
1560// value will be replaced with "sensitive".
1561func (s CancelTaskOutput) String() string {
1562	return awsutil.Prettify(s)
1563}
1564
1565// GoString returns the string representation.
1566//
1567// API parameter values that are decorated as "sensitive" in the API will not
1568// be included in the string output. The member name will be present, but the
1569// value will be replaced with "sensitive".
1570func (s CancelTaskOutput) GoString() string {
1571	return s.String()
1572}
1573
1574// SetTaskId sets the TaskId field's value.
1575func (s *CancelTaskOutput) SetTaskId(v string) *CancelTaskOutput {
1576	s.TaskId = &v
1577	return s
1578}
1579
1580// The physical capacity of the Amazon Web Services Snow Family device.
1581type Capacity struct {
1582	_ struct{} `type:"structure"`
1583
1584	// The amount of capacity available for use on the device.
1585	Available *int64 `locationName:"available" type:"long"`
1586
1587	// The name of the type of capacity, such as memory.
1588	Name *string `locationName:"name" type:"string"`
1589
1590	// The total capacity on the device.
1591	Total *int64 `locationName:"total" type:"long"`
1592
1593	// The unit of measure for the type of capacity.
1594	Unit *string `locationName:"unit" type:"string"`
1595
1596	// The amount of capacity used on the device.
1597	Used *int64 `locationName:"used" type:"long"`
1598}
1599
1600// String returns the string representation.
1601//
1602// API parameter values that are decorated as "sensitive" in the API will not
1603// be included in the string output. The member name will be present, but the
1604// value will be replaced with "sensitive".
1605func (s Capacity) String() string {
1606	return awsutil.Prettify(s)
1607}
1608
1609// GoString returns the string representation.
1610//
1611// API parameter values that are decorated as "sensitive" in the API will not
1612// be included in the string output. The member name will be present, but the
1613// value will be replaced with "sensitive".
1614func (s Capacity) GoString() string {
1615	return s.String()
1616}
1617
1618// SetAvailable sets the Available field's value.
1619func (s *Capacity) SetAvailable(v int64) *Capacity {
1620	s.Available = &v
1621	return s
1622}
1623
1624// SetName sets the Name field's value.
1625func (s *Capacity) SetName(v string) *Capacity {
1626	s.Name = &v
1627	return s
1628}
1629
1630// SetTotal sets the Total field's value.
1631func (s *Capacity) SetTotal(v int64) *Capacity {
1632	s.Total = &v
1633	return s
1634}
1635
1636// SetUnit sets the Unit field's value.
1637func (s *Capacity) SetUnit(v string) *Capacity {
1638	s.Unit = &v
1639	return s
1640}
1641
1642// SetUsed sets the Used field's value.
1643func (s *Capacity) SetUsed(v int64) *Capacity {
1644	s.Used = &v
1645	return s
1646}
1647
1648// The command given to the device to execute.
1649type Command struct {
1650	_ struct{} `type:"structure"`
1651
1652	// Reboots the device.
1653	Reboot *Reboot `locationName:"reboot" type:"structure"`
1654
1655	// Unlocks the device.
1656	Unlock *Unlock `locationName:"unlock" type:"structure"`
1657}
1658
1659// String returns the string representation.
1660//
1661// API parameter values that are decorated as "sensitive" in the API will not
1662// be included in the string output. The member name will be present, but the
1663// value will be replaced with "sensitive".
1664func (s Command) String() string {
1665	return awsutil.Prettify(s)
1666}
1667
1668// GoString returns the string representation.
1669//
1670// API parameter values that are decorated as "sensitive" in the API will not
1671// be included in the string output. The member name will be present, but the
1672// value will be replaced with "sensitive".
1673func (s Command) GoString() string {
1674	return s.String()
1675}
1676
1677// SetReboot sets the Reboot field's value.
1678func (s *Command) SetReboot(v *Reboot) *Command {
1679	s.Reboot = v
1680	return s
1681}
1682
1683// SetUnlock sets the Unlock field's value.
1684func (s *Command) SetUnlock(v *Unlock) *Command {
1685	s.Unlock = v
1686	return s
1687}
1688
1689// The options for how a device's CPU is configured.
1690type CpuOptions struct {
1691	_ struct{} `type:"structure"`
1692
1693	// The number of cores that the CPU can use.
1694	CoreCount *int64 `locationName:"coreCount" type:"integer"`
1695
1696	// The number of threads per core in the CPU.
1697	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
1698}
1699
1700// String returns the string representation.
1701//
1702// API parameter values that are decorated as "sensitive" in the API will not
1703// be included in the string output. The member name will be present, but the
1704// value will be replaced with "sensitive".
1705func (s CpuOptions) String() string {
1706	return awsutil.Prettify(s)
1707}
1708
1709// GoString returns the string representation.
1710//
1711// API parameter values that are decorated as "sensitive" in the API will not
1712// be included in the string output. The member name will be present, but the
1713// value will be replaced with "sensitive".
1714func (s CpuOptions) GoString() string {
1715	return s.String()
1716}
1717
1718// SetCoreCount sets the CoreCount field's value.
1719func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
1720	s.CoreCount = &v
1721	return s
1722}
1723
1724// SetThreadsPerCore sets the ThreadsPerCore field's value.
1725func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
1726	s.ThreadsPerCore = &v
1727	return s
1728}
1729
1730type CreateTaskInput struct {
1731	_ struct{} `type:"structure"`
1732
1733	// A token ensuring that the action is called only once with the specified details.
1734	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
1735
1736	// The task to be performed. Only one task is executed on a device at a time.
1737	//
1738	// Command is a required field
1739	Command *Command `locationName:"command" type:"structure" required:"true"`
1740
1741	// A description of the task and its targets.
1742	Description *string `locationName:"description" min:"1" type:"string"`
1743
1744	// Optional metadata that you assign to a resource. You can use tags to categorize
1745	// a resource in different ways, such as by purpose, owner, or environment.
1746	Tags map[string]*string `locationName:"tags" type:"map"`
1747
1748	// A list of managed device IDs.
1749	//
1750	// Targets is a required field
1751	Targets []*string `locationName:"targets" min:"1" type:"list" required:"true"`
1752}
1753
1754// String returns the string representation.
1755//
1756// API parameter values that are decorated as "sensitive" in the API will not
1757// be included in the string output. The member name will be present, but the
1758// value will be replaced with "sensitive".
1759func (s CreateTaskInput) String() string {
1760	return awsutil.Prettify(s)
1761}
1762
1763// GoString returns the string representation.
1764//
1765// API parameter values that are decorated as "sensitive" in the API will not
1766// be included in the string output. The member name will be present, but the
1767// value will be replaced with "sensitive".
1768func (s CreateTaskInput) GoString() string {
1769	return s.String()
1770}
1771
1772// Validate inspects the fields of the type to determine if they are valid.
1773func (s *CreateTaskInput) Validate() error {
1774	invalidParams := request.ErrInvalidParams{Context: "CreateTaskInput"}
1775	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
1776		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
1777	}
1778	if s.Command == nil {
1779		invalidParams.Add(request.NewErrParamRequired("Command"))
1780	}
1781	if s.Description != nil && len(*s.Description) < 1 {
1782		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
1783	}
1784	if s.Targets == nil {
1785		invalidParams.Add(request.NewErrParamRequired("Targets"))
1786	}
1787	if s.Targets != nil && len(s.Targets) < 1 {
1788		invalidParams.Add(request.NewErrParamMinLen("Targets", 1))
1789	}
1790
1791	if invalidParams.Len() > 0 {
1792		return invalidParams
1793	}
1794	return nil
1795}
1796
1797// SetClientToken sets the ClientToken field's value.
1798func (s *CreateTaskInput) SetClientToken(v string) *CreateTaskInput {
1799	s.ClientToken = &v
1800	return s
1801}
1802
1803// SetCommand sets the Command field's value.
1804func (s *CreateTaskInput) SetCommand(v *Command) *CreateTaskInput {
1805	s.Command = v
1806	return s
1807}
1808
1809// SetDescription sets the Description field's value.
1810func (s *CreateTaskInput) SetDescription(v string) *CreateTaskInput {
1811	s.Description = &v
1812	return s
1813}
1814
1815// SetTags sets the Tags field's value.
1816func (s *CreateTaskInput) SetTags(v map[string]*string) *CreateTaskInput {
1817	s.Tags = v
1818	return s
1819}
1820
1821// SetTargets sets the Targets field's value.
1822func (s *CreateTaskInput) SetTargets(v []*string) *CreateTaskInput {
1823	s.Targets = v
1824	return s
1825}
1826
1827type CreateTaskOutput struct {
1828	_ struct{} `type:"structure"`
1829
1830	// The Amazon Resource Name (ARN) of the task that you created.
1831	TaskArn *string `locationName:"taskArn" type:"string"`
1832
1833	// The ID of the task that you created.
1834	TaskId *string `locationName:"taskId" type:"string"`
1835}
1836
1837// String returns the string representation.
1838//
1839// API parameter values that are decorated as "sensitive" in the API will not
1840// be included in the string output. The member name will be present, but the
1841// value will be replaced with "sensitive".
1842func (s CreateTaskOutput) String() string {
1843	return awsutil.Prettify(s)
1844}
1845
1846// GoString returns the string representation.
1847//
1848// API parameter values that are decorated as "sensitive" in the API will not
1849// be included in the string output. The member name will be present, but the
1850// value will be replaced with "sensitive".
1851func (s CreateTaskOutput) GoString() string {
1852	return s.String()
1853}
1854
1855// SetTaskArn sets the TaskArn field's value.
1856func (s *CreateTaskOutput) SetTaskArn(v string) *CreateTaskOutput {
1857	s.TaskArn = &v
1858	return s
1859}
1860
1861// SetTaskId sets the TaskId field's value.
1862func (s *CreateTaskOutput) SetTaskId(v string) *CreateTaskOutput {
1863	s.TaskId = &v
1864	return s
1865}
1866
1867type DescribeDeviceEc2InstancesInput struct {
1868	_ struct{} `type:"structure"`
1869
1870	// A list of instance IDs associated with the managed device.
1871	//
1872	// InstanceIds is a required field
1873	InstanceIds []*string `locationName:"instanceIds" type:"list" required:"true"`
1874
1875	// The ID of the managed device.
1876	//
1877	// ManagedDeviceId is a required field
1878	ManagedDeviceId *string `location:"uri" locationName:"managedDeviceId" min:"1" type:"string" required:"true"`
1879}
1880
1881// String returns the string representation.
1882//
1883// API parameter values that are decorated as "sensitive" in the API will not
1884// be included in the string output. The member name will be present, but the
1885// value will be replaced with "sensitive".
1886func (s DescribeDeviceEc2InstancesInput) String() string {
1887	return awsutil.Prettify(s)
1888}
1889
1890// GoString returns the string representation.
1891//
1892// API parameter values that are decorated as "sensitive" in the API will not
1893// be included in the string output. The member name will be present, but the
1894// value will be replaced with "sensitive".
1895func (s DescribeDeviceEc2InstancesInput) GoString() string {
1896	return s.String()
1897}
1898
1899// Validate inspects the fields of the type to determine if they are valid.
1900func (s *DescribeDeviceEc2InstancesInput) Validate() error {
1901	invalidParams := request.ErrInvalidParams{Context: "DescribeDeviceEc2InstancesInput"}
1902	if s.InstanceIds == nil {
1903		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
1904	}
1905	if s.ManagedDeviceId == nil {
1906		invalidParams.Add(request.NewErrParamRequired("ManagedDeviceId"))
1907	}
1908	if s.ManagedDeviceId != nil && len(*s.ManagedDeviceId) < 1 {
1909		invalidParams.Add(request.NewErrParamMinLen("ManagedDeviceId", 1))
1910	}
1911
1912	if invalidParams.Len() > 0 {
1913		return invalidParams
1914	}
1915	return nil
1916}
1917
1918// SetInstanceIds sets the InstanceIds field's value.
1919func (s *DescribeDeviceEc2InstancesInput) SetInstanceIds(v []*string) *DescribeDeviceEc2InstancesInput {
1920	s.InstanceIds = v
1921	return s
1922}
1923
1924// SetManagedDeviceId sets the ManagedDeviceId field's value.
1925func (s *DescribeDeviceEc2InstancesInput) SetManagedDeviceId(v string) *DescribeDeviceEc2InstancesInput {
1926	s.ManagedDeviceId = &v
1927	return s
1928}
1929
1930type DescribeDeviceEc2InstancesOutput struct {
1931	_ struct{} `type:"structure"`
1932
1933	// A list of structures containing information about each instance.
1934	Instances []*InstanceSummary `locationName:"instances" type:"list"`
1935}
1936
1937// String returns the string representation.
1938//
1939// API parameter values that are decorated as "sensitive" in the API will not
1940// be included in the string output. The member name will be present, but the
1941// value will be replaced with "sensitive".
1942func (s DescribeDeviceEc2InstancesOutput) String() string {
1943	return awsutil.Prettify(s)
1944}
1945
1946// GoString returns the string representation.
1947//
1948// API parameter values that are decorated as "sensitive" in the API will not
1949// be included in the string output. The member name will be present, but the
1950// value will be replaced with "sensitive".
1951func (s DescribeDeviceEc2InstancesOutput) GoString() string {
1952	return s.String()
1953}
1954
1955// SetInstances sets the Instances field's value.
1956func (s *DescribeDeviceEc2InstancesOutput) SetInstances(v []*InstanceSummary) *DescribeDeviceEc2InstancesOutput {
1957	s.Instances = v
1958	return s
1959}
1960
1961type DescribeDeviceInput struct {
1962	_ struct{} `type:"structure" nopayload:"true"`
1963
1964	// The ID of the device that you are checking the information of.
1965	//
1966	// ManagedDeviceId is a required field
1967	ManagedDeviceId *string `location:"uri" locationName:"managedDeviceId" min:"1" type:"string" required:"true"`
1968}
1969
1970// String returns the string representation.
1971//
1972// API parameter values that are decorated as "sensitive" in the API will not
1973// be included in the string output. The member name will be present, but the
1974// value will be replaced with "sensitive".
1975func (s DescribeDeviceInput) String() string {
1976	return awsutil.Prettify(s)
1977}
1978
1979// GoString returns the string representation.
1980//
1981// API parameter values that are decorated as "sensitive" in the API will not
1982// be included in the string output. The member name will be present, but the
1983// value will be replaced with "sensitive".
1984func (s DescribeDeviceInput) GoString() string {
1985	return s.String()
1986}
1987
1988// Validate inspects the fields of the type to determine if they are valid.
1989func (s *DescribeDeviceInput) Validate() error {
1990	invalidParams := request.ErrInvalidParams{Context: "DescribeDeviceInput"}
1991	if s.ManagedDeviceId == nil {
1992		invalidParams.Add(request.NewErrParamRequired("ManagedDeviceId"))
1993	}
1994	if s.ManagedDeviceId != nil && len(*s.ManagedDeviceId) < 1 {
1995		invalidParams.Add(request.NewErrParamMinLen("ManagedDeviceId", 1))
1996	}
1997
1998	if invalidParams.Len() > 0 {
1999		return invalidParams
2000	}
2001	return nil
2002}
2003
2004// SetManagedDeviceId sets the ManagedDeviceId field's value.
2005func (s *DescribeDeviceInput) SetManagedDeviceId(v string) *DescribeDeviceInput {
2006	s.ManagedDeviceId = &v
2007	return s
2008}
2009
2010type DescribeDeviceOutput struct {
2011	_ struct{} `type:"structure"`
2012
2013	// The ID of the job used when ordering the device.
2014	AssociatedWithJob *string `locationName:"associatedWithJob" type:"string"`
2015
2016	// The hardware specifications of the device.
2017	DeviceCapacities []*Capacity `locationName:"deviceCapacities" type:"list"`
2018
2019	// The current state of the device.
2020	DeviceState *string `locationName:"deviceState" type:"string" enum:"UnlockState"`
2021
2022	// The type of Amazon Web Services Snow Family device.
2023	DeviceType *string `locationName:"deviceType" type:"string"`
2024
2025	// When the device last contacted the Amazon Web Services Cloud. Indicates that
2026	// the device is online.
2027	LastReachedOutAt *time.Time `locationName:"lastReachedOutAt" type:"timestamp"`
2028
2029	// When the device last pushed an update to the Amazon Web Services Cloud. Indicates
2030	// when the device cache was refreshed.
2031	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
2032
2033	// The Amazon Resource Name (ARN) of the device.
2034	ManagedDeviceArn *string `locationName:"managedDeviceArn" type:"string"`
2035
2036	// The ID of the device that you checked the information for.
2037	ManagedDeviceId *string `locationName:"managedDeviceId" min:"1" type:"string"`
2038
2039	// The network interfaces available on the device.
2040	PhysicalNetworkInterfaces []*PhysicalNetworkInterface `locationName:"physicalNetworkInterfaces" type:"list"`
2041
2042	// The software installed on the device.
2043	Software *SoftwareInformation `locationName:"software" type:"structure"`
2044
2045	// Optional metadata that you assign to a resource. You can use tags to categorize
2046	// a resource in different ways, such as by purpose, owner, or environment.
2047	Tags map[string]*string `locationName:"tags" type:"map"`
2048}
2049
2050// String returns the string representation.
2051//
2052// API parameter values that are decorated as "sensitive" in the API will not
2053// be included in the string output. The member name will be present, but the
2054// value will be replaced with "sensitive".
2055func (s DescribeDeviceOutput) String() string {
2056	return awsutil.Prettify(s)
2057}
2058
2059// GoString returns the string representation.
2060//
2061// API parameter values that are decorated as "sensitive" in the API will not
2062// be included in the string output. The member name will be present, but the
2063// value will be replaced with "sensitive".
2064func (s DescribeDeviceOutput) GoString() string {
2065	return s.String()
2066}
2067
2068// SetAssociatedWithJob sets the AssociatedWithJob field's value.
2069func (s *DescribeDeviceOutput) SetAssociatedWithJob(v string) *DescribeDeviceOutput {
2070	s.AssociatedWithJob = &v
2071	return s
2072}
2073
2074// SetDeviceCapacities sets the DeviceCapacities field's value.
2075func (s *DescribeDeviceOutput) SetDeviceCapacities(v []*Capacity) *DescribeDeviceOutput {
2076	s.DeviceCapacities = v
2077	return s
2078}
2079
2080// SetDeviceState sets the DeviceState field's value.
2081func (s *DescribeDeviceOutput) SetDeviceState(v string) *DescribeDeviceOutput {
2082	s.DeviceState = &v
2083	return s
2084}
2085
2086// SetDeviceType sets the DeviceType field's value.
2087func (s *DescribeDeviceOutput) SetDeviceType(v string) *DescribeDeviceOutput {
2088	s.DeviceType = &v
2089	return s
2090}
2091
2092// SetLastReachedOutAt sets the LastReachedOutAt field's value.
2093func (s *DescribeDeviceOutput) SetLastReachedOutAt(v time.Time) *DescribeDeviceOutput {
2094	s.LastReachedOutAt = &v
2095	return s
2096}
2097
2098// SetLastUpdatedAt sets the LastUpdatedAt field's value.
2099func (s *DescribeDeviceOutput) SetLastUpdatedAt(v time.Time) *DescribeDeviceOutput {
2100	s.LastUpdatedAt = &v
2101	return s
2102}
2103
2104// SetManagedDeviceArn sets the ManagedDeviceArn field's value.
2105func (s *DescribeDeviceOutput) SetManagedDeviceArn(v string) *DescribeDeviceOutput {
2106	s.ManagedDeviceArn = &v
2107	return s
2108}
2109
2110// SetManagedDeviceId sets the ManagedDeviceId field's value.
2111func (s *DescribeDeviceOutput) SetManagedDeviceId(v string) *DescribeDeviceOutput {
2112	s.ManagedDeviceId = &v
2113	return s
2114}
2115
2116// SetPhysicalNetworkInterfaces sets the PhysicalNetworkInterfaces field's value.
2117func (s *DescribeDeviceOutput) SetPhysicalNetworkInterfaces(v []*PhysicalNetworkInterface) *DescribeDeviceOutput {
2118	s.PhysicalNetworkInterfaces = v
2119	return s
2120}
2121
2122// SetSoftware sets the Software field's value.
2123func (s *DescribeDeviceOutput) SetSoftware(v *SoftwareInformation) *DescribeDeviceOutput {
2124	s.Software = v
2125	return s
2126}
2127
2128// SetTags sets the Tags field's value.
2129func (s *DescribeDeviceOutput) SetTags(v map[string]*string) *DescribeDeviceOutput {
2130	s.Tags = v
2131	return s
2132}
2133
2134type DescribeExecutionInput struct {
2135	_ struct{} `type:"structure" nopayload:"true"`
2136
2137	// The ID of the managed device.
2138	//
2139	// ManagedDeviceId is a required field
2140	ManagedDeviceId *string `location:"uri" locationName:"managedDeviceId" min:"1" type:"string" required:"true"`
2141
2142	// The ID of the task that the action is describing.
2143	//
2144	// TaskId is a required field
2145	TaskId *string `location:"uri" locationName:"taskId" min:"1" type:"string" required:"true"`
2146}
2147
2148// String returns the string representation.
2149//
2150// API parameter values that are decorated as "sensitive" in the API will not
2151// be included in the string output. The member name will be present, but the
2152// value will be replaced with "sensitive".
2153func (s DescribeExecutionInput) String() string {
2154	return awsutil.Prettify(s)
2155}
2156
2157// GoString returns the string representation.
2158//
2159// API parameter values that are decorated as "sensitive" in the API will not
2160// be included in the string output. The member name will be present, but the
2161// value will be replaced with "sensitive".
2162func (s DescribeExecutionInput) GoString() string {
2163	return s.String()
2164}
2165
2166// Validate inspects the fields of the type to determine if they are valid.
2167func (s *DescribeExecutionInput) Validate() error {
2168	invalidParams := request.ErrInvalidParams{Context: "DescribeExecutionInput"}
2169	if s.ManagedDeviceId == nil {
2170		invalidParams.Add(request.NewErrParamRequired("ManagedDeviceId"))
2171	}
2172	if s.ManagedDeviceId != nil && len(*s.ManagedDeviceId) < 1 {
2173		invalidParams.Add(request.NewErrParamMinLen("ManagedDeviceId", 1))
2174	}
2175	if s.TaskId == nil {
2176		invalidParams.Add(request.NewErrParamRequired("TaskId"))
2177	}
2178	if s.TaskId != nil && len(*s.TaskId) < 1 {
2179		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
2180	}
2181
2182	if invalidParams.Len() > 0 {
2183		return invalidParams
2184	}
2185	return nil
2186}
2187
2188// SetManagedDeviceId sets the ManagedDeviceId field's value.
2189func (s *DescribeExecutionInput) SetManagedDeviceId(v string) *DescribeExecutionInput {
2190	s.ManagedDeviceId = &v
2191	return s
2192}
2193
2194// SetTaskId sets the TaskId field's value.
2195func (s *DescribeExecutionInput) SetTaskId(v string) *DescribeExecutionInput {
2196	s.TaskId = &v
2197	return s
2198}
2199
2200type DescribeExecutionOutput struct {
2201	_ struct{} `type:"structure"`
2202
2203	// The ID of the execution.
2204	ExecutionId *string `locationName:"executionId" min:"1" type:"string"`
2205
2206	// When the status of the execution was last updated.
2207	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
2208
2209	// The ID of the managed device that the task is being executed on.
2210	ManagedDeviceId *string `locationName:"managedDeviceId" min:"1" type:"string"`
2211
2212	// When the execution began.
2213	StartedAt *time.Time `locationName:"startedAt" type:"timestamp"`
2214
2215	// The current state of the execution.
2216	State *string `locationName:"state" type:"string" enum:"ExecutionState"`
2217
2218	// The ID of the task being executed on the device.
2219	TaskId *string `locationName:"taskId" min:"1" type:"string"`
2220}
2221
2222// String returns the string representation.
2223//
2224// API parameter values that are decorated as "sensitive" in the API will not
2225// be included in the string output. The member name will be present, but the
2226// value will be replaced with "sensitive".
2227func (s DescribeExecutionOutput) String() string {
2228	return awsutil.Prettify(s)
2229}
2230
2231// GoString returns the string representation.
2232//
2233// API parameter values that are decorated as "sensitive" in the API will not
2234// be included in the string output. The member name will be present, but the
2235// value will be replaced with "sensitive".
2236func (s DescribeExecutionOutput) GoString() string {
2237	return s.String()
2238}
2239
2240// SetExecutionId sets the ExecutionId field's value.
2241func (s *DescribeExecutionOutput) SetExecutionId(v string) *DescribeExecutionOutput {
2242	s.ExecutionId = &v
2243	return s
2244}
2245
2246// SetLastUpdatedAt sets the LastUpdatedAt field's value.
2247func (s *DescribeExecutionOutput) SetLastUpdatedAt(v time.Time) *DescribeExecutionOutput {
2248	s.LastUpdatedAt = &v
2249	return s
2250}
2251
2252// SetManagedDeviceId sets the ManagedDeviceId field's value.
2253func (s *DescribeExecutionOutput) SetManagedDeviceId(v string) *DescribeExecutionOutput {
2254	s.ManagedDeviceId = &v
2255	return s
2256}
2257
2258// SetStartedAt sets the StartedAt field's value.
2259func (s *DescribeExecutionOutput) SetStartedAt(v time.Time) *DescribeExecutionOutput {
2260	s.StartedAt = &v
2261	return s
2262}
2263
2264// SetState sets the State field's value.
2265func (s *DescribeExecutionOutput) SetState(v string) *DescribeExecutionOutput {
2266	s.State = &v
2267	return s
2268}
2269
2270// SetTaskId sets the TaskId field's value.
2271func (s *DescribeExecutionOutput) SetTaskId(v string) *DescribeExecutionOutput {
2272	s.TaskId = &v
2273	return s
2274}
2275
2276type DescribeTaskInput struct {
2277	_ struct{} `type:"structure" nopayload:"true"`
2278
2279	// The ID of the task to be described.
2280	//
2281	// TaskId is a required field
2282	TaskId *string `location:"uri" locationName:"taskId" min:"1" type:"string" required:"true"`
2283}
2284
2285// String returns the string representation.
2286//
2287// API parameter values that are decorated as "sensitive" in the API will not
2288// be included in the string output. The member name will be present, but the
2289// value will be replaced with "sensitive".
2290func (s DescribeTaskInput) String() string {
2291	return awsutil.Prettify(s)
2292}
2293
2294// GoString returns the string representation.
2295//
2296// API parameter values that are decorated as "sensitive" in the API will not
2297// be included in the string output. The member name will be present, but the
2298// value will be replaced with "sensitive".
2299func (s DescribeTaskInput) GoString() string {
2300	return s.String()
2301}
2302
2303// Validate inspects the fields of the type to determine if they are valid.
2304func (s *DescribeTaskInput) Validate() error {
2305	invalidParams := request.ErrInvalidParams{Context: "DescribeTaskInput"}
2306	if s.TaskId == nil {
2307		invalidParams.Add(request.NewErrParamRequired("TaskId"))
2308	}
2309	if s.TaskId != nil && len(*s.TaskId) < 1 {
2310		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
2311	}
2312
2313	if invalidParams.Len() > 0 {
2314		return invalidParams
2315	}
2316	return nil
2317}
2318
2319// SetTaskId sets the TaskId field's value.
2320func (s *DescribeTaskInput) SetTaskId(v string) *DescribeTaskInput {
2321	s.TaskId = &v
2322	return s
2323}
2324
2325type DescribeTaskOutput struct {
2326	_ struct{} `type:"structure"`
2327
2328	// When the task was completed.
2329	CompletedAt *time.Time `locationName:"completedAt" type:"timestamp"`
2330
2331	// When the CreateTask operation was called.
2332	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
2333
2334	// The description provided of the task and managed devices.
2335	Description *string `locationName:"description" min:"1" type:"string"`
2336
2337	// When the state of the task was last updated.
2338	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
2339
2340	// The current state of the task.
2341	State *string `locationName:"state" type:"string" enum:"TaskState"`
2342
2343	// Optional metadata that you assign to a resource. You can use tags to categorize
2344	// a resource in different ways, such as by purpose, owner, or environment.
2345	Tags map[string]*string `locationName:"tags" type:"map"`
2346
2347	// The managed devices that the task was sent to.
2348	Targets []*string `locationName:"targets" min:"1" type:"list"`
2349
2350	// The Amazon Resource Name (ARN) of the task.
2351	TaskArn *string `locationName:"taskArn" type:"string"`
2352
2353	// The ID of the task.
2354	TaskId *string `locationName:"taskId" type:"string"`
2355}
2356
2357// String returns the string representation.
2358//
2359// API parameter values that are decorated as "sensitive" in the API will not
2360// be included in the string output. The member name will be present, but the
2361// value will be replaced with "sensitive".
2362func (s DescribeTaskOutput) String() string {
2363	return awsutil.Prettify(s)
2364}
2365
2366// GoString returns the string representation.
2367//
2368// API parameter values that are decorated as "sensitive" in the API will not
2369// be included in the string output. The member name will be present, but the
2370// value will be replaced with "sensitive".
2371func (s DescribeTaskOutput) GoString() string {
2372	return s.String()
2373}
2374
2375// SetCompletedAt sets the CompletedAt field's value.
2376func (s *DescribeTaskOutput) SetCompletedAt(v time.Time) *DescribeTaskOutput {
2377	s.CompletedAt = &v
2378	return s
2379}
2380
2381// SetCreatedAt sets the CreatedAt field's value.
2382func (s *DescribeTaskOutput) SetCreatedAt(v time.Time) *DescribeTaskOutput {
2383	s.CreatedAt = &v
2384	return s
2385}
2386
2387// SetDescription sets the Description field's value.
2388func (s *DescribeTaskOutput) SetDescription(v string) *DescribeTaskOutput {
2389	s.Description = &v
2390	return s
2391}
2392
2393// SetLastUpdatedAt sets the LastUpdatedAt field's value.
2394func (s *DescribeTaskOutput) SetLastUpdatedAt(v time.Time) *DescribeTaskOutput {
2395	s.LastUpdatedAt = &v
2396	return s
2397}
2398
2399// SetState sets the State field's value.
2400func (s *DescribeTaskOutput) SetState(v string) *DescribeTaskOutput {
2401	s.State = &v
2402	return s
2403}
2404
2405// SetTags sets the Tags field's value.
2406func (s *DescribeTaskOutput) SetTags(v map[string]*string) *DescribeTaskOutput {
2407	s.Tags = v
2408	return s
2409}
2410
2411// SetTargets sets the Targets field's value.
2412func (s *DescribeTaskOutput) SetTargets(v []*string) *DescribeTaskOutput {
2413	s.Targets = v
2414	return s
2415}
2416
2417// SetTaskArn sets the TaskArn field's value.
2418func (s *DescribeTaskOutput) SetTaskArn(v string) *DescribeTaskOutput {
2419	s.TaskArn = &v
2420	return s
2421}
2422
2423// SetTaskId sets the TaskId field's value.
2424func (s *DescribeTaskOutput) SetTaskId(v string) *DescribeTaskOutput {
2425	s.TaskId = &v
2426	return s
2427}
2428
2429// Identifying information about the device.
2430type DeviceSummary struct {
2431	_ struct{} `type:"structure"`
2432
2433	// The ID of the job used to order the device.
2434	AssociatedWithJob *string `locationName:"associatedWithJob" type:"string"`
2435
2436	// The Amazon Resource Name (ARN) of the device.
2437	ManagedDeviceArn *string `locationName:"managedDeviceArn" type:"string"`
2438
2439	// The ID of the device.
2440	ManagedDeviceId *string `locationName:"managedDeviceId" min:"1" type:"string"`
2441
2442	// Optional metadata that you assign to a resource. You can use tags to categorize
2443	// a resource in different ways, such as by purpose, owner, or environment.
2444	Tags map[string]*string `locationName:"tags" type:"map"`
2445}
2446
2447// String returns the string representation.
2448//
2449// API parameter values that are decorated as "sensitive" in the API will not
2450// be included in the string output. The member name will be present, but the
2451// value will be replaced with "sensitive".
2452func (s DeviceSummary) String() string {
2453	return awsutil.Prettify(s)
2454}
2455
2456// GoString returns the string representation.
2457//
2458// API parameter values that are decorated as "sensitive" in the API will not
2459// be included in the string output. The member name will be present, but the
2460// value will be replaced with "sensitive".
2461func (s DeviceSummary) GoString() string {
2462	return s.String()
2463}
2464
2465// SetAssociatedWithJob sets the AssociatedWithJob field's value.
2466func (s *DeviceSummary) SetAssociatedWithJob(v string) *DeviceSummary {
2467	s.AssociatedWithJob = &v
2468	return s
2469}
2470
2471// SetManagedDeviceArn sets the ManagedDeviceArn field's value.
2472func (s *DeviceSummary) SetManagedDeviceArn(v string) *DeviceSummary {
2473	s.ManagedDeviceArn = &v
2474	return s
2475}
2476
2477// SetManagedDeviceId sets the ManagedDeviceId field's value.
2478func (s *DeviceSummary) SetManagedDeviceId(v string) *DeviceSummary {
2479	s.ManagedDeviceId = &v
2480	return s
2481}
2482
2483// SetTags sets the Tags field's value.
2484func (s *DeviceSummary) SetTags(v map[string]*string) *DeviceSummary {
2485	s.Tags = v
2486	return s
2487}
2488
2489// Describes a parameter used to set up an Amazon Elastic Block Store (Amazon
2490// EBS) volume in a block device mapping.
2491type EbsInstanceBlockDevice struct {
2492	_ struct{} `type:"structure"`
2493
2494	// When the attachment was initiated.
2495	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
2496
2497	// A value that indicates whether the volume is deleted on instance termination.
2498	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
2499
2500	// The attachment state.
2501	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
2502
2503	// The ID of the Amazon EBS volume.
2504	VolumeId *string `locationName:"volumeId" type:"string"`
2505}
2506
2507// String returns the string representation.
2508//
2509// API parameter values that are decorated as "sensitive" in the API will not
2510// be included in the string output. The member name will be present, but the
2511// value will be replaced with "sensitive".
2512func (s EbsInstanceBlockDevice) String() string {
2513	return awsutil.Prettify(s)
2514}
2515
2516// GoString returns the string representation.
2517//
2518// API parameter values that are decorated as "sensitive" in the API will not
2519// be included in the string output. The member name will be present, but the
2520// value will be replaced with "sensitive".
2521func (s EbsInstanceBlockDevice) GoString() string {
2522	return s.String()
2523}
2524
2525// SetAttachTime sets the AttachTime field's value.
2526func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
2527	s.AttachTime = &v
2528	return s
2529}
2530
2531// SetDeleteOnTermination sets the DeleteOnTermination field's value.
2532func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
2533	s.DeleteOnTermination = &v
2534	return s
2535}
2536
2537// SetStatus sets the Status field's value.
2538func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
2539	s.Status = &v
2540	return s
2541}
2542
2543// SetVolumeId sets the VolumeId field's value.
2544func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
2545	s.VolumeId = &v
2546	return s
2547}
2548
2549// The summary of a task execution on a specified device.
2550type ExecutionSummary struct {
2551	_ struct{} `type:"structure"`
2552
2553	// The ID of the execution.
2554	ExecutionId *string `locationName:"executionId" min:"1" type:"string"`
2555
2556	// The ID of the managed device that the task is being executed on.
2557	ManagedDeviceId *string `locationName:"managedDeviceId" min:"1" type:"string"`
2558
2559	// The state of the execution.
2560	State *string `locationName:"state" type:"string" enum:"ExecutionState"`
2561
2562	// The ID of the task.
2563	TaskId *string `locationName:"taskId" min:"1" type:"string"`
2564}
2565
2566// String returns the string representation.
2567//
2568// API parameter values that are decorated as "sensitive" in the API will not
2569// be included in the string output. The member name will be present, but the
2570// value will be replaced with "sensitive".
2571func (s ExecutionSummary) String() string {
2572	return awsutil.Prettify(s)
2573}
2574
2575// GoString returns the string representation.
2576//
2577// API parameter values that are decorated as "sensitive" in the API will not
2578// be included in the string output. The member name will be present, but the
2579// value will be replaced with "sensitive".
2580func (s ExecutionSummary) GoString() string {
2581	return s.String()
2582}
2583
2584// SetExecutionId sets the ExecutionId field's value.
2585func (s *ExecutionSummary) SetExecutionId(v string) *ExecutionSummary {
2586	s.ExecutionId = &v
2587	return s
2588}
2589
2590// SetManagedDeviceId sets the ManagedDeviceId field's value.
2591func (s *ExecutionSummary) SetManagedDeviceId(v string) *ExecutionSummary {
2592	s.ManagedDeviceId = &v
2593	return s
2594}
2595
2596// SetState sets the State field's value.
2597func (s *ExecutionSummary) SetState(v string) *ExecutionSummary {
2598	s.State = &v
2599	return s
2600}
2601
2602// SetTaskId sets the TaskId field's value.
2603func (s *ExecutionSummary) SetTaskId(v string) *ExecutionSummary {
2604	s.TaskId = &v
2605	return s
2606}
2607
2608// The description of an instance. Currently, Amazon EC2 instances are the only
2609// supported instance type.
2610type Instance struct {
2611	_ struct{} `type:"structure"`
2612
2613	// The Amazon Machine Image (AMI) launch index, which you can use to find this
2614	// instance in the launch group.
2615	AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
2616
2617	// Any block device mapping entries for the instance.
2618	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMappings" type:"list"`
2619
2620	// The CPU options for the instance.
2621	CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
2622
2623	// When the instance was created.
2624	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
2625
2626	// The ID of the AMI used to launch the instance.
2627	ImageId *string `locationName:"imageId" type:"string"`
2628
2629	// The ID of the instance.
2630	InstanceId *string `locationName:"instanceId" type:"string"`
2631
2632	// The instance type.
2633	InstanceType *string `locationName:"instanceType" type:"string"`
2634
2635	// The private IPv4 address assigned to the instance.
2636	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
2637
2638	// The public IPv4 address assigned to the instance.
2639	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
2640
2641	// The device name of the root device volume (for example, /dev/sda1).
2642	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
2643
2644	// The security groups for the instance.
2645	SecurityGroups []*SecurityGroupIdentifier `locationName:"securityGroups" type:"list"`
2646
2647	// The description of the current state of an instance.
2648	State *InstanceState `locationName:"state" type:"structure"`
2649
2650	// When the instance was last updated.
2651	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
2652}
2653
2654// String returns the string representation.
2655//
2656// API parameter values that are decorated as "sensitive" in the API will not
2657// be included in the string output. The member name will be present, but the
2658// value will be replaced with "sensitive".
2659func (s Instance) String() string {
2660	return awsutil.Prettify(s)
2661}
2662
2663// GoString returns the string representation.
2664//
2665// API parameter values that are decorated as "sensitive" in the API will not
2666// be included in the string output. The member name will be present, but the
2667// value will be replaced with "sensitive".
2668func (s Instance) GoString() string {
2669	return s.String()
2670}
2671
2672// SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
2673func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
2674	s.AmiLaunchIndex = &v
2675	return s
2676}
2677
2678// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
2679func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
2680	s.BlockDeviceMappings = v
2681	return s
2682}
2683
2684// SetCpuOptions sets the CpuOptions field's value.
2685func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
2686	s.CpuOptions = v
2687	return s
2688}
2689
2690// SetCreatedAt sets the CreatedAt field's value.
2691func (s *Instance) SetCreatedAt(v time.Time) *Instance {
2692	s.CreatedAt = &v
2693	return s
2694}
2695
2696// SetImageId sets the ImageId field's value.
2697func (s *Instance) SetImageId(v string) *Instance {
2698	s.ImageId = &v
2699	return s
2700}
2701
2702// SetInstanceId sets the InstanceId field's value.
2703func (s *Instance) SetInstanceId(v string) *Instance {
2704	s.InstanceId = &v
2705	return s
2706}
2707
2708// SetInstanceType sets the InstanceType field's value.
2709func (s *Instance) SetInstanceType(v string) *Instance {
2710	s.InstanceType = &v
2711	return s
2712}
2713
2714// SetPrivateIpAddress sets the PrivateIpAddress field's value.
2715func (s *Instance) SetPrivateIpAddress(v string) *Instance {
2716	s.PrivateIpAddress = &v
2717	return s
2718}
2719
2720// SetPublicIpAddress sets the PublicIpAddress field's value.
2721func (s *Instance) SetPublicIpAddress(v string) *Instance {
2722	s.PublicIpAddress = &v
2723	return s
2724}
2725
2726// SetRootDeviceName sets the RootDeviceName field's value.
2727func (s *Instance) SetRootDeviceName(v string) *Instance {
2728	s.RootDeviceName = &v
2729	return s
2730}
2731
2732// SetSecurityGroups sets the SecurityGroups field's value.
2733func (s *Instance) SetSecurityGroups(v []*SecurityGroupIdentifier) *Instance {
2734	s.SecurityGroups = v
2735	return s
2736}
2737
2738// SetState sets the State field's value.
2739func (s *Instance) SetState(v *InstanceState) *Instance {
2740	s.State = v
2741	return s
2742}
2743
2744// SetUpdatedAt sets the UpdatedAt field's value.
2745func (s *Instance) SetUpdatedAt(v time.Time) *Instance {
2746	s.UpdatedAt = &v
2747	return s
2748}
2749
2750// The description of a block device mapping.
2751type InstanceBlockDeviceMapping struct {
2752	_ struct{} `type:"structure"`
2753
2754	// The block device name.
2755	DeviceName *string `locationName:"deviceName" type:"string"`
2756
2757	// The parameters used to automatically set up Amazon Elastic Block Store (Amazon
2758	// EBS) volumes when the instance is launched.
2759	Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
2760}
2761
2762// String returns the string representation.
2763//
2764// API parameter values that are decorated as "sensitive" in the API will not
2765// be included in the string output. The member name will be present, but the
2766// value will be replaced with "sensitive".
2767func (s InstanceBlockDeviceMapping) String() string {
2768	return awsutil.Prettify(s)
2769}
2770
2771// GoString returns the string representation.
2772//
2773// API parameter values that are decorated as "sensitive" in the API will not
2774// be included in the string output. The member name will be present, but the
2775// value will be replaced with "sensitive".
2776func (s InstanceBlockDeviceMapping) GoString() string {
2777	return s.String()
2778}
2779
2780// SetDeviceName sets the DeviceName field's value.
2781func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
2782	s.DeviceName = &v
2783	return s
2784}
2785
2786// SetEbs sets the Ebs field's value.
2787func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
2788	s.Ebs = v
2789	return s
2790}
2791
2792// The description of the current state of an instance.
2793type InstanceState struct {
2794	_ struct{} `type:"structure"`
2795
2796	// The state of the instance as a 16-bit unsigned integer.
2797	//
2798	// The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
2799	// values between 256 and 65,535. These numerical values are used for internal
2800	// purposes and should be ignored.
2801	//
2802	// The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
2803	// values between 0 and 255.
2804	//
2805	// The valid values for the instance state code are all in the range of the
2806	// low byte. These values are:
2807	//
2808	//    * 0 : pending
2809	//
2810	//    * 16 : running
2811	//
2812	//    * 32 : shutting-down
2813	//
2814	//    * 48 : terminated
2815	//
2816	//    * 64 : stopping
2817	//
2818	//    * 80 : stopped
2819	//
2820	// You can ignore the high byte value by zeroing out all of the bits above 2^8
2821	// or 256 in decimal.
2822	Code *int64 `locationName:"code" type:"integer"`
2823
2824	// The current state of the instance.
2825	Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
2826}
2827
2828// String returns the string representation.
2829//
2830// API parameter values that are decorated as "sensitive" in the API will not
2831// be included in the string output. The member name will be present, but the
2832// value will be replaced with "sensitive".
2833func (s InstanceState) String() string {
2834	return awsutil.Prettify(s)
2835}
2836
2837// GoString returns the string representation.
2838//
2839// API parameter values that are decorated as "sensitive" in the API will not
2840// be included in the string output. The member name will be present, but the
2841// value will be replaced with "sensitive".
2842func (s InstanceState) GoString() string {
2843	return s.String()
2844}
2845
2846// SetCode sets the Code field's value.
2847func (s *InstanceState) SetCode(v int64) *InstanceState {
2848	s.Code = &v
2849	return s
2850}
2851
2852// SetName sets the Name field's value.
2853func (s *InstanceState) SetName(v string) *InstanceState {
2854	s.Name = &v
2855	return s
2856}
2857
2858// The details about the instance.
2859type InstanceSummary struct {
2860	_ struct{} `type:"structure"`
2861
2862	// A structure containing details about the instance.
2863	Instance *Instance `locationName:"instance" type:"structure"`
2864
2865	// When the instance summary was last updated.
2866	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
2867}
2868
2869// String returns the string representation.
2870//
2871// API parameter values that are decorated as "sensitive" in the API will not
2872// be included in the string output. The member name will be present, but the
2873// value will be replaced with "sensitive".
2874func (s InstanceSummary) String() string {
2875	return awsutil.Prettify(s)
2876}
2877
2878// GoString returns the string representation.
2879//
2880// API parameter values that are decorated as "sensitive" in the API will not
2881// be included in the string output. The member name will be present, but the
2882// value will be replaced with "sensitive".
2883func (s InstanceSummary) GoString() string {
2884	return s.String()
2885}
2886
2887// SetInstance sets the Instance field's value.
2888func (s *InstanceSummary) SetInstance(v *Instance) *InstanceSummary {
2889	s.Instance = v
2890	return s
2891}
2892
2893// SetLastUpdatedAt sets the LastUpdatedAt field's value.
2894func (s *InstanceSummary) SetLastUpdatedAt(v time.Time) *InstanceSummary {
2895	s.LastUpdatedAt = &v
2896	return s
2897}
2898
2899// An unexpected error occurred while processing the request.
2900type InternalServerException struct {
2901	_            struct{}                  `type:"structure"`
2902	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2903
2904	Message_ *string `locationName:"message" type:"string"`
2905}
2906
2907// String returns the string representation.
2908//
2909// API parameter values that are decorated as "sensitive" in the API will not
2910// be included in the string output. The member name will be present, but the
2911// value will be replaced with "sensitive".
2912func (s InternalServerException) String() string {
2913	return awsutil.Prettify(s)
2914}
2915
2916// GoString returns the string representation.
2917//
2918// API parameter values that are decorated as "sensitive" in the API will not
2919// be included in the string output. The member name will be present, but the
2920// value will be replaced with "sensitive".
2921func (s InternalServerException) GoString() string {
2922	return s.String()
2923}
2924
2925func newErrorInternalServerException(v protocol.ResponseMetadata) error {
2926	return &InternalServerException{
2927		RespMetadata: v,
2928	}
2929}
2930
2931// Code returns the exception type name.
2932func (s *InternalServerException) Code() string {
2933	return "InternalServerException"
2934}
2935
2936// Message returns the exception's message.
2937func (s *InternalServerException) Message() string {
2938	if s.Message_ != nil {
2939		return *s.Message_
2940	}
2941	return ""
2942}
2943
2944// OrigErr always returns nil, satisfies awserr.Error interface.
2945func (s *InternalServerException) OrigErr() error {
2946	return nil
2947}
2948
2949func (s *InternalServerException) Error() string {
2950	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2951}
2952
2953// Status code returns the HTTP status code for the request's response error.
2954func (s *InternalServerException) StatusCode() int {
2955	return s.RespMetadata.StatusCode
2956}
2957
2958// RequestID returns the service's response RequestID for request.
2959func (s *InternalServerException) RequestID() string {
2960	return s.RespMetadata.RequestID
2961}
2962
2963type ListDeviceResourcesInput struct {
2964	_ struct{} `type:"structure" nopayload:"true"`
2965
2966	// The ID of the managed device that you are listing the resources of.
2967	//
2968	// ManagedDeviceId is a required field
2969	ManagedDeviceId *string `location:"uri" locationName:"managedDeviceId" min:"1" type:"string" required:"true"`
2970
2971	// The maximum number of resources per page.
2972	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
2973
2974	// A pagination token to continue to the next page of results.
2975	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
2976
2977	// A structure used to filter the results by type of resource.
2978	Type *string `location:"querystring" locationName:"type" min:"1" type:"string"`
2979}
2980
2981// String returns the string representation.
2982//
2983// API parameter values that are decorated as "sensitive" in the API will not
2984// be included in the string output. The member name will be present, but the
2985// value will be replaced with "sensitive".
2986func (s ListDeviceResourcesInput) String() string {
2987	return awsutil.Prettify(s)
2988}
2989
2990// GoString returns the string representation.
2991//
2992// API parameter values that are decorated as "sensitive" in the API will not
2993// be included in the string output. The member name will be present, but the
2994// value will be replaced with "sensitive".
2995func (s ListDeviceResourcesInput) GoString() string {
2996	return s.String()
2997}
2998
2999// Validate inspects the fields of the type to determine if they are valid.
3000func (s *ListDeviceResourcesInput) Validate() error {
3001	invalidParams := request.ErrInvalidParams{Context: "ListDeviceResourcesInput"}
3002	if s.ManagedDeviceId == nil {
3003		invalidParams.Add(request.NewErrParamRequired("ManagedDeviceId"))
3004	}
3005	if s.ManagedDeviceId != nil && len(*s.ManagedDeviceId) < 1 {
3006		invalidParams.Add(request.NewErrParamMinLen("ManagedDeviceId", 1))
3007	}
3008	if s.MaxResults != nil && *s.MaxResults < 1 {
3009		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3010	}
3011	if s.NextToken != nil && len(*s.NextToken) < 1 {
3012		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3013	}
3014	if s.Type != nil && len(*s.Type) < 1 {
3015		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
3016	}
3017
3018	if invalidParams.Len() > 0 {
3019		return invalidParams
3020	}
3021	return nil
3022}
3023
3024// SetManagedDeviceId sets the ManagedDeviceId field's value.
3025func (s *ListDeviceResourcesInput) SetManagedDeviceId(v string) *ListDeviceResourcesInput {
3026	s.ManagedDeviceId = &v
3027	return s
3028}
3029
3030// SetMaxResults sets the MaxResults field's value.
3031func (s *ListDeviceResourcesInput) SetMaxResults(v int64) *ListDeviceResourcesInput {
3032	s.MaxResults = &v
3033	return s
3034}
3035
3036// SetNextToken sets the NextToken field's value.
3037func (s *ListDeviceResourcesInput) SetNextToken(v string) *ListDeviceResourcesInput {
3038	s.NextToken = &v
3039	return s
3040}
3041
3042// SetType sets the Type field's value.
3043func (s *ListDeviceResourcesInput) SetType(v string) *ListDeviceResourcesInput {
3044	s.Type = &v
3045	return s
3046}
3047
3048type ListDeviceResourcesOutput struct {
3049	_ struct{} `type:"structure"`
3050
3051	// A pagination token to continue to the next page of results.
3052	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3053
3054	// A structure defining the resource's type, Amazon Resource Name (ARN), and
3055	// ID.
3056	Resources []*ResourceSummary `locationName:"resources" type:"list"`
3057}
3058
3059// String returns the string representation.
3060//
3061// API parameter values that are decorated as "sensitive" in the API will not
3062// be included in the string output. The member name will be present, but the
3063// value will be replaced with "sensitive".
3064func (s ListDeviceResourcesOutput) String() string {
3065	return awsutil.Prettify(s)
3066}
3067
3068// GoString returns the string representation.
3069//
3070// API parameter values that are decorated as "sensitive" in the API will not
3071// be included in the string output. The member name will be present, but the
3072// value will be replaced with "sensitive".
3073func (s ListDeviceResourcesOutput) GoString() string {
3074	return s.String()
3075}
3076
3077// SetNextToken sets the NextToken field's value.
3078func (s *ListDeviceResourcesOutput) SetNextToken(v string) *ListDeviceResourcesOutput {
3079	s.NextToken = &v
3080	return s
3081}
3082
3083// SetResources sets the Resources field's value.
3084func (s *ListDeviceResourcesOutput) SetResources(v []*ResourceSummary) *ListDeviceResourcesOutput {
3085	s.Resources = v
3086	return s
3087}
3088
3089type ListDevicesInput struct {
3090	_ struct{} `type:"structure" nopayload:"true"`
3091
3092	// The ID of the job used to order the device.
3093	JobId *string `location:"querystring" locationName:"jobId" min:"1" type:"string"`
3094
3095	// The maximum number of devices to list per page.
3096	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3097
3098	// A pagination token to continue to the next page of results.
3099	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
3100}
3101
3102// String returns the string representation.
3103//
3104// API parameter values that are decorated as "sensitive" in the API will not
3105// be included in the string output. The member name will be present, but the
3106// value will be replaced with "sensitive".
3107func (s ListDevicesInput) String() string {
3108	return awsutil.Prettify(s)
3109}
3110
3111// GoString returns the string representation.
3112//
3113// API parameter values that are decorated as "sensitive" in the API will not
3114// be included in the string output. The member name will be present, but the
3115// value will be replaced with "sensitive".
3116func (s ListDevicesInput) GoString() string {
3117	return s.String()
3118}
3119
3120// Validate inspects the fields of the type to determine if they are valid.
3121func (s *ListDevicesInput) Validate() error {
3122	invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"}
3123	if s.JobId != nil && len(*s.JobId) < 1 {
3124		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
3125	}
3126	if s.MaxResults != nil && *s.MaxResults < 1 {
3127		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3128	}
3129	if s.NextToken != nil && len(*s.NextToken) < 1 {
3130		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3131	}
3132
3133	if invalidParams.Len() > 0 {
3134		return invalidParams
3135	}
3136	return nil
3137}
3138
3139// SetJobId sets the JobId field's value.
3140func (s *ListDevicesInput) SetJobId(v string) *ListDevicesInput {
3141	s.JobId = &v
3142	return s
3143}
3144
3145// SetMaxResults sets the MaxResults field's value.
3146func (s *ListDevicesInput) SetMaxResults(v int64) *ListDevicesInput {
3147	s.MaxResults = &v
3148	return s
3149}
3150
3151// SetNextToken sets the NextToken field's value.
3152func (s *ListDevicesInput) SetNextToken(v string) *ListDevicesInput {
3153	s.NextToken = &v
3154	return s
3155}
3156
3157type ListDevicesOutput struct {
3158	_ struct{} `type:"structure"`
3159
3160	// A list of device structures that contain information about the device.
3161	Devices []*DeviceSummary `locationName:"devices" type:"list"`
3162
3163	// A pagination token to continue to the next page of devices.
3164	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3165}
3166
3167// String returns the string representation.
3168//
3169// API parameter values that are decorated as "sensitive" in the API will not
3170// be included in the string output. The member name will be present, but the
3171// value will be replaced with "sensitive".
3172func (s ListDevicesOutput) String() string {
3173	return awsutil.Prettify(s)
3174}
3175
3176// GoString returns the string representation.
3177//
3178// API parameter values that are decorated as "sensitive" in the API will not
3179// be included in the string output. The member name will be present, but the
3180// value will be replaced with "sensitive".
3181func (s ListDevicesOutput) GoString() string {
3182	return s.String()
3183}
3184
3185// SetDevices sets the Devices field's value.
3186func (s *ListDevicesOutput) SetDevices(v []*DeviceSummary) *ListDevicesOutput {
3187	s.Devices = v
3188	return s
3189}
3190
3191// SetNextToken sets the NextToken field's value.
3192func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput {
3193	s.NextToken = &v
3194	return s
3195}
3196
3197type ListExecutionsInput struct {
3198	_ struct{} `type:"structure" nopayload:"true"`
3199
3200	// The maximum number of tasks to list per page.
3201	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3202
3203	// A pagination token to continue to the next page of tasks.
3204	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
3205
3206	// A structure used to filter the tasks by their current state.
3207	State *string `location:"querystring" locationName:"state" type:"string" enum:"ExecutionState"`
3208
3209	// The ID of the task.
3210	//
3211	// TaskId is a required field
3212	TaskId *string `location:"querystring" locationName:"taskId" min:"1" type:"string" required:"true"`
3213}
3214
3215// String returns the string representation.
3216//
3217// API parameter values that are decorated as "sensitive" in the API will not
3218// be included in the string output. The member name will be present, but the
3219// value will be replaced with "sensitive".
3220func (s ListExecutionsInput) String() string {
3221	return awsutil.Prettify(s)
3222}
3223
3224// GoString returns the string representation.
3225//
3226// API parameter values that are decorated as "sensitive" in the API will not
3227// be included in the string output. The member name will be present, but the
3228// value will be replaced with "sensitive".
3229func (s ListExecutionsInput) GoString() string {
3230	return s.String()
3231}
3232
3233// Validate inspects the fields of the type to determine if they are valid.
3234func (s *ListExecutionsInput) Validate() error {
3235	invalidParams := request.ErrInvalidParams{Context: "ListExecutionsInput"}
3236	if s.MaxResults != nil && *s.MaxResults < 1 {
3237		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3238	}
3239	if s.NextToken != nil && len(*s.NextToken) < 1 {
3240		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3241	}
3242	if s.TaskId == nil {
3243		invalidParams.Add(request.NewErrParamRequired("TaskId"))
3244	}
3245	if s.TaskId != nil && len(*s.TaskId) < 1 {
3246		invalidParams.Add(request.NewErrParamMinLen("TaskId", 1))
3247	}
3248
3249	if invalidParams.Len() > 0 {
3250		return invalidParams
3251	}
3252	return nil
3253}
3254
3255// SetMaxResults sets the MaxResults field's value.
3256func (s *ListExecutionsInput) SetMaxResults(v int64) *ListExecutionsInput {
3257	s.MaxResults = &v
3258	return s
3259}
3260
3261// SetNextToken sets the NextToken field's value.
3262func (s *ListExecutionsInput) SetNextToken(v string) *ListExecutionsInput {
3263	s.NextToken = &v
3264	return s
3265}
3266
3267// SetState sets the State field's value.
3268func (s *ListExecutionsInput) SetState(v string) *ListExecutionsInput {
3269	s.State = &v
3270	return s
3271}
3272
3273// SetTaskId sets the TaskId field's value.
3274func (s *ListExecutionsInput) SetTaskId(v string) *ListExecutionsInput {
3275	s.TaskId = &v
3276	return s
3277}
3278
3279type ListExecutionsOutput struct {
3280	_ struct{} `type:"structure"`
3281
3282	// A list of executions. Each execution contains the task ID, the device that
3283	// the task is executing on, the execution ID, and the status of the execution.
3284	Executions []*ExecutionSummary `locationName:"executions" type:"list"`
3285
3286	// A pagination token to continue to the next page of executions.
3287	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3288}
3289
3290// String returns the string representation.
3291//
3292// API parameter values that are decorated as "sensitive" in the API will not
3293// be included in the string output. The member name will be present, but the
3294// value will be replaced with "sensitive".
3295func (s ListExecutionsOutput) String() string {
3296	return awsutil.Prettify(s)
3297}
3298
3299// GoString returns the string representation.
3300//
3301// API parameter values that are decorated as "sensitive" in the API will not
3302// be included in the string output. The member name will be present, but the
3303// value will be replaced with "sensitive".
3304func (s ListExecutionsOutput) GoString() string {
3305	return s.String()
3306}
3307
3308// SetExecutions sets the Executions field's value.
3309func (s *ListExecutionsOutput) SetExecutions(v []*ExecutionSummary) *ListExecutionsOutput {
3310	s.Executions = v
3311	return s
3312}
3313
3314// SetNextToken sets the NextToken field's value.
3315func (s *ListExecutionsOutput) SetNextToken(v string) *ListExecutionsOutput {
3316	s.NextToken = &v
3317	return s
3318}
3319
3320type ListTagsForResourceInput struct {
3321	_ struct{} `type:"structure" nopayload:"true"`
3322
3323	// The Amazon Resource Name (ARN) of the device or task.
3324	//
3325	// ResourceArn is a required field
3326	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
3327}
3328
3329// String returns the string representation.
3330//
3331// API parameter values that are decorated as "sensitive" in the API will not
3332// be included in the string output. The member name will be present, but the
3333// value will be replaced with "sensitive".
3334func (s ListTagsForResourceInput) String() string {
3335	return awsutil.Prettify(s)
3336}
3337
3338// GoString returns the string representation.
3339//
3340// API parameter values that are decorated as "sensitive" in the API will not
3341// be included in the string output. The member name will be present, but the
3342// value will be replaced with "sensitive".
3343func (s ListTagsForResourceInput) GoString() string {
3344	return s.String()
3345}
3346
3347// Validate inspects the fields of the type to determine if they are valid.
3348func (s *ListTagsForResourceInput) Validate() error {
3349	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
3350	if s.ResourceArn == nil {
3351		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3352	}
3353	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
3354		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
3355	}
3356
3357	if invalidParams.Len() > 0 {
3358		return invalidParams
3359	}
3360	return nil
3361}
3362
3363// SetResourceArn sets the ResourceArn field's value.
3364func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
3365	s.ResourceArn = &v
3366	return s
3367}
3368
3369type ListTagsForResourceOutput struct {
3370	_ struct{} `type:"structure"`
3371
3372	// The list of tags for the device or task.
3373	Tags map[string]*string `locationName:"tags" type:"map"`
3374}
3375
3376// String returns the string representation.
3377//
3378// API parameter values that are decorated as "sensitive" in the API will not
3379// be included in the string output. The member name will be present, but the
3380// value will be replaced with "sensitive".
3381func (s ListTagsForResourceOutput) String() string {
3382	return awsutil.Prettify(s)
3383}
3384
3385// GoString returns the string representation.
3386//
3387// API parameter values that are decorated as "sensitive" in the API will not
3388// be included in the string output. The member name will be present, but the
3389// value will be replaced with "sensitive".
3390func (s ListTagsForResourceOutput) GoString() string {
3391	return s.String()
3392}
3393
3394// SetTags sets the Tags field's value.
3395func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
3396	s.Tags = v
3397	return s
3398}
3399
3400type ListTasksInput struct {
3401	_ struct{} `type:"structure" nopayload:"true"`
3402
3403	// The maximum number of tasks per page.
3404	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
3405
3406	// A pagination token to continue to the next page of tasks.
3407	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
3408
3409	// A structure used to filter the list of tasks.
3410	State *string `location:"querystring" locationName:"state" type:"string" enum:"TaskState"`
3411}
3412
3413// String returns the string representation.
3414//
3415// API parameter values that are decorated as "sensitive" in the API will not
3416// be included in the string output. The member name will be present, but the
3417// value will be replaced with "sensitive".
3418func (s ListTasksInput) String() string {
3419	return awsutil.Prettify(s)
3420}
3421
3422// GoString returns the string representation.
3423//
3424// API parameter values that are decorated as "sensitive" in the API will not
3425// be included in the string output. The member name will be present, but the
3426// value will be replaced with "sensitive".
3427func (s ListTasksInput) GoString() string {
3428	return s.String()
3429}
3430
3431// Validate inspects the fields of the type to determine if they are valid.
3432func (s *ListTasksInput) Validate() error {
3433	invalidParams := request.ErrInvalidParams{Context: "ListTasksInput"}
3434	if s.MaxResults != nil && *s.MaxResults < 1 {
3435		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3436	}
3437	if s.NextToken != nil && len(*s.NextToken) < 1 {
3438		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3439	}
3440
3441	if invalidParams.Len() > 0 {
3442		return invalidParams
3443	}
3444	return nil
3445}
3446
3447// SetMaxResults sets the MaxResults field's value.
3448func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput {
3449	s.MaxResults = &v
3450	return s
3451}
3452
3453// SetNextToken sets the NextToken field's value.
3454func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput {
3455	s.NextToken = &v
3456	return s
3457}
3458
3459// SetState sets the State field's value.
3460func (s *ListTasksInput) SetState(v string) *ListTasksInput {
3461	s.State = &v
3462	return s
3463}
3464
3465type ListTasksOutput struct {
3466	_ struct{} `type:"structure"`
3467
3468	// A pagination token to continue to the next page of tasks.
3469	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3470
3471	// A list of task structures containing details about each task.
3472	Tasks []*TaskSummary `locationName:"tasks" type:"list"`
3473}
3474
3475// String returns the string representation.
3476//
3477// API parameter values that are decorated as "sensitive" in the API will not
3478// be included in the string output. The member name will be present, but the
3479// value will be replaced with "sensitive".
3480func (s ListTasksOutput) String() string {
3481	return awsutil.Prettify(s)
3482}
3483
3484// GoString returns the string representation.
3485//
3486// API parameter values that are decorated as "sensitive" in the API will not
3487// be included in the string output. The member name will be present, but the
3488// value will be replaced with "sensitive".
3489func (s ListTasksOutput) GoString() string {
3490	return s.String()
3491}
3492
3493// SetNextToken sets the NextToken field's value.
3494func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput {
3495	s.NextToken = &v
3496	return s
3497}
3498
3499// SetTasks sets the Tasks field's value.
3500func (s *ListTasksOutput) SetTasks(v []*TaskSummary) *ListTasksOutput {
3501	s.Tasks = v
3502	return s
3503}
3504
3505// The details about the physical network interface for the device.
3506type PhysicalNetworkInterface struct {
3507	_ struct{} `type:"structure"`
3508
3509	// The default gateway of the device.
3510	DefaultGateway *string `locationName:"defaultGateway" type:"string"`
3511
3512	// The IP address of the device.
3513	IpAddress *string `locationName:"ipAddress" type:"string"`
3514
3515	// A value that describes whether the IP address is dynamic or persistent.
3516	IpAddressAssignment *string `locationName:"ipAddressAssignment" type:"string" enum:"IpAddressAssignment"`
3517
3518	// The MAC address of the device.
3519	MacAddress *string `locationName:"macAddress" type:"string"`
3520
3521	// The netmask used to divide the IP address into subnets.
3522	Netmask *string `locationName:"netmask" type:"string"`
3523
3524	// The physical connector type.
3525	PhysicalConnectorType *string `locationName:"physicalConnectorType" type:"string" enum:"PhysicalConnectorType"`
3526
3527	// The physical network interface ID.
3528	PhysicalNetworkInterfaceId *string `locationName:"physicalNetworkInterfaceId" type:"string"`
3529}
3530
3531// String returns the string representation.
3532//
3533// API parameter values that are decorated as "sensitive" in the API will not
3534// be included in the string output. The member name will be present, but the
3535// value will be replaced with "sensitive".
3536func (s PhysicalNetworkInterface) String() string {
3537	return awsutil.Prettify(s)
3538}
3539
3540// GoString returns the string representation.
3541//
3542// API parameter values that are decorated as "sensitive" in the API will not
3543// be included in the string output. The member name will be present, but the
3544// value will be replaced with "sensitive".
3545func (s PhysicalNetworkInterface) GoString() string {
3546	return s.String()
3547}
3548
3549// SetDefaultGateway sets the DefaultGateway field's value.
3550func (s *PhysicalNetworkInterface) SetDefaultGateway(v string) *PhysicalNetworkInterface {
3551	s.DefaultGateway = &v
3552	return s
3553}
3554
3555// SetIpAddress sets the IpAddress field's value.
3556func (s *PhysicalNetworkInterface) SetIpAddress(v string) *PhysicalNetworkInterface {
3557	s.IpAddress = &v
3558	return s
3559}
3560
3561// SetIpAddressAssignment sets the IpAddressAssignment field's value.
3562func (s *PhysicalNetworkInterface) SetIpAddressAssignment(v string) *PhysicalNetworkInterface {
3563	s.IpAddressAssignment = &v
3564	return s
3565}
3566
3567// SetMacAddress sets the MacAddress field's value.
3568func (s *PhysicalNetworkInterface) SetMacAddress(v string) *PhysicalNetworkInterface {
3569	s.MacAddress = &v
3570	return s
3571}
3572
3573// SetNetmask sets the Netmask field's value.
3574func (s *PhysicalNetworkInterface) SetNetmask(v string) *PhysicalNetworkInterface {
3575	s.Netmask = &v
3576	return s
3577}
3578
3579// SetPhysicalConnectorType sets the PhysicalConnectorType field's value.
3580func (s *PhysicalNetworkInterface) SetPhysicalConnectorType(v string) *PhysicalNetworkInterface {
3581	s.PhysicalConnectorType = &v
3582	return s
3583}
3584
3585// SetPhysicalNetworkInterfaceId sets the PhysicalNetworkInterfaceId field's value.
3586func (s *PhysicalNetworkInterface) SetPhysicalNetworkInterfaceId(v string) *PhysicalNetworkInterface {
3587	s.PhysicalNetworkInterfaceId = &v
3588	return s
3589}
3590
3591// A structure used to reboot the device.
3592type Reboot struct {
3593	_ struct{} `type:"structure"`
3594}
3595
3596// String returns the string representation.
3597//
3598// API parameter values that are decorated as "sensitive" in the API will not
3599// be included in the string output. The member name will be present, but the
3600// value will be replaced with "sensitive".
3601func (s Reboot) String() string {
3602	return awsutil.Prettify(s)
3603}
3604
3605// GoString returns the string representation.
3606//
3607// API parameter values that are decorated as "sensitive" in the API will not
3608// be included in the string output. The member name will be present, but the
3609// value will be replaced with "sensitive".
3610func (s Reboot) GoString() string {
3611	return s.String()
3612}
3613
3614// The request references a resource that doesn't exist.
3615type ResourceNotFoundException struct {
3616	_            struct{}                  `type:"structure"`
3617	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3618
3619	Message_ *string `locationName:"message" type:"string"`
3620}
3621
3622// String returns the string representation.
3623//
3624// API parameter values that are decorated as "sensitive" in the API will not
3625// be included in the string output. The member name will be present, but the
3626// value will be replaced with "sensitive".
3627func (s ResourceNotFoundException) String() string {
3628	return awsutil.Prettify(s)
3629}
3630
3631// GoString returns the string representation.
3632//
3633// API parameter values that are decorated as "sensitive" in the API will not
3634// be included in the string output. The member name will be present, but the
3635// value will be replaced with "sensitive".
3636func (s ResourceNotFoundException) GoString() string {
3637	return s.String()
3638}
3639
3640func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
3641	return &ResourceNotFoundException{
3642		RespMetadata: v,
3643	}
3644}
3645
3646// Code returns the exception type name.
3647func (s *ResourceNotFoundException) Code() string {
3648	return "ResourceNotFoundException"
3649}
3650
3651// Message returns the exception's message.
3652func (s *ResourceNotFoundException) Message() string {
3653	if s.Message_ != nil {
3654		return *s.Message_
3655	}
3656	return ""
3657}
3658
3659// OrigErr always returns nil, satisfies awserr.Error interface.
3660func (s *ResourceNotFoundException) OrigErr() error {
3661	return nil
3662}
3663
3664func (s *ResourceNotFoundException) Error() string {
3665	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3666}
3667
3668// Status code returns the HTTP status code for the request's response error.
3669func (s *ResourceNotFoundException) StatusCode() int {
3670	return s.RespMetadata.StatusCode
3671}
3672
3673// RequestID returns the service's response RequestID for request.
3674func (s *ResourceNotFoundException) RequestID() string {
3675	return s.RespMetadata.RequestID
3676}
3677
3678// A summary of a resource available on the device.
3679type ResourceSummary struct {
3680	_ struct{} `type:"structure"`
3681
3682	// The Amazon Resource Name (ARN) of the resource.
3683	Arn *string `locationName:"arn" type:"string"`
3684
3685	// The ID of the resource.
3686	Id *string `locationName:"id" type:"string"`
3687
3688	// The resource type.
3689	//
3690	// ResourceType is a required field
3691	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
3692}
3693
3694// String returns the string representation.
3695//
3696// API parameter values that are decorated as "sensitive" in the API will not
3697// be included in the string output. The member name will be present, but the
3698// value will be replaced with "sensitive".
3699func (s ResourceSummary) String() string {
3700	return awsutil.Prettify(s)
3701}
3702
3703// GoString returns the string representation.
3704//
3705// API parameter values that are decorated as "sensitive" in the API will not
3706// be included in the string output. The member name will be present, but the
3707// value will be replaced with "sensitive".
3708func (s ResourceSummary) GoString() string {
3709	return s.String()
3710}
3711
3712// SetArn sets the Arn field's value.
3713func (s *ResourceSummary) SetArn(v string) *ResourceSummary {
3714	s.Arn = &v
3715	return s
3716}
3717
3718// SetId sets the Id field's value.
3719func (s *ResourceSummary) SetId(v string) *ResourceSummary {
3720	s.Id = &v
3721	return s
3722}
3723
3724// SetResourceType sets the ResourceType field's value.
3725func (s *ResourceSummary) SetResourceType(v string) *ResourceSummary {
3726	s.ResourceType = &v
3727	return s
3728}
3729
3730// Information about the device's security group.
3731type SecurityGroupIdentifier struct {
3732	_ struct{} `type:"structure"`
3733
3734	// The security group ID.
3735	GroupId *string `locationName:"groupId" type:"string"`
3736
3737	// The security group name.
3738	GroupName *string `locationName:"groupName" type:"string"`
3739}
3740
3741// String returns the string representation.
3742//
3743// API parameter values that are decorated as "sensitive" in the API will not
3744// be included in the string output. The member name will be present, but the
3745// value will be replaced with "sensitive".
3746func (s SecurityGroupIdentifier) String() string {
3747	return awsutil.Prettify(s)
3748}
3749
3750// GoString returns the string representation.
3751//
3752// API parameter values that are decorated as "sensitive" in the API will not
3753// be included in the string output. The member name will be present, but the
3754// value will be replaced with "sensitive".
3755func (s SecurityGroupIdentifier) GoString() string {
3756	return s.String()
3757}
3758
3759// SetGroupId sets the GroupId field's value.
3760func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
3761	s.GroupId = &v
3762	return s
3763}
3764
3765// SetGroupName sets the GroupName field's value.
3766func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
3767	s.GroupName = &v
3768	return s
3769}
3770
3771// The request would cause a service quota to be exceeded.
3772type ServiceQuotaExceededException struct {
3773	_            struct{}                  `type:"structure"`
3774	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3775
3776	Message_ *string `locationName:"message" type:"string"`
3777}
3778
3779// String returns the string representation.
3780//
3781// API parameter values that are decorated as "sensitive" in the API will not
3782// be included in the string output. The member name will be present, but the
3783// value will be replaced with "sensitive".
3784func (s ServiceQuotaExceededException) String() string {
3785	return awsutil.Prettify(s)
3786}
3787
3788// GoString returns the string representation.
3789//
3790// API parameter values that are decorated as "sensitive" in the API will not
3791// be included in the string output. The member name will be present, but the
3792// value will be replaced with "sensitive".
3793func (s ServiceQuotaExceededException) GoString() string {
3794	return s.String()
3795}
3796
3797func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
3798	return &ServiceQuotaExceededException{
3799		RespMetadata: v,
3800	}
3801}
3802
3803// Code returns the exception type name.
3804func (s *ServiceQuotaExceededException) Code() string {
3805	return "ServiceQuotaExceededException"
3806}
3807
3808// Message returns the exception's message.
3809func (s *ServiceQuotaExceededException) Message() string {
3810	if s.Message_ != nil {
3811		return *s.Message_
3812	}
3813	return ""
3814}
3815
3816// OrigErr always returns nil, satisfies awserr.Error interface.
3817func (s *ServiceQuotaExceededException) OrigErr() error {
3818	return nil
3819}
3820
3821func (s *ServiceQuotaExceededException) Error() string {
3822	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3823}
3824
3825// Status code returns the HTTP status code for the request's response error.
3826func (s *ServiceQuotaExceededException) StatusCode() int {
3827	return s.RespMetadata.StatusCode
3828}
3829
3830// RequestID returns the service's response RequestID for request.
3831func (s *ServiceQuotaExceededException) RequestID() string {
3832	return s.RespMetadata.RequestID
3833}
3834
3835// Information about the software on the device.
3836type SoftwareInformation struct {
3837	_ struct{} `type:"structure"`
3838
3839	// The state of the software that is installed or that is being installed on
3840	// the device.
3841	InstallState *string `locationName:"installState" type:"string"`
3842
3843	// The version of the software currently installed on the device.
3844	InstalledVersion *string `locationName:"installedVersion" type:"string"`
3845
3846	// The version of the software being installed on the device.
3847	InstallingVersion *string `locationName:"installingVersion" type:"string"`
3848}
3849
3850// String returns the string representation.
3851//
3852// API parameter values that are decorated as "sensitive" in the API will not
3853// be included in the string output. The member name will be present, but the
3854// value will be replaced with "sensitive".
3855func (s SoftwareInformation) String() string {
3856	return awsutil.Prettify(s)
3857}
3858
3859// GoString returns the string representation.
3860//
3861// API parameter values that are decorated as "sensitive" in the API will not
3862// be included in the string output. The member name will be present, but the
3863// value will be replaced with "sensitive".
3864func (s SoftwareInformation) GoString() string {
3865	return s.String()
3866}
3867
3868// SetInstallState sets the InstallState field's value.
3869func (s *SoftwareInformation) SetInstallState(v string) *SoftwareInformation {
3870	s.InstallState = &v
3871	return s
3872}
3873
3874// SetInstalledVersion sets the InstalledVersion field's value.
3875func (s *SoftwareInformation) SetInstalledVersion(v string) *SoftwareInformation {
3876	s.InstalledVersion = &v
3877	return s
3878}
3879
3880// SetInstallingVersion sets the InstallingVersion field's value.
3881func (s *SoftwareInformation) SetInstallingVersion(v string) *SoftwareInformation {
3882	s.InstallingVersion = &v
3883	return s
3884}
3885
3886type TagResourceInput struct {
3887	_ struct{} `type:"structure"`
3888
3889	// The Amazon Resource Name (ARN) of the device or task.
3890	//
3891	// ResourceArn is a required field
3892	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
3893
3894	// Optional metadata that you assign to a resource. You can use tags to categorize
3895	// a resource in different ways, such as by purpose, owner, or environment.
3896	//
3897	// Tags is a required field
3898	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
3899}
3900
3901// String returns the string representation.
3902//
3903// API parameter values that are decorated as "sensitive" in the API will not
3904// be included in the string output. The member name will be present, but the
3905// value will be replaced with "sensitive".
3906func (s TagResourceInput) String() string {
3907	return awsutil.Prettify(s)
3908}
3909
3910// GoString returns the string representation.
3911//
3912// API parameter values that are decorated as "sensitive" in the API will not
3913// be included in the string output. The member name will be present, but the
3914// value will be replaced with "sensitive".
3915func (s TagResourceInput) GoString() string {
3916	return s.String()
3917}
3918
3919// Validate inspects the fields of the type to determine if they are valid.
3920func (s *TagResourceInput) Validate() error {
3921	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
3922	if s.ResourceArn == nil {
3923		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3924	}
3925	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
3926		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
3927	}
3928	if s.Tags == nil {
3929		invalidParams.Add(request.NewErrParamRequired("Tags"))
3930	}
3931
3932	if invalidParams.Len() > 0 {
3933		return invalidParams
3934	}
3935	return nil
3936}
3937
3938// SetResourceArn sets the ResourceArn field's value.
3939func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
3940	s.ResourceArn = &v
3941	return s
3942}
3943
3944// SetTags sets the Tags field's value.
3945func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
3946	s.Tags = v
3947	return s
3948}
3949
3950type TagResourceOutput struct {
3951	_ struct{} `type:"structure"`
3952}
3953
3954// String returns the string representation.
3955//
3956// API parameter values that are decorated as "sensitive" in the API will not
3957// be included in the string output. The member name will be present, but the
3958// value will be replaced with "sensitive".
3959func (s TagResourceOutput) String() string {
3960	return awsutil.Prettify(s)
3961}
3962
3963// GoString returns the string representation.
3964//
3965// API parameter values that are decorated as "sensitive" in the API will not
3966// be included in the string output. The member name will be present, but the
3967// value will be replaced with "sensitive".
3968func (s TagResourceOutput) GoString() string {
3969	return s.String()
3970}
3971
3972// Information about the task assigned to one or many devices.
3973type TaskSummary struct {
3974	_ struct{} `type:"structure"`
3975
3976	// The state of the task assigned to one or many devices.
3977	State *string `locationName:"state" type:"string" enum:"TaskState"`
3978
3979	// Optional metadata that you assign to a resource. You can use tags to categorize
3980	// a resource in different ways, such as by purpose, owner, or environment.
3981	Tags map[string]*string `locationName:"tags" type:"map"`
3982
3983	// The Amazon Resource Name (ARN) of the task.
3984	TaskArn *string `locationName:"taskArn" type:"string"`
3985
3986	// The task ID.
3987	//
3988	// TaskId is a required field
3989	TaskId *string `locationName:"taskId" min:"1" type:"string" required:"true"`
3990}
3991
3992// String returns the string representation.
3993//
3994// API parameter values that are decorated as "sensitive" in the API will not
3995// be included in the string output. The member name will be present, but the
3996// value will be replaced with "sensitive".
3997func (s TaskSummary) String() string {
3998	return awsutil.Prettify(s)
3999}
4000
4001// GoString returns the string representation.
4002//
4003// API parameter values that are decorated as "sensitive" in the API will not
4004// be included in the string output. The member name will be present, but the
4005// value will be replaced with "sensitive".
4006func (s TaskSummary) GoString() string {
4007	return s.String()
4008}
4009
4010// SetState sets the State field's value.
4011func (s *TaskSummary) SetState(v string) *TaskSummary {
4012	s.State = &v
4013	return s
4014}
4015
4016// SetTags sets the Tags field's value.
4017func (s *TaskSummary) SetTags(v map[string]*string) *TaskSummary {
4018	s.Tags = v
4019	return s
4020}
4021
4022// SetTaskArn sets the TaskArn field's value.
4023func (s *TaskSummary) SetTaskArn(v string) *TaskSummary {
4024	s.TaskArn = &v
4025	return s
4026}
4027
4028// SetTaskId sets the TaskId field's value.
4029func (s *TaskSummary) SetTaskId(v string) *TaskSummary {
4030	s.TaskId = &v
4031	return s
4032}
4033
4034// The request was denied due to request throttling.
4035type ThrottlingException struct {
4036	_            struct{}                  `type:"structure"`
4037	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4038
4039	Message_ *string `locationName:"message" type:"string"`
4040}
4041
4042// String returns the string representation.
4043//
4044// API parameter values that are decorated as "sensitive" in the API will not
4045// be included in the string output. The member name will be present, but the
4046// value will be replaced with "sensitive".
4047func (s ThrottlingException) String() string {
4048	return awsutil.Prettify(s)
4049}
4050
4051// GoString returns the string representation.
4052//
4053// API parameter values that are decorated as "sensitive" in the API will not
4054// be included in the string output. The member name will be present, but the
4055// value will be replaced with "sensitive".
4056func (s ThrottlingException) GoString() string {
4057	return s.String()
4058}
4059
4060func newErrorThrottlingException(v protocol.ResponseMetadata) error {
4061	return &ThrottlingException{
4062		RespMetadata: v,
4063	}
4064}
4065
4066// Code returns the exception type name.
4067func (s *ThrottlingException) Code() string {
4068	return "ThrottlingException"
4069}
4070
4071// Message returns the exception's message.
4072func (s *ThrottlingException) Message() string {
4073	if s.Message_ != nil {
4074		return *s.Message_
4075	}
4076	return ""
4077}
4078
4079// OrigErr always returns nil, satisfies awserr.Error interface.
4080func (s *ThrottlingException) OrigErr() error {
4081	return nil
4082}
4083
4084func (s *ThrottlingException) Error() string {
4085	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4086}
4087
4088// Status code returns the HTTP status code for the request's response error.
4089func (s *ThrottlingException) StatusCode() int {
4090	return s.RespMetadata.StatusCode
4091}
4092
4093// RequestID returns the service's response RequestID for request.
4094func (s *ThrottlingException) RequestID() string {
4095	return s.RespMetadata.RequestID
4096}
4097
4098// A structure used to unlock a device.
4099type Unlock struct {
4100	_ struct{} `type:"structure"`
4101}
4102
4103// String returns the string representation.
4104//
4105// API parameter values that are decorated as "sensitive" in the API will not
4106// be included in the string output. The member name will be present, but the
4107// value will be replaced with "sensitive".
4108func (s Unlock) String() string {
4109	return awsutil.Prettify(s)
4110}
4111
4112// GoString returns the string representation.
4113//
4114// API parameter values that are decorated as "sensitive" in the API will not
4115// be included in the string output. The member name will be present, but the
4116// value will be replaced with "sensitive".
4117func (s Unlock) GoString() string {
4118	return s.String()
4119}
4120
4121type UntagResourceInput struct {
4122	_ struct{} `type:"structure" nopayload:"true"`
4123
4124	// The Amazon Resource Name (ARN) of the device or task.
4125	//
4126	// ResourceArn is a required field
4127	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
4128
4129	// Optional metadata that you assign to a resource. You can use tags to categorize
4130	// a resource in different ways, such as by purpose, owner, or environment.
4131	//
4132	// TagKeys is a required field
4133	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
4134}
4135
4136// String returns the string representation.
4137//
4138// API parameter values that are decorated as "sensitive" in the API will not
4139// be included in the string output. The member name will be present, but the
4140// value will be replaced with "sensitive".
4141func (s UntagResourceInput) String() string {
4142	return awsutil.Prettify(s)
4143}
4144
4145// GoString returns the string representation.
4146//
4147// API parameter values that are decorated as "sensitive" in the API will not
4148// be included in the string output. The member name will be present, but the
4149// value will be replaced with "sensitive".
4150func (s UntagResourceInput) GoString() string {
4151	return s.String()
4152}
4153
4154// Validate inspects the fields of the type to determine if they are valid.
4155func (s *UntagResourceInput) Validate() error {
4156	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
4157	if s.ResourceArn == nil {
4158		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4159	}
4160	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
4161		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
4162	}
4163	if s.TagKeys == nil {
4164		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
4165	}
4166
4167	if invalidParams.Len() > 0 {
4168		return invalidParams
4169	}
4170	return nil
4171}
4172
4173// SetResourceArn sets the ResourceArn field's value.
4174func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
4175	s.ResourceArn = &v
4176	return s
4177}
4178
4179// SetTagKeys sets the TagKeys field's value.
4180func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
4181	s.TagKeys = v
4182	return s
4183}
4184
4185type UntagResourceOutput struct {
4186	_ struct{} `type:"structure"`
4187}
4188
4189// String returns the string representation.
4190//
4191// API parameter values that are decorated as "sensitive" in the API will not
4192// be included in the string output. The member name will be present, but the
4193// value will be replaced with "sensitive".
4194func (s UntagResourceOutput) String() string {
4195	return awsutil.Prettify(s)
4196}
4197
4198// GoString returns the string representation.
4199//
4200// API parameter values that are decorated as "sensitive" in the API will not
4201// be included in the string output. The member name will be present, but the
4202// value will be replaced with "sensitive".
4203func (s UntagResourceOutput) GoString() string {
4204	return s.String()
4205}
4206
4207// The input fails to satisfy the constraints specified by an Amazon Web Services
4208// service.
4209type ValidationException struct {
4210	_            struct{}                  `type:"structure"`
4211	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4212
4213	Message_ *string `locationName:"message" type:"string"`
4214}
4215
4216// String returns the string representation.
4217//
4218// API parameter values that are decorated as "sensitive" in the API will not
4219// be included in the string output. The member name will be present, but the
4220// value will be replaced with "sensitive".
4221func (s ValidationException) String() string {
4222	return awsutil.Prettify(s)
4223}
4224
4225// GoString returns the string representation.
4226//
4227// API parameter values that are decorated as "sensitive" in the API will not
4228// be included in the string output. The member name will be present, but the
4229// value will be replaced with "sensitive".
4230func (s ValidationException) GoString() string {
4231	return s.String()
4232}
4233
4234func newErrorValidationException(v protocol.ResponseMetadata) error {
4235	return &ValidationException{
4236		RespMetadata: v,
4237	}
4238}
4239
4240// Code returns the exception type name.
4241func (s *ValidationException) Code() string {
4242	return "ValidationException"
4243}
4244
4245// Message returns the exception's message.
4246func (s *ValidationException) Message() string {
4247	if s.Message_ != nil {
4248		return *s.Message_
4249	}
4250	return ""
4251}
4252
4253// OrigErr always returns nil, satisfies awserr.Error interface.
4254func (s *ValidationException) OrigErr() error {
4255	return nil
4256}
4257
4258func (s *ValidationException) Error() string {
4259	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4260}
4261
4262// Status code returns the HTTP status code for the request's response error.
4263func (s *ValidationException) StatusCode() int {
4264	return s.RespMetadata.StatusCode
4265}
4266
4267// RequestID returns the service's response RequestID for request.
4268func (s *ValidationException) RequestID() string {
4269	return s.RespMetadata.RequestID
4270}
4271
4272const (
4273	// AttachmentStatusAttaching is a AttachmentStatus enum value
4274	AttachmentStatusAttaching = "ATTACHING"
4275
4276	// AttachmentStatusAttached is a AttachmentStatus enum value
4277	AttachmentStatusAttached = "ATTACHED"
4278
4279	// AttachmentStatusDetaching is a AttachmentStatus enum value
4280	AttachmentStatusDetaching = "DETACHING"
4281
4282	// AttachmentStatusDetached is a AttachmentStatus enum value
4283	AttachmentStatusDetached = "DETACHED"
4284)
4285
4286// AttachmentStatus_Values returns all elements of the AttachmentStatus enum
4287func AttachmentStatus_Values() []string {
4288	return []string{
4289		AttachmentStatusAttaching,
4290		AttachmentStatusAttached,
4291		AttachmentStatusDetaching,
4292		AttachmentStatusDetached,
4293	}
4294}
4295
4296const (
4297	// ExecutionStateQueued is a ExecutionState enum value
4298	ExecutionStateQueued = "QUEUED"
4299
4300	// ExecutionStateInProgress is a ExecutionState enum value
4301	ExecutionStateInProgress = "IN_PROGRESS"
4302
4303	// ExecutionStateCanceled is a ExecutionState enum value
4304	ExecutionStateCanceled = "CANCELED"
4305
4306	// ExecutionStateFailed is a ExecutionState enum value
4307	ExecutionStateFailed = "FAILED"
4308
4309	// ExecutionStateSucceeded is a ExecutionState enum value
4310	ExecutionStateSucceeded = "SUCCEEDED"
4311
4312	// ExecutionStateRejected is a ExecutionState enum value
4313	ExecutionStateRejected = "REJECTED"
4314
4315	// ExecutionStateTimedOut is a ExecutionState enum value
4316	ExecutionStateTimedOut = "TIMED_OUT"
4317)
4318
4319// ExecutionState_Values returns all elements of the ExecutionState enum
4320func ExecutionState_Values() []string {
4321	return []string{
4322		ExecutionStateQueued,
4323		ExecutionStateInProgress,
4324		ExecutionStateCanceled,
4325		ExecutionStateFailed,
4326		ExecutionStateSucceeded,
4327		ExecutionStateRejected,
4328		ExecutionStateTimedOut,
4329	}
4330}
4331
4332const (
4333	// InstanceStateNamePending is a InstanceStateName enum value
4334	InstanceStateNamePending = "PENDING"
4335
4336	// InstanceStateNameRunning is a InstanceStateName enum value
4337	InstanceStateNameRunning = "RUNNING"
4338
4339	// InstanceStateNameShuttingDown is a InstanceStateName enum value
4340	InstanceStateNameShuttingDown = "SHUTTING_DOWN"
4341
4342	// InstanceStateNameTerminated is a InstanceStateName enum value
4343	InstanceStateNameTerminated = "TERMINATED"
4344
4345	// InstanceStateNameStopping is a InstanceStateName enum value
4346	InstanceStateNameStopping = "STOPPING"
4347
4348	// InstanceStateNameStopped is a InstanceStateName enum value
4349	InstanceStateNameStopped = "STOPPED"
4350)
4351
4352// InstanceStateName_Values returns all elements of the InstanceStateName enum
4353func InstanceStateName_Values() []string {
4354	return []string{
4355		InstanceStateNamePending,
4356		InstanceStateNameRunning,
4357		InstanceStateNameShuttingDown,
4358		InstanceStateNameTerminated,
4359		InstanceStateNameStopping,
4360		InstanceStateNameStopped,
4361	}
4362}
4363
4364const (
4365	// IpAddressAssignmentDhcp is a IpAddressAssignment enum value
4366	IpAddressAssignmentDhcp = "DHCP"
4367
4368	// IpAddressAssignmentStatic is a IpAddressAssignment enum value
4369	IpAddressAssignmentStatic = "STATIC"
4370)
4371
4372// IpAddressAssignment_Values returns all elements of the IpAddressAssignment enum
4373func IpAddressAssignment_Values() []string {
4374	return []string{
4375		IpAddressAssignmentDhcp,
4376		IpAddressAssignmentStatic,
4377	}
4378}
4379
4380const (
4381	// PhysicalConnectorTypeRj45 is a PhysicalConnectorType enum value
4382	PhysicalConnectorTypeRj45 = "RJ45"
4383
4384	// PhysicalConnectorTypeSfpPlus is a PhysicalConnectorType enum value
4385	PhysicalConnectorTypeSfpPlus = "SFP_PLUS"
4386
4387	// PhysicalConnectorTypeQsfp is a PhysicalConnectorType enum value
4388	PhysicalConnectorTypeQsfp = "QSFP"
4389
4390	// PhysicalConnectorTypeRj452 is a PhysicalConnectorType enum value
4391	PhysicalConnectorTypeRj452 = "RJ45_2"
4392
4393	// PhysicalConnectorTypeWifi is a PhysicalConnectorType enum value
4394	PhysicalConnectorTypeWifi = "WIFI"
4395)
4396
4397// PhysicalConnectorType_Values returns all elements of the PhysicalConnectorType enum
4398func PhysicalConnectorType_Values() []string {
4399	return []string{
4400		PhysicalConnectorTypeRj45,
4401		PhysicalConnectorTypeSfpPlus,
4402		PhysicalConnectorTypeQsfp,
4403		PhysicalConnectorTypeRj452,
4404		PhysicalConnectorTypeWifi,
4405	}
4406}
4407
4408const (
4409	// TaskStateInProgress is a TaskState enum value
4410	TaskStateInProgress = "IN_PROGRESS"
4411
4412	// TaskStateCanceled is a TaskState enum value
4413	TaskStateCanceled = "CANCELED"
4414
4415	// TaskStateCompleted is a TaskState enum value
4416	TaskStateCompleted = "COMPLETED"
4417)
4418
4419// TaskState_Values returns all elements of the TaskState enum
4420func TaskState_Values() []string {
4421	return []string{
4422		TaskStateInProgress,
4423		TaskStateCanceled,
4424		TaskStateCompleted,
4425	}
4426}
4427
4428const (
4429	// UnlockStateUnlocked is a UnlockState enum value
4430	UnlockStateUnlocked = "UNLOCKED"
4431
4432	// UnlockStateLocked is a UnlockState enum value
4433	UnlockStateLocked = "LOCKED"
4434
4435	// UnlockStateUnlocking is a UnlockState enum value
4436	UnlockStateUnlocking = "UNLOCKING"
4437)
4438
4439// UnlockState_Values returns all elements of the UnlockState enum
4440func UnlockState_Values() []string {
4441	return []string{
4442		UnlockStateUnlocked,
4443		UnlockStateLocked,
4444		UnlockStateUnlocking,
4445	}
4446}
4447