1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package iotthingsgraph
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/jsonrpc"
14)
15
16const opAssociateEntityToThing = "AssociateEntityToThing"
17
18// AssociateEntityToThingRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateEntityToThing 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 AssociateEntityToThing for more information on using the AssociateEntityToThing
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 AssociateEntityToThingRequest method.
34//    req, resp := client.AssociateEntityToThingRequest(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/iotthingsgraph-2018-09-06/AssociateEntityToThing
42func (c *IoTThingsGraph) AssociateEntityToThingRequest(input *AssociateEntityToThingInput) (req *request.Request, output *AssociateEntityToThingOutput) {
43	op := &request.Operation{
44		Name:       opAssociateEntityToThing,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AssociateEntityToThingInput{}
51	}
52
53	output = &AssociateEntityToThingOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateEntityToThing API operation for AWS IoT Things Graph.
60//
61// Associates a device with a concrete thing that is in the user's registry.
62//
63// A thing can be associated with only one device at a time. If you associate
64// a thing with a new device id, its previous association will be removed.
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 IoT Things Graph's
71// API operation AssociateEntityToThing for usage and error information.
72//
73// Returned Error Types:
74//   * InvalidRequestException
75//
76//   * ResourceNotFoundException
77//
78//   * InternalFailureException
79//
80//   * ThrottlingException
81//
82// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/AssociateEntityToThing
83func (c *IoTThingsGraph) AssociateEntityToThing(input *AssociateEntityToThingInput) (*AssociateEntityToThingOutput, error) {
84	req, out := c.AssociateEntityToThingRequest(input)
85	return out, req.Send()
86}
87
88// AssociateEntityToThingWithContext is the same as AssociateEntityToThing with the addition of
89// the ability to pass a context and additional request options.
90//
91// See AssociateEntityToThing for details on how to use this API operation.
92//
93// The context must be non-nil and will be used for request cancellation. If
94// the context is nil a panic will occur. In the future the SDK may create
95// sub-contexts for http.Requests. See https://golang.org/pkg/context/
96// for more information on using Contexts.
97func (c *IoTThingsGraph) AssociateEntityToThingWithContext(ctx aws.Context, input *AssociateEntityToThingInput, opts ...request.Option) (*AssociateEntityToThingOutput, error) {
98	req, out := c.AssociateEntityToThingRequest(input)
99	req.SetContext(ctx)
100	req.ApplyOptions(opts...)
101	return out, req.Send()
102}
103
104const opCreateFlowTemplate = "CreateFlowTemplate"
105
106// CreateFlowTemplateRequest generates a "aws/request.Request" representing the
107// client's request for the CreateFlowTemplate operation. The "output" return
108// value will be populated with the request's response once the request completes
109// successfully.
110//
111// Use "Send" method on the returned Request to send the API call to the service.
112// the "output" return value is not valid until after Send returns without error.
113//
114// See CreateFlowTemplate for more information on using the CreateFlowTemplate
115// API call, and error handling.
116//
117// This method is useful when you want to inject custom logic or configuration
118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
119//
120//
121//    // Example sending a request using the CreateFlowTemplateRequest method.
122//    req, resp := client.CreateFlowTemplateRequest(params)
123//
124//    err := req.Send()
125//    if err == nil { // resp is now filled
126//        fmt.Println(resp)
127//    }
128//
129// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/CreateFlowTemplate
130func (c *IoTThingsGraph) CreateFlowTemplateRequest(input *CreateFlowTemplateInput) (req *request.Request, output *CreateFlowTemplateOutput) {
131	op := &request.Operation{
132		Name:       opCreateFlowTemplate,
133		HTTPMethod: "POST",
134		HTTPPath:   "/",
135	}
136
137	if input == nil {
138		input = &CreateFlowTemplateInput{}
139	}
140
141	output = &CreateFlowTemplateOutput{}
142	req = c.newRequest(op, input, output)
143	return
144}
145
146// CreateFlowTemplate API operation for AWS IoT Things Graph.
147//
148// Creates a workflow template. Workflows can be created only in the user's
149// namespace. (The public namespace contains only entities.) The workflow can
150// contain only entities in the specified namespace. The workflow is validated
151// against the entities in the latest version of the user's namespace unless
152// another namespace version is specified in the request.
153//
154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
155// with awserr.Error's Code and Message methods to get detailed information about
156// the error.
157//
158// See the AWS API reference guide for AWS IoT Things Graph's
159// API operation CreateFlowTemplate for usage and error information.
160//
161// Returned Error Types:
162//   * InvalidRequestException
163//
164//   * ResourceAlreadyExistsException
165//
166//   * ThrottlingException
167//
168//   * LimitExceededException
169//
170//   * InternalFailureException
171//
172// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/CreateFlowTemplate
173func (c *IoTThingsGraph) CreateFlowTemplate(input *CreateFlowTemplateInput) (*CreateFlowTemplateOutput, error) {
174	req, out := c.CreateFlowTemplateRequest(input)
175	return out, req.Send()
176}
177
178// CreateFlowTemplateWithContext is the same as CreateFlowTemplate with the addition of
179// the ability to pass a context and additional request options.
180//
181// See CreateFlowTemplate for details on how to use this API operation.
182//
183// The context must be non-nil and will be used for request cancellation. If
184// the context is nil a panic will occur. In the future the SDK may create
185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
186// for more information on using Contexts.
187func (c *IoTThingsGraph) CreateFlowTemplateWithContext(ctx aws.Context, input *CreateFlowTemplateInput, opts ...request.Option) (*CreateFlowTemplateOutput, error) {
188	req, out := c.CreateFlowTemplateRequest(input)
189	req.SetContext(ctx)
190	req.ApplyOptions(opts...)
191	return out, req.Send()
192}
193
194const opCreateSystemInstance = "CreateSystemInstance"
195
196// CreateSystemInstanceRequest generates a "aws/request.Request" representing the
197// client's request for the CreateSystemInstance operation. The "output" return
198// value will be populated with the request's response once the request completes
199// successfully.
200//
201// Use "Send" method on the returned Request to send the API call to the service.
202// the "output" return value is not valid until after Send returns without error.
203//
204// See CreateSystemInstance for more information on using the CreateSystemInstance
205// API call, and error handling.
206//
207// This method is useful when you want to inject custom logic or configuration
208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
209//
210//
211//    // Example sending a request using the CreateSystemInstanceRequest method.
212//    req, resp := client.CreateSystemInstanceRequest(params)
213//
214//    err := req.Send()
215//    if err == nil { // resp is now filled
216//        fmt.Println(resp)
217//    }
218//
219// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/CreateSystemInstance
220func (c *IoTThingsGraph) CreateSystemInstanceRequest(input *CreateSystemInstanceInput) (req *request.Request, output *CreateSystemInstanceOutput) {
221	op := &request.Operation{
222		Name:       opCreateSystemInstance,
223		HTTPMethod: "POST",
224		HTTPPath:   "/",
225	}
226
227	if input == nil {
228		input = &CreateSystemInstanceInput{}
229	}
230
231	output = &CreateSystemInstanceOutput{}
232	req = c.newRequest(op, input, output)
233	return
234}
235
236// CreateSystemInstance API operation for AWS IoT Things Graph.
237//
238// Creates a system instance.
239//
240// This action validates the system instance, prepares the deployment-related
241// resources. For Greengrass deployments, it updates the Greengrass group that
242// is specified by the greengrassGroupName parameter. It also adds a file to
243// the S3 bucket specified by the s3BucketName parameter. You need to call DeploySystemInstance
244// after running this action.
245//
246// For Greengrass deployments, since this action modifies and adds resources
247// to a Greengrass group and an S3 bucket on the caller's behalf, the calling
248// identity must have write permissions to both the specified Greengrass group
249// and S3 bucket. Otherwise, the call will fail with an authorization error.
250//
251// For cloud deployments, this action requires a flowActionsRoleArn value. This
252// is an IAM role that has permissions to access AWS services, such as AWS Lambda
253// and AWS IoT, that the flow uses when it executes.
254//
255// If the definition document doesn't specify a version of the user's namespace,
256// the latest version will be used by default.
257//
258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
259// with awserr.Error's Code and Message methods to get detailed information about
260// the error.
261//
262// See the AWS API reference guide for AWS IoT Things Graph's
263// API operation CreateSystemInstance for usage and error information.
264//
265// Returned Error Types:
266//   * InvalidRequestException
267//
268//   * ResourceAlreadyExistsException
269//
270//   * ThrottlingException
271//
272//   * InternalFailureException
273//
274//   * LimitExceededException
275//
276// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/CreateSystemInstance
277func (c *IoTThingsGraph) CreateSystemInstance(input *CreateSystemInstanceInput) (*CreateSystemInstanceOutput, error) {
278	req, out := c.CreateSystemInstanceRequest(input)
279	return out, req.Send()
280}
281
282// CreateSystemInstanceWithContext is the same as CreateSystemInstance with the addition of
283// the ability to pass a context and additional request options.
284//
285// See CreateSystemInstance for details on how to use this API operation.
286//
287// The context must be non-nil and will be used for request cancellation. If
288// the context is nil a panic will occur. In the future the SDK may create
289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
290// for more information on using Contexts.
291func (c *IoTThingsGraph) CreateSystemInstanceWithContext(ctx aws.Context, input *CreateSystemInstanceInput, opts ...request.Option) (*CreateSystemInstanceOutput, error) {
292	req, out := c.CreateSystemInstanceRequest(input)
293	req.SetContext(ctx)
294	req.ApplyOptions(opts...)
295	return out, req.Send()
296}
297
298const opCreateSystemTemplate = "CreateSystemTemplate"
299
300// CreateSystemTemplateRequest generates a "aws/request.Request" representing the
301// client's request for the CreateSystemTemplate operation. The "output" return
302// value will be populated with the request's response once the request completes
303// successfully.
304//
305// Use "Send" method on the returned Request to send the API call to the service.
306// the "output" return value is not valid until after Send returns without error.
307//
308// See CreateSystemTemplate for more information on using the CreateSystemTemplate
309// API call, and error handling.
310//
311// This method is useful when you want to inject custom logic or configuration
312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
313//
314//
315//    // Example sending a request using the CreateSystemTemplateRequest method.
316//    req, resp := client.CreateSystemTemplateRequest(params)
317//
318//    err := req.Send()
319//    if err == nil { // resp is now filled
320//        fmt.Println(resp)
321//    }
322//
323// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/CreateSystemTemplate
324func (c *IoTThingsGraph) CreateSystemTemplateRequest(input *CreateSystemTemplateInput) (req *request.Request, output *CreateSystemTemplateOutput) {
325	op := &request.Operation{
326		Name:       opCreateSystemTemplate,
327		HTTPMethod: "POST",
328		HTTPPath:   "/",
329	}
330
331	if input == nil {
332		input = &CreateSystemTemplateInput{}
333	}
334
335	output = &CreateSystemTemplateOutput{}
336	req = c.newRequest(op, input, output)
337	return
338}
339
340// CreateSystemTemplate API operation for AWS IoT Things Graph.
341//
342// Creates a system. The system is validated against the entities in the latest
343// version of the user's namespace unless another namespace version is specified
344// in the request.
345//
346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
347// with awserr.Error's Code and Message methods to get detailed information about
348// the error.
349//
350// See the AWS API reference guide for AWS IoT Things Graph's
351// API operation CreateSystemTemplate for usage and error information.
352//
353// Returned Error Types:
354//   * InvalidRequestException
355//
356//   * ResourceAlreadyExistsException
357//
358//   * ThrottlingException
359//
360//   * InternalFailureException
361//
362// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/CreateSystemTemplate
363func (c *IoTThingsGraph) CreateSystemTemplate(input *CreateSystemTemplateInput) (*CreateSystemTemplateOutput, error) {
364	req, out := c.CreateSystemTemplateRequest(input)
365	return out, req.Send()
366}
367
368// CreateSystemTemplateWithContext is the same as CreateSystemTemplate with the addition of
369// the ability to pass a context and additional request options.
370//
371// See CreateSystemTemplate for details on how to use this API operation.
372//
373// The context must be non-nil and will be used for request cancellation. If
374// the context is nil a panic will occur. In the future the SDK may create
375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
376// for more information on using Contexts.
377func (c *IoTThingsGraph) CreateSystemTemplateWithContext(ctx aws.Context, input *CreateSystemTemplateInput, opts ...request.Option) (*CreateSystemTemplateOutput, error) {
378	req, out := c.CreateSystemTemplateRequest(input)
379	req.SetContext(ctx)
380	req.ApplyOptions(opts...)
381	return out, req.Send()
382}
383
384const opDeleteFlowTemplate = "DeleteFlowTemplate"
385
386// DeleteFlowTemplateRequest generates a "aws/request.Request" representing the
387// client's request for the DeleteFlowTemplate operation. The "output" return
388// value will be populated with the request's response once the request completes
389// successfully.
390//
391// Use "Send" method on the returned Request to send the API call to the service.
392// the "output" return value is not valid until after Send returns without error.
393//
394// See DeleteFlowTemplate for more information on using the DeleteFlowTemplate
395// API call, and error handling.
396//
397// This method is useful when you want to inject custom logic or configuration
398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
399//
400//
401//    // Example sending a request using the DeleteFlowTemplateRequest method.
402//    req, resp := client.DeleteFlowTemplateRequest(params)
403//
404//    err := req.Send()
405//    if err == nil { // resp is now filled
406//        fmt.Println(resp)
407//    }
408//
409// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteFlowTemplate
410func (c *IoTThingsGraph) DeleteFlowTemplateRequest(input *DeleteFlowTemplateInput) (req *request.Request, output *DeleteFlowTemplateOutput) {
411	op := &request.Operation{
412		Name:       opDeleteFlowTemplate,
413		HTTPMethod: "POST",
414		HTTPPath:   "/",
415	}
416
417	if input == nil {
418		input = &DeleteFlowTemplateInput{}
419	}
420
421	output = &DeleteFlowTemplateOutput{}
422	req = c.newRequest(op, input, output)
423	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
424	return
425}
426
427// DeleteFlowTemplate API operation for AWS IoT Things Graph.
428//
429// Deletes a workflow. Any new system or deployment that contains this workflow
430// will fail to update or deploy. Existing deployments that contain the workflow
431// will continue to run (since they use a snapshot of the workflow taken at
432// the time of deployment).
433//
434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
435// with awserr.Error's Code and Message methods to get detailed information about
436// the error.
437//
438// See the AWS API reference guide for AWS IoT Things Graph's
439// API operation DeleteFlowTemplate for usage and error information.
440//
441// Returned Error Types:
442//   * InvalidRequestException
443//
444//   * ThrottlingException
445//
446//   * InternalFailureException
447//
448//   * ResourceInUseException
449//
450// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteFlowTemplate
451func (c *IoTThingsGraph) DeleteFlowTemplate(input *DeleteFlowTemplateInput) (*DeleteFlowTemplateOutput, error) {
452	req, out := c.DeleteFlowTemplateRequest(input)
453	return out, req.Send()
454}
455
456// DeleteFlowTemplateWithContext is the same as DeleteFlowTemplate with the addition of
457// the ability to pass a context and additional request options.
458//
459// See DeleteFlowTemplate for details on how to use this API operation.
460//
461// The context must be non-nil and will be used for request cancellation. If
462// the context is nil a panic will occur. In the future the SDK may create
463// sub-contexts for http.Requests. See https://golang.org/pkg/context/
464// for more information on using Contexts.
465func (c *IoTThingsGraph) DeleteFlowTemplateWithContext(ctx aws.Context, input *DeleteFlowTemplateInput, opts ...request.Option) (*DeleteFlowTemplateOutput, error) {
466	req, out := c.DeleteFlowTemplateRequest(input)
467	req.SetContext(ctx)
468	req.ApplyOptions(opts...)
469	return out, req.Send()
470}
471
472const opDeleteNamespace = "DeleteNamespace"
473
474// DeleteNamespaceRequest generates a "aws/request.Request" representing the
475// client's request for the DeleteNamespace operation. The "output" return
476// value will be populated with the request's response once the request completes
477// successfully.
478//
479// Use "Send" method on the returned Request to send the API call to the service.
480// the "output" return value is not valid until after Send returns without error.
481//
482// See DeleteNamespace for more information on using the DeleteNamespace
483// API call, and error handling.
484//
485// This method is useful when you want to inject custom logic or configuration
486// into the SDK's request lifecycle. Such as custom headers, or retry logic.
487//
488//
489//    // Example sending a request using the DeleteNamespaceRequest method.
490//    req, resp := client.DeleteNamespaceRequest(params)
491//
492//    err := req.Send()
493//    if err == nil { // resp is now filled
494//        fmt.Println(resp)
495//    }
496//
497// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteNamespace
498func (c *IoTThingsGraph) DeleteNamespaceRequest(input *DeleteNamespaceInput) (req *request.Request, output *DeleteNamespaceOutput) {
499	op := &request.Operation{
500		Name:       opDeleteNamespace,
501		HTTPMethod: "POST",
502		HTTPPath:   "/",
503	}
504
505	if input == nil {
506		input = &DeleteNamespaceInput{}
507	}
508
509	output = &DeleteNamespaceOutput{}
510	req = c.newRequest(op, input, output)
511	return
512}
513
514// DeleteNamespace API operation for AWS IoT Things Graph.
515//
516// Deletes the specified namespace. This action deletes all of the entities
517// in the namespace. Delete the systems and flows that use entities in the namespace
518// before performing this action.
519//
520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
521// with awserr.Error's Code and Message methods to get detailed information about
522// the error.
523//
524// See the AWS API reference guide for AWS IoT Things Graph's
525// API operation DeleteNamespace for usage and error information.
526//
527// Returned Error Types:
528//   * InternalFailureException
529//
530//   * ThrottlingException
531//
532// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteNamespace
533func (c *IoTThingsGraph) DeleteNamespace(input *DeleteNamespaceInput) (*DeleteNamespaceOutput, error) {
534	req, out := c.DeleteNamespaceRequest(input)
535	return out, req.Send()
536}
537
538// DeleteNamespaceWithContext is the same as DeleteNamespace with the addition of
539// the ability to pass a context and additional request options.
540//
541// See DeleteNamespace for details on how to use this API operation.
542//
543// The context must be non-nil and will be used for request cancellation. If
544// the context is nil a panic will occur. In the future the SDK may create
545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
546// for more information on using Contexts.
547func (c *IoTThingsGraph) DeleteNamespaceWithContext(ctx aws.Context, input *DeleteNamespaceInput, opts ...request.Option) (*DeleteNamespaceOutput, error) {
548	req, out := c.DeleteNamespaceRequest(input)
549	req.SetContext(ctx)
550	req.ApplyOptions(opts...)
551	return out, req.Send()
552}
553
554const opDeleteSystemInstance = "DeleteSystemInstance"
555
556// DeleteSystemInstanceRequest generates a "aws/request.Request" representing the
557// client's request for the DeleteSystemInstance operation. The "output" return
558// value will be populated with the request's response once the request completes
559// successfully.
560//
561// Use "Send" method on the returned Request to send the API call to the service.
562// the "output" return value is not valid until after Send returns without error.
563//
564// See DeleteSystemInstance for more information on using the DeleteSystemInstance
565// API call, and error handling.
566//
567// This method is useful when you want to inject custom logic or configuration
568// into the SDK's request lifecycle. Such as custom headers, or retry logic.
569//
570//
571//    // Example sending a request using the DeleteSystemInstanceRequest method.
572//    req, resp := client.DeleteSystemInstanceRequest(params)
573//
574//    err := req.Send()
575//    if err == nil { // resp is now filled
576//        fmt.Println(resp)
577//    }
578//
579// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteSystemInstance
580func (c *IoTThingsGraph) DeleteSystemInstanceRequest(input *DeleteSystemInstanceInput) (req *request.Request, output *DeleteSystemInstanceOutput) {
581	op := &request.Operation{
582		Name:       opDeleteSystemInstance,
583		HTTPMethod: "POST",
584		HTTPPath:   "/",
585	}
586
587	if input == nil {
588		input = &DeleteSystemInstanceInput{}
589	}
590
591	output = &DeleteSystemInstanceOutput{}
592	req = c.newRequest(op, input, output)
593	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
594	return
595}
596
597// DeleteSystemInstance API operation for AWS IoT Things Graph.
598//
599// Deletes a system instance. Only system instances that have never been deployed,
600// or that have been undeployed can be deleted.
601//
602// Users can create a new system instance that has the same ID as a deleted
603// system instance.
604//
605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
606// with awserr.Error's Code and Message methods to get detailed information about
607// the error.
608//
609// See the AWS API reference guide for AWS IoT Things Graph's
610// API operation DeleteSystemInstance for usage and error information.
611//
612// Returned Error Types:
613//   * InvalidRequestException
614//
615//   * ThrottlingException
616//
617//   * InternalFailureException
618//
619//   * ResourceInUseException
620//
621// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteSystemInstance
622func (c *IoTThingsGraph) DeleteSystemInstance(input *DeleteSystemInstanceInput) (*DeleteSystemInstanceOutput, error) {
623	req, out := c.DeleteSystemInstanceRequest(input)
624	return out, req.Send()
625}
626
627// DeleteSystemInstanceWithContext is the same as DeleteSystemInstance with the addition of
628// the ability to pass a context and additional request options.
629//
630// See DeleteSystemInstance for details on how to use this API operation.
631//
632// The context must be non-nil and will be used for request cancellation. If
633// the context is nil a panic will occur. In the future the SDK may create
634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
635// for more information on using Contexts.
636func (c *IoTThingsGraph) DeleteSystemInstanceWithContext(ctx aws.Context, input *DeleteSystemInstanceInput, opts ...request.Option) (*DeleteSystemInstanceOutput, error) {
637	req, out := c.DeleteSystemInstanceRequest(input)
638	req.SetContext(ctx)
639	req.ApplyOptions(opts...)
640	return out, req.Send()
641}
642
643const opDeleteSystemTemplate = "DeleteSystemTemplate"
644
645// DeleteSystemTemplateRequest generates a "aws/request.Request" representing the
646// client's request for the DeleteSystemTemplate operation. The "output" return
647// value will be populated with the request's response once the request completes
648// successfully.
649//
650// Use "Send" method on the returned Request to send the API call to the service.
651// the "output" return value is not valid until after Send returns without error.
652//
653// See DeleteSystemTemplate for more information on using the DeleteSystemTemplate
654// API call, and error handling.
655//
656// This method is useful when you want to inject custom logic or configuration
657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
658//
659//
660//    // Example sending a request using the DeleteSystemTemplateRequest method.
661//    req, resp := client.DeleteSystemTemplateRequest(params)
662//
663//    err := req.Send()
664//    if err == nil { // resp is now filled
665//        fmt.Println(resp)
666//    }
667//
668// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteSystemTemplate
669func (c *IoTThingsGraph) DeleteSystemTemplateRequest(input *DeleteSystemTemplateInput) (req *request.Request, output *DeleteSystemTemplateOutput) {
670	op := &request.Operation{
671		Name:       opDeleteSystemTemplate,
672		HTTPMethod: "POST",
673		HTTPPath:   "/",
674	}
675
676	if input == nil {
677		input = &DeleteSystemTemplateInput{}
678	}
679
680	output = &DeleteSystemTemplateOutput{}
681	req = c.newRequest(op, input, output)
682	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
683	return
684}
685
686// DeleteSystemTemplate API operation for AWS IoT Things Graph.
687//
688// Deletes a system. New deployments can't contain the system after its deletion.
689// Existing deployments that contain the system will continue to work because
690// they use a snapshot of the system that is taken when it is deployed.
691//
692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
693// with awserr.Error's Code and Message methods to get detailed information about
694// the error.
695//
696// See the AWS API reference guide for AWS IoT Things Graph's
697// API operation DeleteSystemTemplate for usage and error information.
698//
699// Returned Error Types:
700//   * InvalidRequestException
701//
702//   * ThrottlingException
703//
704//   * InternalFailureException
705//
706//   * ResourceInUseException
707//
708// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeleteSystemTemplate
709func (c *IoTThingsGraph) DeleteSystemTemplate(input *DeleteSystemTemplateInput) (*DeleteSystemTemplateOutput, error) {
710	req, out := c.DeleteSystemTemplateRequest(input)
711	return out, req.Send()
712}
713
714// DeleteSystemTemplateWithContext is the same as DeleteSystemTemplate with the addition of
715// the ability to pass a context and additional request options.
716//
717// See DeleteSystemTemplate for details on how to use this API operation.
718//
719// The context must be non-nil and will be used for request cancellation. If
720// the context is nil a panic will occur. In the future the SDK may create
721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
722// for more information on using Contexts.
723func (c *IoTThingsGraph) DeleteSystemTemplateWithContext(ctx aws.Context, input *DeleteSystemTemplateInput, opts ...request.Option) (*DeleteSystemTemplateOutput, error) {
724	req, out := c.DeleteSystemTemplateRequest(input)
725	req.SetContext(ctx)
726	req.ApplyOptions(opts...)
727	return out, req.Send()
728}
729
730const opDeploySystemInstance = "DeploySystemInstance"
731
732// DeploySystemInstanceRequest generates a "aws/request.Request" representing the
733// client's request for the DeploySystemInstance operation. The "output" return
734// value will be populated with the request's response once the request completes
735// successfully.
736//
737// Use "Send" method on the returned Request to send the API call to the service.
738// the "output" return value is not valid until after Send returns without error.
739//
740// See DeploySystemInstance for more information on using the DeploySystemInstance
741// API call, and error handling.
742//
743// This method is useful when you want to inject custom logic or configuration
744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
745//
746//
747//    // Example sending a request using the DeploySystemInstanceRequest method.
748//    req, resp := client.DeploySystemInstanceRequest(params)
749//
750//    err := req.Send()
751//    if err == nil { // resp is now filled
752//        fmt.Println(resp)
753//    }
754//
755// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeploySystemInstance
756func (c *IoTThingsGraph) DeploySystemInstanceRequest(input *DeploySystemInstanceInput) (req *request.Request, output *DeploySystemInstanceOutput) {
757	op := &request.Operation{
758		Name:       opDeploySystemInstance,
759		HTTPMethod: "POST",
760		HTTPPath:   "/",
761	}
762
763	if input == nil {
764		input = &DeploySystemInstanceInput{}
765	}
766
767	output = &DeploySystemInstanceOutput{}
768	req = c.newRequest(op, input, output)
769	return
770}
771
772// DeploySystemInstance API operation for AWS IoT Things Graph.
773//
774// Greengrass and Cloud Deployments
775//
776// Deploys the system instance to the target specified in CreateSystemInstance.
777//
778// Greengrass Deployments
779//
780// If the system or any workflows and entities have been updated before this
781// action is called, then the deployment will create a new Amazon Simple Storage
782// Service resource file and then deploy it.
783//
784// Since this action creates a Greengrass deployment on the caller's behalf,
785// the calling identity must have write permissions to the specified Greengrass
786// group. Otherwise, the call will fail with an authorization error.
787//
788// For information about the artifacts that get added to your Greengrass core
789// device when you use this API, see AWS IoT Things Graph and AWS IoT Greengrass
790// (https://docs.aws.amazon.com/thingsgraph/latest/ug/iot-tg-greengrass.html).
791//
792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
793// with awserr.Error's Code and Message methods to get detailed information about
794// the error.
795//
796// See the AWS API reference guide for AWS IoT Things Graph's
797// API operation DeploySystemInstance for usage and error information.
798//
799// Returned Error Types:
800//   * ResourceNotFoundException
801//
802//   * InvalidRequestException
803//
804//   * ThrottlingException
805//
806//   * InternalFailureException
807//
808//   * ResourceInUseException
809//
810// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeploySystemInstance
811func (c *IoTThingsGraph) DeploySystemInstance(input *DeploySystemInstanceInput) (*DeploySystemInstanceOutput, error) {
812	req, out := c.DeploySystemInstanceRequest(input)
813	return out, req.Send()
814}
815
816// DeploySystemInstanceWithContext is the same as DeploySystemInstance with the addition of
817// the ability to pass a context and additional request options.
818//
819// See DeploySystemInstance for details on how to use this API operation.
820//
821// The context must be non-nil and will be used for request cancellation. If
822// the context is nil a panic will occur. In the future the SDK may create
823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
824// for more information on using Contexts.
825func (c *IoTThingsGraph) DeploySystemInstanceWithContext(ctx aws.Context, input *DeploySystemInstanceInput, opts ...request.Option) (*DeploySystemInstanceOutput, error) {
826	req, out := c.DeploySystemInstanceRequest(input)
827	req.SetContext(ctx)
828	req.ApplyOptions(opts...)
829	return out, req.Send()
830}
831
832const opDeprecateFlowTemplate = "DeprecateFlowTemplate"
833
834// DeprecateFlowTemplateRequest generates a "aws/request.Request" representing the
835// client's request for the DeprecateFlowTemplate operation. The "output" return
836// value will be populated with the request's response once the request completes
837// successfully.
838//
839// Use "Send" method on the returned Request to send the API call to the service.
840// the "output" return value is not valid until after Send returns without error.
841//
842// See DeprecateFlowTemplate for more information on using the DeprecateFlowTemplate
843// API call, and error handling.
844//
845// This method is useful when you want to inject custom logic or configuration
846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
847//
848//
849//    // Example sending a request using the DeprecateFlowTemplateRequest method.
850//    req, resp := client.DeprecateFlowTemplateRequest(params)
851//
852//    err := req.Send()
853//    if err == nil { // resp is now filled
854//        fmt.Println(resp)
855//    }
856//
857// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeprecateFlowTemplate
858func (c *IoTThingsGraph) DeprecateFlowTemplateRequest(input *DeprecateFlowTemplateInput) (req *request.Request, output *DeprecateFlowTemplateOutput) {
859	op := &request.Operation{
860		Name:       opDeprecateFlowTemplate,
861		HTTPMethod: "POST",
862		HTTPPath:   "/",
863	}
864
865	if input == nil {
866		input = &DeprecateFlowTemplateInput{}
867	}
868
869	output = &DeprecateFlowTemplateOutput{}
870	req = c.newRequest(op, input, output)
871	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
872	return
873}
874
875// DeprecateFlowTemplate API operation for AWS IoT Things Graph.
876//
877// Deprecates the specified workflow. This action marks the workflow for deletion.
878// Deprecated flows can't be deployed, but existing deployments will continue
879// to run.
880//
881// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
882// with awserr.Error's Code and Message methods to get detailed information about
883// the error.
884//
885// See the AWS API reference guide for AWS IoT Things Graph's
886// API operation DeprecateFlowTemplate for usage and error information.
887//
888// Returned Error Types:
889//   * InvalidRequestException
890//
891//   * ThrottlingException
892//
893//   * InternalFailureException
894//
895//   * ResourceNotFoundException
896//
897// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeprecateFlowTemplate
898func (c *IoTThingsGraph) DeprecateFlowTemplate(input *DeprecateFlowTemplateInput) (*DeprecateFlowTemplateOutput, error) {
899	req, out := c.DeprecateFlowTemplateRequest(input)
900	return out, req.Send()
901}
902
903// DeprecateFlowTemplateWithContext is the same as DeprecateFlowTemplate with the addition of
904// the ability to pass a context and additional request options.
905//
906// See DeprecateFlowTemplate for details on how to use this API operation.
907//
908// The context must be non-nil and will be used for request cancellation. If
909// the context is nil a panic will occur. In the future the SDK may create
910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
911// for more information on using Contexts.
912func (c *IoTThingsGraph) DeprecateFlowTemplateWithContext(ctx aws.Context, input *DeprecateFlowTemplateInput, opts ...request.Option) (*DeprecateFlowTemplateOutput, error) {
913	req, out := c.DeprecateFlowTemplateRequest(input)
914	req.SetContext(ctx)
915	req.ApplyOptions(opts...)
916	return out, req.Send()
917}
918
919const opDeprecateSystemTemplate = "DeprecateSystemTemplate"
920
921// DeprecateSystemTemplateRequest generates a "aws/request.Request" representing the
922// client's request for the DeprecateSystemTemplate operation. The "output" return
923// value will be populated with the request's response once the request completes
924// successfully.
925//
926// Use "Send" method on the returned Request to send the API call to the service.
927// the "output" return value is not valid until after Send returns without error.
928//
929// See DeprecateSystemTemplate for more information on using the DeprecateSystemTemplate
930// API call, and error handling.
931//
932// This method is useful when you want to inject custom logic or configuration
933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
934//
935//
936//    // Example sending a request using the DeprecateSystemTemplateRequest method.
937//    req, resp := client.DeprecateSystemTemplateRequest(params)
938//
939//    err := req.Send()
940//    if err == nil { // resp is now filled
941//        fmt.Println(resp)
942//    }
943//
944// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeprecateSystemTemplate
945func (c *IoTThingsGraph) DeprecateSystemTemplateRequest(input *DeprecateSystemTemplateInput) (req *request.Request, output *DeprecateSystemTemplateOutput) {
946	op := &request.Operation{
947		Name:       opDeprecateSystemTemplate,
948		HTTPMethod: "POST",
949		HTTPPath:   "/",
950	}
951
952	if input == nil {
953		input = &DeprecateSystemTemplateInput{}
954	}
955
956	output = &DeprecateSystemTemplateOutput{}
957	req = c.newRequest(op, input, output)
958	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
959	return
960}
961
962// DeprecateSystemTemplate API operation for AWS IoT Things Graph.
963//
964// Deprecates the specified system.
965//
966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
967// with awserr.Error's Code and Message methods to get detailed information about
968// the error.
969//
970// See the AWS API reference guide for AWS IoT Things Graph's
971// API operation DeprecateSystemTemplate for usage and error information.
972//
973// Returned Error Types:
974//   * InvalidRequestException
975//
976//   * ThrottlingException
977//
978//   * InternalFailureException
979//
980//   * ResourceNotFoundException
981//
982// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DeprecateSystemTemplate
983func (c *IoTThingsGraph) DeprecateSystemTemplate(input *DeprecateSystemTemplateInput) (*DeprecateSystemTemplateOutput, error) {
984	req, out := c.DeprecateSystemTemplateRequest(input)
985	return out, req.Send()
986}
987
988// DeprecateSystemTemplateWithContext is the same as DeprecateSystemTemplate with the addition of
989// the ability to pass a context and additional request options.
990//
991// See DeprecateSystemTemplate for details on how to use this API operation.
992//
993// The context must be non-nil and will be used for request cancellation. If
994// the context is nil a panic will occur. In the future the SDK may create
995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
996// for more information on using Contexts.
997func (c *IoTThingsGraph) DeprecateSystemTemplateWithContext(ctx aws.Context, input *DeprecateSystemTemplateInput, opts ...request.Option) (*DeprecateSystemTemplateOutput, error) {
998	req, out := c.DeprecateSystemTemplateRequest(input)
999	req.SetContext(ctx)
1000	req.ApplyOptions(opts...)
1001	return out, req.Send()
1002}
1003
1004const opDescribeNamespace = "DescribeNamespace"
1005
1006// DescribeNamespaceRequest generates a "aws/request.Request" representing the
1007// client's request for the DescribeNamespace operation. The "output" return
1008// value will be populated with the request's response once the request completes
1009// successfully.
1010//
1011// Use "Send" method on the returned Request to send the API call to the service.
1012// the "output" return value is not valid until after Send returns without error.
1013//
1014// See DescribeNamespace for more information on using the DescribeNamespace
1015// API call, and error handling.
1016//
1017// This method is useful when you want to inject custom logic or configuration
1018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1019//
1020//
1021//    // Example sending a request using the DescribeNamespaceRequest method.
1022//    req, resp := client.DescribeNamespaceRequest(params)
1023//
1024//    err := req.Send()
1025//    if err == nil { // resp is now filled
1026//        fmt.Println(resp)
1027//    }
1028//
1029// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DescribeNamespace
1030func (c *IoTThingsGraph) DescribeNamespaceRequest(input *DescribeNamespaceInput) (req *request.Request, output *DescribeNamespaceOutput) {
1031	op := &request.Operation{
1032		Name:       opDescribeNamespace,
1033		HTTPMethod: "POST",
1034		HTTPPath:   "/",
1035	}
1036
1037	if input == nil {
1038		input = &DescribeNamespaceInput{}
1039	}
1040
1041	output = &DescribeNamespaceOutput{}
1042	req = c.newRequest(op, input, output)
1043	return
1044}
1045
1046// DescribeNamespace API operation for AWS IoT Things Graph.
1047//
1048// Gets the latest version of the user's namespace and the public version that
1049// it is tracking.
1050//
1051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1052// with awserr.Error's Code and Message methods to get detailed information about
1053// the error.
1054//
1055// See the AWS API reference guide for AWS IoT Things Graph's
1056// API operation DescribeNamespace for usage and error information.
1057//
1058// Returned Error Types:
1059//   * ResourceNotFoundException
1060//
1061//   * InvalidRequestException
1062//
1063//   * InternalFailureException
1064//
1065//   * ThrottlingException
1066//
1067// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DescribeNamespace
1068func (c *IoTThingsGraph) DescribeNamespace(input *DescribeNamespaceInput) (*DescribeNamespaceOutput, error) {
1069	req, out := c.DescribeNamespaceRequest(input)
1070	return out, req.Send()
1071}
1072
1073// DescribeNamespaceWithContext is the same as DescribeNamespace with the addition of
1074// the ability to pass a context and additional request options.
1075//
1076// See DescribeNamespace for details on how to use this API operation.
1077//
1078// The context must be non-nil and will be used for request cancellation. If
1079// the context is nil a panic will occur. In the future the SDK may create
1080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1081// for more information on using Contexts.
1082func (c *IoTThingsGraph) DescribeNamespaceWithContext(ctx aws.Context, input *DescribeNamespaceInput, opts ...request.Option) (*DescribeNamespaceOutput, error) {
1083	req, out := c.DescribeNamespaceRequest(input)
1084	req.SetContext(ctx)
1085	req.ApplyOptions(opts...)
1086	return out, req.Send()
1087}
1088
1089const opDissociateEntityFromThing = "DissociateEntityFromThing"
1090
1091// DissociateEntityFromThingRequest generates a "aws/request.Request" representing the
1092// client's request for the DissociateEntityFromThing operation. The "output" return
1093// value will be populated with the request's response once the request completes
1094// successfully.
1095//
1096// Use "Send" method on the returned Request to send the API call to the service.
1097// the "output" return value is not valid until after Send returns without error.
1098//
1099// See DissociateEntityFromThing for more information on using the DissociateEntityFromThing
1100// API call, and error handling.
1101//
1102// This method is useful when you want to inject custom logic or configuration
1103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1104//
1105//
1106//    // Example sending a request using the DissociateEntityFromThingRequest method.
1107//    req, resp := client.DissociateEntityFromThingRequest(params)
1108//
1109//    err := req.Send()
1110//    if err == nil { // resp is now filled
1111//        fmt.Println(resp)
1112//    }
1113//
1114// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DissociateEntityFromThing
1115func (c *IoTThingsGraph) DissociateEntityFromThingRequest(input *DissociateEntityFromThingInput) (req *request.Request, output *DissociateEntityFromThingOutput) {
1116	op := &request.Operation{
1117		Name:       opDissociateEntityFromThing,
1118		HTTPMethod: "POST",
1119		HTTPPath:   "/",
1120	}
1121
1122	if input == nil {
1123		input = &DissociateEntityFromThingInput{}
1124	}
1125
1126	output = &DissociateEntityFromThingOutput{}
1127	req = c.newRequest(op, input, output)
1128	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1129	return
1130}
1131
1132// DissociateEntityFromThing API operation for AWS IoT Things Graph.
1133//
1134// Dissociates a device entity from a concrete thing. The action takes only
1135// the type of the entity that you need to dissociate because only one entity
1136// of a particular type can be associated with a thing.
1137//
1138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1139// with awserr.Error's Code and Message methods to get detailed information about
1140// the error.
1141//
1142// See the AWS API reference guide for AWS IoT Things Graph's
1143// API operation DissociateEntityFromThing for usage and error information.
1144//
1145// Returned Error Types:
1146//   * InvalidRequestException
1147//
1148//   * ResourceNotFoundException
1149//
1150//   * InternalFailureException
1151//
1152//   * ThrottlingException
1153//
1154// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/DissociateEntityFromThing
1155func (c *IoTThingsGraph) DissociateEntityFromThing(input *DissociateEntityFromThingInput) (*DissociateEntityFromThingOutput, error) {
1156	req, out := c.DissociateEntityFromThingRequest(input)
1157	return out, req.Send()
1158}
1159
1160// DissociateEntityFromThingWithContext is the same as DissociateEntityFromThing with the addition of
1161// the ability to pass a context and additional request options.
1162//
1163// See DissociateEntityFromThing for details on how to use this API operation.
1164//
1165// The context must be non-nil and will be used for request cancellation. If
1166// the context is nil a panic will occur. In the future the SDK may create
1167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1168// for more information on using Contexts.
1169func (c *IoTThingsGraph) DissociateEntityFromThingWithContext(ctx aws.Context, input *DissociateEntityFromThingInput, opts ...request.Option) (*DissociateEntityFromThingOutput, error) {
1170	req, out := c.DissociateEntityFromThingRequest(input)
1171	req.SetContext(ctx)
1172	req.ApplyOptions(opts...)
1173	return out, req.Send()
1174}
1175
1176const opGetEntities = "GetEntities"
1177
1178// GetEntitiesRequest generates a "aws/request.Request" representing the
1179// client's request for the GetEntities operation. The "output" return
1180// value will be populated with the request's response once the request completes
1181// successfully.
1182//
1183// Use "Send" method on the returned Request to send the API call to the service.
1184// the "output" return value is not valid until after Send returns without error.
1185//
1186// See GetEntities for more information on using the GetEntities
1187// API call, and error handling.
1188//
1189// This method is useful when you want to inject custom logic or configuration
1190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1191//
1192//
1193//    // Example sending a request using the GetEntitiesRequest method.
1194//    req, resp := client.GetEntitiesRequest(params)
1195//
1196//    err := req.Send()
1197//    if err == nil { // resp is now filled
1198//        fmt.Println(resp)
1199//    }
1200//
1201// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetEntities
1202func (c *IoTThingsGraph) GetEntitiesRequest(input *GetEntitiesInput) (req *request.Request, output *GetEntitiesOutput) {
1203	op := &request.Operation{
1204		Name:       opGetEntities,
1205		HTTPMethod: "POST",
1206		HTTPPath:   "/",
1207	}
1208
1209	if input == nil {
1210		input = &GetEntitiesInput{}
1211	}
1212
1213	output = &GetEntitiesOutput{}
1214	req = c.newRequest(op, input, output)
1215	return
1216}
1217
1218// GetEntities API operation for AWS IoT Things Graph.
1219//
1220// Gets definitions of the specified entities. Uses the latest version of the
1221// user's namespace by default. This API returns the following TDM entities.
1222//
1223//    * Properties
1224//
1225//    * States
1226//
1227//    * Events
1228//
1229//    * Actions
1230//
1231//    * Capabilities
1232//
1233//    * Mappings
1234//
1235//    * Devices
1236//
1237//    * Device Models
1238//
1239//    * Services
1240//
1241// This action doesn't return definitions for systems, flows, and deployments.
1242//
1243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1244// with awserr.Error's Code and Message methods to get detailed information about
1245// the error.
1246//
1247// See the AWS API reference guide for AWS IoT Things Graph's
1248// API operation GetEntities for usage and error information.
1249//
1250// Returned Error Types:
1251//   * InvalidRequestException
1252//
1253//   * ResourceNotFoundException
1254//
1255//   * ThrottlingException
1256//
1257//   * InternalFailureException
1258//
1259// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetEntities
1260func (c *IoTThingsGraph) GetEntities(input *GetEntitiesInput) (*GetEntitiesOutput, error) {
1261	req, out := c.GetEntitiesRequest(input)
1262	return out, req.Send()
1263}
1264
1265// GetEntitiesWithContext is the same as GetEntities with the addition of
1266// the ability to pass a context and additional request options.
1267//
1268// See GetEntities for details on how to use this API operation.
1269//
1270// The context must be non-nil and will be used for request cancellation. If
1271// the context is nil a panic will occur. In the future the SDK may create
1272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1273// for more information on using Contexts.
1274func (c *IoTThingsGraph) GetEntitiesWithContext(ctx aws.Context, input *GetEntitiesInput, opts ...request.Option) (*GetEntitiesOutput, error) {
1275	req, out := c.GetEntitiesRequest(input)
1276	req.SetContext(ctx)
1277	req.ApplyOptions(opts...)
1278	return out, req.Send()
1279}
1280
1281const opGetFlowTemplate = "GetFlowTemplate"
1282
1283// GetFlowTemplateRequest generates a "aws/request.Request" representing the
1284// client's request for the GetFlowTemplate operation. The "output" return
1285// value will be populated with the request's response once the request completes
1286// successfully.
1287//
1288// Use "Send" method on the returned Request to send the API call to the service.
1289// the "output" return value is not valid until after Send returns without error.
1290//
1291// See GetFlowTemplate for more information on using the GetFlowTemplate
1292// API call, and error handling.
1293//
1294// This method is useful when you want to inject custom logic or configuration
1295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1296//
1297//
1298//    // Example sending a request using the GetFlowTemplateRequest method.
1299//    req, resp := client.GetFlowTemplateRequest(params)
1300//
1301//    err := req.Send()
1302//    if err == nil { // resp is now filled
1303//        fmt.Println(resp)
1304//    }
1305//
1306// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetFlowTemplate
1307func (c *IoTThingsGraph) GetFlowTemplateRequest(input *GetFlowTemplateInput) (req *request.Request, output *GetFlowTemplateOutput) {
1308	op := &request.Operation{
1309		Name:       opGetFlowTemplate,
1310		HTTPMethod: "POST",
1311		HTTPPath:   "/",
1312	}
1313
1314	if input == nil {
1315		input = &GetFlowTemplateInput{}
1316	}
1317
1318	output = &GetFlowTemplateOutput{}
1319	req = c.newRequest(op, input, output)
1320	return
1321}
1322
1323// GetFlowTemplate API operation for AWS IoT Things Graph.
1324//
1325// Gets the latest version of the DefinitionDocument and FlowTemplateSummary
1326// for the specified workflow.
1327//
1328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1329// with awserr.Error's Code and Message methods to get detailed information about
1330// the error.
1331//
1332// See the AWS API reference guide for AWS IoT Things Graph's
1333// API operation GetFlowTemplate for usage and error information.
1334//
1335// Returned Error Types:
1336//   * InvalidRequestException
1337//
1338//   * ThrottlingException
1339//
1340//   * InternalFailureException
1341//
1342//   * ResourceNotFoundException
1343//
1344// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetFlowTemplate
1345func (c *IoTThingsGraph) GetFlowTemplate(input *GetFlowTemplateInput) (*GetFlowTemplateOutput, error) {
1346	req, out := c.GetFlowTemplateRequest(input)
1347	return out, req.Send()
1348}
1349
1350// GetFlowTemplateWithContext is the same as GetFlowTemplate with the addition of
1351// the ability to pass a context and additional request options.
1352//
1353// See GetFlowTemplate for details on how to use this API operation.
1354//
1355// The context must be non-nil and will be used for request cancellation. If
1356// the context is nil a panic will occur. In the future the SDK may create
1357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1358// for more information on using Contexts.
1359func (c *IoTThingsGraph) GetFlowTemplateWithContext(ctx aws.Context, input *GetFlowTemplateInput, opts ...request.Option) (*GetFlowTemplateOutput, error) {
1360	req, out := c.GetFlowTemplateRequest(input)
1361	req.SetContext(ctx)
1362	req.ApplyOptions(opts...)
1363	return out, req.Send()
1364}
1365
1366const opGetFlowTemplateRevisions = "GetFlowTemplateRevisions"
1367
1368// GetFlowTemplateRevisionsRequest generates a "aws/request.Request" representing the
1369// client's request for the GetFlowTemplateRevisions operation. The "output" return
1370// value will be populated with the request's response once the request completes
1371// successfully.
1372//
1373// Use "Send" method on the returned Request to send the API call to the service.
1374// the "output" return value is not valid until after Send returns without error.
1375//
1376// See GetFlowTemplateRevisions for more information on using the GetFlowTemplateRevisions
1377// API call, and error handling.
1378//
1379// This method is useful when you want to inject custom logic or configuration
1380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1381//
1382//
1383//    // Example sending a request using the GetFlowTemplateRevisionsRequest method.
1384//    req, resp := client.GetFlowTemplateRevisionsRequest(params)
1385//
1386//    err := req.Send()
1387//    if err == nil { // resp is now filled
1388//        fmt.Println(resp)
1389//    }
1390//
1391// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetFlowTemplateRevisions
1392func (c *IoTThingsGraph) GetFlowTemplateRevisionsRequest(input *GetFlowTemplateRevisionsInput) (req *request.Request, output *GetFlowTemplateRevisionsOutput) {
1393	op := &request.Operation{
1394		Name:       opGetFlowTemplateRevisions,
1395		HTTPMethod: "POST",
1396		HTTPPath:   "/",
1397		Paginator: &request.Paginator{
1398			InputTokens:     []string{"nextToken"},
1399			OutputTokens:    []string{"nextToken"},
1400			LimitToken:      "maxResults",
1401			TruncationToken: "",
1402		},
1403	}
1404
1405	if input == nil {
1406		input = &GetFlowTemplateRevisionsInput{}
1407	}
1408
1409	output = &GetFlowTemplateRevisionsOutput{}
1410	req = c.newRequest(op, input, output)
1411	return
1412}
1413
1414// GetFlowTemplateRevisions API operation for AWS IoT Things Graph.
1415//
1416// Gets revisions of the specified workflow. Only the last 100 revisions are
1417// stored. If the workflow has been deprecated, this action will return revisions
1418// that occurred before the deprecation. This action won't work for workflows
1419// that have been deleted.
1420//
1421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1422// with awserr.Error's Code and Message methods to get detailed information about
1423// the error.
1424//
1425// See the AWS API reference guide for AWS IoT Things Graph's
1426// API operation GetFlowTemplateRevisions for usage and error information.
1427//
1428// Returned Error Types:
1429//   * InvalidRequestException
1430//
1431//   * ThrottlingException
1432//
1433//   * InternalFailureException
1434//
1435//   * ResourceNotFoundException
1436//
1437// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetFlowTemplateRevisions
1438func (c *IoTThingsGraph) GetFlowTemplateRevisions(input *GetFlowTemplateRevisionsInput) (*GetFlowTemplateRevisionsOutput, error) {
1439	req, out := c.GetFlowTemplateRevisionsRequest(input)
1440	return out, req.Send()
1441}
1442
1443// GetFlowTemplateRevisionsWithContext is the same as GetFlowTemplateRevisions with the addition of
1444// the ability to pass a context and additional request options.
1445//
1446// See GetFlowTemplateRevisions for details on how to use this API operation.
1447//
1448// The context must be non-nil and will be used for request cancellation. If
1449// the context is nil a panic will occur. In the future the SDK may create
1450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1451// for more information on using Contexts.
1452func (c *IoTThingsGraph) GetFlowTemplateRevisionsWithContext(ctx aws.Context, input *GetFlowTemplateRevisionsInput, opts ...request.Option) (*GetFlowTemplateRevisionsOutput, error) {
1453	req, out := c.GetFlowTemplateRevisionsRequest(input)
1454	req.SetContext(ctx)
1455	req.ApplyOptions(opts...)
1456	return out, req.Send()
1457}
1458
1459// GetFlowTemplateRevisionsPages iterates over the pages of a GetFlowTemplateRevisions operation,
1460// calling the "fn" function with the response data for each page. To stop
1461// iterating, return false from the fn function.
1462//
1463// See GetFlowTemplateRevisions method for more information on how to use this operation.
1464//
1465// Note: This operation can generate multiple requests to a service.
1466//
1467//    // Example iterating over at most 3 pages of a GetFlowTemplateRevisions operation.
1468//    pageNum := 0
1469//    err := client.GetFlowTemplateRevisionsPages(params,
1470//        func(page *iotthingsgraph.GetFlowTemplateRevisionsOutput, lastPage bool) bool {
1471//            pageNum++
1472//            fmt.Println(page)
1473//            return pageNum <= 3
1474//        })
1475//
1476func (c *IoTThingsGraph) GetFlowTemplateRevisionsPages(input *GetFlowTemplateRevisionsInput, fn func(*GetFlowTemplateRevisionsOutput, bool) bool) error {
1477	return c.GetFlowTemplateRevisionsPagesWithContext(aws.BackgroundContext(), input, fn)
1478}
1479
1480// GetFlowTemplateRevisionsPagesWithContext same as GetFlowTemplateRevisionsPages except
1481// it takes a Context and allows setting request options on the pages.
1482//
1483// The context must be non-nil and will be used for request cancellation. If
1484// the context is nil a panic will occur. In the future the SDK may create
1485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1486// for more information on using Contexts.
1487func (c *IoTThingsGraph) GetFlowTemplateRevisionsPagesWithContext(ctx aws.Context, input *GetFlowTemplateRevisionsInput, fn func(*GetFlowTemplateRevisionsOutput, bool) bool, opts ...request.Option) error {
1488	p := request.Pagination{
1489		NewRequest: func() (*request.Request, error) {
1490			var inCpy *GetFlowTemplateRevisionsInput
1491			if input != nil {
1492				tmp := *input
1493				inCpy = &tmp
1494			}
1495			req, _ := c.GetFlowTemplateRevisionsRequest(inCpy)
1496			req.SetContext(ctx)
1497			req.ApplyOptions(opts...)
1498			return req, nil
1499		},
1500	}
1501
1502	for p.Next() {
1503		if !fn(p.Page().(*GetFlowTemplateRevisionsOutput), !p.HasNextPage()) {
1504			break
1505		}
1506	}
1507
1508	return p.Err()
1509}
1510
1511const opGetNamespaceDeletionStatus = "GetNamespaceDeletionStatus"
1512
1513// GetNamespaceDeletionStatusRequest generates a "aws/request.Request" representing the
1514// client's request for the GetNamespaceDeletionStatus operation. The "output" return
1515// value will be populated with the request's response once the request completes
1516// successfully.
1517//
1518// Use "Send" method on the returned Request to send the API call to the service.
1519// the "output" return value is not valid until after Send returns without error.
1520//
1521// See GetNamespaceDeletionStatus for more information on using the GetNamespaceDeletionStatus
1522// API call, and error handling.
1523//
1524// This method is useful when you want to inject custom logic or configuration
1525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1526//
1527//
1528//    // Example sending a request using the GetNamespaceDeletionStatusRequest method.
1529//    req, resp := client.GetNamespaceDeletionStatusRequest(params)
1530//
1531//    err := req.Send()
1532//    if err == nil { // resp is now filled
1533//        fmt.Println(resp)
1534//    }
1535//
1536// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetNamespaceDeletionStatus
1537func (c *IoTThingsGraph) GetNamespaceDeletionStatusRequest(input *GetNamespaceDeletionStatusInput) (req *request.Request, output *GetNamespaceDeletionStatusOutput) {
1538	op := &request.Operation{
1539		Name:       opGetNamespaceDeletionStatus,
1540		HTTPMethod: "POST",
1541		HTTPPath:   "/",
1542	}
1543
1544	if input == nil {
1545		input = &GetNamespaceDeletionStatusInput{}
1546	}
1547
1548	output = &GetNamespaceDeletionStatusOutput{}
1549	req = c.newRequest(op, input, output)
1550	return
1551}
1552
1553// GetNamespaceDeletionStatus API operation for AWS IoT Things Graph.
1554//
1555// Gets the status of a namespace deletion task.
1556//
1557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1558// with awserr.Error's Code and Message methods to get detailed information about
1559// the error.
1560//
1561// See the AWS API reference guide for AWS IoT Things Graph's
1562// API operation GetNamespaceDeletionStatus for usage and error information.
1563//
1564// Returned Error Types:
1565//   * InvalidRequestException
1566//
1567//   * InternalFailureException
1568//
1569//   * ThrottlingException
1570//
1571// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetNamespaceDeletionStatus
1572func (c *IoTThingsGraph) GetNamespaceDeletionStatus(input *GetNamespaceDeletionStatusInput) (*GetNamespaceDeletionStatusOutput, error) {
1573	req, out := c.GetNamespaceDeletionStatusRequest(input)
1574	return out, req.Send()
1575}
1576
1577// GetNamespaceDeletionStatusWithContext is the same as GetNamespaceDeletionStatus with the addition of
1578// the ability to pass a context and additional request options.
1579//
1580// See GetNamespaceDeletionStatus for details on how to use this API operation.
1581//
1582// The context must be non-nil and will be used for request cancellation. If
1583// the context is nil a panic will occur. In the future the SDK may create
1584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1585// for more information on using Contexts.
1586func (c *IoTThingsGraph) GetNamespaceDeletionStatusWithContext(ctx aws.Context, input *GetNamespaceDeletionStatusInput, opts ...request.Option) (*GetNamespaceDeletionStatusOutput, error) {
1587	req, out := c.GetNamespaceDeletionStatusRequest(input)
1588	req.SetContext(ctx)
1589	req.ApplyOptions(opts...)
1590	return out, req.Send()
1591}
1592
1593const opGetSystemInstance = "GetSystemInstance"
1594
1595// GetSystemInstanceRequest generates a "aws/request.Request" representing the
1596// client's request for the GetSystemInstance operation. The "output" return
1597// value will be populated with the request's response once the request completes
1598// successfully.
1599//
1600// Use "Send" method on the returned Request to send the API call to the service.
1601// the "output" return value is not valid until after Send returns without error.
1602//
1603// See GetSystemInstance for more information on using the GetSystemInstance
1604// API call, and error handling.
1605//
1606// This method is useful when you want to inject custom logic or configuration
1607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1608//
1609//
1610//    // Example sending a request using the GetSystemInstanceRequest method.
1611//    req, resp := client.GetSystemInstanceRequest(params)
1612//
1613//    err := req.Send()
1614//    if err == nil { // resp is now filled
1615//        fmt.Println(resp)
1616//    }
1617//
1618// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetSystemInstance
1619func (c *IoTThingsGraph) GetSystemInstanceRequest(input *GetSystemInstanceInput) (req *request.Request, output *GetSystemInstanceOutput) {
1620	op := &request.Operation{
1621		Name:       opGetSystemInstance,
1622		HTTPMethod: "POST",
1623		HTTPPath:   "/",
1624	}
1625
1626	if input == nil {
1627		input = &GetSystemInstanceInput{}
1628	}
1629
1630	output = &GetSystemInstanceOutput{}
1631	req = c.newRequest(op, input, output)
1632	return
1633}
1634
1635// GetSystemInstance API operation for AWS IoT Things Graph.
1636//
1637// Gets a system instance.
1638//
1639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1640// with awserr.Error's Code and Message methods to get detailed information about
1641// the error.
1642//
1643// See the AWS API reference guide for AWS IoT Things Graph's
1644// API operation GetSystemInstance for usage and error information.
1645//
1646// Returned Error Types:
1647//   * InvalidRequestException
1648//
1649//   * ThrottlingException
1650//
1651//   * InternalFailureException
1652//
1653//   * ResourceNotFoundException
1654//
1655// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetSystemInstance
1656func (c *IoTThingsGraph) GetSystemInstance(input *GetSystemInstanceInput) (*GetSystemInstanceOutput, error) {
1657	req, out := c.GetSystemInstanceRequest(input)
1658	return out, req.Send()
1659}
1660
1661// GetSystemInstanceWithContext is the same as GetSystemInstance with the addition of
1662// the ability to pass a context and additional request options.
1663//
1664// See GetSystemInstance for details on how to use this API operation.
1665//
1666// The context must be non-nil and will be used for request cancellation. If
1667// the context is nil a panic will occur. In the future the SDK may create
1668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1669// for more information on using Contexts.
1670func (c *IoTThingsGraph) GetSystemInstanceWithContext(ctx aws.Context, input *GetSystemInstanceInput, opts ...request.Option) (*GetSystemInstanceOutput, error) {
1671	req, out := c.GetSystemInstanceRequest(input)
1672	req.SetContext(ctx)
1673	req.ApplyOptions(opts...)
1674	return out, req.Send()
1675}
1676
1677const opGetSystemTemplate = "GetSystemTemplate"
1678
1679// GetSystemTemplateRequest generates a "aws/request.Request" representing the
1680// client's request for the GetSystemTemplate operation. The "output" return
1681// value will be populated with the request's response once the request completes
1682// successfully.
1683//
1684// Use "Send" method on the returned Request to send the API call to the service.
1685// the "output" return value is not valid until after Send returns without error.
1686//
1687// See GetSystemTemplate for more information on using the GetSystemTemplate
1688// API call, and error handling.
1689//
1690// This method is useful when you want to inject custom logic or configuration
1691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1692//
1693//
1694//    // Example sending a request using the GetSystemTemplateRequest method.
1695//    req, resp := client.GetSystemTemplateRequest(params)
1696//
1697//    err := req.Send()
1698//    if err == nil { // resp is now filled
1699//        fmt.Println(resp)
1700//    }
1701//
1702// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetSystemTemplate
1703func (c *IoTThingsGraph) GetSystemTemplateRequest(input *GetSystemTemplateInput) (req *request.Request, output *GetSystemTemplateOutput) {
1704	op := &request.Operation{
1705		Name:       opGetSystemTemplate,
1706		HTTPMethod: "POST",
1707		HTTPPath:   "/",
1708	}
1709
1710	if input == nil {
1711		input = &GetSystemTemplateInput{}
1712	}
1713
1714	output = &GetSystemTemplateOutput{}
1715	req = c.newRequest(op, input, output)
1716	return
1717}
1718
1719// GetSystemTemplate API operation for AWS IoT Things Graph.
1720//
1721// Gets a system.
1722//
1723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1724// with awserr.Error's Code and Message methods to get detailed information about
1725// the error.
1726//
1727// See the AWS API reference guide for AWS IoT Things Graph's
1728// API operation GetSystemTemplate for usage and error information.
1729//
1730// Returned Error Types:
1731//   * InvalidRequestException
1732//
1733//   * ThrottlingException
1734//
1735//   * InternalFailureException
1736//
1737//   * ResourceNotFoundException
1738//
1739// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetSystemTemplate
1740func (c *IoTThingsGraph) GetSystemTemplate(input *GetSystemTemplateInput) (*GetSystemTemplateOutput, error) {
1741	req, out := c.GetSystemTemplateRequest(input)
1742	return out, req.Send()
1743}
1744
1745// GetSystemTemplateWithContext is the same as GetSystemTemplate with the addition of
1746// the ability to pass a context and additional request options.
1747//
1748// See GetSystemTemplate for details on how to use this API operation.
1749//
1750// The context must be non-nil and will be used for request cancellation. If
1751// the context is nil a panic will occur. In the future the SDK may create
1752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1753// for more information on using Contexts.
1754func (c *IoTThingsGraph) GetSystemTemplateWithContext(ctx aws.Context, input *GetSystemTemplateInput, opts ...request.Option) (*GetSystemTemplateOutput, error) {
1755	req, out := c.GetSystemTemplateRequest(input)
1756	req.SetContext(ctx)
1757	req.ApplyOptions(opts...)
1758	return out, req.Send()
1759}
1760
1761const opGetSystemTemplateRevisions = "GetSystemTemplateRevisions"
1762
1763// GetSystemTemplateRevisionsRequest generates a "aws/request.Request" representing the
1764// client's request for the GetSystemTemplateRevisions operation. The "output" return
1765// value will be populated with the request's response once the request completes
1766// successfully.
1767//
1768// Use "Send" method on the returned Request to send the API call to the service.
1769// the "output" return value is not valid until after Send returns without error.
1770//
1771// See GetSystemTemplateRevisions for more information on using the GetSystemTemplateRevisions
1772// API call, and error handling.
1773//
1774// This method is useful when you want to inject custom logic or configuration
1775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1776//
1777//
1778//    // Example sending a request using the GetSystemTemplateRevisionsRequest method.
1779//    req, resp := client.GetSystemTemplateRevisionsRequest(params)
1780//
1781//    err := req.Send()
1782//    if err == nil { // resp is now filled
1783//        fmt.Println(resp)
1784//    }
1785//
1786// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetSystemTemplateRevisions
1787func (c *IoTThingsGraph) GetSystemTemplateRevisionsRequest(input *GetSystemTemplateRevisionsInput) (req *request.Request, output *GetSystemTemplateRevisionsOutput) {
1788	op := &request.Operation{
1789		Name:       opGetSystemTemplateRevisions,
1790		HTTPMethod: "POST",
1791		HTTPPath:   "/",
1792		Paginator: &request.Paginator{
1793			InputTokens:     []string{"nextToken"},
1794			OutputTokens:    []string{"nextToken"},
1795			LimitToken:      "maxResults",
1796			TruncationToken: "",
1797		},
1798	}
1799
1800	if input == nil {
1801		input = &GetSystemTemplateRevisionsInput{}
1802	}
1803
1804	output = &GetSystemTemplateRevisionsOutput{}
1805	req = c.newRequest(op, input, output)
1806	return
1807}
1808
1809// GetSystemTemplateRevisions API operation for AWS IoT Things Graph.
1810//
1811// Gets revisions made to the specified system template. Only the previous 100
1812// revisions are stored. If the system has been deprecated, this action will
1813// return the revisions that occurred before its deprecation. This action won't
1814// work with systems that have been deleted.
1815//
1816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1817// with awserr.Error's Code and Message methods to get detailed information about
1818// the error.
1819//
1820// See the AWS API reference guide for AWS IoT Things Graph's
1821// API operation GetSystemTemplateRevisions for usage and error information.
1822//
1823// Returned Error Types:
1824//   * InvalidRequestException
1825//
1826//   * ThrottlingException
1827//
1828//   * InternalFailureException
1829//
1830//   * ResourceNotFoundException
1831//
1832// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetSystemTemplateRevisions
1833func (c *IoTThingsGraph) GetSystemTemplateRevisions(input *GetSystemTemplateRevisionsInput) (*GetSystemTemplateRevisionsOutput, error) {
1834	req, out := c.GetSystemTemplateRevisionsRequest(input)
1835	return out, req.Send()
1836}
1837
1838// GetSystemTemplateRevisionsWithContext is the same as GetSystemTemplateRevisions with the addition of
1839// the ability to pass a context and additional request options.
1840//
1841// See GetSystemTemplateRevisions for details on how to use this API operation.
1842//
1843// The context must be non-nil and will be used for request cancellation. If
1844// the context is nil a panic will occur. In the future the SDK may create
1845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1846// for more information on using Contexts.
1847func (c *IoTThingsGraph) GetSystemTemplateRevisionsWithContext(ctx aws.Context, input *GetSystemTemplateRevisionsInput, opts ...request.Option) (*GetSystemTemplateRevisionsOutput, error) {
1848	req, out := c.GetSystemTemplateRevisionsRequest(input)
1849	req.SetContext(ctx)
1850	req.ApplyOptions(opts...)
1851	return out, req.Send()
1852}
1853
1854// GetSystemTemplateRevisionsPages iterates over the pages of a GetSystemTemplateRevisions operation,
1855// calling the "fn" function with the response data for each page. To stop
1856// iterating, return false from the fn function.
1857//
1858// See GetSystemTemplateRevisions method for more information on how to use this operation.
1859//
1860// Note: This operation can generate multiple requests to a service.
1861//
1862//    // Example iterating over at most 3 pages of a GetSystemTemplateRevisions operation.
1863//    pageNum := 0
1864//    err := client.GetSystemTemplateRevisionsPages(params,
1865//        func(page *iotthingsgraph.GetSystemTemplateRevisionsOutput, lastPage bool) bool {
1866//            pageNum++
1867//            fmt.Println(page)
1868//            return pageNum <= 3
1869//        })
1870//
1871func (c *IoTThingsGraph) GetSystemTemplateRevisionsPages(input *GetSystemTemplateRevisionsInput, fn func(*GetSystemTemplateRevisionsOutput, bool) bool) error {
1872	return c.GetSystemTemplateRevisionsPagesWithContext(aws.BackgroundContext(), input, fn)
1873}
1874
1875// GetSystemTemplateRevisionsPagesWithContext same as GetSystemTemplateRevisionsPages except
1876// it takes a Context and allows setting request options on the pages.
1877//
1878// The context must be non-nil and will be used for request cancellation. If
1879// the context is nil a panic will occur. In the future the SDK may create
1880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1881// for more information on using Contexts.
1882func (c *IoTThingsGraph) GetSystemTemplateRevisionsPagesWithContext(ctx aws.Context, input *GetSystemTemplateRevisionsInput, fn func(*GetSystemTemplateRevisionsOutput, bool) bool, opts ...request.Option) error {
1883	p := request.Pagination{
1884		NewRequest: func() (*request.Request, error) {
1885			var inCpy *GetSystemTemplateRevisionsInput
1886			if input != nil {
1887				tmp := *input
1888				inCpy = &tmp
1889			}
1890			req, _ := c.GetSystemTemplateRevisionsRequest(inCpy)
1891			req.SetContext(ctx)
1892			req.ApplyOptions(opts...)
1893			return req, nil
1894		},
1895	}
1896
1897	for p.Next() {
1898		if !fn(p.Page().(*GetSystemTemplateRevisionsOutput), !p.HasNextPage()) {
1899			break
1900		}
1901	}
1902
1903	return p.Err()
1904}
1905
1906const opGetUploadStatus = "GetUploadStatus"
1907
1908// GetUploadStatusRequest generates a "aws/request.Request" representing the
1909// client's request for the GetUploadStatus operation. The "output" return
1910// value will be populated with the request's response once the request completes
1911// successfully.
1912//
1913// Use "Send" method on the returned Request to send the API call to the service.
1914// the "output" return value is not valid until after Send returns without error.
1915//
1916// See GetUploadStatus for more information on using the GetUploadStatus
1917// API call, and error handling.
1918//
1919// This method is useful when you want to inject custom logic or configuration
1920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1921//
1922//
1923//    // Example sending a request using the GetUploadStatusRequest method.
1924//    req, resp := client.GetUploadStatusRequest(params)
1925//
1926//    err := req.Send()
1927//    if err == nil { // resp is now filled
1928//        fmt.Println(resp)
1929//    }
1930//
1931// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetUploadStatus
1932func (c *IoTThingsGraph) GetUploadStatusRequest(input *GetUploadStatusInput) (req *request.Request, output *GetUploadStatusOutput) {
1933	op := &request.Operation{
1934		Name:       opGetUploadStatus,
1935		HTTPMethod: "POST",
1936		HTTPPath:   "/",
1937	}
1938
1939	if input == nil {
1940		input = &GetUploadStatusInput{}
1941	}
1942
1943	output = &GetUploadStatusOutput{}
1944	req = c.newRequest(op, input, output)
1945	return
1946}
1947
1948// GetUploadStatus API operation for AWS IoT Things Graph.
1949//
1950// Gets the status of the specified upload.
1951//
1952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1953// with awserr.Error's Code and Message methods to get detailed information about
1954// the error.
1955//
1956// See the AWS API reference guide for AWS IoT Things Graph's
1957// API operation GetUploadStatus for usage and error information.
1958//
1959// Returned Error Types:
1960//   * InvalidRequestException
1961//
1962//   * ResourceNotFoundException
1963//
1964//   * InternalFailureException
1965//
1966//   * ThrottlingException
1967//
1968// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/GetUploadStatus
1969func (c *IoTThingsGraph) GetUploadStatus(input *GetUploadStatusInput) (*GetUploadStatusOutput, error) {
1970	req, out := c.GetUploadStatusRequest(input)
1971	return out, req.Send()
1972}
1973
1974// GetUploadStatusWithContext is the same as GetUploadStatus with the addition of
1975// the ability to pass a context and additional request options.
1976//
1977// See GetUploadStatus for details on how to use this API operation.
1978//
1979// The context must be non-nil and will be used for request cancellation. If
1980// the context is nil a panic will occur. In the future the SDK may create
1981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1982// for more information on using Contexts.
1983func (c *IoTThingsGraph) GetUploadStatusWithContext(ctx aws.Context, input *GetUploadStatusInput, opts ...request.Option) (*GetUploadStatusOutput, error) {
1984	req, out := c.GetUploadStatusRequest(input)
1985	req.SetContext(ctx)
1986	req.ApplyOptions(opts...)
1987	return out, req.Send()
1988}
1989
1990const opListFlowExecutionMessages = "ListFlowExecutionMessages"
1991
1992// ListFlowExecutionMessagesRequest generates a "aws/request.Request" representing the
1993// client's request for the ListFlowExecutionMessages operation. The "output" return
1994// value will be populated with the request's response once the request completes
1995// successfully.
1996//
1997// Use "Send" method on the returned Request to send the API call to the service.
1998// the "output" return value is not valid until after Send returns without error.
1999//
2000// See ListFlowExecutionMessages for more information on using the ListFlowExecutionMessages
2001// API call, and error handling.
2002//
2003// This method is useful when you want to inject custom logic or configuration
2004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2005//
2006//
2007//    // Example sending a request using the ListFlowExecutionMessagesRequest method.
2008//    req, resp := client.ListFlowExecutionMessagesRequest(params)
2009//
2010//    err := req.Send()
2011//    if err == nil { // resp is now filled
2012//        fmt.Println(resp)
2013//    }
2014//
2015// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/ListFlowExecutionMessages
2016func (c *IoTThingsGraph) ListFlowExecutionMessagesRequest(input *ListFlowExecutionMessagesInput) (req *request.Request, output *ListFlowExecutionMessagesOutput) {
2017	op := &request.Operation{
2018		Name:       opListFlowExecutionMessages,
2019		HTTPMethod: "POST",
2020		HTTPPath:   "/",
2021		Paginator: &request.Paginator{
2022			InputTokens:     []string{"nextToken"},
2023			OutputTokens:    []string{"nextToken"},
2024			LimitToken:      "maxResults",
2025			TruncationToken: "",
2026		},
2027	}
2028
2029	if input == nil {
2030		input = &ListFlowExecutionMessagesInput{}
2031	}
2032
2033	output = &ListFlowExecutionMessagesOutput{}
2034	req = c.newRequest(op, input, output)
2035	return
2036}
2037
2038// ListFlowExecutionMessages API operation for AWS IoT Things Graph.
2039//
2040// Returns a list of objects that contain information about events in a flow
2041// execution.
2042//
2043// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2044// with awserr.Error's Code and Message methods to get detailed information about
2045// the error.
2046//
2047// See the AWS API reference guide for AWS IoT Things Graph's
2048// API operation ListFlowExecutionMessages for usage and error information.
2049//
2050// Returned Error Types:
2051//   * InvalidRequestException
2052//
2053//   * ThrottlingException
2054//
2055//   * InternalFailureException
2056//
2057//   * ResourceNotFoundException
2058//
2059// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/ListFlowExecutionMessages
2060func (c *IoTThingsGraph) ListFlowExecutionMessages(input *ListFlowExecutionMessagesInput) (*ListFlowExecutionMessagesOutput, error) {
2061	req, out := c.ListFlowExecutionMessagesRequest(input)
2062	return out, req.Send()
2063}
2064
2065// ListFlowExecutionMessagesWithContext is the same as ListFlowExecutionMessages with the addition of
2066// the ability to pass a context and additional request options.
2067//
2068// See ListFlowExecutionMessages for details on how to use this API operation.
2069//
2070// The context must be non-nil and will be used for request cancellation. If
2071// the context is nil a panic will occur. In the future the SDK may create
2072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2073// for more information on using Contexts.
2074func (c *IoTThingsGraph) ListFlowExecutionMessagesWithContext(ctx aws.Context, input *ListFlowExecutionMessagesInput, opts ...request.Option) (*ListFlowExecutionMessagesOutput, error) {
2075	req, out := c.ListFlowExecutionMessagesRequest(input)
2076	req.SetContext(ctx)
2077	req.ApplyOptions(opts...)
2078	return out, req.Send()
2079}
2080
2081// ListFlowExecutionMessagesPages iterates over the pages of a ListFlowExecutionMessages operation,
2082// calling the "fn" function with the response data for each page. To stop
2083// iterating, return false from the fn function.
2084//
2085// See ListFlowExecutionMessages method for more information on how to use this operation.
2086//
2087// Note: This operation can generate multiple requests to a service.
2088//
2089//    // Example iterating over at most 3 pages of a ListFlowExecutionMessages operation.
2090//    pageNum := 0
2091//    err := client.ListFlowExecutionMessagesPages(params,
2092//        func(page *iotthingsgraph.ListFlowExecutionMessagesOutput, lastPage bool) bool {
2093//            pageNum++
2094//            fmt.Println(page)
2095//            return pageNum <= 3
2096//        })
2097//
2098func (c *IoTThingsGraph) ListFlowExecutionMessagesPages(input *ListFlowExecutionMessagesInput, fn func(*ListFlowExecutionMessagesOutput, bool) bool) error {
2099	return c.ListFlowExecutionMessagesPagesWithContext(aws.BackgroundContext(), input, fn)
2100}
2101
2102// ListFlowExecutionMessagesPagesWithContext same as ListFlowExecutionMessagesPages except
2103// it takes a Context and allows setting request options on the pages.
2104//
2105// The context must be non-nil and will be used for request cancellation. If
2106// the context is nil a panic will occur. In the future the SDK may create
2107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2108// for more information on using Contexts.
2109func (c *IoTThingsGraph) ListFlowExecutionMessagesPagesWithContext(ctx aws.Context, input *ListFlowExecutionMessagesInput, fn func(*ListFlowExecutionMessagesOutput, bool) bool, opts ...request.Option) error {
2110	p := request.Pagination{
2111		NewRequest: func() (*request.Request, error) {
2112			var inCpy *ListFlowExecutionMessagesInput
2113			if input != nil {
2114				tmp := *input
2115				inCpy = &tmp
2116			}
2117			req, _ := c.ListFlowExecutionMessagesRequest(inCpy)
2118			req.SetContext(ctx)
2119			req.ApplyOptions(opts...)
2120			return req, nil
2121		},
2122	}
2123
2124	for p.Next() {
2125		if !fn(p.Page().(*ListFlowExecutionMessagesOutput), !p.HasNextPage()) {
2126			break
2127		}
2128	}
2129
2130	return p.Err()
2131}
2132
2133const opListTagsForResource = "ListTagsForResource"
2134
2135// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2136// client's request for the ListTagsForResource operation. The "output" return
2137// value will be populated with the request's response once the request completes
2138// successfully.
2139//
2140// Use "Send" method on the returned Request to send the API call to the service.
2141// the "output" return value is not valid until after Send returns without error.
2142//
2143// See ListTagsForResource for more information on using the ListTagsForResource
2144// API call, and error handling.
2145//
2146// This method is useful when you want to inject custom logic or configuration
2147// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2148//
2149//
2150//    // Example sending a request using the ListTagsForResourceRequest method.
2151//    req, resp := client.ListTagsForResourceRequest(params)
2152//
2153//    err := req.Send()
2154//    if err == nil { // resp is now filled
2155//        fmt.Println(resp)
2156//    }
2157//
2158// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/ListTagsForResource
2159func (c *IoTThingsGraph) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2160	op := &request.Operation{
2161		Name:       opListTagsForResource,
2162		HTTPMethod: "POST",
2163		HTTPPath:   "/",
2164		Paginator: &request.Paginator{
2165			InputTokens:     []string{"nextToken"},
2166			OutputTokens:    []string{"nextToken"},
2167			LimitToken:      "maxResults",
2168			TruncationToken: "",
2169		},
2170	}
2171
2172	if input == nil {
2173		input = &ListTagsForResourceInput{}
2174	}
2175
2176	output = &ListTagsForResourceOutput{}
2177	req = c.newRequest(op, input, output)
2178	return
2179}
2180
2181// ListTagsForResource API operation for AWS IoT Things Graph.
2182//
2183// Lists all tags on an AWS IoT Things Graph resource.
2184//
2185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2186// with awserr.Error's Code and Message methods to get detailed information about
2187// the error.
2188//
2189// See the AWS API reference guide for AWS IoT Things Graph's
2190// API operation ListTagsForResource for usage and error information.
2191//
2192// Returned Error Types:
2193//   * InvalidRequestException
2194//
2195//   * ResourceAlreadyExistsException
2196//
2197//   * ThrottlingException
2198//
2199//   * InternalFailureException
2200//
2201// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/ListTagsForResource
2202func (c *IoTThingsGraph) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2203	req, out := c.ListTagsForResourceRequest(input)
2204	return out, req.Send()
2205}
2206
2207// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2208// the ability to pass a context and additional request options.
2209//
2210// See ListTagsForResource for details on how to use this API operation.
2211//
2212// The context must be non-nil and will be used for request cancellation. If
2213// the context is nil a panic will occur. In the future the SDK may create
2214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2215// for more information on using Contexts.
2216func (c *IoTThingsGraph) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2217	req, out := c.ListTagsForResourceRequest(input)
2218	req.SetContext(ctx)
2219	req.ApplyOptions(opts...)
2220	return out, req.Send()
2221}
2222
2223// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
2224// calling the "fn" function with the response data for each page. To stop
2225// iterating, return false from the fn function.
2226//
2227// See ListTagsForResource method for more information on how to use this operation.
2228//
2229// Note: This operation can generate multiple requests to a service.
2230//
2231//    // Example iterating over at most 3 pages of a ListTagsForResource operation.
2232//    pageNum := 0
2233//    err := client.ListTagsForResourcePages(params,
2234//        func(page *iotthingsgraph.ListTagsForResourceOutput, lastPage bool) bool {
2235//            pageNum++
2236//            fmt.Println(page)
2237//            return pageNum <= 3
2238//        })
2239//
2240func (c *IoTThingsGraph) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
2241	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
2242}
2243
2244// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
2245// it takes a Context and allows setting request options on the pages.
2246//
2247// The context must be non-nil and will be used for request cancellation. If
2248// the context is nil a panic will occur. In the future the SDK may create
2249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2250// for more information on using Contexts.
2251func (c *IoTThingsGraph) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
2252	p := request.Pagination{
2253		NewRequest: func() (*request.Request, error) {
2254			var inCpy *ListTagsForResourceInput
2255			if input != nil {
2256				tmp := *input
2257				inCpy = &tmp
2258			}
2259			req, _ := c.ListTagsForResourceRequest(inCpy)
2260			req.SetContext(ctx)
2261			req.ApplyOptions(opts...)
2262			return req, nil
2263		},
2264	}
2265
2266	for p.Next() {
2267		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
2268			break
2269		}
2270	}
2271
2272	return p.Err()
2273}
2274
2275const opSearchEntities = "SearchEntities"
2276
2277// SearchEntitiesRequest generates a "aws/request.Request" representing the
2278// client's request for the SearchEntities operation. The "output" return
2279// value will be populated with the request's response once the request completes
2280// successfully.
2281//
2282// Use "Send" method on the returned Request to send the API call to the service.
2283// the "output" return value is not valid until after Send returns without error.
2284//
2285// See SearchEntities for more information on using the SearchEntities
2286// API call, and error handling.
2287//
2288// This method is useful when you want to inject custom logic or configuration
2289// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2290//
2291//
2292//    // Example sending a request using the SearchEntitiesRequest method.
2293//    req, resp := client.SearchEntitiesRequest(params)
2294//
2295//    err := req.Send()
2296//    if err == nil { // resp is now filled
2297//        fmt.Println(resp)
2298//    }
2299//
2300// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchEntities
2301func (c *IoTThingsGraph) SearchEntitiesRequest(input *SearchEntitiesInput) (req *request.Request, output *SearchEntitiesOutput) {
2302	op := &request.Operation{
2303		Name:       opSearchEntities,
2304		HTTPMethod: "POST",
2305		HTTPPath:   "/",
2306		Paginator: &request.Paginator{
2307			InputTokens:     []string{"nextToken"},
2308			OutputTokens:    []string{"nextToken"},
2309			LimitToken:      "maxResults",
2310			TruncationToken: "",
2311		},
2312	}
2313
2314	if input == nil {
2315		input = &SearchEntitiesInput{}
2316	}
2317
2318	output = &SearchEntitiesOutput{}
2319	req = c.newRequest(op, input, output)
2320	return
2321}
2322
2323// SearchEntities API operation for AWS IoT Things Graph.
2324//
2325// Searches for entities of the specified type. You can search for entities
2326// in your namespace and the public namespace that you're tracking.
2327//
2328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2329// with awserr.Error's Code and Message methods to get detailed information about
2330// the error.
2331//
2332// See the AWS API reference guide for AWS IoT Things Graph's
2333// API operation SearchEntities for usage and error information.
2334//
2335// Returned Error Types:
2336//   * InvalidRequestException
2337//
2338//   * InternalFailureException
2339//
2340//   * ThrottlingException
2341//
2342// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchEntities
2343func (c *IoTThingsGraph) SearchEntities(input *SearchEntitiesInput) (*SearchEntitiesOutput, error) {
2344	req, out := c.SearchEntitiesRequest(input)
2345	return out, req.Send()
2346}
2347
2348// SearchEntitiesWithContext is the same as SearchEntities with the addition of
2349// the ability to pass a context and additional request options.
2350//
2351// See SearchEntities for details on how to use this API operation.
2352//
2353// The context must be non-nil and will be used for request cancellation. If
2354// the context is nil a panic will occur. In the future the SDK may create
2355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2356// for more information on using Contexts.
2357func (c *IoTThingsGraph) SearchEntitiesWithContext(ctx aws.Context, input *SearchEntitiesInput, opts ...request.Option) (*SearchEntitiesOutput, error) {
2358	req, out := c.SearchEntitiesRequest(input)
2359	req.SetContext(ctx)
2360	req.ApplyOptions(opts...)
2361	return out, req.Send()
2362}
2363
2364// SearchEntitiesPages iterates over the pages of a SearchEntities operation,
2365// calling the "fn" function with the response data for each page. To stop
2366// iterating, return false from the fn function.
2367//
2368// See SearchEntities method for more information on how to use this operation.
2369//
2370// Note: This operation can generate multiple requests to a service.
2371//
2372//    // Example iterating over at most 3 pages of a SearchEntities operation.
2373//    pageNum := 0
2374//    err := client.SearchEntitiesPages(params,
2375//        func(page *iotthingsgraph.SearchEntitiesOutput, lastPage bool) bool {
2376//            pageNum++
2377//            fmt.Println(page)
2378//            return pageNum <= 3
2379//        })
2380//
2381func (c *IoTThingsGraph) SearchEntitiesPages(input *SearchEntitiesInput, fn func(*SearchEntitiesOutput, bool) bool) error {
2382	return c.SearchEntitiesPagesWithContext(aws.BackgroundContext(), input, fn)
2383}
2384
2385// SearchEntitiesPagesWithContext same as SearchEntitiesPages except
2386// it takes a Context and allows setting request options on the pages.
2387//
2388// The context must be non-nil and will be used for request cancellation. If
2389// the context is nil a panic will occur. In the future the SDK may create
2390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2391// for more information on using Contexts.
2392func (c *IoTThingsGraph) SearchEntitiesPagesWithContext(ctx aws.Context, input *SearchEntitiesInput, fn func(*SearchEntitiesOutput, bool) bool, opts ...request.Option) error {
2393	p := request.Pagination{
2394		NewRequest: func() (*request.Request, error) {
2395			var inCpy *SearchEntitiesInput
2396			if input != nil {
2397				tmp := *input
2398				inCpy = &tmp
2399			}
2400			req, _ := c.SearchEntitiesRequest(inCpy)
2401			req.SetContext(ctx)
2402			req.ApplyOptions(opts...)
2403			return req, nil
2404		},
2405	}
2406
2407	for p.Next() {
2408		if !fn(p.Page().(*SearchEntitiesOutput), !p.HasNextPage()) {
2409			break
2410		}
2411	}
2412
2413	return p.Err()
2414}
2415
2416const opSearchFlowExecutions = "SearchFlowExecutions"
2417
2418// SearchFlowExecutionsRequest generates a "aws/request.Request" representing the
2419// client's request for the SearchFlowExecutions operation. The "output" return
2420// value will be populated with the request's response once the request completes
2421// successfully.
2422//
2423// Use "Send" method on the returned Request to send the API call to the service.
2424// the "output" return value is not valid until after Send returns without error.
2425//
2426// See SearchFlowExecutions for more information on using the SearchFlowExecutions
2427// API call, and error handling.
2428//
2429// This method is useful when you want to inject custom logic or configuration
2430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2431//
2432//
2433//    // Example sending a request using the SearchFlowExecutionsRequest method.
2434//    req, resp := client.SearchFlowExecutionsRequest(params)
2435//
2436//    err := req.Send()
2437//    if err == nil { // resp is now filled
2438//        fmt.Println(resp)
2439//    }
2440//
2441// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchFlowExecutions
2442func (c *IoTThingsGraph) SearchFlowExecutionsRequest(input *SearchFlowExecutionsInput) (req *request.Request, output *SearchFlowExecutionsOutput) {
2443	op := &request.Operation{
2444		Name:       opSearchFlowExecutions,
2445		HTTPMethod: "POST",
2446		HTTPPath:   "/",
2447		Paginator: &request.Paginator{
2448			InputTokens:     []string{"nextToken"},
2449			OutputTokens:    []string{"nextToken"},
2450			LimitToken:      "maxResults",
2451			TruncationToken: "",
2452		},
2453	}
2454
2455	if input == nil {
2456		input = &SearchFlowExecutionsInput{}
2457	}
2458
2459	output = &SearchFlowExecutionsOutput{}
2460	req = c.newRequest(op, input, output)
2461	return
2462}
2463
2464// SearchFlowExecutions API operation for AWS IoT Things Graph.
2465//
2466// Searches for AWS IoT Things Graph workflow execution instances.
2467//
2468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2469// with awserr.Error's Code and Message methods to get detailed information about
2470// the error.
2471//
2472// See the AWS API reference guide for AWS IoT Things Graph's
2473// API operation SearchFlowExecutions for usage and error information.
2474//
2475// Returned Error Types:
2476//   * InvalidRequestException
2477//
2478//   * ThrottlingException
2479//
2480//   * InternalFailureException
2481//
2482//   * ResourceNotFoundException
2483//
2484// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchFlowExecutions
2485func (c *IoTThingsGraph) SearchFlowExecutions(input *SearchFlowExecutionsInput) (*SearchFlowExecutionsOutput, error) {
2486	req, out := c.SearchFlowExecutionsRequest(input)
2487	return out, req.Send()
2488}
2489
2490// SearchFlowExecutionsWithContext is the same as SearchFlowExecutions with the addition of
2491// the ability to pass a context and additional request options.
2492//
2493// See SearchFlowExecutions for details on how to use this API operation.
2494//
2495// The context must be non-nil and will be used for request cancellation. If
2496// the context is nil a panic will occur. In the future the SDK may create
2497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2498// for more information on using Contexts.
2499func (c *IoTThingsGraph) SearchFlowExecutionsWithContext(ctx aws.Context, input *SearchFlowExecutionsInput, opts ...request.Option) (*SearchFlowExecutionsOutput, error) {
2500	req, out := c.SearchFlowExecutionsRequest(input)
2501	req.SetContext(ctx)
2502	req.ApplyOptions(opts...)
2503	return out, req.Send()
2504}
2505
2506// SearchFlowExecutionsPages iterates over the pages of a SearchFlowExecutions operation,
2507// calling the "fn" function with the response data for each page. To stop
2508// iterating, return false from the fn function.
2509//
2510// See SearchFlowExecutions method for more information on how to use this operation.
2511//
2512// Note: This operation can generate multiple requests to a service.
2513//
2514//    // Example iterating over at most 3 pages of a SearchFlowExecutions operation.
2515//    pageNum := 0
2516//    err := client.SearchFlowExecutionsPages(params,
2517//        func(page *iotthingsgraph.SearchFlowExecutionsOutput, lastPage bool) bool {
2518//            pageNum++
2519//            fmt.Println(page)
2520//            return pageNum <= 3
2521//        })
2522//
2523func (c *IoTThingsGraph) SearchFlowExecutionsPages(input *SearchFlowExecutionsInput, fn func(*SearchFlowExecutionsOutput, bool) bool) error {
2524	return c.SearchFlowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
2525}
2526
2527// SearchFlowExecutionsPagesWithContext same as SearchFlowExecutionsPages except
2528// it takes a Context and allows setting request options on the pages.
2529//
2530// The context must be non-nil and will be used for request cancellation. If
2531// the context is nil a panic will occur. In the future the SDK may create
2532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2533// for more information on using Contexts.
2534func (c *IoTThingsGraph) SearchFlowExecutionsPagesWithContext(ctx aws.Context, input *SearchFlowExecutionsInput, fn func(*SearchFlowExecutionsOutput, bool) bool, opts ...request.Option) error {
2535	p := request.Pagination{
2536		NewRequest: func() (*request.Request, error) {
2537			var inCpy *SearchFlowExecutionsInput
2538			if input != nil {
2539				tmp := *input
2540				inCpy = &tmp
2541			}
2542			req, _ := c.SearchFlowExecutionsRequest(inCpy)
2543			req.SetContext(ctx)
2544			req.ApplyOptions(opts...)
2545			return req, nil
2546		},
2547	}
2548
2549	for p.Next() {
2550		if !fn(p.Page().(*SearchFlowExecutionsOutput), !p.HasNextPage()) {
2551			break
2552		}
2553	}
2554
2555	return p.Err()
2556}
2557
2558const opSearchFlowTemplates = "SearchFlowTemplates"
2559
2560// SearchFlowTemplatesRequest generates a "aws/request.Request" representing the
2561// client's request for the SearchFlowTemplates operation. The "output" return
2562// value will be populated with the request's response once the request completes
2563// successfully.
2564//
2565// Use "Send" method on the returned Request to send the API call to the service.
2566// the "output" return value is not valid until after Send returns without error.
2567//
2568// See SearchFlowTemplates for more information on using the SearchFlowTemplates
2569// API call, and error handling.
2570//
2571// This method is useful when you want to inject custom logic or configuration
2572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2573//
2574//
2575//    // Example sending a request using the SearchFlowTemplatesRequest method.
2576//    req, resp := client.SearchFlowTemplatesRequest(params)
2577//
2578//    err := req.Send()
2579//    if err == nil { // resp is now filled
2580//        fmt.Println(resp)
2581//    }
2582//
2583// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchFlowTemplates
2584func (c *IoTThingsGraph) SearchFlowTemplatesRequest(input *SearchFlowTemplatesInput) (req *request.Request, output *SearchFlowTemplatesOutput) {
2585	op := &request.Operation{
2586		Name:       opSearchFlowTemplates,
2587		HTTPMethod: "POST",
2588		HTTPPath:   "/",
2589		Paginator: &request.Paginator{
2590			InputTokens:     []string{"nextToken"},
2591			OutputTokens:    []string{"nextToken"},
2592			LimitToken:      "maxResults",
2593			TruncationToken: "",
2594		},
2595	}
2596
2597	if input == nil {
2598		input = &SearchFlowTemplatesInput{}
2599	}
2600
2601	output = &SearchFlowTemplatesOutput{}
2602	req = c.newRequest(op, input, output)
2603	return
2604}
2605
2606// SearchFlowTemplates API operation for AWS IoT Things Graph.
2607//
2608// Searches for summary information about workflows.
2609//
2610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2611// with awserr.Error's Code and Message methods to get detailed information about
2612// the error.
2613//
2614// See the AWS API reference guide for AWS IoT Things Graph's
2615// API operation SearchFlowTemplates for usage and error information.
2616//
2617// Returned Error Types:
2618//   * InvalidRequestException
2619//
2620//   * ThrottlingException
2621//
2622//   * InternalFailureException
2623//
2624// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchFlowTemplates
2625func (c *IoTThingsGraph) SearchFlowTemplates(input *SearchFlowTemplatesInput) (*SearchFlowTemplatesOutput, error) {
2626	req, out := c.SearchFlowTemplatesRequest(input)
2627	return out, req.Send()
2628}
2629
2630// SearchFlowTemplatesWithContext is the same as SearchFlowTemplates with the addition of
2631// the ability to pass a context and additional request options.
2632//
2633// See SearchFlowTemplates for details on how to use this API operation.
2634//
2635// The context must be non-nil and will be used for request cancellation. If
2636// the context is nil a panic will occur. In the future the SDK may create
2637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2638// for more information on using Contexts.
2639func (c *IoTThingsGraph) SearchFlowTemplatesWithContext(ctx aws.Context, input *SearchFlowTemplatesInput, opts ...request.Option) (*SearchFlowTemplatesOutput, error) {
2640	req, out := c.SearchFlowTemplatesRequest(input)
2641	req.SetContext(ctx)
2642	req.ApplyOptions(opts...)
2643	return out, req.Send()
2644}
2645
2646// SearchFlowTemplatesPages iterates over the pages of a SearchFlowTemplates operation,
2647// calling the "fn" function with the response data for each page. To stop
2648// iterating, return false from the fn function.
2649//
2650// See SearchFlowTemplates method for more information on how to use this operation.
2651//
2652// Note: This operation can generate multiple requests to a service.
2653//
2654//    // Example iterating over at most 3 pages of a SearchFlowTemplates operation.
2655//    pageNum := 0
2656//    err := client.SearchFlowTemplatesPages(params,
2657//        func(page *iotthingsgraph.SearchFlowTemplatesOutput, lastPage bool) bool {
2658//            pageNum++
2659//            fmt.Println(page)
2660//            return pageNum <= 3
2661//        })
2662//
2663func (c *IoTThingsGraph) SearchFlowTemplatesPages(input *SearchFlowTemplatesInput, fn func(*SearchFlowTemplatesOutput, bool) bool) error {
2664	return c.SearchFlowTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
2665}
2666
2667// SearchFlowTemplatesPagesWithContext same as SearchFlowTemplatesPages except
2668// it takes a Context and allows setting request options on the pages.
2669//
2670// The context must be non-nil and will be used for request cancellation. If
2671// the context is nil a panic will occur. In the future the SDK may create
2672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2673// for more information on using Contexts.
2674func (c *IoTThingsGraph) SearchFlowTemplatesPagesWithContext(ctx aws.Context, input *SearchFlowTemplatesInput, fn func(*SearchFlowTemplatesOutput, bool) bool, opts ...request.Option) error {
2675	p := request.Pagination{
2676		NewRequest: func() (*request.Request, error) {
2677			var inCpy *SearchFlowTemplatesInput
2678			if input != nil {
2679				tmp := *input
2680				inCpy = &tmp
2681			}
2682			req, _ := c.SearchFlowTemplatesRequest(inCpy)
2683			req.SetContext(ctx)
2684			req.ApplyOptions(opts...)
2685			return req, nil
2686		},
2687	}
2688
2689	for p.Next() {
2690		if !fn(p.Page().(*SearchFlowTemplatesOutput), !p.HasNextPage()) {
2691			break
2692		}
2693	}
2694
2695	return p.Err()
2696}
2697
2698const opSearchSystemInstances = "SearchSystemInstances"
2699
2700// SearchSystemInstancesRequest generates a "aws/request.Request" representing the
2701// client's request for the SearchSystemInstances operation. The "output" return
2702// value will be populated with the request's response once the request completes
2703// successfully.
2704//
2705// Use "Send" method on the returned Request to send the API call to the service.
2706// the "output" return value is not valid until after Send returns without error.
2707//
2708// See SearchSystemInstances for more information on using the SearchSystemInstances
2709// API call, and error handling.
2710//
2711// This method is useful when you want to inject custom logic or configuration
2712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2713//
2714//
2715//    // Example sending a request using the SearchSystemInstancesRequest method.
2716//    req, resp := client.SearchSystemInstancesRequest(params)
2717//
2718//    err := req.Send()
2719//    if err == nil { // resp is now filled
2720//        fmt.Println(resp)
2721//    }
2722//
2723// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchSystemInstances
2724func (c *IoTThingsGraph) SearchSystemInstancesRequest(input *SearchSystemInstancesInput) (req *request.Request, output *SearchSystemInstancesOutput) {
2725	op := &request.Operation{
2726		Name:       opSearchSystemInstances,
2727		HTTPMethod: "POST",
2728		HTTPPath:   "/",
2729		Paginator: &request.Paginator{
2730			InputTokens:     []string{"nextToken"},
2731			OutputTokens:    []string{"nextToken"},
2732			LimitToken:      "maxResults",
2733			TruncationToken: "",
2734		},
2735	}
2736
2737	if input == nil {
2738		input = &SearchSystemInstancesInput{}
2739	}
2740
2741	output = &SearchSystemInstancesOutput{}
2742	req = c.newRequest(op, input, output)
2743	return
2744}
2745
2746// SearchSystemInstances API operation for AWS IoT Things Graph.
2747//
2748// Searches for system instances in the user's account.
2749//
2750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2751// with awserr.Error's Code and Message methods to get detailed information about
2752// the error.
2753//
2754// See the AWS API reference guide for AWS IoT Things Graph's
2755// API operation SearchSystemInstances for usage and error information.
2756//
2757// Returned Error Types:
2758//   * InvalidRequestException
2759//
2760//   * ThrottlingException
2761//
2762//   * InternalFailureException
2763//
2764// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchSystemInstances
2765func (c *IoTThingsGraph) SearchSystemInstances(input *SearchSystemInstancesInput) (*SearchSystemInstancesOutput, error) {
2766	req, out := c.SearchSystemInstancesRequest(input)
2767	return out, req.Send()
2768}
2769
2770// SearchSystemInstancesWithContext is the same as SearchSystemInstances with the addition of
2771// the ability to pass a context and additional request options.
2772//
2773// See SearchSystemInstances for details on how to use this API operation.
2774//
2775// The context must be non-nil and will be used for request cancellation. If
2776// the context is nil a panic will occur. In the future the SDK may create
2777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2778// for more information on using Contexts.
2779func (c *IoTThingsGraph) SearchSystemInstancesWithContext(ctx aws.Context, input *SearchSystemInstancesInput, opts ...request.Option) (*SearchSystemInstancesOutput, error) {
2780	req, out := c.SearchSystemInstancesRequest(input)
2781	req.SetContext(ctx)
2782	req.ApplyOptions(opts...)
2783	return out, req.Send()
2784}
2785
2786// SearchSystemInstancesPages iterates over the pages of a SearchSystemInstances operation,
2787// calling the "fn" function with the response data for each page. To stop
2788// iterating, return false from the fn function.
2789//
2790// See SearchSystemInstances method for more information on how to use this operation.
2791//
2792// Note: This operation can generate multiple requests to a service.
2793//
2794//    // Example iterating over at most 3 pages of a SearchSystemInstances operation.
2795//    pageNum := 0
2796//    err := client.SearchSystemInstancesPages(params,
2797//        func(page *iotthingsgraph.SearchSystemInstancesOutput, lastPage bool) bool {
2798//            pageNum++
2799//            fmt.Println(page)
2800//            return pageNum <= 3
2801//        })
2802//
2803func (c *IoTThingsGraph) SearchSystemInstancesPages(input *SearchSystemInstancesInput, fn func(*SearchSystemInstancesOutput, bool) bool) error {
2804	return c.SearchSystemInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
2805}
2806
2807// SearchSystemInstancesPagesWithContext same as SearchSystemInstancesPages except
2808// it takes a Context and allows setting request options on the pages.
2809//
2810// The context must be non-nil and will be used for request cancellation. If
2811// the context is nil a panic will occur. In the future the SDK may create
2812// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2813// for more information on using Contexts.
2814func (c *IoTThingsGraph) SearchSystemInstancesPagesWithContext(ctx aws.Context, input *SearchSystemInstancesInput, fn func(*SearchSystemInstancesOutput, bool) bool, opts ...request.Option) error {
2815	p := request.Pagination{
2816		NewRequest: func() (*request.Request, error) {
2817			var inCpy *SearchSystemInstancesInput
2818			if input != nil {
2819				tmp := *input
2820				inCpy = &tmp
2821			}
2822			req, _ := c.SearchSystemInstancesRequest(inCpy)
2823			req.SetContext(ctx)
2824			req.ApplyOptions(opts...)
2825			return req, nil
2826		},
2827	}
2828
2829	for p.Next() {
2830		if !fn(p.Page().(*SearchSystemInstancesOutput), !p.HasNextPage()) {
2831			break
2832		}
2833	}
2834
2835	return p.Err()
2836}
2837
2838const opSearchSystemTemplates = "SearchSystemTemplates"
2839
2840// SearchSystemTemplatesRequest generates a "aws/request.Request" representing the
2841// client's request for the SearchSystemTemplates operation. The "output" return
2842// value will be populated with the request's response once the request completes
2843// successfully.
2844//
2845// Use "Send" method on the returned Request to send the API call to the service.
2846// the "output" return value is not valid until after Send returns without error.
2847//
2848// See SearchSystemTemplates for more information on using the SearchSystemTemplates
2849// API call, and error handling.
2850//
2851// This method is useful when you want to inject custom logic or configuration
2852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2853//
2854//
2855//    // Example sending a request using the SearchSystemTemplatesRequest method.
2856//    req, resp := client.SearchSystemTemplatesRequest(params)
2857//
2858//    err := req.Send()
2859//    if err == nil { // resp is now filled
2860//        fmt.Println(resp)
2861//    }
2862//
2863// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchSystemTemplates
2864func (c *IoTThingsGraph) SearchSystemTemplatesRequest(input *SearchSystemTemplatesInput) (req *request.Request, output *SearchSystemTemplatesOutput) {
2865	op := &request.Operation{
2866		Name:       opSearchSystemTemplates,
2867		HTTPMethod: "POST",
2868		HTTPPath:   "/",
2869		Paginator: &request.Paginator{
2870			InputTokens:     []string{"nextToken"},
2871			OutputTokens:    []string{"nextToken"},
2872			LimitToken:      "maxResults",
2873			TruncationToken: "",
2874		},
2875	}
2876
2877	if input == nil {
2878		input = &SearchSystemTemplatesInput{}
2879	}
2880
2881	output = &SearchSystemTemplatesOutput{}
2882	req = c.newRequest(op, input, output)
2883	return
2884}
2885
2886// SearchSystemTemplates API operation for AWS IoT Things Graph.
2887//
2888// Searches for summary information about systems in the user's account. You
2889// can filter by the ID of a workflow to return only systems that use the specified
2890// workflow.
2891//
2892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2893// with awserr.Error's Code and Message methods to get detailed information about
2894// the error.
2895//
2896// See the AWS API reference guide for AWS IoT Things Graph's
2897// API operation SearchSystemTemplates for usage and error information.
2898//
2899// Returned Error Types:
2900//   * InvalidRequestException
2901//
2902//   * ThrottlingException
2903//
2904//   * InternalFailureException
2905//
2906// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchSystemTemplates
2907func (c *IoTThingsGraph) SearchSystemTemplates(input *SearchSystemTemplatesInput) (*SearchSystemTemplatesOutput, error) {
2908	req, out := c.SearchSystemTemplatesRequest(input)
2909	return out, req.Send()
2910}
2911
2912// SearchSystemTemplatesWithContext is the same as SearchSystemTemplates with the addition of
2913// the ability to pass a context and additional request options.
2914//
2915// See SearchSystemTemplates for details on how to use this API operation.
2916//
2917// The context must be non-nil and will be used for request cancellation. If
2918// the context is nil a panic will occur. In the future the SDK may create
2919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2920// for more information on using Contexts.
2921func (c *IoTThingsGraph) SearchSystemTemplatesWithContext(ctx aws.Context, input *SearchSystemTemplatesInput, opts ...request.Option) (*SearchSystemTemplatesOutput, error) {
2922	req, out := c.SearchSystemTemplatesRequest(input)
2923	req.SetContext(ctx)
2924	req.ApplyOptions(opts...)
2925	return out, req.Send()
2926}
2927
2928// SearchSystemTemplatesPages iterates over the pages of a SearchSystemTemplates operation,
2929// calling the "fn" function with the response data for each page. To stop
2930// iterating, return false from the fn function.
2931//
2932// See SearchSystemTemplates method for more information on how to use this operation.
2933//
2934// Note: This operation can generate multiple requests to a service.
2935//
2936//    // Example iterating over at most 3 pages of a SearchSystemTemplates operation.
2937//    pageNum := 0
2938//    err := client.SearchSystemTemplatesPages(params,
2939//        func(page *iotthingsgraph.SearchSystemTemplatesOutput, lastPage bool) bool {
2940//            pageNum++
2941//            fmt.Println(page)
2942//            return pageNum <= 3
2943//        })
2944//
2945func (c *IoTThingsGraph) SearchSystemTemplatesPages(input *SearchSystemTemplatesInput, fn func(*SearchSystemTemplatesOutput, bool) bool) error {
2946	return c.SearchSystemTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
2947}
2948
2949// SearchSystemTemplatesPagesWithContext same as SearchSystemTemplatesPages except
2950// it takes a Context and allows setting request options on the pages.
2951//
2952// The context must be non-nil and will be used for request cancellation. If
2953// the context is nil a panic will occur. In the future the SDK may create
2954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2955// for more information on using Contexts.
2956func (c *IoTThingsGraph) SearchSystemTemplatesPagesWithContext(ctx aws.Context, input *SearchSystemTemplatesInput, fn func(*SearchSystemTemplatesOutput, bool) bool, opts ...request.Option) error {
2957	p := request.Pagination{
2958		NewRequest: func() (*request.Request, error) {
2959			var inCpy *SearchSystemTemplatesInput
2960			if input != nil {
2961				tmp := *input
2962				inCpy = &tmp
2963			}
2964			req, _ := c.SearchSystemTemplatesRequest(inCpy)
2965			req.SetContext(ctx)
2966			req.ApplyOptions(opts...)
2967			return req, nil
2968		},
2969	}
2970
2971	for p.Next() {
2972		if !fn(p.Page().(*SearchSystemTemplatesOutput), !p.HasNextPage()) {
2973			break
2974		}
2975	}
2976
2977	return p.Err()
2978}
2979
2980const opSearchThings = "SearchThings"
2981
2982// SearchThingsRequest generates a "aws/request.Request" representing the
2983// client's request for the SearchThings operation. The "output" return
2984// value will be populated with the request's response once the request completes
2985// successfully.
2986//
2987// Use "Send" method on the returned Request to send the API call to the service.
2988// the "output" return value is not valid until after Send returns without error.
2989//
2990// See SearchThings for more information on using the SearchThings
2991// API call, and error handling.
2992//
2993// This method is useful when you want to inject custom logic or configuration
2994// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2995//
2996//
2997//    // Example sending a request using the SearchThingsRequest method.
2998//    req, resp := client.SearchThingsRequest(params)
2999//
3000//    err := req.Send()
3001//    if err == nil { // resp is now filled
3002//        fmt.Println(resp)
3003//    }
3004//
3005// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchThings
3006func (c *IoTThingsGraph) SearchThingsRequest(input *SearchThingsInput) (req *request.Request, output *SearchThingsOutput) {
3007	op := &request.Operation{
3008		Name:       opSearchThings,
3009		HTTPMethod: "POST",
3010		HTTPPath:   "/",
3011		Paginator: &request.Paginator{
3012			InputTokens:     []string{"nextToken"},
3013			OutputTokens:    []string{"nextToken"},
3014			LimitToken:      "maxResults",
3015			TruncationToken: "",
3016		},
3017	}
3018
3019	if input == nil {
3020		input = &SearchThingsInput{}
3021	}
3022
3023	output = &SearchThingsOutput{}
3024	req = c.newRequest(op, input, output)
3025	return
3026}
3027
3028// SearchThings API operation for AWS IoT Things Graph.
3029//
3030// Searches for things associated with the specified entity. You can search
3031// by both device and device model.
3032//
3033// For example, if two different devices, camera1 and camera2, implement the
3034// camera device model, the user can associate thing1 to camera1 and thing2
3035// to camera2. SearchThings(camera2) will return only thing2, but SearchThings(camera)
3036// will return both thing1 and thing2.
3037//
3038// This action searches for exact matches and doesn't perform partial text matching.
3039//
3040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3041// with awserr.Error's Code and Message methods to get detailed information about
3042// the error.
3043//
3044// See the AWS API reference guide for AWS IoT Things Graph's
3045// API operation SearchThings for usage and error information.
3046//
3047// Returned Error Types:
3048//   * InvalidRequestException
3049//
3050//   * ResourceNotFoundException
3051//
3052//   * InternalFailureException
3053//
3054//   * ThrottlingException
3055//
3056// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/SearchThings
3057func (c *IoTThingsGraph) SearchThings(input *SearchThingsInput) (*SearchThingsOutput, error) {
3058	req, out := c.SearchThingsRequest(input)
3059	return out, req.Send()
3060}
3061
3062// SearchThingsWithContext is the same as SearchThings with the addition of
3063// the ability to pass a context and additional request options.
3064//
3065// See SearchThings for details on how to use this API operation.
3066//
3067// The context must be non-nil and will be used for request cancellation. If
3068// the context is nil a panic will occur. In the future the SDK may create
3069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3070// for more information on using Contexts.
3071func (c *IoTThingsGraph) SearchThingsWithContext(ctx aws.Context, input *SearchThingsInput, opts ...request.Option) (*SearchThingsOutput, error) {
3072	req, out := c.SearchThingsRequest(input)
3073	req.SetContext(ctx)
3074	req.ApplyOptions(opts...)
3075	return out, req.Send()
3076}
3077
3078// SearchThingsPages iterates over the pages of a SearchThings operation,
3079// calling the "fn" function with the response data for each page. To stop
3080// iterating, return false from the fn function.
3081//
3082// See SearchThings method for more information on how to use this operation.
3083//
3084// Note: This operation can generate multiple requests to a service.
3085//
3086//    // Example iterating over at most 3 pages of a SearchThings operation.
3087//    pageNum := 0
3088//    err := client.SearchThingsPages(params,
3089//        func(page *iotthingsgraph.SearchThingsOutput, lastPage bool) bool {
3090//            pageNum++
3091//            fmt.Println(page)
3092//            return pageNum <= 3
3093//        })
3094//
3095func (c *IoTThingsGraph) SearchThingsPages(input *SearchThingsInput, fn func(*SearchThingsOutput, bool) bool) error {
3096	return c.SearchThingsPagesWithContext(aws.BackgroundContext(), input, fn)
3097}
3098
3099// SearchThingsPagesWithContext same as SearchThingsPages except
3100// it takes a Context and allows setting request options on the pages.
3101//
3102// The context must be non-nil and will be used for request cancellation. If
3103// the context is nil a panic will occur. In the future the SDK may create
3104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3105// for more information on using Contexts.
3106func (c *IoTThingsGraph) SearchThingsPagesWithContext(ctx aws.Context, input *SearchThingsInput, fn func(*SearchThingsOutput, bool) bool, opts ...request.Option) error {
3107	p := request.Pagination{
3108		NewRequest: func() (*request.Request, error) {
3109			var inCpy *SearchThingsInput
3110			if input != nil {
3111				tmp := *input
3112				inCpy = &tmp
3113			}
3114			req, _ := c.SearchThingsRequest(inCpy)
3115			req.SetContext(ctx)
3116			req.ApplyOptions(opts...)
3117			return req, nil
3118		},
3119	}
3120
3121	for p.Next() {
3122		if !fn(p.Page().(*SearchThingsOutput), !p.HasNextPage()) {
3123			break
3124		}
3125	}
3126
3127	return p.Err()
3128}
3129
3130const opTagResource = "TagResource"
3131
3132// TagResourceRequest generates a "aws/request.Request" representing the
3133// client's request for the TagResource operation. The "output" return
3134// value will be populated with the request's response once the request completes
3135// successfully.
3136//
3137// Use "Send" method on the returned Request to send the API call to the service.
3138// the "output" return value is not valid until after Send returns without error.
3139//
3140// See TagResource for more information on using the TagResource
3141// API call, and error handling.
3142//
3143// This method is useful when you want to inject custom logic or configuration
3144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3145//
3146//
3147//    // Example sending a request using the TagResourceRequest method.
3148//    req, resp := client.TagResourceRequest(params)
3149//
3150//    err := req.Send()
3151//    if err == nil { // resp is now filled
3152//        fmt.Println(resp)
3153//    }
3154//
3155// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/TagResource
3156func (c *IoTThingsGraph) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3157	op := &request.Operation{
3158		Name:       opTagResource,
3159		HTTPMethod: "POST",
3160		HTTPPath:   "/",
3161	}
3162
3163	if input == nil {
3164		input = &TagResourceInput{}
3165	}
3166
3167	output = &TagResourceOutput{}
3168	req = c.newRequest(op, input, output)
3169	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3170	return
3171}
3172
3173// TagResource API operation for AWS IoT Things Graph.
3174//
3175// Creates a tag for the specified resource.
3176//
3177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3178// with awserr.Error's Code and Message methods to get detailed information about
3179// the error.
3180//
3181// See the AWS API reference guide for AWS IoT Things Graph's
3182// API operation TagResource for usage and error information.
3183//
3184// Returned Error Types:
3185//   * InvalidRequestException
3186//
3187//   * ResourceAlreadyExistsException
3188//
3189//   * ThrottlingException
3190//
3191//   * InternalFailureException
3192//
3193// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/TagResource
3194func (c *IoTThingsGraph) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3195	req, out := c.TagResourceRequest(input)
3196	return out, req.Send()
3197}
3198
3199// TagResourceWithContext is the same as TagResource with the addition of
3200// the ability to pass a context and additional request options.
3201//
3202// See TagResource for details on how to use this API operation.
3203//
3204// The context must be non-nil and will be used for request cancellation. If
3205// the context is nil a panic will occur. In the future the SDK may create
3206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3207// for more information on using Contexts.
3208func (c *IoTThingsGraph) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3209	req, out := c.TagResourceRequest(input)
3210	req.SetContext(ctx)
3211	req.ApplyOptions(opts...)
3212	return out, req.Send()
3213}
3214
3215const opUndeploySystemInstance = "UndeploySystemInstance"
3216
3217// UndeploySystemInstanceRequest generates a "aws/request.Request" representing the
3218// client's request for the UndeploySystemInstance operation. The "output" return
3219// value will be populated with the request's response once the request completes
3220// successfully.
3221//
3222// Use "Send" method on the returned Request to send the API call to the service.
3223// the "output" return value is not valid until after Send returns without error.
3224//
3225// See UndeploySystemInstance for more information on using the UndeploySystemInstance
3226// API call, and error handling.
3227//
3228// This method is useful when you want to inject custom logic or configuration
3229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3230//
3231//
3232//    // Example sending a request using the UndeploySystemInstanceRequest method.
3233//    req, resp := client.UndeploySystemInstanceRequest(params)
3234//
3235//    err := req.Send()
3236//    if err == nil { // resp is now filled
3237//        fmt.Println(resp)
3238//    }
3239//
3240// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UndeploySystemInstance
3241func (c *IoTThingsGraph) UndeploySystemInstanceRequest(input *UndeploySystemInstanceInput) (req *request.Request, output *UndeploySystemInstanceOutput) {
3242	op := &request.Operation{
3243		Name:       opUndeploySystemInstance,
3244		HTTPMethod: "POST",
3245		HTTPPath:   "/",
3246	}
3247
3248	if input == nil {
3249		input = &UndeploySystemInstanceInput{}
3250	}
3251
3252	output = &UndeploySystemInstanceOutput{}
3253	req = c.newRequest(op, input, output)
3254	return
3255}
3256
3257// UndeploySystemInstance API operation for AWS IoT Things Graph.
3258//
3259// Removes a system instance from its target (Cloud or Greengrass).
3260//
3261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3262// with awserr.Error's Code and Message methods to get detailed information about
3263// the error.
3264//
3265// See the AWS API reference guide for AWS IoT Things Graph's
3266// API operation UndeploySystemInstance for usage and error information.
3267//
3268// Returned Error Types:
3269//   * InvalidRequestException
3270//
3271//   * ThrottlingException
3272//
3273//   * InternalFailureException
3274//
3275//   * ResourceNotFoundException
3276//
3277//   * ResourceInUseException
3278//
3279// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UndeploySystemInstance
3280func (c *IoTThingsGraph) UndeploySystemInstance(input *UndeploySystemInstanceInput) (*UndeploySystemInstanceOutput, error) {
3281	req, out := c.UndeploySystemInstanceRequest(input)
3282	return out, req.Send()
3283}
3284
3285// UndeploySystemInstanceWithContext is the same as UndeploySystemInstance with the addition of
3286// the ability to pass a context and additional request options.
3287//
3288// See UndeploySystemInstance for details on how to use this API operation.
3289//
3290// The context must be non-nil and will be used for request cancellation. If
3291// the context is nil a panic will occur. In the future the SDK may create
3292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3293// for more information on using Contexts.
3294func (c *IoTThingsGraph) UndeploySystemInstanceWithContext(ctx aws.Context, input *UndeploySystemInstanceInput, opts ...request.Option) (*UndeploySystemInstanceOutput, error) {
3295	req, out := c.UndeploySystemInstanceRequest(input)
3296	req.SetContext(ctx)
3297	req.ApplyOptions(opts...)
3298	return out, req.Send()
3299}
3300
3301const opUntagResource = "UntagResource"
3302
3303// UntagResourceRequest generates a "aws/request.Request" representing the
3304// client's request for the UntagResource operation. The "output" return
3305// value will be populated with the request's response once the request completes
3306// successfully.
3307//
3308// Use "Send" method on the returned Request to send the API call to the service.
3309// the "output" return value is not valid until after Send returns without error.
3310//
3311// See UntagResource for more information on using the UntagResource
3312// API call, and error handling.
3313//
3314// This method is useful when you want to inject custom logic or configuration
3315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3316//
3317//
3318//    // Example sending a request using the UntagResourceRequest method.
3319//    req, resp := client.UntagResourceRequest(params)
3320//
3321//    err := req.Send()
3322//    if err == nil { // resp is now filled
3323//        fmt.Println(resp)
3324//    }
3325//
3326// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UntagResource
3327func (c *IoTThingsGraph) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3328	op := &request.Operation{
3329		Name:       opUntagResource,
3330		HTTPMethod: "POST",
3331		HTTPPath:   "/",
3332	}
3333
3334	if input == nil {
3335		input = &UntagResourceInput{}
3336	}
3337
3338	output = &UntagResourceOutput{}
3339	req = c.newRequest(op, input, output)
3340	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3341	return
3342}
3343
3344// UntagResource API operation for AWS IoT Things Graph.
3345//
3346// Removes a tag from the specified resource.
3347//
3348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3349// with awserr.Error's Code and Message methods to get detailed information about
3350// the error.
3351//
3352// See the AWS API reference guide for AWS IoT Things Graph's
3353// API operation UntagResource for usage and error information.
3354//
3355// Returned Error Types:
3356//   * InvalidRequestException
3357//
3358//   * ResourceAlreadyExistsException
3359//
3360//   * ThrottlingException
3361//
3362//   * InternalFailureException
3363//
3364// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UntagResource
3365func (c *IoTThingsGraph) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3366	req, out := c.UntagResourceRequest(input)
3367	return out, req.Send()
3368}
3369
3370// UntagResourceWithContext is the same as UntagResource with the addition of
3371// the ability to pass a context and additional request options.
3372//
3373// See UntagResource for details on how to use this API operation.
3374//
3375// The context must be non-nil and will be used for request cancellation. If
3376// the context is nil a panic will occur. In the future the SDK may create
3377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3378// for more information on using Contexts.
3379func (c *IoTThingsGraph) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3380	req, out := c.UntagResourceRequest(input)
3381	req.SetContext(ctx)
3382	req.ApplyOptions(opts...)
3383	return out, req.Send()
3384}
3385
3386const opUpdateFlowTemplate = "UpdateFlowTemplate"
3387
3388// UpdateFlowTemplateRequest generates a "aws/request.Request" representing the
3389// client's request for the UpdateFlowTemplate operation. The "output" return
3390// value will be populated with the request's response once the request completes
3391// successfully.
3392//
3393// Use "Send" method on the returned Request to send the API call to the service.
3394// the "output" return value is not valid until after Send returns without error.
3395//
3396// See UpdateFlowTemplate for more information on using the UpdateFlowTemplate
3397// API call, and error handling.
3398//
3399// This method is useful when you want to inject custom logic or configuration
3400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3401//
3402//
3403//    // Example sending a request using the UpdateFlowTemplateRequest method.
3404//    req, resp := client.UpdateFlowTemplateRequest(params)
3405//
3406//    err := req.Send()
3407//    if err == nil { // resp is now filled
3408//        fmt.Println(resp)
3409//    }
3410//
3411// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UpdateFlowTemplate
3412func (c *IoTThingsGraph) UpdateFlowTemplateRequest(input *UpdateFlowTemplateInput) (req *request.Request, output *UpdateFlowTemplateOutput) {
3413	op := &request.Operation{
3414		Name:       opUpdateFlowTemplate,
3415		HTTPMethod: "POST",
3416		HTTPPath:   "/",
3417	}
3418
3419	if input == nil {
3420		input = &UpdateFlowTemplateInput{}
3421	}
3422
3423	output = &UpdateFlowTemplateOutput{}
3424	req = c.newRequest(op, input, output)
3425	return
3426}
3427
3428// UpdateFlowTemplate API operation for AWS IoT Things Graph.
3429//
3430// Updates the specified workflow. All deployed systems and system instances
3431// that use the workflow will see the changes in the flow when it is redeployed.
3432// If you don't want this behavior, copy the workflow (creating a new workflow
3433// with a different ID), and update the copy. The workflow can contain only
3434// entities in the specified namespace.
3435//
3436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3437// with awserr.Error's Code and Message methods to get detailed information about
3438// the error.
3439//
3440// See the AWS API reference guide for AWS IoT Things Graph's
3441// API operation UpdateFlowTemplate for usage and error information.
3442//
3443// Returned Error Types:
3444//   * InvalidRequestException
3445//
3446//   * ResourceNotFoundException
3447//
3448//   * ThrottlingException
3449//
3450//   * InternalFailureException
3451//
3452// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UpdateFlowTemplate
3453func (c *IoTThingsGraph) UpdateFlowTemplate(input *UpdateFlowTemplateInput) (*UpdateFlowTemplateOutput, error) {
3454	req, out := c.UpdateFlowTemplateRequest(input)
3455	return out, req.Send()
3456}
3457
3458// UpdateFlowTemplateWithContext is the same as UpdateFlowTemplate with the addition of
3459// the ability to pass a context and additional request options.
3460//
3461// See UpdateFlowTemplate for details on how to use this API operation.
3462//
3463// The context must be non-nil and will be used for request cancellation. If
3464// the context is nil a panic will occur. In the future the SDK may create
3465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3466// for more information on using Contexts.
3467func (c *IoTThingsGraph) UpdateFlowTemplateWithContext(ctx aws.Context, input *UpdateFlowTemplateInput, opts ...request.Option) (*UpdateFlowTemplateOutput, error) {
3468	req, out := c.UpdateFlowTemplateRequest(input)
3469	req.SetContext(ctx)
3470	req.ApplyOptions(opts...)
3471	return out, req.Send()
3472}
3473
3474const opUpdateSystemTemplate = "UpdateSystemTemplate"
3475
3476// UpdateSystemTemplateRequest generates a "aws/request.Request" representing the
3477// client's request for the UpdateSystemTemplate operation. The "output" return
3478// value will be populated with the request's response once the request completes
3479// successfully.
3480//
3481// Use "Send" method on the returned Request to send the API call to the service.
3482// the "output" return value is not valid until after Send returns without error.
3483//
3484// See UpdateSystemTemplate for more information on using the UpdateSystemTemplate
3485// API call, and error handling.
3486//
3487// This method is useful when you want to inject custom logic or configuration
3488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3489//
3490//
3491//    // Example sending a request using the UpdateSystemTemplateRequest method.
3492//    req, resp := client.UpdateSystemTemplateRequest(params)
3493//
3494//    err := req.Send()
3495//    if err == nil { // resp is now filled
3496//        fmt.Println(resp)
3497//    }
3498//
3499// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UpdateSystemTemplate
3500func (c *IoTThingsGraph) UpdateSystemTemplateRequest(input *UpdateSystemTemplateInput) (req *request.Request, output *UpdateSystemTemplateOutput) {
3501	op := &request.Operation{
3502		Name:       opUpdateSystemTemplate,
3503		HTTPMethod: "POST",
3504		HTTPPath:   "/",
3505	}
3506
3507	if input == nil {
3508		input = &UpdateSystemTemplateInput{}
3509	}
3510
3511	output = &UpdateSystemTemplateOutput{}
3512	req = c.newRequest(op, input, output)
3513	return
3514}
3515
3516// UpdateSystemTemplate API operation for AWS IoT Things Graph.
3517//
3518// Updates the specified system. You don't need to run this action after updating
3519// a workflow. Any deployment that uses the system will see the changes in the
3520// system when it is redeployed.
3521//
3522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3523// with awserr.Error's Code and Message methods to get detailed information about
3524// the error.
3525//
3526// See the AWS API reference guide for AWS IoT Things Graph's
3527// API operation UpdateSystemTemplate for usage and error information.
3528//
3529// Returned Error Types:
3530//   * InvalidRequestException
3531//
3532//   * ResourceNotFoundException
3533//
3534//   * ThrottlingException
3535//
3536//   * InternalFailureException
3537//
3538// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UpdateSystemTemplate
3539func (c *IoTThingsGraph) UpdateSystemTemplate(input *UpdateSystemTemplateInput) (*UpdateSystemTemplateOutput, error) {
3540	req, out := c.UpdateSystemTemplateRequest(input)
3541	return out, req.Send()
3542}
3543
3544// UpdateSystemTemplateWithContext is the same as UpdateSystemTemplate with the addition of
3545// the ability to pass a context and additional request options.
3546//
3547// See UpdateSystemTemplate for details on how to use this API operation.
3548//
3549// The context must be non-nil and will be used for request cancellation. If
3550// the context is nil a panic will occur. In the future the SDK may create
3551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3552// for more information on using Contexts.
3553func (c *IoTThingsGraph) UpdateSystemTemplateWithContext(ctx aws.Context, input *UpdateSystemTemplateInput, opts ...request.Option) (*UpdateSystemTemplateOutput, error) {
3554	req, out := c.UpdateSystemTemplateRequest(input)
3555	req.SetContext(ctx)
3556	req.ApplyOptions(opts...)
3557	return out, req.Send()
3558}
3559
3560const opUploadEntityDefinitions = "UploadEntityDefinitions"
3561
3562// UploadEntityDefinitionsRequest generates a "aws/request.Request" representing the
3563// client's request for the UploadEntityDefinitions operation. The "output" return
3564// value will be populated with the request's response once the request completes
3565// successfully.
3566//
3567// Use "Send" method on the returned Request to send the API call to the service.
3568// the "output" return value is not valid until after Send returns without error.
3569//
3570// See UploadEntityDefinitions for more information on using the UploadEntityDefinitions
3571// API call, and error handling.
3572//
3573// This method is useful when you want to inject custom logic or configuration
3574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3575//
3576//
3577//    // Example sending a request using the UploadEntityDefinitionsRequest method.
3578//    req, resp := client.UploadEntityDefinitionsRequest(params)
3579//
3580//    err := req.Send()
3581//    if err == nil { // resp is now filled
3582//        fmt.Println(resp)
3583//    }
3584//
3585// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UploadEntityDefinitions
3586func (c *IoTThingsGraph) UploadEntityDefinitionsRequest(input *UploadEntityDefinitionsInput) (req *request.Request, output *UploadEntityDefinitionsOutput) {
3587	op := &request.Operation{
3588		Name:       opUploadEntityDefinitions,
3589		HTTPMethod: "POST",
3590		HTTPPath:   "/",
3591	}
3592
3593	if input == nil {
3594		input = &UploadEntityDefinitionsInput{}
3595	}
3596
3597	output = &UploadEntityDefinitionsOutput{}
3598	req = c.newRequest(op, input, output)
3599	return
3600}
3601
3602// UploadEntityDefinitions API operation for AWS IoT Things Graph.
3603//
3604// Asynchronously uploads one or more entity definitions to the user's namespace.
3605// The document parameter is required if syncWithPublicNamespace and deleteExistingEntites
3606// are false. If the syncWithPublicNamespace parameter is set to true, the user's
3607// namespace will synchronize with the latest version of the public namespace.
3608// If deprecateExistingEntities is set to true, all entities in the latest version
3609// will be deleted before the new DefinitionDocument is uploaded.
3610//
3611// When a user uploads entity definitions for the first time, the service creates
3612// a new namespace for the user. The new namespace tracks the public namespace.
3613// Currently users can have only one namespace. The namespace version increments
3614// whenever a user uploads entity definitions that are backwards-incompatible
3615// and whenever a user sets the syncWithPublicNamespace parameter or the deprecateExistingEntities
3616// parameter to true.
3617//
3618// The IDs for all of the entities should be in URN format. Each entity must
3619// be in the user's namespace. Users can't create entities in the public namespace,
3620// but entity definitions can refer to entities in the public namespace.
3621//
3622// Valid entities are Device, DeviceModel, Service, Capability, State, Action,
3623// Event, Property, Mapping, Enum.
3624//
3625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3626// with awserr.Error's Code and Message methods to get detailed information about
3627// the error.
3628//
3629// See the AWS API reference guide for AWS IoT Things Graph's
3630// API operation UploadEntityDefinitions for usage and error information.
3631//
3632// Returned Error Types:
3633//   * InvalidRequestException
3634//
3635//   * InternalFailureException
3636//
3637//   * ThrottlingException
3638//
3639// See also, https://docs.aws.amazon.com/goto/WebAPI/iotthingsgraph-2018-09-06/UploadEntityDefinitions
3640func (c *IoTThingsGraph) UploadEntityDefinitions(input *UploadEntityDefinitionsInput) (*UploadEntityDefinitionsOutput, error) {
3641	req, out := c.UploadEntityDefinitionsRequest(input)
3642	return out, req.Send()
3643}
3644
3645// UploadEntityDefinitionsWithContext is the same as UploadEntityDefinitions with the addition of
3646// the ability to pass a context and additional request options.
3647//
3648// See UploadEntityDefinitions for details on how to use this API operation.
3649//
3650// The context must be non-nil and will be used for request cancellation. If
3651// the context is nil a panic will occur. In the future the SDK may create
3652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3653// for more information on using Contexts.
3654func (c *IoTThingsGraph) UploadEntityDefinitionsWithContext(ctx aws.Context, input *UploadEntityDefinitionsInput, opts ...request.Option) (*UploadEntityDefinitionsOutput, error) {
3655	req, out := c.UploadEntityDefinitionsRequest(input)
3656	req.SetContext(ctx)
3657	req.ApplyOptions(opts...)
3658	return out, req.Send()
3659}
3660
3661type AssociateEntityToThingInput struct {
3662	_ struct{} `type:"structure"`
3663
3664	// The ID of the device to be associated with the thing.
3665	//
3666	// The ID should be in the following format.
3667	//
3668	// urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME
3669	//
3670	// EntityId is a required field
3671	EntityId *string `locationName:"entityId" type:"string" required:"true"`
3672
3673	// The version of the user's namespace. Defaults to the latest version of the
3674	// user's namespace.
3675	NamespaceVersion *int64 `locationName:"namespaceVersion" type:"long"`
3676
3677	// The name of the thing to which the entity is to be associated.
3678	//
3679	// ThingName is a required field
3680	ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"`
3681}
3682
3683// String returns the string representation
3684func (s AssociateEntityToThingInput) String() string {
3685	return awsutil.Prettify(s)
3686}
3687
3688// GoString returns the string representation
3689func (s AssociateEntityToThingInput) GoString() string {
3690	return s.String()
3691}
3692
3693// Validate inspects the fields of the type to determine if they are valid.
3694func (s *AssociateEntityToThingInput) Validate() error {
3695	invalidParams := request.ErrInvalidParams{Context: "AssociateEntityToThingInput"}
3696	if s.EntityId == nil {
3697		invalidParams.Add(request.NewErrParamRequired("EntityId"))
3698	}
3699	if s.ThingName == nil {
3700		invalidParams.Add(request.NewErrParamRequired("ThingName"))
3701	}
3702	if s.ThingName != nil && len(*s.ThingName) < 1 {
3703		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
3704	}
3705
3706	if invalidParams.Len() > 0 {
3707		return invalidParams
3708	}
3709	return nil
3710}
3711
3712// SetEntityId sets the EntityId field's value.
3713func (s *AssociateEntityToThingInput) SetEntityId(v string) *AssociateEntityToThingInput {
3714	s.EntityId = &v
3715	return s
3716}
3717
3718// SetNamespaceVersion sets the NamespaceVersion field's value.
3719func (s *AssociateEntityToThingInput) SetNamespaceVersion(v int64) *AssociateEntityToThingInput {
3720	s.NamespaceVersion = &v
3721	return s
3722}
3723
3724// SetThingName sets the ThingName field's value.
3725func (s *AssociateEntityToThingInput) SetThingName(v string) *AssociateEntityToThingInput {
3726	s.ThingName = &v
3727	return s
3728}
3729
3730type AssociateEntityToThingOutput struct {
3731	_ struct{} `type:"structure"`
3732}
3733
3734// String returns the string representation
3735func (s AssociateEntityToThingOutput) String() string {
3736	return awsutil.Prettify(s)
3737}
3738
3739// GoString returns the string representation
3740func (s AssociateEntityToThingOutput) GoString() string {
3741	return s.String()
3742}
3743
3744type CreateFlowTemplateInput struct {
3745	_ struct{} `type:"structure"`
3746
3747	// The namespace version in which the workflow is to be created.
3748	//
3749	// If no value is specified, the latest version is used by default.
3750	CompatibleNamespaceVersion *int64 `locationName:"compatibleNamespaceVersion" type:"long"`
3751
3752	// The workflow DefinitionDocument.
3753	//
3754	// Definition is a required field
3755	Definition *DefinitionDocument `locationName:"definition" type:"structure" required:"true"`
3756}
3757
3758// String returns the string representation
3759func (s CreateFlowTemplateInput) String() string {
3760	return awsutil.Prettify(s)
3761}
3762
3763// GoString returns the string representation
3764func (s CreateFlowTemplateInput) GoString() string {
3765	return s.String()
3766}
3767
3768// Validate inspects the fields of the type to determine if they are valid.
3769func (s *CreateFlowTemplateInput) Validate() error {
3770	invalidParams := request.ErrInvalidParams{Context: "CreateFlowTemplateInput"}
3771	if s.Definition == nil {
3772		invalidParams.Add(request.NewErrParamRequired("Definition"))
3773	}
3774	if s.Definition != nil {
3775		if err := s.Definition.Validate(); err != nil {
3776			invalidParams.AddNested("Definition", err.(request.ErrInvalidParams))
3777		}
3778	}
3779
3780	if invalidParams.Len() > 0 {
3781		return invalidParams
3782	}
3783	return nil
3784}
3785
3786// SetCompatibleNamespaceVersion sets the CompatibleNamespaceVersion field's value.
3787func (s *CreateFlowTemplateInput) SetCompatibleNamespaceVersion(v int64) *CreateFlowTemplateInput {
3788	s.CompatibleNamespaceVersion = &v
3789	return s
3790}
3791
3792// SetDefinition sets the Definition field's value.
3793func (s *CreateFlowTemplateInput) SetDefinition(v *DefinitionDocument) *CreateFlowTemplateInput {
3794	s.Definition = v
3795	return s
3796}
3797
3798type CreateFlowTemplateOutput struct {
3799	_ struct{} `type:"structure"`
3800
3801	// The summary object that describes the created workflow.
3802	Summary *FlowTemplateSummary `locationName:"summary" type:"structure"`
3803}
3804
3805// String returns the string representation
3806func (s CreateFlowTemplateOutput) String() string {
3807	return awsutil.Prettify(s)
3808}
3809
3810// GoString returns the string representation
3811func (s CreateFlowTemplateOutput) GoString() string {
3812	return s.String()
3813}
3814
3815// SetSummary sets the Summary field's value.
3816func (s *CreateFlowTemplateOutput) SetSummary(v *FlowTemplateSummary) *CreateFlowTemplateOutput {
3817	s.Summary = v
3818	return s
3819}
3820
3821type CreateSystemInstanceInput struct {
3822	_ struct{} `type:"structure"`
3823
3824	// A document that defines an entity.
3825	//
3826	// Definition is a required field
3827	Definition *DefinitionDocument `locationName:"definition" type:"structure" required:"true"`
3828
3829	// The ARN of the IAM role that AWS IoT Things Graph will assume when it executes
3830	// the flow. This role must have read and write access to AWS Lambda and AWS
3831	// IoT and any other AWS services that the flow uses when it executes. This
3832	// value is required if the value of the target parameter is CLOUD.
3833	FlowActionsRoleArn *string `locationName:"flowActionsRoleArn" min:"20" type:"string"`
3834
3835	// The name of the Greengrass group where the system instance will be deployed.
3836	// This value is required if the value of the target parameter is GREENGRASS.
3837	GreengrassGroupName *string `locationName:"greengrassGroupName" type:"string"`
3838
3839	// An object that specifies whether cloud metrics are collected in a deployment
3840	// and, if so, what role is used to collect metrics.
3841	MetricsConfiguration *MetricsConfiguration `locationName:"metricsConfiguration" type:"structure"`
3842
3843	// The name of the Amazon Simple Storage Service bucket that will be used to
3844	// store and deploy the system instance's resource file. This value is required
3845	// if the value of the target parameter is GREENGRASS.
3846	S3BucketName *string `locationName:"s3BucketName" type:"string"`
3847
3848	// Metadata, consisting of key-value pairs, that can be used to categorize your
3849	// system instances.
3850	Tags []*Tag `locationName:"tags" type:"list"`
3851
3852	// The target type of the deployment. Valid values are GREENGRASS and CLOUD.
3853	//
3854	// Target is a required field
3855	Target *string `locationName:"target" type:"string" required:"true" enum:"DeploymentTarget"`
3856}
3857
3858// String returns the string representation
3859func (s CreateSystemInstanceInput) String() string {
3860	return awsutil.Prettify(s)
3861}
3862
3863// GoString returns the string representation
3864func (s CreateSystemInstanceInput) GoString() string {
3865	return s.String()
3866}
3867
3868// Validate inspects the fields of the type to determine if they are valid.
3869func (s *CreateSystemInstanceInput) Validate() error {
3870	invalidParams := request.ErrInvalidParams{Context: "CreateSystemInstanceInput"}
3871	if s.Definition == nil {
3872		invalidParams.Add(request.NewErrParamRequired("Definition"))
3873	}
3874	if s.FlowActionsRoleArn != nil && len(*s.FlowActionsRoleArn) < 20 {
3875		invalidParams.Add(request.NewErrParamMinLen("FlowActionsRoleArn", 20))
3876	}
3877	if s.Target == nil {
3878		invalidParams.Add(request.NewErrParamRequired("Target"))
3879	}
3880	if s.Definition != nil {
3881		if err := s.Definition.Validate(); err != nil {
3882			invalidParams.AddNested("Definition", err.(request.ErrInvalidParams))
3883		}
3884	}
3885	if s.MetricsConfiguration != nil {
3886		if err := s.MetricsConfiguration.Validate(); err != nil {
3887			invalidParams.AddNested("MetricsConfiguration", err.(request.ErrInvalidParams))
3888		}
3889	}
3890	if s.Tags != nil {
3891		for i, v := range s.Tags {
3892			if v == nil {
3893				continue
3894			}
3895			if err := v.Validate(); err != nil {
3896				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3897			}
3898		}
3899	}
3900
3901	if invalidParams.Len() > 0 {
3902		return invalidParams
3903	}
3904	return nil
3905}
3906
3907// SetDefinition sets the Definition field's value.
3908func (s *CreateSystemInstanceInput) SetDefinition(v *DefinitionDocument) *CreateSystemInstanceInput {
3909	s.Definition = v
3910	return s
3911}
3912
3913// SetFlowActionsRoleArn sets the FlowActionsRoleArn field's value.
3914func (s *CreateSystemInstanceInput) SetFlowActionsRoleArn(v string) *CreateSystemInstanceInput {
3915	s.FlowActionsRoleArn = &v
3916	return s
3917}
3918
3919// SetGreengrassGroupName sets the GreengrassGroupName field's value.
3920func (s *CreateSystemInstanceInput) SetGreengrassGroupName(v string) *CreateSystemInstanceInput {
3921	s.GreengrassGroupName = &v
3922	return s
3923}
3924
3925// SetMetricsConfiguration sets the MetricsConfiguration field's value.
3926func (s *CreateSystemInstanceInput) SetMetricsConfiguration(v *MetricsConfiguration) *CreateSystemInstanceInput {
3927	s.MetricsConfiguration = v
3928	return s
3929}
3930
3931// SetS3BucketName sets the S3BucketName field's value.
3932func (s *CreateSystemInstanceInput) SetS3BucketName(v string) *CreateSystemInstanceInput {
3933	s.S3BucketName = &v
3934	return s
3935}
3936
3937// SetTags sets the Tags field's value.
3938func (s *CreateSystemInstanceInput) SetTags(v []*Tag) *CreateSystemInstanceInput {
3939	s.Tags = v
3940	return s
3941}
3942
3943// SetTarget sets the Target field's value.
3944func (s *CreateSystemInstanceInput) SetTarget(v string) *CreateSystemInstanceInput {
3945	s.Target = &v
3946	return s
3947}
3948
3949type CreateSystemInstanceOutput struct {
3950	_ struct{} `type:"structure"`
3951
3952	// The summary object that describes the new system instance.
3953	Summary *SystemInstanceSummary `locationName:"summary" type:"structure"`
3954}
3955
3956// String returns the string representation
3957func (s CreateSystemInstanceOutput) String() string {
3958	return awsutil.Prettify(s)
3959}
3960
3961// GoString returns the string representation
3962func (s CreateSystemInstanceOutput) GoString() string {
3963	return s.String()
3964}
3965
3966// SetSummary sets the Summary field's value.
3967func (s *CreateSystemInstanceOutput) SetSummary(v *SystemInstanceSummary) *CreateSystemInstanceOutput {
3968	s.Summary = v
3969	return s
3970}
3971
3972type CreateSystemTemplateInput struct {
3973	_ struct{} `type:"structure"`
3974
3975	// The namespace version in which the system is to be created.
3976	//
3977	// If no value is specified, the latest version is used by default.
3978	CompatibleNamespaceVersion *int64 `locationName:"compatibleNamespaceVersion" type:"long"`
3979
3980	// The DefinitionDocument used to create the system.
3981	//
3982	// Definition is a required field
3983	Definition *DefinitionDocument `locationName:"definition" type:"structure" required:"true"`
3984}
3985
3986// String returns the string representation
3987func (s CreateSystemTemplateInput) String() string {
3988	return awsutil.Prettify(s)
3989}
3990
3991// GoString returns the string representation
3992func (s CreateSystemTemplateInput) GoString() string {
3993	return s.String()
3994}
3995
3996// Validate inspects the fields of the type to determine if they are valid.
3997func (s *CreateSystemTemplateInput) Validate() error {
3998	invalidParams := request.ErrInvalidParams{Context: "CreateSystemTemplateInput"}
3999	if s.Definition == nil {
4000		invalidParams.Add(request.NewErrParamRequired("Definition"))
4001	}
4002	if s.Definition != nil {
4003		if err := s.Definition.Validate(); err != nil {
4004			invalidParams.AddNested("Definition", err.(request.ErrInvalidParams))
4005		}
4006	}
4007
4008	if invalidParams.Len() > 0 {
4009		return invalidParams
4010	}
4011	return nil
4012}
4013
4014// SetCompatibleNamespaceVersion sets the CompatibleNamespaceVersion field's value.
4015func (s *CreateSystemTemplateInput) SetCompatibleNamespaceVersion(v int64) *CreateSystemTemplateInput {
4016	s.CompatibleNamespaceVersion = &v
4017	return s
4018}
4019
4020// SetDefinition sets the Definition field's value.
4021func (s *CreateSystemTemplateInput) SetDefinition(v *DefinitionDocument) *CreateSystemTemplateInput {
4022	s.Definition = v
4023	return s
4024}
4025
4026type CreateSystemTemplateOutput struct {
4027	_ struct{} `type:"structure"`
4028
4029	// The summary object that describes the created system.
4030	Summary *SystemTemplateSummary `locationName:"summary" type:"structure"`
4031}
4032
4033// String returns the string representation
4034func (s CreateSystemTemplateOutput) String() string {
4035	return awsutil.Prettify(s)
4036}
4037
4038// GoString returns the string representation
4039func (s CreateSystemTemplateOutput) GoString() string {
4040	return s.String()
4041}
4042
4043// SetSummary sets the Summary field's value.
4044func (s *CreateSystemTemplateOutput) SetSummary(v *SystemTemplateSummary) *CreateSystemTemplateOutput {
4045	s.Summary = v
4046	return s
4047}
4048
4049// A document that defines an entity.
4050type DefinitionDocument struct {
4051	_ struct{} `type:"structure"`
4052
4053	// The language used to define the entity. GRAPHQL is the only valid value.
4054	//
4055	// Language is a required field
4056	Language *string `locationName:"language" type:"string" required:"true" enum:"DefinitionLanguage"`
4057
4058	// The GraphQL text that defines the entity.
4059	//
4060	// Text is a required field
4061	Text *string `locationName:"text" type:"string" required:"true"`
4062}
4063
4064// String returns the string representation
4065func (s DefinitionDocument) String() string {
4066	return awsutil.Prettify(s)
4067}
4068
4069// GoString returns the string representation
4070func (s DefinitionDocument) GoString() string {
4071	return s.String()
4072}
4073
4074// Validate inspects the fields of the type to determine if they are valid.
4075func (s *DefinitionDocument) Validate() error {
4076	invalidParams := request.ErrInvalidParams{Context: "DefinitionDocument"}
4077	if s.Language == nil {
4078		invalidParams.Add(request.NewErrParamRequired("Language"))
4079	}
4080	if s.Text == nil {
4081		invalidParams.Add(request.NewErrParamRequired("Text"))
4082	}
4083
4084	if invalidParams.Len() > 0 {
4085		return invalidParams
4086	}
4087	return nil
4088}
4089
4090// SetLanguage sets the Language field's value.
4091func (s *DefinitionDocument) SetLanguage(v string) *DefinitionDocument {
4092	s.Language = &v
4093	return s
4094}
4095
4096// SetText sets the Text field's value.
4097func (s *DefinitionDocument) SetText(v string) *DefinitionDocument {
4098	s.Text = &v
4099	return s
4100}
4101
4102type DeleteFlowTemplateInput struct {
4103	_ struct{} `type:"structure"`
4104
4105	// The ID of the workflow to be deleted.
4106	//
4107	// The ID should be in the following format.
4108	//
4109	// urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME
4110	//
4111	// Id is a required field
4112	Id *string `locationName:"id" type:"string" required:"true"`
4113}
4114
4115// String returns the string representation
4116func (s DeleteFlowTemplateInput) String() string {
4117	return awsutil.Prettify(s)
4118}
4119
4120// GoString returns the string representation
4121func (s DeleteFlowTemplateInput) GoString() string {
4122	return s.String()
4123}
4124
4125// Validate inspects the fields of the type to determine if they are valid.
4126func (s *DeleteFlowTemplateInput) Validate() error {
4127	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowTemplateInput"}
4128	if s.Id == nil {
4129		invalidParams.Add(request.NewErrParamRequired("Id"))
4130	}
4131
4132	if invalidParams.Len() > 0 {
4133		return invalidParams
4134	}
4135	return nil
4136}
4137
4138// SetId sets the Id field's value.
4139func (s *DeleteFlowTemplateInput) SetId(v string) *DeleteFlowTemplateInput {
4140	s.Id = &v
4141	return s
4142}
4143
4144type DeleteFlowTemplateOutput struct {
4145	_ struct{} `type:"structure"`
4146}
4147
4148// String returns the string representation
4149func (s DeleteFlowTemplateOutput) String() string {
4150	return awsutil.Prettify(s)
4151}
4152
4153// GoString returns the string representation
4154func (s DeleteFlowTemplateOutput) GoString() string {
4155	return s.String()
4156}
4157
4158type DeleteNamespaceInput struct {
4159	_ struct{} `type:"structure"`
4160}
4161
4162// String returns the string representation
4163func (s DeleteNamespaceInput) String() string {
4164	return awsutil.Prettify(s)
4165}
4166
4167// GoString returns the string representation
4168func (s DeleteNamespaceInput) GoString() string {
4169	return s.String()
4170}
4171
4172type DeleteNamespaceOutput struct {
4173	_ struct{} `type:"structure"`
4174
4175	// The ARN of the namespace to be deleted.
4176	NamespaceArn *string `locationName:"namespaceArn" type:"string"`
4177
4178	// The name of the namespace to be deleted.
4179	NamespaceName *string `locationName:"namespaceName" type:"string"`
4180}
4181
4182// String returns the string representation
4183func (s DeleteNamespaceOutput) String() string {
4184	return awsutil.Prettify(s)
4185}
4186
4187// GoString returns the string representation
4188func (s DeleteNamespaceOutput) GoString() string {
4189	return s.String()
4190}
4191
4192// SetNamespaceArn sets the NamespaceArn field's value.
4193func (s *DeleteNamespaceOutput) SetNamespaceArn(v string) *DeleteNamespaceOutput {
4194	s.NamespaceArn = &v
4195	return s
4196}
4197
4198// SetNamespaceName sets the NamespaceName field's value.
4199func (s *DeleteNamespaceOutput) SetNamespaceName(v string) *DeleteNamespaceOutput {
4200	s.NamespaceName = &v
4201	return s
4202}
4203
4204type DeleteSystemInstanceInput struct {
4205	_ struct{} `type:"structure"`
4206
4207	// The ID of the system instance to be deleted.
4208	Id *string `locationName:"id" type:"string"`
4209}
4210
4211// String returns the string representation
4212func (s DeleteSystemInstanceInput) String() string {
4213	return awsutil.Prettify(s)
4214}
4215
4216// GoString returns the string representation
4217func (s DeleteSystemInstanceInput) GoString() string {
4218	return s.String()
4219}
4220
4221// SetId sets the Id field's value.
4222func (s *DeleteSystemInstanceInput) SetId(v string) *DeleteSystemInstanceInput {
4223	s.Id = &v
4224	return s
4225}
4226
4227type DeleteSystemInstanceOutput struct {
4228	_ struct{} `type:"structure"`
4229}
4230
4231// String returns the string representation
4232func (s DeleteSystemInstanceOutput) String() string {
4233	return awsutil.Prettify(s)
4234}
4235
4236// GoString returns the string representation
4237func (s DeleteSystemInstanceOutput) GoString() string {
4238	return s.String()
4239}
4240
4241type DeleteSystemTemplateInput struct {
4242	_ struct{} `type:"structure"`
4243
4244	// The ID of the system to be deleted.
4245	//
4246	// The ID should be in the following format.
4247	//
4248	// urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME
4249	//
4250	// Id is a required field
4251	Id *string `locationName:"id" type:"string" required:"true"`
4252}
4253
4254// String returns the string representation
4255func (s DeleteSystemTemplateInput) String() string {
4256	return awsutil.Prettify(s)
4257}
4258
4259// GoString returns the string representation
4260func (s DeleteSystemTemplateInput) GoString() string {
4261	return s.String()
4262}
4263
4264// Validate inspects the fields of the type to determine if they are valid.
4265func (s *DeleteSystemTemplateInput) Validate() error {
4266	invalidParams := request.ErrInvalidParams{Context: "DeleteSystemTemplateInput"}
4267	if s.Id == nil {
4268		invalidParams.Add(request.NewErrParamRequired("Id"))
4269	}
4270
4271	if invalidParams.Len() > 0 {
4272		return invalidParams
4273	}
4274	return nil
4275}
4276
4277// SetId sets the Id field's value.
4278func (s *DeleteSystemTemplateInput) SetId(v string) *DeleteSystemTemplateInput {
4279	s.Id = &v
4280	return s
4281}
4282
4283type DeleteSystemTemplateOutput struct {
4284	_ struct{} `type:"structure"`
4285}
4286
4287// String returns the string representation
4288func (s DeleteSystemTemplateOutput) String() string {
4289	return awsutil.Prettify(s)
4290}
4291
4292// GoString returns the string representation
4293func (s DeleteSystemTemplateOutput) GoString() string {
4294	return s.String()
4295}
4296
4297// An object that contains the ID and revision number of a workflow or system
4298// that is part of a deployment.
4299type DependencyRevision struct {
4300	_ struct{} `type:"structure"`
4301
4302	// The ID of the workflow or system.
4303	Id *string `locationName:"id" type:"string"`
4304
4305	// The revision number of the workflow or system.
4306	RevisionNumber *int64 `locationName:"revisionNumber" type:"long"`
4307}
4308
4309// String returns the string representation
4310func (s DependencyRevision) String() string {
4311	return awsutil.Prettify(s)
4312}
4313
4314// GoString returns the string representation
4315func (s DependencyRevision) GoString() string {
4316	return s.String()
4317}
4318
4319// SetId sets the Id field's value.
4320func (s *DependencyRevision) SetId(v string) *DependencyRevision {
4321	s.Id = &v
4322	return s
4323}
4324
4325// SetRevisionNumber sets the RevisionNumber field's value.
4326func (s *DependencyRevision) SetRevisionNumber(v int64) *DependencyRevision {
4327	s.RevisionNumber = &v
4328	return s
4329}
4330
4331type DeploySystemInstanceInput struct {
4332	_ struct{} `type:"structure"`
4333
4334	// The ID of the system instance. This value is returned by the CreateSystemInstance
4335	// action.
4336	//
4337	// The ID should be in the following format.
4338	//
4339	// urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME
4340	Id *string `locationName:"id" type:"string"`
4341}
4342
4343// String returns the string representation
4344func (s DeploySystemInstanceInput) String() string {
4345	return awsutil.Prettify(s)
4346}
4347
4348// GoString returns the string representation
4349func (s DeploySystemInstanceInput) GoString() string {
4350	return s.String()
4351}
4352
4353// SetId sets the Id field's value.
4354func (s *DeploySystemInstanceInput) SetId(v string) *DeploySystemInstanceInput {
4355	s.Id = &v
4356	return s
4357}
4358
4359type DeploySystemInstanceOutput struct {
4360	_ struct{} `type:"structure"`
4361
4362	// The ID of the Greengrass deployment used to deploy the system instance.
4363	GreengrassDeploymentId *string `locationName:"greengrassDeploymentId" type:"string"`
4364
4365	// An object that contains summary information about a system instance that
4366	// was deployed.
4367	//
4368	// Summary is a required field
4369	Summary *SystemInstanceSummary `locationName:"summary" type:"structure" required:"true"`
4370}
4371
4372// String returns the string representation
4373func (s DeploySystemInstanceOutput) String() string {
4374	return awsutil.Prettify(s)
4375}
4376
4377// GoString returns the string representation
4378func (s DeploySystemInstanceOutput) GoString() string {
4379	return s.String()
4380}
4381
4382// SetGreengrassDeploymentId sets the GreengrassDeploymentId field's value.
4383func (s *DeploySystemInstanceOutput) SetGreengrassDeploymentId(v string) *DeploySystemInstanceOutput {
4384	s.GreengrassDeploymentId = &v
4385	return s
4386}
4387
4388// SetSummary sets the Summary field's value.
4389func (s *DeploySystemInstanceOutput) SetSummary(v *SystemInstanceSummary) *DeploySystemInstanceOutput {
4390	s.Summary = v
4391	return s
4392}
4393
4394type DeprecateFlowTemplateInput struct {
4395	_ struct{} `type:"structure"`
4396
4397	// The ID of the workflow to be deleted.
4398	//
4399	// The ID should be in the following format.
4400	//
4401	// urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME
4402	//
4403	// Id is a required field
4404	Id *string `locationName:"id" type:"string" required:"true"`
4405}
4406
4407// String returns the string representation
4408func (s DeprecateFlowTemplateInput) String() string {
4409	return awsutil.Prettify(s)
4410}
4411
4412// GoString returns the string representation
4413func (s DeprecateFlowTemplateInput) GoString() string {
4414	return s.String()
4415}
4416
4417// Validate inspects the fields of the type to determine if they are valid.
4418func (s *DeprecateFlowTemplateInput) Validate() error {
4419	invalidParams := request.ErrInvalidParams{Context: "DeprecateFlowTemplateInput"}
4420	if s.Id == nil {
4421		invalidParams.Add(request.NewErrParamRequired("Id"))
4422	}
4423
4424	if invalidParams.Len() > 0 {
4425		return invalidParams
4426	}
4427	return nil
4428}
4429
4430// SetId sets the Id field's value.
4431func (s *DeprecateFlowTemplateInput) SetId(v string) *DeprecateFlowTemplateInput {
4432	s.Id = &v
4433	return s
4434}
4435
4436type DeprecateFlowTemplateOutput struct {
4437	_ struct{} `type:"structure"`
4438}
4439
4440// String returns the string representation
4441func (s DeprecateFlowTemplateOutput) String() string {
4442	return awsutil.Prettify(s)
4443}
4444
4445// GoString returns the string representation
4446func (s DeprecateFlowTemplateOutput) GoString() string {
4447	return s.String()
4448}
4449
4450type DeprecateSystemTemplateInput struct {
4451	_ struct{} `type:"structure"`
4452
4453	// The ID of the system to delete.
4454	//
4455	// The ID should be in the following format.
4456	//
4457	// urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME
4458	//
4459	// Id is a required field
4460	Id *string `locationName:"id" type:"string" required:"true"`
4461}
4462
4463// String returns the string representation
4464func (s DeprecateSystemTemplateInput) String() string {
4465	return awsutil.Prettify(s)
4466}
4467
4468// GoString returns the string representation
4469func (s DeprecateSystemTemplateInput) GoString() string {
4470	return s.String()
4471}
4472
4473// Validate inspects the fields of the type to determine if they are valid.
4474func (s *DeprecateSystemTemplateInput) Validate() error {
4475	invalidParams := request.ErrInvalidParams{Context: "DeprecateSystemTemplateInput"}
4476	if s.Id == nil {
4477		invalidParams.Add(request.NewErrParamRequired("Id"))
4478	}
4479
4480	if invalidParams.Len() > 0 {
4481		return invalidParams
4482	}
4483	return nil
4484}
4485
4486// SetId sets the Id field's value.
4487func (s *DeprecateSystemTemplateInput) SetId(v string) *DeprecateSystemTemplateInput {
4488	s.Id = &v
4489	return s
4490}
4491
4492type DeprecateSystemTemplateOutput struct {
4493	_ struct{} `type:"structure"`
4494}
4495
4496// String returns the string representation
4497func (s DeprecateSystemTemplateOutput) String() string {
4498	return awsutil.Prettify(s)
4499}
4500
4501// GoString returns the string representation
4502func (s DeprecateSystemTemplateOutput) GoString() string {
4503	return s.String()
4504}
4505
4506type DescribeNamespaceInput struct {
4507	_ struct{} `type:"structure"`
4508
4509	// The name of the user's namespace. Set this to aws to get the public namespace.
4510	NamespaceName *string `locationName:"namespaceName" type:"string"`
4511}
4512
4513// String returns the string representation
4514func (s DescribeNamespaceInput) String() string {
4515	return awsutil.Prettify(s)
4516}
4517
4518// GoString returns the string representation
4519func (s DescribeNamespaceInput) GoString() string {
4520	return s.String()
4521}
4522
4523// SetNamespaceName sets the NamespaceName field's value.
4524func (s *DescribeNamespaceInput) SetNamespaceName(v string) *DescribeNamespaceInput {
4525	s.NamespaceName = &v
4526	return s
4527}
4528
4529type DescribeNamespaceOutput struct {
4530	_ struct{} `type:"structure"`
4531
4532	// The ARN of the namespace.
4533	NamespaceArn *string `locationName:"namespaceArn" type:"string"`
4534
4535	// The name of the namespace.
4536	NamespaceName *string `locationName:"namespaceName" type:"string"`
4537
4538	// The version of the user's namespace to describe.
4539	NamespaceVersion *int64 `locationName:"namespaceVersion" type:"long"`
4540
4541	// The name of the public namespace that the latest namespace version is tracking.
4542	TrackingNamespaceName *string `locationName:"trackingNamespaceName" type:"string"`
4543
4544	// The version of the public namespace that the latest version is tracking.
4545	TrackingNamespaceVersion *int64 `locationName:"trackingNamespaceVersion" type:"long"`
4546}
4547
4548// String returns the string representation
4549func (s DescribeNamespaceOutput) String() string {
4550	return awsutil.Prettify(s)
4551}
4552
4553// GoString returns the string representation
4554func (s DescribeNamespaceOutput) GoString() string {
4555	return s.String()
4556}
4557
4558// SetNamespaceArn sets the NamespaceArn field's value.
4559func (s *DescribeNamespaceOutput) SetNamespaceArn(v string) *DescribeNamespaceOutput {
4560	s.NamespaceArn = &v
4561	return s
4562}
4563
4564// SetNamespaceName sets the NamespaceName field's value.
4565func (s *DescribeNamespaceOutput) SetNamespaceName(v string) *DescribeNamespaceOutput {
4566	s.NamespaceName = &v
4567	return s
4568}
4569
4570// SetNamespaceVersion sets the NamespaceVersion field's value.
4571func (s *DescribeNamespaceOutput) SetNamespaceVersion(v int64) *DescribeNamespaceOutput {
4572	s.NamespaceVersion = &v
4573	return s
4574}
4575
4576// SetTrackingNamespaceName sets the TrackingNamespaceName field's value.
4577func (s *DescribeNamespaceOutput) SetTrackingNamespaceName(v string) *DescribeNamespaceOutput {
4578	s.TrackingNamespaceName = &v
4579	return s
4580}
4581
4582// SetTrackingNamespaceVersion sets the TrackingNamespaceVersion field's value.
4583func (s *DescribeNamespaceOutput) SetTrackingNamespaceVersion(v int64) *DescribeNamespaceOutput {
4584	s.TrackingNamespaceVersion = &v
4585	return s
4586}
4587
4588type DissociateEntityFromThingInput struct {
4589	_ struct{} `type:"structure"`
4590
4591	// The entity type from which to disassociate the thing.
4592	//
4593	// EntityType is a required field
4594	EntityType *string `locationName:"entityType" type:"string" required:"true" enum:"EntityType"`
4595
4596	// The name of the thing to disassociate.
4597	//
4598	// ThingName is a required field
4599	ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"`
4600}
4601
4602// String returns the string representation
4603func (s DissociateEntityFromThingInput) String() string {
4604	return awsutil.Prettify(s)
4605}
4606
4607// GoString returns the string representation
4608func (s DissociateEntityFromThingInput) GoString() string {
4609	return s.String()
4610}
4611
4612// Validate inspects the fields of the type to determine if they are valid.
4613func (s *DissociateEntityFromThingInput) Validate() error {
4614	invalidParams := request.ErrInvalidParams{Context: "DissociateEntityFromThingInput"}
4615	if s.EntityType == nil {
4616		invalidParams.Add(request.NewErrParamRequired("EntityType"))
4617	}
4618	if s.ThingName == nil {
4619		invalidParams.Add(request.NewErrParamRequired("ThingName"))
4620	}
4621	if s.ThingName != nil && len(*s.ThingName) < 1 {
4622		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
4623	}
4624
4625	if invalidParams.Len() > 0 {
4626		return invalidParams
4627	}
4628	return nil
4629}
4630
4631// SetEntityType sets the EntityType field's value.
4632func (s *DissociateEntityFromThingInput) SetEntityType(v string) *DissociateEntityFromThingInput {
4633	s.EntityType = &v
4634	return s
4635}
4636
4637// SetThingName sets the ThingName field's value.
4638func (s *DissociateEntityFromThingInput) SetThingName(v string) *DissociateEntityFromThingInput {
4639	s.ThingName = &v
4640	return s
4641}
4642
4643type DissociateEntityFromThingOutput struct {
4644	_ struct{} `type:"structure"`
4645}
4646
4647// String returns the string representation
4648func (s DissociateEntityFromThingOutput) String() string {
4649	return awsutil.Prettify(s)
4650}
4651
4652// GoString returns the string representation
4653func (s DissociateEntityFromThingOutput) GoString() string {
4654	return s.String()
4655}
4656
4657// Describes the properties of an entity.
4658type EntityDescription struct {
4659	_ struct{} `type:"structure"`
4660
4661	// The entity ARN.
4662	Arn *string `locationName:"arn" type:"string"`
4663
4664	// The time at which the entity was created.
4665	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4666
4667	// The definition document of the entity.
4668	Definition *DefinitionDocument `locationName:"definition" type:"structure"`
4669
4670	// The entity ID.
4671	Id *string `locationName:"id" type:"string"`
4672
4673	// The entity type.
4674	Type *string `locationName:"type" type:"string" enum:"EntityType"`
4675}
4676
4677// String returns the string representation
4678func (s EntityDescription) String() string {
4679	return awsutil.Prettify(s)
4680}
4681
4682// GoString returns the string representation
4683func (s EntityDescription) GoString() string {
4684	return s.String()
4685}
4686
4687// SetArn sets the Arn field's value.
4688func (s *EntityDescription) SetArn(v string) *EntityDescription {
4689	s.Arn = &v
4690	return s
4691}
4692
4693// SetCreatedAt sets the CreatedAt field's value.
4694func (s *EntityDescription) SetCreatedAt(v time.Time) *EntityDescription {
4695	s.CreatedAt = &v
4696	return s
4697}
4698
4699// SetDefinition sets the Definition field's value.
4700func (s *EntityDescription) SetDefinition(v *DefinitionDocument) *EntityDescription {
4701	s.Definition = v
4702	return s
4703}
4704
4705// SetId sets the Id field's value.
4706func (s *EntityDescription) SetId(v string) *EntityDescription {
4707	s.Id = &v
4708	return s
4709}
4710
4711// SetType sets the Type field's value.
4712func (s *EntityDescription) SetType(v string) *EntityDescription {
4713	s.Type = &v
4714	return s
4715}
4716
4717// An object that filters an entity search. Multiple filters function as OR
4718// criteria in the search. For example a search that includes a NAMESPACE and
4719// a REFERENCED_ENTITY_ID filter searches for entities in the specified namespace
4720// that use the entity specified by the value of REFERENCED_ENTITY_ID.
4721type EntityFilter struct {
4722	_ struct{} `type:"structure"`
4723
4724	// The name of the entity search filter field. REFERENCED_ENTITY_ID filters
4725	// on entities that are used by the entity in the result set. For example, you
4726	// can filter on the ID of a property that is used in a state.
4727	Name *string `locationName:"name" type:"string" enum:"EntityFilterName"`
4728
4729	// An array of string values for the search filter field. Multiple values function
4730	// as AND criteria in the search.
4731	Value []*string `locationName:"value" type:"list"`
4732}
4733
4734// String returns the string representation
4735func (s EntityFilter) String() string {
4736	return awsutil.Prettify(s)
4737}
4738
4739// GoString returns the string representation
4740func (s EntityFilter) GoString() string {
4741	return s.String()
4742}
4743
4744// SetName sets the Name field's value.
4745func (s *EntityFilter) SetName(v string) *EntityFilter {
4746	s.Name = &v
4747	return s
4748}
4749
4750// SetValue sets the Value field's value.
4751func (s *EntityFilter) SetValue(v []*string) *EntityFilter {
4752	s.Value = v
4753	return s
4754}
4755
4756// An object that contains information about a flow event.
4757type FlowExecutionMessage struct {
4758	_ struct{} `type:"structure"`
4759
4760	// The type of flow event .
4761	EventType *string `locationName:"eventType" type:"string" enum:"FlowExecutionEventType"`
4762
4763	// The unique identifier of the message.
4764	MessageId *string `locationName:"messageId" type:"string"`
4765
4766	// A string containing information about the flow event.
4767	Payload *string `locationName:"payload" type:"string"`
4768
4769	// The date and time when the message was last updated.
4770	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
4771}
4772
4773// String returns the string representation
4774func (s FlowExecutionMessage) String() string {
4775	return awsutil.Prettify(s)
4776}
4777
4778// GoString returns the string representation
4779func (s FlowExecutionMessage) GoString() string {
4780	return s.String()
4781}
4782
4783// SetEventType sets the EventType field's value.
4784func (s *FlowExecutionMessage) SetEventType(v string) *FlowExecutionMessage {
4785	s.EventType = &v
4786	return s
4787}
4788
4789// SetMessageId sets the MessageId field's value.
4790func (s *FlowExecutionMessage) SetMessageId(v string) *FlowExecutionMessage {
4791	s.MessageId = &v
4792	return s
4793}
4794
4795// SetPayload sets the Payload field's value.
4796func (s *FlowExecutionMessage) SetPayload(v string) *FlowExecutionMessage {
4797	s.Payload = &v
4798	return s
4799}
4800
4801// SetTimestamp sets the Timestamp field's value.
4802func (s *FlowExecutionMessage) SetTimestamp(v time.Time) *FlowExecutionMessage {
4803	s.Timestamp = &v
4804	return s
4805}
4806
4807// An object that contains summary information about a flow execution.
4808type FlowExecutionSummary struct {
4809	_ struct{} `type:"structure"`
4810
4811	// The date and time when the flow execution summary was created.
4812	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4813
4814	// The ID of the flow execution.
4815	FlowExecutionId *string `locationName:"flowExecutionId" type:"string"`
4816
4817	// The ID of the flow.
4818	FlowTemplateId *string `locationName:"flowTemplateId" type:"string"`
4819
4820	// The current status of the flow execution.
4821	Status *string `locationName:"status" type:"string" enum:"FlowExecutionStatus"`
4822
4823	// The ID of the system instance that contains the flow.
4824	SystemInstanceId *string `locationName:"systemInstanceId" type:"string"`
4825
4826	// The date and time when the flow execution summary was last updated.
4827	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
4828}
4829
4830// String returns the string representation
4831func (s FlowExecutionSummary) String() string {
4832	return awsutil.Prettify(s)
4833}
4834
4835// GoString returns the string representation
4836func (s FlowExecutionSummary) GoString() string {
4837	return s.String()
4838}
4839
4840// SetCreatedAt sets the CreatedAt field's value.
4841func (s *FlowExecutionSummary) SetCreatedAt(v time.Time) *FlowExecutionSummary {
4842	s.CreatedAt = &v
4843	return s
4844}
4845
4846// SetFlowExecutionId sets the FlowExecutionId field's value.
4847func (s *FlowExecutionSummary) SetFlowExecutionId(v string) *FlowExecutionSummary {
4848	s.FlowExecutionId = &v
4849	return s
4850}
4851
4852// SetFlowTemplateId sets the FlowTemplateId field's value.
4853func (s *FlowExecutionSummary) SetFlowTemplateId(v string) *FlowExecutionSummary {
4854	s.FlowTemplateId = &v
4855	return s
4856}
4857
4858// SetStatus sets the Status field's value.
4859func (s *FlowExecutionSummary) SetStatus(v string) *FlowExecutionSummary {
4860	s.Status = &v
4861	return s
4862}
4863
4864// SetSystemInstanceId sets the SystemInstanceId field's value.
4865func (s *FlowExecutionSummary) SetSystemInstanceId(v string) *FlowExecutionSummary {
4866	s.SystemInstanceId = &v
4867	return s
4868}
4869
4870// SetUpdatedAt sets the UpdatedAt field's value.
4871func (s *FlowExecutionSummary) SetUpdatedAt(v time.Time) *FlowExecutionSummary {
4872	s.UpdatedAt = &v
4873	return s
4874}
4875
4876// An object that contains a workflow's definition and summary information.
4877type FlowTemplateDescription struct {
4878	_ struct{} `type:"structure"`
4879
4880	// A workflow's definition document.
4881	Definition *DefinitionDocument `locationName:"definition" type:"structure"`
4882
4883	// An object that contains summary information about a workflow.
4884	Summary *FlowTemplateSummary `locationName:"summary" type:"structure"`
4885
4886	// The version of the user's namespace against which the workflow was validated.
4887	// Use this value in your system instance.
4888	ValidatedNamespaceVersion *int64 `locationName:"validatedNamespaceVersion" type:"long"`
4889}
4890
4891// String returns the string representation
4892func (s FlowTemplateDescription) String() string {
4893	return awsutil.Prettify(s)
4894}
4895
4896// GoString returns the string representation
4897func (s FlowTemplateDescription) GoString() string {
4898	return s.String()
4899}
4900
4901// SetDefinition sets the Definition field's value.
4902func (s *FlowTemplateDescription) SetDefinition(v *DefinitionDocument) *FlowTemplateDescription {
4903	s.Definition = v
4904	return s
4905}
4906
4907// SetSummary sets the Summary field's value.
4908func (s *FlowTemplateDescription) SetSummary(v *FlowTemplateSummary) *FlowTemplateDescription {
4909	s.Summary = v
4910	return s
4911}
4912
4913// SetValidatedNamespaceVersion sets the ValidatedNamespaceVersion field's value.
4914func (s *FlowTemplateDescription) SetValidatedNamespaceVersion(v int64) *FlowTemplateDescription {
4915	s.ValidatedNamespaceVersion = &v
4916	return s
4917}
4918
4919// An object that filters a workflow search.
4920type FlowTemplateFilter struct {
4921	_ struct{} `type:"structure"`
4922
4923	// The name of the search filter field.
4924	//
4925	// Name is a required field
4926	Name *string `locationName:"name" type:"string" required:"true" enum:"FlowTemplateFilterName"`
4927
4928	// An array of string values for the search filter field. Multiple values function
4929	// as AND criteria in the search.
4930	//
4931	// Value is a required field
4932	Value []*string `locationName:"value" type:"list" required:"true"`
4933}
4934
4935// String returns the string representation
4936func (s FlowTemplateFilter) String() string {
4937	return awsutil.Prettify(s)
4938}
4939
4940// GoString returns the string representation
4941func (s FlowTemplateFilter) GoString() string {
4942	return s.String()
4943}
4944
4945// Validate inspects the fields of the type to determine if they are valid.
4946func (s *FlowTemplateFilter) Validate() error {
4947	invalidParams := request.ErrInvalidParams{Context: "FlowTemplateFilter"}
4948	if s.Name == nil {
4949		invalidParams.Add(request.NewErrParamRequired("Name"))
4950	}
4951	if s.Value == nil {
4952		invalidParams.Add(request.NewErrParamRequired("Value"))
4953	}
4954
4955	if invalidParams.Len() > 0 {
4956		return invalidParams
4957	}
4958	return nil
4959}
4960
4961// SetName sets the Name field's value.
4962func (s *FlowTemplateFilter) SetName(v string) *FlowTemplateFilter {
4963	s.Name = &v
4964	return s
4965}
4966
4967// SetValue sets the Value field's value.
4968func (s *FlowTemplateFilter) SetValue(v []*string) *FlowTemplateFilter {
4969	s.Value = v
4970	return s
4971}
4972
4973// An object that contains summary information about a workflow.
4974type FlowTemplateSummary struct {
4975	_ struct{} `type:"structure"`
4976
4977	// The ARN of the workflow.
4978	Arn *string `locationName:"arn" type:"string"`
4979
4980	// The date when the workflow was created.
4981	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4982
4983	// The ID of the workflow.
4984	Id *string `locationName:"id" type:"string"`
4985
4986	// The revision number of the workflow.
4987	RevisionNumber *int64 `locationName:"revisionNumber" type:"long"`
4988}
4989
4990// String returns the string representation
4991func (s FlowTemplateSummary) String() string {
4992	return awsutil.Prettify(s)
4993}
4994
4995// GoString returns the string representation
4996func (s FlowTemplateSummary) GoString() string {
4997	return s.String()
4998}
4999
5000// SetArn sets the Arn field's value.
5001func (s *FlowTemplateSummary) SetArn(v string) *FlowTemplateSummary {
5002	s.Arn = &v
5003	return s
5004}
5005
5006// SetCreatedAt sets the CreatedAt field's value.
5007func (s *FlowTemplateSummary) SetCreatedAt(v time.Time) *FlowTemplateSummary {
5008	s.CreatedAt = &v
5009	return s
5010}
5011
5012// SetId sets the Id field's value.
5013func (s *FlowTemplateSummary) SetId(v string) *FlowTemplateSummary {
5014	s.Id = &v
5015	return s
5016}
5017
5018// SetRevisionNumber sets the RevisionNumber field's value.
5019func (s *FlowTemplateSummary) SetRevisionNumber(v int64) *FlowTemplateSummary {
5020	s.RevisionNumber = &v
5021	return s
5022}
5023
5024type GetEntitiesInput struct {
5025	_ struct{} `type:"structure"`
5026
5027	// An array of entity IDs.
5028	//
5029	// The IDs should be in the following format.
5030	//
5031	// urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME
5032	//
5033	// Ids is a required field
5034	Ids []*string `locationName:"ids" type:"list" required:"true"`
5035
5036	// The version of the user's namespace. Defaults to the latest version of the
5037	// user's namespace.
5038	NamespaceVersion *int64 `locationName:"namespaceVersion" type:"long"`
5039}
5040
5041// String returns the string representation
5042func (s GetEntitiesInput) String() string {
5043	return awsutil.Prettify(s)
5044}
5045
5046// GoString returns the string representation
5047func (s GetEntitiesInput) GoString() string {
5048	return s.String()
5049}
5050
5051// Validate inspects the fields of the type to determine if they are valid.
5052func (s *GetEntitiesInput) Validate() error {
5053	invalidParams := request.ErrInvalidParams{Context: "GetEntitiesInput"}
5054	if s.Ids == nil {
5055		invalidParams.Add(request.NewErrParamRequired("Ids"))
5056	}
5057
5058	if invalidParams.Len() > 0 {
5059		return invalidParams
5060	}
5061	return nil
5062}
5063
5064// SetIds sets the Ids field's value.
5065func (s *GetEntitiesInput) SetIds(v []*string) *GetEntitiesInput {
5066	s.Ids = v
5067	return s
5068}
5069
5070// SetNamespaceVersion sets the NamespaceVersion field's value.
5071func (s *GetEntitiesInput) SetNamespaceVersion(v int64) *GetEntitiesInput {
5072	s.NamespaceVersion = &v
5073	return s
5074}
5075
5076type GetEntitiesOutput struct {
5077	_ struct{} `type:"structure"`
5078
5079	// An array of descriptions for the specified entities.
5080	Descriptions []*EntityDescription `locationName:"descriptions" type:"list"`
5081}
5082
5083// String returns the string representation
5084func (s GetEntitiesOutput) String() string {
5085	return awsutil.Prettify(s)
5086}
5087
5088// GoString returns the string representation
5089func (s GetEntitiesOutput) GoString() string {
5090	return s.String()
5091}
5092
5093// SetDescriptions sets the Descriptions field's value.
5094func (s *GetEntitiesOutput) SetDescriptions(v []*EntityDescription) *GetEntitiesOutput {
5095	s.Descriptions = v
5096	return s
5097}
5098
5099type GetFlowTemplateInput struct {
5100	_ struct{} `type:"structure"`
5101
5102	// The ID of the workflow.
5103	//
5104	// The ID should be in the following format.
5105	//
5106	// urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME
5107	//
5108	// Id is a required field
5109	Id *string `locationName:"id" type:"string" required:"true"`
5110
5111	// The number of the workflow revision to retrieve.
5112	RevisionNumber *int64 `locationName:"revisionNumber" type:"long"`
5113}
5114
5115// String returns the string representation
5116func (s GetFlowTemplateInput) String() string {
5117	return awsutil.Prettify(s)
5118}
5119
5120// GoString returns the string representation
5121func (s GetFlowTemplateInput) GoString() string {
5122	return s.String()
5123}
5124
5125// Validate inspects the fields of the type to determine if they are valid.
5126func (s *GetFlowTemplateInput) Validate() error {
5127	invalidParams := request.ErrInvalidParams{Context: "GetFlowTemplateInput"}
5128	if s.Id == nil {
5129		invalidParams.Add(request.NewErrParamRequired("Id"))
5130	}
5131
5132	if invalidParams.Len() > 0 {
5133		return invalidParams
5134	}
5135	return nil
5136}
5137
5138// SetId sets the Id field's value.
5139func (s *GetFlowTemplateInput) SetId(v string) *GetFlowTemplateInput {
5140	s.Id = &v
5141	return s
5142}
5143
5144// SetRevisionNumber sets the RevisionNumber field's value.
5145func (s *GetFlowTemplateInput) SetRevisionNumber(v int64) *GetFlowTemplateInput {
5146	s.RevisionNumber = &v
5147	return s
5148}
5149
5150type GetFlowTemplateOutput struct {
5151	_ struct{} `type:"structure"`
5152
5153	// The object that describes the specified workflow.
5154	Description *FlowTemplateDescription `locationName:"description" type:"structure"`
5155}
5156
5157// String returns the string representation
5158func (s GetFlowTemplateOutput) String() string {
5159	return awsutil.Prettify(s)
5160}
5161
5162// GoString returns the string representation
5163func (s GetFlowTemplateOutput) GoString() string {
5164	return s.String()
5165}
5166
5167// SetDescription sets the Description field's value.
5168func (s *GetFlowTemplateOutput) SetDescription(v *FlowTemplateDescription) *GetFlowTemplateOutput {
5169	s.Description = v
5170	return s
5171}
5172
5173type GetFlowTemplateRevisionsInput struct {
5174	_ struct{} `type:"structure"`
5175
5176	// The ID of the workflow.
5177	//
5178	// The ID should be in the following format.
5179	//
5180	// urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME
5181	//
5182	// Id is a required field
5183	Id *string `locationName:"id" type:"string" required:"true"`
5184
5185	// The maximum number of results to return in the response.
5186	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5187
5188	// The string that specifies the next page of results. Use this when you're
5189	// paginating results.
5190	NextToken *string `locationName:"nextToken" type:"string"`
5191}
5192
5193// String returns the string representation
5194func (s GetFlowTemplateRevisionsInput) String() string {
5195	return awsutil.Prettify(s)
5196}
5197
5198// GoString returns the string representation
5199func (s GetFlowTemplateRevisionsInput) GoString() string {
5200	return s.String()
5201}
5202
5203// Validate inspects the fields of the type to determine if they are valid.
5204func (s *GetFlowTemplateRevisionsInput) Validate() error {
5205	invalidParams := request.ErrInvalidParams{Context: "GetFlowTemplateRevisionsInput"}
5206	if s.Id == nil {
5207		invalidParams.Add(request.NewErrParamRequired("Id"))
5208	}
5209	if s.MaxResults != nil && *s.MaxResults < 1 {
5210		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5211	}
5212
5213	if invalidParams.Len() > 0 {
5214		return invalidParams
5215	}
5216	return nil
5217}
5218
5219// SetId sets the Id field's value.
5220func (s *GetFlowTemplateRevisionsInput) SetId(v string) *GetFlowTemplateRevisionsInput {
5221	s.Id = &v
5222	return s
5223}
5224
5225// SetMaxResults sets the MaxResults field's value.
5226func (s *GetFlowTemplateRevisionsInput) SetMaxResults(v int64) *GetFlowTemplateRevisionsInput {
5227	s.MaxResults = &v
5228	return s
5229}
5230
5231// SetNextToken sets the NextToken field's value.
5232func (s *GetFlowTemplateRevisionsInput) SetNextToken(v string) *GetFlowTemplateRevisionsInput {
5233	s.NextToken = &v
5234	return s
5235}
5236
5237type GetFlowTemplateRevisionsOutput struct {
5238	_ struct{} `type:"structure"`
5239
5240	// The string to specify as nextToken when you request the next page of results.
5241	NextToken *string `locationName:"nextToken" type:"string"`
5242
5243	// An array of objects that provide summary data about each revision.
5244	Summaries []*FlowTemplateSummary `locationName:"summaries" type:"list"`
5245}
5246
5247// String returns the string representation
5248func (s GetFlowTemplateRevisionsOutput) String() string {
5249	return awsutil.Prettify(s)
5250}
5251
5252// GoString returns the string representation
5253func (s GetFlowTemplateRevisionsOutput) GoString() string {
5254	return s.String()
5255}
5256
5257// SetNextToken sets the NextToken field's value.
5258func (s *GetFlowTemplateRevisionsOutput) SetNextToken(v string) *GetFlowTemplateRevisionsOutput {
5259	s.NextToken = &v
5260	return s
5261}
5262
5263// SetSummaries sets the Summaries field's value.
5264func (s *GetFlowTemplateRevisionsOutput) SetSummaries(v []*FlowTemplateSummary) *GetFlowTemplateRevisionsOutput {
5265	s.Summaries = v
5266	return s
5267}
5268
5269type GetNamespaceDeletionStatusInput struct {
5270	_ struct{} `type:"structure"`
5271}
5272
5273// String returns the string representation
5274func (s GetNamespaceDeletionStatusInput) String() string {
5275	return awsutil.Prettify(s)
5276}
5277
5278// GoString returns the string representation
5279func (s GetNamespaceDeletionStatusInput) GoString() string {
5280	return s.String()
5281}
5282
5283type GetNamespaceDeletionStatusOutput struct {
5284	_ struct{} `type:"structure"`
5285
5286	// An error code returned by the namespace deletion task.
5287	ErrorCode *string `locationName:"errorCode" type:"string" enum:"NamespaceDeletionStatusErrorCodes"`
5288
5289	// An error code returned by the namespace deletion task.
5290	ErrorMessage *string `locationName:"errorMessage" type:"string"`
5291
5292	// The ARN of the namespace that is being deleted.
5293	NamespaceArn *string `locationName:"namespaceArn" type:"string"`
5294
5295	// The name of the namespace that is being deleted.
5296	NamespaceName *string `locationName:"namespaceName" type:"string"`
5297
5298	// The status of the deletion request.
5299	Status *string `locationName:"status" type:"string" enum:"NamespaceDeletionStatus"`
5300}
5301
5302// String returns the string representation
5303func (s GetNamespaceDeletionStatusOutput) String() string {
5304	return awsutil.Prettify(s)
5305}
5306
5307// GoString returns the string representation
5308func (s GetNamespaceDeletionStatusOutput) GoString() string {
5309	return s.String()
5310}
5311
5312// SetErrorCode sets the ErrorCode field's value.
5313func (s *GetNamespaceDeletionStatusOutput) SetErrorCode(v string) *GetNamespaceDeletionStatusOutput {
5314	s.ErrorCode = &v
5315	return s
5316}
5317
5318// SetErrorMessage sets the ErrorMessage field's value.
5319func (s *GetNamespaceDeletionStatusOutput) SetErrorMessage(v string) *GetNamespaceDeletionStatusOutput {
5320	s.ErrorMessage = &v
5321	return s
5322}
5323
5324// SetNamespaceArn sets the NamespaceArn field's value.
5325func (s *GetNamespaceDeletionStatusOutput) SetNamespaceArn(v string) *GetNamespaceDeletionStatusOutput {
5326	s.NamespaceArn = &v
5327	return s
5328}
5329
5330// SetNamespaceName sets the NamespaceName field's value.
5331func (s *GetNamespaceDeletionStatusOutput) SetNamespaceName(v string) *GetNamespaceDeletionStatusOutput {
5332	s.NamespaceName = &v
5333	return s
5334}
5335
5336// SetStatus sets the Status field's value.
5337func (s *GetNamespaceDeletionStatusOutput) SetStatus(v string) *GetNamespaceDeletionStatusOutput {
5338	s.Status = &v
5339	return s
5340}
5341
5342type GetSystemInstanceInput struct {
5343	_ struct{} `type:"structure"`
5344
5345	// The ID of the system deployment instance. This value is returned by CreateSystemInstance.
5346	//
5347	// The ID should be in the following format.
5348	//
5349	// urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME
5350	//
5351	// Id is a required field
5352	Id *string `locationName:"id" type:"string" required:"true"`
5353}
5354
5355// String returns the string representation
5356func (s GetSystemInstanceInput) String() string {
5357	return awsutil.Prettify(s)
5358}
5359
5360// GoString returns the string representation
5361func (s GetSystemInstanceInput) GoString() string {
5362	return s.String()
5363}
5364
5365// Validate inspects the fields of the type to determine if they are valid.
5366func (s *GetSystemInstanceInput) Validate() error {
5367	invalidParams := request.ErrInvalidParams{Context: "GetSystemInstanceInput"}
5368	if s.Id == nil {
5369		invalidParams.Add(request.NewErrParamRequired("Id"))
5370	}
5371
5372	if invalidParams.Len() > 0 {
5373		return invalidParams
5374	}
5375	return nil
5376}
5377
5378// SetId sets the Id field's value.
5379func (s *GetSystemInstanceInput) SetId(v string) *GetSystemInstanceInput {
5380	s.Id = &v
5381	return s
5382}
5383
5384type GetSystemInstanceOutput struct {
5385	_ struct{} `type:"structure"`
5386
5387	// An object that describes the system instance.
5388	Description *SystemInstanceDescription `locationName:"description" type:"structure"`
5389}
5390
5391// String returns the string representation
5392func (s GetSystemInstanceOutput) String() string {
5393	return awsutil.Prettify(s)
5394}
5395
5396// GoString returns the string representation
5397func (s GetSystemInstanceOutput) GoString() string {
5398	return s.String()
5399}
5400
5401// SetDescription sets the Description field's value.
5402func (s *GetSystemInstanceOutput) SetDescription(v *SystemInstanceDescription) *GetSystemInstanceOutput {
5403	s.Description = v
5404	return s
5405}
5406
5407type GetSystemTemplateInput struct {
5408	_ struct{} `type:"structure"`
5409
5410	// The ID of the system to get. This ID must be in the user's namespace.
5411	//
5412	// The ID should be in the following format.
5413	//
5414	// urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME
5415	//
5416	// Id is a required field
5417	Id *string `locationName:"id" type:"string" required:"true"`
5418
5419	// The number that specifies the revision of the system to get.
5420	RevisionNumber *int64 `locationName:"revisionNumber" type:"long"`
5421}
5422
5423// String returns the string representation
5424func (s GetSystemTemplateInput) String() string {
5425	return awsutil.Prettify(s)
5426}
5427
5428// GoString returns the string representation
5429func (s GetSystemTemplateInput) GoString() string {
5430	return s.String()
5431}
5432
5433// Validate inspects the fields of the type to determine if they are valid.
5434func (s *GetSystemTemplateInput) Validate() error {
5435	invalidParams := request.ErrInvalidParams{Context: "GetSystemTemplateInput"}
5436	if s.Id == nil {
5437		invalidParams.Add(request.NewErrParamRequired("Id"))
5438	}
5439
5440	if invalidParams.Len() > 0 {
5441		return invalidParams
5442	}
5443	return nil
5444}
5445
5446// SetId sets the Id field's value.
5447func (s *GetSystemTemplateInput) SetId(v string) *GetSystemTemplateInput {
5448	s.Id = &v
5449	return s
5450}
5451
5452// SetRevisionNumber sets the RevisionNumber field's value.
5453func (s *GetSystemTemplateInput) SetRevisionNumber(v int64) *GetSystemTemplateInput {
5454	s.RevisionNumber = &v
5455	return s
5456}
5457
5458type GetSystemTemplateOutput struct {
5459	_ struct{} `type:"structure"`
5460
5461	// An object that contains summary data about the system.
5462	Description *SystemTemplateDescription `locationName:"description" type:"structure"`
5463}
5464
5465// String returns the string representation
5466func (s GetSystemTemplateOutput) String() string {
5467	return awsutil.Prettify(s)
5468}
5469
5470// GoString returns the string representation
5471func (s GetSystemTemplateOutput) GoString() string {
5472	return s.String()
5473}
5474
5475// SetDescription sets the Description field's value.
5476func (s *GetSystemTemplateOutput) SetDescription(v *SystemTemplateDescription) *GetSystemTemplateOutput {
5477	s.Description = v
5478	return s
5479}
5480
5481type GetSystemTemplateRevisionsInput struct {
5482	_ struct{} `type:"structure"`
5483
5484	// The ID of the system template.
5485	//
5486	// The ID should be in the following format.
5487	//
5488	// urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME
5489	//
5490	// Id is a required field
5491	Id *string `locationName:"id" type:"string" required:"true"`
5492
5493	// The maximum number of results to return in the response.
5494	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5495
5496	// The string that specifies the next page of results. Use this when you're
5497	// paginating results.
5498	NextToken *string `locationName:"nextToken" type:"string"`
5499}
5500
5501// String returns the string representation
5502func (s GetSystemTemplateRevisionsInput) String() string {
5503	return awsutil.Prettify(s)
5504}
5505
5506// GoString returns the string representation
5507func (s GetSystemTemplateRevisionsInput) GoString() string {
5508	return s.String()
5509}
5510
5511// Validate inspects the fields of the type to determine if they are valid.
5512func (s *GetSystemTemplateRevisionsInput) Validate() error {
5513	invalidParams := request.ErrInvalidParams{Context: "GetSystemTemplateRevisionsInput"}
5514	if s.Id == nil {
5515		invalidParams.Add(request.NewErrParamRequired("Id"))
5516	}
5517	if s.MaxResults != nil && *s.MaxResults < 1 {
5518		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5519	}
5520
5521	if invalidParams.Len() > 0 {
5522		return invalidParams
5523	}
5524	return nil
5525}
5526
5527// SetId sets the Id field's value.
5528func (s *GetSystemTemplateRevisionsInput) SetId(v string) *GetSystemTemplateRevisionsInput {
5529	s.Id = &v
5530	return s
5531}
5532
5533// SetMaxResults sets the MaxResults field's value.
5534func (s *GetSystemTemplateRevisionsInput) SetMaxResults(v int64) *GetSystemTemplateRevisionsInput {
5535	s.MaxResults = &v
5536	return s
5537}
5538
5539// SetNextToken sets the NextToken field's value.
5540func (s *GetSystemTemplateRevisionsInput) SetNextToken(v string) *GetSystemTemplateRevisionsInput {
5541	s.NextToken = &v
5542	return s
5543}
5544
5545type GetSystemTemplateRevisionsOutput struct {
5546	_ struct{} `type:"structure"`
5547
5548	// The string to specify as nextToken when you request the next page of results.
5549	NextToken *string `locationName:"nextToken" type:"string"`
5550
5551	// An array of objects that contain summary data about the system template revisions.
5552	Summaries []*SystemTemplateSummary `locationName:"summaries" type:"list"`
5553}
5554
5555// String returns the string representation
5556func (s GetSystemTemplateRevisionsOutput) String() string {
5557	return awsutil.Prettify(s)
5558}
5559
5560// GoString returns the string representation
5561func (s GetSystemTemplateRevisionsOutput) GoString() string {
5562	return s.String()
5563}
5564
5565// SetNextToken sets the NextToken field's value.
5566func (s *GetSystemTemplateRevisionsOutput) SetNextToken(v string) *GetSystemTemplateRevisionsOutput {
5567	s.NextToken = &v
5568	return s
5569}
5570
5571// SetSummaries sets the Summaries field's value.
5572func (s *GetSystemTemplateRevisionsOutput) SetSummaries(v []*SystemTemplateSummary) *GetSystemTemplateRevisionsOutput {
5573	s.Summaries = v
5574	return s
5575}
5576
5577type GetUploadStatusInput struct {
5578	_ struct{} `type:"structure"`
5579
5580	// The ID of the upload. This value is returned by the UploadEntityDefinitions
5581	// action.
5582	//
5583	// UploadId is a required field
5584	UploadId *string `locationName:"uploadId" min:"1" type:"string" required:"true"`
5585}
5586
5587// String returns the string representation
5588func (s GetUploadStatusInput) String() string {
5589	return awsutil.Prettify(s)
5590}
5591
5592// GoString returns the string representation
5593func (s GetUploadStatusInput) GoString() string {
5594	return s.String()
5595}
5596
5597// Validate inspects the fields of the type to determine if they are valid.
5598func (s *GetUploadStatusInput) Validate() error {
5599	invalidParams := request.ErrInvalidParams{Context: "GetUploadStatusInput"}
5600	if s.UploadId == nil {
5601		invalidParams.Add(request.NewErrParamRequired("UploadId"))
5602	}
5603	if s.UploadId != nil && len(*s.UploadId) < 1 {
5604		invalidParams.Add(request.NewErrParamMinLen("UploadId", 1))
5605	}
5606
5607	if invalidParams.Len() > 0 {
5608		return invalidParams
5609	}
5610	return nil
5611}
5612
5613// SetUploadId sets the UploadId field's value.
5614func (s *GetUploadStatusInput) SetUploadId(v string) *GetUploadStatusInput {
5615	s.UploadId = &v
5616	return s
5617}
5618
5619type GetUploadStatusOutput struct {
5620	_ struct{} `type:"structure"`
5621
5622	// The date at which the upload was created.
5623	//
5624	// CreatedDate is a required field
5625	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" required:"true"`
5626
5627	// The reason for an upload failure.
5628	FailureReason []*string `locationName:"failureReason" type:"list"`
5629
5630	// The ARN of the upload.
5631	NamespaceArn *string `locationName:"namespaceArn" type:"string"`
5632
5633	// The name of the upload's namespace.
5634	NamespaceName *string `locationName:"namespaceName" type:"string"`
5635
5636	// The version of the user's namespace. Defaults to the latest version of the
5637	// user's namespace.
5638	NamespaceVersion *int64 `locationName:"namespaceVersion" type:"long"`
5639
5640	// The ID of the upload.
5641	//
5642	// UploadId is a required field
5643	UploadId *string `locationName:"uploadId" min:"1" type:"string" required:"true"`
5644
5645	// The status of the upload. The initial status is IN_PROGRESS. The response
5646	// show all validation failures if the upload fails.
5647	//
5648	// UploadStatus is a required field
5649	UploadStatus *string `locationName:"uploadStatus" type:"string" required:"true" enum:"UploadStatus"`
5650}
5651
5652// String returns the string representation
5653func (s GetUploadStatusOutput) String() string {
5654	return awsutil.Prettify(s)
5655}
5656
5657// GoString returns the string representation
5658func (s GetUploadStatusOutput) GoString() string {
5659	return s.String()
5660}
5661
5662// SetCreatedDate sets the CreatedDate field's value.
5663func (s *GetUploadStatusOutput) SetCreatedDate(v time.Time) *GetUploadStatusOutput {
5664	s.CreatedDate = &v
5665	return s
5666}
5667
5668// SetFailureReason sets the FailureReason field's value.
5669func (s *GetUploadStatusOutput) SetFailureReason(v []*string) *GetUploadStatusOutput {
5670	s.FailureReason = v
5671	return s
5672}
5673
5674// SetNamespaceArn sets the NamespaceArn field's value.
5675func (s *GetUploadStatusOutput) SetNamespaceArn(v string) *GetUploadStatusOutput {
5676	s.NamespaceArn = &v
5677	return s
5678}
5679
5680// SetNamespaceName sets the NamespaceName field's value.
5681func (s *GetUploadStatusOutput) SetNamespaceName(v string) *GetUploadStatusOutput {
5682	s.NamespaceName = &v
5683	return s
5684}
5685
5686// SetNamespaceVersion sets the NamespaceVersion field's value.
5687func (s *GetUploadStatusOutput) SetNamespaceVersion(v int64) *GetUploadStatusOutput {
5688	s.NamespaceVersion = &v
5689	return s
5690}
5691
5692// SetUploadId sets the UploadId field's value.
5693func (s *GetUploadStatusOutput) SetUploadId(v string) *GetUploadStatusOutput {
5694	s.UploadId = &v
5695	return s
5696}
5697
5698// SetUploadStatus sets the UploadStatus field's value.
5699func (s *GetUploadStatusOutput) SetUploadStatus(v string) *GetUploadStatusOutput {
5700	s.UploadStatus = &v
5701	return s
5702}
5703
5704type InternalFailureException struct {
5705	_            struct{} `type:"structure"`
5706	respMetadata protocol.ResponseMetadata
5707
5708	Message_ *string `locationName:"message" type:"string"`
5709}
5710
5711// String returns the string representation
5712func (s InternalFailureException) String() string {
5713	return awsutil.Prettify(s)
5714}
5715
5716// GoString returns the string representation
5717func (s InternalFailureException) GoString() string {
5718	return s.String()
5719}
5720
5721func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
5722	return &InternalFailureException{
5723		respMetadata: v,
5724	}
5725}
5726
5727// Code returns the exception type name.
5728func (s InternalFailureException) Code() string {
5729	return "InternalFailureException"
5730}
5731
5732// Message returns the exception's message.
5733func (s InternalFailureException) Message() string {
5734	if s.Message_ != nil {
5735		return *s.Message_
5736	}
5737	return ""
5738}
5739
5740// OrigErr always returns nil, satisfies awserr.Error interface.
5741func (s InternalFailureException) OrigErr() error {
5742	return nil
5743}
5744
5745func (s InternalFailureException) Error() string {
5746	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5747}
5748
5749// Status code returns the HTTP status code for the request's response error.
5750func (s InternalFailureException) StatusCode() int {
5751	return s.respMetadata.StatusCode
5752}
5753
5754// RequestID returns the service's response RequestID for request.
5755func (s InternalFailureException) RequestID() string {
5756	return s.respMetadata.RequestID
5757}
5758
5759type InvalidRequestException struct {
5760	_            struct{} `type:"structure"`
5761	respMetadata protocol.ResponseMetadata
5762
5763	Message_ *string `locationName:"message" type:"string"`
5764}
5765
5766// String returns the string representation
5767func (s InvalidRequestException) String() string {
5768	return awsutil.Prettify(s)
5769}
5770
5771// GoString returns the string representation
5772func (s InvalidRequestException) GoString() string {
5773	return s.String()
5774}
5775
5776func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
5777	return &InvalidRequestException{
5778		respMetadata: v,
5779	}
5780}
5781
5782// Code returns the exception type name.
5783func (s InvalidRequestException) Code() string {
5784	return "InvalidRequestException"
5785}
5786
5787// Message returns the exception's message.
5788func (s InvalidRequestException) Message() string {
5789	if s.Message_ != nil {
5790		return *s.Message_
5791	}
5792	return ""
5793}
5794
5795// OrigErr always returns nil, satisfies awserr.Error interface.
5796func (s InvalidRequestException) OrigErr() error {
5797	return nil
5798}
5799
5800func (s InvalidRequestException) Error() string {
5801	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5802}
5803
5804// Status code returns the HTTP status code for the request's response error.
5805func (s InvalidRequestException) StatusCode() int {
5806	return s.respMetadata.StatusCode
5807}
5808
5809// RequestID returns the service's response RequestID for request.
5810func (s InvalidRequestException) RequestID() string {
5811	return s.respMetadata.RequestID
5812}
5813
5814type LimitExceededException struct {
5815	_            struct{} `type:"structure"`
5816	respMetadata protocol.ResponseMetadata
5817
5818	Message_ *string `locationName:"message" type:"string"`
5819}
5820
5821// String returns the string representation
5822func (s LimitExceededException) String() string {
5823	return awsutil.Prettify(s)
5824}
5825
5826// GoString returns the string representation
5827func (s LimitExceededException) GoString() string {
5828	return s.String()
5829}
5830
5831func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
5832	return &LimitExceededException{
5833		respMetadata: v,
5834	}
5835}
5836
5837// Code returns the exception type name.
5838func (s LimitExceededException) Code() string {
5839	return "LimitExceededException"
5840}
5841
5842// Message returns the exception's message.
5843func (s LimitExceededException) Message() string {
5844	if s.Message_ != nil {
5845		return *s.Message_
5846	}
5847	return ""
5848}
5849
5850// OrigErr always returns nil, satisfies awserr.Error interface.
5851func (s LimitExceededException) OrigErr() error {
5852	return nil
5853}
5854
5855func (s LimitExceededException) Error() string {
5856	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5857}
5858
5859// Status code returns the HTTP status code for the request's response error.
5860func (s LimitExceededException) StatusCode() int {
5861	return s.respMetadata.StatusCode
5862}
5863
5864// RequestID returns the service's response RequestID for request.
5865func (s LimitExceededException) RequestID() string {
5866	return s.respMetadata.RequestID
5867}
5868
5869type ListFlowExecutionMessagesInput struct {
5870	_ struct{} `type:"structure"`
5871
5872	// The ID of the flow execution.
5873	//
5874	// FlowExecutionId is a required field
5875	FlowExecutionId *string `locationName:"flowExecutionId" type:"string" required:"true"`
5876
5877	// The maximum number of results to return in the response.
5878	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5879
5880	// The string that specifies the next page of results. Use this when you're
5881	// paginating results.
5882	NextToken *string `locationName:"nextToken" type:"string"`
5883}
5884
5885// String returns the string representation
5886func (s ListFlowExecutionMessagesInput) String() string {
5887	return awsutil.Prettify(s)
5888}
5889
5890// GoString returns the string representation
5891func (s ListFlowExecutionMessagesInput) GoString() string {
5892	return s.String()
5893}
5894
5895// Validate inspects the fields of the type to determine if they are valid.
5896func (s *ListFlowExecutionMessagesInput) Validate() error {
5897	invalidParams := request.ErrInvalidParams{Context: "ListFlowExecutionMessagesInput"}
5898	if s.FlowExecutionId == nil {
5899		invalidParams.Add(request.NewErrParamRequired("FlowExecutionId"))
5900	}
5901	if s.MaxResults != nil && *s.MaxResults < 1 {
5902		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5903	}
5904
5905	if invalidParams.Len() > 0 {
5906		return invalidParams
5907	}
5908	return nil
5909}
5910
5911// SetFlowExecutionId sets the FlowExecutionId field's value.
5912func (s *ListFlowExecutionMessagesInput) SetFlowExecutionId(v string) *ListFlowExecutionMessagesInput {
5913	s.FlowExecutionId = &v
5914	return s
5915}
5916
5917// SetMaxResults sets the MaxResults field's value.
5918func (s *ListFlowExecutionMessagesInput) SetMaxResults(v int64) *ListFlowExecutionMessagesInput {
5919	s.MaxResults = &v
5920	return s
5921}
5922
5923// SetNextToken sets the NextToken field's value.
5924func (s *ListFlowExecutionMessagesInput) SetNextToken(v string) *ListFlowExecutionMessagesInput {
5925	s.NextToken = &v
5926	return s
5927}
5928
5929type ListFlowExecutionMessagesOutput struct {
5930	_ struct{} `type:"structure"`
5931
5932	// A list of objects that contain information about events in the specified
5933	// flow execution.
5934	Messages []*FlowExecutionMessage `locationName:"messages" type:"list"`
5935
5936	// The string to specify as nextToken when you request the next page of results.
5937	NextToken *string `locationName:"nextToken" type:"string"`
5938}
5939
5940// String returns the string representation
5941func (s ListFlowExecutionMessagesOutput) String() string {
5942	return awsutil.Prettify(s)
5943}
5944
5945// GoString returns the string representation
5946func (s ListFlowExecutionMessagesOutput) GoString() string {
5947	return s.String()
5948}
5949
5950// SetMessages sets the Messages field's value.
5951func (s *ListFlowExecutionMessagesOutput) SetMessages(v []*FlowExecutionMessage) *ListFlowExecutionMessagesOutput {
5952	s.Messages = v
5953	return s
5954}
5955
5956// SetNextToken sets the NextToken field's value.
5957func (s *ListFlowExecutionMessagesOutput) SetNextToken(v string) *ListFlowExecutionMessagesOutput {
5958	s.NextToken = &v
5959	return s
5960}
5961
5962type ListTagsForResourceInput struct {
5963	_ struct{} `type:"structure"`
5964
5965	// The maximum number of tags to return.
5966	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5967
5968	// The token that specifies the next page of results to return.
5969	NextToken *string `locationName:"nextToken" type:"string"`
5970
5971	// The Amazon Resource Name (ARN) of the resource whose tags are to be returned.
5972	//
5973	// ResourceArn is a required field
5974	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
5975}
5976
5977// String returns the string representation
5978func (s ListTagsForResourceInput) String() string {
5979	return awsutil.Prettify(s)
5980}
5981
5982// GoString returns the string representation
5983func (s ListTagsForResourceInput) GoString() string {
5984	return s.String()
5985}
5986
5987// Validate inspects the fields of the type to determine if they are valid.
5988func (s *ListTagsForResourceInput) Validate() error {
5989	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5990	if s.MaxResults != nil && *s.MaxResults < 1 {
5991		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5992	}
5993	if s.ResourceArn == nil {
5994		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5995	}
5996	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5997		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5998	}
5999
6000	if invalidParams.Len() > 0 {
6001		return invalidParams
6002	}
6003	return nil
6004}
6005
6006// SetMaxResults sets the MaxResults field's value.
6007func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
6008	s.MaxResults = &v
6009	return s
6010}
6011
6012// SetNextToken sets the NextToken field's value.
6013func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
6014	s.NextToken = &v
6015	return s
6016}
6017
6018// SetResourceArn sets the ResourceArn field's value.
6019func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
6020	s.ResourceArn = &v
6021	return s
6022}
6023
6024type ListTagsForResourceOutput struct {
6025	_ struct{} `type:"structure"`
6026
6027	// The token that specifies the next page of results to return.
6028	NextToken *string `locationName:"nextToken" type:"string"`
6029
6030	// List of tags returned by the ListTagsForResource operation.
6031	Tags []*Tag `locationName:"tags" type:"list"`
6032}
6033
6034// String returns the string representation
6035func (s ListTagsForResourceOutput) String() string {
6036	return awsutil.Prettify(s)
6037}
6038
6039// GoString returns the string representation
6040func (s ListTagsForResourceOutput) GoString() string {
6041	return s.String()
6042}
6043
6044// SetNextToken sets the NextToken field's value.
6045func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
6046	s.NextToken = &v
6047	return s
6048}
6049
6050// SetTags sets the Tags field's value.
6051func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
6052	s.Tags = v
6053	return s
6054}
6055
6056// An object that specifies whether cloud metrics are collected in a deployment
6057// and, if so, what role is used to collect metrics.
6058type MetricsConfiguration struct {
6059	_ struct{} `type:"structure"`
6060
6061	// A Boolean that specifies whether cloud metrics are collected.
6062	CloudMetricEnabled *bool `locationName:"cloudMetricEnabled" type:"boolean"`
6063
6064	// The ARN of the role that is used to collect cloud metrics.
6065	MetricRuleRoleArn *string `locationName:"metricRuleRoleArn" min:"20" type:"string"`
6066}
6067
6068// String returns the string representation
6069func (s MetricsConfiguration) String() string {
6070	return awsutil.Prettify(s)
6071}
6072
6073// GoString returns the string representation
6074func (s MetricsConfiguration) GoString() string {
6075	return s.String()
6076}
6077
6078// Validate inspects the fields of the type to determine if they are valid.
6079func (s *MetricsConfiguration) Validate() error {
6080	invalidParams := request.ErrInvalidParams{Context: "MetricsConfiguration"}
6081	if s.MetricRuleRoleArn != nil && len(*s.MetricRuleRoleArn) < 20 {
6082		invalidParams.Add(request.NewErrParamMinLen("MetricRuleRoleArn", 20))
6083	}
6084
6085	if invalidParams.Len() > 0 {
6086		return invalidParams
6087	}
6088	return nil
6089}
6090
6091// SetCloudMetricEnabled sets the CloudMetricEnabled field's value.
6092func (s *MetricsConfiguration) SetCloudMetricEnabled(v bool) *MetricsConfiguration {
6093	s.CloudMetricEnabled = &v
6094	return s
6095}
6096
6097// SetMetricRuleRoleArn sets the MetricRuleRoleArn field's value.
6098func (s *MetricsConfiguration) SetMetricRuleRoleArn(v string) *MetricsConfiguration {
6099	s.MetricRuleRoleArn = &v
6100	return s
6101}
6102
6103type ResourceAlreadyExistsException struct {
6104	_            struct{} `type:"structure"`
6105	respMetadata protocol.ResponseMetadata
6106
6107	Message_ *string `locationName:"message" type:"string"`
6108}
6109
6110// String returns the string representation
6111func (s ResourceAlreadyExistsException) String() string {
6112	return awsutil.Prettify(s)
6113}
6114
6115// GoString returns the string representation
6116func (s ResourceAlreadyExistsException) GoString() string {
6117	return s.String()
6118}
6119
6120func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
6121	return &ResourceAlreadyExistsException{
6122		respMetadata: v,
6123	}
6124}
6125
6126// Code returns the exception type name.
6127func (s ResourceAlreadyExistsException) Code() string {
6128	return "ResourceAlreadyExistsException"
6129}
6130
6131// Message returns the exception's message.
6132func (s ResourceAlreadyExistsException) Message() string {
6133	if s.Message_ != nil {
6134		return *s.Message_
6135	}
6136	return ""
6137}
6138
6139// OrigErr always returns nil, satisfies awserr.Error interface.
6140func (s ResourceAlreadyExistsException) OrigErr() error {
6141	return nil
6142}
6143
6144func (s ResourceAlreadyExistsException) Error() string {
6145	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6146}
6147
6148// Status code returns the HTTP status code for the request's response error.
6149func (s ResourceAlreadyExistsException) StatusCode() int {
6150	return s.respMetadata.StatusCode
6151}
6152
6153// RequestID returns the service's response RequestID for request.
6154func (s ResourceAlreadyExistsException) RequestID() string {
6155	return s.respMetadata.RequestID
6156}
6157
6158type ResourceInUseException struct {
6159	_            struct{} `type:"structure"`
6160	respMetadata protocol.ResponseMetadata
6161
6162	Message_ *string `locationName:"message" type:"string"`
6163}
6164
6165// String returns the string representation
6166func (s ResourceInUseException) String() string {
6167	return awsutil.Prettify(s)
6168}
6169
6170// GoString returns the string representation
6171func (s ResourceInUseException) GoString() string {
6172	return s.String()
6173}
6174
6175func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
6176	return &ResourceInUseException{
6177		respMetadata: v,
6178	}
6179}
6180
6181// Code returns the exception type name.
6182func (s ResourceInUseException) Code() string {
6183	return "ResourceInUseException"
6184}
6185
6186// Message returns the exception's message.
6187func (s ResourceInUseException) Message() string {
6188	if s.Message_ != nil {
6189		return *s.Message_
6190	}
6191	return ""
6192}
6193
6194// OrigErr always returns nil, satisfies awserr.Error interface.
6195func (s ResourceInUseException) OrigErr() error {
6196	return nil
6197}
6198
6199func (s ResourceInUseException) Error() string {
6200	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6201}
6202
6203// Status code returns the HTTP status code for the request's response error.
6204func (s ResourceInUseException) StatusCode() int {
6205	return s.respMetadata.StatusCode
6206}
6207
6208// RequestID returns the service's response RequestID for request.
6209func (s ResourceInUseException) RequestID() string {
6210	return s.respMetadata.RequestID
6211}
6212
6213type ResourceNotFoundException struct {
6214	_            struct{} `type:"structure"`
6215	respMetadata protocol.ResponseMetadata
6216
6217	Message_ *string `locationName:"message" type:"string"`
6218}
6219
6220// String returns the string representation
6221func (s ResourceNotFoundException) String() string {
6222	return awsutil.Prettify(s)
6223}
6224
6225// GoString returns the string representation
6226func (s ResourceNotFoundException) GoString() string {
6227	return s.String()
6228}
6229
6230func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6231	return &ResourceNotFoundException{
6232		respMetadata: v,
6233	}
6234}
6235
6236// Code returns the exception type name.
6237func (s ResourceNotFoundException) Code() string {
6238	return "ResourceNotFoundException"
6239}
6240
6241// Message returns the exception's message.
6242func (s ResourceNotFoundException) Message() string {
6243	if s.Message_ != nil {
6244		return *s.Message_
6245	}
6246	return ""
6247}
6248
6249// OrigErr always returns nil, satisfies awserr.Error interface.
6250func (s ResourceNotFoundException) OrigErr() error {
6251	return nil
6252}
6253
6254func (s ResourceNotFoundException) Error() string {
6255	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6256}
6257
6258// Status code returns the HTTP status code for the request's response error.
6259func (s ResourceNotFoundException) StatusCode() int {
6260	return s.respMetadata.StatusCode
6261}
6262
6263// RequestID returns the service's response RequestID for request.
6264func (s ResourceNotFoundException) RequestID() string {
6265	return s.respMetadata.RequestID
6266}
6267
6268type SearchEntitiesInput struct {
6269	_ struct{} `type:"structure"`
6270
6271	// The entity types for which to search.
6272	//
6273	// EntityTypes is a required field
6274	EntityTypes []*string `locationName:"entityTypes" type:"list" required:"true"`
6275
6276	// Optional filter to apply to the search. Valid filters are NAME NAMESPACE,
6277	// SEMANTIC_TYPE_PATH and REFERENCED_ENTITY_ID. REFERENCED_ENTITY_ID filters
6278	// on entities that are used by the entity in the result set. For example, you
6279	// can filter on the ID of a property that is used in a state.
6280	//
6281	// Multiple filters function as OR criteria in the query. Multiple values passed
6282	// inside the filter function as AND criteria.
6283	Filters []*EntityFilter `locationName:"filters" type:"list"`
6284
6285	// The maximum number of results to return in the response.
6286	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6287
6288	// The version of the user's namespace. Defaults to the latest version of the
6289	// user's namespace.
6290	NamespaceVersion *int64 `locationName:"namespaceVersion" type:"long"`
6291
6292	// The string that specifies the next page of results. Use this when you're
6293	// paginating results.
6294	NextToken *string `locationName:"nextToken" type:"string"`
6295}
6296
6297// String returns the string representation
6298func (s SearchEntitiesInput) String() string {
6299	return awsutil.Prettify(s)
6300}
6301
6302// GoString returns the string representation
6303func (s SearchEntitiesInput) GoString() string {
6304	return s.String()
6305}
6306
6307// Validate inspects the fields of the type to determine if they are valid.
6308func (s *SearchEntitiesInput) Validate() error {
6309	invalidParams := request.ErrInvalidParams{Context: "SearchEntitiesInput"}
6310	if s.EntityTypes == nil {
6311		invalidParams.Add(request.NewErrParamRequired("EntityTypes"))
6312	}
6313	if s.MaxResults != nil && *s.MaxResults < 1 {
6314		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6315	}
6316
6317	if invalidParams.Len() > 0 {
6318		return invalidParams
6319	}
6320	return nil
6321}
6322
6323// SetEntityTypes sets the EntityTypes field's value.
6324func (s *SearchEntitiesInput) SetEntityTypes(v []*string) *SearchEntitiesInput {
6325	s.EntityTypes = v
6326	return s
6327}
6328
6329// SetFilters sets the Filters field's value.
6330func (s *SearchEntitiesInput) SetFilters(v []*EntityFilter) *SearchEntitiesInput {
6331	s.Filters = v
6332	return s
6333}
6334
6335// SetMaxResults sets the MaxResults field's value.
6336func (s *SearchEntitiesInput) SetMaxResults(v int64) *SearchEntitiesInput {
6337	s.MaxResults = &v
6338	return s
6339}
6340
6341// SetNamespaceVersion sets the NamespaceVersion field's value.
6342func (s *SearchEntitiesInput) SetNamespaceVersion(v int64) *SearchEntitiesInput {
6343	s.NamespaceVersion = &v
6344	return s
6345}
6346
6347// SetNextToken sets the NextToken field's value.
6348func (s *SearchEntitiesInput) SetNextToken(v string) *SearchEntitiesInput {
6349	s.NextToken = &v
6350	return s
6351}
6352
6353type SearchEntitiesOutput struct {
6354	_ struct{} `type:"structure"`
6355
6356	// An array of descriptions for each entity returned in the search result.
6357	Descriptions []*EntityDescription `locationName:"descriptions" type:"list"`
6358
6359	// The string to specify as nextToken when you request the next page of results.
6360	NextToken *string `locationName:"nextToken" type:"string"`
6361}
6362
6363// String returns the string representation
6364func (s SearchEntitiesOutput) String() string {
6365	return awsutil.Prettify(s)
6366}
6367
6368// GoString returns the string representation
6369func (s SearchEntitiesOutput) GoString() string {
6370	return s.String()
6371}
6372
6373// SetDescriptions sets the Descriptions field's value.
6374func (s *SearchEntitiesOutput) SetDescriptions(v []*EntityDescription) *SearchEntitiesOutput {
6375	s.Descriptions = v
6376	return s
6377}
6378
6379// SetNextToken sets the NextToken field's value.
6380func (s *SearchEntitiesOutput) SetNextToken(v string) *SearchEntitiesOutput {
6381	s.NextToken = &v
6382	return s
6383}
6384
6385type SearchFlowExecutionsInput struct {
6386	_ struct{} `type:"structure"`
6387
6388	// The date and time of the latest flow execution to return.
6389	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
6390
6391	// The ID of a flow execution.
6392	FlowExecutionId *string `locationName:"flowExecutionId" type:"string"`
6393
6394	// The maximum number of results to return in the response.
6395	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6396
6397	// The string that specifies the next page of results. Use this when you're
6398	// paginating results.
6399	NextToken *string `locationName:"nextToken" type:"string"`
6400
6401	// The date and time of the earliest flow execution to return.
6402	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
6403
6404	// The ID of the system instance that contains the flow.
6405	//
6406	// SystemInstanceId is a required field
6407	SystemInstanceId *string `locationName:"systemInstanceId" type:"string" required:"true"`
6408}
6409
6410// String returns the string representation
6411func (s SearchFlowExecutionsInput) String() string {
6412	return awsutil.Prettify(s)
6413}
6414
6415// GoString returns the string representation
6416func (s SearchFlowExecutionsInput) GoString() string {
6417	return s.String()
6418}
6419
6420// Validate inspects the fields of the type to determine if they are valid.
6421func (s *SearchFlowExecutionsInput) Validate() error {
6422	invalidParams := request.ErrInvalidParams{Context: "SearchFlowExecutionsInput"}
6423	if s.MaxResults != nil && *s.MaxResults < 1 {
6424		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6425	}
6426	if s.SystemInstanceId == nil {
6427		invalidParams.Add(request.NewErrParamRequired("SystemInstanceId"))
6428	}
6429
6430	if invalidParams.Len() > 0 {
6431		return invalidParams
6432	}
6433	return nil
6434}
6435
6436// SetEndTime sets the EndTime field's value.
6437func (s *SearchFlowExecutionsInput) SetEndTime(v time.Time) *SearchFlowExecutionsInput {
6438	s.EndTime = &v
6439	return s
6440}
6441
6442// SetFlowExecutionId sets the FlowExecutionId field's value.
6443func (s *SearchFlowExecutionsInput) SetFlowExecutionId(v string) *SearchFlowExecutionsInput {
6444	s.FlowExecutionId = &v
6445	return s
6446}
6447
6448// SetMaxResults sets the MaxResults field's value.
6449func (s *SearchFlowExecutionsInput) SetMaxResults(v int64) *SearchFlowExecutionsInput {
6450	s.MaxResults = &v
6451	return s
6452}
6453
6454// SetNextToken sets the NextToken field's value.
6455func (s *SearchFlowExecutionsInput) SetNextToken(v string) *SearchFlowExecutionsInput {
6456	s.NextToken = &v
6457	return s
6458}
6459
6460// SetStartTime sets the StartTime field's value.
6461func (s *SearchFlowExecutionsInput) SetStartTime(v time.Time) *SearchFlowExecutionsInput {
6462	s.StartTime = &v
6463	return s
6464}
6465
6466// SetSystemInstanceId sets the SystemInstanceId field's value.
6467func (s *SearchFlowExecutionsInput) SetSystemInstanceId(v string) *SearchFlowExecutionsInput {
6468	s.SystemInstanceId = &v
6469	return s
6470}
6471
6472type SearchFlowExecutionsOutput struct {
6473	_ struct{} `type:"structure"`
6474
6475	// The string to specify as nextToken when you request the next page of results.
6476	NextToken *string `locationName:"nextToken" type:"string"`
6477
6478	// An array of objects that contain summary information about each workflow
6479	// execution in the result set.
6480	Summaries []*FlowExecutionSummary `locationName:"summaries" type:"list"`
6481}
6482
6483// String returns the string representation
6484func (s SearchFlowExecutionsOutput) String() string {
6485	return awsutil.Prettify(s)
6486}
6487
6488// GoString returns the string representation
6489func (s SearchFlowExecutionsOutput) GoString() string {
6490	return s.String()
6491}
6492
6493// SetNextToken sets the NextToken field's value.
6494func (s *SearchFlowExecutionsOutput) SetNextToken(v string) *SearchFlowExecutionsOutput {
6495	s.NextToken = &v
6496	return s
6497}
6498
6499// SetSummaries sets the Summaries field's value.
6500func (s *SearchFlowExecutionsOutput) SetSummaries(v []*FlowExecutionSummary) *SearchFlowExecutionsOutput {
6501	s.Summaries = v
6502	return s
6503}
6504
6505type SearchFlowTemplatesInput struct {
6506	_ struct{} `type:"structure"`
6507
6508	// An array of objects that limit the result set. The only valid filter is DEVICE_MODEL_ID.
6509	Filters []*FlowTemplateFilter `locationName:"filters" type:"list"`
6510
6511	// The maximum number of results to return in the response.
6512	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6513
6514	// The string that specifies the next page of results. Use this when you're
6515	// paginating results.
6516	NextToken *string `locationName:"nextToken" type:"string"`
6517}
6518
6519// String returns the string representation
6520func (s SearchFlowTemplatesInput) String() string {
6521	return awsutil.Prettify(s)
6522}
6523
6524// GoString returns the string representation
6525func (s SearchFlowTemplatesInput) GoString() string {
6526	return s.String()
6527}
6528
6529// Validate inspects the fields of the type to determine if they are valid.
6530func (s *SearchFlowTemplatesInput) Validate() error {
6531	invalidParams := request.ErrInvalidParams{Context: "SearchFlowTemplatesInput"}
6532	if s.MaxResults != nil && *s.MaxResults < 1 {
6533		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6534	}
6535	if s.Filters != nil {
6536		for i, v := range s.Filters {
6537			if v == nil {
6538				continue
6539			}
6540			if err := v.Validate(); err != nil {
6541				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
6542			}
6543		}
6544	}
6545
6546	if invalidParams.Len() > 0 {
6547		return invalidParams
6548	}
6549	return nil
6550}
6551
6552// SetFilters sets the Filters field's value.
6553func (s *SearchFlowTemplatesInput) SetFilters(v []*FlowTemplateFilter) *SearchFlowTemplatesInput {
6554	s.Filters = v
6555	return s
6556}
6557
6558// SetMaxResults sets the MaxResults field's value.
6559func (s *SearchFlowTemplatesInput) SetMaxResults(v int64) *SearchFlowTemplatesInput {
6560	s.MaxResults = &v
6561	return s
6562}
6563
6564// SetNextToken sets the NextToken field's value.
6565func (s *SearchFlowTemplatesInput) SetNextToken(v string) *SearchFlowTemplatesInput {
6566	s.NextToken = &v
6567	return s
6568}
6569
6570type SearchFlowTemplatesOutput struct {
6571	_ struct{} `type:"structure"`
6572
6573	// The string to specify as nextToken when you request the next page of results.
6574	NextToken *string `locationName:"nextToken" type:"string"`
6575
6576	// An array of objects that contain summary information about each workflow
6577	// in the result set.
6578	Summaries []*FlowTemplateSummary `locationName:"summaries" type:"list"`
6579}
6580
6581// String returns the string representation
6582func (s SearchFlowTemplatesOutput) String() string {
6583	return awsutil.Prettify(s)
6584}
6585
6586// GoString returns the string representation
6587func (s SearchFlowTemplatesOutput) GoString() string {
6588	return s.String()
6589}
6590
6591// SetNextToken sets the NextToken field's value.
6592func (s *SearchFlowTemplatesOutput) SetNextToken(v string) *SearchFlowTemplatesOutput {
6593	s.NextToken = &v
6594	return s
6595}
6596
6597// SetSummaries sets the Summaries field's value.
6598func (s *SearchFlowTemplatesOutput) SetSummaries(v []*FlowTemplateSummary) *SearchFlowTemplatesOutput {
6599	s.Summaries = v
6600	return s
6601}
6602
6603type SearchSystemInstancesInput struct {
6604	_ struct{} `type:"structure"`
6605
6606	// Optional filter to apply to the search. Valid filters are SYSTEM_TEMPLATE_ID,
6607	// STATUS, and GREENGRASS_GROUP_NAME.
6608	//
6609	// Multiple filters function as OR criteria in the query. Multiple values passed
6610	// inside the filter function as AND criteria.
6611	Filters []*SystemInstanceFilter `locationName:"filters" type:"list"`
6612
6613	// The maximum number of results to return in the response.
6614	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6615
6616	// The string that specifies the next page of results. Use this when you're
6617	// paginating results.
6618	NextToken *string `locationName:"nextToken" type:"string"`
6619}
6620
6621// String returns the string representation
6622func (s SearchSystemInstancesInput) String() string {
6623	return awsutil.Prettify(s)
6624}
6625
6626// GoString returns the string representation
6627func (s SearchSystemInstancesInput) GoString() string {
6628	return s.String()
6629}
6630
6631// Validate inspects the fields of the type to determine if they are valid.
6632func (s *SearchSystemInstancesInput) Validate() error {
6633	invalidParams := request.ErrInvalidParams{Context: "SearchSystemInstancesInput"}
6634	if s.MaxResults != nil && *s.MaxResults < 1 {
6635		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6636	}
6637
6638	if invalidParams.Len() > 0 {
6639		return invalidParams
6640	}
6641	return nil
6642}
6643
6644// SetFilters sets the Filters field's value.
6645func (s *SearchSystemInstancesInput) SetFilters(v []*SystemInstanceFilter) *SearchSystemInstancesInput {
6646	s.Filters = v
6647	return s
6648}
6649
6650// SetMaxResults sets the MaxResults field's value.
6651func (s *SearchSystemInstancesInput) SetMaxResults(v int64) *SearchSystemInstancesInput {
6652	s.MaxResults = &v
6653	return s
6654}
6655
6656// SetNextToken sets the NextToken field's value.
6657func (s *SearchSystemInstancesInput) SetNextToken(v string) *SearchSystemInstancesInput {
6658	s.NextToken = &v
6659	return s
6660}
6661
6662type SearchSystemInstancesOutput struct {
6663	_ struct{} `type:"structure"`
6664
6665	// The string to specify as nextToken when you request the next page of results.
6666	NextToken *string `locationName:"nextToken" type:"string"`
6667
6668	// An array of objects that contain summary data abour the system instances
6669	// in the result set.
6670	Summaries []*SystemInstanceSummary `locationName:"summaries" type:"list"`
6671}
6672
6673// String returns the string representation
6674func (s SearchSystemInstancesOutput) String() string {
6675	return awsutil.Prettify(s)
6676}
6677
6678// GoString returns the string representation
6679func (s SearchSystemInstancesOutput) GoString() string {
6680	return s.String()
6681}
6682
6683// SetNextToken sets the NextToken field's value.
6684func (s *SearchSystemInstancesOutput) SetNextToken(v string) *SearchSystemInstancesOutput {
6685	s.NextToken = &v
6686	return s
6687}
6688
6689// SetSummaries sets the Summaries field's value.
6690func (s *SearchSystemInstancesOutput) SetSummaries(v []*SystemInstanceSummary) *SearchSystemInstancesOutput {
6691	s.Summaries = v
6692	return s
6693}
6694
6695type SearchSystemTemplatesInput struct {
6696	_ struct{} `type:"structure"`
6697
6698	// An array of filters that limit the result set. The only valid filter is FLOW_TEMPLATE_ID.
6699	Filters []*SystemTemplateFilter `locationName:"filters" type:"list"`
6700
6701	// The maximum number of results to return in the response.
6702	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6703
6704	// The string that specifies the next page of results. Use this when you're
6705	// paginating results.
6706	NextToken *string `locationName:"nextToken" type:"string"`
6707}
6708
6709// String returns the string representation
6710func (s SearchSystemTemplatesInput) String() string {
6711	return awsutil.Prettify(s)
6712}
6713
6714// GoString returns the string representation
6715func (s SearchSystemTemplatesInput) GoString() string {
6716	return s.String()
6717}
6718
6719// Validate inspects the fields of the type to determine if they are valid.
6720func (s *SearchSystemTemplatesInput) Validate() error {
6721	invalidParams := request.ErrInvalidParams{Context: "SearchSystemTemplatesInput"}
6722	if s.MaxResults != nil && *s.MaxResults < 1 {
6723		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6724	}
6725	if s.Filters != nil {
6726		for i, v := range s.Filters {
6727			if v == nil {
6728				continue
6729			}
6730			if err := v.Validate(); err != nil {
6731				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
6732			}
6733		}
6734	}
6735
6736	if invalidParams.Len() > 0 {
6737		return invalidParams
6738	}
6739	return nil
6740}
6741
6742// SetFilters sets the Filters field's value.
6743func (s *SearchSystemTemplatesInput) SetFilters(v []*SystemTemplateFilter) *SearchSystemTemplatesInput {
6744	s.Filters = v
6745	return s
6746}
6747
6748// SetMaxResults sets the MaxResults field's value.
6749func (s *SearchSystemTemplatesInput) SetMaxResults(v int64) *SearchSystemTemplatesInput {
6750	s.MaxResults = &v
6751	return s
6752}
6753
6754// SetNextToken sets the NextToken field's value.
6755func (s *SearchSystemTemplatesInput) SetNextToken(v string) *SearchSystemTemplatesInput {
6756	s.NextToken = &v
6757	return s
6758}
6759
6760type SearchSystemTemplatesOutput struct {
6761	_ struct{} `type:"structure"`
6762
6763	// The string to specify as nextToken when you request the next page of results.
6764	NextToken *string `locationName:"nextToken" type:"string"`
6765
6766	// An array of objects that contain summary information about each system deployment
6767	// in the result set.
6768	Summaries []*SystemTemplateSummary `locationName:"summaries" type:"list"`
6769}
6770
6771// String returns the string representation
6772func (s SearchSystemTemplatesOutput) String() string {
6773	return awsutil.Prettify(s)
6774}
6775
6776// GoString returns the string representation
6777func (s SearchSystemTemplatesOutput) GoString() string {
6778	return s.String()
6779}
6780
6781// SetNextToken sets the NextToken field's value.
6782func (s *SearchSystemTemplatesOutput) SetNextToken(v string) *SearchSystemTemplatesOutput {
6783	s.NextToken = &v
6784	return s
6785}
6786
6787// SetSummaries sets the Summaries field's value.
6788func (s *SearchSystemTemplatesOutput) SetSummaries(v []*SystemTemplateSummary) *SearchSystemTemplatesOutput {
6789	s.Summaries = v
6790	return s
6791}
6792
6793type SearchThingsInput struct {
6794	_ struct{} `type:"structure"`
6795
6796	// The ID of the entity to which the things are associated.
6797	//
6798	// The IDs should be in the following format.
6799	//
6800	// urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME
6801	//
6802	// EntityId is a required field
6803	EntityId *string `locationName:"entityId" type:"string" required:"true"`
6804
6805	// The maximum number of results to return in the response.
6806	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6807
6808	// The version of the user's namespace. Defaults to the latest version of the
6809	// user's namespace.
6810	NamespaceVersion *int64 `locationName:"namespaceVersion" type:"long"`
6811
6812	// The string that specifies the next page of results. Use this when you're
6813	// paginating results.
6814	NextToken *string `locationName:"nextToken" type:"string"`
6815}
6816
6817// String returns the string representation
6818func (s SearchThingsInput) String() string {
6819	return awsutil.Prettify(s)
6820}
6821
6822// GoString returns the string representation
6823func (s SearchThingsInput) GoString() string {
6824	return s.String()
6825}
6826
6827// Validate inspects the fields of the type to determine if they are valid.
6828func (s *SearchThingsInput) Validate() error {
6829	invalidParams := request.ErrInvalidParams{Context: "SearchThingsInput"}
6830	if s.EntityId == nil {
6831		invalidParams.Add(request.NewErrParamRequired("EntityId"))
6832	}
6833	if s.MaxResults != nil && *s.MaxResults < 1 {
6834		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6835	}
6836
6837	if invalidParams.Len() > 0 {
6838		return invalidParams
6839	}
6840	return nil
6841}
6842
6843// SetEntityId sets the EntityId field's value.
6844func (s *SearchThingsInput) SetEntityId(v string) *SearchThingsInput {
6845	s.EntityId = &v
6846	return s
6847}
6848
6849// SetMaxResults sets the MaxResults field's value.
6850func (s *SearchThingsInput) SetMaxResults(v int64) *SearchThingsInput {
6851	s.MaxResults = &v
6852	return s
6853}
6854
6855// SetNamespaceVersion sets the NamespaceVersion field's value.
6856func (s *SearchThingsInput) SetNamespaceVersion(v int64) *SearchThingsInput {
6857	s.NamespaceVersion = &v
6858	return s
6859}
6860
6861// SetNextToken sets the NextToken field's value.
6862func (s *SearchThingsInput) SetNextToken(v string) *SearchThingsInput {
6863	s.NextToken = &v
6864	return s
6865}
6866
6867type SearchThingsOutput struct {
6868	_ struct{} `type:"structure"`
6869
6870	// The string to specify as nextToken when you request the next page of results.
6871	NextToken *string `locationName:"nextToken" type:"string"`
6872
6873	// An array of things in the result set.
6874	Things []*Thing `locationName:"things" type:"list"`
6875}
6876
6877// String returns the string representation
6878func (s SearchThingsOutput) String() string {
6879	return awsutil.Prettify(s)
6880}
6881
6882// GoString returns the string representation
6883func (s SearchThingsOutput) GoString() string {
6884	return s.String()
6885}
6886
6887// SetNextToken sets the NextToken field's value.
6888func (s *SearchThingsOutput) SetNextToken(v string) *SearchThingsOutput {
6889	s.NextToken = &v
6890	return s
6891}
6892
6893// SetThings sets the Things field's value.
6894func (s *SearchThingsOutput) SetThings(v []*Thing) *SearchThingsOutput {
6895	s.Things = v
6896	return s
6897}
6898
6899// An object that contains a system instance definition and summary information.
6900type SystemInstanceDescription struct {
6901	_ struct{} `type:"structure"`
6902
6903	// A document that defines an entity.
6904	Definition *DefinitionDocument `locationName:"definition" type:"structure"`
6905
6906	// The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph
6907	// assumes during flow execution in a cloud deployment. This role must have
6908	// read and write permissionss to AWS Lambda and AWS IoT and to any other AWS
6909	// services that the flow uses.
6910	FlowActionsRoleArn *string `locationName:"flowActionsRoleArn" min:"20" type:"string"`
6911
6912	// An object that specifies whether cloud metrics are collected in a deployment
6913	// and, if so, what role is used to collect metrics.
6914	MetricsConfiguration *MetricsConfiguration `locationName:"metricsConfiguration" type:"structure"`
6915
6916	// The Amazon Simple Storage Service bucket where information about a system
6917	// instance is stored.
6918	S3BucketName *string `locationName:"s3BucketName" type:"string"`
6919
6920	// An object that contains summary information about a system instance.
6921	Summary *SystemInstanceSummary `locationName:"summary" type:"structure"`
6922
6923	// A list of objects that contain all of the IDs and revision numbers of workflows
6924	// and systems that are used in a system instance.
6925	ValidatedDependencyRevisions []*DependencyRevision `locationName:"validatedDependencyRevisions" type:"list"`
6926
6927	// The version of the user's namespace against which the system instance was
6928	// validated.
6929	ValidatedNamespaceVersion *int64 `locationName:"validatedNamespaceVersion" type:"long"`
6930}
6931
6932// String returns the string representation
6933func (s SystemInstanceDescription) String() string {
6934	return awsutil.Prettify(s)
6935}
6936
6937// GoString returns the string representation
6938func (s SystemInstanceDescription) GoString() string {
6939	return s.String()
6940}
6941
6942// SetDefinition sets the Definition field's value.
6943func (s *SystemInstanceDescription) SetDefinition(v *DefinitionDocument) *SystemInstanceDescription {
6944	s.Definition = v
6945	return s
6946}
6947
6948// SetFlowActionsRoleArn sets the FlowActionsRoleArn field's value.
6949func (s *SystemInstanceDescription) SetFlowActionsRoleArn(v string) *SystemInstanceDescription {
6950	s.FlowActionsRoleArn = &v
6951	return s
6952}
6953
6954// SetMetricsConfiguration sets the MetricsConfiguration field's value.
6955func (s *SystemInstanceDescription) SetMetricsConfiguration(v *MetricsConfiguration) *SystemInstanceDescription {
6956	s.MetricsConfiguration = v
6957	return s
6958}
6959
6960// SetS3BucketName sets the S3BucketName field's value.
6961func (s *SystemInstanceDescription) SetS3BucketName(v string) *SystemInstanceDescription {
6962	s.S3BucketName = &v
6963	return s
6964}
6965
6966// SetSummary sets the Summary field's value.
6967func (s *SystemInstanceDescription) SetSummary(v *SystemInstanceSummary) *SystemInstanceDescription {
6968	s.Summary = v
6969	return s
6970}
6971
6972// SetValidatedDependencyRevisions sets the ValidatedDependencyRevisions field's value.
6973func (s *SystemInstanceDescription) SetValidatedDependencyRevisions(v []*DependencyRevision) *SystemInstanceDescription {
6974	s.ValidatedDependencyRevisions = v
6975	return s
6976}
6977
6978// SetValidatedNamespaceVersion sets the ValidatedNamespaceVersion field's value.
6979func (s *SystemInstanceDescription) SetValidatedNamespaceVersion(v int64) *SystemInstanceDescription {
6980	s.ValidatedNamespaceVersion = &v
6981	return s
6982}
6983
6984// An object that filters a system instance search. Multiple filters function
6985// as OR criteria in the search. For example a search that includes a GREENGRASS_GROUP_NAME
6986// and a STATUS filter searches for system instances in the specified Greengrass
6987// group that have the specified status.
6988type SystemInstanceFilter struct {
6989	_ struct{} `type:"structure"`
6990
6991	// The name of the search filter field.
6992	Name *string `locationName:"name" type:"string" enum:"SystemInstanceFilterName"`
6993
6994	// An array of string values for the search filter field. Multiple values function
6995	// as AND criteria in the search.
6996	Value []*string `locationName:"value" type:"list"`
6997}
6998
6999// String returns the string representation
7000func (s SystemInstanceFilter) String() string {
7001	return awsutil.Prettify(s)
7002}
7003
7004// GoString returns the string representation
7005func (s SystemInstanceFilter) GoString() string {
7006	return s.String()
7007}
7008
7009// SetName sets the Name field's value.
7010func (s *SystemInstanceFilter) SetName(v string) *SystemInstanceFilter {
7011	s.Name = &v
7012	return s
7013}
7014
7015// SetValue sets the Value field's value.
7016func (s *SystemInstanceFilter) SetValue(v []*string) *SystemInstanceFilter {
7017	s.Value = v
7018	return s
7019}
7020
7021// An object that contains summary information about a system instance.
7022type SystemInstanceSummary struct {
7023	_ struct{} `type:"structure"`
7024
7025	// The ARN of the system instance.
7026	Arn *string `locationName:"arn" type:"string"`
7027
7028	// The date when the system instance was created.
7029	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7030
7031	// The ID of the Greengrass group where the system instance is deployed.
7032	GreengrassGroupId *string `locationName:"greengrassGroupId" type:"string"`
7033
7034	// The ID of the Greengrass group where the system instance is deployed.
7035	GreengrassGroupName *string `locationName:"greengrassGroupName" type:"string"`
7036
7037	// The version of the Greengrass group where the system instance is deployed.
7038	GreengrassGroupVersionId *string `locationName:"greengrassGroupVersionId" type:"string"`
7039
7040	// The ID of the system instance.
7041	Id *string `locationName:"id" type:"string"`
7042
7043	// The status of the system instance.
7044	Status *string `locationName:"status" type:"string" enum:"SystemInstanceDeploymentStatus"`
7045
7046	// The target of the system instance.
7047	Target *string `locationName:"target" type:"string" enum:"DeploymentTarget"`
7048
7049	// The date and time when the system instance was last updated.
7050	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"`
7051}
7052
7053// String returns the string representation
7054func (s SystemInstanceSummary) String() string {
7055	return awsutil.Prettify(s)
7056}
7057
7058// GoString returns the string representation
7059func (s SystemInstanceSummary) GoString() string {
7060	return s.String()
7061}
7062
7063// SetArn sets the Arn field's value.
7064func (s *SystemInstanceSummary) SetArn(v string) *SystemInstanceSummary {
7065	s.Arn = &v
7066	return s
7067}
7068
7069// SetCreatedAt sets the CreatedAt field's value.
7070func (s *SystemInstanceSummary) SetCreatedAt(v time.Time) *SystemInstanceSummary {
7071	s.CreatedAt = &v
7072	return s
7073}
7074
7075// SetGreengrassGroupId sets the GreengrassGroupId field's value.
7076func (s *SystemInstanceSummary) SetGreengrassGroupId(v string) *SystemInstanceSummary {
7077	s.GreengrassGroupId = &v
7078	return s
7079}
7080
7081// SetGreengrassGroupName sets the GreengrassGroupName field's value.
7082func (s *SystemInstanceSummary) SetGreengrassGroupName(v string) *SystemInstanceSummary {
7083	s.GreengrassGroupName = &v
7084	return s
7085}
7086
7087// SetGreengrassGroupVersionId sets the GreengrassGroupVersionId field's value.
7088func (s *SystemInstanceSummary) SetGreengrassGroupVersionId(v string) *SystemInstanceSummary {
7089	s.GreengrassGroupVersionId = &v
7090	return s
7091}
7092
7093// SetId sets the Id field's value.
7094func (s *SystemInstanceSummary) SetId(v string) *SystemInstanceSummary {
7095	s.Id = &v
7096	return s
7097}
7098
7099// SetStatus sets the Status field's value.
7100func (s *SystemInstanceSummary) SetStatus(v string) *SystemInstanceSummary {
7101	s.Status = &v
7102	return s
7103}
7104
7105// SetTarget sets the Target field's value.
7106func (s *SystemInstanceSummary) SetTarget(v string) *SystemInstanceSummary {
7107	s.Target = &v
7108	return s
7109}
7110
7111// SetUpdatedAt sets the UpdatedAt field's value.
7112func (s *SystemInstanceSummary) SetUpdatedAt(v time.Time) *SystemInstanceSummary {
7113	s.UpdatedAt = &v
7114	return s
7115}
7116
7117// An object that contains a system's definition document and summary information.
7118type SystemTemplateDescription struct {
7119	_ struct{} `type:"structure"`
7120
7121	// The definition document of a system.
7122	Definition *DefinitionDocument `locationName:"definition" type:"structure"`
7123
7124	// An object that contains summary information about a system.
7125	Summary *SystemTemplateSummary `locationName:"summary" type:"structure"`
7126
7127	// The namespace version against which the system was validated. Use this value
7128	// in your system instance.
7129	ValidatedNamespaceVersion *int64 `locationName:"validatedNamespaceVersion" type:"long"`
7130}
7131
7132// String returns the string representation
7133func (s SystemTemplateDescription) String() string {
7134	return awsutil.Prettify(s)
7135}
7136
7137// GoString returns the string representation
7138func (s SystemTemplateDescription) GoString() string {
7139	return s.String()
7140}
7141
7142// SetDefinition sets the Definition field's value.
7143func (s *SystemTemplateDescription) SetDefinition(v *DefinitionDocument) *SystemTemplateDescription {
7144	s.Definition = v
7145	return s
7146}
7147
7148// SetSummary sets the Summary field's value.
7149func (s *SystemTemplateDescription) SetSummary(v *SystemTemplateSummary) *SystemTemplateDescription {
7150	s.Summary = v
7151	return s
7152}
7153
7154// SetValidatedNamespaceVersion sets the ValidatedNamespaceVersion field's value.
7155func (s *SystemTemplateDescription) SetValidatedNamespaceVersion(v int64) *SystemTemplateDescription {
7156	s.ValidatedNamespaceVersion = &v
7157	return s
7158}
7159
7160// An object that filters a system search.
7161type SystemTemplateFilter struct {
7162	_ struct{} `type:"structure"`
7163
7164	// The name of the system search filter field.
7165	//
7166	// Name is a required field
7167	Name *string `locationName:"name" type:"string" required:"true" enum:"SystemTemplateFilterName"`
7168
7169	// An array of string values for the search filter field. Multiple values function
7170	// as AND criteria in the search.
7171	//
7172	// Value is a required field
7173	Value []*string `locationName:"value" type:"list" required:"true"`
7174}
7175
7176// String returns the string representation
7177func (s SystemTemplateFilter) String() string {
7178	return awsutil.Prettify(s)
7179}
7180
7181// GoString returns the string representation
7182func (s SystemTemplateFilter) GoString() string {
7183	return s.String()
7184}
7185
7186// Validate inspects the fields of the type to determine if they are valid.
7187func (s *SystemTemplateFilter) Validate() error {
7188	invalidParams := request.ErrInvalidParams{Context: "SystemTemplateFilter"}
7189	if s.Name == nil {
7190		invalidParams.Add(request.NewErrParamRequired("Name"))
7191	}
7192	if s.Value == nil {
7193		invalidParams.Add(request.NewErrParamRequired("Value"))
7194	}
7195
7196	if invalidParams.Len() > 0 {
7197		return invalidParams
7198	}
7199	return nil
7200}
7201
7202// SetName sets the Name field's value.
7203func (s *SystemTemplateFilter) SetName(v string) *SystemTemplateFilter {
7204	s.Name = &v
7205	return s
7206}
7207
7208// SetValue sets the Value field's value.
7209func (s *SystemTemplateFilter) SetValue(v []*string) *SystemTemplateFilter {
7210	s.Value = v
7211	return s
7212}
7213
7214// An object that contains information about a system.
7215type SystemTemplateSummary struct {
7216	_ struct{} `type:"structure"`
7217
7218	// The ARN of the system.
7219	Arn *string `locationName:"arn" type:"string"`
7220
7221	// The date when the system was created.
7222	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7223
7224	// The ID of the system.
7225	Id *string `locationName:"id" type:"string"`
7226
7227	// The revision number of the system.
7228	RevisionNumber *int64 `locationName:"revisionNumber" type:"long"`
7229}
7230
7231// String returns the string representation
7232func (s SystemTemplateSummary) String() string {
7233	return awsutil.Prettify(s)
7234}
7235
7236// GoString returns the string representation
7237func (s SystemTemplateSummary) GoString() string {
7238	return s.String()
7239}
7240
7241// SetArn sets the Arn field's value.
7242func (s *SystemTemplateSummary) SetArn(v string) *SystemTemplateSummary {
7243	s.Arn = &v
7244	return s
7245}
7246
7247// SetCreatedAt sets the CreatedAt field's value.
7248func (s *SystemTemplateSummary) SetCreatedAt(v time.Time) *SystemTemplateSummary {
7249	s.CreatedAt = &v
7250	return s
7251}
7252
7253// SetId sets the Id field's value.
7254func (s *SystemTemplateSummary) SetId(v string) *SystemTemplateSummary {
7255	s.Id = &v
7256	return s
7257}
7258
7259// SetRevisionNumber sets the RevisionNumber field's value.
7260func (s *SystemTemplateSummary) SetRevisionNumber(v int64) *SystemTemplateSummary {
7261	s.RevisionNumber = &v
7262	return s
7263}
7264
7265// Metadata assigned to an AWS IoT Things Graph resource consisting of a key-value
7266// pair.
7267type Tag struct {
7268	_ struct{} `type:"structure"`
7269
7270	// The required name of the tag. The string value can be from 1 to 128 Unicode
7271	// characters in length.
7272	//
7273	// Key is a required field
7274	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
7275
7276	// The optional value of the tag. The string value can be from 1 to 256 Unicode
7277	// characters in length.
7278	//
7279	// Value is a required field
7280	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
7281}
7282
7283// String returns the string representation
7284func (s Tag) String() string {
7285	return awsutil.Prettify(s)
7286}
7287
7288// GoString returns the string representation
7289func (s Tag) GoString() string {
7290	return s.String()
7291}
7292
7293// Validate inspects the fields of the type to determine if they are valid.
7294func (s *Tag) Validate() error {
7295	invalidParams := request.ErrInvalidParams{Context: "Tag"}
7296	if s.Key == nil {
7297		invalidParams.Add(request.NewErrParamRequired("Key"))
7298	}
7299	if s.Key != nil && len(*s.Key) < 1 {
7300		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7301	}
7302	if s.Value == nil {
7303		invalidParams.Add(request.NewErrParamRequired("Value"))
7304	}
7305	if s.Value != nil && len(*s.Value) < 1 {
7306		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
7307	}
7308
7309	if invalidParams.Len() > 0 {
7310		return invalidParams
7311	}
7312	return nil
7313}
7314
7315// SetKey sets the Key field's value.
7316func (s *Tag) SetKey(v string) *Tag {
7317	s.Key = &v
7318	return s
7319}
7320
7321// SetValue sets the Value field's value.
7322func (s *Tag) SetValue(v string) *Tag {
7323	s.Value = &v
7324	return s
7325}
7326
7327type TagResourceInput struct {
7328	_ struct{} `type:"structure"`
7329
7330	// The Amazon Resource Name (ARN) of the resource whose tags are returned.
7331	//
7332	// ResourceArn is a required field
7333	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
7334
7335	// A list of tags to add to the resource.>
7336	//
7337	// Tags is a required field
7338	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
7339}
7340
7341// String returns the string representation
7342func (s TagResourceInput) String() string {
7343	return awsutil.Prettify(s)
7344}
7345
7346// GoString returns the string representation
7347func (s TagResourceInput) GoString() string {
7348	return s.String()
7349}
7350
7351// Validate inspects the fields of the type to determine if they are valid.
7352func (s *TagResourceInput) Validate() error {
7353	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7354	if s.ResourceArn == nil {
7355		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7356	}
7357	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7358		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7359	}
7360	if s.Tags == nil {
7361		invalidParams.Add(request.NewErrParamRequired("Tags"))
7362	}
7363	if s.Tags != nil {
7364		for i, v := range s.Tags {
7365			if v == nil {
7366				continue
7367			}
7368			if err := v.Validate(); err != nil {
7369				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7370			}
7371		}
7372	}
7373
7374	if invalidParams.Len() > 0 {
7375		return invalidParams
7376	}
7377	return nil
7378}
7379
7380// SetResourceArn sets the ResourceArn field's value.
7381func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7382	s.ResourceArn = &v
7383	return s
7384}
7385
7386// SetTags sets the Tags field's value.
7387func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
7388	s.Tags = v
7389	return s
7390}
7391
7392type TagResourceOutput struct {
7393	_ struct{} `type:"structure"`
7394}
7395
7396// String returns the string representation
7397func (s TagResourceOutput) String() string {
7398	return awsutil.Prettify(s)
7399}
7400
7401// GoString returns the string representation
7402func (s TagResourceOutput) GoString() string {
7403	return s.String()
7404}
7405
7406// An AWS IoT thing.
7407type Thing struct {
7408	_ struct{} `type:"structure"`
7409
7410	// The ARN of the thing.
7411	ThingArn *string `locationName:"thingArn" type:"string"`
7412
7413	// The name of the thing.
7414	ThingName *string `locationName:"thingName" min:"1" type:"string"`
7415}
7416
7417// String returns the string representation
7418func (s Thing) String() string {
7419	return awsutil.Prettify(s)
7420}
7421
7422// GoString returns the string representation
7423func (s Thing) GoString() string {
7424	return s.String()
7425}
7426
7427// SetThingArn sets the ThingArn field's value.
7428func (s *Thing) SetThingArn(v string) *Thing {
7429	s.ThingArn = &v
7430	return s
7431}
7432
7433// SetThingName sets the ThingName field's value.
7434func (s *Thing) SetThingName(v string) *Thing {
7435	s.ThingName = &v
7436	return s
7437}
7438
7439type ThrottlingException struct {
7440	_            struct{} `type:"structure"`
7441	respMetadata protocol.ResponseMetadata
7442
7443	Message_ *string `locationName:"message" type:"string"`
7444}
7445
7446// String returns the string representation
7447func (s ThrottlingException) String() string {
7448	return awsutil.Prettify(s)
7449}
7450
7451// GoString returns the string representation
7452func (s ThrottlingException) GoString() string {
7453	return s.String()
7454}
7455
7456func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7457	return &ThrottlingException{
7458		respMetadata: v,
7459	}
7460}
7461
7462// Code returns the exception type name.
7463func (s ThrottlingException) Code() string {
7464	return "ThrottlingException"
7465}
7466
7467// Message returns the exception's message.
7468func (s ThrottlingException) Message() string {
7469	if s.Message_ != nil {
7470		return *s.Message_
7471	}
7472	return ""
7473}
7474
7475// OrigErr always returns nil, satisfies awserr.Error interface.
7476func (s ThrottlingException) OrigErr() error {
7477	return nil
7478}
7479
7480func (s ThrottlingException) Error() string {
7481	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7482}
7483
7484// Status code returns the HTTP status code for the request's response error.
7485func (s ThrottlingException) StatusCode() int {
7486	return s.respMetadata.StatusCode
7487}
7488
7489// RequestID returns the service's response RequestID for request.
7490func (s ThrottlingException) RequestID() string {
7491	return s.respMetadata.RequestID
7492}
7493
7494type UndeploySystemInstanceInput struct {
7495	_ struct{} `type:"structure"`
7496
7497	// The ID of the system instance to remove from its target.
7498	Id *string `locationName:"id" type:"string"`
7499}
7500
7501// String returns the string representation
7502func (s UndeploySystemInstanceInput) String() string {
7503	return awsutil.Prettify(s)
7504}
7505
7506// GoString returns the string representation
7507func (s UndeploySystemInstanceInput) GoString() string {
7508	return s.String()
7509}
7510
7511// SetId sets the Id field's value.
7512func (s *UndeploySystemInstanceInput) SetId(v string) *UndeploySystemInstanceInput {
7513	s.Id = &v
7514	return s
7515}
7516
7517type UndeploySystemInstanceOutput struct {
7518	_ struct{} `type:"structure"`
7519
7520	// An object that contains summary information about the system instance that
7521	// was removed from its target.
7522	Summary *SystemInstanceSummary `locationName:"summary" type:"structure"`
7523}
7524
7525// String returns the string representation
7526func (s UndeploySystemInstanceOutput) String() string {
7527	return awsutil.Prettify(s)
7528}
7529
7530// GoString returns the string representation
7531func (s UndeploySystemInstanceOutput) GoString() string {
7532	return s.String()
7533}
7534
7535// SetSummary sets the Summary field's value.
7536func (s *UndeploySystemInstanceOutput) SetSummary(v *SystemInstanceSummary) *UndeploySystemInstanceOutput {
7537	s.Summary = v
7538	return s
7539}
7540
7541type UntagResourceInput struct {
7542	_ struct{} `type:"structure"`
7543
7544	// The Amazon Resource Name (ARN) of the resource whose tags are to be removed.
7545	//
7546	// ResourceArn is a required field
7547	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
7548
7549	// A list of tag key names to remove from the resource. You don't specify the
7550	// value. Both the key and its associated value are removed.
7551	//
7552	// This parameter to the API requires a JSON text string argument. For information
7553	// on how to format a JSON parameter for the various command line tool environments,
7554	// see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html#cli-using-param-json)
7555	// in the AWS CLI User Guide.
7556	//
7557	// TagKeys is a required field
7558	TagKeys []*string `locationName:"tagKeys" min:"1" type:"list" required:"true"`
7559}
7560
7561// String returns the string representation
7562func (s UntagResourceInput) String() string {
7563	return awsutil.Prettify(s)
7564}
7565
7566// GoString returns the string representation
7567func (s UntagResourceInput) GoString() string {
7568	return s.String()
7569}
7570
7571// Validate inspects the fields of the type to determine if they are valid.
7572func (s *UntagResourceInput) Validate() error {
7573	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7574	if s.ResourceArn == nil {
7575		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7576	}
7577	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7578		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7579	}
7580	if s.TagKeys == nil {
7581		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7582	}
7583	if s.TagKeys != nil && len(s.TagKeys) < 1 {
7584		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
7585	}
7586
7587	if invalidParams.Len() > 0 {
7588		return invalidParams
7589	}
7590	return nil
7591}
7592
7593// SetResourceArn sets the ResourceArn field's value.
7594func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7595	s.ResourceArn = &v
7596	return s
7597}
7598
7599// SetTagKeys sets the TagKeys field's value.
7600func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7601	s.TagKeys = v
7602	return s
7603}
7604
7605type UntagResourceOutput struct {
7606	_ struct{} `type:"structure"`
7607}
7608
7609// String returns the string representation
7610func (s UntagResourceOutput) String() string {
7611	return awsutil.Prettify(s)
7612}
7613
7614// GoString returns the string representation
7615func (s UntagResourceOutput) GoString() string {
7616	return s.String()
7617}
7618
7619type UpdateFlowTemplateInput struct {
7620	_ struct{} `type:"structure"`
7621
7622	// The version of the user's namespace.
7623	//
7624	// If no value is specified, the latest version is used by default. Use the
7625	// GetFlowTemplateRevisions if you want to find earlier revisions of the flow
7626	// to update.
7627	CompatibleNamespaceVersion *int64 `locationName:"compatibleNamespaceVersion" type:"long"`
7628
7629	// The DefinitionDocument that contains the updated workflow definition.
7630	//
7631	// Definition is a required field
7632	Definition *DefinitionDocument `locationName:"definition" type:"structure" required:"true"`
7633
7634	// The ID of the workflow to be updated.
7635	//
7636	// The ID should be in the following format.
7637	//
7638	// urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME
7639	//
7640	// Id is a required field
7641	Id *string `locationName:"id" type:"string" required:"true"`
7642}
7643
7644// String returns the string representation
7645func (s UpdateFlowTemplateInput) String() string {
7646	return awsutil.Prettify(s)
7647}
7648
7649// GoString returns the string representation
7650func (s UpdateFlowTemplateInput) GoString() string {
7651	return s.String()
7652}
7653
7654// Validate inspects the fields of the type to determine if they are valid.
7655func (s *UpdateFlowTemplateInput) Validate() error {
7656	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowTemplateInput"}
7657	if s.Definition == nil {
7658		invalidParams.Add(request.NewErrParamRequired("Definition"))
7659	}
7660	if s.Id == nil {
7661		invalidParams.Add(request.NewErrParamRequired("Id"))
7662	}
7663	if s.Definition != nil {
7664		if err := s.Definition.Validate(); err != nil {
7665			invalidParams.AddNested("Definition", err.(request.ErrInvalidParams))
7666		}
7667	}
7668
7669	if invalidParams.Len() > 0 {
7670		return invalidParams
7671	}
7672	return nil
7673}
7674
7675// SetCompatibleNamespaceVersion sets the CompatibleNamespaceVersion field's value.
7676func (s *UpdateFlowTemplateInput) SetCompatibleNamespaceVersion(v int64) *UpdateFlowTemplateInput {
7677	s.CompatibleNamespaceVersion = &v
7678	return s
7679}
7680
7681// SetDefinition sets the Definition field's value.
7682func (s *UpdateFlowTemplateInput) SetDefinition(v *DefinitionDocument) *UpdateFlowTemplateInput {
7683	s.Definition = v
7684	return s
7685}
7686
7687// SetId sets the Id field's value.
7688func (s *UpdateFlowTemplateInput) SetId(v string) *UpdateFlowTemplateInput {
7689	s.Id = &v
7690	return s
7691}
7692
7693type UpdateFlowTemplateOutput struct {
7694	_ struct{} `type:"structure"`
7695
7696	// An object containing summary information about the updated workflow.
7697	Summary *FlowTemplateSummary `locationName:"summary" type:"structure"`
7698}
7699
7700// String returns the string representation
7701func (s UpdateFlowTemplateOutput) String() string {
7702	return awsutil.Prettify(s)
7703}
7704
7705// GoString returns the string representation
7706func (s UpdateFlowTemplateOutput) GoString() string {
7707	return s.String()
7708}
7709
7710// SetSummary sets the Summary field's value.
7711func (s *UpdateFlowTemplateOutput) SetSummary(v *FlowTemplateSummary) *UpdateFlowTemplateOutput {
7712	s.Summary = v
7713	return s
7714}
7715
7716type UpdateSystemTemplateInput struct {
7717	_ struct{} `type:"structure"`
7718
7719	// The version of the user's namespace. Defaults to the latest version of the
7720	// user's namespace.
7721	//
7722	// If no value is specified, the latest version is used by default.
7723	CompatibleNamespaceVersion *int64 `locationName:"compatibleNamespaceVersion" type:"long"`
7724
7725	// The DefinitionDocument that contains the updated system definition.
7726	//
7727	// Definition is a required field
7728	Definition *DefinitionDocument `locationName:"definition" type:"structure" required:"true"`
7729
7730	// The ID of the system to be updated.
7731	//
7732	// The ID should be in the following format.
7733	//
7734	// urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME
7735	//
7736	// Id is a required field
7737	Id *string `locationName:"id" type:"string" required:"true"`
7738}
7739
7740// String returns the string representation
7741func (s UpdateSystemTemplateInput) String() string {
7742	return awsutil.Prettify(s)
7743}
7744
7745// GoString returns the string representation
7746func (s UpdateSystemTemplateInput) GoString() string {
7747	return s.String()
7748}
7749
7750// Validate inspects the fields of the type to determine if they are valid.
7751func (s *UpdateSystemTemplateInput) Validate() error {
7752	invalidParams := request.ErrInvalidParams{Context: "UpdateSystemTemplateInput"}
7753	if s.Definition == nil {
7754		invalidParams.Add(request.NewErrParamRequired("Definition"))
7755	}
7756	if s.Id == nil {
7757		invalidParams.Add(request.NewErrParamRequired("Id"))
7758	}
7759	if s.Definition != nil {
7760		if err := s.Definition.Validate(); err != nil {
7761			invalidParams.AddNested("Definition", err.(request.ErrInvalidParams))
7762		}
7763	}
7764
7765	if invalidParams.Len() > 0 {
7766		return invalidParams
7767	}
7768	return nil
7769}
7770
7771// SetCompatibleNamespaceVersion sets the CompatibleNamespaceVersion field's value.
7772func (s *UpdateSystemTemplateInput) SetCompatibleNamespaceVersion(v int64) *UpdateSystemTemplateInput {
7773	s.CompatibleNamespaceVersion = &v
7774	return s
7775}
7776
7777// SetDefinition sets the Definition field's value.
7778func (s *UpdateSystemTemplateInput) SetDefinition(v *DefinitionDocument) *UpdateSystemTemplateInput {
7779	s.Definition = v
7780	return s
7781}
7782
7783// SetId sets the Id field's value.
7784func (s *UpdateSystemTemplateInput) SetId(v string) *UpdateSystemTemplateInput {
7785	s.Id = &v
7786	return s
7787}
7788
7789type UpdateSystemTemplateOutput struct {
7790	_ struct{} `type:"structure"`
7791
7792	// An object containing summary information about the updated system.
7793	Summary *SystemTemplateSummary `locationName:"summary" type:"structure"`
7794}
7795
7796// String returns the string representation
7797func (s UpdateSystemTemplateOutput) String() string {
7798	return awsutil.Prettify(s)
7799}
7800
7801// GoString returns the string representation
7802func (s UpdateSystemTemplateOutput) GoString() string {
7803	return s.String()
7804}
7805
7806// SetSummary sets the Summary field's value.
7807func (s *UpdateSystemTemplateOutput) SetSummary(v *SystemTemplateSummary) *UpdateSystemTemplateOutput {
7808	s.Summary = v
7809	return s
7810}
7811
7812type UploadEntityDefinitionsInput struct {
7813	_ struct{} `type:"structure"`
7814
7815	// A Boolean that specifies whether to deprecate all entities in the latest
7816	// version before uploading the new DefinitionDocument. If set to true, the
7817	// upload will create a new namespace version.
7818	DeprecateExistingEntities *bool `locationName:"deprecateExistingEntities" type:"boolean"`
7819
7820	// The DefinitionDocument that defines the updated entities.
7821	Document *DefinitionDocument `locationName:"document" type:"structure"`
7822
7823	// A Boolean that specifies whether to synchronize with the latest version of
7824	// the public namespace. If set to true, the upload will create a new namespace
7825	// version.
7826	SyncWithPublicNamespace *bool `locationName:"syncWithPublicNamespace" type:"boolean"`
7827}
7828
7829// String returns the string representation
7830func (s UploadEntityDefinitionsInput) String() string {
7831	return awsutil.Prettify(s)
7832}
7833
7834// GoString returns the string representation
7835func (s UploadEntityDefinitionsInput) GoString() string {
7836	return s.String()
7837}
7838
7839// Validate inspects the fields of the type to determine if they are valid.
7840func (s *UploadEntityDefinitionsInput) Validate() error {
7841	invalidParams := request.ErrInvalidParams{Context: "UploadEntityDefinitionsInput"}
7842	if s.Document != nil {
7843		if err := s.Document.Validate(); err != nil {
7844			invalidParams.AddNested("Document", err.(request.ErrInvalidParams))
7845		}
7846	}
7847
7848	if invalidParams.Len() > 0 {
7849		return invalidParams
7850	}
7851	return nil
7852}
7853
7854// SetDeprecateExistingEntities sets the DeprecateExistingEntities field's value.
7855func (s *UploadEntityDefinitionsInput) SetDeprecateExistingEntities(v bool) *UploadEntityDefinitionsInput {
7856	s.DeprecateExistingEntities = &v
7857	return s
7858}
7859
7860// SetDocument sets the Document field's value.
7861func (s *UploadEntityDefinitionsInput) SetDocument(v *DefinitionDocument) *UploadEntityDefinitionsInput {
7862	s.Document = v
7863	return s
7864}
7865
7866// SetSyncWithPublicNamespace sets the SyncWithPublicNamespace field's value.
7867func (s *UploadEntityDefinitionsInput) SetSyncWithPublicNamespace(v bool) *UploadEntityDefinitionsInput {
7868	s.SyncWithPublicNamespace = &v
7869	return s
7870}
7871
7872type UploadEntityDefinitionsOutput struct {
7873	_ struct{} `type:"structure"`
7874
7875	// The ID that specifies the upload action. You can use this to track the status
7876	// of the upload.
7877	//
7878	// UploadId is a required field
7879	UploadId *string `locationName:"uploadId" min:"1" type:"string" required:"true"`
7880}
7881
7882// String returns the string representation
7883func (s UploadEntityDefinitionsOutput) String() string {
7884	return awsutil.Prettify(s)
7885}
7886
7887// GoString returns the string representation
7888func (s UploadEntityDefinitionsOutput) GoString() string {
7889	return s.String()
7890}
7891
7892// SetUploadId sets the UploadId field's value.
7893func (s *UploadEntityDefinitionsOutput) SetUploadId(v string) *UploadEntityDefinitionsOutput {
7894	s.UploadId = &v
7895	return s
7896}
7897
7898const (
7899	// DefinitionLanguageGraphql is a DefinitionLanguage enum value
7900	DefinitionLanguageGraphql = "GRAPHQL"
7901)
7902
7903const (
7904	// DeploymentTargetGreengrass is a DeploymentTarget enum value
7905	DeploymentTargetGreengrass = "GREENGRASS"
7906
7907	// DeploymentTargetCloud is a DeploymentTarget enum value
7908	DeploymentTargetCloud = "CLOUD"
7909)
7910
7911const (
7912	// EntityFilterNameName is a EntityFilterName enum value
7913	EntityFilterNameName = "NAME"
7914
7915	// EntityFilterNameNamespace is a EntityFilterName enum value
7916	EntityFilterNameNamespace = "NAMESPACE"
7917
7918	// EntityFilterNameSemanticTypePath is a EntityFilterName enum value
7919	EntityFilterNameSemanticTypePath = "SEMANTIC_TYPE_PATH"
7920
7921	// EntityFilterNameReferencedEntityId is a EntityFilterName enum value
7922	EntityFilterNameReferencedEntityId = "REFERENCED_ENTITY_ID"
7923)
7924
7925const (
7926	// EntityTypeDevice is a EntityType enum value
7927	EntityTypeDevice = "DEVICE"
7928
7929	// EntityTypeService is a EntityType enum value
7930	EntityTypeService = "SERVICE"
7931
7932	// EntityTypeDeviceModel is a EntityType enum value
7933	EntityTypeDeviceModel = "DEVICE_MODEL"
7934
7935	// EntityTypeCapability is a EntityType enum value
7936	EntityTypeCapability = "CAPABILITY"
7937
7938	// EntityTypeState is a EntityType enum value
7939	EntityTypeState = "STATE"
7940
7941	// EntityTypeAction is a EntityType enum value
7942	EntityTypeAction = "ACTION"
7943
7944	// EntityTypeEvent is a EntityType enum value
7945	EntityTypeEvent = "EVENT"
7946
7947	// EntityTypeProperty is a EntityType enum value
7948	EntityTypeProperty = "PROPERTY"
7949
7950	// EntityTypeMapping is a EntityType enum value
7951	EntityTypeMapping = "MAPPING"
7952
7953	// EntityTypeEnum is a EntityType enum value
7954	EntityTypeEnum = "ENUM"
7955)
7956
7957const (
7958	// FlowExecutionEventTypeExecutionStarted is a FlowExecutionEventType enum value
7959	FlowExecutionEventTypeExecutionStarted = "EXECUTION_STARTED"
7960
7961	// FlowExecutionEventTypeExecutionFailed is a FlowExecutionEventType enum value
7962	FlowExecutionEventTypeExecutionFailed = "EXECUTION_FAILED"
7963
7964	// FlowExecutionEventTypeExecutionAborted is a FlowExecutionEventType enum value
7965	FlowExecutionEventTypeExecutionAborted = "EXECUTION_ABORTED"
7966
7967	// FlowExecutionEventTypeExecutionSucceeded is a FlowExecutionEventType enum value
7968	FlowExecutionEventTypeExecutionSucceeded = "EXECUTION_SUCCEEDED"
7969
7970	// FlowExecutionEventTypeStepStarted is a FlowExecutionEventType enum value
7971	FlowExecutionEventTypeStepStarted = "STEP_STARTED"
7972
7973	// FlowExecutionEventTypeStepFailed is a FlowExecutionEventType enum value
7974	FlowExecutionEventTypeStepFailed = "STEP_FAILED"
7975
7976	// FlowExecutionEventTypeStepSucceeded is a FlowExecutionEventType enum value
7977	FlowExecutionEventTypeStepSucceeded = "STEP_SUCCEEDED"
7978
7979	// FlowExecutionEventTypeActivityScheduled is a FlowExecutionEventType enum value
7980	FlowExecutionEventTypeActivityScheduled = "ACTIVITY_SCHEDULED"
7981
7982	// FlowExecutionEventTypeActivityStarted is a FlowExecutionEventType enum value
7983	FlowExecutionEventTypeActivityStarted = "ACTIVITY_STARTED"
7984
7985	// FlowExecutionEventTypeActivityFailed is a FlowExecutionEventType enum value
7986	FlowExecutionEventTypeActivityFailed = "ACTIVITY_FAILED"
7987
7988	// FlowExecutionEventTypeActivitySucceeded is a FlowExecutionEventType enum value
7989	FlowExecutionEventTypeActivitySucceeded = "ACTIVITY_SUCCEEDED"
7990
7991	// FlowExecutionEventTypeStartFlowExecutionTask is a FlowExecutionEventType enum value
7992	FlowExecutionEventTypeStartFlowExecutionTask = "START_FLOW_EXECUTION_TASK"
7993
7994	// FlowExecutionEventTypeScheduleNextReadyStepsTask is a FlowExecutionEventType enum value
7995	FlowExecutionEventTypeScheduleNextReadyStepsTask = "SCHEDULE_NEXT_READY_STEPS_TASK"
7996
7997	// FlowExecutionEventTypeThingActionTask is a FlowExecutionEventType enum value
7998	FlowExecutionEventTypeThingActionTask = "THING_ACTION_TASK"
7999
8000	// FlowExecutionEventTypeThingActionTaskFailed is a FlowExecutionEventType enum value
8001	FlowExecutionEventTypeThingActionTaskFailed = "THING_ACTION_TASK_FAILED"
8002
8003	// FlowExecutionEventTypeThingActionTaskSucceeded is a FlowExecutionEventType enum value
8004	FlowExecutionEventTypeThingActionTaskSucceeded = "THING_ACTION_TASK_SUCCEEDED"
8005
8006	// FlowExecutionEventTypeAcknowledgeTaskMessage is a FlowExecutionEventType enum value
8007	FlowExecutionEventTypeAcknowledgeTaskMessage = "ACKNOWLEDGE_TASK_MESSAGE"
8008)
8009
8010const (
8011	// FlowExecutionStatusRunning is a FlowExecutionStatus enum value
8012	FlowExecutionStatusRunning = "RUNNING"
8013
8014	// FlowExecutionStatusAborted is a FlowExecutionStatus enum value
8015	FlowExecutionStatusAborted = "ABORTED"
8016
8017	// FlowExecutionStatusSucceeded is a FlowExecutionStatus enum value
8018	FlowExecutionStatusSucceeded = "SUCCEEDED"
8019
8020	// FlowExecutionStatusFailed is a FlowExecutionStatus enum value
8021	FlowExecutionStatusFailed = "FAILED"
8022)
8023
8024const (
8025	// FlowTemplateFilterNameDeviceModelId is a FlowTemplateFilterName enum value
8026	FlowTemplateFilterNameDeviceModelId = "DEVICE_MODEL_ID"
8027)
8028
8029const (
8030	// NamespaceDeletionStatusInProgress is a NamespaceDeletionStatus enum value
8031	NamespaceDeletionStatusInProgress = "IN_PROGRESS"
8032
8033	// NamespaceDeletionStatusSucceeded is a NamespaceDeletionStatus enum value
8034	NamespaceDeletionStatusSucceeded = "SUCCEEDED"
8035
8036	// NamespaceDeletionStatusFailed is a NamespaceDeletionStatus enum value
8037	NamespaceDeletionStatusFailed = "FAILED"
8038)
8039
8040const (
8041	// NamespaceDeletionStatusErrorCodesValidationFailed is a NamespaceDeletionStatusErrorCodes enum value
8042	NamespaceDeletionStatusErrorCodesValidationFailed = "VALIDATION_FAILED"
8043)
8044
8045const (
8046	// SystemInstanceDeploymentStatusNotDeployed is a SystemInstanceDeploymentStatus enum value
8047	SystemInstanceDeploymentStatusNotDeployed = "NOT_DEPLOYED"
8048
8049	// SystemInstanceDeploymentStatusBootstrap is a SystemInstanceDeploymentStatus enum value
8050	SystemInstanceDeploymentStatusBootstrap = "BOOTSTRAP"
8051
8052	// SystemInstanceDeploymentStatusDeployInProgress is a SystemInstanceDeploymentStatus enum value
8053	SystemInstanceDeploymentStatusDeployInProgress = "DEPLOY_IN_PROGRESS"
8054
8055	// SystemInstanceDeploymentStatusDeployedInTarget is a SystemInstanceDeploymentStatus enum value
8056	SystemInstanceDeploymentStatusDeployedInTarget = "DEPLOYED_IN_TARGET"
8057
8058	// SystemInstanceDeploymentStatusUndeployInProgress is a SystemInstanceDeploymentStatus enum value
8059	SystemInstanceDeploymentStatusUndeployInProgress = "UNDEPLOY_IN_PROGRESS"
8060
8061	// SystemInstanceDeploymentStatusFailed is a SystemInstanceDeploymentStatus enum value
8062	SystemInstanceDeploymentStatusFailed = "FAILED"
8063
8064	// SystemInstanceDeploymentStatusPendingDelete is a SystemInstanceDeploymentStatus enum value
8065	SystemInstanceDeploymentStatusPendingDelete = "PENDING_DELETE"
8066
8067	// SystemInstanceDeploymentStatusDeletedInTarget is a SystemInstanceDeploymentStatus enum value
8068	SystemInstanceDeploymentStatusDeletedInTarget = "DELETED_IN_TARGET"
8069)
8070
8071const (
8072	// SystemInstanceFilterNameSystemTemplateId is a SystemInstanceFilterName enum value
8073	SystemInstanceFilterNameSystemTemplateId = "SYSTEM_TEMPLATE_ID"
8074
8075	// SystemInstanceFilterNameStatus is a SystemInstanceFilterName enum value
8076	SystemInstanceFilterNameStatus = "STATUS"
8077
8078	// SystemInstanceFilterNameGreengrassGroupName is a SystemInstanceFilterName enum value
8079	SystemInstanceFilterNameGreengrassGroupName = "GREENGRASS_GROUP_NAME"
8080)
8081
8082const (
8083	// SystemTemplateFilterNameFlowTemplateId is a SystemTemplateFilterName enum value
8084	SystemTemplateFilterNameFlowTemplateId = "FLOW_TEMPLATE_ID"
8085)
8086
8087const (
8088	// UploadStatusInProgress is a UploadStatus enum value
8089	UploadStatusInProgress = "IN_PROGRESS"
8090
8091	// UploadStatusSucceeded is a UploadStatus enum value
8092	UploadStatusSucceeded = "SUCCEEDED"
8093
8094	// UploadStatusFailed is a UploadStatus enum value
8095	UploadStatusFailed = "FAILED"
8096)
8097