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